[Bio-packaging] Guix rubygem builder

Pjotr Prins pjotr.public66 at thebird.nl
Thu Aug 13 12:07:49 UTC 2015

After holiday recess we are picking up the pace again. 

Today I took one of my own gems and removed all references to rvm,
bundler and jeweler (they all mess with the dependency chain!). Only
using GNU Guix, and the Guix installed gem tool, all rspec and
Cucumber tests passed :)

Next I prepared it for Travis CI and that passes too (both with and
without bundler). Here is the bundler version


So, in short, I am developing and testing on my machine without
rvm+bundler. And Travis does use the latter. So, essentially, I am
testing both. Great for end users. And the whole thing has become a
lot leaner and cleaner to handle.

Now, what I need to do is:

1. Add more gems to GNU Guix so I don't do local gem installs 
2. Add GNU Guix to Travis CI so I can test with that too
3. Create a [Guix test passed|fail] icon service which we can hook into

GNU Guix (naturally) does CI. For example for Ruby 2.2.2


includes latest status and build (raw) log (and dependency graph).


On Tue, Jul 14, 2015 at 02:25:45PM +0200, Pjotr Prins wrote:
> Hi Dave,
> Now we have the difficult nokogiri gem packaged I have added a
> 'native' rubygem builder. See
>   https://github.com/pjotrp/guix/blob/rubygems/guix/build/rubygem-build-system.scm
> so now we can simply install rubygems with
> (define-public ruby-log4r
>   (package
>     (name "ruby-log4r")
>     (version "1.1.10")
>     (source (origin
>               (method url-fetch)
>               (uri (string-append
>                     "https://rubygems.org/downloads/log4r-" version ".gem"))
>               (sha256
>                (base32
>                 "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv"))))
>     (build-system rubygem-build-system)   ;; <<<<===== here!
>     (synopsis "A flexible logging library for Ruby")
>     (description "Ruby Log4r features a hierarchical logging system of
> any number of levels, custom level names, logger inheritance, multiple
> output destinations per log event, execution tracing, custom
> formatting, thread safetyness, XML and YAML configuration, and more.")
>     (home-page "http://log4r.rubyforge.org/")
>     (license license:expat)))

More information about the bio-packaging mailing list