void-packages/srcpkgs/nim/template
2017-05-18 11:27:14 +00:00

93 lines
2.3 KiB
Bash

# Template file for 'nim'
pkgname=nim
version=0.17.0
revision=1
_cversion=0.17.0
_nimbleversion=0.8.6
depends="gcc"
hostmakedepends="ed"
short_desc="The Nim programming language"
maintainer="allan <mail@may.mooo.com>"
license="MIT"
homepage="http://nim-lang.org/"
distfiles="https://github.com/nim-lang/Nim/archive/v${version}.tar.gz
https://github.com/nim-lang/csources/archive/v${_cversion}.tar.gz>csources-${_cversion}.tar.gz
https://github.com/nim-lang/nimble/archive/v${_nimbleversion}.tar.gz>nimble-${_nimbleversion}.tar.gz"
checksum="9f954f03a40e8fba32e02fcb91499e518f8e220809aef9e22bb7443c96bbbdcd
6b8de28dc317534e45366b62dcad14b9932c0de398c44e1506f5bbd80019c671
af251c1011fe1d6e72a9d18a7672a8b90013dd6659085082e525d31204ca6ddf"
build_wrksrc=Nim-$version
create_wrksrc=yes
nopie=yes
post_extract() {
mv csources-$_cversion $build_wrksrc/csources
mkdir $build_wrksrc/dist
mv nimble-$_nimbleversion $build_wrksrc/dist/nimble
}
do_build() {
cd csources
CFLAGS= LDFLAGS= sh build.sh
cd ..
ed lib/wrappers/openssl.nim <<-EDIT
,s/versions = "(/versions = "(|.43|.41/
w
q
EDIT
bin/nim c koch
./koch boot -d:release
case "$XBPS_TARGET_MACHINE"
in aarch64*) _arch=arm64
;; arm*) _arch=arm
esac
case "$XBPS_TARGET_MACHINE"
in arm*|aarch64*)
ed config/nim.cfg <<-EDIT
,s/^arm.linux.gcc.exe .*/arm.linux.gcc.exe = "$CC"/
,s/^arm.linux.gcc.linkerexe .*/arm.linux.gcc.linkerexe = "$CC"/
a
arm64.linux.gcc.exe = "$CC"
arm64.linux.gcc.linkerexe = "$CC"
.
w
q
EDIT
bin/nim c -d:release --os:linux --cpu:$_arch --listCmd compiler/nim
for _p in \
dist/nimble/src/nimble \
tools/nimgrep \
nimsuggest/nimsuggest
do
bin/nim c -d:release --os:linux --cpu:$_arch --listCmd $_p
mv $_p bin
done
;; *)
./koch tools
esac
}
do_install() {
./koch install ${DESTDIR}/usr/lib
if [ "$CROSS_BUILD" ]; then
mv compiler/nim ${DESTDIR}/usr/lib/nim/bin/nim
fi
vmkdir usr/bin
vmkdir usr/share/nim
ln -sf /usr/lib/nim/bin/nim ${DESTDIR}/usr/bin/nim
for _f in nimble nimsuggest nimgrep; do
chmod 0755 bin/$_f
cp bin/$_f ${DESTDIR}/usr/lib/nim/bin
ln -sf /usr/lib/nim/bin/$_f ${DESTDIR}/usr/bin/$_f
done
cp -r doc examples ${DESTDIR}/usr/lib/nim
ln -sf /usr/lib/nim/doc ${DESTDIR}/usr/share/nim/doc
ln -sf /usr/lib/nim/examples ${DESTDIR}/usr/share/nim/examples
vlicense copying.txt
}