Gentoo Archives: gentoo-commits

From: "José María Alonso" <nimiux@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/lisp:master commit in: dev-lisp/clisp/
Date: Thu, 30 Nov 2017 22:13:55
Message-Id: 1512080024.f7939d877cab039dc301b874680609a37ec2a050.nimiux@gentoo
1 commit: f7939d877cab039dc301b874680609a37ec2a050
2 Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
3 AuthorDate: Thu Nov 30 22:13:44 2017 +0000
4 Commit: José María Alonso <nimiux <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 30 22:13:44 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/lisp.git/commit/?id=f7939d87
7
8 dev-lisp/clisp: Bumps version to 2.49.60
9
10 dev-lisp/clisp/clisp-2.49.60.ebuild | 146 ++++++++++++++++++++++++++++++++++++
11 1 file changed, 146 insertions(+)
12
13 diff --git a/dev-lisp/clisp/clisp-2.49.60.ebuild b/dev-lisp/clisp/clisp-2.49.60.ebuild
14 new file mode 100644
15 index 00000000..36c3bd4e
16 --- /dev/null
17 +++ b/dev-lisp/clisp/clisp-2.49.60.ebuild
18 @@ -0,0 +1,146 @@
19 +# Copyright 1999-2017 Gentoo Foundation
20 +# Distributed under the terms of the GNU General Public License v2
21 +
22 +EAPI=6
23 +
24 +inherit eutils flag-o-matic multilib toolchain-funcs
25 +
26 +DESCRIPTION="A portable, bytecode-compiled implementation of Common Lisp"
27 +HOMEPAGE="http://clisp.sourceforge.net/"
28 +SRC_URI="https://haible.de/bruno/gnu/clisp-2.49.60.tar.bz2"
29 +
30 +LICENSE="GPL-2"
31 +SLOT="2/7"
32 +KEYWORDS="~amd64 ~ppc ~sparc ~x86"
33 +IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk pari +pcre postgres +readline svm -threads +unicode +zlib"
34 +# "jit" disabled ATM
35 +
36 +RDEPEND=">=dev-lisp/asdf-2.33-r3
37 + virtual/libiconv
38 + >=dev-libs/libsigsegv-2.10
39 + >=dev-libs/ffcall-1.10
40 + dbus? ( sys-apps/dbus )
41 + fastcgi? ( dev-libs/fcgi )
42 + gdbm? ( sys-libs/gdbm )
43 + gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 )
44 + pari? ( <sci-mathematics/pari-2.5.0 )
45 + postgres? ( >=dev-db/postgresql-8.0:* )
46 + readline? ( >=sys-libs/readline-7.0:0= )
47 + pcre? ( dev-libs/libpcre:3 )
48 + svm? ( sci-libs/libsvm )
49 + zlib? ( sys-libs/zlib )
50 + X? ( x11-libs/libXpm )
51 + hyperspec? ( dev-lisp/hyperspec )
52 + berkdb? ( sys-libs/db:4.8 )"
53 +
54 +DEPEND="${RDEPEND}
55 + X? ( x11-misc/imake x11-proto/xextproto )"
56 +
57 +enable_modules() {
58 + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument"
59 + for m in "$@" ; do
60 + einfo "enabling module $m"
61 + myconf+=" --with-module=${m}"
62 + done
63 +}
64 +
65 +BUILDDIR="builddir"
66 +
67 +# modules not enabled:
68 +# * berkdb: must figure out a way to make the configure script pick up the
69 +# currect version of the library and headers
70 +# * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs
71 +# * matlab, netica: not in portage
72 +# * oracle: can't install oracle-instantclient
73 +
74 +src_prepare() {
75 + # More than -O1 breaks alpha/ia64
76 + if use alpha || use ia64; then
77 + sed -i -e 's/-O2//g' src/makemake.in || die
78 + fi
79 + eapply_user
80 +}
81 +
82 +src_configure() {
83 + # We need this to build on alpha/ia64
84 + if use alpha || use ia64; then
85 + replace-flags -O? -O1
86 + append-flags '-D NO_MULTIMAP_SHM -D NO_MULTIMAP_FILE -D NO_SINGLEMAP -D NO_TRIVIALMAP'
87 + fi
88 +
89 + if use x86; then
90 + append-flags -falign-functions=4
91 + fi
92 +
93 + # QA issue with lisp.run
94 + append-flags -Wa,--noexecstack
95 +
96 + # built-in features
97 + local myconf="--with-ffcall --without-dynamic-modules"
98 +# There's a problem with jit_allocai function
99 +# if use jit; then
100 +# myconf+=" --with-jitc=lightning"
101 +# fi
102 + if use threads; then
103 + myconf+=" --with-threads=POSIX_THREADS"
104 + fi
105 +
106 + # default modules
107 + enable_modules rawsock
108 + # optional modules
109 + use elibc_glibc && enable_modules bindings/glibc
110 + use X && enable_modules clx/new-clx
111 + if use postgres; then
112 + enable_modules postgresql
113 + append-cppflags -I$(pg_config --includedir)
114 + fi
115 + if use berkdb; then
116 + enable_modules berkeley-db
117 + append-cppflags -I/usr/include/db4.8
118 + fi
119 + use dbus && enable_modules dbus
120 + use fastcgi && enable_modules fastcgi
121 + use gdbm && enable_modules gdbm
122 + use gtk && enable_modules gtk2
123 + use pari && enable_modules pari
124 + use pcre && enable_modules pcre
125 + use svm && enable_modules libsvm
126 + use zlib && enable_modules zlib
127 +
128 + if use hyperspec; then
129 + CLHSROOT="file:///usr/share/doc/hyperspec/HyperSpec/"
130 + else
131 + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/"
132 + fi
133 +
134 + # configure chokes on --sysconfdir option
135 + local configure="./configure --prefix=/usr --enable-portability \
136 + --libdir=/usr/$(get_libdir) $(use_with readline) $(use_with unicode) \
137 + ${myconf} --hyperspec=${CLHSROOT} ${BUILDDIR}"
138 + einfo "${configure}"
139 + ${configure} || die "./configure failed"
140 +
141 + IMPNOTES="file://${ROOT%/}/usr/share/doc/${PN}-${PVR}/html/impnotes.html"
142 + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \
143 + "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes"
144 +}
145 +
146 +src_compile() {
147 + export VARTEXFONTS="${T}"/fonts
148 + cd "${BUILDDIR}" || die
149 + # parallel build fails
150 + emake -j1
151 +}
152 +
153 +src_install() {
154 + pushd "${BUILDDIR}"
155 + make DESTDIR="${D}" prefix=/usr install-bin || die "Installation failed"
156 + doman clisp.1
157 + dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE
158 + # stripping them removes common symbols (defined but uninitialised variables)
159 + # which are then needed to build modules...
160 + export STRIP_MASK="*/usr/$(get_libdir)/clisp-${PV}/*/*"
161 + popd
162 + dohtml doc/impnotes.{css,html} doc/regexp.html doc/clisp.png
163 + dodoc doc/{CLOS-guide,LISP-tutorial}.txt
164 +}