diff mbox

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

Message ID 87shsno8ro.fsf@openmailbox.org
State New
Headers show

Commit Message

Lukas Gradl Sept. 25, 2016, 11:32 p.m. UTC
Hi,

Danny Milosavljevic <dannym@scratchpost.org> writes:
> Yes. I think that is a good approach.
>
> Could you send an updated patchset?

The attached patch implements everything as discussed.  Thank you for
your explanation and your help!  I am a lot happier with this package
now than before.

Best,
Lukas

Comments

Ludovic Courtès Sept. 28, 2016, 9:18 a.m. UTC | #1
Hello,

Lukas Gradl <lgradl@openmailbox.org> skribis:

> From 5fb85fef7b1475baca6c29beb26799ca8f3d814a 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 | 26 +++++++++++++++++++++++++-
>  1 file changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
> index 7288da6..f62d041 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))))

As Danny suggested, this should be discussed upstream.  What’s the
status of this .pc file upstream?  I’m reluctant to start relying on it
if there’s no sign that it will eventually be provided by upstream.

Thanks,
Ludo’.
diff mbox

Patch

From 5fb85fef7b1475baca6c29beb26799ca8f3d814a 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 | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 7288da6..f62d041 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,23 @@  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"))
+               (install-file "argon2.pc"
+                             (string-append out "/lib/pkgconfig"))
                (copy-recursively "include"
-                                 (string-append out "/include"))))))))
+                                 (string-append out "/include"))
+               (symlink (string-append out "/lib/libargon2.so")
+                        (string-append out "/lib/libargon2.so.0"))))))))
     (home-page "https://www.argon2.com/")
     (synopsis "Password hashing library")
     (description "Argon2 provides a key derivation function that was declared
-- 
2.9.0