1. 06 Sep, 2018 1 commit
  2. 01 Sep, 2018 1 commit
    • Debarshi Ray's avatar
      Prepare 3.29.92 · 0b356bf7
      Debarshi Ray authored
      Owing to the last-minute nature of the port to the Meson build system,
      tarballs are still generated with Autotools to reduce the chances of
      any breakage.
      0b356bf7
  3. 30 Aug, 2018 1 commit
    • Debarshi Ray's avatar
      build: Simplify libjpeg detection · e1558cb3
      Debarshi Ray authored
      The jpeg_save_markers API has existed since 27th March 1998! So it's
      safe to assume that everybody has it, and there's no need to check for
      it.
      
      libjpeg-turbo has had a libjpeg.pc since 2016, and the IJG's software
      has it too. Dropping support for old libraries is a small price to pay
      for the benefits of a simpler build.
      e1558cb3
  4. 21 Aug, 2018 1 commit
    • Debarshi Ray's avatar
      build: Drop ChangeLog and INSTALL, and silence Automake warnings · cc681022
      Debarshi Ray authored
      The ChangeLog generation was broken forever because it used
      $(top_srcdir)/missing, not $(top_srcdir)/config/missing. Including the
      Git log in tarballs isn't particularly useful. People are better off
      using the Git repository directly.
      
      A nice side-effect of switching Automake to "foreign" is that it
      silences these warnings:
        src/Makefile.am:563: warning: shell $(GLIB_COMPILE_RESOURCES:
          non-POSIX variable name
        src/Makefile.am:563: (probably a GNU make extension)
      
      The loss of INSTALL, caused by "foreign", isn't a big problem because
      the upcoming Meson port would have rendered it obsolete anyway. Users
      can easily look up how to build a Autotools-based project.
      cc681022
  5. 17 Aug, 2018 2 commits
  6. 14 Aug, 2018 1 commit
  7. 13 Aug, 2018 1 commit
    • Debarshi Ray's avatar
      build: Restore optimized builds by default · cfc3985f
      Debarshi Ray authored
      Building with AX_CHECK_ENABLE_DEBUG([yes]), which is what happens by
      default for non-release builds, turns off compiler optimizations and
      overrides any optimization specified via CFLAGS in the build
      environment. This means that the nightly Flatpaks, and almost all
      other non-release builds, are built without any optimization. It's
      very likely that this has a negative impact on the image processing
      loops in the built-in GeglOperations.
      
      It can be useful to turn off compiler optimizations to get a better
      debugging experience, but it becomes a problem if it stomps over the
      build environment while doing so. The person doing the builds should
      should get to decide between ease of debugging and reasonable
      performance. After all, debugging is not the only thing that a
      developer does. Performance measurements are important too, and one can
      use GDB reasonably well with the Autoconf default, which also happens
      to be what most distributions use, of "-g O2".
      
      This wouldn't have been such a problem if AX_CHECK_ENABLE_DEBUG
      attached its flags before the values from the environment instead of
      after, because in case of multiple -O options, the last such option is
      the one that's effective.
      
      Thankfully, "no" doesn't override the environment, which is what
      happens for release builds, and distributions generally set their own
      CFLAGS. Otherwise every single user-facing build would have been
      broken. Note that any release build without CFLAGS set in the
      environment would neither get debug symbols (ie., no "-g") nor any
      compiler optimization because AX_CHECK_ENABLE_DEBUG always suppresses
      the Autoconf defaults of "-g -O2".
      
      One solution could have been to default to "info" for non-release
      builds and recommend the use of --enable-debug=info while building from
      Git, but that would not address release builds without CFLAGS.
      
      Given that the only other thing the macro does is to define the NDEBUG
      pre-processor macro when debugging is set to "no", which isn't widely
      used in the GLib-based GNOME platform [1], it seems better to just
      remove it altogether.
      
      Interestingly, this also seems to unmask some valid cases of
      -Wclobbered and -Wmaybe-uninitialized with Fedora's
      gcc-7.3.1-6.fc27.x86_64 build.
      
      Fallout from 8f6fb686. The deprecated
      GNOME_DEBUG_CHECK macro didn't set any debugging or optimization flags.
      
      [1] glib/gio/xdgmime is the only widely used code path where assert(3)
          is used. It's also used in gio/kqueue/dep-list.c, which is
          *BSD-specific and in GTK+'s Broadway backend. All those can
          probably be replaced with g_assert*.
      cfc3985f
  8. 01 Aug, 2018 1 commit
    • Debarshi Ray's avatar
      build: Turn off -Wcast-function-type · bb290a1e
      Debarshi Ray authored
      GCC 8 introduced -Wcast-function-type. It is enabled by -Wextra, which
      is on the AX_COMPILER_FLAGS list. Unfortunately, this cannot be sanely
      used with the GNOME platform. It is exceedingly common practice to
      specify a function as a callback that ignores some of the trailing
      parameters passed to it. In fact, the following snippet that's part of
      the g_list_copy_deep documentation triggers -Wcast-function-type:
        another_list = g_list_copy_deep (list,
                                         (GCopyFunc) g_object_ref,
                                         NULL);
      
      Disabling warnings like this does go against the recommendation of the
      AX_COMPILER_FLAGS documentation, which suggests the use of #pragmas
      instead. However, unlike passing the flags through the command line,
      attempts to ignore -Wcast-function-type through a #pragma will trigger
      -Wpragmas on older versions of GCC, and, ironically, using
      G_GNUC_CHECK_VERSION to conditionally disable it on newer compilers
      will trigger -Wexpansion-to-defined, again, because of -Wextra.
      bb290a1e
  9. 18 Jul, 2018 3 commits
  10. 19 Jun, 2018 1 commit
  11. 15 Jun, 2018 1 commit
  12. 24 May, 2018 1 commit
  13. 27 Apr, 2018 1 commit
  14. 27 Mar, 2018 1 commit
  15. 15 Mar, 2018 1 commit
  16. 06 Mar, 2018 1 commit
  17. 15 Feb, 2018 1 commit
  18. 03 Feb, 2018 2 commits
  19. 12 Jan, 2018 1 commit
  20. 12 Dec, 2017 1 commit
  21. 26 Nov, 2017 1 commit
    • Debarshi Ray's avatar
      gegl: Add photos_gegl_buffer_new_from_pixbuf · f4d470f3
      Debarshi Ray authored
      This is part of a new set of APIs for GeglBuffer that don't require the
      creation of a graph. These will allow decoding and encoding image file
      formats to and from a GeglBuffer through asynchronous and cancellable
      methods with error handling. These will follow GIO idioms and be
      similar to the codec APIs for GdkPixbuf. There will be a compatibility
      layer to convert a GeglBuffer to and from GdkPixbuf for legacy reasons.
      
      These APIs will address the current lack of cancellation and error
      handling in gegl:load, and make it easier to port existing code away
      from GdkPixbuf.
      
      A subsequent commit will use this method to optimize the application of
      a BaseItem's embedded orientation.
      
      Bump minimum GdkPixbuf version to 2.32.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=781736
      f4d470f3
  22. 05 Sep, 2017 2 commits
  23. 04 Sep, 2017 1 commit
  24. 23 Aug, 2017 1 commit
  25. 17 Aug, 2017 1 commit
    • Debarshi Ray's avatar
      build: Don't AX_REQUIRE_DEFINED private macros · ed111f86
      Debarshi Ray authored
      This fixes the problem with calling aclocal in autogen.sh. However,
      doing that may overwrite our copies of the AX_* macros with newer
      versions from autoconf-archive. That's problematic. See commit
      ac6d7796 for an example where updating the AX_* macros broke
      the build.
      ed111f86
  26. 10 Aug, 2017 1 commit
    • Debarshi Ray's avatar
      Replace gnome-desktop with gsettings-desktop-schemas · 2d6c5864
      Debarshi Ray authored
      Since the switch to a custom thumbnailing infrastructure in commit
      f8ceb9d2, the only use for gnome-desktop were the
      GDesktopBackgroundShading and GDesktopBackgroundStyle enumerated types.
      Since those types are actually exported by gsettings-desktop-schemas,
      it is better to directly use that instead of a separate intermediary.
      
      This has the nice side-effect of reducing the size of the Flatpak.
      2d6c5864
  27. 27 Jul, 2017 1 commit
    • Debarshi Ray's avatar
      build: Define a log domain · 67344f37
      Debarshi Ray authored
      Both GdkPixbuf and Tracker spew copious amounts of debug messages with
      G_MESSAGES_DEBUG=all. It makes it hard to follow those coming from the
      application itself. Specifying a log domain will allow us to
      differentiate application logs from the rest.
      67344f37
  28. 19 Jul, 2017 1 commit
  29. 28 Jun, 2017 1 commit
  30. 20 Jun, 2017 2 commits
  31. 12 Jun, 2017 1 commit
  32. 01 May, 2017 1 commit
  33. 15 Mar, 2017 2 commits