Re: FOSDEM 2016

2015-08-29 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> Ludovic Courtès  writes:
>
>> If somebody (Ricardo?) gives a general talk about Guix(SD), I can give
>> one on a specific topic, for instance gexps and related APIs.
>
> I could be that somebody who gives a general talk about Guix or GuixSD.
> But what would be the target audience?  People interested in Guile but
> with no experience with Guix?

Yes, that or people who’ve heard about Guix and want to know more.

Ludo’.



Re: ath9k vs. Linux-libre 4.1.2, and default kernel

2015-08-29 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> When switching from 4.0.5 to 4.1.2, I noticed that my ath9k-based
> ThinkPenguin WiFi dongle would no longer work (“Resource unavailable”
> when running ‘iwlist xxx scan’, etc.)

This is still broken in 4.1.6.  Is anyone using a similar setup?

Ludo’.



Re: [PATCH] Replace jack-2 with jack-1.

2015-08-29 Thread 宋文武
Ricardo Wurmus  writes:

> Attached are patches to replace “jack-2” with “jack-1”.
>
> None of the packages actually requires “jack-2”.  Both implement the
> same API, but are separate implementations (“jack-2” is not more mature
> or more recent than “jack-1”).
>
> “jack-2” *additionally* supports dbus activation, but that’s something
> that has no effect on the packages that had “jack-2” listed as an input.
> My recommendation is to only use “jack-1” as an input to packages that
> have JACK support.  Users can install “jack-2” into their profiles, if
> they want dbus support — it will work with packages that are built
> with “jack-1”, as there is no API difference.
Thanks for explanation, please push!



[PATCHES] Add ruby-nokogiri, ruby-mini-portile, and ruby-minitar

2015-08-29 Thread David Thompson
This small patch set adds a few more Ruby libraries to our arsenal, the
most important being Nokogiri: A widely used XML parsing library with
native C extensions.  The official Ruby packaging system cannot capture
non-Ruby dependencies outside of developers bundling them in their
source releases, so the ruby-nokogiri package is a great example of how
Guix improves upon language-specific package managers.  As a user of
Nokogiri, it's nice to be able to run:

guix environment --ad-hoc ruby ruby-nokogiri -E irb

And get a Ruby REPL with Nokogiri without having to manually install
libxml2, libxslt, and the GCC toolchain from the system package manager
and hoped that things were ABI compatible when 'gem install nokogiri'
compiled the extension.

Thanks to Pjotr for writing the initial version of the Nokogiri package
and being patient for the couple of months it took me to get it reviewed
and updated for the new Ruby build system.

Patches below:

>From c043d79f1b66c90b20652632880d67d8fcc5275e Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 08:32:32 -0400
Subject: [PATCH 1/3] gnu: Add ruby-minitar.

* gnu/packages/ruby.scm (ruby-minitar): 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 9a702dd..4afc0bc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -628,3 +628,24 @@ net/http library.")
 (description "Arel is a SQL AST manager for Ruby.  It simplifies the
 generation of complex SQL queries and is compatible with various RDBMSes.")
 (license license:expat)))
+
+(define-public ruby-minitar
+  (package
+(name "ruby-minitar")
+(version "0.5.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "minitar" version))
+   (sha256
+(base32
+ "1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka"
+(build-system ruby-build-system)
+(arguments
+ '(#:tests? #f)) ; missing a gemspec
+(synopsis "Ruby library and utility for handling tar archives")
+(description
+ "Archive::Tar::Minitar is a pure-Ruby library and command-line utility
+that provides the ability to deal with POSIX tar archive files.")
+(home-page "http://www.github.com/atoulme/minitar";)
+(license (list license:gpl2+ license:ruby
-- 
2.5.0

>From bd6a2e115585064e2978adfa7860c253ebb68834 Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 08:32:56 -0400
Subject: [PATCH 2/3] gnu: Add ruby-mini-portile.

* gnu/packages/ruby.scm (ruby-mini-portile): 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 4afc0bc..9e006d6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -649,3 +649,26 @@ generation of complex SQL queries and is compatible with various RDBMSes.")
 that provides the ability to deal with POSIX tar archive files.")
 (home-page "http://www.github.com/atoulme/minitar";)
 (license (list license:gpl2+ license:ruby
+
+(define-public ruby-mini-portile
+  (package
+(name "ruby-mini-portile")
+(version "0.6.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "mini_portile" version))
+   (sha256
+(base32
+ "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w"
+(build-system ruby-build-system)
+(arguments
+ '(#:tests? #f)) ; tests require network access
+(synopsis "Simplistic port-like solution for developers. It provides a
+standard and simplified way to compile against dependency libraries without
+messing up your system.")
+(description "Simplistic port-like solution for developers. It provides a
+standard and simplified way to compile against dependency libraries without
+messing up your system.")
+(home-page "http://github.com/flavorjones/mini_portile";)
+(license license:expat)))
-- 
2.5.0

>From 7f4691bad70a716aa6bb0d13f47514f405e8d188 Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 08:35:54 -0400
Subject: [PATCH 3/3] gnu: Add ruby-nokogiri.

Co-Authored-By: Pjotr Prins 

* gnu/packages/ruby.scm (ruby-nokogiri): 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 9e006d6..7d5196a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -34,6 +34,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages xml)
   #:use-module (guix build-system ruby))
 
 (define-public ruby
@@ -672,3 +673,37 @@ standard and simplified way to compile against dependency libraries without
 messing up your system.")
 (home-page "http://github.com/flavorjones/mini_portile";)
 (license license:expat)))
+
+(define-public ru

Re: [PATCH] system: grub: Convert grub background using rsvg-convert

2015-08-29 Thread Luis Felipe López Acevedo

Here are the grub SVGs with vector checkerboard:

https://cloud.openmailbox.org/index.php/s/uBM9iQ3oLLjjIZX

So no need for Inkscape anymore :)

--
Luis Felipe López Acevedo
http://sirgazil.bitbucket.org/



Magit 2 troubleshooting

2015-08-29 Thread Ludovic Courtès
Alex Kost  skribis:

> So I wish people good luck with moving to Magit2 :-)

So!  I’ve upgraded ‘magit’ and ‘magit-svn’, but now (require 'magit-svn)
yields this:

--8<---cut here---start->8---
Debugger entered--Lisp error: (void-function magit-key-mode-add-group)
  magit-key-mode-add-group(svn)
  
byte-code("\301\300\302\303\304$\210\305\306\307#\210\310\311!\210\312\311\313\314\315$\210\312\311\316\317\320$\210\312\311\321\322\323$\210\312\311\324\325\326$\210\312\311\327\330\331$\210\312\311\332\333\334$\210\312\311\335\336\337$\210\340\311\341\342\343$\210\344\311!\207"
 [magit-svn-extension-menu easy-menu-do-define nil "Git SVN extension menu" 
("Git SVN" :visible magit-svn-mode ["Create branch" magit-svn-create-branch 
(magit-svn-enabled)] ["Rebase" magit-svn-rebase (magit-svn-enabled)] ["Fetch" 
magit-svn-remote-update (magit-svn-enabled)] ["Commit" magit-svn-dcommit 
(magit-svn-enabled)]) easy-menu-add-item magit-mode-menu ("Extensions") 
magit-key-mode-add-group svn magit-key-mode-insert-action "r" "Rebase" 
magit-svn-rebase "c" "DCommit" magit-svn-dcommit "f" "Fetch" 
magit-svn-remote-update "s" "Find rev" magit-svn-find-rev "B" "Create branch" 
magit-svn-create-branch "T" "Create tag" magit-svn-create-tag "x" "Fetch 
Externals" magit-svn-fetch-externals magit-key-mode-insert-switch "-n" "Dry 
run" "--dry-run" magit-key-mode-generate] 5)
  require(magit-svn)
  eval((require (quote magit-svn)) nil)
  eval-expression((require (quote magit-svn)) nil)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)
--8<---cut here---end--->8---

Does that ring a bell?

(Another thing I noticed is that the ‘git-commit-mode’ module has been
renamed to ‘git-commit’.  Just mentioning it in case someone gets hit by
this one.)

Ludo’.



Re: "M-x guix" - magit-like interface for guix commands

2015-08-29 Thread Ludovic Courtès
Alex Kost  skribis:

> Ludovic Courtès (2015-08-28 12:37 +0300) wrote:

[...]

>> Of course, you’re effectively the maintainer of that part.
>
> OK, but I also made some changes outside "emacs" dir:

Right, thanks for the heads-up then.  ;-)

> - I exported stuff from (guix scripts lint) and (guix scripts graph):
>   so that when a user choose "--checkers" option for 'guix lint' or

Regarding:

  Author: Alex Kost 
  AuthorDate: Wed Aug 12 14:17:44 2015 +0300
  Commit: Alex Kost 
  CommitDate: Fri Aug 28 23:03:58 2015 +0300

  guix lint: Export checkers and  accessors.

  * guix/scripts/lint.scm (%checkers, make-lint-checker, lint-checker,
lint-checker?, lint-checker-name, lint-checker-description,
lint-checker-check): Export.

This is fine, but please don’t export ‘make-lint-checker’ (people should
use the nicer ‘lint-checker’ macro instead.)

> - I moved emacs info node from "Package Management" to "Top" because it
>   is not just about package management anymore (as there are
>   "guix-prettify" and shell completions, and now there is also popup
>   interface for all guix commands).

Regarding:

  Author: Alex Kost 
  AuthorDate: Thu Aug 13 20:16:29 2015 +0300
  Commit: Alex Kost 
  CommitDate: Fri Aug 28 23:03:59 2015 +0300

  doc: Reorganize "Emacs Interface" node.

  * doc/guix.texi (Package Management): Move "Emacs Interface" node to ...
(Top): ...here, since it is not just about package management.
  * doc/emacs.texi: Shift all nodes one level up (@section -> @chapter, 
etc.).
Rename "Emacs Usage" node into "Emacs Package Management".  Move "Emacs
Configuration" node here.

It sounds good to me.  Perhaps add something like this in this commit:

--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -972,9 +972,9 @@ features.
 
 This chapter describes the main features of Guix, as well as the package
 management tools it provides.  Two user interfaces are provided for
-routine package management tasks: a command-line interface
-(@pxref{Invoking guix package, @code{guix package}}), and a visual user
-interface in Emacs (@pxref{Emacs Interface}).
+routine package management tasks: A command-line interface described below
+(@pxref{Invoking guix package, @code{guix package}}), as well as a visual user
+interface in Emacs described in a subsequent chapter (@pxref{Emacs Interface}).
 
 @menu
 * Features::How Guix will make your life brighter.

> - And finally I moved a part of code from 'guix-main' to a new
>   'run-guix' procedure (in (guix ui) module).

Regarding:

  Author: Alex Kost 
  AuthorDate: Sun Aug 16 10:28:04 2015 +0300
  Commit: Alex Kost 
  CommitDate: Fri Aug 28 23:03:59 2015 +0300

  ui: Add 'run-guix'.

  * guix/ui.scm (guix-main): Move the code to run guix command line to ...
(run-guix): ...here.  New procedure.  Export it.


[...]

  +(define (run-guix . args)
  +  "Run guix command defined by command line ARGS."

Missing “the” (“Run the 'guix' command”.)  Also please add something
like, “Unlike ‘guix-main’, this procedure assumes that locale, i18n
support, and signal handling has already been set up.”

> As for the emacs part: many long options don't have short analogs, so I
> chose keys (for popup windows) that seem appropriate for me, but they
> may not be good defaults for others.  The same thing with guix commands.
> For example, I chose "p" for "package", "P" for "pull" and "u" for
> "publish"; or "s" for "system" and "z" for "size", etc.  But maybe it is
> OK for now, and may be fixed later, if people will complain about
> strange popup keys, WDYT?

At first sight that looks good to me, because it uses the first letter
of the most common commands (‘package’ vs. ‘pull’, ‘system’ vs. ‘size’,
etc.)  But we can always adjust them later if needed.

> Also perhaps there are too many auxiliary commits (add this, add that),
> not sure if it's acceptable.

That’s OK.

Besides, this commit:

  References: wip-emacs-popup-ui origin/wip-emacs-popup-ui
  Author: Alex Kost 
  AuthorDate: Tue Aug 18 11:32:42 2015 +0300
  Commit: Alex Kost 
  CommitDate: Fri Aug 28 23:04:00 2015 +0300

  emacs: Use popup interface instead 'guix-pull' command.

  * emacs/guix-base.el (guix-pull): Remove.
  * doc/emacs.texi (Emacs Commands): Adjust accordingly.
  * emacs/guix-main.scm: Do not use (guix scripts pull) module.

removes M-x guix-pull.  But that means that people who don’t have
magit-popup no longer have a way to run that command, which I’d like to
avoid.

Is it possible to keep it?

> Yes, I think so.  I have rebased "wip-emacs-popup-ui" branch on master
> and made some final tweaks.  So this is the last warning! :-) If you
> still don't have comments/notes, I'm ready to push these commits.

Well thanks for insisting, now you have a bunch of actions to take.  ;-)

Cheers,
Ludo’.


Re: Why does glibc provide bash?

2015-08-29 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> I’ve pushed an attempt for it in wip-core-updates, specifically this
> commit:
>
>   
> http://git.savannah.gnu.org/cgit/guix.git/commit/?h=wip-core-updates&id=e0a33ce07b56111329575b0ccc90c9c314fbd221
>
> The trick is simply to not copy the ‘bash’ binary to libc (not sure why
> I didn’t do it this way from the start.)
>
> Mark: WDYT?  I think it solves the problem at hand and it’s a reasonably
> simple solution.

I’ve pushed that solution in ‘core-updates’.

> (The branch is called ‘wip-’ because the glibc upgrade happens to cause
> troubles: since it has new locale category elements, the locale data is
> incompatible with that older libcs expect, which means the bootstrap
> binaries fail with an assertion failure when trying to load the new
> locale data, like:
>
>   xz: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof 
> (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed.
>
> I’m looking for a fix a will otherwise postpone the upgrade.)

Still looking into it...

Ludo’.



Re: [PATCH] Replace jack-2 with jack-1.

2015-08-29 Thread Ricardo Wurmus

宋文武  writes:

> Ricardo Wurmus  writes:
>
>> Attached are patches to replace “jack-2” with “jack-1”.

> Thanks for explanation, please push!

Done!

~~ Ricardo




Re: [PATCH] R build system and CRAN importer (updated)

2015-08-29 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> From 1c726be7746021f5d967d12154c057391e24585d Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Fri, 24 Jul 2015 16:49:57 +0200
> Subject: [PATCH 1/2] import: Add 'cran' importer.
>
> * guix/import/cran.scm: New file.
> * guix/scripts/import.scm: Add "cran" to 'importers'.
> * guix/scripts/import/cran.scm: New file.
> * tests/cran.scm: New file.
> * Makefile.am (MODULES): Add 'guix/import/cran.scm' and
>   'guix/scripts/import/cran.scm'.
>   (SCM_TESTS): Add 'tests/cran.scm'.
> * doc/guix.texi (Invoking guix import): Document it.
> * po/guix/POTFILES.in: Add 'guix/scripts/import/cran.scm'.

Nice work.

> +(define string->license
> +  (match-lambda
> +   ("AGPL-3" 'agpl3)

Perhaps ‘agpl3+’ is a better match?

> +   ("GPL-2" 'gpl2)

‘gpl2+’

> +   ("GPL-3" 'GPL3)

Lower-case, and probably with ‘+’ as well.

> +   ("LGPL-2" 'lgpl2.0)
> +   ("LGPL-2.1" 'lgpl2.1)
> +   ("LGPL-3" 'lgpl3)

‘+’?

> +(define (format-inputs names)
> +  "Generate a sorted list of package inputs from a list of package NAMES."
> +  (sort
> +(map (lambda (name)
> +   (list name (list 'unquote (string->symbol name
> + names)
> +(lambda args
> +  (match args
> +(((a _ ...) (b _ ...))
> + (string-ci From 8271e8a5e7d237693e8d4b7b34e4a484b9a1fc22 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Fri, 31 Jul 2015 14:47:34 +0200
> Subject: [PATCH 2/2] build: Add R build system.
>
> * guix/build-system/r.scm: New file.
> * guix/build/r-build-system: New file.
> * Makefile.am (MODULES): Add new files.
> * doc/guix.texi (Build Systems): Document r-build-system.

[...]

> +(define (call-r command params)

Nitpick: I’d call it ‘invoke-r’ (a function is called, a program is
invoked.)

Thanks!

Ludo’.



Re: Magit 2 troubleshooting

2015-08-29 Thread Alex Kost
Ludovic Courtès (2015-08-29 17:39 +0300) wrote:

> Alex Kost  skribis:
>
>> So I wish people good luck with moving to Magit2 :-)
>
> So!  I’ve upgraded ‘magit’ and ‘magit-svn’, but now (require 'magit-svn)
> yields this:
>
>
> Debugger entered--Lisp error: (void-function magit-key-mode-add-group)
>   magit-key-mode-add-group(svn)
[...]
> Does that ring a bell?

I don't see any reference to 'magit-key-mode-add-group' in
"magit-svn.el".  May it happen because you have an old "magit-svn" in
your "~/.emacs.d/elpa/" dir which has a priority over "magit-svn" from
guix?

> (Another thing I noticed is that the ‘git-commit-mode’ module has been
> renamed to ‘git-commit’.  Just mentioning it in case someone gets hit by
> this one.)

As well, as ‘git-rebase-mode’ → ‘git-rebase’.

-- 
Alex



Re: Magit 2 troubleshooting

2015-08-29 Thread Alex Kost
AFAICT the root of the problems you faced is that by default
"~/.guix-profile/share/emacs/site-lisp/" and
"~/.guix-profile/share/emacs/site-lisp/guix.d/…" directories are added
to 'load-path' before "~/.emacs.d/elpa/…" so the packages installed from
elpa/melpa/… have a priority.  This may lead to the problems you have
with the old "dash" and "magit-svn".

I think to avoid such clashes, we may choose not to use propagated
inputs for emacs packages, and to replace (require 'foo) clauses with
(require 'foo "/gnu/store/…") ones instead.  This is Taylan's idea:


-- 
Alex



[PATCHES] Add ruby-pg and adjust Ruby build system

2015-08-29 Thread David Thompson
Unlike a lot of other gems, I was pleasantly surprised that I could
actually run ruby-pg's test suite successfully.  However, I had to tweak
the build system to use shorter file names for the build directory
because the test suite was trying to create a UNIX-domain socket longer
than the maximum of 107.

>From 8f29026d37a66d8bcbddc6f32a6354d93d40f50d Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 21:55:12 -0400
Subject: [PATCH 1/2] build: ruby: Avoid long build directory names.

Having the hash of the source gem in the source directory file name proved to
be problematic when running the test suite for the 'pg' gem that creates
UNIX-domain sockets in the source directory and exceeded the 108 character
limit on GNU/Linux systems.

* guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to
  "gem".
---
 guix/build/ruby-build-system.scm | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm
index 90fab92..4184ccc 100644
--- a/guix/build/ruby-build-system.scm
+++ b/guix/build/ruby-build-system.scm
@@ -44,12 +44,16 @@ directory."
 (define* (unpack #:key source #:allow-other-keys)
   "Unpack the gem SOURCE and enter the resulting directory."
   (and (zero? (system* "gem" "unpack" source))
-   (begin
- ;; The unpacked gem directory is named the same as the archive, sans
- ;; the ".gem" extension.
- (chdir (match:substring (string-match "^(.*)\\.gem$"
-   (basename source))
- 1))
+   ;; The unpacked gem directory is named the same as the archive, sans
+   ;; the ".gem" extension.  It is renamed to simply "gem" in an effort to
+   ;; keep file names shorter to avoid UNIX-domain socket file names and
+   ;; shebangs that exceed the system's fixed maximum length when running
+   ;; test suites.
+   (let ((dir (match:substring (string-match "^(.*)\\.gem$"
+ (basename source))
+   1)))
+ (rename-file dir "gem")
+ (chdir "gem")
  #t)))
 
 (define* (build #:key source #:allow-other-keys)
-- 
2.5.0

>From efced81a77bc4a5a72a430987ab8168196358d47 Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 22:03:51 -0400
Subject: [PATCH 2/2] gnu: Add ruby-pg.

* gnu/packages/ruby.scm (ruby-pg): New variable.
---
 gnu/packages/ruby.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 33da738..29aaffc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -23,6 +23,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages libffi)
@@ -707,3 +708,29 @@ messing up your system.")
 both CSS3 selector and XPath 1.0 support.")
 (home-page "http://www.nokogiri.org/";)
 (license license:expat)))
+
+(define-public ruby-pg
+  (package
+(name "ruby-pg")
+(version "0.18.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "pg" version))
+   (sha256
+(base32
+ "1axxbf6ij1iqi3i1r3asvjc80b0py5bz0m2wy5kdi5xkrpr82kpf"
+(build-system ruby-build-system)
+(arguments
+ '(#:test-target "spec"))
+(native-inputs
+ `(("ruby-rake-compiler" ,ruby-rake-compiler)
+   ("ruby-hoe" ,ruby-hoe)
+   ("ruby-rspec" ,ruby-rspec)))
+(inputs
+ `(("postgresql" ,postgresql)))
+(synopsis "Ruby interface to PostgreSQL")
+(description "Pg is the Ruby interface to the PostgreSQL RDBMS.  It works
+with PostgreSQL 8.4 and later.")
+(home-page "https://bitbucket.org/ged/ruby-pg";)
+(license license:ruby)))
-- 
2.5.0


-- 
David Thompson
GPG Key: 0FF1D807


[PATCHES] Add ruby-pry

2015-08-29 Thread David Thompson
This small patch set adds the Pry, a powerful Ruby REPL (but not as
powerful as Geiser ;), and the missing prerequisites.

>From 2d1757d4b7b940fb0f2da007e6c616370b2b09ad Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 22:53:34 -0400
Subject: [PATCH 1/3] gnu: Add ruby-method-source.

* gnu/packages/ruby.scm (ruby-method-source): New variable.
---
 gnu/packages/ruby.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 23b3178..a51972c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -734,3 +734,25 @@ both CSS3 selector and XPath 1.0 support.")
 with PostgreSQL 8.4 and later.")
 (home-page "https://bitbucket.org/ged/ruby-pg";)
 (license license:ruby)))
+
+(define-public ruby-method-source
+  (package
+(name "ruby-method-source")
+(version "0.8.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "method_source" version))
+   (sha256
+(base32
+ "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"
+(build-system ruby-build-system)
+(native-inputs
+ `(("ruby-bacon" ,ruby-bacon)
+   ("git" ,git)))
+(synopsis "Retrieve the sourcecode for Ruby methods")
+(description "Method_source retrieves the source codefor Ruby methods.
+Additionally, it can extract source code from Proc and Lambda objects or just
+extract comments.")
+(home-page "http://banisterfiend.wordpress.com";)
+(license license:expat)))
-- 
2.5.0

>From 1f418e114ed2436caf35dc2aaaea9fa316a3075c Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 22:54:05 -0400
Subject: [PATCH 2/3] gnu: Add ruby-coderay.

* gnu/packages/ruby.scm (ruby-coderay): New variable.
---
 gnu/packages/ruby.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a51972c..ad31975 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -756,3 +756,23 @@ Additionally, it can extract source code from Proc and Lambda objects or just
 extract comments.")
 (home-page "http://banisterfiend.wordpress.com";)
 (license license:expat)))
+
+(define-public ruby-coderay
+  (package
+(name "ruby-coderay")
+(version "1.1.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "coderay" version))
+   (sha256
+(base32
+ "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s"
+(build-system ruby-build-system)
+(arguments
+ '(#:tests? #f)) ; missing test files
+(synopsis "Ruby syntax highlighting library")
+(description "Coderay is a Ruby library that provides syntax highlighting
+for select languages.")
+(home-page "http://coderay.rubychan.de";)
+(license license:expat)))
-- 
2.5.0

>From 3d5c91be48d77e8de83bba225fd5af29b6cf4158 Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 29 Aug 2015 22:54:24 -0400
Subject: [PATCH 3/3] gnu: Add ruby-pry.

* gnu/packages/ruby.scm (ruby-pry): New variable.
---
 gnu/packages/ruby.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ad31975..23e19f2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -776,3 +776,28 @@ extract comments.")
 for select languages.")
 (home-page "http://coderay.rubychan.de";)
 (license license:expat)))
+
+(define-public ruby-pry
+  (package
+(name "ruby-pry")
+(version "0.10.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "pry" version))
+   (sha256
+(base32
+ "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z"
+(build-system ruby-build-system)
+(arguments
+ '(#:tests? #f)) ; no tests
+(propagated-inputs
+ `(("ruby-coderay" ,ruby-coderay)
+   ("ruby-method-source" ,ruby-method-source)
+   ("ruby-slop" ,ruby-slop)))
+(synopsis "Ruby REPL")
+(description "Pry is an IRB alternative and runtime developer console for
+Ruby.  It features syntax highlighting, a plugin architecture, runtime
+invocation, and source and documentation browsing.")
+(home-page "http://pryrepl.org";)
+(license license:expat)))
-- 
2.5.0


-- 
David Thompson
GPG Key: 0FF1D807


Re: [PATCHES] Add ruby-pry

2015-08-29 Thread Ricardo Wurmus
Hi Dave,

> +(define-public ruby-method-source
> +  (package
> +(name "ruby-method-source")
> +(version "0.8.2")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (rubygems-uri "method_source" version))
> +   (sha256
> +(base32
> + "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"
> +(build-system ruby-build-system)
> +(native-inputs
> + `(("ruby-bacon" ,ruby-bacon)
> +   ("git" ,git)))
> +(synopsis "Retrieve the sourcecode for Ruby methods")

Replace “sourcecode” with “source code”?

> +(description "Method_source retrieves the source codefor Ruby methods.
> +Additionally, it can extract source code from Proc and Lambda objects or just
> +extract comments.")

“codefor” —> “code for”

> +(home-page "http://banisterfiend.wordpress.com";)

This seems to be just a blog, not a project page.  Is there a better
page to use for the ‘home-page’ field?

~~ Ricardo