unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCHES] Add vsearch.
@ 2015-09-29 12:24 Ben Woodcroft
  2015-09-30  2:44 ` Ben Woodcroft
  2015-09-30  8:37 ` Ben Woodcroft
  0 siblings, 2 replies; 12+ messages in thread
From: Ben Woodcroft @ 2015-09-29 12:24 UTC (permalink / raw)
  To: guix-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 213 bytes --]

Excellent to see an open source competitor to usearch.

Thanks in advance for review as usual. I'm not especially adept at using 
gcc's flags so perhaps some attention is warranted in the second patch's 
snippet.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-cityhash.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-cityhash.patch", Size: 2010 bytes --]

From e1789cbcfcf7dc6f1657f53bad04fca7180400cc Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Tue, 29 Sep 2015 22:10:33 +1000
Subject: [PATCH 1/2] gnu: Add cityhash.

* gnu/packages/textutils.scm (cityhash): New variable.
---
 gnu/packages/textutils.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 95a8ad1..5204297 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -153,3 +154,26 @@ encoding, supporting Unicode version 7.0.")
      "libgtextutils is a text utilities library used by the fastx toolkit from
 the Hannon Lab.")
     (license license:agpl3+)))
+
+(define-public cityhash
+  (let ((commit "8af9b8c")
+        (revision "1"))
+    (package
+      (name "cityhash")
+      (version (string-append "1.1." revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/google/cityhash.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/google/cityhash")
+    (synopsis "A family of functions for strings")
+    (description
+     "CityHash provides hash functions for strings.  The functions mix the
+input bits thoroughly but are not suitable for cryptography.")
+    (license license:expat))))
-- 
2.4.3


[-- Attachment #3: 0002-gnu-Add-vsearch.patch --]
[-- Type: text/x-patch, Size: 3669 bytes --]

From c2470ec0681ccb18687bae5459247dc869fc8555 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Tue, 29 Sep 2015 22:17:10 +1000
Subject: [PATCH 2/2] gnu: Add vsearch.

* gnu/packages/bioinformatics.scm (vsearch): New variable.
---
 gnu/packages/bioinformatics.scm | 60 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8fc6142..f484efc 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -33,6 +33,7 @@
   #:use-module (guix build-system ruby)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
@@ -53,6 +54,7 @@
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
@@ -2709,6 +2711,64 @@ data in the form of VCF files.")
     ;; at http://vcftools.sourceforge.net/license.html
     (license license:lgpl3)))
 
+(define-public vsearch
+  (package
+    (name "vsearch")
+    (version "1.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/torognes/vsearch/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16cr3wd59qkhb5p4yakphz2k4qd09s9kfgavyzzngal6qzqd4km2"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove bundled cityhash
+           (substitute* "src/Makefile.am"
+             (((string-append "^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash"
+                              " -O3 -mtune=native -Wall -Wsign-compare"))
+              (string-append "AM_CXXFLAGS=-lcityhash"
+                             " -O3 -mtune=native -Wall -Wsign-compare"))
+             (("^__top_builddir__bin_vsearch_SOURCES = cityhash/city.h \\\\")
+              "__top_builddir__bin_vsearch_SOURCES = \\")
+             (("^cityhash/config.h \\\\") "\\")
+             (("^cityhash/city.cc \\\\") "\\"))
+           (substitute* "src/vsearch.h"
+             (("^\\#include \"cityhash/city.h\"")
+              "#include <city.h>"))
+           (delete-file-recursively "src/cityhash")
+           #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'autogen
+                     (lambda _ (zero? (system* "autoreconf" "-vif")))))))
+    (inputs
+     `(("zlib" ,zlib)
+       ("bzip2" ,bzip2)
+       ("cityhash" ,cityhash)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("openssl" ,openssl)))
+    (synopsis "Sequence search tools for metagenomics")
+    (description
+     "VSEARCH supports DNA sequence searching, clustering, chimera detection,
+dereplication, pairwise alignment, shuffling, subsampling, sorting and
+masking.  The tool takes advantage of parallelism in the form of SIMD
+vectorization as well as multiple threads to perform accurate alignments at
+high speed.  VSEARCH uses an optimal global aligner (full dynamic programming
+Needleman-Wunsch).")
+    (home-page "https://github.com/torognes/vsearch")
+    ;; dual licensed
+    (license (list license:gpl3 license:bsd-2))))
+
 (define-public bio-locus
   (package
     (name "bio-locus")
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCHES] Add vsearch.
@ 2015-09-29 22:47 Ben Woodcroft
  2015-10-01 14:05 ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Ben Woodcroft @ 2015-09-29 22:47 UTC (permalink / raw)
  To: guix-devel@gnu.org


[-- Attachment #1.1: Type: text/plain, Size: 254 bytes --]

Apologies if this is a duplicate email.

Excellent to see an open source competitor to usearch.

Thanks in advance for review as usual. I'm not especially adept at using 
gcc's flags so perhaps some attention is warranted in the second patch's 
snippet.

[-- Attachment #1.2: Type: text/html, Size: 604 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-cityhash.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-cityhash.patch", Size: 2010 bytes --]

From e1789cbcfcf7dc6f1657f53bad04fca7180400cc Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Tue, 29 Sep 2015 22:10:33 +1000
Subject: [PATCH 1/2] gnu: Add cityhash.

* gnu/packages/textutils.scm (cityhash): New variable.
---
 gnu/packages/textutils.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 95a8ad1..5204297 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -153,3 +154,26 @@ encoding, supporting Unicode version 7.0.")
      "libgtextutils is a text utilities library used by the fastx toolkit from
 the Hannon Lab.")
     (license license:agpl3+)))
+
+(define-public cityhash
+  (let ((commit "8af9b8c")
+        (revision "1"))
+    (package
+      (name "cityhash")
+      (version (string-append "1.1." revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/google/cityhash.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/google/cityhash")
+    (synopsis "A family of functions for strings")
+    (description
+     "CityHash provides hash functions for strings.  The functions mix the
+input bits thoroughly but are not suitable for cryptography.")
+    (license license:expat))))
-- 
2.4.3


[-- Attachment #3: 0002-gnu-Add-vsearch.patch --]
[-- Type: text/x-patch, Size: 3669 bytes --]

From c2470ec0681ccb18687bae5459247dc869fc8555 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Tue, 29 Sep 2015 22:17:10 +1000
Subject: [PATCH 2/2] gnu: Add vsearch.

* gnu/packages/bioinformatics.scm (vsearch): New variable.
---
 gnu/packages/bioinformatics.scm | 60 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8fc6142..f484efc 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -33,6 +33,7 @@
   #:use-module (guix build-system ruby)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
@@ -53,6 +54,7 @@
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
@@ -2709,6 +2711,64 @@ data in the form of VCF files.")
     ;; at http://vcftools.sourceforge.net/license.html
     (license license:lgpl3)))
 
+(define-public vsearch
+  (package
+    (name "vsearch")
+    (version "1.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/torognes/vsearch/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16cr3wd59qkhb5p4yakphz2k4qd09s9kfgavyzzngal6qzqd4km2"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove bundled cityhash
+           (substitute* "src/Makefile.am"
+             (((string-append "^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash"
+                              " -O3 -mtune=native -Wall -Wsign-compare"))
+              (string-append "AM_CXXFLAGS=-lcityhash"
+                             " -O3 -mtune=native -Wall -Wsign-compare"))
+             (("^__top_builddir__bin_vsearch_SOURCES = cityhash/city.h \\\\")
+              "__top_builddir__bin_vsearch_SOURCES = \\")
+             (("^cityhash/config.h \\\\") "\\")
+             (("^cityhash/city.cc \\\\") "\\"))
+           (substitute* "src/vsearch.h"
+             (("^\\#include \"cityhash/city.h\"")
+              "#include <city.h>"))
+           (delete-file-recursively "src/cityhash")
+           #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'autogen
+                     (lambda _ (zero? (system* "autoreconf" "-vif")))))))
+    (inputs
+     `(("zlib" ,zlib)
+       ("bzip2" ,bzip2)
+       ("cityhash" ,cityhash)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("openssl" ,openssl)))
+    (synopsis "Sequence search tools for metagenomics")
+    (description
+     "VSEARCH supports DNA sequence searching, clustering, chimera detection,
+dereplication, pairwise alignment, shuffling, subsampling, sorting and
+masking.  The tool takes advantage of parallelism in the form of SIMD
+vectorization as well as multiple threads to perform accurate alignments at
+high speed.  VSEARCH uses an optimal global aligner (full dynamic programming
+Needleman-Wunsch).")
+    (home-page "https://github.com/torognes/vsearch")
+    ;; dual licensed
+    (license (list license:gpl3 license:bsd-2))))
+
 (define-public bio-locus
   (package
     (name "bio-locus")
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-09-29 12:24 Ben Woodcroft
@ 2015-09-30  2:44 ` Ben Woodcroft
  2015-09-30  8:37 ` Ben Woodcroft
  1 sibling, 0 replies; 12+ messages in thread
From: Ben Woodcroft @ 2015-09-30  2:44 UTC (permalink / raw)
  To: guix-devel@gnu.org

A new release of vsearch has just been made, I'll send another patch.

On 29/09/15 22:24, Ben Woodcroft wrote:
> Excellent to see an open source competitor to usearch.
>
> Thanks in advance for review as usual. I'm not especially adept at 
> using gcc's flags so perhaps some attention is warranted in the second 
> patch's snippet.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-09-29 12:24 Ben Woodcroft
  2015-09-30  2:44 ` Ben Woodcroft
@ 2015-09-30  8:37 ` Ben Woodcroft
  2015-10-01  8:55   ` Ludovic Courtès
  1 sibling, 1 reply; 12+ messages in thread
From: Ben Woodcroft @ 2015-09-30  8:37 UTC (permalink / raw)
  To: guix-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 320 bytes --]

Updated patchset for vsearch 1.4.1 released today.

ben

On 29/09/15 22:24, Ben Woodcroft wrote:
> Excellent to see an open source competitor to usearch.
>
> Thanks in advance for review as usual. I'm not especially adept at 
> using gcc's flags so perhaps some attention is warranted in the second 
> patch's snippet.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-cityhash.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-cityhash.patch", Size: 2010 bytes --]

From e1789cbcfcf7dc6f1657f53bad04fca7180400cc Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Tue, 29 Sep 2015 22:10:33 +1000
Subject: [PATCH 1/2] gnu: Add cityhash.

* gnu/packages/textutils.scm (cityhash): New variable.
---
 gnu/packages/textutils.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 95a8ad1..5204297 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -153,3 +154,26 @@ encoding, supporting Unicode version 7.0.")
      "libgtextutils is a text utilities library used by the fastx toolkit from
 the Hannon Lab.")
     (license license:agpl3+)))
+
+(define-public cityhash
+  (let ((commit "8af9b8c")
+        (revision "1"))
+    (package
+      (name "cityhash")
+      (version (string-append "1.1." revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/google/cityhash.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/google/cityhash")
+    (synopsis "A family of functions for strings")
+    (description
+     "CityHash provides hash functions for strings.  The functions mix the
+input bits thoroughly but are not suitable for cryptography.")
+    (license license:expat))))
-- 
2.4.3


[-- Attachment #3: 0002-gnu-Add-vsearch.patch --]
[-- Type: text/x-patch, Size: 3694 bytes --]

From 5a403f43bafe129d8a22b1d0ea169c2e97d2fb5b Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Wed, 30 Sep 2015 18:35:32 +1000
Subject: [PATCH 2/2] gnu: Add vsearch.

* gnu/packages/bioinformatics.scm (vsearch): New variable.
---
 gnu/packages/bioinformatics.scm | 59 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8fc6142..25f65ae 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -33,6 +33,7 @@
   #:use-module (guix build-system ruby)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
@@ -53,6 +54,7 @@
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
@@ -2709,6 +2711,63 @@ data in the form of VCF files.")
     ;; at http://vcftools.sourceforge.net/license.html
     (license license:lgpl3)))
 
+(define-public vsearch
+  (package
+    (name "vsearch")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/torognes/vsearch/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0b1359wbzgb2cm04h7dq05v80vik88hnsv298xxd1q1f2q4ydni7"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove bundled cityhash
+           (substitute* "src/Makefile.am"
+             (((string-append "^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash"
+                              " -O3 -mtune=native -Wall -Wsign-compare"))
+              (string-append "AM_CXXFLAGS=-lcityhash"
+                             " -O3 -mtune=native -Wall -Wsign-compare"))
+             (("^__top_builddir__bin_vsearch_SOURCES = cityhash/city.h \\\\")
+              "__top_builddir__bin_vsearch_SOURCES = \\")
+             (("^cityhash/config.h \\\\") "\\")
+             (("^cityhash/city.cc \\\\") "\\"))
+           (substitute* "src/vsearch.h"
+             (("^\\#include \"cityhash/city.h\"")
+              "#include <city.h>"))
+           (delete-file-recursively "src/cityhash")
+           #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'autogen
+                     (lambda _ (zero? (system* "autoreconf" "-vif")))))))
+    (inputs
+     `(("zlib" ,zlib)
+       ("bzip2" ,bzip2)
+       ("cityhash" ,cityhash)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)))
+    (synopsis "Sequence search tools for metagenomics")
+    (description
+     "VSEARCH supports DNA sequence searching, clustering, chimera detection,
+dereplication, pairwise alignment, shuffling, subsampling, sorting and
+masking.  The tool takes advantage of parallelism in the form of SIMD
+vectorization as well as multiple threads to perform accurate alignments at
+high speed.  VSEARCH uses an optimal global aligner (full dynamic programming
+Needleman-Wunsch).")
+    (home-page "https://github.com/torognes/vsearch")
+    ;; dual licensed, plus some public domain source
+    (license (list license:gpl3 license:bsd-2 license:public-domain))))
+
 (define-public bio-locus
   (package
     (name "bio-locus")
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-09-30  8:37 ` Ben Woodcroft
@ 2015-10-01  8:55   ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-10-01  8:55 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel@gnu.org

Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:

> From e1789cbcfcf7dc6f1657f53bad04fca7180400cc Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben@gmail.com>
> Date: Tue, 29 Sep 2015 22:10:33 +1000
> Subject: [PATCH 1/2] gnu: Add cityhash.
>
> * gnu/packages/textutils.scm (cityhash): New variable.

Applied.  I removed “A” from the synopsis as suggested by ‘guix lint’.

> From 5a403f43bafe129d8a22b1d0ea169c2e97d2fb5b Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben@gmail.com>
> Date: Wed, 30 Sep 2015 18:35:32 +1000
> Subject: [PATCH 2/2] gnu: Add vsearch.
>
> * gnu/packages/bioinformatics.scm (vsearch): New variable.

[...]

> +           ;; Remove bundled cityhash
> +           (substitute* "src/Makefile.am"
> +             (((string-append "^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash"
> +                              " -O3 -mtune=native -Wall -Wsign-compare"))
> +              (string-append "AM_CXXFLAGS=-lcityhash"
> +                             " -O3 -mtune=native -Wall -Wsign-compare"))

I changed that to remove -mtune=native, which would produce binaries
that can only work on the build machine, and to use a string literal for
the pattern.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-09-29 22:47 [PATCHES] Add vsearch Ben Woodcroft
@ 2015-10-01 14:05 ` Ludovic Courtès
  2015-10-01 19:41   ` Andreas Enge
  2015-10-03  1:59   ` Ben Woodcroft
  0 siblings, 2 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-10-01 14:05 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel@gnu.org

Vsearch fails to build on platforms other than x86_64 (see
<http://hydra.gnu.org/build/703292/nixlog/2/raw>):

--8<---------------cut here---------------start------------->8---
In file included from /gnu/store/r0p8d0a3n2zlkj1l5a9xv368yhbgc5bh-gcc-4.9.3-lib/lib/gcc/i686-unknown-linux-gnu/4.9.3/include/xmmintrin.h:1258:0,
                 from /gnu/store/r0p8d0a3n2zlkj1l5a9xv368yhbgc5bh-gcc-4.9.3-lib/lib/gcc/i686-unknown-linux-gnu/4.9.3/include/x86intrin.h:31,
                 from vsearch.h:69,
                 from align_simd.cc:61:
/gnu/store/r0p8d0a3n2zlkj1l5a9xv368yhbgc5bh-gcc-4.9.3-lib/lib/gcc/i686-unknown-linux-gnu/4.9.3/include/emmintrin.h:686:1: error: inlining failed in call to always_inline ‘__m128i _mm_load_si128(const __m128i*)’: target specific option mismatch
 _mm_load_si128 (__m128i const *__P)
 ^
align_simd.cc:204:71: error: called from here
       xmm1  = _mm_load_si128((__m128i*)(score_matrix_word + d[1] + i));
--8<---------------cut here---------------end--------------->8---

My impression is that the code unconditionally uses SSE, meaning that it
works only on x86_64.

Could you investigate a bit?  If that is the case, could you send a
patch that adds:

  (supported-platforms '("x86_64-linux"))

with a comment explaining why?

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-10-01 14:05 ` Ludovic Courtès
@ 2015-10-01 19:41   ` Andreas Enge
  2015-10-02 11:40     ` Ricardo Wurmus
  2015-10-03  1:59   ` Ben Woodcroft
  1 sibling, 1 reply; 12+ messages in thread
From: Andreas Enge @ 2015-10-01 19:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel@gnu.org

Hello,

my impression is that quite a few of the packages from scientific computing
and bioinformatics fail to build on non-x86 architectures, and maybe even on
i686. Presumably, there is not much interest in running such specialised code
on less performing hardware.

It would be good if someone with more interest in them could have a look
whether this is indeed the case and then propose a supported-platforms
patch. Otherwise, we could try to fix the problems. Looking at the debian
packages could help determine whether we might obtain arm and mips packages.

Thanks in advance,

Andreas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-10-01 19:41   ` Andreas Enge
@ 2015-10-02 11:40     ` Ricardo Wurmus
  2015-10-02 18:05       ` Andreas Enge
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2015-10-02 11:40 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel@gnu.org


Andreas Enge <andreas@enge.fr> writes:

> my impression is that quite a few of the packages from scientific computing
> and bioinformatics fail to build on non-x86 architectures, and maybe even on
> i686. Presumably, there is not much interest in running such specialised code
> on less performing hardware.
>
> It would be good if someone with more interest in them could have a look
> whether this is indeed the case and then propose a supported-platforms
> patch. Otherwise, we could try to fix the problems. Looking at the debian
> packages could help determine whether we might obtain arm and mips packages.

Some applications do in fact use x86_64 instructions unconditionally,
which results in a couple of packages to fail compilation on i686, mips
and arm.  These are pretty easy to identify by looking at the build
logs.  For some of these scientific applications, upstream is not
interested in fixing the build failures as they only support x86_64.

On the other hand we have many more packages that cannot currently be
built because they depend on libraries or applications that fail on
i686, mips or arm.  I’m hoping to look at the icedtea and openblas
failures on mips and arm on Sunday.

~~ Ricardo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-10-02 11:40     ` Ricardo Wurmus
@ 2015-10-02 18:05       ` Andreas Enge
  0 siblings, 0 replies; 12+ messages in thread
From: Andreas Enge @ 2015-10-02 18:05 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel@gnu.org

Hi Ricardo,

On Fri, Oct 02, 2015 at 01:40:07PM +0200, Ricardo Wurmus wrote:
> On the other hand we have many more packages that cannot currently be
> built because they depend on libraries or applications that fail on
> i686, mips or arm.  I’m hoping to look at the icedtea and openblas
> failures on mips and arm on Sunday.

thanks for picking up the ball! Openblas now compiles on arm, but Mark's
question whether we really need to disable substitutes remains open.

Another thing to look at for someone interested in the package is r, which
fails to build on arm and which has a lot of other packages depending on it.

Andreas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-10-01 14:05 ` Ludovic Courtès
  2015-10-01 19:41   ` Andreas Enge
@ 2015-10-03  1:59   ` Ben Woodcroft
  2015-10-03 12:00     ` Andreas Enge
  2015-10-03 20:50     ` Ludovic Courtès
  1 sibling, 2 replies; 12+ messages in thread
From: Ben Woodcroft @ 2015-10-03  1:59 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1891 bytes --]



On 02/10/15 00:05, Ludovic Courtès wrote:
> Vsearch fails to build on platforms other than x86_64 (see
> <http://hydra.gnu.org/build/703292/nixlog/2/raw>):
>
> --8<---------------cut here---------------start------------->8---
> In file included from /gnu/store/r0p8d0a3n2zlkj1l5a9xv368yhbgc5bh-gcc-4.9.3-lib/lib/gcc/i686-unknown-linux-gnu/4.9.3/include/xmmintrin.h:1258:0,
>                   from /gnu/store/r0p8d0a3n2zlkj1l5a9xv368yhbgc5bh-gcc-4.9.3-lib/lib/gcc/i686-unknown-linux-gnu/4.9.3/include/x86intrin.h:31,
>                   from vsearch.h:69,
>                   from align_simd.cc:61:
> /gnu/store/r0p8d0a3n2zlkj1l5a9xv368yhbgc5bh-gcc-4.9.3-lib/lib/gcc/i686-unknown-linux-gnu/4.9.3/include/emmintrin.h:686:1: error: inlining failed in call to always_inline ‘__m128i _mm_load_si128(const __m128i*)’: target specific option mismatch
>   _mm_load_si128 (__m128i const *__P)
>   ^
> align_simd.cc:204:71: error: called from here
>         xmm1  = _mm_load_si128((__m128i*)(score_matrix_word + d[1] + i));
> --8<---------------cut here---------------end--------------->8---
>
> My impression is that the code unconditionally uses SSE, meaning that it
> works only on x86_64.
>
> Could you investigate a bit?  If that is the case, could you send a
> patch that adds:
>
>    (supported-platforms '("x86_64-linux"))
>
> with a comment explaining why?
I think you are right, I have attached the patch.

I also noticed that the license definition was changed from the first 
patch applied, removing the public-domain license i.e. from

+    (license (list license:gpl3 license:bsd-2 license:public-domain))))

to

+    (license (list license:gpl3 license:bsd-2))))

Of course you know what you are doing, I just wanted to check because 
this changed between the patches I submitted for 1.4.0 and 1.4.1.

Thanks,
ben

[-- Attachment #2: 0001-gnu-vsearch-Restrict-supported-systems-to-x86_64-lin.patch --]
[-- Type: text/x-patch, Size: 1081 bytes --]

From 28497af997b07a57ce6006b19c50a467a4f3907f Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Sat, 3 Oct 2015 11:46:22 +1000
Subject: [PATCH] gnu: vsearch: Restrict supported systems to x86_64-linux

* gnu/packages/bioinformatics.scm (vsearch): Restrict supported systems.
---
 gnu/packages/bioinformatics.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b04c288..a3619be 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2766,6 +2766,9 @@ vectorization as well as multiple threads to perform accurate alignments at
 high speed.  VSEARCH uses an optimal global aligner (full dynamic programming
 Needleman-Wunsch).")
     (home-page "https://github.com/torognes/vsearch")
+    ;; vsearch uses non-portable SSE instrinsics so building fails on other
+    ;; platforms.
+    (supported-systems '("x86_64-linux"))
     ;; Dual licensed; also includes public domain source.
     (license (list license:gpl3 license:bsd-2))))
 
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-10-03  1:59   ` Ben Woodcroft
@ 2015-10-03 12:00     ` Andreas Enge
  2015-10-03 20:50     ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Andreas Enge @ 2015-10-03 12:00 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel@gnu.org

On Sat, Oct 03, 2015 at 11:59:33AM +1000, Ben Woodcroft wrote:
> I think you are right, I have attached the patch.

Thanks, I just pushed it.

Andreas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCHES] Add vsearch.
  2015-10-03  1:59   ` Ben Woodcroft
  2015-10-03 12:00     ` Andreas Enge
@ 2015-10-03 20:50     ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-10-03 20:50 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel@gnu.org

Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:

> I also noticed that the license definition was changed from the first
> patch applied, removing the public-domain license i.e. from
>
> +    (license (list license:gpl3 license:bsd-2 license:public-domain))))
>
> to
>
> +    (license (list license:gpl3 license:bsd-2))))

Right, I did that because the fact that there are public-domain files in
it does not have any influence on the license of the combined work.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-10-03 20:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-29 22:47 [PATCHES] Add vsearch Ben Woodcroft
2015-10-01 14:05 ` Ludovic Courtès
2015-10-01 19:41   ` Andreas Enge
2015-10-02 11:40     ` Ricardo Wurmus
2015-10-02 18:05       ` Andreas Enge
2015-10-03  1:59   ` Ben Woodcroft
2015-10-03 12:00     ` Andreas Enge
2015-10-03 20:50     ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2015-09-29 12:24 Ben Woodcroft
2015-09-30  2:44 ` Ben Woodcroft
2015-09-30  8:37 ` Ben Woodcroft
2015-10-01  8:55   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).