From b6329d026b6b5ac58cfcfeb26e786aacf70bd636 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Tue, 16 Jun 2020 13:17:40 +0200
Subject: [PATCH] gnu: nix: Look for configuration in /etc.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes <http://issues.guix.gnu.org/41704>.

* gnu/packages/package-management.scm (nix)[arguments]: Add
‘--sysconfdir=/etc’ configure flag and override it during installation.

Requested-and-tested-by: Peng Mei Yu <pengmeiyu@riseup.net>
---
 gnu/packages/package-management.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index c1e6657dff0..4b1c5a6d559 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -551,6 +551,21 @@ (define-public nix
               (base32
                "1hbqsrp1ii2sfq8x2mahjrl2182qck76n8blrl1jfz3xq99m6i15"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "--sysconfdir=/etc")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           ;; Don't try & fail to create subdirectories in /etc, but keep them
+           ;; in the output as examples.
+           (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (etc (string-append out "/etc")))
+               (apply invoke "make" "install"
+                      (string-append "sysconfdir=" etc)
+                      (string-append "profiledir=" etc "/profile.d")
+                      make-flags)))))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("boost" ,boost)
               ("brotli" ,brotli)
-- 
GitLab