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.96, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <[email protected]>
- Loading branch information
Sergei Trofimovich
committed
Apr 4, 2020
1 parent
f66dd54
commit 0a1df79
Showing
2 changed files
with
80 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.0.6.tar.xz 5153708 BLAKE2B c3263d4cf19629093306fa93decf038d8b19b8d810b7e782f84708b6771e2950554cda7c6f3d63e8dc6d2b604649fd31bd7009e51bea49ae556aa973cefc4167 SHA512 8da5281a8d93349996cbbe445e21fa9525c56e5721578ede2ae0f668cb2f29641db7d50a1b1a3e2c404ce56cb83dca10df5cbc84983242646a735b8f58d05f80 | ||
DIST nim-1.2.0.tar.xz 5869428 BLAKE2B 7bc979cc6c0170dd4c320cc9fae6f992463e828c11c33133d9afa2e7022f8f6f09bc54efdf9648b22b244df00b0d6d86892cdfc2e0a9e1718a068abaffac235f SHA512 7803a0e11a0e83d442c06af6135b446329bb005c2717aabd03c82b80d9dcac5305ae67972129fd830e91251ce4c746b805ccbf0bb220873b39faf4f342cbaf6f |
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,79 @@ | ||
# 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_compile() { | ||
export XDG_CACHE_HOME=${T}/cache #667182 | ||
tc-export CC LD | ||
|
||
_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} | ||
} |