Commit graph

138 commits

Author SHA1 Message Date
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
Ondřej Míchal
2842a8e691 flatpak: Bump versions of some modules
- Poppler 20.10.0 to 21.04.0
- poppler-data from 0.4.9 to 0.4.10
- OpenBLAS from 0.3.9 to 0.3.15
- libde265 from 1.0.7 to 1.0.8
- gexiv 0.12.1 to 0.12.2
2021-05-25 11:18:57 +00:00
Christopher Davis
8e448254d5 flatpak: Fix build
Add patches and dependencies needed to build the development
version of GIMP. Also switches the in-tree manifest to using
the nightly branch of the GNOME SDK and meson
as the buildsystem.
2021-05-25 11:18:57 +00:00
luz paz
bb322d94d7 Fix typos
Found via:
```
codespell -q 3 -S ./ChangeLog*,*.po,./.git,./NEWS* -L als,ang,ba,chello,daa,doubleclick,foto,hist,iff,inport,klass,mut,nd,ower,paeth,params,pard,pevent,sinc,thru,tim,uint
```
2020-11-19 21:56:25 +01:00
Jehan
efd2af9994 build: update nightly flatpak manifest. 2020-11-06 23:45:06 +01:00
Jehan
97a0ad3fec build: sync development flatpak manifest with stable one. 2020-04-04 01:10:55 +02:00
Jehan
1032632e63 build: update flatpak nightly manifest.
Tested with these changes. It is a working flatpak for our dev code.
2019-11-12 13:08:59 +01:00
Jehan
cffb86cc6f build: sync flatpak nightly manifest with stable one.
Not tested recently and I expect it won't build properly, but at least I
synced the changes made lately on the stable manifest.
2019-10-31 16:19:52 +01:00
Jehan
078d789216 build: add missing patch named in flatpak manifest.
I did not commit on purpose because this is actually to be found in the
official flathub repository for GIMP (the concept being to keep the
stable and nightly manifests as sync-ed as possible) and I thought there
is no need to duplicate data. But since this is apparently confusing
people (cf. !91), let's just push it.

Note that even though this patch is taken from the org.octave.Octave
flatpak package, it is actually slightly different (I tweaked it because
we needed to build even less options from SuiteSpace than they do
apparently).
2019-07-11 18:53:30 +02:00
Jehan
31b90638cb build: sync our nightly flatpak manifest with stable one. 2019-05-26 10:47:36 +02:00
Jehan
11e8ba0f51 build: add Wayland support to nightly flatpak.
This was removed for the stable flatpak as it's GTK+2 which has no
support anyway but should be present for the future GIMP 3 flatpak.
2019-04-28 13:00:41 +09:00