diff mbox series

[bug#48217,v2,4/9] gnu: Add cm256cc.

Message ID 20210505084824.22275-4-glv@posteo.net
State Accepted
Headers show
Series [bug#48217,v2,1/9] gnu: Add csdr. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Guillaume Le Vaillant May 5, 2021, 8:48 a.m. UTC
* gnu/packages/radio.scm (cm256cc): New variable.
---
 gnu/packages/radio.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Comments

M May 5, 2021, 11:22 a.m. UTC | #1
Guillaume Le Vaillant schreef op wo 05-05-2021 om 08:48 [+0000]:
> * gnu/packages/radio.scm (cm256cc): New variable.
> [...]
> +         (replace 'check
> +           (lambda _
> +             (invoke "./cm256_test"))))))

I would make this something like

> +           (lambda (#:key tests? #:allow-other-keys)
> +             (when tests?
> +               (invoke "./cm256_test")))

Then "guix build --without-tests=cm256cc cm256cc" can be used
for building "cm256cc" without tests, and the "cm256_test" 
binary won't be invoked when cross-compiling.

(I assume it is a binary.)

For testing cross-compilation to aarch64-linux-gnu:
  ./pre-inst-env guix build --target=aarch64-linux-gnu cm256cc

Greetings,
Maxime.
Guillaume Le Vaillant May 5, 2021, 1:37 p.m. UTC | #2
Maxime Devos <maximedevos@telenet.be> skribis:

> Guillaume Le Vaillant schreef op wo 05-05-2021 om 08:48 [+0000]:
>> * gnu/packages/radio.scm (cm256cc): New variable.
>> [...]
>> +         (replace 'check
>> +           (lambda _
>> +             (invoke "./cm256_test"))))))
>
> I would make this something like
>
>> +           (lambda (#:key tests? #:allow-other-keys)
>> +             (when tests?
>> +               (invoke "./cm256_test")))
>
> Then "guix build --without-tests=cm256cc cm256cc" can be used
> for building "cm256cc" without tests, and the "cm256_test" 
> binary won't be invoked when cross-compiling.

Ok, I'll add that.
Thanks.
diff mbox series

Patch

diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 73f0d03e01..8a75ab5551 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1638,3 +1638,32 @@  program that can be used to build simple signal processing flow graphs.")
      "SerialDV is a minimal interface to encode and decode audio with AMBE3000
 based devices in packet mode over a serial link.")
     (license license:gpl3+)))
+
+(define-public cm256cc
+  (package
+    (name "cm256cc")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/f4exb/cm256cc")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1n9v7g6d370263bgqrjv38s9aq5953rzy7jvd8i30xq6aram9djg"))))
+    (build-system cmake-build-system)
+    (arguments
+     ;; Disable some SIMD features for reproducibility.
+     `(#:configure-flags '("-DENABLE_DISTRIBUTION=1")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "./cm256_test"))))))
+    (home-page "https://github.com/f4exb/cm256cc")
+    (synopsis "Cauchy MDS Block Erasure Codec")
+    (description
+     "This is a C++ library implementing fast GF(256) Cauchy MDS Block Erasure
+Codec.")
+    (license license:gpl3+)))