From 1a40a8e00001b78603c8eb7fa82d83f17f9171f6 Mon Sep 17 00:00:00 2001 From: obadz Date: Mon, 24 Dec 2018 23:31:40 +0000 Subject: [PATCH 1/4] 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 :0 at GtkSharp.Generation.SymbolTable..ctor () [0x00011] in :0 at GtkSharp.Generation.SymbolTable.get_Table () [0x0000a] in :0 at GtkSharp.Generation.CodeGenerator.Main (System.String[] args) [0x0003e] in :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 :0 --- pkgs/development/libraries/gtk-sharp/2.0.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix index c037db97c04..8b360e54ef1 100644 --- a/pkgs/development/libraries/gtk-sharp/2.0.nix +++ b/pkgs/development/libraries/gtk-sharp/2.0.nix @@ -32,7 +32,17 @@ stdenv.mkDerivation { 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 From cd46319bdc789697f48857c33df282aa4982c7c2 Mon Sep 17 00:00:00 2001 From: obadz Date: Mon, 24 Dec 2018 23:57:04 +0000 Subject: [PATCH 2/4] gtk-sharp: 2.12.10 -> 2.12.45 --- pkgs/development/libraries/gtk-sharp/2.0.nix | 38 +++++++++++--------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix index 8b360e54ef1..659dc14800e 100644 --- a/pkgs/development/libraries/gtk-sharp/2.0.nix +++ b/pkgs/development/libraries/gtk-sharp/2.0.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, pkgconfig, mono +{ stdenv +, lib +, fetchFromGitHub +, pkgconfig +, mono , glib , pango , gtk2 @@ -12,26 +16,24 @@ , libgnomeprintui ? null , libxml2 , monoDLLFixer +, autoconf +, automake +, libtool +, which }: -stdenv.mkDerivation { - name = "gtk-sharp-2.12.10"; +stdenv.mkDerivation rec { + name = "gtk-sharp-${version}"; + version = "2.12.45"; builder = ./builder.sh; - src = fetchurl { - url = mirror://gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz; - sha256 = "1y55vc2cp4lggmbil2lb28d0gn71iq6wfyja1l9mya5xll8svzwc"; + src = fetchFromGitHub { + owner = "mono"; + repo = "gtk-sharp"; + rev = version; + sha256 = "1vy6yfwkfv6bb45bzf4g6dayiqkvqqvlr02rsnhd10793hlpqlgg"; }; - # 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 ,#include ,g' "$f" - done - ''; - postInstall = '' pushd $out/bin for f in gapi2-* @@ -41,13 +43,17 @@ stdenv.mkDerivation { popd ''; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoconf automake libtool which ]; buildInputs = [ mono glib pango gtk2 GConf libglade libgnomecanvas libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2 ]; + preConfigure = '' + ./bootstrap-${lib.versions.majorMinor version} + ''; + dontStrip = true; inherit monoDLLFixer; From f7cc6f04b23db7a1eb405ea4fbe2ac74e745e5b3 Mon Sep 17 00:00:00 2001 From: obadz Date: Mon, 24 Dec 2018 23:56:49 +0000 Subject: [PATCH 3/4] gnome-sharp: 2.24.1 -> 2.24.4 --- .../libraries/gnome-sharp/Makefile.in.patch | 11 ------ .../libraries/gnome-sharp/default.nix | 36 ++++++++++++++----- 2 files changed, 27 insertions(+), 20 deletions(-) delete mode 100644 pkgs/development/libraries/gnome-sharp/Makefile.in.patch diff --git a/pkgs/development/libraries/gnome-sharp/Makefile.in.patch b/pkgs/development/libraries/gnome-sharp/Makefile.in.patch deleted file mode 100644 index 46b644f2471..00000000000 --- a/pkgs/development/libraries/gnome-sharp/Makefile.in.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/sample/gnomevfs/Makefile.in 2009-03-03 16:09:52.000000000 +0000 -+++ b/sample/gnomevfs/Makefile.in 2014-10-14 13:35:51.020427244 +0100 -@@ -218,7 +218,7 @@ - - @ENABLE_GNOMEVFS_FALSE@EXTRA_TARGETS = - @ENABLE_GNOMEVFS_TRUE@@ENABLE_MONOGETOPTIONS_FALSE@EXTRA_TARGETS = --@ENABLE_GNOMEVFS_TRUE@@ENABLE_MONOGETOPTIONS_TRUE@EXTRA_TARGETS = TestXfer.exe -+@ENABLE_GNOMEVFS_TRUE@@ENABLE_MONOGETOPTIONS_TRUE@EXTRA_TARGETS = - assemblies = ../../gnomevfs/gnome-vfs-sharp.dll - references = $(GTKSHARP_LIBS) $(addprefix /r:, $(assemblies)) - noinst_SCRIPTS = $(TARGETS) $(EXTRA_TARGETS) diff --git a/pkgs/development/libraries/gnome-sharp/default.nix b/pkgs/development/libraries/gnome-sharp/default.nix index d80144b3d71..db93bdf27af 100644 --- a/pkgs/development/libraries/gnome-sharp/default.nix +++ b/pkgs/development/libraries/gnome-sharp/default.nix @@ -1,17 +1,35 @@ -{stdenv, fetchurl, pkgconfig, gtk2, mono, gtk-sharp-2_0, gnome2}: +{ stdenv +, lib +, fetchFromGitHub +, pkgconfig +, gtk2 +, mono +, gtk-sharp-2_0 +, gnome2 +, autoconf +, automake +, libtool +, which +}: -stdenv.mkDerivation { - name = "gnome-sharp-2.24.1"; - src = fetchurl { - url = http://ftp.gnome.org/pub/gnome/sources/gnome-sharp/2.24/gnome-sharp-2.24.1.tar.gz; - sha256 = "0cfvs7hw67fp0wimskqd0gdfx323gv6hi0c5pf59krnmhdrl6z8p"; +stdenv.mkDerivation rec { + name = "gnome-sharp-${version}"; + version = "2.24.4"; + + src = fetchFromGitHub { + owner = "mono"; + repo = "gnome-sharp"; + rev = "${version}"; + sha256 = "15jsm6n0sih0nf3w8vmvik97q7l3imz4vkdzmp9k7bssiz4glj1z"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoconf automake libtool which ]; buildInputs = [ gtk2 mono gtk-sharp-2_0 ] - ++ (with gnome2; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui]); + ++ (with gnome2; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui ]); - patches = [ ./Makefile.in.patch ]; + preConfigure = '' + ./bootstrap-${lib.versions.majorMinor version} + ''; dontStrip = true; From 4ff22f224f9c5d4fdde095461e7650d76ee8315e Mon Sep 17 00:00:00 2001 From: obadz Date: Mon, 24 Dec 2018 23:57:12 +0000 Subject: [PATCH 4/4] mono: move a hyena and pdfmod from mono4 to mono5 Closes #52484 --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c27289de138..82a5fa8bc00 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4785,7 +4785,7 @@ in fmodex = callPackage ../games/zandronum/fmod.nix { }; - pdfmod = callPackage ../applications/misc/pdfmod { mono = mono4; }; + pdfmod = callPackage ../applications/misc/pdfmod { }; pdf-quench = callPackage ../applications/misc/pdf-quench { }; @@ -10298,7 +10298,7 @@ in hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { }; - hyena = callPackage ../development/libraries/hyena { mono = mono4; }; + hyena = callPackage ../development/libraries/hyena { }; hyperscan = callPackage ../development/libraries/hyperscan { };