summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-08-27 18:05:20 +0300
committerEfraim Flashner <efraim@flashner.co.il>2020-08-27 18:05:20 +0300
commitafa352223f103388ddbc2d7aae82949a561ec4e1 (patch)
tree50bf673a19851fb0ad6faa2809e3d89d4c171ccc /gnu
parent261bc778b6b7970937bda6996972f27f996be4bd (diff)
gnu: smithwaterman: Build and install shared library and headers.
* gnu/packages/bioinformatics.scm (smithwaterman)[arguments]: Add custom phase to build PIE objects. Add custom 'build-dynamic phase to build dynamic library. Adjust custom 'install phase to install shared library and headers.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/bioinformatics.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 53778675b9..49122aa714 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -15454,12 +15454,29 @@ some of the details of opening and jumping in tabix-indexed files.")
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "Makefile"
+ (("-c ") "-c -fPIC "))
+ #t))
+ (add-after 'build 'build-dynamic
+ (lambda _
+ (invoke "g++"
+ "-shared" "-o" "libsmithwaterman.so"
+ "smithwaterman.o" "SmithWatermanGotoh.o"
+ "disorder.o" "BandedSmithWaterman.o"
+ "LeftAlign.o" "Repeats.o" "IndelAllele.o")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib")))
(install-file "smithwaterman" bin)
+ (for-each
+ (lambda (file)
+ (install-file file (string-append out "/include/smithwaterman")))
+ (find-files "." "\\.h$"))
+ (install-file "libsmithwaterman.so" lib)
(install-file "libsw.a" lib))
#t)))))
(home-page "https://github.com/ekg/smithwaterman")