Commit graph

449 commits

Author SHA1 Message Date
Michael Natterer
d1ee74b250 configure.ac: post-release version bump to 2.10.11 2019-04-07 18:54:50 +02:00
Michael Natterer
596f855749 configure.ac: bump versions for the 2.10.10 release 2019-04-07 18:30:13 +02:00
Øyvind Kolås
7c7eb399b7 build,app: require GEGL-0.4.14
(cherry picked from commit dde7108584)
2019-03-01 14:48:01 +01:00
Øyvind Kolås
67efe67ed8 build,app: require babl-0.1.62 2019-03-01 14:46:52 +01:00
Michael Natterer
616f5aac11 app, plug-ins: start consolidating brush and pattern loading/saving code
We currently have brush and pattern I/O code in both the core and
plug-ins. This commit starts removing plug-in code in favor of having
one copy of the code in the core, much like XCF loading and saving is
implemented.

Add app/file-data/ module with file procedure registering code, for
now just with an implementation of file-gbr-load.

Remove the file-gbr-load code from the file-gbr plug-in.

(cherry picked from commit a4e77e57f6)
2019-02-11 12:56:56 +01:00
Jehan
6645cc7ba5 app, libgimpbase: --enable-relocatable-bundle replaces --enable-binreloc
Older --enable-binreloc configure option had basically the same purpose
as the newer --enable-relocatable-bundle, though the old binreloc was
only used for gimpenv.c code.
As a consequence, commit 10ce702188 was still not working fine since
gimp_installation_directory_file() also need binreloc enabled (to be
actually relocatable).

Let's get rid of this whole mess, by implying we want binreloc code to
be used when --enable-relocatable-bundle is ON. We don't need the
m4macros anymore, since AM_BINRELOC was basically just checking that
`/proc/self/maps` was present. But anyway being present at compile time
does not mean it will be at runtime (nor the opposite). So this test is
not that useful. The binreloc code will anyway fallback gracefully to
the non-binreloc code (i.e. trying to use build-time install paths) if
the procfs is lacking at runtime.

(cherry picked from commit 4d84c1d7ee)
2019-02-07 14:56:26 +01:00
Jehan
18bcb41573 desktop: check that no remaining TODOs are in appdata file.
Before each release, we prepare now a <release> tag. Unfortunately some
details are not always well known for sure in advance, in particular the
date of release (plans are made to be broken!), and also the release
news URL (since the date is in the URL). So I usually leave them as TODO
and until now, I never forgot to update them just before release. But
there is always the risk of forgetting.
Now the test for the appdata files will also look for remaining "TODO"
in the file if and only if the micro version is even (which means it's a
release). So we won't ever forget to update the file as long as we run
`make check` on the last commit (which we always do obviously).

(cherry picked from commit c0fed5afd6)
2019-01-23 23:51:05 +01:00
Jehan
5bbfbd1dba Issue #572: Key combinations not working with non English layout.
It is most likely the same issue as old bug 769550 (on bugzilla), which
is fixed with GTK+ 2.24.32. Back then, this version of GTK+ had not been
released yet so we only added a warning in the configure script. See
also commit b7345863.
Now it has been a year since GTK+ 2.24.32 has been released and any
distribution can just upgrade a micro version of GTK+ for bugfix. So
let's just drop the warning and do a hard requirement to 2.24.32.
2019-01-08 23:39:47 +01:00
Michael Natterer
101e2d0b48 Issue #1004 - file-pdf-load crashes in lcms when opening PDF with...
...color profile

Require poppler >= 0.50 which is the first version that has the fix.
2019-01-07 03:38:52 +01:00
Alexandre Prokoudine
369884cf9c file-dds: add original source code of the DDS plug-in
This is the code from the 'gimp-2.9' branch of the plug-in,
integrated into GIMP's build system.

(cherry picked from commit 79bc2dc1ef)
2019-01-02 18:54:52 +01:00
Michael Natterer
0f4cbb070f configure.ac: require babl >= 0.1.61
(cherry picked from commit b24cc6e7fa)
2019-01-01 19:24:42 +01:00
Ell
ac4ded137f configure.ac: require GEGL >= 0.4.13
(cherry picked from commit 43e3939d4a)
2018-11-24 11:05:10 -05:00
Ell
6f61a7d431 configure.ac: require babl >= 0.1.60
(cherry picked from commit 3821ce4bcd)
2018-11-15 12:56:13 -05:00
Ell
9ae2e4932d configure.ac: escape backslash chars in compiler version string
When constructing CC_VERSION, escape backslash characters in the
compiler version string, so that they don't get interpreted as
escape sequences by the compiler.  This is especially important on
Windows, where the version string of MinGW may contain backslash
characters as part of paths.

(cherry picked from commit c0b107531e)
2018-11-11 05:49:12 -05:00
Michael Natterer
ee8f162151 configure.ac: post-release version bump to 2.10.9 2018-11-08 20:33:33 +01:00
Michael Natterer
a967e8d2c2 configure.ac: bump versions for the 2.10.8 release 2018-11-08 19:34:21 +01:00
Massimo Valentini
9cb1b66163 Issue #2454: recent libwmf uses pkg-config.
(cherry picked from commit df4e35a846)
2018-11-08 11:45:00 +01:00
Ell
805c5cc8a8 devel-docs: add performance-logs documentation
Add devel-docs/performance-logs/performance-logs.md, which
describes how to record and view performance logs, and how to
report perofrmance-related issues.

(cherry picked from commit fa9161e4f2)
2018-11-08 03:53:40 -05:00
Øyvind Kolås
20a1a31fc4 configure/app: depend on GEGL 0.4.12
(cherry picked from commit a39b4abfbc)
2018-10-23 14:39:43 +02:00
Michael Natterer
21214d5dd1 configure.ac: reorder the list of required versions in 2.10 too
so we can cherry-pick things again from master.
2018-10-18 18:35:02 +02:00
Øyvind Kolås
02936d9303 configure/app: depend on GEGL-0.4.10 2018-10-18 18:32:24 +02:00
Øyvind Kolås
793ae3f771 configure/app: depend on babl-0.1.58 2018-10-18 18:32:24 +02:00
Ell
0207c9baa1 configure.ac: fix libbacktrace test
... added in last commit.

(cherry picked from commit 0245775346)
2018-09-22 22:46:43 -04:00
Ell
b065ff7de7 app: add source location information to the Linux GimpBacktrace backend
When libbacktrace is available, use it to retrieve source location
information in the Linux GimpBacktrace backend.

(cherry picked from commit 7cdd1ebeef)
2018-09-22 22:39:17 -04:00
Jehan
5f088a95c3 configure: check presence of "gegl:matting-levin" with gegl --exists.
This is a runtime dependency. If absent, we simply won't have access to
the alternative Matting Levin engine in the foreground selection tool.

If we don't add a test in configure, this may be easily forgotten. I
created the `gegl --exists` feature specifically for this kind of
checks, so let's check operation existence.

(cherry picked from commit 9560a653c5)
2018-09-17 19:51:15 +02:00
Ell
9f1a0a65bd app: add Windows backend to GimpBacktrace
The Windows backend produces full, multithreaded backtraces.  When
DrMingw is available, it also provides full symbol and (where
available) source-location information.  Otherwise, it provides
symbol information for most of our libraries, but not for the GIMP
binary itself.

(cherry picked from commit 667efc221d)
2018-09-03 15:58:01 -04:00
Ell
536fc332e0 app: add GimpBacktrace
GimpBacktrace provides an interface for creating and traversing
multi-threaded backtraces, as well as querying symbol information.
While we already have some backtrace functionality, it relies on
external tools for the most part, and as such is rather expensive,
and is only meant for producing opaque backtraces.  GimpBacktrace,
on the other hand, is meant to be relatively cheap (we're going to
use it for profiling,) and allow inspection of the backtrace data.
In the future, it might make sense to replace some, or all, of the
other backtrace functions with GimpBacktrace.

GimpBacktrace currently only supports Linux.  By default, it uses
dladdr() to query symbol information, which is somewhat limited (in
particular, it doesn't work for static functions.)  When libunwind
is installed, GimpBacktrace uses it to get more complete symbol
information.  libunwind is currently an optional dependency, but it
might make sense to promote it to a mandatory, or opt-out,
dependency, as it's lightweight and widely available.

On other platforms, the GimpBacktrace interface can still be used,
but it always returns NULL backtraces.

(cherry picked from commit 80bf686c94)
2018-09-02 03:24:51 -04:00
Ell
bc4bf58be3 configure.ac: require GEGL >= 0.4.9
(cherry picked from commit f1ff239d68)
2018-08-19 17:40:08 -04:00
Michael Natterer
c335f78ee5 configure.ac: post-release version bump to 2.10.7 2018-08-19 20:11:08 +02:00
Michael Natterer
0a8173ffde configure.ac: release GIMP 2.10.6 2018-08-19 18:47:43 +02:00
Øyvind Kolås
b03709ab5e configure/app: depend on GEGL 0.4.8 2018-08-18 15:26:46 +02:00
Øyvind Kolås
2c553da7eb configure/app: depend on babl 0.1.56
(cherry picked from commit 3d464e03b4)
2018-08-15 23:58:00 +02:00
Jehan
91c139f4d0 Issue #1809: update DLL directory for 32-bit plug-in run from 64-bit...
... Windows installation of GIMP.

Our default installer installs 32-bit version of the various DLLs in
32/bin/ (under the installation prefix). Currently this additional
folder is simply added in the PATH, so it works most of the time.
Unfortunately the PATH is searched last for DLLs, and in particular, it
is searched after system directories. So it means that if any misbehaved
application is installing DLLs in system dirs (and in particular
incompatible/older versions of the same DLLs a GIMP plug-in uses), it
breaks the 32-bit plug-in.

SetDllDirectoryW() bypasses this order and the set folder is searched in
between the binary directory and the system dirs. We were already
setting this for our main bin/ directory, which was good for 64-bit
plug-ins, but this was not protecting 32-bit plug-ins. Now our code to
run plug-ins check the bitness of the executable before running it, and
updates the DLL folder accordingly.
The alternative 32-bit folder can be overridden by the configure option
--with-win32-32bit-dll-folder (default: 32/bin/). This option can only
be set when building for 64-bit Windows obviously.

Alternatively we could have put copies of 32-bit DLLs in a subfolder
with each 32-bit plug-in, but this is at best a terrible workaround, as
we would duplicate DLLs for every such case. And this would not have
protected third-party plug-ins which wish to use some of our DLLs.
Last alternative is to use AddDllDirectory(), but it works since Windows
7 with a given update only. And our current official support is any
Windows since Windows 7. So we don't want to use this right now (also
I'm not sure it would actually be much better than current
implementation, and it seems to have a bit more limitations than
SetDllDirectoryW(), though I have not tested).
2018-08-15 14:21:20 +02:00
Jehan
ec79b5c9bc INSTALL, configure: replace Jasper with OpenJPEG.
Just realizing we haven't updated the INSTALL file with the dependency
change.

(cherry picked from commit fb57133d55)
2018-08-13 19:43:56 +02:00
Jehan
1a28878943 app, configure: add a --enable-win32-debug-console build option.
Debugging stable versions under Windows is a pain because we don't have
access to the standard outputs. The debug console is indeed only built
on unstable builds. Let's make the debug console a separate build option
to allow building stable versions for debug (obviously the default
behavior when not configuring, is same as before, i.e. stable without
console and unstable with console).
2018-08-12 22:20:34 +02:00
Jehan
d1d9eb17e5 configure: GLIB_COMPILE_RESOURCES is wrong when cross-compiling.
AM_PATH_GLIB_2_0 m4 macro actually computes this value using
$PKG_CONFIG. Yet $PKG_CONFIG variable is the pkg-config tool looking for
target libraries (not host), hence it would return the executable
`glib-compile-resources` built for the target.

Also using the same variable name invalidates our test: our own
AC_PATH_PROG was never run as the variable was already set. And no
environment variable could override this test anymore either. This is
why I rename the test variable to HOST_GLIB_COMPILE_RESOURCES.
2018-08-12 19:13:13 +02:00
Ell
cd086c94b3 configure.ac: require GEGL >= 0.4.7
(cherry picked from commit d4ef45bdbd)
2018-08-09 19:03:06 -04:00
Øyvind Kolås
3712e688f2 configure/app: depend on GEGL 0.4.6
(cherry picked from commit cb132d2a97)
2018-08-07 02:42:47 -04:00
Øyvind Kolås
c1ec74badc configure/app: depend on babl 0.1.54
(cherry picked from commit 5fdcc0dfbb)
2018-08-07 02:42:47 -04:00
Jehan
8e889fd10c configure: making xgettext recommended version a requirement.
Back when I implemented this as a recommendation, gettext 0.19 was not
even out yet. Nowadays it is in Debian Testing (Debian Stable even!), so
it makes no sense to continue just "recommend" it, especially as it was
breaking script-fu localization.

See old commit feb1bf2797.

(cherry picked from commit 8e6afe10a6)
2018-08-01 19:00:31 +02:00
Ell
9d53af65fd configure.ac: require GEGL >= 0.4.5
(cherry picked from commit 450e61f853)
2018-07-05 09:54:16 -04:00
Michael Natterer
fea8da130b configure.ac: post-release version bump to 2.10.5 2018-07-04 21:40:18 +02:00
Michael Natterer
e384409fe5 configure.ac: release GIMP 2.10.4 2018-07-04 20:16:04 +02:00
Michael Natterer
964e5b4336 configure.ac: require GEGL >= 0.4.4
(cherry picked from commit a62fdce55a)
2018-07-04 12:46:28 +02:00
Michael Natterer
66ce32c8cb configure.ac: require babl >= 0.1.52
(cherry picked from commit 7aa4273806)
2018-07-02 20:08:47 +02:00
Jehan
5824a3150f configure: replace --enable-bundled-mypaint-brushes with...
... --enable-relocatable-bundle option.
This will allow to use this option for more than MyPaint brushes. For
macOS and Windows, we default to "yes" and "no" for other OS, though it
is always possible to set an explicit value.

(cherry picked from commit 8da2646372)
2018-06-27 04:40:02 +02:00
Jehan
b3cf7abd20 configure, tools: actually use GIMP_PKGCONFIG_VERSION and...
... GIMP_TOOL_VERSION rather than hardcoding versions.

Mostly cherry picked from commit 276d9b60b3
except pkg-config still checks gtk+-2.0 (not 3.0) on gimp-2-10 branch.
2018-06-15 17:36:33 +02:00
Ell
2ba1b8d465 configure.ac: require babl >= 0.1.51
(cherry picked from commit 5139a46602)
2018-06-05 04:39:54 -04:00
Ell
444899b82c configure.ac: require GEGL >= 0.4.3
(cherry picked from commit d5cab08215)
2018-06-05 04:33:09 -04:00
Jehan
117beee244 configure, desktop: update the bug report URL.
Also make so that the metadata URL is taken from the one of the package
set with configure.

(cherry picked from commit 6ebff7b3c5)
2018-05-27 02:34:50 +02:00