summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-scheme/bigloo
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-scheme/bigloo')
-rw-r--r--dev-scheme/bigloo/Manifest4
-rw-r--r--dev-scheme/bigloo/bigloo-3.0c_p4.ebuild91
-rw-r--r--dev-scheme/bigloo/bigloo-3.4a_p3.ebuild218
-rw-r--r--dev-scheme/bigloo/bigloo-3.6a.ebuild208
-rw-r--r--dev-scheme/bigloo/files/50bigloo-gentoo.el3
-rw-r--r--dev-scheme/bigloo/files/bigloo-3.3a_p5-no_strip.patch32
-rw-r--r--dev-scheme/bigloo/files/bigloo-3.6a-fix_printf_format_warnings.patch237
-rw-r--r--dev-scheme/bigloo/metadata.xml36
8 files changed, 829 insertions, 0 deletions
diff --git a/dev-scheme/bigloo/Manifest b/dev-scheme/bigloo/Manifest
new file mode 100644
index 000000000000..8d6394ab930c
--- /dev/null
+++ b/dev-scheme/bigloo/Manifest
@@ -0,0 +1,4 @@
+DIST bigloo-3.4a-patchset-1.tbz2 3282 SHA256 44f3f62e39b344bdc4c6eb54f7e2003fedcadb23b6bf2a1a8b647f9799884b2a
+DIST bigloo3.0c-4.tar.gz 11776933 SHA256 047bb6b36c8ca51a2b261fdfba6b0637808d0d9923360633f695bcc3dd6b6c2b
+DIST bigloo3.4a-3.tar.gz 13631619 SHA256 c6bf16a60a16447444dc1e3eadf061d37f2796ebb75f3190415fb14aa06bc4bd
+DIST bigloo3.6a.tar.gz 14264922 SHA256 3c026d97d79b8d97d6104c1e63b8ef1b77380462262c5172d8ca66f932d45a54
diff --git a/dev-scheme/bigloo/bigloo-3.0c_p4.ebuild b/dev-scheme/bigloo/bigloo-3.0c_p4.ebuild
new file mode 100644
index 000000000000..f99563acf1f9
--- /dev/null
+++ b/dev-scheme/bigloo/bigloo-3.0c_p4.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit elisp-common multilib java-pkg-opt-2
+
+MY_P=${PN}${PV/_p/-}
+MY_P=${MY_P/_alpha/-alpha}
+MY_P=${MY_P/_beta/-beta}
+
+DESCRIPTION="Bigloo is a Scheme implementation"
+HOMEPAGE="http://www-sop.inria.fr/mimosa/fp/Bigloo/bigloo.html"
+SRC_URI="ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc x86"
+
+DEPEND="emacs? ( virtual/emacs )
+ java? ( >=virtual/jdk-1.5 )"
+
+RDEPEND="${DEPEND}
+ java? ( >=virtual/jre-1.5 )"
+
+S=${WORKDIR}/${MY_P%-*}
+
+SITEFILE="50bigloo-gentoo.el"
+
+IUSE="emacs java"
+# fullbee"
+
+src_prepare() {
+ sed -i -e 's/^cstrip="-s"/cstrip="no"/' \
+ -e 's/STRIP=$strip/STRIP=true/' \
+ configure || die
+}
+
+src_configure() {
+ # Bigloo doesn't use autoconf and consequently a lot of options used by econf give errors
+ # Manuel Serrano says: "Please, dont talk to me about autoconf. I simply dont want to hear about it..."
+ ./configure \
+ $(use java && echo "--jvm=yes --java=$(java-config --java) --javac=$(java-config --javac)") \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --libdir=/usr/$(get_libdir) \
+ --docdir=/usr/share/doc/${PF} \
+ --benchmark=yes \
+ --sharedbde=no \
+ --sharedcompiler=no \
+ --coflags="" || die "configure failed"
+
+# --bee=$(if use fullbee; then echo full; else echo partial; fi) \
+
+}
+
+src_compile() {
+ if use emacs; then
+ elisp-compile etc/*.el || die "elisp-compile failed"
+ fi
+
+ # parallel build is broken
+ emake -j1 || die "emake failed"
+}
+
+src_install () {
+# dodir /etc/env.d
+# echo "LDPATH=/usr/$(get_libdir)/bigloo/${PV}/" > ${D}/etc/env.d/25bigloo
+
+ # make the links created not point to DESTDIR, since that is only a temporary home
+ sed 's/ln -s $(DESTDIR)/ln -s /' -i Makefile.misc
+ emake -j1 DESTDIR="${D}" install || die "install failed"
+
+ if use emacs; then
+ elisp-install ${PN} etc/*.{el,elc} || die "elisp-install failed"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+# einfo "Compiling bee..."
+# emake compile-bee || die "compiling bee failed"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-scheme/bigloo/bigloo-3.4a_p3.ebuild b/dev-scheme/bigloo/bigloo-3.4a_p3.ebuild
new file mode 100644
index 000000000000..61318fae09a1
--- /dev/null
+++ b/dev-scheme/bigloo/bigloo-3.4a_p3.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit elisp-common multilib eutils flag-o-matic java-pkg-opt-2
+
+MY_P=${PN}${PV/_p/-}
+MY_P=${MY_P/_alpha*/-alpha}
+MY_P=${MY_P/_beta*/-beta}
+
+BGL_RELEASE=${PV/_*/}
+PATCHSET="1"
+
+DESCRIPTION="Bigloo is a Scheme implementation"
+HOMEPAGE="http://www-sop.inria.fr/indes/fp/Bigloo/bigloo.html"
+SRC_URI="ftp://ftp-sop.inria.fr/members/Cyprien.Nicolas/mirror/bigloo-${BGL_RELEASE}-patchset-${PATCHSET}.tbz2
+ ftp://ftp-sop.inria.fr/indes/fp/Bigloo/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="bglpkg calendar crypto debug doc emacs gmp gstreamer java mail multimedia packrat sqlite srfi1 srfi27 ssl text threads web"
+
+# bug 254916 for >=dev-libs/boehm-gc-7.1
+DEPEND=">=dev-libs/boehm-gc-7.1[threads?]
+ emacs? ( virtual/emacs )
+ gmp? ( dev-libs/gmp )
+ gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
+ java? ( >=virtual/jdk-1.5 app-arch/zip )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl )
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P/-[ab]*/}
+
+SITEFILE="50bigloo-gentoo.el"
+
+pkg_setup() {
+ if use gstreamer; then
+ if ! use threads; then
+ die "USE Dependency: 'gstreamer' needs 'threads'. You may enable 'threads', or disable 'gstreamer'."
+ fi
+
+ if ! use multimedia; then
+ die "USE Dependency: 'gstreamer' needs 'multimedia'."
+ fi
+ fi
+
+ if use packrat && ! use srfi1; then
+ die "USE Dependency: 'packrat' needs 'srfi1'."
+ fi
+
+ if use srfi27; then
+ # 'dev-scheme/bigloo srfi27' should be added in arch/amd64/package.use.mask
+ if use amd64; then
+ ewarn "srfi27 is known to only work on 32-bit architectures." \
+ "The USE is ignored on amd64."
+ elif ! use gmp; then
+ die "USE Dependency: 'srfi27' needs 'gmp'."
+ fi
+ fi
+
+ if use bglpkg && ! (use sqlite && use web); then
+ die "USE Dependency: 'bglpkg' needs both 'sqlite' and 'web'."
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" epatch
+
+ # bglmem is not built according to the EFLAGS
+ # (which forces LDFLAGS, see emake below)
+ ebegin "Adding EFLAGS to BMEMFLAGS"
+ sed -i 's/BMEMFLAGS[^=]\+= /&$(EFLAGS) /' bde/bmem/Makefile
+ eend $?
+
+ # Removing bundled boehm-gc
+ rm -rf gc || die
+}
+
+src_configure() {
+ filter-flags -fomit-frame-pointer
+
+ local myconf=""
+
+ # Filter Zile emacs replacement. Bug #336717
+ if use emacs; then
+ myconf="--bee=full --emacs=${EMACS} --lispdir=${SITELISP}/${PN}"
+ else
+ myconf="--emacs=false"
+ fi
+
+ # dev-java/ibm-jdk-bin fails during configure, bug #331279
+ # api/crypto java tests show failures, I'm looking into it
+ if use java; then
+ sed -e "s/^\(jcflags=\)\(.*\)/\\1\"\\2 $(java-pkg_javac-args)\"/" \
+ -e 's/jcflags=$jcflags/jcflags="$jcflags"/'\
+ -i configure
+ myconf="${myconf}
+ --jvm=yes"
+ fi
+
+ # No pkglib/pkgcomp in IUSE, I don't see any need besides bglpkg
+ # One or the other could be added upon user request
+ if use bglpkg; then
+ myconf="${myconf}
+ --enable-bglpkg --enable-pkgcomp --enable-pkglib"
+ else
+ myconf="${myconf}
+ --disable-bglpkg --disable-pkgcomp --disable-pkglib"
+ fi
+
+ # srfi27 management
+ if use amd64; then
+ myconf="${myconf}
+ --disable-srfi27"
+ else
+ myconf="${myconf}
+ $(use_enable srfi27)"
+ fi
+
+ # Put every non quoted configure opt into myconf, for the einfo below
+ myconf="
+ --prefix=/usr
+ --libdir=/usr/$(get_libdir)
+ --benchmark=yes
+ --coflags=
+ --customgc=no
+ --sharedbde=no
+ --sharedcompiler=no
+ --strip=no
+ $(use debug && echo --debug)
+ ${myconf}
+ $(use_enable calendar)
+ $(use_enable crypto)
+ $(use_enable gmp)
+ $(use_enable gstreamer)
+ $(use_enable mail)
+ $(use_enable multimedia)
+ $(use_enable packrat)
+ $(use_enable sqlite)
+ $(use_enable srfi1)
+ $(use_enable ssl)
+ $(use_enable text)
+ $(use_enable threads)
+ $(use_enable web)
+"
+
+ einfo "Configuring bigloo with:" \
+ "--ldflags=\"${LDFLAGS}\" $(echo ${myconf} | sed 's/\n\t\t/ /g')"
+
+ # Bigloo doesn't use autoconf and consequently a lot of options used by econf give errors
+ # Manuel Serrano says: "Please, dont talk to me about autoconf. I simply dont want to hear about it..."
+ ./configure --ldflags="${LDFLAGS}" ${myconf} || die "configure failed"
+}
+
+src_compile() {
+ emake EFLAGS='-ldopt "$(LDFLAGS)"' || die "emake failed"
+
+ if use emacs; then
+ einfo "Compiling bee..."
+ emake -j1 compile-bee EFLAGS='-ldopt "$(LDFLAGS)"' || die "compiling bee failed"
+ fi
+}
+
+# default thinks that target doesn't exist
+src_test() {
+ emake -j1 test || die "emake test failed"
+}
+
+src_install() {
+ # Makefile:671:install: install-progs install-docs
+ emake DESTDIR="${D}" install-progs || die "install failed"
+
+ if use emacs; then
+ einfo "Installing bee..."
+ emake DESTDIR="${D}" install-bee || die "install-bee failed"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ else
+ # Fix EMACS*=false in Makefile.config
+ sed -i 's:^\(EMACS=\).*$:\1:' "${D}"/usr/$(get_libdir)/bigloo/${BGL_RELEASE}/Makefile.config \
+ || die "dosed EMACS failed"
+ sed -i 's:^\(EMACSBRAND=\).*$:\1:' "${D}"/usr/$(get_libdir)/bigloo/${BGL_RELEASE}/Makefile.config \
+ || die "dosed EMACSBRAND failed"
+ fi
+
+ dodoc ChangeLog README || die "dodoc failed"
+ newdoc LICENSE COPYING || die "newdoc failed"
+
+ cd "${S}/manuals"
+ if use doc; then
+ dohtml -r . || die "dohtml failed"
+ doinfo *.info* || die "doinfo failed"
+ fi
+
+ for man in *.man; do
+ newman ${man} ${man/.man/.1} || die "newman ${man} ${man/.man/.1} failed"
+ done
+}
+
+pkg_postinst() {
+ if use emacs; then
+ elisp-site-regen
+ elog "In order to use the bee-mode, add"
+ elog " (require 'bmacs)"
+ elog "to your ~/.emacs file"
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-scheme/bigloo/bigloo-3.6a.ebuild b/dev-scheme/bigloo/bigloo-3.6a.ebuild
new file mode 100644
index 000000000000..73ecc24f6e3f
--- /dev/null
+++ b/dev-scheme/bigloo/bigloo-3.6a.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit elisp-common multilib eutils flag-o-matic java-pkg-opt-2
+
+MY_P=${PN}${PV/_p/-}
+MY_P=${MY_P/_alpha*/-alpha}
+MY_P=${MY_P/_beta*/-beta}
+
+BGL_RELEASE=${PV/_*/}
+
+DESCRIPTION="Bigloo is a Scheme implementation"
+HOMEPAGE="http://www-sop.inria.fr/indes/fp/Bigloo/bigloo.html"
+SRC_URI="ftp://ftp-sop.inria.fr/indes/fp/Bigloo/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="bglpkg calendar crypto debug doc emacs gmp java mail multimedia openpgp packrat sqlite srfi1 srfi27 ssl text threads web"
+REQUIRED_USE="
+ bglpkg? ( web )
+ openpgp? ( crypto )
+ packrat? ( srfi1 )
+ srfi27? ( x86? ( gmp ) )
+"
+
+# bug 254916 for >=dev-libs/boehm-gc-7.1
+DEPEND=">=dev-libs/boehm-gc-7.1[threads?]
+ emacs? ( virtual/emacs )
+ gmp? ( dev-libs/gmp )
+ java? ( >=virtual/jdk-1.5 app-arch/zip )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl )
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P/-[ab]*/}
+
+SITEFILE="50bigloo-gentoo.el"
+
+pkg_pretend() {
+ if use srfi27 && use amd64; then
+ #TODO: 'dev-scheme/bigloo srfi27' in arch/amd64/package.use.mask?
+ ewarn "srfi27 is known to only work on 32-bit architectures." \
+ "This IUSE is ignored on amd64."
+ fi
+}
+
+src_prepare() {
+ # Removing bundled boehm-gc
+ rm -rf gc || die
+
+ # Fix some printf format warnings
+ epatch "${FILESDIR}/${PN}-${BGL_RELEASE}-fix_printf_format_warnings.patch"
+
+ # bug 354751: Fix '[a-z]' sed range for non ascii LC_COLLATE order
+ sed 's/a-z/[:alpha:]/' -i configure autoconf/* || die 'sed s/a-z/[:alpha:]/ failed'
+
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ filter-flags -fomit-frame-pointer
+
+ local myconf=""
+
+ # Filter Zile emacs replacement. Bug #336717
+ if use emacs; then
+ myconf="--bee=full --emacs=${EMACS} --lispdir=${SITELISP}/${PN}"
+ else
+ myconf="--emacs=false"
+ fi
+
+ # Add JCFLAGS to the configure script
+ # (api/{crypto,openpgp} jvm tests show failures)
+ if use java; then
+ sed -e "s/^\(jcflags=\)\(.*\)/\\1\"\\2 $(java-pkg_javac-args)\"/" \
+ -e 's/jcflags=$jcflags/jcflags="$jcflags"/'\
+ -i configure
+ myconf="${myconf}
+ --jvm=yes"
+ fi
+
+ # No pkglib/pkgcomp in IUSE, I don't see any need besides bglpkg
+ # One or the other could be added upon user request
+ if use bglpkg; then
+ myconf="${myconf}
+ --enable-bglpkg --enable-pkgcomp --enable-pkglib"
+ else
+ myconf="${myconf}
+ --disable-bglpkg --disable-pkgcomp --disable-pkglib"
+ fi
+
+ # srfi27 management
+ if use amd64; then
+ myconf="${myconf}
+ --disable-srfi27"
+ else
+ myconf="${myconf}
+ $(use_enable srfi27)"
+ fi
+
+ # Put every non quoted configure opt into myconf, for the einfo below
+ myconf="
+ --prefix=/usr
+ --libdir=/usr/$(get_libdir)
+ --benchmark=yes
+ --coflags=
+ --customgc=no
+ --sharedbde=no
+ --sharedcompiler=no
+ --strip=no
+ $(use debug && echo --debug)
+ ${myconf}
+ $(use_enable calendar)
+ $(use_enable crypto)
+ $(use_enable gmp)
+ --disable-gstreamer
+ $(use_enable mail)
+ $(use_enable multimedia)
+ $(use_enable openpgp)
+ $(use_enable packrat)
+ --disable-phone
+ $(use_enable sqlite)
+ $(use_enable srfi1)
+ $(use_enable ssl)
+ $(use_enable text)
+ $(use_enable threads)
+ $(use_enable web)
+"
+
+ einfo "Configuring bigloo with:" \
+ "--ldflags=\"${LDFLAGS}\" $(echo ${myconf} | sed 's/\n\t\t/ /g')"
+
+ # Bigloo doesn't use autoconf and consequently a lot of options used by econf give errors
+ # Manuel Serrano says: "Please, dont talk to me about autoconf. I simply dont want to hear about it..."
+ ./configure --ldflags="${LDFLAGS}" ${myconf} || die "configure failed"
+}
+
+src_compile() {
+ emake EFLAGS='-ldopt "$(LDFLAGS)"' || die "emake failed"
+
+ if use emacs; then
+ einfo "Compiling bee..."
+ emake compile-bee EFLAGS='-ldopt "$(LDFLAGS)"' || die "compiling bee failed"
+ fi
+}
+
+# default thinks that target doesn't exist
+src_test() {
+ emake -j1 test || die "emake test failed"
+}
+
+src_install() {
+ # Makefile:671:install: install-progs install-docs
+ emake DESTDIR="${D}" install-progs || die "install failed"
+
+ if use emacs; then
+ einfo "Installing bee..."
+ emake DESTDIR="${D}" install-bee || die "install-bee failed"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ else
+ # Fix EMACS*=false in Makefile.config
+ sed -i \
+ -e 's:^\(EMACS=\).*$:\1:' \
+ -e 's:^\(EMACSBRAND=\).*$:\1:' \
+ "${D}"/usr/$(get_libdir)/bigloo/${BGL_RELEASE}/Makefile.config \
+ || die "sed !emacs in Makefile.config failed"
+ fi
+
+ dodoc ChangeLog README || die "dodoc failed"
+
+ pushd "${S}/manuals" &>/dev/null
+ if use doc; then
+ dohtml -r . || die "dohtml failed"
+ doinfo *.info* || die "doinfo failed"
+ fi
+
+ for man in *.man; do
+ newman ${man} ${man/.man/.1} || die "newman ${man} ${man/.man/.1} failed"
+ done
+ popd &>/dev/null
+
+ # Remove created directories which remains empty
+ pushd "${D}/usr" &>/dev/null
+ rmdir -p doc/bigloo-${BGL_RELEASE} info man/man1 || die "rm empty dirs failed"
+ popd &>/dev/null
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ if use emacs; then
+ elisp-site-regen
+ elog "In order to use the bee-mode, add"
+ elog " (require 'bmacs)"
+ elog "to your ~/.emacs file"
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-scheme/bigloo/files/50bigloo-gentoo.el b/dev-scheme/bigloo/files/50bigloo-gentoo.el
new file mode 100644
index 000000000000..576bdde482e3
--- /dev/null
+++ b/dev-scheme/bigloo/files/50bigloo-gentoo.el
@@ -0,0 +1,3 @@
+;;; dev-scheme/bigloo
+
+(add-to-list 'load-path "@SITELISP@")
diff --git a/dev-scheme/bigloo/files/bigloo-3.3a_p5-no_strip.patch b/dev-scheme/bigloo/files/bigloo-3.3a_p5-no_strip.patch
new file mode 100644
index 000000000000..7a3b1190551f
--- /dev/null
+++ b/dev-scheme/bigloo/files/bigloo-3.3a_p5-no_strip.patch
@@ -0,0 +1,32 @@
+diff -Naur bigloo3.3a.orig/configure bigloo3.3a/configure
+--- bigloo3.3a.orig/configure 2009-12-01 11:13:15.000000000 -0300
++++ bigloo3.3a/configure 2009-12-11 02:08:57.000000000 -0300
+@@ -62,7 +62,7 @@
+ featureflags=
+ coflags=-O3
+
+-cstrip="-s"
++cstrip=""
+ cpicflags="demanded" # Possible values for cpicflags are:
+ # - "no" not to use position independent code (recommended)
+ # - "demanded" auto configuration but with a preference to "no"
+@@ -78,7 +78,7 @@
+ ld=
+ ldlibs=-lc
+ ldcomplibs=-lc
+-strip= # left blank for autoconfiguration
++strip="" # left blank for autoconfiguration
+ longlong= # The C type to represent long long integers
+ havelonglong=
+ stringsplit="0"
+@@ -684,6 +684,10 @@
+ extralibs="";
+ cstrip="no";;
+
++ --strip=no)
++ cstrip="no";
++ strip="no";;
++
+ --pnet)
+ dotnetclrstyle=pnet;
+ dotnetcsccstyle=pnet;
diff --git a/dev-scheme/bigloo/files/bigloo-3.6a-fix_printf_format_warnings.patch b/dev-scheme/bigloo/files/bigloo-3.6a-fix_printf_format_warnings.patch
new file mode 100644
index 000000000000..d21541afc1e7
--- /dev/null
+++ b/dev-scheme/bigloo/files/bigloo-3.6a-fix_printf_format_warnings.patch
@@ -0,0 +1,237 @@
+Author: Jerry James <loganjerry <at> gmail.com>
+Title: Patch for removing printf "warning: format" in bigloo source code
+URL: http://article.gmane.org/gmane.lisp.scheme.bigloo/5112
+--- api/gstreamer/src/Clib/bglgst.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ api/gstreamer/src/Clib/bglgst.c 2011-02-14 15:24:29.464185149 -0700
+@@ -93,12 +93,12 @@ bglgst_use_threadsp() {
+ /* bgl_gobject_boehm_alloc_init ... */
+ /*---------------------------------------------------------------------*/
+ static gpointer bgl_gst_alloc( gsize n ) {
+- fprintf( stderr, "GC_MALLOC n=%d\n", n );
++ fprintf( stderr, "GC_MALLOC n=%" G_GSIZE_FORMAT "\n", n );
+ return GC_MALLOC( n );
+ }
+
+ static gpointer bgl_gst_realloc( gpointer ptr, gsize n ) {
+- fprintf( stderr, "GC_REALLOC ptr=%p n=%d\n", ptr, n );
++ fprintf( stderr, "GC_REALLOC ptr=%p n=%" G_GSIZE_FORMAT "\n", ptr, n );
+ return GC_REALLOC( ptr, n );
+ }
+
+@@ -297,7 +297,7 @@ bgl_g_value_to_obj( const GValue *gval,
+ case G_TYPE_ENUM: {
+ long obj = g_value_get_enum( gval );
+
+- fprintf( stderr, "G_TYPE_ENUM not implemented yet %d (%s:%d)\n",
++ fprintf( stderr, "G_TYPE_ENUM not implemented yet %ld (%s:%d)\n",
+ obj, __FILE__, __LINE__ );
+
+ return BUNSPEC;
+--- runtime/Clib/capply.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ runtime/Clib/capply.c 2011-02-14 15:04:59.255817644 -0700
+@@ -627,7 +627,7 @@ obj_t apply( obj_t function, obj_t args_
+ default: {
+ char msg[ 128 ];
+ sprintf( msg,
+- "too many arguments provided (%d) in apply (max 50)",
++ "too many arguments provided (%ld) in apply (max 50)",
+ -arity );
+
+ C_SYSTEM_FAILURE( BGL_ERROR, "apply", msg, function );
+@@ -1229,7 +1229,7 @@ obj_t apply( obj_t function, obj_t args_
+ default: {
+ char msg[ 128 ];
+ sprintf( msg,
+- "too many arguments provided (%d) in apply (max 50)",
++ "too many arguments provided (%ld) in apply (max 50)",
+ arity );
+
+ C_SYSTEM_FAILURE( BGL_ERROR, "apply", msg, function );
+--- runtime/Clib/cstring.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ runtime/Clib/cstring.c 2011-02-14 15:04:18.391856999 -0700
+@@ -293,23 +293,23 @@ integer_to_string_padding( long x, long
+
+ case 8 :
+ if( x < 0 ) {
+- sprintf( fmt, "-%%0%dlo", padding - 1 );
++ sprintf( fmt, "-%%0%ldlo", padding - 1 );
+ } else {
+- sprintf( fmt, "%%0%dlo", padding );
++ sprintf( fmt, "%%0%ldlo", padding );
+ }
+ break;
+ case 16 :
+ if( x < 0 ) {
+- sprintf( fmt, "-%%0%dlx", padding - 1);
++ sprintf( fmt, "-%%0%ldlx", padding - 1);
+ } else {
+- sprintf( fmt, "%%0%dlx", padding );
++ sprintf( fmt, "%%0%ldlx", padding );
+ }
+ break;
+ default :
+ if( x < 0 ) {
+- sprintf( fmt, "-%%0%dld", padding - 1 );
++ sprintf( fmt, "-%%0%ldld", padding - 1 );
+ } else {
+- sprintf( fmt, "%%0%dld", padding );
++ sprintf( fmt, "%%0%ldld", padding );
+ }
+ break;
+ }
+--- runtime/Clib/cerror.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ runtime/Clib/cerror.c 2011-02-14 15:03:19.097168636 -0700
+@@ -69,7 +69,7 @@ bgl_debug_typeof( obj_t obj ) {
+ obj_t
+ bgl_debug_header( obj_t obj ) {
+ fprintf( stderr, "obj=%p\n", obj );
+- fprintf( stderr, " TAG_MASK=%d ", (((long)obj) & TAG_MASK) );
++ fprintf( stderr, " TAG_MASK=%ld ", (((long)obj) & TAG_MASK) );
+ switch( (((long)obj) & TAG_MASK) ) {
+ case TAG_STRUCT: fprintf( stderr, "(TAG_STRUCT)\n" ); break;
+ case TAG_INT: fprintf( stderr, "(TAG_INT)\n" ); break;
+@@ -96,7 +96,7 @@ bgl_debug_header( obj_t obj ) {
+ }
+
+ if( POINTERP( obj ) ) {
+- fprintf( stderr, " TYPE=%d ", TYPE( obj ) );
++ fprintf( stderr, " TYPE=%ld ", TYPE( obj ) );
+ switch( TYPE( obj ) ) {
+ case 0: fprintf( stderr, "(PAIR_TYPE) " ); break;
+ case 1: fprintf( stderr, "(STRING_TYPE) " ); break;
+@@ -132,7 +132,7 @@ bgl_debug_header( obj_t obj ) {
+ else
+ fprintf( stderr, "(unknown type) " );
+ }
+- fprintf( stderr, "HEADER_SIZE=%d\n", HEADER_SIZE( CREF( obj )->header ) );
++ fprintf( stderr, "HEADER_SIZE=%ld\n", HEADER_SIZE( CREF( obj )->header ) );
+ }
+
+ return obj;
+--- runtime/Clib/ccontrol.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ runtime/Clib/ccontrol.c 2011-02-14 15:07:40.999882828 -0700
+@@ -200,9 +200,9 @@ bgl_procedure_entry_to_string( obj_t pro
+ obj_t res = make_string_sans_fill( 17 );
+
+ if( VA_PROCEDUREP( proc ) ) {
+- sprintf( BSTRING_TO_STRING( res ), "%016x", PROCEDURE_VA_ENTRY( proc ) );
++ sprintf( BSTRING_TO_STRING( res ), "%016lx", (long)PROCEDURE_VA_ENTRY( proc ) );
+ } else {
+- sprintf( BSTRING_TO_STRING( res ), "%016x", PROCEDURE_ENTRY( proc ) );
++ sprintf( BSTRING_TO_STRING( res ), "%016lx", (long)PROCEDURE_ENTRY( proc ) );
+ }
+
+ return res;
+--- bde/bmem/lib/thread.c.orig 2011-01-24 06:30:51.000000000 -0700
++++ bde/bmem/lib/thread.c 2011-02-14 15:18:41.127937649 -0700
+@@ -50,9 +50,9 @@ bglthread_switch( void *this, void *next
+ void
+ thread_dump_statistics( FILE *f ) {
+ if( context_switches || scheduler_awake ) {
+- fprintf( f, " (thread (context-switches %d) (scheduler-awake %d))\n",
++ fprintf( f, " (thread (context-switches %ld) (scheduler-awake %ld))\n",
+ context_switches, scheduler_awake );
+- fprintf( stderr, "thread...(context switches=%d, scheduler awake=%d)\n",
++ fprintf( stderr, "thread...(context switches=%ld, scheduler awake=%ld)\n",
+ context_switches,
+ scheduler_awake );
+ }
+--- bde/bmem/lib/alloc.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ bde/bmem/lib/alloc.c 2011-02-14 15:10:55.176083686 -0700
+@@ -109,7 +109,7 @@ alloc_dump_type( pa_pair_t *i, FILE *f )
+ /*---------------------------------------------------------------------*/
+ void
+ alloc_dump( fun_alloc_info_t *i, FILE *f ) {
+- fprintf( f, " (%d %d %d\n", i->gc_num,
++ fprintf( f, " (%lu %lu %lu\n", i->gc_num,
+ BMEMSIZE( i->dsize ), BMEMSIZE( i->isize ) );
+ fprintf( f, " (dtype" );
+ for_each( (void (*)(void *, void *))alloc_dump_type, i->dtypes, f );
+@@ -486,7 +486,7 @@ GC_malloc( size_t lb ) {
+
+ #if BMEMDEBUG
+ if( bmem_debug ) {
+- fprintf( stderr, "GC_malloc(%d): %s %d\n",
++ fprintf( stderr, "GC_malloc(%zu): %s %d\n",
+ lb, bgl_debug_trace_top_name(), get_alloc_type() );
+ }
+ #endif
+@@ -513,7 +513,7 @@ GC_realloc( obj_t old, size_t lb ) {
+
+ #if BMEMDEBUG
+ if( bmem_debug ) {
+- fprintf( stderr, "GC_realloc(%d): top=%s type=%d\n",
++ fprintf( stderr, "GC_realloc(%zu): top=%s type=%d\n",
+ lb, bgl_debug_trace_top_name(), get_alloc_type() );
+ }
+ #endif
+@@ -541,7 +541,7 @@ GC_malloc_atomic( size_t lb ) {
+
+ #if BMEMDEBUG
+ if( bmem_debug ) {
+- fprintf( stderr, "GC_malloc_atomic(%d): top=%s type=%d\n",
++ fprintf( stderr, "GC_malloc_atomic(%zu): top=%s type=%d\n",
+ lb, bgl_debug_trace_top_name(), get_alloc_type() );
+ }
+ #endif
+@@ -623,7 +623,7 @@ BGl_registerzd2classz12zc0zz__objectz00(
+ hash, def,
+ constructor, virt );
+
+- fprintf( stderr, "ok\n", cname );
++ fprintf( stderr, "ok\n" );
+
+ return class;
+ }
+--- bde/bmem/lib/symbol.c.orig 2011-01-24 06:30:51.000000000 -0700
++++ bde/bmem/lib/symbol.c 2011-02-14 15:13:47.727927175 -0700
+@@ -33,7 +33,7 @@ make_symbol( obj_t name ) {
+
+ #if BMEMDEBUG
+ if( bmem_debug > 1 ) {
+- fprintf( stderr, "make_symbol: %s %p\n", name, symbol );
++ fprintf( stderr, "make_symbol: %s %p\n", BSTRING_TO_STRING( name ), symbol );
+ }
+ #endif
+ symbol->symbol_t.header = MAKE_HEADER( SYMBOL_TYPE, SYMBOL_SIZE );
+--- bde/bmem/lib/trace.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ bde/bmem/lib/trace.c 2011-02-14 15:17:49.472275324 -0700
+@@ -79,9 +79,9 @@ bgl_debug_trace_top() {
+ fprintf( stderr, " top->name=KEYWORD %p\n", top->name );
+ } else {
+ if( !POINTERP( top->name ) ) {
+- fprintf( stderr, " top->name=pas pointer %d\n", top->name );
++ fprintf( stderr, " top->name=pas pointer %p\n", top->name );
+ } else {
+- fprintf( stderr, " top->name=pointer %p\n", TYPE( top->name ) );
++ fprintf( stderr, " top->name=pointer %ld\n", TYPE( top->name ) );
+ }
+ }
+ }
+--- bde/bmem/lib/gchook.c.orig 2011-01-24 06:30:52.000000000 -0700
++++ bde/bmem/lib/gchook.c 2011-02-14 15:12:29.119566199 -0700
+@@ -45,13 +45,13 @@ GC_collect_hook( int heapsz, long livesz
+ gc_number++;
+
+ if( heapsz > (1024 * 1024) ) {
+- fprintf( stderr, "gc %3d: alloc size=%.2fMB, heap size=%.2fMB, live size=%.2fMB\n",
++ fprintf( stderr, "gc %3lu: alloc size=%.2fMB, heap size=%.2fMB, live size=%.2fMB\n",
+ gc_number,
+ ((double)gc_alloc_size / (1024. * 1024.)),
+ ((double)heapsz / (1024. * 1024.)),
+ ((double)livesz / (1024. * 1024.)) );
+ } else {
+- fprintf( stderr, "gc %3d: alloc size=%dKB, heap size=%dKB, live size=%ldKB\n",
++ fprintf( stderr, "gc %3lu: alloc size=%luKB, heap size=%dKB, live size=%ldKB\n",
+ gc_number,
+ gc_alloc_size / 1024,
+ heapsz / 1024,
+@@ -81,7 +81,7 @@ gc_alloc_size_add( int size ) {
+ /*---------------------------------------------------------------------*/
+ static void
+ GC_dump_gc( gc_info_t *i, FILE *f ) {
+- fprintf( f, " (%d %d %d %d)\n",
++ fprintf( f, " (%lu %lu %lu %lu)\n",
+ i->number,
+ BMEMSIZE( i->alloc_size ),
+ BMEMSIZE( i->heap_size ),
diff --git a/dev-scheme/bigloo/metadata.xml b/dev-scheme/bigloo/metadata.xml
new file mode 100644
index 000000000000..a1ecd8724a23
--- /dev/null
+++ b/dev-scheme/bigloo/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>scheme</herd>
+ <longdescription>
+ Bigloo is a Scheme implementation devoted to one goal: enabling Scheme
+ based programming style where C(++) is usually required. Bigloo attempts
+ to make Scheme practical by offering features usually presented by
+ traditional programming languages but not offered by Scheme and functional
+ programming. Bigloo compiles Scheme modules. It delivers small and fast
+ stand alone binary executables. Bigloo enables full connections between
+ Scheme and C programs, between Scheme and Java programs, and between
+ Scheme and C# programs.
+ </longdescription>
+ <use>
+ <flag name="bglpkg">Build bglpkg binary, which can be use to access scmpkg servers (requires web)</flag>
+ <flag name="calendar">Build the embedded library for calendar programming</flag>
+ <flag name="crypto">Build the embedded cryptographic library</flag>
+ <flag name="debug">Enable extra debug codepaths</flag>
+ <flag name="doc">Install Bigloo Manual (HTML docs of Bigloo and r5rs)</flag>
+ <flag name="emacs">Build and install the Bigloo Developement Environment for Emacs (aka bee-mode)</flag>
+ <flag name="gmp">Adds support for <pkg>dev-libs/gmp</pkg> (GNU MP library)</flag>
+ <flag name="java">Enable the JVM backend for the Bigloo compiler</flag>
+ <flag name="mail">Mail library for email management (e.g. maildir and imap support)</flag>
+ <flag name="multimedia">Build multimedia library (e.g. for managing images). Needed for <pkg>dev-scheme/hop</pkg></flag>
+ <flag name="openpgp">Build OpenPGP support (requires crypto)</flag>
+ <flag name="packrat">Bigloo port of Tony Garnock-Jones' packrat parser (requires srfi1)</flag>
+ <flag name="sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg></flag>
+ <flag name="srfi1">Build the srfi1 library: List library</flag>
+ <flag name="srfi27">Build the srfi27 library: Source of Random Bits (32bit-arch only, requires gmp)</flag>
+ <flag name="ssl">Adds support for SSL connections through <pkg>dev-libs/openssl</pkg></flag>
+ <flag name="threads">Enable thread support, it depends on <pkg>dev-libs/boehm-gc</pkg> built with threads use flag</flag>
+ <flag name="text">Library for dealing with text (e.g. BibTeX parser)</flag>
+ <flag name="web">Library for web programming (e.g. XML, CGI parsers). Needed for <pkg>dev-scheme/hop</pkg></flag>
+ </use>
+</pkgmetadata>