@@ -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 \
@@ -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")))
new file mode 100644
@@ -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")))