diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile index b606da56f4e1..cceb5faa3782 100644 --- a/multimedia/handbrake/Makefile +++ b/multimedia/handbrake/Makefile @@ -1,129 +1,132 @@ PORTNAME= handbrake -DISTVERSION= 1.10.2 -PORTREVISION= 2 +DISTVERSION= 1.11.1 CATEGORIES= multimedia MASTER_SITES= https://github.com/HandBrake/HandBrake/releases/download/${DISTVERSION}/ MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/:contrib MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/:contrib DISTNAME= HandBrake-${DISTVERSION} DISTFILES= ${DISTNAME}-source.tar.bz2 ${CONTRIB_FILES:S/$/:contrib/} DIST_SUBDIR= ${PORTNAME} MAINTAINER= naito.yuichiro@gmail.com COMMENT= Versatile DVD ripper and video transcoder WWW= https://handbrake.fr/ LICENSE= GPLv2 FDK_AAC LICENSE_COMB= multi LICENSE_NAME_FDK_AAC= Software License for The Fraunhofer FDK AAC Codec Library for Android LICENSE_FILE_FDK_AAC= ${WRKDIR}/${DISTFILES:Mfdk*:R:R}/NOTICE LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept ONLY_FOR_ARCHS= amd64 powerpc powerpc64 powerpc64le BUILD_DEPENDS= bash:shells/bash \ nasm:devel/nasm \ cmake:devel/cmake-core \ meson:devel/meson \ + appstreamcli:devel/appstream \ git:devel/git@lite -LIB_DEPENDS= libdbus-1.so:devel/dbus \ - libdrm.so:graphics/libdrm \ +LIB_DEPENDS= libdrm.so:graphics/libdrm \ libturbojpeg.so:graphics/libjpeg-turbo \ libass.so:multimedia/libass \ libspeex.so:audio/speex \ libogg.so:audio/libogg \ libvorbis.so:audio/libvorbis \ libvorbisenc.so:audio/libvorbis \ libtheoradec.so:multimedia/libtheora \ libtheoraenc.so:multimedia/libtheora \ libx264.so:multimedia/libx264 \ libvpx.so:multimedia/libvpx \ libmp3lame.so:audio/lame \ libopus.so:audio/opus \ libjansson.so:devel/jansson USES= autoreconf:build compiler:c11 gmake iconv libtool:build \ localbase:ldflags ninja:build pkgconfig python:build -CONTRIB_FILES= SVT-AV1-v3.1.2.tar.gz \ +CONTRIB_FILES= SVT-AV1-v4.0.1.tar.gz \ fdk-aac-2.0.3.tar.gz \ - ffmpeg-7.1.1.tar.bz2 \ - libbluray-1.3.4.tar.bz2 \ - libdvdnav-6.1.1.tar.bz2 \ - libdvdread-6.1.3.tar.bz2 \ - dav1d-1.5.1.tar.bz2 \ + ffmpeg-8.0.1.tar.bz2 \ + libbluray-1.4.0.tar.xz \ + libdvdnav-7.0.0.tar.bz2 \ + libdvdread-7.0.1.tar.bz2 \ + dav1d-1.5.3.tar.bz2 \ dovi_tool-libdovi-3.3.2.tar.gz \ - x265-snapshot-20250729-13276.tar.gz \ + x265-snapshot-20260216-13309.tar.gz \ zimg-snapshot-20250624.tar.gz .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:multimedia/libdvdcss .endif GNU_CONFIGURE= yes CONFIGURE_ARGS= --force --enable-x265 CONFIGURE_TARGET= build MAKEFILE= GNUmakefile MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal ALL_TARGET= # INSTALL_TARGET= install-strip # Enforce linking to bundled libraries instead of system libraries LDFLAGS+= -L${BUILD_WRKSRC}/contrib/lib BINARY_ALIAS= python3=${PYTHON_VERSION} NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264 BUILD_WRKSRC= ${WRKSRC}/build INSTALL_WRKSRC= ${WRKSRC}/build OPTIONS_DEFINE= FDK_AAC VPL X11 OPTIONS_DEFAULT= VPL X11 OPTIONS_EXCLUDE_powerpc= VPL OPTIONS_EXCLUDE_powerpc64= VPL OPTIONS_EXCLUDE_powerpc64le= VPL OPTIONS_SUB= yes FDK_AAC_DESC= Enable non-free Fraunhofer FDK AAC codec VPL_DESC= Intel oneVPL (aka Quick Sync Video) X11_DESC= Build GTK 3 based GUI program FDK_AAC_CONFIGURE_ENABLE= fdk-aac FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi VPL_LIB_DEPENDS= libvpl.so:multimedia/onevpl \ libmfx.so:multimedia/intel-media-sdk \ libva-drm.so:multimedia/libva VPL_CONFIGURE_ON= --enable-qsv -X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx -X11_USES= gettext desktop-file-utils gnome gstreamer -X11_USE= gstreamer=gdkpixbuf,libav \ - gnome=gtk40,intltool,cairo,gdkpixbuf,libxml2 +X11_USES= gettext desktop-file-utils gnome +X11_USE= gnome=gtk40,intltool,gdkpixbuf,libxml2 X11_CONFIGURE_OFF= --disable-gtk X11_CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin X11_MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin # HandBrake tries to fetch its dependencies during build phase, which is not # considered good in FreeBSD. Instead, we will provide the downloaded files. post-extract: .SILENT ${MKDIR} ${WRKSRC}/download pre-configure: cd ${DISTDIR}/${DIST_SUBDIR} && \ ${INSTALL_DATA} ${CONTRIB_FILES} \ ${WRKSRC}/download -# for powerpc64 -# picked from multimedia/ffmpeg/files/patch-libswscale_ppc_yuv2rgb__altivec.c - ${CP} ${FILESDIR}/P02-freebsd-ppc-libswscale.patch ${WRKSRC}/contrib/ffmpeg +# Some unbundled software uses a hardcoded `lib/pkgconfig` directory for .pc +# files. But the unbundled software built by Meson correctly places the .pc +# file in `libdata/pkgconfig` in the FreeBSD way. To handle these two kinds of +# build systems, merge `lib` and `libdata` into the same directory. All the +# unbundled software is linked statically. The library path is used at compile +# time, not at runtime. +post-configure: + ${MKDIR} ${WRKSRC}/build/contrib/libdata + ${LN} -s ${WRKSRC}/build/contrib/libdata ${WRKSRC}/build/contrib/lib post-install-X11-on: ${LN} -sf ghb ${STAGEDIR}${PREFIX}/bin/HandBrake .include diff --git a/multimedia/handbrake/distinfo b/multimedia/handbrake/distinfo index 60ad47714b1f..3e9fe93f6a84 100644 --- a/multimedia/handbrake/distinfo +++ b/multimedia/handbrake/distinfo @@ -1,23 +1,23 @@ -TIMESTAMP = 1761124098 -SHA256 (handbrake/HandBrake-1.10.2-source.tar.bz2) = c65e1cc4f8cfc36c24107b92c28d60e71ef185ec983e9a5841facffafea5f8db -SIZE (handbrake/HandBrake-1.10.2-source.tar.bz2) = 9481895 -SHA256 (handbrake/SVT-AV1-v3.1.2.tar.gz) = d0d73bfea42fdcc1222272bf2b0e2319e9df5574721298090c3d28315586ecb1 -SIZE (handbrake/SVT-AV1-v3.1.2.tar.gz) = 10909754 +TIMESTAMP = 1777018797 +SHA256 (handbrake/HandBrake-1.11.1-source.tar.bz2) = 4ff6a8a57c9b1cea51025306e313eee423b0fa1a8b7799aeaa8d4d7c457a7310 +SIZE (handbrake/HandBrake-1.11.1-source.tar.bz2) = 11759752 +SHA256 (handbrake/SVT-AV1-v4.0.1.tar.gz) = 9c0f9a4327334c40a76d2f39940d8a1b2dd8b1358375a11c4715d516b90a65cb +SIZE (handbrake/SVT-AV1-v4.0.1.tar.gz) = 10935768 SHA256 (handbrake/fdk-aac-2.0.3.tar.gz) = e25671cd96b10bad896aa42ab91a695a9e573395262baed4e4a2ff178d6a3a78 SIZE (handbrake/fdk-aac-2.0.3.tar.gz) = 2518649 -SHA256 (handbrake/ffmpeg-7.1.1.tar.bz2) = 0c8da2f11579a01e014fc007cbacf5bb4da1d06afd0b43c7f8097ec7c0f143ba -SIZE (handbrake/ffmpeg-7.1.1.tar.bz2) = 13278839 -SHA256 (handbrake/libbluray-1.3.4.tar.bz2) = 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b -SIZE (handbrake/libbluray-1.3.4.tar.bz2) = 756323 -SHA256 (handbrake/libdvdnav-6.1.1.tar.bz2) = c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48 -SIZE (handbrake/libdvdnav-6.1.1.tar.bz2) = 367606 -SHA256 (handbrake/libdvdread-6.1.3.tar.bz2) = ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369 -SIZE (handbrake/libdvdread-6.1.3.tar.bz2) = 395439 -SHA256 (handbrake/dav1d-1.5.1.tar.bz2) = 4eddffd108f098e307b93c9da57b6125224dc5877b1b3d157b31be6ae8f1f093 -SIZE (handbrake/dav1d-1.5.1.tar.bz2) = 1214503 +SHA256 (handbrake/ffmpeg-8.0.1.tar.bz2) = 65ff433fab5727fb2dc41f1d508dc60e6192fea44cab2e0301194feee4bcf1d7 +SIZE (handbrake/ffmpeg-8.0.1.tar.bz2) = 13694841 +SHA256 (handbrake/libbluray-1.4.0.tar.xz) = 77937baf07eadda4b2b311cf3af4c50269d2ea3165041f5843d96476c4c92777 +SIZE (handbrake/libbluray-1.4.0.tar.xz) = 458580 +SHA256 (handbrake/libdvdnav-7.0.0.tar.bz2) = 1363cdfaf6e92c0b574579299b5480f5867fb32989451468a28f3f402ec48787 +SIZE (handbrake/libdvdnav-7.0.0.tar.bz2) = 85779 +SHA256 (handbrake/libdvdread-7.0.1.tar.bz2) = b69f74d9ceea1ed173b579deba99f669c2cb42f3fd06d7d23b33ff222aa63763 +SIZE (handbrake/libdvdread-7.0.1.tar.bz2) = 92949 +SHA256 (handbrake/dav1d-1.5.3.tar.bz2) = e099f53253f6c247580c554d53a13f1040638f2066edc3c740e4c2f15174ce22 +SIZE (handbrake/dav1d-1.5.3.tar.bz2) = 1217030 SHA256 (handbrake/dovi_tool-libdovi-3.3.2.tar.gz) = 8ccb1922d7dbb57bc4f2c15c10b90c462f7a5f292efe317c116db923728dd3f1 SIZE (handbrake/dovi_tool-libdovi-3.3.2.tar.gz) = 489628 -SHA256 (handbrake/x265-snapshot-20250729-13276.tar.gz) = 3feb40d5f7fc37aba193a686a4445efff332f18d0f4830c6af565c3e18d340a8 -SIZE (handbrake/x265-snapshot-20250729-13276.tar.gz) = 1738652 +SHA256 (handbrake/x265-snapshot-20260216-13309.tar.gz) = a0882bb90826da62a96676c1a7cb7a7beb7f1db901f2775299cbeed03c3eb2a2 +SIZE (handbrake/x265-snapshot-20260216-13309.tar.gz) = 1806557 SHA256 (handbrake/zimg-snapshot-20250624.tar.gz) = 19a96cdc266466be58be86a9271bedb1f080bf4cc14f5ed58ac39dc5b970fd17 SIZE (handbrake/zimg-snapshot-20250624.tar.gz) = 3217869 diff --git a/multimedia/handbrake/files/P02-freebsd-ppc-libswscale.patch b/multimedia/handbrake/files/P02-freebsd-ppc-libswscale.patch deleted file mode 100644 index 1b6b9966f066..000000000000 --- a/multimedia/handbrake/files/P02-freebsd-ppc-libswscale.patch +++ /dev/null @@ -1,15 +0,0 @@ -Error: -libswscale/ppc/yuv2rgb_altivec.c:288:36: error: redeclaration of 'vec_xl' must have the 'overloadable' attribute -static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr) - ---- a/libswscale/ppc/yuv2rgb_altivec.c.orig 2021-04-08 21:28:40 UTC -+++ b/libswscale/ppc/yuv2rgb_altivec.c -@@ -284,7 +284,7 @@ static inline void cvtyuvtoRGB(SwsContext *c, vector s - * ------------------------------------------------------------------------------ - */ - --#if !HAVE_VSX -+#if !HAVE_VSX && !defined(__clang__) - static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr) - { - const vector unsigned char *v_addr = (const vector unsigned char *) (addr + offset); diff --git a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs index 1ab6fbcaafbd..a7c79ab6d086 100644 --- a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs +++ b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs @@ -1,10 +1,13 @@ ---- contrib/ffmpeg/module.defs.orig 2025-08-08 16:41:24 UTC +--- contrib/ffmpeg/module.defs.orig 2026-03-07 07:28:06 UTC +++ contrib/ffmpeg/module.defs -@@ -35,6 +35,7 @@ FFMPEG.CONFIGURE.extra = \ - --disable-hwaccels \ - --disable-vdpau \ - --disable-postproc \ -+ --disable-vulkan \ - --disable-encoders \ - --enable-libmp3lame \ - --enable-encoder=aac \ +@@ -101,6 +101,10 @@ endif + FFMPEG.CONFIGURE.extra += --disable-vaapi + endif + ++ifneq (1,$(FEATURE.gtk)) ++ FFMPEG.CONFIGURE.extra += --disable-xlib ++endif ++ + ifeq (1,$(FEATURE.fdk_aac)) + FFMPEG.CONFIGURE.extra += \ + --enable-nonfree \ diff --git a/multimedia/handbrake/pkg-plist b/multimedia/handbrake/pkg-plist index 47c05301ae8f..b9ae3d11256f 100644 --- a/multimedia/handbrake/pkg-plist +++ b/multimedia/handbrake/pkg-plist @@ -1,22 +1,24 @@ bin/HandBrakeCLI %%X11%%bin/ghb %%X11%%bin/HandBrake %%X11%%share/applications/fr.handbrake.ghb.desktop %%X11%%share/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg %%X11%%share/locale/bg/LC_MESSAGES/ghb.mo %%X11%%share/locale/ca/LC_MESSAGES/ghb.mo %%X11%%share/locale/co/LC_MESSAGES/ghb.mo %%X11%%share/locale/de/LC_MESSAGES/ghb.mo %%X11%%share/locale/es/LC_MESSAGES/ghb.mo %%X11%%share/locale/eu/LC_MESSAGES/ghb.mo %%X11%%share/locale/fi/LC_MESSAGES/ghb.mo %%X11%%share/locale/fr/LC_MESSAGES/ghb.mo +%%X11%%share/locale/gl_ES/LC_MESSAGES/ghb.mo %%X11%%share/locale/it/LC_MESSAGES/ghb.mo %%X11%%share/locale/ja/LC_MESSAGES/ghb.mo %%X11%%share/locale/ko/LC_MESSAGES/ghb.mo %%X11%%share/locale/nl/LC_MESSAGES/ghb.mo %%X11%%share/locale/pt_BR/LC_MESSAGES/ghb.mo +%%X11%%share/locale/ru/LC_MESSAGES/ghb.mo %%X11%%share/locale/sl_SI/LC_MESSAGES/ghb.mo %%X11%%share/locale/sv/LC_MESSAGES/ghb.mo %%X11%%share/locale/zh_CN/LC_MESSAGES/ghb.mo %%X11%%share/metainfo/fr.handbrake.ghb.metainfo.xml