More candidates are likely to come before the official announcement (aka
the rush hour) scheduled on 2016-11-15. This one intended to pick up upstream
security fixes earlier while looking for downstream regressions.
Changes: https://www.mozilla.org/firefox/50.0/releasenotes/
Security: d1853110-07f4-4645-895b-6fd462ad0589
MFH: 2016Q4 (piling up)
USES=mono: add nuget argument
The nuget argument adds support for nuget packages. The nuget
packages must be specified in the NUGET_DEPENDS variable.
devel/monodevelop: update to 6.1.1.15
- Switch to github. The other official source is quite a few versions
behind.
- Add missing dependencies (fsharp, ssl2, curl)
- Add required nuget packages
- Add required external repositories
- Drop options. Although ./configure offers these flags, there is no
functional change (i.e. no-op)
- All patches have been upstreamed (and the one we need is from
upstream).
lang/fsharp: update to 4.0.1.15
- convert to use the nuget argument.
ChangeLog:
- Fix null condition in Fsc task
lang/mono-devel: update to 4.6
- switch to new test target (currently tests the port to be installed)
www/gecko-sharp20: depreciate: broken and no-upstream
- Give 1 month for anyone to complain that this port is being removed.
x11-toolkits/gtk-sharp30: bump PORTREVISION
- Add LICENSE information
- Add missing dependencies (per stage-qa)
x11-toolkits/gtk-sharp20: update to 2.12.40.
- Add LICENSE information
- Add missing dependencies (per stage-qa)
- Change download location per Mono's Gtk# website.
PR: 213484
PR: 213796
Reviewed by: mat, romain
Differential Revision: https://reviews.freebsd.org/D8339
You can now set the default version of Varnish with DEFAULT_VERSIONS to
build Varnish and its modules against your desired Varnish release
train.
The default version of Varnish throughout the ports tree will remain as
www/varnish4 until at least 2017Q1 when it will be changed in HEAD to be
www/varnish5. This should allow plenty of time for migration and for
stabilization of the changes in Varnish 5.x.
Submitted by: vanilla
With this change, math/R, math/libRmath, and all cran ports can share one
list of sites.
Reviewed by: mat
Approved by: swills (mentor)
Differential Revision: https://reviews.freebsd.org/D8328
Mk/Uses/linux.mk changes:
- Add support for architecture neutral (noarch) distfiles.
- Add support for 64-bit only ports: set IGNORE on i386 and don't install
32-bit compat libraries on amd64.
Submitted by: Piotr Kubaj <pkubaj@anongoth.pl>
Differential Revision: https://reviews.freebsd.org/D7886
A lot of KDE Ports share MASTERSITES, LICENSE and so one, as they are
released as a bundle upstream, however, there was not really a clean
way to share this information.
Using these new categories, we can simplify the Makefiles for the diverse
KDE ports.
At the moment we support the virtual category
* kde-kde4
In the future, this will be extended to
* kde-frameworks
* kde-plasma
* kde-applications
PR: 213406
Differential Revision: https://reviews.freebsd.org/D7645
Exp-run by : antoine
Reviewed by: mat, rakuco
Approved by: portmgr (mat), rakuco (mentor)
Some cmake projects use LIB_DESTINATION/pkgconfig to install the pc-files.
For example:
* deskutils/libstreamanalyzer
* sysutils/polkit-qt{,5}
* x11-toolkits/attica
By adding this, we can convert these ports to use pathfix instead of an
uncessessary patch-foo or confusing sed call.
Reviewed by: mat
Approved by: portmgr (mat), mat (mentor)
Differential Revision: https://reviews.freebsd.org/D8141
SeaMonkey now uses FFmpeg directly rather than via GStreamer for H.264
and MP3 playback as part of HTML5. Note, FFmpeg 3.x is unsupported[1].
Changes: http://www.seamonkey-project.org/news#2016-03-14
PR: 210931
Submitted by: net@arrishq.net (based on)
Security: 2c2d1c39-1396-459a-91f5-ca03ee7c64c6
MFH: 2016Q3
[1] SeaMonkey 2.40 is based on Firefox 43 codebase but Firefox 45
is the earliest to have the fix. Backporting maybe tricky:
https://bugzilla.mozilla.org/show_bug.cgi?id=1232268
USES=localbase:ldflags can be used to set LDFLAGS. Normally LDFLAGS
appears too early on the command line causing some ports to link with
their own libraries in LOCALBASE (if installed) instead of WRKSRC.
Also make use of _USES_POST so -L${LOCALBASE}/lib is added as late as
possible after anything a port Makefile might set. Use _USES_POST
instead of .include in libedit.mk and libarchive.mk so things like
'USES=libedit localbase:ldflags' work correctly.
Fix some issues with LIBS in some ports.
Switch ports that don't support LIBS to localbase:ldflags.
PR: 212987
Exp-run by: antoine
Approved by: portmgr (antoine)
hide actual commands executed and only show short summary line (like
"CC foo.c"). CMake and ninja enable this by default, some autotools
using ports do as well. This is unacceptable because we need complete
build logs at any time, so we now switch to verbose build logs
unconditionally. Note that this change deliberately affects ALL
builds and not only package builds on cluster, because we need to
be sure that user experiencing failure can always provide informative
build log regardless of settings and without rerunning the build.
Change summary:
- Always do verbose builds for cmake, ninja and GNU configure (the
latter includes check if --disable-silent-rules is actually supported
by the configure script; there are isolated cases when it's not true)
- Remove CMAKE_VERBOSE, NINJA_VERBOSE and
CONFIGURE_ARGS=--disable-silent-rules from all ports which set them
for this is no longer needed
- Revert hacks for --disable-silent-rules support priorly committed
to biology/ncbi-blast+ and net-p2p/mldonkey - no longer needed as well
Submitted by: amdmi3
Reviewed by: mat
Exp-run by: antoine
Approved by: portmgr (mat, antoine)
Differential Revision: D7534
There are three cases here:
1) USES=ncurses or USES=ncurses:base and devel/ncurses is not present:
use base, no need to add rpath as there is only one libncurses.so
present, in /usr/lib
2) USES=ncurses and devel/ncurses is present or USES=ncurses:port: use
ports, and add rpath to LOCALBASE/lib so that the right one is picked
3) USES=ncurses:base and devel/ncurses is present fail (it would warrant
using -rpath /usr/lib, but it error's out during the sanity stage)
PR: 211592
Reported by: koobs (and many others)
Reviewed by: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7459
Bump PORTREVISION to account for slightly different behavior in other
gecko@ ports and to get a discrete regression window.
Changes: https://www.mozilla.org/firefox/49.0/releasenotes/
PR: 211792
Submitted by: Jochen Neumeister <joneum@bsdproject.de> (based on)
Security: 2c57c47e-8bb3-4694-83c8-9fc3abad3964
MFH: 2016Q3
*_DEPENDS. Helper variables derived from the loop variable aren't
expanded causing *_DEPENDS to be incorrect.
- Bump all ports with more than one value in USE_LINUX.
PR: 211645
Reported by: jkim
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases
that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling. Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
default versions framework.
- bsd.port.mk:
- Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX.
- Put USE_LINUX_PREFIX handling after USES processing.
- Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can
give these variables a different default value.
- When a package needs to run Linux ldconfig check before installation if
Linux support is enabled.
- emulators/linux_base-*:
- Use USES=linux and remove duplication.
- Remove files/lp. FreeBSD or CUPS lp(1) should work.
- Remove files/yp.conf. No longer seems to be used.
- Remove pkg-deinstall and move pkg-install into pkg-plist.
- Update pkg-descr and pkg-message.
- Fix handling of ldconfig cache in pkg-plist.
- devel/fb-adb: Use a Linux shell to run a Linux script but patch the script
to use FreeBSD mkdir so mkdir -p $path creates $path and not
/compat/linux/$path.
PR: 211645
Exp-run by: antoine
Approved by: portmgr (antoine)
R warns if it detects .o or .so objects in the source directory, when
running tests. Remove the offending files before running the test.
Take maintainership [1]
PR: 212134
Approved by: wen [1]
Lots of KDE components are providing libraries, and they were,
strangely, written as BUILD_ or RUN_DEPENDS, with a full path to the
library. Change this so that if a component is needed at both build,
and, run-time, then it gets a LIB_DEPENDS.
Reviewed by: rakuco, tcberner
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7625
Plasma5 ports
At the moment KDE ports use bsd.kde4.mk to handle their dependencies. When
working on the ports for KDE Frameworks and Plasma5 it seemed to be more
reasonable to create a new kde.mk instead of adding an bsd.kde5.mk.
The kde.mk in this review is a stripped down version of the one we are using in
the KDE Test repositories plasma5 branch [1] to only contain the parts relevant
to the current KDE4 ports in the portstree [2].
Changes to the KDE Ports needed by this:
Replace USE_KDE4 by USE_KDE [3]
Add USES=kde:4 [4]
[1] http://src.mouf.net/area51/view/branches/plasma5/KDE/Mk/Uses/kde.mk
[2] The version in the plasma5 branch also handles frameworks/plasma5 and
handles MASTER_SITES via a KDE_DIST variable similar to bsd.qt.mk for Qt
Ports -- I chose to leave this out for now, as the diff is already large
enough.
[3] I chose USE_KDE instead of USE_KDE4, USE_KDE5, USE_KDEX as the version we
want is already specified as argument to kde:<arg>
[4] For KDE Frameworks and Plasma5 ports this would be kde:5
PR: 210667
Approved by: portmgr, mat (mentor), rakuco (mentor)
Reviewed by: mat, rakuco
Differential Revision: https://reviews.freebsd.org/D6961
The "8" refers to FreeBSD 8.x which is no longer supported by the
ports tree. It's never been used (to my knowledge) so just remove the
option altogether.
Due to the change in r419666 USE_GCC is not conditionally set, however it
was bringing in the dependencies for fortran (silently). Explicitly bring
in the dependencies for fortran.
Also, add a target to strip the compiled shared library.
PR: 211891
Reviewed by: mat
Approved by: wen
The upcoming KDE Frameworks ports need grantlee5
* Add devel/grantlee5 and move installed headers into a subdirectory include/grantlee5
* Move header files from devel/grantlee into a subdirectory
include/grantlee4
to make sure ports do not pick up the wrong headers
* Add Uses/grantlee.mk to handle the PLIST_SUB and LIB_DEEPENDS needed
by ports using grantlee (before we set the PLIST_SUB manual in very
of the depending ports, which now should not be needed anymore).
* The ports depending on devel/grantlee have been modified from
LIB_DEPENDS=libgrantlee_gui.so:devel/grantlee
to
USES=grantlee:4
as this does not affect the package no version bumped was made.
Reviewed by: mat, rakuco
Approved by: rakuco (mentor)
Differential Revision: https://reviews.freebsd.org/D7434
file, so the order remains the same.
Every PHP (or Zend) extension now installs its own .ini file in
/usr/local/etc/php. A PHP extension will be automatically activated
when installed. The order into which extensions are loaded is
automatically guessed. In some very rare cases, the guess will be
wrong, and PHP_MOD_PRIO will need to be set. Refer to the USES=php
section of the Porter's Handbook for more information.
Convert ports touching etc/php/extensions.ini manually, or telling the
OP to do it.
And finally, bump PORTREVISION for all php extensions.
PR: 210697
Submitted by: mat
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7022
The variable defined in it are now always available after including
bsd.port.pre.mk.
PR: 210666
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6933
- If a port links to libtk then it will always also link to libtcl. Include
libtcl in the LIB_DEPENDS when linking to libtk.
- Fix indentation of '.if' statements
PR: 211261
Approved by: gahr
MFH: 2016Q3
print/texinfo which requires gmake. To break this circular dependency
gmake-lite was introduced. This can be removed now as well.
PR: 210623
Reviewed by: bapt
Exp-run by: antoine
Approved by: portmgr (antoine)
postgresql-9.0.x was declared EoL in September 2015.
Summary:
Remove 9.0 from the list of postgresql versions available in ports
Disconnect postgresql90 ports from the build
Remove postgresql90-pgtcl port
Remove postgresql90-client port
Move the master postgreslXY-plperl makefile to postgresql95-plperl/Makefile.
Adjust include lines in other postgresqlXY-plperl ports
Delete postgresql90-plperl
Move the master postgreslXY-plpython/{Makefile,pkg-descr} to
postgresl95-plpython/{Makefile,pkg-descr}
Adjust all other postgresqlXY-plpython/Makefile to include the new master
Remove postgresql90-server
Reviewers: jgh, girgen, #portmgr, O5 Ports Framework, bapt, crees
Reviewed By: #portmgr, O5 Ports Framework, bapt, crees
Subscribers: mat
Differential Revision: https://reviews.freebsd.org/D6898
Add a qa hint about needing, or not, USES=ssl.
Fix ports doing silly things, like including bsd.openssl.mk directly.
PR: 210322
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6866
PYTHON_ABIVER/PYTHON_INCLUDEDIR, when they use default options for
lang/python3x, by providing a reasonable default value to PYTHON_ABIVER
With hat: portmgr
the default when WANT_PGSQL is not defined). Compare to
WANT_PGSQL=client which only adds a RUN_DEPENDS on
postgresqlXY-client. 'client' can be part of a list of different
components, but 'lib' is ignored if any other terms are specified,
which seems an arbitrary and incorrect restriction.
WANT_PGSQL=lib allows expressing that the port links against
libpq.so.X rather than just needing one of the client programs like
psql(1) at runtime. However, other than that there is little
practical difference between 'lib' and 'client' on the resulting pkg.
Approved by: crees (pgsql@)
Sponsored by: https://reviews.freebsd.org/D6893
[1] Add "compiles" argument to cran to allow R-cran ports need to compile
code to bring in the correct compiler dependencies. Also, ensure
consistency between the compiler selected by the R port and the R-cran ports.
[2] Migrate R-cran ports that manually specify the compiler to
USES=cran,compiles.
PR: 210343
Approved by: wen (1), portmgr (2, blanket)
Turns out that the conversion to USES was broken, and did not take the
DEFAULT_VERSIONS=bdb=foo into account.
PR: 210149
Submitted by: mat
Exp-run by: antoine
Sponsored by: The FreeBSD Foundation, Absolight
Fix the few users of both the MySQL client and server.
PR: 209762
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6575
README.pod is no longer manified into a README.3, as the README.pod is
installed and can be read with perldoc, remove the README.3 files that
may be generated.
With hat: perl@
Sponsored by: Absolight
The lang/gcc-aux port has recently been removed, so the previously legal
"49" argument is no longer so. Adjust ada.mk accordingly by removing
reference to option 49 and lang/gcc-aux.
Changes submitted by gahr@:
Enable a new TCL option, adding a pkgIndex.tcl file.
Modernize Makefile. [1]
Changes by mandree@:
Fix installation of TCL API docs if TCL option is enabled.
Update to new upstream release 6.2.23.
Install the upgrade61.sh script if SQL option is enabled, with
additional fixes distributed as a patch to avoid licensing concerns.
Add an UPDATING entry.
Add changes in Mk/Uses/bdb.mk.
db5 parts of PR 208740 to be committed in a separate transaction later.
PR: 208740
Submitted by: gahr@
iconv(3) is used. Adding it only when LOCALBASE/include/iconv.h exists is
not enough because this is tested before dependencies are installed and
they may pull in converters/libiconv.
PR: 209302
Exp-run by: antoine
Approved by: portmgr (antoine)
GCC 6.1 was released this week. The Ada Framework in FreeBSD ports has
been based on GCC 5.3 GNAT although GCC 6.x has been supported for awhile
via the ADA_DEFAULT option in make.conf.
Now that GCC 6 has been officially released, switch to it by default.
People can maintain the old foundation by putting "ADA_DEFAULT=5" in
/etc/make.conf.
Libraries built by one GNAT are unusable by another, so almost every Ada
port has been bumped as a result. Noticable exceptions are dns/ironsides
which fails to build on gcc6 (thus USES=ada:5 is set) and cad/ghdl which
needs additional testing as it may require gcc5 on FreeBSD (DragonFly
uses the LLVM backend only).
* Check for valid args to USES=gem
* Make autoplist default, allowing it to be specified (which is a no-op), or
turned off
* Add sanity checks for USE_RUBYGEMS RUBYGEM_AUTOPLIST
Requested by: mat
Discussed with: mat
Also, USE_MYSQL can't happen after bsd.port.pre.mk because it is a USES.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
Also:
- Deorbit WANT_BDB_VER, one can use USES=bdb:<ver> instead.
- USE_BDB can't happen after bsd.port.pre.mk because it is a USES.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
with parsing comments.
Several users reported a problem building security/gnutls because
hogweed.pc (provided by security/nettle) contains the following line:
Requires: # nettle
Older versions of pkgconf try to look for a package named "#" and fail.
It is left as an exercise to the reader to reorder some of those targets
to fix some small problems, and to add a comment about why each target
is ran when it is ran.
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5717
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.
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)
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)
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.
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
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").
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)
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
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
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.