nixpkgs/pkgs/applications/graphics/nufraw/default.nix
2023-09-30 23:10:09 +02:00

91 lines
2.3 KiB
Nix

{ lib
, stdenv
, fetchurl
, fetchpatch
, autoreconfHook
, bzip2
, cfitsio
, exiv2
, gettext
, gtk2
, gtkimageview
, lcms2
, lensfun
, libjpeg
, libtiff
, perl
, pkg-config
, zlib
, addThumbnailer ? false
}:
stdenv.mkDerivation rec {
pname = "nufraw";
version = "0.43-3";
src = fetchurl {
url = "mirror://sourceforge/nufraw/nufraw-${version}.tar.gz";
sha256 = "0b63qvw9r8kaqw36bk3a9zwxc41h8fr6498indkw4glrj0awqz9c";
};
nativeBuildInputs = [ autoreconfHook gettext perl pkg-config ];
buildInputs = [
bzip2
cfitsio
exiv2
gtk2
gtkimageview
lcms2
lensfun
libjpeg
libtiff
zlib
];
configureFlags = [
"--enable-contrast"
"--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
'';
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/";
description = "Utility to read and manipulate raw images from digital cameras";
longDescription =
''
A new version of the popular raw digital images manipulator ufraw.
Forks from the version 0.23 of ufraw (that's why the first nufraw version is the 0.24).
Nufraw offers the same features (gimp plugin, batch, ecc) and the same quality of
ufraw in a brand new improved user interface.
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ asbachb ];
platforms = platforms.linux;
};
}