commit:     d08bff831f01ecab100ad13b25968915854db95f
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 13 18:38:11 2024 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sun Oct 13 19:23:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d08bff83

dev-lang/nim: use the makefile for initial compilation

Closes: https://bugs.gentoo.org/941480
Closes: https://bugs.gentoo.org/940306
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 dev-lang/nim/files/nim-2.2.0-makefile.patch | 11 +++++++++++
 dev-lang/nim/nim-2.0.8.ebuild               | 27 +++++++++++++--------------
 dev-lang/nim/nim-2.2.0.ebuild               | 27 +++++++++++++--------------
 3 files changed, 37 insertions(+), 28 deletions(-)

diff --git a/dev-lang/nim/files/nim-2.2.0-makefile.patch 
b/dev-lang/nim/files/nim-2.2.0-makefile.patch
new file mode 100644
index 000000000000..e16b54b998c2
--- /dev/null
+++ b/dev-lang/nim/files/nim-2.2.0-makefile.patch
@@ -0,0 +1,11 @@
+--- a/makefile
++++ b/makefile
+@@ -3,7 +3,7 @@
+ # To regenerate run ``niminst csource`` or ``koch csource``
+ 
+ CC ?= gcc
+-CFLAGS += -Ic_code -w -fmax-errors=3 -O3 -fno-strict-aliasing -fno-ident 
-fno-math-errno 
++CFLAGS += -Ic_code -fno-strict-aliasing -fno-ident -fno-math-errno
+ LDFLAGS += 
+ binDir = bin
+ 

diff --git a/dev-lang/nim/nim-2.0.8.ebuild b/dev-lang/nim/nim-2.0.8.ebuild
index 02819c44e274..d922c4ede0a2 100644
--- a/dev-lang/nim/nim-2.0.8.ebuild
+++ b/dev-lang/nim/nim-2.0.8.ebuild
@@ -42,6 +42,8 @@ BDEPEND="
        )
 "
 
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-makefile.patch" )
+
 src_configure() {
        xdg_environment_reset  # bug #667182
 
@@ -83,22 +85,19 @@ src_configure() {
 }
 
 src_compile() {
-       local -x PATH="${S}/bin:${PATH}"
+       emake CC="$(tc-getCC)"
 
-       edo ./build.sh --parallel "$(makeopts_jobs)"
+       local -x PATH="${S}/bin:${PATH}"
+       local -a nimflags=(
+               -d:release
+               --listCmd
+               --parallelBuild:$(makeopts_jobs)
+       )
 
-       ebegin "Waiting for unfinished parallel jobs"
-       while [[ ! -f "bin/nim" ]] ; do
-               sleep 3
-       done
-       sleep 10
-       eend 0
-
-       edo chmod +x ./bin/nim
-       edo ./bin/nim compile -d:release koch
-       edo ./koch boot -d:nimUseLinenoise -d:release --skipParentCfg:off
-       edo ./koch tools -d:release
-       edo ./bin/nim compile -d:release ./tools/niminst/niminst.nim
+       edo ./bin/nim compile "${nimflags[@]}" koch
+       edo ./koch boot "${nimflags[@]}" -d:nimUseLinenoise --skipParentCfg:off
+       edo ./koch tools "${nimflags[@]}"
+       edo ./bin/nim compile "${nimflags[@]}" ./tools/niminst/niminst.nim
 }
 
 src_test() {

diff --git a/dev-lang/nim/nim-2.2.0.ebuild b/dev-lang/nim/nim-2.2.0.ebuild
index e2962efd86a9..a61554bf2851 100644
--- a/dev-lang/nim/nim-2.2.0.ebuild
+++ b/dev-lang/nim/nim-2.2.0.ebuild
@@ -39,6 +39,8 @@ BDEPEND="
        )
 "
 
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-makefile.patch" )
+
 src_configure() {
        xdg_environment_reset  # bug #667182
 
@@ -80,22 +82,19 @@ src_configure() {
 }
 
 src_compile() {
-       local -x PATH="${S}/bin:${PATH}"
+       emake CC="$(tc-getCC)"
 
-       edo ./build.sh --parallel "$(makeopts_jobs)"
+       local -x PATH="${S}/bin:${PATH}"
+       local -a nimflags=(
+               -d:release
+               --listCmd
+               --parallelBuild:$(makeopts_jobs)
+       )
 
-       ebegin "Waiting for unfinished parallel jobs"
-       while [[ ! -f "bin/nim" ]] ; do
-               sleep 3
-       done
-       sleep 10
-       eend 0
-
-       edo chmod +x ./bin/nim
-       edo ./bin/nim compile -d:release koch
-       edo ./koch boot -d:nimUseLinenoise -d:release --skipParentCfg:off
-       edo ./koch tools -d:release
-       edo ./bin/nim compile -d:release ./tools/niminst/niminst.nim
+       edo ./bin/nim compile "${nimflags[@]}" koch
+       edo ./koch boot "${nimflags[@]}" -d:nimUseLinenoise --skipParentCfg:off
+       edo ./koch tools "${nimflags[@]}"
+       edo ./bin/nim compile "${nimflags[@]}" ./tools/niminst/niminst.nim
 }
 
 src_test() {

Reply via email to