From 2aaf37cdf9a2bd45e03aad0b3bab93793218ad04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 Oct 2009 12:50:45 +0000 Subject: [PATCH] Add UFRaw. svn path=/nixpkgs/trunk/; revision=17881 --- pkgs/applications/graphics/ufraw/default.nix | 39 ++++ .../graphics/ufraw/mkinstalldirs.patch | 167 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 + 3 files changed, 212 insertions(+) create mode 100644 pkgs/applications/graphics/ufraw/default.nix create mode 100644 pkgs/applications/graphics/ufraw/mkinstalldirs.patch diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix new file mode 100644 index 000000000000..3787d36007f5 --- /dev/null +++ b/pkgs/applications/graphics/ufraw/default.nix @@ -0,0 +1,39 @@ +{ fetchurl, stdenv, pkgconfig, gtk, gettext, bzip2, zlib +, libjpeg, libtiff, cfitsio, exiv2, lcms, gtkimageview }: + +stdenv.mkDerivation rec { + name = "ufraw-0.16"; + + src = fetchurl { + url = "mirror://sourceforge/ufraw/${name}.tar.gz"; + sha256 = "0d3hd04msdk6l0nv1n8zs3ybipy3jikli57d9q41pb7v0hnl6hzd"; + }; + + patches = [ ./mkinstalldirs.patch ]; + preConfigure = "chmod +x mkinstalldirs"; + + buildInputs = + [ pkgconfig gtk gtkimageview gettext bzip2 zlib + libjpeg libtiff cfitsio exiv2 lcms + ]; + + meta = { + homepage = http://ufraw.sourceforge.net/; + + description = "UFRaw, a utility to read and manipulate raw images from digital cameras"; + + longDescription = + '' The Unidentified Flying Raw (UFRaw) is a utility to read and + manipulate raw images from digital cameras. It can be used on its + own or as a Gimp plug-in. It reads raw images using Dave Coffin's + raw conversion utility - DCRaw. UFRaw supports color management + workflow based on Little CMS, allowing the user to apply ICC color + profiles. For Nikon users UFRaw has the advantage that it can read + the camera's tone curves. + ''; + + license = "GPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} diff --git a/pkgs/applications/graphics/ufraw/mkinstalldirs.patch b/pkgs/applications/graphics/ufraw/mkinstalldirs.patch new file mode 100644 index 000000000000..339d4c110419 --- /dev/null +++ b/pkgs/applications/graphics/ufraw/mkinstalldirs.patch @@ -0,0 +1,167 @@ +Add the missing GNU `mkinstalldirs' script, taken from Gnulib. + +--- /dev/null 2009-10-19 13:42:41.176006468 +0200 ++++ ufraw/mkinstalldirs 2009-06-26 22:10:56.000000000 +0200 +@@ -0,0 +1,162 @@ ++#! /bin/sh ++# mkinstalldirs --- make directory hierarchy ++ ++scriptversion=2009-04-28.21; # UTC ++ ++# Original author: Noah Friedman ++# Created: 1993-05-16 ++# Public domain. ++# ++# This file is maintained in Automake, please report ++# bugs to or send patches to ++# . ++ ++nl=' ++' ++IFS=" "" $nl" ++errstatus=0 ++dirmode= ++ ++usage="\ ++Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... ++ ++Create each directory DIR (with mode MODE, if specified), including all ++leading file name components. ++ ++Report bugs to ." ++ ++# process command line arguments ++while test $# -gt 0 ; do ++ case $1 in ++ -h | --help | --h*) # -h for help ++ echo "$usage" ++ exit $? ++ ;; ++ -m) # -m PERM arg ++ shift ++ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } ++ dirmode=$1 ++ shift ++ ;; ++ --version) ++ echo "$0 $scriptversion" ++ exit $? ++ ;; ++ --) # stop option processing ++ shift ++ break ++ ;; ++ -*) # unknown option ++ echo "$usage" 1>&2 ++ exit 1 ++ ;; ++ *) # first non-opt arg ++ break ++ ;; ++ esac ++done ++ ++for file ++do ++ if test -d "$file"; then ++ shift ++ else ++ break ++ fi ++done ++ ++case $# in ++ 0) exit 0 ;; ++esac ++ ++# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and ++# mkdir -p a/c at the same time, both will detect that a is missing, ++# one will create a, then the other will try to create a and die with ++# a "File exists" error. This is a problem when calling mkinstalldirs ++# from a parallel make. We use --version in the probe to restrict ++# ourselves to GNU mkdir, which is thread-safe. ++case $dirmode in ++ '') ++ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then ++ echo "mkdir -p -- $*" ++ exec mkdir -p -- "$@" ++ else ++ # On NextStep and OpenStep, the `mkdir' command does not ++ # recognize any option. It will interpret all options as ++ # directories to create, and then abort because `.' already ++ # exists. ++ test -d ./-p && rmdir ./-p ++ test -d ./--version && rmdir ./--version ++ fi ++ ;; ++ *) ++ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && ++ test ! -d ./--version; then ++ echo "mkdir -m $dirmode -p -- $*" ++ exec mkdir -m "$dirmode" -p -- "$@" ++ else ++ # Clean up after NextStep and OpenStep mkdir. ++ for d in ./-m ./-p ./--version "./$dirmode"; ++ do ++ test -d $d && rmdir $d ++ done ++ fi ++ ;; ++esac ++ ++for file ++do ++ case $file in ++ /*) pathcomp=/ ;; ++ *) pathcomp= ;; ++ esac ++ oIFS=$IFS ++ IFS=/ ++ set fnord $file ++ shift ++ IFS=$oIFS ++ ++ for d ++ do ++ test "x$d" = x && continue ++ ++ pathcomp=$pathcomp$d ++ case $pathcomp in ++ -*) pathcomp=./$pathcomp ;; ++ esac ++ ++ if test ! -d "$pathcomp"; then ++ echo "mkdir $pathcomp" ++ ++ mkdir "$pathcomp" || lasterr=$? ++ ++ if test ! -d "$pathcomp"; then ++ errstatus=$lasterr ++ else ++ if test ! -z "$dirmode"; then ++ echo "chmod $dirmode $pathcomp" ++ lasterr= ++ chmod "$dirmode" "$pathcomp" || lasterr=$? ++ ++ if test ! -z "$lasterr"; then ++ errstatus=$lasterr ++ fi ++ fi ++ fi ++ fi ++ ++ pathcomp=$pathcomp/ ++ done ++done ++ ++exit $errstatus ++ ++# Local Variables: ++# mode: shell-script ++# sh-indentation: 2 ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "scriptversion=" ++# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-time-zone: "UTC" ++# time-stamp-end: "; # UTC" ++# End: diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 247aa4638a05..0d85e38f337c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1542,6 +1542,12 @@ let inherit fetchurl stdenv; }; + ufraw = import ../applications/graphics/ufraw { + inherit fetchurl stdenv pkgconfig gettext bzip2 zlib + libjpeg libtiff cfitsio exiv2 lcms gtkimageview; + inherit (gnome) gtk; + }; + upx = import ../tools/compression/upx { inherit fetchurl stdenv ucl zlib; };