mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-11 15:27:20 +03: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.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;
|
||||
|
||||
makePhase = ''
|
||||
HOME=`pwd`/tmphome
|
||||
mkdir -p $HOME
|
||||
xbuild Pinta.Core/Pinta.Core.csproj /v:diag
|
||||
'';
|
||||
|
||||
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 {
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user