diff options
-rw-r--r-- | gn/packages/bioinformatics.scm | 52 | ||||
-rw-r--r-- | gn/packages/elixir.scm | 67 | ||||
-rw-r--r-- | gn/packages/erlang.scm | 100 |
3 files changed, 110 insertions, 109 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 1f6052e..68095e9 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -78,7 +78,7 @@ (propagated-inputs `(("python" ,python-2) ("r" ,r) - ("r-dnacopy" ,r-dnacopy) + ;; ("r-dnacopy" ,r-dnacopy) <-- missing in Pjotr's tree ("bedtools" ,bedtools) ("samtools" ,samtools))) (arguments @@ -1049,56 +1049,6 @@ subset of samtools functionality, including view, index, sort, markdup, and depth.") (license license:gpl2+)))) -(define-public picard - (package - (name "picard") - (version "2.1.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/broadinstitute/picard/archive/" - version ".tar.gz")) - (sha256 - (base32 "")))) - (build-system gnu-build-system) - (home-page "http://broadinstitute.github.io/picard/") - (synopsis "A set of Java command line tools for manipulating high-throughput -sequencing data (HTS) data and formats") - (description "Picard comprises Java-based command-line utilities that -manipulate SAM files, and a Java API (HTSJDK) for creating new programs that -read and write SAM files. Both SAM text format and SAM binary (BAM) format are -supported.") - ;; The license is MIT. - (license license:expat) -)) - -(define-public fastqc - (package - (name "fastqc") - (version "0.11.4") - (source - (origin - (method url-fetch) - (uri (string-append - "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v" - version "_source.zip")) - (sha256 - (base32 "")))) - (build-system gnu-build-system) - (arguments - `(("perl" ,perl) ; Needed to run the java command. - ("jdk" ,icedtea "jdk"))) - (native-inputs - `(("ant" ,ant) ; TODO: Most Java packages need Ant, but in this case, IDK.. - ("jdk" ,icedtea "jdk") - ;;("htsjdk" ,htsjdk) ; It is based on htsjdk, but it ships its own copy. - ("unzip" ,unzip))) - (home-page "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/") - (synopsis "A quality control tool for high throughput sequence data") - (description - "FastQC aims to provide a QC report which can spot problems which originate either in the sequencer or in the starting library material. It can either run as a stand alone interactive application for the immediate analysis of small numbers of FastQ files, or it can be run in a non-interactive mode where it would be suitable for integrating into a larger analysis pipeline for the systematic processing of large numbers of files.") - (license license:gpl3+))) (define-public vcflib (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")) diff --git a/gn/packages/elixir.scm b/gn/packages/elixir.scm new file mode 100644 index 0000000..2f9bcc3 --- /dev/null +++ b/gn/packages/elixir.scm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> +;;; Copyright © 2016 Leo Famulari <leo@famulari.name> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +(define-module (gn packages elixir) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gn packages erlang) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages tls)) + +(define-public elixir + (package + (name "elixir") + (version "1.2.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/elixir-lang/elixir/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09s8469830s4070i0m04fxdhqimkdyc5k9jylm5vpfz9l3z4wvl8")))) + (build-system gnu-build-system) + (inputs + `(("erlang" ,erlang))) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (add-before + 'build 'rewrite-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "bin/elixir" + (("ERL_EXEC=\"erl\"") (string-append "ERL_EXEC=" (which "erl")))))) + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "make" "test"))))))) + ) + #:make-flags (list (string-append "PREFIX=" %output)) + #:tests? #f)) ;; 2845 tests, 12 failures + (home-page "http://elixir-lang.org/") + (synopsis "The Elixir programming language") +(description "Elixir is a dynamic, functional language designed for +building scalable and maintainable applications. Elixir leverages the +Erlang VM, known for running low-latency, distributed and +fault-tolerant systems, while also being successfully used in web +development and the embedded software domain.") + (license license:asl2.0))) diff --git a/gn/packages/erlang.scm b/gn/packages/erlang.scm index ebf98cf..117057b 100644 --- a/gn/packages/erlang.scm +++ b/gn/packages/erlang.scm @@ -22,17 +22,14 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) - #:use-module (gnu packages base) - #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages tls)) (define-public erlang - ;; Keep in sync with 'erlang-manpages'! (package (name "erlang") + ;; When updating, remember to update the hash of erlang-manpages! (version "18.3") (source (origin (method url-fetch) @@ -45,7 +42,17 @@ "1hy9slq9gjvwdb504dmvp6rax90isnky6chqkyq5v4ybl4lq3azx")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl))) + `(("perl" ,perl) + + ;; Erlang's documentation is distributed in a separate tarball. + ("erlang-manpages" + ,(origin + (method url-fetch) + (uri (string-append "http://erlang.org/download/otp_doc_man_" + version ".tar.gz")) + (sha256 + (base32 + "1hpcr7a3dx2y9gnb53bvb4g6lyvbwigadl9s3f978s01x40f32wp")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl))) @@ -54,28 +61,28 @@ (list (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))) #:phases (modify-phases %standard-phases - (add-after 'patch-source-shebangs 'patch-source-env - (lambda _ - (let ((escripts - (append - (find-files "." "\\.escript") - (find-files "lib/stdlib/test/escript_SUITE_data/") - '("erts/lib_src/utils/make_atomics_api" - "erts/preloaded/src/add_abstract_code" - "lib/diameter/bin/diameterc" - "lib/reltool/examples/display_args" - "lib/reltool/examples/mnesia_core_dump_viewer" - "lib/snmp/src/compile/snmpc.src" - "make/verify_runtime_dependencies" - "make/emd2exml.in")))) - (substitute* escripts - (("/usr/bin/env") (which "env")))))) (add-after 'unpack 'path-to-rm (lambda _ (substitute* "erts/configure" (("/bin/rm") (which "rm"))) (substitute* "lib/odbc/configure" (("/bin/rm") (which "rm"))))) + (add-after 'patch-source-shebangs 'patch-source-env + (lambda _ + (let ((escripts + (append + (find-files "." "\\.escript") + (find-files "lib/stdlib/test/escript_SUITE_data/") + '("erts/lib_src/utils/make_atomics_api" + "erts/preloaded/src/add_abstract_code" + "lib/diameter/bin/diameterc" + "lib/reltool/examples/display_args" + "lib/reltool/examples/mnesia_core_dump_viewer" + "lib/snmp/src/compile/snmpc.src" + "make/verify_runtime_dependencies" + "make/emd2exml.in")))) + (substitute* escripts + (("/usr/bin/env") (which "env")))))) (add-before 'configure 'set-erl-top (lambda _ (setenv "ERL_TOP" (getcwd)))) @@ -83,7 +90,20 @@ ;; This only works after install. (lambda _ (substitute* (string-append (assoc-ref %outputs "out") "/bin/erl") - (("sed") (which "sed")))))) + (("sed") (which "sed"))))) + (add-after 'install 'install-doc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (manpages (assoc-ref inputs "erlang-manpages")) + (share (string-append out "/share/"))) + (mkdir-p share) + (with-directory-excursion share + (and + (zero? (system* "tar" "xvf" manpages)) + ;; Delete superfluous files. + (for-each delete-file '("COPYRIGHT" + "PR.template" + "README")))))))) #:test-target "release_tests")) (home-page "http://erlang.org/") (synopsis "The Erlang programming language") @@ -94,39 +114,3 @@ availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.") (license license:asl2.0))) - -(define-public erlang-manpages - ;; Keep in sync with 'erlang'! - (package - (name "erlang-manpages") - (version (package-version erlang)) - (source (origin - (method url-fetch) - (uri (string-append "http://erlang.org/download/otp_doc_man_" - version ".tar.gz")) - (sha256 - (base32 - "1hpcr7a3dx2y9gnb53bvb4g6lyvbwigadl9s3f978s01x40f32wp")))) - (build-system trivial-build-system) - (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((gz (assoc-ref %build-inputs "gzip")) - (tar (assoc-ref %build-inputs "tar")) - (out (assoc-ref %outputs "out")) - (man (string-append out "/share/man"))) - (setenv "PATH" (string-append tar "/bin:" gz "/bin")) - (mkdir-p man) - (with-directory-excursion man - (zero? (system* "tar" "xvf" - (assoc-ref %build-inputs "source")))) - (delete-file (string-append man "/PR.template")) - (delete-file (string-append man "/README")))))) - (native-inputs `(("tar" ,tar) - ("gzip" ,gzip))) - (synopsis "Man pages of Erlang") - (description "This provides the man pages of Erlang.") - (home-page (package-home-page erlang)) - (license license:asl2.0))) |