From: zimoun <zimon.toutoune@gmail.com>
To: 50620@debbugs.gnu.org
Cc: zimoun <zimon.toutoune@gmail.com>
Subject: [bug#50620] [PATCH 1/2] guix: packages: Document 'computed-origin-method'.
Date: Thu, 16 Sep 2021 13:47:33 +0200 [thread overview]
Message-ID: <20210916114734.2686426-1-zimon.toutoune@gmail.com> (raw)
In-Reply-To: <20210916114505.2686370-1-zimon.toutoune@gmail.com>
The 'computed-origin-method' had been introduced as a workaround limitations
in the 'snippet' mechanism. The procedure is duplicated which makes hard to
automatically detects packages using it.
* guix/packages.scm (computed-origin-method): Move procedure from...
* gnu/packages/gnuzilla.scm: ...here and...
* gnu/packages/gnuzilla.scm: ...there.
---
gnu/packages/gnuzilla.scm | 14 ++------------
gnu/packages/linux.scm | 14 ++------------
guix/packages.scm | 23 ++++++++++++++++++++++-
3 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 431b487fd0..9f6e1f24e1 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -682,18 +682,8 @@ in C/C++.")
("1j6l66v1xw27z8w78mpsnmqgv8m277mf4r0hgqcrb4zx7xc2vqyy" "527e5e090608" "zh-CN")
("1frwx35klpyz3sdwrkz7945ivb2dwaawhhyfnz4092h9hn7rc4ky" "6cd366ad2947" "zh-TW")))
-(define* (computed-origin-method gexp-promise hash-algo hash
- #:optional (name "source")
- #:key (system (%current-system))
- (guile (default-guile)))
- "Return a derivation that executes the G-expression that results
-from forcing GEXP-PROMISE."
- (mlet %store-monad ((guile (package->derivation guile system)))
- (gexp->derivation (or name "computed-origin")
- (force gexp-promise)
- #:graft? #f ;nothing to graft
- #:system system
- #:guile-for-build guile)))
+;; XXXX: Workaround 'snippet' limitations.
+(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define %icecat-version "78.14.0-guix0-preview1")
(define %icecat-build-id "20210907000000") ;must be of the form YYYYMMDDhhmmss
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 285eb132f4..eb792be9a3 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -216,18 +216,8 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(file-name (string-append "linux-libre-deblob-check-" version "-" gnu-revision))
(sha256 deblob-check-hash))))
-(define* (computed-origin-method gexp-promise hash-algo hash
- #:optional (name "source")
- #:key (system (%current-system))
- (guile (default-guile)))
- "Return a derivation that executes the G-expression that results
-from forcing GEXP-PROMISE."
- (mlet %store-monad ((guile (package->derivation guile system)))
- (gexp->derivation (or name "computed-origin")
- (force gexp-promise)
- #:graft? #f ;nothing to graft
- #:system system
- #:guile-for-build guile)))
+;; XXXX: Workaround 'snippet' limitations
+(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define (make-linux-libre-source version
upstream-source
diff --git a/guix/packages.scm b/guix/packages.scm
index ad7937b4fb..8c3a0b0b7b 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
@@ -344,6 +344,27 @@ name of its URI."
;; git, svn, cvs, etc. reference
#f))))
+;; Work around limitations in the 'snippet' mechanism. It is not possible for
+;; a 'snippet' to produce a tarball with a different base name than the
+;; original downloaded source. Moreover, cherry picking dozens of upsteam
+;; patches and applying them suddenly is often impractical; especially when a
+;; comprehensive code reformatting is done upstream. Mainly designed for
+;; Linux and IceCat packages.
+;; XXXX: do not make part of public API (export) such radical capability
+;; before a detailed review process.
+(define* (computed-origin-method gexp-promise hash-algo hash
+ #:optional (name "source")
+ #:key (system (%current-system))
+ (guile (default-guile)))
+ "Return a derivation that executes the G-expression that results
+from forcing GEXP-PROMISE."
+ (mlet %store-monad ((guile (package->derivation guile system)))
+ (gexp->derivation (or name "computed-origin")
+ (force gexp-promise)
+ #:graft? #f ;nothing to graft
+ #:system system
+ #:guile-for-build guile)))
+
\f
(define %supported-systems
;; This is the list of system types that are supported. By default, we
--
2.32.0
next prev parent reply other threads:[~2021-09-16 11:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-16 11:45 [bug#50620] [PATCH 0/2] Unify 'computed-origin-method' (linux, icecat) zimoun
2021-09-16 11:47 ` zimoun [this message]
2021-09-16 11:47 ` [bug#50620] [PATCH 2/2] gnu: guix: Update to xxxx zimoun
2021-09-16 15:53 ` [bug#50620] [PATCH 1/2] guix: packages: Document 'computed-origin-method' Liliana Marie Prikler
2021-09-16 23:38 ` Mark H Weaver
2021-09-17 8:41 ` zimoun
2021-09-28 9:36 ` Mark H Weaver
2021-09-28 16:01 ` Liliana Marie Prikler
2021-09-28 16:37 ` zimoun
2021-09-28 17:24 ` Liliana Marie Prikler
2021-09-29 8:32 ` zimoun
2021-09-29 10:10 ` Liliana Marie Prikler
2021-09-29 13:17 ` zimoun
2021-09-29 14:36 ` Liliana Marie Prikler
2021-09-29 17:48 ` zimoun
2021-09-29 19:10 ` Liliana Marie Prikler
2021-09-29 20:15 ` zimoun
2021-09-29 22:13 ` Liliana Marie Prikler
2021-09-29 23:31 ` zimoun
2021-09-29 21:40 ` Mark H Weaver
2021-09-29 22:45 ` zimoun
2021-09-30 7:11 ` Liliana Marie Prikler
2021-09-29 13:16 ` [bug#50620] [PATCH 0/2] Unify 'computed-origin-method' (linux, icecat) Ludovic Courtès
2021-09-29 15:34 ` Liliana Marie Prikler
2021-09-29 21:47 ` Ludovic Courtès
2021-09-29 23:44 ` Liliana Marie Prikler
2021-09-30 8:28 ` Ludovic Courtès
2021-09-30 14:17 ` Liliana Marie Prikler
2021-09-30 20:09 ` Ludovic Courtès
2021-09-30 21:49 ` Liliana Marie Prikler
2021-09-29 20:42 ` Mark H Weaver
2021-09-29 21:34 ` Ludovic Courtès
2021-09-30 22:17 ` bug#50620: " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210916114734.2686426-1-zimon.toutoune@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=50620@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.