Download raw body.
UPDATE: HandBrake 1.6.1
Here is an update to HandBrake 1.6.1.
https://raw.githubusercontent.com/HandBrake/HandBrake/master/NEWS.markdown
Still looking for any feedback.
I pushed most of the patching upstream.
There will be some things that I think are broken. I don't think the 10-bit
H.264 encoding works.
Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/Makefile,v
retrieving revision 1.20
diff -u -p -u -p -r1.20 Makefile
--- Makefile 27 Sep 2023 10:10:20 -0000 1.20
+++ Makefile 5 Apr 2024 06:36:44 -0000
@@ -1,8 +1,8 @@
-V = 1.3.3
COMMENT = open source video transcoder
+
+V = 1.6.1
DISTNAME = HandBrake-${V}-source
PKGNAME = handbrake-${V}
-REVISION = 7
EXTRACT_SUFX = .tar.bz2
CATEGORIES = multimedia x11
@@ -12,20 +12,20 @@ MAINTAINER = Brian Callahan <bcallah@ope
# GPLv2 only
PERMIT_PACKAGE = Yes
-WANTLIB += ${COMPILER_LIBCXX} X11 Xau Xcomposite Xcursor Xdamage
-WANTLIB += Xdmcp Xext Xfixes Xi Xinerama Xrandr Xrender aom ass
-WANTLIB += atk-1.0 atk-bridge-2.0 atspi avcodec avfilter avformat
-WANTLIB += avutil bluray bz2 c cairo cairo-gobject
-WANTLIB += crypto dav1d dbus-1 dvdnav dvdread epoxy execinfo expat
-WANTLIB += ffi fontconfig freetype fribidi gdk-3 gdk_pixbuf-2.0
-WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 graphite2
-WANTLIB += gsm gstaudio-1.0 gstbase-1.0 gstpbutils-1.0 gstreamer-1.0
-WANTLIB += gsttag-1.0 gstvideo-1.0 gthread-2.0 gtk-3 harfbuzz
-WANTLIB += iconv intl jansson jpeg lzma m mp3lame ogg opus orc-0.4
-WANTLIB += pango-1.0 pangocairo-1.0 pangoft2-1.0 pcre2-8 pixman-1
-WANTLIB += png postproc speex ssl swresample swscale theoradec
-WANTLIB += theoraenc udfread vidstab vorbis vorbisenc vpx x264
-WANTLIB += x265 xcb xcb-render xcb-shm xml2 xvidcore z zimg
+WANTLIB += ${COMPILER_LIBCXX} SvtAv1Enc X11 Xau Xcomposite Xcursor
+WANTLIB += Xdamage Xdmcp Xext Xfixes Xi Xinerama Xrandr Xrender
+WANTLIB += aom ass atk-1.0 atk-bridge-2.0 atspi avcodec avfilter
+WANTLIB += avformat avutil bluray bz2 c cairo cairo-gobject crypto
+WANTLIB += dav1d dbus-1 dvdnav dvdread epoxy execinfo expat ffi
+WANTLIB += fontconfig freetype fribidi gdk-3 gdk_pixbuf-2.0 gio-2.0
+WANTLIB += glib-2.0 gmodule-2.0 gobject-2.0 graphite2 gsm gstaudio-1.0
+WANTLIB += gstbase-1.0 gstpbutils-1.0 gstreamer-1.0 gsttag-1.0
+WANTLIB += gstvideo-1.0 gthread-2.0 gtk-3 harfbuzz iconv intl
+WANTLIB += jansson jpeg lzma m mp3lame ogg opus orc-0.4 pango-1.0
+WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre2-8 pixman-1 png postproc
+WANTLIB += speex ssl swresample swscale theoradec theoraenc turbojpeg
+WANTLIB += udfread unibreak vidstab vorbis vorbisenc vpx x264 x265 xcb
+WANTLIB += xcb-render xcb-shm xml2 xvidcore z zimg
SITES = https://github.com/HandBrake/HandBrake/releases/download/${V}/
@@ -40,17 +40,32 @@ BUILD_DEPENDS = devel/autoconf/${AUTOCON
devel/libtool \
textproc/intltool
-LIB_DEPENDS = devel/jansson \
- devel/orc \
+LIB_DEPENDS = archivers/bzip2 \
+ archivers/xz \
+ audio/lame \
+ audio/libogg \
+ audio/libvorbis \
+ audio/opus \
+ audio/speex \
+ converters/libiconv \
+ devel/fribidi \
+ devel/harfbuzz \
+ devel/jansson \
+ devel/libdvdread \
graphics/ffmpeg \
+ graphics/jpeg \
+ graphics/zimg \
multimedia/aom \
+ multimedia/libass \
multimedia/libbluray \
multimedia/gstreamer1/plugins-base \
multimedia/libdvdnav \
multimedia/libtheora \
multimedia/libvpx \
+ multimedia/svt-av1 \
multimedia/x264 \
multimedia/x265 \
+ textproc/libxml \
x11/gtk+3
RUN_DEPENDS = devel/desktop-file-utils \
@@ -60,8 +75,6 @@ SEPARATE_BUILD = Yes
CONFIGURE_STYLE = simple
CONFIGURE_SCRIPT = ${MODPY_BIN} ${WRKSRC}/make/configure.py
-CONFIGURE_ARGS = --disable-gtk-update-checks \
- --enable-x265
# Yes, autoconf is called *during* the build but not at configure time...
USE_GMAKE = Yes
@@ -71,22 +84,20 @@ MAKE_ENV = AUTOCONF_VERSION="${AUTOCONF_
AWK=/usr/bin/awk \
MKDIR_P='/bin/mkdir -p'
MAKE_FILE = GNUmakefile
-MAKE_FLAGS = CFLAGS="${CFLAGS} -I${LOCALBASE}/include/libxml2 -D_NO_UPDATE_CHECK" \
- LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib -L${X11BASE}/lib -lx265 -liconv"
+MAKE_FLAGS = CFLAGS="${CFLAGS}" \
+ LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
.if ${MACHINE_ARCH:Mi386}
CFLAGS += -msse2
CXXFLAGS += -msse2
.endif
-AUTOCONF_VERSION = 2.69
+CFLAGS+= -D_NO_UPDATE_CHECK
+
+AUTOCONF_VERSION = 2.71
AUTOMAKE_VERSION = 1.16
WRKDIST = ${WRKDIR}/HandBrake-${V}
-
-post-extract:
- ln -s ${WRKSRC}/make/variant/freebsd.defs \
- ${WRKSRC}/make/variant/openbsd.defs
post-install:
ln -s ${TRUEPREFIX}/bin/ghb ${PREFIX}/bin/HandBrake
Index: distinfo
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/distinfo,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 distinfo
--- distinfo 20 Jun 2020 21:12:38 -0000 1.5
+++ distinfo 5 Apr 2024 06:36:44 -0000
@@ -1,2 +1,2 @@
-SHA256 (HandBrake-1.3.3-source.tar.bz2) = IYo32V9ItefPKFNj06sWwxTZdienpxDKs3WJAq6Hf4U=
-SIZE (HandBrake-1.3.3-source.tar.bz2) = 16804119
+SHA256 (HandBrake-1.6.1-source.tar.bz2) = lMz+A9uRepFlAADFEPf9U/hE2hnxmtS0vhuPa8MajUw=
+SIZE (HandBrake-1.6.1-source.tar.bz2) = 15934833
Index: patches/patch-gtk_configure_ac
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/patches/patch-gtk_configure_ac,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 patch-gtk_configure_ac
--- patches/patch-gtk_configure_ac 11 Mar 2022 19:39:19 -0000 1.5
+++ patches/patch-gtk_configure_ac 5 Apr 2024 06:36:44 -0000
@@ -1,25 +1,14 @@
Get the proper library directory for -lhandbrake.
-No -ldl on OpenBSD.
Index: gtk/configure.ac
--- gtk/configure.ac.orig
+++ gtk/configure.ac
-@@ -199,7 +199,7 @@ AM_CONDITIONAL([GHB_GTK_3_16], [test "$HAVE_GTK_316" -
+@@ -203,7 +203,7 @@ AM_CONDITIONAL([GHB_GTK_3_16], [test "$HAVE_GTK_316" -
AM_CONDITIONAL([MINGW], [test "x$mingw_flag" = "xyes"])
--HB_LIBS="$HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -llzma"
-+HB_LIBS="-L../../libhb $HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -llzma"
+-HB_LIBS="$HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -lturbojpeg -llzma -lzimg -lSvtAv1Enc"
++HB_LIBS="-L../../libhb $HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -lturbojpeg -llzma -lzimg -lSvtAv1Enc"
HB_CPPFLAGS="$HB_CPPFLAGS $HBINC"
PKG_CHECK_MODULES([x264], [x264], sys_x264=yes, sys_x264=no)
-@@ -236,6 +236,9 @@ case $host in
- HB_LIBS="$HB_LIBS -lbcrypt -lregex -luuid -lole32"
- ;;
- *-*-freebsd*)
-+ HB_LIBS="$HB_LIBS -lpthread"
-+ ;;
-+ *-*-openbsd*)
- HB_LIBS="$HB_LIBS -lpthread"
- ;;
- *-*-netbsd*)
Index: patches/patch-gtk_src_callbacks_c
===================================================================
RCS file: patches/patch-gtk_src_callbacks_c
diff -N patches/patch-gtk_src_callbacks_c
--- patches/patch-gtk_src_callbacks_c 11 Mar 2022 19:39:19 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-We need this include too.
-
-Index: gtk/src/callbacks.c
---- gtk/src/callbacks.c.orig
-+++ gtk/src/callbacks.c
-@@ -43,7 +43,7 @@
- #include <gudev/gudev.h>
- #endif
-
--#if defined( __FreeBSD__ )
-+#if defined( __FreeBSD__ ) || defined( __OpenBSD__ )
- #include <sys/socket.h>
- #endif
- #include <netinet/in.h>
Index: patches/patch-libhb_audio_remap_c
===================================================================
RCS file: patches/patch-libhb_audio_remap_c
diff -N patches/patch-libhb_audio_remap_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_audio_remap_c 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,24 @@
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
+
+Index: libhb/audio_remap.c
+--- libhb/audio_remap.c.orig
++++ libhb/audio_remap.c
+@@ -258,7 +258,7 @@ void hb_audio_remap_set_channel_layout(hb_audio_remap_
+ {
+ channel_layout = AV_CH_LAYOUT_STEREO;
+ }
+- remap->nchannels = hb_layout_get_discrete_channel_count(channel_layout);
++ remap->nchannels = av_get_channel_layout_nb_channels(channel_layout);
+
+ // in some cases, remapping is not necessary and/or supported
+ if (remap->nchannels > HB_AUDIO_REMAP_MAX_CHANNELS)
+@@ -317,7 +317,7 @@ void hb_audio_remap_build_table(hb_chan_map_t *channel
+ // Dolby Surround is Stereo when it comes to remapping
+ channel_layout = AV_CH_LAYOUT_STEREO;
+ }
+- nchannels = hb_layout_get_discrete_channel_count(channel_layout);
++ nchannels = av_get_channel_layout_nb_channels(channel_layout);
+
+ // clear remap table before (re-)building it
+ memset(remap_table, 0, nchannels * sizeof(int));
Index: patches/patch-libhb_audio_resample_c
===================================================================
RCS file: patches/patch-libhb_audio_resample_c
diff -N patches/patch-libhb_audio_resample_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_audio_resample_c 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,25 @@
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
+
+Index: libhb/audio_resample.c
+--- libhb/audio_resample.c.orig
++++ libhb/audio_resample.c
+@@ -53,7 +53,7 @@ hb_audio_resample_t* hb_audio_resample_init(enum AVSam
+ }
+
+ // requested output channel_layout, sample_fmt
+- resample->out.channels = hb_layout_get_discrete_channel_count(channel_layout);
++ resample->out.channels = av_get_channel_layout_nb_channels(channel_layout);
+ resample->out.channel_layout = channel_layout;
+ resample->out.matrix_encoding = matrix_encoding;
+ resample->out.sample_fmt = sample_fmt;
+@@ -232,7 +232,8 @@ int hb_audio_resample_update(hb_audio_resample_t *resa
+ resample->resample.sample_fmt = resample->in.sample_fmt;
+ resample->resample.sample_rate = resample->in.sample_rate;
+ resample->resample.channel_layout = resample->in.channel_layout;
+- resample->resample.channels = hb_layout_get_discrete_channel_count(resample->in.channel_layout);
++ resample->resample.channels =
++ av_get_channel_layout_nb_channels(resample->in.channel_layout);
+ resample->resample.lfe_mix_level = resample->in.lfe_mix_level;
+ resample->resample.center_mix_level = resample->in.center_mix_level;
+ resample->resample.surround_mix_level = resample->in.surround_mix_level;
Index: patches/patch-libhb_common_c
===================================================================
RCS file: patches/patch-libhb_common_c
diff -N patches/patch-libhb_common_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_common_c 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,41 @@
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
+
+Index: libhb/common.c
+--- libhb/common.c.orig
++++ libhb/common.c
+@@ -2283,7 +2283,7 @@ int hb_mixdown_has_remix_support(int mixdown, uint64_t
+
+ // more than 1 channel
+ case HB_AMIXDOWN_STEREO:
+- return (hb_layout_get_discrete_channel_count(layout) > 1);
++ return (av_get_channel_layout_nb_channels(layout) > 1);
+
+ // regular stereo (not Dolby)
+ case HB_AMIXDOWN_LEFT:
+@@ -2483,22 +2483,14 @@ const hb_mixdown_t* hb_mixdown_get_next(const hb_mixdo
+ return ((hb_mixdown_internal_t*)last)->next;
+ }
+
+-void hb_layout_get_name(char *name, int size, int64_t layout)
++void hb_layout_get_name(char * name, int size, int64_t layout)
+ {
+- AVChannelLayout ch_layout = {0};
+- av_channel_layout_from_mask(&ch_layout, layout);
+- av_channel_layout_describe(&ch_layout, name, size);
+- av_channel_layout_uninit(&ch_layout);
++ av_get_channel_layout_string(name, size, 0, layout);
+ }
+
+ int hb_layout_get_discrete_channel_count(int64_t layout)
+ {
+- int nb_channels = 0;
+- AVChannelLayout ch_layout = {0};
+- av_channel_layout_from_mask(&ch_layout, layout);
+- nb_channels = ch_layout.nb_channels;
+- av_channel_layout_uninit(&ch_layout);
+- return nb_channels;
++ return av_get_channel_layout_nb_channels(layout);
+ }
+
+ int hb_layout_get_low_freq_channel_count(int64_t layout)
Index: patches/patch-libhb_decavcodec_c
===================================================================
RCS file: patches/patch-libhb_decavcodec_c
diff -N patches/patch-libhb_decavcodec_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_decavcodec_c 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,167 @@
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
+
+Index: libhb/decavcodec.c
+--- libhb/decavcodec.c.orig
++++ libhb/decavcodec.c
+@@ -207,9 +207,6 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j
+ }
+ hb_ff_set_sample_fmt(pv->context, codec, AV_SAMPLE_FMT_FLT);
+
+- // Set decoder opts...
+- AVDictionary *av_opts = NULL;
+-
+ /* Downmixing & sample_fmt conversion */
+ if (!(w->audio->config.out.codec & HB_ACODEC_PASS_FLAG))
+ {
+@@ -239,7 +236,7 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j
+ {
+ case AV_CODEC_ID_AC3:
+ case AV_CODEC_ID_EAC3:
+- avcodec_downmix = w->audio->config.out.normalize_mix_level == 0;
++ avcodec_downmix = w->audio->config.out.normalize_mix_level != 0;
+ break;
+ case AV_CODEC_ID_DTS:
+ avcodec_downmix = w->audio->config.out.normalize_mix_level == 0;
+@@ -260,21 +257,13 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j
+ // request 5.1 before downmixing to dpl1/dpl2
+ case HB_AMIXDOWN_DOLBY:
+ case HB_AMIXDOWN_DOLBYPLII:
+- {
+- av_dict_set(&av_opts, "downmix", "5.1(side)", 0);
++ pv->context->request_channel_layout = AV_CH_LAYOUT_5POINT1;
+ break;
+- }
+ // request the layout corresponding to the selected mixdown
+ default:
+- {
+- char description[256];
+- AVChannelLayout ch_layout = {0};
+- av_channel_layout_from_mask(&ch_layout, hb_ff_mixdown_xlat(w->audio->config.out.mixdown, NULL));
+- av_channel_layout_describe(&ch_layout, description, sizeof(description));
+- av_channel_layout_uninit(&ch_layout);
+- av_dict_set(&av_opts, "downmix", description, 0);
++ pv->context->request_channel_layout =
++ hb_ff_mixdown_xlat(w->audio->config.out.mixdown, NULL);
+ break;
+- }
+ }
+ }
+ }
+@@ -284,9 +273,12 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j
+ if (w->codec_param == AV_CODEC_ID_TRUEHD &&
+ w->audio->config.in.channel_layout == AV_CH_LAYOUT_MONO)
+ {
+- av_dict_set(&av_opts, "downmix", "stereo", 0);
++ pv->context->request_channel_layout = AV_CH_LAYOUT_STEREO;
+ }
+
++ // Set decoder opts...
++ AVDictionary * av_opts = NULL;
++
+ // Dynamic Range Compression
+ if (w->audio->config.out.dynamic_range_compression >= 0.0f &&
+ hb_audio_can_apply_drc(w->audio->config.in.codec,
+@@ -332,14 +324,6 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j
+ pv->context->pkt_timebase.num = pv->audio->config.in.timebase.num;
+ pv->context->pkt_timebase.den = pv->audio->config.in.timebase.den;
+
+- // libavcodec can't decode TrueHD Mono (bug #356)
+- // work around it by requesting Stereo and downmixing
+- if (w->codec_param == AV_CODEC_ID_TRUEHD &&
+- w->audio->config.in.channel_layout == AV_CH_LAYOUT_MONO)
+- {
+- pv->context->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
+- }
+-
+ // avcodec_open populates av_opts with the things it didn't recognize.
+ AVDictionaryEntry *t = NULL;
+ while ((t = av_dict_get(av_opts, "", t, AV_DICT_IGNORE_SUFFIX)) != NULL)
+@@ -752,13 +736,15 @@ static int decavcodecaBSInfo( hb_work_object_t *w, con
+ // libavcodec can't decode TrueHD Mono (bug #356)
+ // work around it by requesting Stereo before decoding
+ if (context->codec_id == AV_CODEC_ID_TRUEHD &&
+- context->ch_layout.u.mask == AV_CH_LAYOUT_MONO)
++ context->channel_layout == AV_CH_LAYOUT_MONO)
+ {
+ truehd_mono = 1;
+- AVChannelLayout ch_layout = AV_CHANNEL_LAYOUT_STEREO;
+- av_opt_set_chlayout(context, "downmix", &ch_layout, AV_OPT_SEARCH_CHILDREN);
+- context->ch_layout = ch_layout;
++ context->request_channel_layout = AV_CH_LAYOUT_STEREO;
+ }
++ else
++ {
++ context->request_channel_layout = 0;
++ }
+
+ AVPacket *avp = av_packet_alloc();
+ avp->data = parse_buffer;
+@@ -797,7 +783,16 @@ static int decavcodecaBSInfo( hb_work_object_t *w, con
+ info->sample_bit_depth = context->bits_per_raw_sample;
+
+ int bps = av_get_bits_per_sample(context->codec_id);
+- int channels = frame->ch_layout.nb_channels;
++ int channels;
++ if (frame->channel_layout != 0)
++ {
++ channels = av_get_channel_layout_nb_channels(
++ frame->channel_layout);
++ }
++ else
++ {
++ channels = frame->channels;
++ }
+
+ info->bitrate = bps * channels * info->rate.num;
+ if (info->bitrate <= 0)
+@@ -837,17 +832,15 @@ static int decavcodecaBSInfo( hb_work_object_t *w, con
+ }
+ else
+ {
+- info->channel_layout = frame->ch_layout.u.mask;
++ info->channel_layout = frame->channel_layout;
+ }
+ }
+ if (info->channel_layout == 0)
+ {
+ // Channel layout was not set. Guess a layout based
+ // on number of channels.
+- AVChannelLayout channel_layout;
+- av_channel_layout_default(&channel_layout, frame->ch_layout.nb_channels);
+- info->channel_layout = channel_layout.u.mask;
+- av_channel_layout_uninit(&channel_layout);
++ info->channel_layout = av_get_default_channel_layout(
++ frame->channels);
+ }
+ if (context->codec_id == AV_CODEC_ID_AC3 ||
+ context->codec_id == AV_CODEC_ID_EAC3)
+@@ -2310,7 +2303,7 @@ static void decodeAudio(hb_work_private_t *pv, packet_
+ else
+ {
+ AVFrameSideData *side_data;
+- AVChannelLayout channel_layout;
++ uint64_t channel_layout;
+ if ((side_data =
+ av_frame_get_side_data(pv->frame,
+ AV_FRAME_DATA_DOWNMIX_INFO)) != NULL)
+@@ -2335,14 +2328,13 @@ static void decodeAudio(hb_work_private_t *pv, packet_
+ center_mix_level,
+ downmix_info->lfe_mix_level);
+ }
+- channel_layout = pv->frame->ch_layout;
+- if (channel_layout.order != AV_CHANNEL_ORDER_NATIVE || channel_layout.u.mask == 0)
++ channel_layout = pv->frame->channel_layout;
++ if (channel_layout == 0)
+ {
+- AVChannelLayout default_ch_layout;
+- av_channel_layout_default(&default_ch_layout, pv->frame->ch_layout.nb_channels);
+- channel_layout = default_ch_layout;
++ channel_layout = av_get_default_channel_layout(
++ pv->frame->channels);
+ }
+- hb_audio_resample_set_channel_layout(pv->resample, channel_layout.u.mask);
++ hb_audio_resample_set_channel_layout(pv->resample, channel_layout);
+ hb_audio_resample_set_sample_fmt(pv->resample,
+ pv->frame->format);
+ hb_audio_resample_set_sample_rate(pv->resample,
Index: patches/patch-libhb_decsrtsub_c
===================================================================
RCS file: patches/patch-libhb_decsrtsub_c
diff -N patches/patch-libhb_decsrtsub_c
--- patches/patch-libhb_decsrtsub_c 11 Mar 2022 19:39:19 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,41 +0,0 @@
-iconv* => libiconv* for use with our libiconv
-
-Index: libhb/decsrtsub.c
---- libhb/decsrtsub.c.orig
-+++ libhb/decsrtsub.c
-@@ -271,7 +271,7 @@ static int utf8_fill( hb_work_private_t * pv )
- q = pv->utf8_buf + pv->utf8_end;
- in_size = pv->end - pv->pos;
-
-- retval = iconv( pv->iconv_context, &p, &in_size, &q, &out_size);
-+ retval = libiconv( pv->iconv_context, &p, &in_size, &q, &out_size);
- if (q != pv->utf8_buf + pv->utf8_end)
- {
- conversion = 1;
-@@ -672,7 +672,7 @@ static int decsrtInit( hb_work_object_t * w, hb_job_t
- pv->start_time = AV_NOPTS_VALUE;
- }
-
-- pv->iconv_context = iconv_open( "utf-8", pv->subtitle->config.src_codeset );
-+ pv->iconv_context = libiconv_open( "utf-8", pv->subtitle->config.src_codeset );
- if( pv->iconv_context == (iconv_t) -1 )
- {
- hb_error("Could not open the iconv library with those file formats\n");
-@@ -703,7 +703,7 @@ fail:
- {
- if (pv->iconv_context != (iconv_t) -1)
- {
-- iconv_close(pv->iconv_context);
-+ libiconv_close(pv->iconv_context);
- }
- if (pv->file != NULL)
- {
-@@ -754,7 +754,7 @@ static void decsrtClose( hb_work_object_t * w )
- if (pv != NULL)
- {
- fclose( pv->file );
-- iconv_close(pv->iconv_context);
-+ libiconv_close(pv->iconv_context);
- free( w->private_data );
- }
- }
Index: patches/patch-libhb_encavcodecaudio_c
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/patches/patch-libhb_encavcodecaudio_c,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-libhb_encavcodecaudio_c
--- patches/patch-libhb_encavcodecaudio_c 27 Jul 2022 15:14:10 -0000 1.1
+++ patches/patch-libhb_encavcodecaudio_c 5 Apr 2024 06:36:44 -0000
@@ -1,20 +1,64 @@
-Fix missing audio tracks.
-
- * https://bugzilla.rpmfusion.org/show_bug.cgi?id=6006
- * https://github.com/HandBrake/HandBrake/commit/f28289fb06ab461ea082b4be56d6d1504c0c31c2
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
Index: libhb/encavcodecaudio.c
--- libhb/encavcodecaudio.c.orig
+++ libhb/encavcodecaudio.c
-@@ -409,7 +409,10 @@ static void Encode(hb_work_object_t *w, hb_buffer_list
+@@ -174,15 +174,13 @@ static int encavcodecaInit(hb_work_object_t *w, hb_job
+ }
+ }
+
+- AVChannelLayout ch_layout = {0};
+- av_channel_layout_from_mask(&ch_layout, channel_layout);
+-
+ // allocate the context and apply the settings
+ context = avcodec_alloc_context3(codec);
+ hb_ff_set_sample_fmt(context, codec, sample_fmt);
+ context->bits_per_raw_sample = bits_per_raw_sample;
+ context->profile = profile;
+- context->ch_layout = ch_layout;
++ context->channel_layout = channel_layout;
++ context->channels = pv->out_discrete_channels;
+ context->sample_rate = audio->config.out.samplerate;
+ context->time_base = (AVRational){1, 90000};
- // Prepare input frame
+@@ -234,7 +232,7 @@ static int encavcodecaInit(hb_work_object_t *w, hb_job
+ pv->context = context;
+ audio->config.out.samples_per_frame =
+ pv->samples_per_frame = context->frame_size;
+- pv->input_samples = context->frame_size * context->ch_layout.nb_channels;
++ pv->input_samples = context->frame_size * context->channels;
+ pv->input_buf = malloc(pv->input_samples * sizeof(float));
+ // Some encoders in libav (e.g. fdk-aac) fail if the output buffer
+ // size is not some minimum value. 8K seems to be enough :(
+@@ -257,9 +255,9 @@ static int encavcodecaInit(hb_work_object_t *w, hb_job
+ av_opt_set_int(pv->swresample, "out_sample_fmt",
+ context->sample_fmt, 0);
+ av_opt_set_int(pv->swresample, "in_channel_layout",
+- context->ch_layout.u.mask, 0);
++ context->channel_layout, 0);
+ av_opt_set_int(pv->swresample, "out_channel_layout",
+- context->ch_layout.u.mask, 0);
++ context->channel_layout, 0);
+ av_opt_set_int(pv->swresample, "in_sample_rate",
+ context->sample_rate, 0);
+ av_opt_set_int(pv->swresample, "out_sample_rate",
+@@ -423,15 +421,15 @@ static void Encode(hb_work_object_t *w, hb_buffer_list
int out_size;
-- AVFrame frame = { .nb_samples = pv->samples_per_frame, };
-+ AVFrame frame = { .nb_samples = pv->samples_per_frame,
-+ .format = pv->context->sample_fmt,
+ AVFrame frame = { .nb_samples = pv->samples_per_frame,
+ .format = pv->context->sample_fmt,
+- .ch_layout = pv->context->ch_layout
+ .channels = pv->context->channels
-+ };
+ };
out_size = av_samples_get_buffer_size(NULL,
- pv->context->channels,
+- pv->context->ch_layout.nb_channels,
++ pv->context->channels,
+ pv->samples_per_frame,
+ pv->context->sample_fmt, 1);
+ avcodec_fill_audio_frame(&frame,
+- pv->context->ch_layout.nb_channels, pv->context->sample_fmt,
++ pv->context->channels, pv->context->sample_fmt,
+ pv->output_buf, out_size, 1);
+ if (pv->swresample != NULL)
+ {
Index: patches/patch-libhb_fifo_c
===================================================================
RCS file: patches/patch-libhb_fifo_c
diff -N patches/patch-libhb_fifo_c
--- patches/patch-libhb_fifo_c 11 Mar 2022 19:39:19 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Add OpenBSD where appropriate.
-
-Index: libhb/fifo.c
---- libhb/fifo.c.orig
-+++ libhb/fifo.c
-@@ -16,7 +16,7 @@
- #endif
-
- #ifndef SYS_DARWIN
--#if defined( SYS_FREEBSD ) || defined ( __FreeBSD__ )
-+#if defined( SYS_FREEBSD ) || defined ( __FreeBSD__ ) || defined ( __OpenBSD__ )
- #include <stdlib.h>
- #else
- #include <malloc.h>
Index: patches/patch-libhb_muxavformat_c
===================================================================
RCS file: patches/patch-libhb_muxavformat_c
diff -N patches/patch-libhb_muxavformat_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_muxavformat_c 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,33 @@
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
+
+Index: libhb/muxavformat.c
+--- libhb/muxavformat.c.orig
++++ libhb/muxavformat.c
+@@ -804,21 +804,19 @@ static int avformatInit( hb_mux_object_t * m )
+ track->st->codecpar->sample_rate = audio->config.out.samplerate;
+ if (audio->config.out.codec & HB_ACODEC_PASS_FLAG)
+ {
+- AVChannelLayout ch_layout = {0};
+- av_channel_layout_from_mask(&ch_layout, audio->config.in.channel_layout);
+- track->st->codecpar->ch_layout = ch_layout;
++ track->st->codecpar->channels = av_get_channel_layout_nb_channels(audio->config.in.channel_layout);
++ track->st->codecpar->channel_layout = audio->config.in.channel_layout;
+ }
+ else
+ {
+- AVChannelLayout ch_layout = {0};
+- av_channel_layout_from_mask(&ch_layout, hb_ff_mixdown_xlat(audio->config.out.mixdown, NULL));
+- track->st->codecpar->ch_layout = ch_layout;
++ track->st->codecpar->channels = hb_mixdown_get_discrete_channel_count(audio->config.out.mixdown);
++ track->st->codecpar->channel_layout = hb_ff_mixdown_xlat(audio->config.out.mixdown, NULL);
+ }
+
+ const char *name;
+ if (audio->config.out.name == NULL)
+ {
+- switch (track->st->codecpar->ch_layout.nb_channels)
++ switch (track->st->codecpar->channels)
+ {
+ case 1:
+ name = "Mono";
Index: patches/patch-libhb_scan_c
===================================================================
RCS file: patches/patch-libhb_scan_c
diff -N patches/patch-libhb_scan_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_scan_c 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,15 @@
+Revert "libhb: use mask part the new FFmpeg channel layout api."
+c5012478cba356b8f8f222d6acff9fe3cc74e67e
+
+Index: libhb/scan.c
+--- libhb/scan.c.orig
++++ libhb/scan.c
+@@ -1611,7 +1611,7 @@ static void LookForAudio(hb_scan_t *scan, hb_title_t *
+ {
+ int lfes = (!!(audio->config.in.channel_layout & AV_CH_LOW_FREQUENCY) +
+ !!(audio->config.in.channel_layout & AV_CH_LOW_FREQUENCY_2));
+- int channels = hb_layout_get_discrete_channel_count(audio->config.in.channel_layout);
++ int channels = av_get_channel_layout_nb_channels(audio->config.in.channel_layout);
+ char *desc = audio->config.lang.description +
+ strlen(audio->config.lang.description);
+ size_t size = sizeof(audio->config.lang.description) - strlen(audio->config.lang.description);
Index: patches/patch-make_configure_py
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/patches/patch-make_configure_py,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 patch-make_configure_py
--- patches/patch-make_configure_py 11 Mar 2022 19:39:19 -0000 1.4
+++ patches/patch-make_configure_py 5 Apr 2024 06:36:44 -0000
@@ -1,50 +1,9 @@
-Add OpenBSD to the configure args we need.
Do not look for CMake; we don't need it.
Index: make/configure.py
--- make/configure.py.orig
+++ make/configure.py
-@@ -682,6 +682,8 @@ class ArchAction( Action ):
- elif host_tuple.match( '*-*-freebsd*' ):
- self.mode['i386'] = 'i386-portsbuild-freebsd%s' % (host_tuple.release)
- self.mode['amd64'] = 'amd64-portsbuild-freebsd%s' % (host_tuple.release)
-+ elif host_tuple.match( '*-*-openbsd*' ):
-+ pass
- else:
- self.msg_pass = 'WARNING'
-
-@@ -1338,7 +1340,7 @@ def createCLI( cross = None ):
- ## add build options
- grp = cli.add_argument_group( 'Build Options' )
- grp.add_argument( '--snapshot', default=False, action='store_true', help='Force a snapshot build' )
-- h = IfHost( 'Build extra contribs for flatpak packaging', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value
-+ h = IfHost( 'Build extra contribs for flatpak packaging', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value
- grp.add_argument( '--flatpak', default=False, action='store_true', help=h )
- cli.add_argument_group( grp )
-
-@@ -1378,10 +1380,10 @@ def createCLI( cross = None ):
- h = IfHost( 'enable assembly code in non-contrib modules', 'NOMATCH*-*-darwin*', 'NOMATCH*-*-linux*', none=argparse.SUPPRESS ).value
- grp.add_argument( '--enable-asm', default=False, action='store_true', help=h )
-
-- h = IfHost( 'disable GTK GUI', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value
-+ h = IfHost( 'disable GTK GUI', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value
- grp.add_argument( '--disable-gtk', default=False, action='store_true', help=h )
-
-- h = IfHost( 'disable GTK GUI update checks', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value
-+ h = IfHost( 'disable GTK GUI update checks', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value
- grp.add_argument( '--disable-gtk-update-checks', default=False, action='store_true', help=h )
-
- h = 'enable GTK GUI for Windows' if (cross is not None and 'mingw' in cross) else argparse.SUPPRESS
-@@ -1390,7 +1392,7 @@ def createCLI( cross = None ):
- h = IfHost( 'Build GUI with GTK4', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value
- grp.add_argument( '--enable-gtk4', default=False, action='store_true', help=h )
-
-- h = IfHost( 'disable GStreamer (live preview)', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value
-+ h = IfHost( 'disable GStreamer (live preview)', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value
- grp.add_argument( '--disable-gst', default=False, action='store_true', help=h )
-
- h = IfHost( 'x265 video encoder', '*-*-*', none=argparse.SUPPRESS ).value
-@@ -1581,13 +1583,10 @@ try:
+@@ -1638,13 +1638,10 @@ try:
class Tools:
ar = ToolProbe( 'AR.exe', 'ar', 'ar', abort=True )
cp = ToolProbe( 'CP.exe', 'cp', 'cp', abort=True )
@@ -58,11 +17,11 @@ Index: make/configure.py
python = ToolProbe( 'PYTHON.exe', 'python', os.path.basename(sys.executable), abort=True )
gcc_tools = ['GCC.gcc',
-@@ -1602,14 +1601,9 @@ try:
+@@ -1659,14 +1656,9 @@ try:
else:
gmake = ToolProbe( 'GMAKE.exe', 'make', 'gmake', 'make', abort=True )
-- autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', 'autoconf', abort=True, minversion=[2,69,0] )
+- autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', 'autoconf', abort=True, minversion=([2,71,0] if build_tuple.match('*-*-darwin*') else [2,69,0]) )
- automake = ToolProbe( 'AUTOMAKE.exe', 'automake', 'automake', abort=True, minversion=[1,13,0] )
libtool = ToolProbe( 'LIBTOOL.exe', 'libtool', 'libtool', abort=True )
lipo = ToolProbe( 'LIPO.exe', 'lipo', 'lipo', abort=False )
@@ -71,14 +30,12 @@ Index: make/configure.py
- nasm = ToolProbe( 'NASM.exe', 'asm', 'nasm', abort=True, minversion=[2,13,0] )
- ninja = ToolProbe( 'NINJA.exe', 'ninja', 'ninja-build', 'ninja', abort=True )
- xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', 'xcodebuild', abort=(True if (build_tuple.match('*-*-darwin*') and cross is None) else False), versionopt='-version', minversion=[10,3,0] )
+ xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', 'xcodebuild', abort=(True if (not xcode_opts['disabled'] and (build_tuple.match('*-*-darwin*') and cross is None)) else False), versionopt='-version', minversion=[10,3,0] )
-@@ -1695,12 +1689,6 @@ try:
- if options.flatpak or host_tuple.match('*-*-darwin*', '*-*-mingw'):
- # Requires Jansson which requires CMake 3.1.0 or later
- Tools.cmake = ToolProbe('CMAKE.exe', 'cmake', 'cmake', abort=True, minversion=[3,1,0])
-- else:
-- Tools.cmake = ToolProbe('CMAKE.exe', 'cmake', 'cmake', abort=True, minversion=[2,8,12])
+@@ -1765,10 +1757,6 @@ try:
+ #####################################
+ # Requires oneVPL which requires CMake 3.16.3 or later
+ Tools.cmake = ToolProbe('CMAKE.exe', 'cmake', 'cmake', abort=True, minversion=[3,16,3])
- Tools.cmake.__init__( Tools.cmake.var, Tools.cmake.option, Tools.cmake.name, **Tools.cmake.kwargs )
- Tools.cmake.run()
- for action in Action.actions:
Index: patches/patch-make_include_gcc_defs
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/patches/patch-make_include_gcc_defs,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-make_include_gcc_defs
--- patches/patch-make_include_gcc_defs 11 Mar 2022 19:39:19 -0000 1.3
+++ patches/patch-make_include_gcc_defs 5 Apr 2024 06:36:44 -0000
@@ -1,28 +1,36 @@
-Remove hardcoded optimization flags.
-Proper -I and -L dirs.
+- Remove hardcoded optimization flags.
+- Proper -I and -L dirs.
Index: make/include/gcc.defs
--- make/include/gcc.defs.orig
+++ make/include/gcc.defs
-@@ -60,16 +60,16 @@ GCC.args.g.none = -g0
- GCC.args.g.min = -gdwarf-2 -g1
- GCC.args.g.std = -gdwarf-2
- GCC.args.g.max = -gdwarf-2 -g3
--GCC.args.O.none = -O0
--GCC.args.O.size = -Os
--GCC.args.O.speed = -O3
-+GCC.args.O.none =
-+GCC.args.O.size =
-+GCC.args.O.speed =
- GCC.args.D = -D$(1)
--GCC.args.I = -I$(1)
-+GCC.args.I = -I$(1) -I$(LOCALBASE)/include -I$(X11BASE)/include -I$(LOCALBASE)/include/libavcodec
- GCC.args.muldefs = -Wl,--allow-multiple-definition
- GCC.args.start = -Wl,--start-group
- GCC.args.F = -F$(1)
- GCC.args.f = -framework $(1)
--GCC.args.L = -L$(1)
-+GCC.args.L = -L$(1) -L$(LOCALBASE)/lib -L$(X11BASE)/lib
- GCC.args.l = -l$(1)
- GCC.args.end = -Wl,--end-group
+@@ -66,10 +66,10 @@ GCC.args.g.none = -g0
+ GCC.args.g.min = -gdwarf-2 -g1
+ GCC.args.g.std = -gdwarf-2
+ GCC.args.g.max = -gdwarf-2 -g3
+-GCC.args.O.none = -O0
+-GCC.args.O.size = -Os
+-GCC.args.O.size-aggressive = -Oz
+-GCC.args.O.speed = -O3
++GCC.args.O.none =
++GCC.args.O.size =
++GCC.args.O.size-aggressive =
++GCC.args.O.speed =
+ GCC.args.cpu.none =
+ GCC.args.cpu.native =
+ ifeq ($(HOST.machine),$(filter $(HOST.machine),i686 x86_64))
+@@ -80,12 +80,12 @@ GCC.args.lto.off = -fno-lto
+ GCC.args.lto.on = -flto
+ GCC.args.lto.thin = -flto=thin
+ GCC.args.D = -D$(1)
+-GCC.args.I = -I$(1)
++GCC.args.I = -I$(1) -I$(LOCALBASE)/include -I$(X11BASE)/include
+ GCC.args.muldefs = -Wl,--allow-multiple-definition
+ GCC.args.start = -Wl,--start-group
+ GCC.args.F = -F$(1)
+ GCC.args.f = -framework $(1)
+-GCC.args.L = -L$(1)
++GCC.args.L = -L$(1) -L$(LOCALBASE)/lib -L$(X11BASE)/lib
+ GCC.args.l = -l$(1)
+ GCC.args.end = -Wl,--end-group
Index: patches/patch-make_include_main_defs
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/patches/patch-make_include_main_defs,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-make_include_main_defs
--- patches/patch-make_include_main_defs 11 Mar 2022 19:39:19 -0000 1.3
+++ patches/patch-make_include_main_defs 5 Apr 2024 06:36:44 -0000
@@ -1,10 +1,9 @@
Rip out all the optional dependencies.
-We'll let the ports tree handle it.
Index: make/include/main.defs
--- make/include/main.defs.orig
+++ make/include/main.defs
-@@ -7,87 +7,6 @@ include $(SRC/)make/include/tool.defs
+@@ -7,97 +7,6 @@ include $(SRC/)make/include/tool.defs
###############################################################################
@@ -29,9 +28,11 @@ Index: make/include/main.defs
- MODULES += contrib/x264
- MODULES += contrib/jansson
- MODULES += contrib/libvpx
+- MODULES += contrib/libjpeg-turbo
-endif
-
-ifeq (1,$(FEATURE.flatpak))
+- MODULES += contrib/libass
- MODULES += contrib/jansson
- MODULES += contrib/x264
-endif
@@ -48,13 +49,17 @@ Index: make/include/main.defs
-endif
-
-MODULES += contrib/libdav1d
+-MODULES += contrib/svt-av1
+-MODULES += contrib/zimg
-MODULES += contrib/ffmpeg
-MODULES += contrib/libdvdread
-MODULES += contrib/libdvdnav
-MODULES += contrib/libbluray
-
-ifeq (1,$(FEATURE.qsv))
-- MODULES += contrib/libmfx
+-ifeq (,$(filter $(HOST.system),freebsd))
+- MODULES += contrib/libvpl
+-endif
-endif
-
-ifeq (1,$(FEATURE.vce))
@@ -69,6 +74,10 @@ Index: make/include/main.defs
- MODULES += contrib/xz
-endif
-
+-ifneq (,$(filter $(HOST.machine),arm64 aarch64))
+- MODULES += contrib/sse2neon
+-endif
+-
-ifneq (,$(filter $(HOST.system),cygwin mingw))
-ifneq ($(HAS.iconv),1)
- MODULES += contrib/libiconv
@@ -91,16 +100,4 @@ Index: make/include/main.defs
-
## these must come after contrib since some contrib modules are optional
MODULES += libhb
-
-@@ -122,6 +41,11 @@ endif
-
- ifeq (1-gnu,$(FEATURE.gtk)-$(HOST.system))
- ## build gtk when gtk+gnu
-+ MODULES += gtk
-+endif
-+
-+ifeq (1-openbsd,$(FEATURE.gtk)-$(BUILD.system))
-+ ## build gtk when gtk+openbsd
- MODULES += gtk
- endif
Index: patches/patch-make_variant_freebsd_defs
===================================================================
RCS file: patches/patch-make_variant_freebsd_defs
diff -N patches/patch-make_variant_freebsd_defs
--- patches/patch-make_variant_freebsd_defs 11 Mar 2022 19:39:19 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: make/variant/freebsd.defs
---- make/variant/freebsd.defs.orig
-+++ make/variant/freebsd.defs
-@@ -3,8 +3,6 @@ LOCALBASE ?= /usr/local
-
- TARGET.dylib.ext = .so
-
--GCC.D = LIBICONV_PLUG
--
- GCC.args.dylib = -shared
- GCC.args.pic = 1
-
Index: patches/patch-test_module_defs
===================================================================
RCS file: patches/patch-test_module_defs
diff -N patches/patch-test_module_defs
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_module_defs 5 Apr 2024 06:36:44 -0000
@@ -0,0 +1,12 @@
+Index: test/module.defs
+--- test/module.defs.orig
++++ test/module.defs
+@@ -16,7 +16,7 @@ TEST.libs = $(LIBHB.a)
+ TEST.GCC.l = \
+ ass avformat avfilter avcodec avutil swresample postproc mp3lame dvdnav \
+ dvdread fribidi swscale vpx theoraenc theoradec vorbis vorbisenc ogg \
+- x264 bluray freetype xml2 bz2 z jansson harfbuzz opus speex lzma dav1d \
++ x264 x265 bluray freetype xml2 bz2 z jansson harfbuzz opus speex lzma dav1d \
+ turbojpeg zimg SvtAv1Enc
+
+ ifeq (,$(filter $(HOST.system),darwin cygwin mingw))
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/multimedia/handbrake/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 PLIST
--- pkg/PLIST 11 Mar 2022 19:39:19 -0000 1.4
+++ pkg/PLIST 5 Apr 2024 06:36:44 -0000
@@ -5,15 +5,23 @@ share/applications/fr.handbrake.ghb.desk
share/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg
share/icons/hicolor/scalable/apps/hb-icon.svg
share/locale/af/LC_MESSAGES/ghb.mo
+share/locale/bg/LC_MESSAGES/ghb.mo
+share/locale/ca/LC_MESSAGES/ghb.mo
+share/locale/co/
+share/locale/co/LC_MESSAGES/
+share/locale/co/LC_MESSAGES/ghb.mo
share/locale/cs/LC_MESSAGES/ghb.mo
share/locale/da/LC_MESSAGES/ghb.mo
share/locale/de/LC_MESSAGES/ghb.mo
share/locale/es/LC_MESSAGES/ghb.mo
share/locale/eu/LC_MESSAGES/ghb.mo
+share/locale/fi/LC_MESSAGES/ghb.mo
share/locale/fr/LC_MESSAGES/ghb.mo
+share/locale/he/LC_MESSAGES/ghb.mo
share/locale/hr/LC_MESSAGES/ghb.mo
share/locale/it/LC_MESSAGES/ghb.mo
share/locale/ja/LC_MESSAGES/ghb.mo
+share/locale/ka/LC_MESSAGES/ghb.mo
share/locale/ko/LC_MESSAGES/ghb.mo
share/locale/nl/LC_MESSAGES/ghb.mo
share/locale/no/LC_MESSAGES/ghb.mo
@@ -22,7 +30,11 @@ share/locale/pt/LC_MESSAGES/ghb.mo
share/locale/pt_BR/LC_MESSAGES/ghb.mo
share/locale/ro/LC_MESSAGES/ghb.mo
share/locale/ru/LC_MESSAGES/ghb.mo
+share/locale/si/LC_MESSAGES/ghb.mo
share/locale/sk/LC_MESSAGES/ghb.mo
+share/locale/sl_SI/
+share/locale/sl_SI/LC_MESSAGES/
+share/locale/sl_SI/LC_MESSAGES/ghb.mo
share/locale/sv/LC_MESSAGES/ghb.mo
share/locale/th/LC_MESSAGES/ghb.mo
share/locale/tr/LC_MESSAGES/ghb.mo
@@ -30,6 +42,7 @@ share/locale/uk_UA/
share/locale/uk_UA/LC_MESSAGES/
share/locale/uk_UA/LC_MESSAGES/ghb.mo
share/locale/zh_CN/LC_MESSAGES/ghb.mo
+share/locale/zh_TW/LC_MESSAGES/ghb.mo
share/metainfo/
share/metainfo/fr.handbrake.ghb.metainfo.xml
@tag update-desktop-database
UPDATE: HandBrake 1.6.1