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: ChangeLog sbcl-1.1.7.ebuild
Date: Wed, 01 May 2013 09:27:01
Message-Id: 20130501092654.E6FB02171D@flycatcher.gentoo.org
1 grozin 13/05/01 09:26:54
2
3 Modified: ChangeLog
4 Added: sbcl-1.1.7.ebuild
5 Log:
6 Version bump
7
8 (Portage version: 2.2.0_alpha173/cvs/Linux i686, signed Manifest commit with key 0x3AFFCE974D34BD8C!)
9
10 Revision Changes Path
11 1.189 dev-lisp/sbcl/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/ChangeLog?rev=1.189&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/ChangeLog?rev=1.189&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/ChangeLog?r1=1.188&r2=1.189
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v
20 retrieving revision 1.188
21 retrieving revision 1.189
22 diff -u -r1.188 -r1.189
23 --- ChangeLog 20 Apr 2013 14:17:21 -0000 1.188
24 +++ ChangeLog 1 May 2013 09:26:54 -0000 1.189
25 @@ -1,6 +1,11 @@
26 # ChangeLog for dev-lisp/sbcl
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.188 2013/04/20 14:17:21 grozin Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/ChangeLog,v 1.189 2013/05/01 09:26:54 grozin Exp $
30 +
31 +*sbcl-1.1.7 (01 May 2013)
32 +
33 + 01 May 2013; Andrey Grozin <grozin@g.o> +sbcl-1.1.7.ebuild:
34 + Version bump
35
36 *sbcl-1.1.6-r4 (20 Apr 2013)
37
38
39
40
41 1.1 dev-lisp/sbcl/sbcl-1.1.7.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/sbcl-1.1.7.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lisp/sbcl/sbcl-1.1.7.ebuild?rev=1.1&content-type=text/plain
45
46 Index: sbcl-1.1.7.ebuild
47 ===================================================================
48 # Copyright 1999-2013 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/dev-lisp/sbcl/sbcl-1.1.7.ebuild,v 1.1 2013/05/01 09:26:54 grozin Exp $
51
52 EAPI=5
53 inherit multilib eutils flag-o-matic pax-utils
54
55 #same order as http://www.sbcl.org/platform-table.html
56 BV_X86=1.0.58
57 BV_AMD64=1.1.7
58 BV_PPC=1.0.28
59 BV_SPARC=1.0.28
60 BV_ALPHA=1.0.28
61
62 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp."
63 HOMEPAGE="http://sbcl.sourceforge.net/"
64 SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
65 x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
66 amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
67 ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
68 sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
69 alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )"
70
71 RESTRICT="mirror"
72 LICENSE="MIT"
73 SLOT="0"
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-5.0 >=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 cat > "${CONFIG}" <<'EOF'
103 (lambda (list)
104 (flet ((enable (x) (pushnew x list))
105 (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 cat >> "${CONFIG}" <<'EOF'
116 )
117 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
132 # To make the hardened compiler NOT compile with -fPIE -pie
133 if gcc-specs-pie ; then
134 einfo "Disabling PIE..."
135 epatch "${FILESDIR}"/gentoo-fix_nopie_for_hardened_toolchain.patch
136 fi
137
138 cp /usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
139
140 use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
141
142 # Some shells(such as dash) don't have "time" as builtin
143 # and we don't want to DEPEND on sys-process/time
144 sed "s,^time ,," -i make.sh || die
145 sed "s,/lib,/$(get_libdir),g" -i install.sh || die
146 # #define SBCL_HOME ...
147 sed "s,/usr/local/lib,/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
148
149 find . -type f -name .cvsignore -delete
150 }
151
152 src_configure() {
153 # customizing SBCL version as per
154 # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
155 echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
156
157 # applying customizations
158 sbcl_apply_features
159 }
160
161 src_compile() {
162 local bindir="${WORKDIR}"/sbcl-binary
163
164 strip-unsupported-flags ; filter-flags -fomit-frame-pointer
165
166 if host-is-pax ; then
167 # To disable PaX on hardened systems
168 pax-mark -C "${bindir}"/src/runtime/sbcl
169 pax-mark -mr "${bindir}"/src/runtime/sbcl
170
171 # Hack to disable PaX on second GENESIS stage
172 sed -i -e '/load/!s/^echo \/\/doing warm.*$/&\npaxctl -C \.\/src\/runtime\/sbcl\npaxctl -mprexs \.\/src\/runtime\/sbcl/' \
173 "${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"
174 fi
175
176 # clear the environment to get rid of non-ASCII strings, see bug 174702
177 # set HOME for paludis
178 env - HOME="${T}" \
179 CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
180 CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
181 GNUMAKE=make ./make.sh \
182 "sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
183 || die "make failed"
184
185 # need to set HOME because libpango(used by graphviz) complains about it
186 if use doc; then
187 env - HOME="${T}" \
188 CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
189 ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
190 make -C doc/manual info html || die "Cannot build manual"
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/internals info html || die "Cannot build internal docs"
195 fi
196 }
197
198 src_test() {
199 ewarn "Unfortunately, it is known that some tests fail eg."
200 ewarn "run-program.impure.lisp. This is an issue of the upstream's"
201 ewarn "development and not of Gentoo's side. Please, before filing"
202 ewarn "any bug(s) search for older submissions. Thank you."
203 time ( cd tests && sh run-tests.sh )
204 }
205
206 src_install() {
207 # install system-wide initfile
208 dodir /etc/
209 cat > "${D}"/etc/sbclrc <<EOF
210 ;;; The following is required if you want source location functions to
211 ;;; work in SLIME, for example.
212
213 (setf (logical-pathname-translations "SYS")
214 '(("SYS:SRC;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/src/**/*.*")
215 ("SYS:CONTRIB;**;*.*.*" #p"/usr/$(get_libdir)/sbcl/**/*.*")))
216
217 ;;; Setup ASDF2
218 (load "/etc/common-lisp/gentoo-init.lisp")
219 EOF
220
221 # Install documentation
222 unset SBCL_HOME
223 INSTALL_ROOT="${D}/usr" LIB_DIR="/usr/$(get_libdir)" DOC_DIR="${D}/usr/share/doc/${PF}" \
224 sh install.sh || die "install.sh failed"
225
226 # rm empty directories lest paludis complain about this
227 find "${D}" -empty -type d -exec rmdir -v {} +
228
229 if use doc; then
230 dohtml -r doc/manual/
231 doinfo doc/manual/*.info*
232 dohtml -r doc/internals/sbcl-internals
233 doinfo doc/internals/sbcl-internals.info
234 docinto internals-notes && dodoc doc/internals-notes/*
235 else
236 rm -Rv "${D}/usr/share/doc/${PF}" || die
237 fi
238
239 dodoc BUGS CREDITS INSTALL NEWS OPTIMIZATIONS PRINCIPLES README TLA TODO
240
241 # install the SBCL source
242 if use source; then
243 ./clean.sh
244 cp -av src "${D}/usr/$(get_libdir)/sbcl/" || die
245 fi
246
247 # necessary for running newly-saved images
248 echo "SBCL_HOME=/usr/$(get_libdir)/${PN}" > "${ENVD}"
249 echo "SBCL_SOURCE_ROOT=/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
250 doenvd "${ENVD}"
251 }