(define-module (ruby-xyz) #:use-module ((guix licenses) :prefix license:) #:use-module (guix packages) #:use-module (guix build-system ruby) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages ruby) #:use-module (gnu packages web) #:use-module (gnu packages compression) #:use-module (sherlock) ) (define-public ruby-whirly (package (name "ruby-whirly") (version "0.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "whirly" version)) (sha256 (base32 "0dggm1jkk9hlwnh5la3zsmsh4qv7n1ycmsnakl0lgdmpzgj3w9zm")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-unicode-display-width-1.3.0)) (synopsis "Simple terminal spinner with support for custom spinners. Includes spinners from npm's cli-spinners.") (description "Simple terminal spinner with support for custom spinners. Includes spinners from npm's cli-spinners.") (home-page "https://github.com/janlelis/whirly") (license license:expat))) (define-public ruby-unicode-utils (package (name "ruby-unicode-utils") (version "1.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "unicode_utils" version)) (sha256 (base32 "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "additional Unicode aware functions for Ruby 1.9") (description "additional Unicode aware functions for Ruby 1.9.") (home-page "http://github.com/lang/unicode_utils") (license #f))) (define-public ruby-strings-ansi (package (name "ruby-strings-ansi") (version "0.2.0") (source (origin (method url-fetch) (uri (rubygems-uri "strings-ansi" version)) (sha256 (base32 "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "Methods for processing ANSI escape codes in strings.") (description "This package provides methods for processing ANSI escape codes in strings.") (home-page "https://github.com/piotrmurach/strings-ansi") (license license:expat))) (define-public ruby-strings (package (name "ruby-strings") (version "0.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "strings" version)) (sha256 (base32 "06wrzj3yakfk021xblgcb27spxx3jiz23m82z0i9szwyxkhhga4k")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-strings-ansi ruby-unicode-display-width-1.3.0 ruby-unicode-utils)) (synopsis "A set of methods for working with strings such as align, truncate, wrap and many more.") (description "This package provides a set of methods for working with strings such as align, truncate, wrap and many more.") (home-page "https://github.com/piotrmurach/strings") (license license:expat))) (define-public ruby-tty-table (package (name "ruby-tty-table") (version "0.10.0") (source (origin (method url-fetch) (uri (rubygems-uri "tty-table" version)) (sha256 (base32 "05krrj1x5pmfbz74paszrsr1316w9b9jlc4wpd9s9gpzqfzwjzcg")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-pastel ruby-strings ruby-tty-screen)) (synopsis "A flexible and intuitive table generator") (description "This package provides a flexible and intuitive table generator.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-wisper (package (name "ruby-wisper") (version "1.6.1") (source (origin (method url-fetch) (uri (rubygems-uri "wisper" version)) (sha256 (base32 "19bw0z1qw1dhv7gn9lad25hgbgpb1bkw8d599744xdfam158ms2s")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis " A micro library providing objects with Publish-Subscribe capabilities. Both synchronous (in-process) and asynchronous (out-of-process) subscriptions are supported. Check out the Wiki for articles, guides and examples: https://github.com/krisleech/wisper/wiki ") (description "This package provides a micro library providing objects with Publish-Subscribe capabilities. Both synchronous (in-process) and asynchronous (out-of-process) subscriptions are supported. Check out the Wiki for articles, guides and examples: https://github.com/krisleech/wisper/wiki.") (home-page "https://github.com/krisleech/wisper") (license license:expat))) (define-public ruby-tty-cursor (package (name "ruby-tty-cursor") (version "0.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "tty-cursor" version)) (sha256 (base32 "07whfm8mnp7l49s2cm2qy1snhsqq3a90sqwb71gvym4hm2kx822a")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "The purpose of this library is to help move the terminal cursor around and manipulate text by using intuitive method calls.") (description "The purpose of this library is to help move the terminal cursor around and manipulate text by using intuitive method calls.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-tty-reader (package (name "ruby-tty-reader") (version "0.9.0") (source (origin (method url-fetch) (uri (rubygems-uri "tty-reader" version)) (sha256 (base32 "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-tty-cursor ruby-tty-screen ruby-wisper)) (synopsis "A set of methods for processing keyboard input in character, line and multiline modes. It maintains history of entered input with an ability to recall and re-edit those inputs. It lets you register to listen for keystroke events and trigger custom key events yourself.") (description "This package provides a set of methods for processing keyboard input in character, line and multiline modes. It maintains history of entered input with an ability to recall and re-edit those inputs. It lets you register to listen for keystroke events and trigger custom key events yourself.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-tty-prompt (package (name "ruby-tty-prompt") (version "0.12.0") (source (origin (method url-fetch) (uri (rubygems-uri "tty-prompt" version)) (sha256 (base32 "1026nyqhgmgxi2nmk8xk3hca07gy5rpisjs8y6w00wnw4f01kpv0")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-pastel ruby-tty-reader)) (synopsis "A beautiful and powerful interactive command line prompt with a robust API for getting and validating complex inputs.") (description "This package provides a beautiful and powerful interactive command line prompt with a robust API for getting and validating complex inputs.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-httpclient-fixcerts (package (name "ruby-httpclient-fixcerts") (version "2.8.5") (source (origin (method url-fetch) (uri (rubygems-uri "httpclient-fixcerts" version)) (sha256 (base32 "1zfszylh51y8ic8sbff3mwf30jb0gj270r5nxkcm1ydxad19w6sl")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "gives something like the functionality of libwww-perl (LWP) in Ruby") (description "gives something like the functionality of libwww-perl (LWP) in Ruby.") (home-page "https://github.com/nahi/httpclient") (license #f))) (define-public neocities (package (name "neocities") (version "0.0.20") (source (origin (method url-fetch) (uri (rubygems-uri "neocities" version)) (sha256 (base32 "17d5z0c04yx2a6g8bdkhiwyf5xvshdx4p07j2xlip8dnkkf9q4hw")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-httpclient-fixcerts ruby-pastel ruby-rake ruby-tty-prompt ruby-necromancer ruby-tty-table ruby-equatable ruby-whirly)) (synopsis "Neocities.org CLI and API client") (description "Neocities.org CLI and API client.") (home-page "https://neocities.org") (license license:expat))) (define-public ruby-equatable (package (name "ruby-equatable") (version "0.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "equatable" version)) (sha256 (base32 "1sjm9zjakyixyvsqziikdrsqfzis6j3fq23crgjkp6fwkfgndj7x")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "Provide equality comparison methods for objects based on their attributes by generating implementations for the ==, eql?, hash and inspect methods.") (description "Provide equality comparison methods for objects based on their attributes by generating implementations for the ==, eql?, hash and inspect methods.") (home-page "https://github.com/piotrmurach/equatable") (license license:expat))) (define-public ruby-necromancer (package (name "ruby-necromancer") (version "0.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "necromancer" version)) (sha256 (base32 "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "Conversion from one object type to another with a bit of black magic.") (description "Conversion from one object type to another with a bit of black magic.") (home-page "https://github.com/piotrmurach/necromancer") (license license:expat))) (define-public ruby-pastel (package (name "ruby-pastel") (version "0.7.2") (source (origin (method url-fetch) (uri (rubygems-uri "pastel" version)) (sha256 (base32 "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-equatable ruby-tty-color)) (synopsis "Terminal strings styling with intuitive and clean API.") (description "Terminal strings styling with intuitive and clean API.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-pastel (package (name "ruby-pastel") (version "0.7.2") (source (origin (method url-fetch) (uri (rubygems-uri "pastel" version)) (sha256 (base32 "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (propagated-inputs (list ruby-equatable ruby-tty-color)) (synopsis "Terminal strings styling with intuitive and clean API.") (description "Terminal strings styling with intuitive and clean API.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-tty-color (package (name "ruby-tty-color") (version "0.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "tty-color" version)) (sha256 (base32 "103ahv1s5g14vrjj4byfk5j1cs3sipn0dd9imrfjh17gsl0vmqj3")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "Terminal color capabilities detection") (description "Terminal color capabilities detection.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-tty-screen (package (name "ruby-tty-screen") (version "0.6.4") (source (origin (method url-fetch) (uri (rubygems-uri "tty-screen" version)) (sha256 (base32 "19iq03prqjbm0nr7yn0181lph52d994jwbcsqss3lwpwkl20s6bv")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "Terminal screen size detection which works on Linux, OS X and Windows/Cygwin platforms and supports MRI, JRuby and Rubinius interpreters.") (description "Terminal screen size detection which works on Linux, OS X and Windows/Cygwin platforms and supports MRI, JRuby and Rubinius interpreters.") (home-page "https://ttytoolkit.org") (license license:expat))) (define-public ruby-rake (package (name "ruby-rake") (version "12.3.1") (source (origin (method url-fetch) (uri (rubygems-uri "rake" version)) (sha256 (base32 "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg")))) (build-system ruby-build-system) (synopsis "Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. Rake has the following features: * Rakefiles (rake's version of Makefiles) are completely defined in standard Ruby syntax. No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?) * Users can specify tasks with prerequisites. * Rake supports rule patterns to synthesize implicit tasks. * Flexible FileLists that act like arrays but know about manipulating file names and paths. * Supports parallel execution of tasks. ") (description "Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. Rake has the following features: * Rakefiles (rake's version of Makefiles) are completely defined in standard Ruby syntax. No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?) * Users can specify tasks with prerequisites. * Rake supports rule patterns to synthesize implicit tasks. * Flexible @code{FileLists} that act like arrays but know about manipulating file names and paths. * Supports parallel execution of tasks.") (home-page "https://github.com/ruby/rake") (license license:expat))) (define-public ruby-unicode-display-width-1.3.0 (package (name "ruby-unicode-display-width-1.3.0") (version "1.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "unicode-display_width" version)) (sha256 (base32 "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) (add-after 'unpack 'modify-index (lambda* (#:key inputs #:allow-other-keys) (let ((index-file (string-append "lib/unicode/display_width/index.rb"))) (when (file-exists? index-file) (substitute* (list index-file) (("Gem\\.gunzip") "Gem::Util.gunzip")))))) ))) (propagated-inputs (list ruby-unicode-emoji)) (synopsis "[Unicode 16.0.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, Emoji specification, and other data.") (description "[Unicode 16.0.0] Determines the monospace display width of a string using @code{EastAsianWidth.txt}, Unicode general category, Emoji specification, and other data.") (home-page "https://github.com/janlelis/unicode-display_width") (license license:expat))) (define-public ruby-unicode-emoji (package (name "ruby-unicode-emoji") (version "4.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "unicode-emoji" version)) (sha256 (base32 "0ajk6rngypm3chvl6r0vwv36q1931fjqaqhjjya81rakygvlwb1c")))) (build-system ruby-build-system) (arguments '( #:phases (modify-phases %standard-phases (delete 'check) ))) (synopsis "[Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.") (description "[Emoji 16.0] Provides Unicode Emoji data and regexes, incorporating the latest Unicode and Emoji standards. Includes a categorized list of recommended Emoji.") (home-page "https://github.com/janlelis/unicode-emoji") (license license:expat)))