This makes no functional differences since this package has a pkg-config
file only since 0.4.7, our current requirement. This means that
searching for any poppler-data through pkg-config is the same as
searching for this minimum version.
But at least that makes for better output in case of error. People who
wish to build GIMP will have proper error information of the minimum
requirement for poppler-data.
This ensures that MyPaint default brushes are installed, otherwise this
makes the MyPaint brush tool quite useless and confusing unless MyPaint
is installed (which was making MyPaint a de-facto dependency of GIMP
until this commit!). Also we won't have to guess anymore the right path
for these brushs. The path will be known at compile time.
Since they are both mandatory dependencies now, no need to do a nested
check anymore. Also I was getting some weird warnings in the configure
output (maybe also because of missing square brackets?), which are
coincidentally fixed this way as well.
So it seems that [[]] are needed to quote the command part of
AC_CONFIG_COMMANDS(), in particular when square brackets are used inside
the command (which is our case since we used sed with regex classes []).
It is not even in the docs of AC_CONFIG_COMMANDS() but I found this
information in the docs of the deprecated AC_OUTPUT_COMMANDS()!
https://www.gnu.org/software/autoconf/manual/autoconf.html#index-AC_005fOUTPUT_005fCOMMANDS-2135
> Conversely, where one level of quoting was enough for literal strings
> with AC_OUTPUT_COMMANDS, you need two with AC_CONFIG_COMMANDS. The
> following lines are equivalent:
> AC_OUTPUT_COMMANDS([echo "Square brackets: []"])
> AC_CONFIG_COMMANDS([default], [[echo "Square brackets: []"]])
By default, autoconf only takes care of po/POTFILES, not any
po-*/POTFILES. The file contents has to go in po-*/Makefile, after
running `config-status`, step which was consequently not properly done.
And last consequence is that `make update-po` in any po-*/ was quite
broken. Now things should be better.
In configure.ac, add --enable-windows-installer option (off by
default), which should be set to generate the necessary files for
the installer translations during the build. Using this option is
only supported when building from git, since the installer files
are not included in source tarballs.
Rename setup.isl.desktop.in to setup.isl.in, and instruct intltool
to treat it as an .ini file explicitly.
Delete generated message files during make clean.
Use intltool for managing the translations for the Windows
installer, instead of manually maintaining the translated message
files.
The message files are generated in the source directory, under
build/windows/installer/lang, as part of the build, and can be
subsequently used to build the installer, as before.
It never belonged inside "tools". Also rename its "pdb" subdirectory
to "groups". This had to happen before 2.10 so cherry-picking between
branches doesn't become a nightmare in the future.
This variable is used for the MimeType key in the desktop file, which
allows to know if a software can open a file with the Exec key command.
Whether GIMP can also export such format is not to be taken into
consideration.
Poppler and poppler-data are now hard dependencies.
PDF is a common-enough format nowadays that import support is likely
considered as a granted feature by everyone. Moreover the current
fallback to the PostScript plug-in for PDF support just gives a degraded
experience with less features (and probably a lot of bugs since
basically nobody uses this code).
Poppler-data is also considered mandatory because non-western language
support should never be considered an "option". People using non-western
languages are not second class citizens and therefore if we say that PDF
import is now a hard feature, it should also include PDF using CJK or
Cyrillic languages.
This comes from a bug in GCC itself.
Comparing with GCC's revision dates (bug introduced in revision 250312
in 18th of July 2017), this bug apparently affects only GCC 7.2.
Let's just add a configure warning so that builders are made aware of
the issue when they use this compiler.
See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82108
They are sub-libraries of libwebp, enabled by build options
(--enable-libwebp(de)?mux), and therefore I don't think it makes sense
to have separate version prerequisites.
Also let's improve the config output by testing for libwebp(de)?mux only
when libwebp check is successful and displaying more accurate info
(instead of saying "WebP not found", "WebP not built with libwebpmux" is
much more accurate for instance, in order to understand the problem if
you are sure you installed the proper version of libwebp).
Since commit 48046d2, libtiff is a hard dependency. So the have_libtiff
variable is not needed anymore. Just rename it and use it to output a
little bit more informative error message on libtiff check failure.
Bump librsvg requirement to 2.40.6.
This was bug 620923 in librsvg, fixed from 2.40.6 as of commit
5ba4343bccc7e1765f38f87490b3d6a3a500fde1 in their master branch.
Similarly to what I did for CFLAGS and LDFLAGS in commit 20fdb8d, the
preprocessor flags for build tools should also be correctly defaulted
and used when building invert-svg.
... because LDFLAGS is ignored.
Firstly let's make sure that invert-svg build uses LDFLAGS_FOR_BUILD and
CFLAGS_FOR_BUILD; secondly, default these to LDFLAGS and CFLAGS
respectively when not-cross-compiling, unless values are explicitly set.
If the compiler supports destructors (which should cover at least
GCC and Clang), pair the call to babl_init() in gimp_widgets_init()
with a call to babl_exit() when the library in unloaded. This is
important in particular since the babl fish cache is constructed/
updated upon the last matched call to babl_exit().
This way we can be warned quickly about any AppStream issue (cf. bug
782759). This test requires web access for screenshot verification.
Packagers are invited to use --without-appdata-test option if they want
to skip the test (for instance if build environment has restricted
network access).
Use a code test inspired by libsoup configure test.
This is a hard dependency because HTTPS should not be considered an
option anymore. Nowadays most websites will use HTTPS by default, HTTP
gives SEO penalties and browsers are starting to display various
security warnings on HTTP websites.
Also the experience will be significantly degraded without SSL/TLS
support since the help browser will fail to load the manual remotely,
and opening various remote files on secure protocols will fail.
Note: the test cannot be performed while cross-compiling. In this case,
we will just display a warning for packagers to be at least well aware
of this dependency.
Even though the SVG loader is installed, it needs to be properly
registered for GdkPixbuf to find it. This is a problem for Windows where
the installation prefix can end up being anything and where the command
`gdk-pixbuf-query-loaders` is not run by any common component anyway.
Let's just warn the Windows packager to not forget to have the installer
run it if vector icons are enabled.
It is apparently not used for file type detection on Windows since
SVG detection worked correctly without installing this package. But
vector icons end up broken under MacOS when this is not installed
(thanks to Kris for testing this!). I assume this is necessary on
GNU/Linux too.