~ruther/guix-local

d1ecd3c67cddb31ab8bbe3a20529d7dc825157fc — Liliana Marie Prikler 2 years ago 9038a46
gnu: Add wide-integer.

* gnu/packages/cpp.scm (wide-integer): New variable.
1 files changed, 31 insertions(+), 0 deletions(-)

M gnu/packages/cpp.scm
M gnu/packages/cpp.scm => gnu/packages/cpp.scm +31 -0
@@ 2704,6 2704,37 @@ addition and subtraction for all combinations of signed and unsigned 32-bit and
64-bit integers.")
    (license license:expat)))

(define-public wide-integer
  (let ((commit "22b8428746248e682d5276f8e8b7fb52af73ea47")
        (revision "1314"))              ; commit count
   (package
    (name "wide-integer")
    (version (git-version "0" revision commit))
    (source (origin
             (method git-fetch)
             (uri (git-reference
                   (url "https://github.com/ckormanyos/wide-integer")
                   (commit commit)))
             (file-name (git-file-name name version))
             (sha256
              (base32 "0bhjnbdcphv5kddddh8kpwjpjix23m12vmfsz0r6wjc5d27md33z"))
             (modules '((guix build utils)))
             (snippet #~(substitute* "CMakeLists.txt"
                          (("WideIntegerTargets") "wide-integer-targets")
                          (("WideIntegerConfig") "wide-integer-config")
                          (("WideInteger") "wide-integer")))))
    (build-system cmake-build-system)
    (native-inputs (list boost))
    (home-page "https://github.com/ckormanyos/wide-integer")
    (synopsis "C++ template for arbitrary-precision integers")
    (description "This package implements a generic template for extended
width signed and unsigned integral types.  Up to 63 limbs of any built-in
integer type are supported, and can be used to build powers of two like
int128_t, uint256_t, but also somewhat esoteric types such as int24_t,
uint80_t, or uint1536_t.  The provided types can be used in much the same
way as basic integer types.")
    (license license:boost1.0))))

(define-public wdl
  ;; No tag is available.
  (let ((commit "da86a62d11e46e4ecd8b16f9775cb5188340a0e2")