[arch-commits] Commit in smuxi/trunk (PKGBUILD boehm.patch)

Balló György bgyorgy at archlinux.org
Mon Nov 9 14:26:09 UTC 2015


    Date: Monday, November 9, 2015 @ 15:26:08
  Author: bgyorgy
Revision: 146424

upgpkg: smuxi 1.0-1

Update to version 1.0

Added:
  smuxi/trunk/boehm.patch
Modified:
  smuxi/trunk/PKGBUILD

-------------+
 PKGBUILD    |   18 +++++++++++++-----
 boehm.patch |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-11-09 10:39:50 UTC (rev 146423)
+++ PKGBUILD	2015-11-09 14:26:08 UTC (rev 146424)
@@ -7,7 +7,7 @@
 
 pkgbase=smuxi
 pkgname=('smuxi-server' 'smuxi')
-pkgver=0.11.1
+pkgver=1.0
 pkgrel=1
 pkgdesc="User-friendly and cross-platform IRC client for sophisticated users for GNOME/GTK+"
 arch=('any')
@@ -15,16 +15,24 @@
 license=('GPL')
 makedepends=('notify-sharp' 'log4net' 'nini' 'gtkspell' 'stfl' 'intltool')
 options=('!emptydirs')
-source=(https://smuxi.im/jaws/data/files/$pkgbase-$pkgver.tar.gz)
-md5sums=('c61d34f6811b8aee6bd24395178a7f2a')
+source=(https://smuxi.im/jaws/data/files/$pkgbase-$pkgver.tar.gz
+        boehm.patch)
+md5sums=('8568485702e032d10a70b13a869400a2'
+         '2b2c372e2c128196083e639a9b91c2f6')
 
+prepare() {
+  cd "$srcdir/$pkgbase-$pkgver"
+
+  # Revert broken commit
+  patch -RNp1 -i ../boehm.patch
+}
+
 build() {
   cd "$srcdir/$pkgbase-$pkgver"
 
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
               --enable-frontend-stfl \
-              --with-vendor-package-version="Arch Linux $pkgver-$pkgrel" \
-              MCS=/usr/bin/dmcs
+              --with-vendor-package-version="Arch Linux $pkgver-$pkgrel"
   LANG=C make
 }
 

Added: boehm.patch
===================================================================
--- boehm.patch	                        (rev 0)
+++ boehm.patch	2015-11-09 14:26:08 UTC (rev 146424)
@@ -0,0 +1,51 @@
+commit b4b87f46ec4457ca8da31329bb9f784c6e119fc1
+Author: Mirco Bauer <meebey at meebey.net>
+Date:   Sat Jun 6 03:15:23 2015 +0200
+
+    Server, Frontend-GNOME: use Boehm as GC instead of SGen (closes: #1062)
+    
+    Mono 3.2.8 (and possibly newer versions) SEGVs in Mono.Data.Sqlite when the GC
+    is SGen and huge datasets are read from more than one thread at the same time
+    using different databases. With Boehm this does not happen. Since Smuxi switched
+    to SQLite by default this is a show stopper for the 1.0 release and thus Boehm
+    will be used to workaround this issue till the Mono SGen GC or the
+    Mono.Data.Sqlite binding will be fixed in a later Mono version. Or the used
+    SQLite binding will be replaced with sqlite-net [0] or Hyena's SQLite binding [1].
+    
+     [0]: https://github.com/praeclarum/sqlite-net
+     [1]: https://github.com/GNOME/hyena/tree/master/Hyena.Data.Sqlite
+
+diff --git a/src/Frontend-GNOME/smuxi-frontend-gnome.in b/src/Frontend-GNOME/smuxi-frontend-gnome.in
+index 3422198..2c16c35 100644
+--- a/src/Frontend-GNOME/smuxi-frontend-gnome.in
++++ b/src/Frontend-GNOME/smuxi-frontend-gnome.in
+@@ -5,6 +5,13 @@
+ MONO_TLS_SESSION_CACHE_TIMEOUT=0
+ export MONO_TLS_SESSION_CACHE_TIMEOUT
+ 
++# HACK: forcibly disabled SGen, as it has a known SEGV bug related to the
++# Mono.Data.Sqlite binding that does not happen with the boehm GC, see:
++# https://smuxi.im/issues/show/1062
++MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)"
++MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS"
++export MONO_ENV_OPTIONS
++
+ # Smuxi uses an IPC channel for the single application instance feature and it
+ # also allows to pass links from commandline to an existing Smuxi instance. This
+ # IPC channel must be private to the user that executes Smuxi, else other system
+diff --git a/src/Server/smuxi-server.in b/src/Server/smuxi-server.in
+index 48fc4c9..fbc7b5b 100644
+--- a/src/Server/smuxi-server.in
++++ b/src/Server/smuxi-server.in
+@@ -5,4 +5,11 @@
+ MONO_TLS_SESSION_CACHE_TIMEOUT=0
+ export MONO_TLS_SESSION_CACHE_TIMEOUT
+ 
++# HACK: forcibly disabled SGen, as it has a known SEGV bug related to the
++# Mono.Data.Sqlite binding that does not happen with the boehm GC, see:
++# https://smuxi.im/issues/show/1062
++MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)"
++MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS"
++export MONO_ENV_OPTIONS
++
+ exec mono --debug "@expanded_libdir@/@PACKAGE@/smuxi-server.exe" "$@"



More information about the arch-commits mailing list