diff --git a/pkgs/applications/graphics/f-spot/builder.sh b/pkgs/applications/graphics/f-spot/builder.sh
new file mode 100644
index 00000000000..88ab8810e74
--- /dev/null
+++ b/pkgs/applications/graphics/f-spot/builder.sh
@@ -0,0 +1,28 @@
+. $stdenv/setup
+. $makeWrapper
+
+postInstall=postInstall
+postInstall() {
+ mv $out/bin $out/bin-orig
+ mkdir $out/bin
+
+ for i in $out/bin-orig/*; do
+ echo "wrapping $(basename $i)"
+ # !!! TODO: figure out the MONO_GAC_PREFIX automatically
+ makeWrapper "$i" "$out/bin/$(basename $i)" \
+ --suffix PATH ':' "$(dirname $(type -p mono))" \
+ --suffix LD_LIBRARY_PATH ':' "$sqlite/lib" \
+ --suffix LD_LIBRARY_PATH ':' "$libgnomeui/lib/libglade/2.0" \
+ --suffix MONO_GAC_PREFIX ':' "$gtksharp"
+ done
+
+ # !!! hack
+ export ALL_INPUTS="$out $pkgs"
+
+ find $out -name "*.dll.config" -o -name "*.exe.config" | while read configFile; do
+ echo "modifying config file $configFile"
+ $monoDLLFixer "$configFile"
+ done
+}
+
+genericBuild
diff --git a/pkgs/applications/graphics/f-spot/default.nix b/pkgs/applications/graphics/f-spot/default.nix
new file mode 100644
index 00000000000..a22dbab3b10
--- /dev/null
+++ b/pkgs/applications/graphics/f-spot/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, perl, perlXMLParser, pkgconfig, mono, libexif
+, libgnome, libgnomeui, gtksharp, libjpeg, sqlite, lcms, libgphoto2
+, monoDLLFixer
+}:
+
+stdenv.mkDerivation {
+ name = "f-spot-0.0.10";
+
+ builder = ./builder.sh;
+ makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
+
+ src = fetchurl {
+ url = http://ftp.gnome.org/pub/gnome/sources/f-spot/0.0/f-spot-0.0.10.tar.bz2;
+ md5 = "19cc6e067ccc261b0502ff6189b79832";
+ };
+
+ patches = [./dllmap.patch];
+
+ buildInputs = [
+ perl perlXMLParser pkgconfig mono libexif
+ libgnome libgnomeui gtksharp libjpeg sqlite
+ lcms libgphoto2
+ ];
+
+ inherit monoDLLFixer gtksharp sqlite libgnomeui;
+}
diff --git a/pkgs/applications/graphics/f-spot/dllmap.patch b/pkgs/applications/graphics/f-spot/dllmap.patch
new file mode 100644
index 00000000000..956c75c0d23
--- /dev/null
+++ b/pkgs/applications/graphics/f-spot/dllmap.patch
@@ -0,0 +1,28 @@
+diff -rc f-spot-0.0.10-orig/libgphoto2-sharp/libgphoto2-sharp.dll.config f-spot-0.0.10/libgphoto2-sharp/libgphoto2-sharp.dll.config
+*** f-spot-0.0.10-orig/libgphoto2-sharp/libgphoto2-sharp.dll.config 2005-02-27 19:25:09.000000000 +0100
+--- f-spot-0.0.10/libgphoto2-sharp/libgphoto2-sharp.dll.config 2005-03-11 12:13:12.000000000 +0100
+***************
+*** 1,3 ****
+
+!
+
+--- 1,3 ----
+
+!
+
+diff -rc f-spot-0.0.10-orig/src/f-spot.exe.config.in f-spot-0.0.10/src/f-spot.exe.config.in
+*** f-spot-0.0.10-orig/src/f-spot.exe.config.in 2005-02-27 18:03:02.000000000 +0100
+--- f-spot-0.0.10/src/f-spot.exe.config.in 2005-03-11 12:48:03.000000000 +0100
+***************
+*** 9,13 ****
+
+
+
+!
+
+--- 9,13 ----
+
+
+
+!
+
diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix
index b130d9791bd..ab6cf03b2e2 100644
--- a/pkgs/system/all-packages-generic.nix
+++ b/pkgs/system/all-packages-generic.nix
@@ -1143,14 +1143,12 @@ rec {
inherit (gtkLibs) gtk;
};
- /*
fspot = (import ../applications/graphics/f-spot) {
inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
- libexif libjpeg sqlite lcms;
+ libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
inherit (gnome) libgnome libgnomeui;
gtksharp = gtksharp1;
};
- */
hello = (import ../applications/misc/hello/ex-1) {
inherit fetchurl stdenv perl;