nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix

72 lines
1.3 KiB
Nix
Raw Normal View History

2018-12-24 23:57:04 +00:00
{ stdenv
, lib
, fetchFromGitHub
, pkg-config
2018-12-24 23:57:04 +00:00
, mono
, glib
, pango
, gtk2
, libxml2
, monoDLLFixer
2018-12-24 23:57:04 +00:00
, autoconf
, automake
, libtool
, which
, fetchpatch
}:
2018-12-24 23:57:04 +00:00
stdenv.mkDerivation rec {
pname = "gtk-sharp";
2018-12-24 23:57:04 +00:00
version = "2.12.45";
builder = ./builder.sh;
2018-12-24 23:57:04 +00:00
src = fetchFromGitHub {
owner = "mono";
repo = "gtk-sharp";
rev = version;
sha256 = "1vy6yfwkfv6bb45bzf4g6dayiqkvqqvlr02rsnhd10793hlpqlgg";
};
patches = [
(fetchpatch {
url = "https://projects.archlinux.de/svntogit/packages.git/plain/trunk/gtk-sharp2-2.12.12-gtkrange.patch?h=packages/gtk-sharp-2";
sha256 = "bjx+OfgWnN8SO82p8G7pbGuxJ9EeQxMLeHnrtEm8RV8=";
})
];
gtk-sharp: wrap output executables Fixes the below build error in gnome-sharp which appeared after #52712 /nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/bin/gapi2-fixup --api=art-api.xml --metadata=./Art.metadata --symbols=./art-symbols.xml rm -f generated/* && \ /nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/bin/gapi2-codegen --generate art-api.xml \ -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/pango-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/atk-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/gdk-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/gtk-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/glib-api.xml \ --outdir=generated --customdir=. --assembly-name=art-sharp \ --gluelib-name=artsharpglue-2 --glue-filename=glue/generated.c \ --glue-includes= \ && touch generated-stamp Unhandled Exception: System.MissingMethodException: Method 'string.Split' not found. at GtkSharp.Generation.SimpleGen..ctor (System.String ctype, System.String type, System.String default_value) [0x00000] in <d117698e7b8a4f9b867143c99aa161ba>:0 at GtkSharp.Generation.SymbolTable..ctor () [0x00011] in <d117698e7b8a4f9b867143c99aa161ba>:0 at GtkSharp.Generation.SymbolTable.get_Table () [0x0000a] in <d117698e7b8a4f9b867143c99aa161ba>:0 at GtkSharp.Generation.CodeGenerator.Main (System.String[] args) [0x0003e] in <d117698e7b8a4f9b867143c99aa161ba>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method 'string.Split' not found. at GtkSharp.Generation.SimpleGen..ctor (System.String ctype, System.String type, System.String default_value) [0x00000] in <d117698e7b8a4f9b867143c99aa161ba>:0
2018-12-24 23:31:40 +00:00
postInstall = ''
pushd $out/bin
for f in gapi2-*
do
substituteInPlace $f --replace mono ${mono}/bin/mono
done
popd
'';
nativeBuildInputs = [ pkg-config autoconf automake libtool which ];
gtk-sharp: wrap output executables Fixes the below build error in gnome-sharp which appeared after #52712 /nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/bin/gapi2-fixup --api=art-api.xml --metadata=./Art.metadata --symbols=./art-symbols.xml rm -f generated/* && \ /nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/bin/gapi2-codegen --generate art-api.xml \ -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/pango-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/atk-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/gdk-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/gtk-api.xml -I:/nix/store/wsqld4bccm0bwjnn1gj9cr32qscz4qk7-gtk-sharp-2.12.10/lib/pkgconfig/../../share/gapi-2.0/glib-api.xml \ --outdir=generated --customdir=. --assembly-name=art-sharp \ --gluelib-name=artsharpglue-2 --glue-filename=glue/generated.c \ --glue-includes= \ && touch generated-stamp Unhandled Exception: System.MissingMethodException: Method 'string.Split' not found. at GtkSharp.Generation.SimpleGen..ctor (System.String ctype, System.String type, System.String default_value) [0x00000] in <d117698e7b8a4f9b867143c99aa161ba>:0 at GtkSharp.Generation.SymbolTable..ctor () [0x00011] in <d117698e7b8a4f9b867143c99aa161ba>:0 at GtkSharp.Generation.SymbolTable.get_Table () [0x0000a] in <d117698e7b8a4f9b867143c99aa161ba>:0 at GtkSharp.Generation.CodeGenerator.Main (System.String[] args) [0x0003e] in <d117698e7b8a4f9b867143c99aa161ba>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method 'string.Split' not found. at GtkSharp.Generation.SimpleGen..ctor (System.String ctype, System.String type, System.String default_value) [0x00000] in <d117698e7b8a4f9b867143c99aa161ba>:0
2018-12-24 23:31:40 +00:00
buildInputs = [
mono glib pango gtk2
libxml2
];
2018-12-24 23:57:04 +00:00
preConfigure = ''
./bootstrap-${lib.versions.majorMinor version}
'';
dontStrip = true;
inherit monoDLLFixer;
passthru = {
gtk = gtk2;
};
meta = with lib; {
2018-10-12 20:36:57 +00:00
description = "Graphical User Interface Toolkit for mono and .Net";
homepage = "https://www.mono-project.com/docs/gui/gtksharp";
2018-10-12 20:36:57 +00:00
platforms = platforms.linux;
license = licenses.gpl2;
};
}