diff options
author | Ian Delaney <idella4@gentoo.org> | 2015-09-14 00:23:34 +0800 |
---|---|---|
committer | Ian Delaney <idella4@gentoo.org> | 2015-09-14 00:23:34 +0800 |
commit | 2ba4fbcaa5f7a7983ab7d4fd3d13eb53c8d45d7a (patch) | |
tree | cc5afcc0a2d920cb650d4a8ac1cc8275e7c09a4e /dev-scheme | |
parent | x11-terms/pangoterm: Update version and relax libvterm dep (diff) | |
download | gentoo-2ba4fbcaa5f7a7983ab7d4fd3d13eb53c8d45d7a.tar.gz gentoo-2ba4fbcaa5f7a7983ab7d4fd3d13eb53c8d45d7a.tar.bz2 gentoo-2ba4fbcaa5f7a7983ab7d4fd3d13eb53c8d45d7a.zip |
dev-scheme/chicken: bump to 4.10.0
ebuild and patch submitted by maintainer in sec bug #467966
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'dev-scheme')
-rw-r--r-- | dev-scheme/chicken/Manifest | 1 | ||||
-rw-r--r-- | dev-scheme/chicken/chicken-4.10.0.ebuild | 76 | ||||
-rw-r--r-- | dev-scheme/chicken/files/4.10.0-parallel-build.patch | 60 |
3 files changed, 137 insertions, 0 deletions
diff --git a/dev-scheme/chicken/Manifest b/dev-scheme/chicken/Manifest index 03cf7036c1ab..caced7fef657 100644 --- a/dev-scheme/chicken/Manifest +++ b/dev-scheme/chicken/Manifest @@ -1,2 +1,3 @@ +DIST chicken-4.10.0.tar.gz 4020442 SHA256 0e07f5abcd11961986950dbeaa5a40db415f8a1b65daff9c300e9b05b334899b SHA512 ff3405652e232ba7b06a8d4fc092772259f0917b1cdd119c0cf38f27ba95fca99d2c053c0f08317014fd7085e8cf89f68b56f22cb82c2988914b972ce59e3e29 WHIRLPOOL a413fe53c1e630d88b37bc59e8035219811f71a2a7a89c3ca6fc034f645e0029bb3162a3ae152ce11895c941322de86dd15447da7946f8e53967a58e5e031c47 DIST chicken-4.8.0.3-cve-updates.tar.bz2 218025 SHA256 3e4de410766b09706be156d8460a39a8382365470f46f2da545a577a4f986502 SHA512 2ad05fbc414fe536d94a63e4d57c98c3bb19267f99e636c2039cd2c3984778fb7f7a0765c64ed6dbe4c438c14bdc94d1f83a626191e0cb817eeca5ea1e480132 WHIRLPOOL b0c7a0280ff08e1ca66a8155e3917f6b12c4e9d9b94f2b354046d3d4cbc598d5edb43c4a210d30fda59c9a4654e95adfe7b21a0aa84ab795e46b37128235ec1e DIST chicken-4.8.0.3.tar.gz 3959422 SHA256 6a1414e6f35586e47d7f4470eaf1779a4f73dec664b14bebf8763dd804b399c3 SHA512 8a716953fe7eeaea9039e90c5a2abad7fbe341a580176abe870c7b78bfdd11f1291d90bb9df43334b7f7ea484695ba59eba3558b9e360e5e9bd21fa106679197 WHIRLPOOL f55ca79a7df54dce9612b444a5a6a767b9b18cb9ba48a91bb5abab799d260e6c8aef83dade54d38013f41cc4d4b8bbdcda77513d75c91ab038289c6eabcca2fb diff --git a/dev-scheme/chicken/chicken-4.10.0.ebuild b/dev-scheme/chicken/chicken-4.10.0.ebuild new file mode 100644 index 000000000000..8b1e80759e62 --- /dev/null +++ b/dev-scheme/chicken/chicken-4.10.0.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +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}"/${PV}-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() { + if use "parallel-build" + then + OPTIONS="PLATFORM=linux PREFIX=/usr" + else + OPTIONS="-j1 PLATFORM=linux PREFIX=/usr" + fi + + emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \ + LINKER_OPTIONS="${LDFLAGS}" \ + HOSTSYSTEM="${CBUILD}" +} + +# 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 + + rm "${D}"/usr/share/doc/${P}/LICENSE || die + dodoc NEWS + + # 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/4.10.0-parallel-build.patch b/dev-scheme/chicken/files/4.10.0-parallel-build.patch new file mode 100644 index 000000000000..89e2570985fc --- /dev/null +++ b/dev-scheme/chicken/files/4.10.0-parallel-build.patch @@ -0,0 +1,60 @@ +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) + +@@ -580,9 +580,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 $@ +@@ -673,14 +673,17 @@ bench: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)$(EXE + .PHONY: boot-chicken + + boot-chicken: ++ "$(MAKE)" PLATFORM=$(PLATFORM) CONFIG= confclean + "$(MAKE)" PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \ + CHICKEN=$(CHICKEN) PROGRAM_SUFFIX=-boot-stage1 STATICBUILD=1 \ + C_COMPILER_OPTIMIZATION_OPTIONS="$(C_COMPILER_OPTIMIZATION_OPTIONS)" C_HACKED_APPLY= BUILDING_CHICKEN_BOOT=1 \ +- confclean chicken-boot-stage1$(EXE) ++ chicken-boot-stage1$(EXE) ++ "$(MAKE)" PLATFORM=$(PLATFORM) CONFIG= touchfiles + "$(MAKE)" PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \ + CHICKEN=.$(SEP)chicken-boot-stage1$(EXE) PROGRAM_SUFFIX=-boot \ + STATICBUILD=1 C_COMPILER_OPTIMIZATION_OPTIONS="$(C_COMPILER_OPTIMIZATION_OPTIONS)" \ +- touchfiles chicken-boot$(EXE) confclean ++ chicken-boot$(EXE) ++ "$(MAKE)" PLATFORM=$(PLATFORM) CONFIG= confclean + + .PHONY: touchfiles + |