From 5a682dec9e2b7fb4f547aa685116f72356944056 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Thu, 29 Sep 2022 20:56:26 -0700 Subject: [PATCH] packaging/flatpak: add manifest for GNOME Builder integration By adding the Flatpak manifest to Inkscape, GNOME Builder can automatically discover it and use it to setup build containers. This allows potential contributors to clone the Inkscape repository and click "Run". At that point they have a C++ IDE with completion, diagnostics, and more with nothing more than Builder and a clone of the Inkscape repository. --- packaging/flatpak/README.md | 31 ++ packaging/flatpak/intltool-0.51.json | 15 + .../intltool-perl5.26-regex-fixes.patch | 59 +++ packaging/flatpak/libwpd-fix.patch | 10 + packaging/flatpak/org.inkscape.Inkscape.json | 468 ++++++++++++++++++ packaging/flatpak/python3-lxml.json | 14 + packaging/flatpak/python3-numpy.json | 15 + packaging/flatpak/python3-requirements.json | 151 ++++++ packaging/flatpak/python3-scour.json | 14 + packaging/flatpak/python3-tkinter.yaml | 45 ++ packaging/flatpak/requirements.txt | 6 + 11 files changed, 828 insertions(+) create mode 100644 packaging/flatpak/README.md create mode 100644 packaging/flatpak/intltool-0.51.json create mode 100644 packaging/flatpak/intltool-perl5.26-regex-fixes.patch create mode 100644 packaging/flatpak/libwpd-fix.patch create mode 100644 packaging/flatpak/org.inkscape.Inkscape.json create mode 100644 packaging/flatpak/python3-lxml.json create mode 100644 packaging/flatpak/python3-numpy.json create mode 100644 packaging/flatpak/python3-requirements.json create mode 100644 packaging/flatpak/python3-scour.json create mode 100644 packaging/flatpak/python3-tkinter.yaml create mode 100644 packaging/flatpak/requirements.txt diff --git a/packaging/flatpak/README.md b/packaging/flatpak/README.md new file mode 100644 index 0000000000..de36163b49 --- /dev/null +++ b/packaging/flatpak/README.md @@ -0,0 +1,31 @@ +# Inkscape Flatpak + +## Python dependencies + +Inkscape need a certain number a Python modules at runtime. + +### `requirement.txt` + +There is a top level `requirement.txt` to that contain all the modules +that can be installed using the standard mechanism. + +The corresponding manifest fragment is `python3-requirements.json`. It +is generated using `flatpak-builder-tools`. +``` +./pip/flatpak-pip-generator -r PATH_TO/org.inkscape.Inkscape/requirements.txt +``` + +### `lxml` module + +Unfortunately `lxml` is not in the Platform but is in the Sdk. So it needs +to be force installed. + +## Permissions rationale + +This application requests the following restricted permissions: + +- Network access for the extension mamanger: `--share=network` +- Needs access to all files: `--filesystem=host` (FIXME?) +- X11: we use `--socket=x11` instead of the fallback as it is required + for extensions that use tkinter. See + https://github.com/flathub/org.inkscape.Inkscape/issues/101 diff --git a/packaging/flatpak/intltool-0.51.json b/packaging/flatpak/intltool-0.51.json new file mode 100644 index 0000000000..c1f7d26946 --- /dev/null +++ b/packaging/flatpak/intltool-0.51.json @@ -0,0 +1,15 @@ +{ + "name": "intltool", + "cleanup": [ "*" ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz", + "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd" + }, + { + "type": "patch", + "path": "intltool-perl5.26-regex-fixes.patch" + } + ] +} diff --git a/packaging/flatpak/intltool-perl5.26-regex-fixes.patch b/packaging/flatpak/intltool-perl5.26-regex-fixes.patch new file mode 100644 index 0000000000..234b82bdf1 --- /dev/null +++ b/packaging/flatpak/intltool-perl5.26-regex-fixes.patch @@ -0,0 +1,59 @@ +Description: Escape "{", to prevent complaints from perl 5.22 and 5.26 +Author: Roderich Schupp +Author: gregor herrmann +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788705 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826471 +Bug-Upstream: https://bugs.launchpad.net/intltool/+bug/1490906 + +Index: intltool-0.51.0/intltool-update.in +=================================================================== +--- intltool-0.51.0.orig/intltool-update.in 2017-07-23 17:24:35.113169465 +0200 ++++ intltool-0.51.0/intltool-update.in 2017-07-23 17:24:35.109169052 +0200 +@@ -1062,13 +1062,13 @@ + } + } + +- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) ++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; + my $sub = ""; + # Ignore recursive definitions of variables +- $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; ++ $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/; + + return SubstituteVariable ("$untouched$sub$rest"); + } +@@ -1190,10 +1190,10 @@ + $name =~ s/\(+$//g; + $version =~ s/\(+$//g; + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m) +@@ -1219,11 +1219,11 @@ + $version =~ s/\(+$//g; + $bugurl =~ s/\(+$//g if (defined $bugurl); + +- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); +- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); +- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); +- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); +- $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/); ++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); ++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); ++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); ++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); ++ $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/); + } + + # \s makes this not work, why? diff --git a/packaging/flatpak/libwpd-fix.patch b/packaging/flatpak/libwpd-fix.patch new file mode 100644 index 0000000000..f9fbcc5045 --- /dev/null +++ b/packaging/flatpak/libwpd-fix.patch @@ -0,0 +1,10 @@ +--- libwpd/src/lib/WPXTable.h-orig 2021-09-28 00:10:10.534802649 -0400 ++++ libwpd/src/lib/WPXTable.h 2021-09-28 00:10:38.504062344 -0400 +@@ -36,6 +36,7 @@ + #ifndef _WPXTABLE_H + #define _WPXTABLE_H + ++#include + #include + + struct WPXTableCell diff --git a/packaging/flatpak/org.inkscape.Inkscape.json b/packaging/flatpak/org.inkscape.Inkscape.json new file mode 100644 index 0000000000..8beed831b9 --- /dev/null +++ b/packaging/flatpak/org.inkscape.Inkscape.json @@ -0,0 +1,468 @@ +{ + "app-id": "org.inkscape.Inkscape", + "runtime": "org.gnome.Platform", + "runtime-version": "42", + "sdk": "org.gnome.Sdk", + "command": "inkscape", + "finish-args": [ + "--share=ipc", + "--socket=x11", + "--socket=wayland", + "--filesystem=host", + "--filesystem=xdg-config/gtk-3.0", + "--filesystem=xdg-run/gvfs", + "--filesystem=xdg-run/gvfsd", + "--talk-name=org.gtk.vfs.*", + "--share=network" + ], + "cleanup": [ + "/bin/poppler-glib-demo", + "/bin/gsl-*", + "/include", + "/lib/pkgconfig", + "/share/aclocal", + "/share/devhelp", + "/share/doc", + "/share/gc", + "/share/info", + "/share/man", + "/share/pkgconfig", + "*.la", + "*.a" + ], + "modules": [ + { + "name": "boost", + "buildsystem": "simple", + "cleanup" : [ + "/include", + "/lib/libboost_*.so", + "/lib/libboost_*.a" + ], + "build-commands" : [ + "./bootstrap.sh --with-libraries=filesystem", + "./b2 install variant=release link=shared runtime-link=shared --prefix=/app -j $FLATPAK_BUILDER_N_JOBS" + ], + "sources": [ + { + "type": "archive", + "url": "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2", + "sha256": "8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc" + } + ] + }, + { + "name": "mm-common", + "buildsystem": "meson", + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/mm-common/1.0/mm-common-1.0.3.tar.xz", + "sha256": "e81596625899aacf1d0bf27ccc2fcc7f373405ec48735ca1c7273c0fbcdc1ef5" + } + ], + "cleanup": [ + "*" + ] + }, + { + "name": "sigc++-2", + "config-opts": [ + "--disable-documentation" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/libsigc++/2.10/libsigc++-2.10.7.tar.xz", + "sha256": "d082a2ce72c750f66b1a415abe3e852df2eae1e8af53010f4ac2ea261a478832" + } + ] + }, + { + "name": "gsl", + "sources": [ + { + "type": "archive", + "url": "https://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz", + "sha256": "efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b" + } + ] + }, + { + "name": "boehmgc", + "sources": [ + { + "type": "archive", + "url": "https://github.com/ivmai/bdwgc/archive/v8.0.6.tar.gz", + "sha256": "3de0e3d456103a8409927ac16aa45d7b7647dd613e1f212019deab27713445cb" + } + ], + "modules": [ + { + "name": "libatomic_ops", + "config-opts": [ + "--enable-shared", + "--disable-static" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/ivmai/libatomic_ops/releases/download/v7.6.12/libatomic_ops-7.6.12.tar.gz", + "sha256": "f0ab566e25fce08b560e1feab6a3db01db4a38e5bc687804334ef3920c549f3e" + } + ] + } + ] + }, + { + "name": "cairomm", + "config-opts": [ + "--disable-documentation" + ], + "cleanup": [ + "/lib/cairomm-1.0" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.cairographics.org/releases/cairomm-1.14.3.tar.xz", + "sha256": "0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78" + } + ] + }, + { + "name": "glibmm", + "cleanup": [ + "/lib/glibmm-2.4" + ], + "buildsystem": "meson", + "config-opts": [ + "-Dbuild-documentation=false", + "-Dbuild-examples=false" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/glibmm/2.66/glibmm-2.66.1.tar.xz", + "sha256": "69bd6b5327716ca2f511ab580a969fd7bf0cd2c24ce15e1d0e530592d3ff209c" + } + ] + }, + { + "name": "pangomm", + "buildsystem": "meson", + "config-opts": [ + "-Dbuild-documentation=false" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/pangomm/2.46/pangomm-2.46.2.tar.xz", + "sha256": "57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4" + } + ] + }, + { + "name": "atkmm", + "buildsystem": "meson", + "config-opts": [ + "-Dbuild-documentation=false" + ], + "cleanup": [ + "/lib/atkmm-1.6" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/atkmm/2.28/atkmm-2.28.2.tar.xz", + "sha256": "a0bb49765ceccc293ab2c6735ba100431807d384ffa14c2ebd30e07993fd2fa4" + } + ] + }, + { + "name" : "gtkmm", + "buildsystem": "meson", + "config-opts": [ + "-Dbuild-documentation=false" + ], + "cleanup": [ + "/lib/gtkmm-3.0" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.5.tar.xz", + "sha256" : "856333de86689f6a81c123f2db15d85db9addc438bc3574c36f15736aeae22e6" + } + ] + }, + { + "name": "gdl", + "cleanup" : [ + "/include", + "/lib/pkgconfig" + ], + "modules": [ + "intltool-0.51.json" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/gdl/3.40/gdl-3.40.0.tar.xz", + "sha256": "3641d4fd669d1e1818aeff3cf9ffb7887fc5c367850b78c28c775eba4ab6a555" + } + ] + }, + { + "name": "potrace", + "config-opts": ["--with-libpotrace"], + "build-options": { + "env": { + "CC": "gcc" + } + }, + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/potrace/1.16/potrace-1.16.tar.gz", + "sha256": "be8248a17dedd6ccbaab2fcc45835bb0502d062e40fbded3bc56028ce5eb7acc" + } + ] + }, + "python3-tkinter.yaml", + "python3-lxml.json", + "python3-scour.json", + "python3-requirements.json", + { + "name": "poppler-data", + "buildsystem": "cmake-ninja", + "sources": [ + { + "type": "archive", + "url": "https://poppler.freedesktop.org/poppler-data-0.4.11.tar.gz", + "sha256": "2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c" + } + ] + }, + { + "name": "poppler", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DENABLE_LIBOPENJPEG=none", + "-DENABLE_UNSTABLE_API_ABI_HEADERS=ON" + ], + "sources": [ + { + "type": "archive", + "url": "https://poppler.freedesktop.org/poppler-21.09.0.tar.xz", + "sha256": "5a47fef738c2b99471f9b459a8bf8b40aefb7eed92caa4861c3798b2e126d05b" + } + ] + }, + { + "name": "ghostscript", + "config-opts": [ + "--disable-cups", + "--disable-dbus", + "--disable-openjpeg", + "--disable-gtk" + ], + "make-args": [ "so" ], + "make-install-args": [ "soinstall" ], + "cleanup": [ + "/share/man", + "/share/ghostscript/9.53/doc/", + "/share/ghostscript/9.53/examples" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9533/ghostscript-9.53.3.tar.xz", + "sha256": "9c9f5bc85b6c7eb08368c05b1e3339f7aaf9677ddca710c6283f872d55e2a234" + }, + { + "type": "shell", + "commands": [ + "cp -p /usr/share/automake-*/config.{sub,guess} freetype/builds/unix/", + "cp -p /usr/share/automake-*/config.{sub,guess} ijs/", + "cp -p /usr/share/automake-*/config.{sub,guess} jpeg/", + "cp -p /usr/share/automake-*/config.{sub,guess} libpng/", + "cp -p /usr/share/automake-*/config.{sub,guess} lcms2mt/", + "cp -p /usr/share/automake-*/config.{sub,guess} tiff/config/", + "rm -rf libpng/pngread.c" + ] + } + ] + }, + "python3-numpy.json", + { + "name": "double-conversion", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DBUILD_SHARED_LIBS=ON" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/google/double-conversion/archive/v3.1.5.tar.gz", + "sha256": "a63ecb93182134ba4293fd5f22d6e08ca417caafa244afaa751cbfddf6415b13", + "dest-filename": "double-conversion-3.1.5.tar.gz" + } + ] + }, + { + "name": "librevenge", + "cleanup": [ + "/include", + "/lib/pkgconfig" + ], + "config-opts": [ + "--disable-tests", + "--disable-werror" + ], + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/libwpd/librevenge/librevenge-0.0.4/librevenge-0.0.4.tar.xz", + "sha256" : "933f0729f04267cc354b9a02bc3e9afefa5512a3bdd0b45f159ee14a3e3347b2" + } + ] + }, + { + "name": "libwpd", + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/bin/wpd*" + ], + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/libwpd/libwpd/libwpd-0.10.3/libwpd-0.10.3.tar.xz", + "sha256" : "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09" + }, + { + "type": "patch", + "path": "libwpd-fix.patch" + } + ] + }, + { + "name": "libwpg", + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/bin/wpg*" + ], + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/libwpg/libwpg/libwpg-0.3.3/libwpg-0.3.3.tar.xz", + "sha256": "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c" + } + ] + }, + { + "name": "libvisio", + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/bin/vsd*", + "/bin/vss*" + ], + "config-opts": [ + "--disable-tests" + ], + "sources": [ + { + "type": "archive", + "url": "https://dev-www.libreoffice.org/src/libvisio/libvisio-0.1.7.tar.xz", + "sha256": "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c" + } + ] + }, + { + "name": "libcdr", + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/bin/cmx*", + "/bin/cdr*" + ], + "config-opts": [ + "--disable-tests" + ], + "sources": [ + { + "type": "archive", + "url": "https://dev-www.libreoffice.org/src/libcdr/libcdr-0.1.7.tar.xz", + "sha256": "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4" + }, + { + "type" : "shell", + "commands" : [ + "autoreconf -vfi" + ] + } + ] + }, + { + "name": "gspell", + "config-opts" : [ + "--disable-vala", + "--disable-gtk-doc", + "--disable-gtk-doc-html" + ], + "cleanup" : [ + "/bin", + "/include", + "/lib/pkgconfig", + "*.la", + "/share/gir-1.0", + "/share/gtk-doc", + "/share/vala" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://download.gnome.org/sources/gspell/1.9/gspell-1.9.1.tar.xz", + "sha256" : "dcbb769dfdde8e3c0a8ed3102ce7e661abbf7ddf85df08b29915e92cd723abdd" + } + ] + }, + { + "name": "imagemagick", + "config-opts": [ + "--disable-static" + ], + "sources": [ + { + "type": "archive", + "url": "https://imagemagick.org/archive/releases/ImageMagick-6.9.12-23.tar.xz", + "sha256": "69e91deaafd1065bfc8741f99078350961f95135cd57d2a30bbc7588cc81f331" + } + ] + }, + { + "name": "inkscape", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DBUILD_TESTING=OFF", + "-DWITH_INTERNAL_2GEOM=ON" + ], + "build-options": { + "cxxflags": "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_66" + }, + "post-install": [ + "ln -sf /run/host/usr/share/color /app/share/color" + ], + "sources": [ + { + "type": "archive", + "url": "https://inkscape.org/gallery/item/34673/inkscape-1.2.1.tar.xz", + "sha256": "46ce7da0eba7ca4badc1db70e9cbb67e0adf9bb342687dc6e08b5ca21b8d4c1b" + } + ] + } + ] +} diff --git a/packaging/flatpak/python3-lxml.json b/packaging/flatpak/python3-lxml.json new file mode 100644 index 0000000000..16c5292f5c --- /dev/null +++ b/packaging/flatpak/python3-lxml.json @@ -0,0 +1,14 @@ +{ + "name": "python3-lxml", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --ignore-installed --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"lxml\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/e5/21/a2e4517e3d216f0051687eea3d3317557bde68736f038a3b105ac3809247/lxml-4.6.3.tar.gz", + "sha256": "39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468" + } + ] +} diff --git a/packaging/flatpak/python3-numpy.json b/packaging/flatpak/python3-numpy.json new file mode 100644 index 0000000000..ae0144b96b --- /dev/null +++ b/packaging/flatpak/python3-numpy.json @@ -0,0 +1,15 @@ +{ + "name": "python3-numpy", + "buildsystem": "simple", + "build-commands": [ + "rm pyproject.toml", + "pip3 install --prefix=/app ." + ], + "sources": [ + { + "type": "archive", + "url": "https://files.pythonhosted.org/packages/3a/be/650f9c091ef71cb01d735775d554e068752d3ff63d7943b26316dc401749/numpy-1.21.2.zip", + "sha256": "423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc" + } + ] +} diff --git a/packaging/flatpak/python3-requirements.json b/packaging/flatpak/python3-requirements.json new file mode 100644 index 0000000000..903002dd76 --- /dev/null +++ b/packaging/flatpak/python3-requirements.json @@ -0,0 +1,151 @@ +{ + "name": "python3-requirements", + "buildsystem": "simple", + "build-commands": [], + "modules": [ + { + "name": "python3-appdirs", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"appdirs\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl", + "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" + } + ] + }, + { + "name": "python3-cachecontrol", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"cachecontrol[filecache]\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ec/03/062e6444ce4baf1eac17a6a0ebfe36bb1ad05e1df0e20b110de59c278498/urllib3-1.26.9-py2.py3-none-any.whl", + "sha256": "44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/04/a2/d918dcd22354d8958fe113e1a3630137e0fc8b44859ade3063982eacd2a4/idna-3.3-py3-none-any.whl", + "sha256": "84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl", + "sha256": "6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/11/dd/e015f3780f42dd9af62cf0107b44ea1298926627ecd70c17b0e484e95bcd/certifi-2022.5.18.1-py3-none-any.whl", + "sha256": "f1d53542ee8cbedbe2118b5686372fb33c297fcd6379b050cca0ef13a597382a" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl", + "sha256": "f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/83/63/15ce47ede5b03657e920f3f006e56ca9a16f7873978146f2f77e297bdd22/CacheControl-0.12.11-py2.py3-none-any.whl", + "sha256": "2c75d6a8938cb1933c75c50184549ad42728a27e9f6b92fd677c3151aa72555b" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/61/3c/2206f39880d38ca7ad8ac1b28d2d5ca81632d163b2d68ef90e46409ca057/msgpack-1.0.3.tar.gz", + "sha256": "51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/c8/22/9460e311f340cb62d26a38c419b1381b8593b0bb6b5d1f056938b086d362/lockfile-0.12.2-py2.py3-none-any.whl", + "sha256": "6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa" + } + ] + }, + { + "name": "python3-cssselect", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"cssselect\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/3b/d4/3b5c17f00cce85b9a1e6f91096e1cc8e8ede2e1be8e96b87ce1ed09e92c5/cssselect-1.1.0-py2.py3-none-any.whl", + "sha256": "f612ee47b749c877ebae5bb77035d8f4202c6ad0f0fc1271b3c18ad6c4468ecf" + } + ] + }, + { + "name": "python3-packaging", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"packaging\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl", + "sha256": "5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl", + "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" + } + ] + }, + { + "name": "python3-Pillow", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"Pillow\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/43/6e/59853546226ee6200f9ba6e574d11604b60ad0754d2cbd1c8f3246b70418/Pillow-9.1.1.tar.gz", + "sha256": "7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0" + } + ] + }, + { + "name": "python3-requests", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ec/03/062e6444ce4baf1eac17a6a0ebfe36bb1ad05e1df0e20b110de59c278498/urllib3-1.26.9-py2.py3-none-any.whl", + "sha256": "44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/04/a2/d918dcd22354d8958fe113e1a3630137e0fc8b44859ade3063982eacd2a4/idna-3.3-py3-none-any.whl", + "sha256": "84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl", + "sha256": "6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/11/dd/e015f3780f42dd9af62cf0107b44ea1298926627ecd70c17b0e484e95bcd/certifi-2022.5.18.1-py3-none-any.whl", + "sha256": "f1d53542ee8cbedbe2118b5686372fb33c297fcd6379b050cca0ef13a597382a" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl", + "sha256": "f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" + } + ] + } + ] +} \ No newline at end of file diff --git a/packaging/flatpak/python3-scour.json b/packaging/flatpak/python3-scour.json new file mode 100644 index 0000000000..150de141c5 --- /dev/null +++ b/packaging/flatpak/python3-scour.json @@ -0,0 +1,14 @@ +{ + "name": "python3-scour", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --prefix=/app ." + ], + "sources": [ + { + "type": "archive", + "url": "https://files.pythonhosted.org/packages/75/19/f519ef8aa2f379935a44212c5744e2b3a46173bf04e0110fb7f4af4028c9/scour-0.38.2.tar.gz", + "sha256": "6881ec26660c130c5ecd996ac6f6b03939dd574198f50773f2508b81a68e0daf" + } + ] +} diff --git a/packaging/flatpak/python3-tkinter.yaml b/packaging/flatpak/python3-tkinter.yaml new file mode 100644 index 0000000000..a2f4050a38 --- /dev/null +++ b/packaging/flatpak/python3-tkinter.yaml @@ -0,0 +1,45 @@ +name: tkinter +buildsystem: simple +build-commands: + - pip3 install --prefix=${FLATPAK_DEST} . +sources: + - type: git + url: https://github.com/iwalton3/tkinter-standalone + commit: ba946536054f9d27a08aafde21aa18330ce05729 +modules: + - name: tcl + buildsystem: autotools + subdir: unix + post-install: + - chmod 755 /app/lib/libtcl*.so + cleanup: + - /bin + - /lib/pkgconfig + - /man + sources: + - type: archive + url: https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz + sha256: 26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6 + x-checker-data: + type: anitya + project-id: 4941 + stable-only: true + url-template: https://prdownloads.sourceforge.net/tcl/tcl$version-src.tar.gz + - name: tk + buildsystem: autotools + subdir: unix + post-install: + - chmod 755 /app/lib/libtk*.so + cleanup: + - /bin + - /lib/pkgconfig + - /man + sources: + - type: archive + url: https://prdownloads.sourceforge.net/tcl/tk8.6.12-src.tar.gz + sha256: 12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630 + x-checker-data: + type: anitya + project-id: 11426 + stable-only: true + url-template: https://prdownloads.sourceforge.net/tcl/tk$version-src.tar.gz diff --git a/packaging/flatpak/requirements.txt b/packaging/flatpak/requirements.txt new file mode 100644 index 0000000000..6b5a2be0f3 --- /dev/null +++ b/packaging/flatpak/requirements.txt @@ -0,0 +1,6 @@ +appdirs +cachecontrol[filecache] +cssselect +packaging +Pillow +requests -- GitLab