aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2012-08-23 03:47:15 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2012-08-23 03:47:15 +0000
commitc0452c625763f497a693e093502a2f3603bf1f12 (patch)
tree50b0cb6eef8eb467b21718fcbb1bba84bf51705a /multimedia
parentfbdf0baff1cba6b7cf9b6d7b40b7e914f5a171fc (diff)
Notes
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/handbrake/Makefile166
-rw-r--r--multimedia/handbrake/distinfo66
-rw-r--r--multimedia/handbrake/files/patch-build_contrib_x264_x264_common_cpu.c29
-rw-r--r--multimedia/handbrake/files/patch-build_contrib_x264_x264_configure98
-rw-r--r--multimedia/handbrake/files/patch-contrib-Jamfile34
-rw-r--r--multimedia/handbrake/files/patch-contrib-libavformat-udp.c10
-rw-r--r--multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs11
-rw-r--r--multimedia/handbrake/files/patch-contrib_fontconfig_module.defs11
-rw-r--r--multimedia/handbrake/files/patch-contrib_freetype_module.defs8
-rw-r--r--multimedia/handbrake/files/patch-contrib_libass_module.defs10
-rw-r--r--multimedia/handbrake/files/patch-libhb-fifo.c13
-rw-r--r--multimedia/handbrake/files/patch-libhb_module.defs12
-rw-r--r--multimedia/handbrake/files/patch-make_configure.py31
-rw-r--r--multimedia/handbrake/files/patch-make_include_contrib.defs22
-rw-r--r--multimedia/handbrake/files/patch-make_include_select.defs10
-rw-r--r--multimedia/handbrake/files/patch-test_module.defs23
-rw-r--r--multimedia/handbrake/pkg-descr22
17 files changed, 396 insertions, 180 deletions
diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile
index 87a3496c21c2..09ceb2d9f995 100644
--- a/multimedia/handbrake/Makefile
+++ b/multimedia/handbrake/Makefile
@@ -6,114 +6,112 @@
#
PORTNAME= handbrake
-PORTVERSION= 0.9.3
-PORTREVISION= 1
+PORTVERSION= 0.9.8
CATEGORIES= multimedia
-MASTER_SITES= LOCAL/beech/handbrake/:main \
- LOCAL/beech/handbrake/:contrib
-DISTFILES= HandBrake-${PORTVERSION}.tar.gz:main \
+MASTER_SITES= SF/${PORTNAME}/${PORTVERSION} \
+ http://download.handbrake.fr/handbrake/contrib/:contrib
+DISTFILES= HandBrake-${PORTVERSION}.tar.bz2 \
a52dec-0.7.4.tar.gz:contrib \
- faad2-2.6.1.tar.gz:contrib \
- ffmpeg-r15462.tar.gz:contrib \
- libdca-r81-strapped.tar.gz:contrib \
- libdvdread-0.9.7.tar.gz:contrib \
- faac-1.26.tar.gz:contrib \
+ faac-1.28.tar.gz:contrib \
+ faad2-2.7.tar.gz:contrib \
+ ffmpeg-v0.7-1696-gcae4f4b.tar.bz2:contrib \
+ fontconfig-2.8.0.tar.gz:contrib \
+ freetype-2.4.7.tar.bz2:contrib \
lame-3.98.tar.gz:contrib \
- libmp4v2-r45.tar.gz:contrib \
- libmkv-0.6.3.tar.gz:contrib \
- mpeg2dec-0.5.1.tar.gz:contrib \
- libogg-1.1.3.tar.gz:contrib \
+ libass-0.10.0-1.tar.gz:contrib \
+ libbluray-0.0.1-pre-213-ga869da8.tar.gz:contrib \
+ libdca-r81-strapped.tar.gz:contrib \
+ libdvdnav-svn1168.tar.gz:contrib \
+ libdvdread-svn1168.tar.gz:contrib \
+ libmkv-0.6.5-0-g82075ae.tar.gz:contrib \
+ libogg-1.3.0.tar.gz:contrib \
libsamplerate-0.1.4.tar.gz:contrib \
- libvorbis-aotuv_b5.tar.gz:contrib \
- libtheora-1.0.tar.gz:contrib \
- x264-r1028-83baa7f.tar.gz:contrib \
- xvidcore-1.1.3.tar.gz:contrib
-DIST_SUBDIR= handbrake
+ libtheora-1.1.0.tar.bz2:contrib \
+ libvorbis-aotuv_b6.03.tar.bz2:contrib \
+ libxml2-2.7.7.tar.gz:contrib \
+ mp4v2-trunk-r355.tar.bz2:contrib \
+ mpeg2dec-0.5.1.tar.gz:contrib \
+ x264-r2146-bcd41db.tar.gz:contrib
+DIST_SUBDIR= ${PORTNAME}
MAINTAINER= ports@FreeBSD.org
-COMMENT= Open-source, multiplatform, multithreaded video transcoder
+COMMENT= Versatile DVD ripper and video transcoder
-BUILD_DEPENDS= jam:${PORTSDIR}/devel/jam
-LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2
+LICENSE= GPLv2
-USE_GMAKE= yes
-USE_PKGCONFIG= yes
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm
+LIB_DEPENDS= fribidi:${PORTSDIR}/converters/fribidi
USE_AUTOTOOLS= libtool aclocal
-
LIBTOOLFILES= configure
+USE_GMAKE= yes
+USE_PYTHON_BUILD= yes
WRKSRC= ${WRKDIR}/HandBrake-${PORTVERSION}
-PLIST_FILES= bin/handbrake
+PLIST_FILES= bin/HandBrakeCLI
+
+CONFIGURE_ARGS= --force --disable-gtk
+CONFIGURE_TARGET= build
-ONLY_FOR_ARCHS= i386
+BUILD_WRKSRC= ${WRKSRC}/build
+MAKEFILE= GNUmakefile
+ALL_TARGET= #
-JAM?= ${LOCALBASE}/bin/jam
-APPLY?= /usr/bin/apply
+NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264
.include <bsd.port.pre.mk>
-# nasm/yasm is needed for x264
-.if ${ARCH} == "i386"
-BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
-.else
-BUILD_DEPENDS+= yasm>=0.6.0:${PORTSDIR}/devel/yasm
+# Recent binutils are required to handle inline SSSE3 asm (in x264)
+.if ${OSVERSION} < 802509 || ${OSVERSION} >= 900000 && ${OSVERSION} < 900033
+BUILD_DEPENDS+= as:${PORTSDIR}/devel/binutils
+CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin
+MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin
.endif
-CONFIGURE_ENV+= PKG_CONFIG_PATH=${WRKSRC}/contrib/lib/pkgconfig
-MAKE_ENV+= ARCH=${ARCH} MAKE=${GMAKE}
-
run-autotools-aclocal:
-
-post-extract:
- @${APPLY} "${MV} %1 ${WRKSRC}/contrib/" \
- ${WRKDIR}/a52dec \
- ${WRKDIR}/faad2 \
- ${WRKDIR}/ffmpeg \
- ${WRKDIR}/libdca \
- ${WRKDIR}/libdvdread \
- ${WRKDIR}/faac \
- ${WRKDIR}/lame \
- ${WRKDIR}/libmp4v2 \
- ${WRKDIR}/libmkv \
- ${WRKDIR}/mpeg2dec \
- ${WRKDIR}/libogg \
- ${WRKDIR}/libsamplerate \
- ${WRKDIR}/libvorbis \
- ${WRKDIR}/libtheora \
- ${WRKDIR}/x264 \
- ${WRKDIR}/xvidcore
+ @${DO_NADA}
+
+# HandBrake tries to fetch its dependencies during build phase, which is not
+# considered good in FreeBSD. Instead, we will prepare everything manually.
+post-extract: .SILENT
+# Unversioned directories can be copied in a loop
+.for d in a52dec lame libdca libdvdnav libdvdread libsamplerate mpeg2dec x264
+ ${MKDIR} ${BUILD_WRKSRC}/contrib/${d}
+ ${MV} ${WRKDIR}/${d} ${BUILD_WRKSRC}/contrib/${d}
+.endfor
+# Others had to be processed one by one due to irregular (versioned) names
+ cd ${BUILD_WRKSRC}/contrib && ${MKDIR} faac faad2 ffmpeg fontconfig \
+ freetype libass libbluray libmkv libogg libtheora libvorbis \
+ libxml2 mp4v2
+ ${MV} ${WRKDIR}/faac-1.28 ${BUILD_WRKSRC}/contrib/faac
+ ${MV} ${WRKDIR}/faad2-2.7 ${BUILD_WRKSRC}/contrib/faad2
+ ${MV} ${WRKDIR}/ffmpeg-v0.7-1696-gcae4f4b \
+ ${BUILD_WRKSRC}/contrib/ffmpeg
+ ${MV} ${WRKDIR}/fontconfig-2.8.0 ${BUILD_WRKSRC}/contrib/fontconfig
+ ${MV} ${WRKDIR}/freetype-2.4.7 ${BUILD_WRKSRC}/contrib/freetype
+ ${MV} ${WRKDIR}/libass-0.10.0-1 ${BUILD_WRKSRC}/contrib/libass
+ ${MV} ${WRKDIR}/libbluray-0.0.1-pre-213-ga869da8 \
+ ${BUILD_WRKSRC}/contrib/libbluray
+ ${MV} ${WRKDIR}/libmkv-0.6.5-0-g82075ae ${BUILD_WRKSRC}/contrib/libmkv
+ ${MV} ${WRKDIR}/libogg-1.3.0 ${BUILD_WRKSRC}/contrib/libogg
+ ${MV} ${WRKDIR}/libtheora-1.1.0 ${BUILD_WRKSRC}/contrib/libtheora
+ ${MV} ${WRKDIR}/aotuv-b6.03_20110424 ${BUILD_WRKSRC}/contrib/libvorbis
+ ${MV} ${WRKDIR}/libxml2-2.7.7 ${BUILD_WRKSRC}/contrib/libxml2
+ ${MV} ${WRKDIR}/mp4v2-trunk-r355 ${BUILD_WRKSRC}/contrib/mp4v2
+# Remove one patch file that does not apply cleanly
+ ${RM} ${WRKSRC}/contrib/fontconfig/A00-config.patch
post-patch:
- @${REINPLACE_CMD} -e 's|machine/soundcard.h|sys/soundcard.h|g' \
- ${WRKSRC}/contrib/a52dec/libao/audio_out_oss.c
-# Remove the ports extraction code as it has already been done in post-extract:
-# Fix a hardcoded "make" so gmake is used properly
-# Remove a hardcoded "bash"
- @${REINPLACE_CMD} -E \
- -e 's|rm -rf [a-z0-9.-]* &&||g' \
- -e 's|\(gzip.*-) &&||g' \
- -e 's|\(gzip.*- ) &&||g' \
- -e 's| make | $$(MAKE) |g' \
- -e 's|bash ||g' \
- ${WRKSRC}/contrib/Jamfile
-# Following multimedia/x264 replace X86 with i386 and X86_64 with amd64
-# This appears to be an issue only when building within the ports system
- @${REINPLACE_CMD} -E 's|,X86)|,i386)|g ; s|,X86_64)|,amd64)|g' \
- ${WRKSRC}/contrib/x264/Makefile
-# The following patch fixes CPU count detection
- @${REINPLACE_CMD} -E 's|/usr/sbin/sysctl|/sbin/sysctl|g' \
- ${WRKSRC}/libhb/ports.c
-# Set release version so we don't depend on subversion
- @${REINPLACE_CMD} -E 's|`svnversion`|0.9.3_freebsd-ports|g' \
- ${WRKSRC}/configure
- @${REINPLACE_CMD} -E 's|\$$\(HB_VERSION\)|0.9.3_freebsd-ports|g' \
- ${WRKSRC}/Makefile
-
-do-build:
- @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${JAM} -q)
+ @${REINPLACE_CMD} -e 's|machine/soundcard|sys/soundcard|' \
+ ${BUILD_WRKSRC}/contrib/a52dec/a52dec/libao/audio_out_oss.c
+ @${REINPLACE_CMD} -e 's|-ldl|-lc| ; s|\[dl\]|[c]|' \
+ ${BUILD_WRKSRC}/contrib/libbluray/libbluray-0.0.1-pre-213-ga869da8/configure.ac
+ @${REINPLACE_CMD} -e 's|<malloc|<stdlib|' ${WRKSRC}/libhb/fifo.c
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
+ ${WRKSRC}/contrib/libass/module.defs \
+ ${WRKSRC}/libhb/module.defs ${WRKSRC}/test/module.defs
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/HandBrakeCLI ${PREFIX}/bin/handbrake
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/HandBrakeCLI ${PREFIX}/bin
.include <bsd.port.post.mk>
diff --git a/multimedia/handbrake/distinfo b/multimedia/handbrake/distinfo
index 3ddbd43c980b..4c9ea6e2a53a 100644
--- a/multimedia/handbrake/distinfo
+++ b/multimedia/handbrake/distinfo
@@ -1,34 +1,44 @@
-SHA256 (handbrake/HandBrake-0.9.3.tar.gz) = 2a776ded48285648aedaa73dd90997a0648473a2d9932203b931e7ef54393d30
-SIZE (handbrake/HandBrake-0.9.3.tar.gz) = 2067663
+SHA256 (handbrake/HandBrake-0.9.8.tar.bz2) = dba75a9ff772e419c01d75532c1bf0d7253e73d7ead184eee755cd4c133dc798
+SIZE (handbrake/HandBrake-0.9.8.tar.bz2) = 3156964
SHA256 (handbrake/a52dec-0.7.4.tar.gz) = 54981ab08fc09a675b9924372cf0cca5aa5363b918c4c19065c2d40e2858be47
SIZE (handbrake/a52dec-0.7.4.tar.gz) = 242978
-SHA256 (handbrake/faad2-2.6.1.tar.gz) = f86eb8d089150c92547721136cae7d228924a085a59fbf7b5af3da625acdb25c
-SIZE (handbrake/faad2-2.6.1.tar.gz) = 849708
-SHA256 (handbrake/ffmpeg-r15462.tar.gz) = 28d2ef1414fa49f5d10d90234b9a06855561f8231a816ef4c060a1aea069eefc
-SIZE (handbrake/ffmpeg-r15462.tar.gz) = 3154052
-SHA256 (handbrake/libdca-r81-strapped.tar.gz) = ab2519af6c2f12411a2bd674b83615af9b0d5fb09f28ad5dab714ea1bfab9df1
-SIZE (handbrake/libdca-r81-strapped.tar.gz) = 523282
-SHA256 (handbrake/libdvdread-0.9.7.tar.gz) = 18cf0ee3887264f09f2e23672923aec821ae9b806415ae0d78d0e310c1304c1f
-SIZE (handbrake/libdvdread-0.9.7.tar.gz) = 388570
-SHA256 (handbrake/faac-1.26.tar.gz) = 4b48e2e22267e9260365c7bee4513bf13d262b8b13cf7f9504e9fa612b6aa951
-SIZE (handbrake/faac-1.26.tar.gz) = 400915
+SHA256 (handbrake/faac-1.28.tar.gz) = c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df
+SIZE (handbrake/faac-1.28.tar.gz) = 678891
+SHA256 (handbrake/faad2-2.7.tar.gz) = ee26ed1e177c0cd8fa8458a481b14a0b24ca0b51468c8b4c8b676fd3ceccd330
+SIZE (handbrake/faad2-2.7.tar.gz) = 1137407
+SHA256 (handbrake/ffmpeg-v0.7-1696-gcae4f4b.tar.bz2) = f39b2ea8f47db9c84c9bb091707312cd19b927d8f4a957c20222add1a5dd2497
+SIZE (handbrake/ffmpeg-v0.7-1696-gcae4f4b.tar.bz2) = 4242565
+SHA256 (handbrake/fontconfig-2.8.0.tar.gz) = fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335
+SIZE (handbrake/fontconfig-2.8.0.tar.gz) = 1548409
+SHA256 (handbrake/freetype-2.4.7.tar.bz2) = ba22620479954582371286268ef75e6e932c0270ee67d6797bbf3ed9d31a5d77
+SIZE (handbrake/freetype-2.4.7.tar.bz2) = 1490543
SHA256 (handbrake/lame-3.98.tar.gz) = 40235e84dfe4760ad3f352590a64b7bda1502a386c97d06229df356426e37686
SIZE (handbrake/lame-3.98.tar.gz) = 1411318
-SHA256 (handbrake/libmp4v2-r45.tar.gz) = 137cbc22c368c85fcbee8460605d93350044bc4c1a6f781e8d84357ce5f6afe1
-SIZE (handbrake/libmp4v2-r45.tar.gz) = 461723
-SHA256 (handbrake/libmkv-0.6.3.tar.gz) = 3ad2aee66e26987b3cad63620d84661bd149a8a70e0350f0d762f153f58c68b7
-SIZE (handbrake/libmkv-0.6.3.tar.gz) = 341121
-SHA256 (handbrake/mpeg2dec-0.5.1.tar.gz) = 161539061aa89864968a5150ed6c6a028a830c4868f7dd7c500732baef47fb71
-SIZE (handbrake/mpeg2dec-0.5.1.tar.gz) = 522405
-SHA256 (handbrake/libogg-1.1.3.tar.gz) = 645676dd006c8424fde52df2edd0f52d6402b12c563b50c46e9540083241d50c
-SIZE (handbrake/libogg-1.1.3.tar.gz) = 401303
+SHA256 (handbrake/libass-0.10.0-1.tar.gz) = a0c652f4a5c1bfd58cd47ff627fff2dfbd471b40f765aa96fd1b251c0058b867
+SIZE (handbrake/libass-0.10.0-1.tar.gz) = 745314
+SHA256 (handbrake/libbluray-0.0.1-pre-213-ga869da8.tar.gz) = 4aa7127201a5d3d4148d99c37c7701ede6e0707456dacc8a59464dc68e231b76
+SIZE (handbrake/libbluray-0.0.1-pre-213-ga869da8.tar.gz) = 241927
+SHA256 (handbrake/libdca-r81-strapped.tar.gz) = ab2519af6c2f12411a2bd674b83615af9b0d5fb09f28ad5dab714ea1bfab9df1
+SIZE (handbrake/libdca-r81-strapped.tar.gz) = 523282
+SHA256 (handbrake/libdvdnav-svn1168.tar.gz) = 7cf4ff6ab0b5d3db3c300fc3cdb24e1ad59f22dd90352df075a604bc698d01c7
+SIZE (handbrake/libdvdnav-svn1168.tar.gz) = 1844832
+SHA256 (handbrake/libdvdread-svn1168.tar.gz) = a489b618962e31a2b151b2e6d7b0c3fcb42cccc196ec7cb352c559898c3f1f1e
+SIZE (handbrake/libdvdread-svn1168.tar.gz) = 946033
+SHA256 (handbrake/libmkv-0.6.5-0-g82075ae.tar.gz) = 7314a296c68f42b826164074a96e247e52d8ef9287c21ebc5fe1bf9e73643e97
+SIZE (handbrake/libmkv-0.6.5-0-g82075ae.tar.gz) = 32742
+SHA256 (handbrake/libogg-1.3.0.tar.gz) = a8de807631014615549d2356fd36641833b8288221cea214f8a72750efe93780
+SIZE (handbrake/libogg-1.3.0.tar.gz) = 425144
SHA256 (handbrake/libsamplerate-0.1.4.tar.gz) = 4b4af3ecaee05c8875a9b113c6a2f816f06f283fb882914e57b21c0b08b67b75
SIZE (handbrake/libsamplerate-0.1.4.tar.gz) = 4259244
-SHA256 (handbrake/libvorbis-aotuv_b5.tar.gz) = 1e3c5b974e3d16a924eb0af12516a2b0b14aae24d46d32395cd997d833e84509
-SIZE (handbrake/libvorbis-aotuv_b5.tar.gz) = 1345888
-SHA256 (handbrake/libtheora-1.0.tar.gz) = 34f82b0b187ae4d8161693f396d1a4457b1bade0ee15c54a46630a2f4bfc33fc
-SIZE (handbrake/libtheora-1.0.tar.gz) = 1946620
-SHA256 (handbrake/x264-r1028-83baa7f.tar.gz) = ed36cb12f7d98b56d1ce19be22bf9c40c9aa9e46bb718e4505864294af023f83
-SIZE (handbrake/x264-r1028-83baa7f.tar.gz) = 2325933
-SHA256 (handbrake/xvidcore-1.1.3.tar.gz) = 1a4a7748e93d3a1a4033fc843d6170f803520c5844047ae75df0269a093bedb6
-SIZE (handbrake/xvidcore-1.1.3.tar.gz) = 739835
+SHA256 (handbrake/libtheora-1.1.0.tar.bz2) = 74be9fe9f85d18c45bdcbb018cebf12c74e2234aeecb4d4c4cb92d80bdd287e2
+SIZE (handbrake/libtheora-1.1.0.tar.bz2) = 1785634
+SHA256 (handbrake/libvorbis-aotuv_b6.03.tar.bz2) = 95455420f07e4b3abdf32bda9f5921e9ed3f1afdc3739098dc090150a42fd7fd
+SIZE (handbrake/libvorbis-aotuv_b6.03.tar.bz2) = 1250659
+SHA256 (handbrake/libxml2-2.7.7.tar.gz) = af5b781418ba4fff556fa43c50086658ea8a2f31909c2b625c2ce913a1d9eb68
+SIZE (handbrake/libxml2-2.7.7.tar.gz) = 4868502
+SHA256 (handbrake/mp4v2-trunk-r355.tar.bz2) = 5b7d4e62df506b1246463da82cc2f02415eb462e6ccd5848f98f5cdcfc1f3d4f
+SIZE (handbrake/mp4v2-trunk-r355.tar.bz2) = 475488
+SHA256 (handbrake/mpeg2dec-0.5.1.tar.gz) = 161539061aa89864968a5150ed6c6a028a830c4868f7dd7c500732baef47fb71
+SIZE (handbrake/mpeg2dec-0.5.1.tar.gz) = 522405
+SHA256 (handbrake/x264-r2146-bcd41db.tar.gz) = 7b3d0ad309426ad49ff21df4d2ee5553b5769bc2bf2b7ae50f37f5fc72d190b1
+SIZE (handbrake/x264-r2146-bcd41db.tar.gz) = 656089
diff --git a/multimedia/handbrake/files/patch-build_contrib_x264_x264_common_cpu.c b/multimedia/handbrake/files/patch-build_contrib_x264_x264_common_cpu.c
new file mode 100644
index 000000000000..878e8517567e
--- /dev/null
+++ b/multimedia/handbrake/files/patch-build_contrib_x264_x264_common_cpu.c
@@ -0,0 +1,29 @@
+--- ./build/contrib/x264/x264/common/cpu.c.orig 2010-12-14 15:00:07.000000000 -0500
++++ ./build/contrib/x264/x264/common/cpu.c 2011-05-24 05:50:46.053810885 -0400
+@@ -237,7 +237,7 @@
+
+ #elif ARCH_PPC
+
+-#if SYS_MACOSX || SYS_OPENBSD
++#if SYS_MACOSX || SYS_OPENBSD || SYS_FREEBSD
+ #include <sys/sysctl.h>
+ uint32_t x264_cpu_detect( void )
+ {
+@@ -245,12 +245,16 @@
+ uint32_t cpu = 0;
+ #if SYS_OPENBSD
+ int selectors[2] = { CTL_MACHDEP, CPU_ALTIVEC };
+-#else
++#elif SYS_MACOSX
+ int selectors[2] = { CTL_HW, HW_VECTORUNIT };
+ #endif
+ int has_altivec = 0;
+ size_t length = sizeof( has_altivec );
++#if SYS_MACOSX || SYS_OPENBSD
+ int error = sysctl( selectors, 2, &has_altivec, &length, NULL, 0 );
++#else
++ int error = sysctlbyname("hw.altivec", &has_altivec, &length, NULL, 0 );
++#endif
+
+ if( error == 0 && has_altivec != 0 )
+ cpu |= X264_CPU_ALTIVEC;
diff --git a/multimedia/handbrake/files/patch-build_contrib_x264_x264_configure b/multimedia/handbrake/files/patch-build_contrib_x264_x264_configure
new file mode 100644
index 000000000000..82993b845bdb
--- /dev/null
+++ b/multimedia/handbrake/files/patch-build_contrib_x264_x264_configure
@@ -0,0 +1,98 @@
+--- ./build/contrib/x264/x264/configure.orig 2012-01-19 07:48:34.000000000 +0800
++++ ./build/contrib/x264/x264/configure 2012-08-23 09:37:56.000000000 +0800
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
+ cat <<EOF
+@@ -75,8 +75,8 @@
+ # Intel Compiler issues an incredibly large number of warnings on any warning level,
+ # suppress them by disabling all warnings rather than having to use #pragmas to disable most of them
+ for arg in $*; do
+- [ $arg = -ffast-math ] && arg=
+- [[ "$arg" = -falign-loops* ]] && arg=
++ [ "$arg" = -ffast-math ] && arg=
++ [ -z "${arg%%-falign-loops*}" ] && arg=
+ [ "$arg" = -fno-tree-vectorize ] && arg=
+ [ "$arg" = -Wshadow ] && arg=
+ if [ $compiler = ICL ]; then
+@@ -96,7 +96,7 @@
+ icl_ldflags() {
+ for arg in $*; do
+ arg=${arg/LIBPATH/libpath}
+- [ ${arg#-libpath:} == $arg -a ${arg#-l} != $arg ] && arg=${arg#-l}.lib
++ [ ${arg#-libpath:} = $arg -a ${arg#-l} != $arg ] && arg=${arg#-l}.lib
+ [ ${arg#-L} != $arg ] && arg=-libpath:${arg#-L}
+ [ $arg = -Wl,--large-address-aware ] && arg=-largeaddressaware
+ [ $arg = -s ] && arg=
+@@ -396,10 +396,10 @@
+ host_os="${host#*-}"
+
+ # test for use of Intel Compiler
+-if [[ $host_os = mingw* || $host_os = cygwin* ]]; then
+- if [[ `basename "$CC"` = icl* ]]; then
++if [ -z "${host_os%%mingw*}" -o -z "${host_os%%cygwin*}" ]; then
++ if [ "${CC%%icl*}" != "${CC}" ]; then
+ # Windows Intel Compiler creates dependency generation with absolute Windows paths, Cygwin's make does not support Windows paths.
+- [[ $host_os = cygwin* ]] && die "Windows Intel Compiler support requires MSYS"
++ [ -z "${host_os%%cygwin*}" ] && die "Windows Intel Compiler support requires MSYS"
+ compiler=ICL
+ CFLAGS="$CFLAGS -Qstd=c99 -nologo -Qms0 -DHAVE_STRING_H -Iextras"
+ QPRE="-Q"
+@@ -408,7 +408,7 @@
+ cpp_check "" "" "_MSC_VER >= 1400" || die "Windows Intel Compiler support requires Visual Studio 2005 or newer"
+ fi
+ else
+- if [[ `basename "$CC"` = icc* ]]; then
++ if [ "${CC%%icc*}" != "${CC}" ]; then
+ AR="xiar"
+ compiler=ICC
+ QPRE="-"
+@@ -496,11 +496,15 @@
+ AS="yasm"
+ ASFLAGS="$ASFLAGS -O2"
+ if [ $compiler = GNU ]; then
+- if [[ "$asm" == auto && "$CFLAGS" != *-march* ]]; then
+- CFLAGS="$CFLAGS -march=i686"
+- fi
+- if [[ "$asm" == auto && "$CFLAGS" != *-mfpmath* ]]; then
+- CFLAGS="$CFLAGS -mfpmath=sse -msse"
++ if [ "$asm" = yes ]; then
++ case "$CFLAGS" in
++ *-march*) ;;
++ *) CFLAGS="$CFLAGS -march=i686" ;;
++ esac
++ case "$CFLAGS" in
++ *-mfpmath*) ;;
++ *) CFLAGS="$CFLAGS -mfpmath=sse -msse" ;;
++ esac
+ fi
+ else
+ # icc on linux has various degrees of mod16 stack support
+@@ -526,7 +530,7 @@
+ ASFLAGS="$ASFLAGS -f elf"
+ fi
+ ;;
+- x86_64)
++ x86_64|amd64)
+ ARCH="X86_64"
+ AS="yasm"
+ if [ "$SYS" = MACOSX ]; then
+@@ -990,7 +994,7 @@
+ # generate exported config file
+
+ config_chroma_format="X264_CSP_I$chroma_format"
+-[ "$config_chroma_format" == "X264_CSP_Iall" ] && config_chroma_format="0"
++[ "$config_chroma_format" = "X264_CSP_Iall" ] && config_chroma_format="0"
+ cat > x264_config.h << EOF
+ #define X264_BIT_DEPTH $bit_depth
+ #define X264_GPL $x264_gpl
+--- ./build/contrib/x264/x264/version.sh.orig 2012-01-19 07:48:34.000000000 +0800
++++ ./build/contrib/x264/x264/version.sh 2012-08-22 12:00:27.000000000 +0800
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ [ -n "$1" ] && cd $1
+ git rev-list HEAD | sort > config.git-hash
+ LOCALVER=`wc -l config.git-hash | awk '{print $1}'`
diff --git a/multimedia/handbrake/files/patch-contrib-Jamfile b/multimedia/handbrake/files/patch-contrib-Jamfile
deleted file mode 100644
index 35d349f69d54..000000000000
--- a/multimedia/handbrake/files/patch-contrib-Jamfile
+++ /dev/null
@@ -1,34 +0,0 @@
---- contrib/Jamfile.orig 2008-11-28 10:27:18.908822069 -0500
-+++ contrib/Jamfile 2008-11-28 10:27:21.787542159 -0500
-@@ -34,9 +34,10 @@
- }
- actions Wget
- {
-- $(RM) $(<) &&
-- $(WGET) $(<) `cat $(>)` &&
-- ( touch $(<) || true )
-+# $(RM) $(<) &&
-+# $(WGET) $(<) `cat $(>)` &&
-+# ( touch $(<) || true )
-+ true
- }
-
- # liba52
-@@ -99,6 +100,16 @@
- FFMPEG_EXTRA_OPTIONS = "--disable-vis --disable-demuxer=mpc8 --disable-vhook --disable-network" ;
- }
-
-+ if $(OS) = FREEBSD
-+ {
-+ #
-+ # Not all of ffmpeg works on FreeBSD - disable the bits that
-+ # don't. When we get new versions of FFMPEG we can try enabling
-+ # them again.
-+ #
-+ FFMPEG_EXTRA_OPTIONS = "--disable-devices" ;
-+ }
-+
- Depends $(<) : $(>) ;
- Depends lib : $(<) ;
- }
-
diff --git a/multimedia/handbrake/files/patch-contrib-libavformat-udp.c b/multimedia/handbrake/files/patch-contrib-libavformat-udp.c
deleted file mode 100644
index 7a44a09e0633..000000000000
--- a/multimedia/handbrake/files/patch-contrib-libavformat-udp.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- contrib/ffmpeg/libavformat/udp.c.orig 2008-11-28 11:10:53.217812028 -0500
-+++ contrib/ffmpeg/libavformat/udp.c 2008-11-28 11:11:20.566271071 -0500
-@@ -29,6 +29,7 @@
- #include <unistd.h>
- #include "network.h"
- #include "os_support.h"
-+#define IPPROTO_IPV6 41 /* IP6 header */
-
- #ifndef IPV6_ADD_MEMBERSHIP
- #define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
diff --git a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs
new file mode 100644
index 000000000000..f7a0aab7cd99
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs
@@ -0,0 +1,11 @@
+--- ./contrib/ffmpeg/module.defs.orig 2010-11-10 11:51:35.000000000 -0500
++++ ./contrib/ffmpeg/module.defs 2011-05-24 05:51:19.600807346 -0400
+@@ -43,6 +43,8 @@
+ --arch=i386 \
+ --enable-cross-compile --cross-prefix=$(BUILD.cross.prefix)
+ FFMPEG.GCC.args.extra += -fno-common
++else ifeq (freebsd,$(BUILD.system))
++ FFMPEG.CONFIGURE.extra += --enable-pthreads --disable-devices
+ else
+ FFMPEG.CONFIGURE.extra += --enable-pthreads
+ endif
diff --git a/multimedia/handbrake/files/patch-contrib_fontconfig_module.defs b/multimedia/handbrake/files/patch-contrib_fontconfig_module.defs
new file mode 100644
index 000000000000..7e5b81140377
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib_fontconfig_module.defs
@@ -0,0 +1,11 @@
+--- ./contrib/fontconfig/module.defs.orig 2010-09-28 18:10:49.000000000 -0400
++++ ./contrib/fontconfig/module.defs 2011-05-24 05:50:46.060808283 -0400
+@@ -19,6 +19,8 @@
+ FONTCONFIG.config_archoption = --with-arch=i386
+ else ifeq ($(BUILD.system),linux)
+ FONTCONFIG.cc_archoption =
++else ifeq ($(BUILD.system),freebsd)
++ FONTCONFIG.cc_archoption =
+ else
+ FONTCONFIG.cc_archoption = -arch $(FONTCONFIG.GCC.archs)
+ FONTCONFIG.config_archoption = --with-arch=$(FONTCONFIG.GCC.archs)
diff --git a/multimedia/handbrake/files/patch-contrib_freetype_module.defs b/multimedia/handbrake/files/patch-contrib_freetype_module.defs
new file mode 100644
index 000000000000..439375baea86
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib_freetype_module.defs
@@ -0,0 +1,8 @@
+--- ./contrib/freetype/module.defs.orig 2010-09-28 18:10:49.000000000 -0400
++++ ./contrib/freetype/module.defs 2011-05-24 05:50:46.062809316 -0400
+@@ -3,3 +3,5 @@
+
+ FREETYPE.FETCH.url = http://download.m0k.org/handbrake/contrib/freetype-2.3.9.tar.gz
+ FREETYPE.EXTRACT.tarbase = freetype-2.3.9
++FREETYPE.CONFIGURE.env.GNUMAKE = GNUMAKE="gmake"
++FREETYPE.CONFIGURE.env.args += !GNUMAKE
diff --git a/multimedia/handbrake/files/patch-contrib_libass_module.defs b/multimedia/handbrake/files/patch-contrib_libass_module.defs
new file mode 100644
index 000000000000..0f270f8062a8
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib_libass_module.defs
@@ -0,0 +1,10 @@
+--- ./contrib/libass/module.defs.orig 2010-09-28 18:10:49.000000000 -0400
++++ ./contrib/libass/module.defs 2011-05-24 05:50:46.096807667 -0400
+@@ -10,6 +10,6 @@
+ LIBASS.CONFIGURE.extra = \
+ --disable-png --disable-enca \
+ FREETYPE_LIBS="-L$(call fn.ABSOLUTE,$(CONTRIB.build/))lib -lfreetype" \
+- FREETYPE_CFLAGS="-I$(call fn.ABSOLUTE,$(CONTRIB.build/))include/freetype2" \
++ FREETYPE_CFLAGS="-I$(call fn.ABSOLUTE,$(CONTRIB.build/))include/freetype2 -I/usr/local/include" \
+ FONTCONFIG_LIBS="-L$(call fn.ABSOLUTE,$(CONTRIB.build/))lib -lfontconfig" \
+ FONTCONFIG_CFLAGS="-I$(call fn.ABSOLUTE,$(CONTRIB.build/))include"
diff --git a/multimedia/handbrake/files/patch-libhb-fifo.c b/multimedia/handbrake/files/patch-libhb-fifo.c
deleted file mode 100644
index 47ef561b47ac..000000000000
--- a/multimedia/handbrake/files/patch-libhb-fifo.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- HandBrake_old/libhb/fifo.c 2007-10-08 22:57:08.000000000 +0200
-+++ libhb/fifo.c 2007-12-04 05:55:37.000000000 +0100
-@@ -6,9 +6,7 @@
-
- #include "hb.h"
-
--#ifndef SYS_DARWIN
--#include <malloc.h>
--#endif
-+#include <stdlib.h>
-
- /* Fifo */
- struct hb_fifo_s
diff --git a/multimedia/handbrake/files/patch-libhb_module.defs b/multimedia/handbrake/files/patch-libhb_module.defs
new file mode 100644
index 000000000000..e28b7fa65550
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb_module.defs
@@ -0,0 +1,12 @@
+--- ./libhb/module.defs.orig 2010-10-23 13:21:56.000000000 -0400
++++ ./libhb/module.defs 2011-05-24 05:50:46.097808812 -0400
+@@ -47,6 +47,9 @@
+ LIBHB.c += $(wildcard $(LIBHB.src/)platform/macosx/*.c)
+ else ifeq ($(BUILD.system),linux)
+ LIBHB.GCC.D += SYS_LINUX _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
++else ifeq ($(BUILD.system),freebsd)
++ LIBHB.GCC.D += SYS_FREEBSD
++ LIBHB.GCC.I += /usr/local/include
+ else ifeq ($(BUILD.system),mingw)
+ LIBHB.GCC.D += SYS_MINGW PTW32_STATIC_LIB
+ LIBHB.GCC.args.extra.dylib++ += -Wl,--enable-auto-import -static
diff --git a/multimedia/handbrake/files/patch-make_configure.py b/multimedia/handbrake/files/patch-make_configure.py
new file mode 100644
index 000000000000..dedc48012f30
--- /dev/null
+++ b/multimedia/handbrake/files/patch-make_configure.py
@@ -0,0 +1,31 @@
+--- ./make/configure.py.orig 2011-01-03 15:32:27.000000000 -0500
++++ ./make/configure.py 2011-05-24 05:50:46.069810487 -0400
+@@ -1249,7 +1249,7 @@
+ xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', abort=False )
+ lipo = ToolProbe( 'LIPO.exe', 'lipo', abort=False )
+
+- fetch = SelectTool( 'FETCH.select', 'fetch', ['wget',wget], ['curl',curl] )
++ #fetch = SelectTool( 'FETCH.select', 'fetch', ['wget',wget], ['curl',curl] )
+
+ ## run tool probes
+ for tool in ToolProbe.tools:
+@@ -1512,16 +1512,16 @@
+ asm = ''
+ if build.match( 'i?86-*' ):
+ asm = 'x86'
+- doc.add( 'LIBHB.GCC.D', 'HAVE_MMX', append=True )
++ #doc.add( 'LIBHB.GCC.D', 'HAVE_MMX', append=True )
+ doc.add( 'LIBHB.YASM.D', 'ARCH_X86', append=True )
+ if build.match( '*-*-darwin*' ):
+ doc.add( 'LIBHB.YASM.f', 'macho32' )
+ else:
+ doc.add( 'LIBHB.YASM.f', 'elf32' )
+ doc.add( 'LIBHB.YASM.m', 'x86' )
+- elif build.match( 'x86_64-*' ):
++ elif build.match( 'amd64-*' ):
+ asm = 'x86'
+- doc.add( 'LIBHB.GCC.D', 'HAVE_MMX ARCH_X86_64', append=True )
++ #doc.add( 'LIBHB.GCC.D', 'HAVE_MMX ARCH_X86_64', append=True )
+ if build.match( '*-*-darwin*' ):
+ doc.add( 'LIBHB.YASM.D', 'ARCH_X86_64 PIC', append=True )
+ doc.add( 'LIBHB.YASM.f', 'macho64' )
diff --git a/multimedia/handbrake/files/patch-make_include_contrib.defs b/multimedia/handbrake/files/patch-make_include_contrib.defs
new file mode 100644
index 000000000000..33d27bd7e2fb
--- /dev/null
+++ b/multimedia/handbrake/files/patch-make_include_contrib.defs
@@ -0,0 +1,22 @@
+--- ./make/include/contrib.defs.orig 2010-04-25 17:15:43.000000000 -0400
++++ ./make/include/contrib.defs 2011-05-24 05:50:46.071806770 -0400
+@@ -28,7 +28,7 @@
+ $(1).FETCH.url = FETCH_IS_UNDEFINED
+ $(1).FETCH.target = $$($(1).FETCH.tar)
+ define $(1).FETCH
+- $$(call FETCH,$$@,$$($(1).FETCH.url))
++# $$(call FETCH,$$@,$$($(1).FETCH.url))
+ endef
+
+ ##
+@@ -38,8 +38,8 @@
+ $(1).EXTRACT.dir/ = $$($(1).build/)$$($(1).EXTRACT.tarbase)/
+ $(1).EXTRACT.target = $$($(1).build/).stamp.extract
+ define $(1).EXTRACT
+- $$(RM.exe) -fr $$($(1).EXTRACT.dir/)
+- $$(TAR.exe) xfC $$($(1).FETCH.tar) $$($(1).build/)
++# $$(RM.exe) -fr $$($(1).EXTRACT.dir/)
++# $$(TAR.exe) xfC $$($(1).FETCH.tar) $$($(1).build/)
+ $$(TOUCH.exe) $$@
+ endef
+
diff --git a/multimedia/handbrake/files/patch-make_include_select.defs b/multimedia/handbrake/files/patch-make_include_select.defs
new file mode 100644
index 000000000000..b692161187e7
--- /dev/null
+++ b/multimedia/handbrake/files/patch-make_include_select.defs
@@ -0,0 +1,10 @@
+--- ./make/include/select.defs.orig 2009-03-01 12:28:24.000000000 -0500
++++ ./make/include/select.defs 2011-05-24 05:50:46.073808851 -0400
+@@ -7,6 +7,6 @@
+ FETCH = $(FETCH.$(FETCH.select))
+
+ FETCH.select = MISSING
+-FETCH.MISSING = $(error one of the following tools is required: wget, curl)
++##FETCH.MISSING = $(error one of the following tools is required: wget, curl)
+ FETCH.curl = $(CURL.exe) -q -L -o $(1) $(2)
+ FETCH.wget = $(WGET.exe) -O $(1) $(2)
diff --git a/multimedia/handbrake/files/patch-test_module.defs b/multimedia/handbrake/files/patch-test_module.defs
new file mode 100644
index 000000000000..575876503e16
--- /dev/null
+++ b/multimedia/handbrake/files/patch-test_module.defs
@@ -0,0 +1,23 @@
+--- ./test/module.defs.orig 2010-09-28 18:10:49.000000000 -0400
++++ ./test/module.defs 2011-05-24 05:50:46.097808812 -0400
+@@ -10,8 +10,8 @@
+ TEST.exe = $(BUILD/)$(call TARGET.exe,$(HB.name)CLI)
+
+ TEST.libs = $(LIBHB.a) $(foreach n, \
+- a52 ass avcodec avformat avutil dca dvdnav dvdread faac fontconfig freetype mkv mpeg2 mp3lame mp4v2 \
+- ogg samplerate swscale theora vorbis vorbisenc x264 xml2 bluray, \
++ a52 ass avformat avcodec avutil dca dvdnav dvdread faac fontconfig freetype mkv mpeg2 mp3lame mp4v2 \
++ samplerate swscale theora vorbis vorbisenc ogg x264 xml2 bluray, \
+ $(CONTRIB.build/)lib/lib$(n).a )
+
+ TEST.install.exe = $(DESTDIR)$(PREFIX/)bin/$(notdir $(TEST.exe))
+@@ -50,6 +50,9 @@
+ TEST.GCC.l += iconv
+ else ifeq ($(BUILD.system),linux)
+ TEST.GCC.l += pthread dl m
++else ifeq ($(BUILD.system),freebsd)
++ TEST.GCC.l += pthread iconv
++ TEST.GCC.L += /usr/local/lib
+ else ifeq ($(BUILD.system),solaris)
+ TEST.GCC.l += pthread nsl socket
+ else ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
diff --git a/multimedia/handbrake/pkg-descr b/multimedia/handbrake/pkg-descr
index d174aae12509..ff61c44c8fb4 100644
--- a/multimedia/handbrake/pkg-descr
+++ b/multimedia/handbrake/pkg-descr
@@ -3,19 +3,19 @@ transcoder with rich selection of features.
Supported sources:
- * Any DVD-like source: VIDEO_TS folder, DVD image or real DVD
- (unencrypted: protection methods including CSS are not supported
- internally and must be handled externally with third-party software
- and libraries), and some .VOB and .TS files
- * Most any multimedia file it can get libavformat to read and
- libavcodec to decode.
+ * Most common multimedia files that libavformat and libavcodec support
+ * Any DVD or Bluray-like source which is NOT copy-protected (removal of
+ copy protection is not supported)
Outputs:
- * File format: MP4, MKV, AVI, or OGM
- * Video: MPEG-4, H.264, or Theora (1 or 2 passes or constant
- quantizer/rate encoding)
- * Audio: AAC, MP3, Vorbis or AC-3 pass-through (supports encoding
- of several audio tracks)
+ * File format: MP4 (M4V) and MKV
+ * Video: H.264 (x264), MPEG-2/MPEG-4 (ffmpeg), or Theora (libtheora)
+ * Audio: AAC, CoreAudio AAC/HE-AAC (OS X only), MP3, Flac, AC3, or Vorbis;
+ AC-3, DTS, DTS-HD, AAC, and MP3 pass-thru
+
+HandBrake also includes support for chapters, subtitles, advanced video
+filters, and more. It is also useful for making videos compatible with
+portable video devices such as the Apple iPod/iPhone.
WWW: http://handbrake.fr/