]> Cypherpunks repositories - bass.git/commitdiff
Prevent libyuv downloading while building libavif
authorSergey Matveev <stargrave@stargrave.org>
Sat, 22 Jun 2024 18:46:39 +0000 (21:46 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 22 Jun 2024 18:54:09 +0000 (21:54 +0300)
build/distfiles/.gitignore
build/distfiles/libyuv-2024-06-22.tar.zst.do [new file with mode: 0644]
build/skel/graphics/libavif-v1.0.0-535-g7fbc20c.do
build/skel/graphics/libyuv-2024-06-22.do [new file with mode: 0644]

index b09e78a51bb7d39c3cc62d01df3dff32675cceeae08527fa47181ee2ebcd5cee..32a4c248d0777b99b5d7b67fe9a38d9141fb1e2ba942af4bd16a0cade2e3f89d 100644 (file)
 /libvpx.git/
 /libwebp-1.4.0.tar.gz
 /libxml2-2.9.14.tar.xz
+/libyuv-2024-06-22.tar.zst
+/libyuv.git/
 /links-2.29.tar.bz2
 /lzip-1.24.tar.gz
 /mapnik-v3.1.0.tar.bz2
diff --git a/build/distfiles/libyuv-2024-06-22.tar.zst.do b/build/distfiles/libyuv-2024-06-22.tar.zst.do
new file mode 100644 (file)
index 0000000..031b510
--- /dev/null
@@ -0,0 +1,7 @@
+[ -n "$BASS_ROOT" ] || BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d libyuv.git ] || git clone --depth 1 --bare https://chromium.googlesource.com/libyuv/libyuv.git >&2
+cd libyuv.git
+commit=efd164d64ee4aab463e00f69e0de7f53ca91865d
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
index ceca94169778d20f90cea96ff2f27d087c13c9c3c127288352ef7ce178719f5e..f00f3136789dca3a5c3bd61f3169d784c25112251a5e035f01529dbddd9e18a2 100644 (file)
@@ -4,9 +4,10 @@ sname=$1.do . "$BASS_ROOT"/lib/rc
 
 bdeps="rc-paths stow archivers/zstd devel/cmake-3.28.3 devel/pkgconf-2.1.1"
 rdeps="
-multimedia/dav1d-1.4.2-8-gda2cc78
 graphics/libjpeg-turbo-3.0.3
 graphics/libpng-1.6.43
+graphics/libyuv-2024-06-22
+multimedia/dav1d-1.4.2-8-gda2cc78
 multimedia/svt-av1-v2.1.0-12-gfcf56491
 "
 redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst $rdeps
@@ -18,12 +19,17 @@ $TAR xf "$DISTFILES"/$NAME.tar.zst
 "$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
 
 cd $NAME
+mkdir -p ext/libyuv/build
+ln -s $tmp/local/lib/libyuv.a ext/libyuv/build/
 mkdir build
 cd build
 cmake \
-    -DAVIF_LIBYUV=LOCAL \
     -DAVIF_CODEC_DAV1D=SYSTEM \
     -DAVIF_CODEC_SVT=SYSTEM \
+    -DAVIF_LIBYUV=LOCAL \
+    -DAVIF_JPEG=SYSTEM \
+    -DJPEG_INCLUDE_DIR:PATH=$tmp/local/include \
+    -DJPEG_LIBRARY_RELEASE:PATH=$tmp/local/lib/libjpeg.a \
     -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh \
     -DAVIF_BUILD_APPS=1 .. >&2
 cmake --build . >&2
diff --git a/build/skel/graphics/libyuv-2024-06-22.do b/build/skel/graphics/libyuv-2024-06-22.do
new file mode 100644 (file)
index 0000000..aedda9b
--- /dev/null
@@ -0,0 +1,31 @@
+[ -n "$BASS_ROOT" ] || BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/cmake-3.28.3
+devel/ninja-v1.12.1
+devel/pkgconf-2.1.1
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+    -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh .. >&2
+ninja >&2
+ninja install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh