Gentoo Archives: gentoo-commits

From: Andrey Grozin <grozin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lisp/ecls/
Date: Wed, 02 Mar 2016 08:29:39
Message-Id: 1456906758.8afadd064d413c088d88d34845fd500b2c00c698.grozin@gentoo
1 commit: 8afadd064d413c088d88d34845fd500b2c00c698
2 Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 2 08:18:33 2016 +0000
4 Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 2 08:19:18 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8afadd06
7
8 dev-lisp/ecls: add C++ support to 16.0.0 and 16.1.2
9
10 Bug: 576048
11
12 Package-Manager: portage-2.2.27
13
14 dev-lisp/ecls/ecls-16.0.0-r1.ebuild | 92 +++++++++++++++++++++++++++++++++++++
15 dev-lisp/ecls/ecls-16.1.2-r1.ebuild | 92 +++++++++++++++++++++++++++++++++++++
16 2 files changed, 184 insertions(+)
17
18 diff --git a/dev-lisp/ecls/ecls-16.0.0-r1.ebuild b/dev-lisp/ecls/ecls-16.0.0-r1.ebuild
19 new file mode 100644
20 index 0000000..f4a3794
21 --- /dev/null
22 +++ b/dev-lisp/ecls/ecls-16.0.0-r1.ebuild
23 @@ -0,0 +1,92 @@
24 +# Copyright 1999-2016 Gentoo Foundation
25 +# Distributed under the terms of the GNU General Public License v2
26 +# $Id$
27 +
28 +EAPI=5
29 +inherit eutils multilib
30 +
31 +# test phase only works if ecls already installed #516876
32 +RESTRICT="test"
33 +
34 +MY_P=ecl-${PV}
35 +
36 +DESCRIPTION="ECL is an embeddable Common Lisp implementation"
37 +HOMEPAGE="https://common-lisp.net/project/ecl/"
38 +SRC_URI="https://common-lisp.net/project/ecl/files/${MY_P}.tgz"
39 +
40 +LICENSE="BSD LGPL-2"
41 +SLOT="0/${PV}"
42 +KEYWORDS="~amd64 ~ppc ~sparc ~x86"
43 +IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X"
44 +
45 +CDEPEND="dev-libs/gmp:0
46 + virtual/libffi
47 + libatomic? ( dev-libs/libatomic_ops )
48 + >=dev-libs/boehm-gc-7.1[threads?]
49 + >=dev-lisp/asdf-2.33-r3:="
50 +DEPEND="${CDEPEND}
51 + app-text/texi2html
52 + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
53 +RDEPEND="${CDEPEND}"
54 +
55 +S="${WORKDIR}"/${MY_P}
56 +
57 +pkg_setup () {
58 + if use gengc || use precisegc ; then
59 + ewarn "You have enabled the generational garbage collector or"
60 + ewarn "the precise collection routines. These features are not very stable"
61 + ewarn "at the moment and may cause crashes."
62 + ewarn "Don't enable them unless you know what you're doing."
63 + fi
64 +}
65 +
66 +src_prepare() {
67 + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
68 + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
69 +}
70 +
71 +src_configure() {
72 + econf \
73 + --with-system-gmp \
74 + --enable-boehm=system \
75 + --enable-longdouble=yes \
76 + --with-dffi \
77 + $(use_with cxx) \
78 + $(use_enable gengc) \
79 + $(use_enable precisegc) \
80 + $(use_with debug debug-cflags) \
81 + $(use_enable libatomic libatomic system) \
82 + $(use_with cpu_flags_x86_sse sse) \
83 + $(use_enable threads) \
84 + $(use_with threads __thread) \
85 + $(use_enable unicode) \
86 + $(use_with unicode unicode-names) \
87 + $(use_with X x) \
88 + $(use_with X clx)
89 +}
90 +
91 +src_compile() {
92 + if use emacs; then
93 + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}')
94 + [[ -n ${ETAGS} ]] || die "No etags implementation found"
95 + pushd build > /dev/null || die
96 + emake ETAGS=${ETAGS} TAGS
97 + popd > /dev/null
98 + else
99 + touch build/TAGS
100 + fi
101 +
102 + #parallel make fails
103 + emake -j1 || die "Compilation failed"
104 +}
105 +
106 +src_install () {
107 + emake DESTDIR="${D}" install || die "Installation failed"
108 +
109 + dodoc README CHANGELOG Copyright
110 + dodoc "${FILESDIR}"/README.Gentoo
111 + pushd build/doc
112 + newman ecl.man ecl.1
113 + newman ecl-config.man ecl-config.1
114 + popd
115 +}
116
117 diff --git a/dev-lisp/ecls/ecls-16.1.2-r1.ebuild b/dev-lisp/ecls/ecls-16.1.2-r1.ebuild
118 new file mode 100644
119 index 0000000..1d068dc
120 --- /dev/null
121 +++ b/dev-lisp/ecls/ecls-16.1.2-r1.ebuild
122 @@ -0,0 +1,92 @@
123 +# Copyright 1999-2016 Gentoo Foundation
124 +# Distributed under the terms of the GNU General Public License v2
125 +# $Id$
126 +
127 +EAPI=5
128 +inherit eutils multilib
129 +
130 +# test phase only works if ecls already installed #516876
131 +RESTRICT="test"
132 +
133 +MY_P=ecl-${PV}
134 +
135 +DESCRIPTION="ECL is an embeddable Common Lisp implementation"
136 +HOMEPAGE="https://common-lisp.net/project/ecl/"
137 +SRC_URI="https://common-lisp.net/project/ecl/files/release/${PV}/${MY_P}.tgz"
138 +
139 +LICENSE="BSD LGPL-2"
140 +SLOT="0/${PV}"
141 +KEYWORDS="~amd64 ~ppc ~sparc ~x86"
142 +IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode +libatomic X"
143 +
144 +CDEPEND="dev-libs/gmp:0
145 + virtual/libffi
146 + libatomic? ( dev-libs/libatomic_ops )
147 + >=dev-libs/boehm-gc-7.1[threads?]
148 + >=dev-lisp/asdf-2.33-r3:="
149 +DEPEND="${CDEPEND}
150 + app-text/texi2html
151 + emacs? ( virtual/emacs >=app-eselect/eselect-emacs-1.12 )"
152 +RDEPEND="${CDEPEND}"
153 +
154 +S="${WORKDIR}"/${MY_P}
155 +
156 +pkg_setup () {
157 + if use gengc || use precisegc ; then
158 + ewarn "You have enabled the generational garbage collector or"
159 + ewarn "the precise collection routines. These features are not very stable"
160 + ewarn "at the moment and may cause crashes."
161 + ewarn "Don't enable them unless you know what you're doing."
162 + fi
163 +}
164 +
165 +src_prepare() {
166 + epatch "${FILESDIR}"/${PV}-headers-gentoo.patch
167 + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
168 +}
169 +
170 +src_configure() {
171 + econf \
172 + --with-system-gmp \
173 + --enable-boehm=system \
174 + --enable-longdouble=yes \
175 + --with-dffi \
176 + $(use_with cxx) \
177 + $(use_enable gengc) \
178 + $(use_enable precisegc) \
179 + $(use_with debug debug-cflags) \
180 + $(use_enable libatomic libatomic system) \
181 + $(use_with cpu_flags_x86_sse sse) \
182 + $(use_enable threads) \
183 + $(use_with threads __thread) \
184 + $(use_enable unicode) \
185 + $(use_with unicode unicode-names) \
186 + $(use_with X x) \
187 + $(use_with X clx)
188 +}
189 +
190 +src_compile() {
191 + if use emacs; then
192 + local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}')
193 + [[ -n ${ETAGS} ]] || die "No etags implementation found"
194 + pushd build > /dev/null || die
195 + emake ETAGS=${ETAGS} TAGS
196 + popd > /dev/null
197 + else
198 + touch build/TAGS
199 + fi
200 +
201 + #parallel make fails
202 + emake -j1 || die "Compilation failed"
203 +}
204 +
205 +src_install () {
206 + emake DESTDIR="${D}" install || die "Installation failed"
207 +
208 + dodoc README.md CHANGELOG
209 + dodoc "${FILESDIR}"/README.Gentoo
210 + pushd build/doc
211 + newman ecl.man ecl.1
212 + newman ecl-config.man ecl-config.1
213 + popd
214 +}