summaryrefslogtreecommitdiffstats
path: root/multimedia/HandBrake
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/HandBrake')
-rw-r--r--multimedia/HandBrake/HandBrake.SlackBuild90
-rw-r--r--multimedia/HandBrake/HandBrake.info50
-rw-r--r--multimedia/HandBrake/README29
-rw-r--r--multimedia/HandBrake/slack-desc8
-rw-r--r--multimedia/HandBrake/system_x265.diff45
5 files changed, 112 insertions, 110 deletions
diff --git a/multimedia/HandBrake/HandBrake.SlackBuild b/multimedia/HandBrake/HandBrake.SlackBuild
index e16c80373b..58e5f207f1 100644
--- a/multimedia/HandBrake/HandBrake.SlackBuild
+++ b/multimedia/HandBrake/HandBrake.SlackBuild
@@ -2,19 +2,42 @@
# Slackware build script for HandBrake
-# This slackbuild maintained by Klaatu at klaatu@hackerpublicradio.org
+# This slackbuild was maintained by Klaatu at klaatu@hackerpublicradio.org
# Modified by David Somero at SlackBuilds.org.
# Modified by Erik Hanson at SlackBuilds.org
# Patched to fix x264 segfault by John Vogel
+# Permission from Klaatu was given in 2024 to add the following copyright.
+# If any previous maintainers would like to have their info added, please
+# contact the current maintainer.
+
+# Copyright 2024 Jeremy Hansen <jebrhansen+SBo@gmail.com>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=HandBrake
-VERSION=${VERSION:-1.5.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.8.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
-DOCDIR=${DOCDIR:-/usr/doc}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -47,10 +70,6 @@ else
LIBDIRSUFFIX=""
fi
-SLKCFLAGS="$SLKCFLAGS -fno-aggressive-loop-optimizations"
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS"
-
set -e
rm -rf $PKG
@@ -60,7 +79,7 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION-source.tar.bz2
cd $PRGNAM-$VERSION
mkdir -p download
-cp -r $CWD/*{gz,bz2} download
+cp -r $CWD/*.tar.{gz,bz2} download/
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -68,42 +87,63 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# 20220324 bkw: this fixes the 32-bit build, at the cost of adding
-# x265 as a required dep. It's based on Debian's
-# 0001-Remove-embedded-downloaded-copies-of-various-librari.patch
-# ...but it only affects x265.
-patch -p1 < $CWD/system_x265.diff
+# Correct dependency tarball naming inconsistency
+mv download/AMF-1.4.33-slim.tar.gz download/AMF-1.4.33.tar.gz
+
+# Disable 10/12bit x265 on 32bit since it fails compilation
+if echo "$ARCH" | grep -q "i.86"; then
+ sed -i '/1[02]bit/d' make/include/main.defs
+ sed -i '/1[02]bit/d;s|main.a \\|main.a|' contrib/x265/module.defs
+ sed -i 's|-DEXTRA_LIB="x265_main10.a;x265_main12.a" -DEXTRA_LINK_FLAGS=-L. -DLINKED_10BIT=ON -DLINKED_12BIT=ON ||' contrib/x265_8bit/module.defs
+fi
-# Autodetect onevpl support
-if pkg-config --exists vpl ; then qsv="--enable-qsv" ; else qsv="" ; fi
+# Make the GUI optional
+if [ "$GUI" == "no" ]; then
+ GTK_GUI="--disable-gtk"
+else
+ GTK_GUI="--enable-gtk"
+fi
+# libdovi and nvdec/nvenc currently don't compile successfully on my
+# machine. Feel free to send any suggestions/fixes.
+# libdovi fails if not forcefully disabled... disabling nvdec/nvenc
+# in case it does the same.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- --disable-gtk-update-checks \
--enable-fdk-aac \
- --enable-nvenc \
+ --enable-numa \
+ --enable-qsv \
--enable-vce \
--enable-x265 \
- $qsv \
+ --disable-libdovi \
+ --disable-nvdec \
+ --disable-nvenc \
+ $GTK_GUI \
--arch=$ARCH
cd build
make
make install DESTDIR=$PKG
-strip $PKG/usr/bin/*
+
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
cd $TMP/$PRGNAM-$VERSION
-mkdir -p $PKG/$DOCDIR/$PRGNAM-$VERSION
-cp -a AUTHORS.markdown COPYING NEWS.markdown THANKS.markdown README.markdown \
- $PKG/$DOCDIR/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/$DOCDIR/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS.markdown COPYING NEWS.markdown THANKS.markdown README.markdown \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
+# Don't use the doinst.sh if there is no GUI
+if [ "$GUI" != "no" ]; then cat $CWD/doinst.sh > $PKG/install/doinst.sh; fi
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/multimedia/HandBrake/HandBrake.info b/multimedia/HandBrake/HandBrake.info
index 3b55d6b603..df6bf1c3eb 100644
--- a/multimedia/HandBrake/HandBrake.info
+++ b/multimedia/HandBrake/HandBrake.info
@@ -1,30 +1,32 @@
PRGNAM="HandBrake"
-VERSION="1.5.1"
+VERSION="1.8.0"
HOMEPAGE="https://handbrake.fr/"
-DOWNLOAD="https://github.com/HandBrake/HandBrake/releases/download/1.5.1/HandBrake-1.5.1-source.tar.bz2 \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/AMF-1.4.18.tar.gz \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/dav1d-0.9.2.tar.bz2 \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/fdk-aac-2.0.1.tar.gz \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/ffmpeg-4.4.1.tar.bz2 \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/libbluray-1.3.0.tar.bz2 \
+DOWNLOAD="https://github.com/HandBrake/HandBrake/releases/download/1.8.0/HandBrake-1.8.0-source.tar.bz2 \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/AMF-1.4.33-slim.tar.gz \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/SVT-AV1-v2.1.0.tar.gz \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/dav1d-1.4.1.tar.bz2 \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/fdk-aac-2.0.3.tar.gz \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/ffmpeg-7.0.tar.bz2 \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/libbluray-1.3.4.tar.bz2 \
https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/libdvdnav-6.1.1.tar.bz2 \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/libdvdread-6.1.1.tar.bz2 \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/nv-codec-headers-11.0.10.1.tar.gz \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/oneVPL-2021.6.0.tar.gz \
- https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/zimg-3.0.3.tar.gz"
-MD5SUM="d7fa3057eb830d11d5a18a868bd3ff2d \
- c1e8aae3434b8fe6109e47e88e5b4de4 \
- 52415d8b51774e960598bc6d07e6a608 \
- 5b85f858ee416a058574a1028a3e1b85 \
- 9c2ca54e7f353a861e57525ff6da335b \
- d185696bef5f10ac04154e2b22b55b67 \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/libdvdread-6.1.3.tar.bz2 \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/libvpl-2.10.1.tar.gz \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/x265_3.6.tar.gz \
+ https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/zimg-3.0.5.tar.gz"
+MD5SUM="d411209b76aeff9f5ce018249313486d \
+ ea02eab9fc14ae2c1e9d18798384690c \
+ a9cc9846fc2bad2f7fce3e0725f74bb8 \
+ 54d72f12f6ffea656088e6fca9732821 \
+ fbaf688a6fd6ddf63c68566909a178b4 \
+ 783de4f0d4aad6c81f4315470788c622 \
+ c744e610f539ba4b31280185ad48f1e1 \
46c46cb0294fbd1fcb8a0181818dad15 \
- 09c7423568fb679279fd2a2bc6b10b6e \
- 3400a117b9d4291f36be00c522057578 \
- 10e99ad6f862598f2f39a50d663bf4f3 \
- 43e157debdfebf737db3a709fc971869"
+ 3c58d1624a71a16ff40f55dbaca82523 \
+ 5458b30f59faa922dd16fbd895aa5e30 \
+ 99997ecc8ee4d3575ba7715c759ad3bb \
+ af2c08cc0e695f4c0c225feed14e9f20"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libass x264 x265 numactl"
-MAINTAINER="klaatu"
-EMAIL="klaatu@member.fsf.org"
+REQUIRES="libass x264 numactl"
+MAINTAINER="Jeremy Hansen"
+EMAIL="jebrhansen+SBo@gmail.com"
diff --git a/multimedia/HandBrake/README b/multimedia/HandBrake/README
index fd686dcd3b..1daadbbf68 100644
--- a/multimedia/HandBrake/README
+++ b/multimedia/HandBrake/README
@@ -1,22 +1,27 @@
-HandBrake is a DVD ripping application that reads DVDs and outputs
-to a variety of video and audio formats, with options for subtitles,
-alternate data streams, presets, and control over advanced options
-like bitrate, pixel aspect ratio, deinterlacing, and so on.
+HandBrake is an open-source tool, built by volunteers, for converting
+video from nearly any format to a selection of modern, widely supported
+codecs.
-The legality of ripping content from commercial DVDs varies from
-nation to nation.
+HandBrake takes videos you already have and makes new ones that work on
+your mobile phone, tablet, TV media player, game console, computer, or
+web browser—nearly anything that supports modern video formats.
-By default, HandBrake statically compiles many major encoders and
-decoders into the HandBrake binary. It will not use your local ffmpeg,
-for instance.
+HandBrake works with most common video files and formats, including
+ones created by consumer and professional video cameras, mobile devices
+such as phones and tablets, game and computer screen recordings, and DVD
+and Blu-ray discs. HandBrake leverages tools such as FFmpeg, x264, and
+x265 to create new MP4 or MKV video files from these Sources.
+
+HandBrake does not support linking to most system libraries for many of
+its dependencies due to the large number of patches it utlizes for those
+projects, so it will compile and statically link those during the build.
To skip building the GTK GUI, pass GUI=no to the script:
# GUI=no sh ./HandBrake.SlackBuild
-
Commands
--------
-* The command to launch the HandBrake GUI is `ghb`
-* Without the GUI, it's `HandBrakeCLI`
+* GUI: `ghb`
+* CLI: `HandBrakeCLI`
diff --git a/multimedia/HandBrake/slack-desc b/multimedia/HandBrake/slack-desc
index a8214d63f3..7c5e90ccbe 100644
--- a/multimedia/HandBrake/slack-desc
+++ b/multimedia/HandBrake/slack-desc
@@ -6,11 +6,11 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-HandBrake: HandBrake (DVD ripper)
+HandBrake: HandBrake (The open source video transcoder)
HandBrake:
-HandBrake: HandBrake is a DVD ripper that reads DVD movies and outputs them
-HandBrake: to a variety of video and audio formats, with subtitle options,
-HandBrake: options for alternate audio streams, and a number of presets.
+HandBrake: HandBrake is a open-source tool, built by volunteers, for converting
+HandBrake: video from nearly any format to a selection of modern, widely
+HandBrake: supported codecs.
HandBrake:
HandBrake: Homepage: http://www.handbrake.fr
HandBrake:
diff --git a/multimedia/HandBrake/system_x265.diff b/multimedia/HandBrake/system_x265.diff
deleted file mode 100644
index 0badbab3ec..0000000000
--- a/multimedia/HandBrake/system_x265.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -Naur HandBrake-1.5.1/libhb/module.defs HandBrake-1.5.1.patched/libhb/module.defs
---- HandBrake-1.5.1/libhb/module.defs 2022-01-10 14:11:37.000000000 -0500
-+++ HandBrake-1.5.1.patched/libhb/module.defs 2022-03-24 15:57:45.803548141 -0400
-@@ -129,10 +129,6 @@
- LIBHB.dll.libs += $(CONTRIB.build/)lib/libvpl.a
- endif
-
--ifeq (1,$(FEATURE.x265))
--LIBHB.dll.libs += $(CONTRIB.build/)lib/libx265.a
--endif
--
- ifneq ($(HAS.iconv),1)
- LIBHB.dll.libs += $(CONTRIB.build/)lib/libiconv.a
- else
-diff -Naur HandBrake-1.5.1/make/include/main.defs HandBrake-1.5.1.patched/make/include/main.defs
---- HandBrake-1.5.1/make/include/main.defs 2022-01-10 14:11:37.000000000 -0500
-+++ HandBrake-1.5.1.patched/make/include/main.defs 2022-03-24 15:58:28.972263692 -0400
-@@ -40,13 +40,6 @@
- MODULES += contrib/fdk-aac
- endif
-
--ifeq (1,$(FEATURE.x265))
-- MODULES += contrib/x265
-- MODULES += contrib/x265_8bit
-- MODULES += contrib/x265_10bit
-- MODULES += contrib/x265_12bit
--endif
--
- MODULES += contrib/libdav1d
- MODULES += contrib/zimg
- MODULES += contrib/ffmpeg
-diff -Naur HandBrake-1.5.1/test/module.defs HandBrake-1.5.1.patched/test/module.defs
---- HandBrake-1.5.1/test/module.defs 2022-01-10 14:11:37.000000000 -0500
-+++ HandBrake-1.5.1.patched/test/module.defs 2022-03-24 15:59:19.957108790 -0400
-@@ -23,6 +23,10 @@
- TEST.GCC.l += fontconfig
- endif
-
-+ifeq (1,$(FEATURE.x265))
-+ TEST.GCC.l += x265
-+endif
-+
- ifeq (1,$(FEATURE.qsv))
- TEST.GCC.l += vpl
- ifneq (,$(filter $(HOST.system),linux freebsd))