diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2012-08-23 03:47:15 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2012-08-23 03:47:15 +0000 |
commit | c0452c625763f497a693e093502a2f3603bf1f12 (patch) | |
tree | 50b0cb6eef8eb467b21718fcbb1bba84bf51705a /multimedia/handbrake/Makefile | |
parent | fbdf0baff1cba6b7cf9b6d7b40b7e914f5a171fc (diff) | |
download | ports-c0452c625763f497a693e093502a2f3603bf1f12.tar.gz ports-c0452c625763f497a693e093502a2f3603bf1f12.zip |
Notes
Diffstat (limited to 'multimedia/handbrake/Makefile')
-rw-r--r-- | multimedia/handbrake/Makefile | 166 |
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> |