diff options
Diffstat (limited to 'community/fontforge/APKBUILD')
-rw-r--r-- | community/fontforge/APKBUILD | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/community/fontforge/APKBUILD b/community/fontforge/APKBUILD new file mode 100644 index 00000000000..81f3fd21e93 --- /dev/null +++ b/community/fontforge/APKBUILD @@ -0,0 +1,122 @@ +# Contributor: Ed Robinson <ed@reevoo.com> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Ed Robinson <ed@reevoo.com> +pkgname=fontforge +pkgver=20230101 +pkgrel=5 +pkgdesc="Free (libre) font editor" +url="https://fontforge.org/" +arch="all !s390x" +license="GPL-3.0-or-later" +makedepends=" + cmake + giflib-dev + gnu-libiconv-dev + gtk+3.0-dev + libspiro-dev + libxml2-dev + pango-dev + potrace + py3-setuptools + python3-dev + readline-dev + samurai + tiff-dev + woff2-dev + " +subpackages=" + $pkgname-dev + $pkgname-libs + $pkgname-gui + $pkgname-doc + $pkgname-lang + py3-$pkgname:_py3 + " +install="$pkgname.post-install $pkgname.post-upgrade" +source="https://github.com/fontforge/fontforge/releases/download/$pkgver/fontforge-$pkgver.tar.xz + fix-select.patch + desktop-gui.patch + gettext-0.22.patch + " + +case "$CARCH" in +x86) + # timeout after 2 hours + options="$options !check" + ;; +esac + +build() { + export CFLAGS="$CFLAGS -flto=auto -I/usr/include/gnu-libiconv" + export CXXFLAGS="$CXXFLAGS -flto=auto -I/usr/include/gnu-libiconv" + _build build-nogui -DENABLE_GUI=OFF -DBUILD_TESTING=OFF + _build build -DENABLE_GUI=ON -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" +} + +_build() { + local builddir=$1; shift + + if [ "$CBUILD" != "$CHOST" ]; then + local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake -B "$builddir" -G Ninja \ + -DCMAKE_BUILD_TYPE=MinSizeRel \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DENABLE_X11=OFF \ + -DENABLE_PYTHON_SCRIPTING=ON \ + -DENABLE_PYTHON_EXTENSION=ON \ + -DENABLE_LIBSPIRO=ON \ + -DENABLE_LIBGIF=ON \ + -DENABLE_LIBJPEG=ON \ + -DENABLE_LIBPNG=ON \ + -DENABLE_LIBREADLINE=ON \ + -DENABLE_LIBTIFF=ON \ + -DENABLE_WOFF2=ON \ + -DENABLE_DOCS=OFF \ + $crossopts \ + "$@" + cmake --build "$builddir" +} + +check() { + cd build + CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j${JOBS:-2} +} + +package() { + pkgdesc="$pkgdesc (CLI tools)" + + DESTDIR="$pkgdir" cmake --install build + DESTDIR=".dest-nogui" cmake --install build-nogui + + mv "$pkgdir"/usr/bin/fontforge "$pkgdir"/usr/bin/fontforge-gui + mv .dest-nogui/usr/bin/fontforge "$pkgdir"/usr/bin/ +} + +gui() { + pkgdesc="$pkgdesc (GUI)" + # NOTE: py3-setuptools is needed for the plugins discovery; FontForge + # complains when it's not available. + depends="$pkgname=$pkgver-r$pkgrel py3-setuptools" + + amove usr/bin/fontforge-gui + amove usr/share/applications + amove usr/share/icons + amove usr/share/metainfo +} + +_py3() { + pkgdesc="Python 3 bindings for $pkgname" + + amove usr/lib/python3.* + amove usr/share/fontforge/python +} + +sha512sums=" +7684a2824d5199e230d2e0a654c2119cef422a57b64e6dd75afde6ba623abed6581f596fd5b7509e03f3b3ad3cf69629aafd4c85aeda64fa91a9e1ab88c9b418 fontforge-20230101.tar.xz +8cb3fb00fa537eab2d4b194916343a0e2aab85c2415a1944c0d0e648d62a7748d5d4465fb99cb92385b749e73abfcaa429f4c9d2bb4c2edea8febeb227add93a fix-select.patch +cd45de343f3776c312df8f1e3cf10be004a5664981911023f9d9e2dbb05fab0adc02bbf9aaff4bdd716355a58cf4edcab8b5a806f76997c1ddc426239d94751a desktop-gui.patch +9c59f24c142373b780992589fba6845c975dd36d376dc069adec3e63e09e9efb757be786d82c0c86cb331965aee1afdb872b4e16768daab075097256eb1002a4 gettext-0.22.patch +" |