Gentoo Archives: gentoo-commits

From: Aaron Bauman <bman@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-scheme/scheme48/files/, dev-scheme/scheme48/
Date: Tue, 05 Jul 2016 11:14:39
Message-Id: 1467717193.53d5c948e3fb1b6dd5545835eb60b18a7c9b0824.bman@gentoo
1 commit: 53d5c948e3fb1b6dd5545835eb60b18a7c9b0824
2 Author: Aaron Bauman <bman <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jul 5 11:12:42 2016 +0000
4 Commit: Aaron Bauman <bman <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 5 11:13:13 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53d5c948
7
8 dev-scheme/scheme48: revbump and add patch for CVE-2014-4150 per security bug #513088
9
10 dev-scheme/scheme48/files/CVE-2014-4150.patch | 11 ++++
11 dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild | 72 +++++++++++++++++++++++++++
12 2 files changed, 83 insertions(+)
13
14 diff --git a/dev-scheme/scheme48/files/CVE-2014-4150.patch b/dev-scheme/scheme48/files/CVE-2014-4150.patch
15 new file mode 100644
16 index 0000000..9457fbe
17 --- /dev/null
18 +++ b/dev-scheme/scheme48/files/CVE-2014-4150.patch
19 @@ -0,0 +1,11 @@
20 +--- a/emacs/cmuscheme48.el 2012-12-28 01:43:30.000000000 +0900
21 ++++ b/emacs/cmuscheme48.el 2016-07-05 20:06:19.200173816 +0900
22 +@@ -58,7 +58,7 @@
23 + (let ((end (point)))
24 + (beginning-of-defun)
25 + (if losep
26 +- (let ((loser "/tmp/s48lose.tmp"))
27 ++ (let ((loser (make-temp-file "s48lose")))
28 + (write-region (point) end loser)
29 + (scheme48-load-file loser))
30 + (scheme48-send-region (point) end)))))
31
32 diff --git a/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild b/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
33 new file mode 100644
34 index 0000000..2b66894
35 --- /dev/null
36 +++ b/dev-scheme/scheme48/scheme48-1.9.2-r1.ebuild
37 @@ -0,0 +1,72 @@
38 +# Copyright 1999-2014 Gentoo Foundation
39 +# Distributed under the terms of the GNU General Public License v2
40 +# $Id$
41 +
42 +EAPI=5
43 +inherit elisp-common multilib eutils flag-o-matic
44 +
45 +DESCRIPTION="Scheme48 is an implementation of the Scheme Programming Language"
46 +HOMEPAGE="http://www.s48.org/"
47 +SRC_URI="http://www.s48.org/${PV}/${P}.tgz"
48 +
49 +LICENSE="BSD"
50 +SLOT="0"
51 +KEYWORDS="~x86 ~amd64 ~amd64-linux ~x86-linux ~x86-macos"
52 +IUSE="doc emacs"
53 +
54 +DEPEND="emacs? ( virtual/emacs )"
55 +RDEPEND="${DEPEND}"
56 +SITEFILE=50scheme48-gentoo.el
57 +
58 +src_prepare() {
59 + epatch "${FILESDIR}"/CVE-2014-4150.patch
60 +}
61 +
62 +src_configure() {
63 + append-cflags -fno-strict-aliasing
64 + econf --docdir=/usr/share/doc/${P}
65 +}
66 +
67 +src_compile() {
68 + emake
69 + if use emacs; then
70 + elisp-compile "${S}"/emacs/cmuscheme48.el
71 + fi
72 +}
73 +
74 +src_install() {
75 + # weird parallel failures!
76 + emake -j1 DESTDIR="${D}" install
77 +
78 + if use emacs; then
79 + elisp-install ${PN} emacs/cmuscheme48.el emacs/*.elc
80 + elisp-site-file-install "${FILESDIR}"/${SITEFILE}
81 + fi
82 +
83 + dodoc README
84 + if use doc; then
85 + dodoc doc/*.txt
86 + docinto src
87 + dodoc doc/src/*
88 + pushd "${ED}/usr/share/doc/${P}" > /dev/null
89 + install -dm755 html
90 + mv *.html *.css *.gif html/
91 + popd > /dev/null
92 + else
93 + pushd "${ED}/usr/share/doc/${P}" > /dev/null
94 + rm -f *.html *.css *.gif
95 + rm -f manu*
96 + popd > /dev/null
97 + fi
98 +
99 + #this symlink clashes with gambit
100 + rm "${ED}"/usr/bin/scheme-r5rs || die
101 +}
102 +
103 +pkg_postinst() {
104 + use emacs && elisp-site-regen
105 +}
106 +
107 +pkg_postrm() {
108 + use emacs && elisp-site-regen
109 +}