summaryrefslogtreecommitdiff
path: root/dev-lang/gnu-smalltalk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lang/gnu-smalltalk
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/gnu-smalltalk')
-rw-r--r--dev-lang/gnu-smalltalk/Manifest5
-rw-r--r--dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el7
-rw-r--r--dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch16
-rw-r--r--dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild79
-rw-r--r--dev-lang/gnu-smalltalk/metadata.xml11
5 files changed, 118 insertions, 0 deletions
diff --git a/dev-lang/gnu-smalltalk/Manifest b/dev-lang/gnu-smalltalk/Manifest
new file mode 100644
index 000000000000..5e5737059ca1
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/Manifest
@@ -0,0 +1,5 @@
+AUX 50gnu-smalltalk-gentoo.el 268 BLAKE2B c11bc39ffa744d4908e30e5394e81083e4b3a1c06922f3b5159e7ca075716eae9ddb01c25131117f5379762471609037fbbb26508fa9343db3cabab0596aa60b SHA512 0341a9a35c17987ab7b93badf1b7ebf31b5a38df66d372d6a26eb49f5a9fec881e1886024a1b5ffa87cafb37aaef483201bb10827c121c782e4f554961bb9c41
+AUX gnu-smalltalk-3.2_use-result.patch 657 BLAKE2B ed67ccbd1d111a17906f615885216bb777b263beb2f51fba2c7d4d2f9d97b3263d5f41fb3a8fd6495e567257cf9323a2836962dcdf677ffc0f986e6770eab629 SHA512 126544344f92f20463846855c9388d411ce70795438186a87d4c40c3a9311f35c0432ce7a237d2112718da270ab099df92a79975dd3a2734e49832cb0cc20623
+DIST smalltalk-3.2.5.tar.gz 5779293 BLAKE2B 67eb58be2d6403cbd742f3c9dddb2d8f3cf65bbcc4127785b32501ca2c4c0fef2a08cea3faa7dc991deae27f5a260e2c772fc5f628f66a2ef5aca440e42ad3ef SHA512 385e5fba2acb8870759e5178282210c09c45685d0cf776bc50f4ed10c9afacf9164547ba8099ea3ed9a92a2a253aa9c2b011a7a9f2dff47ea9cfdf3b42029ebc
+EBUILD gnu-smalltalk-3.2.5.ebuild 1795 BLAKE2B 880376b65d36113ef40a722cac11582d1ef6260a43f95dee0344fba6b14582fe0b317ae52d8795b0b010cfb6edbb9e2b6866c292dd85abae48c36b323a26dc2c SHA512 6269ea2a49e5b50b2dc8e38cf6be9e232e3b2e1c3859f0787a8c205f514a8ff82ef9ff39f169ea2275b08bc56a6f124917a37758bbf7c12707126ada93e08a49
+MISC metadata.xml 469 BLAKE2B 1f3dbeb63b9f4ef08a573203416746efe0bfe14eb11cd8f81b11aba979b19f7a0b8eb4908e3862417cb986d1a9c792b3c33d4fd8ea15b9ca443461ebc749b7ac SHA512 e0ef2c7778ddfdbbd9dd33705bc5ce9e7b2ce2bdf5d1f2a844ee93bf842df93e708ad04467ee84aadea80bbfa6e1c90b04aa1f6e1cc4b75ab0bbcfcda56e160f
diff --git a/dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el b/dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el
new file mode 100644
index 000000000000..e9e18d43bb3c
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el
@@ -0,0 +1,7 @@
+
+;;; gnu-smalltalk site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'smalltalk-mode "smalltalk-mode" "Autoload for smalltalk-mode" t)
+(autoload 'gst "gst-mode" "Autoload for gst" t)
+(add-to-list 'auto-mode-alist '("\\.st\\'" . smalltalk-mode))
diff --git a/dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch b/dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch
new file mode 100644
index 000000000000..7f3fb907d895
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch
@@ -0,0 +1,16 @@
+--- a/config.h.in
++++ b/config.h.in
+@@ -879,6 +879,13 @@
+ #define below would cause a syntax error. */
+ #undef _UINT64_T
+
++/* Kludgey fix for Gentoo bug #492710, caused by improper use of the Tcl API.
++ * Upstream should be using Tcl_SetObjResult, Tcl_GetObjResult, and/or
++ * Tcl_GetStringResult. This is the simplest way for us to fix it, and should
++ * be removed as soon as GST uses the Tcl interface correctly.
++ */
++#define USE_INTERP_RESULT 1
++
+ /* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
diff --git a/dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild b/dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild
new file mode 100644
index 000000000000..00461089e252
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit elisp-common flag-o-matic
+
+DESCRIPTION="GNU Smalltalk"
+HOMEPAGE="http://smalltalk.gnu.org"
+SRC_URI="mirror://gnu/smalltalk/smalltalk-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="tk readline emacs gtk gmp"
+
+DEPEND="app-arch/zip
+ sys-libs/gdbm
+ sys-apps/debianutils
+ dev-libs/libsigsegv
+ virtual/libffi
+ emacs? ( virtual/emacs )
+ readline? ( sys-libs/readline )
+ tk? ( dev-lang/tk )
+ gtk? ( =x11-libs/gtk+-2* )
+ gmp? ( dev-libs/gmp )"
+RDEPEND=""
+
+S="${WORKDIR}/smalltalk-${PV}"
+
+SITEFILE=50gnu-smalltalk-gentoo.el
+
+PATCHES=(
+ # fix misuse of the Tcl API, bug 492710
+ "${FILESDIR}"/${PN}-3.2_use-result.patch
+)
+
+src_configure() {
+ replace-flags '-O3' '-O2'
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ --with-system-libsigsegv \
+ --with-system-libffi \
+ --with-system-libltdl \
+ $(use_with emacs emacs) \
+ $(use_with readline readline) \
+ $(use_with gmp gmp) \
+ $(use_with tk tcl /usr/$(get_libdir)) \
+ $(use_with tk tk /usr/$(get_libdir)) \
+ $(use_enable gtk gtk)
+}
+
+src_compile() {
+ emake || die "emake failed"
+ use emacs && elisp-compile *.el
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO
+ if use emacs; then
+ elisp-install "${PN}" *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+ fperms 0444 /usr/share/smalltalk/packages.xml
+ # Fix QA notice complaining about dangling symlink.
+ # There's probably a better way to do this but I couldn't find it.
+ pushd "${D}"/usr/share/man/man1
+ rm gst-reload.1
+ ln -s $(find . -name "gst-load*") gst-reload.1
+ popd
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/gnu-smalltalk/metadata.xml b/dev-lang/gnu-smalltalk/metadata.xml
new file mode 100644
index 000000000000..e7804d3fbd23
--- /dev/null
+++ b/dev-lang/gnu-smalltalk/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ GNU Smalltalk is a free implementation of the Smalltalk-80
+ language which runs on most versions on Unix and, in general,
+ everywhere you can find a POSIX-compliance library. An uncommon
+ feature of it is that it is well-versed to scripting tasks and
+ headless processing.
+ </longdescription>
+</pkgmetadata>