summary refs log tree commit diff
path: root/gnu/packages/datastructures.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2019-11-25 09:58:15 +0200
committerEfraim Flashner <efraim@flashner.co.il>2019-11-25 14:08:32 +0200
commitaca2bf51b767bfdc152896430f83b7c1124c346d (patch)
tree30f2f36303f48c547429286a37e2ac90471bf1cd /gnu/packages/datastructures.scm
parent2b04bb3b4ede92907228a2d5940e63b6684aff45 (diff)
downloadguix-aca2bf51b767bfdc152896430f83b7c1124c346d.tar.gz
gnu: sdsl-lite: Don't use bundled libraries.
* gnu/packages/datastructures.scm (sdsl-lite)[source]: Remove bundled
libraries in a snippet. Add patch to link to external libraries.
[arguments]: Add phase to install static library.
[native-inputs]: Add libdivsufsort.
Diffstat (limited to 'gnu/packages/datastructures.scm')
-rw-r--r--gnu/packages/datastructures.scm25
1 files changed, 24 insertions, 1 deletions
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 36a135c606..e7833b8e70 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -213,8 +213,31 @@ to the structure and choosing one or more fields to act as the key.")
                                   ".tar.gz.offline.install.gz"))
               (sha256
                (base32
-                "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))))
+                "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (delete-file-recursively "external") #t))
+              (patches
+                (list (origin
+                        (method url-fetch)
+                        (uri "https://salsa.debian.org/science-team/libsdsl/raw/debian/2.1.1+dfsg-2/debian/patches/0001-Patch-cmake-files.patch")
+                        (file-name "sdsl-lite-dont-use-bundled-libraries.patch")
+                        (sha256
+                         (base32
+                          "0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z")))))))
     (build-system cmake-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-static-library
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (copy-file "lib/libsdsl_static.a"
+                          (string-append out "/lib/libsdsl.a")))
+             #t)))))
+    (native-inputs
+     `(("libdivsufsort" ,libdivsufsort)))
     (home-page "https://github.com/simongog/sdsl-lite")
     (synopsis "Succinct data structure library")
     (description "The Succinct Data Structure Library (SDSL) is a powerful and