From 8cc3eb08d139c77681e74fb4cd494a71a73a61b0 Mon Sep 17 00:00:00 2001 From: Batuhan Apaydin Date: Tue, 20 Feb 2024 23:08:04 +0300 Subject: [PATCH] fontforge Signed-off-by: Batuhan Apaydin fontforge Signed-off-by: Batuhan Apaydin fontforge Signed-off-by: Batuhan Apaydin --- fontforge.yaml | 114 ++++++++++++++++++++++++++++++++++++++++++++++ gnu-libiconv.yaml | 72 +++++++++++++++++++++++++++++ libspiro.yaml | 53 +++++++++++++++++++++ potrace.yaml | 51 +++++++++++++++++++++ woff2.yaml | 72 +++++++++++++++++++++++++++++ 5 files changed, 362 insertions(+) create mode 100644 fontforge.yaml create mode 100644 gnu-libiconv.yaml create mode 100644 libspiro.yaml create mode 100644 potrace.yaml create mode 100644 woff2.yaml diff --git a/fontforge.yaml b/fontforge.yaml new file mode 100644 index 00000000000..6f1f1197751 --- /dev/null +++ b/fontforge.yaml @@ -0,0 +1,114 @@ +package: + name: fontforge + version: "20230101" + epoch: 0 + description: Free (libre) font editor + copyright: + - license: GPL-3.0-or-later + +environment: + contents: + packages: + - autoconf + - automake + - build-base + - busybox + - ca-certificates-bundle + - cmake + - giflib-dev + - gnu-libiconv-dev + - gtk-3-dev + - libspiro-dev + - libxml2-dev + - pango-dev + - potrace + - py3-setuptools + - python3-dev + - readline-dev + - samurai + - tiff-dev + - woff2-dev + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/fontforge/fontforge + expected-commit: a1dad3e81da03d5d5f3c4c1c1b9b5ca5ebcfcecf + tag: ${{package.version}} + + - runs: | + 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)" + + + + builddir="$(pwd)" + + 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" + + mkdir -p "${{targets.destdir}}"/usr/bin + + DESTDIR="${{targets.destdir}}" cmake --install build + DESTDIR=".dest-nogui" cmake --install build-nogui + mv "${{targets.destdir}}"/usr/bin/fontforge "${{targets.destdir}}"/usr/bin/fontforge-gui + mv .dest-nogui/usr/bin/fontforge "${{targets.destdir}}"/usr/bin/ + + - uses: strip + +subpackages: + - name: fontforge-dev + pipeline: + - uses: split/dev + dependencies: + runtime: + - fontforge + description: fontforge dev + + - name: fontforge-gui + pipeline: + - runs: | + mv "${{targets.destdir}}"/usr/bin/fontforge-gui "${{targets.subpkgdir}}"/usr/bin/fontforge-gui + mv "${{targets.destdir}}"/usr/bin/applications "${{targets.subpkgdir}}"/usr/bin/applications + mv "${{targets.destdir}}"/usr/bin/icons "${{targets.subpkgdir}}"/usr/bin/icons + mv "${{targets.destdir}}"/usr/bin/metainfo "${{targets.subpkgdir}}"/usr/bin/metainfo + description: fontforge GUI + + - name: fontforge-doc + pipeline: + - uses: split/manpages + description: fontforge manpages + + - name: py3-fontforge + pipeline: + - runs: | + mv "${{targets.destdir}}"/usr/lib/python3.* "${{targets.subpkgdir}}"/usr/lib/python3.* + mv "${{targets.destdir}}"/usr/share/fontforge/python "${{targets.subpkgdir}}"/usr/share/fontforge/python + description: Python 3 bindings for fontforge + +update: + enabled: true + github: + identifier: fontforge/fontforge diff --git a/gnu-libiconv.yaml b/gnu-libiconv.yaml new file mode 100644 index 00000000000..60a9a13c492 --- /dev/null +++ b/gnu-libiconv.yaml @@ -0,0 +1,72 @@ +package: + name: gnu-libiconv + version: "1.17" + epoch: 0 + description: GNU charset conversion library for libc which doesn't implement it + copyright: + - license: LGPL-2.1-or-later + +environment: + contents: + packages: + - autoconf + - automake + - build-base + - busybox + - ca-certificates-bundle + +pipeline: + - uses: fetch + with: + expected-sha256: 8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313 + uri: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-${{package.version}}.tar.gz + + - runs: | + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --docdir=/usr/share/doc/${{package.name}}/ \ + --disable-nls \ + --disable-static \ + --enable-extra-encodings + # since users of this package use this package to work around missing features in musls iconv, + # enable extra encodings (like the CP437) to be closer to glibcs iconv. + + # work around rpath issue + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + + - uses: autoconf/make + + - runs: | + mkdir -p "${{targets.destdir}}"/usr/bin + mkdir -p "${{targets.destdir}}"/usr/include/gnu-libiconv + make DESTDIR="${{targets.destdir}}/" install + + # move headers so they dont clash with libc headers + mv "${{targets.destdir}}"/usr/include/*.h "${{targets.destdir}}"/usr/include/gnu-libiconv + mv "${{targets.destdir}}"/usr/bin/iconv "${{targets.destdir}}"/usr/bin/gnu-iconv + + - uses: strip + +subpackages: + - name: gnu-libiconv-doc + pipeline: + - uses: split/manpages + description: gnu-libiconv manpages + + - name: gnu-libiconv-dev + pipeline: + - uses: split/dev + dependencies: + runtime: + - gnu-libiconv + - gnu-libiconv + description: gnu-libiconv dev + +update: + enabled: true + release-monitor: + identifier: 10656 diff --git a/libspiro.yaml b/libspiro.yaml new file mode 100644 index 00000000000..22636304ac6 --- /dev/null +++ b/libspiro.yaml @@ -0,0 +1,53 @@ +package: + name: libspiro + version: "20221101" + epoch: 0 + description: Library to simplify the drawing of beautiful curves + copyright: + - license: GPL-3.0-or-later + +environment: + contents: + packages: + - autoconf + - automake + - build-base + - busybox + - ca-certificates-bundle + - libtool + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/fontforge/libspiro + expected-commit: 0d87bd211eb22dc3445c263fbf6afba158f14084 + tag: ${{package.version}} + + - runs: autoreconf -i -f + + - uses: autoconf/configure + + - uses: autoconf/make + + - uses: autoconf/make-install + + - uses: strip + +subpackages: + - name: libspiro-dev + pipeline: + - uses: split/dev + dependencies: + runtime: + - libspiro + description: libspiro dev + + - name: libspiro-doc + pipeline: + - uses: split/manpages + description: libspiro manpages + +update: + enabled: true + github: + identifier: fontforge/libspiro diff --git a/potrace.yaml b/potrace.yaml new file mode 100644 index 00000000000..2792469392b --- /dev/null +++ b/potrace.yaml @@ -0,0 +1,51 @@ +package: + name: potrace + version: "1.16" + epoch: 0 + description: Utility for tracing a bitmaps + copyright: + - license: GPL-2.0-or-later + +environment: + contents: + packages: + - autoconf + - automake + - build-base + - busybox + - ca-certificates-bundle + - zlib-dev + +pipeline: + - uses: fetch + with: + expected-sha256: be8248a17dedd6ccbaab2fcc45835bb0502d062e40fbded3bc56028ce5eb7acc + uri: https://potrace.sourceforge.net/download/${{package.version}}/potrace-${{package.version}}.tar.gz + + - uses: autoconf/configure + + - uses: autoconf/make + + - uses: autoconf/make-install + + - uses: strip + +subpackages: + - name: potrace-dev + pipeline: + - uses: split/dev + dependencies: + runtime: + - potrace + - zlib-dev + description: potrace dev + + - name: potrace-doc + pipeline: + - uses: split/manpages + description: potrace manpages + +update: + enabled: true + release-monitor: + identifier: 3691 diff --git a/woff2.yaml b/woff2.yaml new file mode 100644 index 00000000000..22a9519e89f --- /dev/null +++ b/woff2.yaml @@ -0,0 +1,72 @@ +package: + name: woff2 + version: 1.0.2 + epoch: 0 + description: Web Open Font Format 2 reference implementation + copyright: + - license: GPL-3.0-or-later + +environment: + contents: + packages: + - autoconf + - automake + - brotli-dev + - build-base + - busybox + - ca-certificates-bundle + - cmake + - samurai + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/google/woff2 + expected-commit: 1bccf208bca986e53a647dfe4811322adb06ecf8 + tag: v${{package.version}} + + - name: Build + runs: | + CXXFLAGS="$CXXFLAGS -O2" \ + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_SKIP_BUILD_RPATH=ON + cmake --build build + DESTDIR="${{targets.destdir}}" cmake --install build + + - uses: strip + +subpackages: + - name: woff2-dev + pipeline: + - uses: split/dev + dependencies: + runtime: + - woff2 + description: woff2 dev + + - name: libwoff2common + pipeline: + - runs: | + mkdir -p "${{targets.subpkgdir}}"/usr/lib + mv "${{targets.destdir}}"/usr/lib/libwoff2common.so* "${{targets.subpkgdir}}"/usr/lib/libwoff2common.so + + - name: libwoff2enc + pipeline: + - runs: | + mkdir -p "${{targets.subpkgdir}}"/usr/lib + mv ${{targets.destdir}}/usr/lib/libwoff2enc.so* ${{targets.subpkgdir}}/usr/lib/libwoff2enc.so + + - name: libwoff2dec + pipeline: + - runs: | + mkdir -p "${{targets.subpkgdir}}"/usr/lib + mv ${{targets.destdir}}/usr/lib/libwoff2dec.so* ${{targets.subpkgdir}}/usr/lib/libwoff2dec.so + +update: + enabled: true + github: + identifier: google/woff2 + strip-prefix: v