mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: Add cognitect-aws-api.
* gnu/packages/clojure.scm (cognitect-aws-api): New variable. (clojure-tools-deps): Use it. Change-Id: I1df8d2c5fceed621c1fc1676c9f766d0ac488b04 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
483582fee1
commit
63cc24336f
1 changed files with 59 additions and 23 deletions
|
|
@ -795,6 +795,7 @@ work with command-line arguments.")
|
|||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
`(#:source-dirs '("src/main/clojure" "src/main/resources")
|
||||
#:java-source-dirs '("src/main/java")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()
|
||||
;; FIXME: Could not initialize class
|
||||
|
|
@ -802,28 +803,6 @@ work with command-line arguments.")
|
|||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; FIXME: Currently, the S3 transporter depends on ClojureScript,
|
||||
;; which is very difficult to package due to dependencies on Java
|
||||
;; libraries with non-standard build systems. Instead of actually
|
||||
;; packaging these libraries, we just remove the S3 transporter that
|
||||
;; depends on them.
|
||||
(add-after 'unpack 'remove-s3-transporter
|
||||
(lambda _
|
||||
(for-each delete-file
|
||||
(list
|
||||
(string-append
|
||||
"src/main/clojure/clojure/"
|
||||
"tools/deps/util/s3_aws_client.clj")
|
||||
(string-append
|
||||
"src/main/clojure/clojure/"
|
||||
"tools/deps/util/s3_transporter.clj")
|
||||
(string-append
|
||||
"src/test/clojure/clojure/"
|
||||
"tools/deps/util/test_s3_transporter.clj")))
|
||||
(substitute*
|
||||
"src/main/clojure/clojure/tools/deps/util/maven.clj"
|
||||
(("clojure.tools.deps.util.s3-transporter")
|
||||
""))))
|
||||
(add-before 'build 'reference-clojure-jar-input
|
||||
;; Use static clojure jar from build input at runtime by default.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
|
@ -843,7 +822,8 @@ work with command-line arguments.")
|
|||
maven-resolver-transport-file
|
||||
clojure-tools-gitlibs
|
||||
clojure-tools-cli
|
||||
clojure-data-xml))
|
||||
clojure-data-xml
|
||||
cognitect-aws-api))
|
||||
(synopsis "Clojure library supporting clojure-tools")
|
||||
(description "This package provides a functional API for transitive
|
||||
dependency graph expansion and the creation of classpaths.")
|
||||
|
|
@ -1041,3 +1021,59 @@ high-performance Clojure HTTP client and server library with WebSocket and
|
|||
asynchronous support.")
|
||||
(home-page "https://github.com/http-kit/http-kit")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public cognitect-aws-api
|
||||
(package
|
||||
(name "cognitect-aws-api")
|
||||
(version "0.8.774")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cognitect-labs/aws-api")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1y3impishicd8niy1vddx6c80pnbpz24zfr7vysi4r56p1vqnwmb"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file
|
||||
(list
|
||||
;; Require Cognitect http client
|
||||
"src/cognitect/aws/http/cognitect.clj"
|
||||
;; Requires Babashka.
|
||||
"test/src/bb_test_runner.clj"
|
||||
;; Requires AWS Java SDK v2.
|
||||
"test/src/cognitect/aws/jdk_v2.clj"
|
||||
"test/src/cognitect/aws/signers_test.clj"
|
||||
;; Remove integration tests.
|
||||
"test/src/cognitect/aws/client/shared_test.clj"
|
||||
"test/src/cognitect/aws/api_test.clj"
|
||||
"test/src/cognitect/client/impl_test.clj"
|
||||
"test/src/cognitect/client/test_double_test.clj"))
|
||||
;; Remove integration tests
|
||||
(delete-file-recursively "test/src/cognitect/aws/integration")))))
|
||||
(build-system clojure-build-system)
|
||||
(propagated-inputs (list clojure-core-async
|
||||
clojure-tools-logging
|
||||
clojure-data-json
|
||||
clojure-data-xml))
|
||||
(native-inputs (list clojure-test-check
|
||||
http-kit))
|
||||
(arguments `(#:source-dirs '("src")
|
||||
#:doc-dirs '()
|
||||
#:test-dirs '("test/src" "test/resources")
|
||||
;; Allow using java.net.http client.
|
||||
#:jdk ,openjdk11))
|
||||
(synopsis
|
||||
"Programmatic access to AWS services from Clojure programs")
|
||||
(description
|
||||
"This package is an idiomatic, data-oriented Clojure library for invoking AWS
|
||||
APIs. While the library offers some helper and documentation functions you'll
|
||||
use at development time, the only functions you ever need at runtime are
|
||||
client, which creates a client for a given service and invoke, which invokes
|
||||
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)))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue