changes that Debian made to their libtool. The first command applies to
libtool versions 1.4 and up. The second command is somewhat more elaborate
but essentially it uses the sed hold space to move an "elif...fi" block
down. It applies to 2.x. Together these reduce overlinking to unpatched
.la files (from ports that don't have USES=libtool yet but also .la files
in the work directory).
The third and fourth command fix relinking. During staging libtool may
relink libA when it links to another library in the work directory libB.
The reason is that libA created during build phase has its runpath set to
the location of libB in the work directory. This allows running an
executable that links to libA from within the work directory. The relink
removes this extra runpath.
When libtool relinks libA it replaces "libB.la" on the linker command line
with "-L${STAGEDIR}${PREFIX}/lib -lB" with the intention to link to libB in
the stage directory but this -L flag isn't necessarily the first so another
libB may be linked instead. The two sed commands make relink the same as a
normal link. This means libtool will relink with libraries from the work
directory using a path similar to "../srcB/.libs/libB.so" without -L flags.
This applies to libtool 1.4 and up. Earlier versions don't seem to relink
libraries.
(This fixes ports like devel/apr1 so they link with freshly built libraries
instead of installed libraries.)
Fix all ports with missing libraries.
Additionally:
archivers/rpm4: USES=patchfix.
databases/gdbm: INSTALL_TARGET=install-strip.
devel/gnome-vfs: remove patch that doesn't change anything.
devel/ois: INSTALL_TARGET=install-strip and use standard USE_AUTOTOOLS.
devel/zziplib: INSTALL_TARGET=install-strip, MAKE_CMD.
multimedia/mjpegtools: remove USE_AUTOTOOLS, use modern compiler on i386
instead of disabling optimisations.
net/libnetdude: disable static plugins.
PR: 190941
Exp-run: antoine
Approved by: portmgr (antoine)
breaks bmpanel2, and also it fails to build when ports iconv is present),
so force it to always use iconv from ports.
- Bump PORTREVISION.
Reported by: Gary Perreault (via irc)
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV.
- Add an option helper for LIBS.
- Adjust all ports that already use LIBS. Also remove references to
PTHREAD_CFLAGS and PTHREAD_LIBS while here.
- Some ports did not support having a LIBS environment variable and
required additional patches.
Somewhat simplified a linker command line looks like:
${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS}
where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and
LIBS can be controlled by us. If possible -L and -l flags need to be
added to LIBS to make sure they appear after any -L and -l flags set by
upstream. Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this
may appear too early on the command line causing installed libraries to
be linked in instead of freshly built ones.
Additional changes:
benchmarks/netio: Replace WITH_IPV6 with an IPV6 option.
comms/gnokii: Replace some patches with USES=pathfix. Also remove -fPIC.
graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR.
graphics/visionworkbench: Remove FreeBSD 7 support.
multimedia/libmovtar: New LIB_DEPENDS syntax.
multimedia/opencinematools: Use standard do-build.
net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins)
net-mgmt/nagios: Remove -fPIC.
net-mgmt/nagios4: Remove -fPIC.
print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036.
security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with
ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS. This skips a test
in configure that falsely detects pthread_mutexattr_init in our libc.
sysutils/dar: Fix iconv detection.
x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD
hack and use $CXX as linker as on other platforms.
PR: 190592
Exp-run by: antoine
Approved by: portmgr (antoine)
. Fix the build on 8.x and 9.x by using a static libexecinfo link on them
(not yet verified).
. Remove USE_BZIP2 in favour of USES tar:bzip2
. Fix up some of the Perl script Perl executable usage.
. Set HOME=- to prevent touching .afterstep in /root (suggested by swills@)
. Fix additional packing list problems.
Still need to fix LIB_DEPENDS format and the use of MAN1.
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
2014-04-30 x11-toolkits/gigi: Does not compile on 10 or higher
2014-04-30 net/asterisk-oh323: Depends on broken and unsupported asterisk14
2014-04-30 net/asterisk14: Broken and unsupported
2014-04-30 net/asterisk14-addons: Depends on broken and unsupported asterisk14
2014-04-30 ports-mgmt/pkg_install: Replaced by ports-mgmt/pkg
2014-05-01 x11-drivers/xf86-input-magictouch: Does not compile
2014-05-01 x11-drivers/xf86-video-cyrix: requires pciVideoPtr typedef
2014-05-01 x11-drivers/xf86-video-sis-intel: requires pciVideoPtr typedef
2014-05-01 net/py-spreadmodule: Depends on expired net/spread
2014-05-01 net/p5-Spread-Message: Depends on expired net/spread
2014-05-01 net/p5-POE-Component-Spread: Depends on expired net/spread
2014-05-01 net/p5-Spread-Session: Depends on expired net/spread
2014-05-01 sysutils/wmmemload: Broken
2014-05-01 lang/ml-pnet: Alpha-quality abandonware - Decommissioned Dec 2012 - Use mono
2014-05-01 lang/treecc: PNET dependency decommissioned Dec 2012
2014-05-01 lang/pnetlib: Alpha-quality abandonware - Decommissioned Dec 2012 - Use mono
2014-05-01 lang/pnet-base: Alpha-quality abandonware - Decommissioned Dec 2012 - Use mono
2014-05-01 benchmarks/pnetmark: PNET dependency decommissioned Dec 2012
2014-05-01 lang/pnet: Alpha-quality abandonware - Decommissioned Dec 2012 - Use mono
2014-05-01 x11-wm/stumpwm: Broken for more than 4 months
2014-05-01 sysutils/cpupowerd: Not maintained from upstream anymore and only supports ancient AMD K8.
2014-05-01 net/pchar: Obsolete, abandoned
2014-05-03 x11-fonts/texcm-ttf: Should be replaced by x11-fonts/stix-fonts
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la. So everything that subsequently links with libA will also
link to these extra libraries. This causes too much overlinking.
This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging. However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.
So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).
PORTREVISION is bumped on all ports with USES=libtool that install .la
libraries. Most ports are also changed to add :keepla because .la
libraries have to be kept around as long as there are dependent ports with
.la libraries that refer to them in their dependency_libs field. In most
cases :keepla can be removed again as soon as all dependent ports that
install .la libraries have some form of USES=libtool added to their
Makefile.
PR: ports/188759
Exp-run: bdrewery
Approved by: portmgr (bdrewery)