summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-07-02 04:31:11 +0200
committerMaciej Barć <xgqt@gentoo.org>2022-07-02 05:51:33 +0200
commitbdf408e8147f23dbecee03655e4f2a3cc0485217 (patch)
treea4fa6ba8d344bc432e173709072e04448d4d66c0 /dev-scheme
parentgnome-extra/evolution-ews: Version bump to 3.44.3 (diff)
downloadgentoo-bdf408e8147f23dbecee03655e4f2a3cc0485217.tar.gz
gentoo-bdf408e8147f23dbecee03655e4f2a3cc0485217.tar.bz2
gentoo-bdf408e8147f23dbecee03655e4f2a3cc0485217.zip
dev-scheme/mit-scheme: new package; add version 11.2
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/mit-scheme/Manifest1
-rw-r--r--dev-scheme/mit-scheme/files/mit-scheme-11.2-no-Werror.patch21
-rw-r--r--dev-scheme/mit-scheme/metadata.xml21
-rw-r--r--dev-scheme/mit-scheme/mit-scheme-11.2.ebuild69
4 files changed, 112 insertions, 0 deletions
diff --git a/dev-scheme/mit-scheme/Manifest b/dev-scheme/mit-scheme/Manifest
new file mode 100644
index 000000000000..e5c650ce3768
--- /dev/null
+++ b/dev-scheme/mit-scheme/Manifest
@@ -0,0 +1 @@
+DIST mit-scheme-11.2-svm1-64le.tar.gz 73077951 BLAKE2B 0e6741103c7a96f665e643fe6cab1a52bebcc8549845bf592029f73bbc9518937f45ccbac39e14d29b05b26f602ce810ae3f01030b0afb88560970ad3bb1f6dd SHA512 0bf2e8b1710a87da775b8fca53df808e23e45f6e6310a78b507fa87cd340c051cdf2ffe74268e9f6fc7bf3eaaa9321c2fc016e675fb41e59f648d1e69a1e8458
diff --git a/dev-scheme/mit-scheme/files/mit-scheme-11.2-no-Werror.patch b/dev-scheme/mit-scheme/files/mit-scheme-11.2-no-Werror.patch
new file mode 100644
index 000000000000..5b156ddc7a15
--- /dev/null
+++ b/dev-scheme/mit-scheme/files/mit-scheme-11.2-no-Werror.patch
@@ -0,0 +1,21 @@
+index a9c3e6f..04f90b5 100755
+--- a/microcode/configure
++++ b/microcode/configure
+@@ -5482,7 +5482,7 @@ if test x"${GCC}" = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler $flag" >&5
+ $as_echo_n "checking for compiler $flag... " >&6; }
+ SAVED_CFLAGS=${CFLAGS}
+- CFLAGS="${SAVED_CFLAGS} ${flag} -Werror"
++ CFLAGS="${SAVED_CFLAGS} ${flag}"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -10751,7 +10751,7 @@ for base in ${OPTIONAL_BASES}; do
+ OPTIONAL_OBJECTS="${OPTIONAL_OBJECTS} ${base}.o"
+ done
+
+-CFLAGS="${CFLAGS} ${CFLAGS_WERROR}"
++CFLAGS="${CFLAGS}"
+ LIARC_CFLAGS="${LIARC_CFLAGS} ${CFLAGS_WNOERROR}"
+
+
diff --git a/dev-scheme/mit-scheme/metadata.xml b/dev-scheme/mit-scheme/metadata.xml
new file mode 100644
index 000000000000..c9a9415a00c7
--- /dev/null
+++ b/dev-scheme/mit-scheme/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <longdescription>
+ MIT/GNU Scheme is an implementation of the Scheme programming language,
+ providing an interpreter, compiler, source-code debugger, integrated
+ Emacs-like editor, and a large runtime library. MIT/GNU Scheme is best
+ suited to programming large applications with a rapid development cycle.
+ </longdescription>
+ <use>
+ <flag name="blowfish">Compile with blowfish encryption support</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://savannah.gnu.org/bugs/?group=mit-scheme</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-scheme/mit-scheme/mit-scheme-11.2.ebuild b/dev-scheme/mit-scheme/mit-scheme-11.2.ebuild
new file mode 100644
index 000000000000..5b4c8feeb470
--- /dev/null
+++ b/dev-scheme/mit-scheme/mit-scheme-11.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit wrapper
+
+DESCRIPTION="Scheme interpreter, compiler, debugger and runtime library"
+HOMEPAGE="https://www.gnu.org/software/mit-scheme/
+ https://savannah.gnu.org/projects/mit-scheme/"
+SRC_URI="https://ftp.gnu.org/gnu/${PN}/stable.pkg/${PV}/${P}-svm1-64le.tar.gz"
+S="${S}"/src
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64" # Additionally arm64 is officially supported.
+IUSE="blowfish gdbm gui postgres"
+
+RDEPEND="
+ blowfish? ( dev-libs/openssl:= )
+ gdbm? ( sys-libs/gdbm:= )
+ gui? ( x11-libs/libX11 )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-no-Werror.patch )
+
+src_configure() {
+ local myconf=(
+ --disable-mcrypt
+ $(use_enable blowfish)
+ $(use_enable gdbm)
+ $(use_enable gui edwin)
+ $(use_enable gui imail)
+ $(use_enable gui x11)
+ $(use_enable postgres pgsql)
+ $(use_with gui x)
+ )
+ econf ${myconf[@]}
+}
+
+src_compile() {
+ # Fails with multiple make-jobs, at least it compiles relatively fast.
+ emake -j1
+}
+
+# Tests that theoretically fail (still passes):
+# microcode/test-flonum-except
+# runtime/test-arith
+# runtime/test-flonum
+# runtime/test-flonum.bin
+# runtime/test-flonum.com
+
+src_test() {
+ FAST=y emake check
+}
+
+src_install() {
+ default
+
+ # Create the edwin launcher.
+ use gui && make_wrapper mit-scheme-edwin 'mit-scheme --edit'
+
+ # Remove "scheme" symlink to not "discriminate" any other implementations.
+ rm "${ED}"/usr/bin/scheme || die
+
+ # Remove libtool files.
+ find "${ED}" -type f -name '*.la' -delete || die
+}