]> Cypherpunks repositories - bass.git/commitdiff
Fix MuPDF linking with libjpeg-turbo
authorSergey Matveev <stargrave@stargrave.org>
Fri, 14 Jun 2024 12:42:03 +0000 (15:42 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 14 Jun 2024 12:42:03 +0000 (15:42 +0300)
build/distfiles/.gitignore
build/distfiles/libjpeg-turbo-3.0.3.tar.gz.meta4 [new file with mode: 0644]
build/skel/graphics/imlib2-1.12.2.do
build/skel/graphics/libavif-v1.0.0-535-g7fbc20c.do
build/skel/graphics/libjpeg-turbo-3.0.3.do [new file with mode: 0644]
build/skel/graphics/libwebp-1.4.0.do
build/skel/graphics/mupdf-1.24.0-170-g05063f228.do
build/skel/graphics/mupdf-libmupdf-third-install.patch [new file with mode: 0644]

index 798d8c348db27fb9b183191bcac3c465253c7417322f137f7a2b6327c398c97e..9c66ed836fb9c92b76c2e72c828ddec2a12112f30f8c848dad10ef20c3399760 100644 (file)
@@ -77,6 +77,7 @@
 /libiconv-1.17.tar.gz
 /libidn2-2.3.7.tar.gz
 /libjpeg-turbo-1.5.2.tar.gz
+/libjpeg-turbo-3.0.3.tar.gz
 /libjxl-v0.10-snapshot-179-gcdb6a667.tar.zst
 /libjxl/
 /libksba-1.6.6.tar.bz2
diff --git a/build/distfiles/libjpeg-turbo-3.0.3.tar.gz.meta4 b/build/distfiles/libjpeg-turbo-3.0.3.tar.gz.meta4
new file mode 100644 (file)
index 0000000..44ce98e
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+  <file name="libjpeg-turbo-3.0.3.tar.gz">
+    <hash type="blake3-256">32df76f07f00411f298a9c89173a0db5df4c2bde2447e73d34726f5e2fb5d47a</hash>
+    <hash type="blake2b-512">9d141dadd0dce970bf857b51352c57a8e15180438abd7d6d66f9dfd24e23889add8c6c89120b84026e40ab61611516b0567984bd1db37e9c45b41917cf32e9a6</hash>
+    <hash type="blake2b-256">bb06a6a7ac345cf29b86f9cddf1bb43377ddf8227c6347a69c94e9e4e751c462</hash>
+    <hash type="skein-512">fee08eb66d31eed66b852022d5e304420ca098acf602d2bcd28ab1885d81a7686e9c546317fcff3b424a7f3332e3bfe7529beeba372a4854bd6afdfb4977dd33</hash>
+    <hash type="shake128">4ff50b4d0707b79d348357cb28bdb8f1d41a981afc0234d621704e1257d5da98</hash>
+    <hash type="shake256">d0fb5b33a466784f6d4b1491ab7b74bebe90eb69162597f13f21d3401b05601fb0056bb53bb7ab70560c31563ef827165d33d8dd4d3b99bbe1bf429d128fdb67</hash>
+    <hash type="sha-512">7c3a6660e7a54527eaa40929f5cc3d519842ffb7e961c32630ae7232b71ecaa19e89dbf5600c61038f0c5db289b607c2316fe9b6b03d482d770bcac29288d129</hash>
+    <hash type="sha-256">343e789069fc7afbcdfe44dbba7dbbf45afa98a15150e079a38e60e44578865d</hash>
+    <hash type="streebog-512">1955c82cf7f3cc95b622e6900c8bb7756570bb93d138aa4d894620972958cc0ad0d57fe95f9dad5b2439fde2557be9d9cb283419ee17caa500c2a83a93f0c4b2</hash>
+    <hash type="streebog-256">b8ff6c8b3eb333436accc9f9b6d07b05d8c22dc77b40e9e23532b3b4f9ed4ead</hash>
+    <hash type="xxh3-128">261a30241540bf11687200d72324736a</hash>
+    <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+Comment: Use "gpg --dearmor" for unpacking
+
+iQIcBAABAgAGBQJmO6DDAAoJEH7C27b02/Q0Ln8P/RWR1iR8Whha3J6lhrn6bV9z
+CcJiPP0lQG3GsfZbQybQvllGWCMKcOlQ2rSMsrBNj9yINaa5VnXMvgpBemXNQYQ1
+G7bVoIUuwyT8ruN4zNmhGLm072i86lEl6+mTS2Et+FGTG1reVZAcM+aHt1udCBL9
+7uE+2i8+pohdhBy7APEVW3oFGjnNapfsgJsv96BXhl81M5fvoJEd/y/FLBNDCnHf
+6SqtVXsFXSNHY87WXe9Cs8pU2WQ6dKKchunW79blstSqAyAb1w1ZvmQEok8+B1lt
+pL2q1bK3FsV+1HWaTIaZBb664hcTjMi1NYyGJuDjzlGtW73nLj2blg97Stbevj7g
+xDd8vOmY+HzacdRyzYyn4h9SkUUT2h0Nd+CkpcOJh/yehs77D/APsn6aO8ys6W5a
+7Kv7fj4eh5BLo997M+9sYNV5pcQEnBIDSMMof/htXxb6dkDDZpXOBC3B0AF15FWk
+R0LOpMqlasAt/o+dSAgDkkw9Eo+E22gg8fQnFz1R584m+sYTvGblVJ9RwoEIfjgU
+DkDzE2Uq/S6ArLDZQKsiiEoQ9u54cZVQewvBMqY/wTKsrrXGquabJrtHvy1xNtAO
+rcnXa0mzapE6Xt5auZlZmOM1Xs5dXotlBXzL+souYbcC39oLPQHFOqSPDuX6+upm
+YGI3Y3NqVXDYBl9XiMk5
+=zrIf
+-----END PGP ARMORED FILE-----
+]]></signature>
+    <size>2832827</size>
+    <url>https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.0.3/libjpeg-turbo-3.0.3.tar.gz</url>
+  </file>
+</metalink>
index f184ab131b45c10094a77d3ba0e49a197506fda9dd7f7c3863c56c0d9c93aa07..5af5e45f485bdce4dbbcaf1e21ac523ef2b3aec3b8da183cfb66b8ec3ece3698 100644 (file)
@@ -6,7 +6,7 @@ bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
 rdeps="
 graphics/freetype-2.9.1
 graphics/libpng-1.6.43
-graphics/libjpeg-turbo-1.5.2
+graphics/libjpeg-turbo-3.0.3
 graphics/libjxl-v0.10-snapshot-179-gcdb6a667
 graphics/libavif-v1.0.0-535-g7fbc20c
 graphics/libwebp-1.4.0
index 8405f21c9760e8e8f92c4a4b55365fc14dc04e223a5ede4f781fa883320593de..a74a2dea2149998a4a426f0c3d6ae2cd35be3a147a57a88c062e31f9a928b18f 100644 (file)
@@ -5,7 +5,7 @@ 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-1.5.2
+graphics/libjpeg-turbo-3.0.3
 graphics/libpng-1.6.43
 multimedia/svt-av1-v2.1.0-12-gfcf56491
 "
diff --git a/build/skel/graphics/libjpeg-turbo-3.0.3.do b/build/skel/graphics/libjpeg-turbo-3.0.3.do
new file mode 100644 (file)
index 0000000..0cbd1c2
--- /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/gmake-4.4.1
+devel/cmake-3.28.3
+devel/nasm-2.16.01
+devel/pkgconf-2.1.1
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+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.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DWITH_JPEG8=1 \
+    -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh .. >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
index 726086de7e95e10c0f8fed1a4959b021712d25d0abb359c01c2ae4b94fe8b4d6..92d68a7ee65fae439e3e73b38cfa6e93e5a75da520bd30299841cf1d23a27536 100644 (file)
@@ -3,7 +3,7 @@ sname=$1.do . "$BASS_ROOT"/lib/rc
 . "$BASS_ROOT"/build/skel/common.rc
 
 bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
-rdeps="graphics/libjpeg-turbo-1.5.2 graphics/libpng-1.6.43"
+rdeps="graphics/libjpeg-turbo-3.0.3 graphics/libpng-1.6.43"
 redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
 hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
 . "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
index 7b74db2602d62db8c53bcfd3a45b2a7d5d79ebf647e99e411679f7e01e1e8f47..3e3784ba178cc99a087ddd6003631f6a2e4106919a1b355171f693e569305850 100644 (file)
@@ -10,16 +10,33 @@ devel/gmake-4.4.1
 devel/pkgconf-2.1.1
 shells/bash-5.2.21
 "
-redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+rdeps=graphics/libjpeg-turbo-3.0.3
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst $rdeps
 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
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
 . ./rc
 $TAR xf "$DISTFILES"/$NAME.tar.zst --options read_concatenated_archives
 "$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
 
 cd $NAME
-XCFLAGS=-fPIC gmake -j8 HAVE_X11=no HAVE_GLUT=no prefix="$SKELBINS"/$ARCH/$NAME-$hsh install >&2
+# Ability to install only shared libraries:
+# patch <"$BASS_ROOT"/build/skel/graphics/mupdf-libmupdf-third-install.patch >&2
+# shared=yes USE_SYSTEM_LIBJPEG=yes
+XCFLAGS=-fPIC gmake -j$MAKE_JOBS \
+    HAVE_X11=no HAVE_GLUT=no build=release \
+    prefix="$SKELBINS"/$ARCH/$NAME-$hsh install >&2
 
 cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+
+mkdir $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/010preload-libjpeg <<EOF
+#!/bin/sh -e
+p=\$(realpath local/lib/libjpeg.so)
+[ -n "\$p" ]
+echo export LD_PRELOAD=\$p >>rc
+EOF
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/010preload-libjpeg 
+
 "$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
diff --git a/build/skel/graphics/mupdf-libmupdf-third-install.patch b/build/skel/graphics/mupdf-libmupdf-third-install.patch
new file mode 100644 (file)
index 0000000..f316059
--- /dev/null
@@ -0,0 +1,30 @@
+--- Makefile.orig      2024-06-12 20:55:27.000000000 +0300
++++ Makefile   2024-06-14 12:14:18.213060000 +0300
+@@ -126,7 +126,7 @@
+       $(CC_CMD) $(LIB_CFLAGS) $(WARNING_CFLAGS) $(THIRD_CFLAGS) $(THREADING_CFLAGS)
+ $(OUT)/generated/%.o : generated/%.c
+-      $(CC_CMD) $(WARNING_CFLAGS) $(LIB_CFLAGS) -O0
++      $(CC_CMD) $(WARNING_CFLAGS) $(LIB_CFLAGS) -O2
+ $(OUT)/platform/x11/%.o : platform/x11/%.c
+       $(CC_CMD) $(WARNING_CFLAGS) $(X11_CFLAGS)
+@@ -300,6 +300,7 @@
+ ifeq ($(shared),yes)
+ MUPDF_LIB = $(OUT)/libmupdf.$(SO)$(SO_VERSION)
++THIRD_LIB = $(OUT)/libmupdf-third.$(SO)$(SO_VERSION)
+ ifeq ($(SO),dll)
+ MUPDF_LIB_IMPORT = $(OUT)/libmupdf_$(SO).a
+ LIBS_TO_INSTALL_IN_BIN = $(MUPDF_LIB)
+@@ -335,7 +336,10 @@
+ endif
+ $(MUPDF_LIB) : $(MUPDF_OBJ)
++      $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.$(SO)$(SO_VERSION)
+ $(THIRD_LIB) : $(THIRD_OBJ)
++      $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.$(SO)$(SO_VERSION)
++LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB)
+ $(THREAD_LIB) : $(THREAD_OBJ)
+ $(PKCS7_LIB) : $(PKCS7_OBJ)