forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-lang/idris2: bump to 0.5.1_p20220131
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Maciej Barć <[email protected]>
- Loading branch information
Showing
2 changed files
with
105 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST idris2-0.5.1_p20211112.tar.gz 6202861 BLAKE2B 189bf28c7a33281494edea9b2c0821a934000fe9ca6e929b3318fe33576553142e5ad8d81598249cc384c6e342491ccef0998f33a4f2940b80264f5a3e4b32b2 SHA512 3b419ddbdc4aa3a28d92bf204448090c168d6a844d570886f982129f9e650c7112bbf95b727baf6c9f0f2fd6200c75eb68b6b71fd8684e01365eaf964dea1ea1 | ||
DIST idris2-0.5.1_p20220131.tar.gz 6283472 BLAKE2B 86b75457b8772d0a8938a4d3422af08fa8e625b675cc2648bc9f2683a6654586ff91b8b1d592f72a3a44c72fa830f9ebc5ae0c451398e8cb5d3fdf5070f7f8ab SHA512 50f21819dee929f847a6b64c89231da9dd55bc35314300aa7d3c3c5ea0da451caba67081ca8b2ffd89608d3aaa042e9b9a6ecb2df0585589404bae3c6a2fe74a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
# Copyright 1999-2022 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
H=a2c7e9f306ea8ff935bbeff1eac764291b12ce87 | ||
|
||
inherit toolchain-funcs | ||
|
||
DESCRIPTION="Purely functional programming language with first class types" | ||
HOMEPAGE="https://idris-lang.org/" | ||
|
||
if [[ "${PV}" == *9999* ]] ; then | ||
inherit git-r3 | ||
EGIT_REPO_URI="https://github.com/idris-lang/Idris2.git" | ||
else | ||
SRC_URI="https://github.com/idris-lang/Idris2/archive/${H}.tar.gz -> ${P}.tar.gz" | ||
KEYWORDS="~amd64 ~x86" | ||
S="${WORKDIR}/${PN^}-${H}" | ||
fi | ||
|
||
LICENSE="BSD" | ||
SLOT="0" | ||
IUSE="+chez doc racket test-full" | ||
REQUIRED_USE="^^ ( chez racket )" | ||
|
||
RDEPEND=" | ||
dev-libs/gmp | ||
chez? ( dev-scheme/chez[threads] ) | ||
racket? ( dev-scheme/racket[threads] ) | ||
" | ||
DEPEND="${RDEPEND}" | ||
BDEPEND=" | ||
doc? ( dev-python/sphinx_rtd_theme ) | ||
test-full? ( | ||
dev-scheme/chez[threads] | ||
dev-scheme/racket[threads] | ||
net-libs/nodejs | ||
) | ||
" | ||
|
||
# Generated via "SCHEME", not CC | ||
QA_FLAGS_IGNORED="usr/lib/idris2/bin/idris2_app/idris2 | ||
usr/lib/idris2/bin/idris2_app/idris2-boot" | ||
QA_PRESTRIPPED="${QA_FLAGS_IGNORED}" | ||
|
||
src_prepare() { | ||
# Clean up environment of Idris and Racket variables | ||
unset IDRIS2_DATA IDRIS2_INC_CGS IDRIS2_LIBS IDRIS2_PACKAGE_PATH | ||
unset IDRIS2_PATH IDRIS2_PREFIX | ||
unset PLTUSERHOME | ||
|
||
tc-export AR CC CXX LD RANLIB | ||
export CFLAGS | ||
sed -i '/^CFLAGS/d' ./support/*/Makefile || die | ||
|
||
# Fix "PREFIX" | ||
sed -i 's|$(HOME)/.idris2|/usr/lib/idris2|g' ./config.mk || die | ||
|
||
# Bad tests | ||
sed -i 's|, "futures001"||g' ./tests/Main.idr || die | ||
# > Missing incremental compile data, reverting to whole program compilation | ||
sed -i 's|"chez033",||g' ./tests/Main.idr || die | ||
|
||
default | ||
} | ||
|
||
src_configure() { | ||
export IDRIS2_VERSION=${PV} | ||
export SCHEME=$(usex chez chezscheme racket) | ||
|
||
if use chez ; then | ||
export IDRIS2_CG=chez | ||
export BOOTSTRAP_TARGET=bootstrap | ||
elif use racket ; then | ||
export IDRIS2_CG=racket | ||
export BOOTSTRAP_TARGET=bootstrap-racket | ||
else | ||
die "Neither chez nor racket was chosen" | ||
fi | ||
} | ||
|
||
src_compile() { | ||
# > jobserver unavailable | ||
# This is caused by Makefile using a script which in turn calls make | ||
# https://github.com/idris-lang/Idris2/issues/2152 | ||
emake SCHEME=${SCHEME} ${BOOTSTRAP_TARGET} -j1 | ||
|
||
use doc && emake -C ./docs html | ||
} | ||
|
||
src_test() { | ||
emake SCHEME=${SCHEME} bootstrap-test | ||
} | ||
|
||
src_install() { | ||
# "DESTDIR" variable is not respected | ||
emake IDRIS2_PREFIX="${D}"/usr/lib/idris2 PREFIX="${D}"/usr/lib/idris2 install | ||
dosym ../lib/${PN}/bin/${PN} /usr/bin/${PN} | ||
|
||
# Install documentation | ||
use doc && dodoc -r ./docs/build/html | ||
einstalldocs | ||
} |