[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