forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ebuild and patch submitted by maintainer in sec bug #467966 Package-Manager: portage-2.2.20.1
- Loading branch information
Ian Delaney
committed
Sep 13, 2015
1 parent
9f86f0b
commit 2ba4fbc
Showing
3 changed files
with
137 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|