PKGBUILDs/extra/jbigkit/PKGBUILD
2024-05-09 02:31:10 +00:00

69 lines
2.6 KiB
Bash

# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
# Contributor: Frank Ickstadt (frank dot ickstadt at gmail dot com)
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - build with -fPIC
pkgname=jbigkit
pkgver=2.1
pkgrel=8
pkgdesc='Data compression library/utilities for bi-level high-resolution images'
arch=('x86_64')
url='https://www.cl.cam.ac.uk/~mgk25/jbigkit/'
license=('GPL-2.0-or-later')
depends=('glibc')
source=("https://www.cl.cam.ac.uk/~mgk25/download/$pkgname-$pkgver.tar.gz"
'jbigkit-2.1-shared_lib.patch'
'jbigkit-2.1-build_warnings.patch'
'jbigkit-2.1-ldflags.patch'
'jbigkit-2.1-coverity.patch'
'0013-new-jbig.c-limit-s-maxmem-maximum-decoded-image-size.patch'
'0015-jbg_newlen-check-for-end-of-file-within-MARKER_NEWLE.patch')
sha256sums=('de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932'
'cb404e8c1d67d0788368a58f2c3da83bcf5c7049139461b16c144d1018e83174'
'e9616f9eccfa567738b0c470708d60b086b4e0c5c6017449c7f09d0ba9335e28'
'dc44325606c1c22f075e87e81091fbf1543c6792dda311c071b0d50d7786ff17'
'6abe6e18d830e811ff6d386e899f9a6bce1da7f5ed5613930e8e0c79d16c52ea'
'6dcddabc07864435a3c65227309e43cb66c27e08cb33851d7a7ef123fda08e29'
'bc3924f03446dba996a192deab7c4dddd1293ef2bcc7aef61edcbc3223fc10a0')
prepare() {
cd $pkgname-$pkgver
# instead of a static library, create a shared library
patch -Np1 -i ../jbigkit-2.1-shared_lib.patch
# fix build warnings
patch -Np1 -i ../jbigkit-2.1-build_warnings.patch
# apply distribution LDFLAGS
patch -Np1 -i ../jbigkit-2.1-ldflags.patch
# fix coverity issues
patch -Np1 -i ../jbigkit-2.1-coverity.patch
# security fixes from upstream
patch -Np1 -i ../0013-new-jbig.c-limit-s-maxmem-maximum-decoded-image-size.patch
patch -Np1 -i ../0015-jbg_newlen-check-for-end-of-file-within-MARKER_NEWLE.patch
}
build() {
cd $pkgname-$pkgver
CFLAGS+=" -fPIC"
make EXTRA_CFLAGS="$CFLAGS"
}
check() {
cd $pkgname-$pkgver
# NOTE: tests can not be parallelized
make test -j1
}
package() {
cd $pkgname-$pkgver
install -vDm 644 libjbig/*.h -t "$pkgdir/usr/include/"
install -vDm 755 libjbig/*.so.* -t "$pkgdir/usr/lib/"
for lib in libjbig.so libjbig85.so; do
ln -sv "$lib.$pkgver" "$pkgdir/usr/lib/$lib"
done
install -vDm 755 pbmtools/{jbgtopbm{,85},pbmtojbg{,85}} -t "$pkgdir/usr/bin/"
install -vDm 644 pbmtools/*.1* -t "$pkgdir/usr/share/man/man1/"
}