Merge #11067: SmartOS updates

I amended some commits slightly.
This commit is contained in:
Vladimír Čunát
2015-11-23 14:45:44 +01:00
31 changed files with 103 additions and 48 deletions

View File

@@ -145,7 +145,7 @@ stdenv.mkDerivation {
+ optionalString (stdenv.isSunOS && nativePrefix != "") ''
# Solaris needs an additional ld wrapper.
ldPath="${nativePrefix}/bin"
ld="$out/bin/ld-solaris"
exec="$ldPath/ld"
wrap ld-solaris ${./ld-solaris-wrapper.sh}
'')

View File

@@ -6,7 +6,7 @@ set -u
# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'(
# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3
# but still no success.
cmd="@prog@ -z ignore"
cmd="@ld@ -z ignore"
args=("$@");

View File

@@ -6,7 +6,7 @@ source $stdenv/setup
header "exporting $url (rev $rev) into $out"
$fetcher --builder --url "$url" --out "$out" --rev "$rev" \
$SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
${leaveDotGit:+--leave-dotGit} \
${deepClone:+--deepClone} \
${fetchSubmodules:+--fetch-submodules} \

View File

@@ -14,6 +14,8 @@ badPath() {
# the temporary build directory).
if test "${p:0:1}" != "/"; then return 1; fi
@extraPathTests@
# Otherwise, the path should refer to the store or some temporary
# directory (including the build directory).
test \

View File

@@ -19,12 +19,12 @@ patchShebangs() {
local newInterpreterLine
find "$dir" -type f -perm -0100 | while read f; do
if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then
if [ "$(head -1 "$f" | head -c+2)" != '#!' ]; then
# missing shebang => not a script
continue
fi
oldInterpreterLine=$(head -1 "$f" | tail -c +3)
oldInterpreterLine=$(head -1 "$f" | tail -c+3)
read -r oldPath arg0 args <<< "$oldInterpreterLine"
if $(echo "$oldPath" | grep -q "/bin/env$"); then