diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
commit | 4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch) | |
tree | 356496503d52354aa6d9f2d36126302fed5f3a73 /dev-scheme/racket | |
parent | fcc5224904648a8e6eb528d7603154160a20022f (diff) |
gentoo resync : 20.03.2022
Diffstat (limited to 'dev-scheme/racket')
-rw-r--r-- | dev-scheme/racket/Manifest | 8 | ||||
-rw-r--r-- | dev-scheme/racket/files/racket-8.4-ncurses.patch | 154 | ||||
-rw-r--r-- | dev-scheme/racket/metadata.xml | 15 | ||||
-rw-r--r-- | dev-scheme/racket/racket-8.3-r3.ebuild | 2 | ||||
-rw-r--r-- | dev-scheme/racket/racket-8.4-r1.ebuild | 171 |
5 files changed, 343 insertions, 7 deletions
diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest index 273686187ff8..d9626ab30de8 100644 --- a/dev-scheme/racket/Manifest +++ b/dev-scheme/racket/Manifest @@ -1,9 +1,13 @@ AUX Makefile-nostrip.patch 635 BLAKE2B 6b8c6e573d64e284a4a6842fe8346b382f4f656a98bae59fff5c0b84c71557e74a9c91065f15d82910c3ecaeed720d38d42ba9366beaaeb9b5d1ffaa6baff954 SHA512 08221300c19fd115fe713a6e3f20e83f791d20807af33c27882f7f05e1dc20436dd1459f6b9e011118720c55d26c91f6d4650afa5977e6d2341898fbc7b54971 AUX Makefile-starter.patch 1346 BLAKE2B 4f33f059ce0c9a02a27250d4893d00423854281ae6343443b7ffc7ddb7eed75951a31cbf11a9f89cf23d3c86513b54f6c42d9e66a006072f032c14957bbb9151 SHA512 a3dd1c1ed1cbb6ca596d32739ac56b1a4db188035572ff9015035061f69f0ef173c0b2dfae4a820b540c30e06d763c65e9d3192d16aaa6c6c25f6f74369f91f8 +AUX racket-8.4-ncurses.patch 4768 BLAKE2B 5d2a76efe004446624aac6ac23460a4daf9997a6fe1bd87bc890194939e38ca89ab08769668744afa45f3f5720ab0965a4ed50bf9569a6b3bfff71d302deca65 SHA512 028e0e3b57cfbe7baaea0c7c9c4c27561b663c9eaf4ea0716fda2ffa1d8cebc213ab1f7340671ed1d6a88329a079ee37f8d24a99427e89b7e8cd24ee70546c8d DIST racket-8.2-src-builtpkgs.tgz 150467561 BLAKE2B 5005aa852b089becd9d6da136a55a035ac5fd86bd1ad186ec30cdcf411927d444e1814797d63dbde3eb7b52bba7756e0464edf1d854d2ee7f5851caaae18ba55 SHA512 9e4c0cabfcbdb8c8742e8170548bee58021697e8b0842f575f94193db31adc04a7b9023ed8fd70dae197e5ec6f1aee7985d849be3ce5b4279f216e900ee143c7 DIST racket-8.3-src-builtpkgs.tgz 150608486 BLAKE2B f002934c07afab4152ad8395c4ab5c6c87ef810f5cf79cf5ae0b41f4caa4508e0044f4246812513def14130d507af57aa61efaff8106eaeac0b86918bd775902 SHA512 7c340f65d221343beb2b4205cdc58648bd65dceabdb16f40cda425474faa905f4dd441193dc6cd4856f7863fb83834721394d6888027db356f830eceb127dbae +DIST racket-8.4-src-builtpkgs.tgz 151809822 BLAKE2B c42f7943975a6f91a03ef0f668d218571dfc4159eac5a5722b9513b978413a9617b4e1bf3ccabef051014311ecf51fdc80d7563942e9e645c442ddfc4995a308 SHA512 afd9f357673a28ac5e4529ea0879a4edc3dbffc5b8627aa3553f1caf867be3296b94620dc2d86b8bb3f0c7ec7743d0057ce897c5caa705e02f2cc469ce4c7116 DIST racket-minimal-8.2-src-builtpkgs.tgz 21187959 BLAKE2B 0f62a900e71ee101fa3acf0985b0a72215ac657285c5ce9e4f5f49189180b82dcca94ded9778b7ba92a42919f17b1dc24eec07e13c64c77e47fc958614d7dc0a SHA512 04950703fa73cdbbb10c234d57c89e70db6076b42d4a74ddb8cace9e0438b9a1431f7317baf31d667368ad75ae19e4eecec39667ba0c5b08a3580f8cc81f4f5e DIST racket-minimal-8.3-src-builtpkgs.tgz 21212037 BLAKE2B 76a742efe7ba2c44eb935d4852c20be355ccff9b935b39226ef1935184b0a9179ef6ca2ac0a64f3c7a6ae4a0082117a12c668d7804a0b73b9f1a391eaba61994 SHA512 3cab4a24cab5c1ac107c8aead2ada6fa3ec7d7aa122716c78af584f055dadf89497168e95b36d99115ecd1a1905dc1ec51774dd2c8099198ec7d6aa9d380039d +DIST racket-minimal-8.4-src-builtpkgs.tgz 21279666 BLAKE2B 25d5eb405cedaa9cadfa776c4dd66b87f1641c86b638110f1a3a788465aaf573f5f8054e1e6913e6c0123840a1a2f64d5855db5f52acace3475b91d095272a76 SHA512 92433c08508cfb1bdb9093e5c7c726630826e9046de02fcb3d402f3dd76aa98fc2d9a5d09515d44e7a50eab0e38d963d2202f48a44741c3cf7fe8e47d9404e63 EBUILD racket-8.2-r3.ebuild 5205 BLAKE2B 05b2762605383f5c48ef70cb87c5b791c04a5b721076ce9d52c51293573952898a16a535cc2b40be0c15c13e248cf52713c0617fd1471d4dd41a6f782e9c9250 SHA512 57cff4bd79dfb8ba5b800e6d1782d06968dd9e1ce59bd77c3691bba3b7d9c056e3bdc1bfeaa8377dc6cb0ba5d01f19cb18a67020c7a8b2b0375ea20b40ffbaf7 -EBUILD racket-8.3-r3.ebuild 4594 BLAKE2B 8a1891efdac183168c08c9dc08714215dd942e8a4542a6b4def17726b3608189180ab7398cf30ea0eb8283cf7cf002ddbad46c3263b049608986f684a5882e6d SHA512 017063c71fc9eef890717c76458703e00b38e6b88bfcda1b170bb90f9fa86db52f2d07062915cfa18b2c356f6f714afe942f6c360cb7f25ecd60094ecf71366e -MISC metadata.xml 1640 BLAKE2B ef74fc40a4481c0fcb81b3ee5395aadbc460d5231f7e6bfbbe5d5ca4c0776f48215f5f63f1b41d9d161e6e2e6677a58e0073cd67b01d6f97e1583907326a3176 SHA512 fd42b9a4aeb2ccdeef42ffd60bcc297a5973c7e6cfac49e2aaaf090ce6bf0b9ec76954b3d13d10655e9f3ebffaa347a75d3906cd80e7ff426b0fee564f6c24a8 +EBUILD racket-8.3-r3.ebuild 4592 BLAKE2B df72e1388608938c636f9cf45827056b2e4c9d4102b7feeb99c8d33040c22a8efa62006aebfc2544f30b9f6dbca6c2bd22d17029d9c0c145759963c28cd17d25 SHA512 dafd2aec23a547333368908fa5fbc5a2c731581fc74025104c9dd2adaebe4de3a8aa622a7008bec8814cd91887657f52a1cc722760a53d6f3ab0203c2f2cbc99 +EBUILD racket-8.4-r1.ebuild 5386 BLAKE2B a028f3b6efc4bce5f0d25d4860903648fed822c36a7f12a7ebbed108c36590d12b540ad8044d10d97a18239da95f9ff3eb339115f47595a2ecf576e55b6de862 SHA512 20268d2e814500539b580dc26979fd0e5439255b0da4d16f34eb9abcdf95bb22222e79fb6903446ecceb00e41688f1ea4f3b709984a8ba34e1930021ac927555 +MISC metadata.xml 1878 BLAKE2B 9e9fb9e1e139c459b0e5d4b12034c09bb4fbf548c7868342bb207137779119d53ba1fae07a7be402b3a02d50ba5a7b6cf0d26d4329e971b9387685457956d564 SHA512 ab9639a08e8a2f1799c11964e900b58ba45ba044f1332a54dc476a20e143ffcb97ff97abfd28105a4a2b199dfa32ce48ac98622be1588c8fd8c5c24a627d4565 diff --git a/dev-scheme/racket/files/racket-8.4-ncurses.patch b/dev-scheme/racket/files/racket-8.4-ncurses.patch new file mode 100644 index 000000000000..4bf429d82daa --- /dev/null +++ b/dev-scheme/racket/files/racket-8.4-ncurses.patch @@ -0,0 +1,154 @@ +From 683388b0fcc8d0cc386e0ab749bcbba7cea18c8f Mon Sep 17 00:00:00 2001 +From: Matthew Flatt <mflatt@racket-lang.org> +Date: Mon, 14 Feb 2022 06:26:25 -0700 +Subject: [PATCH] configure: try -ltinfo as curses linking flag + +--- + ac/curses.m4 | 21 +++++++++++++++++++-- + bc/configure | 34 +++++++++++++++++++++++++++++++++- + cs/c/configure | 34 +++++++++++++++++++++++++++++++++- + 3 files changed, 85 insertions(+), 4 deletions(-) + +diff --git a/ac/curses.m4 b/ac/curses.m4 +index 25b0f1f99a3..d713c990949 100644 +--- a/ac/curses.m4 ++++ b/ac/curses.m4 +@@ -22,7 +22,7 @@ if test "${skip_curses_check}" = "no" ; then + if test "${enable_curses}" = "no" ; then + if test "${enable_portable}" = "yes" ; then + if test "${curses_portable_link}" != "" ; then +- # Try adding portabel link flags ++ # Try adding portable link flags + ORIG_LIBS="$LIBS" + ORIG_CPPFLAGS="$CPPFLAGS" + ORIG_PREFLAGS="$PREFLAGS" +@@ -62,7 +62,24 @@ if test "${skip_curses_check}" = "no" ; then + LIBS="$ORIG_LIBS" + curses_lib_flag="" + fi +- fi ++ fi ++ if test "${enable_curses}" = "no" ; then ++ # Try adding -lncurses -ltinfo ++ ORIG_LIBS="$LIBS" ++ curses_lib_flag=" -lncurses -ltinfo" ++ LIBS="$LIBS $curses_lib_flag" ++ AC_TRY_LINK( ++ [#include <curses.h>] ++ [#include <term.h>], ++[ int errret; ] ++[ setupterm("", 0, &errret);] ++ return 0; ++ , enable_curses=yes, enable_curses=no) ++ if test "${enable_curses}" = "no" ; then ++ LIBS="$ORIG_LIBS" ++ curses_lib_flag="" ++ fi ++ fi + fi + fi + fi +diff --git a/bc/configure b/bc/configure +index 543fab87411..132d2dedd6c 100755 +--- a/bc/configure ++++ b/bc/configure +@@ -5991,7 +5991,7 @@ rm -f core conftest.err conftest.$ac_objext \ + if test "${enable_curses}" = "no" ; then + if test "${enable_portable}" = "yes" ; then + if test "${curses_portable_link}" != "" ; then +- # Try adding portabel link flags ++ # Try adding portable link flags + ORIG_LIBS="$LIBS" + ORIG_CPPFLAGS="$CPPFLAGS" + ORIG_PREFLAGS="$PREFLAGS" +@@ -6055,6 +6055,38 @@ if ac_fn_c_try_link "$LINENO"; then : + else + enable_curses=no + fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test "${enable_curses}" = "no" ; then ++ LIBS="$ORIG_LIBS" ++ curses_lib_flag="" ++ fi ++ fi ++ if test "${enable_curses}" = "no" ; then ++ # Try adding -lncurses -ltinfo ++ ORIG_LIBS="$LIBS" ++ curses_lib_flag=" -lncurses -ltinfo" ++ LIBS="$LIBS $curses_lib_flag" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <curses.h> ++ #include <term.h> ++int ++main () ++{ ++ int errret; ++ setupterm("", 0, &errret); ++ return 0; ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ enable_curses=yes ++else ++ enable_curses=no ++fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "${enable_curses}" = "no" ; then +diff --git a/cs/c/configure b/cs/c/configure +index db2132b7f4d..2ec78292f56 100755 +--- a/cs/c/configure ++++ b/cs/c/configure +@@ -5635,7 +5635,7 @@ rm -f core conftest.err conftest.$ac_objext \ + if test "${enable_curses}" = "no" ; then + if test "${enable_portable}" = "yes" ; then + if test "${curses_portable_link}" != "" ; then +- # Try adding portabel link flags ++ # Try adding portable link flags + ORIG_LIBS="$LIBS" + ORIG_CPPFLAGS="$CPPFLAGS" + ORIG_PREFLAGS="$PREFLAGS" +@@ -5699,6 +5699,38 @@ if ac_fn_c_try_link "$LINENO"; then : + else + enable_curses=no + fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test "${enable_curses}" = "no" ; then ++ LIBS="$ORIG_LIBS" ++ curses_lib_flag="" ++ fi ++ fi ++ if test "${enable_curses}" = "no" ; then ++ # Try adding -lncurses -ltinfo ++ ORIG_LIBS="$LIBS" ++ curses_lib_flag=" -lncurses -ltinfo" ++ LIBS="$LIBS $curses_lib_flag" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <curses.h> ++ #include <term.h> ++int ++main () ++{ ++ int errret; ++ setupterm("", 0, &errret); ++ return 0; ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ enable_curses=yes ++else ++ enable_curses=no ++fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "${enable_curses}" = "no" ; then diff --git a/dev-scheme/racket/metadata.xml b/dev-scheme/racket/metadata.xml index 8b99db59b68a..8a10d666d3ee 100644 --- a/dev-scheme/racket/metadata.xml +++ b/dev-scheme/racket/metadata.xml @@ -15,18 +15,25 @@ Extend Racket whenever you need to. Mold it to better suit your tasks without sa ==Grow your Skills== Whether you're just starting out, want to know more about programming language applications or models, looking to expand your horizons, or ready to dive into research, Racket can help you become a better programmer and system builder. </longdescription> + <upstream> + <bugs-to>https://github.com/racket/racket/issues/</bugs-to> + <remote-id type="github">racket</remote-id> + </upstream> <use> <flag name="chez"> Build Racket on Chez (Racket CS) </flag> - <flag name="futures"> + <flag name="futures"> Enable racket/future library for fine-grained hardware parallelism </flag> - <flag name="places"> + <flag name="ncurses"> + Add ncurses support for expeditor (REPL expression editor) + </flag> + <flag name="places"> Enable racket/place library for share-nothing parallelism and message-passing communication. Compared to futures, places are heavyweight, but they have a simpler performance model. </flag> - <flag name="threads"> - Enable support for green threads + <flag name="threads"> + Enable support for green threads </flag> </use> </pkgmetadata> diff --git a/dev-scheme/racket/racket-8.3-r3.ebuild b/dev-scheme/racket/racket-8.3-r3.ebuild index f614f17366c3..cc99f7caf28b 100644 --- a/dev-scheme/racket/racket-8.3-r3.ebuild +++ b/dev-scheme/racket/racket-8.3-r3.ebuild @@ -24,7 +24,7 @@ LICENSE=" # PV == SLOT but this has to be checked carefully and in cases # where we use _p, _pre, etc it will have to be set manually. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86" IUSE="+chez +doc +futures +jit minimal +places +threads" # See bug #809785 re chez/threads REQUIRED_USE="chez? ( futures places ) futures? ( jit threads ) places? ( threads )" diff --git a/dev-scheme/racket/racket-8.4-r1.ebuild b/dev-scheme/racket/racket-8.4-r1.ebuild new file mode 100644 index 000000000000..1dae6d9cdb89 --- /dev/null +++ b/dev-scheme/racket/racket-8.4-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop optfeature readme.gentoo-r1 + +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 ) +" +S="${WORKDIR}/${P}/src" + +# 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 ) +" +# Bytecode generated by Racket is not compatible between versions. +# The bytecode version should be denoted by SLOT, in most cases +# PV == SLOT but this has to be checked carefully and in cases +# where we use _p, _pre, etc it will have to be set manually. +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="+chez +doc +futures +jit minimal ncurses +places +threads" +# See bug #809785 re chez/threads +REQUIRED_USE="chez? ( futures places ) futures? ( jit threads ) places? ( threads )" + +DEPEND=" + !dev-tex/slatex + dev-db/sqlite:3 + dev-libs/libffi:= + ncurses? ( sys-libs/ncurses:= ) +" +RDEPEND="${DEPEND}" + +# Backports that will be probably available in next release (8.5) +PATCHES=( + # Pick correct ncurses library + # https://github.com/racket/racket/commit/683388b0fcc8d0cc386e0ab749bcbba7cea18c8f + "${FILESDIR}"/${P}-ncurses.patch +) + +# "mred" and "mzscheme" are binaries generated by Racket, not CC +QA_FLAGS_IGNORED="usr/bin/mred usr/bin/mzscheme" + +DOC_CONTENTS=" +If you wish to use sys-libs/readline instead of dev-libs/libedit +for readline-like features in the Racket's REPL you can install +the package 'readline-gpl' using raco, Racket's package manager +https://pkgs.racket-lang.org/package/readline-gpl +" + +# Package database files (for pkg_preinst & pkg_config) +PKGDB=( + /usr/share/racket/info-cache.rktd + /usr/share/racket/links.rktd + /usr/share/racket/pkgs/pkgs.rktd +) + +src_prepare() { + # Prepare the environment + unset PLTADDONDIR PLTCOLLECTS PLTCONFIGDIR PLTUSERHOME + + default + + # Remove bundled libffi + rm -r ./bc/foreign/libffi || die "failed to remove bundled libffi" +} + +src_configure() { + # Libtool: + # 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 + # Backend: + # --enable-bc builds Racket w/o chez backend + # C Libraries: + # --enable-libs & --disable-shared is the way to build + # .a files that are needed to embed Racket into programs + # https://docs.racket-lang.org/inside/cs-embedding.html + local myconf=( + --disable-shared + --disable-strip + --docdir="${EPREFIX}/usr/share/doc/${PF}" + --enable-libs + $(usex chez "--enable-cs --enable-csonly" "--enable-bc --enable-bconly") + $(use_enable doc docs) + $(use_enable ncurses curses) + ) + # Some options are togglable only for the BC version (are forced in CS) + ! use chez && myconf+=( + --enable-float + --enable-foreign + --enable-gracket + --enable-libffi + $(use_enable futures) + $(use_enable jit) + $(use_enable places) + $(use_enable threads pthread) + ) + econf "${myconf[@]}" +} + +src_install() { + default + + # Install Racket boot files + use chez && emake -C "${S}"/cs/c DESTDIR="${ED}" unix-install-boot-files + + # raco needs decompressed files for packages doc installation bug 662424 + use doc && docompress -x /usr/share/doc/${PF} + + # Create missing desktop files and icon + if ! use minimal ; then + newicon "${ED}/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 + + readme.gentoo_create_doc +} + +pkg_preinst() { + # If we are merging the same SLOT check if package + # database files exist and do not overwrite them + if has_version "${CATEGORY}/${PN}:${SLOT}" ; then + echo "We are installing the same SLOT: ${SLOT}" + local rktd + for rktd in "${PKGDB[@]}" ; do + if [[ -f "${EROOT}"/${rktd} ]] && [[ -f "${ED}"/${rktd} ]] ; then + einfo "Keeping old file: ${rktd}" + mv "${ED}"/${rktd} "${ED}"/${rktd}.bak || + die "failed to create a backup of ${rktd}" + cp "${EROOT}"/${rktd} "${ED}"/${rktd} || + die "failed to create a copy of ${rktd}" + fi + done + fi +} + +pkg_postinst() { + # If we have any pkgs not included in Racket main distribution (outsiders), + # then we have to re-setup them or during installation other pkgs will want + # to recompile parts of "outsider" pkgs they depend upon (and fail). + local outsiders=( $(raco pkg show -i | grep 'link' | sed 's|link.*||g') ) + if [[ -n "${outsiders[@]}" ]] ; then + ebegin "Running \"raco setup\" for outsider packages" + echo "Outsiders: ${outsiders[@]}" + raco setup --all-users --force --no-docs --no-user --pkgs "${outsiders[@]}" + eend 0 # do not fail + fi + + optfeature "readline editing features in REPL" dev-libs/libedit + optfeature "generating PDF files using Scribble" dev-texlive/texlive-fontsextra + + readme.gentoo_print_elog +} + +pkg_config() { + einfo "Swapping package database backup files" + + for rktd in "${PKGDB[@]}" ; do + mv "${EROOT}"/${rktd} "${EROOT}"/${rktd}.pkg_config + mv "${EROOT}"/${rktd}.bak "${EROOT}"/${rktd} + mv "${EROOT}"/${rktd}.pkg_config "${EROOT}"/${rktd}.bak + done +} |