From f3d7bb9323582d142e6f8d6f6371d58fc55516e1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 27 Jan 2019 19:41:26 +0000 Subject: [PATCH] gnu: Add ruby-idn-ruby. Required for the ruby-addressable tests. * gnu/packages/ruby.scm (ruby-idn-ruby): New variable. --- gnu/packages/ruby.scm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9c229db26c..d01297c9bc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -40,6 +40,7 @@ (define-module (gnu packages ruby) #:use-module (gnu packages autotools) #:use-module (gnu packages java) #:use-module (gnu packages libffi) + #:use-module (gnu packages libidn) #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) @@ -2014,6 +2015,52 @@ (define-public ruby-bond (home-page "http://tagaholic.me/bond/") (license license:expat))) +(define-public ruby-idn-ruby + (package + (name "ruby-idn-ruby") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "idn-ruby" version)) + (sha256 + (base32 + "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + (when tests? + (let* ((gem-file (cadr (find-files "." "\\.gem"))) + (name-and-version (basename gem-file ".gem"))) + (apply invoke + "ruby" "--verbose" + (string-append "-I" + (assoc-ref outputs "out") + "/lib/ruby/vendor_ruby/gems/" + name-and-version + "/lib") + (find-files "./test" ".*\\.rb")))) + #t))))) + (inputs + `(("libidn" ,libidn))) + (synopsis "Ruby Bindings for the GNU LibIDN library") + (description + "Ruby Bindings for the GNU LibIDN library, an implementation of the +Stringprep, Punycode and IDNA specifications. These are used to encode and +decode internationalized domain + names according to the IDNA2003 +specifications. + +Included are the most important parts of the Stringprep, Punycode and IDNA +APIs like performing Stringprep processings, encoding to and decoding from +Punycode strings and converting entire domain names to and from the ACE +encoded form.") + (home-page "https://github.com/deepfryed/idn-ruby") + (license license:asl2.0))) + (define-public ruby-instantiator (package (name "ruby-instantiator")