From 7476b46f1893a4858616d2a8456a7c43238851ed Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Tue, 23 Mar 2021 12:59:59 -0400 Subject: guix: Build dmg as a static binary This relatively easy change eliminates all runtime dependencies (except for the kernel) for dmg, which is the only native build tool that gets put in our output tarballs. This allows much more flexibility when constructing the codesigning environment, and is much more robust. --- contrib/guix/libexec/build.sh | 6 ++++-- contrib/guix/manifest.scm | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'contrib') diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh index 4a6b7792a9..4239c3d475 100644 --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -54,6 +54,7 @@ store_path() { # Set environment variables to point the NATIVE toolchain to the right # includes/libs NATIVE_GCC="$(store_path gcc-toolchain)" +NATIVE_GCC_STATIC="$(store_path gcc-toolchain static)" unset LIBRARY_PATH unset CPATH @@ -62,7 +63,7 @@ unset CPLUS_INCLUDE_PATH unset OBJC_INCLUDE_PATH unset OBJCPLUS_INCLUDE_PATH -export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC}/lib64" +export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC}/lib64:${NATIVE_GCC_STATIC}/lib:${NATIVE_GCC_STATIC}/lib64" export C_INCLUDE_PATH="${NATIVE_GCC}/include" export CPLUS_INCLUDE_PATH="${NATIVE_GCC}/include/c++:${NATIVE_GCC}/include" export OBJC_INCLUDE_PATH="${NATIVE_GCC}/include" @@ -76,8 +77,9 @@ case "$HOST" in *darwin*) # When targeting darwin, zlib is required by native_libdmg-hfsplus. zlib_store_path=$(store_path "zlib") + zlib_static_store_path=$(store_path "zlib" static) - prepend_to_search_env_var LIBRARY_PATH "${zlib_store_path}/lib" + prepend_to_search_env_var LIBRARY_PATH "${zlib_static_store_path}/lib:${zlib_store_path}/lib" prepend_to_search_env_var C_INCLUDE_PATH "${zlib_store_path}/include" prepend_to_search_env_var CPLUS_INCLUDE_PATH "${zlib_store_path}/include" prepend_to_search_env_var OBJC_INCLUDE_PATH "${zlib_store_path}/include" diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm index 3fc3f4d404..910a9dd6f6 100644 --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -214,6 +214,7 @@ chain for " target " development.")) gzip xz zlib + (list zlib "static") ;; Build tools gnu-make libtool @@ -227,7 +228,8 @@ chain for " target " development.")) ;; Git git ;; Native gcc 7 toolchain - gcc-toolchain-7) + gcc-toolchain-7 + (list gcc-toolchain-7 "static")) (let ((target (getenv "HOST"))) (cond ((string-suffix? "-mingw32" target) ;; Windows -- cgit v1.2.3