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.
Closes: https://bugs.gentoo.org/833430 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
93 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,2 +1,3 @@ | ||
DIST nim-1.4.8.tar.xz 4786360 BLAKE2B 961b38275c4f9de87ac522c5b47368ce7f5543811a2dfd7b4f3fd79a104bcd0458caaaaab1705f99eb42c64735ca5f71d5018f8a8275a430d883233b28b1d412 SHA512 e6b245271495880f0eea271c46b4f5ce9168a421716a9a22367b6be3c2a9822937aad1f48eb61c151b040ac961728a89c8a6d143c8300057c0d8c1f2d66f3dd3 | ||
DIST nim-1.6.2.tar.xz 5181616 BLAKE2B adedbcaad1b135b6f99459894856190103e2d2b678849e0418f77c02a54fde44224456ea13949f3fe9f5f020a90adde46593497895674bd9ae892b17708df292 SHA512 052b62c987035f7633f965356993cd4eec686f4f4f5c675cf966d82cb30fcf574045887a4402bcc20e487299fb5e8f65a921951c2dc21ac334e695e31d95d992 | ||
DIST nim-1.6.4.tar.xz 5130208 BLAKE2B d0f297581677bbb9fb185a8b4198f48bb58efe81a1624f62051bc1e0a93f879a0cec172f11a41784ca715ba3c151dc5307e96c15c54908aa40df406040891d6c SHA512 f4d082f37f0e675e8cdb4340d67f2e58b5e6ac5bb51dab1ded5417097f3b86d71fa585ef12ee1c3cd5b17285589cbe9d5658fcb29c98547f7967a1b6f0cb4646 |
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,92 @@ | ||
# Copyright 1999-2022 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
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="debug +readline" | ||
RESTRICT="test" # need to sort out depends and numerous failures | ||
|
||
RDEPEND="readline? ( sys-libs/readline:0= )" | ||
DEPEND="${DEPEND}" | ||
# BDEPEND="test? ( net-libs/nodejs )" | ||
|
||
PATCHES=( "${FILESDIR}"/${PN}-0.20.0-paths.patch ) | ||
|
||
# Generated by nim | ||
QA_FLAGS_IGNORED=" | ||
usr/bin/atlas | ||
usr/bin/nim | ||
usr/bin/nim_dbg | ||
usr/bin/nimble | ||
usr/bin/nimgrep | ||
usr/bin/nimpretty | ||
usr/bin/nimsuggest | ||
usr/bin/testament | ||
" | ||
|
||
_run() { | ||
echo "Running: ${@}" | ||
PATH="${S}/bin:${PATH}" "${@}" || 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 | ||
unset NIMBLE_DIR | ||
tc-export CC CXX LD | ||
|
||
local build_type | ||
if use debug ; then | ||
build_type="debug" | ||
else | ||
build_type="release" | ||
fi | ||
export NIM_OPTS=( --parallelBuild:$(makeopts_jobs) -d:${build_type} ) | ||
|
||
# Override defaults | ||
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 bash ./build.sh | ||
|
||
_run ./bin/nim ${NIM_OPTS[@]} compile koch | ||
_run ./koch boot ${NIM_OPTS[@]} $(nim_use_enable readline useGnuReadline) | ||
_run ./koch tools ${NIM_OPTS[@]} | ||
} | ||
|
||
src_test() { | ||
_run ./koch test | ||
} | ||
|
||
src_install() { | ||
_run ./koch install "${ED}" | ||
|
||
# "./koch install" installs only "nim" binary | ||
# but not the rest | ||
exeinto /usr/bin | ||
local exe | ||
for exe in bin/* ; do | ||
[[ "${exe}" == bin/nim ]] && continue | ||
doexe "${exe}" | ||
done | ||
|
||
newbashcomp tools/nim.bash-completion nim | ||
newbashcomp dist/nimble/nimble.bash-completion nimble | ||
} |