gnu: make-nsis: Fix build

* gnu/packages/installers.scm (make-nsis)[arguments]: Use
C{,PLUS}_INCLUDE_PATH instead of CPATH environment variable to fix
build.
This commit is contained in:
Carl Dong 2021-02-03 20:21:31 +00:00
parent 703005e88e
commit 811a2015a2
No known key found for this signature in database
GPG key ID: 0CC52153197991A5

View file

@ -92,13 +92,23 @@ (define (mingw-path? path)
;; for native toolchain ;; for native toolchain
(setenv env-name (setenv env-name
(filter-delimited-string env-val (negate mingw-path?))) (filter-delimited-string env-val (negate mingw-path?)))
;; Add the removed paths back into ;; Add the removed paths back into CROSS_-prefixed
;; CROSS_-prefixed version of env vars ;; version of env vars
(setenv (string-append "CROSS_" env-name) (setenv (string-append "CROSS_" env-name)
(filter-delimited-string env-val mingw-path?)))) (filter-delimited-string env-val mingw-path?))))
'("CPATH" "LIBRARY_PATH")) '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH"))
;; Hack to place mingw-w64 path at the end of search ;; Hack to place mingw-w64 path at the end of search
;; paths. Could probably use a specfile and dirafter ;; 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" (setenv "CROSS_CPLUS_INCLUDE_PATH"
(string-join (string-join
`(,@(map (cut string-append (assoc-ref %build-inputs "xgcc") <>) `(,@(map (cut string-append (assoc-ref %build-inputs "xgcc") <>)
@ -108,21 +118,20 @@ (define (mingw-path? path)
,@(map (cut string-append "/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>) ,@(map (cut string-append "/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>)
'("/include" '("/include"
"/include-fixed")))) "/include-fixed"))))
,(getenv "CROSS_CPATH")) ,(getenv "CROSS_CPLUS_INCLUDE_PATH"))
":")))) ":"))))
(add-before 'build 'fix-target-detection (add-before 'build 'fix-target-detection
(lambda _ (lambda _
;; NSIS target detection is screwed up, manually ;; NSIS target detection is screwed up, manually change
;; change it ourselves ;; it ourselves
(substitute* "Source/build.cpp" (("m_target_type=TARGET_X86ANSI") (substitute* "Source/build.cpp" (("m_target_type=TARGET_X86ANSI")
(string-append "m_target_type=" ,nsis-target-type)))))))) (string-append "m_target_type=" ,nsis-target-type))))))))
(home-page "http://nsis.sourceforge.net/") (home-page "http://nsis.sourceforge.net/")
(synopsis "A professional open source system to create Windows installers") (synopsis "A professional open source system to create Windows installers")
(description (description
"NSIS (Nullsoft Scriptable Install System) is a professional open "NSIS (Nullsoft Scriptable Install System) is a professional open source
source system to create Windows installers. It is designed to be as small and system to create Windows installers. It is designed to be as small and flexible
flexible as possible and is therefore very suitable for internet as possible and is therefore very suitable for internet distribution.")
distribution.")
(license (license:non-copyleft "file://COPYING" (license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))) "See COPYING in the distribution.")))))