Commit Graph

391 Commits

Author SHA1 Message Date
Øyvind Kolås 580576e702 configure/app: depend on GEGL 0.4.2 2018-05-16 23:26:44 +02:00
Øyvind Kolås 55429df954 configure/app: depend on babl-0.1.48 2018-05-15 21:50:45 +02:00
Jehan 20f20dd7b1 configure, app: encourage packagers to set custom bug tracker.
We get a lot of packaging bugs for third-party builds in our tracker,
especially since our debug tool now opens directly our bug tracker.
It would be preferred if third-party packagers were to make a first
filtering of bugs and only reported once they knew for sure that the bug
is in core code, and not in packaging.

Our configure script will now propose a --with-bug-report-url option
allowing to set a different web address. This address will be the one
opening in the debug dialog.
2018-05-14 05:44:06 +02:00
Jehan 660926eb3d desktop: add a desktop file test with `desktop-file-validate` utils. 2018-05-13 15:57:28 +02:00
Jehan 8d7f13be18 Bug 795855 - File chooser dialogs do not show folders or files for...
... drive roots (e.g. C:\, D:\, ...))

This is a regression of glib 2.56 (not applying to 2.54 since it is new
code). It has been fixed recently in what will be 2.56.2 but is not
released yet, so we can't just bump the requirement.

Since it is a pretty bad bug though, let's add a test specifically for
these versions in the configure script so that nobody will package these
versions of glib. We can remove this test when we will bump the glib
requirement.
2018-05-12 23:12:38 +02:00
Michael Natterer ba149f1759 plug-ins: add HEIF loading/saving plug-in written by Dirk Farin
Thanks a lot to Dirk for contributing this, added him to AUTHORS.

Import the code from https://github.com/strukturag/heif-gimp-plugin.git
as of today. Merged the files into a single-file plug-in. Changed
the code a lot to match our coding style, but only formatting,
no logic changes.

Still uses deprecated GimpDrawable API and no GIO, but I wanted to do
actual code changes separately from the initial import. Also disabled
metadata support because updating that to GimpMetadata was too much
for the initial import.
2018-05-04 20:49:56 +02:00
Ting-Wei Lan 077036273c libgimpbase: Find thread ID on FreeBSD with thr_self
https://bugzilla.gnome.org/show_bug.cgi?id=795510
2018-04-28 17:09:34 +02:00
Michael Natterer ee47a848eb configure.ac: no need to override gimp_version any longer 2018-04-28 02:18:44 +02:00
Jehan 2451435323 configure: argh! Forgot to AC_SUBST() the GEGL major-minor version. 2018-04-28 01:45:45 +02:00
Jehan f6a8d93190 configure, gimp.pc: do no hardcode the major.minor version of GEGL. 2018-04-28 01:30:19 +02:00
Michael Natterer 8be9b12e78 configure.ac: require GEGL >= 0.4.1 2018-04-27 17:22:54 +02:00
Michael Natterer fa79130c35 configure.ac: post-release version bump to 2.10.1 2018-04-27 14:31:11 +02:00
Michael Natterer 5e662c37d7 configure.ac: release GIMP 2.10.0 \o/ 2018-04-27 13:38:31 +02:00
Øyvind Kolås f1db670f19 configure,app: depend on GEGL-0.4.0 2018-04-26 14:59:12 +02:00
Jehan 87f9e65408 data: move the Pepper brush to a "Fun" category.
This brush is not to be considered seriously and is mostly a "troll". If
we want to keep it, let's make a proper category.
2018-04-22 19:51:44 +02:00
Ell 76eedf2198 configure.ac: require a C++14 compiler
This didn't take long :)  Require a C++14 compiler, for polymorphic
lambdas, which are used in the next commit.
2018-04-19 05:36:31 -04:00
luz.paz 147c09f19e Bug 795161 - Misc. typo fixes in source comments and doxygen
Found via `codespell`
Follow-up to  commit 7fdb963e01
2018-04-18 21:06:57 +02:00
Michael Natterer bccaaeb56c configure.ac: post-release version bump to 2.10.0-RC2-git 2018-04-17 22:24:35 +02:00
Michael Natterer 6582692ec6 configure.ac: release 2.10.0-RC2 2018-04-17 21:27:05 +02:00
Michael Natterer cb84e0ab56 configure.ac: reqire GEGL >= 0.3.34 2018-04-17 00:08:48 +02:00
Øyvind Kolås 5e98dade14 configure/app: depend on GEGL 0.3.32 2018-04-14 12:38:43 +02:00
Øyvind Kolås 087d2462bc configure/app: depend on babl 0.1.46 2018-04-10 23:29:41 +02:00
Elle Stone 54ca0a7f68 Add Gray theme back to GIMP
that was removed by commit 7aecc90e10
2018-04-10 00:16:26 +02:00
Ville Pätsi 7aecc90e10 Remove Lighter, Darker, and Gray themes 2018-04-05 23:59:22 +03:00
Ell 700cc33bec configure.ac: require a C++11 compiler
The following commits use C++11 lambdas.
2018-04-04 17:49:46 -04:00
Michael Natterer a3071d2620 configure.ac: require babl >= 0.1.45 and GEGL => 0.3.31
and set gimp_version to "2.10.0-RC1-git" so we can distinguish it
from the RC1 tarball.
2018-03-31 18:39:53 +02:00
Michael Natterer 29d7cee100 configure.ac: add new option --enable-bundled-mypaint-brushes
because a simple platform dependency in gimpcoreconfig.c doesn't do
the trick (there can be both manual builds and bundled builds on
windows and macos). Use an AC_DEFINE() instead.

Also, make sure the system gimprc and its manpage are generated with
the correct values.
2018-03-30 14:41:13 +02:00
Michael Natterer 452b1bd558 Stop leaking properties of the distcheck machine into the tarball
Some gimprc properties' default values depend on the machine where
"make dist" in run. We had an ugly hack in place to force
(num-processors 1) in the installed system gimprc and its manpage, but
were still leaking "tile-cache-size" and "mypaint-brush-path".

The files are generated by the hidden options --dump-gimprc-system
and --dump-gimprc-manpage which exist only for this purpose.

In gimpconfig-dump.c, special case the three properties in
dump_gimprc_system() and dump_gimprc_manpage() to output constant
default values for "num-processors" and "tile-cache-size" and
output @mypaint_brushes_dir@ in "mypaint-brush-path" which can
be replaced at configure time.

Also introduce etc/gimprc.in so @mypaint_brushes_dir@ can actually be
substituted for the installed system gimprc.
2018-03-30 13:19:22 +02:00
Jehan 479bcaafdd configure, docs: set correct "mypaint-brush-path" value in man page.
This was hard-coded to what I guess was a personal prefix (commit
368c7c0511), which is obviously wrong. This has to be constructed at
compilation and the man must mirror whatever is the actual installation
path of mypaint-brushes package.
2018-03-29 17:26:23 +02:00
Michael Natterer 7c1ea0345e configure.ac: fix check for freetype2 2018-03-29 12:25:27 +02:00
Jehan 527ad94a7e Bug 794772 - detect freetype2 using pkg-config.
I hesitated keeping both the pkg-config and freetype-config (which is
mostly a wrapper to pkg-config nowadays apparently) as fallback, but
anyway I can see in their repositories that they have a pkg-config file
since 2003. Really I don't think it makes sense to hold onto such old
and deprecated dependency configuration systems.
2018-03-28 19:48:16 +02:00
Michael Natterer e5e14b3898 configure.ac: bump version to 2.10.0-RC1 2018-03-27 01:07:28 +02:00
Øyvind Kolås a0c55a6b96 depend on GEGL 0.3.30 2018-03-23 19:05:54 +01:00
Ell 5893d2dc73 tools, app-tools: move gimp-debug-tool from tools/ to app-tools/
Move gimp-debug-tools.c from tools/ to a new app-tools/ subdir,
which should contain external tools needed by app/, and which is
built *after* app/ (unlinke tools/).  This allows gimp-debug-tool
to depend on libapp and libappwidgets, instead of on actual source
files from app/.  Building sources from app/ in another subdir
screws with the distclean rules, and breaks distcheck.
2018-03-10 17:56:56 -05:00
Jehan 65ba879c65 configure: make clearer the test for native GEGL executable.
If running for instance in a cross-compilation, I need to make clearer
the fact we are looking for a native GEGL and also that we are looking
for the executable (used during the build), not the library. This is a
different test as the one for the library with PKG_CHECK_MODULES (which
looks for the target platform's library).
2018-03-09 17:46:02 +01:00
Ell cdb541f81b app: add gimp_spawn_set_cloexec()
... which prevents child processes from inheriting a given pipe,
under *nix and Windows.
2018-03-06 16:31:17 -05:00
Ell 0f2df18dde app: add gimp_spawn_async()
gimp_spawn_async() is similar to, but more limited than,
g_spawn_sync().  Unlike the latter, gimp_spawn_async() uses
vfork(), instead of fork(), when possible.

On Linux, a process that uses large amounts of memory (as GIMP may)
can hang during a fork() if overcommitting is enabled, and there's
not enough memroy.  Using vfork() avoids that, since it doesn't
duplicate the parent's address space.
2018-03-05 01:55:40 -05:00
Ell 0f2c966c5f libgimpbase: in gimp_stack_trace_print(), enable ptrace under Yama
On Linux, when /proc/sys/kernel/yama/ptrace_scope is 1, a process
may only ptrace its descendants by default, which prevents the GDB
process spawned by gimp_stack_trace_print() from attaching to, and
producing a backtrace for, the calling process.

Use prctl() with PR_SET_PTRACER, when available, in the parent
process, to allow the child process to ptrace it.
2018-03-05 01:55:40 -05:00
Mukund Sivaraman 58a0a65160 file-jp2-load: Switch from Jasper to OpenJPEG library 2018-03-04 18:21:22 +01:00
Jehan 796d3cb38b configure: bump fontconfig requirement for all platforms.
In a previous commit, I bumped it for Windows only, where major bugs had
been fixed in recent fontconfig. Yet as Mitch notes, Debian testing has
Fontconfig 2.12.6, so we can simply use the same requirement on all
platforms. No need to make our configuration script over-complicated
with per-platform requirements here.
2018-02-25 23:13:36 +01:00
Jehan 12f9353410 configure: oups, forgot to change an autoconfig variable.
Cf. previous commit.
2018-02-25 03:50:50 +01:00
Jehan 36625e087b Bug 782676: require fontconfig 2.12.4 on Windows.
Fontconfig has a new slowness issue, this time apparently because of
locked cache files, preventing a successful cache update.
See: https://bugs.freedesktop.org/show_bug.cgi?id=99360
Furthermore the slowness apparently happens at every GIMP startup, and
also even when GIMP closes according to various reports. So let's bump
Fontconfig version (for Win32 builds only).

Also let's not make it a recommendation anymore, but a requirement. That
makes quite a few Win32-specific fontconfig bugs which have been fixed,
and most are quite serious so this should not be considered as optional
anymore, I guess.
2018-02-25 03:28:40 +01:00
Øyvind Kolås 12b579da96 configure.ac: require babl >= 0.1.44 2018-02-18 12:43:37 +01:00
Jehan 4fd1c6c97c app: add support for Linux backtrace() API.
It is nice because when available (Linux only?), it is a lot faster than
using a dedicated debugger such as GDB or LLDB, and also it allows to
always have a backtrace, even when no debuggers are installed.
Unfortunately the output is a lot less detailed, with no file paths, no
line numbers (even when debug symbols are there), no local values
printout, etc. It's pretty bare, with function names and the stack
levels. This is why it is not given priority, and GDB and LLDB are still
preferred when available.
2018-01-29 01:48:30 +01:00
Ell 7dfe81f13d configure.ac: require GEGL >= 0.3.29 2018-01-28 16:37:33 -05:00
Ell 12148e04c4 configure.ac: require babl >= 0.1.42 and GEGL >= 0.3.28 2018-01-23 11:08:24 -05:00
Øyvind Kolås 7d5188cae6 configure: depend on babl 0.1.40 or newer 2018-01-17 16:06:10 +01:00
Jehan 458e313000 Rename gimp.appdata.xml.in to org.gimp.GIMP.appdata.xml.in.in.
I completely forgot to rename the appstream file according to the new
ID. While doing so, I also make it a .in.in file, with initial
processing by the autotools. Indeed I need @GIMP_COMMAND@ to be replaced
by AC_CONFIG_FILES().
Finally I fix a badly closed XML tag (which reminds me I should always
test a commit, even when it's a simple non-C 1-liner change!).
2018-01-14 03:54:17 +01:00
Jehan 341105366d configure: use the poppler-data required version in pkg-config check.
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.
2018-01-12 19:28:01 +01:00
Jehan f8e1d3b9c8 app, configure: adding dependency to mypaint-brushes.
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.
2018-01-01 22:33:56 +01:00