Quoting https://tcl.tk/doc/tea:
"The Tcl Extension Architecture, or TEA, by John Ousterhout and others, is a
set of guidelines and techniques for the distribution, configuration,
compilation, and installation of Tcl extensions. TEA also provides a set of
utilities that operate accordingly. Many Tcl extensions leverage the TEA
utilities, which are designed to be easily customizable."
To facilitate the porting of TEA-based extensions, I have added the new "tea"
argument to USES=tcl. This argument prepares the autoconf environment by
setting GNU_CONFIGURE and sets some commonly used CONFIGURE_ARGS. Also, it
tries to figure out the correct extension name, sets TCL_PKG accordingly, and
adds it to PLIST_SUB.
I have modified a few ports to take advantage of this. More will come.
This adds a few features:
- it checks that the UID line has the right number of fields [1]
- it tells the user that there are groups that he may want to remove [2]
PR: 208800, 173318 [1], 157546 [2]
Submitted by: mat
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5939
If there is one file in PKGPOSTDEINSTALL, it gets overwritten by itself,
and if there's more than one, it'll fail.
Noticed by: antoine
Sponsored by: Absolight
At the moment they correspond to the latest KDE Applications release with
mostly KDE4-compatible applications.
These are going to be used by the upcoming DigiKam update (some ports have
been split off the main DigiKam tarball and are part of the regular KDE SC
releases). It will also be used once we add KDE Frameworks 5 and Plasma 5 to
the tree.
PR: 204623
If CONFIGURE_OUTSOURCE is defined HAS_CONFIGURE invokes configure script
and builds the port out of source tree, under ${WRKDIR}/.build by default.
The feature is inspired by USES=cmake:outsource and USES=qmake:outsource.
PR: 208294
Exp-run by: antoine
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D4157
Right now, ironsides emits a STORAGE ERROR during building with
lang/gcc6-aux. It's unclear if the problem lies with compiler or with
ironsides. For now, limit building it with gcc5-aux (the default).
The USES=ada:5 setting wasn't supported, but it should have been. This
has also been fixed.
By default, it tries to take advantage of libarchive and falls back to p7zip.
Extracting only selected few DISTFILES is also supported via :partial argument.
Approved by: portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D4190
changed the license to the AGPL 3 in version 9.07 so print/ghostscript9-base
is stuck at 9.06 which is almost 4 years old now.
Fix the logic in Uses/ghostscript.mk so "agpl" is treated as a real version
on its own instead of as a variant of other versions.
Fix print/ghostscript9-agpl-base to install eps2write.
Update math/asymptote to 2.37 to support newer Ghostscript.
PR: 208159
Exp-run by: antoine
Approved by: portmgr (antoine)
ports expect it. The files were put in a different location to avoid a
conflict with net/libnet10 but this port has been removed a while ago now.
PR: 208122
Exp-run by: antoine
Approved by: portmgr (antoine)
Fix distinfo for the offending ports.
lang/yorick's tag was moved, and the added patch was no longer needed.
PR: 207644
Submitted by: mat
Exp-run by by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D4268
Prepare www/firefox a bit for ESR45:
- [e10s] Make layers.progressive-paint;true work at least on 11.0-CURRENT
- Chase bundled versions for system dependencies
- Drop unused/broken system opus and speex support
Changes: https://www.mozilla.org/firefox/45.0/releasenotes/
Changes: https://www.mozilla.org/firefox/38.7.0/releasenotes/
Security: 2225c5b4-1e5a-44fc-9920-b3201c384a15
MFH: 2016Q1 (release candidate)
GH_TUPLE allows one to put all the GH_{ACCOUNT,PROJECT,TAGNAME} into one
variable, in the form of account:project:tagname[:group]. It is helpful
when there are many submodules.
PR: 204772
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D4514
The PYTHON_NO_DEPENDS only really makes sense in meta ports, where passing
the PYTHON_VERSION doesn't make sense. The ports listed will pick up
USES+=python and the default version as needed.
This fixes depending on both lang/python2 and lang/python3 in a meta package.
- Unbreak build for php70
- Cleanup php55/6 extenions
- Put not existing php70 extentions to php55 and php56 extra defines
lang/php70
- Remove mysqli from pdo_mysql it's looping here and does not really depends on mysqli
- Bump PORTREVISION
This work has been done in collaboration with
- fluffy@
- Franco Fichtner
MariaDB is one of the most popular database servers in the world. It's made
by the original developers of MySQL and guaranteed to stay open source.
Notable users include Wikipedia, Facebook and Google.
MariaDB turns data into structured information in a wide array of
applications, ranging from banking to websites. It is an enhanced, drop-in
replacement for MySQL. MariaDB is used because it is fast, scalable and
robust, with a rich ecosystem of storage engines, plugins and many other
tools make it very versatile for a wide variety of use cases.
MariaDB is developed as open source software and as a relational database
it provides an SQL interface for accessing data. This latest versions of
MariaDB also include GIS and JSON features.
WWW: http://mariadb.org/
Reviewed by: koobs (mentor), feld (mentor)
Approved by: koobs (mentor), feld (mentor)
Differential Revision: D3953
R no longer accepts the --no-rebuild-vignettes argument, instead requiring
the --no-build-vignettes (only used if pdflatex is not installed).
PR: 207154
Approved by: wen (maintainer)
MFH: 2016Q1
To use the GNOME or MATE components activate it by adding gnome
or mate to USES. The usage of USE_GNOME/INSTALL_ICONS and for
example GLIB_SCHEMAS has stayed the same.
Like with USES, the use of USE_GNOME and so after bsd.port.pre.mk
is now forbidden. And adapt ports that where still doing that.
Exp-runs done by: antoine@
PR: 205432
Reviewed by: antoine@, mat@
Approved by: portmgr (antoine@)
Differential Revision: https://reviews.freebsd.org/D3653
- Upgrade all linux-c6- to CentOS 6.7
- Cleanups
PR: 205846
Submitted by: xmj
In Collaboration with: allanjude, netchild, xmj
Exp-run: antoine
Sponsored by: Perceivon Hosting Inc.
Differential Revision: D3428
We'd like to thanks for all the feedback and comments.
* Still build MATE against gtk+ 2 due to gtk+ 3 support not ready
for prime time.
* Fix loading of a number of applets. We rename a number of applets
but didn't change the "config" files the "add applet to panel" dialog
uses. [1]
* Unbreak the creation of new notes with the stickynotes applet [2]
PR: 205391 [1], 200349 [2]
Obtained from: GNOME devel repo
This is the latest stable release at time of writing.
Release announcement: http://blog.qt.io/blog/2015/07/01/qt-5-5-released/
New features in Qt 5.5: https://wiki.qt.io/New_Features_in_Qt_5.5
As usual, huge thanks to Tobias Berner (tcberner@gmail.com) for all his work
on these ports in kde@'s experimental area51 repository. He's the one who
started the update and did a lot of the initial work on Qt 5.5. Ralf Nolden
(nolden@kde.org) has contributed the initial version of most of our new Qt5
ports.
Also thanks to Yuri Victorovich (yuri@rawbw.com) for contributing PR 205805
with his own patch for the 5.5.1 update. Some of his changes there prompted
additional fixes and changes present in the final patch generated from our
experimental repository.
New ports:
- comms/qt5-connectivity, comms/qt5-sensors, devel/qt5-location,
graphics/qt5-3d, net/qt5-enginio, x11-toolkits/qt5-canvas3d,
x11-toolkits/qt5-uiplugin.
General changes in all Qt5 ports:
- All Qt5 ports are now built with -Wl,--as-needed to avoid overlinking,
which is a problem with qmake-based because the libraries passed to the
linker come from the modules .pri files and many are not necessary.
- With this change, several ports had their USE_QT5 lines adjusted to
explicitly include some libraries that were pulled in implicitly, and to
exclude libraries no longer required with -Wl,--as-needed.
Changes in specific ports:
- devel/qt5: Drop the SQL_PLUGINS and TOOLS options and depend on all Qt5
ports by default. It makes the Makefile much simpler, and those options
were already on by default.
- devel/qt5-core: The clang+base libstdc++ workaround has been expanded and
more C++11 features have been disabled when that combination is used by a
port (basically, FreeBSD 9 with USES=compiler:c++11-lang). The disabled
features have explanations for why they were disabled in the patched
header itself.
- devel/qt5-designer: uiplugins has been split out following a similar
change upstream. By depending on qt5-uiplugin, qt5-uitools avoids having
to depend on the big qt5-designer port.
- multimedia/qt5-multimedia: The port now uses GStreamer 1.0 instead of
0.10.
- net/qt5-network: The port now depends on libproxy for proxy settings.
Using libproxy allows proxy settings to be read from different sources,
and also allows .pac files to work with Qt.
- www/qt5-webkit: The port now uses GStreamer 1.0 instead of 0.10.
PR: 205805
PR: 206435
Put ${PATCH_WRSKRC} within quotes so that expanding it works properly when it
contains spaces. This is required for `make makepatch' to work with
audio/quimup or any other port that has WRKSRC with spaces. Before the patch:
% make -dl makepatch
cd: too many arguments
cd: too many arguments
and the port would be left with an empty files/ directory.
Reviewed by: marino
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D5011
This is particularly useful if a port only needs to build a subdirectory of
the source tree (in which case they can set BUILD_WRKSRC to
"${CONFIGURE_WRKSRC}/foo/bar").
of octave segfaults with FreeBSD. Many of the octave-forge-* ports don't
build, and those that build don't work. So they are all being marked
broken until it is fixed.
LICENSE= PD
Note that although Public Domain is not technically a license, it's
handled in the same way as licenses here, which is a common practice
(Arch, Gentoo, Fedora, Debian, even FOSSology do the same).
Convert all ports which redefine Public Domain LICENSE to LICENSE=PD.
Approved by: portmgr (bapt)
Differential Revision: D4149
Now you can use, for example,
LICENSE= GPLv2+
instead of incorrect
LICENSE= GPLv2 GPLv3
or inaccurate and not machine readable
LICENSE= GPLv2 # or later
Also add some categorization to licenses list and fix some
whitespace problems in bsd.licenses.db.mk
Approved by: portmgr (bapt)
Differential Revision: D4148
The USES= fragments are not supposed to modify OPTIONS_* because they are
loaded after bsd.options.mk.
In the particular case of drupal, this resulted in SELECTED_OPTIONS and
DESELECTED_OPTIONS being incorrect. A second problem was that the "="
was used for assignment rather than "?=", meaning that any port with
USES=drupal got their options overwritten at some point (this included
the main www/drupal6 and www/drupal7 ports).
This commit adds OPTIONS_DEFINE=DOCS to almost every port that had set
USES=drupal to correct the mistake of setting options in Mk/Uses.
PR: 206060
sqlite and firebird handling code has been extracted from bsd.databases.mk
add an entry in bsd.sanity.mk to mark USE_SQLITE and USE_FIREBIRD as deprecated
"clang version 3.8.0 (trunk 256945) (based on LLVM 3.8.0svn)" was giving
"38 38" was a result. Now duplicates for fmake are trimmed and only the first
version found is used for bmake using its :tW.
With hat: portmgr
In collaboration with: dim
already had USES=pathfix, although it did nothing. For those ports, I
either removed it as they were handling the pkgconfig files differently
or I removed patches and substitutions that accomplished the same thing
as pathfix.
Differential Revision: https://reviews.freebsd.org/D850
Reviewed by: antoine, bapt, tijl
Approved by: portmgr (bapt)
- Do not silence installation message
- Use . instead of \* for COPYTREE_SHARE
- Use do-test:
- Use MAKE_CMD
- Remove validate:
- Cosmetic change
Differential Revision: https://reviews.FreeBSD.org/D4749
PR: 205774
Exp-run by: antoine
MFH: 2016Q1
This is similar to what we did for Qt4 in r362770. Some C++11 features actually
depend on the C++ standard library, such as <initializer_list> or std::move().
So far, ports with USES=compiler:c++0x and similar failed to build with Qt5 on
FreeBSD 9.x, as base libstdc++ is very old and does not support those C++11
features.
Piggyback on a check that is already present upstream for OS X, which has the
same ancient libstdc++ version. Apple's version has a custom patch with version
macros that we can't use, so we make a broader check and disable the features
that depend on a modern standard library if libc++ is not used.
Some ports may need to use Python for their testing suite but otherwise
do not need it at all (ie, not for build or run). This patch adds
support for the test argument to be used in the USES clause, such as
python:3.2+,test. This enables the relevant Python environment and
modifies TEST_DEPENDS as necessary.
For non-Python ports that use Python as their testing suite, add
python:<ver>,test as required to the USES clause.
PR: 205616
Submitted by: Brendan Molloy <brendan+freebsd bbqsrc net>
Reviewed by: mat, miwi, koobs, antoine
Approved by: koobs (python)
Differential Revision: https://reviews.freebsd.org/D4711
There are some inefficiencies in python.mk that significantly slow down
full tree scanning. The use of bmake to obtain the current version of
a specific python is responsible for the majority of the slow done.
This commit splits out the PYTHON_PORTVERSION definition (which is the
same as the lang/python* PORTVERSION) into separate files. With this
change, python.mk can simple include the makefile fragment instead of
spawning a new instance of make.
Different Revision: https://reviews.freebsd.org/D4660
Approved by: antoine (python), mva (python)
This is another shot at fixing the linkage problems that have plagued our
users particularly when upgrading from Qt 5.x to 5.(x+1). Quick recap: in
Qt5, qmake will by default pass QMAKE_LIBDIR to the linker before other
directories such as ${WRKSRC}/lib, which is where the port's libraries are
built. When a user is upgrading Qt, we can end up with the following linker
line:
c++ -o SomeBinary -lfoo1 -L/usr/local/lib -L${WRKSRC}/lib -lfoo2 -lfoo3
If libfoo2.so is being built by the port and an older version is currently
installed on the system, /usr/local/lib/libfoo2.so will be picked up instead
of the newly-built ${WRKSRC}/lib/libfoo2.so. At best things just work, at
worst SomeBinary needs some new symbol that is not present in the old
libfoo2.so and linking fails. Case in point: bug 198720.
The previous approach, adopted when fixing bug 194088, was to stop setting
QMAKE_{INC,LIB}DIR in the FreeBSD mkspecs and set the CPATH and LIBRARY_PATH
environment variables in Uses/qmake.mk. This way we just did not pass
-L/usr/local/lib to the linker at all and things mostly worked. However,
people using Qt to build their own software without the ports tree were out
of luck, as they would then need need to deal with passing
/usr/local/{include,lib} to the compiler/linker themselves (bug 195105). Not
only that, but if a dependency mentioned /usr/local/lib we would still have
problems anyway (in bug 198720, the GStreamer pkg-config files contain
-L/usr/local/lib, for example).
We now solve the issue by setting the QMAKE_LIBDIR_FLAGS variable in
.qmake.cache to ${WRKSRC}/lib instead. qmake appends the value of
QMAKE_LIBDIR to QMAKE_LIBDIR_FLAGS, so we are always sure -L${WRKSRC}/lib
will come before -L/usr/local/lib in the linker options. Moreover, qmake is
smart enough to automatically call sed(1) and remove references to
${WRKSRC}/lib from .prl and .pc files when installing them.
PR: 194088
PR: 195105
PR: 198720
MFH: 2015Q4
This is the latest Calligra release, and the 2.9 series will be the last
KDE4-based release series.
As usual, huge thanks to Tobias Berner <tcberner@gmail.com> for working on this
in kde@'s area51 experimental repository (including previous Calligra releases
between 2.7.5 and 2.9.10).
Notable changes from a packaging perspective:
- Several dependencies have been updated to use more recent ports versions.
- Old translations not shipped by the current Calligra release have been
removed.
- The dependency on sysutils/nepomuk-core has been dropped, following what
upstream has done.
- The dependency on Qt3-compatibility Qt4 ports has been dropped, following
upstream.
- CONFLICTS with ancient ports have been removed.
- Support for G'MIC (GREYC's Magic for Image Computing), introduced after
2.7.5, is disabled by default, as building the code with clang requires
insane (>24GB) amounts of memory. We reported this bug to the LLVM developers
(bug 22199) almost a year ago, but there has been no activity upstream.
- Stopped depending on graphics/pstoedit in an unorthodox way: just follow what
every major Linux distribution does and unconditionally depend on it. I could
not figure out why we were originally depending on the port if it was already
installed.
- Stop playing tricks with PACKAGE_BUILDING: we do not package Vc
(https://github.com/VcDevel/Vc) so it does not make sense to turn on support
for it when building packages. Not only that, but the CMake option name was
wrong (it should be PACKAGERS_BUILD, not WITH_PACKAGERS_BUILD).
${PERL5} points to a specific version of perl, say, perl5.22.1, it is
fine to use it in a ports Makefile to do Perly things, but ports using
it must use ${PERL}, that points to /usr/local/bin/perl so that if the
minor version is updated, the shebang keep working.
While there, make some ports use shebangfix, regen a few patches, and
bump PORTREVISION where a shebang went from PERL5 to PERL.
PR: 205367
With hat: portmgr
Sponsored by: Absolight
The next major release of mysql.
MySQL is a very fast, multi-threaded, multi-user and robust SQL
(Structured Query Language) database server.
WWW: http://www.mysql.com/
PR: 204607
Submitted by: mokhi64@gmail.com
Reviewed by: koobs, brnrd
Approved by: mat
Until now, the only way to obtain information on the valid port options
and the current selection states is by using the pretty-print-config
target. It would look something like this:
> make -C /usr/ports/lang/gcc5-aux print-print-config
Standard[ +FORT +OBJC +NLS -TESTSUITE -ALLSTAGES -STATIC ] \
Bootstrap[ -BOOTSTRAP ]
To process the total options and the selection state of each option
requires additional processing, e.g. with awk and/or sed. Moreover, if
other information is needed about the port it question, it would require
a second execution of "make" to reveal variable values. There simply is
no other way to obtain the option selection information in a single pass
(this limitation came when options framework was brought in).
This enhancement allows the option selection information to revealed with
make -V so that all port information can be acquired in a single pass.
Moreover, they won't require piping through sed or awk. Two read-only
variables are introduced:
SELECTED_OPTIONS (list of all "on" options)
DESELECTED_OPTIONS (liss of all "off" options)
Here's an example of a single pass acquisition:
> make -C /usr/dports/lang/gcc5-aux -V PKGNAME -V SELECTED_OPTIONS \
-V DESELECTED_OPTIONS
gcc5-aux-20150716
NLS OBJC FORT
BOOTSTRAP STATIC ALLSTAGES TESTSUITE
Obviously the grouping information seen in pretty-print-config is lost,
so these new variables will not help if option group information is
required.
Approved by: portmgr (bapt)
Add the required bits to Uses/pyqt.mk along with all the PyQt5 ports.
Thankfully this commit is mostly adding new ports, as the hard work was
already done in r403297 and r403662.
Huge kudos to Tobias Berner <tcberner@gmail.com> and, most importantly,
Guido Falsi (madpilot@) for their initial work on these ports (see D2910 in
Phabricator for an earlier version of the PyQt5 patch set).
PR: 204672
Bring in some long overdue updates, some of which are required for us to
later land the PyQt5 ports.
One big change with this update is that the PyQt4 ports now install their
.sip files into share/py-sip/PyQt4 instead of share/py-sip. This way we do
not end up with directories like share/py-sip/QtCore, which are especially
confusing once PyQt5 lands and starts installing files with the same names.
Other noteworthy items:
- PORTREVISION has been bumped on ports depending on devel/qscintilla2
because libqscintilla2.so's SOVERSION has changed.
- graphics/seexpr has been converted to USE_PYQT, as the file it used to
define a build-time dependency on x11-toolkits/py-qt4-gui has moved.
Once again, big thanks to Tobias Berner <tcberner@gmail.com> and Guido Falsi
(madpilot@) for their initial work on these ports as part of the effort to
land PyQt5 into the tree (see D2910 in Phabricator for an earlier version of
the PyQt5 patch set).
PR: 205143
debug symbols are split out and extra files are generated that are not
expected by the plist. This is after the base system enabled DEBUG_FILES
by default in r291955.
I have pending patches to handle debug symbol splitting for ports, that will
benefit all ports, not just the ones using /usr/share/mk.
With hat: portmgr
Sponsored by: EMC / Isilon Storage Division
In preparation for landing PyQt5 ports, generalize devel/py-qt4's
bsd.pyqt.mk and make it a proper file in Uses/.
Ports wishing to depend on PyQt4 ports can now do the following:
USES= pyqt:4
USE_PYQT= foo bar_build baz_run
Other changes include the renaming of the PYQT4_DIST variable to PYQT_DIST
and the introduction of the PYQT_SIPDIR plist substitution variable. The
rest of the contents of Uses/pyqt.mk are pretty much identical to what we
had in bsd.pyqt.mk with additional processing of USE_PYQT.
Even though this patch touches files in many different ports, the goal is
for it to be a no-op from an end-user perspective (so that the basic
infrastructure is landed before the other, riskier changes): no dependencies
have been changed, PyQt/SIP/QScintilla have not been upgraded and the plists
should remain exactly the same, since PYQT_SIPDIR currently contains the
same value that used to be hardcoded in the plists.
Huge thanks to Guido Falsi (madpilot@) for spearheading most of the work: he
took the initiative to work on PyQt5 and sent D2910 to Phabricator with the
original version of this patch. Tobias Berner (tcberner@gmail.com) later
applied it to kde@'s experimental area51 repositories and did some more work
on it.
This is the first major release of FreePascal in nearly four years.
There are a ton of new features, way more to list here. see:
http://wiki.freepascal.org/FPC_New_Features_3.0
Several new unit ports were added, some were contracted. Most of
those were absorbed into the main FPC packages, but two units are
no longer supported: sndfile and matroshka.
All 99 remaining ports (including Lazarus ports) were build tested
on FreeBSD i386 and amd64 Release 10.2
This fixes errors when PORTSDIR is not set and /usr/ports is not used. The
/usr/share/bsd.port.mk logic will auto set PORTSDIR, but this was not being
passed into children in the dependency scripts.
With hat: portmgr
Reported by: bapt
There were two issues with the new smart_makepatch script.
1) use of "local" declaration
All function variables were declared "local" during the review. This
caused the script to break, at least on FreeBSD 9.2. Given that it's
not being seen on 9.3R or later, it might be a bug in Bourne shell that
has since been fixed.
e.g. This resulted in stderr error on second iteration:
local contains=$(grep "^+++ " ${existing_patch} | awk '{x++; print x}')
however, this works fine:
local contains
contains=$(grep "^+++ " ${existing_patch} | awk '{x++; print x}')
To be safe, all local variables are assigned with $(<shell cmd>) on
separate lines now.
2) The comment extraction was flawed for files that contain multiple
patches. It was not counting the hunk lines properly which caused some
portion of a patch to be considered as a comment for the next patch. The
hunk traversal algorithm has been fixed.
Since 1) involved the introduction of local declarations that broke the
script and since only Scripts/smart_makepatch.sh is touched, I will
piggy-back on the original approval. The fix was tested with devel/nspr,
the port listed in the PR, which uses multi-patch files.
Approved by: portmgr
Differential Revision: D4136
PR: 204725
- Remove out-of-tree build (in favor of D4157)
- Remove custom do-install (config/nsinstall works fine) [1]
- Convert to new testing framework
- Refresh patches with |make makepatch| but leave damage out [2]
[1] Requires PORTREVISION per new entry in plist and DEBUG builds
no longer embedding WRKDIR in source file name
[2] Here's a list with * indicating severity:
*** Lost original ptthread.c hunk from patch-bug301986
*** Mixed patch-bug782111 into patch-bug301986
** Duplicated context lines
* Wrong timestamps with USES=pathfix
- MariaDB is based on the vulnerable MySQL 5.1 version
- No new versions since 2013
- Simplify Mk/bsd.databases.mk
Reviewed by: koobs (mentor), feld
Approved by: koobs (mentor)
Differential Revision: https://reviews.freebsd.org/D4099
typically pipe it through ${FMT} 75 79 command to ensure that if it gets
overly long, it would be wrapped nicely. Do the same when outputting IGNORE
message which often gets very long. While here, add missing section number
in sed(1) references in comments.
Differential Revision: D4116
Approved by: portmgr (bapt)
This update to the "makepatch" target adds the following enhancements:
1) Conserves comments
If the existing patch has comments, they will be transferred to the
regenerated patch.
2) Supports multiple patches per file
If the patch file contains concatenated patches, the makepatch
target will keep these patches together. It may change the order
of the patches the first time, but every time after the multi-patch
will be assembled in the same order.
Behavioral changes:
A) The "old" patches are not overwritten, but rather archived at:
${WRKDIR}/makepatch-tmp/archived-patches
B) Any patch that was not replaced or renamed is deleted by makepatch
(but it is archived first, see paragraph above)
C) There regeneration messages for the user will show them which patches
are using "legacy" names formats.
D) Makepatch will do a great job at "cleaning" git patches; it removes
lines starting with "diff" and "index" in the comments section.
Notes:
E) Should a source file be modified by multiple patches (e.g. two separate
multi-patches), a composite patch will be generated. In the above
example of two multi-patches, one would get the full patch and the
other no longer patch the source file.
Approved by: portmgr (mat)
Differential Revision: D4136
satisfied and needed to be installed. This restores older behavior of
allowing a partial checkout where dependencies are already installed. [1]
- Delay fatal errors show that all can be shown at once.
With hat: portmgr
Reported by: lev [1]
Test target doesn't produce anything and nothing depends on it.
Also it's often useful to run tests multiple times in a row, so
having a cookie which remembers that the tests were already ran
and inhibits subsequent test runs is needless. It also eliminates
the need for retest target.
Approved by: portmgr (mat)
Differential Revision: D3875
Make it depend on stage, and point people to adding DEVELOPER=yes to
their environment.
Discussed with: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D4082
WANT_SDL/HAVE_SDL macros allowed a port to check which SDL components
are installed. This goes against the policy of avoiding automatic
dependencies, and there are actually no cases in the portstree where
these knobs are used properly, so axe them out.
Approved by: portmgr (mat)
Differential Revision: D4093
Right now, NO_WRKSUBDIR means that the extraction does not produce a
subdirectory, and that everything goes straight into WRKDIR. It is
problematic, because during the build of a port, quite a few files are
created in there, and then, a stage directory, where everything is
installed, and then a pkg directory where the package is created, and
those often conflict, or get in the way, of the building process.
With this, NO_WRKSUBDIR will extract the distfiles directly into WRKSRC
instead of WRKDIR. In this case, WRKSRC is artificial and is based on
PKGNAME and not DISTNAME, mitigate conflicts with rc files.
PR: 204056
Submitted by: mat
Reviewed by: bapt
Exp-run: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D2735
due to $PW not being set. This only occurred when just a user was being
created without a group. Solve this by setting $PW outside of the group
creation and above both the user and group creation parts.
PR: 203489
Reviewed by: bapt
Approved by: portmgr (bapt)
Approved by: bdrewery (mentor)
PEP-449 [1] describes the 'Removal of the PyPI Mirror Auto Discovery and
Naming Scheme'.
The main elements of this (Accepted) proposal are:
Removal of [a-z].pypi.python.org DNS CNAMES
Replacing individual mirrors with a single Geo-aware CDN service
Previous revisions 365159, 347895, 342514 deprecated several individual
mirrors and *.pypi.python.org aliases. The following changes (Part III)
completes the (PEP-449 compatibility) transition:
Remove pypi.crate.io (NXDOMAIN)
Remove pypi.python.jp (Outdated, Broken for DISTNAMEs w/ hyphens
Switch to TLS (HTTPS) MASTER_SITE by default
Leave a non-TLS (HTTP) MASTER_SITE for fallback (proxy environments)
This change is also likely to fix PyPI (CHEESESHOP) update detection in
Portscout, at least until upcoming changes for the portscout port add a
dedicated sitehandler for it (and GitHub).
[1] https://www.python.org/dev/peps/pep-0449/
MFH: 2015Q4
Differential Revision: https://reviews.freebsd.org/D3972
PKG_ROOTDIR is set. This will enable help support pkg cross installs.
PR: 203489
Reviewed by: bapt
Approved by: portmgr (bapt)
Approved by: bdrewery (mentor)
In some basic benchmarks this sped up 'all-depends-list' about 20%. x11/kde4
went from 52 seconds to 41 seconds. More improvement is expected once
more command executions are cached in the 'export_ports_env' function.
With hat: portmgr
This is only missing the bsd.port.mk pieces to hook it up fully. A blocker
for hooking that up has been sub-packages, even though some implementation
could be made without them. For now just commit what I have so it is not
forgotten.
Obtained from: OneFS
Sponsored by: EMC / Isilon Storage Division
With hat: portmgr
This has been slightly faster in my tests since readelf(1) will fail on the
file much quicker if it doesn't find the ELF headers. This also more directly
finds the symbol table.
With hat: portmgr
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")
Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")
Update shebangfix usage according to new rules in many ports:
- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces
Fix shebangfix usage in many ports (irrelevant to infrastructure change):
- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string
Approved by: portmgr (bapt)
Differential Revision: D3756
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute
Checked with poudriere, portmaster, portupgrade
PR: 203685
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D3866
Update fontproto to 2.1.3.
Update libXfont to 1.5.1.
Update xf86-input-keyboard 1.8.1.
Update xf86-input-vmmouse to 13.1.0.
Update xf86-input-void to 1.4.1.
Update xf86-video-chips to 1.2.6.
Update xf86-video-cirrus to 1.5.3.
Update xf86-video-mach64 to 6.9.5.
Update xf86-video-neomagic to 1.2.9.
Update xf86-video-r128 to 6.10.0.
Update xf86-video-s3virge to 1.10.7.
Update xf86-video-savage to 2.3.8.
Update xf86-video-siliconmotion to 1.7.8.
Update xf86-video-sis to 0.10.8.
Update xf86-video-trident to 1.3.7.
Update xf86-video-vesa to 2.3.4.
* All other xf86-* drivers where bump and/or patched to allow them to
compile and work with the new xorg-server.
* The ATI-ums driver is removed because the API it depends on was
removed from the xorg-server.
* Add patch to sunffb to make the lack of XAA non-fatal
(not build/run tested due to lack of hardware).
* Remove the extra patches in xorg-server for arm. The code seems to
support it now natively. Please file a bug if this is not the case.
* Update the xorg-server support in virtualbox-ose-additions for vboxmouse. [1]
Submitted by: jkim@ [1]
Obtained from: Graphics devel repo
This will be useful in Poudriere to avoid needless fork/exec for every
port when gathering dependencies.
Example usage:
MAKE=make sh -c '. Mk/Scripts/functions.sh; export_index_env; export PACKAGE_BUILDING=1; truss -f make -C sysutils/zfstools -V BUILD_DEPENDS 2>&1' | grep exec
This eliminates 14 exec/fork calls for this example, when PACKAGE_BUILDING
is also set during -V.
Care should be taken with UID not being passed down into actual builds as it
may conflict with non-root builds.
With hat: portmgr
Package building always builds Pkg first. If someone downgrades their
pkg locally this change will hurt them, but then they are already
running an unsupported configuration.
With hat: portmgr
This will only include the descriptions file if needed to very slightly
lower overhead with -V lookups and package building dependency calculations.
With hat: portmgr
These were FreeBSD specific aliases for libiconv(), libiconv_open() and
libiconv_close() that are now also provided by libc which complicates
writing configure tests that work correctly when both libc iconv and
libiconv are available.
Also, because the libiconv iconv.h header redefines iconv* to libiconv*
correct use of the header implies that the aliases aren't used.
The following ports needed fixes because there was something wrong with
the way they tried to detect or use iconv:
audio/deadbeef: Remove LIBICONV_PLUG from a source file. It's a
compile-time option and should not be set in source code.
comms/hidapi: Use standard AM_ICONV configure macro to look for iconv.
deskutils/fbreader: Let ports framework deal with LIBICONV_PLUG.
deskutils/ljclive: Override configure test for iconv.
deskutils/owncloudclient: Add USES=iconv and patch test for iconv.
devel/aegis: Bump PORTREVISION because it no longer uses libiconv.
devel/libexplain: Add USES=iconv and override test for iconv.
devel/sdl20: Override configure test for iconv.
emulators/vmw: Replace OSVERSION checks with ICONV_LIB checks and include
<iconv.h> instead of <sys/iconv.h>.
irc/scrollz: Override configure test for iconv.
japanese/chasen-base: Override configure test for iconv and patch
configure so it no longer adds -liconv to linker flags just because it
happens to be installed.
japanses/eb: Patch configure test for iconv.
japanses/eblook: Override configure test for iconv.
java/jikes: Override configure test for iconv.
multimedia/transcode: Bump PORTREVISION because only one plugin links with
libiconv now.
net/c3270: Override configure test for iconv.
net/samba4*: Bump PORTREVISION because it no longer uses libiconv. The
configure script will always add -liconv to the linker flags when it
happens to be installed which would be wrong but later on binaries are
linked with -Wl,--as-needed and the linker discards -liconv because it
finds iconv*() functions in libc now and no longer in libiconv.
net-mgmt/icinga-*: Remove dependency on iconv.
net-mgmt/netxms: Patch configure so it no longer adds -liconv to linker
flags just because it happens to be installed.
net/asterisk11: Patch configure so it no longer adds -liconv to linker
flags just because it happens to be installed.
net-p2p/transmission-*: Override configure test for iconv.
www/htmlcxx: Override configure test for iconv.
www/httrack: Override configure test for iconv.
www/xapian-omega: Override configure test for iconv.
x11/mrxvt(-devel): Add USES=iconv and override configure test for iconv.
x11/x3270: Override configure test for iconv.
x11-wm/jwm: Override configure test for iconv.
PR: 202838
Exp-run by: antoine
Approved by: portmgr (antoine)
ldconfig file is always installed into LOCALBASE-based directory
(${LOCALBASE}/${LDCONFIG_DIR}) which is first created. When a port
redefines PREFIX (PREFIX != LOCALBASE), this directory needs to be
mentioned in pkg-plist.
Add the directory to the plist. While here, add identation to nested
make conditions and loops to improve readability and simplify one
empty .if body.
This fixes stage-qa for biology/emboss and cad/brlcad
Approved by: portmgr (bapt)
Differential Revision: D3815
TEST option is used when a port needs extra depends or flags for
build phase to enable tests (so TEST_DEPENDS don't work). Enable
it by default for DEVELOPER builds, so interested parties and Q/A
can have all tests available.
Approved by: portmgr (bapt)
Differential Revision: D3844
This database contains compiled terminfo entries and is merged from
a large part which comes with ncurses themselves and compiled
.terminfo files installed by other ports (currently only rxvt-unicode
and jfbterm)
- Now the database is always kept up to date, regardless of port
installation order (both ncurses installed before .terminfo files
and the other way around work as expected)
- All affected ports now support clean deinstallation and do not
produce stage-qa errors
- Affected ports are simplified, as they now only need to define
USES=terminfo
- rxvt-unicode no longer pulls in ncurses: the dependency is not
really needed for anything beside updating it's own database
- The patch contains Q/A test to check whether a port needs, or
needs not USES=terminfo
Approved by: portmgr (mat, bapt)
Differential Revision: D3747
perl5's do-test: target should only be enabled when USE_PERL5=configure
or USE_PERL5=modbuild* are used, otherwise it'll end up being empty
and will prevent other tests from running.
Remove NO_PERL5_TEST as it isn't really needed after this fix.
Approved by: mat, sunpoet
Differential Revision: D3830
Due to the way .for loop work, opt_VARS was being expanded too early
evaluation, which made it impossible to use vars that are set/modifies
afterwards (such as PREFIX or PKGDIR)
Fix this by changing opt_VARS handling logic so that the right side is
not prematurely expanded:
- Loop not by words (each word here is single VAR=val / VAR+=val tuple)
but by unique left sides of assignments (VAR, VAR+ here)
- Using the left side, extract all corresponding right sides and
append/assign them to a variable
This changes the way this opt_VARS line work, which behavior is between
invalid and undefined:
opt_VARS= FOO=bar FOO=baz
Before it would end up with "FOO=baz", now it ends up with "FOO=bar baz"
Submitted by: amdmi3
Reviewed by: antoine, mat
Approved by: my portmgr hat
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3729
Qt 5 does the following during the build of qt5-multimedia:
--- qt-post-install ---
echo "# define QT_GSTREAMER" >> /wrkdirs/usr/ports/multimedia/qt5-multimedia/
work/stage/usr/local/include/qt5/QtCore/modules/qconfig-multimedia.h
echo "# define QT_GST_VERSION=1.0" >> /wrkdirs/usr/ports/multimedia/
qt5-multimedia/work/stage/usr/local/include/qt5/QtCore/modules/qconfig-multimedia.h
echo "# define QT_XVIDEO" >> /wrkdirs/usr/ports/multimedia/qt5-multimedia/
work/stage/usr/local/include/qt5/QtCore/modules/qconfig-multimedia.h
That's (second line) not how #define works in C of C++
The resulting qconfig-multimedia.h file contains this:
#if !defined(QT_GST_VERSION=1.0) && !defined(QT_NO_GST_VERSION=1.0)
# define QT_GST_VERSION=1.0
#endif
This patch filters out the "=1.0" from the define. Bump qt5-multimedia
since the installed header needs to be corrected.
Reported by: antoine@
Patch submitted by: Adriaan de Groot <groot@kde.org>
You can now `make test' on any port to run test sequence, no-op by default.
If a port defines TEST_TARGET, it'll run sub-make with specified target,
usually `check' or `test', useful if upstream supports that. The port may
instead define custom do-test target, as well as usual satellite targets:
{pre,do,post}-test, {pre,do,post}-test-OPT, {pre,do,post}-test-OPT-off
`make test' builds and stages port first, so test may use both WRKDIR and
STAGEDIR, and both BUILD and RUN depends are available for test target.
Additionally, TEST_DEPENDS is now properly supported and may be used to
define additional depends specifically for testing.
Framework may define default tests for specific cases. For instance,
perl5.mk and cran.mk already provide default test target on their own.
This commit also converts my ports which have tests to this new framework.
Approved by: portmgr (bapt)
Differential Revision: D3680
* gstreamer1-libav now uses ffmpeg from ports.
* New ports:
* gstreamer1-validate: Tools to detect if elements are not behaving
as expected, mainly aimed at developers, or advanced debugging.
* gstreamer1-rtsp-server: Base foundation for building a rtsp
server ontop of GStreamer
* Bunch of new plugins like: mpg123, rsvg, libde265, openh264, x265 and dtls.
Release announcement:
http://lists.freedesktop.org/archives/gstreamer-announce/2015-September/000357.html
Obtained from: gnome devel repo
Maintainers can now use @sample sample_file target_file for all cases
that does not fall into the usual @sample something.sample
Reviewed by: antoine
Differential Revision: https://reviews.freebsd.org/D3734