[patch] package ruby-t (twitter interface)

OpenSubmitted by Dr. Arne Babenhauserheide.
Details
One participant
  • Dr. Arne Babenhauserheide
Owner
unassigned
Severity
normal
D
D
Dr. Arne Babenhauserheide wrote on 17 Jun 23:55 +0200
(address . bug-guix@gnu.org)
87ilozq7i2.fsf@web.de
Hi,

the following patch provides t for ruby. I tested it, but I had to
disable the tests for quite a few of the packaged gems.

It would be great to have that in Guix by default.
From 458d15882fb29dfa1c8781c2f8c80185bb68c9f2 Mon Sep 17 00:00:00 2001
From: Arne Babenhauserheide <arne_bab@web.de>
Date: Fri, 17 Jun 2022 09:57:33 +0200
Subject: [PATCH] gnu: Add ruby-t with its dependencies.

* gnu/packages/ruby.scm (ruby-t ruby-simple-oauth ruby-naught
ruby-memoizable ruby-ffi-compiler ruby-llhttp-ffi ruby-http-form-data
ruby-http ruby-equalizer ruby-buftok ruby-twitter ruby-retryable
ruby-oauth ruby-launchy ruby-geokit ruby-t): New variables.
---
gnu/packages/ruby.scm | 313 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 313 insertions(+)

Toggle diff (326 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 800ab194fe..2dde88774e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2667,6 +2667,319 @@ (define-public ruby-thor
     (home-page "http://whatisthor.com/")
     (license license:expat)))
 
+
+(define-public ruby-simple-oauth
+  (package
+    (name "ruby-simple-oauth")
+    (version "0.3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "simple_oauth" version))
+              (sha256
+               (base32
+                "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis "Simply builds and verifies OAuth headers")
+    (description "Simply builds and verifies OAuth headers")
+    (home-page "https://github.com/laserlemon/simple_oauth")
+    (license license:expat)))
+
+(define-public ruby-naught
+  (package
+    (name "ruby-naught")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "naught" version))
+              (sha256
+               (base32
+                "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis "Naught is a toolkit for building Null Objects")
+    (description "Naught is a toolkit for building Null Objects")
+    (home-page "https://github.com/avdi/naught")
+    (license license:expat)))
+
+(define-public ruby-memoizable
+  (package
+    (name "ruby-memoizable")
+    (version "0.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "memoizable" version))
+              (sha256
+               (base32
+                "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list ruby-thread-safe))
+    (synopsis "Memoize method return values")
+    (description "Memoize method return values")
+    (home-page "https://github.com/dkubb/memoizable")
+    (license license:expat)))
+
+(define-public ruby-ffi-compiler
+  (package
+    (name "ruby-ffi-compiler")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "ffi-compiler" version))
+              (sha256
+               (base32
+                "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; no test suite
+    (propagated-inputs (list ruby-ffi ruby-rake))
+    (synopsis "Ruby FFI library")
+    (description "Ruby FFI library")
+    (home-page "http://wiki.github.com/ffi/ffi")
+    (license license:asl2.0)))
+
+(define-public ruby-llhttp-ffi
+  (package
+    (name "ruby-llhttp-ffi")
+    (version "0.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "llhttp-ffi" version))
+              (sha256
+               (base32
+                "00dh6zmqdj59rhcya0l4b9aaxq6n8xizfbil93k0g06gndyk5xz5"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list ruby-ffi-compiler ruby-rake))
+    (synopsis "Ruby FFI bindings for llhttp.")
+    (description "Ruby FFI bindings for llhttp.")
+    (home-page "https://github.com/metabahn/llhttp/")
+    (license #f)))
+
+(define-public ruby-http-form-data
+  (package
+    (name "ruby-http-form-data")
+    (version "2.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "http-form_data" version))
+              (sha256
+               (base32
+                "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis
+     "Utility-belt to build form data request bodies. Provides support for `application/x-www-form-urlencoded` and `multipart/form-data` types.")
+    (description
+     "Utility-belt to build form data request bodies.  Provides support for
+`application/x-www-form-urlencoded` and `multipart/form-data` types.")
+    (home-page "https://github.com/httprb/form_data.rb")
+    (license license:expat)))
+
+(define-public ruby-http
+  (package
+    (name "ruby-http")
+    (version "5.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "http" version))
+              (sha256
+               (base32
+                "0jn1y6sfxpfaq0hcblv8hhyxzam8n39kvypi07q2vxaimh6ly7mj"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list ruby-addressable ruby-http-cookie
+                             ruby-http-form-data ruby-llhttp-ffi))
+    (synopsis
+     "An easy-to-use client library for making requests from Ruby. It uses a simple method chaining system for building requests, similar to Python's Requests.")
+    (description
+     "An easy-to-use client library for making requests from Ruby.  It uses a simple
+method chaining system for building requests, similar to Python's Requests.")
+    (home-page "https://github.com/httprb/http")
+    (license license:expat)))
+
+(define-public ruby-equalizer
+  (package
+    (name "ruby-equalizer")
+    (version "0.0.11")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "equalizer" version))
+              (sha256
+               (base32
+                "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis "Module to define equality, equivalence and inspection methods")
+    (description
+     "Module to define equality, equivalence and inspection methods")
+    (home-page "https://github.com/dkubb/equalizer")
+    (license license:expat)))
+
+(define-public ruby-buftok
+  (package
+    (name "ruby-buftok")
+    (version "0.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "buftok" version))
+              (sha256
+               (base32
+                "0zsvhdnxv0d2fhhfijf17akiinl47g3blwlp04s8737nlv35w3gd"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis
+     "BufferedTokenizer extracts token delimited entities from a sequence of string inputs")
+    (description
+     "BufferedTokenizer extracts token delimited entities from a sequence of string
+inputs")
+    (home-page "https://github.com/sferik/buftok")
+    (license license:expat)))
+
+(define-public ruby-twitter
+  (package
+    (name "ruby-twitter")
+    (version "7.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "twitter" version))
+              (sha256
+               (base32
+                "13dmkjgsnym1avym9f7y2i2h3mlk8crqvc87drrzr4f0sf9l8g2y"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list ruby-addressable
+                             ruby-buftok
+                             ruby-equalizer
+                             ruby-http
+                             ruby-http-form-data
+                             ruby-http-parser.rb
+                             ruby-memoizable
+                             ruby-multipart-post
+                             ruby-naught
+                             ruby-simple-oauth))
+    (synopsis "A Ruby interface to the Twitter API.")
+    (description "This package provides a Ruby interface to the Twitter API.")
+    (home-page "http://sferik.github.com/twitter/")
+    (license license:expat)))
+
+(define-public ruby-retryable
+  (package
+    (name "ruby-retryable")
+    (version "3.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "retryable" version))
+              (sha256
+               (base32
+                "0pymcs9fqcnz6n6h033yfp0agg6y2s258crzig05kkxs6rldvwy9"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis "Retrying code blocks in Ruby")
+    (description "Retrying code blocks in Ruby")
+    (home-page "http://github.com/nfedyashev/retryable")
+    (license license:expat)))
+
+(define-public ruby-oauth
+  (package
+    (name "ruby-oauth")
+    (version "0.5.10")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "oauth" version))
+              (sha256
+               (base32
+                "1asrxrbgzgzf1r9rb0c785zyyaq9v5z7v3k1avsais2sh9q1y763"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (synopsis "OAuth Core Ruby implementation")
+    (description "OAuth Core Ruby implementation")
+    (home-page "https://github.com/oauth-xx/oauth-ruby")
+    (license license:expat)))
+
+(define-public ruby-launchy
+  (package
+    (name "ruby-launchy")
+    (version "2.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "launchy" version))
+              (sha256
+               (base32
+                "1xdyvr5j0gjj7b10kgvh8ylxnwk3wx19my42wqn9h82r4p246hlm"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list ruby-addressable))
+    (synopsis
+     "Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external applications from within ruby programs.")
+    (description
+     "Launchy is helper class for launching cross-platform applications in a fire and
+forget manner.  There are application concepts (browser, email client, etc) that
+are common across all platforms, and they may be launched differently on each
+platform.  Launchy is here to make a common approach to launching external
+applications from within ruby programs.")
+    (home-page "https://github.com/copiousfreetime/launchy")
+    (license #f)))
+
+(define-public ruby-geokit
+  (package
+    (name "ruby-geokit")
+    (version "1.13.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "geokit" version))
+              (sha256
+               (base32
+                "0mvdpbx88wflqqrcrfa54a5sckvj2sqzm304p7ji3c06frbhmxw8"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; no Rakefile in test suite
+    (synopsis
+     "Geokit provides geocoding and distance calculation in an easy-to-use API")
+    (description
+     "Geokit provides geocoding and distance calculation in an easy-to-use API")
+    (home-page "http://github.com/geokit/geokit")
+    (license license:expat)))
+
+(define-public ruby-t
+  (package
+    (name "ruby-t")
+    (version "3.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "t" version))
+              (sha256
+               (base32
+                "0qj5zqc819yiscqbyb93alxillyli5ajvrr4gzq52clgkvyap7bd"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs (list ruby-geokit
+                             ruby-htmlentities
+                             ruby-launchy
+                             ruby-oauth
+                             ruby-retryable
+                             ruby-thor
+                             ruby-twitter))
+    (synopsis "A command-line power tool for Twitter.")
+    (description
+     "This package provides a command-line power tool for Twitter.")
+    (home-page "http://sferik.github.com/t/")
+    (license license:expat)))
+
 (define-public ruby-lumberjack
   (package
     (name "ruby-lumberjack")
-- 
2.36.1
Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de
-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmKs+IcQHGFybmVfYmFi
QHdlYi5kZQAKCRAT741FJAPD68+hEACFNuyPUhdjzlFCnxSYDbiiy3+wdlJyS6Fg
/0/QFCqnbR9kQCL+elHuXhrF6BHK1HQS/UEDs+qJE5kRt3uDYlFIzjnTJSB+plK/
o0cgKxYrcQNmlbvOAumWel9o/RC9r9Ab1/ECGhk3eFE6OrM7kEUyp7cNOJBCF2om
opa4lNopxraXfwAVh4L2rG4QLUy6G/BHKVb7twx+Ea6jYiLlaWNtzIpJ6zpBCkvZ
SVS3JW9ZEDFJN07GC1/ODYcxSYLaxIwvZLFZxC4ZrE8J3zelNUIjNbgtf/E/UeH6
IgRbGq00nI2nAdKbcioi3h05GMoARt4zhqImYMHQ1c/lue2uUWFdL6d2SMLA2KIu
DC3RILYhqFyN74MLKNeAa7AeuCmA5ofABRmncFXxJhMvPtTXSgyLk95UIwz5KyQo
Q9qf7NT9MNIydR9J3nc/EDbtCC9m+OLnlKsuK3OVsrjsplq0fNL6Iei/ghbSQc2A
AlnZwmqSe87BINy5SyidSAtV1a7XaRlzZPUAArhZTnzPQ9HtXR1kgK1MGzLqpN4L
4geOYwxcm52+om2TaFzFAHUrvMcDkNlpV/DqE+IJd+BfLetrrZIwz+BN397G537G
lmWzK+kjTTkh4OFzw/VXi1oeDTH6Aj0fV6nGn+FmuLGEad2vowYgBok5MElgSBme
7B1r9wz3qojEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmKs+IcQHGFy
bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSGsNA/96DeSO96i2PcFIl7iqqd95HDwH
WB+ZrSVcUwYh5ZUbWrbTIgERLIvRHmpTW6w2BJywGGjlVEF+MC3piKM3D92mjKXw
UbDKSPOn460KSBjB8tQst/jbdrIloKe5oTxVRfHb44EzyGgLnC1RywjT7BJimXPc
YS26GcHnruQ8OrJuqA==
=h8Cr
-----END PGP SIGNATURE-----

?