diff options
author | Tony Lambiris | 2016-07-21 11:55:09 -0400 |
---|---|---|
committer | Tony Lambiris | 2016-07-21 11:55:09 -0400 |
commit | 721d491e2d3bca78e59d1c58b7a76e68ff8193ff (patch) | |
tree | 95b5783e33f6fa894fa68d450855c82cc2d91f27 | |
download | aur-721d491e2d3bca78e59d1c58b7a76e68ff8193ff.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 57 | ||||
-rw-r--r-- | tcl-fix-segv.patch | 26 |
3 files changed, 102 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..cf5b07652340 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = tcl-nothreading + pkgdesc = The Tcl scripting language with threading disabled + pkgver = 8.6.5 + pkgrel = 2 + url = http://tcl.sourceforge.net/ + arch = i686 + arch = x86_64 + license = custom + depends = zlib + provides = tcl=8.6.5 + conflicts = tcl + options = staticlibs + source = http://downloads.sourceforge.net/sourceforge/tcl/tcl8.6.5-src.tar.gz + source = tcl-fix-segv.patch + sha1sums = c3a50ea58dac00a3c7e83cb4a4651c40d0f55160 + sha1sums = 1ec4fd9d159b920c15655936b1418034387114f0 + +pkgname = tcl-nothreading + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..436d7a64fe89 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Tony Lambiris <tony@criticalstack.com> + +pkgname=tcl-nothreading +pkgver=8.6.5 +pkgrel=2 +pkgdesc="The Tcl scripting language with threading disabled" +arch=('i686' 'x86_64') +url="http://tcl.sourceforge.net/" +license=('custom') +depends=('zlib') +provides=('tcl=8.6.5') +conflicts=('tcl') +options=('staticlibs') +source=(http://downloads.sourceforge.net/sourceforge/tcl/tcl${pkgver}-src.tar.gz tcl-fix-segv.patch) +sha1sums=('c3a50ea58dac00a3c7e83cb4a4651c40d0f55160' + '1ec4fd9d159b920c15655936b1418034387114f0') + +prepare() { + cd tcl${pkgver} + # we build the tcl sqlite interface in sqlite-tcl package + rm -rf pkgs/sqlite3* + # fix SEGV if cpu supports HLE/RTM http://core.tcl.tk/tcl/info/d3071887dbc7aeac + patch -p1 -i ../tcl-fix-segv.patch +} + +build() { + cd tcl${pkgver}/unix + [[ $CARCH == "x86_64" ]] && BIT="--enable-64bit" + ./configure --prefix=/usr --mandir=/usr/share/man --disable-threads $BIT + make +} + +package() { + cd tcl${pkgver}/unix + make INSTALL_ROOT="${pkgdir}" install install-private-headers + ln -sf tclsh${pkgver%.*} "${pkgdir}/usr/bin/tclsh" + ln -sf libtcl${pkgver%.*}.so "${pkgdir}/usr/lib/libtcl.so" + install -Dm644 ../license.terms "${pkgdir}/usr/share/licenses/tcl/LICENSE" + + # remove buildroot traces + sed -e "s#${srcdir}/tcl${pkgver}/unix#/usr/lib#" \ + -e "s#${srcdir}/tcl${pkgver}#/usr/include#" \ + -i "${pkgdir}/usr/lib/tclConfig.sh" + + tdbcver=tdbc1.0.4 + sed -e "s#${srcdir}/tcl${pkgver}/unix/pkgs/$tdbcver#/usr/lib/$tdbcver#" \ + -e "s#${srcdir}/tcl${pkgver}/pkgs/$tdbcver/generic#/usr/include#" \ + -e "s#${srcdir}/tcl${pkgver}/pkgs/$tdbcver/library#/usr/lib/tcl${pkgver%.*}#" \ + -e "s#${srcdir}/tcl${pkgver}/pkgs/$tdbcver#/usr/include#" \ + -i "${pkgdir}/usr/lib/$tdbcver/tdbcConfig.sh" + + itclver=itcl4.0.4 + sed -e "s#${srcdir}/tcl${pkgver}/unix/pkgs/$itclver#/usr/lib/$itclver#" \ + -e "s#${srcdir}/tcl${pkgver}/pkgs/$itclver/generic#/usr/include#" \ + -e "s#${srcdir}/tcl${pkgver}/pkgs/$itclver#/usr/include#" \ + -i "${pkgdir}/usr/lib/$itclver/itclConfig.sh" +} diff --git a/tcl-fix-segv.patch b/tcl-fix-segv.patch new file mode 100644 index 000000000000..1eaa11d2244f --- /dev/null +++ b/tcl-fix-segv.patch @@ -0,0 +1,26 @@ +From 55234833327f1ee7469552fa103c316e5405f8b0 Mon Sep 17 00:00:00 2001 +From: "nijtmans@users.sourceforge.net" <jan.nijtmans> +Date: Mon, 21 Mar 2016 09:05:34 +0000 +Subject: [PATCH] Proposed fix for [d3071887dbc7aeac]: Fix SEGV in + Tcl_FinalizeNotifier() + +--- + unix/tclUnixNotfy.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c +index 48ba0cc..3946c7d 100644 +--- a/unix/tclUnixNotfy.c ++++ b/unix/tclUnixNotfy.c +@@ -433,9 +433,11 @@ Tcl_FinalizeNotifier( + "unable to write q to triggerPipe"); + } + close(triggerPipe); ++ pthread_mutex_lock(¬ifierMutex); + while(triggerPipe != -1) { + pthread_cond_wait(¬ifierCV, ¬ifierMutex); + } ++ pthread_mutex_unlock(¬ifierMutex); + if (notifierThreadRunning) { + int result = pthread_join((pthread_t) notifierThread, NULL); + |