1 |
commit: d9d18a329f0ecfa770c1a69db276cc357e3f6266 |
2 |
Author: Erik Falor <ewfalor <AT> gmail <DOT> com> |
3 |
AuthorDate: Sat Jun 7 06:34:09 2014 +0000 |
4 |
Commit: Erik Falor <ewfalor <AT> gmail <DOT> com> |
5 |
CommitDate: Sat Jun 7 06:34:09 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=d9d18a32 |
7 |
|
8 |
dev-scheme/chicken: bump to version 4.9.0 |
9 |
|
10 |
--- |
11 |
dev-scheme/chicken/chicken-4.9.0.ebuild | 76 ++++++++++++++++++++++ |
12 |
.../chicken/files/parallel-build-4.9.0.patch | 74 +++++++++++++++++++++ |
13 |
2 files changed, 150 insertions(+) |
14 |
|
15 |
diff --git a/dev-scheme/chicken/chicken-4.9.0.ebuild b/dev-scheme/chicken/chicken-4.9.0.ebuild |
16 |
new file mode 100644 |
17 |
index 0000000..1cc97aa |
18 |
--- /dev/null |
19 |
+++ b/dev-scheme/chicken/chicken-4.9.0.ebuild |
20 |
@@ -0,0 +1,76 @@ |
21 |
+# Copyright 1999-2013 Gentoo Foundation |
22 |
+# Distributed under the terms of the GNU General Public License v2 |
23 |
+# $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 $ |
24 |
+ |
25 |
+EAPI="5" |
26 |
+ |
27 |
+inherit eutils multilib versionator |
28 |
+ |
29 |
+MY_PV=$(get_version_component_range 1-3) |
30 |
+DESCRIPTION="Chicken is a Scheme interpreter and native Scheme to C compiler" |
31 |
+HOMEPAGE="http://www.call-cc.org/" |
32 |
+SRC_URI="http://code.call-cc.org/releases/${MY_PV}/${P}.tar.gz" |
33 |
+ |
34 |
+LICENSE="BSD" |
35 |
+SLOT="0" |
36 |
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86" |
37 |
+IUSE="emacs parallel-build doc" |
38 |
+ |
39 |
+DEPEND="sys-apps/texinfo |
40 |
+ emacs? ( virtual/emacs )" |
41 |
+RDEPEND="emacs? ( virtual/emacs app-emacs/scheme-complete )" |
42 |
+ |
43 |
+src_prepare() { |
44 |
+ if use "parallel-build" |
45 |
+ then |
46 |
+ epatch "${FILESDIR}"/parallel-build-${MY_PV}.patch |
47 |
+ fi |
48 |
+ |
49 |
+ #Because chicken's Upstream is in the habit of using variables that |
50 |
+ #portage also uses :( eg. $ARCH and $A |
51 |
+ sed 's,A\(\s?=\|)\),chicken&,' -i Makefile.cross-linux-mingw \ |
52 |
+ defaults.make rules.make \ |
53 |
+ || die "sed failed" |
54 |
+ |
55 |
+ sed "s,ARCH,zARCH," -i Makefile.bsd Makefile.cross-linux-mingw \ |
56 |
+ Makefile.cygwin Makefile.haiku Makefile.linux Makefile.macosx \ |
57 |
+ Makefile.mingw Makefile.mingw-msys Makefile.solaris \ |
58 |
+ defaults.make rules.make \ |
59 |
+ || die "sed failed" |
60 |
+ |
61 |
+ sed "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," -i defaults.make || die "sed failed" |
62 |
+ sed "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${P}," -i defaults.make || die "sed failed" |
63 |
+} |
64 |
+ |
65 |
+src_compile() { |
66 |
+ if use "parallel-build" |
67 |
+ then |
68 |
+ OPTIONS="PLATFORM=linux PREFIX=/usr" |
69 |
+ else |
70 |
+ OPTIONS="-j1 PLATFORM=linux PREFIX=/usr" |
71 |
+ fi |
72 |
+ |
73 |
+ emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \ |
74 |
+ LINKER_OPTIONS="${LDFLAGS}" \ |
75 |
+ HOSTSYSTEM="${CBUILD}" || die "emake failed" |
76 |
+} |
77 |
+ |
78 |
+# chicken's testsuite is not runnable before install |
79 |
+# upstream has been notified of the issue |
80 |
+RESTRICT=test |
81 |
+ |
82 |
+src_install() { |
83 |
+ # still can't run make in parallel for the install target |
84 |
+ emake -j1 ${OPTIONS} DESTDIR="${D}" HOSTSYSTEM="${CBUILD}" \ |
85 |
+ LINKER_OPTIONS="${LDFLAGS}" \ |
86 |
+ install || die |
87 |
+ |
88 |
+ rm "${D}"/usr/share/doc/${P}/LICENSE || die |
89 |
+ dodoc NEWS || die |
90 |
+ |
91 |
+ # remove HTML documentation if the user doesn't USE=doc |
92 |
+ if ! use "doc" |
93 |
+ then |
94 |
+ rm -rf "${D}"/usr/share/doc/${P}/manual || die |
95 |
+ fi |
96 |
+} |
97 |
|
98 |
diff --git a/dev-scheme/chicken/files/parallel-build-4.9.0.patch b/dev-scheme/chicken/files/parallel-build-4.9.0.patch |
99 |
new file mode 100644 |
100 |
index 0000000..841c034 |
101 |
--- /dev/null |
102 |
+++ b/dev-scheme/chicken/files/parallel-build-4.9.0.patch |
103 |
@@ -0,0 +1,74 @@ |
104 |
+diff --git a/GNUmakefile b/GNUmakefile |
105 |
+index 9bc40ca..c697f14 100644 |
106 |
+--- a/GNUmakefile |
107 |
++++ b/GNUmakefile |
108 |
+@@ -49,6 +49,9 @@ STANDARD_TARGETS \ |
109 |
+ fullcheck libs install-target install-dev bench |
110 |
+ |
111 |
+ .PHONY: $(STANDARD_TARGETS) dist boot-chicken |
112 |
++# Build this file's targets sequentially. This avoids executing overlapping |
113 |
++# makes if the user specifies multiple targets. |
114 |
++.NOTPARALLEL: |
115 |
+ |
116 |
+ $(STANDARD_TARGETS): |
117 |
+ $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) $@ |
118 |
+diff --git a/README b/README |
119 |
+index 8d0d067..551b716 100644 |
120 |
+--- a/README |
121 |
++++ b/README |
122 |
+@@ -72,7 +72,7 @@ |
123 |
+ platforms. |
124 |
+ |
125 |
+ Note that parallel builds (using the "-j" make(1) option) are |
126 |
+- *not* supported. |
127 |
++ also supported. Beware that parallel install will not work though. |
128 |
+ |
129 |
+ If you invoke "make" later with different configuration parameters, |
130 |
+ it is advisable to run: |
131 |
+diff --git a/rules.make b/rules.make |
132 |
+index 929b0a3..a8cb9b0 100644 |
133 |
+--- a/rules.make |
134 |
++++ b/rules.make |
135 |
+@@ -243,8 +243,8 @@ lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(APPLY_HACK_OBJECT) $(LIBCHIC |
136 |
+ |
137 |
+ # import libraries and extensions |
138 |
+ |
139 |
+-%.so: %.o |
140 |
+- $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \ |
141 |
++%.so: %.o $(PRIMARY_LIBCHICKEN) |
142 |
++ $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $< $(LINKER_OUTPUT_OPTION) $@ \ |
143 |
+ $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \ |
144 |
+ $(LIBRARIES) |
145 |
+ |
146 |
+@@ -582,9 +582,9 @@ chicken-profile.c: $(SRCDIR)chicken-profile.scm |
147 |
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ |
148 |
+ chicken-install.c: $(SRCDIR)chicken-install.scm setup-download.c setup-api.c |
149 |
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ |
150 |
+-chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm |
151 |
++chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm setup-api.c |
152 |
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ |
153 |
+-chicken-status.c: $(SRCDIR)chicken-status.scm |
154 |
++chicken-status.c: $(SRCDIR)chicken-status.scm setup-api.c |
155 |
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ |
156 |
+ csc.c: $(SRCDIR)csc.scm |
157 |
+ $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ |
158 |
+@@ -675,14 +675,17 @@ bench: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)$(EXE |
159 |
+ .PHONY: boot-chicken |
160 |
+ |
161 |
+ boot-chicken: |
162 |
++ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean |
163 |
+ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \ |
164 |
+ CHICKEN=$(CHICKEN) PROGRAM_SUFFIX=-boot-stage1 STATICBUILD=1 \ |
165 |
+ C_COMPILER_OPTIMIZATION_OPTIONS="$(C_COMPILER_OPTIMIZATION_OPTIONS)" C_HACKED_APPLY= BUILDING_CHICKEN_BOOT=1 \ |
166 |
+- confclean chicken-boot-stage1$(EXE) |
167 |
++ chicken-boot-stage1$(EXE) |
168 |
++ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= touchfiles |
169 |
+ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \ |
170 |
+ CHICKEN=.$(SEP)chicken-boot-stage1$(EXE) PROGRAM_SUFFIX=-boot \ |
171 |
+ STATICBUILD=1 C_COMPILER_OPTIMIZATION_OPTIONS="$(C_COMPILER_OPTIMIZATION_OPTIONS)" \ |
172 |
+- touchfiles chicken-boot$(EXE) confclean |
173 |
++ chicken-boot$(EXE) |
174 |
++ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean |
175 |
+ |
176 |
+ .PHONY: touchfiles |
177 |
+ |