ports/187805: [PATCH] Split multimedia/x264 into lib and application and update to 0.140.2380
Andrew Berg
aberg010 at my.hennepintech.edu
Fri Mar 21 07:30:00 UTC 2014
>Number: 187805
>Category: ports
>Synopsis: [PATCH] Split multimedia/x264 into lib and application and update to 0.140.2380
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Mar 21 07:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Andrew Berg
>Release: 10.0-RELEASE
>Organization:
>Environment:
FreeBSD robotsondrugs.com 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014 root at snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Several ports depend on x264 solely for libx264 and do not need the command-line application itself. This results in a circular dependency with multimedia/ffmpeg since x264 gains an implicit dependency on it if built while ffmpeg installed - x264 detects the presence of the libav* libraries and build against them to provide lavf support.
>How-To-Repeat:
>Fix:
This patch unifies the work done to update x264 to core 140 and the work required to build the library and application as separate ports, thereby breaking ffmpeg's dependency on x264, instead making it dependent on the new libx264 port. Other ports dependent on the library have also been updated to use it as a dependency instead of x264. x264 now has an explicit dependency on ffmpeg for lavf support (which is an option and is enabled by default). The X11_SUPPORT option has been removed since it is no longer supported upstream. Finally, the application now supports showing the git revision in its help message.
Patch attached with submission follows:
Index: multimedia/ffmpeg/Makefile
===================================================================
--- multimedia/ffmpeg/Makefile (revision 348657)
+++ multimedia/ffmpeg/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= ffmpeg
PORTVERSION= 2.1.1
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= multimedia audio ipv6 net
MASTER_SITES= http://ffmpeg.org/releases/
@@ -192,7 +192,7 @@
VPX_CONFIGURE_ENABLE= libvpx
# x264
-X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
+X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
X264_CONFIGURE_ENABLE= libx264
# xvid
Index: multimedia/ffmpeg0/Makefile
===================================================================
--- multimedia/ffmpeg0/Makefile (revision 348657)
+++ multimedia/ffmpeg0/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= ffmpeg
PORTVERSION= 0.7.16
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= multimedia audio ipv6 net
MASTER_SITES= http://ffmpeg.org/releases/
@@ -372,7 +372,7 @@
# x264
.if ${PORT_OPTIONS:MX264}
-LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264
+LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/libx264
CONFIGURE_ARGS+= --enable-libx264
.else
CONFIGURE_ARGS+= --disable-libx264
Index: multimedia/gstreamer-plugins/Makefile.common
===================================================================
--- multimedia/gstreamer-plugins/Makefile.common (revision 348657)
+++ multimedia/gstreamer-plugins/Makefile.common (working copy)
@@ -583,7 +583,7 @@
gst_vp8_DIST= bad
# x264
-gst_x264_LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264
+gst_x264_LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/libx264
gst_x264_PLIST_FILES= ${GST_LIB_DIR}/libgstx264.la \
${GST_LIB_DIR}/libgstx264.so \
share/gstreamer-${VERSION}/presets/GstX264Enc.prs
Index: multimedia/gstreamer-plugins-x264/Makefile
===================================================================
--- multimedia/gstreamer-plugins-x264/Makefile (revision 348657)
+++ multimedia/gstreamer-plugins-x264/Makefile (working copy)
@@ -2,7 +2,7 @@
# $FreeBSD$
# $MCom: ports/multimedia/gstreamer-plugins-x264/Makefile,v 1.3 2008/03/19 14:05:37 ahze Exp $
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
COMMENT= Gstreamer x264 plugin
Index: multimedia/gstreamer1-plugins/Makefile.common
===================================================================
--- multimedia/gstreamer1-plugins/Makefile.common (revision 348657)
+++ multimedia/gstreamer1-plugins/Makefile.common (working copy)
@@ -424,7 +424,7 @@
.endif
# x264
-gst_x264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
+gst_x264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
gst_x264_PLIST_FILES= ${GST_LIB_DIR}/libgstx264.la \
${GST_LIB_DIR}/libgstx264.so \
share/gstreamer-${VERSION}/presets/GstX264Enc.prs
Index: multimedia/gstreamer1-plugins-x264/Makefile
===================================================================
--- multimedia/gstreamer1-plugins-x264/Makefile (revision 348657)
+++ multimedia/gstreamer1-plugins-x264/Makefile (working copy)
@@ -1,6 +1,6 @@
# $FreeBSD$
-PORTREVISION= 0
+PORTREVISION= 2
CATEGORIES= multimedia
COMMENT= Gstreamer x264 plugin
Index: multimedia/libav/Makefile
===================================================================
--- multimedia/libav/Makefile (revision 348657)
+++ multimedia/libav/Makefile (working copy)
@@ -2,7 +2,7 @@
PORTNAME= libav
PORTVERSION= 9.10
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= multimedia audio ipv6 net
MASTER_SITES= http://libav.org/releases/
@@ -139,7 +139,7 @@
X11GRAB_USE= XORG=x11,xext,xfixes
-X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
+X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
X264_CONFIGURE_ENABLE= libx264
XVID_LIB_DEPENDS= libxvidcore.so:${PORTSDIR}/multimedia/xvid
Index: multimedia/libquicktime/Makefile
===================================================================
--- multimedia/libquicktime/Makefile (revision 348657)
+++ multimedia/libquicktime/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= libquicktime
PORTVERSION= 1.2.4
-PORTREVISION?= 5
+PORTREVISION?= 6
CATEGORIES= multimedia
MASTER_SITES= SF
@@ -116,7 +116,7 @@
.endif
.if ${PORT_OPTIONS:MX264}
-LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264
+LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/libx264
CONFIGURE_ARGS+= --with-x264
.else
CONFIGURE_ARGS+= --without-x264
Index: multimedia/libx264/Makefile
===================================================================
--- multimedia/libx264/Makefile (revision 348304)
+++ multimedia/libx264/Makefile (working copy)
@@ -1,15 +1,14 @@
# Created by: Michael Johnson <ahze at FreeBSD.org>
# $FreeBSD$
-PORTNAME= x264
+PORTNAME= libx264
PORTVERSION= 0.${X264_BUILD}.${X264_REV}
-PORTREVISION= 3
CATEGORIES= multimedia
MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ \
http://samples.mplayerhq.hu/yuv4mpeg2/:pgo
-DISTNAME= ${PORTNAME}-snapshot-${X264_SNAPSHOT}-2245-stable
+DISTNAME= x264-snapshot-${X264_SNAPSHOT}-2245-stable
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
-DIST_SUBDIR= x264
+DIST_SUBDIR= libx264
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= koobs at FreeBSD.org
@@ -20,11 +19,11 @@
BUILD_DEPENDS= yasm>=0.6.0:${PORTSDIR}/devel/yasm \
${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash
-X264_BUILD= 136
-X264_REV= 2358
-X264_COMMIT= 3361d59a0a83dcb8b321cc0eb8e6ba68ca49c7d4
+X264_BUILD= 140
+X264_REV= 2380
+X264_COMMIT= de0bc3697eeb260d73f96c3da2102389a33e6d4a
X264_GITVER= ${X264_COMMIT:C/^(.......).*$/\1/g}
-X264_SNAPSHOT= 20130827
+X264_SNAPSHOT= 20140214
USES= gmake
USE_BZIP2= yes
@@ -32,18 +31,17 @@
USE_LDCONFIG= yes
HAS_CONFIGURE= yes
-OPTIONS_DEFINE= ASM DEBUG HI10P PGO GCC GPAC X11_OUTPUT
-OPTIONS_DEFAULT= ASM GPAC
+OPTIONS_DEFINE= ASM DEBUG HI10P PGO GCC
+OPTIONS_DEFAULT= ASM
ASM_DESC= Enable Assembly Optimizations
GCC_DESC= Use current GCC
HI10P_DESC= Enable High 10 Profile 10-bit encoding
-GPAC_DESC= Enable MPEG-4 Output
-X11_OUTPUT_DESC= Enable X11 Output
CONFIGURE_ARGS+= --extra-cflags="-I${LOCALBASE}/include" \
--extra-ldflags="-L${LOCALBASE}/lib" \
--enable-static --enable-shared \
- --disable-opencl
+ --disable-opencl \
+ --disable-cli
PLIST_SUB+= X264_BUILD=${X264_BUILD}
@@ -87,17 +85,6 @@
RESTRICTED_FILES= ${Y4M_VIDEO_DISTFILE}
.endif
-.if ${PORT_OPTIONS:MGPAC}
-LIB_DEPENDS+= libgpac.so:${PORTSDIR}/multimedia/gpac-libgpac
-.else
-CONFIGURE_ARGS+= --disable-gpac
-.endif
-
-.if ${PORT_OPTIONS:MX11_OUTPUT}
-CONFIGURE_ARGS+= --enable-visualize
-USE_XORG= x11
-.endif
-
post-extract:
.if ${PORT_OPTIONS:MPGO}
@( cd ${WRKDIR} && ${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} > ${Y4M_VIDEO} )
@@ -109,12 +96,13 @@
s|/bin/bash|${LOCALBASE}/bin/bash|; \
s|gpac_static|gpac|g' \
${WRKSRC}/configure
- @${REINPLACE_CMD} -e 's|bash|sh|' ${WRKSRC}/version.sh
+ @${REINPLACE_CMD} -e 's|bash|sh|; \
+ s|VER="x"|VER="${X264_REV} ${X264_GITVER}"|; \
+ s|VERSION=""|VERSION=" r${X264_REV} ${X264_GITVER}"|' \
+ ${WRKSRC}/version.sh
+
@${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${PREFIX}/libdata/pkgconfig|; \
s|$${libdir}/pkgconfig|${PREFIX}/libdata/pkgconfig|' \
${WRKSRC}/Makefile
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/x264
-
.include <bsd.port.mk>
Index: multimedia/libx264/distinfo
===================================================================
--- multimedia/libx264/distinfo (revision 348304)
+++ multimedia/libx264/distinfo (working copy)
@@ -1,4 +1,4 @@
-SHA256 (x264/x264-snapshot-20130827-2245-stable.tar.bz2) = 5e418d6bb0fa8aebd503f7c6298ef0ee007ae8f066811d5427c28edc4a0304ef
-SIZE (x264/x264-snapshot-20130827-2245-stable.tar.bz2) = 619606
-SHA256 (x264/example.y4m.bz2) = a5bec9d37362bd9d7773fbd0644643f9ec096d654d20823004e88d5df32bbff7
-SIZE (x264/example.y4m.bz2) = 4910029
+SHA256 (libx264/x264-snapshot-20140214-2245-stable.tar.bz2) = e8faf089d715acc781d0d6bf47ade6a7554371b64d3213b7bb9947f26928a246
+SIZE (libx264/x264-snapshot-20140214-2245-stable.tar.bz2) = 627329
+SHA256 (libx264/example.y4m.bz2) = a5bec9d37362bd9d7773fbd0644643f9ec096d654d20823004e88d5df32bbff7
+SIZE (libx264/example.y4m.bz2) = 4910029
Index: multimedia/libx264/pkg-plist
===================================================================
--- multimedia/libx264/pkg-plist (revision 348304)
+++ multimedia/libx264/pkg-plist (working copy)
@@ -1,4 +1,3 @@
-bin/x264
include/x264.h
include/x264_config.h
lib/libx264.a
Index: multimedia/mencoder/Makefile
===================================================================
--- multimedia/mencoder/Makefile (revision 348657)
+++ multimedia/mencoder/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= mencoder
PORTVERSION= ${MPLAYER_PORT_VERSION}
-PORTREVISION= 1
+PORTREVISION= 2
COMMENT= Convenient video file and movie encoder
Index: multimedia/mpeg4ip/Makefile
===================================================================
--- multimedia/mpeg4ip/Makefile (revision 348657)
+++ multimedia/mpeg4ip/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= mpeg4ip
PORTVERSION= 1.6.1
-PORTREVISION= 27
+PORTREVISION= 28
CATEGORIES= multimedia audio ipv6 net
MASTER_SITES= LOCAL/ahze
# http://sourceforge.net/forum/forum.php?thread_id=1839453&forum_id=59136
@@ -22,7 +22,7 @@
a52:${PORTSDIR}/audio/liba52 \
mpeg2:${PORTSDIR}/multimedia/libmpeg2 \
libavcodec0.so:${PORTSDIR}/multimedia/ffmpeg0 \
- x264:${PORTSDIR}/multimedia/x264
+ libx264.so:${PORTSDIR}/multimedia/libx264
RUN_DEPENDS= mp4v2>=1.9.1:${PORTSDIR}/multimedia/mp4v2
USE_GNOME= gtk20
Index: multimedia/mplayer/Makefile.optvars
===================================================================
--- multimedia/mplayer/Makefile.optvars (revision 348657)
+++ multimedia/mplayer/Makefile.optvars (working copy)
@@ -106,7 +106,7 @@
VPX_LIB_DEPENDS= libvpx.so:${PORTSDIR}/multimedia/libvpx
VPX_CONFIGURE_OFF= --disable-libvpx-lavc
-X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
+X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
X264_CONFIGURE_OFF= --disable-x264
XVID_LIB_DEPENDS= libxvidcore.so:${PORTSDIR}/multimedia/xvid
Index: multimedia/vlc/Makefile
===================================================================
--- multimedia/vlc/Makefile (revision 348657)
+++ multimedia/vlc/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= vlc
DISTVERSION= 2.1.2
-PORTREVISION= 3
+PORTREVISION= 4
PORTEPOCH= 4
CATEGORIES= multimedia audio ipv6 net www
MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
@@ -237,7 +237,7 @@
VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
VORBIS_CONFIGURE_ENABLE=vorbis
-X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
+X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
X264_CONFIGURE_ENABLE= x264
ZVBI_LIB_DEPENDS= libzvbi.so:${PORTSDIR}/devel/libzvbi
Index: multimedia/x264/Makefile
===================================================================
--- multimedia/x264/Makefile (revision 348657)
+++ multimedia/x264/Makefile (working copy)
@@ -3,7 +3,6 @@
PORTNAME= x264
PORTVERSION= 0.${X264_BUILD}.${X264_REV}
-PORTREVISION= 3
CATEGORIES= multimedia
MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ \
http://samples.mplayerhq.hu/yuv4mpeg2/:pgo
@@ -19,12 +18,13 @@
BUILD_DEPENDS= yasm>=0.6.0:${PORTSDIR}/devel/yasm \
${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash
+LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
-X264_BUILD= 136
-X264_REV= 2358
-X264_COMMIT= 3361d59a0a83dcb8b321cc0eb8e6ba68ca49c7d4
+X264_BUILD= 140
+X264_REV= 2380
+X264_COMMIT= de0bc3697eeb260d73f96c3da2102389a33e6d4a
X264_GITVER= ${X264_COMMIT:C/^(.......).*$/\1/g}
-X264_SNAPSHOT= 20130827
+X264_SNAPSHOT= 20140214
USES= gmake
USE_BZIP2= yes
@@ -32,18 +32,18 @@
USE_LDCONFIG= yes
HAS_CONFIGURE= yes
-OPTIONS_DEFINE= ASM DEBUG HI10P PGO GCC GPAC X11_OUTPUT
-OPTIONS_DEFAULT= ASM GPAC
+OPTIONS_DEFINE= ASM DEBUG PGO GCC GPAC LAVF
+OPTIONS_DEFAULT= ASM GPAC LAVF
ASM_DESC= Enable Assembly Optimizations
GCC_DESC= Use current GCC
-HI10P_DESC= Enable High 10 Profile 10-bit encoding
GPAC_DESC= Enable MPEG-4 Output
-X11_OUTPUT_DESC= Enable X11 Output
+LAVF_DESC= Enable lavf support
CONFIGURE_ARGS+= --extra-cflags="-I${LOCALBASE}/include" \
--extra-ldflags="-L${LOCALBASE}/lib" \
--enable-static --enable-shared \
- --disable-opencl
+ --disable-opencl \
+ --system-libx264
PLIST_SUB+= X264_BUILD=${X264_BUILD}
@@ -59,10 +59,6 @@
CONFIGURE_ARGS+= --disable-asm
.endif
-.if ${PORT_OPTIONS:MHI10P}
-CONFIGURE_ARGS+= --bit-depth=10
-.endif
-
.if ${PORT_OPTIONS:MDEBUG} || defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug
.endif
@@ -93,9 +89,13 @@
CONFIGURE_ARGS+= --disable-gpac
.endif
-.if ${PORT_OPTIONS:MX11_OUTPUT}
-CONFIGURE_ARGS+= --enable-visualize
-USE_XORG= x11
+.if ${PORT_OPTIONS:MLAVF}
+LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libavformat.so:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libavutil.so:${PORTSDIR}/multimedia/ffmpeg
+LIB_DEPENDS+= libswscale.so:${PORTSDIR}/multimedia/ffmpeg
+.else
+CONFIGURE_ARGS+= --disable-swscale
.endif
post-extract:
@@ -109,7 +109,11 @@
s|/bin/bash|${LOCALBASE}/bin/bash|; \
s|gpac_static|gpac|g' \
${WRKSRC}/configure
- @${REINPLACE_CMD} -e 's|bash|sh|' ${WRKSRC}/version.sh
+ @${REINPLACE_CMD} -e 's|bash|sh|; \
+ s|VER="x"|VER="${X264_REV} ${X264_GITVER}"|; \
+ s|VERSION=""|VERSION=" r${X264_REV} ${X264_GITVER}"|' \
+ ${WRKSRC}/version.sh
+
@${REINPLACE_CMD} -e 's|$$(libdir)/pkgconfig|${PREFIX}/libdata/pkgconfig|; \
s|$${libdir}/pkgconfig|${PREFIX}/libdata/pkgconfig|' \
${WRKSRC}/Makefile
Index: multimedia/x264/distinfo
===================================================================
--- multimedia/x264/distinfo (revision 348657)
+++ multimedia/x264/distinfo (working copy)
@@ -1,4 +1,4 @@
-SHA256 (x264/x264-snapshot-20130827-2245-stable.tar.bz2) = 5e418d6bb0fa8aebd503f7c6298ef0ee007ae8f066811d5427c28edc4a0304ef
-SIZE (x264/x264-snapshot-20130827-2245-stable.tar.bz2) = 619606
+SHA256 (x264/x264-snapshot-20140214-2245-stable.tar.bz2) = e8faf089d715acc781d0d6bf47ade6a7554371b64d3213b7bb9947f26928a246
+SIZE (x264/x264-snapshot-20140214-2245-stable.tar.bz2) = 627329
SHA256 (x264/example.y4m.bz2) = a5bec9d37362bd9d7773fbd0644643f9ec096d654d20823004e88d5df32bbff7
SIZE (x264/example.y4m.bz2) = 4910029
Index: multimedia/x264/pkg-plist
===================================================================
--- multimedia/x264/pkg-plist (revision 348657)
+++ multimedia/x264/pkg-plist (working copy)
@@ -1,7 +1 @@
bin/x264
-include/x264.h
-include/x264_config.h
-lib/libx264.a
-lib/libx264.so
-lib/libx264.so.%%X264_BUILD%%
-libdata/pkgconfig/x264.pc
Index: net/opal/Makefile
===================================================================
--- net/opal/Makefile (revision 348657)
+++ net/opal/Makefile (working copy)
@@ -3,7 +3,7 @@
PORTNAME= opal
PORTVERSION= 3.10.10
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net
MASTER_SITES= GNOME
@@ -143,7 +143,7 @@
.endif
.if ${PORT_OPTIONS:MX264} && ${PORT_OPTIONS:MFFMPEG}
-LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264
+LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/libx264
CONFIGURE_ARGS+= --enable-x264
PLIST_SUB+= X264=""
WITH_VIDEO= yes
Index: x11/xpra/Makefile
===================================================================
--- x11/xpra/Makefile (revision 348657)
+++ x11/xpra/Makefile (working copy)
@@ -3,6 +3,7 @@
PORTNAME= xpra
PORTVERSION= 0.11.2
+PORTREVISION= 1
CATEGORIES= x11
MASTER_SITES= http://xpra.org/src/
@@ -21,7 +22,7 @@
setxkbmap:${PORTSDIR}/x11/setxkbmap \
pulseaudio:${PORTSDIR}/audio/pulseaudio \
ssh-askpass:${PORTSDIR}/security/openssh-askpass
-LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264 \
+LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264 \
libavcodec.so:${PORTSDIR}/multimedia/ffmpeg \
libvpx.so:${PORTSDIR}/multimedia/libvpx
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list