From eeb921243a1352b6c34c48082786fa31bef05c7e Mon Sep 17 00:00:00 2001 From: Jan Horak Date: Tue, 29 Mar 2022 15:31:28 +0200 Subject: [PATCH] Resolves: #2068037 build inkscape flatpak for 9.0 --- gating.yaml | 7 ++ inkscape.yaml | 196 ++++++++++++++++++++++++++++++++++++ tests/scripts/test-basic.sh | 15 +++ tests/tests.yml | 10 ++ 4 files changed, 228 insertions(+) create mode 100644 gating.yaml create mode 100644 inkscape.yaml create mode 100755 tests/scripts/test-basic.sh create mode 100644 tests/tests.yml diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..10bcdc7 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate_modules +subject_type: redhat-module +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.tier0.functional} diff --git a/inkscape.yaml b/inkscape.yaml new file mode 100644 index 0000000..182e49a --- /dev/null +++ b/inkscape.yaml @@ -0,0 +1,196 @@ +--- +document: modulemd +version: 2 +data: + name: inkscape + stream: flatpak + summary: Vector-based drawing program using SVG + description: >- + Inkscape is a vector graphics editor, with capabilities similar to Illustrator, + CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file + format. It is therefore a very useful tool for web designers and as an interchange + format for desktop publishing. + + Inkscape supports many advanced SVG features (markers, clones, alpha blending, + etc.) and great care is taken in designing a streamlined interface. It is very + easy to edit nodes, perform complex path operations, trace bitmaps and much more. + license: + module: + - MIT + dependencies: + - buildrequires: + flatpak-runtime: [el9] + platform: [el9] + requires: + flatpak-runtime: [el9] + platform: [el9] + profiles: + default: + rpms: + - inkscape + filter: + rpms: + - atkmm-devel + - cairomm-devel + - gc-devel + - glibmm24-devel + - gsl-devel + - gtkmm24-devel + - gtkspell3-devel + - gvfs-devel + - libatomic_ops-devel + - libatomic_ops-static + - librevenge-devel + - libsigc++20-devel + - libwpd-devel + - libwpg-devel + - openblas-devel + - openblas-static + - openjpeg2-devel + - openjpeg2-devel-docs + - pangomm-devel + - poppler-cpp-devel + - poppler-data-devel + - poppler-devel + - poppler-glib-devel + - poppler-qt5-devel + - potrace-devel + buildopts: + rpms: + # We set _with_bootstrap for python2-pip, to avoid dependency on python2-wheel + # We set _without_rpmwheels to disable a requirements on + # python2-setuptools-wheel, python2-pip-wheel in the + # python2 package - avoiding a circular dependency. + # + # We disable all tests by default + # + # We set _tmpfilesdir and _userunitdir to override the standard + # /usr-prefixed values and fix the build of gvfs + macros: | + %_with_bootstrap 1 + %_without_tests 1 + %_tmpfilesdir /app/lib/tmpfiles.d + %_userunitdir /app/lib/systemd/user + components: + rpms: + atkmm: + # After glibmm24 + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 30 + cairomm: + # After libsigc++20 + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 20 + Cython: + # after python2-setuptools + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 30 + gc: + # after libatomic_ops + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 20 + glibmm24: + # After libsigc++20 + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 20 + gsl: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + gtkspell3: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + gvfs: + # The build pulls in a a lot of packages, but these are dependencies + # of the daemon, which we don't need in the Flatpak, so we can let them + # come from the base package set + rationale: gvfs-client is a runtime dependency of inkscape + ref: rhel-9.0.0 + buildorder: 10 + inkscape: + rationale: Application package + ref: rhel-9.0.0 + buildorder: 100 + libatomic_ops: + rationale: Dependency of gc + ref: rhel-9.0.0 + buildorder: 10 + librevenge: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + libsigc++20: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + libwpd: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + libwpg: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + openblas: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + numpy: + # after python-setuptools, python2-nose, Cython, openblas + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 50 + openjpeg2: + rationale: poppler dependency + ref: rhel-9.0.0 + buildorder: 10 + pangomm: + # after cairomm, glibmm24 + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 30 + poppler: + # after openjpeg2, poppler-data + rationale: inkscape dependency + ref: rhel-9.0.0 + buildorder: 20 + poppler-data: + rationale: poppler dependency + ref: rhel-9.0.0 + buildorder: 10 + potrace: + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 10 + python-coverage: + # after python2-setuptools + rationale: python-nose build dependency + ref: rhel-9.0.0 + buildorder: 30 + python-lxml: + # after python2-setuptools, Cython + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 40 + python-markupsafe: + # after python-setuptools + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 30 + python-nose: + # after python-coverage + rationale: Dependency required by numpy + ref: rhel-9.0.0 + buildorder: 40 + python-scour: + # after python2-setuptools + rationale: Runtime dependency + ref: rhel-9.0.0 + buildorder: 30 +... diff --git a/tests/scripts/test-basic.sh b/tests/scripts/test-basic.sh new file mode 100755 index 0000000..88c600e --- /dev/null +++ b/tests/scripts/test-basic.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set +x + +# This is normally set up by the Flatpak sandbox +LD_LIBRARY_PATH=/app/lib64:/app/lib +export LD_LIBRARY_PATH + +/app/bin/inkscape --version +if [ $? != 0 ] ; then + echo FAILURE + exit 1 +else + echo SUCCESS +fi diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..7396e41 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,10 @@ +- hosts: localhost + remote_user: root + roles: + - role: standard-test-basic + tags: + - classic + tests: + - basic: + dir: scripts + run: ./test-basic.sh