Skip to content

Commit

Permalink
dev-scheme/scheme48: revbump and add patch for CVE-2014-4150 per secu…
Browse files Browse the repository at this point in the history
…rity bug #513088
  • Loading branch information
FuzzyGophers committed Jul 5, 2016
1 parent 2c7858c commit 53d5c94
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 0 deletions.
11 changes: 11 additions & 0 deletions dev-scheme/scheme48/files/CVE-2014-4150.patch
Original file line number Diff line number Diff line change
@@ -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)))))
72 changes: 72 additions & 0 deletions dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 53d5c94

Please sign in to comment.