gnu: nginx: Respect #:configure-flags.

* gnu/packages/web.scm (nginx)[arguments]: Add #:configure-flags.  Move
default settings out of the 'configure' phase.
This commit is contained in:
Marius Bakke 2022-04-07 22:55:16 +02:00
parent 4079cd9ba3
commit c9ce02ecff
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -386,6 +386,35 @@ (define-public nginx
(arguments
(list
#:tests? #f ; no test target
#:configure-flags
#~(list "--with-http_ssl_module"
"--with-http_v2_module"
"--with-http_xslt_module"
"--with-http_gzip_static_module"
"--with-http_gunzip_module"
"--with-http_addition_module"
"--with-http_sub_module"
"--with-pcre-jit"
"--with-debug"
"--with-stream"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
;; kernel version on the build machine.
#$(let ((system "Linux") ; uname -s
(release "3.2.0") ; uname -r
;; uname -m
(machine (match (or (%current-target-system)
(%current-system))
("x86_64-linux" "x86_64")
("i686-linux" "i686")
("mips64el-linux" "mips64")
;; Prevent errors when querying
;; this package on unsupported
;; platforms, e.g. when running
;; "guix package --search="
(_ "UNSUPPORTED"))))
(string-append "--crossbuild="
system ":" release ":" machine)))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-/bin/sh
@ -394,45 +423,16 @@ (define-public nginx
(("/bin/sh") (which "sh")))))
(replace 'configure
;; The configure script is hand-written, not from GNU autotools.
(lambda* (#:key configure-flags inputs outputs #:allow-other-keys)
(let ((flags
(append (list (string-append "--prefix=" (assoc-ref outputs "out"))
"--with-http_ssl_module"
"--with-http_v2_module"
"--with-http_xslt_module"
"--with-http_gzip_static_module"
"--with-http_gunzip_module"
"--with-http_addition_module"
"--with-http_sub_module"
"--with-pcre-jit"
"--with-debug"
"--with-stream"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
;; kernel version on the build machine.
#$(let ((system "Linux") ; uname -s
(release "3.2.0") ; uname -r
;; uname -m
(machine (match (or (%current-target-system)
(%current-system))
("x86_64-linux" "x86_64")
("i686-linux" "i686")
("mips64el-linux" "mips64")
;; Prevent errors when querying
;; this package on unsupported
;; platforms, e.g. when running
;; "guix package --search="
(_ "UNSUPPORTED"))))
(string-append "--crossbuild="
system ":" release ":" machine)))
configure-flags)))
(setenv "CC" #$(cc-for-target))
;; Fix ./configure test for #include <libxml/parser.h>.
(setenv "CFLAGS" ; CPPFLAGS is not respected
(string-append "-I" (assoc-ref inputs "libxml2")
"/include/libxml2"))
(format #t "configure flags: ~s~%" flags)
(apply invoke "./configure" flags))))
(lambda* (#:key configure-flags inputs #:allow-other-keys)
(setenv "CC" #$(cc-for-target))
;; Fix ./configure test for #include <libxml/parser.h>.
(setenv "CFLAGS" ; CPPFLAGS is not respected
(string-append "-I" (search-input-directory
inputs "/include/libxml2")))
(format #t "configure flags: ~s~%" configure-flags)
(apply invoke "./configure"
(string-append "--prefix=" #$output)
configure-flags)))
(add-after 'install 'install-man-page
(lambda _
(let ((man (string-append #$output "/share/man")))