aboutsummaryrefslogtreecommitdiff
path: root/multimedia/handbrake
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2017-04-04 17:48:24 +0000
committerThomas Zander <riggs@FreeBSD.org>2017-04-04 17:48:24 +0000
commitc566a59a5b0e811c9f82e1af1a296120da150b0e (patch)
treec8bf20e8d49bb21269b333f0cdfde25cd3d6419f /multimedia/handbrake
parentb5def1cdb88da5003de686a9eea197fe0f55fe11 (diff)
downloadports-c566a59a5b0e811c9f82e1af1a296120da150b0e.tar.gz
ports-c566a59a5b0e811c9f82e1af1a296120da150b0e.zip
Update to upstream version 1.0.3
PR: 218288 Submitted by: naito.yuichiro@gmail.com Reviewed by: riggs
Notes
Notes: svn path=/head/; revision=437745
Diffstat (limited to 'multimedia/handbrake')
-rw-r--r--multimedia/handbrake/Makefile174
-rw-r--r--multimedia/handbrake/distinfo39
-rw-r--r--multimedia/handbrake/files/patch-build_contrib_x264_x264_configure75
-rw-r--r--multimedia/handbrake/files/patch-contrib-ffmpeg-A04-x86-asm-h.patch14
-rw-r--r--multimedia/handbrake/files/patch-contrib-mp4v2-P01-freebsd-clang-namespace.patch120
-rw-r--r--multimedia/handbrake/files/patch-contrib_ffmpeg_A90-libvpx-1.5.0.patch42
-rw-r--r--multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs11
-rw-r--r--multimedia/handbrake/files/patch-contrib_libbluray_A02-expose-clip__id.patch17
-rw-r--r--multimedia/handbrake/files/patch-custom.defs19
-rw-r--r--multimedia/handbrake/files/patch-gtk_configure.ac12
-rw-r--r--multimedia/handbrake/files/patch-gtk_src_callbacks.c13
-rw-r--r--multimedia/handbrake/files/patch-libhb_fifo.c11
-rw-r--r--multimedia/handbrake/files/patch-libhb_module.defs29
-rw-r--r--multimedia/handbrake/files/patch-libhb_nlmeans.c11
-rw-r--r--multimedia/handbrake/files/patch-libhb_nlmeans__x86.c11
-rw-r--r--multimedia/handbrake/files/patch-make_configure.py76
-rw-r--r--multimedia/handbrake/files/patch-make_include_contrib.defs44
-rw-r--r--multimedia/handbrake/files/patch-make_include_gcc.defs11
-rw-r--r--multimedia/handbrake/files/patch-make_include_main.defs21
-rw-r--r--multimedia/handbrake/files/patch-make_include_select.defs10
-rw-r--r--multimedia/handbrake/files/patch-scripts_build-presets.sh8
-rw-r--r--multimedia/handbrake/files/patch-scripts_create__resources.py8
-rw-r--r--multimedia/handbrake/files/patch-scripts_mac-toolchain-build8
-rw-r--r--multimedia/handbrake/files/patch-scripts_manicure.rb8
-rw-r--r--multimedia/handbrake/files/patch-scripts_mingw-w64-build8
-rw-r--r--multimedia/handbrake/files/patch-scripts_quotestring.py8
-rw-r--r--multimedia/handbrake/files/patch-scripts_repo-info.sh8
-rw-r--r--multimedia/handbrake/files/patch-scripts_tag-release.sh8
-rw-r--r--multimedia/handbrake/files/patch-test_module.defs11
-rw-r--r--multimedia/handbrake/files/patch-version.txt12
-rw-r--r--multimedia/handbrake/pkg-descr3
-rw-r--r--multimedia/handbrake/pkg-plist19
32 files changed, 328 insertions, 541 deletions
diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile
index 55658eb38d62..726490ff7615 100644
--- a/multimedia/handbrake/Makefile
+++ b/multimedia/handbrake/Makefile
@@ -2,25 +2,8 @@
# $FreeBSD$
PORTNAME= handbrake
-PORTVERSION= 0.10.5
-PORTREVISION= 5
+PORTVERSION= 1.0.3
CATEGORIES= multimedia
-MASTER_SITES= http://download.handbrake.fr/releases/${PORTVERSION}/ \
- http://download.handbrake.fr/handbrake/contrib/:contrib \
- http://download.handbrake.fr/contrib/:contrib
-DISTFILES= HandBrake-${PORTVERSION}.tar.bz2 \
- a52dec-0.7.4.tar.gz:contrib \
- faac-1.28.tar.gz:contrib \
- faad2-2.7.tar.gz:contrib \
- fdk-aac-v0.1.1-6-gbae4553.tar.bz2:contrib \
- libav-v10.1.tar.bz2:contrib \
- libbluray-0.5.0.tar.bz2:contrib \
- libdca-r81-strapped.tar.gz:contrib \
- libdvdnav-5.0.1-0-gaa3659d.tar.gz:contrib \
- libdvdread-5.0.0-6-gcb1ae87.tar.gz:contrib \
- libvpx-v1.3.0.tar.bz2:contrib \
- x264-r2479-dd79a61.tar.gz:contrib \
- x265_1.9.tar.gz:contrib
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= ports@FreeBSD.org
@@ -29,9 +12,12 @@ COMMENT= Versatile DVD ripper and video transcoder
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= yasm:devel/yasm \
+BUILD_DEPENDS= bash:shells/bash \
+ yasm:devel/yasm \
cmake:devel/cmake
-LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
+LIB_DEPENDS= libdbus-1.so:devel/dbus \
+ libharfbuzz.so:print/harfbuzz \
+ libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libfribidi.so:converters/fribidi \
libxml2.so:textproc/libxml2 \
@@ -43,31 +29,48 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libtheoraenc.so:multimedia/libtheora \
libsamplerate.so:audio/libsamplerate \
libx264.so:multimedia/libx264 \
- libmp3lame.so:audio/lame
+ libmp3lame.so:audio/lame \
+ libopus.so:audio/opus \
+ libjansson.so:devel/jansson
BROKEN_aarch64= Fails to build: invokes x86 asm
BROKEN_armv6= Fails to build: invokes x86 asm
+USE_GITHUB= yes
+XGH_ACCOUNT= HandBrake
+XGH_PROJECT= HandBrake
+
+CONTRIB_FILES= fdk-aac-0.1.4.tar.gz \
+ libav-12.tar.gz \
+ libbluray-0.9.3.tar.bz2 \
+ libdvdnav-5.0.1.tar.bz2 \
+ libdvdread-5.0.0-6-gcb1ae87.tar.gz \
+ libvpx-1.5.0.tar.bz2 \
+ x265_2.1-1.tar.gz
+MASTER_SITES+= http://download.handbrake.fr/contrib/:contrib
+DISTFILES+= ${CONTRIB_FILES:S/$/:contrib/}
+
.if !defined(PACKAGE_BUILDING)
# 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
+LIB_DEPENDS+= libdvdcss.so:multimedia/libdvdcss
.endif
GNU_CONFIGURE= yes
+USE_GCC= yes
USES= autoreconf:build compiler:features gmake iconv \
libtool:build localbase:ldflags pkgconfig python:build
-MAKE_ENV= V=1
+MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal
WRKSRC= ${WRKDIR}/HandBrake-${PORTVERSION}
-PLIST_FILES= bin/HandBrakeCLI
-CONFIGURE_ARGS= --force
+CONFIGURE_ARGS= --force --enable-x265
CONFIGURE_TARGET= build
BUILD_WRKSRC= ${WRKSRC}/build
+INSTALL_WRKSRC= ${WRKSRC}/build
MAKEFILE= GNUmakefile
ALL_TARGET= #
-MAKE_JOBS_UNSAFE= yes
+INSTALL_TARGET= install-strip
NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264
@@ -77,16 +80,18 @@ LDFLAGS+= -L${BUILD_WRKSRC}/contrib/lib
# Enforce linking to the system c++ standard lib
LDFLAGS+= -l${COMPILER_FEATURES:Mlib*c++:S/lib//}
-OPTIONS_DEFINE= FDK_AAC X11
+OPTIONS_DEFINE= FDK_AAC X11
OPTIONS_DEFAULT= X11
+OPTIONS_SUB= yes
+
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_FILE_FDK_AAC= ${WRKDIR}/${DISTFILES:Mfdk*:R:R}/NOTICE
LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept
.include <bsd.port.options.mk>
@@ -94,119 +99,28 @@ LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept
# Recent GNU binutils are required to handle inline SSSE3 asm (in x264), and
# to support --exclude-libs option for ld(1) when building GUI program
.if ${PORT_OPTIONS:MX11}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/ld:devel/binutils
CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
-LIB_DEPENDS+= libvpx.so:multimedia/libvpx
-.endif
-CC!=/usr/bin/which ${CC}
-MAKE_ENV+=ACLOCAL=${LOCALBASE}/bin/aclocal
-
-.if ${PORT_OPTIONS:MX11}
CONFIGURE_ARGS+= --disable-gtk-update-checks --disable-gst
-LIB_DEPENDS+= libdbus-glib-1.so:devel/dbus-glib \
+BUILD_DEPENDS+= ${LOCALBASE}/bin/ld:devel/binutils
+LIB_DEPENDS+= libvpx.so:multimedia/libvpx \
+ libdbus-glib-1.so:devel/dbus-glib \
libnotify.so:devel/libnotify
USES+= gettext
-USE_GNOME+= gtk30 intltool
-PLIST_FILES+= bin/HandBrake
-
-DESKTOP_ENTRIES="HandBrake" \
- "${COMMENT}" \
- "" \
- "HandBrake" \
- "AudioVideo;" \
- false
+USE_GNOME+= gtk30 intltool cairo gdkpixbuf2
.else
CONFIGURE_ARGS+= --disable-gtk
.endif
# HandBrake tries to fetch its dependencies during build phase, which is not
-# considered good in FreeBSD. Instead, we will prepare everything manually.
+# considered good in FreeBSD. Instead, we will provided the downloaded files.
post-extract: .SILENT
-# Unversioned directories can be copied in a loop
-.for d in a52dec libdca x264
- ${MKDIR} ${BUILD_WRKSRC}/contrib/${d}
- ${MV} ${WRKDIR}/${d} ${BUILD_WRKSRC}/contrib/${d}
+ ${MKDIR} ${WRKSRC}/download
+.for f in ${CONTRIB_FILES}
+ ${CP} ${DISTDIR}/${DIST_SUBDIR}/${f} ${WRKSRC}/download
.endfor
-# Others had to be processed one by one due to irregular (versioned) names
- 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}/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_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/ffmpeg/.stamp.extract
- ${TOUCH} ${BUILD_WRKSRC}/contrib/libbluray/.stamp.extract
- ${TOUCH} ${BUILD_WRKSRC}/contrib/libdca/.stamp.extract
- ${TOUCH} ${BUILD_WRKSRC}/contrib/libdvdnav/.stamp.extract
- ${TOUCH} ${BUILD_WRKSRC}/contrib/libdvdread/.stamp.extract
- ${TOUCH} ${BUILD_WRKSRC}/contrib/libvpx/.stamp.extract
- ${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
- @${REINPLACE_CMD} -e 's|-ldl|-lc| ; s|\[dl\]|[c]| ; s|ACLOCAL=.*|ACLOCAL=aclocal|g' \
- ${BUILD_WRKSRC}/contrib/libbluray/libbluray-0.5.0/configure
- @${REINPLACE_CMD} -e 's|ACLOCAL = @ACLOCAL@|ACLOCAL = ${LOCALBASE}/bin/aclocal|g' \
- -e 's|-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112L -D_REENTRANT||g' \
- ${BUILD_WRKSRC}/contrib/libbluray/libbluray-0.5.0/Makefile.in \
- ${BUILD_WRKSRC}/contrib/libbluray/libbluray-0.5.0/src/Makefile.in
- @${REINPLACE_CMD} \
- -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:g' \
- ${WRKSRC}/gtk/configure.ac
- @${REINPLACE_CMD} -e 's|<malloc|<stdlib|' ${WRKSRC}/libhb/fifo.c
- @${FIND} ${WRKSRC} -type f -name '*.[ch]' -print0 | ${XARGS} -0 \
- ${REINPLACE_CMD} -e '/#include/s|hb\.h|hb-of-handbrake.h|'
- @${REINPLACE_CMD} -e "s|ToolProbe( 'GCC.gcc', 'gcc',|ToolProbe( 'GCC.gcc', '${CC}',|" \
- ${WRKSRC}/make/configure.py
- @${REINPLACE_CMD} -e 's|avcodec avformat avutil avresample|avformat avcodec avresample avutil|' \
- -e 's|TEST.libs = $$(LIBHB.a)|& ${ICONV_LIB}|' \
- ${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 \
- -e 's|%%REP_CC%%|${CC}|g' \
- -e 's|%%REP_CXX%%|${CXX}|g' \
- -e 's|%%REP_I%%|-I./contrib/include -I${LOCALBASE}/include|g' \
- -e 's|%%REP_L%%|-L${LOCALBASE}/lib|g' \
- -e 's|%%REP_ARCHS%%|${CPUTYPE}|g' \
- -e 's|%%REP_ICONV%%|${ICONV_LIB:S/-l//}|g' \
- ${WRKSRC}/custom.defs
-
-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
-
-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
-
-do-install-X11-on:
- ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/gtk/src/ghb ${STAGEDIR}${PREFIX}/bin/HandBrake
+
+post-install-X11-on:
+ ${LN} -sf ghb ${STAGEDIR}${PREFIX}/bin/HandBrake
.include <bsd.port.mk>
diff --git a/multimedia/handbrake/distinfo b/multimedia/handbrake/distinfo
index 0999fcbda400..e91934c0e0ae 100644
--- a/multimedia/handbrake/distinfo
+++ b/multimedia/handbrake/distinfo
@@ -1,26 +1,17 @@
-SHA256 (handbrake/HandBrake-0.10.5.tar.bz2) = fb9230dd121b456f6829d1d25ac8bbf76e503b51c4efc70f0a7fd2bb8607e2f0
-SIZE (handbrake/HandBrake-0.10.5.tar.bz2) = 10452839
-SHA256 (handbrake/a52dec-0.7.4.tar.gz) = 54981ab08fc09a675b9924372cf0cca5aa5363b918c4c19065c2d40e2858be47
-SIZE (handbrake/a52dec-0.7.4.tar.gz) = 242978
-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/fdk-aac-v0.1.1-6-gbae4553.tar.bz2) = f08584d59a02db5facf548ae860c64d2870db63477f605af763c161a1508dcbc
-SIZE (handbrake/fdk-aac-v0.1.1-6-gbae4553.tar.bz2) = 1843256
-SHA256 (handbrake/libav-v10.1.tar.bz2) = bc3807426d4e73fe8c245730b0df4ba95766cf7e17e47c738ee302f73d066ac9
-SIZE (handbrake/libav-v10.1.tar.bz2) = 5325944
-SHA256 (handbrake/libbluray-0.5.0.tar.bz2) = d414b548ff97c081e1a2f337c0904f44e65d91a00d2efa4a46a1ecd3de285b4d
-SIZE (handbrake/libbluray-0.5.0.tar.bz2) = 555298
-SHA256 (handbrake/libdca-r81-strapped.tar.gz) = ab2519af6c2f12411a2bd674b83615af9b0d5fb09f28ad5dab714ea1bfab9df1
-SIZE (handbrake/libdca-r81-strapped.tar.gz) = 523282
-SHA256 (handbrake/libdvdnav-5.0.1-0-gaa3659d.tar.gz) = 574b7af7ff52e21048ab62c0b14271e651faafb5d46f8efc64dbd82ff34e162b
-SIZE (handbrake/libdvdnav-5.0.1-0-gaa3659d.tar.gz) = 127921
+TIMESTAMP = 1491071513
+SHA256 (handbrake/fdk-aac-0.1.4.tar.gz) = 5910fe788677ca13532e3f47b7afaa01d72334d46a2d5e1d1f080f1173ff15ab
+SIZE (handbrake/fdk-aac-0.1.4.tar.gz) = 1986515
+SHA256 (handbrake/libav-12.tar.gz) = ca5cb22ba660f0bdc47817fdb9d99059a71f9eb0776c68cf8bef769a5ccc7534
+SIZE (handbrake/libav-12.tar.gz) = 7578674
+SHA256 (handbrake/libbluray-0.9.3.tar.bz2) = a6366614ec45484b51fe94fcd1975b3b8716f90f038a33b24d59978de3863ce0
+SIZE (handbrake/libbluray-0.9.3.tar.bz2) = 722686
+SHA256 (handbrake/libdvdnav-5.0.1.tar.bz2) = 72b1cb8266f163d4a1481b92c7b6c53e6dc9274d2a6befb08ffc351fe7a4a2a9
+SIZE (handbrake/libdvdnav-5.0.1.tar.bz2) = 354568
SHA256 (handbrake/libdvdread-5.0.0-6-gcb1ae87.tar.gz) = d2e4200c3c5d5f812892f9c14851c94e2f707d54e7328946c6397ac999f15f17
SIZE (handbrake/libdvdread-5.0.0-6-gcb1ae87.tar.gz) = 124494
-SHA256 (handbrake/libvpx-v1.3.0.tar.bz2) = d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9
-SIZE (handbrake/libvpx-v1.3.0.tar.bz2) = 2084229
-SHA256 (handbrake/x264-r2479-dd79a61.tar.gz) = 7307a83085f4110f8ae690748f00b5acb4882ec34b83ef260fec264c018c49e9
-SIZE (handbrake/x264-r2479-dd79a61.tar.gz) = 785781
-SHA256 (handbrake/x265_1.9.tar.gz) = 3e4654133ed957a98708fdb4cb9a154d9e80922b84e26e43fc462a101c5b15c8
-SIZE (handbrake/x265_1.9.tar.gz) = 956101
+SHA256 (handbrake/libvpx-1.5.0.tar.bz2) = 306d67908625675f8e188d37a81fbfafdf5068b09d9aa52702b6fbe601c76797
+SIZE (handbrake/libvpx-1.5.0.tar.bz2) = 1906571
+SHA256 (handbrake/x265_2.1-1.tar.gz) = 88fcb9af4ba52c0757ac9c0d8cd5ec79951a22905ae886897e06954353d6a643
+SIZE (handbrake/x265_2.1-1.tar.gz) = 1036921
+SHA256 (handbrake/handbrake-handbrake-1.0.3_GH0.tar.gz) = 83ae65cb84b0e9356d9fdc6e82cea65c0aef21d33a38f1e77731d66b501e6504
+SIZE (handbrake/handbrake-handbrake-1.0.3_GH0.tar.gz) = 13086610
diff --git a/multimedia/handbrake/files/patch-build_contrib_x264_x264_configure b/multimedia/handbrake/files/patch-build_contrib_x264_x264_configure
deleted file mode 100644
index 0d1bc0fcb91a..000000000000
--- a/multimedia/handbrake/files/patch-build_contrib_x264_x264_configure
+++ /dev/null
@@ -1,75 +0,0 @@
---- ./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=
-@@ -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-ffmpeg-A04-x86-asm-h.patch b/multimedia/handbrake/files/patch-contrib-ffmpeg-A04-x86-asm-h.patch
deleted file mode 100644
index bdd647317572..000000000000
--- a/multimedia/handbrake/files/patch-contrib-ffmpeg-A04-x86-asm-h.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- /dev/null 2014-02-09 20:55:00.000000000 +0100
-+++ contrib/ffmpeg/A04-x86-asm-h.patch 2014-02-09 20:55:09.548807959 +0100
-@@ -0,0 +1,11 @@
-+--- a/libavutil/x86/asm.h 2014-02-09 20:38:46.964875000 +0100
-++++ b/libavutil/x86/asm.h 2014-02-09 20:44:57.928849417 +0100
-+@@ -68,7 +68,7 @@
-+ typedef int x86_reg;
-+ #endif
-+
-+-#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
-++#define HAVE_7REGS (ARCH_X86_64)
-+ #define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE))
-+
-+ #if ARCH_X86_64 && defined(PIC)
diff --git a/multimedia/handbrake/files/patch-contrib-mp4v2-P01-freebsd-clang-namespace.patch b/multimedia/handbrake/files/patch-contrib-mp4v2-P01-freebsd-clang-namespace.patch
deleted file mode 100644
index 8b1baf17060a..000000000000
--- a/multimedia/handbrake/files/patch-contrib-mp4v2-P01-freebsd-clang-namespace.patch
+++ /dev/null
@@ -1,120 +0,0 @@
---- /dev/null 2014-02-09 17:00:00.000000000 +0100
-+++ contrib/mp4v2/P01-freebsd-clang-namespace.patch 2014-02-09 16:52:59.124808788 +0100
-@@ -0,0 +1,117 @@
-+diff -Naur mp4v2-trunk-r355.orig/src/bmff/typebmff.cpp mp4v2-trunk-r355/src/bmff/typebmff.cpp
-+--- mp4v2-trunk-r355.orig/src/bmff/typebmff.cpp 2009-05-21 04:52:31.000000000 +0200
-++++ mp4v2-trunk-r355/src/bmff/typebmff.cpp 2014-02-06 04:18:15.000000000 +0100
-+@@ -23,19 +23,12 @@
-+
-+ #include "impl.h"
-+
-+-// VStudio idiocy prevents defining template instanced static data
-+-// in a namespace. Workaround it by defining in global scope.
-+-// Other platforms will continue to put things in the proper namespace.
-+-#if defined( _MSC_VER )
-+-using namespace mp4v2::impl::bmff;
-+-#else
-+-namespace mp4v2 { namespace impl { namespace bmff {
-+-#endif
-++namespace mp4v2 { namespace impl {
-+
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumLanguageCode::Entry EnumLanguageCode::data[] = {
-++const bmff::EnumLanguageCode::Entry bmff::EnumLanguageCode::data[] = {
-+ { mp4v2::impl::bmff::ILC_AAR, "aar", "Afar" },
-+ { mp4v2::impl::bmff::ILC_ABK, "abk", "Abkhazian" },
-+ { mp4v2::impl::bmff::ILC_ACE, "ace", "Achinese" },
-+@@ -526,9 +519,7 @@
-+
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+-#if defined( _MSC_VER )
-+-namespace mp4v2 { namespace impl { namespace bmff {
-+-#endif
-++namespace bmff {
-+
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+diff -Naur mp4v2-trunk-r355.orig/src/itmf/type.cpp mp4v2-trunk-r355/src/itmf/type.cpp
-+--- mp4v2-trunk-r355.orig/src/itmf/type.cpp 2009-05-21 04:52:29.000000000 +0200
-++++ mp4v2-trunk-r355/src/itmf/type.cpp 2014-02-06 04:18:19.000000000 +0100
-+@@ -24,19 +24,12 @@
-+
-+ #include "impl.h"
-+
-+-// VStudio idiocy prevents defining template instanced static data
-+-// in a namespace. Workaround it by defining in global scope.
-+-// Other platforms will continue to put things in the proper namespace.
-+-#if defined( _MSC_VER )
-+-using namespace mp4v2::impl::itmf;
-+-#else
-+-namespace mp4v2 { namespace impl { namespace itmf {
-+-#endif
-++namespace mp4v2 { namespace impl {
-+
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumBasicType::Entry EnumBasicType::data[] = {
-++const itmf::EnumBasicType::Entry itmf::EnumBasicType::data[] = {
-+ { mp4v2::impl::itmf::BT_IMPLICIT, "implicit", "implicit" },
-+ { mp4v2::impl::itmf::BT_UTF8, "utf8", "UTF-8" },
-+ { mp4v2::impl::itmf::BT_UTF16, "utf16", "UTF-16" },
-+@@ -64,7 +57,7 @@
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumGenreType::Entry EnumGenreType::data[] = {
-++const itmf::EnumGenreType::Entry itmf::EnumGenreType::data[] = {
-+ { mp4v2::impl::itmf::GENRE_BLUES, "blues", "Blues" },
-+ { mp4v2::impl::itmf::GENRE_CLASSIC_ROCK, "classicrock", "Classic Rock" },
-+ { mp4v2::impl::itmf::GENRE_COUNTRY, "country", "Country" },
-+@@ -200,7 +193,7 @@
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumStikType::Entry EnumStikType::data[] = {
-++const itmf::EnumStikType::Entry itmf::EnumStikType::data[] = {
-+ { mp4v2::impl::itmf::STIK_OLD_MOVIE, "oldmovie", "Movie" },
-+ { mp4v2::impl::itmf::STIK_NORMAL, "normal", "Normal" },
-+ { mp4v2::impl::itmf::STIK_AUDIOBOOK, "audiobook", "Audio Book" },
-+@@ -216,7 +209,7 @@
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumAccountType::Entry EnumAccountType::data[] = {
-++const itmf::EnumAccountType::Entry itmf::EnumAccountType::data[] = {
-+ { mp4v2::impl::itmf::AT_ITUNES, "itunes", "iTunes" },
-+ { mp4v2::impl::itmf::AT_AOL, "aol", "AOL" },
-+
-+@@ -226,7 +219,7 @@
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumCountryCode::Entry EnumCountryCode::data[] = {
-++const itmf::EnumCountryCode::Entry itmf::EnumCountryCode::data[] = {
-+ { mp4v2::impl::itmf::CC_USA, "usa", "United States" },
-+ { mp4v2::impl::itmf::CC_USA, "fra", "France" },
-+ { mp4v2::impl::itmf::CC_DEU, "ger", "Germany" },
-+@@ -256,7 +249,7 @@
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+ template <>
-+-const EnumContentRating::Entry EnumContentRating::data[] = {
-++const itmf::EnumContentRating::Entry itmf::EnumContentRating::data[] = {
-+ { mp4v2::impl::itmf::CR_NONE, "none", "None" },
-+ { mp4v2::impl::itmf::CR_CLEAN, "clean", "Clean" },
-+ { mp4v2::impl::itmf::CR_EXPLICIT, "explicit", "Explicit" },
-+@@ -266,9 +259,7 @@
-+
-+ ///////////////////////////////////////////////////////////////////////////////
-+
-+-#if defined( _MSC_VER )
-+-namespace mp4v2 { namespace impl { namespace itmf {
-+-#endif
-++namespace itmf {
-+
-+ ///////////////////////////////////////////////////////////////////////////////
-+
diff --git a/multimedia/handbrake/files/patch-contrib_ffmpeg_A90-libvpx-1.5.0.patch b/multimedia/handbrake/files/patch-contrib_ffmpeg_A90-libvpx-1.5.0.patch
deleted file mode 100644
index ae79f99920df..000000000000
--- a/multimedia/handbrake/files/patch-contrib_ffmpeg_A90-libvpx-1.5.0.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- /dev/null 1970-01-01 00:00:00 UTC
-+++ contrib/ffmpeg/A90-libvpx-1.5.0.patch
-@@ -0,0 +1,39 @@
-+commit 6540fe0
-+Author: James Zern <jzern@google.com>
-+Date: Mon Oct 19 22:44:11 2015 -0700
-+
-+ libvpxenc: remove some unused ctrl id mappings
-+
-+ VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
-+ from libvpx and the remaining values were never used here
-+
-+ Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
-+ Signed-off-by: James Zern <jzern@google.com>
-+---
-+ libavcodec/libvpxenc.c | 8 --------
-+ 1 file changed, 8 deletions(-)
-+
-+diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
-+index 5f39783..992122c 100644
-+--- a/libavcodec/libvpxenc.c
-++++ b/libavcodec/libvpxenc.c
-+@@ -104,19 +104,11 @@ typedef struct VP8EncoderContext {
-+
-+ /** String mappings for enum vp8e_enc_control_id */
-+ static const char *const ctlidstr[] = {
-+- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
-+- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
-+- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
-+- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP",
-+- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP",
-+- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE",
-+ [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED",
-+ [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF",
-+ [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY",
-+- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS",
-+ [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD",
-+ [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS",
-+- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER",
-+ [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES",
-+ [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH",
-+ [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE",
diff --git a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs
deleted file mode 100644
index f7a0aab7cd99..000000000000
--- a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./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_libbluray_A02-expose-clip__id.patch b/multimedia/handbrake/files/patch-contrib_libbluray_A02-expose-clip__id.patch
new file mode 100644
index 000000000000..3a8b2e154113
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib_libbluray_A02-expose-clip__id.patch
@@ -0,0 +1,17 @@
+--- contrib/libbluray/A02-expose-clip_id.patch.orig 2017-02-25 20:56:19 UTC
++++ contrib/libbluray/A02-expose-clip_id.patch
+@@ -35,3 +35,14 @@ index 3cd7118..177b3d4 100644
+ --
+ 2.5.5
+
++--- Makefile.in.orig 2017-03-25 19:30:14 UTC
+++++ Makefile.in 2017-03-25 19:30:36 UTC
++@@ -772,7 +772,7 @@
++ MOSTLYCLEANFILES = $(DX_CLEANFILES)
++ @ENABLE_UDF_FALSE@POSIX_C_SOURCE = 200112L
++ @ENABLE_UDF_TRUE@POSIX_C_SOURCE = 200809L
++-SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=$(POSIX_C_SOURCE) -D_REENTRANT
+++SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=$(POSIX_C_SOURCE) -D_REENTRANT -D_XOPEN_SOURCE=700
++ SET_INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/src/libbluray -I$(top_builddir)/src/libbluray $(BDJAVA_CFLAGS)
++ AM_CFLAGS = -std=c99 $(SET_FEATURES) $(SET_INCLUDES) $(LIBXML2_CFLAGS) \
++ $(FT2_CFLAGS) $(FONTCONFIG_CFLAGS) $(UDF_CFLAGS) \
diff --git a/multimedia/handbrake/files/patch-custom.defs b/multimedia/handbrake/files/patch-custom.defs
deleted file mode 100644
index b361f9cad199..000000000000
--- a/multimedia/handbrake/files/patch-custom.defs
+++ /dev/null
@@ -1,19 +0,0 @@
---- /dev/null 2014-02-09 17:00:00.000000000 +0100
-+++ custom.defs 2014-02-09 16:52:59.125808519 +0100
-@@ -0,0 +1,16 @@
-+################################################################################
-+# for Generic GCC custom setting
-+
-+GCC.gcc = %%REP_CC%%
-+GCC.gxx = %%REP_CXX%%
-+GCC.archs = %%REP_ARCHS%%
-+GCC.args.I += %%REP_I%%
-+GCC.args.L += %%REP_L%%
-+
-+
-+################################################################################
-+# for CLI custom setting
-+
-+LIBHB.GCC.D += SYS_FREEBSD
-+TEST.GCC.l += pthread m %%REP_ICONV%%
-+
diff --git a/multimedia/handbrake/files/patch-gtk_configure.ac b/multimedia/handbrake/files/patch-gtk_configure.ac
new file mode 100644
index 000000000000..b28857f00d63
--- /dev/null
+++ b/multimedia/handbrake/files/patch-gtk_configure.ac
@@ -0,0 +1,12 @@
+--- gtk/configure.ac.orig 2017-02-25 20:56:19 UTC
++++ gtk/configure.ac
+@@ -182,6 +182,9 @@ case $host in
+ fi
+ HB_LIBS="$HB_LIBS -lregex -luuid"
+ ;;
++ *-*-freebsd*)
++ HB_LIBS="$HB_LIBS -lpthread"
++ ;;
+ *)
+ HB_LIBS="$HB_LIBS -ldl -lpthread"
+ ;;
diff --git a/multimedia/handbrake/files/patch-gtk_src_callbacks.c b/multimedia/handbrake/files/patch-gtk_src_callbacks.c
index 889766b3c3c4..b2ab46472c31 100644
--- a/multimedia/handbrake/files/patch-gtk_src_callbacks.c
+++ b/multimedia/handbrake/files/patch-gtk_src_callbacks.c
@@ -1,10 +1,17 @@
---- ./gtk/src/callbacks.c.orig 2012-08-23 21:44:53.000000000 +0800
-+++ ./gtk/src/callbacks.c 2012-08-23 21:45:09.000000000 +0800
-@@ -34,6 +34,7 @@
+--- gtk/src/callbacks.c.orig 2017-02-25 20:56:19 UTC
++++ gtk/src/callbacks.c
+@@ -46,6 +46,9 @@
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
++#if defined( __FreeBSD__ )
+#include <sys/socket.h>
++#endif
#include <netinet/in.h>
#include <netdb.h>
+@@ -5537,4 +5540,3 @@ void ghb_container_empty(GtkContainer *c
+ {
+ gtk_container_foreach(c, container_empty_cb, NULL);
+ }
+-
diff --git a/multimedia/handbrake/files/patch-libhb_fifo.c b/multimedia/handbrake/files/patch-libhb_fifo.c
new file mode 100644
index 000000000000..087b3fbb0407
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb_fifo.c
@@ -0,0 +1,11 @@
+--- libhb/fifo.c.orig 2017-02-25 20:56:19 UTC
++++ libhb/fifo.c
+@@ -13,7 +13,7 @@
+ #include "qsv_libav.h"
+ #endif
+
+-#ifndef SYS_DARWIN
++#if !defined(SYS_DARWIN) && !defined(SYS_FREEBSD)
+ #include <malloc.h>
+ #endif
+
diff --git a/multimedia/handbrake/files/patch-libhb_module.defs b/multimedia/handbrake/files/patch-libhb_module.defs
new file mode 100644
index 000000000000..52aff7a3c3e3
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb_module.defs
@@ -0,0 +1,29 @@
+--- libhb/module.defs.orig 2017-02-25 20:56:19 UTC
++++ libhb/module.defs
+@@ -47,7 +47,7 @@ LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB
+ ifneq (,$(filter $(BUILD.system),darwin cygwin mingw))
+ LIBHB.GCC.I += $(CONTRIB.build/)include/libxml2
+ else
+-LIBHB.GCC.I += /usr/include/libxml2
++LIBHB.GCC.I += /usr/local/include/libxml2
+ endif
+
+ ifeq ($(BUILD.system),cygwin)
+@@ -58,6 +58,8 @@ else ifeq ($(BUILD.system),darwin)
+ LIBHB.m += $(wildcard $(LIBHB.src/)platform/macosx/*.m)
+ 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 _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
+ else ifeq ($(BUILD.system),mingw)
+ LIBHB.GCC.D += SYS_MINGW
+ ifneq ($(HAS.pthread),1)
+@@ -188,4 +190,8 @@ endif
+
+ ###############################################################################
+
++ifeq ($(HAS.pthread),1)
++ LIBHB.GCC.l += pthread
++endif
++
+ BUILD.out += $(LIBHB.out)
diff --git a/multimedia/handbrake/files/patch-libhb_nlmeans.c b/multimedia/handbrake/files/patch-libhb_nlmeans.c
new file mode 100644
index 000000000000..dc2c258416b2
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb_nlmeans.c
@@ -0,0 +1,11 @@
+--- libhb/nlmeans.c.orig 2017-02-25 20:56:19 UTC
++++ libhb/nlmeans.c
+@@ -786,7 +786,7 @@ static int nlmeans_init(hb_filter_object
+ NLMeansFunctions *functions = &pv->functions;
+
+ functions->build_integral = build_integral_scalar;
+-#if defined(ARCH_X86)
++#if defined(ARCH_X86) && defined(__X86_64)
+ nlmeans_init_x86(functions);
+ #endif
+
diff --git a/multimedia/handbrake/files/patch-libhb_nlmeans__x86.c b/multimedia/handbrake/files/patch-libhb_nlmeans__x86.c
new file mode 100644
index 000000000000..01bebb069a72
--- /dev/null
+++ b/multimedia/handbrake/files/patch-libhb_nlmeans__x86.c
@@ -0,0 +1,11 @@
+--- libhb/nlmeans_x86.c.orig 2017-02-25 20:56:19 UTC
++++ libhb/nlmeans_x86.c
+@@ -10,7 +10,7 @@
+
+ #include "hb.h" // needed for ARCH_X86
+
+-#if defined(ARCH_X86)
++#if defined(ARCH_X86) && defined(__X86_64)
+
+ #include <emmintrin.h>
+
diff --git a/multimedia/handbrake/files/patch-make_configure.py b/multimedia/handbrake/files/patch-make_configure.py
index dedc48012f30..b08cd210e8d0 100644
--- a/multimedia/handbrake/files/patch-make_configure.py
+++ b/multimedia/handbrake/files/patch-make_configure.py
@@ -1,31 +1,63 @@
---- ./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 )
+--- make/configure.py.orig 2017-02-25 20:56:19 UTC
++++ make/configure.py
+@@ -590,6 +590,9 @@ class ArchAction( Action ):
+ pass
+ elif host.match( '*-*-solaris*' ):
+ pass
++ elif host.match( '*-*-freebsd.*' ):
++ self.mode['i386'] = 'i386-portsbuild-freebsd%s' % (host.release)
++ self.mode['amd64'] = 'amd64-portsbuild-freebsd%s' % (host.release)
+ else:
+ self.msg_pass = 'WARNING'
-- fetch = SelectTool( 'FETCH.select', 'fetch', ['wget',wget], ['curl',curl] )
-+ #fetch = SelectTool( 'FETCH.select', 'fetch', ['wget',wget], ['curl',curl] )
+@@ -1294,13 +1297,13 @@ def createCLI():
+ h = IfHost( 'enable assembly code in non-contrib modules', 'NOMATCH*-*-darwin*', 'NOMATCH*-*-linux*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-asm', default=False, action='store_true', help=h )
- ## run tool probes
- for tool in ToolProbe.tools:
-@@ -1512,16 +1512,16 @@
+- h = IfHost( 'disable GTK GUI', '*-*-linux*', none=optparse.SUPPRESS_HELP ).value
++ h = IfHost( 'disable GTK GUI', '*-*-linux*', '*-*-freebsd*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--disable-gtk', default=False, action='store_true', help=h )
+- h = IfHost( 'disable GTK GUI update checks', '*-*-linux*', none=optparse.SUPPRESS_HELP ).value
++ h = IfHost( 'disable GTK GUI update checks', '*-*-linux*', '*-*-freebsd*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--disable-gtk-update-checks', default=False, action='store_true', help=h )
+ h = IfHost( 'enable GTK GUI (mingw)', '*-*-mingw*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-gtk-mingw', default=False, action='store_true', help=h )
+- h = IfHost( 'disable gstreamer (live preview)', '*-*-linux*', none=optparse.SUPPRESS_HELP ).value
++ h = IfHost( 'disable gstreamer (live preview)', '*-*-linux*', '*-*-freebsd*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--disable-gst', default=False, action='store_true', help=h )
+ h = IfHost( 'enable use of Intel Quick Sync Video hardware acceleration', '*-*-*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-qsv', default=False, action='store_true', help=h )
+@@ -1352,7 +1355,7 @@ def createCLI():
+ h = IfHost( 'Build and use local pkg-config', '*-*-darwin*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-local-pkgconfig', default=False, action='store_true', help=h )
+
+- h = IfHost( 'Build extra contribs for flatpak packaging', '*-*-linux*', none=optparse.SUPPRESS_HELP ).value
++ h = IfHost( 'Build extra contribs for flatpak packaging', '*-*-linux*', '*-*-freebsd*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--flatpak', default=False, action='store_true', help=h )
+ cli.add_option_group( grp )
+
+@@ -1924,10 +1927,15 @@ int main()
+ doc.add( 'GCC.sysroot', '' )
+ doc.add( 'GCC.minver', '' )
+
++ if build.match( '*-*-freebsd*' ):
++ doc.add( 'HAS.pthread', 1 )
++
+ if build.match( 'i?86-*' ):
+ doc.add( 'LIBHB.GCC.D', 'ARCH_X86_32', append=True )
+ elif build.match( 'x86_64-*' ):
+ doc.add( 'LIBHB.GCC.D', 'ARCH_X86_64', append=True )
++ elif build.match( 'amd64-*' ):
++ doc.add( 'LIBHB.GCC.D', 'ARCH_X86_64', append=True )
+
+ if options.enable_asm and ( not Tools.yasm.fail or options.enable_local_yasm ):
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' )
+@@ -1940,7 +1948,7 @@ int main()
else:
doc.add( 'LIBHB.YASM.f', 'elf32' )
doc.add( 'LIBHB.YASM.m', 'x86' )
- elif build.match( 'x86_64-*' ):
-+ elif build.match( 'amd64-*' ):
++ elif build.match( 'x86_64-*' ) or 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 )
+ 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
deleted file mode 100644
index 4bde4643a926..000000000000
--- a/multimedia/handbrake/files/patch-make_include_contrib.defs
+++ /dev/null
@@ -1,44 +0,0 @@
---- make/include/contrib.defs.orig 2011-08-26 21:35:18.802615405 +0900
-+++ make/include/contrib.defs 2011-08-26 21:35:24.468798054 +0900
-@@ -204,26 +204,26 @@
- ##
- ## target: fetch
- ##
--$($(1).name).fetch: $$($(1).FETCH.target)
--
--$$($(1).FETCH.target): | $$(dir $$($(1).FETCH.target))
-- $$($(1).FETCH)
-+#$($(1).name).fetch: $$($(1).FETCH.target)
-+#
-+#$$($(1).FETCH.target): | $$(dir $$($(1).FETCH.target))
-+# $$($(1).FETCH)
-
- ##
- ## target: extract
- ## must touch dir after extraction because old timestamp is restored via tar.
- ##
--$($(1).name).extract: $$($(1).EXTRACT.target)
--
--$$($(1).EXTRACT.target): | $$(dir $$($(1).EXTRACT.target))
--$$($(1).EXTRACT.target): $$($(1).FETCH.target)
-- $$($(1).EXTRACT)
--
--$($(1).name).extract.touch:
-- $$(TOUCH.exe) $$($(1).EXTRACT.target)
--
--$($(1).name).extract.untouch:
-- $$(RM.exe) -f $$($(1).EXTRACT.target)
-+#$($(1).name).extract: $$($(1).EXTRACT.target)
-+#
-+#$$($(1).EXTRACT.target): | $$(dir $$($(1).EXTRACT.target))
-+#$$($(1).EXTRACT.target): $$($(1).FETCH.target)
-+# $$($(1).EXTRACT)
-+#
-+#$($(1).name).extract.touch:
-+# $$(TOUCH.exe) $$($(1).EXTRACT.target)
-+#
-+#$($(1).name).extract.untouch:
-+# $$(RM.exe) -f $$($(1).EXTRACT.target)
-
- ##
- ## target: patch
diff --git a/multimedia/handbrake/files/patch-make_include_gcc.defs b/multimedia/handbrake/files/patch-make_include_gcc.defs
deleted file mode 100644
index 7bca41333bde..000000000000
--- a/multimedia/handbrake/files/patch-make_include_gcc.defs
+++ /dev/null
@@ -1,11 +0,0 @@
---- make/include/gcc.defs.orig 2011-08-22 15:08:08.322100000 +0900
-+++ make/include/gcc.defs 2011-10-15 20:34:17.737925255 +0900
-@@ -47,7 +47,7 @@
- GCC.args.ML = -fmessage-length=0
- GCC.args.H = -H
- GCC.args.W = -W$(1)
--GCC.args.archs = -arch $(1)
-+GCC.args.archs = -march=$(1)
- GCC.args.sysroot = --sysroot=$(1)
- GCC.args.ldsysroot = -syslibroot $(1)
- GCC.args.minver = -mmacosx-version-min=$(1)
diff --git a/multimedia/handbrake/files/patch-make_include_main.defs b/multimedia/handbrake/files/patch-make_include_main.defs
index d741d565c6a6..9aaec8b17d2c 100644
--- a/multimedia/handbrake/files/patch-make_include_main.defs
+++ b/multimedia/handbrake/files/patch-make_include_main.defs
@@ -1,15 +1,6 @@
---- make/include/main.defs.orig 2014-10-16 01:32:41.000000000 +0200
-+++ make/include/main.defs 2015-03-29 17:09:49.690928000 +0200
-@@ -62,7 +62,7 @@
- endif
-
- MODULES += contrib/ffmpeg
--MODULES += contrib/libvpx
-+#MODULES += contrib/libvpx
- MODULES += contrib/libdvdread
- MODULES += contrib/libdvdnav
- MODULES += contrib/libbluray
-@@ -125,6 +125,11 @@
+--- make/include/main.defs.orig 2017-02-25 20:56:19 UTC
++++ make/include/main.defs
+@@ -134,6 +134,11 @@ ifeq (1-linux,$(FEATURE.gtk)-$(BUILD.sys
MODULES += gtk
endif
@@ -18,6 +9,6 @@
+ MODULES += gtk
+endif
+
- ifeq (1,$(FEATURE.local_yasm))
- MODULES += contrib/yasm
- endif
+ ifeq (1-kfreebsd,$(FEATURE.gtk)-$(BUILD.system))
+ ## build gtk when gtk+kfreebsd
+ MODULES += gtk
diff --git a/multimedia/handbrake/files/patch-make_include_select.defs b/multimedia/handbrake/files/patch-make_include_select.defs
deleted file mode 100644
index b692161187e7..000000000000
--- a/multimedia/handbrake/files/patch-make_include_select.defs
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./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-scripts_build-presets.sh b/multimedia/handbrake/files/patch-scripts_build-presets.sh
new file mode 100644
index 000000000000..3bd5f1c43621
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_build-presets.sh
@@ -0,0 +1,8 @@
+--- scripts/build-presets.sh.orig 2017-02-25 20:56:19 UTC
++++ scripts/build-presets.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env bash
+ # usage: build-presets
+
+ SELF="${BASH_SOURCE[0]}"
diff --git a/multimedia/handbrake/files/patch-scripts_create__resources.py b/multimedia/handbrake/files/patch-scripts_create__resources.py
new file mode 100644
index 000000000000..009beacf0b27
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_create__resources.py
@@ -0,0 +1,8 @@
+--- scripts/create_resources.py.orig 2017-02-25 20:56:19 UTC
++++ scripts/create_resources.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python
++#! /usr/bin/env python
+ #
+
+ import types
diff --git a/multimedia/handbrake/files/patch-scripts_mac-toolchain-build b/multimedia/handbrake/files/patch-scripts_mac-toolchain-build
new file mode 100644
index 000000000000..30300aa5ec4b
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_mac-toolchain-build
@@ -0,0 +1,8 @@
+--- scripts/mac-toolchain-build.orig 2017-02-25 20:56:19 UTC
++++ scripts/mac-toolchain-build
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env bash
+
+ # mac only
+ if [[ "$(uname)" != "Darwin" ]]; then
diff --git a/multimedia/handbrake/files/patch-scripts_manicure.rb b/multimedia/handbrake/files/patch-scripts_manicure.rb
new file mode 100644
index 000000000000..cc7a70ab56e3
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_manicure.rb
@@ -0,0 +1,8 @@
+--- scripts/manicure.rb.orig 2017-02-25 20:56:19 UTC
++++ scripts/manicure.rb
+@@ -1,4 +1,4 @@
+-#! /usr/bin/ruby
++#! /usr/bin/env ruby
+ # manincure.rb version 0.66
+
+ # This file is part of the HandBrake source code.
diff --git a/multimedia/handbrake/files/patch-scripts_mingw-w64-build b/multimedia/handbrake/files/patch-scripts_mingw-w64-build
new file mode 100644
index 000000000000..5167cc7dc262
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_mingw-w64-build
@@ -0,0 +1,8 @@
+--- scripts/mingw-w64-build.orig 2017-02-25 20:56:19 UTC
++++ scripts/mingw-w64-build
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env bash
+ # mingw-w64-build - download and build mingw-w64 toolchain
+ #
+ # Project: https://github.com/bradleysepos/mingw-w64-build
diff --git a/multimedia/handbrake/files/patch-scripts_quotestring.py b/multimedia/handbrake/files/patch-scripts_quotestring.py
new file mode 100644
index 000000000000..780aaac134ae
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_quotestring.py
@@ -0,0 +1,8 @@
+--- scripts/quotestring.py.orig 2017-02-25 20:56:19 UTC
++++ scripts/quotestring.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/python
++#! /usr/bin/env python
+
+ import re
+ import getopt
diff --git a/multimedia/handbrake/files/patch-scripts_repo-info.sh b/multimedia/handbrake/files/patch-scripts_repo-info.sh
new file mode 100644
index 000000000000..9ec9760b7cd5
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_repo-info.sh
@@ -0,0 +1,8 @@
+--- scripts/repo-info.sh.orig 2017-02-25 20:56:19 UTC
++++ scripts/repo-info.sh
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#!/usr/bin/env bash
+ #
+ # Retrieves git repository info for directory ${1} using command ${2}
+
diff --git a/multimedia/handbrake/files/patch-scripts_tag-release.sh b/multimedia/handbrake/files/patch-scripts_tag-release.sh
new file mode 100644
index 000000000000..df7d1f15f9d6
--- /dev/null
+++ b/multimedia/handbrake/files/patch-scripts_tag-release.sh
@@ -0,0 +1,8 @@
+--- scripts/tag-release.sh.orig 2017-02-25 20:56:19 UTC
++++ scripts/tag-release.sh
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#!/usr/bin/env bash
+ #
+ # Usage: tag-release.sh <release-ver> [<ref>]
+ #
diff --git a/multimedia/handbrake/files/patch-test_module.defs b/multimedia/handbrake/files/patch-test_module.defs
new file mode 100644
index 000000000000..ad768a007ba4
--- /dev/null
+++ b/multimedia/handbrake/files/patch-test_module.defs
@@ -0,0 +1,11 @@
+--- test/module.defs.orig 2017-02-25 20:56:19 UTC
++++ test/module.defs
+@@ -13,7 +13,7 @@ TEST.GCC.L = $(CONTRIB.build/)lib
+
+ TEST.libs = $(LIBHB.a)
+
+-TEST.GCC.l = \
++TEST.GCC.l = pthread \
+ ass avresample avformat avcodec avfilter avutil mp3lame dvdnav \
+ dvdread fontconfig fribidi \
+ samplerate swscale vpx theoraenc theoradec vorbis vorbisenc ogg x264 \
diff --git a/multimedia/handbrake/files/patch-version.txt b/multimedia/handbrake/files/patch-version.txt
new file mode 100644
index 000000000000..6d26707ebcf4
--- /dev/null
+++ b/multimedia/handbrake/files/patch-version.txt
@@ -0,0 +1,12 @@
+--- version.txt.orig 2017-03-29 00:53:31 UTC
++++ version.txt
+@@ -0,0 +1,9 @@
++URL=https://github.com/HandBrake/HandBrake.git
++HASH=5ecc600a805c6dc2632f4ca6d3beb4fbb8cbefd0
++SHORTHASH=5ecc600
++TAG=1.0.3
++TAG_HASH=5ecc600a805c6dc2632f4ca6d3beb4fbb8cbefd0
++REV=0
++BRANCH=
++REMOTE=https://github.com/HandBrake/HandBrake.git
++DATE=2017-02-25 15:56:19 -0500
diff --git a/multimedia/handbrake/pkg-descr b/multimedia/handbrake/pkg-descr
index ce69ea716227..b0ab289d540c 100644
--- a/multimedia/handbrake/pkg-descr
+++ b/multimedia/handbrake/pkg-descr
@@ -11,7 +11,8 @@ Supported sources:
Outputs:
* File (container) format: MP4 (M4V) and MKV
- * Video: H.264 (x264), MPEG-2/MPEG-4 (ffmpeg), or Theora (libtheora)
+ * Video: H.264 (x264), H.265 (x265), 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-through
diff --git a/multimedia/handbrake/pkg-plist b/multimedia/handbrake/pkg-plist
new file mode 100644
index 000000000000..c3028cd35a23
--- /dev/null
+++ b/multimedia/handbrake/pkg-plist
@@ -0,0 +1,19 @@
+bin/HandBrakeCLI
+%%X11%%bin/ghb
+%%X11%%bin/HandBrake
+%%X11%%share/applications/ghb.desktop
+%%X11%%share/icons/hicolor/scalable/apps/hb-icon.svg
+%%X11%%share/locale/cs/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/da/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/de/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/es/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/fr/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/it_IT/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/ja_JP/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/ko/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/no/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/pt_BR/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/ro_RO/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/ru/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/th/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/zh_CN/LC_MESSAGES/ghb.mo