gnu: fastahack: Build and install shared library and headers.

* gnu/packages/bioinformatics.scm (fastahack)[arguments]: Add phase to
build PIE objects. Add custom phase to build dynamic library. Adjust
custom 'install phase to install shared library and headers.
This commit is contained in:
Efraim Flashner 2020-08-27 18:08:13 +03:00
parent 5c78997188
commit f075bf09bd
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -15582,10 +15582,28 @@ (define-public fastahack
#: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" "libfastahack.so"
"Fasta.o" "FastaHack.o" "split.o" "disorder.o")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "fastahack" bin))
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(bin (string-append out "/bin")))
(mkdir-p (string-append out "/include/fastahack"))
(for-each
(lambda (file)
(install-file file (string-append out "/include/fastahack")))
(find-files "." "\\.h$"))
(install-file "fastahack" bin)
(install-file "libfastahack.so" lib))
#t)))))
(home-page "https://github.com/ekg/fastahack")
(synopsis "Indexing and sequence extraction from FASTA files")