Subject: [bug#73429] [PATCH v2 3/3] gnu: librewolf-source: Turn into a procedure.

From: Ian Eure <[email-masked]>
Date: Mon, 23 Sep 2024 07:47:06 -0700

This patch changes the `librewolf-source' variable into the
`make-librewolf-source' prodecure.

This procedure accepts a LibreWolf version, source hash, and Firefox source
hash.  The Firefox source version is derived from the provided LibreWolf
version.

This eases package updates, since the hashes are inside the `librewolf'
package, rather than `librewolf-source'; and the version no longer needs to be
specified in three places.

It also removes a blank line between the file header and `define-module'.

* gnu/packages/librewolf.scm (librewolf-source): Turn into a procedure.

Change-Id: I96ab1304acde246c179e7aa5dad9ff621be3de82
---
 gnu/packages/librewolf.scm | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index bade479656..6fd0aa51f1 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -40,7 +40,6 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
-
 (define-module (gnu packages librewolf)
   #:use-module ((srfi srfi-1) #:hide (zip))
   #:use-module (guix build-system gnu)
@@ -116,12 +115,13 @@ (define (librewolf-source-origin version hash)
 
 (define computed-origin-method (@@ (guix packages) computed-origin-method))
 
-(define librewolf-source
-  (let* ((ff-src (firefox-source-origin "130.0"
-                  "0w4z3fq5zhm63a0wmhvmqrj263bvy962dir25q3z0x5hx6hjawh2"))
+(define* (make-librewolf-source #:key version firefox-hash librewolf-hash)
+  (let* ((ff-src (firefox-source-origin
+                  (car (string-split version #\-))
+                  firefox-hash))
          (lw-src (librewolf-source-origin
-                  "130.0.1-1"
-                  "0f80pihn375bdjhjmmg2v1w96wpn76zb60ycy39wafwh1dnzybrd")))
+                  version
+                  librewolf-hash)))
 
     (origin
       (method computed-origin-method)
@@ -220,7 +220,10 @@ (define-public librewolf
     (version "130.0.1-1")
     (source
      (origin
-      (inherit librewolf-source)
+      (inherit (make-librewolf-source
+                #:version version
+                #:firefox-hash "0w4z3fq5zhm63a0wmhvmqrj263bvy962dir25q3z0x5hx6hjawh2"
+                #:librewolf-hash "0f80pihn375bdjhjmmg2v1w96wpn76zb60ycy39wafwh1dnzybrd"))
       (patches
        (search-patches "librewolf-add-paths-to-rdd-allowlist.patch"))))
     (build-system gnu-build-system)
-- 
2.46.0