diff options
Diffstat (limited to 'pkgs/build-support/setup-hooks')
-rw-r--r-- | pkgs/build-support/setup-hooks/make-wrapper.sh | 6 | ||||
-rw-r--r-- | pkgs/build-support/setup-hooks/separate-debug-info.sh | 15 | ||||
-rw-r--r-- | pkgs/build-support/setup-hooks/wrap-gapps-hook.sh | 2 |
3 files changed, 11 insertions, 12 deletions
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 5150b4f0218a..7d0f88abb855 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -19,6 +19,12 @@ makeWrapper() { echo "export $varName=$value" >> $wrapper fi + if test "$p" = "--unset"; then + varName=${params[$((n + 1))]} + n=$((n + 1)) + echo "unset $varName" >> "$wrapper" + fi + if test "$p" = "--run"; then command=${params[$((n + 1))]} n=$((n + 1)) diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh index 37753d9ce406..518be9647334 100644 --- a/pkgs/build-support/setup-hooks/separate-debug-info.sh +++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh @@ -1,5 +1,6 @@ -export NIX_LDFLAGS+=" --build-id" -export NIX_CFLAGS_COMPILE+=" -ggdb" +export NIX_SET_BUILD_ID=1 +export NIX_LDFLAGS+=" --compress-debug-sections=zlib" +export NIX_CFLAGS_COMPILE+=" -ggdb -Wa,--compress-debug-sections" dontStrip=1 fixupOutputHooks+=(_separateDebugInfo) @@ -25,18 +26,10 @@ _separateDebugInfo() { # Extract the debug info. header "separating debug info from $i (build ID $id)" mkdir -p "$dst/${id:0:2}" - objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" --compress-debug-sections + objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" strip --strip-debug "$i" # Also a create a symlink <original-name>.debug. ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")" done < <(find "$prefix" -type f -print0) } - -# - We might prefer to compress the debug info during link-time already, -# but our ld doesn't support --compress-debug-sections=zlib (yet). -# - Debug info may cause problems due to excessive memory usage during linking. -# Using -Wa,--compress-debug-sections should help with that; -# further interesting information: https://gcc.gnu.org/wiki/DebugFission -# - Another related tool: https://fedoraproject.org/wiki/Features/DwarfCompressor - diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh index 9e0cd22c1198..3cad1838d260 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh @@ -11,7 +11,7 @@ envHooks+=(find_gio_modules) # Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set. wrapGAppsHook() { # guard against running multiple times (e.g. due to propagation) - [ -z "$wrapGAppsHookHasRun" ] || return + [ -z "$wrapGAppsHookHasRun" ] || return 0 wrapGAppsHookHasRun=1 if [ -n "$GDK_PIXBUF_MODULE_FILE" ]; then |