guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add seqtk.


From: Mark H Weaver
Subject: Re: [PATCH] Add seqtk.
Date: Wed, 24 Jun 2015 08:09:11 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Ben Woodcroft <address@hidden> 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 <address@hidden>
> 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<N> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]