summary refs log tree commit diff
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)
downloadguix-8bd01bb2d1a772f5975b2c666f54dae1b634d573.tar.gz
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")