guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/09: gnu: fastahack: Build and install shared library and headers.


From: guix-commits
Subject: 05/09: gnu: fastahack: Build and install shared library and headers.
Date: Thu, 27 Aug 2020 11:20:11 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit f075bf09bda9f7b146a600c6c6ebbbbf72c3cf13
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Thu Aug 27 18:08:13 2020 +0300

    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.
---
 gnu/packages/bioinformatics.scm | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c188500..092ecf1 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -15582,10 +15582,28 @@ neural networks.")
        #: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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]