Commit Graph

38 Commits

Author SHA1 Message Date
59ea5ba298 build: sync with flathub manifest.
The BaseApp manifest got a bunch of fixes, mostly to have all the
dependencies successfully build for aarch64. The current manifest should
therefore correctly build GIMP for i386, x86-64, arm and aarch64.
See: https://github.com/flathub/flathub/pull/124
2017-10-23 21:51:26 +02:00
dd924bb33a build: stable flatpak manifest is now hosted at flathub. 2017-10-23 21:16:05 +02:00
6a9f4588c9 build: fix previous commit and add xdg-config/gtk-3.0 access.
I had an error in the previous commit (2 args in 1). Also adding access
so that the file `bookmarks` is visible from the contained GIMP
(otherwise bookmarked folders are lost in flatpak and that's bad
experience).
2017-10-07 23:31:20 +02:00
925a77e205 build: only grant access to needed services in flatpak.
No full bus access, as proposed by flatpak upstream.
2017-10-07 23:11:09 +02:00
34ac56e770 build: using cmake-ninja for jasper build system in flatpak.
As asked by upstream at: https://github.com/flathub/flathub/pull/124
2017-10-07 18:27:57 +02:00
e75ea3c2af build: add a stable flatpak manifest.
Yeah for the BaseApp! It took me no time to make a new manifest for the
stable branch (current 2.8).
2017-10-07 03:43:34 +02:00
789cb3ce6e build: workaround for broken cleanup of flatpak.
For some reason, the "cleanup" tag won't delete the files produced by
the BaseApp inside the main GIMP manifest (I still need them for build,
but want to delete them for runtime).
This is a workaround to delete them with a few command lines for now.
See: https://github.com/flatpak/flatpak/issues/1082
2017-10-06 16:40:26 +02:00
1e7bb051b5 build: delete gimptool and gimp-console from the finale flatpak. 2017-10-05 04:49:49 +02:00
54f4f4457f build: base both the dev and nightly builds off a BaseApp.
Keeping all dependencies inside the main manifest is very annoying
because flatpak-builder will check them every time the package is
rebuilt. Worse, sometimes the cache won't be hit (even though it should
have), resulting into a rebuild of many dependencies. I create a BaseApp
build which is the recommended process (and not creating our own runtime
based on GNOME one's, as I first thought) which won't need to be built
as often as the main manifests. The other advantage is obviously that
this BaseApp can be shared between the dev and nightly (and likely even
the stable later) builds. I will only keep differences inside the main
manifests (for instance lcms2 which requires a higher version on master
than on the GNOME runtime and the last dev release).
I also move webkitgtk as the first dependencies since it takes too long
and flatpak uses a sequential dependency graph (so any change to a
previously listed dependency, even when actually unrelated, was
triggering a rebuild of webkitgtk!).
Only remaining issue is that I don't manage yet to run the cleanup of
the BaseApp at the end of the main manifests (for files needed for
building, but not at runtime).
2017-10-05 03:14:13 +02:00
e545116b89 build: run flatpak-builder with --ccache option for faster builds.
So I discover today that there is an option --ccache to request
flatpak-builder to compile using ccache, which is obviously a great idea
when rebuilding the same deps too often. Update the howto with the info.
2017-10-05 00:16:34 +02:00
96673794d9 build: make a new Flatpak manifest for the 2.9.6 release.
And rename the current manifest as being a nightly manifest.
2017-09-23 14:00:46 +02:00
a35d46d5a6 build: update the howto. 2017-09-23 13:37:56 +02:00
40fe08b8c1 build: update webkit patch for flatpak build.
Not sure why, because flatpak-builder used to compile webkitgtk just
fine, but not anymore. I get now a "call of overloaded ‘abs(gdouble)’ is
ambiguous" error. It looks like some header may have been updated in the
flatpak environment and causing multiple abs definitions. Using fabs()
instead works around the issue.
2017-09-23 03:28:36 +02:00
4b12467d4e build: gexiv2 also was bumped. 2017-09-20 20:31:25 +02:00
411e550fb7 build: libwebp required version was bumped. 2017-09-20 17:02:50 +02:00
8e329d25fb build: replace flatpak build-export by flatpak-builder --export-only
build-export is actually a low-level tool used by flatpak-builder. When
using it directly, debug and locale extensions were not extracted as
separate extensions (unless tweaking complicated command lines), ending
up with a huge GIMP flatpak with the current procedure.
Since flatpak 0.9.5, the option --export-only has been added to
`flatpak-builder` so that the build and the export can be made in 2
separate steps while using the high level procedure.
See: https://github.com/flatpak/flatpak/issues/824
2017-06-20 16:51:03 +02:00
8b3f5e87d8 build: updates to the flatpak howto. 2017-06-07 16:53:00 +02:00
fcc52da986 build: no need to embed lcms2 in our flatpak anymore.
With the bump of our runtime dependency, lcms 2.7 is now available from
the runtime environment.
2017-06-02 02:08:30 +02:00
639e69c627 build: bumping flatpak dependency to GNOME 3.24 runtime. 2017-06-01 22:34:04 +02:00
9391a0ae6b build: make the flatpak remote-add call clearer. 2017-06-01 01:01:34 +02:00
590924f856 build: update the flatpak-howto.
In particular, I didn't have the correct metadata because I was missing
appstream-compose. This should be a dependency of flatpak. But for the
time being, let's just have a note in our howto.
2017-05-12 21:44:41 +02:00
6265282115 build: update flatpak-howto.txt to build both 32 and 64-bit from...
...same manifest.
2017-05-03 22:48:53 +02:00
81a44d5fb0 build: remove workaround for a flatpak bug.
The GNOME sdk runtime used to be built which flags not appreciated by
older CPUs. This has now been fixed. Let's get rid of our workaround.
See https://github.com/flatpak/flatpak/issues/143
2017-04-13 16:22:24 +02:00
c8ebd043aa build: workaround python2 crashes in Flatpak.
See the upstream issue where python2 would crash on some platforms, yet
not others: https://github.com/flatpak/flatpak/issues/143
For this, I disable introspection on GEGL (which is anyway not useful
in the Flatpak build, I believe), and wrap gdbus-codegen in a temporary
build script for GIMP to force it to use Python 3 (I can't force
globally the $PYTHON environment variable like on Webkit because GIMP
needs Python 2 as dependency).
2017-02-13 15:38:05 +01:00
afc69f83ae build: fix Webkit build in Flatpak package.
For some reason, Webkit would not build with Python 2 on a different
machine though it did on mine. Let's just force Python 3 usage (for
build only, not as a runtime dependency) by setting the $PYTHON
environment variable during this build. Anyway Python 3 is available
from the base build so it's not a new dependency.
2017-02-13 15:36:51 +01:00
d33d80a518 build: poppler-data added as a submodule of poppler. 2017-02-02 21:41:15 +01:00
4c33008f5d build: factorize a bit the flatpak manifest.
We can actually group modules together to mark their relationship,
and easily deactivate them together if needed.
I grouped all Python modules, Exiv2 under GEXiv2, ilmbase under
openEXR, and finally libpng and lcms2 under a "duplicate-dependencies"
module to indicate that these modules are available in the runtime
(under a lower version, below our requirements) so we should check
whether to remove them, upon runtime update.
2017-02-01 14:13:32 +01:00
c09b54d316 build: enable WebKit dependency and get a full-feature Flatpak build!
The build has been fixed by a patch from Upstream:
https://bugs.webkit.org/show_bug.cgi?id=156510
Note that WebKit takes hours to build, so if you just want to test
Flatpak, you may prefer disable this module again.

We now have a full-feature Flatpak build, except for libgudev, which
means that special input devices probably won't work in the GIMP
Flatpak. It is to be noted that Flatpak developers told me that
libudev won't work inside the sandbox anyway. A portal will have
to be implemented. See:
https://github.com/flatpak/flatpak/issues/12#issuecomment-276016074
2017-01-31 19:35:01 +01:00
4ff7f23da3 build: last dependency for a full flatpak build, temporarily disabled.
The last stable WebkitGTK is 2.14.3 but that apparently corresponds to
WebkitGTK4 (which is already in the GNOME runtime). We need an older
version, and the last available would be 2.4.11.
I disable it though because the build failed in my test but let's save
my work-in-progress.
2017-01-31 00:17:32 +01:00
2bef3445de build: adding Ghostscript dependency to flatpak build.
This is a special case build, since make must be run with "so",
and install is `make soinstall` to get a shared library.
See: https://ghostscript.com/doc/9.20/Make.htm#Unix_build
2017-01-31 00:17:32 +01:00
c99800b104 build: update flatpak howto. 2017-01-31 00:17:32 +01:00
b8e7907a63 build: update the flatpak howto with information on runtime module list. 2017-01-30 16:41:51 +01:00
7ffba0314f build: adding network and dbus unlimited access.
This is necessary for opening files from the network.
It is actually possible to allow only some named service bus which
would be much more in line with proper sandboxing. But I can't find
exactly what is the service name used for gvfs (which is the virtual
filesystem apparently used internally for remote file access in GIO).
Also I'm pretty sure we must use other buses for various services. We
should make a list of what service bus are necessary for normal usage.
For the time being though, let's just have a flatpak build with as many
features as possible.
2017-01-29 23:51:47 +01:00
efce5d0f2c build: update jasper in flatpak build to version 2.0.10.
I had to figure out a few things about making CMake builds in Flatpak
since jasper moved from autotools in recent versions.
2017-01-29 23:51:47 +01:00
0b7b120673 build: add a Flatpak howto.
That's a work-in-progress, but that's my current status.
2017-01-29 16:08:58 +01:00
ca832fb0ff build: adding libwmf dependency to flatpak.
Main missing dependencies now are libgudev, webkit and ghostscript.
2017-01-29 14:59:36 +01:00
448f12c83d build: adding aalib, libmng and libwebp dependencies to flatpak. 2017-01-29 02:10:57 +01:00
4245deb59f build: add an initial flatpak-builder manifest.
Based on Alexander Larsson's original nightly GIMP flatpak. I updated
most dependencies, changed some options, and added some dependencies
whose versions were now too low in the runtime (libpng and lcms2).
I also use the new "--filesystem=xdg-config/GIMP" option, made upon my
request, which means we will want to use a recent flatpak.
Many options are still missing but that's a start with a working
flatpak manifest.
2017-01-29 00:23:16 +01:00