summaryrefslogtreecommitdiff
path: root/pcr/smalltalk/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/smalltalk/PKGBUILD')
-rw-r--r--pcr/smalltalk/PKGBUILD68
1 files changed, 68 insertions, 0 deletions
diff --git a/pcr/smalltalk/PKGBUILD b/pcr/smalltalk/PKGBUILD
new file mode 100644
index 000000000..123c7cc06
--- /dev/null
+++ b/pcr/smalltalk/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: mrshpot <mrshpot at gmail dot com>
+# Contributor: Michael Fellinger <m.fellinger@gmail.com>
+
+pkgname=smalltalk
+pkgver=3.2.91
+pkgrel=13
+pkgdesc='GNU Smalltalk interpreter and libraries'
+url='https://www.gnu.org/software/smalltalk/'
+license=(GPL LGPL)
+arch=(x86_64)
+arch+=(armv7h i686)
+options=(!emptydirs staticlibs)
+depends=(gmp libffi libltdl libsigsegv sdl)
+makedepends=(freeglut gdbm git glew glu gmp mesa sqlite tk zip)
+# Use latest commit where "make check" works. Found by using "git bisect".
+_commit=edb6bad6950c787f4b4c7f8ac5f7047ac1e8b984
+source=("git+https://git.savannah.gnu.org/git/smalltalk.git#commit=$_commit")
+b2sums=('SKIP')
+optdepends=('sqlite: database in a file'
+ 'tk: for gst-blox')
+
+declare -ir RUN_TESTS=0
+
+
+prepare() {
+ cd $pkgname
+ [[ "${CARCH}" != i686 ]] || autoupdate
+ autoreconf -iv
+ sed 's/int yylineno = 1;//g' -i libgst/gen{bc,pr,vm}-scan.l
+ sed '/XML-Expat/d' -i tests/testsuite.at
+}
+
+build() {
+ cd $pkgname
+ export CFLAGS="$CFLAGS -ffat-lto-objects -Wl,--allow-multiple-definition -w"
+ ./configure \
+ --enable-gtk=no \
+ --enable-libsdl=yes \
+ --libexecdir=/usr/lib/smalltalk \
+ --prefix=/usr \
+ --with-imagedir=/var/lib/smalltalk \
+ --with-readline \
+ --with-system-libffi \
+ --with-system-libsigsegv \
+ --with-tk \
+ --with-tcl \
+ --with-x \
+ --without-emacs
+ echo '#define USE_INTERP_RESULT 1' >> config.h
+ make -j1
+}
+
+check() {
+ (( ! RUN_TESTS )) || \
+ make -C $pkgname check -j1
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+ # Fix manpage symlink
+ rm -f "$pkgdir/usr/share/man/man1/gst-reload.1"
+ ln -s gst-load.1 "$pkgdir/usr/share/man/man1/gst-reload.1"
+ # Remove gst-browser, ref FS#76224
+ rm -f "$pkgdir/usr/"{bin/gst-browser,share/man/man1/gst-browser.1}
+}