From 5295d92855a8d04bcfd3216e61c16a416ecb5db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Bar=C4=87?= Date: Wed, 5 May 2021 18:02:29 +0200 Subject: [PATCH] dev-scheme/racket: bump to 8.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: Maciej Barć --- dev-scheme/racket/Manifest | 2 + dev-scheme/racket/racket-8.1.ebuild | 147 ++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 dev-scheme/racket/racket-8.1.ebuild diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest index ffe7ea2..2c1a3f9 100644 --- a/dev-scheme/racket/Manifest +++ b/dev-scheme/racket/Manifest @@ -1,4 +1,6 @@ DIST racket-7.8-src-builtpkgs.tgz 148635095 BLAKE2B ad944f6c269746dbe1301f029824949a1de6a81f908da75f1803eedf1c0b2aeb2bca9a263ea3d328081dddd69339089b7287f289036fadf05aea2a74b561da5b SHA512 8d0442aa73511a9d29827d0bb2481f6eef2d9ec3f3f68a7fdf1f88adc07891f623d7db388d494c26e884fe3bfcc5463444ea5bb4cc54e54989a73802ac216dca DIST racket-8.0-src-builtpkgs.tgz 153847792 BLAKE2B dba1b39e770954e5971689f6d2b413f1aadc6176822e4400b40b41ebf7eab00cc34b5e5158f38d1a1d8caa98fa260ef10864794dc0d4768e2ea5b2ad869d0102 SHA512 df3e14ccdba00eb4de113693a6eee22e640958b074f3ad4946e5900333fbf558c4c2653f65a89f638f6ef173d32c9f97b19349360a9d4afca82365aceb43c911 +DIST racket-8.1-src-builtpkgs.tgz 154340467 BLAKE2B 1a12ca71a3af0c506238e2abad44596c54b5102fbe81d99c713356dc52abcdba8f0a0cf969702cff1f7738a0383d55894a546f682f3d854b504ceab34cef600e SHA512 afc8c737087a98172dbf699d24cee73966da699aebbdefb8b7785a6521dc4de61b8d7f2ed3a3f1d2be7a1dfe6675db7a33d39492da9dfe0aad8d9074cd03cf9f DIST racket-minimal-7.8-src-builtpkgs.tgz 21202793 BLAKE2B e3ae69b31d4a5984e51a0da158e9cf09be6670e5a63dd38aa124175000b4b4a133b9d2f592d7fc2816f8d1d79ff1bc6e7a73f9f7c8ee7af3d5c6f94844022eaa SHA512 da4eabaa3e76fa56b611b4159628744ad427f406af8c6a3db27ca0fd33953a033c6f40eb497bf375bb2551eb11ccd29d413ba413baab2e10a4801485fa17d826 DIST racket-minimal-8.0-src-builtpkgs.tgz 24065953 BLAKE2B 2af056758660d30f7d232dabe03d544e5e77478df71389df883b8af956fe224332048eac3a351fdb905051e3ef99b08bd0e0f1704e04919a4a2e68f8005922b8 SHA512 1e43b390f6a4c1405df0872c71c27638ec35a8cdd8508390db13bd59a43f5a4728f0660fe1afb5785f625d31fd25cdc1a6ecb9972daf99bcb538f7204956dabc +DIST racket-minimal-8.1-src-builtpkgs.tgz 24172851 BLAKE2B ab3e898e257d610874b31ac5ea3034b5c213f1d181f105c206c45129c35efb53250986163ea8c2399c02084d0d7ec55d0c79c8c8499578067f1bbef4c02568c5 SHA512 eb786882383c33fc77a697a66b06d797b0dbb2de8435daa41db4211cfa893dbbc213910ada4ea087f848dae1abb4d5ff9df162af5cf8eae689f1ef69b410d6c5 diff --git a/dev-scheme/racket/racket-8.1.ebuild b/dev-scheme/racket/racket-8.1.ebuild new file mode 100644 index 0000000..39cd7f1 --- /dev/null +++ b/dev-scheme/racket/racket-8.1.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop pax-utils xdg-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 ) +" + +# See https://blog.racket-lang.org/2019/11/completing-racket-s-relicensing-effort.html +LICENSE=" + || ( MIT Apache-2.0 ) + chez? ( Apache-2.0 ) + !chez? ( LGPL-3 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="X +chez +doc +futures +jit minimal +places +readline +threads" +REQUIRED_USE="futures? ( jit )" + +DEPEND=" + !dev-tex/slatex + dev-db/sqlite:3 + dev-libs/libffi + X? ( + dev-util/desktop-file-utils + media-libs/libpng:0 + virtual/jpeg:0 + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/pango[X] + x11-misc/shared-mime-info + ) + readline? ( dev-libs/libedit ) +" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P}/src" + +# BC library is being stripped unconditionally +QA_PRESTRIPPED="/usr/lib64/libracket3m-8.0.so" + +src_prepare() { + unset PLTUSERHOME + xdg_environment_reset + + default + + rm -r ./bc/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 + # --enable-bc builds Racket w/o chez backend + local myconf=( + --disable-libs + --disable-strip + --docdir="${EPREFIX}/usr/share/doc/${PF}" + --enable-float + --enable-foreign + --enable-libffi + --enable-shared + $(usex chez "--enable-cs --enable-csonly" "--enable-bc --enable-bconly") + $(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 && ! use chez; 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 ./bc || die + emake cgc-core + pax-mark m .libs/racketcgc + + pushd ./gc2 || die + emake all + popd || die + + pax-mark m .libs/racket3m + popd || die + 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. + local f + for f in mred mzscheme racket; do + pax-mark m "${D}/usr/bin/${f}" + done + + pax-mark m "${D}/usr/$(get_libdir)/racket/starter" + 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 + + # Create missing desktop files + if use X; then + newicon "${D}/usr/share/racket/drracket-exe-icon.png" "racket.png" + make_desktop_entry "gracket" "GRacket" "racket" "Development;Education;" + make_desktop_entry "plt-games" "PLT Games" "racket" "Education;Game;" + fi +} + +pkg_postinst() { + if use X; then + xdg_desktop_database_update + xdg_icon_cache_update + fi +} + +pkg_postrm() { + if use X; then + xdg_desktop_database_update + xdg_icon_cache_update + fi +}