From 2651a5e6952785347f35f337b2cb65568d73d080 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Tue, 14 Apr 2015 14:24:01 +0200
Subject: [PATCH] gnu: Add NGS Java bindings.

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

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b5c557bb95f..4c4eedba2bd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1087,6 +1087,42 @@ (define-public ngs-sdk
 simultaneously.")
     (license license:public-domain)))
 
+(define-public ngs-java
+  (package (inherit ngs-sdk)
+    (name "ngs-java")
+    (arguments
+     `(,@(substitute-keyword-arguments
+             `(#:modules ((guix build gnu-build-system)
+                          (guix build utils)
+                          (srfi srfi-1)
+                          (srfi srfi-26))
+                         ,@(package-arguments ngs-sdk))
+           ((#:phases phases)
+            `(alist-cons-after
+              'enter-dir 'fix-java-symlink-installation
+              (lambda _
+                ;; Only replace the version suffix, not the version number in
+                ;; the directory name.  Reported here:
+                ;; https://github.com/ncbi/ngs/pull/4
+                (substitute* "Makefile.java"
+                  (((string-append "\\$\\(subst "
+                                   "(\\$\\(VERSION[^\\)]*\\)),"
+                                   "(\\$\\([^\\)]+\\)),"
+                                   "(\\$\\([^\\)]+\\)|\\$\\@)"
+                                   "\\)")
+                    _ pattern replacement target)
+                   (string-append "$(patsubst "
+                                  "%" pattern ","
+                                  "%" replacement ","
+                                  target ")"))))
+              (alist-replace
+               'enter-dir (lambda _ (chdir "ngs-java") #t)
+               ,phases))))))
+    (inputs
+     `(("jdk" ,icedtea6 "jdk")
+       ("ngs-sdk" ,ngs-sdk)))
+    (synopsis "Java bindings for NGS SDK")))
+
 (define-public seqan
   (package
     (name "seqan")
-- 
GitLab