Fix lists of paths in posix environment (#7034)

Empty paths in a colon separated list would be considered as the current
directory, so have to ensure $PATH and $LD_LIBRARY_PATH are not empty
before separating it with :
This commit is contained in:
Dennis Felsing 2018-01-08 10:49:00 +01:00 • committed by Andreas Rumpf
commit 5492190bc6
6 changed files with 7 additions and 7 deletions

View file

@ -8,7 +8,7 @@ stages:
.linux_set_path: &linux_set_path_def .linux_set_path: &linux_set_path_def
before_script: before_script:
- export PATH=$(pwd)/bin:$PATH - export PATH=$(pwd)/bin${PATH:+:$PATH}
tags: tags:
- linux - linux

View file

@ -30,7 +30,7 @@ before_script:
- sh build.sh - sh build.sh
- cd .. - cd ..
- sed -i -e 's,cc = gcc,cc = clang,' config/nim.cfg - sed -i -e 's,cc = gcc,cc = clang,' config/nim.cfg
- export PATH=$(pwd)/bin:$PATH - export PATH=$(pwd)/bin${PATH:+:$PATH}
script: script:
- nim c koch - nim c koch
- ./koch boot - ./koch boot

View file

@ -6,7 +6,7 @@ cd csources
sh build.sh sh build.sh
cd .. cd ..
# Add Nim to the PATH # Add Nim to the PATH
export PATH=$(pwd)/bin:$PATH export PATH=$(pwd)/bin${PATH:+:$PATH}
# Bootstrap. # Bootstrap.
nim -v nim -v
nim c koch nim c koch

View file

@ -7,7 +7,7 @@ apt-get install -y -qq build-essential git libcurl4-openssl-dev libsdl1.2-dev li
gcc -v gcc -v
export PATH=$(pwd)/bin:$PATH export PATH=$(pwd)/bin${PATH:+:$PATH}
# Nimble deps # Nimble deps
nim e install_nimble.nims nim e install_nimble.nims

View file

@ -97,7 +97,7 @@ proc exec(cmd: string, errorcode: int = QuitFailure, additionalPath = "") =
if not absolute.isAbsolute: if not absolute.isAbsolute:
absolute = getCurrentDir() / absolute absolute = getCurrentDir() / absolute
echo("Adding to $PATH: ", absolute) echo("Adding to $PATH: ", absolute)
putEnv("PATH", prevPath & PathSep & absolute) putEnv("PATH", (if prevPath.len > 0: prevPath & PathSep else: "") & absolute)
echo(cmd) echo(cmd)
if execShellCmd(cmd) != 0: quit("FAILURE", errorcode) if execShellCmd(cmd) != 0: quit("FAILURE", errorcode)
putEnv("PATH", prevPath) putEnv("PATH", prevPath)
@ -402,7 +402,7 @@ proc winReleaseArch(arch: string) =
template withMingw(path, body) = template withMingw(path, body) =
let prevPath = getEnv("PATH") let prevPath = getEnv("PATH")
putEnv("PATH", path & PathSep & prevPath) putEnv("PATH", (if path.len > 0: path & PathSep else: "") & prevPath)
try: try:
body body
finally: finally:

View file

@ -90,7 +90,7 @@ proc runBasicDLLTest(c, r: var TResults, cat: Category, options: string) =
# posix relies on crappy LD_LIBRARY_PATH (ugh!): # posix relies on crappy LD_LIBRARY_PATH (ugh!):
var libpath = getEnv"LD_LIBRARY_PATH".string var libpath = getEnv"LD_LIBRARY_PATH".string
# Temporarily add the lib directory to LD_LIBRARY_PATH: # Temporarily add the lib directory to LD_LIBRARY_PATH:
putEnv("LD_LIBRARY_PATH", "tests/dll:" & libpath) putEnv("LD_LIBRARY_PATH", "tests/dll" & (if libpath.len > 0: ":" & libpath else: ""))
defer: putEnv("LD_LIBRARY_PATH", libpath) defer: putEnv("LD_LIBRARY_PATH", libpath)
var nimrtlDll = DynlibFormat % "nimrtl" var nimrtlDll = DynlibFormat % "nimrtl"
safeCopyFile("lib" / nimrtlDll, "tests/dll" / nimrtlDll) safeCopyFile("lib" / nimrtlDll, "tests/dll" / nimrtlDll)