[arch-commits] Commit in gtk-sharp-3/trunk (PKGBUILD fix-build.patch)

Balló György bgyorgy at archlinux.org
Sun May 2 00:38:54 UTC 2021


    Date: Sunday, May 2, 2021 @ 00:38:53
  Author: bgyorgy
Revision: 926069

upgpkg: gtk-sharp-3 2.99.3-3: Fix build

Added:
  gtk-sharp-3/trunk/fix-build.patch
Modified:
  gtk-sharp-3/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   14 +++++++++-----
 fix-build.patch |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-05-02 00:22:08 UTC (rev 926068)
+++ PKGBUILD	2021-05-02 00:38:53 UTC (rev 926069)
@@ -3,17 +3,20 @@
 pkgname=gtk-sharp-3
 _pkgname=gtk-sharp
 pkgver=2.99.3
-pkgrel=2
-pkgdesc="C# bindings for GTK+ 3"
+pkgrel=3
+pkgdesc='C# bindings for GTK+ 3'
 arch=('x86_64')
-url="https://www.mono-project.com/docs/gui/gtksharp/"
+url='https://www.mono-project.com/docs/gui/gtksharp/'
 license=('LGPL')
 depends=('mono' 'gtk3')
-source=(https://download.gnome.org/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz)
-sha256sums=('6440f571416267ae0cb5698071d087b31e3084693fa2c829b1db37ca7ea2c3a2')
+source=("https://download.gnome.org/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"
+        'fix-build.patch')
+sha256sums=('6440f571416267ae0cb5698071d087b31e3084693fa2c829b1db37ca7ea2c3a2'
+            '730fc67fae27451085a6b7cbd7a838561718bf8358b1ef8a77af01e341812f09')
 
 prepare() {
   cd $_pkgname-$pkgver
+  patch -Np1 -i ../fix-build.patch
   sed -i 's/gmcs/mcs/' configure{,.ac}
   sed -e '/MONO_PROFILE_ENTER_LEAVE/d' -i gtk/gui-thread-check/profiler/gui-thread-check.c # Fix build with newer mono
 }
@@ -21,6 +24,7 @@
 build() {
   cd $_pkgname-$pkgver
   ./configure --prefix=/usr
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }
 

Added: fix-build.patch
===================================================================
--- fix-build.patch	                        (rev 0)
+++ fix-build.patch	2021-05-02 00:38:53 UTC (rev 926069)
@@ -0,0 +1,46 @@
+From a00552ad68ae349e89e440dca21b86dbd6bccd30 Mon Sep 17 00:00:00 2001
+From: Ankit Jain <radical at gmail.com>
+Date: Tue, 19 Feb 2019 23:53:27 -0500
+Subject: [PATCH] Fix build failure with mcs caused by C#8 changes in mcs
+ (#263)
+
+Recent addition of C#8 features to mcs possibly broke this:
+
+```
+mcs -out:WidgetViewer.exe -r:../../glib/glib-sharp.dll -r:../../pango/pango-sharp.dll -r:../../atk/atk-sharp.dll -r:../../gdk/gdk-sharp.dll -r:../../gtk/gtk-sharp.dll ./TestCheckButton.cs ./TestColorSelection.cs ./TestRadioButton.cs ./TestRange.cs ./TestStatusbar.cs ./TestDialog.cs ./TestFlipping.cs ./TestSizeGroup.cs ./TestCombo.cs ./TestComboBox.cs ./WidgetViewer.cs
+./TestCombo.cs(17,14): warning CS0612: `Gtk.Combo' is obsolete
+./TestRange.cs(35,6): error CS0104: `Range' is an ambiguous reference between `System.Range' and `Gtk.Range'
+@/external/bockbuild/stage/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous error)
+@/external/bockbuild/builds/gtk-sharp-None/sample/test/../../gtk/gtk-sharp.dll (Location of the symbol related to previous error)
+./TestRange.cs(35,13): error CS0030: Cannot convert type `Gtk.HScale' to `System.Range'
+./TestRange.cs(42,6): error CS0104: `Range' is an ambiguous reference between `System.Range' and `Gtk.Range'
+@/external/bockbuild/stage/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous error)
+@/external/bockbuild/builds/gtk-sharp-None/sample/test/../../gtk/gtk-sharp.dll (Location of the symbol related to previous error)
+./TestRange.cs(42,13): error CS0030: Cannot convert type `Gtk.HScrollbar' to `System.Range'
+./TestRange.cs(62,6): error CS0104: `Range' is an ambiguous reference between `System.Range' and `Gtk.Range'
+@/external/bockbuild/stage/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous error)
+@/external/bockbuild/builds/gtk-sharp-None/sample/test/../../gtk/gtk-sharp.dll (Location of the symbol related to previous error)
+./TestRange.cs(62,13): error CS0030: Cannot convert type `Gtk.VScale' to `System.Range'
+```
+
+This is because the compiler is resolving `Range` in the test as `System.Range`
+instead of `Gtk.Range`, so we disambiguate it.
+
+/cc @marek-safar
+---
+ sample/test/TestRange.cs | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/sample/test/TestRange.cs b/sample/test/TestRange.cs
+index 35fc8a6dd..d44a77d85 100644
+--- a/sample/test/TestRange.cs
++++ b/sample/test/TestRange.cs
+@@ -9,6 +9,8 @@
+ using System;
+ 
+ using Gtk;
++// disambiguate, Gtk.Range vs System.Range
++using Range=Gtk.Range;
+ 
+ namespace WidgetViewer {
+ 



More information about the arch-commits mailing list