Patchwork [4/10] argon2: Install pkg-config file.

login
register
mail settings
Submitter Lukas Gradl
Date Sept. 18, 2016, 9:32 p.m.
Message ID <87lgyosxlq.fsf@openmailbox.org>
Download mbox | patch
Permalink /patch/15756/
State New
Headers show

Comments

Lukas Gradl - Sept. 18, 2016, 9:32 p.m.
>>> +               (zero? (system* "ln" "-s"
>>> +                               (string-append out "/lib/libargon2.so")
>>> +                               (string-append out "/lib/libargon2.so.0")))
>>
>> The result of this will be ignored. Did you mean "(and ...)"?
>
> Oops! Yes, I will send an updated patch later today.
>

A patch fixing this is attached.

Thank you!

Best,
Lukas

Patch

From 2fe4bfef5d9d006e2afb982d0eddd5e280d7e559 Mon Sep 17 00:00:00 2001
From: Lukas Gradl <lgradl@openmailbox.org>
Date: Tue, 9 Aug 2016 16:49:19 -0500
Subject: [PATCH 04/10] gnu: argon2: Install pkg-config file.

* gnu/packages/password-utils.scm (argon2)[source]: Create pkg-config file.
[arguments]: Install it.
---
 gnu/packages/password-utils.scm | 40 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 7288da6..c0d3168 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -311,6 +311,21 @@  through the pass command.")
          "https://codeload.github.com/P-H-C/phc-winner-"
          name "/tar.gz/" version))
        (file-name (string-append name "-" version ".tar.gz"))
+       (snippet
+        '(let ((p (open-file "argon2.pc" "a")))
+           (begin
+             (display
+              (string-append "prefix=/usr/local\n"
+                             "exec_prefix=${prefix}\n"
+                             "includedir=${prefix}/include\n"
+                             "libdir=${prefix}/lib\n\n"
+                             "Name: Argon2\n"
+                             "Description: "
+                             "The Argon2 password hashing algorithm\n"
+                             "Version: 1.0.0\n"
+                             "Cflags: -I${includedir}/\n"
+                             "Libs: -L${libdir} -largon2\n") p)
+             (close-output-port p))))
        (sha256
         (base32
          "0g6wa94sh639xl1qc8z21q43r1mp8y77r1zf8nwx5pfsxd8fmyzv"))))
@@ -321,14 +336,29 @@  through the pass command.")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
+         (add-after 'unpack 'fix-pkg-config
+           (lambda _
+             (substitute* "argon2.pc"
+               (("/usr/local")
+                (assoc-ref %outputs "out")))))
          (replace 'install
            (lambda _
              (let ((out (assoc-ref %outputs "out")))
-               (install-file "argon2" (string-append out "/bin"))
-               (install-file "libargon2.a" (string-append out "/lib"))
-               (install-file "libargon2.so" (string-append out "/lib"))
-               (copy-recursively "include"
-                                 (string-append out "/include"))))))))
+               (and
+                (install-file "argon2" (string-append out "/bin"))
+                (install-file "libargon2.a" (string-append out "/lib"))
+                (install-file "libargon2.so" (string-append out "/lib"))
+                (install-file "argon2.pc"
+                              (string-append out "/lib/pkgconfig"))
+                (copy-recursively "include"
+                                  (string-append out "/include"))
+                (zero? (system* "ln" "-s"
+                                (string-append out "/lib/libargon2.so")
+                                (string-append out "/lib/libargon2.so.0")))
+                (zero? (system* ; Fix compatability for libtool based builds.
+                        "ln" "-s"
+                        (string-append out "/lib/libargon2.so")
+                        (string-append out "/lib/libargon2.so.0.0.0"))))))))))
     (home-page "https://www.argon2.com/")
     (synopsis "Password hashing library")
     (description "Argon2 provides a key derivation function that was declared
-- 
2.9.0