diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm new file mode 100644 index 0000000..a13606c --- /dev/null +++ b/gnu/packages/ruby.scm @@ -0,0 +1,99 @@ +;;; 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) + #:select (rl)) + #: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) +;;; #:use-module (guix build-system trivial)) +) + +(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")) + ;;; (patch-flags '("p76")) + (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" + ;;; "tool/config.guess" + ) + (("/bin/sh") (which "sh")))) + %standard-phases)))) + + (inputs + `(("readline" ,readline) + ("autoconf" ,autoconf) + ("openssl" ,openssl) + ("libffi" ,libffi) + ("gdbm" ,gdbm) + ("zlib" ,zlib) + )) + + (synopsis "Ruby") + (home-page "https://www.ruby-lang.org/en/") + (synopsis + "Ruby programming language") + (description + "Ruby description") + (license rl))) + diff --git a/guix/licenses.scm b/guix/licenses.scm index 23e4458..d9b71d7 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -255,6 +255,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 rl + (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"