summaryrefslogtreecommitdiff
path: root/dev-scheme/scheme48
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/scheme48')
-rw-r--r--dev-scheme/scheme48/Manifest7
-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, 112 insertions, 0 deletions
diff --git a/dev-scheme/scheme48/Manifest b/dev-scheme/scheme48/Manifest
new file mode 100644
index 000000000000..7188338f1714
--- /dev/null
+++ b/dev-scheme/scheme48/Manifest
@@ -0,0 +1,7 @@
+AUX 50scheme48-gentoo.el 198 SHA256 6aaa0729ea2383855c6d3c6e254b0656ad03fdd97e5ea80de99a04e7c0585024 SHA512 874355b78d5ddcc55add22d7171ae92e4115c8e84883a89e76848ad362c070c00d8ec12e1841eabd1bc0d2a786d789e36f3f109b0d3e5dd879a9faca1fb8e4b7 WHIRLPOOL 0e66bdfd7cd314f809f3d43d4fe17b2bab252109179c2efdf178db996246cec1f7a8780b7ac9bc11f00d6bfb3a8698a6fd2622bd66a1efc655bfa98019793964
+AUX CVE-2014-4150.patch 407 SHA256 cd94bc0d5bf7b9e4b51b2d74f3db4ccc2b2f8a86b661fc2eb33395c89594f9c3 SHA512 b15b5c9ccc1cf2fba1c15244a4ec0a08d49188fc3476ee1abea74d4415cbd59e94d1a5ad7be39b73fd82a393e29a13569a8178017b6ca82320646a1ac9260eb7 WHIRLPOOL b99112f56aea66ccea044e93e140beb05ea10e8c614bc9aa46348789a52b66ece9f977cc3fafdfb09c938aae5d1af969050049fa6f096438533785df610c343e
+DIST scheme48-1.9.2.tgz 3951356 SHA256 9c4921a90e95daee067cd2e9cc0ffe09e118f4da01c0c0198e577c4f47759df4 SHA512 a854e3c6f5b02c585fa125899dee276500b91e21cc773202fd4cb84f2e0566a0e19cc34b5f96a3265fab6bf06422e869a2e48433eb2d8fac83a1179fda62e2d1 WHIRLPOOL 6774a5488172b905577cfedabf454e54ec175df7582ea607ce99b39f6cedfa24366ecf1bcec3d60bc35132d483316cd192dcd9773e6d37af59c71de7ac0eed88
+EBUILD scheme48-1.9.2-r1.ebuild 1458 SHA256 3d677da27f86c593a2c8fe742d7d8e49fb17e282a5b3d90a7948bd8d1c8aec35 SHA512 28998c63133fd2e757ee3652bb06bcc2b34d36756aa6de9b7567688b48606b931373b079768e2c19c570d4b8b4c9fd8d4052ae72da54a59a14a4ad919a2abdf0 WHIRLPOOL 5c4e3f995a3f50d6a6165f2ca3dd8cba678f6f7428fa1f204d65a3835dcc733c7e6908928328c2082251698f545462a4e03b81d1e47fa133b31f39357263b7cc
+MISC ChangeLog 3393 SHA256 cce93c43b352597f71248a0a80aff6cc7a9eb5d9b4878dd59dc235d2de6d4a21 SHA512 5505f81fca2f9ef95de21c04e1c0ec4e03866d7eb2c4bef1c94c2a34397082309b02c965b76b80d37fb31cd06c76640e2ee0635629f525511dc6541707b1e035 WHIRLPOOL d1939d2cb58179a59e6c241711e9acbb72bdd5d005bc230a1b58e075c6629aa4192b1809bae19213014d0a8285a4bcd3f32fee299ad0c165a73c92af0681afde
+MISC ChangeLog-2015 3504 SHA256 f307c202bb56b8915c993e42f19c9aa77c15cc6f6bc4e41aa50d918a258b16cb SHA512 cf1f1ecaea63310e087915bc3a75fa9e354c2f9fb5be7cf27a03ad7fda4df637d7d4369120f3bb329b1c8522061cfc4653e78db266450dad2f6c142732d45df5 WHIRLPOOL d2a2a8b237e72c215de604b0358dbe5f8736f1cb35fd569fd0741ac5d20bacbe236eefd191a720e820c8e8d04451edb5745561af060a5fee77fab4dee1bfe454
+MISC metadata.xml 535 SHA256 d18800c0737b5164e2675f94f20e02364441b2601241fe8a9de29596260ed73f SHA512 b7fc727061a594f67a9ff8ec36dd64150cebf6813b1438fb5173b7679ce65bda92ba5ea9501816cfed738797b012f198da27622a1fb038800181dd16c2d50917 WHIRLPOOL b704deb87309050f1620d0ed52038897fdf332f002309a7a042d0b0eaa9552e9de63c75cfd08f4f2c71c0a23d9979295a988e80833d741c15778190e20752055
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
+}