diff options
Diffstat (limited to 'dev-scheme/racket')
-rw-r--r-- | dev-scheme/racket/Manifest | 2 | ||||
-rw-r--r-- | dev-scheme/racket/racket-7.0.ebuild | 93 |
2 files changed, 95 insertions, 0 deletions
diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest index 4d60880650ad..ac9dc2976a5a 100644 --- a/dev-scheme/racket/Manifest +++ b/dev-scheme/racket/Manifest @@ -1,4 +1,6 @@ DIST racket-6.12-src-builtpkgs.tgz 119736428 BLAKE2B ca462e69c29c33e56e8e92dfc88e18c0643e045a52d50b288139b2d439dac9e10c3a5d0226236a2e2103b9d0c74871b97c3edfb242b49822d92893acc9ea42d7 SHA512 31f3f9b3f69a80601569cfdeee1610a49a2931c2c11a9daf9ff14eb8828dc48cb0befd05fc1b0cc53cc1477a04841e850f2dc89614dff58dc8e9e5da7b717716 DIST racket-6.7-src-builtpkgs.tgz 116773863 BLAKE2B 786552b296449cd105450450f7232ba5468aba0ed6d96aa6db058cc3eb655808f031259ee69d1ab8abb9a751151e28e923d4388860ed37d74a1f6a637f740f0f SHA512 63fdc18e72fa152434d0fb83e926c28d2b2d16c93a0a2be0c14d445671c1bff5daf500e9917e41fa2f60454377de0cc10d226c321402abf4bad55a15ac74f127 +DIST racket-7.0-src-builtpkgs.tgz 122544008 BLAKE2B fa6eddab17fbdec1db1dac2debb2da72fbab064f10fe0f49eda5b0ccfc635b2f86cef2eb103675988d281459f4fdb19841e27f154b803b38631ee21a2312799f SHA512 e872bb935146027bdc78dd7d22ea07cbbf78a23c761d584770d9ded3ece71b74954a317b799de16b0ba762219a46f0e66f41ceeb4d6741d0b1998bc6abf6b20a DIST racket-minimal-6.12-src-builtpkgs.tgz 11251582 BLAKE2B c8ed5c562241f37297e0e88d1c8d60ceaf35c2a7010ca68cccca8b8ee007819822149cbda4f3b5c0ec93093901593b2722a22b9f8e46a083b207022877ce45f5 SHA512 6eb23ec16c710c661171f545b8dc5a53666e8a16d1db7edf1a0713693c99b79a779c4d7c6765dc3107f699c31e29238ddbb3e08b1eb62832292af0d4a1b5f465 DIST racket-minimal-6.7-src-builtpkgs.tgz 11213736 BLAKE2B 1661fe1818d0b2c0d2c058aead61e25c5df01201d3ccdb31fccca14e9c1f2f822c18bfad6be3c1b7446d692c252129b63340b37e0311848269a914197416eee9 SHA512 59c885b535ed8e91a3b2a524bbc38661a5c19848ded935cc9f068c3fd6c8da39fc0755ef8df3a69cce3d50b96ee30d91972d6a4f6d5414eefb80bdc1ede6a285 +DIST racket-minimal-7.0-src-builtpkgs.tgz 12215529 BLAKE2B 4e9d2b137edf6b188c71dd32771753a16589ab49884aba1641fac5a5f82b9016843fec3257de7d59a9b00971a7dd455e99897782794800e14a656bcb22a17080 SHA512 976fd0ab96f4bf99eb7c63f7f213af91f91de4dd2498c4f8f1440743f7571194090abf0c4037e436970235f737d0add116f5689bf495688b3667a91ef95e8270 diff --git a/dev-scheme/racket/racket-7.0.ebuild b/dev-scheme/racket/racket-7.0.ebuild new file mode 100644 index 000000000000..206f8c7836fb --- /dev/null +++ b/dev-scheme/racket/racket-7.0.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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="http://racket-lang.org/" +SRC_URI="minimal? ( http://download.racket-lang.org/installers/${PV}/${PN}-minimal-${PV}-src-builtpkgs.tgz ) !minimal? ( http://download.racket-lang.org/installers/${PV}/${P}-src-builtpkgs.tgz )" +LICENSE="GPL-3+ LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="doc +futures +jit minimal +places +readline +threads +X" +REQUIRED_USE="futures? ( jit )" + +RDEPEND="dev-db/sqlite:3 + media-libs/libpng:0 + x11-libs/cairo[X?] + x11-libs/pango[X?] + virtual/libffi + virtual/jpeg:0 + readline? ( dev-libs/libedit ) + X? ( x11-libs/gtk+[X?] )" +RDEPEND="${RDEPEND} !dev-tex/slatex" + +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 + econf \ + --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) +} + +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 +} |