Host-customized fork of https://github.com/tecnovert/basicswap/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
5.3 KiB
168 lines
5.3 KiB
(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 (guix search-paths) |
|
#: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.58") |
|
(source (origin |
|
(method git-fetch) |
|
(uri (git-reference |
|
(url "https://github.com/tecnovert/basicswap") |
|
(commit "9729dcf526917eb5e128dd72b091464d1e72fe54"))) |
|
(sha256 |
|
(base32 |
|
"0sjxk4c9vzn5fr8dqxrmvgw1267njjkblajxvqf3kls5b2s7l41k")) |
|
(file-name (git-file-name name version)))) |
|
(build-system python-build-system) |
|
|
|
(native-search-paths (list $SSL_CERT_DIR $SSL_CERT_FILE)) |
|
(arguments |
|
'(#:tests? #f ; TODO: Add coin binaries |
|
#:phases (modify-phases %standard-phases |
|
(add-after 'unpack 'patch-env |
|
(lambda* (#:key inputs #:allow-other-keys) |
|
(substitute* "bin/basicswap_prepare.py" |
|
(("GUIX_SSL_CERT_DIR = None") |
|
(string-append "GUIX_SSL_CERT_DIR = \"" (search-input-directory inputs "etc/ssl/certs") "\""))) |
|
) |
|
)))) |
|
(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)))
|
|
|