Gentoo Archives: gentoo-commits

From: "Andreas Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/
Date: Tue, 24 Oct 2017 18:47:20
Message-Id: 1508870824.903dbc323ec045290c9a9a5809bde6ce8e2f8938.dilfridge@gentoo
1 commit: 903dbc323ec045290c9a9a5809bde6ce8e2f8938
2 Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Tue Oct 24 18:46:31 2017 +0000
4 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 24 18:47:04 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=903dbc32
7
8 dev-lisp/clisp: Add revision bumps forcing -no-pie, bug 594552
9
10 Both stable (straight to stable) subslot (for stable readline) and
11 ~arch subslot (for ~arch readline) are handled.
12
13 Closes: https://bugs.gentoo.org/618170
14 Package-Manager: Portage-2.3.12, Repoman-2.3.3
15
16 dev-lisp/clisp/clisp-2.49-r101.ebuild | 153 ++++++++++++++++++++++++++++++++++
17 dev-lisp/clisp/clisp-2.49-r9.ebuild | 147 ++++++++++++++++++++++++++++++++
18 2 files changed, 300 insertions(+)
19
20 diff --git a/dev-lisp/clisp/clisp-2.49-r101.ebuild b/dev-lisp/clisp/clisp-2.49-r101.ebuild
21 new file mode 100644
22 index 00000000000..7cf1812267c
23 --- /dev/null
24 +++ b/dev-lisp/clisp/clisp-2.49-r101.ebuild
25 @@ -0,0 +1,153 @@
26 +# Copyright 1999-2017 Gentoo Foundation
27 +# Distributed under the terms of the GNU General Public License v2
28 +
29 +EAPI=5
30 +inherit eutils flag-o-matic multilib toolchain-funcs
31 +
32 +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
33 +HOMEPAGE="http://clisp.sourceforge.net/"
34 +SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
35 +
36 +LICENSE="GPL-2"
37 +SLOT="2/7"
38 +KEYWORDS="~amd64 ~ppc ~sparc ~x86"
39 +IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
40 +# "jit" disabled ATM
41 +
42 +RDEPEND=">=dev-lisp/asdf-2.33-r3
43 + virtual/libiconv
44 + >=dev-libs/libsigsegv-2.4
45 + >=dev-libs/ffcall-1.10
46 + dbus? ( sys-apps/dbus )
47 + fastcgi? ( dev-libs/fcgi )
48 + gdbm? ( sys-libs/gdbm )
49 + gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
50 + pari? ( <sci-mathematics/pari-2.5.0 )
51 + postgres? ( >=dev-db/postgresql-8.0:* )
52 + readline? ( >=sys-libs/readline-7.0:0= )
53 + pcre? ( dev-libs/libpcre:3 )
54 + svm? ( sci-libs/libsvm )
55 + zlib? ( sys-libs/zlib )
56 + X? ( x11-libs/libXpm )
57 + hyperspec? ( dev-lisp/hyperspec )
58 + berkdb? ( sys-libs/db:4.8 )"
59 +# jit? ( >=dev-libs/lightning-1.2 )
60 +
61 +DEPEND="${RDEPEND}
62 + X? ( x11-misc/imake x11-proto/xextproto )"
63 +
64 +enable_modules() {
65 + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
66 + for m in "$@" ; do
67 + einfo "enabling module $m"
68 + myconf+=" --with-module=${m}"
69 + done
70 +}
71 +
72 +BUILDDIR="builddir"
73 +
74 +# modules not enabled:
75 +# * berkdb: must figure out a way to make the configure script pick up the
76 +# currect version of the library and headers
77 +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
78 +# * matlab, netica: not in portage
79 +# * oracle: can't install oracle-instantclient
80 +
81 +src_prepare() {
82 + # More than -O1 breaks alpha/ia64
83 + if use alpha || use ia64; then
84 + sed -i -e 's/-O2//g' src/makemake.in || die
85 + fi
86 + epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
87 + epatch "${FILESDIR}"/${P}-get_hostname.patch
88 + epatch "${FILESDIR}"/${P}-tinfo.patch
89 + # bug #594552
90 + epatch "${FILESDIR}"/${P}-readline-7.patch
91 +}
92 +
93 +src_configure() {
94 + # Bug 618170. If anyone has a better idea...
95 + append-flags -no-pie
96 +
97 + # We need this to build on alpha/ia64
98 + if use alpha || use ia64; then
99 + replace-flags -O? -O1
100 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
101 + fi
102 +
103 + if use x86; then
104 + append-flags -falign-functions=4
105 + fi
106 +
107 + # QA issue with lisp.run
108 + append-flags -Wa,--noexecstack
109 +
110 + # built-in features
111 + local myconf="--with-ffcall --without-dynamic-modules"
112 +# There's a problem with jit_allocai function
113 +# if use jit; then
114 +# myconf+=" --with-jitc=lightning"
115 +# fi
116 + if use threads; then
117 + myconf+=" --with-threads=POSIX_THREADS"
118 + fi
119 +
120 + # default modules
121 + enable_modules wildcard rawsock
122 + # optional modules
123 + use elibc_glibc && enable_modules bindings/glibc
124 + use X && enable_modules clx/new-clx
125 + if use postgres; then
126 + enable_modules postgresql
127 + append-cppflags -I$(pg_config --includedir)
128 + fi
129 + if use berkdb; then
130 + enable_modules berkeley-db
131 + append-cppflags -I/usr/include/db4.8
132 + fi
133 + use dbus && enable_modules dbus
134 + use fastcgi && enable_modules fastcgi
135 + use gdbm && enable_modules gdbm
136 + use gtk && enable_modules gtk2
137 + use pari && enable_modules pari
138 + use pcre && enable_modules pcre
139 + use svm && enable_modules libsvm
140 + use zlib && enable_modules zlib
141 +
142 + if use hyperspec; then
143 + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
144 + else
145 + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
146 + fi
147 +
148 + # configure chokes on --sysconfdir option
149 + local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
150 + $(use_with readline) $(use_with unicode) \
151 + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
152 + einfo "${configure}"
153 + ${configure} || die "./configure failed"
154 +
155 + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
156 + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
157 + "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
158 +}
159 +
160 +src_compile() {
161 + export VARTEXFONTS="${T}"/fonts
162 + cd "${BUILDDIR}"
163 + # parallel build fails
164 + emake -j1
165 +}
166 +
167 +src_install() {
168 + pushd "${BUILDDIR}"
169 + make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
170 + doman clisp.1
171 + dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
172 + # stripping them removes common symbols (defined but uninitialised variables)
173 + # which are then needed to build modules...
174 + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
175 + popd
176 + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
177 + dodoc doc/{CLOS-guide,LISP-tutorial}.txt
178 +}
179
180 diff --git a/dev-lisp/clisp/clisp-2.49-r9.ebuild b/dev-lisp/clisp/clisp-2.49-r9.ebuild
181 new file mode 100644
182 index 00000000000..017287c7dd4
183 --- /dev/null
184 +++ b/dev-lisp/clisp/clisp-2.49-r9.ebuild
185 @@ -0,0 +1,147 @@
186 +# Copyright 1999-2017 Gentoo Foundation
187 +# Distributed under the terms of the GNU General Public License v2
188 +
189 +EAPI=5
190 +inherit eutils flag-o-matic multilib toolchain-funcs
191 +
192 +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
193 +HOMEPAGE="http://clisp.sourceforge.net/"
194 +SRC_URI="mirror://sourceforge/clisp/${P}.tar.bz2"
195 +
196 +LICENSE="GPL-2"
197 +SLOT="2/${PV}"
198 +KEYWORDS="amd64 ~ppc ~sparc x86"
199 +IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
200 +# "jit" disabled ATM
201 +
202 +RDEPEND=">=dev-lisp/asdf-2.33-r3
203 + virtual/libiconv
204 + >=dev-libs/libsigsegv-2.4
205 + >=dev-libs/ffcall-1.10
206 + dbus? ( sys-apps/dbus )
207 + fastcgi? ( dev-libs/fcgi )
208 + gdbm? ( sys-libs/gdbm )
209 + gtk? ( >=x11-libs/gtk+-2.10 >=gnome-base/libglade-2.6 )
210 + pari? ( <sci-mathematics/pari-2.5.0 )
211 + postgres? ( >=dev-db/postgresql-8.0 )
212 + readline? ( >=sys-libs/readline-5.0 <sys-libs/readline-7.0 )
213 + pcre? ( dev-libs/libpcre )
214 + svm? ( sci-libs/libsvm )
215 + zlib? ( sys-libs/zlib )
216 + X? ( x11-libs/libXpm )
217 + hyperspec? ( dev-lisp/hyperspec )
218 + berkdb? ( sys-libs/db:4.8 )"
219 +# jit? ( >=dev-libs/lightning-1.2 )
220 +
221 +DEPEND="${RDEPEND}
222 + X? ( x11-misc/imake x11-proto/xextproto )"
223 +
224 +enable_modules() {
225 + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
226 + for m in "$@" ; do
227 + einfo "enabling module $m"
228 + myconf+=" --with-module=${m}"
229 + done
230 +}
231 +
232 +BUILDDIR="builddir"
233 +
234 +# modules not enabled:
235 +# * berkdb: must figure out a way to make the configure script pick up the
236 +# currect version of the library and headers
237 +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
238 +# * matlab, netica: not in portage
239 +# * oracle: can't install oracle-instantclient
240 +
241 +src_prepare() {
242 + # More than -O1 breaks alpha/ia64
243 + if use alpha || use ia64; then
244 + sed -i -e 's/-O2//g' src/makemake.in || die
245 + fi
246 + epatch "${FILESDIR}"/${P}-bits_ipctypes_to_sys_ipc.patch
247 + epatch "${FILESDIR}"/${P}-get_hostname.patch
248 + epatch "${FILESDIR}"/${P}-tinfo.patch
249 +}
250 +
251 +src_configure() {
252 + # Bug 618170. If anyone has a better idea...
253 + append-flags -no-pie
254 +
255 + # We need this to build on alpha/ia64
256 + if use alpha || use ia64; then
257 + replace-flags -O? -O1
258 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
259 + fi
260 +
261 + # QA issue with lisp.run
262 + append-flags -Wa,--noexecstack
263 +
264 + # built-in features
265 + local myconf="--with-ffcall --without-dynamic-modules"
266 +# There's a problem with jit_allocai function
267 +# if use jit; then
268 +# myconf+=" --with-jitc=lightning"
269 +# fi
270 + if use threads; then
271 + myconf+=" --with-threads=POSIX_THREADS"
272 + fi
273 +
274 + # default modules
275 + enable_modules wildcard rawsock
276 + # optional modules
277 + use elibc_glibc && enable_modules bindings/glibc
278 + use X && enable_modules clx/new-clx
279 + if use postgres; then
280 + enable_modules postgresql
281 + append-cppflags -I$(pg_config --includedir)
282 + fi
283 + if use berkdb; then
284 + enable_modules berkeley-db
285 + append-cppflags -I/usr/include/db4.8
286 + fi
287 + use dbus && enable_modules dbus
288 + use fastcgi && enable_modules fastcgi
289 + use gdbm && enable_modules gdbm
290 + use gtk && enable_modules gtk2
291 + use pari && enable_modules pari
292 + use pcre && enable_modules pcre
293 + use svm && enable_modules libsvm
294 + use zlib && enable_modules zlib
295 +
296 + if use hyperspec; then
297 + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
298 + else
299 + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
300 + fi
301 +
302 + # configure chokes on --sysconfdir option
303 + local configure="./configure --prefix=/usr --libdir=/usr/$(get_libdir) \
304 + $(use_with readline) $(use_with unicode) \
305 + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
306 + einfo "${configure}"
307 + ${configure} || die "./configure failed"
308 +
309 + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
310 + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
311 + "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
312 +}
313 +
314 +src_compile() {
315 + export VARTEXFONTS="${T}"/fonts
316 + cd "${BUILDDIR}"
317 + # parallel build fails
318 + emake -j1
319 +}
320 +
321 +src_install() {
322 + pushd "${BUILDDIR}"
323 + make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
324 + doman clisp.1
325 + dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
326 + # stripping them removes common symbols (defined but uninitialised variables)
327 + # which are then needed to build modules...
328 + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
329 + popd
330 + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
331 + dodoc doc/{CLOS-guide,LISP-tutorial}.txt
332 +}