summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Koltsov <maksbotan@gentoo.org>2011-12-07 19:31:03 +0000
committerMaxim Koltsov <maksbotan@gentoo.org>2011-12-07 19:31:03 +0000
commitc28a4ec98ef3cc11091ba82ccf8d26be26d931f4 (patch)
tree69d741f2809bd33ef1f786294d391075d640044a /dev-scheme
parentAdd settings for x32 ABI, and make amd64 explicit in case it is not the defau... (diff)
downloadgentoo-2-c28a4ec98ef3cc11091ba82ccf8d26be26d931f4.tar.gz
gentoo-2-c28a4ec98ef3cc11091ba82ccf8d26be26d931f4.tar.bz2
gentoo-2-c28a4ec98ef3cc11091ba82ccf8d26be26d931f4.zip
Version bump, assign package to proxy-maintainers, thanks to Erik Falor. Bug fixes will arrive soon
(Portage version: 2.1.10.39/cvs/Linux x86_64)
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/chicken/ChangeLog11
-rw-r--r--dev-scheme/chicken/chicken-4.7.3.ebuild65
-rw-r--r--dev-scheme/chicken/files/chicken-4.7.3-parallel-build.patch74
-rw-r--r--dev-scheme/chicken/metadata.xml13
4 files changed, 161 insertions, 2 deletions
diff --git a/dev-scheme/chicken/ChangeLog b/dev-scheme/chicken/ChangeLog
index be88472484b9..59d037096d11 100644
--- a/dev-scheme/chicken/ChangeLog
+++ b/dev-scheme/chicken/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-scheme/chicken
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/ChangeLog,v 1.42 2010/10/06 04:25:04 chiiph Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/ChangeLog,v 1.43 2011/12/07 19:31:03 maksbotan Exp $
+
+*chicken-4.7.3 (07 Dec 2011)
+
+ 07 Dec 2011; Maxim Koltsov <maksbotan@gentoo.org> +chicken-4.7.3.ebuild,
+ +files/chicken-4.7.3-parallel-build.patch, metadata.xml:
+ Version bump, assign package to proxy-maintainers, thanks to Erik Falor. Bug
+ fixes will arrive soon
*chicken-4.6.0 (06 Oct 2010)
diff --git a/dev-scheme/chicken/chicken-4.7.3.ebuild b/dev-scheme/chicken/chicken-4.7.3.ebuild
new file mode 100644
index 000000000000..0e5c7551b3e3
--- /dev/null
+++ b/dev-scheme/chicken/chicken-4.7.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/chicken-4.7.3.ebuild,v 1.1 2011/12/07 19:31:03 maksbotan Exp $
+
+EAPI="3"
+
+inherit eutils multilib
+
+DESCRIPTION="Chicken is a Scheme interpreter and native Scheme to C compiler"
+HOMEPAGE="http://www.call-cc.org/"
+SRC_URI="http://code.call-cc.org/dev-snapshots/2011/08/17/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
+IUSE="emacs parallel-build"
+
+DEPEND="sys-apps/texinfo
+ emacs? ( virtual/emacs )"
+RDEPEND="emacs? ( virtual/emacs app-emacs/scheme-complete )"
+
+src_prepare() {
+ if use "parallel-build"
+ then
+ epatch "${FILESDIR}"/${P}-parallel-build.patch
+ fi
+
+ #Because chicken's Upstream is in the habit of using variables that
+ #portage also uses :( eg. $ARCH in this case
+ for f in defaults.make Makefile.bsd Makefile.cross-linux-mingw Makefile.cygwin \
+ Makefile.linux Makefile.macosx Makefile.mingw-msys Makefile.solaris \
+ rules.make
+ do
+ sed "s,ARCH,zARCH," -i ${f} || die "sed failed"
+ done
+
+ sed "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," -i defaults.make || die "sed failed"
+ sed "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${P}," -i defaults.make || die "sed failed"
+}
+
+src_compile() {
+ OPTIONS="PLATFORM=linux PREFIX=/usr"
+ if use "parallel-build"
+ then
+ ewarn "You enabled parralel-build use flag. This future is still"
+ ewarn "in testing, try without it before filing bugs"
+ emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
+ HOSTSYSTEM="${CBUILD}" || die "emake failed"
+ else
+ emake -j1 ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
+ HOSTSYSTEM="${CBUILD}" || die "emake failed"
+ fi
+}
+
+# chicken's testsuite is not runnable before install
+# upstream has been notified of the issue
+RESTRICT=test
+
+src_install() {
+ # still can't run make in parallel for the install target
+ emake -j1 ${OPTIONS} DESTDIR="${D}" HOSTSYSTEM="${CBUILD}" install || die
+
+ rm "${D}"/usr/share/doc/${P}/LICENSE || die
+ dodoc NEWS || die
+}
diff --git a/dev-scheme/chicken/files/chicken-4.7.3-parallel-build.patch b/dev-scheme/chicken/files/chicken-4.7.3-parallel-build.patch
new file mode 100644
index 000000000000..6d9628701481
--- /dev/null
+++ b/dev-scheme/chicken/files/chicken-4.7.3-parallel-build.patch
@@ -0,0 +1,74 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index 9bc40ca..c697f14 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -49,6 +49,9 @@ STANDARD_TARGETS \
+ fullcheck libs install-target install-dev bench
+
+ .PHONY: $(STANDARD_TARGETS) dist boot-chicken
++# Build this file's targets sequentially. This avoids executing overlapping
++# makes if the user specifies multiple targets.
++.NOTPARALLEL:
+
+ $(STANDARD_TARGETS):
+ $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) $@
+diff --git a/README b/README
+index 8d0d067..551b716 100644
+--- a/README
++++ b/README
+@@ -72,7 +72,7 @@
+ platforms.
+
+ Note that parallel builds (using the "-j" make(1) option) are
+- *not* supported.
++ also supported. Beware that parallel install will not work though.
+
+ If you invoke "make" later with different configuration parameters,
+ it is advisable to run:
+diff --git a/rules.make b/rules.make
+index 929b0a3..a8cb9b0 100644
+--- a/rules.make
++++ b/rules.make
+@@ -243,8 +243,8 @@ lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(APPLY_HACK_OBJECT) $(LIBCHIC
+
+ # import libraries and extensions
+
+-%.so: %.o
+- $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \
++%.so: %.o $(PRIMARY_LIBCHICKEN)
++ $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $< $(LINKER_OUTPUT_OPTION) $@ \
+ $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \
+ $(LIBRARIES)
+
+@@ -578,9 +578,9 @@ chicken-profile.c: $(SRCDIR)chicken-profile.scm
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
+ chicken-install.c: $(SRCDIR)chicken-install.scm setup-download.c setup-api.c
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
+-chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm
++chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm setup-api.c
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
+-chicken-status.c: $(SRCDIR)chicken-status.scm
++chicken-status.c: $(SRCDIR)chicken-status.scm setup-api.c
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
+ csc.c: $(SRCDIR)csc.scm
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
+@@ -671,14 +671,17 @@ bench: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)$(EXE
+ .PHONY: boot-chicken
+
+ boot-chicken:
++ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean
+ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \
+ SRCDIR=$(SRCDIR) CHICKEN=$(CHICKEN) PROGRAM_SUFFIX=-boot-stage1 STATICBUILD=1 \
+ C_COMPILER_OPTIMIZATION_OPTIONS= C_HACKED_APPLY= \
+- confclean chicken-boot-stage1$(EXE)
++ chicken-boot-stage1$(EXE)
++ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= touchfiles
+ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \
+ SRCDIR=$(SRCDIR) CHICKEN=`pwd`/chicken-boot-stage1$(EXE) PROGRAM_SUFFIX=-boot \
+ STATICBUILD=1 C_COMPILER_OPTIMIZATION_OPTIONS= \
+- touchfiles chicken-boot$(EXE) confclean
++ chicken-boot$(EXE)
++ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean
+
+ .PHONY: touchfiles
+
diff --git a/dev-scheme/chicken/metadata.xml b/dev-scheme/chicken/metadata.xml
index b3cd8071226f..cc5af33bd39b 100644
--- a/dev-scheme/chicken/metadata.xml
+++ b/dev-scheme/chicken/metadata.xml
@@ -2,6 +2,15 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>scheme</herd>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>ewfalor@gmail.com</email>
+ <name>Erik Falor</name>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
<longdescription>
CHICKEN is a compiler for the Scheme programming language. CHICKEN produces
portable, efficient C, supports almost all of the current Scheme language
@@ -9,4 +18,8 @@ standard, the Revised5 Report on the Algorithmic Language Scheme (R5RS ), and
includes many enhancements and extensions. CHICKEN runs on MacOS X, Windows, and
many Unix flavours.
</longdescription>
+<use>
+ <flag name="parallel-build">Enable testing parallel build mode added in
+ 4.7.3 version. Can still be not working</flag>
+</use>
</pkgmetadata>