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-3.0.19, Repoman-3.0.3 Signed-off-by: Sergei Trofimovich <[email protected]>
- Loading branch information
Sergei Trofimovich
committed
May 25, 2021
1 parent
2c5ef4b
commit ae777ef
Showing
2 changed files
with
81 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.4.6.tar.xz 4793544 BLAKE2B 5d015193564c63f16bd812eed19ace6cdeb2c944aa3aad3a41f4f811e8d56bdde02c5b405e7939ab09ad8b29d84ef9212c2df7c9f9148e0c26288157d20f4846 SHA512 6b1971a920c3572f9a1997648a297afc1696b09ac20ca031a4b23eba3b66b9ff93606bff2eeacaa651ed8cf6af2df7d38ec6253a4e66955a3e04c6d88991e013 | ||
DIST nim-1.4.8.tar.xz 4786360 BLAKE2B 961b38275c4f9de87ac522c5b47368ce7f5543811a2dfd7b4f3fd79a104bcd0458caaaaab1705f99eb42c64735ca5f71d5018f8a8275a430d883233b28b1d412 SHA512 e6b245271495880f0eea271c46b4f5ce9168a421716a9a22367b6be3c2a9822937aad1f48eb61c151b040ac961728a89c8a6d143c8300057c0d8c1f2d66f3dd3 |
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,80 @@ | ||
# Copyright 1999-2021 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="+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 | ||
echo "gcc.cpp.exe = \"$(tc-getCXX)\"" >> config/nim.cfg || die | ||
echo "gcc.cpp.linkerexe = \"$(tc-getCXX)\"" >> 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) | ||
PATH="./bin:$PATH" _run ./koch tools --parallelBuild:$(makeopts_jobs) | ||
} | ||
|
||
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 | ||
|
||
newbashcomp tools/nim.bash-completion ${PN} | ||
} |