nufraw: refactor, add patch for exiv2 0.28

This commit is contained in:
Weijia Wang 2023-09-30 23:10:09 +02:00
parent d90e8fdfb7
commit 880b7a5f15
2 changed files with 21 additions and 27 deletions

View file

@ -1,6 +1,7 @@
{ stdenv
{ lib
, stdenv
, fetchurl
, lib
, fetchpatch
, autoreconfHook
, bzip2
@ -49,14 +50,28 @@ stdenv.mkDerivation rec {
"--enable-dst-correction"
];
env.NIX_CFLAGS_COMPILE = "-Wno-narrowing";
postInstall = lib.optionalString addThumbnailer ''
mkdir -p $out/share/thumbnailers
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 ];
patches = [
# Fixes an upstream issue where headers with templates were included in an extern-C scope
# which caused the build to fail
(fetchpatch {
name = "0001-nufraw-glib-2.70.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/gimp-nufraw/-/raw/3405bc864752dbd04f2d182a21b4108d6cc3aa95/0001-nufraw-glib-2.70.patch";
hash = "sha256-XgzgjikWTcqymHa7bKmruNZaeb2/lpN19HXoRUt5rTk=";
})
] ++ lib.optionals (lib.versionAtLeast exiv2.version "0.28") [
(fetchpatch {
name = "0002-exiv2-error.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/gimp-nufraw/-/raw/3405bc864752dbd04f2d182a21b4108d6cc3aa95/0002-exiv2-error.patch";
hash = "sha256-40/Wwk1sWiaIWp077EYgP8jFO4k1cvf30heRDMYJw3M=";
})
];
meta = with lib; {
homepage = "https://nufraw.sourceforge.io/";
@ -70,6 +85,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ asbachb ];
platforms = [ "x86_64-linux" "i686-linux" ];
platforms = platforms.linux;
};
}

View file

@ -1,21 +0,0 @@
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__) \