This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
11
4
[PATCH rde 0/3] Update and fix the build of the RDE package
I needed the RDE package up-to-date for a guix extension I'm working
on to unburden my dotfiles.
Nicolas Graves (3):
packages: Sort some modules
rde: Update package to 0.6.0
rde: Actually build the package
src/rde/packages.scm | 53 +++++++++++++++++++++++++++++---------------
1 file changed, 35 insertions(+), 18 deletions(-)
--
2.47.1
[PATCH rde 1/3] packages: Sort some modules
---
src/rde/packages.scm | 13 +++++++ ------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index cf1c6b93..da877875 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -1,6 +1,7 @@
;;; rde --- Reproducible development environment.
;;;
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
+ ;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of rde.
;;;
@@ -19,16 +20,16 @@
(define-module (rde packages)
#:use-module (gnu packages)
- #:use-module (gnu packages linux)
+ #:use-module (gnu packages base)
#:use-module (gnu packages freedesktop)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages xdisorg)
- #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages base)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages xdisorg)
#:use-module (srfi srfi-1)
--
2.47.1
[PATCH rde 2/3] rde: Update package to 0.6.0
---
src/rde/packages.scm | 7 ++++ ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index da877875..1c84154b 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -79,22 +79,23 @@
(define-public rde
(package
(name "rde")
- (version "0.5.0")
+ (version "0.6.0")
(home-page "https://trop.in/rde")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://git.sr.ht/~abcdw/rde")
- (commit "378cba86cbdab79e7af138837b52df62e92a15de")))
+ (commit "580acbca3e8b6165cdbbb2543b9ce5516b79c5d2")))
(sha256
(base32
- "00brclzhl05a0xkzx3ggd3gj83yaza2ynh55ff55sy2rl97ixz2i"))
+ "0rcyi4jj09yxj56hlr0v1z70qb4bidf9g4zzq4y4rxl4wdimh2qr"))
(file-name (string-append "rde-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
(list gnu-make texinfo))
(arguments
(list
+ #:make-flags ''("doc/rde.info")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
--
2.47.1
[PATCH rde 3/3] rde: Actually build the package
---
src/rde/packages.scm | 35 +++++++++++++++++++++++++ ----------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index 1c84154b..19706bdc 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -25,8 +25,10 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xdisorg)
@@ -42,6 +44,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system meson)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system guile)
#:use-module ((guix licenses) #:prefix license:)
#:export (strings->packages
strings->inferior-packages
@@ -90,21 +93,33 @@
(base32
"0rcyi4jj09yxj56hlr0v1z70qb4bidf9g4zzq4y4rxl4wdimh2qr"))
(file-name (string-append "rde-" version "-checkout"))))
- (build-system gnu-build-system)
+ (build-system guile-build-system)
(native-inputs
- (list gnu-make texinfo))
+ (list gnu-make guile-3.0 texinfo))
+ (inputs
+ (list guix))
(arguments
(list
- #:make-flags ''("doc/rde.info")
#:phases
#~(modify-phases %standard-phases
- (delete 'configure)
- (delete 'check)
- (add-after 'install 'install-info
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (info (string-append out "/share/info")))
- (install-file "doc/rde.info" info)))))))
+ (add-after 'unpack 'configure
+ (lambda _
+ (setenv "GUILE_LOAD_PATH"
+ (string-join
+ (list (string-append (getcwd) "/src")
+ (getenv "GUILE_LOAD_PATH"))
+ ":"))))
+ (replace 'build
+ (lambda args
+ (with-directory-excursion "src"
+ (apply (assoc-ref %standard-phases 'build) args))))
+ (add-after 'build 'build-info
+ (lambda _
+ (invoke "make" "doc/rde.info")))
+ (replace 'install-documentation
+ (lambda _
+ (install-file "doc/rde.info"
+ (string-append #$output "/share/info")))))))
(synopsis "Developers and power user friendly GNU/Linux distribution")
(description "The GNU/Linux distribution, a set of tools for managing
development environments, home environments, and operating systems, a set of
--
2.47.1
[rde/patches/.build.yml] build success
[PATCH rde v2 0/4] Update and fix RDE package build
Do not try the last patch series, it will most likely break your
guix-home profile. This is because the rde package is by default in
guix home profile, as it shipped the manual. Wasn't clear to me. I
split the package with a "doc" output, and only the "doc" output is
now in the guix-home profile by default.
Nicolas Graves (4):
packages: Sort some modules
rde: Update package to 0.6.0
rde: Actually build the package
rde: Split package outputs
src/rde/features/base.scm | 2 +-
src/rde/packages.scm | 54 ++++++++++++++++++++++++++-------------
2 files changed, 37 insertions(+), 19 deletions(-)
--
2.47.1
[PATCH rde v2 1/4] packages: Sort some modules
---
src/rde/packages.scm | 13 +++++++ ------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index cf1c6b93..da877875 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -1,6 +1,7 @@
;;; rde --- Reproducible development environment.
;;;
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
+ ;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of rde.
;;;
@@ -19,16 +20,16 @@
(define-module (rde packages)
#:use-module (gnu packages)
- #:use-module (gnu packages linux)
+ #:use-module (gnu packages base)
#:use-module (gnu packages freedesktop)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages xdisorg)
- #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages base)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages xdisorg)
#:use-module (srfi srfi-1)
--
2.47.1
[PATCH rde v2 2/4] rde: Update package to 0.6.0
---
src/rde/packages.scm | 7 ++++ ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index da877875..1c84154b 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -79,22 +79,23 @@
(define-public rde
(package
(name "rde")
- (version "0.5.0")
+ (version "0.6.0")
(home-page "https://trop.in/rde")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://git.sr.ht/~abcdw/rde")
- (commit "378cba86cbdab79e7af138837b52df62e92a15de")))
+ (commit "580acbca3e8b6165cdbbb2543b9ce5516b79c5d2")))
(sha256
(base32
- "00brclzhl05a0xkzx3ggd3gj83yaza2ynh55ff55sy2rl97ixz2i"))
+ "0rcyi4jj09yxj56hlr0v1z70qb4bidf9g4zzq4y4rxl4wdimh2qr"))
(file-name (string-append "rde-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
(list gnu-make texinfo))
(arguments
(list
+ #:make-flags ''("doc/rde.info")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
--
2.47.1
[PATCH rde v2 3/4] rde: Actually build the package
---
src/rde/packages.scm | 35 +++++++++++++++++++++++++ ----------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index 1c84154b..19706bdc 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -25,8 +25,10 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xdisorg)
@@ -42,6 +44,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system meson)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system guile)
#:use-module ((guix licenses) #:prefix license:)
#:export (strings->packages
strings->inferior-packages
@@ -90,21 +93,33 @@
(base32
"0rcyi4jj09yxj56hlr0v1z70qb4bidf9g4zzq4y4rxl4wdimh2qr"))
(file-name (string-append "rde-" version "-checkout"))))
- (build-system gnu-build-system)
+ (build-system guile-build-system)
(native-inputs
- (list gnu-make texinfo))
+ (list gnu-make guile-3.0 texinfo))
+ (inputs
+ (list guix))
(arguments
(list
- #:make-flags ''("doc/rde.info")
#:phases
#~(modify-phases %standard-phases
- (delete 'configure)
- (delete 'check)
- (add-after 'install 'install-info
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (info (string-append out "/share/info")))
- (install-file "doc/rde.info" info)))))))
+ (add-after 'unpack 'configure
+ (lambda _
+ (setenv "GUILE_LOAD_PATH"
+ (string-join
+ (list (string-append (getcwd) "/src")
+ (getenv "GUILE_LOAD_PATH"))
+ ":"))))
+ (replace 'build
+ (lambda args
+ (with-directory-excursion "src"
+ (apply (assoc-ref %standard-phases 'build) args))))
+ (add-after 'build 'build-info
+ (lambda _
+ (invoke "make" "doc/rde.info")))
+ (replace 'install-documentation
+ (lambda _
+ (install-file "doc/rde.info"
+ (string-append #$output "/share/info")))))))
(synopsis "Developers and power user friendly GNU/Linux distribution")
(description "The GNU/Linux distribution, a set of tools for managing
development environments, home environments, and operating systems, a set of
--
2.47.1
[PATCH rde v2 4/4] rde: Split package outputs
---
src/rde/features/base.scm | 2 + -
src/rde/packages.scm | 3 ++ -
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/rde/features/base.scm b/src/rde/features/base.scm
index b434ad90..0441ac85 100644
--- a/src/rde/features/base.scm
+++ b/src/rde/features/base.scm
@@ -107,7 +107,7 @@
(home-packages '())
(system-packages '())
(base-system-packages %rde-base-system-packages)
- (base-home-packages (list rde)))
+ (base-home-packages (list `(,rde "doc"))))
"Provides base packages and allows to specify additional standalone
packages for home-environment, or operating-system, or both.
Standalone means that packages do not require configuration and not
diff --git a/src/rde/packages.scm b/src/rde/packages.scm
index 19706bdc..25c1e7d3 100644
--- a/src/rde/packages.scm
+++ b/src/rde/packages.scm
@@ -94,6 +94,7 @@
"0rcyi4jj09yxj56hlr0v1z70qb4bidf9g4zzq4y4rxl4wdimh2qr"))
(file-name (string-append "rde-" version "-checkout"))))
(build-system guile-build-system)
+ (outputs (list "out" "doc"))
(native-inputs
(list gnu-make guile-3.0 texinfo))
(inputs
@@ -119,7 +120,7 @@
(replace 'install-documentation
(lambda _
(install-file "doc/rde.info"
- (string-append #$output "/share/info")))))))
+ (string-append #$output:doc "/share/info")))))))
(synopsis "Developers and power user friendly GNU/Linux distribution")
(description "The GNU/Linux distribution, a set of tools for managing
development environments, home environments, and operating systems, a set of
--
2.47.1
Re: [PATCH rde 3/3] rde: Actually build the package
Hi Nicolas,
Thanks! Applied.
--
all the best,
jgart
Re: [PATCH rde v2 3/4] rde: Actually build the package
On 2025-01-07 10:25, Nicolas Graves wrote:
> ---
> src/rde/packages.scm | 35 +++++++++++++++++++++++++----------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/src/rde/packages.scm b/src/rde/packages.scm
> index 1c84154b..19706bdc 100644
> --- a/src/rde/packages.scm
> +++ b/src/rde/packages.scm
> @@ -25,8 +25,10 @@
> #:use-module (gnu packages glib)
> #:use-module (gnu packages gnome)
> #:use-module (gnu packages gtk)
> + #:use-module (gnu packages guile)
> #:use-module (gnu packages image)
> #:use-module (gnu packages linux)
> + #:use-module (gnu packages package-management)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages texinfo)
> #:use-module (gnu packages xdisorg)
> @@ -42,6 +44,7 @@
> #:use-module (guix git-download)
> #:use-module (guix build-system meson)
> #:use-module (guix build-system gnu)
> + #:use-module (guix build-system guile)
> #:use-module ((guix licenses) #:prefix license:)
> #:export (strings->packages
> strings->inferior-packages
> @@ -90,21 +93,33 @@
> (base32
> "0rcyi4jj09yxj56hlr0v1z70qb4bidf9g4zzq4y4rxl4wdimh2qr"))
> (file-name (string-append "rde-" version "-checkout"))))
> - (build-system gnu-build-system)
> + (build-system guile-build-system)
> (native-inputs
> - (list gnu-make texinfo))
> + (list gnu-make guile-3.0 texinfo))
> + (inputs
> + (list guix))
> (arguments
> (list
> - #:make-flags ''("doc/rde.info")
> #:phases
> #~(modify-phases %standard-phases
> - (delete 'configure)
> - (delete 'check)
> - (add-after 'install 'install-info
> - (lambda* (#:key outputs #:allow-other-keys)
> - (let* ((out (assoc-ref outputs "out"))
> - (info (string-append out "/share/info")))
> - (install-file "doc/rde.info" info)))))))
> + (add-after 'unpack 'configure
> + (lambda _
> + (setenv "GUILE_LOAD_PATH"
> + (string-join
> + (list (string-append (getcwd) "/src")
> + (getenv "GUILE_LOAD_PATH"))
> + ":"))))
> + (replace 'build
> + (lambda args
> + (with-directory-excursion "src"
> + (apply (assoc-ref %standard-phases 'build) args))))
Just a small note:
IIRC, those too custom build phases can be avoided by source-directory
argument, like this:
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile-xyz.scm?h=092467b3b6#n1168
> + (add-after 'build 'build-info
> + (lambda _
> + (invoke "make" "doc/rde.info")))
> + (replace 'install-documentation
> + (lambda _
> + (install-file "doc/rde.info"
> + (string-append #$output "/share/info")))))))
> (synopsis "Developers and power user friendly GNU/Linux distribution")
> (description "The GNU/Linux distribution, a set of tools for managing
> development environments, home environments, and operating systems, a set of
--
Best regards,
Andrew Tropin