summary refs log tree commit diff
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-06-22 21:07:09 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-06-22 21:07:09 +0000
commit78f5f3359ba79445fff52e25bacb38c8b9eaa780 (patch)
tree2ed3102ccf62b3f83ad3f66cec35cd6e9c401368
parent5dc0d3dbcfd344d71ac9526e20a4b1287b22d316 (diff)
downloadnixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.tar
nixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.tar.gz
nixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.tar.bz2
nixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.tar.lz
nixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.tar.xz
nixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.tar.zst
nixpkgs-78f5f3359ba79445fff52e25bacb38c8b9eaa780.zip
Fixing the pinta build (finally!). All looks very ugly, I imagine that mainly because
I know almost nothing about Mono.
I invite others to improve it.

svn path=/nixpkgs/trunk/; revision=22387
-rw-r--r--pkgs/applications/graphics/pinta/builder.sh20
-rw-r--r--pkgs/applications/graphics/pinta/default.nix43
-rw-r--r--pkgs/development/libraries/gtk-sharp-2/default.nix12
3 files changed, 40 insertions, 35 deletions
diff --git a/pkgs/applications/graphics/pinta/builder.sh b/pkgs/applications/graphics/pinta/builder.sh
deleted file mode 100644
index bcea7a7a89a..00000000000
--- a/pkgs/applications/graphics/pinta/builder.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-source $stdenv/setup
-source $makeWrapper
-
-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 MONO_GAC_PREFIX ':' "$gtksharp" \
-            --suffix MONO_GAC_PREFIX ':' "$out"
-    done
-}
-
-genericBuild
-
-
diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix
index 7dc6014ec8b..801ed7a1b61 100644
--- a/pkgs/applications/graphics/pinta/default.nix
+++ b/pkgs/applications/graphics/pinta/default.nix
@@ -1,25 +1,44 @@
 {stdenv, fetchgit, mono, gtksharp, pkgconfig}:
 
 stdenv.mkDerivation {
-  name = "pinta-20100617";
-
-  builder = ./builder.sh;
+  name = "pinta-0.3";
 
   src = fetchgit {
     url = http://github.com/jpobst/Pinta.git;
-    tag = "0.3";
-    sha256 = "0qvpz9602igjmv8ba6vc4kg9jj3yyw0frl7wgz62hdxiizdfhm2f";
+    rev = "0.3";
+    sha256 = "17fde1187be4cfd50a9acda4ba45584e24d51ff22df5074654bed23f61faf33b";
   };
 
-  makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
+  buildInputs = [mono gtksharp pkgconfig];
 
-  makePhase = ''
-    HOME=`pwd`/tmphome
-    mkdir -p $HOME
-    xbuild Pinta.Core/Pinta.Core.csproj /v:diag
+  buildPhase = ''
+    # xbuild understands pkgconfig, but gtksharp does not give .pc for gdk-sharp
+    # So we have to go the GAC-way
+    export MONO_GAC_PREFIX=${gtksharp}
+    xbuild Pinta.sln
   '';
 
-  buildInputs = [mono gtksharp pkgconfig];
+  # Very ugly - I don't know enough Mono to improve this. Isn't there any rpath in binaries?
+  installPhase = ''
+    ensureDir $out/lib/pinta $out/bin
+    cp bin/*.{dll,exe} $out/lib/pinta
+    cat > $out/bin/pinta << EOF
+    #!/bin/sh
+    export MONO_GAC_PREFIX=${gtksharp}:\$MONO_GAC_PREFIX
+    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gtksharp}/lib:${gtksharp.gtk}/lib:${mono}/lib
+    exec ${mono}/bin/mono $out/lib/pinta/Pinta.exe
+    EOF
+    chmod +x $out/bin/pinta
+  '';
+
+  # Always needed on Mono, otherwise nothing runs
+  dontStrip = true; 
 
-  inherit gtksharp;
+  meta = {
+    homepage = http://www.pinta-project.com/;
+    description = "Drawing/editing program modeled after Paint.NET";
+    license = "MIT";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
 }
diff --git a/pkgs/development/libraries/gtk-sharp-2/default.nix b/pkgs/development/libraries/gtk-sharp-2/default.nix
index 4405376493a..7ffc918f678 100644
--- a/pkgs/development/libraries/gtk-sharp-2/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-2/default.nix
@@ -16,12 +16,12 @@
 }:
 
 stdenv.mkDerivation {
-  name = "gtk-sharp-2.12.9";
+  name = "gtk-sharp-2.12.10";
 
   builder = ./builder.sh;
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.9.tar.gz;
-    sha256 = "1wh8zh960s4gq3cs11ys6p1ssblhpj2m8nm4xwv2s3bi7wbmcclh";
+    url = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz;
+    sha256 = "1y55vc2cp4lggmbil2lb28d0gn71iq6wfyja1l9mya5xll8svzwc";
   };
 
   # patches = [ ./dllmap-glue.patch ];
@@ -32,5 +32,11 @@ stdenv.mkDerivation {
     gnomepanel
   ];
 
+  dontStrip = true;
+
   inherit monoDLLFixer;
+
+  passthru = {
+    inherit gtk;
+  };
 }