Commit Graph

517 Commits

Author SHA1 Message Date
d4efd7005d configure: post-release version bump to 2.10.29. 2021-09-14 17:49:10 +02:00
9f9ff10cf4 configure: release GIMP 2.10.28. 2021-09-14 15:50:46 +02:00
b8c11e0e57 configure: post-release version bump to 2.10.27. 2021-09-05 23:52:45 +02:00
1c7ff807ae configure: release GIMP 2.10.26. 2021-09-05 22:47:06 +02:00
c496ce5aca configure, app: depend on GEGL 0.4.32 2021-09-05 20:56:19 +02:00
0a06779fee add msys support
(cherry picked from commit 512fc24694)
2021-08-30 00:06:58 +02:00
dd49817a2f configure: --enable-check-update now with an "auto" value.
By default, when on "auto", the update check feature will be set
depending on the OS. In particular, on Windows and macOS, it will be ON,
because these are the 2 OSes which we distribute without an update
channel, hence where people used to have very outdated versions of GIMP.

On Linux, *BSD, and so on, distribution provide updates through package
repositories.

(cherry picked from commit 0e46fadf43)
2021-08-26 12:06:18 +02:00
1fd6f68afa meson, configure, plug-ins: image/x-sun-raster is a supported MimeTypes.
Also ".sun" is a possible (and common) file name extension for Sun
Raster images, according to various sources and samples I found (these
samples with .sun extension also opened fine in GIMP, so it's not just a
subvariant which we may not handle or something of the sort). This one
is not so important though as we also register magic bytes for detection
(which is the proper way), but it can still be useful, mostly for
exporting (as we will direct to the SunRaster plug-in if someone tried
to export a file with .sun extension, since no other file format uses
this extension AFAICS).

There is no functional change, I just had a look at this plug-in while
handling !428 and realized this format was not present in the MimeType
list (which is used to generate the desktop file, in order to have
proper mime types, not detection based on extension only, unlike
Windows in !428).

(cherry picked from commit cd3333c6d3)
2021-04-04 16:04:58 +02:00
07b947fbeb configure: post-release version bump to 2.10.25. 2021-03-28 23:49:12 +02:00
fea5236e19 configure: release GIMP 2.10.24. 2021-03-28 22:30:30 +02:00
504c7875d6 configure: missing OpenRaster MIME type in desktop file.
Adding support for .ora files when Python plug-ins are installed.

(cherry picked from commit 1de810f6de)
2021-03-28 01:54:47 +01:00
b61871e94a configure,app: depend on GEGL-0.4.30
This contains fixes also for GIMP. Note that the current babl
requirement is the minimum build requirement, newer release do contain
relevant fixes.
2021-03-27 20:20:41 +01:00
f51d8ccfc5 icons: add legacy "software-update-available" icon from Adwaita.
This is very similar to commit c6063183d3 from master branch, except
that I use the legacy tagged icon because GTK+2 does not have real
symbolic icon theme support yet, which means that I would actually have
to add the icon to all themes, and also revert colors and so on. That's
just annoying so let's just use the color icon here, which will be the
same fallback for all themes (even symbolic style ones).
The icon used is the update one from:
https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/blob/master/src/fullcolor/legacy/software-update.svg

Also I use now the same hicolor/ theme overlay trick as in master since
commit e815c615e1 so that I don't have to duplicate the work on all
themes.

Same as for the commit in master, licensing applies.
This icon comes from the Adwaita repository and is therefore licensed
under the terms of either the GNU LGPL v3 or Creative Commons
Attribution-Share Alike 3.0 United States License. See:
https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/blob/master/COPYING
2020-10-26 20:18:24 +01:00
cd8c2c5893 configure.ac: fix --with-linux-input handling with upcoming autoconf-2.70
Upcoming autoconf-2.70 exposes deficiency in configure.ac:

```
$ autoconf-2.70_beta2 && ./configure --host=x86_64-pc-linux-gnu
./configure: line 1430: 5: Bad file descriptor
checking whether  is declared... ./configure: line 1432: ${+y}: bad
```

It happens because macros are called with parameters using insufficient quoting.

More details at https://lists.gnu.org/archive/html/bug-autoconf/2020-10/msg00027.html

The fix only amends `--with-linux-input`. Other cases of underquoting
will need to be handled separately.

Fix-by: Zack Weinberg
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
(cherry picked from commit cebeb90a87)
2020-10-26 19:01:13 +01:00
230e4fe731 configure: do not show "profile support: yes" when HEIC support is OFF.
Same as previous commit but for autotools, in a separate commit for easy
cherry-pick.

(cherry picked from commit fc25709367)
2020-10-22 11:58:17 +02:00
8227fe7d30 autotools: separate line for HEIC and AVIF support.
Similar to previous commit for meson (separate commit for easy
cherry-pick to gimp-2-10).

(cherry picked from commit 22b8cd305c)
2020-10-19 20:15:52 +02:00
6f7927f2f8 configure.ac: post-release version bump to 2.10.23 2020-10-04 20:15:29 +02:00
0c8a7891f7 configure.ac: bump versions for the 2.10.22 release 2020-10-04 19:32:33 +02:00
fbbdb62a98 build: Prefer to find libwmf using pkg-config
Traditional -config scripts are awkward for cross-compilation, multilib
systems (lib/lib64), and multiarch systems like Debian; only one copy
of the -config script can be in the PATH. As a result, some OS
distributions are starting to deprecate or even remove them.

pkg-config is designed to be a replacement for traditional -config
scripts, and is cross-compilation-friendly: the PKG_CHECK_MODULES macro
looks for an architecture-specific executable like
x86_64-linux-gnu-pkg-config, which can look in an architecture-specific
search path for library metadata, before falling back to a generic
pkg-config executable.

As a bonus, pkg-config also compares version numbers correctly
(see #2454).

libwmf having pkg-config metadata seems to be a relatively new thing,
so I've kept the -config script code path too, using it if pkg-config
does not find libwmf.

Bug-Debian: https://bugs.debian.org/956183
Signed-off-by: Simon McVittie <smcv@debian.org>


(cherry picked from commit 00024db382)
2020-08-27 13:05:25 +00:00
502804281e configure: look for pygtk-codegen-2.0 and pygtk defsdir in all cases.
Even without Python enabled, these are used for the `dist` step, hence
also for distcheck. These checks are not blocking normal builds though.
2020-08-03 02:16:16 +02:00
562715dbf2 build, app: depend on GEGL-0.4.26 2020-08-02 22:37:55 +02:00
08ae0a9bb9 Offer image/webp content type in .desktop file
Nautilus will only offer to open WebP files in applications that accept
the `image/webp` content type, not `image/x-webp`.  Even though it isn’t
on the [official
list](https://www.iana.org/assignments/media-types/media-types.xhtml#image),
`image/webp` seems to be more
[widely](https://en.wikipedia.org/wiki/WebP)
[recommended](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#Image_types)
than `image/x-webp`.

(cherry picked from commit 84c08e55e1)
2020-07-22 19:47:54 +02:00
de65e920a5 configure.ac: post-release version bump to 2.10.21 2020-06-07 22:51:04 +02:00
68d21512bf configure.ac: bump versions for the 2.10.20 release 2020-06-07 22:06:17 +02:00
dac5718af2 autotools,app: depend on GEGL 0.4.24 2020-06-07 21:24:40 +02:00
1c1e3de7c2 app, configure: depend on babl-0.1.78 2020-06-07 20:34:19 +02:00
670078dba8 build,app: depend on babl-0.1.76 2020-05-27 15:17:46 +02:00
fcb161c3f8 Change order of CFLAGS for SSE tests
This makes the configure tests for SSE support fail if CFLAGS specify -mno-sse2 or/and -mno-sse4.1.
Fixes #4363.

(cherry picked from commit 0108d7e214)
2020-03-18 00:47:47 +01:00
Ell
5528c660af configure.ac: fix last commit
Removed a little bit too much.

(cherry picked from commit 51e4549d5c)
2020-03-08 13:10:41 +02:00
Ell
bf8f004b15 configure.ac: require glib >= 2.56.2
Recent code changes depend on 2.56 symbols, and no one seemed to
complain for 2.10.18, so let's just bump the requirement.

Furthermore, 2.56.0 and 2.56.1 have a Windows-specific bug we were
testing for, so let's just bump straight to 2.56.2.
2020-03-08 12:30:29 +02:00
Ell
2d671cf5f7 Revert "configure.ac, app: temporarily revert GEGL dependency to 0.4.22 for release"
This reverts commit 6bed57abe2.
2020-02-23 19:28:02 +02:00
d1438a3fa0 configure.ac: post-release version bump to 2.10.19 2020-02-23 18:23:27 +01:00
Ell
f8b07bd8b5 icons, tools: add Symbolic high-contrast variants
Add new Symbolic-High-Contrast and Symbolic-Inverted-High-Contrast
themes, which are automatically-generated high-contrast variants of
the (original) Symbolic theme.  The contrast factor is settable in
the makefile, and is currently at 1.5 for both themes.

Rename tools/invert-svg to tools/svg-contrast, which now takes a
contrast-factor argument, and adjusts the input SVG contrast,
instead of just inverting it.  Note that we can still use the tool
to invert icons, using a contrast of -1.
2020-02-22 22:51:18 +02:00
Ell
6bed57abe2 configure.ac, app: temporarily revert GEGL dependency to 0.4.22 for release
... and work around the missing gegl_buffer_share_storage() API in
gimp:replace.
2020-02-22 22:28:11 +02:00
1054fc4488 configure.ac: bump versions for the 2.10.18 release 2020-02-21 19:05:44 +01:00
Ell
0b80a0d068 Makefile.am: require GEGL >= 0.4.23
(cherry picked from commit 401745e62a)
2020-02-20 13:03:33 +02:00
6149c81042 app,autotools: depend on GEGL-0.4.22 2020-02-18 22:03:41 +01:00
e018c743b6 configure.ac: post-release version bump to 2.10.17 2020-02-18 21:11:46 +01:00
fe60c0ffac configure.ac: bump versions for the 2.10.16 release 2020-02-18 20:43:52 +01:00
990250c517 configure, data: create/install the gimp-release file.
(cherry picked from commit f98e506712)
2020-02-14 01:00:48 +01:00
c4e213a2bd app: now also process the build revision when checking for updates.
The idea is to be able to advertize a new revision of the same version
of GIMP. For instance, this would apply when we release a
`gimp-2-10-14-setup-3.exe` Windows installer (then we are at revision
3, provided we started at revision 0).

The revision number is obviously only relevant to a given platform and
version. Also the concept of build ID allows to differentiate various
builds for a same platform, in particular to not look at revisions of
third-party builds. The build ID can be any string. Maybe we could just
use reverse DNS build id (such as "org.gimp.GIMP_official") to identify
the official GIMP build. So in the end, we only compare revisions for an
identical (version, platform, build-id) tuple.

(cherry picked from commit 7b5fff7861)
2020-02-07 00:14:10 +01:00
81fe0f6fa4 app, configure: new --disable-check-update option at configuration.
Allows to disable the automatic update check at startup. I believe some
packagers will want such options, in particular on Linux distribution
(where they control their own release schedule and won't want GIMP to
pop new version warning up because they have been slow to update their
package).
Note that it is still possible to query version checks manually in the
about dialog, but the automatic check/popup is gone with this option.

(cherry picked from commit 315665592c)
2020-02-07 00:14:10 +01:00
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