summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/racket')
-rw-r--r--dev-scheme/racket/Manifest2
-rw-r--r--dev-scheme/racket/racket-7.0.ebuild93
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
+}