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/nim: build and install 'nimble' and other tools, bug #631512
Defauld './koch install' installs only 'nim' binary as it uses 'compiler.ini' configurations. But there is no easy way to install other tools. After this change ebuild builds and installs tools explicitly to expose them to users. Reported-by: [email protected] Closes: https://bugs.gentoo.org/631512 Package-Manager: Portage-2.3.11, Repoman-2.3.3
- Loading branch information
Sergei Trofimovich
committed
Oct 10, 2017
1 parent
d6de19f
commit be0fece
Showing
2 changed files
with
70 additions
and
1 deletion.
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 |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
inherit bash-completion-r1 | ||
|
||
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" | ||
|
||
DEPEND=" | ||
readline? ( sys-libs/readline:0= ) | ||
" | ||
RDEPEND="${DEPEND}" | ||
|
||
nim_use_enable() { | ||
[[ -z $2 ]] && die "usage: nim_use_enable <USE flag> <compiler flag>" | ||
use $1 && echo "-d:$2" | ||
} | ||
|
||
src_compile() { | ||
./build.sh || die "build.sh failed" | ||
|
||
./bin/nim c koch || die "csources nim failed" | ||
./koch boot -d:release $(nim_use_enable readline useGnuReadline) || die "koch boot failed" | ||
# build nimble and friends | ||
PATH="./bin:$PATH" ./koch tools || die "koch tools failed" | ||
|
||
if use doc; then | ||
PATH="./bin:$PATH" ./koch web || die "koch web failed" | ||
fi | ||
} | ||
|
||
src_test() { | ||
PATH="./bin:$PATH" ./koch test || die "test suite failed" | ||
} | ||
|
||
src_install() { | ||
PATH="./bin:$PATH" ./koch install "${ED}/usr" || die "koch install failed" | ||
rm -r "${ED}/usr/nim/doc" || die "failed to remove 'doc'" | ||
|
||
dodir /usr/bin | ||
exeinto /usr/nim/bin | ||
|
||
local bin_exe | ||
for bin_exe in bin/*; do | ||
# './koch install' installs only 'nim' binary | ||
# but not the rest | ||
doexe "${bin_exe}" | ||
dosym ../nim/"${bin_exe}" /usr/"${bin_exe}" | ||
done | ||
|
||
if use doc; then | ||
insinto /usr/share/doc/${PF} | ||
dodoc doc/*.html | ||
fi | ||
|
||
newbashcomp tools/nim.bash-completion ${PN} | ||
} |
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