commit:     53d5c948e3fb1b6dd5545835eb60b18a7c9b0824
Author:     Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  5 11:12:42 2016 +0000
Commit:     Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Tue Jul  5 11:13:13 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53d5c948

dev-scheme/scheme48: revbump and add patch for CVE-2014-4150 per security bug 
#513088

 dev-scheme/scheme48/files/CVE-2014-4150.patch | 11 ++++
 dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild  | 72 +++++++++++++++++++++++++++
 2 files changed, 83 insertions(+)

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 0000000..9457fbe
--- /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/scheme48-1.9.2-r1.ebuild 
b/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
new file mode 100644
index 0000000..2b66894
--- /dev/null
+++ b/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}

Reply via email to