From 2ed201c11296ae79b4a252934e219dfeb6e91d5e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 27 Jan 2019 08:45:21 +0000 Subject: [PATCH] gnu: Add ruby-contracts. * gnu/packages/ruby.scm (ruby-contracts): New variable. --- gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c9ca5b05d3..e02eac6419 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -740,6 +740,40 @@ (define-public ruby-ci-reporter (home-page "https://github.com/nicksieger/ci_reporter") (license license:expat))) +(define-public ruby-contracts + (package + (name "ruby-contracts") + (version "0.16.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "contracts" version)) + (sha256 + (base32 + "119f5p1n6r5svbx8h09za6a4vrsnj5i1pzr9cqdn9hj3wrxvyl3a")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "spec" + #:phases + (modify-phases %standard-phases + ;; Don't run or require rubocop, the code linting tool, as this is a + ;; bit unnecessary. + (add-after 'unpack 'dont-run-rubocop + (lambda _ + (substitute* "Rakefile" + ((".*rubocop.*") "") + ((".*RuboCop.*") "")) + #t))))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (synopsis "Method contracts for Ruby") + (description + "This library provides contracts for Ruby. A contract describes the +correct inputs and output for a method, and will raise an error if a incorrect +value is found.") + (home-page "https://github.com/egonSchiele/contracts.ruby") + (license license:bsd-2))) + (define-public ruby-czmq-ffi-gen (package (name "ruby-czmq-ffi-gen")