[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#46740] [PATCH] gnu: make-nsis: Fix build
From: |
Carl Dong |
Subject: |
[bug#46740] [PATCH] gnu: make-nsis: Fix build |
Date: |
Wed, 24 Feb 2021 15:42:01 -0500 |
Hi Chris!
Been a while since I last submitted a patch, so want to make sure I get this
right :-)
Thanks for your help!
Does this look alright?
From 6b4460bdb64db6f7f9f33c80710bc7020b8fd1f0 Mon Sep 17 00:00:00 2001
From: Carl Dong <contact@carldong.me>
Date: Wed, 3 Feb 2021 20:21:31 +0000
Subject: [PATCH] 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.
---
gnu/packages/installers.scm | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm
index a8a5c36a18..775b91f0f7 100644
--- a/gnu/packages/installers.scm
+++ b/gnu/packages/installers.scm
@@ -92,13 +92,23 @@
;; for native toolchain
(setenv env-name
(filter-delimited-string env-val (negate
mingw-path?)))
- ;; Add the removed paths back into
- ;; CROSS_-prefixed version of env vars
+ ;; 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?))))
- '("CPATH" "LIBRARY_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") <>)
@@ -108,21 +118,20 @@
,@(map (cut string-append
"/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>)
'("/include"
"/include-fixed"))))
- ,(getenv "CROSS_CPATH"))
+ ,(getenv "CROSS_CPLUS_INCLUDE_PATH"))
":"))))
(add-before 'build 'fix-target-detection
(lambda _
- ;; NSIS target detection is screwed up, manually
- ;; change it ourselves
+ ;; NSIS target detection is screwed up, manually change
+ ;; it ourselves
(substitute* "Source/build.cpp"
(("m_target_type=TARGET_X86ANSI")
(string-append
"m_target_type=" ,nsis-target-type))))))))
(home-page "http://nsis.sourceforge.net/")
(synopsis "A professional open source system to create Windows
installers")
(description
- "NSIS (Nullsoft Scriptable Install System) is a professional open
-source system to create Windows installers. It is designed to be as small and
-flexible as possible and is therefore very suitable for internet
-distribution.")
+ "NSIS (Nullsoft Scriptable Install System) is a professional open source
+system to create Windows installers. It is designed to be as small and flexible
+as possible and is therefore very suitable for internet distribution.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution.")))))
--
2.30.1
Cheers,
Carl Dong
contact@carldong.me
"I fight for the users"
> On Feb 24, 2021, at 3:43 AM, Christopher Baines <mail@cbaines.net> wrote:
>
>
> Carl Dong <contact@carldong.me> writes:
>
>> * gnu/packages/installers.scm (make-nsis)[arguments]: Use
>> C{,PLUS}_INCLUDE_PATH instead of CPATH environment variable to fix
>> build.
>> ---
>> gnu/packages/installers.scm | 13 +++++++++++--
>> 1 file changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm
>> index a8a5c36a18..e8196b27d0 100644
>> --- a/gnu/packages/installers.scm
>> +++ b/gnu/packages/installers.scm
>> @@ -96,9 +96,18 @@
>> ;; CROSS_-prefixed version of env vars
>> (setenv (string-append "CROSS_" env-name)
>> (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
>> ;; 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") <>)
>> @@ -108,7 +117,7 @@
>> ,@(map (cut string-append
>> "/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>)
>> '("/include"
>> "/include-fixed"))))
>> - ,(getenv "CROSS_CPATH"))
>> + ,(getenv "CROSS_CPLUS_INCLUDE_PATH"))
>> ":"))))
>> (add-before 'build 'fix-target-detection
>> (lambda _
>
> Hey!
>
> Looks like this does fix things which is great [1], but it also
> introduces some lint warnings [2].
>
> 1:
> https://data.guix-patches.cbaines.net/compare/package-derivations?base_commit=c418c6b64cbfa7a4eb1bfb7d02a99083103dd40e&target_commit=28d1e194346b3dae2ae4e969c00724d4d1037ff4&locale=en_US.UTF-8
> 2:
> https://data.guix-patches.cbaines.net/compare?base_commit=c418c6b64cbfa7a4eb1bfb7d02a99083103dd40e&target_commit=28d1e194346b3dae2ae4e969c00724d4d1037ff4
>
> So, I'd remove the tabs and tweak the indentation so you're not
> introducing any new long lines. But apart from that I think it's fine to
> push, you can push right?
>
> Chris
signature.asc
Description: Message signed with OpenPGP