From cd43faa6573dcc0a13729f2e0eecd382aa88d482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Bar=C4=87?= Date: Sun, 6 Sep 2020 20:34:13 +0200 Subject: [PATCH] dev-scheme/racket: bump to 7.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Package-Manager: Portage-3.0.5, Repoman-2.3.23 Signed-off-by: Maciej Barć --- dev-scheme/racket/Manifest | 2 + dev-scheme/racket/racket-7.8.ebuild | 128 ++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 dev-scheme/racket/racket-7.8.ebuild diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest index da647ed..039ccad 100644 --- a/dev-scheme/racket/Manifest +++ b/dev-scheme/racket/Manifest @@ -1,2 +1,4 @@ DIST racket-7.7-src-builtpkgs.tgz 148403219 BLAKE2B 6f68fc680ca12e09c9f4399bb26dd87a4bfb3d1d05370555300e460a23ea390d02a3ae74e7d227eb0b140d49c9a3a9de2c2502313a09f9cef49103592eeae58b SHA512 9537f3b3d3e7955f4935b64b4d447bf14b2e1c1a2fb7486327ecb7ebf11aa58d531b7f2f72916742752b7e174b429cb446a059a7e535c1450a175302507ec3ea +DIST racket-7.8-src-builtpkgs.tgz 148635095 BLAKE2B ad944f6c269746dbe1301f029824949a1de6a81f908da75f1803eedf1c0b2aeb2bca9a263ea3d328081dddd69339089b7287f289036fadf05aea2a74b561da5b SHA512 8d0442aa73511a9d29827d0bb2481f6eef2d9ec3f3f68a7fdf1f88adc07891f623d7db388d494c26e884fe3bfcc5463444ea5bb4cc54e54989a73802ac216dca DIST racket-minimal-7.7-src-builtpkgs.tgz 21239831 BLAKE2B 6450ba93e65c15350a4a5790852c6a2be5311fcaf803b355c310ba6709f4869d305a8a36aec6c03883f639d0737cbc0be4222e4ef1eb9639ba38da902f46e65e SHA512 aaad81e48a3b28c3023bcb9aeb18a4a2d4214a3a7b5c34c4a52e1b5dc5d0afdfb4976c2d2e1a17f109ff700970e377ef336b6b1ab23e4b9930492a9e9e37619c +DIST racket-minimal-7.8-src-builtpkgs.tgz 21202793 BLAKE2B e3ae69b31d4a5984e51a0da158e9cf09be6670e5a63dd38aa124175000b4b4a133b9d2f592d7fc2816f8d1d79ff1bc6e7a73f9f7c8ee7af3d5c6f94844022eaa SHA512 da4eabaa3e76fa56b611b4159628744ad427f406af8c6a3db27ca0fd33953a033c6f40eb497bf375bb2551eb11ccd29d413ba413baab2e10a4801485fa17d826 diff --git a/dev-scheme/racket/racket-7.8.ebuild b/dev-scheme/racket/racket-7.8.ebuild new file mode 100644 index 0000000..f7dd554 --- /dev/null +++ b/dev-scheme/racket/racket-7.8.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit pax-utils + +DESCRIPTION="General purpose, multi-paradigm Lisp-Scheme programming language" +HOMEPAGE="https://racket-lang.org/" +SRC_URI=" + minimal? ( https://download.racket-lang.org/installers/${PV}/${PN}-minimal-${PV}-src-builtpkgs.tgz ) + !minimal? ( https://download.racket-lang.org/installers/${PV}/${P}-src-builtpkgs.tgz ) +" + +RESTRICT="mirror" +LICENSE="GPL-3+ LGPL-3" +SLOT="0" +KEYWORDS="~amd64" + +IUSE=" + +doc + +futures + +graphics + +jit + +places + +readline + +threads + X + minimal +" +REQUIRED_USE=" + futures? ( jit ) + X? ( graphics ) +" + +RDEPEND=" + !dev-tex/slatex + dev-db/sqlite:3 + dev-libs/libffi + graphics? ( + media-libs/libpng:0 + virtual/jpeg:0 + x11-libs/cairo[X?] + x11-libs/pango[X?] + ) + readline? ( + dev-libs/libedit + ) + X? ( + x11-libs/gtk+[X?] + ) +" +DEPEND=" + ${RDEPEND} +" + +S="${WORKDIR}/${P}/src" + +src_prepare() { + default + + rm -r foreign/libffi || die 'failed to remove bundled libffi' +} + +src_configure() { + # According to vapier, we should use the bundled libtool + # such that we don't preclude cross-compile. Thus don't use + # --enable-lt=/usr/bin/libtool + local myconf=( + --docdir="${EPREFIX}"/usr/share/doc/${PF} + --enable-shared + --enable-float + --enable-libffi + --enable-foreign + --disable-libs + --disable-strip + $(use_enable X gracket) + $(use_enable doc docs) + $(use_enable jit) + $(use_enable places) + $(use_enable futures) + $(use_enable threads pthread) + ) + econf "${myconf[@]}" +} + +src_compile() { + if use jit; then + # When the JIT is enabled, a few binaries need to be pax-marked + # on hardened systems (bug 613634). The trick is to pax-mark + # them before they're used later in the build system. The + # following order for racketcgc and racket3m was determined by + # digging through the Makefile in src/racket to find out which + # targets would build those binaries but not use them. + pushd racket + emake cgc-core + pax-mark m .libs/racketcgc + pushd gc2 + emake all + popd + pax-mark m .libs/racket3m + popd + fi + + default +} + +src_install() { + default + + if use jit; then + # The final binaries need to be pax-marked, too, if you want to + # actually use them. The src_compile marking get lost somewhere + # in the install process. + for f in mred mzscheme racket; do + pax-mark m "${D}/usr/bin/${f}" + done + + use X && pax-mark m "${D}/usr/$(get_libdir)/racket/gracket" + fi + + # raco needs decompressed files for packages doc installation bug 662424 + if use doc; then + docompress -x /usr/share/doc/${PF} + fi + + find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die +}