From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: [PATCH] Add seqtk. Date: Wed, 24 Jun 2015 08:09:11 -0400 Message-ID: <87zj3pi9zs.fsf@netris.org> References: <558A3B1A.4010700@uq.edu.au> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37818) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7jUd-00080d-5I for guix-devel@gnu.org; Wed, 24 Jun 2015 08:09:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7jUZ-000618-1g for guix-devel@gnu.org; Wed, 24 Jun 2015 08:09:27 -0400 Received: from world.peace.net ([50.252.239.5]:58346) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7jUY-00060o-Un for guix-devel@gnu.org; Wed, 24 Jun 2015 08:09:22 -0400 In-Reply-To: <558A3B1A.4010700@uq.edu.au> (Ben Woodcroft's message of "Wed, 24 Jun 2015 15:07:38 +1000") 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: Ben Woodcroft Cc: guix-devel@gnu.org Ben Woodcroft writes: > I feel somewhat honoured to even be mentioned in the same thread as kseq.h :-) > From 48d3adae4bcada110df3fb7d8c5ddc55ad2000ff Mon Sep 17 00:00:00 2001 > From: Ben Woodcroft > Date: Wed, 24 Jun 2015 15:04:48 +1000 > Subject: [PATCH] gnu: Add seqtk. > > * gnu/packages/bioinformatics.scm (seqtk): New variable. > --- > gnu/packages/bioinformatics.scm | 45 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) > > diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm > index 8dfaff3..e4575ae 100644 > --- a/gnu/packages/bioinformatics.scm > +++ b/gnu/packages/bioinformatics.scm > @@ -1573,6 +1573,51 @@ any particular back-end implementation, and supports use of multiple back-ends > simultaneously.") > (license license:public-domain))) > > +(define-public seqtk > + (let ((commit "4feb6e814")) > + (package > + (name "seqtk") > + ;; version number from running 'seqtk' after installation > + (version (string-append "1.0-r82." commit)) > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/lh3/seqtk.git") > + (commit commit))) > + (sha256 > + (base32 > + "0wdkz8chkinfm23cg95nrn797lv12n2wxglwb3s2kvf0iv3rrx01")))) > + (build-system gnu-build-system) > + (arguments > + `(#:tests? #f > + #:phases The misalignment of the code above in this email was caused by your use of tabs. Please do not use tabs anywhere in *.scm files in Guix. (This is also an issue in your yaggo patch.) Please add a brief comment explaining why tests are disabled, in this case: "#:tests? #f ;no test suite". > + (modify-phases %standard-phases > + (delete 'configure) > + (replace 'build > + (lambda* _ > + (zero? (system* "make")))) Why replace the default 'build' phase of the gnu-build-system here? The only difference is that the default build phase adds -j to enable a parallel build by default. > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((bin (string-append > + (assoc-ref outputs "out") > + "/bin/"))) > + (mkdir-p bin) > + (copy-file "seqtk" (string-append > + bin "seqtk")) > + (copy-file "trimadap" (string-append > + bin "trimadap")))))))) Phase procedures should return a boolean indicating whether the phase succeeded, but the return value of 'copy-file' is not specified. Please add #t after the last call to 'copy-file'. > + (native-inputs > + `(("zlib" ,zlib))) zlib needs to be a normal input here, so please replace "native-inputs" with "inputs". > + (home-page "https://github.com/lh3/seqtk") > + (synopsis "Toolkit for processing sequences in FASTA/Q formats") > + (description > + "Seqtk is a fast and lightweight tool for processing sequences in > +the FASTA or FASTQ format. It seamlessly parses both FASTA and FASTQ > +files which can also be optionally compressed by gzip.") > + (license (license:non-copyleft > + "file://src/LICENSE" > + "See src/LICENSE in the distribution."))))) It's the expat license, so just write "(license license:expat)". The author calls it "The MIT License", but that term is misleading since MIT has used many licenses for software, e.g. the X11 license. However, there's a bigger problem here. Some of the code is not clearly licensed or has invalid copyright notices: * The copyright notice on kstring.h lacks copyright dates. * The copyright dates in seqtk.c and LICENSE are incorrect ("20082-2012"). * ksw.h and trimadap.c lack any copyright notice at all. The mere presence of a LICENSE file is not enough, especially given the lack of any statement about the code license in the README. Would you be willing to ask the author to fix these issues? Mark