1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00
Commit Graph

312 Commits

Author SHA1 Message Date
Bruno Lopes
634dd304d7 meson: Do not check for DirectX SDK in hardcoded MSVC dirs
MSYS2 provides the same needed library so let's just find it properly.

Note: even when we do have MSVC support we should never hardcode .build
files. Setting paths to be searched on MSVC is the job of LIB env var.
2025-08-16 09:56:16 -03:00
Bruno Lopes
a6545f3511 meson: Add option to generate DWARF symbols on Windows
By default, it is evaluated to CodeView since this is the format we
use on .exe installer and .msix for many reasons (see git log).

However, some people may not use standard debugging tools for
Windows but, for example, GDB, so they need DWARF symbols since
GDB debugger (and the GCC toolchain) have limited Windows support.
2025-08-15 14:56:16 -03:00
Jehan
40adbff456 app, build: fix MR !2326 (porting to libappstream).
The following things were broken:

* Remove gdk-pixbuf-2.0/ from gdk-pixbuf include (this is part of the -I
  directory in the pkg-config data).
* Properly free the allocated AsMetadata which were leaked (while the
  AsComponent was freed mistakenly since it belongs to the AsMetadata).
* Properly free GFile as a GObject (it must not be freed with g_free()!).
* Fix various coding style bugs.
* Fix installing a .gex file by dropping it in GIMP. The code in
  file_gex_validate() was completely broken as it was not parsing the
  AppStream metadata anymore.
* Mininum libappstream requirement moved down to 0.16.1 so that GIMP can
  be built on Debian bookworm (our dependency baseline).
* Fix Snap build (hopefully, untested).
2025-08-04 18:56:42 +00:00
Joey Riches
8277817b62 app: Port from appstream-glib to appstream
From the horse's mouth:
"WARNING: appstream-glib is heavy maintenance mode, use appstream
instead"

Additionally, appstream-glib no longer conforms fully to the
appstream specification.

Some care is taken to taken to support both libappstream 1.0 as well
as libappstream 0.16.x to support stable distros.
2025-08-04 18:56:42 +00:00
Jehan
f4bdd69f73 meson, build, INSTALL: we now use mypaint-brushes-2.0 for all Windows platform.
Thanks to lazka and the whole MSYS2 project for adding this package to
their repository so that we don't need ugly special-casing anymore.

See: e515fe48bc
2025-07-25 01:19:12 +02:00
Jehan
2a55604e6f meson: bump libmypaint minimum dependency to version 1.5.
The MyPaintSurface2 interface got added with libmypaint 1.5.0.

Also mypaint-brushes 2.0.2 release notes explicitly say:

> The v2.0.x brushes (in general) require libmypaint >= 1.5 to work correctly / not crash.

(cf. https://github.com/mypaint/mypaint-brushes/releases/tag/v2.0.2)

Since Debian bookworm ships with libmypaint 1.5.1, this is fine to bump
this requirement.

Note: there is still some discrepancy lying around with Windows x86
(32-bit) still using mypaint-brushes-1.0 but apparently these older
brushes still work fine with the new API, and Alx will ask the MSYS2
project if we can have a mypaint-brushes-2.0 package for x86 too.
2025-07-23 19:25:27 +02:00
Alx Sa
ea8b9dc13c core, paint, tools: Port to MyPaint Brushes2
This patch ports our MyPaint code to use the
MyPaintSurface2 API, allowing us to support
version 2 MyPaint Brushes correctly.
The API update lets us take into account
the zoom factor and rotation of the canvas
when drawing. It also adds a "Gain" option
to the GUI in order to control the strength
of the input's pressure (tablet or mouse).
As a caveat, this patch does not yet
implement spectral/pigment blending.
2025-07-09 22:14:42 +00:00
Michael Natterer
5559a1d487 meson.build: remove stuff about G_DISABLE_DEPRECATED, it's gone 2025-07-08 01:22:12 +02:00
Jehan
d5e07db771 meson: post-release version bump to 3.1.3. 2025-06-23 00:57:10 +02:00
Jehan
b4e2570461 Release GIMP 3.1.2. 2025-06-22 16:20:52 +02:00
Sam James
36b660e2b2 meson: fix typo on GIMP_TESTING_ENVIRON_DIRS
This fixes some "illegal variable" noise in the build. There can't
be any dynamically created environment files in the *source* directory,
but there may be in the *build* directory we're modifying.
2025-06-20 13:23:21 -03:00
Bruno Lopes
d56676a2fa meson, desktop, plug-ins: Generate MIMEtypes var dynamically
This way, we avoid divergence with MIMEs declared on the
plug-ins .c and .py files and we eliminate duplicate work.

See also: 2ce3c604
2025-06-13 13:47:19 -03:00
Bruno Lopes
c9f77c7228 build/windows: Alternative approach to Inno reading of config*.h
Closes: #14101

Partially reverts: f69dd75a17
2025-05-27 15:34:13 -03:00
Natanael Copa
4cccc52622 Issue #13657: fix build dependencies
We need the gir and plugins to be able to generate the splash image(s).
Add those as dependencies to gimp executable to ensure they are there
when needed.

Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/13657
2025-05-27 05:47:08 -03:00
Jehan
f17c6262f2 Move on to GIMP 3.1.1.
This opens the merge window for upcoming GIMP 3.2.0.
2025-05-22 19:28:07 +02:00
Jehan
fc2e395d72 meson: Post-release version bump to 3.0.5. 2025-05-18 20:45:12 +02:00
Jehan
c1901c5be6 Release GIMP 3.0.4. 2025-05-18 00:51:03 +02:00
Integral
95e32ebb34 app: set a specific desktop filename to fix wayland window icon
Set a specific desktop filename to fix window icon under Wayland.

Closes: #13183
2025-05-17 13:24:20 +00:00
Bruno Lopes
f8d87fc293 meson: Do not generate CodeView symbols with GCC
Since GCC 15.1 CodeView generation is broken
2025-05-16 16:56:35 +00:00
Øyvind Kolås
eeed283da2 build, app: depend on babl-0.1.114 and GEGL 0.4.62 2025-05-08 12:30:10 +02:00
Bruno Lopes
72cb81f6a7 meson: Default ICC directory is Linux-specific 2025-04-18 14:32:00 -03:00
Bruno Lopes
a683495b09 build/windows: Port 2_bundle-gimp-uni_sym.sh to Python 2025-04-18 13:36:35 -03:00
Bruno Lopes
547abb038e meson: Fix testing option of authors.md being accidentally pushed 2025-04-17 15:10:12 -03:00
Bruno Lopes
30f1a34750 meson: Get date with Python on authors.md generation 2025-04-17 14:49:01 -03:00
Bruno Lopes
160ec3d0d7 meson: Port meson_dist_script.sh to Python
It's not used by Windows right now, but it can be so let's port it.
2025-04-17 11:18:30 -03:00
Bruno Lopes
42049493cb tools: Port meson-mkenums.sh to Python 2025-04-17 09:39:08 -03:00
Bruno Lopes
99bf8defe7 tools: Port in-build-gimp.sh to Python
Both .sh and .py versions take 2:15 minutes to generate all the
assets but the more cross platform the better so Python wins.
2025-04-16 13:41:16 -03:00
Bruno Lopes
f5ee454098 build/meson: Port check-gimp-data.sh to Python
It is not faster than using 'wc' but it is cross platform.
2025-04-16 07:05:08 -03:00
Bruno Lopes
9abc42933a build/windows: Port 2_bundle-gimp-uni_base.sh to Python
This avoids using CYGWIN-linked binaries from $MSYS_ROOT/usr,
which are extremely slow. Python is cross-platform and faster.
2025-04-15 11:45:15 -03:00
Bruno Lopes
63f5ea9dc5 build, meson, gitlab: Generate native .pdb CodeView symbols on Windows
Reverts dc21fb76

The CodeView format introduces some advantages to our Windows build:
- It is way smaller than DWARF, reducing the .exe installer. With
  the strip of COFF symbols too, the installation is 120MB smaller.
- Can be uploaded as .appxsym to be used on demand by MSIX (in thesis)
- Works better with DIA and DbgHelp debuggers like WinDbg and DrMingW,
  respectively. LLDB also works by using LLDB_USE_NATIVE_PDB_READER=1

Context: that was not working before because DrMingw and LLDB seems to
only search for the build-time .pdb path in '.buildid' section of bins.
See: https://github.com/jrfonseca/drmingw/issues/91 and
https://github.com/llvm/llvm-project/issues/125355. So, we will set
_NT_SYMBOL_PATH at least for $PREFIX/bin for now as workaround.
2025-04-14 07:50:43 -03:00
Bruno Lopes
e975c1625a meson, app, build: Fix Inno wrongly allowing to unninstall with GIMP running
Inno needs an AppMutex to be aware of GIMP execution so
prevent unninstalling or installing GIMP if still running.

(Unninstalling with GIMP running was making GIMP to not be
fully unninstaled since gimp*.exe process file was opened.
It also could cause problems with settings unninstall.)

(Installing with GIMP running was already not possible
since Inno code in that part is more refined but
that check isn't done before deleting .debug files)
2025-04-01 16:25:47 +00:00
Jehan
e9b6ef67ab Post-release version bump to 3.0.3. 2025-03-24 17:00:37 +01:00
Jehan
3d4503e82c Release GIMP 3.0.2. 2025-03-23 23:47:58 +01:00
Øyvind Kolås
aac8656039 meson, app: depend on GEGL 0.4.58 2025-03-23 15:33:25 +01:00
Jehan
07e0345b5f meson.build: post-release version bump to 3.0.1. 2025-03-17 13:06:36 +01:00
Jehan
9785099e5a Release GIMP 3.0.0. 2025-03-17 01:44:19 +01:00
Øyvind Kolås
fc35864880 meson, app: depend on GEGL-0.4.56 2025-03-16 15:38:41 +01:00
Øyvind Kolås
9f73ecaa6d meson, app: depend on babl-0.1.112 2025-03-10 12:59:12 +01:00
Jehan
c3bc4e5336 Issue #12904: make debugging self with gdb optional with -Ddebug-self-in-build.
Some people reported cases where gdb doesn't even seem to understand
Python scripts (the error in #12904 implies it is looking for standard
gdb commands, because apparently -x option allows both styles).
Others had issues in sandbox building (#12956).

I don't really want to spend too much time understanding each case,
especially as it's a self-debugging tool, not absolutely necessary for a
successful compilation.

So let's just make this optional, and default to "false".
2025-02-24 18:13:09 +01:00
Bruno
f69dd75a17 build/windows: Move all Installer versioning code to Inno .iss script
Now, we don't need to set a lot of params when calling 'issc' anymore.
The version vars will be taken from Meson, being more future-proof.

This is not 100% future-proof, however, because we unfortunately can not
take 'config.h' vars directly due to Meson limitations:
https://github.com/mesonbuild/meson/issues/14260
2025-02-23 13:32:16 -03:00
Bruno
5e287e8bbe meson, build: Auto parse full 'config.h' for future-proof scripts
Now, we can use whatever variable we want from 'config.h' with its
value, unlike the previous code which was hardcoded and did not
worked at all for variables with custom values like GIMP_RC_VERSION.

(Note: there are still work to do with Inno scripts)
2025-02-17 09:51:19 -03:00
Jehan
ed243e3829 meson.build: post-release version bump to 3.0.0-RC3+git. 2025-02-10 00:47:18 +01:00
Jehan
9130eb8152 Release GIMP 3.0.0 RC3. 2025-02-09 19:52:36 +01:00
Øyvind Kolås
b32ce25526 meson,app: depend on GEGL-0.4.54 2025-02-09 14:36:06 +01:00
Jehan
26a079bd57 devel-docs: get rid of g-ir-doc.
Per the (quite off-topic) discussion in #12772, the fact it's quite
broken on Windows, apparently not too maintained anymore and its syntax
clashes with gi-docgen syntax…
2025-01-23 13:07:03 +01:00
Bruno
99fa22939a Issue #12424: properly disable gjs requirement at build time 2025-01-19 11:35:36 -03:00
Jehan
5b07268c24 Issue 12672: 'json-glib' is undeclared in INSTALL file. 2025-01-07 19:24:55 +01:00
Jehan
4e57e7b4ea Issue #12641: Help>About GIMP dialog does not show an update in 3.0 RC1.
RC numbering was not taken into account for version comparison.
2025-01-07 17:10:57 +01:00
Jehan
7694b1dc04 Issue #12640: run in-build GIMP binary through a debugger when gdb is available.
It is not in fact a fix for #12640, only an improvement to our build
script, wrapping our calls to GIMP executables and outputting a
backtrace on a crash. This way, when people report issues during one of
the relevant calls, we may be able to diagnose.

It won't be useful for other types of failures (when the process doesn't
crash, but e.g. the script is wrong or other non-fatal bugs in GIMP).
2025-01-06 21:09:37 +01:00
Bruno
31218e69da build/windows: Never auto create bundles on Win vanilla builds
Partially reverts change described in paragraph 2 of 9ab48164

Despite GIMP being built targeting to be relocatable, our
bundling script is very SLOW and pretty hard to make it
portable since it makes many ASSUMPTIONS (e.g. that all
deps are pre-compiled etc) which not always holds up.

These limitations could be fixed but would take time.
This was disrupting MSYS2 and crossroads builds, so
let's revert it being called by default for now.
2025-01-01 11:59:04 -03:00