uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
43
pkgs/applications/blockchains/aeon/default.nix
Normal file
43
pkgs/applications/blockchains/aeon/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, git, doxygen, graphviz
|
||||
, boost, miniupnpc, openssl, unbound, cppzmq
|
||||
, zeromq, pcsclite, readline, libsodium
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.14.1.0";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "aeon";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aeonix";
|
||||
repo = "aeon";
|
||||
rev = "v${version}-aeon";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-yej4w/2m9YXsMobqHwzA5GBbduhaeTVvmnHUJNWX87E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config git doxygen graphviz ];
|
||||
|
||||
buildInputs = [
|
||||
boost miniupnpc openssl unbound
|
||||
cppzmq zeromq pcsclite readline libsodium
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
];
|
||||
|
||||
hardeningDisable = [ "fortify" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Private, secure, untraceable currency";
|
||||
homepage = "http://www.aeon.cash/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.aij ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
56
pkgs/applications/blockchains/alfis/default.nix
Normal file
56
pkgs/applications/blockchains/alfis/default.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, makeWrapper
|
||||
, webkitgtk
|
||||
, zenity
|
||||
, Cocoa
|
||||
, Security
|
||||
, WebKit
|
||||
, withGui ? true
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "alfis";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Revertron";
|
||||
repo = "Alfis";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-P+usJCzf92WZ46mdaDbej59/RUzmFcMvlYXVe2VpgY0=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-N5qHu0sCmIWtDYerWqMlD3qr8QtXLvEC7VqPEvnW2cw=";
|
||||
|
||||
checkFlags = [
|
||||
# these want internet access, disable them
|
||||
"--skip=dns::client::tests::test_tcp_client"
|
||||
"--skip=dns::client::tests::test_udp_client"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
buildInputs = lib.optional stdenv.isDarwin Security
|
||||
++ lib.optional (withGui && stdenv.isLinux) webkitgtk
|
||||
++ lib.optionals (withGui && stdenv.isDarwin) [ Cocoa WebKit ];
|
||||
|
||||
buildNoDefaultFeatures = true;
|
||||
buildFeatures = [
|
||||
"doh"
|
||||
] ++ lib.optional withGui "webgui";
|
||||
|
||||
postInstall = lib.optionalString (withGui && stdenv.isLinux) ''
|
||||
wrapProgram $out/bin/alfis \
|
||||
--prefix PATH : ${lib.makeBinPath [ zenity ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Alternative Free Identity System";
|
||||
homepage = "https://alfis.name";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ misuzu ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
29
pkgs/applications/blockchains/besu/default.nix
Normal file
29
pkgs/applications/blockchains/besu/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "besu";
|
||||
version = "21.10.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://hyperledger.jfrog.io/artifactory/${pname}-binaries/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-0yXi42vDinB6nuv5IGj1AhYGqMa2Rku0tNWQCO+AFPw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -r bin $out/
|
||||
mkdir -p $out/lib
|
||||
cp -r lib $out/
|
||||
wrapProgram $out/bin/${pname} --set JAVA_HOME "${jre}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client";
|
||||
homepage = "https://www.hyperledger.org/projects/besu";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mmahut ];
|
||||
};
|
||||
}
|
||||
102
pkgs/applications/blockchains/bisq-desktop/default.nix
Normal file
102
pkgs/applications/blockchains/bisq-desktop/default.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, makeWrapper
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, imagemagick
|
||||
, openjdk11
|
||||
, dpkg
|
||||
, writeScript
|
||||
, bash
|
||||
, tor
|
||||
, zip
|
||||
, xz
|
||||
}:
|
||||
|
||||
let
|
||||
bisq-launcher = writeScript "bisq-launcher" ''
|
||||
#! ${bash}/bin/bash
|
||||
|
||||
# This is just a comment to convince Nix that Tor is a
|
||||
# runtime dependency; The Tor binary is in a *.jar file,
|
||||
# whereas Nix only scans for hashes in uncompressed text.
|
||||
# ${bisq-tor}
|
||||
|
||||
JAVA_TOOL_OPTIONS="-XX:+UseG1GC -XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5 -XX:+UseStringDeduplication" bisq-desktop-wrapped "$@"
|
||||
'';
|
||||
|
||||
bisq-tor = writeScript "bisq-tor" ''
|
||||
#! ${bash}/bin/bash
|
||||
|
||||
exec ${tor}/bin/tor "$@"
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bisq-desktop";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
||||
sha256 = "0gzfcp255z542adk1g6gsmfpp5zpivv6n1f5kzqgwgm5qmr24049";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg zip xz ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "Bisq";
|
||||
exec = "bisq-desktop";
|
||||
icon = "bisq";
|
||||
desktopName = "Bisq ${version}";
|
||||
genericName = "Decentralized bitcoin exchange";
|
||||
categories = [ "Network" "P2P" ];
|
||||
})
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
dpkg -x $src .
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
# Replace the embedded Tor binary (which is in a Tar archive)
|
||||
# with one from Nixpkgs.
|
||||
|
||||
mkdir -p native/linux/x64/
|
||||
cp ${bisq-tor} ./tor
|
||||
tar -cJf native/linux/x64/tor.tar.xz tor
|
||||
zip -r opt/bisq/lib/app/desktop-${version}-all.jar native
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib $out/bin
|
||||
cp opt/bisq/lib/app/desktop-${version}-all.jar $out/lib
|
||||
|
||||
makeWrapper ${openjdk11}/bin/java $out/bin/bisq-desktop-wrapped \
|
||||
--add-flags "-jar $out/lib/desktop-${version}-all.jar bisq.desktop.app.BisqAppMain"
|
||||
|
||||
makeWrapper ${bisq-launcher} $out/bin/bisq-desktop \
|
||||
--prefix PATH : $out/bin
|
||||
|
||||
for n in 16 24 32 48 64 96 128 256; do
|
||||
size=$n"x"$n
|
||||
convert opt/bisq/lib/Bisq.png -resize $size bisq.png
|
||||
install -Dm644 -t $out/share/icons/hicolor/$size/apps bisq.png
|
||||
done;
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A decentralized bitcoin exchange network";
|
||||
homepage = "https://bisq.network";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ juaningan emmanuelrosa ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
22
pkgs/applications/blockchains/bisq-desktop/update.sh
Executable file
22
pkgs/applications/blockchains/bisq-desktop/update.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq gnused gnupg common-updater-scripts
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
version="$(curl -s https://api.github.com/repos/bisq-network/bisq/releases| jq '.[] | {name,prerelease} | select(.prerelease==false) | limit(1;.[])' | sed 's/[\"v]//g' | head -n 1)"
|
||||
depname="Bisq-64bit-$version.deb"
|
||||
src="https://github.com/bisq-network/bisq/releases/download/v$version/$depname"
|
||||
signature="$src.asc"
|
||||
key="CB36 D7D2 EBB2 E35D 9B75 500B CD5D C1C5 29CD FD3B"
|
||||
|
||||
pushd $(mktemp -d --suffix=-bisq-updater)
|
||||
export GNUPGHOME=$PWD/gnupg
|
||||
mkdir -m 700 -p "$GNUPGHOME"
|
||||
curl -L -o "$depname" -- "$src"
|
||||
curl -L -o signature.asc -- "$signature"
|
||||
gpg --batch --recv-keys "$key"
|
||||
gpg --batch --verify signature.asc "$depname"
|
||||
sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$depname")
|
||||
popd
|
||||
|
||||
update-source-version bisq-desktop "$version" "$sha256"
|
||||
76
pkgs/applications/blockchains/bitcoin-abc/default.nix
Normal file
76
pkgs/applications/blockchains/bitcoin-abc/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, cmake
|
||||
, openssl
|
||||
, db53
|
||||
, boost
|
||||
, zlib
|
||||
, miniupnpc
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, util-linux
|
||||
, protobuf
|
||||
, qrencode
|
||||
, libevent
|
||||
, withGui
|
||||
, python3
|
||||
, jemalloc
|
||||
, zeromq4
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
|
||||
version = "0.21.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitcoin-ABC";
|
||||
repo = "bitcoin-abc";
|
||||
rev = "v${version}";
|
||||
sha256 = "1x8xcdi1vcskggk9bqkwr3ah4vi9b7sj2h8hf7spac6dvz8lmzav";
|
||||
};
|
||||
|
||||
patches = [ ./fix-bitcoin-qt-build.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
buildInputs = [
|
||||
openssl
|
||||
db53
|
||||
boost
|
||||
zlib
|
||||
python3
|
||||
jemalloc
|
||||
zeromq4
|
||||
miniupnpc
|
||||
util-linux
|
||||
protobuf
|
||||
libevent
|
||||
] ++ lib.optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
cmakeFlags = lib.optionals (!withGui) [
|
||||
"-DBUILD_BITCOIN_QT=OFF"
|
||||
];
|
||||
|
||||
# many of the generated scripts lack execute permissions
|
||||
postConfigure = ''
|
||||
find ./. -type f -iname "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Peer-to-peer electronic cash system (Cash client)";
|
||||
longDescription = ''
|
||||
Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
|
||||
It is designed to facilite a hard fork to increase Bitcoin's block size limit.
|
||||
"ABC" stands for "Adjustable Blocksize Cap".
|
||||
|
||||
Bitcoin ABC is a fork of the Bitcoin Core software project.
|
||||
'';
|
||||
homepage = "https://bitcoinabc.org/";
|
||||
maintainers = with maintainers; [ lassulus ];
|
||||
license = licenses.mit;
|
||||
broken = stdenv.isDarwin;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
--- bitcoin-abc-v0.15.0-src/build-aux/m4/bitcoin_qt.m4 1970-01-01 01:00:01.000000000 +0100
|
||||
+++ bitcoin-abc-v0.15.0-src.org/build-aux/m4/bitcoin_qt.m4 2017-09-27 23:38:44.748384197 +0100
|
||||
@@ -35,11 +35,7 @@
|
||||
dnl Output: $1 is set to the path of $2 if found. $2 are searched in order.
|
||||
AC_DEFUN([BITCOIN_QT_PATH_PROGS],[
|
||||
BITCOIN_QT_CHECK([
|
||||
- if test "x$3" != x; then
|
||||
- AC_PATH_PROGS($1,$2,,$3)
|
||||
- else
|
||||
- AC_PATH_PROGS($1,$2)
|
||||
- fi
|
||||
+ AC_PATH_PROGS($1,$2)
|
||||
if test "x$$1" = x && test "x$4" != xyes; then
|
||||
BITCOIN_QT_FAIL([$1 not found])
|
||||
fi
|
||||
78
pkgs/applications/blockchains/bitcoin-classic/default.nix
Normal file
78
pkgs/applications/blockchains/bitcoin-classic/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, autoreconfHook
|
||||
, openssl
|
||||
, db48
|
||||
, boost
|
||||
, zlib
|
||||
, miniupnpc
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, util-linux
|
||||
, protobuf
|
||||
, qrencode
|
||||
, libevent
|
||||
, withGui
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-classic";
|
||||
version = "1.3.8uahf";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitcoinclassic";
|
||||
repo = "bitcoinclassic";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fVmFD1B4kKoejd2cmPPF5TJJQTAA6AVsGlVY8IIUNK4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
buildInputs = [
|
||||
openssl
|
||||
db48
|
||||
boost
|
||||
zlib
|
||||
miniupnpc
|
||||
util-linux
|
||||
protobuf
|
||||
libevent
|
||||
] ++ lib.optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||
++ lib.optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
CXXFLAGS = [ "-std=c++14" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Peer-to-peer electronic cash system (Classic client)";
|
||||
longDescription = ''
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that is
|
||||
completely decentralized, without the need for a central server or trusted
|
||||
parties. Users hold the crypto keys to their own money and transact directly
|
||||
with each other, with the help of a P2P network to check for double-spending.
|
||||
|
||||
Bitcoin Classic stands for the original Bitcoin as Satoshi described it,
|
||||
"A Peer-to-Peer Electronic Cash System". We are writing the software that
|
||||
miners and users say they want. We will make sure it solves their needs, help
|
||||
them deploy it, and gracefully upgrade the bitcoin network's capacity
|
||||
together. The data shows that Bitcoin can grow, on-chain, to welcome many
|
||||
more users onto our coin in a safe and distributed manner. In the future we
|
||||
will continue to release updates that are in line with Satoshi’s whitepaper &
|
||||
vision, and are agreed upon by the community.
|
||||
'';
|
||||
homepage = "https://bitcoinclassic.com/";
|
||||
maintainers = with maintainers; [ jefdaj ];
|
||||
license = licenses.mit;
|
||||
broken = stdenv.isDarwin;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
72
pkgs/applications/blockchains/bitcoin-gold/default.nix
Normal file
72
pkgs/applications/blockchains/bitcoin-gold/default.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, openssl
|
||||
, boost
|
||||
, libb2
|
||||
, libevent
|
||||
, autoreconfHook
|
||||
, db4
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, hexdump
|
||||
, zeromq
|
||||
, libsodium
|
||||
, withGui
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, wrapQtAppsHook ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "bitcoin" + toString (optional (!withGui) "d") + "-gold";
|
||||
version = "0.17.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BTCGPU";
|
||||
repo = "BTCGPU";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1tFoUNsCPJkHSmNRl5gE3n2EQD6RZSry1zIM5hiTzEI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
hexdump
|
||||
] ++ optionals withGui [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
boost
|
||||
libevent
|
||||
db4
|
||||
zeromq
|
||||
libsodium
|
||||
libb2
|
||||
] ++ optionals withGui [
|
||||
qtbase
|
||||
qttools
|
||||
protobuf
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
] ++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "BTG is a cryptocurrency with Bitcoin fundamentals, mined on common GPUs instead of specialty ASICs";
|
||||
homepage = "https://bitcoingold.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.mmahut ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
83
pkgs/applications/blockchains/bitcoin-knots/default.nix
Normal file
83
pkgs/applications/blockchains/bitcoin-knots/default.nix
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, util-linux
|
||||
, hexdump
|
||||
, autoSignDarwinBinariesHook
|
||||
, wrapQtAppsHook ? null
|
||||
, boost
|
||||
, libevent
|
||||
, miniupnpc
|
||||
, zeromq
|
||||
, zlib
|
||||
, db48
|
||||
, sqlite
|
||||
, qrencode
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, python3
|
||||
, nixosTests
|
||||
, withGui
|
||||
, withWallet ? true
|
||||
}:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
|
||||
version = "22.0.knots20211108";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitcoinknots.org/files/22.x/${version}/guix/bitcoin-${version}.tar.gz";
|
||||
sha256 = "04sqbx4sp3bzwbl8z53nz96n3s0590h327ih0mbgyvfvl3b8pj4i";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[ autoreconfHook pkg-config ]
|
||||
++ optionals stdenv.isLinux [ util-linux ]
|
||||
++ optionals stdenv.isDarwin [ hexdump ]
|
||||
++ optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
|
||||
++ optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
|
||||
++ optionals withWallet [ db48 sqlite ]
|
||||
++ optionals withGui [ qrencode qtbase qttools ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
"--disable-bench"
|
||||
] ++ optionals (!doCheck) [
|
||||
"--disable-tests"
|
||||
"--disable-gui-tests"
|
||||
] ++ optionals (!withWallet) [
|
||||
"--disable-wallet"
|
||||
] ++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
checkInputs = [ python3 ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkFlags =
|
||||
[ "LC_ALL=en_US.UTF-8" ]
|
||||
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
|
||||
# See also https://github.com/NixOS/nixpkgs/issues/24256
|
||||
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests = {
|
||||
smoke-test = nixosTests.bitcoind-knots;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A derivative of Bitcoin Core with a collection of improvements";
|
||||
homepage = "https://bitcoinknots.org/";
|
||||
maintainers = with maintainers; [ prusnak mmahut ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
66
pkgs/applications/blockchains/bitcoin-unlimited/default.nix
Normal file
66
pkgs/applications/blockchains/bitcoin-unlimited/default.nix
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, openssl, db48, boost
|
||||
, zlib, miniupnpc, util-linux, protobuf, qrencode, libevent, python3
|
||||
, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
|
||||
, Foundation, ApplicationServices, AppKit }:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitcoin" + optionalString (!withGui) "d" + "-unlimited";
|
||||
version = "1.9.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitcoinunlimited";
|
||||
repo = "bitcoinunlimited";
|
||||
rev = "BCHunlimited${version}";
|
||||
sha256 = "sha256-qUf/GWZHpI57ATTlvRhjDtAjRa8a4uvUb0G9Xcf0j7w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook python3 ]
|
||||
++ optionals withGui [ wrapQtAppsHook qttools ];
|
||||
buildInputs = [ openssl db48 boost zlib
|
||||
miniupnpc util-linux protobuf libevent ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ]
|
||||
++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||
++ optionals withGui [ "--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Peer-to-peer electronic cash system (Unlimited client)";
|
||||
longDescription= ''
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that is
|
||||
completely decentralized, without the need for a central server or trusted
|
||||
parties. Users hold the crypto keys to their own money and transact directly
|
||||
with each other, with the help of a P2P network to check for double-spending.
|
||||
|
||||
The Bitcoin Unlimited (BU) project seeks to provide a voice to all
|
||||
stakeholders in the Bitcoin ecosystem.
|
||||
|
||||
Every node operator or miner can currently choose their own blocksize limit
|
||||
by modifying their client. Bitcoin Unlimited makes the process easier by
|
||||
providing a configurable option for the accepted and generated blocksize via
|
||||
a GUI menu. Bitcoin Unlimited further provides a user-configurable failsafe
|
||||
setting allowing you to accept a block larger than your maximum accepted
|
||||
blocksize if it reaches a certain number of blocks deep in the chain.
|
||||
|
||||
The Bitcoin Unlimited client is not a competitive block scaling proposal
|
||||
like BIP-101, BIP-102, etc. Instead it tracks consensus. This means that it
|
||||
tracks the blockchain that the hash power majority follows, irrespective of
|
||||
blocksize, and signals its ability to accept larger blocks via protocol and
|
||||
block versioning fields.
|
||||
|
||||
If you support an increase in the blocksize limit by any means - or just
|
||||
support Bitcoin conflict resolution as originally envisioned by its founder -
|
||||
consider running a Bitcoin Unlimited client.
|
||||
'';
|
||||
homepage = "https://www.bitcoinunlimited.info/";
|
||||
maintainers = with maintainers; [ DmitryTsygankov ];
|
||||
license = licenses.mit;
|
||||
broken = stdenv.isDarwin;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
108
pkgs/applications/blockchains/bitcoin/default.nix
Normal file
108
pkgs/applications/blockchains/bitcoin/default.nix
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, util-linux
|
||||
, hexdump
|
||||
, autoSignDarwinBinariesHook
|
||||
, wrapQtAppsHook ? null
|
||||
, boost
|
||||
, libevent
|
||||
, miniupnpc
|
||||
, zeromq
|
||||
, zlib
|
||||
, db48
|
||||
, sqlite
|
||||
, qrencode
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, python3
|
||||
, nixosTests
|
||||
, withGui
|
||||
, withWallet ? true
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
version = "23.0";
|
||||
majorVersion = versions.major version;
|
||||
desktop = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorVersion}.x/debian/bitcoin-qt.desktop";
|
||||
sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "bitcoin" else "bitcoind";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "26748bf49d6d6b4014d0fedccac46bf2bcca42e9d34b3acfd9e3467c415acc05";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[ autoreconfHook pkg-config ]
|
||||
++ optionals stdenv.isLinux [ util-linux ]
|
||||
++ optionals stdenv.isDarwin [ hexdump ]
|
||||
++ optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
|
||||
++ optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
|
||||
++ optionals withWallet [ db48 sqlite ]
|
||||
++ optionals withGui [ qrencode qtbase qttools ];
|
||||
|
||||
postInstall = optionalString withGui ''
|
||||
install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
|
||||
substituteInPlace $out/share/applications/bitcoin-qt.desktop --replace "Icon=bitcoin128" "Icon=bitcoin"
|
||||
install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
"--disable-bench"
|
||||
] ++ optionals (!doCheck) [
|
||||
"--disable-tests"
|
||||
"--disable-gui-tests"
|
||||
] ++ optionals (!withWallet) [
|
||||
"--disable-wallet"
|
||||
] ++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
checkInputs = [ python3 ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkFlags =
|
||||
[ "LC_ALL=en_US.UTF-8" ]
|
||||
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
|
||||
# See also https://github.com/NixOS/nixpkgs/issues/24256
|
||||
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests = {
|
||||
smoke-test = nixosTests.bitcoind;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Peer-to-peer electronic cash system";
|
||||
longDescription = ''
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that is
|
||||
completely decentralized, without the need for a central server or trusted
|
||||
parties. Users hold the crypto keys to their own money and transact directly
|
||||
with each other, with the help of a P2P network to check for double-spending.
|
||||
'';
|
||||
homepage = "https://bitcoin.org/en/";
|
||||
downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/";
|
||||
changelog = "https://bitcoincore.org/en/releases/${version}/";
|
||||
maintainers = with maintainers; [ prusnak roconnor ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/blockchains/btcdeb/default.nix
Normal file
30
pkgs/applications/blockchains/btcdeb/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, openssl
|
||||
}:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "btcdeb";
|
||||
version = "unstable-2022-04-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitcoin-core";
|
||||
repo = "btcdeb";
|
||||
rev = "3ba1ec7f4d37f7d2ff0544403465004c6e12036e";
|
||||
hash = "sha256-l/PGXXX288mnoSFZ32t2Xd13dC6JCU5wDHoDxb+fcp0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
meta = {
|
||||
description = "Bitcoin Script Debugger";
|
||||
homepage = "https://github.com/bitcoin-core/btcdeb";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ akru ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/blockchains/btcpayserver/default.nix
Normal file
33
pkgs/applications/blockchains/btcpayserver/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages
|
||||
, altcoinSupport ? false }:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "btcpayserver";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8GMk7xBMhml0X/8YRuN3FsEF2TWDxtb0eoP/cduKXNg=";
|
||||
};
|
||||
|
||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
|
||||
|
||||
buildType = if altcoinSupport then "Altcoins-Release" else "Release";
|
||||
|
||||
postFixup = ''
|
||||
mv $out/bin/{BTCPayServer,btcpayserver}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Self-hosted, open-source cryptocurrency payment processor";
|
||||
homepage = "https://btcpayserver.org";
|
||||
maintainers = with maintainers; [ kcalvinalvin earvstedt ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
2002
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
Normal file
2002
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
Normal file
File diff suppressed because it is too large
Load diff
12
pkgs/applications/blockchains/btcpayserver/update.sh
Executable file
12
pkgs/applications/blockchains/btcpayserver/update.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
|
||||
cd "$scriptDir"
|
||||
|
||||
echo "Updating nbxplorer"
|
||||
../nbxplorer/update.sh
|
||||
echo
|
||||
echo "Updating btcpayserver"
|
||||
# Include Razor SDK packages in deps.nix
|
||||
../nbxplorer/util/update-common.sh btcpayserver deps.nix '"/p:Configuration="Altcoins-Release" /p:RazorCompileOnBuild=false'
|
||||
56
pkgs/applications/blockchains/cgminer/default.nix
Normal file
56
pkgs/applications/blockchains/cgminer/default.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libtool
|
||||
, autoconf
|
||||
, automake
|
||||
, curl
|
||||
, ncurses
|
||||
, ocl-icd
|
||||
, opencl-headers
|
||||
, libusb1
|
||||
, xorg
|
||||
, jansson }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cgminer";
|
||||
version = "4.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ckolivas";
|
||||
repo = "cgminer";
|
||||
rev = "v${version}";
|
||||
sha256 = "0l1ms3nxnjzh4mpiadikvngcr9k3jnjqy3yna207za0va0c28dj5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoconf automake ];
|
||||
buildInputs = [ libtool curl ncurses ocl-icd opencl-headers
|
||||
xorg.libX11 xorg.libXext xorg.libXinerama jansson libusb1 ];
|
||||
|
||||
configureScript = "./autogen.sh";
|
||||
configureFlags = [ "--enable-scrypt"
|
||||
"--enable-opencl"
|
||||
"--enable-bitforce"
|
||||
"--enable-icarus"
|
||||
"--enable-modminer"
|
||||
"--enable-ztex"
|
||||
"--enable-avalon"
|
||||
"--enable-klondike"
|
||||
"--enable-keccak"
|
||||
"--enable-bflsc"];
|
||||
|
||||
# Workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: cgminer-driver-modminer.o:/build/source/miner.h:285:
|
||||
# multiple definition of `bitforce_drv'; cgminer-cgminer.o:/build/source/miner.h:285:
|
||||
# first defined here
|
||||
NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
meta = with lib; {
|
||||
description = "CPU/GPU miner in c for bitcoin";
|
||||
homepage = "https://github.com/ckolivas/cgminer";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ offline mmahut ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
39
pkgs/applications/blockchains/charge-lnd/default.nix
Normal file
39
pkgs/applications/blockchains/charge-lnd/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "charge-lnd";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "accumulator";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1d1cbpmpppp7z1bmsarwfs314c7ypchlyr4calx0fzxfpxzfks5k";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
aiorpcx
|
||||
colorama
|
||||
googleapis-common-protos
|
||||
grpcio
|
||||
protobuf
|
||||
six
|
||||
termcolor
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install README.md charge.config.example -Dt $out/share/doc/charge-lnd
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/charge-lnd --help > /dev/null
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple policy-based fee manager for lightning network daemon";
|
||||
homepage = "https://github.com/accumulator/charge-lnd";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ mmilata ];
|
||||
};
|
||||
}
|
||||
72
pkgs/applications/blockchains/chia-plotter/default.nix
Normal file
72
pkgs/applications/blockchains/chia-plotter/default.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, libsodium
|
||||
, cmake
|
||||
, substituteAll
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "chia-plotter";
|
||||
version = "1.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "madMAx43v3r";
|
||||
repo = "chia-plotter";
|
||||
rev = "9d7fd929919d1adde6404cb4718a665a81bcef6d";
|
||||
sha256 = "sha256-TMAly+Qof2DHPRHqE1nZuHQaCeMo0jEd8MWy4OlXrcs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# prevent CMake from trying to get libraries on the Internet
|
||||
(substituteAll {
|
||||
src = ./dont_fetch_dependencies.patch;
|
||||
pybind11_src = python3Packages.pybind11.src;
|
||||
relic_src = fetchFromGitHub {
|
||||
owner = "Chia-Network";
|
||||
repo = "relic";
|
||||
rev = "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7";
|
||||
hash = "sha256-IfTD8DvTEXeLUoKe4Ejafb+PEJW5DV/VXRYuutwGQHU=";
|
||||
};
|
||||
sodium_src = fetchFromGitHub {
|
||||
owner = "AmineKhaldi";
|
||||
repo = "libsodium-cmake";
|
||||
rev = "f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65"; # pinned by upstream
|
||||
sha256 = "sha256-lGz7o6DQVAuEc7yTp8bYS2kwjzHwGaNjugDi1ruRJOA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ libsodium ];
|
||||
|
||||
# These flags come from the upstream build script:
|
||||
# https://github.com/madMAx43v3r/chia-plotter/blob/974d6e5f1440f68c48492122ca33828a98864dfc/make_devel.sh#L7
|
||||
CXXFLAGS = "-O3 -fmax-errors=1";
|
||||
cmakeFlags = [
|
||||
"-DARITH=easy"
|
||||
"-DBUILD_BLS_PYTHON_BINDINGS=false"
|
||||
"-DBUILD_BLS_TESTS=false"
|
||||
"-DBUILD_BLS_BENCHMARKS=false"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D -m 755 chia_plot $out/bin/chia_plot
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/madMAx43v3r/chia-plotter";
|
||||
description = "New implementation of a chia plotter which is designed as a processing pipeline";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ilyakooo0 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
diff --git a/lib/bls-signatures/python-bindings/CMakeLists.txt b/lib/bls-signatures/python-bindings/CMakeLists.txt
|
||||
index 255e3bb..5f99c3a 100644
|
||||
--- a/lib/bls-signatures/python-bindings/CMakeLists.txt
|
||||
+++ b/lib/bls-signatures/python-bindings/CMakeLists.txt
|
||||
@@ -6,8 +6,7 @@ include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
pybind11
|
||||
- GIT_REPOSITORY https://github.com/pybind/pybind11.git
|
||||
- GIT_TAG v2.6.2
|
||||
+ SOURCE_DIR @pybind11_src@
|
||||
)
|
||||
FetchContent_MakeAvailable(pybind11 relic)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6922167..23d8da6 100644
|
||||
--- a/lib/bls-signatures/CMakeLists.txt
|
||||
+++ b/lib/bls-signatures/CMakeLists.txt
|
||||
@@ -31,29 +31,18 @@ set(CMAKE_MODULE_PATH
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(Sodium
|
||||
- GIT_REPOSITORY https://github.com/AmineKhaldi/libsodium-cmake.git
|
||||
- # Latest commit at the moment this was added here
|
||||
- # Anchored to libsodium v1.0.18
|
||||
- GIT_TAG f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65
|
||||
+ URL @sodium_src@
|
||||
)
|
||||
set(SODIUM_PCH "on" CACHE STRING "")
|
||||
set(SODIUM_DISABLE_TESTS "on" CACHE STRING "")
|
||||
set(SODIUM_CHIA_MINIMAL "on" CACHE STRING "")
|
||||
FetchContent_MakeAvailable(Sodium)
|
||||
|
||||
-if (DEFINED ENV{RELIC_MAIN})
|
||||
- set(RELIC_GIT_TAG "origin/main")
|
||||
-else ()
|
||||
- # This is currently anchored to upstream aecdcae7956f542fbee2392c1f0feb0a8ac41dc5
|
||||
- set(RELIC_GIT_TAG "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7")
|
||||
-endif ()
|
||||
-
|
||||
message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
|
||||
|
||||
FetchContent_Declare(
|
||||
relic
|
||||
- GIT_REPOSITORY https://github.com/Chia-Network/relic.git
|
||||
- GIT_TAG ${RELIC_GIT_TAG}
|
||||
+ SOURCE_DIR @relic_src@
|
||||
)
|
||||
|
||||
# Relic related options
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 970ec74..948441a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -38,6 +38,7 @@ include_directories(
|
||||
${BLAKE3_PATH}
|
||||
${CMAKE_BINARY_DIR}/_deps/relic-src/include
|
||||
${CMAKE_BINARY_DIR}/_deps/relic-build/include
|
||||
+ @relic_src@/include
|
||||
)
|
||||
|
||||
IF (WIN32)
|
||||
95
pkgs/applications/blockchains/chia/default.nix
Normal file
95
pkgs/applications/blockchains/chia/default.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{ lib
|
||||
, cacert
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
let chia = python3Packages.buildPythonApplication rec {
|
||||
pname = "chia";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Chia-Network";
|
||||
repo = "chia-blockchain";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-nH6rCzIQu5oWsdEHa+UkvbWeUGjrtpEKVEcLmSoor5k=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "==" ">="
|
||||
|
||||
cp ${cacert}/etc/ssl/certs/ca-bundle.crt mozilla-ca/cacert.pem
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.setuptools-scm
|
||||
];
|
||||
|
||||
# give a hint to setuptools-scm on package version
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
aiofiles
|
||||
aiohttp
|
||||
aiosqlite
|
||||
bitstring
|
||||
blspy
|
||||
chiapos
|
||||
chiavdf
|
||||
chiabip158
|
||||
click
|
||||
clvm
|
||||
clvm-rs
|
||||
clvm-tools
|
||||
colorama
|
||||
colorlog
|
||||
concurrent-log-handler
|
||||
cryptography
|
||||
dnslib
|
||||
dnspythonchia
|
||||
fasteners
|
||||
filelock
|
||||
keyrings-cryptfile
|
||||
pyyaml
|
||||
setproctitle
|
||||
setuptools # needs pkg_resources at runtime
|
||||
sortedcontainers
|
||||
watchdog
|
||||
websockets
|
||||
zstd
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
# Testsuite is expensive and non-deterministic, so it is available in
|
||||
# passthru.tests instead.
|
||||
doCheck = false;
|
||||
|
||||
disabledTests = [
|
||||
"test_spend_through_n"
|
||||
"test_spend_zero_coin"
|
||||
"test_default_cached_master_passphrase"
|
||||
"test_using_legacy_keyring"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=`mktemp -d`
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
chiaWithTests = chia.overrideAttrs (_: { doCheck = true; });
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.chia.net/";
|
||||
description = "Chia is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure.";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = teams.chia.members;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
in chia
|
||||
30
pkgs/applications/blockchains/clboss/default.nix
Normal file
30
pkgs/applications/blockchains/clboss/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, curlWithGnuTls
|
||||
, libev
|
||||
, sqlite
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clboss";
|
||||
version = "0.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ZmnSCPxj/clboss/releases/download/${version}/clboss-${version}.tar.gz";
|
||||
hash = "sha256-UZcSfbpp3vPsD3CDukp+r5Z60h0UEWTduqF4DhJ+H2U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config libev curlWithGnuTls sqlite ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Automated C-Lightning Node Manager";
|
||||
homepage = "https://github.com/ZmnSCPxj/clboss";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
71
pkgs/applications/blockchains/clightning/default.nix
Normal file
71
pkgs/applications/blockchains/clightning/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, darwin
|
||||
, fetchurl
|
||||
, autoconf
|
||||
, automake
|
||||
, autogen
|
||||
, gettext
|
||||
, libtool
|
||||
, pkg-config
|
||||
, unzip
|
||||
, which
|
||||
, gmp
|
||||
, libsodium
|
||||
, python3
|
||||
, sqlite
|
||||
, zlib
|
||||
}:
|
||||
let
|
||||
py3 = python3.withPackages (p: [ p.Mako p.mrkd ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clightning";
|
||||
version = "0.11.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
|
||||
sha256 = "0vsh6gpv3458pfc5cggay9pw7bxjzyxpcniks9b2s3y1rxwk15xi";
|
||||
};
|
||||
|
||||
# when building on darwin we need dawin.cctools to provide the correct libtool
|
||||
# as libwally-core detects the host as darwin and tries to add the -static
|
||||
# option to libtool, also we have to add the modified gsed package.
|
||||
nativeBuildInputs = [ autogen autoconf automake gettext pkg-config py3 unzip which ]
|
||||
++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.autoSignDarwinBinariesHook ] ++ [ libtool ];
|
||||
|
||||
buildInputs = [ gmp libsodium sqlite zlib ];
|
||||
|
||||
# this causes some python trouble on a darwin host so we skip this step.
|
||||
# also we have to tell libwally-core to use sed instead of gsed.
|
||||
postPatch = if !stdenv.isDarwin then ''
|
||||
patchShebangs \
|
||||
tools/generate-wire.py \
|
||||
tools/update-mocks.sh \
|
||||
tools/mockup.sh \
|
||||
devtools/sql-rewrite.py
|
||||
'' else ''
|
||||
substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \
|
||||
substituteInPlace external/libwally-core/configure.ac --replace gsed sed
|
||||
'';
|
||||
|
||||
configureFlags = [ "--disable-developer" "--disable-valgrind" ];
|
||||
|
||||
makeFlags = [ "VERSION=v${version}" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Bitcoin Lightning Network implementation in C";
|
||||
longDescription = ''
|
||||
c-lightning is a standard compliant implementation of the Lightning
|
||||
Network protocol. The Lightning Network is a scalability solution for
|
||||
Bitcoin, enabling secure and instant transfer of funds between any two
|
||||
parties for any amount.
|
||||
'';
|
||||
homepage = "https://github.com/ElementsProject/lightning";
|
||||
maintainers = with maintainers; [ jb55 prusnak ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/blockchains/crypto-org-wallet/default.nix
Normal file
33
pkgs/applications/blockchains/crypto-org-wallet/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, fetchurl, appimageTools, imagemagick }:
|
||||
|
||||
let
|
||||
pname = "chain-desktop-wallet";
|
||||
version = "0.1.1";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${name}-x86_64.AppImage";
|
||||
sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit name src; };
|
||||
in appimageTools.wrapType2 rec {
|
||||
inherit name src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png
|
||||
install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname} %U'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Crypto.org Chain desktop wallet (Beta)";
|
||||
homepage = "https://github.com/crypto-com/chain-desktop-wallet";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ th0rgal ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
23
pkgs/applications/blockchains/cryptop/default.nix
Normal file
23
pkgs/applications/blockchains/cryptop/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildPythonApplication, fetchPypi, requests, requests-cache, setuptools }:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "cryptop";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0akrrz735vjfrm78plwyg84vabj0x3qficq9xxmy9kr40fhdkzpb";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ setuptools requests requests-cache ];
|
||||
|
||||
# No tests in archive
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/huwwp/cryptop";
|
||||
description = "Command line Cryptocurrency Portfolio";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ bhipple ];
|
||||
};
|
||||
}
|
||||
26
pkgs/applications/blockchains/dcrd/default.nix
Normal file
26
pkgs/applications/blockchains/dcrd/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dcrd";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decred";
|
||||
repo = "dcrd";
|
||||
rev = "refs/tags/release-v${version}";
|
||||
sha256 = "14pxajc8si90hnddilfm09kmljwxq6i6p53fk0g09jp000cbklkl";
|
||||
};
|
||||
|
||||
vendorSha256 = "03aw6mcvp1vr01ppxy673jf5hdryd5032cxndlkaiwg005mxp1dy";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "." "cmd/dcrctl" "cmd/promptsecret" ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://decred.org";
|
||||
description = "Decred daemon in Go (golang)";
|
||||
license = with lib.licenses; [ isc ];
|
||||
maintainers = with lib.maintainers; [ juaningan ];
|
||||
};
|
||||
}
|
||||
26
pkgs/applications/blockchains/dcrwallet/default.nix
Normal file
26
pkgs/applications/blockchains/dcrwallet/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dcrwallet";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decred";
|
||||
repo = "dcrwallet";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-WUfmv+laOwR/fc4osAFzPKqHQR+wOtSdLEsysICnuvg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-9IRNlULvARIZu6dWaKrvx6fiDJ80SBLINhK/9tW9k/0=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://decred.org";
|
||||
description = "A secure Decred wallet daemon written in Go (golang)";
|
||||
license = with lib.licenses; [ isc ];
|
||||
maintainers = with lib.maintainers; [ juaningan ];
|
||||
};
|
||||
}
|
||||
69
pkgs/applications/blockchains/digibyte/default.nix
Normal file
69
pkgs/applications/blockchains/digibyte/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, openssl
|
||||
, boost
|
||||
, libevent
|
||||
, autoreconfHook
|
||||
, db4
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, hexdump
|
||||
, zeromq
|
||||
, withGui
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, wrapQtAppsHook ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "digibyte";
|
||||
version = "7.17.2";
|
||||
|
||||
name = pname + toString (optional (!withGui) "d") + "-" + version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "04czj7mx3wpbx4832npk686p9pg5zb6qwlcvnmvqf31hm5qylbxj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
hexdump
|
||||
] ++ optionals withGui [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
boost
|
||||
libevent
|
||||
db4
|
||||
zeromq
|
||||
] ++ optionals withGui [
|
||||
qtbase
|
||||
qttools
|
||||
protobuf
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
] ++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "DigiByte (DGB) is a rapidly growing decentralized, global blockchain";
|
||||
homepage = "https://digibyte.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.mmahut ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
41
pkgs/applications/blockchains/dogecoin/default.nix
Normal file
41
pkgs/applications/blockchains/dogecoin/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, stdenv , fetchFromGitHub
|
||||
, pkg-config, autoreconfHook
|
||||
, db5, openssl, boost, zlib, miniupnpc, libevent
|
||||
, protobuf, util-linux, qt4, qrencode
|
||||
, withGui }:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dogecoin" + optionalString (!withGui) "d";
|
||||
version = "1.14.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dogecoin";
|
||||
repo = "dogecoin";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Ewefy6sptSQDJVbvQqFoawhA/ujKEn9W2JWyoPYD7d0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
buildInputs = [ openssl db5 openssl util-linux
|
||||
protobuf boost zlib miniupnpc libevent ]
|
||||
++ optionals withGui [ qt4 qrencode ];
|
||||
|
||||
configureFlags = [ "--with-incompatible-bdb"
|
||||
"--with-boost-libdir=${boost.out}/lib" ]
|
||||
++ optionals withGui [ "--with-gui" ];
|
||||
|
||||
meta = {
|
||||
description = "Wow, such coin, much shiba, very rich";
|
||||
longDescription = ''
|
||||
Dogecoin is a decentralized, peer-to-peer digital currency that
|
||||
enables you to easily send money online. Think of it as "the
|
||||
internet currency."
|
||||
It is named after a famous Internet meme, the "Doge" - a Shiba Inu dog.
|
||||
'';
|
||||
homepage = "http://www.dogecoin.com/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ edwtjo offline ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
38
pkgs/applications/blockchains/eclair/default.nix
Normal file
38
pkgs/applications/blockchains/eclair/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchzip
|
||||
, jq
|
||||
, openjdk11
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "eclair";
|
||||
version = "0.6.2";
|
||||
revision = "6817d6f";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ACINQ/eclair/releases/download/v${version}/eclair-node-${version}-${revision}-bin.zip";
|
||||
sha256 = "038r9mblm2r8mkxnv65k29r7xj22dff5gmvzv9xiy5zf9i45mmk8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jq openjdk11 ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir $out
|
||||
cp -a * $out
|
||||
mv $out/bin/eclair-node.sh $out/bin/eclair-node
|
||||
rm $out/bin/eclair-node.bat
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A scala implementation of the Lightning Network";
|
||||
homepage = "https://github.com/ACINQ/eclair";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
42
pkgs/applications/blockchains/electrs/default.nix
Normal file
42
pkgs/applications/blockchains/electrs/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, llvmPackages
|
||||
, rocksdb_6_23
|
||||
, Security
|
||||
}:
|
||||
|
||||
let
|
||||
rocksdb = rocksdb_6_23;
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "electrs";
|
||||
version = "0.9.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "romanz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-hdXc64gj7QtCnTq3f5mpQDEKLM6qaDBLkQE07xxNaDE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-xMATO+H3bGkM/tLRimmLGYtrOAX8hzkw5Hb0c6iVAXY=";
|
||||
|
||||
# needed for librocksdb-sys
|
||||
nativeBuildInputs = [ llvmPackages.clang ];
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||
|
||||
# link rocksdb dynamically
|
||||
ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
|
||||
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An efficient re-implementation of Electrum Server in Rust";
|
||||
homepage = "https://github.com/romanz/electrs";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
};
|
||||
}
|
||||
40
pkgs/applications/blockchains/electrs/update.sh
Executable file
40
pkgs/applications/blockchains/electrs/update.sh
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p coreutils curl jq git gnupg common-updater-scripts
|
||||
set -euo pipefail
|
||||
|
||||
# Fetch latest release, GPG-verify the tag, update derivation
|
||||
|
||||
scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
|
||||
nixpkgs=$(realpath "$scriptDir"/../../../..)
|
||||
|
||||
oldVersion=$(nix-instantiate --eval -E "(import \"$nixpkgs\" { config = {}; overlays = []; }).electrs.version" | tr -d '"')
|
||||
version=$(curl -s --show-error "https://api.github.com/repos/romanz/electrs/releases/latest" | jq -r '.tag_name' | tail -c +2)
|
||||
|
||||
if [[ $version == $oldVersion ]]; then
|
||||
echo "Already at latest version $version"
|
||||
exit 0
|
||||
fi
|
||||
echo "New version: $version"
|
||||
|
||||
tmpdir=$(mktemp -d /tmp/electrs-verify-gpg.XXX)
|
||||
repo=$tmpdir/repo
|
||||
trap "rm -rf $tmpdir" EXIT
|
||||
|
||||
git clone --depth 1 --branch v${version} -c advice.detachedHead=false https://github.com/romanz/electrs $repo
|
||||
git -C $repo checkout tags/v${version}
|
||||
|
||||
export GNUPGHOME=$tmpdir
|
||||
echo
|
||||
echo "Fetching romanz's key"
|
||||
gpg --keyserver hkps://keys.openpgp.org --recv-keys 15c8c3574ae4f1e25f3f35c587cae5fa46917cbb 2> /dev/null
|
||||
echo
|
||||
echo "Verifying commit"
|
||||
git -C $repo verify-tag v${version}
|
||||
|
||||
rm -rf $repo/.git
|
||||
hash=$(nix hash path $repo)
|
||||
|
||||
(cd "$nixpkgs" && update-source-version electrs "$version" "$hash")
|
||||
sed -i 's|cargoHash = .*|cargoHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";|' "$scriptDir/default.nix"
|
||||
echo
|
||||
echo "electrs: $oldVersion -> $version"
|
||||
84
pkgs/applications/blockchains/elements/default.nix
Normal file
84
pkgs/applications/blockchains/elements/default.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, util-linux
|
||||
, hexdump
|
||||
, wrapQtAppsHook ? null
|
||||
, boost
|
||||
, libevent
|
||||
, miniupnpc
|
||||
, zeromq
|
||||
, zlib
|
||||
, db48
|
||||
, sqlite
|
||||
, qrencode
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, python3
|
||||
, withGui
|
||||
, withWallet ? true
|
||||
}:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "elements" else "elementsd";
|
||||
version = "0.21.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ElementsProject";
|
||||
repo = "elements";
|
||||
rev = "elements-${version}";
|
||||
sha256 = "sha256-5b3wylp9Z2U0ueu2gI9jGeWiiJoddjcjQ/6zkFATyvA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[ autoreconfHook pkg-config ]
|
||||
++ optionals stdenv.isLinux [ util-linux ]
|
||||
++ optionals stdenv.isDarwin [ hexdump ]
|
||||
++ optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
|
||||
++ optionals withWallet [ db48 sqlite ]
|
||||
++ optionals withGui [ qrencode qtbase qttools ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
"--disable-bench"
|
||||
] ++ optionals (!doCheck) [
|
||||
"--disable-tests"
|
||||
"--disable-gui-tests"
|
||||
] ++ optionals (!withWallet) [
|
||||
"--disable-wallet"
|
||||
] ++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
checkInputs = [ python3 ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkFlags =
|
||||
[ "LC_ALL=C.UTF-8" ]
|
||||
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
|
||||
# See also https://github.com/NixOS/nixpkgs/issues/24256
|
||||
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Open Source implementation of advanced blockchain features extending the Bitcoin protocol";
|
||||
longDescription= ''
|
||||
The Elements blockchain platform is a collection of feature experiments and extensions to the
|
||||
Bitcoin protocol. This platform enables anyone to build their own businesses or networks
|
||||
pegged to Bitcoin as a sidechain or run as a standalone blockchain with arbitrary asset
|
||||
tokens.
|
||||
'';
|
||||
homepage = "https://www.github.com/ElementsProject/elements";
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/blockchains/ergo/default.nix
Normal file
28
pkgs/applications/blockchains/ergo/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ergo";
|
||||
version = "4.0.30";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
|
||||
sha256 = "sha256-Jeufmt2Dso13Z/TQnSA8IPNxTfha+wcklKZb+BF/dNE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
makeWrapper ${jre}/bin/java $out/bin/ergo --add-flags "-jar $src"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open protocol that implements modern scientific ideas in the blockchain area";
|
||||
homepage = "https://ergoplatform.org/en/";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.cc0;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mmahut ];
|
||||
};
|
||||
}
|
||||
34
pkgs/applications/blockchains/erigon.nix
Normal file
34
pkgs/applications/blockchains/erigon.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "erigon";
|
||||
version = "2022.02.04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ledgerwatch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-86a1VtVyTRKpY41fAHskUfPZpXUutpyvxlRLhkiHTZ0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-P3jdK+ubBHusTL4eWlA/TDJIrbuV17tL8Cv6c3ubjlc=";
|
||||
proxyVendor = true;
|
||||
|
||||
# Build errors in mdbx when format hardening is enabled:
|
||||
# cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
subPackages = [
|
||||
"cmd/erigon"
|
||||
"cmd/evm"
|
||||
"cmd/rpcdaemon"
|
||||
"cmd/rlpdump"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ledgerwatch/erigon/";
|
||||
description = "Ethereum node implementation focused on scalability and modularity";
|
||||
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
||||
maintainers = with maintainers; [ d-xo ];
|
||||
};
|
||||
}
|
||||
683
pkgs/applications/blockchains/ethabi/add-Cargo-lock.patch
Normal file
683
pkgs/applications/blockchains/ethabi/add-Cargo-lock.patch
Normal file
|
|
@ -0,0 +1,683 @@
|
|||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
new file mode 100644
|
||||
index 0000000..05e3f0f
|
||||
--- /dev/null
|
||||
+++ b/Cargo.lock
|
||||
@@ -0,0 +1,677 @@
|
||||
+# This file is automatically @generated by Cargo.
|
||||
+# It is not intended for manual editing.
|
||||
+[[package]]
|
||||
+name = "ansi_term"
|
||||
+version = "0.11.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
|
||||
+dependencies = [
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "anyhow"
|
||||
+version = "1.0.40"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "arrayvec"
|
||||
+version = "0.5.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "atty"
|
||||
+version = "0.2.14"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||
+dependencies = [
|
||||
+ "hermit-abi",
|
||||
+ "libc",
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "bitflags"
|
||||
+version = "1.2.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "bitvec"
|
||||
+version = "0.17.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
|
||||
+dependencies = [
|
||||
+ "either",
|
||||
+ "radium",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "block-buffer"
|
||||
+version = "0.9.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
|
||||
+dependencies = [
|
||||
+ "block-padding",
|
||||
+ "generic-array",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "block-padding"
|
||||
+version = "0.2.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "byte-slice-cast"
|
||||
+version = "0.3.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "byteorder"
|
||||
+version = "1.4.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "bytes"
|
||||
+version = "1.0.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cfg-if"
|
||||
+version = "1.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "clap"
|
||||
+version = "2.33.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
|
||||
+dependencies = [
|
||||
+ "ansi_term",
|
||||
+ "atty",
|
||||
+ "bitflags",
|
||||
+ "strsim",
|
||||
+ "textwrap",
|
||||
+ "unicode-width",
|
||||
+ "vec_map",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "crunchy"
|
||||
+version = "0.2.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "digest"
|
||||
+version = "0.9.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
|
||||
+dependencies = [
|
||||
+ "generic-array",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "either"
|
||||
+version = "1.6.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethabi"
|
||||
+version = "13.0.0"
|
||||
+dependencies = [
|
||||
+ "anyhow",
|
||||
+ "ethereum-types",
|
||||
+ "hex",
|
||||
+ "hex-literal",
|
||||
+ "paste",
|
||||
+ "serde",
|
||||
+ "serde_json",
|
||||
+ "sha3",
|
||||
+ "thiserror",
|
||||
+ "uint",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethabi-cli"
|
||||
+version = "13.0.0"
|
||||
+dependencies = [
|
||||
+ "anyhow",
|
||||
+ "ethabi",
|
||||
+ "hex",
|
||||
+ "itertools",
|
||||
+ "sha3",
|
||||
+ "structopt",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethabi-contract"
|
||||
+version = "11.0.0"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethabi-derive"
|
||||
+version = "13.0.0"
|
||||
+dependencies = [
|
||||
+ "anyhow",
|
||||
+ "ethabi",
|
||||
+ "heck",
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethabi-tests"
|
||||
+version = "0.1.1"
|
||||
+dependencies = [
|
||||
+ "ethabi",
|
||||
+ "ethabi-contract",
|
||||
+ "ethabi-derive",
|
||||
+ "hex",
|
||||
+ "hex-literal",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethbloom"
|
||||
+version = "0.10.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "22a621dcebea74f2a6f2002d0a885c81ccf6cbdf86760183316a7722b5707ca4"
|
||||
+dependencies = [
|
||||
+ "crunchy",
|
||||
+ "fixed-hash",
|
||||
+ "impl-rlp",
|
||||
+ "impl-serde",
|
||||
+ "tiny-keccak",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ethereum-types"
|
||||
+version = "0.10.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "05dc5f0df4915fa6dff7f975a8366ecfaaa8959c74235469495153e7bb1b280e"
|
||||
+dependencies = [
|
||||
+ "ethbloom",
|
||||
+ "fixed-hash",
|
||||
+ "impl-rlp",
|
||||
+ "impl-serde",
|
||||
+ "primitive-types",
|
||||
+ "uint",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "fixed-hash"
|
||||
+version = "0.7.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c"
|
||||
+dependencies = [
|
||||
+ "byteorder",
|
||||
+ "rand",
|
||||
+ "rustc-hex",
|
||||
+ "static_assertions",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "generic-array"
|
||||
+version = "0.14.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
|
||||
+dependencies = [
|
||||
+ "typenum",
|
||||
+ "version_check",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "getrandom"
|
||||
+version = "0.2.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||
+dependencies = [
|
||||
+ "cfg-if",
|
||||
+ "libc",
|
||||
+ "wasi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "heck"
|
||||
+version = "0.3.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"
|
||||
+dependencies = [
|
||||
+ "unicode-segmentation",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "hermit-abi"
|
||||
+version = "0.1.18"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
|
||||
+dependencies = [
|
||||
+ "libc",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "hex"
|
||||
+version = "0.4.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "hex-literal"
|
||||
+version = "0.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "5af1f635ef1bc545d78392b136bfe1c9809e029023c84a3638a864a10b8819c8"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "impl-codec"
|
||||
+version = "0.4.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53"
|
||||
+dependencies = [
|
||||
+ "parity-scale-codec",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "impl-rlp"
|
||||
+version = "0.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
|
||||
+dependencies = [
|
||||
+ "rlp",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "impl-serde"
|
||||
+version = "0.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f"
|
||||
+dependencies = [
|
||||
+ "serde",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "itertools"
|
||||
+version = "0.9.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
|
||||
+dependencies = [
|
||||
+ "either",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "itoa"
|
||||
+version = "0.4.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "keccak"
|
||||
+version = "0.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "lazy_static"
|
||||
+version = "1.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "libc"
|
||||
+version = "0.2.94"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "opaque-debug"
|
||||
+version = "0.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "parity-scale-codec"
|
||||
+version = "1.3.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d"
|
||||
+dependencies = [
|
||||
+ "arrayvec",
|
||||
+ "bitvec",
|
||||
+ "byte-slice-cast",
|
||||
+ "serde",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "paste"
|
||||
+version = "1.0.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ppv-lite86"
|
||||
+version = "0.2.10"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "primitive-types"
|
||||
+version = "0.8.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b3824ae2c5e27160113b9e029a10ec9e3f0237bad8029f69c7724393c9fdefd8"
|
||||
+dependencies = [
|
||||
+ "fixed-hash",
|
||||
+ "impl-codec",
|
||||
+ "impl-rlp",
|
||||
+ "impl-serde",
|
||||
+ "uint",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro-error"
|
||||
+version = "1.0.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
||||
+dependencies = [
|
||||
+ "proc-macro-error-attr",
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+ "version_check",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro-error-attr"
|
||||
+version = "1.0.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "version_check",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro2"
|
||||
+version = "1.0.26"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
|
||||
+dependencies = [
|
||||
+ "unicode-xid",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "quote"
|
||||
+version = "1.0.9"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "radium"
|
||||
+version = "0.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand"
|
||||
+version = "0.8.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||
+dependencies = [
|
||||
+ "libc",
|
||||
+ "rand_chacha",
|
||||
+ "rand_core",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_chacha"
|
||||
+version = "0.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||
+dependencies = [
|
||||
+ "ppv-lite86",
|
||||
+ "rand_core",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_core"
|
||||
+version = "0.6.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||
+dependencies = [
|
||||
+ "getrandom",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rlp"
|
||||
+version = "0.5.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8"
|
||||
+dependencies = [
|
||||
+ "bytes",
|
||||
+ "rustc-hex",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rustc-hex"
|
||||
+version = "2.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ryu"
|
||||
+version = "1.0.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde"
|
||||
+version = "1.0.125"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
|
||||
+dependencies = [
|
||||
+ "serde_derive",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde_derive"
|
||||
+version = "1.0.125"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde_json"
|
||||
+version = "1.0.64"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
|
||||
+dependencies = [
|
||||
+ "itoa",
|
||||
+ "ryu",
|
||||
+ "serde",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "sha3"
|
||||
+version = "0.9.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
|
||||
+dependencies = [
|
||||
+ "block-buffer",
|
||||
+ "digest",
|
||||
+ "keccak",
|
||||
+ "opaque-debug",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "static_assertions"
|
||||
+version = "1.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "strsim"
|
||||
+version = "0.8.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "structopt"
|
||||
+version = "0.3.21"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c"
|
||||
+dependencies = [
|
||||
+ "clap",
|
||||
+ "lazy_static",
|
||||
+ "structopt-derive",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "structopt-derive"
|
||||
+version = "0.4.14"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90"
|
||||
+dependencies = [
|
||||
+ "heck",
|
||||
+ "proc-macro-error",
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "syn"
|
||||
+version = "1.0.72"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "unicode-xid",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "textwrap"
|
||||
+version = "0.11.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
||||
+dependencies = [
|
||||
+ "unicode-width",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "thiserror"
|
||||
+version = "1.0.24"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
|
||||
+dependencies = [
|
||||
+ "thiserror-impl",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "thiserror-impl"
|
||||
+version = "1.0.24"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "tiny-keccak"
|
||||
+version = "2.0.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
|
||||
+dependencies = [
|
||||
+ "crunchy",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "typenum"
|
||||
+version = "1.13.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "uint"
|
||||
+version = "0.9.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e11fe9a9348741cf134085ad57c249508345fe16411b3d7fb4ff2da2f1d6382e"
|
||||
+dependencies = [
|
||||
+ "byteorder",
|
||||
+ "crunchy",
|
||||
+ "hex",
|
||||
+ "static_assertions",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-segmentation"
|
||||
+version = "1.7.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-width"
|
||||
+version = "0.1.8"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-xid"
|
||||
+version = "0.2.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "vec_map"
|
||||
+version = "0.8.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "version_check"
|
||||
+version = "0.9.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "wasi"
|
||||
+version = "0.10.2+wasi-snapshot-preview1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi"
|
||||
+version = "0.3.9"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
+dependencies = [
|
||||
+ "winapi-i686-pc-windows-gnu",
|
||||
+ "winapi-x86_64-pc-windows-gnu",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-i686-pc-windows-gnu"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-x86_64-pc-windows-gnu"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
26
pkgs/applications/blockchains/ethabi/default.nix
Normal file
26
pkgs/applications/blockchains/ethabi/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ethabi";
|
||||
version = "13.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rust-ethereum";
|
||||
repo = "ethabi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-bl46CSVP1MMYI3tkVAHFrjMFwTt8QoleZCV9pMIMZyc=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Jz0uEP2/ZjLS+GbCp7lNyJQdFDjTSFthjBdC/Z4tkTs=";
|
||||
|
||||
cargoPatches = [ ./add-Cargo-lock.patch ];
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Ethereum function call encoding (ABI) utility";
|
||||
homepage = "https://github.com/rust-ethereum/ethabi";
|
||||
maintainers = [ maintainers.dbrock ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
83
pkgs/applications/blockchains/exodus/default.nix
Normal file
83
pkgs/applications/blockchains/exodus/default.nix
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, pango,
|
||||
atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, util-linux, alsa-lib, dbus, at-spi2-atk,
|
||||
cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core, libxkbcommon, mesa }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exodus";
|
||||
version = "22.2.25";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
|
||||
sha256 = "sha256-YbApI9rIk1653Hp3hsXJrxBMpaGn6Wv3WhZiQWAfPQM=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
${unzip}/bin/unzip "$src" -x "Exodus*/lib*so"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/applications
|
||||
cd Exodus-linux-x64
|
||||
cp -r . $out
|
||||
ln -s $out/Exodus $out/bin/Exodus
|
||||
ln -s $out/bin/Exodus $out/bin/exodus
|
||||
ln -s $out/exodus.desktop $out/share/applications
|
||||
substituteInPlace $out/share/applications/exodus.desktop \
|
||||
--replace 'Exec=bash -c "cd \`dirname %k\` && ./Exodus %u"' "Exec=Exodus %u"
|
||||
'';
|
||||
|
||||
dontPatchELF = true;
|
||||
dontBuild = true;
|
||||
|
||||
preFixup = let
|
||||
libPath = lib.makeLibraryPath [
|
||||
glib
|
||||
nss
|
||||
nspr
|
||||
gtk3-x11
|
||||
pango
|
||||
atk
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libXrender
|
||||
xorg.libxshmfence
|
||||
xorg.libXtst
|
||||
xorg_sys_opengl
|
||||
util-linux
|
||||
xorg.libXrandr
|
||||
xorg.libXScrnSaver
|
||||
alsa-lib
|
||||
dbus.lib
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
cups.lib
|
||||
libpulseaudio
|
||||
systemd
|
||||
vivaldi-ffmpeg-codecs
|
||||
libxkbcommon
|
||||
mesa
|
||||
];
|
||||
in ''
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${libPath}" \
|
||||
$out/Exodus
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.exodus.io/";
|
||||
description = "Top-rated cryptocurrency wallet with Trezor integration and built-in Exchange";
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ mmahut rople380 ];
|
||||
};
|
||||
}
|
||||
27
pkgs/applications/blockchains/faraday/default.nix
Normal file
27
pkgs/applications/blockchains/faraday/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "faraday";
|
||||
version = "0.2.5-alpha";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightninglabs";
|
||||
repo = "faraday";
|
||||
rev = "v${version}";
|
||||
sha256 = "16mz333a6awii6g46gr597j31jmgws4285s693q0b87fl1ggj2zz";
|
||||
};
|
||||
|
||||
vendorSha256 = "1nclmvypxp5436q6qaagp1k5bfmaia7hsykw47va0pijlsvsbmck";
|
||||
|
||||
subPackages = [ "cmd/frcli" "cmd/faraday" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "LND Channel Management Tools";
|
||||
homepage = "https://github.com/lightninglabs/faraday";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ proofofkeags prusnak ];
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/blockchains/fulcrum/default.nix
Normal file
36
pkgs/applications/blockchains/fulcrum/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, qmake
|
||||
, python3
|
||||
, qtbase
|
||||
, rocksdb
|
||||
, zeromq
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fulcrum";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cculianu";
|
||||
repo = "Fulcrum";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FIa6eAE6yyJR5UdlCXB2Gx3DqN528POxb0eYOCpVjJk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config qmake ];
|
||||
|
||||
dontWrapQtApps = true; # no GUI
|
||||
|
||||
buildInputs = [ python3 qtbase rocksdb zeromq ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast & nimble SPV server for Bitcoin Cash & Bitcoin BTC";
|
||||
homepage = "https://github.com/cculianu/Fulcrum";
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
61
pkgs/applications/blockchains/go-ethereum/default.nix
Normal file
61
pkgs/applications/blockchains/go-ethereum/default.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{ lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit, nixosTests }:
|
||||
|
||||
let
|
||||
# A list of binaries to put into separate outputs
|
||||
bins = [
|
||||
"geth"
|
||||
"clef"
|
||||
];
|
||||
|
||||
in buildGoModule rec {
|
||||
pname = "go-ethereum";
|
||||
version = "1.10.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ethereum";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GBlrg4wOiqEQTZC3CtfAZbIvS16/pSjEedEDrPGNUtY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-D4odWuGFipSvbKbNlA6PkTo3rWGTCptJcn/7V7ZA7qs=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
outputs = [ "out" ] ++ bins;
|
||||
|
||||
# Move binaries to separate outputs and symlink them back to $out
|
||||
postInstall = lib.concatStringsSep "\n" (
|
||||
builtins.map (bin: "mkdir -p \$${bin}/bin && mv $out/bin/${bin} \$${bin}/bin/ && ln -s \$${bin}/bin/${bin} $out/bin/") bins
|
||||
);
|
||||
|
||||
subPackages = [
|
||||
"cmd/abidump"
|
||||
"cmd/abigen"
|
||||
"cmd/bootnode"
|
||||
"cmd/checkpoint-admin"
|
||||
"cmd/clef"
|
||||
"cmd/devp2p"
|
||||
"cmd/ethkey"
|
||||
"cmd/evm"
|
||||
"cmd/faucet"
|
||||
"cmd/geth"
|
||||
"cmd/p2psim"
|
||||
"cmd/puppeth"
|
||||
"cmd/rlpdump"
|
||||
"cmd/utils"
|
||||
];
|
||||
|
||||
# Fix for usb-related segmentation faults on darwin
|
||||
propagatedBuildInputs =
|
||||
lib.optionals stdenv.isDarwin [ libobjc IOKit ];
|
||||
|
||||
passthru.tests = { inherit (nixosTests) geth; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://geth.ethereum.org/";
|
||||
description = "Official golang implementation of the Ethereum protocol";
|
||||
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
||||
maintainers = with maintainers; [ adisbladis lionello RaghavSood ];
|
||||
};
|
||||
}
|
||||
93
pkgs/applications/blockchains/groestlcoin/default.nix
Normal file
93
pkgs/applications/blockchains/groestlcoin/default.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, util-linux
|
||||
, hexdump
|
||||
, autoSignDarwinBinariesHook
|
||||
, wrapQtAppsHook ? null
|
||||
, boost
|
||||
, libevent
|
||||
, miniupnpc_2
|
||||
, zeromq
|
||||
, zlib
|
||||
, db53
|
||||
, sqlite
|
||||
, qrencode
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, python3
|
||||
, withGui ? false
|
||||
, withWallet ? true
|
||||
}:
|
||||
|
||||
let
|
||||
version = "23.0";
|
||||
desktop = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/Groestlcoin/packaging/${version}/debian/groestlcoin-qt.desktop";
|
||||
sha256 = "0mxwq4jvcip44a796iwz7n1ljkhl3a4p47z7qlsxcfxw3zmm0k0k";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "groestlcoin" else "groestlcoind";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Groestlcoin";
|
||||
repo = "groestlcoin";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ag7wpaw4zssx1g482kziqr95yl2vk9r332689s3093xv9i9pz4s";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ]
|
||||
++ lib.optionals stdenv.isLinux [ util-linux ]
|
||||
++ lib.optionals stdenv.isDarwin [ hexdump ]
|
||||
++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
|
||||
++ lib.optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ boost libevent miniupnpc_2 zeromq zlib ]
|
||||
++ lib.optionals withWallet [ db53 sqlite ]
|
||||
++ lib.optionals withGui [ qrencode qtbase qttools ];
|
||||
|
||||
postInstall = lib.optionalString withGui ''
|
||||
install -Dm644 ${desktop} $out/share/applications/groestlcoin-qt.desktop
|
||||
substituteInPlace $out/share/applications/groestlcoin-qt.desktop --replace "Icon=groestlcoin128" "Icon=groestlcoin"
|
||||
install -Dm644 share/pixmaps/groestlcoin256.png $out/share/pixmaps/groestlcoin.png
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
"--disable-bench"
|
||||
] ++ lib.optionals (!withWallet) [
|
||||
"--disable-wallet"
|
||||
] ++ lib.optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
checkInputs = [ python3 ];
|
||||
|
||||
checkFlags = [ "LC_ALL=en_US.UTF-8" ]
|
||||
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Groestlcoin's GUI.
|
||||
# See also https://github.com/NixOS/nixpkgs/issues/24256
|
||||
++ lib.optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Peer-to-peer electronic cash system";
|
||||
longDescription = ''
|
||||
Groestlcoin is a free open source peer-to-peer electronic cash system that is
|
||||
completely decentralized, without the need for a central server or trusted
|
||||
parties. Users hold the crypto keys to their own money and transact directly
|
||||
with each other, with the help of a P2P network to check for double-spending.
|
||||
'';
|
||||
homepage = "https://groestlcoin.org/";
|
||||
downloadPage = "https://github.com/Groestlcoin/groestlcoin/releases/tag/v{version}/";
|
||||
maintainers = with maintainers; [ gruve-p ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
63
pkgs/applications/blockchains/haven-cli/default.nix
Normal file
63
pkgs/applications/blockchains/haven-cli/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
||||
, cmake, pkg-config
|
||||
, boost, miniupnpc, openssl, unbound
|
||||
, zeromq, pcsclite, readline, libsodium, hidapi
|
||||
, randomx, rapidjson
|
||||
, easyloggingpp
|
||||
, CoreData, IOKit, PCSC
|
||||
, trezorSupport ? true, libusb1, protobuf, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "haven-cli";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haven-protocol-org";
|
||||
repo = "haven-main";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nBVLNT0jWIewr6MPDGwDqXoVtyFLyls1IEQraVoWDQ4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./use-system-libraries.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# remove vendored libraries
|
||||
rm -r external/{miniupnp,randomx,rapidjson,unbound}
|
||||
# export patched source for haven-gui
|
||||
cp -r . $source
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
boost miniupnpc openssl unbound
|
||||
zeromq pcsclite readline
|
||||
libsodium hidapi randomx rapidjson
|
||||
protobuf
|
||||
readline easyloggingpp
|
||||
]
|
||||
++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DUSE_DEVICE_TREZOR=ON"
|
||||
"-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
"-DReadline_INCLUDE_DIR=${readline.dev}/include/readline"
|
||||
"-DRandomX_ROOT_DIR=${randomx}"
|
||||
] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
|
||||
|
||||
outputs = [ "out" "source" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Haven Protocol is the world's only network of private stable asset";
|
||||
homepage = "https://havenprotocol.org/";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ kim0 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index fb71d2d..3a710a4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -200,11 +200,11 @@ if(NOT MANUAL_SUBMODULES)
|
||||
endfunction ()
|
||||
|
||||
message(STATUS "Checking submodules")
|
||||
- check_submodule(external/miniupnp)
|
||||
- check_submodule(external/unbound)
|
||||
- check_submodule(external/rapidjson)
|
||||
+ # check_submodule(external/miniupnp)
|
||||
+ # check_submodule(external/unbound)
|
||||
+ # check_submodule(external/rapidjson)
|
||||
check_submodule(external/trezor-common)
|
||||
- check_submodule(external/randomx)
|
||||
+ # check_submodule(external/randomx)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -300,7 +300,8 @@ endif()
|
||||
# elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
|
||||
# set(BSDI TRUE)
|
||||
|
||||
-include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external)
|
||||
+include_directories(external/easylogging++ src contrib/epee/include external)
|
||||
+#include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external)
|
||||
|
||||
if(APPLE)
|
||||
include_directories(SYSTEM /usr/include/malloc)
|
||||
diff --git a/cmake/FindMiniupnpc.cmake b/cmake/FindMiniupnpc.cmake
|
||||
index ad2004a..7f4bb68 100644
|
||||
--- a/cmake/FindMiniupnpc.cmake
|
||||
+++ b/cmake/FindMiniupnpc.cmake
|
||||
@@ -37,7 +37,7 @@ set(MINIUPNP_STATIC_LIBRARIES ${MINIUPNP_STATIC_LIBRARY})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
- MiniUPnPc DEFAULT_MSG
|
||||
+ Miniupnpc DEFAULT_MSG
|
||||
MINIUPNP_INCLUDE_DIR
|
||||
MINIUPNP_LIBRARY
|
||||
)
|
||||
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
|
||||
index 71b165f..10189ce 100644
|
||||
--- a/external/CMakeLists.txt
|
||||
+++ b/external/CMakeLists.txt
|
||||
@@ -37,19 +37,9 @@
|
||||
|
||||
find_package(Miniupnpc REQUIRED)
|
||||
|
||||
-message(STATUS "Using in-tree miniupnpc")
|
||||
-add_subdirectory(miniupnp/miniupnpc)
|
||||
-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
|
||||
-if(MSVC)
|
||||
- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
|
||||
-elseif(NOT MSVC)
|
||||
- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
|
||||
-endif()
|
||||
-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
|
||||
- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE")
|
||||
-endif()
|
||||
-
|
||||
-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
|
||||
+set(UPNP_STATIC false PARENT_SCOPE)
|
||||
+set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
|
||||
+set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
|
||||
|
||||
find_package(Unbound)
|
||||
|
||||
@@ -80,4 +70,3 @@ endif()
|
||||
|
||||
add_subdirectory(db_drivers)
|
||||
add_subdirectory(easylogging++)
|
||||
-add_subdirectory(randomx EXCLUDE_FROM_ALL)
|
||||
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
|
||||
index c626e22..be570ed 100644
|
||||
--- a/src/p2p/net_node.inl
|
||||
+++ b/src/p2p/net_node.inl
|
||||
@@ -60,9 +60,9 @@
|
||||
#include "cryptonote_core/cryptonote_core.h"
|
||||
#include "net/parse.h"
|
||||
|
||||
-#include <miniupnp/miniupnpc/miniupnpc.h>
|
||||
-#include <miniupnp/miniupnpc/upnpcommands.h>
|
||||
-#include <miniupnp/miniupnpc/upnperrors.h>
|
||||
+#include <miniupnpc/miniupnpc.h>
|
||||
+#include <miniupnpc/upnpcommands.h>
|
||||
+#include <miniupnpc/upnperrors.h>
|
||||
|
||||
#undef MONERO_DEFAULT_LOG_CATEGORY
|
||||
#define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, fetchurl, appimageTools, imagemagick, systemd }:
|
||||
|
||||
let
|
||||
pname = "ledger-live-desktop";
|
||||
version = "2.42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
|
||||
hash = "sha256-LhpZ2aTPT3XJWeWsl7MCbFsgwSqTHfpdRJD9SveIqQg=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
|
||||
# Hotplug events from udevd are fired into the kernel, which then re-broadcasts them over a
|
||||
# special socket, to every libudev client listening for hotplug when the kernel does that. It will
|
||||
# try to preserve the uid of the sender but a non-root namespace (like the fhs-env) cant map root
|
||||
# to a uid, for security reasons, so the uid of the sender becomes nobody and libudev actively
|
||||
# rejects such messages. This patch disables that bit of security in libudev.
|
||||
# See: https://github.com/NixOS/nixpkgs/issues/116361
|
||||
systemdPatched = systemd.overrideAttrs ({ patches ? [ ], ... }: {
|
||||
patches = patches ++ [ ./systemd.patch ];
|
||||
});
|
||||
in
|
||||
appimageTools.wrapType2 rec {
|
||||
inherit pname version src;
|
||||
|
||||
extraPkgs = pkgs: [ systemdPatched ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
|
||||
install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
|
||||
${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png
|
||||
install -m 444 -D ledger-live-desktop_512.png $out/share/icons/hicolor/512x512/apps/ledger-live-desktop.png
|
||||
substituteInPlace $out/share/applications/ledger-live-desktop.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wallet app for Ledger Nano S and Ledger Blue";
|
||||
homepage = "https://www.ledger.com/live";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/src/libsystemd/sd-device/device-monitor.c b/src/libsystemd/sd-device/device-monitor.c
|
||||
index fd5900704d..f9106fdbe5 100644
|
||||
--- a/src/libsystemd/sd-device/device-monitor.c
|
||||
+++ b/src/libsystemd/sd-device/device-monitor.c
|
||||
@@ -445,9 +445,6 @@ int device_monitor_receive_device(sd_device_monitor *m, sd_device **ret) {
|
||||
"sd-device-monitor: No sender credentials received, message ignored.");
|
||||
|
||||
cred = (struct ucred*) CMSG_DATA(cmsg);
|
||||
- if (cred->uid != 0)
|
||||
- return log_debug_errno(SYNTHETIC_ERRNO(EAGAIN),
|
||||
- "sd-device-monitor: Sender uid="UID_FMT", message ignored.", cred->uid);
|
||||
|
||||
if (streq(buf.raw, "libudev")) {
|
||||
/* udev message needs proper version magic */
|
||||
27
pkgs/applications/blockchains/lightning-loop/default.nix
Normal file
27
pkgs/applications/blockchains/lightning-loop/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lightning-loop";
|
||||
version = "0.18.0-beta";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightninglabs";
|
||||
repo = "loop";
|
||||
rev = "v${version}";
|
||||
sha256 = "1kg5nlvb4lb3cjn84wcylhq0l73d2n6rg4n1srnxmgs96v41y78f";
|
||||
};
|
||||
|
||||
vendorSha256 = "0q3wbjfaqdj29sjlhx6fhc0p4d12aa31s6ia36jalcvf659ybb0l";
|
||||
|
||||
subPackages = [ "cmd/loop" "cmd/loopd" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightning Loop Client";
|
||||
homepage = "https://github.com/lightninglabs/loop";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ proofofkeags prusnak ];
|
||||
};
|
||||
}
|
||||
27
pkgs/applications/blockchains/lightning-pool/default.nix
Normal file
27
pkgs/applications/blockchains/lightning-pool/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lightning-pool";
|
||||
version = "0.5.3-alpha";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightninglabs";
|
||||
repo = "pool";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nc3hksk9qcxrsyqpz9vcfc8x093rc8yx8ppfk177j9fhdnn8bk7";
|
||||
};
|
||||
|
||||
vendorSha256 = "09yxaa74814l1rp0arqhqpplr2j0p8dj81zqcbxlwp5ckjv9r2za";
|
||||
|
||||
subPackages = [ "cmd/pool" "cmd/poold" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightning Pool Client";
|
||||
homepage = "https://github.com/lightninglabs/pool";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ proofofkeags prusnak ];
|
||||
};
|
||||
}
|
||||
43
pkgs/applications/blockchains/lightwalletd/default.nix
Normal file
43
pkgs/applications/blockchains/lightwalletd/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib, lightwalletd, testers }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lightwalletd";
|
||||
version = "0.4.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zcash";
|
||||
repo = "lightwalletd";
|
||||
rev = "68789356fb1a75f62735a529b38389ef08ea7582";
|
||||
sha256 = "sha256-7gZhr6YMarGdgoGjg+oD4nZ/SAJ5cnhEDKmA4YMqJTo=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w"
|
||||
"-X github.com/zcash/lightwalletd/common.Version=v${version}"
|
||||
"-X github.com/zcash/lightwalletd/common.GitCommit=${src.rev}"
|
||||
"-X github.com/zcash/lightwalletd/common.BuildDate=1970-01-01"
|
||||
"-X github.com/zcash/lightwalletd/common.BuildUser=nixbld"
|
||||
];
|
||||
|
||||
excludedPackages = [
|
||||
"genblocks"
|
||||
"testclient"
|
||||
"zap"
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = lightwalletd;
|
||||
command = "lightwalletd version";
|
||||
version = "v${lightwalletd.version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A backend service that provides a bandwidth-efficient interface to the Zcash blockchain";
|
||||
homepage = "https://github.com/zcash/lightwalletd";
|
||||
maintainers = with maintainers; [ centromere ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
54
pkgs/applications/blockchains/litecoin/default.nix
Normal file
54
pkgs/applications/blockchains/litecoin/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ lib, stdenv, mkDerivation, fetchFromGitHub
|
||||
, pkg-config, autoreconfHook
|
||||
, openssl, db48, boost, zlib, miniupnpc
|
||||
, glib, protobuf, util-linux, qrencode
|
||||
, AppKit
|
||||
, withGui ? true, libevent
|
||||
, qtbase, qttools
|
||||
, zeromq
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "litecoin" + optionalString (!withGui) "d";
|
||||
version = "0.18.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "litecoin-project";
|
||||
repo = "litecoin";
|
||||
rev = "v${version}";
|
||||
sha256 = "11753zhyx1kmrlljc6kbjwrcb06dfcrsqvmw3iaki9a132qk6l5c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
buildInputs = [ openssl db48 boost zlib zeromq
|
||||
miniupnpc glib protobuf util-linux libevent ]
|
||||
++ optionals stdenv.isDarwin [ AppKit ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||
++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
|
||||
description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
|
||||
longDescription= ''
|
||||
Litecoin is a peer-to-peer Internet currency that enables instant payments
|
||||
to anyone in the world. It is based on the Bitcoin protocol but differs
|
||||
from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
|
||||
Litecoin provides faster transaction confirmations (2.5 minutes on average)
|
||||
and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
|
||||
the regular computers and GPUs most people already have.
|
||||
The Litecoin network is scheduled to produce 84 million currency units.
|
||||
'';
|
||||
homepage = "https://litecoin.org/";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ offline ];
|
||||
};
|
||||
}
|
||||
40
pkgs/applications/blockchains/lnd/default.nix
Normal file
40
pkgs/applications/blockchains/lnd/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" "routerrpc" "monitoring" "kvdb_postgres" "kvdb_etcd" ]
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lnd";
|
||||
version = "0.14.3-beta";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightningnetwork";
|
||||
repo = "lnd";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ZTvGFmjhQBIWqMGatMAlX59uVyl1oUKo7L5jiz571Gc";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-shDmJcEyobY7Ih1MHMEY2GQnzAffsH/y4J1bme/bT7I=";
|
||||
|
||||
subPackages = [ "cmd/lncli" "cmd/lnd" ];
|
||||
|
||||
preBuild = let
|
||||
buildVars = {
|
||||
RawTags = lib.concatStringsSep "," tags;
|
||||
GoVersion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')";
|
||||
};
|
||||
buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X github.com/lightningnetwork/lnd/build.${k}=${v}") buildVars);
|
||||
in
|
||||
lib.optionalString (tags != []) ''
|
||||
buildFlagsArray+=("-tags=${lib.concatStringsSep " " tags}")
|
||||
buildFlagsArray+=("-ldflags=${buildVarsFlags}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightning Network Daemon";
|
||||
homepage = "https://github.com/lightningnetwork/lnd";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ cypherpunk2140 prusnak ];
|
||||
};
|
||||
}
|
||||
24
pkgs/applications/blockchains/lndconnect/default.nix
Normal file
24
pkgs/applications/blockchains/lndconnect/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, testVersion, lndconnect }:
|
||||
buildGoModule rec {
|
||||
pname = "lndconnect";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LN-Zap";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-cuZkVeFUQq7+kQo/YjXCMPANUL5QooAWgegcoWo3M0c=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-iE0nht3PH2R9pTyyrySk759untC7snGt3wTXk4/pjrU=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Generate QRCode to connect apps to lnd Resources";
|
||||
license = licenses.mit;
|
||||
homepage = "https://github.com/LN-Zap/lndconnect";
|
||||
maintainers = [ maintainers.d-xo ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
39
pkgs/applications/blockchains/lndhub-go/default.nix
Normal file
39
pkgs/applications/blockchains/lndhub-go/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lndhub-go";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getAlby";
|
||||
repo = "lndhub.go";
|
||||
rev = "${version}";
|
||||
sha256 = "sha256-CQVHU3gIIiucrz9TA2ltPNmj6d22vbraktBoyTHTQ1k=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix inconsistent vendoring
|
||||
# https://github.com/getAlby/lndhub.go/pull/184
|
||||
(fetchpatch {
|
||||
url = "https://github.com/getAlby/lndhub.go/commit/2ee7ace9385f8626eb15cbf653ccd46423b5a9c5.patch";
|
||||
sha256 = "sha256-1ESPlCTzpFbqshzS6xF4apY8Doz9GvEbZe93Z93P9EI=";
|
||||
})
|
||||
];
|
||||
|
||||
vendorSha256 = "sha256-bp5q8K7OpvNo28jojaPPj53hUe+me4oLwDBkgZk+0Ec=";
|
||||
|
||||
doCheck = false; # tests require networking
|
||||
|
||||
meta = with lib; {
|
||||
description = "Accounting wrapper for the Lightning Network";
|
||||
homepage = "https://github.com/getAlby/lndhub.go";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
44
pkgs/applications/blockchains/lndmanage/default.nix
Normal file
44
pkgs/applications/blockchains/lndmanage/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "lndmanage";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitromortac";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-c36AbND01bUr0Klme4fU7GrY1oYcmoEREQI9cwsK7YM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
cycler
|
||||
decorator
|
||||
googleapis-common-protos
|
||||
grpcio
|
||||
grpcio-tools
|
||||
kiwisolver
|
||||
networkx
|
||||
numpy
|
||||
protobuf
|
||||
pyparsing
|
||||
python-dateutil
|
||||
six
|
||||
pygments
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace setup.py --replace '==' '>='
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Channel management tool for lightning network daemon (LND) operators";
|
||||
homepage = "https://github.com/bitromortac/lndmanage";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mmilata ];
|
||||
};
|
||||
}
|
||||
25
pkgs/applications/blockchains/masari/default.nix
Normal file
25
pkgs/applications/blockchains/masari/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, unbound, openssl, boost
|
||||
, lmdb, miniupnpc, readline }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "masari";
|
||||
version = "0.1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "masari-project";
|
||||
repo = "masari";
|
||||
rev = "v${version}";
|
||||
sha256 = "0l6i21wkq5f6z8xr756i7vqgkzk7lixaa31ydy34fkfcqxppgxz3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "scalability-focused, untraceable, secure, and fungible cryptocurrency using the RingCT protocol";
|
||||
homepage = "https://www.getmasari.org/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
29
pkgs/applications/blockchains/miniscript/default.nix
Normal file
29
pkgs/applications/blockchains/miniscript/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ stdenv, lib, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "miniscript";
|
||||
version = "unstable-2020-12-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sipa";
|
||||
repo = pname;
|
||||
rev = "02682a398a35b410571b10cde7f39837141ddad6";
|
||||
sha256 = "079jz4g88cfzfm9a6ykby9haxwcs033c1288mgr8cl2hw4qd2sjl";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp miniscript $out/bin/miniscript
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Compiler and inspector for the miniscript Bitcoin policy language";
|
||||
longDescription = "Miniscript is a language for writing (a subset of) Bitcoin Scripts in a structured way, enabling analysis, composition, generic signing and more.";
|
||||
homepage = "http://bitcoin.sipa.be/miniscript/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ RaghavSood jb55 ];
|
||||
};
|
||||
}
|
||||
60
pkgs/applications/blockchains/monero-cli/default.nix
Normal file
60
pkgs/applications/blockchains/monero-cli/default.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
||||
, cmake, pkg-config
|
||||
, boost, miniupnpc, openssl, unbound
|
||||
, zeromq, pcsclite, readline, libsodium, hidapi
|
||||
, randomx, rapidjson
|
||||
, CoreData, IOKit, PCSC
|
||||
, trezorSupport ? true, libusb1, protobuf, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "monero-cli";
|
||||
version = "0.17.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "monero-project";
|
||||
repo = "monero";
|
||||
rev = "v${version}";
|
||||
sha256 = "19sgcbli7fc1l6ms7ma6hcz1mmpbnd296lc8a19rl410acpv45zy";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./use-system-libraries.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# remove vendored libraries
|
||||
rm -r external/{miniupnp,randomx,rapidjson,unbound}
|
||||
# export patched source for monero-gui
|
||||
cp -r . $source
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
boost miniupnpc openssl unbound
|
||||
zeromq pcsclite readline
|
||||
libsodium hidapi randomx rapidjson
|
||||
protobuf
|
||||
] ++ lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
|
||||
++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DUSE_DEVICE_TREZOR=ON"
|
||||
"-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
"-DRandomX_ROOT_DIR=${randomx}"
|
||||
] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
|
||||
|
||||
outputs = [ "out" "source" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Private, secure, untraceable currency";
|
||||
homepage = "https://getmonero.org/";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
|
||||
index 5b7f69a56..5536debe8 100644
|
||||
--- a/external/CMakeLists.txt
|
||||
+++ b/external/CMakeLists.txt
|
||||
@@ -36,22 +36,9 @@
|
||||
# others.
|
||||
|
||||
find_package(Miniupnpc REQUIRED)
|
||||
-
|
||||
-message(STATUS "Using in-tree miniupnpc")
|
||||
-set(UPNPC_NO_INSTALL TRUE CACHE BOOL "Disable miniupnp installation" FORCE)
|
||||
-add_subdirectory(miniupnp/miniupnpc)
|
||||
-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
|
||||
-set_property(TARGET libminiupnpc-static PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
-if(MSVC)
|
||||
- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
|
||||
-elseif(NOT MSVC)
|
||||
- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
|
||||
-endif()
|
||||
-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
|
||||
- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE")
|
||||
-endif()
|
||||
-
|
||||
-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
|
||||
+set(UPNP_STATIC false PARENT_SCOPE)
|
||||
+set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
|
||||
+set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
|
||||
|
||||
find_package(Unbound)
|
||||
|
||||
@@ -69,4 +56,3 @@ endif()
|
||||
add_subdirectory(db_drivers)
|
||||
add_subdirectory(easylogging++)
|
||||
add_subdirectory(qrcodegen)
|
||||
-add_subdirectory(randomx EXCLUDE_FROM_ALL)
|
||||
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
|
||||
index d4b39869c..13071d898 100644
|
||||
--- a/src/p2p/net_node.inl
|
||||
+++ b/src/p2p/net_node.inl
|
||||
@@ -61,9 +61,9 @@
|
||||
#include "cryptonote_core/cryptonote_core.h"
|
||||
#include "net/parse.h"
|
||||
|
||||
-#include <miniupnp/miniupnpc/miniupnpc.h>
|
||||
-#include <miniupnp/miniupnpc/upnpcommands.h>
|
||||
-#include <miniupnp/miniupnpc/upnperrors.h>
|
||||
+#include <miniupnpc/miniupnpc.h>
|
||||
+#include <miniupnpc/upnpcommands.h>
|
||||
+#include <miniupnpc/upnperrors.h>
|
||||
|
||||
#undef MONERO_DEFAULT_LOG_CATEGORY
|
||||
#define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
|
||||
103
pkgs/applications/blockchains/monero-gui/default.nix
Normal file
103
pkgs/applications/blockchains/monero-gui/default.nix
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
{ lib, stdenv, wrapQtAppsHook, makeDesktopItem
|
||||
, fetchFromGitHub
|
||||
, cmake, qttools, pkg-config
|
||||
, qtbase, qtdeclarative, qtgraphicaleffects
|
||||
, qtmultimedia, qtxmlpatterns
|
||||
, qtquickcontrols, qtquickcontrols2
|
||||
, qtmacextras
|
||||
, monero-cli, miniupnpc, unbound, readline
|
||||
, boost, libunwind, libsodium, pcsclite
|
||||
, randomx, zeromq, libgcrypt, libgpg-error
|
||||
, hidapi, rapidjson, quirc
|
||||
, trezorSupport ? true, libusb1, protobuf, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "monero-gui";
|
||||
version = "0.17.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "monero-project";
|
||||
repo = "monero-gui";
|
||||
rev = "v${version}";
|
||||
sha256 = "10gincmgc0qpsgm94m1fqfy9j8jn9g1gjk12lcqnf77kvcnz37hq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake pkg-config wrapQtAppsHook
|
||||
(lib.getDev qttools)
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase qtdeclarative qtgraphicaleffects
|
||||
qtmultimedia qtquickcontrols qtquickcontrols2
|
||||
qtxmlpatterns
|
||||
monero-cli miniupnpc unbound readline
|
||||
randomx libgcrypt libgpg-error
|
||||
boost libunwind libsodium pcsclite
|
||||
zeromq hidapi rapidjson quirc
|
||||
] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]
|
||||
++ lib.optionals stdenv.isDarwin [ qtmacextras ];
|
||||
|
||||
postUnpack = ''
|
||||
# copy monero sources here
|
||||
# (needs to be writable)
|
||||
cp -r ${monero-cli.source}/* source/monero
|
||||
chmod -R +w source/monero
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./move-log-file.patch
|
||||
./use-system-libquirc.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# set monero-gui version
|
||||
substituteInPlace src/version.js.in \
|
||||
--replace '@VERSION_TAG_GUI@' '${version}'
|
||||
|
||||
# use monerod from the monero package
|
||||
substituteInPlace src/daemon/DaemonManager.cpp \
|
||||
--replace 'QApplication::applicationDirPath() + "' '"${monero-cli}/bin'
|
||||
|
||||
# 1: only build external deps, *not* the full monero
|
||||
# 2: use nixpkgs libraries
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'add_subdirectory(monero)' \
|
||||
'add_subdirectory(monero EXCLUDE_FROM_ALL)' \
|
||||
--replace 'add_subdirectory(external)' ""
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DARCH=default" ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "monero-wallet-gui";
|
||||
exec = "monero-wallet-gui";
|
||||
icon = "monero";
|
||||
desktopName = "Monero";
|
||||
genericName = "Wallet";
|
||||
categories = [ "Network" "Utility" ];
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
# install desktop entry
|
||||
install -Dm644 -t $out/share/applications \
|
||||
${desktopItem}/share/applications/*
|
||||
|
||||
# install icons
|
||||
for n in 16 24 32 48 64 96 128 256; do
|
||||
size=$n"x"$n
|
||||
install -Dm644 \
|
||||
-t $out/share/icons/hicolor/$size/apps/monero.png \
|
||||
$src/images/appicons/$size.png
|
||||
done;
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Private, secure, untraceable currency";
|
||||
homepage = "https://getmonero.org/";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
};
|
||||
}
|
||||
14
pkgs/applications/blockchains/monero-gui/move-log-file.patch
Normal file
14
pkgs/applications/blockchains/monero-gui/move-log-file.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/src/main/main.cpp b/src/main/main.cpp
|
||||
index c5210e5f..45794d72 100644
|
||||
--- a/src/main/main.cpp
|
||||
+++ b/src/main/main.cpp
|
||||
@@ -220,6 +220,9 @@ int main(int argc, char *argv[])
|
||||
QCommandLineOption logPathOption(QStringList() << "l" << "log-file",
|
||||
QCoreApplication::translate("main", "Log to specified file"),
|
||||
QCoreApplication::translate("main", "file"));
|
||||
+ logPathOption.setDefaultValue(
|
||||
+ QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
|
||||
+ + "/monero-wallet-gui.log");
|
||||
|
||||
QCommandLineOption testQmlOption("test-qml");
|
||||
testQmlOption.setFlags(QCommandLineOption::HiddenFromHelp);
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
diff --git a/src/QR-Code-scanner/CMakeLists.txt b/src/QR-Code-scanner/CMakeLists.txt
|
||||
index 15e288df..2e9b3305 100644
|
||||
--- a/src/QR-Code-scanner/CMakeLists.txt
|
||||
+++ b/src/QR-Code-scanner/CMakeLists.txt
|
||||
@@ -1,11 +1,18 @@
|
||||
+find_library(QUIRC_LIBRARY quirc REQUIRED)
|
||||
+find_path(QUIRC_INCLUDE_DIR quirc.h REQUIRED)
|
||||
+
|
||||
add_library(qrdecoder STATIC
|
||||
Decoder.cpp
|
||||
)
|
||||
+target_include_directories(qrdecoder
|
||||
+ PUBLIC
|
||||
+ ${QUIRC_INCLUDE_DIR}
|
||||
+)
|
||||
target_link_libraries(qrdecoder
|
||||
PUBLIC
|
||||
Qt5::Gui
|
||||
PRIVATE
|
||||
- quirc
|
||||
+ ${QUIRC_LIBRARY}
|
||||
)
|
||||
|
||||
if(WITH_SCANNER)
|
||||
diff --git a/src/QR-Code-scanner/Decoder.cpp b/src/QR-Code-scanner/Decoder.cpp
|
||||
index 1bb99140..353ca189 100644
|
||||
--- a/src/QR-Code-scanner/Decoder.cpp
|
||||
+++ b/src/QR-Code-scanner/Decoder.cpp
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include <limits>
|
||||
|
||||
-#include "quirc.h"
|
||||
+#include <quirc.h>
|
||||
|
||||
QrDecoder::QrDecoder()
|
||||
: m_qr(quirc_new())
|
||||
54
pkgs/applications/blockchains/mycrypto/default.nix
Normal file
54
pkgs/applications/blockchains/mycrypto/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ lib, appimageTools, fetchurl, makeDesktopItem
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "MyCrypto";
|
||||
version = "1.7.17";
|
||||
sha256 = "20eb48989b5ae5e60e438eff6830ac79a0d89ac26dff058097260e747e866444"; # Taken from release's checksums.txt.gpg
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mycryptohq/mycrypto/releases/download/${version}/linux-x86-64_${version}_MyCrypto.AppImage";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit name src;
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
desktopName = pname;
|
||||
comment = "MyCrypto is a free, open-source interface for interacting with the blockchain";
|
||||
exec = pname;
|
||||
icon = "mycrypto";
|
||||
categories = [ "Finance" ];
|
||||
};
|
||||
|
||||
in appimageTools.wrapType2 rec {
|
||||
inherit name src;
|
||||
|
||||
multiPkgs = null; # no p32bit needed
|
||||
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/{${name},${pname}}
|
||||
|
||||
mkdir -p $out/share
|
||||
cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
|
||||
chmod -R +w $out/share
|
||||
mv $out/share/icons/hicolor/{0x0,256x256}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free, open-source interface for interacting with the blockchain";
|
||||
longDescription = ''
|
||||
MyCrypto is an open-source, client-side tool for generating ether wallets,
|
||||
handling ERC-20 tokens, and interacting with the blockchain more easily.
|
||||
'';
|
||||
homepage = "https://mycrypto.com";
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ oxalica ];
|
||||
};
|
||||
}
|
||||
47
pkgs/applications/blockchains/namecoin/default.nix
Normal file
47
pkgs/applications/blockchains/namecoin/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ lib, stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, qt4, protobuf, qrencode, hexdump
|
||||
, withGui }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "namecoin" + lib.optionalString (!withGui) "d";
|
||||
version = "22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "namecoin";
|
||||
repo = "namecoin-core";
|
||||
rev = "nc${version}";
|
||||
sha256 = "sha256-Z3CLDe0c4IpFPPTie8yoh0kcuvGmiegSgl4ITNSDkgY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
hexdump
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
boost
|
||||
libevent
|
||||
db4
|
||||
miniupnpc
|
||||
eject
|
||||
] ++ lib.optionals withGui [
|
||||
qt4
|
||||
protobuf
|
||||
qrencode
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
|
||||
homepage = "https://namecoin.org";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ infinisil ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
59
pkgs/applications/blockchains/nano-wallet/default.nix
Normal file
59
pkgs/applications/blockchains/nano-wallet/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, boost, libGL
|
||||
, qtbase, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "nano-wallet";
|
||||
version = "21.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nanocurrency";
|
||||
repo = "nano-node";
|
||||
rev = "V${version}";
|
||||
sha256 = "0f6chl5vrzdr4w8g3nivfxk3qm6m11js401998afnhz0xaysm4pm";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cmakeFlags = let
|
||||
options = {
|
||||
PYTHON_EXECUTABLE = "${python3.interpreter}";
|
||||
NANO_SHARED_BOOST = "ON";
|
||||
BOOST_ROOT = boost;
|
||||
RAIBLOCKS_GUI = "ON";
|
||||
RAIBLOCKS_TEST = "ON";
|
||||
Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5";
|
||||
Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core";
|
||||
Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui";
|
||||
Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets";
|
||||
};
|
||||
optionToFlag = name: value: "-D${name}=${value}";
|
||||
in lib.mapAttrsToList optionToFlag options;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
|
||||
buildInputs = [ boost libGL qtbase ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
make nano_wallet
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
./core_test
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Wallet for Nano cryptocurrency";
|
||||
homepage = "https://nano.org/en/wallet/";
|
||||
license = lib.licenses.bsd2;
|
||||
# Fails on Darwin. See:
|
||||
# https://github.com/NixOS/nixpkgs/pull/39295#issuecomment-386800962
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ jluttine ];
|
||||
};
|
||||
|
||||
}
|
||||
29
pkgs/applications/blockchains/nbxplorer/default.nix
Normal file
29
pkgs/applications/blockchains/nbxplorer/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages }:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "nbxplorer";
|
||||
version = "2.3.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgarage";
|
||||
repo = "NBXplorer";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PaunSwbIf9hGmZeS8ZI4M0C6T76bLCalnS4/x9TWrtY=";
|
||||
};
|
||||
|
||||
projectFile = "NBXplorer/NBXplorer.csproj";
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
|
||||
|
||||
postFixup = ''
|
||||
mv $out/bin/{NBXplorer,nbxplorer}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Minimalist UTXO tracker for HD Cryptocurrency Wallets";
|
||||
maintainers = with maintainers; [ kcalvinalvin earvstedt ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
1097
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
Normal file
1097
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
Normal file
File diff suppressed because it is too large
Load diff
6
pkgs/applications/blockchains/nbxplorer/update.sh
Executable file
6
pkgs/applications/blockchains/nbxplorer/update.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
|
||||
|
||||
getVersionFromTags=1 "$scriptDir"/util/update-common.sh nbxplorer "$scriptDir"/deps.nix ''
|
||||
46
pkgs/applications/blockchains/nbxplorer/util/create-deps.sh
Executable file
46
pkgs/applications/blockchains/nbxplorer/util/create-deps.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p dotnet-sdk_6
|
||||
set -euo pipefail
|
||||
|
||||
# Writes deps for dotnet package in $pkgSrc to $depsFile.
|
||||
# Expects $pkgSrc to contain a single .sln file.
|
||||
|
||||
pkgSrc=$1
|
||||
depsFile=$(realpath "$2")
|
||||
customFlags=$3
|
||||
|
||||
sln=$(cd "$pkgSrc"; find * -maxdepth 0 -name '*.sln' | head -1)
|
||||
[[ $sln ]] || { echo "No .sln file in $pkgSrc" ; exit 1; }
|
||||
|
||||
tmpdir=$(mktemp -d /tmp/$pkgName-src.XXX)
|
||||
echo "Using tmp dir: $tmpdir"
|
||||
cp -rT "$pkgSrc" "$tmpdir"
|
||||
chmod -R +w "$tmpdir"
|
||||
|
||||
pushd "$tmpdir" > /dev/null
|
||||
mkdir home
|
||||
echo "Running dotnet restore for $sln"
|
||||
HOME=home DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
||||
dotnet restore $customFlags -v normal --no-cache "$sln" > restore_log
|
||||
|
||||
echo "{ fetchNuGet }: [" > "$depsFile"
|
||||
while read pkgSpec; do
|
||||
{ read pname; read version; } < <(
|
||||
# Ignore build version part: 1.0.0-beta2+77df2220 -> 1.0.0-beta2
|
||||
sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkgSpec"
|
||||
)
|
||||
sha256=$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkgSpec")"/*.nupkg)
|
||||
cat >> "$depsFile" <<EOF
|
||||
(fetchNuGet {
|
||||
pname = "$pname";
|
||||
version = "$version";
|
||||
sha256 = "$sha256";
|
||||
})
|
||||
EOF
|
||||
done < <(find home/.nuget/packages -name '*.nuspec' | LC_ALL=C sort)
|
||||
echo "]" >> "$depsFile"
|
||||
|
||||
echo "Created $depsFile"
|
||||
|
||||
popd > /dev/null
|
||||
rm -r $tmpdir
|
||||
79
pkgs/applications/blockchains/nbxplorer/util/update-common.sh
Executable file
79
pkgs/applications/blockchains/nbxplorer/util/update-common.sh
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p coreutils curl jq common-updater-scripts dotnet-sdk_6 git gnupg nixFlakes
|
||||
set -euo pipefail
|
||||
|
||||
# This script uses the following env vars:
|
||||
# getVersionFromTags
|
||||
# refetch
|
||||
|
||||
trap 'echo "Error at ${BASH_SOURCE[0]}:$LINENO"' ERR
|
||||
|
||||
pkgName=$1
|
||||
depsFile=$2
|
||||
customFlags=$3
|
||||
|
||||
: ${getVersionFromTags:=}
|
||||
: ${refetch:=}
|
||||
|
||||
scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
|
||||
nixpkgs=$(realpath "$scriptDir"/../../../../..)
|
||||
|
||||
evalNixpkgs() {
|
||||
nix eval --impure --raw --expr "(with import \"$nixpkgs\" {}; $1)"
|
||||
}
|
||||
|
||||
getRepo() {
|
||||
url=$(evalNixpkgs $pkgName.src.meta.homepage)
|
||||
echo $(basename $(dirname $url))/$(basename $url)
|
||||
}
|
||||
|
||||
getLatestVersionTag() {
|
||||
"$nixpkgs"/pkgs/common-updater/scripts/list-git-tags --url=https://github.com/$(getRepo) 2>/dev/null \
|
||||
| sort -V | tail -1 | sed 's|^v||'
|
||||
}
|
||||
|
||||
oldVersion=$(evalNixpkgs "$pkgName.version")
|
||||
if [[ $getVersionFromTags ]]; then
|
||||
newVersion=$(getLatestVersionTag)
|
||||
else
|
||||
newVersion=$(curl -s "https://api.github.com/repos/$(getRepo)/releases" | jq -r '.[0].name')
|
||||
fi
|
||||
|
||||
if [[ $newVersion == $oldVersion && ! $refetch ]]; then
|
||||
echo "nixpkgs already has the latest version $newVersion"
|
||||
echo "Run this script with env var refetch=1 to re-verify the content hash via GPG"
|
||||
echo "and to recreate $(basename "$depsFile"). This is useful for reviewing a version update."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Fetch release and GPG-verify the content hash
|
||||
tmpdir=$(mktemp -d /tmp/$pkgName-verify-gpg.XXX)
|
||||
repo=$tmpdir/repo
|
||||
trap "rm -rf $tmpdir" EXIT
|
||||
git clone --depth 1 --branch v${newVersion} -c advice.detachedHead=false https://github.com/$(getRepo) $repo
|
||||
export GNUPGHOME=$tmpdir
|
||||
# Fetch Nicolas Dorier's key (64-bit key ID: 6618763EF09186FE)
|
||||
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys AB4CFA9895ACA0DBE27F6B346618763EF09186FE 2> /dev/null
|
||||
# Fetch Andrew Camilleri's key (64-bit key ID: 8E5530D9D1C93097)
|
||||
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 836C08CF3F523BB7A8CB8ECF8E5530D9D1C93097 2> /dev/null
|
||||
echo
|
||||
echo "Verifying commit"
|
||||
git -C $repo verify-commit HEAD
|
||||
rm -rf $repo/.git
|
||||
newHash=$(nix hash-path $repo)
|
||||
rm -rf $tmpdir
|
||||
echo
|
||||
|
||||
# Update pkg version and hash
|
||||
echo "Updating $pkgName: $oldVersion -> $newVersion"
|
||||
if [[ $newVersion == $oldVersion ]]; then
|
||||
# Temporarily set a source version that doesn't equal $newVersion so that $newHash
|
||||
# is always updated in the next call to update-source-version.
|
||||
(cd "$nixpkgs" && update-source-version "$pkgName" "0" "0000000000000000000000000000000000000000000000000000")
|
||||
fi
|
||||
(cd "$nixpkgs" && update-source-version "$pkgName" "$newVersion" "$newHash")
|
||||
echo
|
||||
|
||||
# Create deps file
|
||||
storeSrc="$(nix-build "$nixpkgs" -A $pkgName.src --no-out-link)"
|
||||
. "$scriptDir"/create-deps.sh "$storeSrc" "$depsFile" "$customFlags"
|
||||
60
pkgs/applications/blockchains/nearcore/default.nix
Normal file
60
pkgs/applications/blockchains/nearcore/default.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ rustPlatform, lib, fetchFromGitHub
|
||||
, zlib, openssl
|
||||
, pkg-config, protobuf, llvmPackages
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nearcore";
|
||||
version = "1.26.1";
|
||||
|
||||
# https://github.com/near/nearcore/tags
|
||||
src = fetchFromGitHub {
|
||||
owner = "near";
|
||||
repo = "nearcore";
|
||||
# there is also a branch for this version number, so we need to be explicit
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-WoQtDdbFcvl6Wp5uv2tr/W/YYH8dyezF+LzSJ5oJcYY=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-7h14XzhhPmkPoTx0kkJl7I7CPqbRAtxa1zpplYxg4p4=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace neard/build.rs \
|
||||
--replace 'get_git_version()?' '"nix:${version}"'
|
||||
'';
|
||||
|
||||
CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";
|
||||
CARGO_PROFILE_RELEASE_LTO = "fat";
|
||||
NEAR_RELEASE_BUILD = "release";
|
||||
|
||||
OPENSSL_NO_VENDOR = 1; # we want to link to OpenSSL provided by Nix
|
||||
|
||||
# don't build SDK samples that require wasm-enabled rust
|
||||
buildAndTestSubdir = "neard";
|
||||
doCheck = false; # needs network
|
||||
|
||||
buildInputs = [
|
||||
zlib
|
||||
openssl
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
protobuf
|
||||
];
|
||||
|
||||
# fat LTO requires ~3.4GB RAM
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||
BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Reference client for NEAR Protocol";
|
||||
homepage = "https://github.com/near/nearcore";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ mic92 mikroskeem ];
|
||||
# only x86_64 is supported in nearcore because of sse4+ support, macOS might
|
||||
# be also possible
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
51
pkgs/applications/blockchains/openethereum/default.nix
Normal file
51
pkgs/applications/blockchains/openethereum/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, cmake
|
||||
, llvmPackages
|
||||
, openssl
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, systemd
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "openethereum";
|
||||
version = "3.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openethereum";
|
||||
repo = "openethereum";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PpRRoufuZ9fXbLonMAo6qaA/jtJZXW98uM0BEXdJ2oU=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-xXUNXQvVq6XqW/hmCfJ2/mHKkZu0amRZ77vX+Jib0iM=";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [ openssl ]
|
||||
++ lib.optionals stdenv.isLinux [ systemd ]
|
||||
++ lib.optionals stdenv.isDarwin [ darwin.Security ];
|
||||
|
||||
buildFeatures = [ "final" ];
|
||||
|
||||
# Fix tests by preventing them from writing to /homeless-shelter.
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
# Exclude some tests that don't work in the sandbox
|
||||
# - Nat test requires network access
|
||||
checkFlags = "--skip configuration::tests::should_resolve_external_nat_hosts";
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "Fast, light, robust Ethereum implementation";
|
||||
homepage = "http://parity.io/ethereum";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ akru ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
68
pkgs/applications/blockchains/oxen/default.nix
Normal file
68
pkgs/applications/blockchains/oxen/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch
|
||||
, cmake, pkg-config
|
||||
, boost, openssl, unbound
|
||||
, pcsclite, readline, libsodium, hidapi
|
||||
, rapidjson
|
||||
, curl, sqlite
|
||||
, trezorSupport ? true
|
||||
, libusb1
|
||||
, protobuf
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oxen";
|
||||
version = "9.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oxen-io";
|
||||
repo = "oxen-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "11g3wqn0syk47yfcsdql5737kpad8skwdxhifn2yaz9zy8n3xqqb";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Required for static linking, the only supported install path
|
||||
lbzmqsrc = fetchurl {
|
||||
url = "https://github.com/zeromq/libzmq/releases/download/v4.3.3/zeromq-4.3.3.tar.gz";
|
||||
sha512 = "4c18d784085179c5b1fcb753a93813095a12c8d34970f2e1bfca6499be6c9d67769c71c68b7ca54ff181b20390043170e89733c22f76ff1ea46494814f7095b1";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# remove vendored libraries
|
||||
rm -r external/rapidjson
|
||||
sed -i s,/lib/,/lib64/, external/loki-mq/cmake/local-libzmq//LocalLibzmq.cmake
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm -R $out/lib $out/include
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
boost openssl unbound
|
||||
pcsclite readline
|
||||
libsodium hidapi rapidjson
|
||||
protobuf curl sqlite
|
||||
] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
# "-DUSE_DEVICE_TREZOR=ON"
|
||||
# "-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
# It build with shared libs but doesn't install them. Fail.
|
||||
# "-DBUILD_SHARED_LIBS=ON"
|
||||
"-DLIBZMQ_TARBALL_URL=${lbzmqsrc}"
|
||||
] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Private cryptocurrency based on Monero";
|
||||
homepage = "https://oxen.io/";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.viric ];
|
||||
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/oxen.x86_64-darwin
|
||||
};
|
||||
}
|
||||
57
pkgs/applications/blockchains/particl-core/default.nix
Normal file
57
pkgs/applications/blockchains/particl-core/default.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, autoreconfHook
|
||||
, boost
|
||||
, db48
|
||||
, fetchFromGitHub
|
||||
, libevent
|
||||
, miniupnpc
|
||||
, openssl
|
||||
, pkg-config
|
||||
, zeromq
|
||||
, zlib
|
||||
, unixtools
|
||||
, python3
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "particl-core";
|
||||
version = "0.19.2.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "particl";
|
||||
repo = "particl-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-gJLEMfEvQ35xjKt8iN/FXi2T/GBMSS7eUqOC8XHKPBg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
buildInputs = [ openssl db48 boost zlib miniupnpc libevent zeromq unixtools.hexdump python3 ];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-bench"
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
] ++ optionals (!doCheck) [
|
||||
"--enable-tests=no"
|
||||
];
|
||||
|
||||
# Always check during Hydra builds
|
||||
doCheck = true;
|
||||
preCheck = "patchShebangs test";
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
|
||||
description = "Privacy-Focused Marketplace & Decentralized Application Platform";
|
||||
longDescription = ''
|
||||
An open source, decentralized privacy platform built for global person to person eCommerce.
|
||||
RPC daemon and CLI client only.
|
||||
'';
|
||||
homepage = "https://particl.io/";
|
||||
maintainers = with maintainers; [ demyanrogozhin ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
79
pkgs/applications/blockchains/pivx/default.nix
Normal file
79
pkgs/applications/blockchains/pivx/default.nix
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, stdenv
|
||||
, pkg-config
|
||||
, autoreconfHook
|
||||
, wrapQtAppsHook
|
||||
, openssl
|
||||
, db48
|
||||
, boost
|
||||
, zlib
|
||||
, miniupnpc
|
||||
, gmp
|
||||
, qrencode
|
||||
, glib
|
||||
, protobuf
|
||||
, yasm
|
||||
, libevent
|
||||
, util-linux
|
||||
, qtbase
|
||||
, qttools
|
||||
, enableUpnp ? false
|
||||
, disableWallet ? false
|
||||
, disableDaemon ? false
|
||||
, withGui ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pivx";
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PIVX-Project";
|
||||
repo = "PIVX";
|
||||
rev = "v${version}";
|
||||
sha256 = "03ndk46h6093v8s18d5iffz48zhlshq7jrk6vgpjfs6z2iqgd2sy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ]
|
||||
++ lib.optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ]
|
||||
++ lib.optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||
++ lib.optional enableUpnp "--enable-upnp-default"
|
||||
++ lib.optional disableWallet "--disable-wallet"
|
||||
++ lib.optional disableDaemon "--disable-daemon"
|
||||
++ lib.optionals withGui [
|
||||
"--with-gui=yes"
|
||||
"--with-qt-bindir=${lib.getDev qtbase}/bin:${lib.getDev qttools}/bin"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doCheck = true;
|
||||
postBuild = ''
|
||||
mkdir -p $out/share/applications $out/share/icons
|
||||
cp contrib/debian/pivx-qt.desktop $out/share/applications/
|
||||
cp share/pixmaps/*128.png $out/share/icons/
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/test_pivx
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
|
||||
description = "An open source crypto-currency focused on fast private transactions";
|
||||
longDescription = ''
|
||||
PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
|
||||
ultra fast transactions, low fees, high network decentralization, and
|
||||
Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
homepage = "https://pivx.org";
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
65
pkgs/applications/blockchains/polkadot/default.nix
Normal file
65
pkgs/applications/blockchains/polkadot/default.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{ clang
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, llvmPackages
|
||||
, protobuf
|
||||
, rustPlatform
|
||||
, stdenv
|
||||
, writeShellScriptBin
|
||||
, Security
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "polkadot";
|
||||
version = "0.9.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "polkadot";
|
||||
rev = "v${version}";
|
||||
sha256 = "HCj5WwfKa4QsfO+1u4ciukDg6Rzv/uvc8h+V/Duhksg=";
|
||||
|
||||
# the build process of polkadot requires a .git folder in order to determine
|
||||
# the git commit hash that is being built and add it to the version string.
|
||||
# since having a .git folder introduces reproducibility issues to the nix
|
||||
# build, we check the git commit hash after fetching the source and save it
|
||||
# into a .git_commit file, and then delete the .git folder. we can then use
|
||||
# this file to populate an environment variable with the commit hash, which
|
||||
# is picked up by polkadot's build process.
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
( cd $out; git rev-parse --short HEAD > .git_commit )
|
||||
rm -rf $out/.git
|
||||
'';
|
||||
};
|
||||
|
||||
cargoSha256 = "tHU8KygIhJDgID/tGGssYTnY8raI5qTdLEDwOKox3No=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin [ Security ];
|
||||
|
||||
nativeBuildInputs = [ clang ];
|
||||
|
||||
preBuild = ''
|
||||
export SUBSTRATE_CLI_GIT_COMMIT_HASH=$(cat .git_commit)
|
||||
rm .git_commit
|
||||
'';
|
||||
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||
PROTOC = "${protobuf}/bin/protoc";
|
||||
|
||||
# NOTE: We don't build the WASM runtimes since this would require a more
|
||||
# complicated rust environment setup and this is only needed for developer
|
||||
# environments. The resulting binary is useful for end-users of live networks
|
||||
# since those just use the WASM blob from the network chainspec.
|
||||
SKIP_WASM_BUILD = 1;
|
||||
|
||||
# We can't run the test suite since we didn't compile the WASM runtimes.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Polkadot Node Implementation";
|
||||
homepage = "https://polkadot.network";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ akru andresilva asymmetric FlorianFranzen RaghavSood ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
41
pkgs/applications/blockchains/quorum/default.nix
Normal file
41
pkgs/applications/blockchains/quorum/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, fetchFromGitHub, buildGoPackage, git, which, removeReferencesTo, go }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "quorum";
|
||||
version = "2.5.0";
|
||||
|
||||
goPackagePath = "github.com/jpmorganchase/quorum";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpmorganchase";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0xfdaqp9bj5dkw12gy19lxj73zh7w80j051xclsvnd41sfah86ll";
|
||||
};
|
||||
|
||||
buildInputs = [ git which ];
|
||||
|
||||
buildPhase = ''
|
||||
cd "go/src/$goPackagePath"
|
||||
make geth bootnode swarm
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -pv $out/bin
|
||||
cp -v build/bin/geth build/bin/bootnode build/bin/swarm $out/bin
|
||||
'';
|
||||
|
||||
# fails with `GOFLAGS=-trimpath`
|
||||
allowGoReference = true;
|
||||
preFixup = ''
|
||||
find $out -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${go} '{}' +
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A permissioned implementation of Ethereum supporting data privacy";
|
||||
homepage = "https://www.goquorum.com/";
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ mmahut ];
|
||||
platforms = subtractLists ["aarch64-linux"] platforms.linux;
|
||||
};
|
||||
}
|
||||
61
pkgs/applications/blockchains/snarkos/default.nix
Normal file
61
pkgs/applications/blockchains/snarkos/default.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, rustPlatform
|
||||
, Security
|
||||
, curl
|
||||
, pkg-config
|
||||
, openssl
|
||||
, llvmPackages
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "snarkos";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AleoHQ";
|
||||
repo = "snarkOS";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-sS8emB+uhWuoq5ISuT8FgSSzX7/WDoOY8hHzPE/EX3o=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-XS6dw6BIoJdigEso/J1dUaAp7AIAda3HrKnCoBynRv8=";
|
||||
|
||||
# buildAndTestSubdir = "cli";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config llvmPackages.clang ];
|
||||
|
||||
# Needed to get openssl-sys to use pkg-config.
|
||||
OPENSSL_NO_VENDOR = 1;
|
||||
OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
|
||||
OPENSSL_DIR="${lib.getDev openssl}";
|
||||
|
||||
LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
|
||||
|
||||
# TODO check why rust compilation fails by including the rocksdb from nixpkgs
|
||||
# Used by build.rs in the rocksdb-sys crate. If we don't set these, it would
|
||||
# try to build RocksDB from source.
|
||||
# ROCKSDB_INCLUDE_DIR="${rocksdb}/include";
|
||||
# ROCKSDB_LIB_DIR="${rocksdb}/lib";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security curl ];
|
||||
|
||||
# some tests are flaky and some need network access
|
||||
# TODO finish filtering the tests to enable them
|
||||
doCheck = !stdenv.isLinux;
|
||||
# checkFlags = [
|
||||
# # tries to make a network access
|
||||
# "--skip=rpc::rpc::tests::test_send_transaction_large"
|
||||
# # flaky test
|
||||
# "--skip=helpers::block_requests::tests::test_block_requests_case_2ca"
|
||||
# ];
|
||||
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Decentralized Operating System for Zero-Knowledge Applications";
|
||||
homepage = "https://snarkos.org";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
61
pkgs/applications/blockchains/solana/default.nix
Normal file
61
pkgs/applications/blockchains/solana/default.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, rustPlatform
|
||||
, IOKit
|
||||
, Security
|
||||
, AppKit
|
||||
, pkg-config
|
||||
, udev
|
||||
, zlib
|
||||
, protobuf
|
||||
}:
|
||||
let
|
||||
pinData = lib.importJSON ./pin.json;
|
||||
version = pinData.version;
|
||||
sha256 = pinData.sha256;
|
||||
cargoSha256 = pinData.cargoSha256;
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "solana-testnet-cli";
|
||||
inherit version cargoSha256;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solana-labs";
|
||||
repo = "solana";
|
||||
rev = "v${version}";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "cli";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ protobuf pkg-config ];
|
||||
buildInputs = lib.optionals stdenv.isLinux [ udev zlib ] ++ lib.optionals stdenv.isDarwin [ IOKit Security AppKit ];
|
||||
|
||||
# check phase fails
|
||||
# on darwin with missing framework System. This framework is not available in nixpkgs
|
||||
# on linux with some librocksdb-sys compilation error
|
||||
doCheck = false;
|
||||
|
||||
# all the following are needed for the checkphase
|
||||
# checkInputs = lib.optionals stdenv.isDarwin [ pkg-config rustfmt ];
|
||||
# Needed to get openssl-sys to use pkg-config.
|
||||
# OPENSSL_NO_VENDOR = 1;
|
||||
# OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
|
||||
# OPENSSL_DIR="${lib.getDev openssl}";
|
||||
# LLVM_CONFIG_PATH="${llvm}/bin/llvm-config";
|
||||
# LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
|
||||
# Used by build.rs in the rocksdb-sys crate. If we don't set these, it would
|
||||
# try to build RocksDB from source.
|
||||
# ROCKSDB_INCLUDE_DIR="${rocksdb}/include";
|
||||
# ROCKSDB_LIB_DIR="${rocksdb}/lib";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces. ";
|
||||
homepage = "https://solana.com";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
passthru.updateScript = ./update.sh;
|
||||
}
|
||||
5
pkgs/applications/blockchains/solana/pin.json
Normal file
5
pkgs/applications/blockchains/solana/pin.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": "1.10.9",
|
||||
"sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=",
|
||||
"cargoSha256": "sha256-7EULmmztt+INvSdluvvX5xbE2hWKAmHiW0MEYIPNPw4="
|
||||
}
|
||||
33
pkgs/applications/blockchains/solana/update.sh
Executable file
33
pkgs/applications/blockchains/solana/update.sh
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
|
||||
|
||||
# TODO set to `verbose` or `extdebug` once implemented in oil
|
||||
shopt --set xtrace
|
||||
# we need failures inside of command subs to get the correct cargoSha256
|
||||
shopt --unset inherit_errexit
|
||||
|
||||
const directory = $(dirname $0 | xargs realpath)
|
||||
const owner = "solana-labs"
|
||||
const repo = "solana"
|
||||
const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
|
||||
jq -r '.tag_name')
|
||||
const latest_version = $(echo $latest_rev | sd 'v' '')
|
||||
const current_version = $(jq -r '.version' $directory/pin.json)
|
||||
if ("$latest_version" === "$current_version") {
|
||||
echo "solana is already up-to-date"
|
||||
return 0
|
||||
} else {
|
||||
const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
|
||||
const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
|
||||
|
||||
jq ".version = \"$latest_version\" | \
|
||||
.\"sha256\" = \"$tarball_hash\" | \
|
||||
.\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
|
||||
|
||||
const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \
|
||||
tail -n 2 | \
|
||||
head -n 1 | \
|
||||
sd '\s+got:\s+' '')
|
||||
|
||||
jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json
|
||||
}
|
||||
232
pkgs/applications/blockchains/sparrow/default.nix
Normal file
232
pkgs/applications/blockchains/sparrow/default.nix
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, makeWrapper
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, autoPatchelfHook
|
||||
, openjdk17
|
||||
, gtk3
|
||||
, gsettings-desktop-schemas
|
||||
, writeScript
|
||||
, bash
|
||||
, gnugrep
|
||||
, tor
|
||||
, zlib
|
||||
, openimajgrabber
|
||||
, hwi
|
||||
, imagemagick
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "sparrow";
|
||||
version = "1.6.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0zk33w664fky3ir6cqm6walc80fjhg9s0hnrllrc2hrxrqnrn88p";
|
||||
};
|
||||
|
||||
launcher = writeScript "sparrow" ''
|
||||
#! ${bash}/bin/bash
|
||||
params=(
|
||||
--module-path @out@/lib:@jdkModules@/modules
|
||||
--add-opens javafx.graphics/com.sun.javafx.css=org.controlsfx.controls
|
||||
--add-opens javafx.graphics/javafx.scene=org.controlsfx.controls
|
||||
--add-opens javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls
|
||||
--add-opens javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls
|
||||
--add-opens javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls
|
||||
--add-opens javafx.base/com.sun.javafx.event=org.controlsfx.controls
|
||||
--add-opens javafx.controls/javafx.scene.control.cell=com.sparrowwallet.sparrow
|
||||
--add-opens org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow
|
||||
--add-opens org.controlsfx.controls/impl.org.controlsfx.skin=javafx.fxml
|
||||
--add-opens javafx.graphics/com.sun.javafx.tk=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx
|
||||
--add-opens javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow
|
||||
--add-opens javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow
|
||||
--add-opens java.base/java.net=com.sparrowwallet.sparrow
|
||||
--add-opens java.base/java.io=com.google.gson
|
||||
--add-reads com.sparrowwallet.merged.module=java.desktop
|
||||
--add-reads com.sparrowwallet.merged.module=java.sql
|
||||
--add-reads com.sparrowwallet.merged.module=com.sparrowwallet.sparrow
|
||||
--add-reads com.sparrowwallet.merged.module=logback.classic
|
||||
--add-reads com.sparrowwallet.merged.module=com.fasterxml.jackson.databind
|
||||
--add-reads com.sparrowwallet.merged.module=com.fasterxml.jackson.annotation
|
||||
--add-reads com.sparrowwallet.merged.module=com.fasterxml.jackson.core
|
||||
--add-reads com.sparrowwallet.merged.module=co.nstant.in.cbor
|
||||
-m com.sparrowwallet.sparrow
|
||||
)
|
||||
|
||||
XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk17}/bin/java ''${params[@]} $@
|
||||
'';
|
||||
|
||||
torWrapper = writeScript "tor-wrapper" ''
|
||||
#! ${bash}/bin/bash
|
||||
|
||||
exec ${tor}/bin/tor "$@"
|
||||
'';
|
||||
|
||||
jdk-modules = stdenv.mkDerivation {
|
||||
name = "jdk-modules";
|
||||
nativeBuildInputs = [ openjdk17 ];
|
||||
dontUnpack = true;
|
||||
|
||||
buildPhase = ''
|
||||
# Extract the JDK's JIMAGE and generate a list of modules.
|
||||
mkdir modules
|
||||
pushd modules
|
||||
jimage extract ${openjdk17}/lib/openjdk/lib/modules
|
||||
ls | xargs -d " " -- echo > ../manifest.txt
|
||||
popd
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp manifest.txt $out/
|
||||
cp -r modules/ $out/
|
||||
'';
|
||||
};
|
||||
|
||||
sparrow-modules = stdenv.mkDerivation {
|
||||
pname = "sparrow-modules";
|
||||
inherit version src;
|
||||
nativeBuildInputs = [ makeWrapper gnugrep openjdk17 autoPatchelfHook stdenv.cc.cc.lib zlib ];
|
||||
|
||||
buildPhase = ''
|
||||
# Extract Sparrow's JIMAGE and generate a list of them.
|
||||
mkdir modules
|
||||
pushd modules
|
||||
jimage extract ../lib/runtime/lib/modules
|
||||
|
||||
# Delete JDK modules
|
||||
cat ${jdk-modules}/manifest.txt | xargs -I {} -- rm -fR {}
|
||||
|
||||
# Delete unneeded native libs.
|
||||
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-x86-64
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-x86
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-aarch64
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-arm
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-armel
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-mips64el
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-ppc
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-ppc64le
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-s390x
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-x86
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/openbsd-x86-64
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/openbsd-x86
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-sparc
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-sparcv9
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-x86-64
|
||||
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-x86
|
||||
rm -fR com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_armel
|
||||
rm -fR com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_armhf
|
||||
rm -fR com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_x86
|
||||
rm com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_x64/OpenIMAJGrabber.so
|
||||
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_arm32_armel
|
||||
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_armel
|
||||
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_armhf
|
||||
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_x86
|
||||
rm -fR com.nativelibs4java.bridj/org/bridj/lib/sunos_x64
|
||||
rm -fR com.nativelibs4java.bridj/org/bridj/lib/sunos_x86
|
||||
rm -fR com.sparrowwallet.merged.module/linux-aarch64
|
||||
rm -fR com.sparrowwallet.merged.module/linux-arm
|
||||
rm -fR com.sparrowwallet.merged.module/linux-x86
|
||||
rm com.sparrowwallet.sparrow/native/linux/x64/hwi
|
||||
|
||||
ls | xargs -d " " -- echo > ../manifest.txt
|
||||
find . | grep "\.so$" | xargs -- chmod ugo+x
|
||||
popd
|
||||
|
||||
# Replace the embedded Tor binary (which is in a Tar archive)
|
||||
# with one from Nixpkgs.
|
||||
cp ${torWrapper} ./tor
|
||||
tar -cJf tor.tar.xz tor
|
||||
cp tor.tar.xz modules/netlayer.jpms/native/linux/x64/tor.tar.xz
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp manifest.txt $out/
|
||||
cp -r modules/ $out/
|
||||
ln -s ${openimajgrabber}/lib/OpenIMAJGrabber.so $out/modules/com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_x64/OpenIMAJGrabber.so
|
||||
ln -s ${hwi}/bin/hwi $out/modules/com.sparrowwallet.sparrow/native/linux/x64/hwi
|
||||
'';
|
||||
};
|
||||
|
||||
# To use the udev rules for connected hardware wallets,
|
||||
# add "pkgs.sparrow" to "services.udev.packages" and add user accounts to the user group "plugdev".
|
||||
udev-rules = stdenv.mkDerivation {
|
||||
name = "sparrow-udev";
|
||||
|
||||
src = let version = "2.0.2"; in
|
||||
fetchurl {
|
||||
url = "https://github.com/bitcoin-core/HWI/releases/download/${version}/hwi-${version}.tar.gz";
|
||||
sha256 = "sha256-di1fRsMbwpHcBFNTCVivfxpwhUoUKLA3YTnJxKq/jHM=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/etc/udev/rules.d
|
||||
cp -a hwilib/udev/* $out/etc/udev/rules.d
|
||||
rm $out/etc/udev/rules.d/README.md
|
||||
'';
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname version src;
|
||||
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "Sparrow";
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
desktopName = "Sparrow Bitcoin Wallet";
|
||||
genericName = "Bitcoin Wallet";
|
||||
categories = [ "Finance" ];
|
||||
})
|
||||
];
|
||||
|
||||
sparrow-icons = stdenv.mkDerivation {
|
||||
inherit version src;
|
||||
pname = "sparrow-icons";
|
||||
nativeBuildInputs = [ imagemagick ];
|
||||
|
||||
installPhase = ''
|
||||
for n in 16 24 32 48 64 96 128 256; do
|
||||
size=$n"x"$n
|
||||
mkdir -p $out/hicolor/$size/apps
|
||||
convert lib/Sparrow.png -resize $size $out/hicolor/$size/apps/sparrow.png
|
||||
done;
|
||||
'';
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out
|
||||
ln -s ${sparrow-modules}/modules $out/lib
|
||||
install -D -m 777 ${launcher} $out/bin/sparrow
|
||||
substituteAllInPlace $out/bin/sparrow
|
||||
substituteInPlace $out/bin/sparrow --subst-var-by jdkModules ${jdk-modules}
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
ln -s ${sparrow-icons}/hicolor $out/share/icons
|
||||
|
||||
mkdir -p $out/etc/udev
|
||||
ln -s ${udev-rules}/etc/udev/rules.d $out/etc/udev/rules.d
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.";
|
||||
homepage = "https://sparrowwallet.com";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ emmanuelrosa _1000101 ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
40
pkgs/applications/blockchains/sparrow/openimajgrabber.nix
Normal file
40
pkgs/applications/blockchains/sparrow/openimajgrabber.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, libv4l
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openimajgrabber";
|
||||
version = "1.3.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openimaj";
|
||||
repo = "openimaj";
|
||||
rev = "openimaj-${version}";
|
||||
sha256 = "sha256-Y8707ovE7f6Fk3cJ+PtwvzNpopgH5vlF55m2Xm4hjYM=";
|
||||
};
|
||||
|
||||
buildInputs = [ libv4l ];
|
||||
|
||||
# These build instructions come from build.sh
|
||||
buildPhase = ''
|
||||
pushd hardware/core-video-capture/src-native/linux
|
||||
g++ -fPIC -g -c OpenIMAJGrabber.cpp
|
||||
g++ -fPIC -g -c capture.cpp
|
||||
g++ -shared -Wl,-soname,OpenIMAJGrabber.so -o OpenIMAJGrabber.so OpenIMAJGrabber.o capture.o -lv4l2 -lrt -lv4lconvert
|
||||
popd
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
cp hardware/core-video-capture/src-native/linux/OpenIMAJGrabber.so $out/lib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A collection of libraries and tools for multimedia (images, text, video, audio, etc.) content analysis and content generation. This package only builds the OpenIMAJGrabber for Linux.";
|
||||
homepage = "http://www.openimaj.org";
|
||||
license = licenses.bsd0;
|
||||
maintainers = with maintainers; [ emmanuelrosa _1000101 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
50
pkgs/applications/blockchains/stellar-core/default.nix
Normal file
50
pkgs/applications/blockchains/stellar-core/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoconf, libtool, automake, pkg-config, git
|
||||
, bison, flex, postgresql, ripgrep, libunwind }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stellar-core";
|
||||
version = "18.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stellar";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wEi22R4zb8d5CJV5eWb776Yob8B6Ok4FrbYI0SGM0H8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ automake autoconf git libtool pkg-config ripgrep ];
|
||||
|
||||
buildInputs = [ libunwind ];
|
||||
|
||||
propagatedBuildInputs = [ bison flex postgresql ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = ''
|
||||
# Due to https://github.com/NixOS/nixpkgs/issues/8567 we cannot rely on
|
||||
# having the .git directory present, so directly provide the version
|
||||
substituteInPlace src/Makefile.am --replace '$$vers' '${pname} ${version}';
|
||||
|
||||
# Everything needs to be staged in git because the build uses
|
||||
# `git ls-files` to search for source files to compile.
|
||||
git init
|
||||
git add .
|
||||
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Implements the Stellar Consensus Protocol, a federated consensus protocol";
|
||||
longDescription = ''
|
||||
Stellar-core is the backbone of the Stellar network. It maintains a
|
||||
local copy of the ledger, communicating and staying in sync with other
|
||||
instances of stellar-core on the network. Optionally, stellar-core can
|
||||
store historical records of the ledger and participate in consensus.
|
||||
'';
|
||||
homepage = "https://www.stellar.org/";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/blockchains/sumokoin/default.nix
Normal file
33
pkgs/applications/blockchains/sumokoin/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, unbound, openssl, boost
|
||||
, libunwind, lmdb, miniupnpc }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sumokoin";
|
||||
version = "0.2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sumoprojects";
|
||||
repo = "sumokoin";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ndgcawhxh3qb3llrrilrwzhs36qpxv7f53rxgcansbff9b3za6n";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ unbound openssl boost libunwind lmdb miniupnpc ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/blockchain_db/lmdb/db_lmdb.cpp --replace mdb_size_t size_t
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLMDB_INCLUDE=${lmdb}/include"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fork of Monero and a truely fungible cryptocurrency";
|
||||
homepage = "https://www.sumokoin.org/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
27
pkgs/applications/blockchains/tessera/default.nix
Normal file
27
pkgs/applications/blockchains/tessera/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tessera";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://oss.sonatype.org/service/local/repositories/releases/content/com/jpmorgan/quorum/${pname}-app/${version}/${pname}-app-${version}-app.jar";
|
||||
sha256 = "1zn8w7q0q5man0407kb82lw4mlvyiy9whq2f6izf2b5415f9s0m4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
makeWrapper ${jre}/bin/java $out/bin/tessera --add-flags "-jar $src"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Enterprise Implementation of Quorum's transaction manager";
|
||||
homepage = "https://github.com/jpmorganchase/tessera";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ mmahut ];
|
||||
};
|
||||
}
|
||||
64
pkgs/applications/blockchains/trezor-suite/default.nix
Normal file
64
pkgs/applications/blockchains/trezor-suite/default.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, appimageTools
|
||||
, tor
|
||||
, trezord
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "trezor-suite";
|
||||
version = "22.3.2";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
suffix = {
|
||||
aarch64-linux = "linux-arm64";
|
||||
x86_64-linux = "linux-x86_64";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
|
||||
sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
|
||||
aarch64-linux = "sha512-GW8wmfTjuWrXijyPKeDJgF+mas1pfEMgAASmlvCURfFwg+oSL0B/0Z2qm5QRXIHmyd7eg/Zd8nEZL7Fg2Lb9ww==";
|
||||
x86_64-linux = "sha512-/XQ/sI0TP++3KHlkBXLHe/SVGKcmyjT7vPkV0NCK4rlL70VE+wKLKQK6XKp4V81B5w2+3a/uPOWtmcVr5iVkSA==";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit name src;
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
inherit name src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/${pname}/resources
|
||||
|
||||
cp -a ${appimageContents}/locales/ $out/share/${pname}
|
||||
cp -a ${appimageContents}/resources/app*.* $out/share/${pname}/resources
|
||||
cp -a ${appimageContents}/resources/images/ $out/share/${pname}/resources
|
||||
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
|
||||
install -m 444 -D ${appimageContents}/resources/images/icons/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
|
||||
|
||||
# symlink system binaries instead bundled ones
|
||||
mkdir -p $out/share/${pname}/resources/bin/{bridge,tor}
|
||||
ln -sf ${trezord}/bin/trezord-go $out/share/${pname}/resources/bin/bridge/trezord
|
||||
ln -sf ${tor}/bin/tor $out/share/${pname}/resources/bin/tor/tor
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Trezor Suite - Desktop App for managing crypto";
|
||||
homepage = "https://suite.trezor.io";
|
||||
changelog = "https://github.com/trezor/trezor-suite/releases/tag/v${version}";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
69
pkgs/applications/blockchains/vertcoin/default.nix
Normal file
69
pkgs/applications/blockchains/vertcoin/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, openssl
|
||||
, boost
|
||||
, libevent
|
||||
, autoreconfHook
|
||||
, db4
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, hexdump
|
||||
, zeromq
|
||||
, withGui
|
||||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, wrapQtAppsHook ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vertcoin";
|
||||
version = "0.15.0.1";
|
||||
|
||||
name = pname + toString (optional (!withGui) "d") + "-" + version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname + "-project";
|
||||
repo = pname + "-core";
|
||||
rev = version;
|
||||
sha256 = "09q7qicw52gv225hq6wlpsf4zr4hjc8miyim5cygi5nxxrlw7kd3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
hexdump
|
||||
] ++ optionals withGui [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
boost
|
||||
libevent
|
||||
db4
|
||||
zeromq
|
||||
] ++ optionals withGui [
|
||||
qtbase
|
||||
qttools
|
||||
protobuf
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
] ++ optionals withGui [
|
||||
"--with-gui=qt5"
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A digital currency with mining decentralisation and ASIC resistance as a key focus";
|
||||
homepage = "https://vertcoin.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.mmahut ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
50
pkgs/applications/blockchains/wasabibackend/default.nix
Normal file
50
pkgs/applications/blockchains/wasabibackend/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, buildDotnetModule
|
||||
, dotnetCorePackages
|
||||
, autoPatchelfHook
|
||||
, zlib
|
||||
, openssl
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "wasabibackend";
|
||||
version = "1.1.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zkSNACKs";
|
||||
repo = "WalletWasabi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Hwav7moG6XKAcR7L0Q7CtifP3zCNRfHIihlaFw+dzbk=";
|
||||
};
|
||||
|
||||
projectFile = "WalletWasabi.Backend/WalletWasabi.Backend.csproj";
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_3_1;
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
buildInputs = [ stdenv.cc.cc.lib zlib ];
|
||||
|
||||
runtimeDeps = [ openssl zlib ];
|
||||
|
||||
preConfigure = ''
|
||||
makeWrapperArgs+=(
|
||||
--chdir "$out/lib/${pname}"
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
mv $out/bin/WalletWasabi.Backend $out/bin/WasabiBackend
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Backend for the Wasabi Wallet";
|
||||
homepage = "https://wasabiwallet.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mmahut ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
203
pkgs/applications/blockchains/wasabibackend/deps.nix
generated
Normal file
203
pkgs/applications/blockchains/wasabibackend/deps.nix
generated
Normal file
|
|
@ -0,0 +1,203 @@
|
|||
{ fetchNuGet }: [
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.21"; sha256 = "056g9nv8a7n8zdbgzmyzmn3pbg52yq2kv5d1rcp7h6plwzgpiwql"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.21"; sha256 = "0akdzi35497v8yxr3a9q1g26cnx9vxnwv81kwxi293jklwnx8gsr"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "3.1.21"; sha256 = "16kya6xvi7k42sr8bxgpbz9116dj7g3i18ylpvji9qngdx41891v"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "3.1.1"; sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "3.1.1"; sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig"; })
|
||||
(fetchNuGet { pname = "Microsoft.Build"; version = "15.3.409"; sha256 = "0vzq6csp2yys9s96c7i37bjml439rdi47g8f5rzqdr7xf5a1jk81"; })
|
||||
(fetchNuGet { pname = "Microsoft.Build.Framework"; version = "15.3.409"; sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2"; })
|
||||
(fetchNuGet { pname = "Microsoft.Build.Runtime"; version = "15.3.409"; sha256 = "135ycnqz5jfg61y5zaapgc7xdpjx2aq4icmxb9ph7h5inl445q7q"; })
|
||||
(fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "15.3.409"; sha256 = "135swyygp7cz2civwsz6a7dj7h8bzp7yrybmgxjanxwrw66hm933"; })
|
||||
(fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "15.3.409"; sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf"; })
|
||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
|
||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.0.0"; sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "2.0.0"; sha256 = "0l0l92g7sq4122n139av1pn1jl6wlw92hjmdnr47xdss0ndmwrs3"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "2.0.0"; sha256 = "02lzy6r14ghwfwm384xajq08vv3pl3ww0mi5isrr10vivhijhgg4"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "1.0.0"; sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App"; version = "2.0.5"; sha256 = "0qb7k624w7l0zhapdp519ymqg84a67r8zyd8cpj42hywsgb0dqv6"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.21"; sha256 = "01kbhi29lhv6mg1zfsyakz3z8hfbxnc0kxy0fczl8xqviik9svx7"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.21"; sha256 = "1s5g9gk0hvs268q2zpc32m0my2m2ivlmsmza86797a9vkxr6pzw6"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "3.1.21"; sha256 = "0dl4yakfmdkx6xr18f09cdnl11b4fyp23jg3msr8a25zqdqvcr29"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.21"; sha256 = "13692wqcww0w6x4nhyxpxwprdg6mx9xmlvv38m6fvp6g0m27r43v"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.21"; sha256 = "1p7fpcmx4m2374zjfh53i3mv4lkr8xrkz5lnawv95s7j005m07pc"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "3.1.21"; sha256 = "02zgxzf8l607mh17900n7msga0yfcnqgd70rj1rlwj23plifykx1"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "2.0.5"; sha256 = "00bsxdg9c8msjxyffvfi8siqk8v2m7ca8fqy1npv7b2pzg3byjws"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "2.0.5"; sha256 = "0v5csskiwpk8kz8wclqad8kcjmxr7ik4w99wl05740qvaag3qysk"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "2.0.5"; sha256 = "1sz2fdp8fdwz21x3lr2m1zhhrbix6iz699fjkwiryqdjl4ygd3hw"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.1"; sha256 = "1j2hmnivgb4plni2dd205kafzg6mkg7r4knrd3s7mg75wn2l25np"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.1.0"; sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
|
||||
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.1.4"; sha256 = "1sn79829nhx6chi2qxsza1801di7zdl5fd983m0jakawzbjhjcb3"; })
|
||||
(fetchNuGet { pname = "Microsoft.VisualStudio.Web.CodeGeneration.Contracts"; version = "2.0.2"; sha256 = "1fs6sbjn0chx6rv38d61zgk8mhyyxz44xp4wsfya0lvkckyszyn1"; })
|
||||
(fetchNuGet { pname = "Microsoft.VisualStudio.Web.CodeGeneration.Tools"; version = "2.0.2"; sha256 = "0fkjm06irs53d77z29i6dwj5pjhgj9ivhad8v39ghnrwasc0ivq6"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.0.0"; sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.7.0"; sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs"; })
|
||||
(fetchNuGet { pname = "NBitcoin"; version = "5.0.81"; sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x"; })
|
||||
(fetchNuGet { pname = "NBitcoin.Secp256k1"; version = "1.0.10"; sha256 = "14hngbhxk2xjr5kcbsb26l788xnd1lmxn7fhmm2kvx49kdb1malp"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "2.0.1"; sha256 = "0d44wjxphs1ck838v7dapm0ag0b91zpiy33cr5vflsrwrqgj51dk"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.1"; sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; })
|
||||
(fetchNuGet { pname = "NuGet.Frameworks"; version = "4.0.0"; sha256 = "0nar684cm53cvzx28gzl6kmpg9mrfr1yv29323din7xqal4pscgq"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.0.11"; sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "041im8hmp1zdgrx6jzyrdch6kshvbddmkar7r2mlm1ksb5c5kwpq"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.0.11"; sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.IO"; version = "4.1.0"; sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.1.0"; sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.1.0"; sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.0.1"; sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.0.11"; sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.0.11"; sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk"; })
|
||||
(fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.0.1"; sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; })
|
||||
(fetchNuGet { pname = "runtime.win7.System.Private.Uri"; version = "4.0.1"; sha256 = "1ibrwabavdpqapnplm5kh6nz9vgcwv0wn61w1p60v262kif6sglp"; })
|
||||
(fetchNuGet { pname = "runtime.win.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "1ylkj4v7aq00svij7aq82d86afpwqgrqf2kpikabxl26p19ry9wm"; })
|
||||
(fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "1zmx2msa04ka8mgh8viahi4pqpp86vdhzij2rg1jg131bwlv59yw"; })
|
||||
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "5.0.0"; sha256 = "0rn2awmzrsrppk97xbbwk4kq1mys9bygb5xhl6mphbk0hchrvh09"; })
|
||||
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "5.0.0"; sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f"; })
|
||||
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "5.0.0"; sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4"; })
|
||||
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "5.0.0"; sha256 = "0d7vjq489rz208j6k3rb7vq6mzxzff3mqg83yk2rqy25vklrsbjd"; })
|
||||
(fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
|
||||
(fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
||||
(fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
|
||||
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.2.0"; sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m"; })
|
||||
(fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.0.1"; sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; })
|
||||
(fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
|
||||
(fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
|
||||
(fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Contracts"; version = "4.0.1"; sha256 = "0y6dkd9n5k98vzhc3w14r2pbhf10qjn2axpghpmfr6rlxx9qrb9j"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.FileVersionInfo"; version = "4.0.0"; sha256 = "1s5vxhy7i09bmw51kxqaiz9zaj9am8wsjyz13j85sp23z267hbv3"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.1.0"; sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.0.0"; sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
|
||||
(fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
|
||||
(fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
|
||||
(fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
|
||||
(fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
|
||||
(fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
|
||||
(fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
|
||||
(fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
|
||||
(fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
|
||||
(fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
|
||||
(fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
|
||||
(fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
|
||||
(fetchNuGet { pname = "System.IO.Pipes"; version = "4.0.0"; sha256 = "0fxfvcf55s9q8zsykwh8dkq2xb5jcqnml2ycq8srfry2l07h18za"; })
|
||||
(fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
|
||||
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
|
||||
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
|
||||
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
|
||||
(fetchNuGet { pname = "System.Linq.Parallel"; version = "4.0.1"; sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad"; })
|
||||
(fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
|
||||
(fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
|
||||
(fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
|
||||
(fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
|
||||
(fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
|
||||
(fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.1.1"; sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; })
|
||||
(fetchNuGet { pname = "System.Private.Uri"; version = "4.0.1"; sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j"; })
|
||||
(fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
|
||||
(fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.3.0"; sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
||||
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
|
||||
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
|
||||
(fetchNuGet { pname = "System.Resources.Reader"; version = "4.0.0"; sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril"; })
|
||||
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
|
||||
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
||||
(fetchNuGet { pname = "System.Resources.Writer"; version = "4.0.0"; sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv"; })
|
||||
(fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
|
||||
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
|
||||
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
|
||||
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
|
||||
(fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Loader"; version = "4.0.0"; sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Serialization.Formatters"; version = "4.3.0"; sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.1.1"; sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk"; })
|
||||
(fetchNuGet { pname = "System.Security.AccessControl"; version = "4.7.0"; sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
|
||||
(fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
|
||||
(fetchNuGet { pname = "System.Security.Principal"; version = "4.0.1"; sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p"; })
|
||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
|
||||
(fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
|
||||
(fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
|
||||
(fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
|
||||
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
|
||||
(fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.0.1"; sha256 = "0fi79az3vmqdp9mv3wh2phblfjls89zlj6p9nc3i9f6wmfarj188"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.6.0"; sha256 = "0a1davr71wssyn4z1hr75lk82wqa0daz0vfwkmg1fm3kckfd72k1"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
|
||||
(fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; })
|
||||
(fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.0.10"; sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; })
|
||||
(fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
|
||||
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
|
||||
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
|
||||
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
|
||||
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
|
||||
(fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.0.1"; sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; })
|
||||
(fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
|
||||
(fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.0.11"; sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; })
|
||||
(fetchNuGet { pname = "System.Xml.XPath"; version = "4.0.1"; sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m"; })
|
||||
(fetchNuGet { pname = "System.Xml.XPath.XmlDocument"; version = "4.0.1"; sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc"; })
|
||||
]
|
||||
67
pkgs/applications/blockchains/wasabiwallet/default.nix
Normal file
67
pkgs/applications/blockchains/wasabiwallet/default.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, curl
|
||||
, dotnetCorePackages
|
||||
, fontconfig
|
||||
, krb5
|
||||
, openssl
|
||||
, xorg
|
||||
, zlib
|
||||
}:
|
||||
|
||||
let
|
||||
dotnet-runtime = dotnetCorePackages.runtime_5_0;
|
||||
libPath = lib.makeLibraryPath [
|
||||
curl
|
||||
dotnet-runtime
|
||||
fontconfig.lib
|
||||
krb5
|
||||
openssl
|
||||
stdenv.cc.cc.lib
|
||||
xorg.libX11
|
||||
zlib
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wasabiwallet";
|
||||
version = "1.1.13.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
||||
sha256 = "sha256-AtsNbUqEBQx0DPWR2LjNl7pdviYmvkv3bYKNBoeJHbw=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "wasabi";
|
||||
exec = "wasabiwallet";
|
||||
desktopName = "Wasabi";
|
||||
genericName = "Bitcoin wallet";
|
||||
comment = meta.description;
|
||||
categories = [ "Network" "Utility" ];
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/opt/${pname} $out/bin $out/share/applications
|
||||
cp -Rv . $out/opt/${pname}
|
||||
cd $out/opt/${pname}
|
||||
for i in $(find . -type f -name '*.so') wassabee
|
||||
do
|
||||
patchelf --set-rpath ${libPath} $i
|
||||
done
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee
|
||||
ln -s $out/opt/${pname}/wassabee $out/bin/${pname}
|
||||
cp -v $desktopItem/share/applications/* $out/share/applications
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Privacy focused Bitcoin wallet";
|
||||
homepage = "https://wasabiwallet.io/";
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ mmahut ];
|
||||
};
|
||||
}
|
||||
61
pkgs/applications/blockchains/wownero/default.nix
Normal file
61
pkgs/applications/blockchains/wownero/default.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{ lib, stdenv, fetchFromGitea, cmake, boost, miniupnpc_2, openssl, unbound
|
||||
, readline, libsodium, rapidjson
|
||||
}:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wownero";
|
||||
version = "0.8.0.1";
|
||||
randomwowVersion = "1.1.7";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.wownero.com";
|
||||
owner = "wownero";
|
||||
repo = "wownero";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+cUdousEiZMNwqhTvjoqw/k21x3dg7Lhb/5KyNUGrjQ=";
|
||||
fetchSubmodules = false;
|
||||
};
|
||||
|
||||
randomwow = fetchFromGitea {
|
||||
domain = "git.wownero.com";
|
||||
owner = "wownero";
|
||||
repo = "RandomWOW";
|
||||
rev = randomwowVersion;
|
||||
sha256 = "sha256-JzyRlHwM8rmJ5OaKHz+6vHGfpSz+X4zkFAKn4Jmo+EE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
boost miniupnpc_2 openssl unbound rapidjson readline libsodium
|
||||
];
|
||||
|
||||
postUnpack = ''
|
||||
rm -r $sourceRoot/external/RandomWOW
|
||||
ln -s ${randomwow} $sourceRoot/external/RandomWOW
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
"-DMANUAL_SUBMODULES=ON"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = ''
|
||||
A privacy-centric memecoin that was fairly launched on April 1, 2018 with
|
||||
no pre-mine, stealth-mine or ICO
|
||||
'';
|
||||
longDescription = ''
|
||||
Wownero has a maximum supply of around 184 million WOW with a slow and
|
||||
steady emission over 50 years. It is a fork of Monero, but with its own
|
||||
genesis block, so there is no degradation of privacy due to ring
|
||||
signatures using different participants for the same tx outputs on
|
||||
opposing forks.
|
||||
'';
|
||||
homepage = "https://wownero.org/";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ fuwa ];
|
||||
};
|
||||
}
|
||||
78
pkgs/applications/blockchains/zcash/default.nix
Normal file
78
pkgs/applications/blockchains/zcash/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ rust, rustPlatform, stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook
|
||||
, makeWrapper, cargo, pkg-config, curl, coreutils, boost179, db62, hexdump
|
||||
, libsodium, libevent, testers, utf8cpp, util-linux, withDaemon ? true
|
||||
, withMining ? true, withUtils ? true, withWallet ? true, withZmq ? true, zcash
|
||||
, zeromq
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
|
||||
pname = "zcash";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zcash";
|
||||
repo = "zcash";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5PlqFs2njqNeZgmNz0VKMWcRY5lPaF9oTsoh/uLEWi8=";
|
||||
};
|
||||
|
||||
prePatch = lib.optionalString stdenv.isAarch64 ''
|
||||
substituteInPlace .cargo/config.offline \
|
||||
--replace "[target.aarch64-unknown-linux-gnu]" "" \
|
||||
--replace "linker = \"aarch64-linux-gnu-gcc\"" ""
|
||||
'';
|
||||
|
||||
cargoSha256 = "sha256-eRRRjUbOieRC88wf+f1jAYvqGFmogBEla67NnImicEc=";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
|
||||
buildInputs = [ boost179 libevent libsodium utf8cpp ]
|
||||
++ lib.optional withWallet db62
|
||||
++ lib.optional withZmq zeromq;
|
||||
|
||||
# Use the stdenv default phases (./configure; make) instead of the
|
||||
# ones from buildRustPackage.
|
||||
configurePhase = "configurePhase";
|
||||
buildPhase = "buildPhase";
|
||||
checkPhase = "checkPhase";
|
||||
installPhase = "installPhase";
|
||||
|
||||
postPatch = ''
|
||||
# Have to do this here instead of in preConfigure because
|
||||
# cargoDepsCopy gets unset after postPatch.
|
||||
configureFlagsArray+=("RUST_VENDORED_SOURCES=$NIX_BUILD_TOP/$cargoDepsCopy")
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--disable-tests"
|
||||
"--with-boost-libdir=${lib.getLib boost179}/lib"
|
||||
"CXXFLAGS=-I${lib.getDev utf8cpp}/include/utf8cpp"
|
||||
"RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
|
||||
] ++ lib.optional (!withWallet) "--disable-wallet"
|
||||
++ lib.optional (!withDaemon) "--without-daemon"
|
||||
++ lib.optional (!withUtils) "--without-utils"
|
||||
++ lib.optional (!withMining) "--disable-mining";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# Requires hundreds of megabytes of zkSNARK parameters.
|
||||
doCheck = false;
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = zcash;
|
||||
command = "zcashd --version";
|
||||
version = "v${zcash.version}";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/zcash-fetch-params \
|
||||
--set PATH ${lib.makeBinPath [ coreutils curl util-linux ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Peer-to-peer, anonymous electronic cash system";
|
||||
homepage = "https://z.cash/";
|
||||
maintainers = with maintainers; [ rht tkerber centromere ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue