mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: clojure: Reference existing packages.
* gnu/packages/clojure.scm (package-sources): New function. (clojure): Use it. Change-Id: I9085c122cc84242264a9b3028165af7e72379477 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
e7b7fa6390
commit
08fd05112f
1 changed files with 245 additions and 291 deletions
|
|
@ -36,50 +36,229 @@
|
|||
#:use-module (guix build-system clojure)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public clojure
|
||||
(let* ((lib (lambda (prefix version hash)
|
||||
(origin (method url-fetch)
|
||||
(uri (string-append "https://github.com/clojure/"
|
||||
prefix version ".tar.gz"))
|
||||
(sha256 (base32 hash)))))
|
||||
;; The libraries below are needed to run the tests.
|
||||
(libraries
|
||||
`(("core-specs-alpha-src"
|
||||
,(lib "core.specs.alpha/archive/v"
|
||||
"0.4.74"
|
||||
"1hgl3222381349s4w5bnz02gghxfc8jjsqxhrvgadvn8ybh3dcsp"))
|
||||
("data-generators-src"
|
||||
,(lib "data.generators/archive/data.generators-"
|
||||
"1.0.0"
|
||||
"0s3hf1njvs68b8igasikvzagzqxl0gbri7w2qhzsypkhfh60v2cp"))
|
||||
("java-classpath-src"
|
||||
,(lib "java.classpath/archive/java.classpath-"
|
||||
"1.0.0"
|
||||
"178zajjsc9phk5l61r8w9hcpk0wgc9a811pl7kjgvn7rg4l7fh7j"))
|
||||
("spec-alpha-src"
|
||||
,(lib "spec.alpha/archive/v"
|
||||
"0.5.238"
|
||||
"0h15q9cmxaa7l2pqwwcykfyql8vbw6ns2a4lqfchik1mpfpr9jrb"))
|
||||
("test-check-src"
|
||||
,(lib "test.check/archive/v"
|
||||
"1.1.1"
|
||||
"0kx8l79mhpnn94rpsgc7nac7gb222g7a47mzrycj8crfc54wf0c1"))
|
||||
("test-generative-src"
|
||||
,(lib "test.generative/archive/v"
|
||||
"1.1.0"
|
||||
"0sm3q4jkcn06b3r0m0p29z159zqc8jk3k02yz92xwvdbnywaqnfz"))
|
||||
("tools-namespace-src"
|
||||
,(lib "tools.namespace/archive/tools.namespace-"
|
||||
"1.0.0"
|
||||
"1ifpk93m33rj2xm1qnnninlsdvm1liqmsp9igr63pjjwwwjw1cnn"))
|
||||
("tools-reader-src"
|
||||
,(lib "tools.reader/archive/tools.reader-"
|
||||
"1.3.2"
|
||||
"1n4dhg61iyypnjbxmihhqjb7lfpc0lzfvlk4jd8w0yr6za414f3a"))))
|
||||
(library-names (match libraries
|
||||
(((library-name _) ...)
|
||||
library-name))))
|
||||
(define-public clojure-spec-alpha
|
||||
(package
|
||||
(name "clojure-spec-alpha")
|
||||
(version "0.6.249")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/spec.alpha")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rzy7mjzchsjpwkn3b5vg5hnmsj5h9ljxdjn48j92bgh7vl3k2r5"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(native-inputs (list clojure-test-check))
|
||||
(synopsis
|
||||
"Clojure library to describe the structure of data and functions")
|
||||
(description
|
||||
"This package can be used to validate data, conform (destructure) data, explain
|
||||
invalid data, generate examples that conform to the specs, and automatically
|
||||
use generative testing to test functions.
|
||||
|
||||
Clojure depends on this library and provides it. Thus it is not recommended
|
||||
to add a direct dependency on this package.")
|
||||
(home-page "https://github.com/clojure/spec.alpha")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-core-specs-alpha
|
||||
(package
|
||||
(name "clojure-core-specs-alpha")
|
||||
(version "0.5.81")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/core.specs.alpha")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hy060mb2hxirynkk36plx1rvpj6i2ldn8mvnwfd02wvjvh57dad"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '()
|
||||
#:doc-dirs '()))
|
||||
(synopsis "Describe clojure.core macros and functions")
|
||||
(description
|
||||
"This package contains specs to describe Clojure core macros and functions.
|
||||
|
||||
Clojure depends on this library and provides it. Thus it is not recommended
|
||||
to add a direct dependency on this package.")
|
||||
(home-page "https://github.com/clojure/core.specs.alpha")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-java-classpath
|
||||
(package
|
||||
(name "clojure-java-classpath")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/java.classpath")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k34yrx3gmvf46984zdgn2vb98ixf47q1vgh9p78bgmpyhrwzx2z"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(synopsis "Examine the Java classpath from Clojure programs")
|
||||
(description
|
||||
"This package provides utilities for dealing with the JVM's classpath from
|
||||
Clojure.")
|
||||
(home-page "https://github.com/clojure/java.classpath")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-data-generators
|
||||
(package
|
||||
(name "clojure-data-generators")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/data.generators")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ynazp55v15zv5jwz1wh2p8cawjcmn0bwzgfs2dwrp6aq231jafm"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(synopsis "Generators for random Clojure data")
|
||||
(description
|
||||
"This package contains various functions to generate random clojure data.")
|
||||
(home-page "https://github.com/clojure/data.generators")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-namespace
|
||||
(package
|
||||
(name "clojure-tools-namespace")
|
||||
(version "1.5.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/tools.namespace")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j1lz3xnpgvyi0mcg9mjz7hrchf3hwhbhxi2163d739dxdx60s22"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(propagated-inputs (list clojure-java-classpath
|
||||
clojure-tools-reader))
|
||||
(synopsis "Tools for managing namespaces in Clojure")
|
||||
(description
|
||||
"This package parses ns declarations from source files, extract their
|
||||
dependencies, build a graph of namespace dependencies within a project, update
|
||||
that graph as files change, and reload files in the correct order.
|
||||
|
||||
This is only about namespace dependencies within a single project. It has
|
||||
nothing to do with Leiningen, Maven, JAR files, or repositories.")
|
||||
(home-page "https://github.com/clojure/tools.namespace")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-test-generative
|
||||
(package
|
||||
(name "clojure-test-generative")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/test.generative")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lb72cr4s6rgpg18v3jr67ps6wx4p7j7mfzwnfgmm0v8rldlcycf"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/examples/clojure")
|
||||
#:doc-dirs '()))
|
||||
(propagated-inputs (list clojure-tools-namespace
|
||||
clojure-data-generators))
|
||||
(synopsis "Generative test runner")
|
||||
(description
|
||||
"This package defines generators functions and property based testing macros.")
|
||||
(home-page "https://github.com/clojure/test.generative")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-test-check
|
||||
(package
|
||||
(name "clojure-test-check")
|
||||
(version "1.1.1")
|
||||
(home-page "https://github.com/clojure/test.check")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09jvlibnxhjv0l57y0sa7yy5in67gq4sssag77hv2d980mwdnls6"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(synopsis "QuickCheck for Clojure")
|
||||
(description "@code{test.check} is a Clojure property-based testing tool
|
||||
inspired by QuickCheck. The core idea of @code{test.check} is that instead of
|
||||
enumerating expected input and output for unit tests, you write properties
|
||||
about your function that should hold true for all inputs. This lets you write
|
||||
concise, powerful tests.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-reader
|
||||
(package
|
||||
(name "clojure-tools-reader")
|
||||
(version "1.5.0")
|
||||
(home-page "https://github.com/clojure/tools.reader")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jf05q4ym8z16qaxidx47g2gjv04qcf1wvkca3wqyiaszpvym4zz"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:doc-dirs '()
|
||||
#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
|
||||
(synopsis "Clojure reader written in Clojure")
|
||||
(description "The clojure.tools.reader library offers all functionality
|
||||
provided by the Clojure Core reader and more. It adds metadata such as column
|
||||
and line numbers not only to lists, but also to symbols, vectors and maps.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define (package-sources . packages)
|
||||
(map package-source packages))
|
||||
|
||||
(define-public clojure
|
||||
(let ((provided-libraries (package-sources clojure-core-specs-alpha
|
||||
clojure-spec-alpha))
|
||||
(test-libraries (package-sources clojure-data-generators
|
||||
clojure-java-classpath
|
||||
clojure-test-check
|
||||
clojure-test-generative
|
||||
clojure-tools-namespace
|
||||
clojure-tools-reader)))
|
||||
(package
|
||||
(name "clojure")
|
||||
(version "1.12.4")
|
||||
|
|
@ -87,8 +266,8 @@
|
|||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/clojure")
|
||||
(commit name+version)))
|
||||
(url "https://github.com/clojure/clojure")
|
||||
(commit name+version)))
|
||||
(file-name (string-append name+version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
@ -98,40 +277,28 @@
|
|||
(arguments
|
||||
`(#:imported-modules ((guix build clojure-utils)
|
||||
(guix build clojure-build-system)
|
||||
(guix build guile-build-system)
|
||||
,@%ant-build-system-modules)
|
||||
#:modules ((guix build ant-build-system)
|
||||
((guix build clojure-build-system) #:prefix clj:)
|
||||
(guix build clojure-utils)
|
||||
(guix build java-utils)
|
||||
(guix build utils)
|
||||
(ice-9 match)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-26))
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-library-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (extract-library name)
|
||||
(mkdir-p name)
|
||||
(with-directory-excursion name
|
||||
(invoke "tar"
|
||||
"--extract"
|
||||
"--verbose"
|
||||
"--file" (assoc-ref inputs name)
|
||||
"--strip-components=1")))
|
||||
(for-each extract-library ',library-names)
|
||||
(copy-recursively "core-specs-alpha-src/src/main/clojure"
|
||||
"src/clj/")
|
||||
(copy-recursively "spec-alpha-src/src/main/clojure"
|
||||
"src/clj/")
|
||||
#t))
|
||||
(define (extract-provided-library name)
|
||||
(copy-recursively
|
||||
(string-append (assoc-ref inputs name) "/src/main/clojure")
|
||||
"src/clj/"))
|
||||
(for-each extract-provided-library
|
||||
',(map origin-actual-file-name provided-libraries))))
|
||||
(add-after 'unpack-library-sources 'fix-manifest-classpath
|
||||
(lambda _
|
||||
(substitute* "build.xml"
|
||||
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))
|
||||
#t))
|
||||
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))))
|
||||
(add-after 'unpack-library-sources 'clojure-spec-skip-macros
|
||||
;; Disable spec macro instrumentation when compiling clojure.spec
|
||||
;; See: https://clojure.atlassian.net/browse/CLJ-2254
|
||||
|
|
@ -141,8 +308,7 @@
|
|||
,(string-join
|
||||
'("<sysproperty key=\"java.awt.headless\" value=\"true\"/>"
|
||||
"<sysproperty key=\"clojure.spec.skip-macros\" value=\"true\"/>\n")
|
||||
"\n")))
|
||||
#t))
|
||||
"\n")))))
|
||||
(add-after 'unpack-library-sources 'clojure-spec-compile
|
||||
;; Compile and include clojure.spec.alpha & clojure.core.specs.alpha
|
||||
(lambda _
|
||||
|
|
@ -153,20 +319,19 @@
|
|||
"<arg value=\"clojure.spec.alpha\"/>"
|
||||
"<arg value=\"clojure.spec.gen.alpha\"/>"
|
||||
"<arg value=\"clojure.spec.test.alpha\"/>"
|
||||
"<arg value=\"clojure.core.specs.alpha\"/>"))))
|
||||
#t))
|
||||
"<arg value=\"clojure.core.specs.alpha\"/>"))))))
|
||||
(add-before 'build 'maven-classpath-properties
|
||||
(lambda _
|
||||
(define (make-classpath libraries)
|
||||
(string-join (map (lambda (library)
|
||||
(string-append library "/src/main/clojure"))
|
||||
libraries) ":"))
|
||||
(with-output-to-file "maven-classpath.properties"
|
||||
(lambda ()
|
||||
(let ((classpath (make-classpath ',library-names)))
|
||||
(display (string-append "maven.compile.classpath=" classpath "\n"))
|
||||
(display (string-append "maven.test.classpath=" classpath "\n")))))
|
||||
#t))
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (source-dir library)
|
||||
(string-append (assoc-ref inputs library) "/src/main/clojure"))
|
||||
(let* ((libraries ',(map origin-actual-file-name test-libraries))
|
||||
(test-classpath (map source-dir libraries)))
|
||||
(with-output-to-file "maven-classpath.properties"
|
||||
(lambda _
|
||||
(display "maven.compile.classpath=\n")
|
||||
(display (string-append "maven.test.classpath="
|
||||
(string-join test-classpath ":")
|
||||
"\n")))))))
|
||||
(add-before 'check 'fix-test-classpath
|
||||
;; Some java test files need access to compiled classes.
|
||||
(lambda _
|
||||
|
|
@ -181,7 +346,7 @@
|
|||
(install-javadoc "target/javadoc/"))
|
||||
(add-after 'reset-gzip-timestamps 'reset-class-timestamps
|
||||
clj:reset-class-timestamps))))
|
||||
(native-inputs libraries)
|
||||
(native-inputs (append provided-libraries test-libraries))
|
||||
(home-page "https://clojure.org/")
|
||||
(synopsis "Lisp dialect running on the JVM")
|
||||
(description "Clojure is a dynamic, general-purpose programming language,
|
||||
|
|
@ -651,33 +816,6 @@ tree.
|
|||
(home-page "https://github.com/Engelberg/instaparse")
|
||||
(license license:epl1.0))))
|
||||
|
||||
(define-public clojure-test-check
|
||||
(package
|
||||
(name "clojure-test-check")
|
||||
(version "1.1.1")
|
||||
(home-page "https://github.com/clojure/test.check")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09jvlibnxhjv0l57y0sa7yy5in67gq4sssag77hv2d980mwdnls6"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(synopsis "QuickCheck for Clojure")
|
||||
(description "@code{test.check} is a Clojure property-based testing tool
|
||||
inspired by QuickCheck. The core idea of @code{test.check} is that instead of
|
||||
enumerating expected input and output for unit tests, you write properties
|
||||
about your function that should hold true for all inputs. This lets you write
|
||||
concise, powerful tests.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-analyzer
|
||||
(package
|
||||
(name "clojure-tools-analyzer")
|
||||
|
|
@ -969,32 +1107,6 @@ implementation, selected at runtime when the clojure.tools.logging namespace
|
|||
is first loaded.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-reader
|
||||
(package
|
||||
(name "clojure-tools-reader")
|
||||
(version "1.5.0")
|
||||
(home-page "https://github.com/clojure/tools.reader")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jf05q4ym8z16qaxidx47g2gjv04qcf1wvkca3wqyiaszpvym4zz"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:doc-dirs '()
|
||||
#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
|
||||
(synopsis "Clojure reader written in Clojure")
|
||||
(description "The clojure.tools.reader library offers all functionality
|
||||
provided by the Clojure Core reader and more. It adds metadata such as column
|
||||
and line numbers not only to lists, but also to symbols, vectors and maps.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public http-kit
|
||||
(package
|
||||
(name "http-kit")
|
||||
|
|
@ -1077,161 +1189,3 @@ an operation on the service. invoke takes a map and returns a map, and works
|
|||
the same way for every operation on every service.")
|
||||
(home-page "https://github.com/cognitect-labs/aws-api")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public clojure-java-classpath
|
||||
(package
|
||||
(name "clojure-java-classpath")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/java.classpath")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k34yrx3gmvf46984zdgn2vb98ixf47q1vgh9p78bgmpyhrwzx2z"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(synopsis "Examine the Java classpath from Clojure programs")
|
||||
(description
|
||||
"This package provides utilities for dealing with the JVM's classpath from
|
||||
Clojure.")
|
||||
(home-page "https://github.com/clojure/java.classpath")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-spec-alpha
|
||||
(package
|
||||
(name "clojure-spec-alpha")
|
||||
(version "0.6.249")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/spec.alpha")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rzy7mjzchsjpwkn3b5vg5hnmsj5h9ljxdjn48j92bgh7vl3k2r5"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(native-inputs (list clojure-test-check))
|
||||
(synopsis
|
||||
"Clojure library to describe the structure of data and functions")
|
||||
(description
|
||||
"This package can be used to validate data, conform (destructure) data, explain
|
||||
invalid data, generate examples that conform to the specs, and automatically
|
||||
use generative testing to test functions.
|
||||
|
||||
Clojure depends on this library and provides it. Thus it is not recommended
|
||||
to add a direct dependency on this package.")
|
||||
(home-page "https://github.com/clojure/spec.alpha")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-core-specs-alpha
|
||||
(package
|
||||
(name "clojure-core-specs-alpha")
|
||||
(version "0.5.81")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/core.specs.alpha")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hy060mb2hxirynkk36plx1rvpj6i2ldn8mvnwfd02wvjvh57dad"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '()
|
||||
#:doc-dirs '()))
|
||||
(synopsis "Describe clojure.core macros and functions")
|
||||
(description
|
||||
"This package contains specs to describe Clojure core macros and functions.
|
||||
|
||||
Clojure depends on this library and provides it. Thus it is not recommended
|
||||
to add a direct dependency on this package.")
|
||||
(home-page "https://github.com/clojure/core.specs.alpha")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-data-generators
|
||||
(package
|
||||
(name "clojure-data-generators")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/data.generators")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ynazp55v15zv5jwz1wh2p8cawjcmn0bwzgfs2dwrp6aq231jafm"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(synopsis "Generators for random Clojure data")
|
||||
(description
|
||||
"This package contains various functions to generate random clojure data.")
|
||||
(home-page "https://github.com/clojure/data.generators")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-namespace
|
||||
(package
|
||||
(name "clojure-tools-namespace")
|
||||
(version "1.5.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/tools.namespace")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j1lz3xnpgvyi0mcg9mjz7hrchf3hwhbhxi2163d739dxdx60s22"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
(propagated-inputs (list clojure-java-classpath
|
||||
clojure-tools-reader))
|
||||
(synopsis "Tools for managing namespaces in Clojure")
|
||||
(description
|
||||
"This package parses ns declarations from source files, extract their
|
||||
dependencies, build a graph of namespace dependencies within a project, update
|
||||
that graph as files change, and reload files in the correct order.
|
||||
|
||||
This is only about namespace dependencies within a single project. It has
|
||||
nothing to do with Leiningen, Maven, JAR files, or repositories.")
|
||||
(home-page "https://github.com/clojure/tools.namespace")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-test-generative
|
||||
(package
|
||||
(name "clojure-test-generative")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/clojure/test.generative")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lb72cr4s6rgpg18v3jr67ps6wx4p7j7mfzwnfgmm0v8rldlcycf"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments '(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/examples/clojure")
|
||||
#:doc-dirs '()))
|
||||
(propagated-inputs (list clojure-tools-namespace
|
||||
clojure-data-generators))
|
||||
(synopsis "Generative test runner")
|
||||
(description
|
||||
"This package defines generators functions and property based testing macros.")
|
||||
(home-page "https://github.com/clojure/test.generative")
|
||||
(license license:epl1.0)))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue