aboutsummaryrefslogtreecommitdiff
path: root/multimedia/handbrake/Makefile
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/handbrake/Makefile
parentfbdf0baff1cba6b7cf9b6d7b40b7e914f5a171fc (diff)
downloadports-c0452c625763f497a693e093502a2f3603bf1f12.tar.gz
ports-c0452c625763f497a693e093502a2f3603bf1f12.zip
Notes
Diffstat (limited to 'multimedia/handbrake/Makefile')
-rw-r--r--multimedia/handbrake/Makefile166
1 files changed, 82 insertions, 84 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>