Commit Graph

475 Commits

Author SHA1 Message Date
ef4b353b49 app: check last GIMP release from gimp.org/gimp_versions.json.
GIMP will now process the remote gimp_versions json file to look if one
is using the last version of GIMP. This initial code doesn't act up yet
on this information. This will come in further commits.

Here are the characteristics:
- Since this requires internet access, a new checkbox is available in
  the Preferences dialog, allowing to disable version checks. Note that
  it is enabled by default as it is an important security feature, but
  it has to be deactivatable.
- The remote access is done as an async operation because we don't want
  it to block the startup in any way (for whatever reason). Also it
  doesn't output errors if it fails to not be a bother (you don't
  technically need internet access for an image program).
- We don't check at every startup. At each successful check, we save a
  timestamp to prevent too frequent useless checks (I set it the timer
  to a week or more for now).

(cherry picked from commit 506a0476f4)
2020-02-07 00:14:10 +01:00
8537ee8661 app, configure: add configure option for a build id and revision.
The point will be for a packager to create a unique build ID to identify
the build or provenance. I also add a revision number so that we can
identify 2 builds from the same version/commit, same maker and platform.

It will also be used later to check for new versions (see "phone home"
feature #2584).

Separating autotools and meson commits for easy backport.

(cherry picked from commit 73c09ebb32)
2020-02-07 00:14:09 +01:00
9c654d8386 app,autotools: depend on babl 0.1.74 and GEGL 0.4.20 2020-01-17 17:06:35 +01:00
68d2a7f952 configure: fix typo which was breaking the build.
(cherry picked from commit 6124be59b7)
2019-11-13 13:26:08 +01:00
0570aec5fe Issue #4185: Plug-in “file-heif.exe” crashes exporting HEIF/HEIC.
My previous test (commit 41285813a5) was a bit misinformed. So it turns
out bug #4185 is for all platforms and the broken libheif versions are
1.5.0 and 1.5.1 only.

So my new test (platform independent) is: prefer libheif versions with
profile support, except 1.5.x; then prefer lower versions without
profile support; and only as last resort accept 1.5.x versions (but
output a warning).

(cherry picked from commit f051e6d238)
2019-11-13 12:40:14 +01:00
c0c0e9afc6 Issue #2543: gimp doesn't open on debian stretch (libmypaint crash).
Known bug in libmypaint dependency. It has been fixed in libmypaint
1.4.0, which we cannot hard require unfortunately (Debian testing still
at 1.3.0).

Still let's make add a warning so that packagers are aware of the issue
and update when possible.

(cherry picked from commit 5da252ca18)
2019-11-12 17:17:33 +01:00
8f510e68f6 configure: improve libheif detection and output.
Replace the "Heif >= 1.4.0" line in the summary output by a comment in
the "Heif" line explaining this is about profile support.

Also add a >= 1.6.0 test and output a warning for Windows and macOS (cf.
bug #4185).

(cherry picked from commit 41285813a5)
2019-11-12 15:33:28 +01:00
04997fc0ae Replace finite() with isfinite() by default
This is part of the C standard also also causing warning on macOS.
2019-11-07 09:09:22 +00:00
Ell
41c37e2611 configure.ac: fix escaping of backslashes in compiler version string
There is one more level of unescaping...

(cherry picked from commit d97dd6413a)
2019-10-29 21:27:33 +02:00
61acdb36fe configure.ac: post-release version bump to 2.10.15 2019-10-27 22:37:52 +01:00
a4f55d6c7e configure.ac: bump versions for the 2.10.14 release 2019-10-27 22:13:04 +01:00
775d3b1099 configure,app: depend on babl-0.1.72
(cherry picked from commit fe3e945154)
2019-10-27 06:54:09 +02:00
2fde53eef1 configure. app: depend on gegl-0.4.18 2019-10-27 01:43:54 +02:00
Ell
32a11ce457 configure.ac: add AC_MSG_RESULT() for color-profile directory check
(cherry picked from commit 6b87e2f90c)
2019-10-26 22:33:49 +03:00
75ab528105 build, app: require babl-0.1.68 or newer
(cherry picked from commit 23ade7b80b)
2019-07-25 23:15:13 +02:00
12b8d75ff1 app: add gegl:bayer-matrix and gegl:linear-sinusoid to the menus
in Filters -> Render -> Pattern. Also depend on GEGL from git.

(cherry picked from commit 928b85d25c)
2019-06-28 15:50:40 +02:00
e918a937d5 configure.ac, plug-ins: make file-heif build with older libheif again
Lower requirement to 1.3.2 and check for 1.4.0 separately. Put color
profile code in #ifdef HAVE_LIBHEIF_1_4_0.

(cherry picked from commit 62f010df90)
2019-06-25 13:23:00 +02:00
1c0761053d Issue #3164: HEIC doesnt have color profile.
Since this requires libheif 1.4.0, released end of February 2019, this
commit should not go into the gimp-2-10 branch right now.

(cherry picked from commit 22e14e0b9b)
2019-06-25 13:22:23 +02:00
f97464f7bf Revert "Issue #3164: HEIC doesnt have color profile."
This reverts commit bbe3911c80.

..and not this one either.
2019-06-21 10:11:52 +02:00
bbe3911c80 Issue #3164: HEIC doesnt have color profile.
Since this requires libheif 1.4.0, released end of February 2019, this
commit should not go into the gimp-2-10 branch right now.

(cherry picked from commit 22e14e0b9b)

Cherry-picked now anyway... If we allow new featues in 2.10, we must
also allow for a few updated dependencies.
2019-06-20 19:30:19 +02:00
73a0ad7c31 configure.ac: post-release version bump to 2.10.13 2019-06-12 23:37:45 +02:00
3d8535b55f configure.ac: bump versions for the 2.10.12 release 2019-06-12 23:17:10 +02:00
4abf2306b3 build: depend on babl-0.1.66
(cherry picked from commit b3dcb5aaac)
2019-06-12 21:36:44 +02:00
e51d7b122d depend on babl-0.1.64
(cherry picked from commit a3f2d734a7)
2019-05-25 19:56:18 +02:00
Ell
28a0d91fd5 configure.ac: improve compiler version string escaping
In configure.ac, improve backslash escaping in the compiler
version string.  Backslashes are currently not properly escaped in
our Windows builds, leading to spurious (and, in particular, non-
UTF8) characters in the compiler version string.

(cherry picked from commit 04f9281bdd)
2019-05-20 03:09:24 -04:00
Ell
ec067b83ad configure.ac: require GEGL >= 0.4.16
(cherry picked from commit 29d575c033)
2019-05-08 04:22:48 -04:00
d1ee74b250 configure.ac: post-release version bump to 2.10.11 2019-04-07 18:54:50 +02:00
596f855749 configure.ac: bump versions for the 2.10.10 release 2019-04-07 18:30:13 +02:00
7c7eb399b7 build,app: require GEGL-0.4.14
(cherry picked from commit dde7108584)
2019-03-01 14:48:01 +01:00
67efe67ed8 build,app: require babl-0.1.62 2019-03-01 14:46:52 +01:00
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
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
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
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
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
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
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
ee8f162151 configure.ac: post-release version bump to 2.10.9 2018-11-08 20:33:33 +01:00
a967e8d2c2 configure.ac: bump versions for the 2.10.8 release 2018-11-08 19:34:21 +01:00
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
20a1a31fc4 configure/app: depend on GEGL 0.4.12
(cherry picked from commit a39b4abfbc)
2018-10-23 14:39:43 +02:00
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
02936d9303 configure/app: depend on GEGL-0.4.10 2018-10-18 18:32:24 +02:00
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