Package: guix-patches;
Reported by: Raghav Gururajan <rg <at> raghavgururajan.name>
Date: Sat, 20 Mar 2021 04:28:02 UTC
Severity: normal
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
Message #20 received at 47274 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Raghav Gururajan <rg <at> raghavgururajan.name> Cc: 47274 <at> debbugs.gnu.org, Danny Milosavljevic <dannym <at> scratchpost.org> Subject: Re: bug#47274: Linphone Packages Date: Tue, 23 Mar 2021 22:25:35 -0400
Hi! Raghav Gururajan <rg <at> raghavgururajan.name> writes: > * gnu/packages/crypto.scm (libdecaf): New variable. > --- > gnu/packages/crypto.scm | 63 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm > index 0000e7fbf2..3959464d56 100644 > --- a/gnu/packages/crypto.scm > +++ b/gnu/packages/crypto.scm > @@ -47,9 +47,11 @@ > #:use-module (gnu packages compression) > #:use-module (gnu packages crates-io) > #:use-module (gnu packages cryptsetup) > + #:use-module (gnu packages documentation) > #:use-module (gnu packages gettext) > #:use-module (gnu packages gnupg) > #:use-module (gnu packages golang) > + #:use-module (gnu packages graphviz) > #:use-module (gnu packages image) > #:use-module (gnu packages kerberos) > #:use-module (gnu packages libbsd) > @@ -88,6 +90,67 @@ > #:use-module (srfi srfi-1) > #:use-module (srfi srfi-26)) > > +(define-public libdecaf > + (package > + (name "libdecaf") > + (version "1.0.1") > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "git://git.code.sf.net/p/ed448goldilocks/code") > + (commit > + (string-append "v" version)))) > + (file-name > + (git-file-name name version)) > + (sha256 > + (base32 "1ajgmyvc6a4m1h2hg1g4wz7ibx10x1xys9m6ancnmmf1f2srlfly")))) > + (build-system cmake-build-system) > + (outputs '("out" "python" "doc")) > + (arguments > + `(#:configure-flags '("-DENABLE_STATIC=OFF") > + #:phases > + (modify-phases %standard-phases > + (add-after 'unpack 'patch-python-binding > + (lambda _ > + (substitute* "python/setup.py" > + (("gmake") > + "make") > + (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'") > + "'..', '..', 'build', 'src', 'libdecaf.so'")) > + #t)) Ending phases with #t is no longer required on core-updates, and we can stop doing it on master and staging already too, to save us the hassle of editing them out at some later point in time :-) > + (add-after 'install 'install-python-binding > + (lambda* (#:key outputs #:allow-other-keys) > + (with-directory-excursion "../source/python" > + (invoke "python" "setup.py" "install" > + (string-append "--prefix=" (assoc-ref outputs "python")) > + "--root=/")) > + #t)) > + (add-after 'install-python-binding 'install-documentation > + (lambda* (#:key outputs #:allow-other-keys) > + (invoke "make" "doc") > + (let* ((doc (assoc-ref outputs "doc")) > + (dest (string-append doc "/share/doc"))) > + (copy-recursively "doc" dest)) > + #t))))) > + (native-inputs > + `(("dot" ,graphviz) > + ("doxygen" ,doxygen) > + ("python" ,python-wrapper))) > + (inputs > + `(("python2" ,python-2.7) > + ("python3" ,python))) This inputs field seems unnecessary, especially we don't want to add a dependency to Python 2, which is slowly being carved out of Guix. > + (synopsis "Decaf Elliptic Curve Library") > + (description "The libdecaf library is an implementation of elliptic curve > +cryptography using the Montgomery and Edwards curves Curve25519, Ed25519, > +Ed448-Goldilocks and Curve448, using the Decaf encoding.") > + (home-page "http://ed448goldilocks.sourceforge.net/") > + (license > + (list > + ;; Library. > + license:expat > + ;; Binding. > + license:bsd-2)))) I personally prefer the more compact (and common?) indentation of the licenses list as: (license (list license:expat ;library license:bsd-2)))) ;python bindings It's down to personal preferences, but I tend to value compactness in thousand lines long modules :-). I've made the following changes: --8<---------------cut here---------------start------------->8--- 1 file changed, 5 insertions(+), 15 deletions(-) gnu/packages/crypto.scm | 20 +++++--------------- modified gnu/packages/crypto.scm @@ -116,40 +116,30 @@ (("gmake") "make") (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'") - "'..', '..', 'build', 'src', 'libdecaf.so'")) - #t)) + "'..', '..', 'build', 'src', 'libdecaf.so'")))) (add-after 'install 'install-python-binding (lambda* (#:key outputs #:allow-other-keys) (with-directory-excursion "../source/python" (invoke "python" "setup.py" "install" (string-append "--prefix=" (assoc-ref outputs "python")) - "--root=/")) - #t)) + "--root=/")))) (add-after 'install-python-binding 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (invoke "make" "doc") (let* ((doc (assoc-ref outputs "doc")) (dest (string-append doc "/share/doc"))) - (copy-recursively "doc" dest)) - #t))))) + (copy-recursively "doc" dest))))))) (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen) ("python" ,python-wrapper))) - (inputs - `(("python2" ,python-2.7) - ("python3" ,python))) (synopsis "Decaf Elliptic Curve Library") (description "The libdecaf library is an implementation of elliptic curve cryptography using the Montgomery and Edwards curves Curve25519, Ed25519, Ed448-Goldilocks and Curve448, using the Decaf encoding.") (home-page "http://ed448goldilocks.sourceforge.net/") - (license - (list - ;; Library. - license:expat - ;; Binding. - license:bsd-2)))) + (license (list license:expat ;library + license:bsd-2)))) ;python bindings (define-public libsodium (package --8<---------------cut here---------------end--------------->8--- And pushed as commit c221d49510. Thank you! Maxim
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.