From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Woodcroft Subject: [PATCH] Add 12 rubygems. Date: Tue, 29 Dec 2015 15:46:47 +1000 Message-ID: <56821E47.9010400@uq.edu.au> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060503060602030606030507" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55214) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDn7g-0001KD-8I for guix-devel@gnu.org; Tue, 29 Dec 2015 00:47:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDn7b-0005zR-NQ for guix-devel@gnu.org; Tue, 29 Dec 2015 00:47:04 -0500 Received: from mailhub2.soe.uq.edu.au ([130.102.132.209]:37001 helo=newmailhub.uq.edu.au) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDn7a-0005sP-Pz for guix-devel@gnu.org; Tue, 29 Dec 2015 00:46:59 -0500 Received: from smtp2.soe.uq.edu.au (smtp2.soe.uq.edu.au [10.138.113.41]) by newmailhub.uq.edu.au (8.14.5/8.14.5) with ESMTP id tBT5kpDN040143 for ; Tue, 29 Dec 2015 15:46:51 +1000 Received: from [192.168.1.105] (static.customers.nuskope.com.au [103.25.181.216] (may be forged)) (authenticated bits=0) by smtp2.soe.uq.edu.au (8.14.5/8.14.5) with ESMTP id tBT5kmYf023329 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Tue, 29 Dec 2015 15:46:50 +1000 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: "guix-devel@gnu.org" This is a multi-part message in MIME format. --------------060503060602030606030507 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi, These patches are all working towards the popular Ruby web frameworks (Rails/Sinatra). I tried where possible to do at least rudimentary testing when dependency cycles arose, and fall back to the source code on github when the gem on rubygems didn't contain tests. Actually these are the easier parts to package - the deeper hole is ExecJS which requires therubyracer at test time which requires v8 and thus a bunch of chromium-related packages. Is anyone thinking about working on that? Unfortunately none of these builds are reproducible because rubygems in Guix generally aren't. For one, this is because .gem files are archives whose contents are timestamped. ... and thanks! ben --------------060503060602030606030507 Content-Type: text/x-patch; name="0001-gnu-Add-ruby-ansi.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-gnu-Add-ruby-ansi.patch" >From 24edad0eac9972e946b80e5919adc99d4fe11d8b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:11:21 +1000 Subject: [PATCH 01/12] gnu: Add ruby-ansi. * gnu/packages/ruby.scm (ruby-ansi): New variable. --- gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a3eafb1..0037407 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2884,3 +2884,39 @@ programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients.") (home-page "http://rubyeventmachine.com") (license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT + +(define-public ruby-ansi + (package + (name "ruby-ansi") + (version "1.5.0") + (source + (origin + (method url-fetch) + ;; fetch from github as the gem does not contain testing code + (uri (string-append + "https://github.com/rubyworks/ansi/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zdip30hivyipi8hndhb457bhiz033awd00bgrsk5axjrwp6zhly")))) + (build-system ruby-build-system) + (arguments + ;; disable testing to break the cycle ansi, ae, ansi, as well as the cycle + ;; ansi, qed, ansi. Instead simply test that the library can be require'd. + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "ruby" "-Ilib" "-r" "ansi"))))))) + (synopsis "ANSI escape code related libraries") + (description + "The ANSI project is a collection of ANSI escape code related libraries +enabling ANSI colorization and stylization of console output. Included in the +library are the Code module, which defines ANSI codes as constants and +methods, a Mixin module for including color methods, a Logger, a ProgressBar, +and a String subclass. The library also includes a Terminal module which +provides information about the current output device.") + (home-page "http://rubyworks.github.io/ansi") + (license license:bsd-2))) + -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0002-gnu-Add-ruby-rubytest.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0002-gnu-Add-ruby-rubytest.patch" >From 81e6d9cb5470f85131e302759c3698d9c6295dd8 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:13:42 +1000 Subject: [PATCH 02/12] gnu: Add ruby-rubytest. * gnu/packages/ruby.scm (ruby-rubytest): New variable. --- gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0037407..cb96811 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2920,3 +2920,34 @@ provides information about the current output device.") (home-page "http://rubyworks.github.io/ansi") (license license:bsd-2))) +(define-public ruby-rubytest + (package + (name "ruby-rubytest") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rubytest" version)) + (sha256 + (base32 + "19jydsdnkl81i9dhdcr4dc34j0ilm68ff2ngnka1hi38xiw4p5qz")))) + (build-system ruby-build-system) + (arguments + ;; disable testing to break the cycle rubytest, qed, brass, rubytest, as + ;; well as the cycle rubytest, qed, ansi, rubytest. Instead simply test + ;; that the library can be require'd. + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "ruby" "-Ilib" "-r" "rubytest"))))))) + (propagated-inputs + `(("ruby-ansi" ,ruby-ansi))) + (synopsis "Universal test harness for Ruby") + (description + "Rubytest is a testing meta-framework for Ruby. It can handle any +compliant test framework, and can run tests from multiple frameworks in a +single pass.") + (home-page + "http://rubyworks.github.io/rubytest") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0003-gnu-Add-ruby-brass.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0003-gnu-Add-ruby-brass.patch" >From 356e1fbe6f87e0da6410760a2f177021e5b0302c Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:16:42 +1000 Subject: [PATCH 03/12] gnu: Add ruby-brass. * gnu/packages/ruby.scm (ruby-brass): New variable. --- gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cb96811..a31c45a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2951,3 +2951,32 @@ single pass.") (home-page "http://rubyworks.github.io/rubytest") (license license:bsd-2))) + +(define-public ruby-brass + ;; download from git so test runner is included + (package + (name "ruby-brass") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "brass" version)) + (sha256 + (base32 + "154lp8rp1vmg60ri1j4cb8hqlw37z7bn575h899v8hzxwi11sxka")))) + (build-system ruby-build-system) + (arguments + ;; disable tests to break the cycle brass, lemon, ae, qed, brass. Instead + ;; simply test that the library can be require'd. + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "ruby" "-Ilib" "-r" "brass"))))))) + (synopsis "Basic foundational assertions framework") + (description + "BRASS (Bare-Metal Ruby Assertion System Standard) is a basic +foundational assertions framework for other assertion and test frameworks to +make use of.") + (home-page "http://rubyworks.github.io/brass") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0004-gnu-Add-ruby-qed.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0004-gnu-Add-ruby-qed.patch" >From dcb24fdc106d5878c4a5ff24d2fda6e2987bb15d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:36:20 +1000 Subject: [PATCH 04/12] gnu: Add ruby-qed. * gnu/packages/ruby.scm (ruby-qed): New variable. --- gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a31c45a..8ad4864 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2980,3 +2980,35 @@ foundational assertions framework for other assertion and test frameworks to make use of.") (home-page "http://rubyworks.github.io/brass") (license license:bsd-2))) + +(define-public ruby-qed + (package + (name "ruby-qed") + (version "2.9.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "qed" version)) + (sha256 + (base32 + "03h4lmlxpcya8j7s2cnyscqlx8v3xl1xgsw5y1wk1scxcgz2vbmr")))) + (build-system ruby-build-system) + (arguments + ;; disable testing to break the cycle qed, ansi, qed, among others.Instead + ;; simply test that the executable runs. + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "ruby" "-Ilib" "bin/qed" "--copyright"))))))) + (propagated-inputs + `(("ruby-ansi" ,ruby-ansi) + ("ruby-brass" ,ruby-brass))) + (synopsis "Test framework utilizing literate programming techniques") + (description + "QED (Quality Ensured Demonstrations) is a TDD (Test Driven +Development)/BDD (Behaviour Drive Development) framework utilizing Literate +Programming techniques. QED sits somewhere between lower-level testing tools +like Test::Unit and requirement specifications systems like Cucumber.") + (home-page "http://rubyworks.github.io/qed") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0005-gnu-Add-ruby-ae.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0005-gnu-Add-ruby-ae.patch" >From a6f0972e10e7fe4ede3082cc22b24c0af69f7ae9 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:37:45 +1000 Subject: [PATCH 05/12] gnu: Add ruby-ae. * gnu/packages/ruby.scm (ruby-ae): New variable. --- gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8ad4864..a628d9c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3012,3 +3012,36 @@ Programming techniques. QED sits somewhere between lower-level testing tools like Test::Unit and requirement specifications systems like Cucumber.") (home-page "http://rubyworks.github.io/qed") (license license:bsd-2))) + +(define-public ruby-ae + (package + (name "ruby-ae") + (version "1.8.2") + (source + (origin + (method url-fetch) + ;; fetch from github so tests are included ? + (uri (string-append + "https://github.com/rubyworks/ae/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "147jmkx54x7asy2d8m4dyrhhf4hdx4galpnhwzai030y3cdsfrrl")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "qed"))))))) + (propagated-inputs + `(("ruby-ansi" ,ruby-ansi))) + (native-inputs + `(("ruby-qed" ,ruby-qed))) + (synopsis "Assertions library") + (description + "Assertive Expressive (AE) is an assertions library specifically designed +for reuse by other test frameworks.") + (home-page "http://rubyworks.github.io/ae") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0006-gnu-Add-ruby-lemon.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0006-gnu-Add-ruby-lemon.patch" >From 5edfa6742d7ee5a958bae3e66e978ff63f10c41a Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:42:53 +1000 Subject: [PATCH 06/12] gnu: Add ruby-lemon. * gnu/packages/ruby.scm (ruby-lemon): New variable. --- gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a628d9c..150eb5d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3045,3 +3045,35 @@ like Test::Unit and requirement specifications systems like Cucumber.") for reuse by other test frameworks.") (home-page "http://rubyworks.github.io/ae") (license license:bsd-2))) + +(define-public ruby-lemon + (package + (name "ruby-lemon") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "lemon" version)) + (sha256 + (base32 + "0gqhpgjavgpvx23rqpfqcv3d5bs8gc7lr9yvj8kxgp7mfbdc2jcm")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "qed"))))))) + (propagated-inputs + `(("ruby-ae" ,ruby-ae) + ("ruby-ansi" ,ruby-ansi) + ("ruby-rubytest" ,ruby-rubytest))) + (native-inputs + `(("ruby-qed" ,ruby-qed))) + (synopsis "Test framework that correlates code structure and test unit") + (description + "Lemon is a Unit Testing Framework that enforces highly formal +case-to-class and unit-to-method test construction. This enforcement can help +focus concern on individual units of behavior.") + (home-page "http://rubyworks.github.io/lemon") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0007-gnu-Add-ruby-rubytest-cli.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0007-gnu-Add-ruby-rubytest-cli.patch" >From 9d9bbcfbfa52744b2b174330164578f5129187d4 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:45:17 +1000 Subject: [PATCH 07/12] gnu: Add ruby-rubytest-cli. * gnu/packages/ruby.scm (ruby-rubytest-cli): New variable. --- gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 150eb5d..157f40f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3077,3 +3077,29 @@ case-to-class and unit-to-method test construction. This enforcement can help focus concern on individual units of behavior.") (home-page "http://rubyworks.github.io/lemon") (license license:bsd-2))) + +(define-public ruby-rubytest-cli + (package + (name "ruby-rubytest-cli") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rubytest-cli" version)) + (sha256 + (base32 + "0n7hv4k1ba4fm3i98c6ydbsqhkxgbp52mhi70ba1x3mqzfvk438p")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) ; no tests + (propagated-inputs + `(("ruby-ansi" ,ruby-ansi) + ("ruby-rubytest" ,ruby-rubytest))) + (synopsis + "Command-line interface for rubytest") + (description + "Rubytest CLI is a command-line interface for running tests for +Rubytest-based test frameworks. It provides the @code{rubytest} executable.") + (home-page + "http://rubyworks.github.io/rubytest-cli") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0008-gnu-Add-ruby-hashery.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0008-gnu-Add-ruby-hashery.patch" >From 1f13b94614029c3ca7cdc34dbbcac2d2c69e786c Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:51:34 +1000 Subject: [PATCH 08/12] gnu: Add ruby-hashery. * gnu/packages/ruby.scm (ruby-hashery): New variable. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 157f40f..47e3d6f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3103,3 +3103,38 @@ Rubytest-based test frameworks. It provides the @code{rubytest} executable.") (home-page "http://rubyworks.github.io/rubytest-cli") (license license:bsd-2))) + +(define-public ruby-hashery + (package + (name "ruby-hashery") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "hashery" version)) + (sha256 + (base32 + "0xawbljsjarl9l7700bka672ixwznzwih4s9i38p1y9mp8hyx54g")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (and + (zero? (system* "qed")) + (zero? (system* "rubytest" "-Ilib" "-Itest" "test/")))))))) + (native-inputs + `(("ruby-rubytest-cli" ,ruby-rubytest-cli) + ("ruby-qed" ,ruby-qed) + ("ruby-lemon" ,ruby-lemon))) + (synopsis "Hash-like classes with extra features") + (description + "The Hashery is a tight collection of Hash-like classes. Included are +the auto-sorting Dictionary class, the efficient LRUHash, the flexible +OpenHash and the convenient KeyHash. Nearly every class is a subclass of the +CRUDHash which defines a CRUD (Create, Read, Update and Delete) model on top +of Ruby's standard Hash making it possible to subclass and augment to fit any +specific use case.") + (home-page "http://rubyworks.github.io/hashery") + (license license:bsd-2))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0009-gnu-Add-ruby-rc4.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0009-gnu-Add-ruby-rc4.patch" >From 8641b00e5706f6d1fe486df457b75f91a68c5edc Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:52:04 +1000 Subject: [PATCH 09/12] gnu: Add ruby-rc4. * gnu/packages/ruby.scm (ruby-rc4): New variable. --- gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 47e3d6f..84842a0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3138,3 +3138,31 @@ of Ruby's standard Hash making it possible to subclass and augment to fit any specific use case.") (home-page "http://rubyworks.github.io/hashery") (license license:bsd-2))) + +(define-public ruby-rc4 + (package + (name "ruby-rc4") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "ruby-rc4" version)) + (sha256 + (base32 + "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (and + (zero? (system* "rspec" "spec/rc4_spec.rb")))))))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec-2))) + (synopsis "Implementation of the RC4 algorithm") + (description + "RubyRC4 is a pure Ruby implementation of the RC4 algorithm.") + ;; link on rubygems.org is dead, so use github URL. + (home-page "https://github.com/caiges/Ruby-RC4") + (license license:expat))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0010-gnu-Add-ruby-afm.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0010-gnu-Add-ruby-afm.patch" >From 6c0f6264d58f4d1815df209ab0231c4abc054f7a Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 15:00:15 +1000 Subject: [PATCH 10/12] gnu: Add ruby-afm. * gnu/packages/ruby.scm (ruby-afm): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 84842a0..1a88fcb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3166,3 +3166,24 @@ specific use case.") ;; link on rubygems.org is dead, so use github URL. (home-page "https://github.com/caiges/Ruby-RC4") (license license:expat))) + +(define-public ruby-afm + (package + (name "ruby-afm") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "afm" version)) + (sha256 + (base32 + "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (synopsis "Read Adobe Font Metrics (afm) files") + (description + "@code{afm} is a library to read Adobe Font Metrics (afm) files and use +the data therein.") + (home-page "http://github.com/halfbyte/afm") + (license license:expat))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0011-gnu-Add-ruby-ascii85.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0011-gnu-Add-ruby-ascii85.patch" >From 8a7a728c843f05206599d777fdd8c8a68f26eea4 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 15:05:18 +1000 Subject: [PATCH 11/12] gnu: Add ruby-ascii85. * gnu/packages/ruby.scm (ruby-ascii85): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1a88fcb..338b0c5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3187,3 +3187,26 @@ specific use case.") the data therein.") (home-page "http://github.com/halfbyte/afm") (license license:expat))) + +(define-public ruby-ascii85 + (package + (name "ruby-ascii85") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "Ascii85" version)) + (sha256 + (base32 + "0j95sbxd18kc8rhcnvl1w37kflqpax1r12h1x47gh4xxn3mz4m7q")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (synopsis "Encode and decode Adobe's ascii85 binary-to-text encoding") + (description + "This library provides methods to encode and decode Adobe's Ascii85 +binary-to-text encoding. The main modern use of Ascii85 is in Adobe's +PostScript and Portable Document Format file formats.") + (home-page + "https://github.com/datawraith/ascii85gem") + (license license:expat))) -- 2.6.3 --------------060503060602030606030507 Content-Type: text/x-patch; name="0012-gnu-Add-ruby-ttfunk.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0012-gnu-Add-ruby-ttfunk.patch" >From 4ccc1fadcb67a0d296bedd51a7f73d911da4680d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 15:13:13 +1000 Subject: [PATCH 12/12] gnu: Add ruby-ttfunk. * gnu/packages/ruby.scm (ruby-ttfunk): New variable. --- gnu/packages/ruby.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 338b0c5..b7c2345 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3210,3 +3210,47 @@ PostScript and Portable Document Format file formats.") (home-page "https://github.com/datawraith/ascii85gem") (license license:expat))) + +(define-public ruby-ttfunk + (package + (name "ruby-ttfunk") + (version "1.4.0") + (source + (origin + (method url-fetch) + ;; fetch from github as the gem does not contain testing code + (uri (string-append + "https://github.com/prawnpdf/ttfunk/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1izq84pnm9niyvkzp8k0vl232q9zj41hwmp9na9fzycfh1pbnsl6")))) + (build-system ruby-build-system) + (arguments + `(#:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-before 'check 'remove-rubocop + (lambda _ + ;; remove rubocop as a dependency as not needed for testing + (substitute* "ttfunk.gemspec" + (("spec.add_development_dependency\\('rubocop'.*") "")) + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("Rubocop::RakeTask.new") "")) + #t))))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec) + ("bundler" ,bundler))) + (synopsis "Font Metrics Parser for the Prawn PDF generator") + (description + "TTFunk is a TrueType font parser written in pure ruby. It is used as +part of the Prawn PDF generator.") + (home-page "https://github.com/prawnpdf/ttfunk") + ;; From the README: "Matz's terms for Ruby, GPLv2, or GPLv3. See LICENSE + ;; for details." + (license (list license:gpl2 license:gpl3 + (license:non-copyleft + "file://src/LICENSE" + "See LICENSE in the distribution."))))) -- 2.6.3 --------------060503060602030606030507--