summary refs log tree commit diff
path: root/pkgs/applications/graphics/nufraw
diff options
context:
space:
mode:
authorpolygon <polygon@wh2.tu-dresden.de>2021-06-03 13:31:02 +0200
committerpolygon <polygon@wh2.tu-dresden.de>2021-06-04 08:26:06 +0200
commit5e903ee0792c15804c8e648979d5bc9023d49a13 (patch)
tree3c9df18b699c88cf2cbb3225e47694a9eba1b997 /pkgs/applications/graphics/nufraw
parent42e9a2ccfab2a96d28c3c164a6cf41fb6f769de5 (diff)
nufraw: fix build
Sources would include glib-headers from within an extern-C scope.
Since glib-headers contained templates, this would fail. Add a patch
to move the header includes outside of the extern-C scope.
Diffstat (limited to 'pkgs/applications/graphics/nufraw')
-rw-r--r--pkgs/applications/graphics/nufraw/default.nix4
-rw-r--r--pkgs/applications/graphics/nufraw/move-extern-c.patch21
2 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/nufraw/default.nix b/pkgs/applications/graphics/nufraw/default.nix
index e49093c568cbd..f6031bea069d9 100644
--- a/pkgs/applications/graphics/nufraw/default.nix
+++ b/pkgs/applications/graphics/nufraw/default.nix
@@ -54,6 +54,10 @@ stdenv.mkDerivation rec {
     substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer
   '';
 
+  # Fixes an upstream issue where headers with templates were included in an extern-C scope
+  # which caused the build to fail
+  patches = [ ./move-extern-c.patch ];
+
   meta = with lib; {
     homepage = "https://nufraw.sourceforge.io/";
     description = "Utility to read and manipulate raw images from digital cameras";
diff --git a/pkgs/applications/graphics/nufraw/move-extern-c.patch b/pkgs/applications/graphics/nufraw/move-extern-c.patch
new file mode 100644
index 0000000000000..43a4942d3e62d
--- /dev/null
+++ b/pkgs/applications/graphics/nufraw/move-extern-c.patch
@@ -0,0 +1,21 @@
+diff --git a/uf_glib.h b/uf_glib.h
+index c1a17bd..8a10800 100644
+--- a/uf_glib.h
++++ b/uf_glib.h
+@@ -13,13 +13,13 @@
+ #ifndef _UF_GLIB_H
+ #define _UF_GLIB_H
+ 
++#include <glib.h>
++#include <glib/gstdio.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+-#include <glib.h>
+-#include <glib/gstdio.h>
+-
+ // g_win32_locale_filename_from_utf8 is needed only on win32
+ #ifdef _WIN32
+ #define uf_win32_locale_filename_from_utf8(__some_string__) \