Commit Graph

505 Commits

Author SHA1 Message Date
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
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