summaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2023-07-23 18:38:05 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2024-02-24 16:42:38 +0100
commit8bd01bb2d1a772f5975b2c666f54dae1b634d573 (patch)
treec8b1bc99ffd12d317e825d688bac26b769ed5fe9 /gnu/packages/ruby.scm
parentc1c159176b748c073f59171a8fa16bfa39ce1b30 (diff)
gnu: Add ruby-excon.
* gnu/packages/ruby.scm (ruby-excon): New variable.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 34ebeebe7e..7b3312271d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13813,6 +13813,54 @@ GFM dialect to HTML.")
parser for writing http servers, clients and proxies.")
(license license:expat)))
+(define-public ruby-excon
+ (package
+ (name "ruby-excon")
+ (version "0.109.0")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/excon/excon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "199niqbpzj70k3n6ybg4vbcw3qm76kwic4nl9747l1n0v49aaj24"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:tests? #f ;; some tests require DNS
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'replace-git-ls-files
+ (lambda _
+ (substitute* "excon.gemspec"
+ (("`git ls-files -- data/. lib/.`")
+ "`find data lib -type f`"))))
+ (add-before 'check 'disable-server-spec-checks
+ (lambda _ ;; TODO: Remove this if ruby-unicorn is available.
+ ;; Some of the tests in this file require ruby-unicorn, which is
+ ;; not yet packaged for guix and would pull in a lot of other
+ ;; dependencies.
+ (delete-file "spec/excon/test/server_spec.rb"))))))
+ (native-inputs
+ (list
+ ruby-activesupport
+ ruby-eventmachine
+ ruby-json
+ ruby-open4
+ ruby-puma
+ ruby-rspec
+ ruby-shindo
+ ruby-sinatra
+ ruby-webrick))
+ (synopsis "Usable, fast, simple Ruby HTTP 1.1")
+ (description "Excon was designed to be simple, fast and performant. It
+works great as a general HTTP(s) client and is particularly well suited to
+usage in API clients.")
+ (home-page "https://github.com/excon/excon")
+ (license license:expat)))
+
(define-public ruby-em-websocket
(package
(name "ruby-em-websocket")