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: bump up to 0.19.0, bug #635032
While at it move installation to /usr/ prefix. Reported-by: Jonas Stein Closes: https://bugs.gentoo.org/635032 Package-Manager: Portage-2.3.50, Repoman-2.3.11
- Loading branch information
Sergei Trofimovich
committed
Sep 26, 2018
1 parent
7551dc1
commit 7617f03
Showing
3 changed files
with
116 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
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,36 @@ | ||
Default to <prefix>/usr/bin install. | ||
|
||
https://bugs.gentoo.org/635032 | ||
--- a/tools/niminst/install.tmpl | ||
+++ b/tools/niminst/install.tmpl | ||
@@ -28,13 +28,13 @@ if [ $# -eq 1 ] ; then | ||
echo "sh deinstall.sh DIR" | ||
exit 1 | ||
;; | ||
- "/usr/bin") | ||
- bindir=/usr/bin | ||
- configdir=/etc/?proj | ||
- libdir=/usr/lib/?proj | ||
- docdir=/usr/share/?proj/doc | ||
- datadir=/usr/share/?proj/data | ||
- nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version" | ||
+ *) | ||
+ bindir=$1/usr/bin | ||
+ configdir=$1/etc/?proj | ||
+ libdir=$1/usr/lib/?proj | ||
+ docdir=$1/usr/share/?proj/doc | ||
+ datadir=$1/usr/share/?proj/data | ||
+ nimbleDir=$1"/opt/nimble/pkgs/?c.nimblePkgName-?c.version" | ||
;; | ||
"/usr/local/bin") | ||
bindir=/usr/local/bin | ||
@@ -68,6 +68,9 @@ if [ $# -eq 1 ] ; then | ||
;; | ||
esac | ||
|
||
+ mkdir -p $bindir | ||
+ mkdir -p $datadir | ||
+ | ||
mkdir -p $libdir | ||
mkdir -p $docdir | ||
mkdir -p $configdir |
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-2018 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
inherit bash-completion-r1 multiprocessing | ||
|
||
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}"/${P}-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() { | ||
_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 | ||
|
||
if use doc; then | ||
PATH="./bin:$PATH" _run ./koch web | ||
fi | ||
} | ||
|
||
src_test() { | ||
PATH="./bin:$PATH" _run ./koch test | ||
} | ||
|
||
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 | ||
|
||
if use doc; then | ||
insinto /usr/share/doc/${PF} | ||
dodoc doc/*.html | ||
fi | ||
|
||
newbashcomp tools/nim.bash-completion ${PN} | ||
} |