From be0dbcd9ebefc65480c294d41498a191a990dc9b Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Fri, 18 Jul 2025 14:04:55 +0700 Subject: [PATCH] add jbig --- config/lib.json | 15 +++++++++++- config/source.json | 9 +++++++ src/SPC/builder/linux/library/jbig.php | 12 +++++++++ src/SPC/builder/macos/library/jbig.php | 12 +++++++++ src/SPC/builder/unix/library/jbig.php | 31 ++++++++++++++++++++++++ src/SPC/builder/unix/library/libtiff.php | 1 + 6 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 src/SPC/builder/linux/library/jbig.php create mode 100644 src/SPC/builder/macos/library/jbig.php create mode 100644 src/SPC/builder/unix/library/jbig.php diff --git a/config/lib.json b/config/lib.json index 4102756f..45457457 100644 --- a/config/lib.json +++ b/config/lib.json @@ -272,6 +272,18 @@ ], "cpp-library": true }, + "jbig": { + "source": "jbig", + "static-libs-unix": [ + "libjbig.a", + "libjbig85.a" + ], + "headers": [ + "jbig.h", + "jbig85.h", + "jbig_ar.h" + ] + }, "libacl": { "source": "libacl", "static-libs-unix": [ @@ -507,7 +519,8 @@ "libjpeg" ], "lib-suggests-unix": [ - "lerc" + "lerc", + "jbig" ] }, "libuuid": { diff --git a/config/source.json b/config/source.json index 24c7a753..820a6a79 100644 --- a/config/source.json +++ b/config/source.json @@ -476,6 +476,15 @@ "path": "LICENSE" } }, + "jbig": { + "type": "url", + "url": "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz", + "provide-pre-built": true, + "license": { + "type": "file", + "path": "COPYING" + } + }, "libevent": { "type": "ghrel", "repo": "libevent/libevent", diff --git a/src/SPC/builder/linux/library/jbig.php b/src/SPC/builder/linux/library/jbig.php new file mode 100644 index 00000000..e47e21f4 --- /dev/null +++ b/src/SPC/builder/linux/library/jbig.php @@ -0,0 +1,12 @@ +source_dir . '/Makefile', 'CFLAGS = -O2 -W -Wno-unused-result', 'CFLAGS = -O2 -W -Wno-unused-result -fPIC'); + + // Build the library + shell()->cd($this->source_dir)->initializeEnv($this) + ->exec("make -j{$this->builder->concurrency} {$this->builder->getEnvString()} lib") + ->exec('cp libjbig/libjbig.a ' . BUILD_LIB_PATH) + ->exec('cp libjbig/libjbig85.a ' . BUILD_LIB_PATH) + ->exec('cp libjbig/jbig.h ' . BUILD_INCLUDE_PATH) + ->exec('cp libjbig/jbig85.h ' . BUILD_INCLUDE_PATH) + ->exec('cp libjbig/jbig_ar.h ' . BUILD_INCLUDE_PATH); + } +} diff --git a/src/SPC/builder/unix/library/libtiff.php b/src/SPC/builder/unix/library/libtiff.php index 2a222670..31d09a0b 100644 --- a/src/SPC/builder/unix/library/libtiff.php +++ b/src/SPC/builder/unix/library/libtiff.php @@ -38,6 +38,7 @@ trait libtiff ->optionalLib('zstd', '--enable-zstd', '--disable-zstd') ->optionalLib('webp', '--enable-webp', '--disable-webp') ->optionalLib('xz', '--enable-lzma', '--disable-lzma') + ->optionalLib('jbig', '--enable-jbig', '--disable-jbig') ->make(); $this->patchPkgconfPrefix(['libtiff-4.pc']); }