summaryrefslogtreecommitdiff
path: root/multimedia/handbrake/Makefile
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2016-04-24 15:11:56 +0000
committerThomas Zander <riggs@FreeBSD.org>2016-04-24 15:11:56 +0000
commitaf650dad24d238961aad6685e2ed7652fc5edcd6 (patch)
tree7b87dcd1abaa2219101b5f5540cfe7ddb4ffe508 /multimedia/handbrake/Makefile
parentFix build with libc++ 3.8.0 (diff)
Update to upstream version 0.10.5, turning FDK_AAC into an OPTION
PR: 208334 Submitted by: woodsb02@gmail.com Reviewed by: riggs, jbeich Differential Revision: https://reviews.freebsd.org/D6077
Notes
Notes: svn path=/head/; revision=413944
Diffstat (limited to 'multimedia/handbrake/Makefile')
-rw-r--r--multimedia/handbrake/Makefile62
1 files changed, 36 insertions, 26 deletions
diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile
index 1ccea61fa5ef..67135f5c895c 100644
--- a/multimedia/handbrake/Makefile
+++ b/multimedia/handbrake/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= handbrake
-PORTVERSION= 0.10.2
-PORTREVISION= 2
+PORTVERSION= 0.10.5
CATEGORIES= multimedia
MASTER_SITES= http://download.handbrake.fr/releases/${PORTVERSION}/ \
http://download.handbrake.fr/handbrake/contrib/:contrib \
@@ -20,13 +19,14 @@ DISTFILES= HandBrake-${PORTVERSION}.tar.bz2 \
libdvdread-5.0.0-6-gcb1ae87.tar.gz:contrib \
libvpx-v1.3.0.tar.bz2:contrib \
x264-r2479-dd79a61.tar.gz:contrib \
- x265-9329-0d30d2641875-1.5.tar.bz2:contrib
+ x265_1.9.tar.gz:contrib
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= ports@FreeBSD.org
COMMENT= Versatile DVD ripper and video transcoder
LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= yasm:devel/yasm \
cmake:devel/cmake
@@ -46,12 +46,13 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
CONFLICTS_BUILD= x265
.if !defined(PACKAGE_BUILDING)
-# DVDCSS version hardcoded in contrib/libdvdread/libdvdread/src/dvd_input.c (dlopen'ed)
+# DVDCSS version hardcoded in contrib/libdvdread/libdvdread-5.0.0-6-gcb1ae87/src/dvd_input.c (dlopen'ed)
LIB_DEPENDS+= libdvdcss.so.2:multimedia/libdvdcss
.endif
GNU_CONFIGURE= yes
-USES= autoreconf:build gmake iconv libtool:build pkgconfig python:build
+USES= autoreconf:build compiler:features gmake iconv \
+ libtool:build localbase pkgconfig python:build
WRKSRC= ${WRKDIR}/HandBrake-${PORTVERSION}
PLIST_FILES= bin/HandBrakeCLI
@@ -66,10 +67,21 @@ MAKE_JOBS_UNSAFE= yes
NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264
-OPTIONS_DEFINE= X11
-X11_DESC= Build GTK+3 based GUI program
+# Enforce linking to the system c++ standard lib
+LDFLAGS+= -l${COMPILER_FEATURES:Mlib*c++:S/lib//}
+
+OPTIONS_DEFINE= FDK_AAC X11
OPTIONS_DEFAULT= X11
+FDK_AAC_DESC= Enable non-free Fraunhofer FDK AAC codec
+X11_DESC= Build GTK+3 based GUI program
+
+FDK_AAC_CONFIGURE_ENABLE= fdk-aac
+FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi
+LICENSE_NAME_FDK_AAC= Software License for The Fraunhofer FDK AAC Codec Library for Android
+LICENSE_FILE_FDK_AAC= ${BUILD_WRKSRC}/contrib/fdkaac/${DISTFILES:Mfdk*:R:R}/NOTICE
+LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept
+
.include <bsd.port.options.mk>
# Recent GNU binutils are required to handle inline SSSE3 asm (in x264), and
@@ -85,8 +97,6 @@ MAKE_ENV+=ACLOCAL=${LOCALBASE}/bin/aclocal
.if ${PORT_OPTIONS:MX11}
CONFIGURE_ARGS+= --disable-gtk-update-checks --disable-gst
-CPPFLAGS+= -I${LOCALBASE}/include
-LIBS+= -L${LOCALBASE}/lib
LIB_DEPENDS+= libdbus-glib-1.so:devel/dbus-glib \
libnotify.so:devel/libnotify
USES+= gettext
@@ -103,13 +113,6 @@ DESKTOP_ENTRIES="HandBrake" \
CONFIGURE_ARGS+= --disable-gtk
.endif
-# Enforce linking to the system c++ standard lib
-.if ${OSVERSION} >= 1000054
-LDFLAGS+= -lc++
-.else
-LDFLAGS+= -lstdc++
-.endif
-
# 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
@@ -119,24 +122,22 @@ post-extract: .SILENT
${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 fdkaac ffmpeg libbluray libdvdnav \
+ cd ${BUILD_WRKSRC}/contrib && ${MKDIR} faac faad2 ffmpeg libbluray libdvdnav \
libdvdread libvpx x265
${MV} ${WRKDIR}/faac-1.28 ${BUILD_WRKSRC}/contrib/faac
${MV} ${WRKDIR}/faad2-2.7 ${BUILD_WRKSRC}/contrib/faad2
- ${MV} ${WRKDIR}/fdk-aac-v0.1.1-6-gbae4553 ${BUILD_WRKSRC}/contrib/fdkaac
${MV} ${WRKDIR}/libav-v10.1 ${BUILD_WRKSRC}/contrib/ffmpeg/libav-v10.1
${MV} ${WRKDIR}/libbluray-0.5.0 ${BUILD_WRKSRC}/contrib/libbluray
${MV} ${WRKDIR}/libdvdnav-5.0.1-0-gaa3659d ${BUILD_WRKSRC}/contrib/libdvdnav
${MV} ${WRKDIR}/libdvdread-5.0.0-6-gcb1ae87 ${BUILD_WRKSRC}/contrib/libdvdread
${MV} ${WRKDIR}/libvpx-v1.3.0 ${BUILD_WRKSRC}/contrib/libvpx
- ${MV} ${WRKDIR}/x265-9329-0d30d2641875-1.5 ${BUILD_WRKSRC}/contrib/x265
+ ${MV} ${WRKDIR}/x265_1.9 ${BUILD_WRKSRC}/contrib/x265
# Avoid conflict with `print/harfbuzz' (also installs "hb.h")
${MV} ${WRKSRC}/libhb/hb.h ${WRKSRC}/libhb/hb-of-handbrake.h
# Mark all bundled dependencies as extracted
${TOUCH} ${BUILD_WRKSRC}/contrib/a52dec/.stamp.extract
${TOUCH} ${BUILD_WRKSRC}/contrib/faac/.stamp.extract
${TOUCH} ${BUILD_WRKSRC}/contrib/faad2/.stamp.extract
- ${TOUCH} ${BUILD_WRKSRC}/contrib/fdkaac/.stamp.extract
${TOUCH} ${BUILD_WRKSRC}/contrib/ffmpeg/.stamp.extract
${TOUCH} ${BUILD_WRKSRC}/contrib/libbluray/.stamp.extract
${TOUCH} ${BUILD_WRKSRC}/contrib/libdca/.stamp.extract
@@ -146,6 +147,11 @@ post-extract: .SILENT
${TOUCH} ${BUILD_WRKSRC}/contrib/x264/.stamp.extract
${TOUCH} ${BUILD_WRKSRC}/contrib/x265/.stamp.extract
+post-extract-FDK_AAC-on:
+ ${MKDIR} ${BUILD_WRKSRC}/contrib/fdkaac
+ ${MV} ${WRKDIR}/fdk-aac-v0.1.1-6-gbae4553 ${BUILD_WRKSRC}/contrib/fdkaac
+ ${TOUCH} ${BUILD_WRKSRC}/contrib/fdkaac/.stamp.extract
+
post-patch:
@${REINPLACE_CMD} -e 's|machine/soundcard|sys/soundcard|' \
${BUILD_WRKSRC}/contrib/a52dec/a52dec/libao/audio_out_oss.c
@@ -159,7 +165,7 @@ post-patch:
-e '/GHB_PACKAGES=/s/gthread-2.0/& gmodule-2.0/' \
-e 's/-lhb/& ${ICONV_LIB}/' \
-e 's/-lhandbrake/& ${ICONV_LIB}/' \
- -e 's:-lxml2:& ../../contrib/lib/libx265.a ../../contrib/lib/libfdk-aac.a:g' \
+ -e 's:-lxml2:& ../../contrib/lib/libx265.a:g' \
${WRKSRC}/gtk/configure.ac
@${REINPLACE_CMD} -e 's|<malloc|<stdlib|' ${WRKSRC}/libhb/fifo.c
@${FIND} ${WRKSRC} -type f -name '*.[ch]' -print0 | ${XARGS} -0 \
@@ -171,7 +177,6 @@ post-patch:
${WRKSRC}/libhb/module.defs ${WRKSRC}/test/module.defs
@${TR} -d '\r' < ${WRKSRC}/contrib/ffmpeg/A06-frame-threading-state.patch > ${WRKDIR}/A06-frame-threading-state.patch
@${MV} ${WRKDIR}/A06-frame-threading-state.patch ${WRKSRC}/contrib/ffmpeg/
- @${REINPLACE_CMD} -e 's:/lib/cpp:${CPP}:g' ${BUILD_WRKSRC}/contrib/fdkaac/fdk-aac-v0.1.1-6-gbae4553/configure
@${REINPLACE_CMD} -E \
-e 's|%%REP_CC%%|${CC}|g' \
-e 's|%%REP_CXX%%|${CXX}|g' \
@@ -180,16 +185,21 @@ post-patch:
-e 's|%%REP_ARCHS%%|${CPUTYPE}|g' \
-e 's|%%REP_ICONV%%|${ICONV_LIB:S/-l//}|g' \
${WRKSRC}/custom.defs
-.if !${PORT_OPTIONS:MX11}
+
+post-patch-X11-off:
@${REINPLACE_CMD} -e 's:--enable-libvpx:--disable-libvpx:' ${WRKSRC}/contrib/ffmpeg/module.defs
@${REINPLACE_CMD} -e 's| vpx | |' \
${WRKSRC}/libhb/module.defs ${WRKSRC}/test/module.defs
-.endif
+
+post-patch-FDK_AAC-on:
+ @${REINPLACE_CMD} -e 's:/lib/cpp:${CPP}:g' ${BUILD_WRKSRC}/contrib/fdkaac/fdk-aac-v0.1.1-6-gbae4553/configure
+ @${REINPLACE_CMD} -e 's:-lxml2:& ../../contrib/lib/libfdk-aac.a:g' \
+ ${WRKSRC}/gtk/configure.ac
do-install:
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/HandBrakeCLI ${STAGEDIR}${PREFIX}/bin
-.if ${PORT_OPTIONS:MX11}
+
+do-install-X11-on:
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/gtk/src/ghb ${STAGEDIR}${PREFIX}/bin/HandBrake
-.endif
.include <bsd.port.mk>