From 8a81c1643862835092534b08b126c246ff6cfb36 Mon Sep 17 00:00:00 2001 From: Tee KOBAYASHI Date: Thu, 10 Nov 2022 14:26:08 +0900 Subject: [PATCH] new package: handbrake --- x11-packages/handbrake/build.sh | 43 +++++++++++++++++++ x11-packages/handbrake/gtk-module.defs.patch | 12 ++++++ .../handbrake/libhb-handbrake-common.h.patch | 11 +++++ .../handbrake/make-configure.py.patch | 25 +++++++++++ 4 files changed, 91 insertions(+) create mode 100644 x11-packages/handbrake/build.sh create mode 100644 x11-packages/handbrake/gtk-module.defs.patch create mode 100644 x11-packages/handbrake/libhb-handbrake-common.h.patch create mode 100644 x11-packages/handbrake/make-configure.py.patch diff --git a/x11-packages/handbrake/build.sh b/x11-packages/handbrake/build.sh new file mode 100644 index 0000000000..163fa15270 --- /dev/null +++ b/x11-packages/handbrake/build.sh @@ -0,0 +1,43 @@ +TERMUX_PKG_HOMEPAGE=https://handbrake.fr/ +TERMUX_PKG_DESCRIPTION="A GPL-licensed, multiplatform, multithreaded video transcoder" +TERMUX_PKG_LICENSE="GPL-2.0" +TERMUX_PKG_LICENSE_FILE="COPYING, LICENSE" +TERMUX_PKG_MAINTAINER="@termux" +TERMUX_PKG_VERSION=1.5.1 +TERMUX_PKG_SRCURL=https://github.com/HandBrake/HandBrake/releases/download/${TERMUX_PKG_VERSION}/HandBrake-${TERMUX_PKG_VERSION}-source.tar.bz2 +TERMUX_PKG_SHA256=3999fe06d5309c819799a73a968a8ec3840e7840c2b64af8f5cdb7fd8c9430f0 +TERMUX_PKG_DEPENDS="ffmpeg, gdk-pixbuf, gst-plugins-base, gstreamer, gtk3, libass, libbluray, libcairo, libdvdnav, libdvdread, libiconv, libjansson, libjpeg-turbo, libtheora, libvorbis, libx264, libx265, libxml2, pango" +TERMUX_PKG_BUILD_DEPENDS="liba52, libspeex, libzimg" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +--force +--prefix $TERMUX_PREFIX +--arch $TERMUX_ARCH +--disable-gtk-update-checks +--disable-numa +--disable-nvenc +" +# HandBrake binaries linked against fdk-aac are not redistributable. +TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-fdk-aac" + +termux_step_pre_configure() { + sed -i -E '/(\/contrib|contrib\/)/d' make/include/main.defs + + LDFLAGS+=" -liconv -lx265" + + _NEED_DUMMY_LIBPTHREAD_A= + _LIBPTHREAD_A=$TERMUX_PREFIX/lib/libpthread.a + if [ ! -e $_LIBPTHREAD_A ]; then + _NEED_DUMMY_LIBPTHREAD_A=true + echo '!' > $_LIBPTHREAD_A + fi +} + +termux_step_configure() { + $TERMUX_PKG_SRCDIR/configure $TERMUX_PKG_EXTRA_CONFIGURE_ARGS +} + +termux_step_post_make_install() { + if [ $_NEED_DUMMY_LIBPTHREAD_A ]; then + rm -f $_LIBPTHREAD_A + fi +} diff --git a/x11-packages/handbrake/gtk-module.defs.patch b/x11-packages/handbrake/gtk-module.defs.patch new file mode 100644 index 0000000000..39873c99cc --- /dev/null +++ b/x11-packages/handbrake/gtk-module.defs.patch @@ -0,0 +1,12 @@ +--- a/gtk/module.defs ++++ b/gtk/module.defs +@@ -18,8 +18,8 @@ + + ############################################################################### + +-ifeq (1-mingw,$(HOST.cross)-$(HOST.system)) + GTK.CONFIGURE.extra += --host=$(HOST.spec) ++ifeq (1-mingw,$(HOST.cross)-$(HOST.system)) + ifeq ($(HAS.dlfcn),1) + GTK.CONFIGURE.extra += --enable-dl + endif diff --git a/x11-packages/handbrake/libhb-handbrake-common.h.patch b/x11-packages/handbrake/libhb-handbrake-common.h.patch new file mode 100644 index 0000000000..d4da3c4091 --- /dev/null +++ b/x11-packages/handbrake/libhb-handbrake-common.h.patch @@ -0,0 +1,11 @@ +--- a/libhb/handbrake/common.h ++++ b/libhb/handbrake/common.h +@@ -101,6 +101,8 @@ + #define PRIVATE const + #endif + #include "audio_remap.h" ++#include "libavcodec/bsf.h" ++#include "libavutil/avutil.h" + #include "libavutil/channel_layout.h" + + #if HB_PROJECT_FEATURE_QSV diff --git a/x11-packages/handbrake/make-configure.py.patch b/x11-packages/handbrake/make-configure.py.patch new file mode 100644 index 0000000000..ac73dd1189 --- /dev/null +++ b/x11-packages/handbrake/make-configure.py.patch @@ -0,0 +1,25 @@ +--- a/make/configure.py ++++ b/make/configure.py +@@ -1655,9 +1655,6 @@ + libtool = ToolProbe( 'LIBTOOL.exe', 'libtool', 'libtool', abort=True ) + lipo = ToolProbe( 'LIPO.exe', 'lipo', 'lipo', abort=False ) + pkgconfig = ToolProbe( 'PKGCONFIG.exe', 'pkgconfig', 'pkg-config', abort=True, minversion=[0,27,0] ) +- meson = ToolProbe( 'MESON.exe', 'meson', 'meson', abort=True, minversion=[0,47,0] ) +- 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 (not xcode_opts['disabled'] and (build_tuple.match('*-*-darwin*') and cross is None)) else False), versionopt='-version', minversion=[10,3,0] ) + +@@ -1747,12 +1744,6 @@ + ##################################### + ## Additional library and tool checks + ##################################### +- # 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: +- action.run() + + ######################################### + ## MinGW specific library and tool checks