[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/08: build: Add '--with-channel-commit' and related configure flags.
From: |
guix-commits |
Subject: |
03/08: build: Add '--with-channel-commit' and related configure flags. |
Date: |
Thu, 4 Feb 2021 03:44:14 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 55daad123e896c0e83361496cf49625289ee3571
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Jan 27 22:23:19 2021 +0100
build: Add '--with-channel-commit' and related configure flags.
Partially fixes <https://bugs.gnu.org/45896>.
* m4/guix.m4 (GUIX_CHANNEL_METADATA): New macro.
* configure.ac: Use it.
* guix/config.scm.in (%channel-metadata): Adjust accordingly.
---
configure.ac | 1 +
guix/config.scm.in | 20 +++++++++++++++++---
m4/guix.m4 | 30 +++++++++++++++++++++++++++++-
3 files changed, 47 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index aa97f67..aa60471 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,6 +25,7 @@ AM_GNU_GETTEXT_VERSION([0.18.1])
GUIX_SYSTEM_TYPE
GUIX_ASSERT_SUPPORTED_SYSTEM
+GUIX_CHANNEL_METADATA
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
diff --git a/guix/config.scm.in b/guix/config.scm.in
index 223c9eb..d582d91 100644
--- a/guix/config.scm.in
+++ b/guix/config.scm.in
@@ -61,9 +61,23 @@
(define %channel-metadata
;; When true, this is an sexp containing metadata for the 'guix' channel
;; this file was built from. This is used by (guix describe).
-
- ;; TODO: Implement 'configure.ac' machinery to initialize it.
- #f)
+ (let ((url @GUIX_CHANNEL_URL@)
+ (commit @GUIX_CHANNEL_COMMIT@)
+ (intro @GUIX_CHANNEL_INTRODUCTION@))
+ (and url commit
+ `(repository
+ (version 0)
+ (url ,url)
+ (branch "master") ;XXX: doesn't really matter
+ (commit ,commit)
+ (name guix)
+ ,@(if intro
+ `((introduction
+ (channel-introduction
+ (version 0)
+ (commit ,(car intro))
+ (signer ,(cdr intro)))))
+ '())))))
(define %storedir
"@storedir@")
diff --git a/m4/guix.m4 b/m4/guix.m4
index f8eb5aa..c1ce087 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -1,5 +1,5 @@
dnl GNU Guix --- Functional package management for GNU
-dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès
<ludo@gnu.org>
+dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic
Courtès <ludo@gnu.org>
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
dnl
@@ -398,3 +398,31 @@ that of the existing installation
'$guix_cv_current_localstatedir'])
esac
fi
fi])
+
+dnl GUIX_CHANNEL_METADATA
+dnl
+dnl Provide the channel metadata for this build. This allows 'guix describe'
+dnl to return meaningful data, as it would for a 'guix pull'-provided 'guix'.
+dnl The default URL and introduction are taken from (guix channels).
+AC_DEFUN([GUIX_CHANNEL_METADATA], [
+ AC_ARG_WITH([channel-url], [AS_HELP_STRING([--with-channel-url=URL],
+ [assert that this is built from the Git repository at URL])],
+ [guix_channel_url="\"$withval\""],
+ [guix_channel_url="\"https://git.savannah.gnu.org/git/guix.git\""])
+ AC_ARG_WITH([channel-commit], [AS_HELP_STRING([--with-channel-commit=COMMIT],
+ [assert that this is built from COMMIT])],
+ [guix_channel_commit="\"$withval\""],
+ [guix_channel_commit="#f"])
+ AC_ARG_WITH([channel-introduction],
[AS_HELP_STRING([--with-channel-introduction=COMMIT:FINGERPRINT],
+ [specify COMMIT and FINGERPRINT as the introduction of this channel])],
+ [guix_channel_introduction="'(\"`echo $withval | cut -f1 -d:`\" \"`echo
$withval | cut -f2 -d:`\")"],
+ [guix_channel_introduction="'(\"9edb3f66fd807b096b48283debdcddccfea34bad\"
. \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\")"])
+
+ GUIX_CHANNEL_URL="$guix_channel_url"
+ GUIX_CHANNEL_COMMIT="$guix_channel_commit"
+ GUIX_CHANNEL_INTRODUCTION="$guix_channel_introduction"
+
+ AC_SUBST([GUIX_CHANNEL_URL])
+ AC_SUBST([GUIX_CHANNEL_COMMIT])
+ AC_SUBST([GUIX_CHANNEL_INTRODUCTION])
+])
- branch master updated (8e7e414 -> eae865c), guix-commits, 2021/02/04
- 02/08: channels: Record 'guix' channel metadata in (guix config)., guix-commits, 2021/02/04
- 05/08: channels: Consider the current channel commit as authentic., guix-commits, 2021/02/04
- 04/08: gnu: guix: Pass the '--with-channel-commit' configure flag., guix-commits, 2021/02/04
- 07/08: gnu: guile2.2-picture-language: Use the 2.2 dependencies., guix-commits, 2021/02/04
- 06/08: gnu: iproute2: Update to 5.10.0., guix-commits, 2021/02/04
- 08/08: gnu: guile-cairo: Update to 1.11.2., guix-commits, 2021/02/04
- 03/08: build: Add '--with-channel-commit' and related configure flags.,
guix-commits <=
- 01/08: store: 'store-path-hash-part' really returns false for invalid file names., guix-commits, 2021/02/04