unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add 12 rubygems.
@ 2015-12-29  5:46 Ben Woodcroft
  2015-12-29  5:51 ` Ben Woodcroft
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Ben Woodcroft @ 2015-12-29  5:46 UTC (permalink / raw)
  To: guix-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 703 bytes --]

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



[-- Attachment #2: 0001-gnu-Add-ruby-ansi.patch --]
[-- Type: text/x-patch, Size: 2258 bytes --]

From 24edad0eac9972e946b80e5919adc99d4fe11d8b Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #3: 0002-gnu-Add-ruby-rubytest.patch --]
[-- Type: text/x-patch, Size: 1783 bytes --]

From 81e6d9cb5470f85131e302759c3698d9c6295dd8 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #4: 0003-gnu-Add-ruby-brass.patch --]
[-- Type: text/x-patch, Size: 1656 bytes --]

From 356e1fbe6f87e0da6410760a2f177021e5b0302c Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #5: 0004-gnu-Add-ruby-qed.patch --]
[-- Type: text/x-patch, Size: 1912 bytes --]

From dcb24fdc106d5878c4a5ff24d2fda6e2987bb15d Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #6: 0005-gnu-Add-ruby-ae.patch --]
[-- Type: text/x-patch, Size: 1799 bytes --]

From a6f0972e10e7fe4ede3082cc22b24c0af69f7ae9 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #7: 0006-gnu-Add-ruby-lemon.patch --]
[-- Type: text/x-patch, Size: 1770 bytes --]

From 5edfa6742d7ee5a958bae3e66e978ff63f10c41a Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #8: 0007-gnu-Add-ruby-rubytest-cli.patch --]
[-- Type: text/x-patch, Size: 1572 bytes --]

From 9d9bbcfbfa52744b2b174330164578f5129187d4 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #9: 0008-gnu-Add-ruby-hashery.patch --]
[-- Type: text/x-patch, Size: 2003 bytes --]

From 1f13b94614029c3ca7cdc34dbbcac2d2c69e786c Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #10: 0009-gnu-Add-ruby-rc4.patch --]
[-- Type: text/x-patch, Size: 1582 bytes --]

From 8641b00e5706f6d1fe486df457b75f91a68c5edc Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #11: 0010-gnu-Add-ruby-afm.patch --]
[-- Type: text/x-patch, Size: 1303 bytes --]

From 6c0f6264d58f4d1815df209ab0231c4abc054f7a Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #12: 0011-gnu-Add-ruby-ascii85.patch --]
[-- Type: text/x-patch, Size: 1427 bytes --]

From 8a7a728c843f05206599d777fdd8c8a68f26eea4 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


[-- Attachment #13: 0012-gnu-Add-ruby-ttfunk.patch --]
[-- Type: text/x-patch, Size: 2385 bytes --]

From 4ccc1fadcb67a0d296bedd51a7f73d911da4680d Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
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


^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2016-01-26  6:37 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-29  5:46 [PATCH] Add 12 rubygems Ben Woodcroft
2015-12-29  5:51 ` Ben Woodcroft
2015-12-30 17:26   ` Ludovic Courtès
2015-12-29  7:18 ` Ricardo Wurmus
2015-12-30  0:51   ` [PATCH] Help Ruby packages be reproducible (was: [PATCH] Add 12 rubygems.) Ben Woodcroft
2015-12-30  0:56     ` [PATCH] Help Ruby packages be reproducible Ben Woodcroft
2015-12-30  2:47       ` Pjotr Prins
2015-12-30  8:26       ` Ricardo Wurmus
2015-12-30 23:52         ` Ben Woodcroft
2015-12-31 10:03           ` Ricardo Wurmus
2016-01-01 15:10             ` Ludovic Courtès
2016-01-02 15:02               ` Ben Woodcroft
2016-01-06 11:46                 ` Ricardo Wurmus
2016-01-07 13:24                   ` Ludovic Courtès
2016-01-08 14:16                   ` Thompson, David
2016-01-07 14:31                 ` Ludovic Courtès
2016-01-08 11:34                   ` Ben Woodcroft
2016-01-08 16:55                     ` Ludovic Courtès
2015-12-31 12:03           ` Ben Woodcroft
2015-12-30  9:14 ` [PATCH] Add 12 rubygems Ricardo Wurmus
2016-01-07 14:29   ` Ricardo Wurmus
2016-01-26  6:37     ` Ben Woodcroft

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).