Commit graph

148 commits

Author SHA1 Message Date
Daniel Novomeský
69c81f1059 flatpak: upgrade libjxl 2023-06-16 13:15:14 +00:00
Jehan
d0ac96b8b3 build: fix nightly flatpak.
Don't set both a branch and a commit, otherwise flatpak-builder will
compare the HEAD of this branch (which may evolve with the commit).

Fixes:

> Failed to download sources: module qoi: Git commit for branch master is dfc056e813c98d307238d35f7f041a725d699dfc, but expected f6dffaf1e8170cdd79945a4fb60f6403e447e020
2023-06-07 12:24:11 +02:00
Alx Sa
d4f420769c plug-ins: Port FITS plug-in to cfitsio library
Switch to NASA-maintained cfitsio library for loading/exporting FITS images.
This allows us to import compressed FITS files (GZIP, HCOMP, PLIO, RICE) in
8/16/32 bit and float/double precision. It also simplifies export code using
the built-in cfitsio APIs.
2023-05-14 15:05:50 +00:00
Jehan
a75015a821 build: add appstream-glib
It is actually available in the SDK but was removed from the runtime (relatively
recently, it would seem). As a more general rule, it seems that GNOME is phasing
it out slowly in favor of libappstream. So probably we should do the same
eventually.
Yet for now, to at least have a working nightly flatpak, let's add it to our
package.
2023-05-13 22:44:00 +02:00
Daniel Novomeský
1f4ce4c51f flatpak: install QOI header 2023-04-03 17:38:31 +02:00
Jehan
371925e16b build: sync beta and nightly flatpak manifests.
I'm actually syncing with a branch which I can't test right now because flathub
seem to have some breakage. For the nightly, let's just directly push as anyway
we can't test in Gitlab MRs either because of the non-master jobs timeout.
See: https://github.com/flathub/org.gimp.GIMP/pull/202

We should always keep the diff between these files to a minimum.
2023-03-23 15:44:27 +01:00
Jehan
23a0f22614 build: improve further the flatpak README.
- Fix the markdown styling.
- Add commands on how to build GIMP from the local repository instead of a brand
  new clone (otherwise I don't see how one could develop with flatpak). I knew
  it were possible, but until today, I never tried to do this so I had to test
  first.
2023-03-23 15:12:12 +01:00
Jehan
5e1a7b15da build: remove outdated cron file and update our flatpak howto.
- The cron file was from the very early flatpak experiments before Flathub came
  into the picture, as well as the GNOME Nightly repository. Back then, we
  wanted to set up our own nightlies or release repository through a cron.
- It is still interesting to keep some instructions for local builds of the
  flatpak as some people want to use this for development (but all the part
  about exporting to a repository, signing, etc. is now unneeded for such use
  case). So I'm updating the howto to more current recommendations.
- `flatpak-howto.txt` renamed to `README.md`.
2023-03-23 14:38:08 +01:00
Daniel Novomeský
dc8121729d flatpak: upgrade libjxl, highway, libde265 2023-02-13 17:59:14 +00:00
Daniel Novomeský
12b1890980 flatpak: upgrade exiv2, libheif, libjxl 2023-01-20 12:49:16 +01:00
Jehan
c5f34477e6 build: sync flathub's beta and nightly branches of the flatpak.
Only the libwmf patches are still different. Apparently we may have fixed the
same bugs in different way on both branches. We should look later in details to
see if some patches are better than the other.
2022-11-18 23:48:46 +01:00
Daniel Novomeský
ec3da29f67 flatpak: remove extra lcms2
lcms 2.13 is already present.
2022-11-10 16:50:20 +01:00
Daniel Novomeský
e58efc314d flatpak: change recipe for libjxl 2022-11-04 11:17:58 +00:00
Daniel Novomeský
006b77674d flatpak: Upgrade libde265 2022-11-03 12:07:52 +00:00
Daniel Novomeský
403d11330c flatpak: minor fixes in libde265 and libjxl modules
don't build unnecessary tools from libde265
libjxl uses existing BROTLI library instead of bundled one
2022-09-29 11:51:47 +00:00
Daniel Novomeský
0f8f3c3f1a flatpak: enable BMFF format support in exiv2
Improves AVIF, HEIF, JPEG XL metadata support.
2022-09-23 13:30:12 +02:00
Daniel Novomeský
e0ef799473 flatpak: upgrade libheif and libjxl 2022-09-22 16:32:33 +02:00
Jehan
dfa1f0fc93 build: intltool is still needed by libmypaint. 2022-06-25 17:06:30 +02:00
Niels De Graef
f663d26ab5 Migrate from intltool to gettext
intltool has long been dead upstream. Let's not poke the dead corpse,
please.

This commit is quite large, but that's mostly since trying to support a
hybrid of both gettext and intltool with both Meson and Autotools was
really hard, so I stopped trying.

Due to gettext relying on quite some things being at the exactly right
place in the autotools build (like `ABOUT-NLS` and `config.rpath`) we
really needed to cleanup the `autogen.sh` to only call `aclocal` and
`autoreconf`. No more strange magic; I tried to do it without changing
too much in the file, and things just broke. If people want to do
something more custom, they can just change the script directly. This
change also uncovered some problems in our `configure.ac`, like using
deprecated macros.

The following major changes happened:

* meson: Changed `custom_target()` to `i18n.merge_file()` for all
  supported file types
* Added `.its` and `.loc`  files for the GIMP-specific XML formats, so
  that gettext understands them
* For the `.isl` (Window installer stuff) file, there's no easy way to
  do this in gettext, so instead we start from an XML file (again with
  its own ITS rules etc), translate that with gettext, and then use
  `xsltproc` with a bit of magic to output the .isl file for each
  language
* the `po*/Makefile.in.in` files are migrated to `Makevars` files,
  which gettext natively understands.

Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/8028
2022-06-25 10:25:49 +02:00
Ondřej Míchal
6e87466b6b Update dependencies
- cairo 1.17.4 -> 1.17.6
- graphviz 2.50.0 -> 3.0.0
- lcms 2.12 -> 2.13.1
- OpenBLAS 0.3.19 -> 0.3.20
- openexr 2.5.7 -> 2.5.8
- poppler 22.01.0 -> 22.03.0
- SuiteSparse 5.10.1 -> 5.11.0
2022-04-02 18:48:31 +00:00
Ondřej Míchal
54f7f695f3 Replace C-style comments with JSON keys ignored by Flatpak
JSON does not support comments and their support in Flatpak is possible
through use of json-glib[0]. This is problematic in fully utilizing
flatpak-external-data-checker because its JSON writer does not respect
existing comments. To solve this, make use of Fltpak's specific
behaviour where a "//" key is explicitely ignored while parsing[1].

[0] flatpak/flatpak-builder#363 (comment)
[1] 0e98b7ae19/src/builder-utils.c (L1250)
2022-04-02 18:48:31 +00:00
Ondřej Míchal
baaba0e0d1 Add version constraints for OpenEXR and mypaint-brushes
OpenEXR and mypaint-brushes offer next major versions. GIMP is probably
not ready for the changes in OpenEXR and mypaint-brushes are not yet
finalized. Put their versions under constraints so that automatic PR
creation for dependency bumps can be enabled.
2022-04-02 18:48:31 +00:00
Jehan
6d117b257f build: fixing Exiv2 source URL in flatpak manifest.
The source apparently got changed to using the forge's download section.
The checksum stayed the same (as checked by myself).
2022-02-18 16:35:02 +01:00
Jehan
650e0fa7f3 build: sync nightly flatpak with updates from the dev flatpak.
This includes:
- "copy-icon" set
- Permission and cleanup rules updated
- Exiv2 bumped to 0.27.5
- Adding an x-checker-data for OpenEXR
- Poppler bumped to 22.01.00
- OpenBlas bumped to 0.3.19
- graphviz bumped to 2.50.0
2022-01-25 01:21:55 +01:00
Daniel Novomeský
640bc9b7f1 build: update gi-docgen feature setting in flatpak 2022-01-02 11:24:18 +00:00
Niels De Graef
92e80d12e8 docs: Migrate from gtk-doc to gi-docgen
gtk-doc has been slowly dying for the past few years; with gi-docgen we
have a nice successor.

This also makes sure the C documentation also uses the GIR file, which
in turn means faster build times (since all the C code doesn't have to
be parsed and recompiled again), and has a clear dependency graph.

See the [gi-docgen tutorial] for more info on how the system works.

[gi-docgen tutorial]: https://gnome.pages.gitlab.gnome.org/gi-docgen/tutorial.html
2021-12-27 10:47:34 +01:00
Daniel Novomesky
86b2920897 build: use libjxl 0.6.1 in flatpak package 2021-10-30 12:12:48 +00:00
Jehan
12aae56ede build: add a bit more info about using the Anitya db (for flatpak deps). 2021-10-20 13:12:39 +02:00
Ondřej Míchal
87e621e3a7 flatpak: Bump openexr from v2.3.0 to v2.5.7
This required subtle changes to the manifest because the upstream
project no longer publishes separate tarballs with different parts
of the project.
2021-10-15 17:26:52 +00:00
Daniel Novomesky
9f8de1738a flatpak: use libjxl 0.6 released version 2021-10-15 16:53:14 +02:00
Ondřej Míchal
e6475e9121 flatpak: Manifest minor fixes
flatpak-external-data-checker applied along updates to dependencies some
style fixes. This contains most of them.
2021-10-12 23:00:03 +00:00
Ondřej Míchal
e7ca891ceb flatpak: Update dependencies
- exiv2
  > 0.27.3 -> 0.27.4
  > Allowed to drop applied patches
- gexiv2
  > 0.12 -> 0.14
  > Required adding new build options disabling vapi and python3
- poppler-data
  > 0.4.10 -> 0.4.11
- ghostscript
  > 9.54.0 -> 9.55.0
- OpenBLAS
  > 0.3.17 -> 0.3.18
- x265
  > 3.4 -> 3.5
- libheif
  > 1.9.1 -> 1.12.0
- cairo
  > 1.16.0 -> 1.17.4
- graphviz
  > 2.44.1 -> 2.49.1

Drop exif2 patches

flatpak: Disable vapi, python3 with introspection in gexiv2
2021-10-12 23:00:03 +00:00
Ondřej Míchal
47be60dbe0 flatpak: Add x-checker-data to sources
The x-checker-data field in a flatpak manifest can be used together with
flatpak-external-data-checker[0] to help maintain the dependency list.

The utility has several backends including a generic solution for
scraping and parsing of websites. Instead of using that this uses
anitya[1] as a backend. Anitya is Fedora-hosted service tracking
releases of various projects, taking away the need to match the various
version patterns across projects in the manifest.

The change required some changes to links to existing sources due to
some reasons: availability upstream, change in upstream (url, forge, tar
compression). Affected modules are:

- graphviz
  > from: https://www2.graphviz.org/Packages/stable/portable_source/graphviz-2.44.1.tar.gz
  > to  : https://gitlab.com/graphviz/graphviz/-/archive/2.44.1/graphviz-2.44.1.tar.gz

- cairo
  > from: https://www.cairographics.org/releases/cairo-1.16.0.tar.xz
  > to  : https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.16.0/cairo-1.16.0.tar.gz

- libx265
  > from: 3.4 git tag
  > to  : https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.4.tar.gz

-openexr
  > from: https://github.com/openexr/openexr/releases/download/v2.3.0/openexr-2.3.0.tar.gz
  > to  : https://github.com/AcademySoftwareFoundation/openexr/releases/download/v2.3.0/openexr-2.3.0.tar.gz

- lcms2
  > from: 967e8ac9a188460c52eb8542d399ce9ab43bd4191988ed22b254ef34c6c1877bbb935952ed/lcms2-2.12.tar.gz
  > to  : https://github.com/mm2/Little-CMS/releases/download/lcms2.12/lcms2-2.12.tar.gz

Some sources do not have the x-checker-data set because they are usually
not developed anymore (last release over 10 years ago) or the next
version includes a major version bumb which is not a good candidate for
automation or the currently selected version is a git tag, which was not
clear to me.

[0] https://github.com/flathub/flatpak-external-data-checker
[1] https://release-monitoring.org/
2021-10-12 23:00:03 +00:00
Jehan
6107ae17c9 build: build libjxl to sync nightly and beta flatpak manifest.
See commit e9f790e1ff8d50f63933ec0b0fbb9325447324d4 on Flathub's beta
flatpak repository.
2021-10-01 23:09:50 +02:00
Niels De Graef
7ee72ee9f7 flatpak: Use fallback-x11
From Flatpak's NEWS:

> A new fallback-x11 permission grants X11 access, but only if the user
> is running in a X11 session. For applications that support both
> Wayland and X11, this can be used to ensure that the app doesn't have
> unnecessary X11 access while in Wayland, but still works in an X11
> session.
2021-09-30 16:10:09 +02:00
Jehan
1b2ed2efd2 build: sync our nightly flatpak with last changes.
This is based from changes in wip/release/2-99-8 branch or the Flathub
flatpak (so not necessarily released yet):

- libheif bumped to 1.12.0
- Cairo with new patch to fix #235.
2021-09-27 12:43:36 +02:00
Jehan
2bc1dd1f9c build: fix flatpak manifest.
The option -Dcheck-update has been changed to a combo.
See commit f0be2256d0.
2021-09-05 17:06:05 +02:00
Jehan
d0bef53ecd build: patch to configure libwmf with no freetype-config.
libwmf was still relying on a script called freetype-config instead of
using standard pkg-config. It seems it got wiped out in recent freetype2
(or at the very least, this script is not present anymore in freetype2
version 24.0.18 from master runtime of GNOME SDK).
This patch uses pkg-config in libwmf configuration instead.

As I also had some autoheader "missing template" warnings (which were
failing the recreation of config scripts), I add placeholder
descriptions to AC_DEFINE() macros, as this is apparently now mandatory.
2021-08-22 17:36:25 +02:00
Jehan
9e95d44895 build: forgot a patch for a dependency of the flatpak build. 2021-07-22 17:54:48 +02:00
Jehan
58fd168f8e build: update OpenEXR in our nightly flatpak manifest.
Synced from the beta flatpak. The previous manifest rules were building
fine on Flathub build servers, but not on GNOME CI ones. It resulted in
a bunch of "ISO C++17" errors when building ilmbase.

Maybe just restricting to C++14 through build fine would have been fine,
but anyway let's also update the dependencies in the same time as we
were outdated.
2021-07-22 16:37:15 +02:00
Jehan
3e2207e1e0 build: update the master flatpak.
As per state in the wip/release/2-99-8 branch of the beta flatpak.
In particular, we update some dependencies (poppler, ghostscript and
SuiteSparse).

It should also fix the master flatpak build which seemed to fail on
downloading SuiteSparse sources. Since their upstream moved their
tarballs to be downloaded from Github, it should take care of this issue
by side effect.
2021-07-22 13:00:54 +02:00
Jehan
039be5d00e build: sync with development flatpak.
- dri access needed (cf. commit de8be943 on our Flathub repo).
- GNOME runtime still only provides lcms 2.10 (even in its master build)
  and we need version 2.12 to avoid some crashes (cf. commit ae60863e
  from our flathub repo).

Trying to keep the differences to a minimum. There are still some, like
the extension point is absent from the nightly manifest, but I'm not
sure if it makes sense to have it there.
Also top "cleanup" list is different but we should probably take a
closer look at this. Maybe it's outdated on both sides anyway.
2021-05-27 13:56:22 +02:00
Jehan
2503453628 Revert "flatpak: Use exact version of GEGL (0.4.30)"
This reverts commit 61389adfa0.

I was initially hoping to debug why the GEGL `master` HEAD was
presumably failing to build (according to the reverted commit) but it
actually doesn't (as tested in a feature branch's CI) even though I
don't see any recent change looking like a build fix. So let's just do a
simple reverse. :-)
2021-05-27 02:00:34 +02:00
Ondřej Míchal
61389adfa0 flatpak: Use exact version of GEGL (0.4.30)
Latest git version fails to build.
2021-05-25 11:18:57 +00:00
Ondřej Míchal
1228d898b8 flatpak: Add maxflow dependency and build with workshop
8a771fc6b9
2021-05-25 11:18:57 +00:00
Ondřej Míchal
94ed45db04 flatpak: Add patch to Cairo preventing subpixel font rendering system settings to apply to text layers
See fd391fd109
See 7a0ba49592
2021-05-25 11:18:57 +00:00
Ondřej Míchal
d468722828 flatpak: Build graphviz as GEGL submodule
See 633de34a11
See dd06088c26
2021-05-25 11:18:57 +00:00
Ondřej Míchal
68cf9d8581 flatpak: Remove -Dlibdir=lib configure option
Added because of issues in Msson 0.54.0. Should be fixed since version
0.54.3.

See fbcf2afc63
2021-05-25 11:18:57 +00:00
Ondřej Míchal
551cc6a0ba flatpak: Remove meson build
GNOME SDK contains Meson since version 3.38.

See e8ea702691
2021-05-25 11:18:57 +00:00
Ondřej Míchal
95754f0d6b flatpak: Add gvfsd permission for gvfs
See https://github.com/flathub/org.gimp.GIMP/pull/104
See https://github.com/flathub/flathub/issues/2180
2021-05-25 11:18:57 +00:00