aboutsummaryrefslogtreecommitdiff
path: root/gn
diff options
context:
space:
mode:
authorRoel Janssen2016-03-30 16:58:02 +0200
committerRoel Janssen2016-03-30 16:58:02 +0200
commite9140218a59e71770ff408320f0f0adf04925c87 (patch)
treeaeccff3e6728420c546a8e00dad016fe17733623 /gn
parent968df22e894541b5750d857e12e990230bbc35e4 (diff)
parentf537772b8b48f5fa05606afd1573ff003f991ce0 (diff)
downloadguix-bioinformatics-e9140218a59e71770ff408320f0f0adf04925c87.tar.gz
Merge branch 'master' of https://github.com/genenetwork/guix-bioinformatics
Diffstat (limited to 'gn')
-rw-r--r--gn/packages/bioinformatics.scm52
-rw-r--r--gn/packages/elixir.scm67
-rw-r--r--gn/packages/erlang.scm100
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)))