guix-devel
[Top][All Lists]
Advanced

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

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


From: Lukas Gradl
Subject: Re: [Patch 4/10] argon2: Install pkg-config file.
Date: Sun, 18 Sep 2016 16:43:03 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Danny Milosavljevic <address@hidden> writes:

>> +       (snippet
>> +        '(let ((p (open-file "argon2.pc" "a")))
> ...                                          ^ why?

Sorry, I took this without thinking from another place where I did
similar things.  This should be "w".  The attached patch fixes that.

Thank you!
Best,
Lukas

From eea1626e7ca44674d7430356a900665edefeb4ae Mon Sep 17 00:00:00 2001
From: Lukas Gradl <address@hidden>
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..30e1206 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" "w")))
+           (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

Attachment: signature.asc
Description: PGP signature


reply via email to

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