From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Thompson Subject: [PATCH 1/3] gnu: Add ruby. Date: Sun, 28 Sep 2014 11:22:38 -0400 Message-ID: <1411917760-28557-1-git-send-email-dthompson2@worcester.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYGJY-0006hF-0o for guix-devel@gnu.org; Sun, 28 Sep 2014 11:23:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XYGJT-0004J4-1s for guix-devel@gnu.org; Sun, 28 Sep 2014 11:23:07 -0400 Received: from na3sys009aog135.obsmtp.com ([74.125.149.84]:33553) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYGJS-0004Io-OG for guix-devel@gnu.org; Sun, 28 Sep 2014 11:23:02 -0400 Received: by mail-qg0-f53.google.com with SMTP id e89so10528541qgf.12 for ; Sun, 28 Sep 2014 08:22:55 -0700 (PDT) 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 Cc: Pjotr Prins From: Pjotr Prins * gnu/packages/ruby.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * guix/licenses.scm (ruby): New variable. --- gnu-system.am | 1 + gnu/packages/ruby.scm | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++ guix/licenses.scm | 6 ++++ 3 files changed, 97 insertions(+) create mode 100644 gnu/packages/ruby.scm diff --git a/gnu-system.am b/gnu-system.am index e774f50..126f4e3 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -214,6 +214,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/readline.scm \ gnu/packages/rrdtool.scm \ gnu/packages/rsync.scm \ + gnu/packages/ruby.scm \ gnu/packages/rush.scm \ gnu/packages/samba.scm \ gnu/packages/scheme.scm \ diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm new file mode 100644 index 0000000..cded7e9 --- /dev/null +++ b/gnu/packages/ruby.scm @@ -0,0 +1,90 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Pjotr Prins +;;; Copyright © 2014 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages ruby) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages readline) + #:use-module (gnu packages openssl) + #:use-module (gnu packages autotools) + #:use-module (gnu packages libffi) + #:use-module (gnu packages gdbm) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu)) + +(define-public ruby + (package + (name "ruby") + (version "2.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-" + version ".tar.gz")) + (sha256 + (base32 + "00bz6jcbxgnllplk4b9lnyc3w8yd3pz5rn11rmca1s8cn6vvw608")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:parallel-tests? #f + #:phases + (alist-cons-after + ;; Minor patch: + ;; https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/45225/diff/ + 'unpack 'patch-readline + (lambda _ + (substitute* '("ext/readline/readline.c") + (("Function ") "rl_hook_func_t "))) + (alist-cons-before + 'configure 'replace-bin-sh + (lambda _ + (substitute* '("Makefile.in" + "ext/pty/pty.c" + "io.c" + "lib/mkmf.rb" + "process.c" + "test/rubygems/test_gem_ext_configure_builder.rb" + "test/rdoc/test_rdoc_parser.rb" + "test/ruby/test_rubyoptions.rb" + "test/ruby/test_process.rb" + "test/ruby/test_system.rb" + "tool/rbinstall.rb") + (("/bin/sh") (which "sh")))) + %standard-phases)))) + (inputs + `(("readline" ,readline) + ("autoconf" ,autoconf) + ("openssl" ,openssl) + ("libffi" ,libffi) + ("gdbm" ,gdbm) + ("zlib" ,zlib))) + (native-search-paths + (list (search-path-specification + (variable "GEM_PATH") + (directories '("lib/ruby/gems/2.1.3"))))) + (synopsis "Ruby programming language interpreter") + (description "Ruby is a dynamic object-oriented programming language with +a focus on simplicity and productivity.") + (home-page "https://ruby-lang.org") + (license license:ruby))) + diff --git a/guix/licenses.scm b/guix/licenses.scm index 23e4458..65ef06c 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -42,6 +42,7 @@ openldap2.8 openssl psfl public-domain qpl + ruby vim x11 x11-style zlib @@ -255,6 +256,11 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:QPLv1.0" "http://www.gnu.org/licenses/license-list.html#QPL")) +(define ruby + (license "Ruby License" + "http://directory.fsf.org/wiki/License:Ruby" + "https://www.ruby-lang.org/en/about/license.txt")) + (define vim (license "Vim" "http://directory.fsf.org/wiki/License:Vim7.2" -- 2.1.0