Thanks Mark, that's the only change in the attached patch, except that
"license:" is added too.
On 22/06/15 04:23, Ricardo Wurmus wrote:
Pjotr Prins <pjotr.publi...@thebird.nl> writes:
It is quite common in bioinformatics tools to include foreign code.
One reason in favour of including the original setup that is it is
THAT what the authors and others test and run. Bringing in our own
dependencies is bound to open a can of worms - there often is a reason
they bring in that packaged code. One reason is that they depend on an older
version ;).
With Guix we have no problem with packaging older versions. I have
untangled a number of applications with bundled libraries before. It is
doable, better for reproducibility, and better for security.
I often submit bug reports upstream when I encounter bundling when
attempting to package software and I encourage others to do the same.
~~ Ricardo
In general I agree Ricardo. I find devs do this sometimes also because
they are trying to help their users. It is as if they need some kind of
package distribution system. Hopefully if guix takes off devs will
increasingly not bundle dependencies because they can rely on guix to do
it for them, in turn making them easier to package. In this case easel
is quite baked in from my brief look e.g. hard coded paths to it in
configure.ac, and anyway I was unable to source easel separately (the
bioeasel.org domain seems to have lapsed), and I'm not aware of many
other software packages using it anyway (but cannot know for sure).
Speaking of pleasant thoughts, for many reasons there's a lot of
software in bioinformatics that has zero testing, which is bad. The
pleasant thing is that in a packaging system that runs tests of packages
that rely on other packages, if the downstream package has tests that
fail because the upstream package no longer works then hydra will know
about this through the magic of continuous integrations. So I don't need
to write tests for my software, I just need to make sure the software is
used by other devs that do use tests, right?
>From 5002a93221dbd77c8dbb4212eb463e13bf4b9361 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrust...@gmail.com>
Date: Wed, 24 Jun 2015 11:16:53 +1000
Subject: [PATCH] gnu: Add hmmer.
* gnu/packages/bioinformatics.scm (hmmer): New variable.
---
gnu/packages/bioinformatics.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8dfaff3..32d1cbd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1032,6 +1032,35 @@ several alignment strategies enable effective alignment of RNA-seq reads, in
particular, reads spanning multiple exons.")
(license license:gpl3+)))
+(define-public hmmer
+ (package
+ (name "hmmer")
+ (version "3.1b2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://selab.janelia.org/software/hmmer"
+ (version-prefix version 1) "/"
+ version "/hmmer-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("perl", perl)))
+ (home-page "http://hmmer.janelia.org")
+ (synopsis "Biosequence analysis using profile hidden Markov models")
+ (description
+ "HMMER is used for searching sequence databases for homologs of protein
+sequences, and for making protein sequence alignments. It implements methods
+using probabilistic models called profile hidden Markov models (profile
+HMMs).")
+ (license (list license:gpl3+
+ ;; The bundled library 'easel' is distributed
+ ;; under The Janelia Farm Software License.
+ (license: non-copyleft
+ "file://easel/LICENSE"
+ "See easel/LICENSE in the distribution.")))))
+
(define-public htseq
(package
(name "htseq")
--
2.1.4