all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#64558] [PATCH 0/2] gnu: crypto+: Update to 8.8.0.
@ 2023-07-10 17:45 Jean-Pierre De Jesus DIAZ via Guix-patches via
  2023-07-10 17:48 ` [bug#64558] [PATCH 1/2] gnu: crypto++: " Jean-Pierre De Jesus DIAZ via Guix-patches via
  2023-10-17  9:38 ` bug#64558: [PATCH 0/2] gnu: crypto+: Update to 8.8.0 Christopher Baines
  0 siblings, 2 replies; 4+ messages in thread
From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-07-10 17:45 UTC (permalink / raw)
  To: 64558; +Cc: Jean-Pierre De Jesus DIAZ

This updates the package definition of crypto++ to the latest
version and also improves the phases expressions by removing
unused ones, for example, the library doesn't build anymore with
`-march=native' by default and the pkg-config file can be created
by a make target.

Enables cross-compilation for GNU/Linux targets and also for MinGW
targets.

Also, as the package can be built with `-march=...` I added the tunable
option to the package.  This package also provides SIMD implementations
of some functions, but these need to be explicitly used by dependent
packages.


Jean-Pierre De Jesus DIAZ (2):
  gnu: crypto++: Update to 8.8.0.
  gnu: crypto++: Add tunable property.

 gnu/packages/crypto.scm | 84 ++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 55 deletions(-)


base-commit: 2426e51688d479042ea115a634c6be2d8b9f3b99
-- 
2.34.1





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#64558] [PATCH 1/2] gnu: crypto++: Update to 8.8.0.
  2023-07-10 17:45 [bug#64558] [PATCH 0/2] gnu: crypto+: Update to 8.8.0 Jean-Pierre De Jesus DIAZ via Guix-patches via
@ 2023-07-10 17:48 ` Jean-Pierre De Jesus DIAZ via Guix-patches via
  2023-07-10 17:48   ` [bug#64558] [PATCH 2/2] gnu: crypto++: Add tunable property Jean-Pierre De Jesus DIAZ via Guix-patches via
  2023-10-17  9:38 ` bug#64558: [PATCH 0/2] gnu: crypto+: Update to 8.8.0 Christopher Baines
  1 sibling, 1 reply; 4+ messages in thread
From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-07-10 17:48 UTC (permalink / raw)
  To: 64558; +Cc: Jean-Pierre De Jesus DIAZ

* gnu/packages/crypto.scm (crypto++): Update to 8.8.0.
  [arguments]: Update to new style. Remove .so symbolic link
  installation as the project does it now. Fix cross-compilation for
  GNU/Linux and MinGW targets.

Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com>
---
 gnu/packages/crypto.scm | 83 ++++++++++++++---------------------------
 1 file changed, 28 insertions(+), 55 deletions(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 9b89c7d545..69d979fef4 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
+;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -739,7 +740,7 @@ (define-public perl-math-random-secure
 (define-public crypto++
   (package
     (name "crypto++")
-    (version "8.6.0")
+    (version "8.8.0")
     (source (origin
               (method git-fetch)
               (uri
@@ -751,62 +752,34 @@ (define-public crypto++
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1vm821wpx59ccz6gr4xplqpxj3f1qq3jijyybj2g4npqmmldhx3b"))))
+                "11gfnsqbb531zwgzpm0x9hsgshzcj1j049vg0zqsaqf8lvky03l6"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:make-flags
-       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
-             ;; Override "/sbin/ldconfig" with simply "echo" since
-             ;; we don't need ldconfig(8).
-             "LDCONF=echo")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'disable-native-optimisation
-           ;; This package installs more than just headers.  Ensure that the
-           ;; cryptest.exe binary & static library aren't CPU model specific.
-           (lambda _
-             (substitute* "GNUmakefile"
-               ((" -march=native") ""))
-             #t))
-         (delete 'configure)
-         (replace 'build
-           ;; By default, only the static library is built.
-           (lambda* (#:key (make-flags '()) #:allow-other-keys)
-             (apply invoke "make" "shared"
-                    "-j" (number->string (parallel-job-count))
-                    make-flags)))
-         (add-after 'install 'install-shared-library-links
-           ;; By default, only .so and .so.x.y.z are installed.
-           ;; Create all the ‘intermediates’ expected by dependent packages.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lib (string-append out "/lib"))
-                    (prefix "libcryptopp.so.")
-                    (target (string-append prefix ,version)))
-               (with-directory-excursion lib
-                 (symlink target
-                          (string-append prefix ,(version-major+minor version)))
-                 (symlink target
-                          (string-append prefix ,(version-major version)))
-                 #t))))
-         (add-after 'install 'install-pkg-config
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (pkg-dir (string-append out "/lib/pkgconfig")))
-               (mkdir-p pkg-dir)
-               (with-output-to-file (string-append pkg-dir "/libcrypto++.pc")
-                 (lambda _
-                   (display
-                    (string-append
-                     "prefix=" out "\n"
-                     "libdir=" out "/lib\n"
-                     "includedir=" out "/include\n\n"
-                     "Name: libcrypto++-" ,version "\n"
-                     "Description: Class library of cryptographic schemes\n"
-                     "Version: " ,version "\n"
-                     "Libs: -L${libdir} -lcryptopp\n"
-                     "Cflags: -I${includedir}\n"))
-                   #t))))))))
+     (list #:make-flags
+           #~(list (string-append "PREFIX=" #$output)
+                   (string-append "CC=" #$(cc-for-target))
+                   (string-append "CXX=" #$(cxx-for-target))
+                   (string-append "AR=" #$(ar-for-target))
+                   ;; Override "/sbin/ldconfig" with simply "echo" since
+                   ;; we don't need ldconfig(8).
+                   "LDCONF=echo")
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure)
+               (replace 'build
+                 ;; By default, only the static library is built.
+                 (lambda* (#:key make-flags parallel-build?
+                           #:allow-other-keys)
+                   (let* ((job-count (if parallel-build?
+                                         (number->string (parallel-job-count))
+                                         1))
+                          (jobs (string-append "-j" job-count))
+                          (target #$(if (target-mingw?)
+                                        "static"
+                                        "shared")))
+                     (apply invoke "make" target jobs make-flags)
+                     (apply invoke "make" "libcryptopp.pc" jobs
+                            make-flags)))))))
     (native-inputs
      (list unzip))
     (home-page "https://cryptopp.com/")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#64558] [PATCH 2/2] gnu: crypto++: Add tunable property.
  2023-07-10 17:48 ` [bug#64558] [PATCH 1/2] gnu: crypto++: " Jean-Pierre De Jesus DIAZ via Guix-patches via
@ 2023-07-10 17:48   ` Jean-Pierre De Jesus DIAZ via Guix-patches via
  0 siblings, 0 replies; 4+ messages in thread
From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-07-10 17:48 UTC (permalink / raw)
  To: 64558; +Cc: Jean-Pierre De Jesus DIAZ

* gnu/packages/crypto.scm (crypto++): Set tunable? property to true.

Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com>
---
 gnu/packages/crypto.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 69d979fef4..995f01c2d0 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -780,6 +780,7 @@ (define-public crypto++
                      (apply invoke "make" target jobs make-flags)
                      (apply invoke "make" "libcryptopp.pc" jobs
                             make-flags)))))))
+    (properties '((tunable? . #t)))
     (native-inputs
      (list unzip))
     (home-page "https://cryptopp.com/")
-- 
2.34.1





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#64558: [PATCH 0/2] gnu: crypto+: Update to 8.8.0.
  2023-07-10 17:45 [bug#64558] [PATCH 0/2] gnu: crypto+: Update to 8.8.0 Jean-Pierre De Jesus DIAZ via Guix-patches via
  2023-07-10 17:48 ` [bug#64558] [PATCH 1/2] gnu: crypto++: " Jean-Pierre De Jesus DIAZ via Guix-patches via
@ 2023-10-17  9:38 ` Christopher Baines
  1 sibling, 0 replies; 4+ messages in thread
From: Christopher Baines @ 2023-10-17  9:38 UTC (permalink / raw)
  To: Jean-Pierre De Jesus DIAZ; +Cc: 64558-done, guix-patches

[-- Attachment #1: Type: text/plain, Size: 1082 bytes --]


Jean-Pierre De Jesus DIAZ via Guix-patches via <guix-patches@gnu.org> writes:

> This updates the package definition of crypto++ to the latest
> version and also improves the phases expressions by removing
> unused ones, for example, the library doesn't build anymore with
> `-march=native' by default and the pkg-config file can be created
> by a make target.
>
> Enables cross-compilation for GNU/Linux targets and also for MinGW
> targets.
>
> Also, as the package can be built with `-march=...` I added the tunable
> option to the package.  This package also provides SIMD implementations
> of some functions, but these need to be explicitly used by dependent
> packages.
>
>
> Jean-Pierre De Jesus DIAZ (2):
>   gnu: crypto++: Update to 8.8.0.
>   gnu: crypto++: Add tunable property.
>
>  gnu/packages/crypto.scm | 84 ++++++++++++++---------------------------
>  1 file changed, 29 insertions(+), 55 deletions(-)

Thanks for the patches, and apologies for the long delay in looking at
them.

I've now pushed them to master as
c8312a6d070677909130c227e9a5bbcaa6a57bfe.

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-17  9:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-10 17:45 [bug#64558] [PATCH 0/2] gnu: crypto+: Update to 8.8.0 Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-07-10 17:48 ` [bug#64558] [PATCH 1/2] gnu: crypto++: " Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-07-10 17:48   ` [bug#64558] [PATCH 2/2] gnu: crypto++: Add tunable property Jean-Pierre De Jesus DIAZ via Guix-patches via
2023-10-17  9:38 ` bug#64558: [PATCH 0/2] gnu: crypto+: Update to 8.8.0 Christopher Baines

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.