# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka # # WARNING: Coroutines does not work and there may be more breakages! setglobal pkgname = 'nim' setglobal pkgver = '0.17.0' setglobal pkgrel = '0' setglobal pkgdesc = '"A systems and applications programming language'" setglobal url = '"https://nim-lang.org/'" setglobal arch = '"all'" setglobal license = '"MIT'" setglobal checkdepends = '"sqlite-libs nodejs'" setglobal subpackages = ""$pkgname-doc nimsuggest niminst"" setglobal source = ""https://nim-lang.org/download/$pkgname-$pkgver.tar.xz $pkgname-csources-$pkgver.tar.gz::https://github.com/nim-lang/csources/archive/v$pkgver.tar.gz niminst-fix-paths.patch nim-config-fix-paths.patch"" setglobal builddir = ""$srcdir/$pkgname-$pkgver"" # Don't run tests on armhf, it'd take eternity... match $CARCH { with armhf setglobal options = '"!check'" } proc prepare { mv "$srcdir"/csources-$pkgver "$builddir"/csources default_prepare } proc build { cd "$builddir"/csources msg2 "Building nim csources..." ./build.sh cd .. msg2 "Building koch..." ./bin/nim compile -d:release koch msg2 "Building nim..." ./koch boot -d:release msg2 "Building nimsuggest..." ./bin/nim compile -d:release nimsuggest/nimsuggest.nim } proc check { cd $builddir # XXX: Some tests fail! ./koch tests --pedantic --targets="c js" all || true } proc package { cd $builddir env DESTDIR=$pkgdir ./koch install /usr/bin cd $pkgdir mkdir -p usr/include local file; for file in [usr/lib/nim/*.h] { mv $file usr/include/ ln -s ../../include/$(file##*/) usr/lib/nim/$(file##*/) } } proc nimsuggest { setglobal pkgdesc = '"idetools for the nim language'" install -D -m 755 "$builddir"/nimsuggest/nimsuggest \ "$subpkgdir"/usr/bin/nimsuggest } proc niminst { setglobal pkgdesc = '"A tool to generate an installer for a Nim program'" install -D -m 755 "$builddir"/tools/niminst/niminst \ "$subpkgdir"/usr/bin/niminst } setglobal sha512sums = '"90d709b39746fac5582b9df69d3eb9e3b7a39563a98f7a3002f00716b936e4e0d2be47d8b877878318692e6e2b85c08077dfcc20d9059573a1967402c244894b nim-0.17.0.tar.xz fbf64d347e25da48d5237eef35209774f0e542975465c5d2cd98878f10ea0ab62ad1404758131543b8cf634afabc90d85e9e59dec96eae9bb60fffb88d204d92 nim-csources-0.17.0.tar.gz 4ab36c5d8772567ba09b536e3dd91ddcf253892056751318ccbfce7ac24f0a646bfcd94f5dadc823c9a8394bea9614fede20c1805638052ebdbe7b5bafba4f05 niminst-fix-paths.patch 813eb4cb93b0e9f12cb7666bef65c583390008ec09bc850f43f621688dc809bc51c105898095a8ef6316fbef49ac657a7abc75d74ad7b8cb3919c8f1a721af02 nim-config-fix-paths.patch'"