From 7a320bdb3b8e793cfc532aea63df32d02ebccd3b Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Tue, 16 Nov 2021 20:26:26 +0000 Subject: [PATCH 1/5] nim: update to 1.6.0 --- srcpkgs/nim/template | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/srcpkgs/nim/template b/srcpkgs/nim/template index 76a3452c68ab..6b40ce7a15c4 100644 --- a/srcpkgs/nim/template +++ b/srcpkgs/nim/template @@ -1,10 +1,9 @@ # Template file for 'nim' pkgname=nim -version=1.4.8 +version=1.6.0 revision=1 -_cversion=0.20.0 -_nimbleversion=0.12.0 -_fusionversion=e942c649892b2ae3802851fba6bc5d251326e5fb +_c1version=561b417c65791cd8356b5f73620914ceff845d10 +_nimbleversion=0.13.1 create_wrksrc=yes build_wrksrc="Nim-$version" hostmakedepends="ed" @@ -15,23 +14,20 @@ license="MIT" homepage="https://nim-lang.org/" _ghsite="https://github.com/nim-lang" distfiles="${_ghsite}/Nim/archive/v${version}.tar.gz - ${_ghsite}/csources/archive/v${_cversion}.tar.gz>csources-${_cversion}.tar.gz - ${_ghsite}/nimble/archive/v${_nimbleversion}.tar.gz>nimble-${_nimbleversion}.tar.gz - ${_ghsite}/fusion/archive/${_fusionversion}.tar.gz>fusion-${_fusionversion}.tar.gz" -checksum="8a687beb30670dc4eadcfefd1198d4238af283dc716438ac2342a7d65e07d9e9 - 5e6fd15d90df1a8cb7614c4ffc70aa8c4198cd854d7742016202b96dd0228d3c - 0b88d91a450f31641f85379f2d76afb0a013cf783e62144a6534525b9cb1cbac - 76d10a2f0f25ba7fb3393bdb800c75e8084758d8ce69e63d07926cd36f555084" + ${_ghsite}/csources_v1/archive/${_c1version}.tar.gz>csources_v1-${_c1version}.tar.gz + ${_ghsite}/nimble/archive/v${_nimbleversion}.tar.gz>nimble-${_nimbleversion}.tar.gz" +checksum="c202cfd24a24480da1cf851e1265b87edb22710bb42286a57b1a99c83b6a8315 + 71c823444c794a12da9027d19d6a717dd7759521ecbbe28190b08372142607ec + e6aa8d9ee4b3ed0321dca329b4a38fa546771b9729984482fb50fe73d3777f5d" post_extract() { - mv csources-$_cversion $build_wrksrc/csources + mv csources_v1-$_c1version $build_wrksrc/csources_v1 mkdir $build_wrksrc/dist mv nimble-$_nimbleversion $build_wrksrc/dist/nimble - mv fusion-$_fusionversion $build_wrksrc/dist/fusion } do_build() { - cd csources + cd csources_v1 case "$XBPS_TARGET_MACHINE" in i686*) CC=cc LD=cc CFLAGS="-Os -pipe" LDFLAGS= \ @@ -75,7 +71,8 @@ do_build() { dist/nimble/src/nimble \ tools/nimgrep \ nimsuggest/nimsuggest \ - nimpretty/nimpretty + nimpretty/nimpretty \ + testament/testament do bin/nim c -d:release --os:linux --cpu:$_arch --listCmd $_p mv $_p bin @@ -95,15 +92,15 @@ do_install() { vmkdir usr/bin vmkdir usr/share/nim ln -sf /usr/lib/nim/bin/nim ${DESTDIR}/usr/bin/nim - for _f in nimble nimsuggest nimgrep nimpretty; do + for _f in nimble nimsuggest nimgrep nimpretty testament; 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 nimsuggest nimpretty doc examples ${DESTDIR}/usr/lib/nim + cp -r nimsuggest nimpretty doc ${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 ln -sf /usr/lib/nim/nimsuggest ${DESTDIR}/usr/share/nim/nimsuggest ln -sf /usr/lib/nim/nimpretty ${DESTDIR}/usr/share/nim/nimpretty + ln -sf /usr/lib/nim/testament ${DESTDIR}/usr/share/nim/testament vlicense copying.txt } From 251e103f959972eaae472cad577ffc184ee73f7e Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Thu, 18 Nov 2021 20:00:31 +0000 Subject: [PATCH 2/5] nim: fix non-x86_64/i686 nim.cfg Currently non-x86_64/i686 builds end up with a broken nim.cfg which tries to use the target architecture cross-compiler to build packages for the target architecture (as well as a bunch of other architectures). By temporarily setting the cross-compiler during the build, the final nim.cfg which gets installed is the default one. --- srcpkgs/nim/template | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/srcpkgs/nim/template b/srcpkgs/nim/template index 6b40ce7a15c4..db8eba0a8845 100644 --- a/srcpkgs/nim/template +++ b/srcpkgs/nim/template @@ -1,7 +1,7 @@ # Template file for 'nim' pkgname=nim version=1.6.0 -revision=1 +revision=2 _c1version=561b417c65791cd8356b5f73620914ceff845d10 _nimbleversion=0.13.1 create_wrksrc=yes @@ -50,21 +50,10 @@ do_build() { case "$XBPS_TARGET_MACHINE" in arm*|aarch64*|ppc*) - 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" - powerpc.linux.gcc.exe = "$CC" - powerpc.linux.gcc.linkerexe = "$CC" - powerpc64.linux.gcc.exe = "$CC" - powerpc64.linux.gcc.linkerexe = "$CC" - powerpc64el.linux.gcc.exe = "$CC" - powerpc64el.linux.gcc.linkerexe = "$CC" - . - w - q + cat >>config/nim.cfg <<-EDIT + # VOIDLINUX TEMP + $_arch.linux.gcc.exe = "$CC" + $_arch.linux.gcc.linkerexe = "$CC" EDIT bin/nim c -d:release -d:danger --os:linux --cpu:$_arch --listCmd compiler/nim for _p in \ @@ -77,6 +66,7 @@ do_build() { bin/nim c -d:release --os:linux --cpu:$_arch --listCmd $_p mv $_p bin done + vsed -i config/nim.cfg -e '/^# VOIDLINUX TEMP$/,$d' ;; *) ./koch tools esac From ef55cf51ec252f93870e26c3d4a641f34279c4ed Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Thu, 18 Nov 2021 20:04:08 +0000 Subject: [PATCH 3/5] nim: fix arm nim.cfg compiler configuration Since the default nim.cfg provides a arm.linux.gcc.(linker)?exe preset, it will break builds when you're on arm. Since posix sh has no fallthroughs, this patch comments the preset on all non-x86_64/i686 builds. --- srcpkgs/nim/template | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/srcpkgs/nim/template b/srcpkgs/nim/template index db8eba0a8845..da0a26ff194a 100644 --- a/srcpkgs/nim/template +++ b/srcpkgs/nim/template @@ -1,7 +1,7 @@ # Template file for 'nim' pkgname=nim version=1.6.0 -revision=2 +revision=3 _c1version=561b417c65791cd8356b5f73620914ceff845d10 _nimbleversion=0.13.1 create_wrksrc=yes @@ -50,6 +50,7 @@ do_build() { case "$XBPS_TARGET_MACHINE" in arm*|aarch64*|ppc*) + vsed -i config/nim.cfg -e 's/^arm\.linux\.gcc\.\(linker\)\?exe /#&/' cat >>config/nim.cfg <<-EDIT # VOIDLINUX TEMP $_arch.linux.gcc.exe = "$CC" From 6d9a186f919b45c3b69242f3bb54f19f53a1cff5 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Thu, 18 Nov 2021 20:06:29 +0000 Subject: [PATCH 4/5] nim: use koch to build non-x86_64/i686 tools This simplifies the template a bit. note: nimsuggest is now built without -d:release on non-x86_64/i686 builds now, I don't know if this is intentional or an upstream bug but this actually means it now matches how nimsuggest is built on x86_64/i686 --- srcpkgs/nim/template | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/srcpkgs/nim/template b/srcpkgs/nim/template index da0a26ff194a..bc49ef4aff77 100644 --- a/srcpkgs/nim/template +++ b/srcpkgs/nim/template @@ -1,7 +1,7 @@ # Template file for 'nim' pkgname=nim version=1.6.0 -revision=3 +revision=4 _c1version=561b417c65791cd8356b5f73620914ceff845d10 _nimbleversion=0.13.1 create_wrksrc=yes @@ -57,16 +57,7 @@ do_build() { $_arch.linux.gcc.linkerexe = "$CC" EDIT bin/nim c -d:release -d:danger --os:linux --cpu:$_arch --listCmd compiler/nim - for _p in \ - dist/nimble/src/nimble \ - tools/nimgrep \ - nimsuggest/nimsuggest \ - nimpretty/nimpretty \ - testament/testament - do - bin/nim c -d:release --os:linux --cpu:$_arch --listCmd $_p - mv $_p bin - done + ./koch tools --os:linux --cpu:$_arch --listCmd vsed -i config/nim.cfg -e '/^# VOIDLINUX TEMP$/,$d' ;; *) ./koch tools From 39466d4a680cb63355bd7df80862ae78d96d57bc Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Thu, 18 Nov 2021 20:09:09 +0000 Subject: [PATCH 5/5] nim: use make to build the bootstrap compiler The build_all.sh script now uses make, I don't think there's any difference between this and using build.sh except that it can take advantage of makejobs and avoids having to cd around. --- srcpkgs/nim/template | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/srcpkgs/nim/template b/srcpkgs/nim/template index bc49ef4aff77..1dc036013ff4 100644 --- a/srcpkgs/nim/template +++ b/srcpkgs/nim/template @@ -1,7 +1,7 @@ # Template file for 'nim' pkgname=nim version=1.6.0 -revision=4 +revision=5 _c1version=561b417c65791cd8356b5f73620914ceff845d10 _nimbleversion=0.13.1 create_wrksrc=yes @@ -27,15 +27,14 @@ post_extract() { } do_build() { - cd csources_v1 case "$XBPS_TARGET_MACHINE" in i686*) CC=cc LD=cc CFLAGS="-Os -pipe" LDFLAGS= \ - sh build.sh --cpu i686;; + make -C csources_v1 ucpu=i686 ${makejobs};; *) - CC=cc LD=cc CFLAGS="-Os -pipe" LDFLAGS= sh build.sh;; + CC=cc LD=cc CFLAGS="-Os -pipe" LDFLAGS= \ + make -C csources_v1 ${makejobs};; esac - cd .. bin/nim c koch ./koch boot -d:release -d:danger