dev-scheme/racket: add version 7.7
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Maciej Barć <xgqt@protonmail.com>
This commit is contained in:
parent
7ef5b62bf3
commit
d5ab94c6b3
2
dev-scheme/racket/Manifest
Normal file
2
dev-scheme/racket/Manifest
Normal file
@ -0,0 +1,2 @@
|
||||
DIST racket-7.7-src-builtpkgs.tgz 148403219 BLAKE2B 6f68fc680ca12e09c9f4399bb26dd87a4bfb3d1d05370555300e460a23ea390d02a3ae74e7d227eb0b140d49c9a3a9de2c2502313a09f9cef49103592eeae58b SHA512 9537f3b3d3e7955f4935b64b4d447bf14b2e1c1a2fb7486327ecb7ebf11aa58d531b7f2f72916742752b7e174b429cb446a059a7e535c1450a175302507ec3ea
|
||||
DIST racket-minimal-7.7-src-builtpkgs.tgz 21239831 BLAKE2B 6450ba93e65c15350a4a5790852c6a2be5311fcaf803b355c310ba6709f4869d305a8a36aec6c03883f639d0737cbc0be4222e4ef1eb9639ba38da902f46e65e SHA512 aaad81e48a3b28c3023bcb9aeb18a4a2d4214a3a7b5c34c4a52e1b5dc5d0afdfb4976c2d2e1a17f109ff700970e377ef336b6b1ab23e4b9930492a9e9e37619c
|
15
dev-scheme/racket/metadata.xml
Normal file
15
dev-scheme/racket/metadata.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<use>
|
||||
<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="threads">
|
||||
Enable support for green threads
|
||||
</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
124
dev-scheme/racket/racket-7.7.ebuild
Normal file
124
dev-scheme/racket/racket-7.7.ebuild
Normal file
@ -0,0 +1,124 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# 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="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 )
|
||||
"
|
||||
|
||||
RESTRICT="mirror"
|
||||
LICENSE="GPL-3+ LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
IUSE="
|
||||
+X
|
||||
+futures
|
||||
+jit
|
||||
+places
|
||||
+readline
|
||||
+threads
|
||||
doc
|
||||
minimal
|
||||
"
|
||||
REQUIRED_USE="
|
||||
futures? ( jit )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
!dev-tex/slatex
|
||||
dev-db/sqlite:3
|
||||
dev-libs/libffi
|
||||
media-libs/libpng:0
|
||||
virtual/jpeg:0
|
||||
x11-libs/cairo[X?]
|
||||
x11-libs/pango[X?]
|
||||
readline? (
|
||||
dev-libs/libedit
|
||||
)
|
||||
X? (
|
||||
x11-libs/gtk+[X?]
|
||||
)
|
||||
"
|
||||
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
|
||||
local myconf=(
|
||||
--docdir="${EPREFIX}"/usr/share/doc/${PF}
|
||||
--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)
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
|
||||
}
|
Loading…
Reference in New Issue
Block a user