GNU bug report logs - #61148
[PATCH 0/5] Update vcflib

Previous Next

Package: guix-patches;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Sun, 29 Jan 2023 13:10:01 UTC

Severity: normal

Tags: patch

Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 61148 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 61148 <at> debbugs.gnu.org
Cc: Efraim Flashner <efraim <at> flashner.co.il>
Subject: [PATCH 2/5] gnu: tabixpp: Update to 1.1.2.
Date: Sun, 29 Jan 2023 15:12:35 +0200
* gnu/packages/bioinformatics.scm (tabixpp): Update to 1.1.2.
[source]: Add snippet to keep library name the same.
[arguments]: Adjust the make-flags to find htslib. Enable the tests.
Remove custom 'build-libraries phase, it is built by default now. Add a
phase to symlink the shared library to a generic .so name. Don't
override the 'install phase. Add a phase after 'install to create a
pkg-config file.
---
 gnu/packages/bioinformatics.scm | 60 ++++++++++++++++++---------------
 1 file changed, 33 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 5cea726f8e..fa0a6c0dd6 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix <at> thebird.nl>
 ;;; Copyright © 2015 Andreas Enge <andreas <at> enge.fr>
 ;;; Copyright © 2016, 2020, 2021 Roel Janssen <roel <at> gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2016-2023 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius <at> gnu.org>
 ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo <at> gmail.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
@@ -15640,7 +15640,7 @@ (define-public tbsp
 (define-public tabixpp
   (package
    (name "tabixpp")
-   (version "1.1.0")
+   (version "1.1.2")
    (source (origin
              (method git-fetch)
              (uri (git-reference
@@ -15648,43 +15648,47 @@ (define-public tabixpp
                    (commit (string-append "v" version))))
              (file-name (git-file-name name version))
              (sha256
-              (base32 "1k2a3vbq96ic4lw72iwp5s3mwwc4xhdffjj584yn6l9637q9j1yd"))
+              (base32 "00aqs147yn8zcvxims5njwxqsbnlbjv7lnmiwqy80bfdcbhljkqf"))
              (modules '((guix build utils)))
              (snippet
               #~(begin
-                  (delete-file-recursively "htslib")))))
+                  (delete-file-recursively "htslib")
+                  ;; Keep it named tabixpp.
+                  (substitute* "Makefile"
+                    (("libtabix") "libtabixpp"))))))
    (build-system gnu-build-system)
-   (inputs
-    (list bzip2 htslib xz zlib))
    (arguments
     (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
                                (string-append "CXX=" #$(cxx-for-target))
+                               (string-append "AR=" #$(ar-for-target))
                                "HTS_HEADERS="
-                               (string-append "HTS_LIB="
-                                              (search-input-file %build-inputs
-                                                                 "/lib/libhts.a"))
-                               "INCLUDES=")
-          #:tests? #f ; There are no tests to run.
+                               "HTS_LIB="
+                               (string-append
+                                 "INCLUDES= -I"
+                                 (search-input-directory %build-inputs
+                                                         "include/htslib"))
+                               (string-append
+                                 "LIBPATH= -L. -L"
+                                 (dirname
+                                   (search-input-file %build-inputs
+                                                      "/lib/libhts.a")))
+                               (string-append "PREFIX=" #$output)
+                               "DESTDIR=")
+          #:test-target "test"
           #:phases
           #~(modify-phases %standard-phases
               (delete 'configure) ; There is no configure phase.
-              ;; Build shared and static libraries.
-              (add-after 'build 'build-libraries
-                (lambda* (#:key inputs #:allow-other-keys)
-                  (invoke #$(cxx-for-target)
-                          "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
-                  (invoke #$(ar-for-target) "rcs" "libtabixpp.a" "tabix.o")))
-              (replace 'install
+              (add-after 'install 'symlink-shared-library
+                (lambda* (#:key outputs #:allow-other-keys)
+                  (with-directory-excursion
+                    (string-append (assoc-ref outputs "out") "/lib")
+                    (symlink "libtabixpp.so.1" "libtabixpp.so"))))
+              (add-after 'install 'make-pkg-config-file
                 (lambda* (#:key outputs #:allow-other-keys)
                   (let* ((out (assoc-ref outputs "out"))
-                         (lib (string-append out "/lib"))
-                         (bin (string-append out "/bin")))
-                    (install-file "tabix++" bin)
-                    (install-file "libtabixpp.so" lib)
-                    (install-file "libtabixpp.a" lib)
-                    (install-file "tabix.hpp" (string-append out "/include"))
-                    (mkdir-p (string-append lib "/pkgconfig"))
-                    (with-output-to-file (string-append lib "/pkgconfig/tabixpp.pc")
+                         (pkgconfig (string-append out "/lib/pkgconfig")))
+                    (mkdir-p pkgconfig)
+                    (with-output-to-file (string-append pkgconfig "/tabixpp.pc")
                       (lambda _
                         (format #t "prefix=~a~@
                           exec_prefix=${prefix}~@
@@ -15692,12 +15696,14 @@ (define-public tabixpp
                           includedir=${prefix}/include~@
                           ~@
                           ~@
-                          Name: libtabixpp~@
+                          Name: tabixpp~@
                           Version: ~a~@
                           Description: C++ wrapper around tabix project~@
                           Libs: -L${libdir} -ltabixpp~@
                           Cflags: -I${includedir}~%"
                                 out #$version)))))))))
+   (inputs
+    (list bzip2 curl htslib xz zlib))
    (home-page "https://github.com/ekg/tabixpp")
    (synopsis "C++ wrapper around tabix project")
    (description "This is a C++ wrapper around the Tabix project which abstracts
-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted





This bug report was last modified 68 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.