Gentoo Archives: gentoo-commits

From: Andrey Grozin <grozin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lisp/sbcl/
Date: Tue, 01 Aug 2017 13:18:16
Message-Id: 1501593467.7a892389264cd8feff7dd7678b02a32d5d807481.grozin@gentoo
1 commit: 7a892389264cd8feff7dd7678b02a32d5d807481
2 Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
3 AuthorDate: Tue Aug 1 13:16:44 2017 +0000
4 Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
5 CommitDate: Tue Aug 1 13:17:47 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a892389
7
8 dev-lisp/sbcl: bump to 1.3.20
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.2
11
12 dev-lisp/sbcl/Manifest | 3 +
13 dev-lisp/sbcl/sbcl-1.3.20.ebuild | 235 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 238 insertions(+)
15
16 diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest
17 index ce018092ab9..56430360060 100644
18 --- a/dev-lisp/sbcl/Manifest
19 +++ b/dev-lisp/sbcl/Manifest
20 @@ -31,4 +31,7 @@ DIST sbcl-1.3.18-source.tar.bz2 5850931 SHA256 fb2d622cba55ac441b7eb1be3c7343cd5
21 DIST sbcl-1.3.18-x86-64-linux-binary.tar.bz2 10959273 SHA256 eb44d9efb4389f71c05af0327bab7cd18f8bb221fb13a6e458477a9194853958 SHA512 b93f74fb36de3cebf87d3e742dcc65072b26259ebf7386227ef6f07ad7f8df512d504dbf87298e1b5eb7fefe0b8760fcf777fdc1cf7ed1c3ddb99d4a71b92864 WHIRLPOOL e0ae9cad97a505a8d1fd80b0e6bd2ef30183256bc7f51ffff1fb50190f7a84834f16f3f12f5b27bceb31c5b8fd165a1d6e0eb61842cf16cfd61330bbf3a98c6c
22 DIST sbcl-1.3.19-source.tar.bz2 5872299 SHA256 b5eb98537aaa7afe24851a6da2f65798c6607e975062618dba33fa3a087fc018 SHA512 d2e23b30502362efc5256c63f56199603d5264dcda1f9be58136246656db1788fbd98b3129f3249e2dff4367dfd67faff2fb62a9a97ce3b73f21c7cb9c84ecec WHIRLPOOL 7d3c90c74b2483d2f444dd11e9e1fca57753c69ca411c9d19f9abe91fa9e61b5318b944739003b7cf892e47c395efae58ad37b502f2aadbcffe5372efd5ce6fe
23 DIST sbcl-1.3.19-x86-64-linux-binary.tar.bz2 10552568 SHA256 d9207dd75d631919bc99d500fd441cfbfded63e1c3985a8a08dbc60d658adad8 SHA512 2f8fffa067adac2798e39dc9b23715b4bef7fd9681de1c5253d4e8c897652e2ac71b493c433ea3d6fb57b4e104b7d8cfe279ea5a3c73f38b6a3c0a77484acdc7 WHIRLPOOL 663b377af82136f95181fd0abeb41930ea40eac5989b54abed3e537825c2c099b10d77ca3fbdf19c2065c17ece75a0e1d9d0c179206b6502fe65e15a4fe8f0f0
24 +DIST sbcl-1.3.20-source.tar.bz2 5873056 SHA256 5282318053b62ff041c14956dd5a2e2e66697482141713c6c5df375d05cd1f62 SHA512 f22a661ac7d74fffb8d3f10f17289eeca7a7bd2978f895176a98882851e3f7d808ac4771a4001d693edd3e2fc1cba27caf1ae8312d85e732330c97a3dcc13740 WHIRLPOOL 335eb0743ff4b2f35de0150aa253f21076abe2b05376fe63f569f54f9979979d656f282e19353432476a6158b8d81a3d6753df2b73d56b3885462cb1027e82a2
25 +DIST sbcl-1.3.20-x86-64-linux-binary.tar.bz2 10617351 SHA256 cda8d3f36eaaa52e0bda8042cf2e49a2ca1b71e5076eb78104de012cff91c95d SHA512 7e84e84e065b4bf848d1fe1442fb25b6b7fc6988e10598181c98731cc7ce7498ef09a8be3743304fc602f7086a58dc6c8dc30786db0574407794d4cd4283d5af WHIRLPOOL d679d32120544e78da2732302b62957f036142aba3c4c810a7fc48272d71c80f06dff018e85c51bdbc80747e99386690aeb9e3e8baa0c0b660d90e1a09954581
26 +DIST sbcl-1.3.20-x86-linux-binary.tar.bz2 10626852 SHA256 ad89c3079fe9e64ce35b0a04121088403b4c5de5bc49fa2f94e27e75443c6d5a SHA512 1b871208b431ec86860022fce5fa6fa7ee44c729f216d0ec2b8001ed67eed164600d867936beed3c44f9e018ad07221c0610b2d033f54b2b2d79674f1deba8ee WHIRLPOOL f1987db711e25de5fdda4b1dc0749d9edc6c88c6fe4ec78ed5f50146c043ff5c969764c0fad15e7cfe392a048a5366a9631893c93d7210057d10d8a2963f6323
27 DIST sbcl-1.3.9-armhf-linux-binary.tar.bz2 9161130 SHA256 da2d296a8ab107a7b2e10831836648d882b01193f60269853932af4f63a06571 SHA512 309e2ac7ef9ac95bf751432cf243af0de022c5b21054df2bf4e99da4ff087218af72b0ab3be69214eba3df1b6bbe707cc28840508e960c5d2ed2af0e86de3fdd WHIRLPOOL d2dde314d2b49e4246823032d953bbfe0858f7c69d0445da356426f9c5fac73036b32c1c048cf7f43615fa02707e8e434d8b085942e79d1e2b20f6fcb7e08919
28
29 diff --git a/dev-lisp/sbcl/sbcl-1.3.20.ebuild b/dev-lisp/sbcl/sbcl-1.3.20.ebuild
30 new file mode 100644
31 index 00000000000..3665ca2582b
32 --- /dev/null
33 +++ b/dev-lisp/sbcl/sbcl-1.3.20.ebuild
34 @@ -0,0 +1,235 @@
35 +# Copyright 1999-2017 Gentoo Foundation
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=6
39 +
40 +inherit multilib eutils flag-o-matic pax-utils
41 +
42 +#same order as http://www.sbcl.org/platform-table.html
43 +BV_X86=1.3.20
44 +BV_AMD64=1.3.20
45 +BV_PPC=1.2.7
46 +BV_SPARC=1.0.28
47 +BV_ALPHA=1.0.28
48 +BV_ARM=1.3.12
49 +BV_ARM64=1.3.16
50 +BV_PPC_MACOS=1.0.47
51 +BV_X86_MACOS=1.1.6
52 +BV_X64_MACOS=1.2.11
53 +BV_SPARC_SOLARIS=1.0.23
54 +BV_X86_SOLARIS=1.2.7
55 +BV_X64_SOLARIS=1.2.7
56 +
57 +DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
58 +HOMEPAGE="http://sbcl.sourceforge.net/"
59 +SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
60 + x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
61 + amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
62 + ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
63 + sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
64 + alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
65 + arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
66 + arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
67 + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
68 + x86-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_MACOS}-x86-darwin-binary.tar.bz2 )
69 + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
70 + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )
71 + x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
72 + x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )"
73 +
74 +LICENSE="MIT"
75 +SLOT="0/${PV}"
76 +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
77 +IUSE="debug doc source +threads +unicode pax_kernel zlib"
78 +
79 +CDEPEND=">=dev-lisp/asdf-3.1:="
80 +DEPEND="${CDEPEND}
81 + doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )
82 + pax_kernel? ( sys-apps/elfix )"
83 +RDEPEND="${CDEPEND}
84 + !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )"
85 +
86 +# Disable warnings about executable stacks, as this won't be fixed soon by upstream
87 +QA_EXECSTACK="usr/bin/sbcl"
88 +
89 +CONFIG="${S}/customize-target-features.lisp"
90 +ENVD="${T}/50sbcl"
91 +
92 +# Prevent ASDF from using the system libraries
93 +CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)"
94 +ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)"
95 +
96 +usep() {
97 + use ${1} && echo "true" || echo "false"
98 +}
99 +
100 +sbcl_feature() {
101 + echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}"
102 +}
103 +
104 +sbcl_apply_features() {
105 + sed 's/^X//' > "${CONFIG}" <<-'EOF'
106 + (lambda (list)
107 + X (flet ((enable (x) (pushnew x list))
108 + X (disable (x) (setf list (remove x list))))
109 + EOF
110 + if use x86 || use amd64; then
111 + sbcl_feature "$(usep threads)" ":sb-thread"
112 + fi
113 + sbcl_feature "true" ":sb-ldb"
114 + sbcl_feature "false" ":sb-test"
115 + sbcl_feature "$(usep unicode)" ":sb-unicode"
116 + sbcl_feature "$(usep zlib)" ":sb-core-compression"
117 + sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
118 + sed 's/^X//' >> "${CONFIG}" <<-'EOF'
119 + X )
120 + X list)
121 + EOF
122 + cat "${CONFIG}"
123 +}
124 +
125 +src_unpack() {
126 + unpack ${A}
127 + mv sbcl-*-* sbcl-binary || die
128 + cd "${S}"
129 +}
130 +
131 +src_prepare() {
132 + # bug #468482
133 + eapply "${FILESDIR}"/concurrency-test-1.3.15.patch
134 + # bugs #486552, #527666, #517004
135 + eapply "${FILESDIR}"/${PN}-1.3.19-bsd-sockets-test.patch
136 + # bugs #560276, #561018
137 + eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
138 +
139 + eapply "${FILESDIR}"/${PN}-1.2.11-solaris.patch
140 + eapply "${FILESDIR}"/${PN}-1.2.13-verbose-build.patch
141 +
142 + eapply_user
143 +
144 + # bug #526194
145 + sed -e "s@CFLAGS =.*\$@CFLAGS = ${CFLAGS} -g -Wall -Wsign-compare@" \
146 + -e "s@LINKFLAGS =.*\$@LINKFLAGS = ${LDFLAGS} -g@" \
147 + -i src/runtime/GNUmakefile || die
148 +
149 + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
150 + -i make-config.sh || die
151 +
152 + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
153 +
154 + use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
155 +
156 + # Some shells(such as dash) don't have "time" as builtin
157 + # and we don't want to DEPEND on sys-process/time
158 + sed "s,^time ,," -i make.sh || die
159 + sed "s,/lib,/$(get_libdir),g" -i install.sh || die
160 + # #define SBCL_HOME ...
161 + sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
162 + # change location of /etc/sbclrc ...
163 + sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die
164 +
165 + find . -type f -name .cvsignore -delete
166 +}
167 +
168 +src_configure() {
169 + # customizing SBCL version as per
170 + # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
171 + echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
172 +
173 + # applying customizations
174 + sbcl_apply_features
175 +}
176 +
177 +src_compile() {
178 + local bindir="${WORKDIR}"/sbcl-binary
179 +
180 + strip-unsupported-flags ; filter-flags -fomit-frame-pointer
181 +
182 + if use pax_kernel ; then
183 + # To disable PaX on hardened systems
184 + pax-mark -mr "${bindir}"/src/runtime/sbcl
185 +
186 + # Hack to disable PaX on second GENESIS stage
187 + sed -i -e '/^[ \t]*echo \/\/doing warm init - compilation phase$/a\ paxmark.sh -mr \.\/src\/runtime\/sbcl' \
188 + "${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
189 + fi
190 +
191 + # clear the environment to get rid of non-ASCII strings, see bug 174702
192 + # set HOME for paludis
193 + env - HOME="${T}" PATH="${PATH}" \
194 + CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
195 + CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
196 + GNUMAKE=make ./make.sh \
197 + "sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
198 + || die "make failed"
199 +
200 + # need to set HOME because libpango(used by graphviz) complains about it
201 + if use doc; then
202 + env - HOME="${T}" PATH="${PATH}" \
203 + CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
204 + ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
205 + make -C doc/manual info html || die "Cannot build manual"
206 + env - HOME="${T}" PATH="${PATH}" \
207 + CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
208 + ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
209 + make -C doc/internals info html || die "Cannot build internal docs"
210 + fi
211 +}
212 +
213 +src_test() {
214 + ewarn "Unfortunately, it is known that some tests fail eg."
215 + ewarn "run-program.impure.lisp. This is an issue of the upstream's"
216 + ewarn "development and not of Gentoo's side. Please, before filing"
217 + ewarn "any bug(s) search for older submissions. Thank you."
218 + time ( cd tests && sh run-tests.sh )
219 +}
220 +
221 +src_install() {
222 + # install system-wide initfile
223 + dodir /etc/
224 + sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF
225 + ;;; The following is required if you want source location functions to
226 + ;;; work in SLIME, for example.
227 + X
228 + (setf (logical-pathname-translations "SYS")
229 + X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*")
230 + X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*")))
231 + X
232 + ;;; Setup ASDF2
233 + (load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp")
234 + EOF
235 +
236 + # Install documentation
237 + unset SBCL_HOME
238 + INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \
239 + sh install.sh || die "install.sh failed"
240 +
241 + # bug #517008
242 + pax-mark -mr "${D}"/usr/bin/sbcl
243 +
244 + # rm empty directories lest paludis complain about this
245 + find "${ED}" -empty -type d -exec rmdir -v {} +
246 +
247 + if use doc; then
248 + dodoc -r doc/internals/sbcl-internals
249 +
250 + doinfo doc/manual/*.info*
251 + doinfo doc/internals/sbcl-internals.info
252 +
253 + docinto internals-notes
254 + dodoc doc/internals-notes/*
255 + else
256 + rm -Rv "${ED}/usr/share/doc/${PF}" || die
257 + fi
258 +
259 + # install the SBCL source
260 + if use source; then
261 + ./clean.sh
262 + cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die
263 + fi
264 +
265 + # necessary for running newly-saved images
266 + echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}"
267 + echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
268 + doenvd "${ENVD}"
269 +}