summaryrefslogtreecommitdiff
path: root/dev-scheme/racket
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-scheme/racket
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-scheme/racket')
-rw-r--r--dev-scheme/racket/Manifest11
-rw-r--r--dev-scheme/racket/metadata.xml35
-rw-r--r--dev-scheme/racket/racket-5.3.6.ebuild71
-rw-r--r--dev-scheme/racket/racket-6.7.ebuild70
-rw-r--r--dev-scheme/racket/racket-6.9.ebuild132
5 files changed, 319 insertions, 0 deletions
diff --git a/dev-scheme/racket/Manifest b/dev-scheme/racket/Manifest
new file mode 100644
index 000000000000..530bdbfb8cc6
--- /dev/null
+++ b/dev-scheme/racket/Manifest
@@ -0,0 +1,11 @@
+DIST racket-5.3.6-src-unix.tgz 19278914 SHA256 7fe0ffc1231f888cd481f175e428f0217257dd136d2513bde73954af5a7cfb8a SHA512 08e8b599e800f41c9497b07e163ed43ae02ae9d9bcc3e20da31eb2f6aa20aa4b0071db51e93696ae1bd644ddfa1c3aea587a334db24ced4a3654dcf5da138e8f WHIRLPOOL c2c34de08d0ec9942f040cc23ea7f2a9bb743d0dcc7125e1b5336b0845482e67abd46b1b5cb821e898c3db50767312f3a27e386a0b7046bf068feb23a1b1bf52
+DIST racket-6.7-src-builtpkgs.tgz 116773863 SHA256 3608a2d8b5dc5b755f014972140594e39110c5c391b556da43aa349d64c392ed SHA512 63fdc18e72fa152434d0fb83e926c28d2b2d16c93a0a2be0c14d445671c1bff5daf500e9917e41fa2f60454377de0cc10d226c321402abf4bad55a15ac74f127 WHIRLPOOL d4ee7c9cd61f79d7d6d5928ed697085a8f06c377cd80c10bfd68b5c250b3e901dcc8fad56d223ba27e486d00f7b926be49268a580137964023948d53837e05e5
+DIST racket-6.9-src-builtpkgs.tgz 118620147 SHA256 2b87f1abbeb3bf9fa981fcfb9d7b53886d8bb3591a35b7f730cbd429fe238c60 SHA512 14144c408521034b9c57925cd01ca25488cdcbcd3f8b943074f8ea434b84bdd76a73095ef920051a925929e3fcb4707bfd6b1585a7debaf23069f1a0db06298b WHIRLPOOL f00256a0f7b53748e1b3cb4fee43c769c8fd3b3af42ff765a71c6d68d3fc89c89812ab7cf7c0c5028f1ae5ae0d70a56402b42b9db18d5a11815b2195d8a73417
+DIST racket-minimal-6.7-src-builtpkgs.tgz 11213736 SHA256 4203d9b51a0de7ea549db966cfa49a736f8605ab51e2f198cbdb9cfaf428b0f3 SHA512 59c885b535ed8e91a3b2a524bbc38661a5c19848ded935cc9f068c3fd6c8da39fc0755ef8df3a69cce3d50b96ee30d91972d6a4f6d5414eefb80bdc1ede6a285 WHIRLPOOL aadcd035595325320cd7d372f4b7773ef66b542056b0140066279fe9aa9bcb054d25157774040dcc65749ac528f0297e4a30787e2a37d52fae6888b005e62490
+DIST racket-minimal-6.9-src-builtpkgs.tgz 11065867 SHA256 0b8eb43c16e2380ff47fd7883d7886a1d34935ead3546cde9e292318ddefba87 SHA512 4d619e2b2efc852b24f925b51fe452316693ce850f71298fcb2a0009fe5770c15fbe88830f8a214cbfd4e0be57e6bd47ca963c0bd919bd5fc1f986f96d7a12f5 WHIRLPOOL 534f13e0e945ba5536101e92e120da6a5e8123daf416c04b8d0b596cd54b05fc79ec5dd6dddbddef8a6cd45b06e3b51fd735590e1896373fbe44afc37329de42
+EBUILD racket-5.3.6.ebuild 1966 SHA256 9415b7ee815a0237161256991e33a02e0431110a385037f5fdf10a96bb4235d5 SHA512 6d653d903955e1336064c3f7f38375d7deed674af2a585ec0d3ff1978b1f0d40f97a631a007a128604f82a6d9bad91b1636f19baa68faffe0da9fea711b33389 WHIRLPOOL e1d84b241d4cb164eaeee8ef355c02ef397c0147838ad1d1aa97f21690f19e5e27c98f31ebb500d4540cf755e9c78c40ae3951cdd060d391a99fc71b481a9801
+EBUILD racket-6.7.ebuild 1833 SHA256 ce13e4eb40c5408d6f91c71e711df7a6f2078b5806c0c86e6b94262eef7f1534 SHA512 c67c71c65491ee53b3fd0e3d33d44a7a5af6fdbd6322a985c6f52d691a51d043b1226231a7dbad5d872ad8b34e417d10e515146127f18789c2ced00264c44f3c WHIRLPOOL 93651f4326f67ab3e80349cd8ef1a08f0a8538ea3b68b245918f0fac5ea537e4ae4d7fc7ed73ad05b486a36d4755ef07ad5d765ce42f378b2171a69da2689096
+EBUILD racket-6.9.ebuild 3882 SHA256 c186169a18bd7eecf42ddb828d565bb74bbdf38234c596c87bf1d01e58eeab22 SHA512 a4596804668d509c03f1c5ac958a8c959b2d64525c214f9f6b2688de3d6a458262bff9bef3ca48f58faab5bcf3bc2999037f16c0406e31e8d6a0ebdc4c031a44 WHIRLPOOL 1b2c51b55d1dcbea10d19177050e3c57b2807c79c936a8be1196302914e81a9bfe64b78fd80035f89476f33d1e4911066cc884a9ff8c5293d7d46d75d8b7bc12
+MISC ChangeLog 5000 SHA256 49eec6574beeab694fceee5ea52c4411d6f8f6b95d303f59c4af2c5f54d72509 SHA512 7e35729ac73dd8f81cee94af713dfcc0c2027dc127485684f3fe27a886e17cd0a74b47c0a1fe159867925555f2aa066328c4f0a2f7e484725ad77acab143b79a WHIRLPOOL 7de6dae39e373936698df9e606b4e9a374c8528933909275021d61bbef78c3a5f50646355749cfa5e09ff65c0c926ecff1534b919b6459a63cb9fc3d0b096be5
+MISC ChangeLog-2015 22122 SHA256 cdd3385e9ad33dad2165e70c6e3ba27e49ec802ab43bf53e409d17c91438a8d9 SHA512 b7ea26b80aa58578eb4ccc650dbaa44e178f4a5c29b83df02120985aef85ddd65e76ccd01e3a978c52ccdd626551727bc12753b668b0da773520d5f0d71cc467 WHIRLPOOL 656d08b9e11e02152a8104150f9a150a76bd7033b247808d57c634c233885f92dd37e92a28ff8c0217ae03eba4039f715dbd5d8c93e817920bb97a688cf34d51
+MISC metadata.xml 1713 SHA256 f5d3056e1eb9b7ff3edd0fe25e48daf67b350af3916ba689bbf06b1f92813615 SHA512 03ede908f3fd71dca9e60f6064ba626386506f0b2eb310d6668f79cb48a6d7a12c04765302a0375839dea651526add8773e9b43bb888fb1b671f36b89a70003c WHIRLPOOL 95cb4919c566133bb345cbb3694ed817ae4ab9fff18c1fef57c0e5b0ddfff2b14baf4f582e8a3ed603ef923f73606c2217be3b8a5425e877ae3b5356dd391f67
diff --git a/dev-scheme/racket/metadata.xml b/dev-scheme/racket/metadata.xml
new file mode 100644
index 000000000000..559734ba2c14
--- /dev/null
+++ b/dev-scheme/racket/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <longdescription lang="en">
+==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.
+
+==Grow your Language==
+Extend Racket whenever you need to. Mold it to better suit your tasks without sacrificing interoperability with existing libraries and without having to modify the tool chain. When less is more, you can remove parts of a language or start over and build a new one.
+
+==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>
+ <use>
+ <flag name="backtrace">
+ Support GC backtrace dumps
+ </flag>
+ <flag name="futures">
+ Enable racket/future library for fine-grained hardware parallelism
+ </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="plot">
+ Enable plot libraries
+ </flag>
+ <flag name="threads">
+ Enable support for green threads
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-scheme/racket/racket-5.3.6.ebuild b/dev-scheme/racket/racket-5.3.6.ebuild
new file mode 100644
index 000000000000..50d85cd87bb9
--- /dev/null
+++ b/dev-scheme/racket/racket-5.3.6.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+# for live ebuilds uncomment inherit git, comment SRC_URI and empty KEYWORDS
+
+inherit eutils
+#inherit git-2
+
+DESCRIPTION="General purpose, multi-paradigm programming language in the Lisp-Scheme family."
+HOMEPAGE="http://racket-lang.org/"
+SRC_URI="http://download.racket-lang.org/installers/${PV}/${PN}/${P}-src-unix.tgz"
+#SRC_URI="http://pre.racket-lang.org/installers/plt-${PV}-src-unix.tgz"
+EGIT_REPO_URI="git://git.racket-lang.org/plt.git"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="backtrace cairo doc futures jit places plot threads X"
+
+RDEPEND="dev-db/sqlite:3 x11-libs/cairo[X?] virtual/libffi"
+
+# see bug 426316: racket/draw (which depends on cairo) is sometimes used in compile-time code or when rendering documentation
+DEPEND="${RDEPEND} x11-libs/cairo !dev-tex/slatex"
+
+EGIT_SOURCEDIR="${WORKDIR}/${P}"
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ #remove bundled libraries
+ rm -rf foreign/libffi/
+
+ sed -e "s,docdir=\"\${datadir}/${PN}/doc,docdir=\"\${datadir}/doc/${PF}," -i configure || die
+}
+
+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 \
+ $(use_enable X gracket) \
+ $(use_enable plot) \
+ $(use_enable doc docs) \
+ --enable-shared \
+ $(use_enable jit) \
+ --enable-foreign \
+ $(use_enable places) \
+ $(use_enable futures) \
+ $(use_enable backtrace) \
+ $(use_enable threads pthread) \
+ --disable-perl \
+ $(use_with X x)
+}
+
+src_compile() {
+ emake || die
+}
+
+src_install() {
+ # deal with slatex
+ insinto /usr/share/texmf/tex/latex/slatex/
+ doins ../collects/slatex/slatex.sty
+
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if use X; then
+ newicon ../collects/icons/PLT-206.png drracket.png
+ make_desktop_entry drracket "DrRacket" drracket "Development"
+ fi
+}
diff --git a/dev-scheme/racket/racket-6.7.ebuild b/dev-scheme/racket/racket-6.7.ebuild
new file mode 100644
index 000000000000..a94bf65dbc89
--- /dev/null
+++ b/dev-scheme/racket/racket-6.7.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils pax-utils
+
+DESCRIPTION="General purpose, multi-paradigm programming language in the Lisp-Scheme family."
+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="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="doc +futures +jit minimal +places +threads +X"
+REQUIRED_USE="futures? ( jit )"
+
+# see bug 426316: racket/draw (which depends on cairo) is sometimes used in compile-time code or when rendering documentation
+RDEPEND="dev-db/sqlite:3
+ x11-libs/cairo[X?]
+ virtual/libffi"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ default
+ #remove bundled libraries
+ rm -rf foreign/libffi/ || die "Bundled libraries libffi was not removed"
+}
+
+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 \
+ $(use_enable X gracket) \
+ $(use_enable doc docs) \
+ --enable-shared \
+ $(use_enable jit) \
+ --enable-foreign \
+ $(use_enable places) \
+ $(use_enable futures) \
+ --enable-float \
+ --enable-libffi \
+ $(use_enable threads pthread)
+}
+
+src_compile() {
+ if use jit; then
+ pushd racket
+ emake cgc
+ pax-mark m .libs/racketcgc
+ emake 3m
+ pax-mark m .libs/racket3m
+ popd
+ fi
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if ! use minimal; then
+ #racket now comes with desktop files, but DESTDIR is mishandled
+ for f in /usr/share/applications/{drracket,slideshow}.desktop; do
+ sed -e "s|${D}||g" \
+ -i "${D}/${f}" || die "Failed to patch '${f}'"
+ done
+ fi
+}
diff --git a/dev-scheme/racket/racket-6.9.ebuild b/dev-scheme/racket/racket-6.9.ebuild
new file mode 100644
index 000000000000..069d5423011f
--- /dev/null
+++ b/dev-scheme/racket/racket-6.9.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 )"
+
+# The main license is LGPL-3, as described here:
+#
+# https://download.racket-lang.org/license.html
+#
+# However, there are traces of plain-GPL code, such as the routines in
+# collects/file/gzip.rkt that were based on GPLed C code, or the Cygwin
+# code in src/racket/dynsrc/init.cc. To err on the side of correctness,
+# we list GPL-3+, too.
+#
+LICENSE="GPL-3+ LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc +futures +jit minimal +places +threads +X"
+REQUIRED_USE="futures? ( jit )"
+
+# According to the Racket README, the dependencies of racket/draw should
+# only be needed at runtime, unless you're building the documentation:
+#
+# http://docs.racket-lang.org/draw/libs.html
+#
+# However, we have one report where the build system tried to use Pango,
+# even with USE="-doc". To be safe, we require the racket/draw
+# dependencies unconditionally at both build- and run-time.
+#
+# References:
+#
+# * bug 426316
+# * bug 486016
+#
+# The Racket GUI has some additional dependencies,
+#
+# http://docs.racket-lang.org/gui/libs.html
+#
+# that may truly be runtime-only.
+#
+RDEPEND="dev-db/sqlite:3
+ media-libs/libpng:0
+ x11-libs/cairo[X?]
+ x11-libs/pango[X?]
+ virtual/libffi
+ virtual/jpeg:0
+ X? ( x11-libs/gtk+[X?] )"
+
+# The blocker on dev-tex/slatex is because they both ship a "slatex"
+# executable. The slatex that comes with racket is apparently a copy of
+# dev-tex/slatex that has been modified to support only mzscheme. It's
+# not clear if dev-tex/slatex can be used as a replacement for the
+# racket version, but the racket version almost certainly cannot replace
+# dev-tex/slatex.
+#
+# If dev-tex/slatex will work for racket, then maybe we could just pull
+# it in as a dependency and remove /usr/bin/slatex in the src_install
+# for racket. Otherwise, we may have to rename racket's version to
+# somethine like slatex-racket, assuming that doesn't break
+# anything. This is all bug 547398.
+#
+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
+}