diff options
Diffstat (limited to 'libraries/libavif/libavif.SlackBuild')
-rw-r--r-- | libraries/libavif/libavif.SlackBuild | 70 |
1 files changed, 62 insertions, 8 deletions
diff --git a/libraries/libavif/libavif.SlackBuild b/libraries/libavif/libavif.SlackBuild index 2385ac941b..73d5f79fbc 100644 --- a/libraries/libavif/libavif.SlackBuild +++ b/libraries/libavif/libavif.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for libavif -# Copyright 2022-2024 Vijay Marcel +# Copyright 2022-2025 Vijay Marcel # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,13 +22,44 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Changelog for libavif slackbuild script +# -------------------------------------------------------------------- + +# 01/10/2022: Added to slackbuilds.org + +# 06/01/2023: Updated README. Updated to github commit 93035c1 +# Pandoc is used by libavif to build man pages. If you don't need +# manpages don't install pandoc and change the appropriate +# build option. For x86 architecture pandoc will be an optional dependency. +# pandoc needs to be built from sources for x86 architecture +#since it takes much time to build, I'm not building +# the manpages by default. If you need manpages +# install pandoc and then customize the slackbuild script by +# changing the build option for manpages from OFF to ON. + +# 15/05/2023: updated to github commit 94352e0 +# updated Deps in info file and README From this build onward man pages are not +# built by default hence pandoc will now be an optional dependency for all +#architectures. Gtest needs to be installed if want to build +# test during compile time, by default this is turned off. + +# 06/02/2024: Updated to version 1.0.3 +# 19/02/2024: Updated to version 1.0.4 +# 14/08/2024: Updated to version 1.1.1 +# 18/04/2025: updated to version 1.2.1 +# 13/05/2025: Updated to version 1.3.0 + +# --------------------------------------------------------------------------------- + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=libavif -VERSION=${VERSION:-1.1.1} +VERSION=${VERSION:-1.3.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} +depnam=${depnam:-libargparse} +depcommit=${depcommit:-ee74d1b53bd680748af14e737378de57e2a0a954} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -70,6 +101,10 @@ cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION +cd ext +tar xvf $CWD/$depnam-$depcommit.tar.gz +mv -v $depnam-$depcommit $depnam +cd $TMP/$PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -77,24 +112,43 @@ 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 {} \; +# libargparse is a build time dependency +cd $TMP/$PRGNAM-$VERSION/ext/$depnam +mkdir build +cd build +cmake -S $TMP/$PRGNAM-$VERSION/ext/$depnam -G Ninja -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release +cd ../.. +ninja -C $depnam/build + +cd $TMP/$PRGNAM-$VERSION + cmake -B build -S $TMP/$PRGNAM-$VERSION \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DBUILD_SHARED_LIBS:BOOL=ON \ - -DAVIF_ENABLE_WERROR:BOOL=ON \ - -DAVIF_CODEC_AOM:BOOL=ON \ + -DAVIF_ENABLE_NODISCARD=ON \ + -DAVIF_LIB_USE_CXX=ON \ + -DAVIF_LIBARGPARSE=LOCAL \ + -DAVIF_ZLIBPNG=SYSTEM \ + -DAVIF_JPEG=SYSTEM \ + -DAVIF_LIBYUV=SYSTEM \ + -DAVIF_LIBXML2=SYSTEM \ + -DAVIF_CODEC_AOM:BOOL=SYSTEM \ + -DAVIF_CODEC_DAV1D:BOOL=SYSTEM \ + -DAVIF_CODEC_SVT:BOOL=SYSTEM \ -DAVIF_CODEC_AOM_DECODE:BOOL=ON \ -DAVIF_CODEC_AOM_ENCODE:BOOL=ON \ - -DAVIF_CODEC_DAV1D:BOOL=ON \ + -DAVIF_BUILD_APPS:BOOL=ON \ + -DAVIF_BUILD_GDK_PIXBUF=ON \ -DAVIF_CODEC_LIBGAV1:BOOL=OFF \ -DAVIF_CODEC_RAV1E:BOOL=OFF \ -DAVIF_CODEC_AVM:BOOL=OFF \ - -DAVIF_CODEC_SVT:BOOL=ON \ - -DAVIF_BUILD_APPS:BOOL=ON \ -DAVIF_BUILD_TESTS:BOOL=OFF \ -DAVIF_ENABLE_GTEST:BOOL=OFF \ -DAVIF_ENABLE_COVERAGE:BOOL=OFF \ -DAVIF_BUILD_MAN_PAGES:BOOL=OFF \ + -DAVIF_ENABLE_WERROR:BOOL=OFF \ + -DAVIF_ENABLE_COMPLIANCE_WARDEN=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_BINDIR:PATH=/usr/bin \ @@ -104,7 +158,7 @@ cmake -B build -S $TMP/$PRGNAM-$VERSION \ make -C build make -C build install DESTDIR=$PKG -rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la +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 --remove-section=.comment --remove-section=.note 2> /dev/null || true |