diff options
author | Maxim Koltsov <maksbotan@gentoo.org> | 2011-12-07 19:31:03 +0000 |
---|---|---|
committer | Maxim Koltsov <maksbotan@gentoo.org> | 2011-12-07 19:31:03 +0000 |
commit | c28a4ec98ef3cc11091ba82ccf8d26be26d931f4 (patch) | |
tree | 69d741f2809bd33ef1f786294d391075d640044a /dev-scheme | |
parent | Add settings for x32 ABI, and make amd64 explicit in case it is not the defau... (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | dev-scheme/chicken/chicken-4.7.3.ebuild | 65 | ||||
-rw-r--r-- | dev-scheme/chicken/files/chicken-4.7.3-parallel-build.patch | 74 | ||||
-rw-r--r-- | dev-scheme/chicken/metadata.xml | 13 |
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> |