diff options
Diffstat (limited to 'community/nim/APKBUILD')
-rw-r--r-- | community/nim/APKBUILD | 107 |
1 files changed, 75 insertions, 32 deletions
diff --git a/community/nim/APKBUILD b/community/nim/APKBUILD index 6dfff86549f..15c6ad24c35 100644 --- a/community/nim/APKBUILD +++ b/community/nim/APKBUILD @@ -1,54 +1,63 @@ # Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Contributor: Nicolas Lorin <androw95220@gmail.com> # Maintainer: Jakub Jirutka <jakub@jirutka.cz> # # WARNING: There may be breakages! pkgname=nim -pkgver=1.4.8 -pkgrel=1 -_csources_ver=0.20.0 +pkgver=2.0.4 +pkgrel=0 pkgdesc="A systems and applications programming language" url="https://nim-lang.org/" arch="all !s390x" license="MIT" -checkdepends="sqlite-libs nodejs gc-dev pcre valgrind" -subpackages="$pkgname-doc nimsuggest niminst" depends="libucontext-dev" # used by nims compiler +_gdb_depends="$pkgname gdb" +makedepends="$_gdb_depends" +checkdepends=" + gc-dev + nodejs + pcre + sqlite-libs + valgrind + " +provides="niminst=$pkgver-r$pkgrel" # backward compatibility (Alpine <3.20) +subpackages=" + $pkgname-dbg + $pkgname-gdb::noarch + $pkgname-dev + nimsuggest + " source="https://nim-lang.org/download/nim-$pkgver.tar.xz - $pkgname-csources-$_csources_ver.tar.gz::https://github.com/nim-lang/csources/archive/v$_csources_ver.tar.gz niminst-fix-paths.patch nim-config-fix-paths.patch + nim-gdb-fix-posix-and-sysroot.patch nim-config-enable-ucontext.patch " # Don't run tests on armhf and ppc64le, it'd take eternity... -# Can't run tests on mips and riscv64, no nodejs... +# Can't run tests on riscv64, no nodejs... # Temporarily allow textrels on riscv64 case "$CARCH" in - armhf | ppc64le | mips*) options="!check";; - riscv64) options="!check textrels";; + armhf | ppc64le | riscv64) options="!check";; esac -prepare() { - mv "$srcdir"/csources-$_csources_ver "$builddir"/csources - default_prepare -} +export NIMFLAGS="${NIMFLAGS-} ${JOBS:+"--parallelBuild:$JOBS"}" 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 + msg2 "Building tools..." + ./koch toolsNoExternal -d:release + + msg2 "Building niminst..." + ./bin/nim compile -d:release tools/niminst/niminst.nim } check() { @@ -59,30 +68,64 @@ check() { package() { DESTDIR="$pkgdir" ./koch install /usr/bin + install -D -m 755 -t "$pkgdir"/usr/bin/ \ + bin/nim-gdb \ + bin/nim_dbg \ + bin/nimgrep \ + bin/nimpretty \ + bin/nimsuggest \ + bin/testament \ + tools/niminst/niminst + + install -D -m644 tools/debug/* -t "$pkgdir"/usr/lib/nim/tools/debug/ + + # This is imported from /usr/share/nimble/pkgs/nim-*/compiler/nimblecmd.nim. + mkdir -p "$pkgdir"/usr/share/nimble/pkgs/nim-$pkgver/dist + cp -r dist/checksums "$pkgdir"/usr/share/nimble/pkgs/nim-$pkgver/dist/ + cd "$pkgdir" + rmdir usr/share/doc/nim mkdir -p usr/include local file; for file in usr/lib/nim/*.h; do mv $file usr/include/ ln -s ../../include/${file##*/} usr/lib/nim/${file##*/} done + + # Fix wrong path for system.nim. + # https://github.com/nim-lang/Nim/issues/22369 + ln -s . usr/lib/nim/lib } -nimsuggest() { - pkgdesc="idetools for the nim language" +dbg() { + pkgdesc="$pkgdesc (debug build)" + + amove usr/bin/nim_dbg +} + +gdb() { + pkgdesc="$pkgdesc (gdb printers)" + depends="$_gdb_depends" - install -D -m 755 "$builddir"/nimsuggest/nimsuggest \ - "$subpkgdir"/usr/bin/nimsuggest + amove usr/bin/nim-gdb + amove usr/lib/nim/tools/debug } -niminst() { - pkgdesc="A tool to generate an installer for a Nim program" +dev() { + pkgdesc="$pkgdesc (development files)" + + amove usr/bin/testament +} + +nimsuggest() { + pkgdesc="idetools for the nim language" - install -D -m 755 "$builddir"/tools/niminst/niminst \ - "$subpkgdir"/usr/bin/niminst + amove usr/bin/nimsuggest } -sha512sums="e6b245271495880f0eea271c46b4f5ce9168a421716a9a22367b6be3c2a9822937aad1f48eb61c151b040ac961728a89c8a6d143c8300057c0d8c1f2d66f3dd3 nim-1.4.8.tar.xz -4da00678cb92cfd3b2425e4698cbbef8111c711f9457ba969367638437b5fad7928ca0a91fd24f53dcd9d341cfc420e87ec85d245767531bc57ccafd6feba258 nim-csources-0.20.0.tar.gz -04a6b928c570452c063986ba44bf924295fc11473678bdb80ac9d40f13841c976a54a5c149a6dd00f0d77f20ee84e8b736c3e47c01ae51f55190c281215ffa3d niminst-fix-paths.patch -813eb4cb93b0e9f12cb7666bef65c583390008ec09bc850f43f621688dc809bc51c105898095a8ef6316fbef49ac657a7abc75d74ad7b8cb3919c8f1a721af02 nim-config-fix-paths.patch -4bff5b687fc4154a4b3c8e888e4fcdd2340acfcc87b1a5eeaa9feb173cadd6047bd73d68983461c1edcec232aca6014dbeab8efaedcf4d8a52662780de4b51d3 nim-config-enable-ucontext.patch" +sha512sums=" +1918b3d4a4fc02714677b2ca5051dc69e1d1daead2cf4dcc9b997076540d07d58ee4fe3049de86a37faa3143de1d3b95bedfa31f31d8463987bb267107459793 nim-2.0.4.tar.xz +26eb35cdaae908c96c20889b3561d0fb7ef3f6bdfe0c582eaa6122c7982a032a3e50174175dfb67b919b9e38691849d87966a9c093677774491e32b49eed3c6b niminst-fix-paths.patch +7667963a1f3370a7625c1ee6575239f20ea501b0ba8342f8dcea6020692411fc177e7f101edd81a48bb3885e1d1cbece2d6ecd1a4d7640f0f78de109a97eeea9 nim-config-fix-paths.patch +4f94829c0e0692b5563f871779b53d3639ffe0926aaacfc54a346fbc56fdad999ddbbeda894f54a243ff21c05dbc29668b3ae93c01b319f573d1b585116e2334 nim-gdb-fix-posix-and-sysroot.patch +4bff5b687fc4154a4b3c8e888e4fcdd2340acfcc87b1a5eeaa9feb173cadd6047bd73d68983461c1edcec232aca6014dbeab8efaedcf4d8a52662780de4b51d3 nim-config-enable-ucontext.patch +" |