summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Kauselmann2017-07-30 20:14:06 +0200
committerFelix Kauselmann2017-07-30 20:14:06 +0200
commit2702753afd164cbd3a1781cbc266f2219e4b5e7b (patch)
tree5ea2c07c76bde15ae81080aee27f510d491a0943
downloadaur-2702753afd164cbd3a1781cbc266f2219e4b5e7b.tar.gz
Initial commit
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD115
-rw-r--r--libpdfium.pc11
3 files changed, 154 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..30cece472771
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+# Generated by mksrcinfo v8
+# Sun Jul 30 18:13:33 UTC 2017
+pkgbase = libpdfium-nojs
+ pkgdesc = Open-source PDF rendering engine.
+ pkgver = 3112.r2.46e8ecf84
+ pkgrel = 1
+ url = https://pdfium.googlesource.com/pdfium/
+ arch = x86_64
+ license = BSD
+ makedepends = git
+ makedepends = python2
+ makedepends = gn
+ makedepends = ninja
+ depends = freetype2
+ depends = lcms2
+ provides = libpdfium
+ conflicts = libpdfium-bin
+ source = git+https://pdfium.googlesource.com/pdfium
+ source = git+https://chromium.googlesource.com/chromium/src/build.git
+ source = glnames.py::http://git.savannah.gnu.org/cgit/freetype/freetype2.git/plain/src/tools/glnames.py?h=VER-2-8
+ source = libpdfium.pc
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = 8c2bc74bc06f1e6a940266a58bedeb12
+ md5sums = 776bd9b489cb2878fdd318407a9f63e3
+
+pkgname = libpdfium-nojs
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..95598a832eb2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,115 @@
+# Maintainer: Felix Kauselmann <licorn at gmail dot com>
+
+pkgname=libpdfium-nojs
+pkgver=3112.r2.46e8ecf84
+pkgrel=1
+pkgdesc="Open-source PDF rendering engine."
+arch=('x86_64')
+url="https://pdfium.googlesource.com/pdfium/"
+license=('BSD')
+depends=('freetype2' 'lcms2')
+conflicts=('libpdfium-bin')
+provides=('libpdfium')
+makedepends=('git' 'python2' 'gn' 'ninja')
+
+source=("git+https://pdfium.googlesource.com/pdfium"
+ "git+https://chromium.googlesource.com/chromium/src/build.git"
+ "glnames.py::http://git.savannah.gnu.org/cgit/freetype/freetype2.git/plain/src/tools/glnames.py?h=VER-2-8"
+ "libpdfium.pc"
+ )
+
+md5sums=('SKIP'
+ 'SKIP'
+ '8c2bc74bc06f1e6a940266a58bedeb12'
+ '776bd9b489cb2878fdd318407a9f63e3')
+
+pkgver() {
+
+ cd $srcdir/pdfium
+
+ # Version = branch name/number + number of commits since branch creation
+ # + short head
+ printf "%s.r%s.%s" $(git rev-parse --abbrev-ref HEAD | cut -d '/' -f2)\
+ $(git rev-list --count master..) $(git rev-parse --short HEAD)
+
+}
+
+prepare() {
+
+ cd "$srcdir/pdfium"
+
+ ln -sf $srcdir/build build
+
+ # Pdfium is developed alongside Chromium and does not provide releases
+ # Upstream recommends using Chromium's dev channels instead
+
+ # Extract pdfium branch name used in stable channel from omahaproxy and do
+ # a checkout
+ git checkout "chromium/$(curl https://omahaproxy.appspot.com/linux?channel=stable | cut -d'.' -f 3)"
+
+ # git checkout "chromium/$(curl https://omahaproxy.appspot.com/linux?channel=beta | cut -d'.' -f 3)"
+ # git checkout "chromium/$(curl https://omahaproxy.appspot.com/linux?channel=dev | cut -d'.' -f 3)"
+
+ # Extract build repo revision needed from DEPS file and do a checkout
+ cd "$srcdir/pdfium/build"
+ git checkout $(awk '/build_revision/ {print substr($2,2,40)}' $srcdir/pdfium/DEPS) -q
+
+ # Patch BUILD.gn to build a shared library
+ cd "$srcdir/pdfium"
+ sed -i 's/static_library("pdfium")/shared_library("pdfium")/g' BUILD.gn
+
+ # 'source_set' builds faster and is more reliable for shared libraries
+ sed -i 's/static_library/source_set/g' BUILD.gn
+ sed -i 's/static_library/source_set/g' third_party/BUILD.gn
+
+ # Patch pdfium headers to enable symbol export
+ sed -i 's/\#define DLLEXPORT/\#define DLLEXPORT __attribute__ ((visibility ("default")))/g'\
+ public/fpdfview.h
+ sed -i '/"PNG_PREFIX",/a "FPDFSDK_EXPORTS",' BUILD.gn
+
+ # https://bugs.chromium.org/p/pdfium/issues/detail?id=733
+ mkdir -p $srcdir/pdfium/third_party/freetype/src/src/psnames/
+ python2 $srcdir/glnames.py $srcdir/pdfium/third_party/freetype/src/src/psnames/pstables.h
+
+ # set pdfium version in pc file
+ sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/libpdfium.pc"
+
+}
+
+build() {
+
+ cd "$srcdir/pdfium"
+
+ local _flags=(
+ 'is_clang=false'
+ 'use_sysroot=false'
+ 'is_debug=false'
+ 'symbol_level=0'
+ 'is_component_build=false'
+ 'pdf_enable_v8=false'
+ 'pdf_enable_xfa=false'
+ 'treat_warnings_as_errors=false'
+ 'use_system_libjpeg=true'
+ 'use_system_zlib=true'
+ 'pdf_bundle_freetype=false'
+ 'use_system_freetype=true'
+ 'use_system_lcms2=true'
+ 'use_gio=false'
+ )
+
+ gn gen out/Release --script-executable=/usr/bin/python2 --args="${_flags[*]}"
+ ninja -C out/Release pdfium
+
+}
+
+package() {
+
+ cd "$srcdir/pdfium"
+
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D public/*.h --target-directory="${pkgdir}/usr/include/pdfium"
+ install -D docs/* --target-directory="${pkgdir}/usr/share/doc/pdfium"
+ install -Dm755 out/Release/libpdfium.so --target-directory="${pkgdir}/usr/lib/pdfium"
+ install -Dm644 ${srcdir}/libpdfium.pc --target-directory=${pkgdir}/usr/lib/pkgconfig
+
+}
diff --git a/libpdfium.pc b/libpdfium.pc
new file mode 100644
index 000000000000..607c8cf02a4a
--- /dev/null
+++ b/libpdfium.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib/pdfium
+includedir=${prefix}/include/pdfium
+
+Name: Pdfium
+Description: Open-source PDF rendering engine.
+Version: @VERSION@
+Cflags: -I${includedir}
+Requires.private: lcms2 libjpeg zlib freetype2
+Libs: -L${libdir} -lpdfium