Gentoo Archives: gentoo-commits

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