(define-module (gn past ruby) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system ruby) #:use-module (gnu packages ruby) #:use-module (gnu packages ruby-check) #:use-module (gnu packages ruby-xyz) #:use-module (gnu packages rails)) (define-public ruby-kaminari-0.16 (package (inherit ruby-kaminari) (name "ruby-kaminari") (version "0.16.3") (source (origin (method url-fetch) (uri (rubygems-uri "kaminari" version)) (sha256 (base32 "14vx3kgssl4lv2kn6grr5v2whsynx5rbl1j9aqiq8nc3d7j74l67")))))) (define-public ruby-rake-compiler-dock (package (name "ruby-rake-compiler-dock") (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "rake-compiler-dock" version)) (sha256 (base32 "0z70p0jdp4ww0ax783nvfz1ppr8bf31kgy3la8wrcyhz1lvpq799")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; cannot load rake_compiler_dock (synopsis "Easy to use and reliable cross compiler environment for building Windows and Linux binary gems. Use rake-compiler-dock to enter an interactive shell session or add a task to your Rakefile to automate your cross build.") (description "Easy to use and reliable cross compiler environment for building Windows and Linux binary gems. Use rake-compiler-dock to enter an interactive shell session or add a task to your Rakefile to automate your cross build.") (home-page "https://github.com/rake-compiler/rake-compiler-dock") (license license:expat))) (define-public ruby-mustermann (package (name "ruby-mustermann") (version "1.1.1") (source (origin (method url-fetch) (uri (rubygems-uri "mustermann" version)) (sha256 (base32 "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-ruby2-keywords" ,ruby-ruby2-keywords))) (synopsis "A library implementing patterns that behave like regular expressions.") (description "This package provides a library implementing patterns that behave like regular expressions.") (home-page "https://github.com/sinatra/mustermann") (license license:expat))) (define-public ruby-m (package (name "ruby-m") (version "1.5.1") (source (origin (method url-fetch) (uri (rubygems-uri "m" version)) (sha256 (base32 "15jnbpl7b08im4g42ambc850w01lmc49k1z4438ipj83xsj5x32w")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; needs pygments #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda _ (substitute* "Gemfile.lock" (("\\(.*\\)") "")) #t))))) (propagated-inputs `(("ruby-method-source" ,ruby-method-source) ("ruby-rake" ,ruby-rake))) (native-inputs `(("ruby-activesupport" ,ruby-activesupport) ("ruby-allocation-stats" ,ruby-allocation-stats) ("ruby-appraisal" ,ruby-appraisal) ("ruby-benchmark-ips" ,ruby-benchmark-ips) ("ruby-coveralls" ,ruby-coveralls) ("ruby-rdiscount" ,ruby-rdiscount) ("ruby-rocco" ,ruby-rocco) ("ruby-simplecov" ,ruby-simplecov))) (synopsis "Run test/unit tests by line number. Metal!") (description "Run test/unit tests by line number. Metal!") (home-page "https://github.com/qrush/m") (license (license:non-copyleft "will fill in later")))) (define-public ruby-rdiscount (package (name "ruby-rdiscount") (version "2.2.0.2") (source (origin (method url-fetch) (uri (rubygems-uri "rdiscount" version)) (sha256 (base32 "16srf8cr8ynlafyh6ls654b9a3bqgai8n3y86zzv9mcpvlk6k27g")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; TODO: figure this out later (synopsis "Fast Implementation of Gruber's Markdown in C") (description "Fast Implementation of Gruber's Markdown in C") (home-page "http://dafoster.net/projects/rdiscount/") (license license:bsd-3))) (define-public ruby-psych (package (name "ruby-psych") (version "3.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "psych" version)) (sha256 (base32 "0r8rd9q4g6wda6k2bvsgpwnn9wbaqglb843bm4f1q6xfjkhs5h0l")))) (build-system ruby-build-system) (native-inputs `( ("ruby-rake-compiler" ,ruby-rake-compiler) )) (synopsis "Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting capabilities. In addition to wrapping libyaml, Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. ") (description "Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting capabilities. In addition to wrapping libyaml, Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. ") (home-page "https://github.com/ruby/psych") (license license:expat))) (define-public ruby-msgpack (package (name "ruby-msgpack") (version "1.4.2") (source (origin (method url-fetch) (uri (rubygems-uri "msgpack" version)) (sha256 (base32 "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6")))) (build-system ruby-build-system) (arguments `(#:test-target "default" #:phases (modify-phases %standard-phases (add-before 'install 'install-fake-gem (lambda* (#:key outputs #:allow-other-keys) (let ((target (string-append (assoc-ref outputs "out") "/lib/ruby/vendor_ruby/cache/./pkg/msgpack-" ,version ".gem"))) (mkdir-p (dirname target)) (symlink (string-append "../../../msgpack-" ,version ".gem") target ) #t))) ) )) (native-inputs `( ("ruby-rake" ,ruby-rake) ("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-rspec" ,ruby-rspec) ("ruby-yard" ,ruby-yard) )) (synopsis "MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.") (description "MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.") (home-page "http://msgpack.org/") (license license:asl2.0))) (define-public ruby-bootsnap (package (name "ruby-bootsnap") (version "1.7.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Shopify/bootsnap") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "14l0r074kpy9pwzs6zbgq3zpx32mpk4905k23v0znqgkmrb6s5bm")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; can't find rake-compiler #:phases (modify-phases %standard-phases (replace 'replace-git-ls-files (lambda _ (substitute* "bootsnap.gemspec" (("git ls-files -z ext lib") "find ext lib -type f -print0 | sort -z")) #t))))) (propagated-inputs `(("ruby-msgpack" ,ruby-msgpack))) (native-inputs `(("ruby-minitest" ,ruby-minitest) ("ruby-mocha" ,ruby-mocha) ("ruby-rake" ,ruby-rake) ("ruby-rake-compiler" ,ruby-rake-compiler))) (synopsis "Boot large ruby/rails apps faster") (description "Boot large ruby/rails apps faster") (home-page "https://github.com/Shopify/bootsnap") (license license:expat))) (define-public ruby-excon (package (name "ruby-excon") (version "0.79.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/excon/excon") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0cm3rpkzdmq78ni7irw449qrya8wgb6hfzxjwkyq4pkalc21afqb")))) (build-system ruby-build-system) (arguments `( #:phases (modify-phases %standard-phases (replace 'replace-git-ls-files (lambda _ (substitute* "excon.gemspec" (("git ls-files -- data/\\* lib/\\*") "find data lib -type f")) #t)) (add-before 'check 'pre-check (lambda _ ;; Don't demand the latest ruby-rack (substitute* "Gemfile" (("rack.*") "rack'\n")) ;; No network connection inside the container. (delete-file "tests/basic_tests.rb") #t)) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "HOME" (getcwd)) (invoke "bundle" "exec" "shindont") (invoke "bundle" "exec" "rake" "spec[progress]")) #t)) ))) (native-inputs `( ("ruby-activesupport" ,ruby-activesupport) ("ruby-delorean" ,ruby-delorean) ("ruby-eventmachine" ,ruby-eventmachine) ("ruby-open4" ,ruby-open4) ("ruby-puma" ,ruby-puma) ("ruby-rack" ,ruby-rack) ("ruby-rspec" ,ruby-rspec) ("ruby-rubocop" ,ruby-rubocop) ("ruby-shindo" ,ruby-shindo) ("ruby-sinatra" ,ruby-sinatra) ("ruby-sinatra-contrib" ,ruby-sinatra-contrib) ("ruby-unicorn" ,ruby-unicorn) )) (synopsis "EXtended http(s) CONnections") (description "EXtended http(s) CONnections") (home-page "https://github.com/excon/excon") (license license:expat))) (define-public ruby-ed25519 (package (name "ruby-ed25519") (version "1.2.4") (source (origin (method url-fetch) (uri (rubygems-uri "ed25519" version)) (sha256 (base32 "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; cannot load spec_helper #:test-target "default")) (native-inputs `(("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-rspec" ,ruby-rspec) ("ruby-rubocop" ,ruby-rubocop))) (synopsis "Ruby binding to the Ed25519 elliptic curve public-key system") (description "This package provides a Ruby binding to the Ed25519 elliptic curve public-key signature system described in RFC 8032.") (home-page "https://github.com/crypto-rb/ed25519") (license license:expat))) (define-public ruby-ruby2-keywords (package (name "ruby-ruby2-keywords") (version "0.0.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ruby/ruby2_keywords") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1fz81nw92cvpi1h99q1pvsnkdkpmp40jvvpkn1jnjbx9by04bw45")))) (build-system ruby-build-system) (arguments `(#:test-target "default")) (synopsis "Shim library for Module#ruby2_keywords") (description "Shim library for Module#ruby2_keywords") (home-page "https://github.com/ruby/ruby2_keywords") (license (list license:ruby license:bsd-2)))) (define-public ruby-simplecov-lcov (package (name "ruby-simplecov-lcov") (version "0.7.0") (source (origin (method url-fetch) (uri (rubygems-uri "simplecov-lcov" version)) (sha256 (base32 "0r3pmjjdjvprk8bzmcvarhf57sp5xzgj1c6007qaqhs7b4fhvxvb")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; tests want rails' source directory. Also skip ruby-jeweler ;#:test-target "default" #:phases (modify-phases %standard-phases (add-before 'check 'pre-check (lambda _ ;(setenv "HOME" (getcwd)) #t))))) (native-inputs `( ;("ruby-jeweler" ,ruby-jeweler) ("ruby-rspec" ,ruby-rspec) ("ruby-simplecov" ,ruby-simplecov) )) (synopsis "Custom SimpleCov formatter to generate a lcov style coverage.") (description "Custom SimpleCov formatter to generate a lcov style coverage.") (home-page "https://github.com/fortissimo1997/simplecov-lcov") (license license:expat)))