(define-module (guix) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system python) #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module (guix download) #:use-module (gnu packages) #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) #:use-module (gnu packages certs) #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages finance) #:use-module (gnu packages gnupg) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages libffi) #:use-module (gnu packages license)) (define libsecp256k1-anonswap (package (name "libsecp256k1-anonswap") (version "anonswap_v0.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tecnovert/secp256k1") (commit version))) (sha256 (base32 "1lrcc5gjywlzvrgwzifva4baa2nsvwr3h0wmkc71q0zhag9pjbah")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-shared" "--disable-dependency-tracking" "--with-valgrind=no" "--enable-experimental" "--enable-module-recovery" "--enable-module-ecdh" "--enable-benchmark=no" "--enable-tests=no" "--enable-module-ed25519" "--enable-module-generator" "--enable-module-dleag" "--enable-module-ecdsaotves" ))) (native-inputs (list autoconf automake libtool)) (synopsis "C library for EC operations on curve secp256k1") (description "Optimized C library for EC operations on curve secp256k1.\n") (home-page "https://github.com/bitcoin-core/secp256k1") (license license:unlicense))) (define python-coincurve-anonswap (package (name "python-coincurve-anonswap") (version "anonswap_v0.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tecnovert/coincurve") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0vyzvpp2s21js01185qbm1lgs4ps4hki2d6yzprfsjqap1i5qhmp")))) (build-system python-build-system) (arguments '(#:tests? #f ;XXX fails to load "libsecp256k1.dll" #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-libsec256k1-path (lambda _ (substitute* "setup.py" (("if has_system_lib\\(\\)") "if True") ((", 'requests'") "") (("download_library\\(self\\)") ""))))))) (propagated-inputs (list libsecp256k1-anonswap python-asn1crypto python-cffi)) (native-inputs (list python-setuptools pkg-config )) (synopsis "Python libsecp256k1 wrapper") (description "Python libsecp256k1 wrapper.") (home-page "https://github.com/tecnovert/coincurve") (license license:bsd-3))) (define python-sqlalchemy-1.4.39 (package (inherit python-sqlalchemy) (version "1.4.39") (source (origin (method url-fetch) (uri (pypi-uri "SQLAlchemy" version)) (sha256 (base32 "09sx2lghywnm7qj1xm8xc3xrgj40bndfh2hbiaq4cfvm71h8k541")))))) (define-public basicswap (package (name "basicswap") (version "0.11.49") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tecnovert/basicswap") (commit "d15cf3dd6fd45ce16cbc804a2d26260567b44d75"))) (sha256 (base32 "023yhncqhp22h7wmkmkj0wc0627vbwlbr6mp5cpjwccalvxziskv")) (file-name (git-file-name name version)))) (build-system python-build-system) (arguments `(#:tests? #f)) ; TODO: Add coin binaries (propagated-inputs (list gnupg nss-certs python-coincurve-anonswap python-pycryptodome python-pytest python-protobuf python-sqlalchemy-1.4.39 python-pyzmq python-gnupg python-jinja2 python-pysocks python-mnemonic )) (native-inputs (list python-setuptools python-wheel python-pylint python-pyflakes )) (synopsis "Simple Atomic Swap Network - Proof of Concept") (description #f) (home-page "https://github.com/tecnovert/basicswap") (license license:bsd-3)))