gnu: Add graph.

* 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.
This commit is contained in:
Guillaume Le Vaillant 2019-10-21 14:03:01 +02:00 committed by Pierre Neidhardt
parent 54d761d3a4
commit 9574d42008
No known key found for this signature in database
GPG Key ID: 9BDCF497A4BBCC7F
3 changed files with 111 additions and 0 deletions

View File

@ -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 \

View File

@ -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))

View File

@ -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")))