mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-22 14:45:27 +00:00
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
This commit is contained in:
parent
5dc0d3dbcf
commit
78f5f3359b
|
@ -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
|
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,44 @@
|
||||||
{stdenv, fetchgit, mono, gtksharp, pkgconfig}:
|
{stdenv, fetchgit, mono, gtksharp, pkgconfig}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "pinta-20100617";
|
name = "pinta-0.3";
|
||||||
|
|
||||||
builder = ./builder.sh;
|
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = http://github.com/jpobst/Pinta.git;
|
url = http://github.com/jpobst/Pinta.git;
|
||||||
tag = "0.3";
|
rev = "0.3";
|
||||||
sha256 = "0qvpz9602igjmv8ba6vc4kg9jj3yyw0frl7wgz62hdxiizdfhm2f";
|
sha256 = "17fde1187be4cfd50a9acda4ba45584e24d51ff22df5074654bed23f61faf33b";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
|
|
||||||
|
|
||||||
makePhase = ''
|
|
||||||
HOME=`pwd`/tmphome
|
|
||||||
mkdir -p $HOME
|
|
||||||
xbuild Pinta.Core/Pinta.Core.csproj /v:diag
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildInputs = [mono gtksharp pkgconfig];
|
buildInputs = [mono gtksharp pkgconfig];
|
||||||
|
|
||||||
inherit gtksharp;
|
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
|
||||||
|
'';
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,12 +16,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "gtk-sharp-2.12.9";
|
name = "gtk-sharp-2.12.10";
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.9.tar.gz;
|
url = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz;
|
||||||
sha256 = "1wh8zh960s4gq3cs11ys6p1ssblhpj2m8nm4xwv2s3bi7wbmcclh";
|
sha256 = "1y55vc2cp4lggmbil2lb28d0gn71iq6wfyja1l9mya5xll8svzwc";
|
||||||
};
|
};
|
||||||
|
|
||||||
# patches = [ ./dllmap-glue.patch ];
|
# patches = [ ./dllmap-glue.patch ];
|
||||||
|
@ -32,5 +32,11 @@ stdenv.mkDerivation {
|
||||||
gnomepanel
|
gnomepanel
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
inherit monoDLLFixer;
|
inherit monoDLLFixer;
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit gtk;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue