Commit graph

47130 commits

Author SHA1 Message Date
Jehan
2d6bf6dec5 meson.build: fix more xmllint validation.
The authors.xml validation was also not run. This is nearly the last of
getting rid of run_target(). There is still the desktop file validation
but it doesn't have any output argument. We'll see how we update this
last one.

The only other usages of run_target() are proper usage (creating
'install-*' targets).
2021-06-18 16:09:25 +02:00
Jehan
2730361928 data: fix more xmllint validation.
Similarly to the previous commit, the tips and tags validation was never
happening as it was implemented as a custom top-level meson target. It
was not run during a normal build. Now it is.
2021-06-18 15:46:41 +02:00
Jehan
19e545bc1f menus: fix validating the XML menu files with meson build.
Basically the build was never running this target (unless maybe in some
edge cases as could be demonstrated by the Arch repository build, though
it doesn't look they did anything particular; this is how we discovered
the bug #6447 as this was not run on our own local or CI builds).
Reading the docs of run_target(), it may actually have been normal.
run_target() looks to be only about creating top-level targets (which
one could run with `ninja validate_menus` in our case for instance), not
actually running the command (i.e. badly named function).

For the command to be actually run on a normal build, let's use a
custom_target() as proposed by Paolo Bonzini. After testing, the xmllint
validation is properly run on a normal build and dependency works fine
with both the source XML and generated XML files (touching these files
trigger a rebuild).
The output of xmllint is stored in some dummy file, which is only useful
to prevent re-running the command at each build even though source XML
were unchanged (so it's more of a flag file).

See discussion in #6447.
2021-06-18 15:18:23 +02:00
Mayank Suman
38cda060b3 libgimp: tooltip added to all widgets in GimpProcedureDialog
Appropriate tooltip is displayed for all widgets in GimpProcedureDialog.
2021-06-18 16:43:26 +05:30
Mayank Suman
c99ae3769f libgimp: new GtkSizeGroup for widgets inside a container
All the widgets with label inside GimpProcedureDialog have same
GtkSizeGroup (dialog->priv->label_group), which result in wrong sizes of
widget if any of the label is long. In this commit, a new GtkSizeGroup
is made for each of the container, so that labels are aligned but size
of widget in one container do not affect size of widgets in other
containers.

For the widget not belonging to any of the container, default
GtkSizeGroup (dialog->priv->label_group) is used.
2021-06-18 16:43:18 +05:30
Mayank Suman
d8062d1d77 plug-in, libgimp: Fixes #6753: redesign of WebP Export dialog
Added an option for exporting thumbnail in WebP Export dialogbox.

Additionally, introduced a function gimp_procedure_dialog_fill_expander.
The function is similar to gimp_procedure_dialog_fill_frame but allows
adding GtkExpander instead of GtkFrame.
2021-06-18 16:42:08 +05:30
Jehan
df7e319bc6 meson: fix comment about building with specific CPU instructions.
Per discussion on !262 and in particular Ell comments, the contributed
patch was right but the comment was not. It is not just about
g-ir-scanner and failing build. The build can still be successful yet
the built GIMP would crash when run on a CPU not supporting all the
extensions.
2021-06-16 00:26:54 +02:00
Niels De Graef
def862bae4 meson: Always enable CPU extensions
Don't enable conditionally based on the buildtype.

Further, don't use `add_project_arguments()` to enable the instructions:
this will lead to crashes within g-ir-scanner, which can't properly
parse these instructions.

https://gitlab.gnome.org/GNOME/gimp/-/issues/5053
2021-06-15 21:15:32 +00:00
Jehan
39a2974cdf NEWS: adding smooth scroll coming with GTK3.
Something which came with the 2.99.2 release already, though I update
the NEWS file retroactively because we forgot to write this down and
that's a pretty important feature (for ctrl-scroll zooming for instance,
which became a lot more useful in GIMP 2.99.x). This should not be
forgotten when we'll write the GIMP 3 release note, so I'm adding it in
this file where we'll get most contents from.
2021-06-15 20:04:14 +02:00
Jehan
c364d8a5c3 NEWS: update. 2021-06-11 12:52:17 +02:00
Luna Jernberg
83f076307e Update Swedish translation 2021-06-04 21:23:45 +00:00
Jordi Mas
3d33e4b904 Update Catalan translation 2021-06-03 06:18:28 +02:00
Jacob Boerema
1731c875a1 plug-ins: fix the fix for #6116 grayscale gif animation.
I must have not been awake yet when I pushed the
fix for #6116 because it has two problems:
- Updating cur_progress caused by not editing the
  for loop after a copy/paste, found thanks to
  Stanislav Grinkov.
- Not using the correct drawable to determine the
  drawable_type which I noticed while fixing the
  above issue.

These issues are not present in the backported
version for 2.10.
2021-05-31 11:59:58 -04:00
Jordi Mas
8f89d31e5c Update Catalan translation 2021-05-31 07:47:15 +02:00
Jehan
81b076aed4 devel-docs: some info on new Gitlab MR feature to create test packages.
How to create the packages through MR labels and where to find the
resulting test packages…

Note that it would be nice if we had automatic messages on the MR
writing down the procedure (with generated links for the specific
pipeline ID) once a pipeline succeeds.
It would simplify the whole process even further. We can see some other
day how such a thing could be automated.
2021-05-28 21:30:12 +02:00
Jehan
16fd4ae7f4 gitlab-ci: make sure the normal commit jobs are also run on MR.
In particular the autotools, meson Linux jobs and the Win64 crossroad
job.
2021-05-28 17:27:50 +02:00
Jehan
20fa78dcfb gitlab-ci: add support for flatpak and Windows installer jobs in MR…
… based on set labels.

If the label "5. Windows Installer" is set, the MR pipeline should
trigger the Windows installer pipeline as well.

If the label "5. Flatpak package" is set, it should generate the flatpak
(not publish it obviously, yet it can be downloaded and installed
manually).

This will allow us to easily test MRs and allow people to test our code
before we merge it to the main branches.
2021-05-28 13:35:40 +02:00
Jehan
85dd69dc88 gitlab-ci: expire the Windows installer artifact after a week.
Currently we run the job on a weekly schedule. If we keep a retention
period of 2 days, it means that people will not have access to a nightly
Windows installer 5 days out of 7, which is not useful.

Gitlab has a retention policy not to delete artifacts for last jobs, but
it apparently actually bases this check on being the last pipeline, not
being actually the last job of a given name. Since we have pipelines
running all the time, this retention policy just won't apply to our
installer job which will get deleted.
Cf. https://gitlab.com/gitlab-org/gitlab/-/issues/332142
2021-05-28 13:11:04 +02:00
Marco Spiess
512fc24694 add msys support 2021-05-27 17:10:19 +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
Jehan
eeb7b6315a gitlab-ci: store flatpak-build output into a log file.
Without this, the flatpak build is just too long and Gitlab CI just
stops logging it. So we end up with a log saying the quite useless (at
the end):

> Job's log exceeded limit of 16777216 bytes.
> Job execution will continue but no more output will be collected.

We don't even reach babl/GEGL/GIMP builds, which are the most important.
With this little trick, I am redirecting output to a log file and simply
including said log into the artifacts, hence allowing to debug the full
build.
2021-05-26 22:31:54 +02:00
Jehan
f2c73f2840 gitlab-ci: fix (again!) the gitlab-ci.
Argh! So it turns out that .publish_nightly template uses already an
only: key so we cannot use rules: (on the other hand I guess using only:
ourselves is alright and concatenate ours and the one in the template).

Fixes:
> jobs:flatpak-nightly config key may not be used with `rules`: only
2021-05-26 20:03:19 +02:00
Jehan
e6d3e898d8 gitlab-ci: remove "when: always" in flatpak job.
This clashes with the usage of "rules:" and is even more useless as it
is about checking success of earlier stages (yet this job doesn't need
to wait for any other job).
Fixes CI error:

> jobs:flatpak config key may not be used with `rules`: when
2021-05-26 19:51:31 +02:00
Jehan
434ef403fb gitlab-ci: create a GIMP_CI_FLATPAK Gitlab variable to trigger the…
… flatpak build and publishing.

Same as we are doing for other build pipelines. This allows finer manual
builds (not just "on schedules").
2021-05-26 19:41:34 +02:00
Ondřej Míchal
83f5698fe2 ci: Enable nightly flatpak builds
To get a nightly flatpak, GNOME project offers a CI template[0] that can
be extended instead of having to define everything from scratch.

At the core is the "flatpak" job that tries to build the flatpak. If the
build finishes succesfully, the result should be available as a CI
artifact as a flatpak bundle. The app id is the same as on Flathub.

Another part is the "flatpak-nightly" job that publishes the flatpak if
the build succeeded. Without this job, the bundle stays only temporarily.
This job can and should only be run on the "master" branch. This jobs is
started only when the "flatpak" job finishes successfully.

Both jobs can be triggered only thorugh schedules[1]. To finish the
flatpak nightlies setup, a schedule needs to be set.

[0] https://gitlab.gnome.org/GNOME/Initiatives/-/wikis/DevOps-with-Flatpak
[1] https://docs.gitlab.com/ee/ci/pipelines/schedules.html
2021-05-25 11:18:57 +00: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
Rodrigo Lledó
8b39b92acf Update Spanish translation 2021-05-25 06:21:12 +00:00
Marie-P
c112a55958 libgimp*, plug-ins: fix some warnings 2021-05-24 20:36:31 +00:00
Ian Martins
825067eab7 plug-ins: fix #6859 Hurl random pct limits in PDB are incorrect
(cherry picked from commit a038051bb8)
2021-05-24 18:45:48 +02:00
lloyd konneker
003f137dc0 6872 gimp-pdb-dump print type of GValue instead of type of GParamSpec 2021-05-24 15:26:30 +00:00
lloyd konneker
1c537b0cfd Add devel doc 2021-05-24 13:28:50 +00:00
lloyd konneker
e57304f71a Issue #5402 Scriptfu handle GFile and GimpObjectArray types 2021-05-24 13:28:50 +00:00
Pavel Artsishevsky
603c5dcb2c app: call parent's window_state_event() from GimpImageWindow
Fixes #6883
2021-05-24 11:34:41 +00:00
Stanislav Grinkov
203393a9fc core: function documentation clarification
Update api documentation of GimpObject and GimpThumbnail classes to
clarify who and when will take care of disposing passed strings.
2021-05-24 11:04:44 +00:00
Stanislav Grinkov
f8320ce535
core: minor memleak fixes
Fix several memory leaks when uri obtained by g_file_get_uri ()
was not g_free'd ().
2021-05-23 20:57:44 +06:00
Jehan
8c54a0caa9 build: fix installer creation.
My commit 3fbe59cd3c broke the installer making as I forgot to remove
some rules about lua files. Proof that I should always test first!
2021-05-23 00:53:07 +02:00
Jehan
7a4f0a6f2b gitlab-ci: redirect installer logs to a file.
The logs are just too long for gitlab and ends with:

> Job's log exceeded limit of 4194304 bytes.

This doesn't prevent the job from actually finish successfully. Yet the
day when we will have a build issue, we won't have a way to debug if it
happens close to the end of the installer creation. So let's redirect
both stderr and stdout to a log file and include it in the artifacts.
2021-05-23 00:52:21 +02:00
Jehan
35ef549028 Issue #5879: Legacy icon theme not installed with meson build.
Actually most of the build code was already there but the initial meson
contributor commented the Legacy icon theme out. Not sure why.

I only had to fix a few icon names, which changed into Freedesktop
standard names after commit 1e5cf10585. Other than this, existing meson
build rules seem to work fine AFAICS.
2021-05-22 18:28:58 +02:00
Jehan
3fbe59cd3c build: do not add the same files twice for lua in the installer.
Since we moved most of them to bin/, share/lua*/ and lib/lua/ files are
not necessary anymore (according to my tests so far at least). Let's not
include them.

Also exclude the lua DLL from the generic libraries. It is only for when
the lua option is set.
2021-05-22 16:23:44 +02:00
Jehan
f75cad56e0 build: disable javascript plug-ins.
No need to have GIMP trying to run the Javascript goat-exercise at
startup. All it does is make annoying error message on console output.
We know it won't run because no interpreter is available. No need for
trying.
2021-05-22 15:50:56 +02:00
Jehan
076e4d687b gitlab-ci: add a new "packaging" stage.
Unlike what I said in my previous commit, it still just takes too long
to build the installer, whether I move some of the substeps around or
whether I increase the max duration. So rather than increasing max
duration a lot more, let's just add an intermediate stage.
2021-05-22 10:35:06 +02:00