Gentoo Archives: gentoo-commits

From: "TomAs Touceda (chiiph)" <chiiph@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-scheme/bigloo: metadata.xml ChangeLog bigloo-3.4a_p3.ebuild bigloo-3.3a_p5.ebuild
Date: Wed, 06 Oct 2010 20:03:05
Message-Id: 20101006191329.B9FF120051@flycatcher.gentoo.org
1 chiiph 10/10/06 19:13:29
2
3 Modified: metadata.xml ChangeLog
4 Added: bigloo-3.4a_p3.ebuild
5 Removed: bigloo-3.3a_p5.ebuild
6 Log:
7 Version bump and remove 3.3a
8
9 (Portage version: 2.2_rc88/cvs/Linux i686)
10
11 Revision Changes Path
12 1.6 dev-scheme/bigloo/metadata.xml
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/metadata.xml?rev=1.6&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/metadata.xml?rev=1.6&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/metadata.xml?r1=1.5&r2=1.6
17
18 Index: metadata.xml
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/dev-scheme/bigloo/metadata.xml,v
21 retrieving revision 1.5
22 retrieving revision 1.6
23 diff -u -r1.5 -r1.6
24 --- metadata.xml 12 Apr 2010 17:58:21 -0000 1.5
25 +++ metadata.xml 6 Oct 2010 19:13:29 -0000 1.6
26 @@ -1,15 +1,36 @@
27 <?xml version="1.0" encoding="UTF-8"?>
28 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
29 <pkgmetadata>
30 -<herd>scheme</herd>
31 -<longdescription>
32 -Bigloo is a Scheme implementation devoted to one goal: enabling Scheme
33 -based programming style where C(++) is usually required. Bigloo attempts
34 -to make Scheme practical by offering features usually presented by
35 -traditional programming languages but not offered by Scheme and functional
36 -programming. Bigloo compiles Scheme modules. It delivers small and fast
37 -stand alone binary executables. Bigloo enables full connections between
38 -Scheme and C programs, between Scheme and Java programs, and between
39 -Scheme and C# programs.
40 -</longdescription>
41 + <herd>scheme</herd>
42 + <longdescription>
43 + Bigloo is a Scheme implementation devoted to one goal: enabling Scheme
44 + based programming style where C(++) is usually required. Bigloo attempts
45 + to make Scheme practical by offering features usually presented by
46 + traditional programming languages but not offered by Scheme and functional
47 + programming. Bigloo compiles Scheme modules. It delivers small and fast
48 + stand alone binary executables. Bigloo enables full connections between
49 + Scheme and C programs, between Scheme and Java programs, and between
50 + Scheme and C# programs.
51 + </longdescription>
52 + <use>
53 + <flag name="bglpkg">Build bglpkg binary, which can be use to access scmpkg servers</flag>
54 + <flag name="calendar">Build the embedded library for calendar programming</flag>
55 + <flag name="crypto">Build the embedded cryptographic library</flag>
56 + <flag name="debug">Enable extra debug codepaths</flag>
57 + <flag name="doc">Install Bigloo Manual (HTML docs of Bigloo and r5rs)</flag>
58 + <flag name="emacs">Build and install the Bigloo Developement Environment for Emacs (aka bee-mode)</flag>
59 + <flag name="gmp">Adds support for <pkg>dev-libs/gmp</pkg> (GNU MP library)</flag>
60 + <flag name="gstreamer">Adds support for <pkg>media-libs/gstreamer</pkg></flag>
61 + <flag name="java">Enable the JVM backend for the Bigloo compiler</flag>
62 + <flag name="mail">Mail library for email management (e.g. maildir and imap support)</flag>
63 + <flag name="multimedia">Build multimedia library (e.g. for managing images). Needed for <pkg>dev-scheme/hop</pkg></flag>
64 + <flag name="packrat">Bigloo port of Tony Garnock-Jones' packrat parser</flag>
65 + <flag name="sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg></flag>
66 + <flag name="srfi1">Build the srfi1 library: List library</flag>
67 + <flag name="srfi27">Build the srfi27 library: Source of Random Bits (32bit-arch only)</flag>
68 + <flag name="ssl">Adds support for SSL connections through <pkg>dev-libs/openssl</pkg></flag>
69 + <flag name="threads">Enable thread support, it depends on <pkg>dev-libs/boehm-gc</pkg> built with threads use flag</flag>
70 + <flag name="text">Library for dealing with text (e.g. BibTeX parser)</flag>
71 + <flag name="web">Library for web programming (e.g. XML, CGI parsers). Needed for <pkg>dev-scheme/hop</pkg></flag>
72 + </use>
73 </pkgmetadata>
74
75
76
77 1.41 dev-scheme/bigloo/ChangeLog
78
79 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/ChangeLog?rev=1.41&view=markup
80 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/ChangeLog?rev=1.41&content-type=text/plain
81 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/ChangeLog?r1=1.40&r2=1.41
82
83 Index: ChangeLog
84 ===================================================================
85 RCS file: /var/cvsroot/gentoo-x86/dev-scheme/bigloo/ChangeLog,v
86 retrieving revision 1.40
87 retrieving revision 1.41
88 diff -u -r1.40 -r1.41
89 --- ChangeLog 9 May 2010 22:15:50 -0000 1.40
90 +++ ChangeLog 6 Oct 2010 19:13:29 -0000 1.41
91 @@ -1,6 +1,12 @@
92 # ChangeLog for dev-scheme/bigloo
93 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
94 -# $Header: /var/cvsroot/gentoo-x86/dev-scheme/bigloo/ChangeLog,v 1.40 2010/05/09 22:15:50 chiiph Exp $
95 +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/bigloo/ChangeLog,v 1.41 2010/10/06 19:13:29 chiiph Exp $
96 +
97 +*bigloo-3.4a_p3 (06 Oct 2010)
98 +
99 + 06 Oct 2010; Tomas Touceda <chiiph@g.o> -bigloo-3.3a_p5.ebuild,
100 + +bigloo-3.4a_p3.ebuild, metadata.xml:
101 + Version bump and remove 3.3a
102
103 09 May 2010; Tomas Touceda <chiiph@g.o> bigloo-3.0c_p4.ebuild:
104 Patch to prevent prestripping wrt bug 251925. Thanks to Christophe
105
106
107
108 1.1 dev-scheme/bigloo/bigloo-3.4a_p3.ebuild
109
110 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/bigloo-3.4a_p3.ebuild?rev=1.1&view=markup
111 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-scheme/bigloo/bigloo-3.4a_p3.ebuild?rev=1.1&content-type=text/plain
112
113 Index: bigloo-3.4a_p3.ebuild
114 ===================================================================
115 # Copyright 1999-2010 Gentoo Foundation
116 # Distributed under the terms of the GNU General Public License v2
117 # $Header: /var/cvsroot/gentoo-x86/dev-scheme/bigloo/bigloo-3.4a_p3.ebuild,v 1.1 2010/10/06 19:13:29 chiiph Exp $
118
119 EAPI="3"
120
121 inherit elisp-common multilib eutils flag-o-matic java-pkg-opt-2
122
123 MY_P=${PN}${PV/_p/-}
124 MY_P=${MY_P/_alpha*/-alpha}
125 MY_P=${MY_P/_beta*/-beta}
126
127 BGL_RELEASE=${PV/_*/}
128 PATCHSET="1"
129
130 DESCRIPTION="Bigloo is a Scheme implementation."
131 HOMEPAGE="http://www-sop.inria.fr/indes/fp/Bigloo/bigloo.html"
132 SRC_URI="ftp://ftp-sop.inria.fr/members/Cyprien.Nicolas/mirror/bigloo-${BGL_RELEASE}-patchset-${PATCHSET}.tbz2
133 ftp://ftp-sop.inria.fr/indes/fp/Bigloo/${MY_P}.tar.gz"
134
135 LICENSE="GPL-2"
136 SLOT="0"
137 KEYWORDS="~amd64 ~ppc ~x86"
138 IUSE="bglpkg calendar crypto debug doc emacs gmp gstreamer java mail multimedia packrat sqlite srfi1 srfi27 ssl text threads web"
139
140 # bug 254916 for >=dev-libs/boehm-gc-7.1
141 DEPEND=">=dev-libs/boehm-gc-7.1[threads?]
142 emacs? ( virtual/emacs )
143 gmp? ( dev-libs/gmp )
144 gstreamer? ( media-libs/gstreamer media-libs/gst-plugins-base )
145 java? ( >=virtual/jdk-1.5 app-arch/zip )
146 sqlite? ( dev-db/sqlite:3 )
147 ssl? ( dev-libs/openssl )
148 "
149 RDEPEND="${DEPEND}"
150
151 S=${WORKDIR}/${MY_P/-[ab]*/}
152
153 SITEFILE="50bigloo-gentoo.el"
154
155 pkg_setup() {
156 if use gstreamer; then
157 if ! use threads; then
158 die "USE Dependency: 'gstreamer' needs 'threads'. You may enable 'threads', or disable 'gstreamer'."
159 fi
160
161 if ! use multimedia; then
162 die "USE Dependency: 'gstreamer' needs 'multimedia'."
163 fi
164 fi
165
166 if use packrat && ! use srfi1; then
167 die "USE Dependency: 'packrat' needs 'srfi1'."
168 fi
169
170 if use srfi27; then
171 # 'dev-scheme/bigloo srfi27' should be added in arch/amd64/package.use.mask
172 if use amd64; then
173 ewarn "srfi27 is known to only work on 32-bit architectures." \
174 "The USE is ignored on amd64."
175 elif ! use gmp; then
176 die "USE Dependency: 'srfi27' needs 'gmp'."
177 fi
178 fi
179
180 if use bglpkg && ! (use sqlite && use web); then
181 die "USE Dependency: 'bglpkg' needs both 'sqlite' and 'web'."
182 fi
183
184 java-pkg-opt-2_pkg_setup
185 }
186
187 src_prepare() {
188 EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
189 EPATCH_FORCE="yes" epatch
190
191 # bglmem is not built according to the EFLAGS
192 # (which forces LDFLAGS, see emake below)
193 ebegin "Adding EFLAGS to BMEMFLAGS"
194 sed -i 's/BMEMFLAGS[^=]\+= /&$(EFLAGS) /' bde/bmem/Makefile
195 eend $?
196
197 # Removing bundled boehm-gc
198 rm -rf gc || die
199 }
200
201 src_configure() {
202 filter-flags -fomit-frame-pointer
203
204 local myconf=""
205
206 # Filter Zile emacs replacement. Bug #336717
207 if use emacs; then
208 myconf="--bee=full --emacs=${EMACS} --lispdir=${SITELISP}/${PN}"
209 else
210 myconf="--emacs=false"
211 fi
212
213 # dev-java/ibm-jdk-bin fails during configure, bug #331279
214 # api/crypto java tests show failures, I'm looking into it
215 if use java; then
216 sed -e "s/^\(jcflags=\)\(.*\)/\\1\"\\2 $(java-pkg_javac-args)\"/" \
217 -e 's/jcflags=$jcflags/jcflags="$jcflags"/'\
218 -i configure
219 myconf="${myconf}
220 --jvm=yes"
221 fi
222
223 # No pkglib/pkgcomp in IUSE, I don't see any need besides bglpkg
224 # One or the other could be added upon user request
225 if use bglpkg; then
226 myconf="${myconf}
227 --enable-bglpkg --enable-pkgcomp --enable-pkglib"
228 else
229 myconf="${myconf}
230 --disable-bglpkg --disable-pkgcomp --disable-pkglib"
231 fi
232
233 # srfi27 management
234 if use amd64; then
235 myconf="${myconf}
236 --disable-srfi27"
237 else
238 myconf="${myconf}
239 $(use_enable srfi27)"
240 fi
241
242 # Put every non quoted configure opt into myconf, for the einfo below
243 myconf="
244 --prefix=/usr
245 --libdir=/usr/$(get_libdir)
246 --benchmark=yes
247 --coflags=
248 --customgc=no
249 --sharedbde=no
250 --sharedcompiler=no
251 --strip=no
252 $(use debug && echo --debug)
253 ${myconf}
254 $(use_enable calendar)
255 $(use_enable crypto)
256 $(use_enable gmp)
257 $(use_enable gstreamer)
258 $(use_enable mail)
259 $(use_enable multimedia)
260 $(use_enable packrat)
261 $(use_enable sqlite)
262 $(use_enable srfi1)
263 $(use_enable ssl)
264 $(use_enable text)
265 $(use_enable threads)
266 $(use_enable web)
267 "
268
269 einfo "Configuring bigloo with:" \
270 "--ldflags=\"${LDFLAGS}\" $(echo ${myconf} | sed 's/\n\t\t/ /g')"
271
272 # Bigloo doesn't use autoconf and consequently a lot of options used by econf give errors
273 # Manuel Serrano says: "Please, dont talk to me about autoconf. I simply dont want to hear about it..."
274 ./configure --ldflags="${LDFLAGS}" ${myconf} || die "configure failed"
275 }
276
277 src_compile() {
278 emake EFLAGS='-ldopt "$(LDFLAGS)"' || die "emake failed"
279
280 if use emacs; then
281 einfo "Compiling bee..."
282 emake -j1 compile-bee EFLAGS='-ldopt "$(LDFLAGS)"' || die "compiling bee failed"
283 fi
284 }
285
286 # default thinks that target doesn't exist
287 src_test() {
288 emake -j1 test || die "emake test failed"
289 }
290
291 src_install() {
292 # Makefile:671:install: install-progs install-docs
293 emake DESTDIR="${D}" install-progs || die "install failed"
294
295 if use emacs; then
296 einfo "Installing bee..."
297 emake DESTDIR="${D}" install-bee || die "install-bee failed"
298 elisp-site-file-install "${FILESDIR}/${SITEFILE}"
299 else
300 # Fix EMACS*=false in Makefile.config
301 sed -i 's:^\(EMACS=\).*$:\1:' "${D}"/usr/$(get_libdir)/bigloo/${BGL_RELEASE}/Makefile.config \
302 || die "dosed EMACS failed"
303 sed -i 's:^\(EMACSBRAND=\).*$:\1:' "${D}"/usr/$(get_libdir)/bigloo/${BGL_RELEASE}/Makefile.config \
304 || die "dosed EMACSBRAND failed"
305 fi
306
307 dodoc ChangeLog README || die "dodoc failed"
308 newdoc LICENSE COPYING || die "newdoc failed"
309
310 cd "${S}/manuals"
311 if use doc; then
312 dohtml -r . || die "dohtml failed"
313 doinfo *.info* || die "doinfo failed"
314 fi
315
316 for man in *.man; do
317 newman ${man} ${man/.man/.1} || die "newman ${man} ${man/.man/.1} failed"
318 done
319 }
320
321 pkg_postinst() {
322 if use emacs; then
323 elisp-site-regen
324 elog "In order to use the bee-mode, add"
325 elog " (require 'bmacs)"
326 elog "to your ~/.emacs file"
327 fi
328 }
329
330 pkg_postrm() {
331 use emacs && elisp-site-regen
332 }