summaryrefslogtreecommitdiff
path: root/dev-scheme/scheme48
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-scheme/scheme48
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-scheme/scheme48')
-rw-r--r--dev-scheme/scheme48/Manifest5
-rw-r--r--dev-scheme/scheme48/files/50scheme48-gentoo.el10
-rw-r--r--dev-scheme/scheme48/files/CVE-2014-4150.patch11
-rw-r--r--dev-scheme/scheme48/metadata.xml13
-rw-r--r--dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild71
5 files changed, 110 insertions, 0 deletions
diff --git a/dev-scheme/scheme48/Manifest b/dev-scheme/scheme48/Manifest
new file mode 100644
index 000000000000..37ecc64a0dc8
--- /dev/null
+++ b/dev-scheme/scheme48/Manifest
@@ -0,0 +1,5 @@
+AUX 50scheme48-gentoo.el 198 BLAKE2B 48b8efe86b0392d03a5456680f05b7dcc810757a80bab44a6af5adc43d97179b41880a2f4910bed5c408e5162c9498cc3b3a9fd865629cc230032aade98eb4b7 SHA512 874355b78d5ddcc55add22d7171ae92e4115c8e84883a89e76848ad362c070c00d8ec12e1841eabd1bc0d2a786d789e36f3f109b0d3e5dd879a9faca1fb8e4b7
+AUX CVE-2014-4150.patch 407 BLAKE2B 7f71707166eaaf668c28b5af41cfd50c73790962cc70630ddc4ac6a615943f399eaecc9a1719d72f4679eefdde035c1bde6e5c57b1680f45b871a89008adb4c2 SHA512 b15b5c9ccc1cf2fba1c15244a4ec0a08d49188fc3476ee1abea74d4415cbd59e94d1a5ad7be39b73fd82a393e29a13569a8178017b6ca82320646a1ac9260eb7
+DIST scheme48-1.9.2.tgz 3951356 BLAKE2B 5a021c80d9986d51e9a9be9a469aa21f4e782e6464e5ccd51d3fdc3e7bd58f5151cafe5f81ec5f48ceeabfc235de6e8412dc18462a417932eb98db9e82d26045 SHA512 a854e3c6f5b02c585fa125899dee276500b91e21cc773202fd4cb84f2e0566a0e19cc34b5f96a3265fab6bf06422e869a2e48433eb2d8fac83a1179fda62e2d1
+EBUILD scheme48-1.9.2-r1.ebuild 1458 BLAKE2B 136003e6158c422b1acd10ddb4a3b78f392991f3d1a370beb390b132b96a7d8c8f4dc12b35dc1cea0957bd83d4ff93dd58c2a7a06c6481cb7c1b5f3b2df75245 SHA512 28998c63133fd2e757ee3652bb06bcc2b34d36756aa6de9b7567688b48606b931373b079768e2c19c570d4b8b4c9fd8d4052ae72da54a59a14a4ad919a2abdf0
+MISC metadata.xml 535 BLAKE2B 5e924b66834d42091699b6ce8335b205e1ffcb66c794a2173ab3793393514cd2061482e5e6190ad7bbf74e364db78a5657d556749560ebcadda91b5efa98c966 SHA512 b7fc727061a594f67a9ff8ec36dd64150cebf6813b1438fb5173b7679ce65bda92ba5ea9501816cfed738797b012f198da27622a1fb038800181dd16c2d50917
diff --git a/dev-scheme/scheme48/files/50scheme48-gentoo.el b/dev-scheme/scheme48/files/50scheme48-gentoo.el
new file mode 100644
index 000000000000..fe378e6a7081
--- /dev/null
+++ b/dev-scheme/scheme48/files/50scheme48-gentoo.el
@@ -0,0 +1,10 @@
+;;; scheme48 site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
+(setq scheme-program-name "scheme48")
+(autoload 'run-scheme
+ "cmuscheme48"
+ "Run an inferior Scheme process."
+ t)
+
diff --git a/dev-scheme/scheme48/files/CVE-2014-4150.patch b/dev-scheme/scheme48/files/CVE-2014-4150.patch
new file mode 100644
index 000000000000..9457fbe7b3c0
--- /dev/null
+++ b/dev-scheme/scheme48/files/CVE-2014-4150.patch
@@ -0,0 +1,11 @@
+--- a/emacs/cmuscheme48.el 2012-12-28 01:43:30.000000000 +0900
++++ b/emacs/cmuscheme48.el 2016-07-05 20:06:19.200173816 +0900
+@@ -58,7 +58,7 @@
+ (let ((end (point)))
+ (beginning-of-defun)
+ (if losep
+- (let ((loser "/tmp/s48lose.tmp"))
++ (let ((loser (make-temp-file "s48lose")))
+ (write-region (point) end loser)
+ (scheme48-load-file loser))
+ (scheme48-send-region (point) end)))))
diff --git a/dev-scheme/scheme48/metadata.xml b/dev-scheme/scheme48/metadata.xml
new file mode 100644
index 000000000000..afd07b1fd150
--- /dev/null
+++ b/dev-scheme/scheme48/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+</maintainer>
+<longdescription lang="en">
+Scheme 48 is an implementation of Scheme written by Richard Kelsey and Jonathan
+Rees. It is based on a byte-code interpreter and is designed to be used as a
+testbed for experiments in implementation techniques and as an expository tool.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild b/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
new file mode 100644
index 000000000000..fb3e5b00945b
--- /dev/null
+++ b/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit elisp-common multilib eutils flag-o-matic
+
+DESCRIPTION="Scheme48 is an implementation of the Scheme Programming Language"
+HOMEPAGE="http://www.s48.org/"
+SRC_URI="http://www.s48.org/${PV}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc emacs"
+
+DEPEND="emacs? ( virtual/emacs )"
+RDEPEND="${DEPEND}"
+SITEFILE=50scheme48-gentoo.el
+
+src_prepare() {
+ epatch "${FILESDIR}"/CVE-2014-4150.patch
+}
+
+src_configure() {
+ append-cflags -fno-strict-aliasing
+ econf --docdir=/usr/share/doc/${P}
+}
+
+src_compile() {
+ emake
+ if use emacs; then
+ elisp-compile "${S}"/emacs/cmuscheme48.el
+ fi
+}
+
+src_install() {
+ # weird parallel failures!
+ emake -j1 DESTDIR="${D}" install
+
+ if use emacs; then
+ elisp-install ${PN} emacs/cmuscheme48.el emacs/*.elc
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ dodoc README
+ if use doc; then
+ dodoc doc/*.txt
+ docinto src
+ dodoc doc/src/*
+ pushd "${ED}/usr/share/doc/${P}" > /dev/null
+ install -dm755 html
+ mv *.html *.css *.gif html/
+ popd > /dev/null
+ else
+ pushd "${ED}/usr/share/doc/${P}" > /dev/null
+ rm -f *.html *.css *.gif
+ rm -f manu*
+ popd > /dev/null
+ fi
+
+ #this symlink clashes with gambit
+ rm "${ED}"/usr/bin/scheme-r5rs || die
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}