summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHennadii Stepanov <hebasto@gmail.com>2025-06-13 18:16:56 +0100
committerDanny Milosavljevic <dannym@friendly-machines.com>2025-06-15 02:06:05 +0200
commit514e7ac18a406cab6ad76efd615e2754d62ce238 (patch)
treec5ff1c697b0e82c3bf6a7705e2e7ee251c62797d
parente5686f39d33d70b42c713aed6fff1754f78906bc (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.scm36
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