diff options
author | tijl <tijl@FreeBSD.org> | 2014-06-22 18:44:29 +0800 |
---|---|---|
committer | tijl <tijl@FreeBSD.org> | 2014-06-22 18:44:29 +0800 |
commit | e7a4eb9e29e66ac9f7798911ff902349859d865e (patch) | |
tree | 2e1c942caa79a250b3baeb557ee3445960e10d70 /multimedia/mjpegtools | |
parent | 0f278c761cdc81c112e454be9157c352f91e876b (diff) | |
download | freebsd-ports-gnome-e7a4eb9e29e66ac9f7798911ff902349859d865e.tar.gz freebsd-ports-gnome-e7a4eb9e29e66ac9f7798911ff902349859d865e.tar.zst freebsd-ports-gnome-e7a4eb9e29e66ac9f7798911ff902349859d865e.zip |
Add 4 new sed commands to USES=libtool. The first two apply some of the
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)
Diffstat (limited to 'multimedia/mjpegtools')
-rw-r--r-- | multimedia/mjpegtools/Makefile | 28 | ||||
-rw-r--r-- | multimedia/mjpegtools/files/patch-mplex__Makefile.in | 11 |
2 files changed, 21 insertions, 18 deletions
diff --git a/multimedia/mjpegtools/Makefile b/multimedia/mjpegtools/Makefile index 6f72b3aac748..38280cdcd7e6 100644 --- a/multimedia/mjpegtools/Makefile +++ b/multimedia/mjpegtools/Makefile @@ -3,7 +3,7 @@ PORTNAME= mjpegtools PORTVERSION= 2.1.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= multimedia MASTER_SITES= SF/${PORTNAME:S/tools//}/${PORTNAME}/${PORTVERSION} @@ -18,21 +18,17 @@ LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg CONFLICTS= mplex-[0-9]* USES= gmake libtool pathfix pkgconfig -PATHFIX_MAKEFILEIN= Makefile.am -USE_AUTOTOOLS= libtoolize aclocal autoheader automake autoconf -LIBTOOLIZE_ARGS=-i -c -f -ACLOCAL_ARGS= --automake-acdir=${ACLOCAL_DIR} \ - -I ${LOCALBASE}/share/aclocal -AUTOMAKE_ARGS= --add-missing --foreign -CONFIGURE_ARGS= --without-dga --without-x USE_LDCONFIG= yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --without-dga --without-x +CONFIGURE_TARGET= ${ARCH:S/amd64/x86_64/}-portbld-${OPSYS:tl}${OSREL} CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib +LIBS+= -L${LOCALBASE}/lib INFO= mjpeg-howto -OPTIONS_DEFINE= DOCS DV GTK2 PNG QUICKTIME SDL SIMD +OPTIONS_DEFINE= DOCS DV GTK2 PNG QUICKTIME SDL OPTIONS_DEFAULT= GTK2 PNG SDL OPTIONS_SUB= yes @@ -46,12 +42,11 @@ QUICKTIME_LIB_DEPENDS= libquicktime.so:${PORTSDIR}/multimedia/libquicktime QUICKTIME_CONFIGURE_WITH= libquicktime SDL_USE= SDL=gfx,sdl SDL_CONFIGURE_OFF= --without-libsdl --without-sdlgfx -SIMD_CONFIGURE_ENABLE= simd-accel .include <bsd.port.options.mk> .if ${ARCH} == "i386" -CFLAGS:= ${CFLAGS:N-O*:N-fno-strict*} +USES+= compiler:c++11-lang .endif .if ${ARCH} == "powerpc" && ${OSVERSION} > 900000 @@ -59,12 +54,9 @@ BROKEN= Does not build on powerpc-9 .endif post-patch: - @${REINPLACE_CMD} -e \ - 's| \*-\*-linux\*)| *-*-*)| ; \ - /ARCHFLAGS=/s|^|#|g' ${WRKSRC}/configure.ac - -pre-configure: - @${RM} -f ${WRKSRC}/missing + @${REINPLACE_CMD} \ + -e 's| \*-\*-linux\*)| *-*-*)|' \ + -e '/ARCHFLAGS=/d' ${WRKSRC}/configure post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} diff --git a/multimedia/mjpegtools/files/patch-mplex__Makefile.in b/multimedia/mjpegtools/files/patch-mplex__Makefile.in new file mode 100644 index 000000000000..264d24adeb29 --- /dev/null +++ b/multimedia/mjpegtools/files/patch-mplex__Makefile.in @@ -0,0 +1,11 @@ +--- mplex/Makefile.in.orig ++++ mplex/Makefile.in +@@ -360,7 +360,7 @@ + libmplex2_la_CXXFLAGS = + mplex_SOURCES = main.cpp + mplex_DEPENDENCIES = libmplex2.la +-mplex_LDADD = libmplex2.la @LIBGETOPT_LIB@ $(LIBM_LIBS) ++mplex_LDADD = libmplex2.la $(top_builddir)/utils/libmjpegutils.la @LIBGETOPT_LIB@ $(LIBM_LIBS) + all: all-am + + .SUFFIXES: |