diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5d693d5fd452 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,130 @@ +# Maintainer: valoq <valoq@mailbox.org> + +_pkgbase=mupdf +pkgbase=${_pkgbase}-seccomp +pkgname=(libmupdf-seccomp mupdf-seccomp) +pkgver=1.11 +_pkgver=1.11 +pkgrel=1 +pkgdesc='Mupdf with seccomp filter' +arch=('i686' 'x86_64') +url='http://mupdf.com' +license=('AGPL3') +conflicts=(libmupdf mupdf) +makedepends=('curl' 'desktop-file-utils' 'freetype2' 'glfw' 'harfbuzz' + 'jbig2dec' 'libjpeg' 'mesa-libgl' 'openjpeg2' 'openssl' 'libxext') +source=("https://mupdf.com/downloads/mupdf-${pkgver/_/}-source.tar.gz" + '0001-mupdf-openjpeg.patch' + 'mupdf.desktop' + 'mupdf.xpm' + 'seccomp.patch') + +sha256sums=('209474a80c56a035ce3f4958a63373a96fad75c927c7b1acdc553fc85855f00a' + '01ad0365bc7be670a7a11603cb48ef89d85d804029dcf5420aa70846fe5dce4a' + '70f632e22902ad4224b1d88696702b3ba4eb3c28eb7acf735f06d16e6884a078' + 'a435f44425f5432c074dee745d8fbaeb879038ec1f1ec64f037c74662f09aca8' + '7b2936c31fea61b9623eb9a40d81818d1d1dd12f029222d2722b9002e723e5b4') + + +prepare() { + cd ${_pkgbase}-${_pkgver/_/}-source + + # remove bundled packages, we want our system libraries + rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,jpeg,openjpeg,mujs,zlib} + + # fix function for openjpeg 2.2.x + patch -Np1 < "${srcdir}/0001-mupdf-openjpeg.patch" + + # fix includes for jbig2dec + sed '/^JBIG2DEC_CFLAGS :=/s|$| -I./include/mupdf|' -i Makethird + + # apply seccomp patch + patch -Np1 < "${srcdir}/seccomp.patch" + + # embedding CJK fonts into binaries is madness... + sed '/* #define TOFU_CJK /c #define TOFU_CJK 1' -i include/mupdf/fitz/config.h + sed '/* #define TOFU /c #define TOFU 1' -i include/mupdf/fitz/config.h + sed '/* #define TOFU_CJK_EXT /c #define TOFU_CJK_EXT 1' -i include/mupdf/fitz/config.h + sed '/* #define TOFU_EMOJI /c #define TOFU_EMOJI 1' -i include/mupdf/fitz/config.h + sed '/* #define TOFU_HISTORIC /c #define TOFU_HISTORIC 1' -i include/mupdf/fitz/config.h + sed '/* #define TOFU_SYMBOL /c #define TOFU_SYMBOL 1' -i include/mupdf/fitz/config.h + sed '/* #define TOFU_SIL /c #define TOFU_SIL 1' -i include/mupdf/fitz/config.h + + # disable XPS + sed '/* #define FZ_ENABLE_XPS /c #define FZ_ENABLE_XPS 0' -i include/mupdf/fitz/config.h + + # disable SVG + sed '/* #define FZ_ENABLE_SVG /c #define FZ_ENABLE_SVG 0' -i include/mupdf/fitz/config.h + + # disable CBZ + sed '/* #define FZ_ENABLE_CBZ /c #define FZ_ENABLE_CBZ 0' -i include/mupdf/fitz/config.h + + # disable IMG + sed '/* #define FZ_ENABLE_IMG /c #define FZ_ENABLE_IMG 0' -i include/mupdf/fitz/config.h + + # disable TIFF + sed '/* #define FZ_ENABLE_TIFF /c #define FZ_ENABLE_TIFF 0' -i include/mupdf/fitz/config.h + + # disable HTML + sed '/* #define FZ_ENABLE_HTML /c #define FZ_ENABLE_HTML 0' -i include/mupdf/fitz/config.h + + # disable EPUB + sed '/* #define FZ_ENABLE_EPUB /c #define FZ_ENABLE_EPUB 0' -i include/mupdf/fitz/config.h + + # disable GPRF + sed '/* #define FZ_ENABLE_GPRF /c #define FZ_ENABLE_GPRF 0' -i include/mupdf/fitz/config.h + + # disable JS + sed '/* #define FZ_ENABLE_JS /c #define FZ_ENABLE_JS 0' -i include/mupdf/fitz/config.h +} + +build() { + CFLAGS+=' -fPIC -fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2' + CXXFLAGS+=' -fPIC -fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2' + LDFLAGS+=' -pie' + export CFLAGS CXXFLAGS LDFLAGS + +# CFLAGS+=' -fPIC' +# CXXFLAGS+=' -fPIC' +# export CFLAGS CXXFLAGS + +# HAVE_GLFW='yes' +# SYS_GLFW_CFLAGS="$(pkg-config --cflags glfw3)" +# SYS_GLFW_LIBS="$(pkg-config --libs glfw3) -lGL" +# export HAVE_GLFW SYS_GLFW_CFLAGS SYS_GLFW_LIBS + + cd ${_pkgbase}-${_pkgver/_/}-source + make build=release +} + +#the libmupdf package does not contain any seccomp functionalty. Seccomp is process based. +package_libmupdf-seccomp() { +pkgdesc='Library for Lightweight PDF viewer' + + cd ${_pkgbase}-${_pkgver/_/}-source + + make build=release prefix="$pkgdir"/usr install + + rm -rf "$pkgdir"/usr/{bin,share/man} + mv "$pkgdir"/usr/share/doc/mupdf "$pkgdir"/usr/share/doc/libmupdf + + find "$pkgdir"/usr/include "$pkgdir"/usr/share "$pkgdir"/usr/lib \ + -type f -exec chmod 0644 {} + +} + +package_mupdf-seccomp() { + pkgdesc='Lightweight PDF viewer with seccomp filter' + depends=('curl' 'desktop-file-utils' 'freetype2' 'harfbuzz' 'jbig2dec' + 'libjpeg' 'openjpeg2' 'openssl') + + cd ${_pkgbase}-${_pkgver/_/}-source + + install -D -m0755 build/release/mupdf-x11 "$pkgdir"/usr/bin/mupdf + install -D -m0644 docs/man/mupdf.1 "$pkgdir"/usr/share/man/man1/mupdf.1 + install -d "$pkgdir"/usr/share/doc/mupdf + install -m0644 README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf + install -D -m0644 ../mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop + install -D -m0644 ../mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm +} + + |