about summary refs log tree commit diff
path: root/gn/packages/crates-io.scm
diff options
context:
space:
mode:
authorEfraim Flashner2019-08-13 05:23:04 -0500
committerEfraim Flashner2019-08-13 05:23:04 -0500
commitc95495b1abfd6d0ed610a27e925c3cb6d5776dbf (patch)
treef75a1942f63d9d152e07c786d7e7285f34056dd9 /gn/packages/crates-io.scm
parentdf4e25920fea6e0d70332d19aab1b449e0fb2fe8 (diff)
downloadguix-bioinformatics-c95495b1abfd6d0ed610a27e925c3cb6d5776dbf.tar.gz
gn: Clean up some crates
Diffstat (limited to 'gn/packages/crates-io.scm')
-rw-r--r--gn/packages/crates-io.scm240
1 files changed, 200 insertions, 40 deletions
diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm
index 9e2774f..4da9217 100644
--- a/gn/packages/crates-io.scm
+++ b/gn/packages/crates-io.scm
@@ -545,7 +545,17 @@
         #:cargo-development-inputs
         (("rust-clap" ,rust-clap)
          ("rust-diff" ,rust-diff)
-         ("rust-shlex" ,rust-shlex))))
+         ("rust-shlex" ,rust-shlex))
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-environmental-variable
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((clang (assoc-ref inputs "libclang")))
+                (setenv "LIBCLANG_PATH"
+                        (string-append clang "/lib")))
+              #t)))))
+    (inputs
+     `(("libclang" ,(@ (gnu packages llvm) clang))))
     (home-page
       "https://rust-lang.github.io/rust-bindgen/")
     (synopsis
@@ -772,7 +782,17 @@
       `(#:cargo-inputs
         (("rust-nom" ,rust-nom))
         #:cargo-development-inputs
-        (("rust-clang-sys" ,rust-clang-sys))))
+        (("rust-clang-sys" ,rust-clang-sys))
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-environmental-variable
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((clang (assoc-ref inputs "libclang")))
+                (setenv "LIBCLANG_PATH"
+                        (string-append clang "/lib")))
+              #t)))))
+    (inputs
+     `(("libclang" ,(@ (gnu packages llvm) clang))))
     (home-page
       "https://github.com/jethrogb/rust-cexpr")
     (synopsis "A C expression parser and evaluator")
@@ -2382,9 +2402,18 @@ pseudorandom number generator")
          ("rust-serde-derive" ,rust-serde-derive)
          ("rust-tempdir" ,rust-tempdir)
          ("rust-thread-id" ,rust-thread-id)
-         ("rust-time" ,rust-time))))
-    ;(inputs
-    ; `(("libgit" ,(@ (gnu packages version-control) libgit2))))
+         ("rust-time" ,rust-time))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'find-openssl
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((openssl (assoc-ref inputs "openssl")))
+               (setenv "OPENSSL_DIR" openssl))
+             (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
+             #t)))))
+    (inputs
+     `(("libgit" ,(@ (gnu packages version-control) libgit2))
+       ("openssl" ,(@ (gnu packages tls) openssl))))
     (home-page
       "https://github.com/rust-lang/git2-rs")
     (synopsis
@@ -2906,6 +2935,44 @@ pseudorandom number generator")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-jemalloc-ctl
+  (package
+    (name "rust-jemalloc-ctl")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "jemalloc-ctl" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1dx4mik2ww5ic4qqv5zx9dxq6pbkclxnxa9bscg4z4njkpzsa0n5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-jemalloc-sys" ,rust-jemalloc-sys)
+        ("rust-libc" ,rust-libc)
+        ("rust-paste" ,rust-paste))
+       #:cargo-development-inputs
+       (("rust-jemallocator" ,rust-jemallocator))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'override-jemalloc
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((jemalloc (assoc-ref inputs "jemalloc")))
+               (setenv "JEMALLOC_OVERRIDE"
+                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
+             #t)))))
+    (inputs
+     `(("jemalloc" ,(@ (gnu packages jemalloc) jemalloc))))
+    (home-page "https://github.com/gnzlbg/jemallocator")
+    (synopsis
+      "A safe wrapper over jemalloc's control and introspection APIs")
+    (description
+      "This package provides a safe wrapper over jemalloc's control and introspection APIs")
+    (license #f)))
+
 (define-public rust-jemalloc-sys
   (package
     (name "rust-jemalloc-sys")
@@ -2914,22 +2981,34 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "jemalloc-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd"))))
+         (base32
+          "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd"))
+        ;(modules '((guix build utils)))
+        ;(snippet
+        ; '(begin
+        ;    ;; unbundle jemalloc source
+        ;    (delete-file-recursively "jemalloc") #t))
+        ))
     (build-system cargo-build-system)
     (arguments
-      `(#:cargo-inputs
-        (("rust-libc" ,rust-libc)
-         ("rust-cc" ,rust-cc)
-         ("rust-fs-extra" ,rust-fs-extra))))
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc)
+        ("rust-cc" ,rust-cc)
+        ("rust-fs-extra" ,rust-fs-extra))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'override-jemalloc
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((jemalloc (assoc-ref inputs "jemalloc")))
+               (delete-file-recursively "jemalloc")
+               (setenv "JEMALLOC_OVERRIDE"
+                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
+             #t)))))
     (inputs
-     `(("jemalloc" ,(@ (gnu packages jemalloc) jemalloc))
-       ("rust-cc" ,rust-cc)))
-    (home-page
-      "https://github.com/gnzlbg/jemallocator")
+     `(("jemalloc" ,(@ (gnu packages jemalloc) jemalloc))))
+    (home-page "https://github.com/gnzlbg/jemallocator")
     (synopsis "Rust FFI bindings to jemalloc")
     (description "Rust FFI bindings to jemalloc")
     (license (list license:asl2.0
@@ -2954,7 +3033,17 @@ pseudorandom number generator")
        (("rust-jemalloc-sys" ,rust-jemalloc-sys)
         ("rust-libc" ,rust-libc))
        #:cargo-development-inputs
-       (("rust-paste" ,rust-paste))))
+       (("rust-paste" ,rust-paste))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'override-jemalloc
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((jemalloc (assoc-ref inputs "jemalloc")))
+               (setenv "JEMALLOC_OVERRIDE"
+                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
+             #t)))))
+    (inputs
+     `(("jemalloc" ,(@ (gnu packages jemalloc) jemalloc))))
     (home-page "https://github.com/gnzlbg/jemallocator")
     (synopsis "A Rust allocator backed by jemalloc")
     (description
@@ -3084,8 +3173,14 @@ pseudorandom number generator")
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0y2mibmx7wy91s2kmb2gfb29mrqlqaxpy5wcwr8s1lwws7b9w5sc"))))
+         (base32
+          "0y2mibmx7wy91s2kmb2gfb29mrqlqaxpy5wcwr8s1lwws7b9w5sc"))
+        ;(modules '((guix build utils)))
+        ;(snippet
+        ; '(begin
+        ;    ;; unbundle jemalloc source
+        ;    (delete-file-recursively "libgit2") #t))
+        ))
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-inputs
@@ -3095,9 +3190,22 @@ pseudorandom number generator")
          ("rust-openssl-sys" ,rust-openssl-sys))
         #:cargo-development-inputs
         (("rust-cc" ,rust-cc)
-         ("rust-pkg-config" ,rust-pkg-config))))
-    ;(inputs
-    ; `(("libgit" ,(@ (gnu packages version-control) libgit2))))
+         ("rust-pkg-config" ,rust-pkg-config))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'find-openssl
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((openssl (assoc-ref inputs "openssl")))
+               (setenv "OPENSSL_DIR" openssl))
+             (delete-file-recursively "libgit2")
+             (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
+             (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+             #t)))))
+    (inputs
+     `(("libgit" ,(@ (gnu packages version-control) libgit2))
+       ("openssl" ,(@ (gnu packages tls) openssl))
+       ("pkg-config" ,(@ (gnu packages pkg-config) pkg-config))
+       ("zlib" ,(@ (gnu packages compression) zlib))))
     (home-page
       "https://github.com/rust-lang/git2-rs")
     (synopsis
@@ -3144,8 +3252,14 @@ pseudorandom number generator")
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "17dz3xxy5bc73sr52maa6wdqmw1a0ymznrgfzlxid2rng101yshj"))))
+         (base32
+          "17dz3xxy5bc73sr52maa6wdqmw1a0ymznrgfzlxid2rng101yshj"))
+        ;(modules '((guix build utils)))
+        ;(snippet
+        ; '(begin
+        ;    ;; unbundle jemalloc source
+        ;    (delete-file-recursively "libssh2") #t))
+        ))
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-inputs
@@ -3155,9 +3269,21 @@ pseudorandom number generator")
          ("rust-vcpkg" ,rust-vcpkg))
         #:cargo-development-inputs
         (("rust-cc" ,rust-cc)
-         ("rust-pkg-config" ,rust-pkg-config))))
-    ;(inputs
-    ; `(("libssh2" ,(@ (gnu packages ssh) libssh2))))
+         ("rust-pkg-config" ,rust-pkg-config))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'find-openssl
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((openssl (assoc-ref inputs "openssl")))
+               (setenv "OPENSSL_DIR" openssl))
+             (delete-file-recursively "libssh2")
+             (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+             #t)))))
+    (inputs
+     `(("libssh2" ,(@ (gnu packages ssh) libssh2))
+       ("openssl" ,(@ (gnu packages tls) openssl))
+       ("pkg-config" ,(@ (gnu packages pkg-config) pkg-config))
+       ("zlib" ,(@ (gnu packages compression) zlib))))
     (home-page
       "https://github.com/alexcrichton/ssh2-rs")
     (synopsis
@@ -3167,7 +3293,6 @@ pseudorandom number generator")
     (license (list license:asl2.0
                    license:expat))))
 
-;; TODO: Unbundle zlib
 (define-public rust-libz-sys
   (package
     (name "rust-libz-sys")
@@ -3179,7 +3304,13 @@ pseudorandom number generator")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f"))))
+          "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f"))
+        ;(modules '((guix build utils)))
+        ;(snippet
+        ; '(begin
+        ;    ;; unbundle jemalloc source
+        ;    (delete-file-recursively "src/zlib") #t))
+        ))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -3187,7 +3318,16 @@ pseudorandom number generator")
        #:cargo-development-inputs
        (("rust-cc" ,rust-cc)
         ("rust-pkg-config" ,rust-pkg-config)
-        ("rust-vcpkg" ,rust-vcpkg))))
+        ("rust-vcpkg" ,rust-vcpkg))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'delete-vendored-zlib
+           (lambda _
+             (delete-file-recursively "src/zlib")
+             #t)))))
+    (inputs
+     `(("pkg-config" ,(@ (gnu packages pkg-config) pkg-config))
+       ("zlib" ,(@ (gnu packages compression) zlib))))
     (home-page "https://github.com/alexcrichton/libz-sys")
     (synopsis "Bindings to the system libz library (also known as zlib).")
     (description
@@ -3646,7 +3786,16 @@ implementation (which is unstable / requires nightly).")
          ("rust-openssl-sys" ,rust-openssl-sys))
         #:cargo-development-inputs
         (("rust-hex" ,rust-hex)
-         ("rust-tempdir" ,rust-tempdir))))
+         ("rust-tempdir" ,rust-tempdir))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'find-openssl
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((openssl (assoc-ref inputs "openssl")))
+               (setenv "OPENSSL_DIR" openssl))
+             #t)))))
+    (inputs
+     `(("openssl" ,(@ (gnu packages tls) openssl))))
     (home-page
       "https://github.com/sfackler/rust-openssl")
     (synopsis "OpenSSL bindings")
@@ -3693,14 +3842,25 @@ implementation (which is unstable / requires nightly).")
             "1f05kxx8mai9ac16x1lk0404bymghbbj7vcbqrfwqfr52w131fmm"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:cargo-inputs
-        (("rust-libc" ,rust-libc))
-        #:cargo-development-inputs
-        (("rust-autocfg" ,rust-autocfg)
-         ("rust-cc" ,rust-cc)
-         ("rust-openssl-src" ,rust-openssl-src)
-         ("rust-pkg-config" ,rust-pkg-config)
-         ("rust-vcpkg" ,rust-vcpkg))))
+     `(#:cargo-inputs
+       (("rust-autocfg" ,rust-autocfg)
+        ("rust-libc" ,rust-libc))
+       #:cargo-development-inputs
+       (("rust-autocfg" ,rust-autocfg)
+        ("rust-cc" ,rust-cc)
+        ("rust-openssl-src" ,rust-openssl-src)
+        ("rust-pkg-config" ,rust-pkg-config)
+        ("rust-vcpkg" ,rust-vcpkg))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'find-openssl
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((openssl (assoc-ref inputs "openssl")))
+               (setenv "OPENSSL_DIR" openssl))
+             #t)))))
+    (inputs
+     `(("openssl" ,(@ (gnu packages tls) openssl))
+       ("pkg-config" ,(@ (gnu packages pkg-config) pkg-config))))
     (home-page
       "https://github.com/sfackler/rust-openssl")
     (synopsis "FFI bindings to OpenSSL")