unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#37817] [PATCH 0/7] Add graph Common Lisp library and dependencies.
@ 2019-10-18 20:38 Guillaume Le Vaillant
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:38 UTC (permalink / raw)
  To: 37817

Patches:
 - Add cl-heap.
 - Add curry-compose-reader-macros.
 - Add yason.
 - sbcl-iterate: Add missing native input.
 - Add ecl-iterate
 - Add stefil
 - Add graph

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 1/7] gnu: Add cl-heap.
  2019-10-18 20:38 [bug#37817] [PATCH 0/7] Add graph Common Lisp library and dependencies Guillaume Le Vaillant
@ 2019-10-18 20:42 ` Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
                     ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-heap, sbcl-cl-heap, ecl-cl-heap): New variables.
---
 gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index bb2a589578..e407093348 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7833,3 +7833,33 @@ Clojure, as well as several expansions on the idea.")
 
 (define-public ecl-arrows
   (sbcl-package->ecl-package sbcl-arrows))
+
+(define-public sbcl-cl-heap
+  (package
+    (name "sbcl-cl-heap")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
+                           "cl-heap_" version ".tar.gz"))
+       (sha256
+        (base32
+         "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("xlunit" ,sbcl-xlunit)))
+    (arguments
+     `(#:test-asd-file "cl-heap-tests.asd"))
+    (synopsis "Heap and priority queue data structures for Common Lisp")
+    (description
+     "CL-HEAP provides various implementations of heap data structures (a
+binary heap and a Fibonacci heap) as well as an efficient priority queue.")
+    (home-page "https://common-lisp.net/project/cl-heap/")
+    (license license:gpl3+)))
+
+(define-public cl-heap
+  (sbcl-package->cl-source-package sbcl-cl-heap))
+
+(define-public ecl-cl-heap
+  (sbcl-package->ecl-package sbcl-cl-heap))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
@ 2019-10-18 20:42   ` Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 3/7] gnu: Add yason Guillaume Le Vaillant
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-curry-compose-reader-macros,
  sbcl-curry-compose-reader-macros, ecl-curry-compose-reader-macros): New
  variables.
---
 gnu/packages/lisp.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index e407093348..42d5884c03 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7863,3 +7863,37 @@ binary heap and a Fibonacci heap) as well as an efficient priority queue.")
 
 (define-public ecl-cl-heap
   (sbcl-package->ecl-package sbcl-cl-heap))
+
+(define-public sbcl-curry-compose-reader-macros
+  (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
+        (revision "0"))
+    (package
+      (name "sbcl-curry-compose-reader-macros")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/eschulte/curry-compose-reader-macros.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("named-readtables" ,sbcl-named-readtables)))
+      (synopsis "Reader macros for partial application and composition")
+      (description
+       "This Common Lisp library provides reader macros for concise expression
+of function partial application and composition.")
+      (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
+      (license license:public-domain))))
+
+(define-public cl-curry-compose-reader-macros
+  (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
+
+(define-public ecl-curry-compose-reader-macros
+  (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 3/7] gnu: Add yason.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
@ 2019-10-18 20:42   ` Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input Guillaume Le Vaillant
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-yason, sbcl-yason, ecl-yason): New variables.
---
 gnu/packages/lisp.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 42d5884c03..28856696ea 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7897,3 +7897,34 @@ of function partial application and composition.")
 
 (define-public ecl-curry-compose-reader-macros
   (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
+
+(define-public sbcl-yason
+  (package
+    (name "sbcl-yason")
+    (version "0.7.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/phmarek/yason.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+    (synopsis "Common Lisp JSON parser/encoder")
+    (description
+     "YASON is a Common Lisp library for encoding and decoding data in the
+JSON interchange format.")
+    (home-page "https://github.com/phmarek/yason")
+    (license license:bsd-3)))
+
+(define-public cl-yason
+  (sbcl-package->cl-source-package sbcl-yason))
+
+(define-public ecl-yason
+  (sbcl-package->ecl-package sbcl-yason))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 3/7] gnu: Add yason Guillaume Le Vaillant
@ 2019-10-18 20:42   ` Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate Guillaume Le Vaillant
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (sbcl-iterate)[native-inputs]: Add rt.
---
 gnu/packages/lisp.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 28856696ea..c8fdece80e 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1508,6 +1508,8 @@ else @code{parse-number} signals an error of type @code{invalid-number}.")
         (base32
          "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm"))))
     (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("rt" ,sbcl-rt)))
     (home-page "https://common-lisp.net/project/iterate/")
     (synopsis "Iteration construct for Common Lisp")
     (description "@code{iterate} is an iteration construct for Common Lisp.
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
                     ` (2 preceding siblings ...)
  2019-10-18 20:42   ` [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input Guillaume Le Vaillant
@ 2019-10-18 20:42   ` Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 6/7] gnu: Add stefil Guillaume Le Vaillant
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (ecl-iterate): New variable.
---
 gnu/packages/lisp.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index c8fdece80e..a7065213ce 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1526,6 +1526,9 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
 (define-public cl-iterate
   (sbcl-package->cl-source-package sbcl-iterate))
 
+(define-public ecl-iterate
+  (sbcl-package->ecl-package sbcl-iterate))
+
 (define-public sbcl-cl-uglify-js
   ;; There have been many bug fixes since the 2010 release.
   (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 6/7] gnu: Add stefil.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
                     ` (3 preceding siblings ...)
  2019-10-18 20:42   ` [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate Guillaume Le Vaillant
@ 2019-10-18 20:42   ` Guillaume Le Vaillant
  2019-10-18 20:42   ` [bug#37817] [PATCH 7/7] gnu: Add graph Guillaume Le Vaillant
  2019-10-21  9:16   ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., " Pierre Neidhardt
  6 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-stefil, sbcl-stefil): New variables.
---
 gnu/packages/lisp.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index a7065213ce..c69a8cac6b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7933,3 +7933,46 @@ JSON interchange format.")
 
 (define-public ecl-yason
   (sbcl-package->ecl-package sbcl-yason))
+
+(define-public sbcl-stefil
+  (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
+        (revision "0"))
+    (package
+      (name "sbcl-stefil")
+      (version (git-version "0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.common-lisp.net/stefil/stefil.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("iterate" ,sbcl-iterate)
+         ("metabang-bind" ,sbcl-metabang-bind)))
+      (propagated-inputs
+       ;; Swank doesn't have a pre-compiled package, therefore we must
+       ;; propagate its sources.
+       `(("swank" ,cl-slime-swank)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'drop-unnecessary-dependency
+             (lambda _
+               (substitute* "package.lisp"
+                 ((":stefil-system") ""))
+               #t)))))
+      (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
+      (synopsis "Simple test framework")
+      (description
+       "Stefil is a simple test framework for Common Lisp, with a focus on
+interactive development.")
+      (license license:public-domain))))
+
+(define-public cl-stefil
+  (sbcl-package->cl-source-package sbcl-stefil))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 7/7] gnu: Add graph.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
                     ` (4 preceding siblings ...)
  2019-10-18 20:42   ` [bug#37817] [PATCH 6/7] gnu: Add stefil Guillaume Le Vaillant
@ 2019-10-18 20:42   ` Guillaume Le Vaillant
  2019-10-21  9:16   ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., " Pierre Neidhardt
  6 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-18 20:42 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-graph, sbcl-graph): New variables.
* gnu/packages/patches/sbcl-graph-asdf-definitions.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/lisp.scm                         | 74 +++++++++++++++++++
 .../patches/sbcl-graph-asdf-definitions.patch | 70 ++++++++++++++++++
 3 files changed, 145 insertions(+)
 create mode 100644 gnu/packages/patches/sbcl-graph-asdf-definitions.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3fbfe0f2bb..30c2b4e27b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1312,6 +1312,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-coresimd-doctest.patch		\
   %D%/packages/patches/rust-reproducible-builds.patch		 \
   %D%/packages/patches/rxvt-unicode-escape-sequences.patch	\
+  %D%/packages/patches/sbcl-graph-asdf-definitions.patch	\
   %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch	\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-build-parallelism.patch		\
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index c69a8cac6b..eab4214740 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7976,3 +7976,77 @@ interactive development.")
 
 (define-public cl-stefil
   (sbcl-package->cl-source-package sbcl-stefil))
+
+(define-public sbcl-graph
+  (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
+        (revision "0"))
+    (package
+      (name "sbcl-graph")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/eschulte/graph.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
+         (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("stefil" ,sbcl-stefil)))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cl-heap" ,sbcl-cl-heap)
+         ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+         ("metabang-bind" ,sbcl-metabang-bind)
+         ("named-readtables" ,sbcl-named-readtables)))
+      (arguments
+       '(#:test-asd-file "graph.test.asd"))
+      (synopsis "Graph data structure and algorithms for Common Lisp")
+      (description
+       "The GRAPH Common Lisp library provides a data structures to represent
+graphs, as well as some graph manipulation and analysis algorithms (shortest
+path, maximum flow, minimum spanning tree, etc.).")
+      (home-page "https://eschulte.github.io/graph/")
+      (license license:gpl3+))))
+
+(define-public cl-graph
+  (sbcl-package->cl-source-package sbcl-graph))
+
+(define-public sbcl-graph-dot
+  (package
+    (inherit sbcl-graph)
+    (name "sbcl-graph-dot")
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("cl-ppcre" ,sbcl-cl-ppcre)
+       ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+       ("graph" ,sbcl-graph)
+       ("metabang-bind" ,sbcl-metabang-bind)
+       ("named-readtables" ,sbcl-named-readtables)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-graph)
+       ((#:asd-file _ "") "graph.dot.asd")
+       ((#:asd-system-name _ #f) "graph-dot")))
+    (synopsis "Serialize graphs to and from DOT format")))
+
+(define-public sbcl-graph-json
+  (package
+    (inherit sbcl-graph)
+    (name "sbcl-graph-json")
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+       ("graph" ,sbcl-graph)
+       ("metabang-bind" ,sbcl-metabang-bind)
+       ("named-readtables" ,sbcl-named-readtables)
+       ("yason" ,sbcl-yason)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-graph)
+       ((#:asd-file _ "") "graph.json.asd")
+       ((#:asd-system-name _ #f) "graph-json")))
+    (synopsis "Serialize graphs to and from JSON format")))
diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
new file mode 100644
index 0000000000..a528ccfcc6
--- /dev/null
+++ b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
@@ -0,0 +1,70 @@
+commit 52ebece1243ae6900e414b6248b5145a28348eef
+Author: Guillaume Le Vaillant <glv@posteo.net>
+Date:   Fri Oct 18 15:41:23 2019 +0200
+
+    Use basic ASDF system definitions instead of package-inferred-system
+
+diff --git a/graph.asd b/graph.asd
+index 193b6e3..56afc8f 100644
+--- a/graph.asd
++++ b/graph.asd
+@@ -3,12 +3,10 @@
+   :version "0.0.0"
+   :author ("Eric Schulte <schulte.eric@gmail.com>" "Thomas Dye")
+   :licence "GPL V3"
+-  :class :package-inferred-system
+-  :defsystem-depends-on (:asdf-package-system)
++  :in-order-to ((test-op (test-op graph-test)))
+   :depends-on (alexandria
+                metabang-bind
+                named-readtables
+                curry-compose-reader-macros
+-               graph/graph))
+-
+-(register-system-packages "femlisp-matlisp" '(:fl.matlisp))
++               cl-heap)
++  :components ((:file "graph")))
+diff --git a/graph.dot.asd b/graph.dot.asd
+new file mode 100644
+index 0000000..12aec7e
+--- /dev/null
++++ b/graph.dot.asd
+@@ -0,0 +1,8 @@
++(defsystem :graph-dot
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               cl-ppcre
++               graph)
++  :components ((:file "dot")))
+diff --git a/graph.json.asd b/graph.json.asd
+new file mode 100644
+index 0000000..e7d091f
+--- /dev/null
++++ b/graph.json.asd
+@@ -0,0 +1,8 @@
++(defsystem :graph-json
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               yason
++               graph)
++  :components ((:file "json")))
+diff --git a/graph.test.asd b/graph.test.asd
+new file mode 100644
+index 0000000..1e811e1
+--- /dev/null
++++ b/graph.test.asd
+@@ -0,0 +1,10 @@
++(defsystem :graph-test
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               graph
++               stefil)
++  :perform (test-op (o s)
++             (uiop:symbol-call :graph/test 'test))
++  :components ((:file "test")))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph.
  2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
                     ` (5 preceding siblings ...)
  2019-10-18 20:42   ` [bug#37817] [PATCH 7/7] gnu: Add graph Guillaume Le Vaillant
@ 2019-10-21  9:16   ` Pierre Neidhardt
  2019-10-21 10:05     ` Guillaume Le Vaillant
  6 siblings, 1 reply; 21+ messages in thread
From: Pierre Neidhardt @ 2019-10-21  9:16 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 37817

[-- Attachment #1: Type: text/plain, Size: 511 bytes --]

Thanks for this patch.

Everything is looking good, except the last patch where you should add an
extra commit for the 'dot' package.

Regarding the .asd patch: the lack of inferred package support is a
general issue with our current build system.  Ideally, we could support
it directly.  See this discussion for more details:

https://gitlab.common-lisp.net/asdf/asdf/issues/10

Would you be interested in working on it?  It might not be too hard :p

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph.
  2019-10-21  9:16   ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., " Pierre Neidhardt
@ 2019-10-21 10:05     ` Guillaume Le Vaillant
  2019-10-21 10:16       ` Pierre Neidhardt
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 10:05 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 37817


Pierre Neidhardt skribis:

> Thanks for this patch.
>
> Everything is looking good, except the last patch where you should add an
> extra commit for the 'dot' package.
>
> Regarding the .asd patch: the lack of inferred package support is a
> general issue with our current build system.  Ideally, we could support
> it directly.  See this discussion for more details:
>
> https://gitlab.common-lisp.net/asdf/asdf/issues/10
>
> Would you be interested in working on it?  It might not be too hard :p

Ok, I'll put 'sbcl-graph-dot' and 'sbcl-graph-json' in their own
commits.

Also, I saw that there is a 'graph.scm' file with definitions of graph
related packages. Should I put 'sbcl-graph', 'sbcl-graph-dot' and
'sbcl-graph-json' in it, or should I keep them in 'lisp.scm'?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph.
  2019-10-21 10:05     ` Guillaume Le Vaillant
@ 2019-10-21 10:16       ` Pierre Neidhardt
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
  2019-10-22  8:50         ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph Pierre Neidhardt
  0 siblings, 2 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-10-21 10:16 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 37817

[-- Attachment #1: Type: text/plain, Size: 725 bytes --]

Guillaume Le Vaillant <glv@posteo.net> writes:

> Also, I saw that there is a 'graph.scm' file with definitions of graph
> related packages. Should I put 'sbcl-graph', 'sbcl-graph-dot' and
> 'sbcl-graph-json' in it, or should I keep them in 'lisp.scm'?

In my understanding, file separation works as follows:

1. Make sure the file compilation graph is as simple as possible.

2. If 1. does not apply (e.g. same complexity is both cases), place the
package where it's most relevant.

3. If neither 1 nor 2 apply, that is, if a package is relevant in both
files, well, do what suits you best :)

Here my intuition would be to leave them in lisp.scm.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap.
  2019-10-21 10:16       ` Pierre Neidhardt
@ 2019-10-21 12:02         ` Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 2/9] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
                             ` (7 more replies)
  2019-10-22  8:50         ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph Pierre Neidhardt
  1 sibling, 8 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:02 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-heap, sbcl-cl-heap, ecl-cl-heap): New variables.
---
 gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index dcc396dd25..7f62aed6b0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7866,3 +7866,33 @@ forms in parallel.")
 
 (define-public ecl-simple-parallel-tasks
   (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
+
+(define-public sbcl-cl-heap
+  (package
+    (name "sbcl-cl-heap")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
+                           "cl-heap_" version ".tar.gz"))
+       (sha256
+        (base32
+         "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("xlunit" ,sbcl-xlunit)))
+    (arguments
+     `(#:test-asd-file "cl-heap-tests.asd"))
+    (synopsis "Heap and priority queue data structures for Common Lisp")
+    (description
+     "CL-HEAP provides various implementations of heap data structures (a
+binary heap and a Fibonacci heap) as well as an efficient priority queue.")
+    (home-page "https://common-lisp.net/project/cl-heap/")
+    (license license:gpl3+)))
+
+(define-public cl-heap
+  (sbcl-package->cl-source-package sbcl-cl-heap))
+
+(define-public ecl-cl-heap
+  (sbcl-package->ecl-package sbcl-cl-heap))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 2/9] gnu: Add curry-compose-reader-macros.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
@ 2019-10-21 12:02           ` Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 3/9] gnu: Add yason Guillaume Le Vaillant
                             ` (6 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:02 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-curry-compose-reader-macros,
  sbcl-curry-compose-reader-macros, ecl-curry-compose-reader-macros): New
  variables.
---
 gnu/packages/lisp.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 7f62aed6b0..5e4f9484ee 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7896,3 +7896,37 @@ binary heap and a Fibonacci heap) as well as an efficient priority queue.")
 
 (define-public ecl-cl-heap
   (sbcl-package->ecl-package sbcl-cl-heap))
+
+(define-public sbcl-curry-compose-reader-macros
+  (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
+        (revision "0"))
+    (package
+      (name "sbcl-curry-compose-reader-macros")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/eschulte/curry-compose-reader-macros.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("named-readtables" ,sbcl-named-readtables)))
+      (synopsis "Reader macros for partial application and composition")
+      (description
+       "This Common Lisp library provides reader macros for concise expression
+of function partial application and composition.")
+      (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
+      (license license:public-domain))))
+
+(define-public cl-curry-compose-reader-macros
+  (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
+
+(define-public ecl-curry-compose-reader-macros
+  (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 3/9] gnu: Add yason.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 2/9] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
@ 2019-10-21 12:02           ` Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 4/9] gnu: sbcl-iterate: Add missing native input Guillaume Le Vaillant
                             ` (5 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:02 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-yason, sbcl-yason, ecl-yason): New variables.
---
 gnu/packages/lisp.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 5e4f9484ee..be0b876df8 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7930,3 +7930,34 @@ of function partial application and composition.")
 
 (define-public ecl-curry-compose-reader-macros
   (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
+
+(define-public sbcl-yason
+  (package
+    (name "sbcl-yason")
+    (version "0.7.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/phmarek/yason.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+    (synopsis "Common Lisp JSON parser/encoder")
+    (description
+     "YASON is a Common Lisp library for encoding and decoding data in the
+JSON interchange format.")
+    (home-page "https://github.com/phmarek/yason")
+    (license license:bsd-3)))
+
+(define-public cl-yason
+  (sbcl-package->cl-source-package sbcl-yason))
+
+(define-public ecl-yason
+  (sbcl-package->ecl-package sbcl-yason))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 4/9] gnu: sbcl-iterate: Add missing native input.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 2/9] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 3/9] gnu: Add yason Guillaume Le Vaillant
@ 2019-10-21 12:02           ` Guillaume Le Vaillant
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 5/9] gnu: Add ecl-iterate Guillaume Le Vaillant
                             ` (4 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:02 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (sbcl-iterate)[native-inputs]: Add rt.
---
 gnu/packages/lisp.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index be0b876df8..a559dcc37b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1508,6 +1508,8 @@ else @code{parse-number} signals an error of type @code{invalid-number}.")
         (base32
          "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm"))))
     (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("rt" ,sbcl-rt)))
     (home-page "https://common-lisp.net/project/iterate/")
     (synopsis "Iteration construct for Common Lisp")
     (description "@code{iterate} is an iteration construct for Common Lisp.
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 5/9] gnu: Add ecl-iterate.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
                             ` (2 preceding siblings ...)
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 4/9] gnu: sbcl-iterate: Add missing native input Guillaume Le Vaillant
@ 2019-10-21 12:02           ` Guillaume Le Vaillant
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 6/9] gnu: Add stefil Guillaume Le Vaillant
                             ` (3 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:02 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (ecl-iterate): New variable.
---
 gnu/packages/lisp.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index a559dcc37b..8f46ee9891 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1526,6 +1526,9 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
 (define-public cl-iterate
   (sbcl-package->cl-source-package sbcl-iterate))
 
+(define-public ecl-iterate
+  (sbcl-package->ecl-package sbcl-iterate))
+
 (define-public sbcl-cl-uglify-js
   ;; There have been many bug fixes since the 2010 release.
   (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 6/9] gnu: Add stefil.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
                             ` (3 preceding siblings ...)
  2019-10-21 12:02           ` [bug#37817] [PATCH v2 5/9] gnu: Add ecl-iterate Guillaume Le Vaillant
@ 2019-10-21 12:03           ` Guillaume Le Vaillant
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 7/9] gnu: Add graph Guillaume Le Vaillant
                             ` (2 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:03 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-stefil, sbcl-stefil): New variables.
---
 gnu/packages/lisp.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 8f46ee9891..4abc0f7790 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7966,3 +7966,46 @@ JSON interchange format.")
 
 (define-public ecl-yason
   (sbcl-package->ecl-package sbcl-yason))
+
+(define-public sbcl-stefil
+  (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
+        (revision "0"))
+    (package
+      (name "sbcl-stefil")
+      (version (git-version "0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.common-lisp.net/stefil/stefil.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("iterate" ,sbcl-iterate)
+         ("metabang-bind" ,sbcl-metabang-bind)))
+      (propagated-inputs
+       ;; Swank doesn't have a pre-compiled package, therefore we must
+       ;; propagate its sources.
+       `(("swank" ,cl-slime-swank)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'drop-unnecessary-dependency
+             (lambda _
+               (substitute* "package.lisp"
+                 ((":stefil-system") ""))
+               #t)))))
+      (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
+      (synopsis "Simple test framework")
+      (description
+       "Stefil is a simple test framework for Common Lisp, with a focus on
+interactive development.")
+      (license license:public-domain))))
+
+(define-public cl-stefil
+  (sbcl-package->cl-source-package sbcl-stefil))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 7/9] gnu: Add graph.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
                             ` (4 preceding siblings ...)
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 6/9] gnu: Add stefil Guillaume Le Vaillant
@ 2019-10-21 12:03           ` Guillaume Le Vaillant
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 8/9] gnu: Add sbcl-graph-dot Guillaume Le Vaillant
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 9/9] gnu: Add sbcl-graph-json Guillaume Le Vaillant
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:03 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (cl-graph, sbcl-graph): New variables.
* gnu/packages/patches/sbcl-graph-asdf-definitions.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/lisp.scm                         | 40 +++++++++++
 .../patches/sbcl-graph-asdf-definitions.patch | 70 +++++++++++++++++++
 3 files changed, 111 insertions(+)
 create mode 100644 gnu/packages/patches/sbcl-graph-asdf-definitions.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4292e6f415..2568d75c1a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1319,6 +1319,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-coresimd-doctest.patch		\
   %D%/packages/patches/rust-reproducible-builds.patch		 \
   %D%/packages/patches/rxvt-unicode-escape-sequences.patch	\
+  %D%/packages/patches/sbcl-graph-asdf-definitions.patch	\
   %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch	\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-build-parallelism.patch		\
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4abc0f7790..38fc35744e 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8009,3 +8009,43 @@ interactive development.")
 
 (define-public cl-stefil
   (sbcl-package->cl-source-package sbcl-stefil))
+
+(define-public sbcl-graph
+  (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
+        (revision "0"))
+    (package
+      (name "sbcl-graph")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/eschulte/graph.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
+         (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("stefil" ,sbcl-stefil)))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cl-heap" ,sbcl-cl-heap)
+         ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+         ("metabang-bind" ,sbcl-metabang-bind)
+         ("named-readtables" ,sbcl-named-readtables)))
+      (arguments
+       '(#:test-asd-file "graph.test.asd"))
+      (synopsis "Graph data structure and algorithms for Common Lisp")
+      (description
+       "The GRAPH Common Lisp library provides a data structures to represent
+graphs, as well as some graph manipulation and analysis algorithms (shortest
+path, maximum flow, minimum spanning tree, etc.).")
+      (home-page "https://eschulte.github.io/graph/")
+      (license license:gpl3+))))
+
+(define-public cl-graph
+  (sbcl-package->cl-source-package sbcl-graph))
diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
new file mode 100644
index 0000000000..a528ccfcc6
--- /dev/null
+++ b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
@@ -0,0 +1,70 @@
+commit 52ebece1243ae6900e414b6248b5145a28348eef
+Author: Guillaume Le Vaillant <glv@posteo.net>
+Date:   Fri Oct 18 15:41:23 2019 +0200
+
+    Use basic ASDF system definitions instead of package-inferred-system
+
+diff --git a/graph.asd b/graph.asd
+index 193b6e3..56afc8f 100644
+--- a/graph.asd
++++ b/graph.asd
+@@ -3,12 +3,10 @@
+   :version "0.0.0"
+   :author ("Eric Schulte <schulte.eric@gmail.com>" "Thomas Dye")
+   :licence "GPL V3"
+-  :class :package-inferred-system
+-  :defsystem-depends-on (:asdf-package-system)
++  :in-order-to ((test-op (test-op graph-test)))
+   :depends-on (alexandria
+                metabang-bind
+                named-readtables
+                curry-compose-reader-macros
+-               graph/graph))
+-
+-(register-system-packages "femlisp-matlisp" '(:fl.matlisp))
++               cl-heap)
++  :components ((:file "graph")))
+diff --git a/graph.dot.asd b/graph.dot.asd
+new file mode 100644
+index 0000000..12aec7e
+--- /dev/null
++++ b/graph.dot.asd
+@@ -0,0 +1,8 @@
++(defsystem :graph-dot
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               cl-ppcre
++               graph)
++  :components ((:file "dot")))
+diff --git a/graph.json.asd b/graph.json.asd
+new file mode 100644
+index 0000000..e7d091f
+--- /dev/null
++++ b/graph.json.asd
+@@ -0,0 +1,8 @@
++(defsystem :graph-json
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               yason
++               graph)
++  :components ((:file "json")))
+diff --git a/graph.test.asd b/graph.test.asd
+new file mode 100644
+index 0000000..1e811e1
+--- /dev/null
++++ b/graph.test.asd
+@@ -0,0 +1,10 @@
++(defsystem :graph-test
++  :depends-on (alexandria
++               metabang-bind
++               named-readtables
++               curry-compose-reader-macros
++               graph
++               stefil)
++  :perform (test-op (o s)
++             (uiop:symbol-call :graph/test 'test))
++  :components ((:file "test")))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 8/9] gnu: Add sbcl-graph-dot.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
                             ` (5 preceding siblings ...)
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 7/9] gnu: Add graph Guillaume Le Vaillant
@ 2019-10-21 12:03           ` Guillaume Le Vaillant
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 9/9] gnu: Add sbcl-graph-json Guillaume Le Vaillant
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:03 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (sbcl-graph-dot): New variable.
---
 gnu/packages/lisp.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 38fc35744e..6083008870 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8049,3 +8049,20 @@ path, maximum flow, minimum spanning tree, etc.).")
 
 (define-public cl-graph
   (sbcl-package->cl-source-package sbcl-graph))
+
+(define-public sbcl-graph-dot
+  (package
+    (inherit sbcl-graph)
+    (name "sbcl-graph-dot")
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("cl-ppcre" ,sbcl-cl-ppcre)
+       ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+       ("graph" ,sbcl-graph)
+       ("metabang-bind" ,sbcl-metabang-bind)
+       ("named-readtables" ,sbcl-named-readtables)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-graph)
+       ((#:asd-file _ "") "graph.dot.asd")
+       ((#:asd-system-name _ #f) "graph-dot")))
+    (synopsis "Serialize graphs to and from DOT format")))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH v2 9/9] gnu: Add sbcl-graph-json.
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
                             ` (6 preceding siblings ...)
  2019-10-21 12:03           ` [bug#37817] [PATCH v2 8/9] gnu: Add sbcl-graph-dot Guillaume Le Vaillant
@ 2019-10-21 12:03           ` Guillaume Le Vaillant
  7 siblings, 0 replies; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-21 12:03 UTC (permalink / raw)
  To: 37817; +Cc: Guillaume Le Vaillant

* gnu/packages/lisp.scm (sbcl-graph-json): New variable.
---
 gnu/packages/lisp.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 6083008870..4a7527344f 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -8066,3 +8066,20 @@ path, maximum flow, minimum spanning tree, etc.).")
        ((#:asd-file _ "") "graph.dot.asd")
        ((#:asd-system-name _ #f) "graph-dot")))
     (synopsis "Serialize graphs to and from DOT format")))
+
+(define-public sbcl-graph-json
+  (package
+    (inherit sbcl-graph)
+    (name "sbcl-graph-json")
+    (inputs
+     `(("alexandria" ,sbcl-alexandria)
+       ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
+       ("graph" ,sbcl-graph)
+       ("metabang-bind" ,sbcl-metabang-bind)
+       ("named-readtables" ,sbcl-named-readtables)
+       ("yason" ,sbcl-yason)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sbcl-graph)
+       ((#:asd-file _ "") "graph.json.asd")
+       ((#:asd-system-name _ #f) "graph-json")))
+    (synopsis "Serialize graphs to and from JSON format")))
-- 
2.23.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph.
  2019-10-21 10:16       ` Pierre Neidhardt
  2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
@ 2019-10-22  8:50         ` Pierre Neidhardt
  1 sibling, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-10-22  8:50 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 37817

[-- Attachment #1: Type: text/plain, Size: 65 bytes --]

Merged, thanks!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-10-22  8:51 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-18 20:38 [bug#37817] [PATCH 0/7] Add graph Common Lisp library and dependencies Guillaume Le Vaillant
2019-10-18 20:42 ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap Guillaume Le Vaillant
2019-10-18 20:42   ` [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
2019-10-18 20:42   ` [bug#37817] [PATCH 3/7] gnu: Add yason Guillaume Le Vaillant
2019-10-18 20:42   ` [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input Guillaume Le Vaillant
2019-10-18 20:42   ` [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate Guillaume Le Vaillant
2019-10-18 20:42   ` [bug#37817] [PATCH 6/7] gnu: Add stefil Guillaume Le Vaillant
2019-10-18 20:42   ` [bug#37817] [PATCH 7/7] gnu: Add graph Guillaume Le Vaillant
2019-10-21  9:16   ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., " Pierre Neidhardt
2019-10-21 10:05     ` Guillaume Le Vaillant
2019-10-21 10:16       ` Pierre Neidhardt
2019-10-21 12:02         ` [bug#37817] [PATCH v2 1/9] gnu: Add cl-heap Guillaume Le Vaillant
2019-10-21 12:02           ` [bug#37817] [PATCH v2 2/9] gnu: Add curry-compose-reader-macros Guillaume Le Vaillant
2019-10-21 12:02           ` [bug#37817] [PATCH v2 3/9] gnu: Add yason Guillaume Le Vaillant
2019-10-21 12:02           ` [bug#37817] [PATCH v2 4/9] gnu: sbcl-iterate: Add missing native input Guillaume Le Vaillant
2019-10-21 12:02           ` [bug#37817] [PATCH v2 5/9] gnu: Add ecl-iterate Guillaume Le Vaillant
2019-10-21 12:03           ` [bug#37817] [PATCH v2 6/9] gnu: Add stefil Guillaume Le Vaillant
2019-10-21 12:03           ` [bug#37817] [PATCH v2 7/9] gnu: Add graph Guillaume Le Vaillant
2019-10-21 12:03           ` [bug#37817] [PATCH v2 8/9] gnu: Add sbcl-graph-dot Guillaume Le Vaillant
2019-10-21 12:03           ` [bug#37817] [PATCH v2 9/9] gnu: Add sbcl-graph-json Guillaume Le Vaillant
2019-10-22  8:50         ` [bug#37817] [PATCH 1/7] gnu: Add cl-heap., [bug#37817] [PATCH 2/7] gnu: Add curry-compose-reader-macros., [bug#37817] [PATCH 3/7] gnu: Add yason., [bug#37817] [PATCH 4/7] gnu: sbcl-iterate: Add missing native input., [bug#37817] [PATCH 5/7] gnu: Add ecl-iterate., [bug#37817] [PATCH 6/7] gnu: Add stefil., [bug#37817] [PATCH 7/7] gnu: Add graph Pierre Neidhardt

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).