summaryrefslogtreecommitdiff
path: root/dev-lang/snobol
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/snobol')
-rw-r--r--dev-lang/snobol/Manifest5
-rw-r--r--dev-lang/snobol/files/snobol-1.4.1-fno-common.patch31
-rw-r--r--dev-lang/snobol/metadata.xml8
-rw-r--r--dev-lang/snobol/snobol-1.4.1-r1.ebuild (renamed from dev-lang/snobol/snobol-1.4.1.ebuild)41
4 files changed, 59 insertions, 26 deletions
diff --git a/dev-lang/snobol/Manifest b/dev-lang/snobol/Manifest
index 512693acc1ef..ac1c2db7713a 100644
--- a/dev-lang/snobol/Manifest
+++ b/dev-lang/snobol/Manifest
@@ -1,3 +1,4 @@
+AUX snobol-1.4.1-fno-common.patch 687 BLAKE2B c6dd0fd2e60a5b0620ef7a1fa1ed24419d3116606045d07dc545a3f9430dd3dd8ff72abb2f2a32945565b63f90febce2ce983becfd86af703ae71498d01f308a SHA512 454d4a44e7573bc9f63a47942a79a29bdaf3c3cebd341d06297f32fe98d687945d204f89c67da2829333a516dbaf9ed30e9b0eb9a47fc27240bdfc6dd85cf4bd
DIST snobol4-1.4.1.tar.gz 736837 BLAKE2B bb86d2cd3788ad66b7246d86ebd9f289189f5bd059238d2df3fb621aa4a1e910a8ad029f482077eb78916a84c3a28d868e8ac6eef83b48d7f09a8964c57a855d SHA512 5413af10018141e93f05c9ea637711bb3981f2b67557691d05dde8911178d90900f0fdef6c1d2416ebdda6afeeabd21b9e371b6711b2d093df629cc865fc61f9
-EBUILD snobol-1.4.1.ebuild 1293 BLAKE2B 8181290a619a940f1b7c9d4b2009dedccc2f43244a439418da099520ae9c352f1ec20f5913695f436c879dbd30112d794c9ba658a1cf338f74cf44a2a780a186 SHA512 4a967e0d6a91cd6ff86f4ee7f025a9cd18420f8f71404ff08c5ecbf5b9a4849856c9b700ce05f4cd94a63ae65d45d93d1a10dc823f23011249f078e94bf16a91
-MISC metadata.xml 268 BLAKE2B 914b6995ad966e2b83ec718b2598969b181c119d8805241b0046f69e161ac22a9f769204f4783240056804008475aa406cbd91b9de499ec7840f9595158bd291 SHA512 ffda1db3fd6ac952f41a970e2e496c6a9fd0b12ed11cdf363fd269c3b00f627c6e70421fd545aad61d69594af2e5f43d8ebc197232a39b596d012818fe758850
+EBUILD snobol-1.4.1-r1.ebuild 1376 BLAKE2B 33fa141979db79cc227a3125d35c74b3ba86a42079360a356b11aa66e4f2f38abf58fc53628666275bae0fc34bfdfa1c3e7aeb86794e8b3a3958c0e82f906887 SHA512 f0ff3dd72eaa74ac038b9594b26f2fb4bb1674d327ed9b76ce94f91d033fd86972c5cfd85e686046dd0aaf0dfc475f2c47abce1b73d90875aa7c9c6f7a331c5d
+MISC metadata.xml 250 BLAKE2B fe89695d5dcb55e3a59fe901cba061e1b73e5d09cc72d362bb3ec127aecdba741ba23920096bfad7a39c43e35ffbc006fe84f3e50a34c91097a32deceeb91e84 SHA512 c599b09b9aaf744dfe13d0707adde7d3dfd1a8a411e937fcba25e65c6045792cdcf6ceb9004e3dd38b014c486c9f1334bfc898419f59806ec6abebfc71bca382
diff --git a/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch b/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch
new file mode 100644
index 000000000000..8814867c2ae7
--- /dev/null
+++ b/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch
@@ -0,0 +1,31 @@
+--- a/include/macros.h
++++ b/include/macros.h
+@@ -192,7 +192,7 @@ extern volatile int math_error;
+ #define RETURN(VALUE) {RSTSTK(); return (VALUE);}
+ #endif /* TRACE_DEPTH not defined */
+
+-struct descr _NORET[1];
++extern struct descr _NORET[1];
+ #define NORET ((ptr_t)_NORET)
+
+ /****************/
+--- a/isnobol4.c
++++ b/isnobol4.c
+@@ -4,6 +4,7 @@
+
+ # include "mlink.h"
+ # include "parms.h"
++extern struct descr _NORET[1];
+ static int
+ ENDALL(retval)
+ ret_t retval;
+--- a/main.c
++++ b/main.c
+@@ -46,6 +46,7 @@ struct vars *varp;
+ const char vers[] = VERSION;
+ const char vdate[] = VERSION_DATE;
+ const char snoname[] = "CSNOBOL4";
++struct descr _NORET[1];
+
+ int
+ main(argc, argv)
diff --git a/dev-lang/snobol/metadata.xml b/dev-lang/snobol/metadata.xml
index a4e0d354f696..4073267daf2a 100644
--- a/dev-lang/snobol/metadata.xml
+++ b/dev-lang/snobol/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-lang/snobol/snobol-1.4.1.ebuild b/dev-lang/snobol/snobol-1.4.1-r1.ebuild
index 24b2727cb01f..d213113e1228 100644
--- a/dev-lang/snobol/snobol-1.4.1.ebuild
+++ b/dev-lang/snobol/snobol-1.4.1-r1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-MY_P="${PN}4-${PV}"
+inherit toolchain-funcs
+MY_P="${PN}4-${PV}"
DESCRIPTION="Phil Budne's port of Macro SNOBOL4 in C, for modern machines"
HOMEPAGE="http://www.snobol4.org/csnobol4/"
SRC_URI="ftp://ftp.snobol4.org/snobol/old/${MY_P}.tar.gz"
@@ -14,39 +15,39 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc"
-DEPEND="
- sys-devel/gcc
- sys-devel/m4
- sys-libs/gdbm[berkdb]
-"
-S=${WORKDIR}/${MY_P}
+DEPEND="sys-libs/gdbm[berkdb]"
+RDEPEND="${DEPEND}"
+BDEPEND="sys-devel/m4"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
src_prepare() {
- sed -e '/autoconf/s:autoconf:./autoconf:g' \
- -i configure || die 'autoconf sed failed'
- sed -e 's/$(INSTALL) -s/$(INSTALL)/' \
- -i Makefile2.m4 || die 'strip sed failed'
- echo "ADD_OPT([${CFLAGS}])" >>${S}/local-config
- echo "ADD_CPPFLAGS([-DUSE_STDARG_H])" >>${S}/local-config
- echo "ADD_CPPFLAGS([-DHAVE_STDARG_H])" >>${S}/local-config
+ default
+ sed -i -e '/autoconf/s:autoconf:./autoconf:g' configure || die
+ sed -i -e 's/$(INSTALL) -s/$(INSTALL)/' Makefile2.m4 || die
+ echo "ADD_OPT([${CFLAGS}])" >> local-config || die
+ echo "ADD_CPPFLAGS([-DUSE_STDARG_H])" >> local-config || die
+ echo "ADD_CPPFLAGS([-DHAVE_STDARG_H])" >> local-config || die
# this cannot work and will cause funny sandbox violations
sed -i -e 's~/usr/bin/emerge info~~' timing || die "Failed to exorcise the sandbox violations"
}
src_configure() {
+ tc-export CC
./configure --prefix="${EPREFIX}/usr" \
--snolibdir="${EPREFIX}/usr/lib/snobol4" \
--mandir="${EPREFIX}/usr/share/man" \
- --add-cflags="${CFLAGS}"
+ --add-cflags="${CFLAGS}" || die
}
src_install() {
emake DESTDIR="${D}" install
- rm "${ED%/}"/usr/lib/snobol4/{load.txt,README}
+ rm "${ED}"/usr/lib/snobol4/{load.txt,README} || die
dodoc doc/*txt
-
- use doc && dohtml doc/*html
+ use doc && dodoc -r doc/*html
}