From 78f5f3359ba79445fff52e25bacb38c8b9eaa780 Mon Sep 17 00:00:00 2001 From: LluĂ­s Batlle i Rossell Date: Tue, 22 Jun 2010 21:07:09 +0000 Subject: 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 --- pkgs/applications/graphics/pinta/builder.sh | 20 ------------- pkgs/applications/graphics/pinta/default.nix | 43 ++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 32 deletions(-) delete mode 100644 pkgs/applications/graphics/pinta/builder.sh (limited to 'pkgs/applications/graphics/pinta') diff --git a/pkgs/applications/graphics/pinta/builder.sh b/pkgs/applications/graphics/pinta/builder.sh deleted file mode 100644 index bcea7a7a89af..000000000000 --- 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 7dc6014ec8b5..801ed7a1b619 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; + }; } -- cgit 1.4.1