summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--build_all.bat2
-rw-r--r--ci/build_autogen.bat2
-rw-r--r--ci/funs.sh8
-rw-r--r--config/build_config.txt3
-rw-r--r--tools/ci_generate.nim2
-rw-r--r--tools/deps.nim9
-rw-r--r--tools/niminst/makefile.nimf3
7 files changed, 20 insertions, 9 deletions
diff --git a/build_all.bat b/build_all.bat
index 1bff761b3..c8ba05e19 100644
--- a/build_all.bat
+++ b/build_all.bat
@@ -10,7 +10,7 @@ SET nim_csources=bin\nim_csources_%nim_csourcesHash%.exe
 echo "building from csources: %nim_csources%"
 
 if not exist %nim_csourcesDir% (
-  git clone -q --depth 1 %nim_csourcesUrl% %nim_csourcesDir%
+  git clone -q --depth 1 -b %nim_csourcesBranch% %nim_csourcesUrl% %nim_csourcesDir%
 )
 
 if not exist %nim_csources% (
diff --git a/ci/build_autogen.bat b/ci/build_autogen.bat
index 8b1113175..0b6ca566e 100644
--- a/ci/build_autogen.bat
+++ b/ci/build_autogen.bat
@@ -10,7 +10,7 @@ SET nim_csources=bin\nim_csources_%nim_csourcesHash%.exe
 echo "building from csources: %nim_csources%"
 
 if not exist %nim_csourcesDir% (
-  git clone -q --depth 1 %nim_csourcesUrl% %nim_csourcesDir%
+  git clone -q --depth 1 -b %nim_csourcesBranch% %nim_csourcesUrl% %nim_csourcesDir%
 )
 
 if not exist %nim_csources% (
diff --git a/ci/funs.sh b/ci/funs.sh
index 4a8887658..e25922c8c 100644
--- a/ci/funs.sh
+++ b/ci/funs.sh
@@ -120,8 +120,12 @@ nimBuildCsourcesIfNeeded(){
       else
         # Note: using git tags would allow fetching just what's needed, unlike git hashes, e.g.
         # via `git clone -q --depth 1 --branch $tag $nim_csourcesUrl`.
-        echo_run git clone -q --depth 1 $nim_csourcesUrl "$nim_csourcesDir"
-        echo_run git -C "$nim_csourcesDir" checkout $nim_csourcesHash
+        echo_run git clone -q --depth 1 -b $nim_csourcesBranch \
+            $nim_csourcesUrl "$nim_csourcesDir"
+        # old `git` versions don't support -C option, using `cd` explicitly:
+        echo_run cd "$nim_csourcesDir"
+        echo_run git checkout $nim_csourcesHash
+        echo_run cd "$OLDPWD"
         # if needed we could also add: `git reset --hard $nim_csourcesHash`
       fi
       _nimBuildCsourcesIfNeeded "$@"
diff --git a/config/build_config.txt b/config/build_config.txt
index 2484d7a52..75dbb1da3 100644
--- a/config/build_config.txt
+++ b/config/build_config.txt
@@ -1,4 +1,5 @@
 nim_comment="key-value pairs for windows/posix bootstrapping build scripts"
 nim_csourcesDir=csources_v1
 nim_csourcesUrl=https://github.com/nim-lang/csources_v1.git
-nim_csourcesHash=a8a5241f9475099c823cfe1a5e0ca4022ac201ff
+nim_csourcesBranch=master
+nim_csourcesHash=9a7f751d23c49c75a0b6f63a234c575dc0df7231
diff --git a/tools/ci_generate.nim b/tools/ci_generate.nim
index 52b84f0d8..ecf0023d3 100644
--- a/tools/ci_generate.nim
+++ b/tools/ci_generate.nim
@@ -61,7 +61,7 @@ SET nim_csources=bin\nim_csources_%nim_csourcesHash%.exe
 echo "building from csources: %nim_csources%"
 
 if not exist %nim_csourcesDir% (
-  git clone -q --depth 1 %nim_csourcesUrl% %nim_csourcesDir%
+  git clone -q --depth 1 -b %nim_csourcesBranch% %nim_csourcesUrl% %nim_csourcesDir%
 )
 
 if not exist %nim_csources% (
diff --git a/tools/deps.nim b/tools/deps.nim
index 8ed95b59a..95b2916a1 100644
--- a/tools/deps.nim
+++ b/tools/deps.nim
@@ -28,8 +28,13 @@ proc cloneDependency*(destDirBase: string, url: string, commit = commitHead,
     # from failing
     execRetry fmt"git clone -q {url} {destDir2}"
   if isGitRepo(destDir):
-    execRetry fmt"git -C {destDir2} fetch -q"
-    exec fmt"git -C {destDir2} checkout -q {commit}"
+    let oldDir = getCurrentDir()
+    setCurrentDir(destDir2)
+    try:
+      execRetry "git fetch -q"
+      exec fmt"git checkout -q {commit}"
+    finally:
+      setCurrentDir(oldDir)
   elif allowBundled:
     discard "this dependency was bundled with Nim, don't do anything"
   else:
diff --git a/tools/niminst/makefile.nimf b/tools/niminst/makefile.nimf
index aff0c5da0..8c40cf50f 100644
--- a/tools/niminst/makefile.nimf
+++ b/tools/niminst/makefile.nimf
@@ -25,7 +25,8 @@ endif
 
 ifeq ($(uos),linux)
   myos = linux
-  LDFLAGS += -ldl -lm
+  # add -lrt to avoid "undefined reference to `clock_gettime'" with glibc<2.17
+  LDFLAGS += -ldl -lm -lrt
 endif
 ifeq ($(uos),dragonfly)
   myos = freebsd