nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix
obadz 1a40a8e000 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

66 lines
1.4 KiB
Nix

{ stdenv, fetchurl, pkgconfig, mono
, glib
, pango
, gtk2
, GConf ? null
, libglade ? null
, libgtkhtml ? null
, gtkhtml ? null
, libgnomecanvas ? null
, libgnomeui ? null
, libgnomeprint ? null
, libgnomeprintui ? null
, libxml2
, monoDLLFixer
}:
stdenv.mkDerivation {
name = "gtk-sharp-2.12.10";
builder = ./builder.sh;
src = fetchurl {
url = mirror://gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz;
sha256 = "1y55vc2cp4lggmbil2lb28d0gn71iq6wfyja1l9mya5xll8svzwc";
};
# patches = [ ./dllmap-glue.patch ];
# patch bad usage of glib, which wasn't tolerated anymore
prePatch = ''
for f in glib/glue/{thread,list,slist}.c; do
sed -i 's,#include <glib/.*\.h>,#include <glib.h>,g' "$f"
done
'';
postInstall = ''
pushd $out/bin
for f in gapi2-*
do
substituteInPlace $f --replace mono ${mono}/bin/mono
done
popd
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
mono glib pango gtk2 GConf libglade libgnomecanvas
libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
];
dontStrip = true;
inherit monoDLLFixer;
passthru = {
gtk = gtk2;
};
meta = with stdenv.lib; {
description = "Graphical User Interface Toolkit for mono and .Net";
homepage = https://www.mono-project.com/docs/gui/gtksharp;
platforms = platforms.linux;
license = licenses.gpl2;
};
}