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.
Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Sergei Trofimovich <[email protected]>
- Loading branch information
Sergei Trofimovich
committed
Jun 27, 2020
1 parent
c852a7c
commit 240bc36
Showing
2 changed files
with
87 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 nim-1.2.2.tar.xz 5680316 BLAKE2B e7c0b2d3f4624f4287c364bc7e9571c21bd41327ab35ef4f6c23b0d1e70ad3e41fa944464299b252faac4fe34a8a15625ef732083a41a02cc5686892162b6f4d SHA512 95f7b03a091113382298d438d27641cf612fc187a29bda66c3b88a4b6d29f5c20a33dd22c63cbd402f4ccd921bf05fbd144a8bea9c6155ab865b4b5d14b93a13 | ||
DIST nim-1.2.4.tar.xz 5680128 BLAKE2B d8bb186862bf8c8e7e20dd5d1035013c6d48de777512658736ddcd49723e5789dc1e8fe6b5dc8bfbda36d204aeaeba3fdb4e10c6d7955fdc47d9fe78ce17082c SHA512 ed5dd7a744229685c9c034700eb0f7d7c51030ea344c1c371cf2731632fd3376b577a3a9731ed79d65a8fb69f3507a8a88408f2e5c46359a8bbd3b3092d991cc |
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,86 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit bash-completion-r1 multiprocessing toolchain-funcs | ||
|
||
DESCRIPTION="compiled, garbage-collected systems programming language" | ||
HOMEPAGE="https://nim-lang.org/" | ||
SRC_URI="https://nim-lang.org/download/${P}.tar.xz" | ||
|
||
LICENSE="MIT" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~x86" | ||
IUSE="doc +readline test" | ||
|
||
RESTRICT=test # need to sort out depends and numerous failures | ||
|
||
RDEPEND=" | ||
readline? ( sys-libs/readline:0= ) | ||
" | ||
DEPEND=" | ||
${DEPEND} | ||
test? ( net-libs/nodejs ) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${PN}-0.20.0-paths.patch | ||
) | ||
|
||
_run() { | ||
echo "$@" | ||
"$@" || die "'$*' failed" | ||
} | ||
|
||
nim_use_enable() { | ||
[[ -z $2 ]] && die "usage: nim_use_enable <USE flag> <compiler flag>" | ||
use $1 && echo "-d:$2" | ||
} | ||
|
||
src_configure() { | ||
export XDG_CACHE_HOME=${T}/cache #667182 | ||
tc-export CC LD | ||
|
||
# Override default CC=gcc. | ||
echo "gcc.exe = \"$(tc-getCC)\"" >> config/nim.cfg || die | ||
echo "gcc.linkerexe = \"$(tc-getCC)\"" >> config/nim.cfg || die | ||
} | ||
|
||
src_compile() { | ||
|
||
_run ./build.sh | ||
|
||
_run ./bin/nim --parallelBuild:$(makeopts_jobs) c koch | ||
_run ./koch boot --parallelBuild:$(makeopts_jobs) -d:release $(nim_use_enable readline useGnuReadline) | ||
# build nimble and friends | ||
# --stable to avoid pulling HEAD nimble | ||
PATH="./bin:$PATH" _run ./koch --stable tools --parallelBuild:$(makeopts_jobs) | ||
|
||
if use doc; then | ||
# TODO: '--parallelBuild:' does ont seem to work | ||
PATH="./bin:$PATH" _run ./koch doc --parallelBuild:$(makeopts_jobs) | ||
fi | ||
} | ||
|
||
src_test() { | ||
PATH="./bin:$PATH" _run ./koch test --parallelBuild:$(makeopts_jobs) | ||
} | ||
|
||
src_install() { | ||
PATH="./bin:$PATH" _run ./koch install "${ED}" | ||
rm -r "${ED}/usr/share/nim/doc" || die "failed to remove 'doc'" | ||
|
||
exeinto /usr/bin | ||
|
||
local bin_exe | ||
for bin_exe in bin/*; do | ||
# './koch install' installs only 'nim' binary | ||
# but not the rest | ||
[[ ${bin_exe} == bin/nim ]] && continue | ||
doexe "${bin_exe}" | ||
done | ||
|
||
use doc && dodoc doc/html/*.html | ||
newbashcomp tools/nim.bash-completion ${PN} | ||
} |