1. 27 May, 2021 1 commit
  2. 17 May, 2021 1 commit
    • Jehan's avatar
      configure: better libaa detection. · a181d672
      Jehan authored
      - Use aalib-config (available at least in the last releases of libaa,
        1.4rc5 from 20 years ago!). Especially important as the basic
        AC_CHECK_LIB() test does not work in my tests on Windows builds
        because some more libs are needed.
      - Make sure file-aa is also built if AA_LIBS environment variable is
        explicitly set. Prevous code was not working in such case (file-aa was
        not built even with AA_LIBS set).
  3. 26 Apr, 2021 2 commits
  4. 04 Apr, 2021 1 commit
    • Jehan's avatar
      meson, configure, plug-ins: image/x-sun-raster is a supported MimeTypes. · cd3333c6
      Jehan authored
      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).
  5. 27 Mar, 2021 1 commit
  6. 20 Feb, 2021 1 commit
  7. 29 Jan, 2021 1 commit
  8. 22 Dec, 2020 2 commits
  9. 20 Dec, 2020 1 commit
  10. 15 Nov, 2020 2 commits
    • Jehan's avatar
    • Jehan's avatar
      app: undeprecate some Pango/Harfbuzz calls. · 7a50b094
      Jehan authored
      pango_fc_font_lock_face() is deprecated since Pango 1.44.
      This may hopefully also fix #5922 as I completely changed the code where
      the CRITICAL happened. Yet I left g_return_val_if_fail() to check if the
      Harfbuzz font and FreeType face variables are not NULL (because looking
      at the code, it looks like these functions returning NULL actually means
      there is a bug in the code).
      Nevertheless if it turned out that there are non-bug cases where these
      could return NULL (for instance a broken font file?), then probably we
      should not use g_return_val_if_fail(), but instead address the data
      issue in a nicer way.
      Bumping harfbuzz dependency to 1.0.5 for hb_ft_font_set_funcs(). Without
      configuring the Harfbuzz font with it, hb_ft_font_get_face() always
      returns NULL.
      Note that it looks like hb_ft_font_lock_face() would actually be better,
      but this requires harfbuzz 2.6.5 from last April which is quite recent.
      So let's just use the get_face() variant for now.
  11. 26 Oct, 2020 1 commit
  12. 25 Oct, 2020 2 commits
  13. 22 Oct, 2020 1 commit
  14. 19 Oct, 2020 1 commit
  15. 12 Oct, 2020 1 commit
    • Jehan's avatar
      meson, autotools, CI: simplify plug-in binding build options. · e77d9517
      Jehan authored
      For Python, Lua and Javascript, make the option boolean (with 'yes'
      being the default). No need of a warning when not installing the
      plug-ins as this would have been disabled explicitly anyway. When
      installing the plug-ins, only make interpreter checks as precautionnary
      verifications which don't actually change anything (except outputting
      some warnings if interpreters are not found). Basically for these 3
      bindings, the interpreters are only runtime dependencies anyway. So it
      doesn't matter if they are not available at build time. In particular,
      we get rid of the 'force' option.
      Vala rules do not change as the vala compiler is indeed needed at build
      time and current checks work correctly. I just add a "Vala plug-ins"
      line in the summary message of the meson configuration, as it was
  16. 09 Oct, 2020 1 commit
    • Jehan's avatar
      plug-ins, extension: goat-exercises becomes a GIMP extension. · ecbc38f9
      Jehan authored
      This is an extension containing a few demo plug-ins. This is good to
      demonstrate the extension format. It will also allow to disable these
      plug-ins (if at some point, one doesn't want to show these demo
      plug-ins anymore).
      And finally it deals with the fact that our plug-in code is stupid, as
      it just tries to find the first executable with the same name (minus
      extension) as the plug-in folder. This doesn't go well on Windows, where
      the permission system is non-existent. So our code just ends up trying
      to run the first file with a similar name in a plug-in folder. As the C
      goat-exercise contains both an exe and the C source (and the system
      probably returns files in alphabetic order), GIMP under Windows tries to
      run the C source instead of the executable (this obviously doesn't go
      We could try to do more complex logics, like not aborting if the first
      file run fails and try the next one in the plug-in folder. Or maybe just
      rename the C file...
  17. 21 Sep, 2020 1 commit
    • Jehan's avatar
      plug-ins: get rid of pygimp! · 0ec5ee43
      Jehan authored
      It's done, all Python plug-ins have been either ported to the new API +
      Python 3, or they have been discarded (and moved to gimp-data-extras for
      whoever wants to salvage them).
      Let's get rid of the outdated pygimp directory (whose code has not been
      built in the master branch for years now anyway)! Woohoo!
  18. 12 Sep, 2020 1 commit
  19. 26 Aug, 2020 1 commit
    • Simon McVittie's avatar
      build: Prefer to find libwmf using pkg-config · 00024db3
      Simon McVittie authored
      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's avatarSimon McVittie <smcv@debian.org>
  20. 23 Aug, 2020 1 commit
    • Kevin Cozens's avatar
      Allow building GIMP of without vala. · 56982e6c
      Kevin Cozens authored
      To build GIMP without vala the arguments "--enable-vala=no --with-vala=no"
      must be used during the configuration process. If the --with-vala is not
      provided the build process will still try to build some vala based plug-ins.
      Fixes #5389
  21. 22 Aug, 2020 1 commit
    • Jehan's avatar
      icons: install switch-(on|off)-symbolic icons in GIMP's hicolor theme. · e815c615
      Jehan authored
      These icons are not available in any of our themes (Symbolic or Color).
      Also they don't seem to be available in many icon themes either actually
      and I'm not sure GIMP properly fallbacks to system icon theme when an
      icon is missing in the selected theme anyway (I think to remember this
      used to work, but it doesn't look like it works anymore).
      Anyway I just copied the 2 symbolic switch on|off icons available in the
      GTK+ repository at gtk/icons/scalable/status/. These are supposed to be
      used by GtkSwitch but somehow they aren't. So for the time being, let's
      bundle them directly with GIMP (until we figure something better out).
      I put them in hicolor because this is the generic/default theme which is
      always used as last resort and is common to any theme. It means any
      specific theme will be able to override these icons, but if missing,
      hicolor will be able to provide a fallback.
  22. 02 Aug, 2020 1 commit
  23. 22 Jul, 2020 1 commit
  24. 07 Jun, 2020 2 commits
  25. 27 May, 2020 1 commit
  26. 26 May, 2020 1 commit
  27. 27 Apr, 2020 1 commit
  28. 17 Mar, 2020 1 commit
  29. 08 Mar, 2020 2 commits
  30. 20 Feb, 2020 1 commit
  31. 18 Feb, 2020 1 commit
  32. 13 Feb, 2020 1 commit
  33. 06 Feb, 2020 2 commits
    • Jehan's avatar
      app: now also process the build revision when checking for updates. · 7b5fff78
      Jehan authored
      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.
    • Jehan's avatar
      app, configure: new --disable-check-update option at configuration. · 31566559
      Jehan authored
      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
      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.