aboutsummaryrefslogtreecommitdiffstats
path: root/community/nim/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/nim/APKBUILD')
-rw-r--r--community/nim/APKBUILD107
1 files changed, 75 insertions, 32 deletions
diff --git a/community/nim/APKBUILD b/community/nim/APKBUILD
index 6dfff86549f..819e1e48300 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.2
+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="
+76b612b364dde0a23915f8d6fd979594a33e3d43c1ed09bf0bc4861f7b38061832375aa8fc3f858062b354dc08cd1c994fe1ef95c211233afc5bd8bdb5c54310 nim-2.0.2.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
+"