Subject: bug#62274: closed (Re: [bug#62274] [PATCH] home: 'home-environment-with-provenance' uses the HE location info.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 20 Mar 2023 06:54:02 +0000

Your bug report

#62274: [PATCH] home: 'home-environment-with-provenance' uses the HE location info.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
62274: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62274
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#62274] [PATCH] home: 'home-environment-with-provenance' uses the HE location info.
From: Andrew Tropin <[email-masked]>
To: Sergey Trofimov <[email-masked]>, [email-masked]
Cc: [email-masked], [email-masked], Sergey Trofimov <[email-masked]>
Date: Mon, 20 Mar 2023 10:52:55 +0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On 2023-03-19 16:45, Sergey Trofimov wrote:

> * gnu/home.scm (home-environment-with-provenance): Make `config-file`
> optional, with the default taken from the HE location info.
> ---
>  gnu/home.scm | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/home.scm b/gnu/home.scm
> index 6d3f705758..2fefe7ba53 100644
> --- a/gnu/home.scm
> +++ b/gnu/home.scm
> @@ -103,7 +103,21 @@ (define* (home-environment-derivation he)
>                                #:target-type home-service-type)))
>      (service-value home)))
>  
> -(define* (home-environment-with-provenance he config-file)
> +
> +(define (home-environment-configuration-file he)
> +  "Return the configuration file of HE, based on its 'location' field, or #f
> +if it could not be determined."
> +  (let ((file (and=> (home-environment-location he)
> +                     location-file)))
> +    (and file
> +         (or (and (string-prefix? "/" file) file)
> +             (search-path %load-path file)))))
> +
> +(define* (home-environment-with-provenance he
> +                                           #:optional
> +                                           (config-file
> +                                            (home-environment-configuration-file
> +                                             he)))
>    "Return a variant of HE that stores its own provenance information,
>  including CONFIG-FILE, if available.  This is achieved by adding an instance
>  of HOME-PROVENANCE-SERVICE-TYPE to its services."

Thank you for the patch, applied and pushed as
1f36534c7e8f2325bff4df5d37ecc811dc63fc38.

-- 
Best regards,
Andrew Tropin

Subject: [PATCH] home: 'home-environment-with-provenance' uses the HE location info.
From: Sergey Trofimov <[email-masked]>
To: [email-masked]
Cc: Sergey Trofimov <[email-masked]>
Date: Sun, 19 Mar 2023 16:45:37 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/home.scm (home-environment-with-provenance): Make `config-file`
optional, with the default taken from the HE location info.
---
 gnu/home.scm | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/gnu/home.scm b/gnu/home.scm
index 6d3f705758..2fefe7ba53 100644
--- a/gnu/home.scm
+++ b/gnu/home.scm
@@ -103,7 +103,21 @@ (define* (home-environment-derivation he)
                               #:target-type home-service-type)))
     (service-value home)))
 
-(define* (home-environment-with-provenance he config-file)
+
+(define (home-environment-configuration-file he)
+  "Return the configuration file of HE, based on its 'location' field, or #f
+if it could not be determined."
+  (let ((file (and=> (home-environment-location he)
+                     location-file)))
+    (and file
+         (or (and (string-prefix? "/" file) file)
+             (search-path %load-path file)))))
+
+(define* (home-environment-with-provenance he
+                                           #:optional
+                                           (config-file
+                                            (home-environment-configuration-file
+                                             he)))
   "Return a variant of HE that stores its own provenance information,
 including CONFIG-FILE, if available.  This is achieved by adding an instance
 of HOME-PROVENANCE-SERVICE-TYPE to its services."
-- 
2.39.2