~abcdw/rde-devel

rde: predicates: Improve list-of-elisp-packages? predicate. v1 REJECTED

jgart: 2
 rde: predicates: Improve list-of-elisp-packages? predicate.
 tests: Add a test for list-of-elisp-packages?.

 2 files changed, 40 insertions(+), 1 deletions(-)
Thank you for the patch and it's really cool that you added a test, but
marking it as REJECTED due to the reason mentioned in a previous reply.
Next
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~abcdw/rde-devel/patches/40000/mbox | git am -3
Learn more about email & git

[PATCH 1/2] rde: predicates: Improve list-of-elisp-packages? predicate. Export this patch

---

hi, this improves the list-of-elisp-packages? predicate...or so i hope ;()

wdyt
 src/rde/features/predicates.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/rde/features/predicates.scm b/src/rde/features/predicates.scm
index d5fecf4..2d6c6f4 100644
--- a/src/rde/features/predicates.scm
+++ b/src/rde/features/predicates.scm
@@ -8,6 +8,7 @@
  #:use-module (gnu system mapped-devices)

  #:use-module (srfi srfi-1)
  #:use-module (guix build-system)
  #:use-module (guix packages)
  #:use-module (guix inferior)
  #:use-module (guix gexp)
@@ -64,8 +65,13 @@
(define-public (list-of-packages? lst)
  (and (list? lst) (every any-package? lst)))

(define (elisp-package? x)
  (equal? 'emacs
          (build-system-name (package-build-system x))))

(define-public (list-of-elisp-packages? lst)
  (list-of-packages? lst))
  (and (list-of-packages? lst)
       (map elisp-package? lst)))

(define-public (list-of-services? lst)
  (and (list? lst) (every service? lst)))
-- 
2.39.2

[PATCH 2/2] tests: Add a test for list-of-elisp-packages?. Export this patch

---
 tests/rde/tests/predicates.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 tests/rde/tests/predicates.scm

diff --git a/tests/rde/tests/predicates.scm b/tests/rde/tests/predicates.scm
new file mode 100644
index 0000000..36d3ff3
--- /dev/null
+++ b/tests/rde/tests/predicates.scm
@@ -0,0 +1,33 @@
;;; rde --- Reproducible development environment.
;;;
;;; Copyright © 2023 jgart <jgart@dismail.de>
;;;
;;; This file is part of rde.
;;;
;;; rde is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; rde is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with rde.  If not, see <http://www.gnu.org/licenses/>.

(define-module (rde tests predicates)
  #:use-module (rde features predicates)
  #:use-module (gnu packages admin)
  #:use-module (gnu packages emacs-xyz)
  #:use-module (srfi srfi-64)
  #:use-module (ice-9 match))

(define-test package-predicates
  (test-group "list-of-elisp-packages"
    (test-equal "booleans"
      '(#t #f #t #t #f)
      (list-of-elisp-packages?
        `(emacs-magit nnn emacs-denote emacs-corfu tcpdump)))))

-- 
2.39.2
Thank you for the patch and it's really cool that you added a test, but
marking it as REJECTED due to the reason mentioned in a previous reply.