Patchwork gnu: Add reducelcs

login
register
mail settings
Submitter ng0
Date Sept. 21, 2016, 5:29 p.m.
Message ID <87ponxtb3w.fsf@we.make.ritual.n0.is>
Download mbox | patch
Permalink /patch/15850/
State New
Headers show

Comments

ng0 - Sept. 21, 2016, 5:29 p.m.
Leo Famulari <leo@famulari.name> writes:

> On Sun, Sep 18, 2016 at 06:20:47PM +0000, ng0 wrote:
>> Just because I found this in a search for something else I packaged
>> this. Is this desirable for master? It is very small.
>
> Sure, send it in!
>

Patch

From dae46ce28cd4c51ed8613ccbcc7ed4b018d083ee Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
Date: Sun, 18 Sep 2016 17:58:20 +0000
Subject: [PATCH] gnu: Add reducelcs.

* gnu/packages/lcs.scm (reducelcs): New variable.
---
 gnu/packages/lcs.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 gnu/packages/lcs.scm

diff --git a/gnu/packages/lcs.scm b/gnu/packages/lcs.scm
new file mode 100644
index 0000000..02f3827
--- /dev/null
+++ b/gnu/packages/lcs.scm
@@ -0,0 +1,65 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
+;;;
+;;; 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 (gnu packages lcs)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages maths)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu))
+
+(define-public reducelcs
+  (let ((commit "474f88deb968061abe8cf11c959e02319b8ae5c0")
+        (revision "1"))
+    (package
+      (name "reducelcs")
+      (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/gdv/Reduce-Expand-for-LCS")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1rllzcfwc042c336mhq262a8ha90x6afq30kvk60r7i4761j4yjm"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("openlibm" ,openlibm)))
+      (arguments
+       `(#:tests? #f ; no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure) ; no configure script
+           (replace 'install ; no install phase either
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (install-file "Approximation" bin)
+                 (install-file "CollectResults" bin)
+                 (install-file "GenerateInstances" bin)
+                 #t))))))
+      (synopsis "Fast program to compute the approximate
+Longest Commons Subsequence of a set of strings")
+      (description
+       "@code{reduceLCS} is an implementation of the Reduce-Expand
+algorithm for LCS.  It is a fast program to compute the approximate
+Longest Commons Subsequence of a set of strings.")
+      (home-page "http://gianluca.dellavedova.org/software/")
+      (license license:gpl2))))
-- 
2.10.0