From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 40EAE198005 for ; Thu, 21 Feb 2013 18:31:26 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 23F8DE0212; Thu, 21 Feb 2013 18:31:25 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 95A55E0212 for ; Thu, 21 Feb 2013 18:31:24 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5E46933D92A for ; Thu, 21 Feb 2013 18:31:23 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id E3173E4073 for ; Thu, 21 Feb 2013 18:31:21 +0000 (UTC) From: "Erik Falor" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Erik Falor" Message-ID: <1361470448.20018f4e0787e7905c2a978654c800ae5e86c077.erik_falor@gentoo> Subject: [gentoo-commits] proj/lisp:master commit in: dev-scheme/chicken/files/, dev-scheme/chicken/ X-VCS-Repository: proj/lisp X-VCS-Files: dev-scheme/chicken/chicken-4.8.0.2.ebuild dev-scheme/chicken/files/chicken-4.8.0.2-parallel-build.patch X-VCS-Directories: dev-scheme/chicken/files/ dev-scheme/chicken/ X-VCS-Committer: erik_falor X-VCS-Committer-Name: Erik Falor X-VCS-Revision: 20018f4e0787e7905c2a978654c800ae5e86c077 X-VCS-Branch: master Date: Thu, 21 Feb 2013 18:31:21 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 56fc71f0-c71b-4c35-9cd0-db4443c54629 X-Archives-Hash: 4bbdaceed092ce8de543fa5a741e78e3 commit: 20018f4e0787e7905c2a978654c800ae5e86c077 Author: Erik Falor (fadein) gmail com> AuthorDate: Thu Feb 21 18:14:08 2013 +0000 Commit: Erik Falor gmail com> CommitDate: Thu Feb 21 18:14:08 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=20018f4e dev-scheme/chicken: bump 4,8.0.2 --- dev-scheme/chicken/chicken-4.8.0.2.ebuild | 77 ++++++++++++++++++++ .../files/chicken-4.8.0.2-parallel-build.patch | 74 +++++++++++++++++++ 2 files changed, 151 insertions(+), 0 deletions(-) diff --git a/dev-scheme/chicken/chicken-4.8.0.2.ebuild b/dev-scheme/chicken/chicken-4.8.0.2.ebuild new file mode 100644 index 0000000..9f57b17 --- /dev/null +++ b/dev-scheme/chicken/chicken-4.8.0.2.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/chicken-4.8.0.1.ebuild,v 1.1 2013/02/05 23:51:45 pchrist Exp $ + +EAPI="3" + +inherit eutils multilib versionator + +MY_PV=$(get_version_component_range 1-3) +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/releases/${MY_PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86" +IUSE="emacs parallel-build doc" + +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 and $A + sed 's,A\(\s?=\|)\),chicken&,' -i Makefile.cross-linux-mingw \ + defaults.make rules.make \ + || die "sed failed" + + sed "s,ARCH,zARCH," -i Makefile.bsd Makefile.cross-linux-mingw \ + Makefile.cygwin Makefile.haiku Makefile.linux Makefile.macosx \ + Makefile.mingw Makefile.mingw-msys Makefile.solaris \ + defaults.make rules.make \ + || die "sed failed" + + 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 + emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \ + LINKER_OPTIONS="${LDFLAGS}" \ + HOSTSYSTEM="${CBUILD}" || die "emake failed" + else + emake -j1 ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \ + LINKER_OPTIONS="${LDFLAGS}" \ + 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}" \ + LINKER_OPTIONS="${LDFLAGS}" \ + install || die + + rm "${D}"/usr/share/doc/${P}/LICENSE || die + dodoc NEWS || die + + # remove HTML documentation if the user doesn't USE=doc + if ! use "doc" + then + rm -rf "${D}"/usr/share/doc/${P}/manual || die + fi +} diff --git a/dev-scheme/chicken/files/chicken-4.8.0.2-parallel-build.patch b/dev-scheme/chicken/files/chicken-4.8.0.2-parallel-build.patch new file mode 100644 index 0000000..a42dd2e --- /dev/null +++ b/dev-scheme/chicken/files/chicken-4.8.0.2-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) + +@@ -582,9 +582,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 $@ +@@ -675,14 +675,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= \ + CHICKEN=$(CHICKEN) PROGRAM_SUFFIX=-boot-stage1 STATICBUILD=1 \ + C_COMPILER_OPTIMIZATION_OPTIONS= C_HACKED_APPLY= BUILDING_CHICKEN_BOOT=1 \ +- 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= \ + CHICKEN=.$(SEP)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 +