From c3bc61051d7f12b4c682efa7a5460bbc8815649e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 7 Jan 2022 22:48:01 +0000 Subject: gentoo resync : 07.01.2022 --- dev-scheme/Manifest.gz | Bin 6847 -> 6848 bytes dev-scheme/racket/Manifest | 6 +- dev-scheme/racket/metadata.xml | 2 +- dev-scheme/racket/racket-8.2-r2.ebuild | 176 ------------------------------- dev-scheme/racket/racket-8.2-r3.ebuild | 187 +++++++++++++++++++++++++++++++++ dev-scheme/racket/racket-8.3-r2.ebuild | 146 ------------------------- dev-scheme/racket/racket-8.3-r3.ebuild | 157 +++++++++++++++++++++++++++ 7 files changed, 348 insertions(+), 326 deletions(-) delete mode 100644 dev-scheme/racket/racket-8.2-r2.ebuild create mode 100644 dev-scheme/racket/racket-8.2-r3.ebuild delete mode 100644 dev-scheme/racket/racket-8.3-r2.ebuild create mode 100644 dev-scheme/racket/racket-8.3-r3.ebuild (limited to 'dev-scheme') diff --git a/dev-scheme/Manifest.gz b/dev-scheme/Manifest.gz index f24b4ef71f6f..5196ff0e67ec 100644 Binary files a/dev-scheme/Manifest.gz and b/dev-scheme/Manifest.gz differ diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest index 48baa710b146..273686187ff8 100644 --- a/dev-scheme/racket/Manifest +++ b/dev-scheme/racket/Manifest @@ -4,6 +4,6 @@ DIST racket-8.2-src-builtpkgs.tgz 150467561 BLAKE2B 5005aa852b089becd9d6da136a55 DIST racket-8.3-src-builtpkgs.tgz 150608486 BLAKE2B f002934c07afab4152ad8395c4ab5c6c87ef810f5cf79cf5ae0b41f4caa4508e0044f4246812513def14130d507af57aa61efaff8106eaeac0b86918bd775902 SHA512 7c340f65d221343beb2b4205cdc58648bd65dceabdb16f40cda425474faa905f4dd441193dc6cd4856f7863fb83834721394d6888027db356f830eceb127dbae 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 -EBUILD racket-8.2-r2.ebuild 4891 BLAKE2B 22b5f5525bc3ad83ab57c9cdc9d6cbfc9984f737312c8e5aaa729af95ce770fc316ed0ed8fe443aa45c921c1ab985965bf30cc5ed5930b19a2b2cca678357d87 SHA512 3c6875c3c51a3caa759bf43252279c5a7e4dbd7db01911dca2783f9133b129aa5e10ee381da5031b0ddc6324fefdd135dc94ee0da7371f64da688df648df9a8e -EBUILD racket-8.3-r2.ebuild 4280 BLAKE2B 93675f029ce2988ac052365324dbde46c8b445b92598759108ecfebbb65636ba55e84df0b570e3f667f5c4b2c70406e54f936a092367385f27e6b6567ec05d26 SHA512 af94f04850c9ac6bdaf69c272e24dd6242bf0f0e046d4c0bcbc5b5e1a1f59c49a232570eab5bcda5a8525d858bd9e3a20022a373803b904017e29ab1370eb414 -MISC metadata.xml 1650 BLAKE2B af7d1bb5e4a6a4fa170f4f88fa20faca5463330047a7dcdf48e24f0e9967233235ac810f5901397ab909fbbf008c4aa8c4a89a1ea540bed40a3d2da1886613de SHA512 e2b5c5af4e5e6561cf206c1cfd3b1a1e031d722482f85ac09ce808713acc856e691adf43d62d3df46644d1abcd1f01f8cf07f1453556e7d27ae9bc425f61e63b +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 diff --git a/dev-scheme/racket/metadata.xml b/dev-scheme/racket/metadata.xml index 95a4c9a5ba28..8b99db59b68a 100644 --- a/dev-scheme/racket/metadata.xml +++ b/dev-scheme/racket/metadata.xml @@ -5,7 +5,7 @@ scheme@gentoo.org Gentoo Scheme Project - + ==Grow your Program== Racket's interactive mode encourages experimentation, and quick scripts easily compose into larger systems. Small scripts and large systems both benefit from native-code JIT compilation. When a system gets too big to keep in your head, you can add static types. diff --git a/dev-scheme/racket/racket-8.2-r2.ebuild b/dev-scheme/racket/racket-8.2-r2.ebuild deleted file mode 100644 index d442f6c1047d..000000000000 --- a/dev-scheme/racket/racket-8.2-r2.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit desktop optfeature 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 ) -" -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="X +chez +doc +futures +jit minimal +places +threads" -# See bug #809785 re chez/threads -REQUIRED_USE="futures? ( jit threads ) chez? ( threads ) places? ( threads )" - -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 - ) -" -RDEPEND="${DEPEND}" - -# "mred" and "mzscheme" are binaries generated by Racket, not CC -QA_FLAGS_IGNORED="usr/bin/mred usr/bin/mzscheme" - -# Backports that will be probably available in 8.3 release -PATCHES=( - # Prevent "libracket3m" from being stripped - # https://github.com/racket/racket/commit/92d202060201f569fafc348c4f64a2965b55287f - "${FILESDIR}/Makefile-nostrip.patch" - # Fix "starter" LDFLAGS - # https://github.com/racket/racket/commit/4f0e1703979d704c4f91b009945c324450acec7a - "${FILESDIR}/Makefile-starter.patch" -) - -# Package database files -PKGDB=( - /usr/share/racket/info-cache.rktd - /usr/share/racket/links.rktd - /usr/share/racket/pkgs/pkgs.rktd -) - -post_X_update() { - if use X && ! use minimal; then - xdg_desktop_database_update - xdg_icon_cache_update - fi -} - -src_prepare() { - # Prepare environment - unset PLTADDONDIR PLTCOLLECTS PLTCONFIGDIR PLTUSERHOME - xdg_environment_reset - - 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-float - --enable-foreign - --enable-libffi - --enable-libs - $(usex chez "--enable-cs --enable-csonly" "--enable-bc --enable-bconly") - $(use_enable X gracket) - $(use_enable doc docs) - $(use_enable futures) - $(use_enable jit) - $(use_enable places) - $(use_enable threads pthread) - ) - econf "${myconf[@]}" -} - -src_install() { - default - - # Install Racket boot files - if use chez; then - pushd "${S}"/cs/c || die - emake DESTDIR="${ED}" unix-install-boot-files - popd || die - fi - - # raco needs decompressed files for packages doc installation bug 662424 - if use doc; then - docompress -x /usr/share/doc/${PF} - fi - - # Create missing desktop files and icon - if use X && ! 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 -} - -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() { - post_X_update - - optfeature "readline editing features in REPL" dev-libs/libedit sys-libs/readline - optfeature "generating PDF files using Scribble" dev-texlive/texlive-fontsextra -} - -pkg_postrm() { - post_X_update -} - -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 -} diff --git a/dev-scheme/racket/racket-8.2-r3.ebuild b/dev-scheme/racket/racket-8.2-r3.ebuild new file mode 100644 index 000000000000..41e0c43edd56 --- /dev/null +++ b/dev-scheme/racket/racket-8.2-r3.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop optfeature readme.gentoo-r1 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 ) +" +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="X +chez +doc +futures +jit minimal +places +threads" +# See bug #809785 re chez/threads +REQUIRED_USE="futures? ( jit threads ) chez? ( threads ) places? ( threads )" + +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 + ) +" +RDEPEND="${DEPEND}" + +# "mred" and "mzscheme" are binaries generated by Racket, not CC +QA_FLAGS_IGNORED="usr/bin/mred usr/bin/mzscheme" + +# Backports that will be probably available in 8.3 release +PATCHES=( + # Prevent "libracket3m" from being stripped + # https://github.com/racket/racket/commit/92d202060201f569fafc348c4f64a2965b55287f + "${FILESDIR}/Makefile-nostrip.patch" + # Fix "starter" LDFLAGS + # https://github.com/racket/racket/commit/4f0e1703979d704c4f91b009945c324450acec7a + "${FILESDIR}/Makefile-starter.patch" +) + +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 +PKGDB=( + /usr/share/racket/info-cache.rktd + /usr/share/racket/links.rktd + /usr/share/racket/pkgs/pkgs.rktd +) + +post_X_update() { + if use X && ! use minimal; then + xdg_desktop_database_update + xdg_icon_cache_update + fi +} + +src_prepare() { + # Prepare environment + unset PLTADDONDIR PLTCOLLECTS PLTCONFIGDIR PLTUSERHOME + xdg_environment_reset + + 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-float + --enable-foreign + --enable-libffi + --enable-libs + $(usex chez "--enable-cs --enable-csonly" "--enable-bc --enable-bconly") + $(use_enable X gracket) + $(use_enable doc docs) + $(use_enable futures) + $(use_enable jit) + $(use_enable places) + $(use_enable threads pthread) + ) + econf "${myconf[@]}" +} + +src_install() { + default + + # Install Racket boot files + if use chez; then + pushd "${S}"/cs/c || die + emake DESTDIR="${ED}" unix-install-boot-files + popd || die + fi + + # raco needs decompressed files for packages doc installation bug 662424 + if use doc; then + docompress -x /usr/share/doc/${PF} + fi + + # Create missing desktop files and icon + if use X && ! 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() { + post_X_update + + optfeature "readline editing features in REPL" dev-libs/libedit + optfeature "generating PDF files using Scribble" dev-texlive/texlive-fontsextra + + readme.gentoo_print_elog +} + +pkg_postrm() { + post_X_update +} + +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 +} diff --git a/dev-scheme/racket/racket-8.3-r2.ebuild b/dev-scheme/racket/racket-8.3-r2.ebuild deleted file mode 100644 index d6c989e973c9..000000000000 --- a/dev-scheme/racket/racket-8.3-r2.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit desktop optfeature - -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 +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:= -" -RDEPEND="${DEPEND}" - -# "mred" and "mzscheme" are binaries generated by Racket, not CC -QA_FLAGS_IGNORED="usr/bin/mred usr/bin/mzscheme" - -# 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) - ) - # 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 - if use chez; then - pushd "${S}"/cs/c || die - emake DESTDIR="${ED}" unix-install-boot-files - popd || die - fi - - # raco needs decompressed files for packages doc installation bug 662424 - if use doc; then - docompress -x /usr/share/doc/${PF} - fi - - # 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 -} - -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() { - optfeature "readline editing features in REPL" dev-libs/libedit sys-libs/readline - optfeature "generating PDF files using Scribble" dev-texlive/texlive-fontsextra -} - -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 -} diff --git a/dev-scheme/racket/racket-8.3-r3.ebuild b/dev-scheme/racket/racket-8.3-r3.ebuild new file mode 100644 index 000000000000..f614f17366c3 --- /dev/null +++ b/dev-scheme/racket/racket-8.3-r3.ebuild @@ -0,0 +1,157 @@ +# 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 +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:= +" +RDEPEND="${DEPEND}" + +# "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) + ) + # 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 + if use chez; then + pushd "${S}"/cs/c || die + emake DESTDIR="${ED}" unix-install-boot-files + popd || die + fi + + # raco needs decompressed files for packages doc installation bug 662424 + if use doc; then + docompress -x /usr/share/doc/${PF} + fi + + # 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() { + 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 +} -- cgit v1.2.3