Gentoo Archives: gentoo-commits

From: "Andrey Grozin (grozin)" <grozin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lisp/sbcl: sbcl-1.2.2.ebuild ChangeLog
Date: Sun, 03 Aug 2014 04:29:16
Message-Id: 20140803042909.CFB912004F@flycatcher.gentoo.org
1 grozin 14/08/03 04:29:08
2
3 Modified: ChangeLog
4 Added: sbcl-1.2.2.ebuild
5 Log:
6 Version bump
7
8 (Portage version: 2.2.10/cvs/Linux i686, signed Manifest commit with key 0x3AFFCE974D34BD8C!)
9
10 Revision Changes Path
11 1.207 dev-lisp/sbcl/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/ChangeLog?rev=1.207&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/ChangeLog?rev=1.207&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/ChangeLog?r1=1.206&r2=1.207
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v
20 retrieving revision 1.206
21 retrieving revision 1.207
22 diff -u -r1.206 -r1.207
23 --- ChangeLog 11 Jul 2014 08:51:57 -0000 1.206
24 +++ ChangeLog 3 Aug 2014 04:29:08 -0000 1.207
25 @@ -1,6 +1,12 @@
26 # ChangeLog for dev-lisp/sbcl
27 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.206 2014/07/11 08:51:57 patrick Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.207 2014/08/03 04:29:08 grozin Exp $
30 +
31 +*sbcl-1.2.2 (03 Aug 2014)
32 +
33 + 03 Aug 2014; Andrey Grozin <grozin@g.o> +sbcl-1.2.2.ebuild,
34 + +files/bsd-sockets-test-1.2.patch:
35 + Version bump
36
37 11 Jul 2014; Patrick Lauer <patrick@g.o> sbcl-1.1.18.ebuild:
38 Stable on amd64 #511170
39
40
41
42 1.1 dev-lisp/sbcl/sbcl-1.2.2.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/sbcl-1.2.2.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/sbcl-1.2.2.ebuild?rev=1.1&content-type=text/plain
46
47 Index: sbcl-1.2.2.ebuild
48 ===================================================================
49 # Copyright 1999-2014 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-1.2.2.ebuild,v 1.1 2014/08/03 04:29:08 grozin Exp $
52
53 EAPI=5
54 inherit multilib eutils flag-o-matic pax-utils
55
56 #same order as http://www.sbcl.org/platform-table.html
57 BV_X86=1.0.58
58 BV_AMD64=1.2.2
59 BV_PPC=1.0.28
60 BV_SPARC=1.0.28
61 BV_ALPHA=1.0.28
62
63 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp."
64 HOMEPAGE="http://sbcl.sourceforge.net/"
65 SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
66 x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
67 amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
68 ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
69 sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
70 alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )"
71
72 LICENSE="MIT"
73 SLOT="0/${PV}"
74 KEYWORDS="~amd64 ~ppc ~sparc ~x86"
75 IUSE="debug doc source +threads +unicode zlib"
76
77 CDEPEND=">=dev-lisp/asdf-2.33-r3:="
78 DEPEND="${CDEPEND}
79 doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )"
80 RDEPEND="${CDEPEND}
81 elibc_glibc? ( >=sys-libs/glibc-2.3 || ( <sys-libs/glibc-2.6[nptl] >=sys-libs/glibc-2.6 ) )"
82
83 # Disable warnings about executable stacks, as this won't be fixed soon by upstream
84 QA_EXECSTACK="usr/bin/sbcl"
85
86 CONFIG="${S}/customize-target-features.lisp"
87 ENVD="${T}/50sbcl"
88
89 # Prevent ASDF from using the system libraries
90 CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)"
91 ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)"
92
93 usep() {
94 use ${1} && echo "true" || echo "false"
95 }
96
97 sbcl_feature() {
98 echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}"
99 }
100
101 sbcl_apply_features() {
102 sed 's/^X//' > "${CONFIG}" <<-'EOF'
103 (lambda (list)
104 X (flet ((enable (x) (pushnew x list))
105 X (disable (x) (setf list (remove x list))))
106 EOF
107 if use x86 || use amd64; then
108 sbcl_feature "$(usep threads)" ":sb-thread"
109 fi
110 sbcl_feature "true" ":sb-ldb"
111 sbcl_feature "false" ":sb-test"
112 sbcl_feature "$(usep unicode)" ":sb-unicode"
113 sbcl_feature "$(usep zlib)" ":sb-core-compression"
114 sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
115 sed 's/^X//' >> "${CONFIG}" <<-'EOF'
116 X )
117 X list)
118 EOF
119 cat "${CONFIG}"
120 }
121
122 src_unpack() {
123 unpack ${A}
124 mv sbcl-*-linux sbcl-binary || die
125 cd "${S}"
126 }
127
128 src_prepare() {
129 epatch "${FILESDIR}"/gentoo-fix_install_man.patch
130 epatch "${FILESDIR}"/gentoo-fix_linux-os-c.patch
131 # bug #468482
132 epatch "${FILESDIR}"/concurrency-test.patch
133 # bug #486552
134 epatch "${FILESDIR}"/bsd-sockets-test-1.2.patch
135
136 # To make the hardened compiler NOT compile with -fPIE -pie
137 if gcc-specs-pie ; then
138 einfo "Disabling PIE..."
139 epatch "${FILESDIR}"/${PN}-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch
140 fi
141
142 cp /usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
143
144 use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
145
146 # Some shells(such as dash) don't have "time" as builtin
147 # and we don't want to DEPEND on sys-process/time
148 sed "s,^time ,," -i make.sh || die
149 sed "s,/lib,/$(get_libdir),g" -i install.sh || die
150 # #define SBCL_HOME ...
151 sed "s,/usr/local/lib,/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
152
153 find . -type f -name .cvsignore -delete
154 }
155
156 src_configure() {
157 # customizing SBCL version as per
158 # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
159 echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
160
161 # applying customizations
162 sbcl_apply_features
163 }
164
165 src_compile() {
166 local bindir="${WORKDIR}"/sbcl-binary
167
168 strip-unsupported-flags ; filter-flags -fomit-frame-pointer
169
170 if host-is-pax ; then
171 # To disable PaX on hardened systems
172 pax-mark -C "${bindir}"/src/runtime/sbcl
173 pax-mark -mr "${bindir}"/src/runtime/sbcl
174
175 # Hack to disable PaX on second GENESIS stage
176 sed -i -e '/load/!s/^echo \/\/doing warm.*$/&\npaxctl -C \.\/src\/runtime\/sbcl\npaxctl -mprexs \.\/src\/runtime\/sbcl/' \
177 "${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
178 fi
179
180 # clear the environment to get rid of non-ASCII strings, see bug 174702
181 # set HOME for paludis
182 env - HOME="${T}" \
183 CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
184 CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
185 GNUMAKE=make ./make.sh \
186 "sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
187 || die "make failed"
188
189 # need to set HOME because libpango(used by graphviz) complains about it
190 if use doc; then
191 env - HOME="${T}" \
192 CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
193 ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
194 make -C doc/manual info html || die "Cannot build manual"
195 env - HOME="${T}" \
196 CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
197 ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
198 make -C doc/internals info html || die "Cannot build internal docs"
199 fi
200 }
201
202 src_test() {
203 ewarn "Unfortunately, it is known that some tests fail eg."
204 ewarn "run-program.impure.lisp. This is an issue of the upstream's"
205 ewarn "development and not of Gentoo's side. Please, before filing"
206 ewarn "any bug(s) search for older submissions. Thank you."
207 time ( cd tests && sh run-tests.sh )
208 }
209
210 src_install() {
211 # install system-wide initfile
212 dodir /etc/
213 sed 's/^X//' > "${D}"/etc/sbclrc <<-EOF
214 ;;; The following is required if you want source location functions to
215 ;;; work in SLIME, for example.
216 X
217 (setf (logical-pathname-translations "SYS")
218 X '(("SYS:SRC;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/src/**/*.*")
219 X ("SYS:CONTRIB;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/**/*.*")))
220 X
221 ;;; Setup ASDF2
222 (load "/etc/common-lisp/gentoo-init.lisp")
223 EOF
224
225 # Install documentation
226 unset SBCL_HOME
227 INSTALL_ROOT="${D}/usr" LIB_DIR="/usr/$(get_libdir)" DOC_DIR="${D}/usr/share/doc/${PF}" \
228 sh install.sh || die "install.sh failed"
229
230 # rm empty directories lest paludis complain about this
231 find "${D}" -empty -type d -exec rmdir -v {} +
232
233 if use doc; then
234 dohtml -r doc/manual/
235 doinfo doc/manual/*.info*
236 dohtml -r doc/internals/sbcl-internals
237 doinfo doc/internals/sbcl-internals.info
238 docinto internals-notes && dodoc doc/internals-notes/*
239 else
240 rm -Rv "${D}/usr/share/doc/${PF}" || die
241 fi
242
243 dodoc BUGS CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README TLA TODO
244
245 # install the SBCL source
246 if use source; then
247 ./clean.sh
248 cp -av src "${D}/usr/$(get_libdir)/sbcl/" || die
249 fi
250
251 # necessary for running newly-saved images
252 echo "SBCL_HOME=/usr/$(get_libdir)/${PN}" > "${ENVD}"
253 echo "SBCL_SOURCE_ROOT=/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
254 doenvd "${ENVD}"
255 }