diff options
author | Hennadii Stepanov <hebasto@gmail.com> | 2025-06-13 18:16:56 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@friendly-machines.com> | 2025-06-15 02:06:05 +0200 |
commit | 514e7ac18a406cab6ad76efd615e2754d62ce238 (patch) | |
tree | c5ff1c697b0e82c3bf6a7705e2e7ee251c62797d | |
parent | e5686f39d33d70b42c713aed6fff1754f78906bc (diff) |
gnu: nsis: Fix build.
* gnu/packages/installers.scm (make-nsis):
[arguments]<#:phases>: Move target-specific search paths from
C{,PLUS}_INCLUDE_PATH and LIBRARY_PATH to CROSS_C{,PLUS}_INCLUDE_PATH
and CROSS_LIBRARY_PATH, respectively.
Change-Id: I08188213dc2d193760272b22816f69ba8dea625f
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
-rw-r--r-- | gnu/packages/installers.scm | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm index fb8b71be79..a95d6e823d 100644 --- a/gnu/packages/installers.scm +++ b/gnu/packages/installers.scm @@ -85,41 +85,23 @@ (string delimiter))) (define (mingw-path? path) (string-prefix? (assoc-ref %build-inputs "mingw-w64") path)) + (define (xgcc-path? path) + (string-prefix? (assoc-ref %build-inputs "xgcc") path)) + (define (cross-toolchain-path? path) + (or (xgcc-path? path) (mingw-path? path))) + (for-each (lambda (env-name) (let ((env-val (getenv env-name))) - ;; Remove all mingw-w64 paths from env vars meant + ;; Remove all mingw-w64 and xgcc paths from env vars meant ;; for native toolchain (setenv env-name - (filter-delimited-string env-val (negate mingw-path?))) + (filter-delimited-string env-val (negate cross-toolchain-path?))) ;; Add the removed paths back into CROSS_-prefixed ;; version of env vars (setenv (string-append "CROSS_" env-name) - (filter-delimited-string env-val mingw-path?)))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH")) - ;; Hack to place mingw-w64 path at the end of search - ;; paths. Could probably use a specfile and dirafter - (setenv "CROSS_C_INCLUDE_PATH" - (string-join - `(,@(map (cut string-append - (assoc-ref %build-inputs "xgcc") - "/lib/gcc/" ,triplet "/" - ,(package-version xgcc) <>) - '("/include" - "/include-fixed")) - ,(getenv "CROSS_C_INCLUDE_PATH")) - ":")) - (setenv "CROSS_CPLUS_INCLUDE_PATH" - (string-join - `(,@(map (cut string-append (assoc-ref %build-inputs "xgcc") <>) - `("/include/c++" - ,(string-append "/include/c++/" ,triplet) - "/include/c++/backward" - ,@(map (cut string-append "/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>) - '("/include" - "/include-fixed")))) - ,(getenv "CROSS_CPLUS_INCLUDE_PATH")) - ":")))) + (filter-delimited-string env-val cross-toolchain-path?)))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH")))) (add-before 'build 'fix-target-detection (lambda _ ;; NSIS target detection is screwed up, manually change |