From db16929598ac333b179fdfead630dbdfa68840a5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 1 Nov 2022 15:07:30 +0000 Subject: gentoo auto-resync : 01:11:2022 - 15:07:30 --- dev-lisp/sbcl/Manifest | 6 +- dev-lisp/sbcl/sbcl-2.2.10.ebuild | 242 ++++++++++++++++++++++++++++++++++++++ dev-lisp/sbcl/sbcl-2.2.8.ebuild | 245 --------------------------------------- 3 files changed, 245 insertions(+), 248 deletions(-) create mode 100644 dev-lisp/sbcl/sbcl-2.2.10.ebuild delete mode 100644 dev-lisp/sbcl/sbcl-2.2.8.ebuild (limited to 'dev-lisp/sbcl') diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest index 60f660c0b912..94117aa28de7 100644 --- a/dev-lisp/sbcl/Manifest +++ b/dev-lisp/sbcl/Manifest @@ -18,11 +18,11 @@ DIST sbcl-1.4.3-x86-linux-binary.tar.bz2 10227185 BLAKE2B 6d77c4f4177cbdb72fb9ba DIST sbcl-1.5.8-ppc64le-linux-binary.tar.bz2 10025597 BLAKE2B aac079e3585ebe9d5b610cf096e958edfd4410361b0d96b2fa88a285cbdce4133d89e1ddf0cf6729d43d6c3057365d07a3d73362f906fd8798b76c993210a8e5 SHA512 443ab604caa768c756f3322d7c599142a50227914bcd6be12434432daf1e3d5af0740d1ebdb166b856cc77ddf02451e29fcef9e29099f7bc4fb49ad61db17674 DIST sbcl-2.2.0-source.tar.bz2 6697729 BLAKE2B de89a3725ab68e7c189b225ee43bda3f53ca457c7c63a12c593e6f44559833cb1c95bda4e66181429a32cff614177a5650f94b45add5a5013c7a80b43608c04d SHA512 0afd424e6b8dbc574e928fbfb1ce264211b94e5bdef35b131a9f672b5051819d6978ea5338863e1321305dc562d8d81ae33c1e1fffdbaf6a60a3fbef0926e99f DIST sbcl-2.2.0-x86-64-linux-binary.tar.bz2 10178679 BLAKE2B 7a38af9f548807852fc602bb2cb4be3d50ab9fef875919f5c38df6fa9a43e80323cd005064c2e373cbb72d8e7e01a1ee4e0732c3ca9b8ee558e6c2f965d4631f SHA512 a148cf90b2b31ecd49a767468355eca166f428d491588ce5bd577da6efa32e0531b92fba1bfbf034b058a9af8baa45842e41ec24411bd3d5766b9cf20206453b -DIST sbcl-2.2.8-source.tar.bz2 7263357 BLAKE2B fa8ba5664e22cb4856bf6e96d2d84e8a639eea0d9bb639cf049fd0d22260038b601eacfe9f5f84f8d38fb04af7e77a5733b122936833f77821d9321ddd2eb2b2 SHA512 2de8c096b964bfe2136ab30c3342fab154c1795e0ee1fc6ca2ae713da3c139ce066f37886e1f1b18d8e17ea4cbaf949e66960134505233ef9c7bb5bb902a6c52 -DIST sbcl-2.2.8-x86-64-linux-binary.tar.bz2 11685573 BLAKE2B 3291840b2597ce37c70e8e894bf0c4dd9e1dcea619a18dee90e55b4a05dbe82267acdb289b20c3cb9be6987f551f28c410b6e03f58a9a0c01426eba1583107f0 SHA512 db1b81b603cdf6b76147d13502d3c152b8a78c2119b9df59a4e3705c93bc5ab208491a4ba19e28e31813e7da13d2d8d3a1a493dc86e143a5725bebffdc10e397 +DIST sbcl-2.2.10-source.tar.bz2 7269005 BLAKE2B e31c714c59fdfd959f86760d997369b9bea8abe51b6e8ca5ccd5a14298d61ee6af52980672e8ca0030d4cbc3781b82d791f04cfc0b966dc44c072a4a97ff730f SHA512 a8a58651fcff65819c6c605ce188f96f4a179e9eb6c0a11ac67aa1f8125d94635f694f4c431d15fbd6de36eb8d851e880cad0e9fcbb47a66a636d88b9b802389 +DIST sbcl-2.2.10-x86-64-linux-binary.tar.bz2 11646922 BLAKE2B f3f734981d3869d3686e5809256a2e6c8793e6cdd8b65a2d1da4e02ea7c72ea6ab33989552b23530b75f0f3303488cf44b5311994bf141c63fb981f9b6a52a52 SHA512 bbc3d08c93650996c592f19fe4d20031f6391410bba8742d616642241363cb52333c9f92a3ea071274781aaa4310691fadcb6cac5f4ef84edb640497490d599e DIST sbcl-2.2.9-source.tar.bz2 7258148 BLAKE2B ed7c220644120c467bcf2ef0a254b5065a6169d1560238dabbb4589831b2f094801b018d3b0bfc5e671328204ae34be763ec9df32ab7c5dcffd4860400582ae8 SHA512 6e215c7d34fe0db681b558206061f40bc1e235a0c2eb39518811bf2803e6a91f220b36e25da408a6756fd84071b6d634dc41e4acba73fdb0ffbab2cd77c9a8db DIST sbcl-2.2.9-x86-64-linux-binary.tar.bz2 11641067 BLAKE2B 4afeb6c3dee6d0b13790b005882d0702978f039feb3dd85fc483282b04b40ee797f8506f2db1611abf148589215583640f02022a11d4e01e854bd4a566fdd48e SHA512 53f9da74dd18056cf086e2f2258949eb53cdaabe9b3f24b004378e65c7a3ae5821a8501868415d662fc24d59bd0edb2c3b67419ebe48d459e8546e17fb692400 EBUILD sbcl-2.2.0.ebuild 8344 BLAKE2B 1baa54b857fd84c98ca24cde84b6595a9b4d58df52205e41620b2bf028b40af77d3f50ba43b82949fd9c86c4e75653c080ee031b1be29bb3c50543b0b49fef72 SHA512 644db987685fbeb15e5eac754ac15138958c09fe657be8838ab18f9df336f3b86b0f34003a74c43a3d32248bf7dfed1752cdb302abf85fa882fefc46bbf92a07 -EBUILD sbcl-2.2.8.ebuild 8493 BLAKE2B 67db7a8295877722a2deb48bf790e5ba699767efb402c94d1e5aa08442dc8438d6f94ae216a55b475f423b1a1a40f0ad863d0a65db095e89db144fd9790eb6e2 SHA512 67c39d8b9df0ae34127a2a90007a35d46fe2c5069b45b6f3c95329f9e0e29f36ea2e34406b17fe08ac8df3371c618906f8b5734830ef6908c9d20c7cf46c99f9 +EBUILD sbcl-2.2.10.ebuild 8402 BLAKE2B d90f2214836876409168a845191e0191892268ce5d3738268b5267bdcbe9e6572876361cb9b9c0a4f63d65bd7b1daa7fb8715967f561743d30bb5b058b3c7768 SHA512 dc0aba7a8a22db78238384a9940f39e8e89b066a478c7aae2e0ec5c70c16d1fe832948f245e7cd14f62ba59e0fa016e11e630dd8ac49f041ad28e8218dcdecc3 EBUILD sbcl-2.2.9.ebuild 8492 BLAKE2B a702e452779c88ac3384ded0eaa75ce46a67f231c3f5b814982a93f6f40f5e9ea3f375480c600470d3b2e6a1982d5f9b862cee718eb85e3ea144285208234853 SHA512 616ee075c1f7e64a91af60032f6ce935b9a734de12d08dd6e5a7f2d0d9ccdede211f7c19f5a4b7219ce4678d43b1228e99fbf0ca7c4b3ce3c00c66cc6ace028b MISC metadata.xml 1400 BLAKE2B f8ed0f7714ec54e42a3e17162a560d8cfb68ac2d981be02a31e5e64820d8e6cf1dbbc2774b52680d265042a48dfb497497a8d84289cfbe7da7a919ead68eadfc SHA512 22f3ff1dcd58a222319d6e4d46fee3b863ac3dbd997ec9a167e0038e28483d12f0f106332b2cb610cce0749f12828e68d71675ef43aa4dcd54441def6f9cb955 diff --git a/dev-lisp/sbcl/sbcl-2.2.10.ebuild b/dev-lisp/sbcl/sbcl-2.2.10.ebuild new file mode 100644 index 000000000000..cf2899eb05bc --- /dev/null +++ b/dev-lisp/sbcl/sbcl-2.2.10.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic pax-utils toolchain-funcs + +#same order as http://www.sbcl.org/platform-table.html +BV_X86=1.4.3 +BV_AMD64=2.2.10 +BV_PPC=1.2.7 +BV_PPC64LE=1.5.8 +BV_SPARC=1.0.28 +BV_ALPHA=1.0.28 +BV_ARM=1.4.11 +BV_ARM64=1.4.2 +BV_X64_MACOS=1.2.11 +BV_PPC_MACOS=1.0.47 +BV_X86_SOLARIS=1.2.7 +BV_X64_SOLARIS=1.2.7 +BV_SPARC_SOLARIS=1.0.23 + +DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp" +HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/" +SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2 + x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 ) + amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 ) + ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 ) + ppc64? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC64LE}-ppc64le-linux-binary.tar.bz2 ) + sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 ) + alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 ) + arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 ) + arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 ) + x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) + ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) + x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 ) + x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 ) + sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris" +IUSE="debug doc source +threads +unicode +zstd" + +CDEPEND=">=dev-lisp/asdf-3.3:=" +# bug #843851 +BDEPEND="${CDEPEND} + doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )" +RDEPEND="${CDEPEND} + zstd? ( app-arch/zstd ) + !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )" + +# Disable warnings about executable stacks, as this won't be fixed soon by upstream +QA_EXECSTACK="usr/bin/sbcl" + +CONFIG="${S}/customize-target-features.lisp" +ENVD="${T}/50sbcl" + +# Prevent ASDF from using the system libraries +CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" +ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" + +usep() { + use ${1} && echo "true" || echo "false" +} + +sbcl_feature() { + echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}" +} + +sbcl_apply_features() { + sed 's/^X//' > "${CONFIG}" <<-'EOF' + (lambda (list) + X (flet ((enable (x) (pushnew x list)) + X (disable (x) (setf list (remove x list)))) + EOF + if use x86 || use amd64; then + sbcl_feature "$(usep threads)" ":sb-thread" + fi + sbcl_feature "true" ":sb-ldb" + sbcl_feature "false" ":sb-test" + sbcl_feature "$(usep unicode)" ":sb-unicode" + sbcl_feature "$(usep zstd)" ":sb-core-compression" + sbcl_feature "$(usep debug)" ":sb-xref-for-internals" + sed 's/^X//' >> "${CONFIG}" <<-'EOF' + X ) + X list) + EOF + cat "${CONFIG}" +} + +src_unpack() { + unpack ${A} + mv sbcl-*-* sbcl-binary || die + cd "${S}" +} + +src_prepare() { + # bug #468482 + eapply "${FILESDIR}"/concurrency-test-2.0.1.patch + # bugs #486552, #527666, #517004 + eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch + # bugs #560276, #561018 + eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch + # bug #767742 + eapply "${FILESDIR}"/etags-2.1.0.patch + + eapply "${FILESDIR}"/verbose-build-2.0.3.patch + + eapply_user + + # Make sure the *FLAGS variables are sane. + # sbcl needs symbols in resulting binaries, so building with the -s linker flag will fail. + strip-unsupported-flags + filter-flags -fomit-frame-pointer -Wl,-s + filter-ldflags -s + + # original bugs #526194, #620532 + # this broke no-pie default builds, c.f. bug #632670 + # Pass CFLAGS down by appending our value, to let users override + # the default values. + # Keep passing LDFLAGS down via the LINKFLAGS variable. + sed -e "s@\(CFLAGS += -g .*\)\$@\1 ${CFLAGS}@" \ + -e "s@LINKFLAGS += -g\$@LINKFLAGS += ${LDFLAGS}@" \ + -i src/runtime/GNUmakefile || die + + sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ + -i make-config.sh || die + + # Use installed ASDF version + cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die + # Avoid installation of ASDF info page. See bug #605752 + sed '/INFOFILES/s/asdf.info//' -i doc/manual/Makefile || die + + use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk + + # Some shells(such as dash) don't have "time" as builtin + # and we don't want to DEPEND on sys-process/time + sed "s,^time ,," -i make.sh || die + sed "s,/lib,/$(get_libdir),g" -i install.sh || die + # #define SBCL_HOME ... + sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die + # change location of /etc/sbclrc ... + sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die + + find . -type f -name .cvsignore -delete +} + +src_configure() { + # customizing SBCL version as per + # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup + echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr + + # applying customizations + sbcl_apply_features +} + +src_compile() { + local bindir="${WORKDIR}"/sbcl-binary + + # clear the environment to get rid of non-ASCII strings, see bug #174702 + # set HOME for paludis + env - HOME="${T}" PATH="${PATH}" \ + CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \ + CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \ + GNUMAKE=make ./make.sh \ + "sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \ + || die "make failed" + + # need to set HOME because libpango(used by graphviz) complains about it + if use doc; then + env - HOME="${T}" PATH="${PATH}" \ + CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \ + ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \ + make -C doc/manual info html || die "Cannot build manual" + env - HOME="${T}" PATH="${PATH}" \ + CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \ + ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \ + make -C doc/internals info html || die "Cannot build internal docs" + fi +} + +src_test() { + ewarn "Unfortunately, it is known that some tests fail eg." + ewarn "run-program.impure.lisp. This is an issue of the upstream's" + ewarn "development and not of Gentoo's side. Please, before filing" + ewarn "any bug(s) search for older submissions. Thank you." + time ( cd tests && sh run-tests.sh ) +} + +src_install() { + # install system-wide initfile + dodir /etc/ + sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF + ;;; The following is required if you want source location functions to + ;;; work in SLIME, for example. + X + (setf (logical-pathname-translations "SYS") + X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*") + X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*"))) + X + ;;; Setup ASDF2 + (load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp") + EOF + + # Install documentation + unset SBCL_HOME + INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \ + sh install.sh || die "install.sh failed" + + # bug #517008 + pax-mark -mr "${D}"/usr/bin/sbcl + + # rm empty directories lest paludis complain about this + find "${ED}" -empty -type d -exec rmdir -v {} + + + if use doc; then + dodoc -r doc/internals/sbcl-internals + + doinfo doc/manual/*.info* + doinfo doc/internals/sbcl-internals.info + + docinto internals-notes + dodoc doc/internals-notes/* + else + rm -Rv "${ED}/usr/share/doc/${PF}" || die + fi + + # install the SBCL source + if use source; then + ./clean.sh + cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die + for d in contrib/*/; do + cp -av "$d" "${ED}/usr/$(get_libdir)/sbcl/" || die + done + fi + + # necessary for running newly-saved images + echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}" + echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}" + doenvd "${ENVD}" +} diff --git a/dev-lisp/sbcl/sbcl-2.2.8.ebuild b/dev-lisp/sbcl/sbcl-2.2.8.ebuild deleted file mode 100644 index 4cc94a3bf1c5..000000000000 --- a/dev-lisp/sbcl/sbcl-2.2.8.ebuild +++ /dev/null @@ -1,245 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic pax-utils toolchain-funcs - -#same order as http://www.sbcl.org/platform-table.html -BV_X86=1.4.3 -BV_AMD64=2.2.8 -BV_PPC=1.2.7 -BV_PPC64LE=1.5.8 -BV_SPARC=1.0.28 -BV_ALPHA=1.0.28 -BV_ARM=1.4.11 -BV_ARM64=1.4.2 -BV_X64_MACOS=1.2.11 -BV_PPC_MACOS=1.0.47 -BV_X86_SOLARIS=1.2.7 -BV_X64_SOLARIS=1.2.7 -BV_SPARC_SOLARIS=1.0.23 - -DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp" -HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/" -SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2 - x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 ) - amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 ) - ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 ) - ppc64? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC64LE}-ppc64le-linux-binary.tar.bz2 ) - sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 ) - alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 ) - arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 ) - arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 ) - x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 ) - ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 ) - x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 ) - x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 ) - sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )" - -LICENSE="MIT" -SLOT="0/${PV}" -KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris" -IUSE="capstone debug doc source +threads +unicode +zstd" - -CDEPEND=">=dev-lisp/asdf-3.3:= - capstone? ( dev-libs/capstone:0/4 )" -# bug #843851 -BDEPEND="${CDEPEND} - doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )" -RDEPEND="${CDEPEND} - zstd? ( app-arch/zstd ) - !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )" - -# Disable warnings about executable stacks, as this won't be fixed soon by upstream -QA_EXECSTACK="usr/bin/sbcl" - -CONFIG="${S}/customize-target-features.lisp" -ENVD="${T}/50sbcl" - -# Prevent ASDF from using the system libraries -CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" -ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" - -usep() { - use ${1} && echo "true" || echo "false" -} - -sbcl_feature() { - echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}" -} - -sbcl_apply_features() { - sed 's/^X//' > "${CONFIG}" <<-'EOF' - (lambda (list) - X (flet ((enable (x) (pushnew x list)) - X (disable (x) (setf list (remove x list)))) - EOF - if use x86 || use amd64; then - sbcl_feature "$(usep threads)" ":sb-thread" - fi - sbcl_feature "true" ":sb-ldb" - sbcl_feature "false" ":sb-test" - sbcl_feature "$(usep unicode)" ":sb-unicode" - sbcl_feature "$(usep zstd)" ":sb-core-compression" - sbcl_feature "$(usep debug)" ":sb-xref-for-internals" - sed 's/^X//' >> "${CONFIG}" <<-'EOF' - X ) - X list) - EOF - cat "${CONFIG}" -} - -src_unpack() { - unpack ${A} - mv sbcl-*-* sbcl-binary || die - cd "${S}" -} - -src_prepare() { - # bug #468482 - eapply "${FILESDIR}"/concurrency-test-2.0.1.patch - # bugs #486552, #527666, #517004 - eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch - # bugs #560276, #561018 - eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch - # bug #767742 - eapply "${FILESDIR}"/etags-2.1.0.patch - - eapply "${FILESDIR}"/verbose-build-2.0.3.patch - - eapply_user - - # Make sure the *FLAGS variables are sane. - # sbcl needs symbols in resulting binaries, so building with the -s linker flag will fail. - strip-unsupported-flags - filter-flags -fomit-frame-pointer -Wl,-s - filter-ldflags -s - - # original bugs #526194, #620532 - # this broke no-pie default builds, c.f. bug #632670 - # Pass CFLAGS down by appending our value, to let users override - # the default values. - # Keep passing LDFLAGS down via the LINKFLAGS variable. - sed -e "s@\(CFLAGS += -g .*\)\$@\1 ${CFLAGS}@" \ - -e "s@LINKFLAGS += -g\$@LINKFLAGS += ${LDFLAGS}@" \ - -i src/runtime/GNUmakefile || die - - sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \ - -i make-config.sh || die - - # Use installed ASDF version - cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die - # Avoid installation of ASDF info page. See bug #605752 - sed '/INFOFILES/s/asdf.info//' -i doc/manual/Makefile || die - - use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk - - # Some shells(such as dash) don't have "time" as builtin - # and we don't want to DEPEND on sys-process/time - sed "s,^time ,," -i make.sh || die - sed "s,/lib,/$(get_libdir),g" -i install.sh || die - # #define SBCL_HOME ... - sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die - # change location of /etc/sbclrc ... - sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die - - use capstone || rm -rf contrib/sb-capstone - - find . -type f -name .cvsignore -delete -} - -src_configure() { - # customizing SBCL version as per - # http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup - echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr - - # applying customizations - sbcl_apply_features -} - -src_compile() { - local bindir="${WORKDIR}"/sbcl-binary - - # clear the environment to get rid of non-ASCII strings, see bug #174702 - # set HOME for paludis - env - HOME="${T}" PATH="${PATH}" \ - CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \ - CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \ - GNUMAKE=make ./make.sh \ - "sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \ - || die "make failed" - - # need to set HOME because libpango(used by graphviz) complains about it - if use doc; then - env - HOME="${T}" PATH="${PATH}" \ - CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \ - ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \ - make -C doc/manual info html || die "Cannot build manual" - env - HOME="${T}" PATH="${PATH}" \ - CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \ - ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \ - make -C doc/internals info html || die "Cannot build internal docs" - fi -} - -src_test() { - ewarn "Unfortunately, it is known that some tests fail eg." - ewarn "run-program.impure.lisp. This is an issue of the upstream's" - ewarn "development and not of Gentoo's side. Please, before filing" - ewarn "any bug(s) search for older submissions. Thank you." - time ( cd tests && sh run-tests.sh ) -} - -src_install() { - # install system-wide initfile - dodir /etc/ - sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF - ;;; The following is required if you want source location functions to - ;;; work in SLIME, for example. - X - (setf (logical-pathname-translations "SYS") - X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*") - X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*"))) - X - ;;; Setup ASDF2 - (load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp") - EOF - - # Install documentation - unset SBCL_HOME - INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \ - sh install.sh || die "install.sh failed" - - # bug #517008 - pax-mark -mr "${D}"/usr/bin/sbcl - - # rm empty directories lest paludis complain about this - find "${ED}" -empty -type d -exec rmdir -v {} + - - if use doc; then - dodoc -r doc/internals/sbcl-internals - - doinfo doc/manual/*.info* - doinfo doc/internals/sbcl-internals.info - - docinto internals-notes - dodoc doc/internals-notes/* - else - rm -Rv "${ED}/usr/share/doc/${PF}" || die - fi - - # install the SBCL source - if use source; then - ./clean.sh - cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die - for d in contrib/*/; do - cp -av "$d" "${ED}/usr/$(get_libdir)/sbcl/" || die - done - fi - - # necessary for running newly-saved images - echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}" - echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}" - doenvd "${ENVD}" -} -- cgit v1.2.3