Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk
2019-08-31 10:04:20 +02:00
364 changed files with 8970 additions and 6854 deletions
@@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, git, doxygen, graphviz
, boost, miniupnpc, openssl, unbound, cppzmq
, zeromq, pcsclite, readline, libsodium
}:
let
version = "0.12.9.0";
in
stdenv.mkDerivation {
pname = "aeon";
inherit version;
src = fetchFromGitHub {
owner = "aeonix";
repo = "aeon";
rev = "v${version}-aeon";
fetchSubmodules = true;
sha256 = "194nxf8c8ihkmdsxyhkhrxc2xiinipifk0ng1rmxiiyr2gjgxzga";
};
nativeBuildInputs = [ cmake pkgconfig 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 stdenv.lib; {
description = "Private, secure, untraceable currency";
homepage = http://www.aeon.cash/;
license = licenses.bsd3;
maintainers = [ maintainers.aij ];
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,46 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
, zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
version = "0.19.4";
src = fetchFromGitHub {
owner = "bitcoin-ABC";
repo = "bitcoin-abc";
rev = "v${version}";
sha256 = "1z4x25ygcw1pqml2ww02vqrvmihlv4f5gnnn1iyfirrjxgpfaxd7";
};
patches = [ ./fix-bitcoin-qt-build.patch ];
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl db53 boost zlib
miniupnpc utillinux protobuf libevent ]
++ optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt5" ];
enableParallelBuilding = true;
meta = {
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,54 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, qrencode, libevent
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
version = "1.3.8";
src = fetchFromGitHub {
owner = "bitcoinclassic";
repo = "bitcoinclassic";
rev = "v${version}";
sha256 = "06ij9v7zbdnhxq9429nnxiw655cp8idldj18l7fmj94gqx07n5vh";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl db48 boost zlib
miniupnpc utillinux protobuf libevent ]
++ 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 = {
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 Satoshis 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;
};
}
@@ -0,0 +1,66 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, utillinux, protobuf, qrencode, libevent, python3
, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
, Foundation, ApplicationServices, AppKit }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
version = "1.6.0.1";
src = fetchFromGitHub {
owner = "bitcoinunlimited";
repo = "bitcoinunlimited";
rev = "bucash${version}";
sha256 = "0f0mnal4jf8xdj7w5m4rdlcqkrkbpxi88c006m5k45lmjmj141zr";
};
nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
++ optionals withGui [ wrapQtAppsHook qttools ];
buildInputs = [ openssl db48 boost zlib
miniupnpc utillinux 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;
};
}
+61
View File
@@ -0,0 +1,61 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck
, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.18.1";
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 = "5c7d93f15579e37aa2d1dc79e8f5ac675f59045fceddf604ae0f1550eb03bf96";
};
nativeBuildInputs =
[ pkgconfig autoreconfHook ]
++ optional withGui wrapQtAppsHook;
buildInputs = [ openssl db48 boost zlib zeromq
miniupnpc protobuf libevent]
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
"--disable-bench"
] ++ optionals (!doCheck) [
"--disable-tests"
"--disable-gui-tests"
]
++ optionals withGui [ "--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
checkInputs = [ rapidcheck 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 = "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 = http://www.bitcoin.org/;
maintainers = with maintainers; [ roconnor AndersonTorres ];
license = licenses.mit;
# bitcoin needs hexdump to build, which doesn't seem to build on darwin at the moment.
platforms = platforms.linux;
};
}
+41
View File
@@ -0,0 +1,41 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, hexdump, openssl, db48
, boost, zlib, miniupnpc, qt4, protobuf, qrencode, libevent
, AppKit
, withGui ? !stdenv.isDarwin
}:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bit1" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.15.1";
src = fetchurl {
url = "https://github.com/btc1/bitcoin/archive/v${version}.tar.gz";
sha256 = "0v0g2wb4nsnhddxzb63vj2bc1mgyj05vqm5imicjfz8prvgc0si8";
};
nativeBuildInputs = [ pkgconfig autoreconfHook hexdump ];
buildInputs = [ openssl db48 boost zlib miniupnpc protobuf libevent ]
++ optionals withGui [ qt4 qrencode ]
++ optional stdenv.isDarwin AppKit;
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = {
description = "Peer-to-peer electronic cash system (btc1 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.
btc1 is an implementation of a Bitcoin full node with segwit2x hard fork
support.
'';
homepage = "https://github.com/btc1/bitcoin";
license = licenses.mit;
maintainers = with maintainers; [ sorpaas ];
platforms = platforms.unix;
};
}
@@ -0,0 +1,44 @@
{ stdenv, python3, pkgconfig, which, libtool, autoconf, automake,
autogen, sqlite, gmp, zlib, fetchurl, unzip, fetchpatch }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "clightning";
version = "0.7.1";
src = fetchurl {
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
sha256 = "557be34410f27a8d55d9f31a40717a8f5e99829f2bd114c24e7ca1dd5f6b7d85";
};
enableParallelBuilding = true;
nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which unzip ];
buildInputs = [ sqlite gmp zlib python3 ];
makeFlags = [ "prefix=$(out) VERSION=v${version}" ];
configurePhase = ''
./configure --prefix=$out --disable-developer --disable-valgrind
'';
postPatch = ''
patchShebangs tools/generate-wire.py
'';
doCheck = false;
meta = {
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 ];
license = licenses.mit;
platforms = platforms.linux;
};
}
@@ -0,0 +1,23 @@
{ lib, buildPythonApplication, fetchPypi, requests, requests-cache }:
buildPythonApplication rec {
pname = "cryptop";
version = "0.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "0akrrz735vjfrm78plwyg84vabj0x3qficq9xxmy9kr40fhdkzpb";
};
propagatedBuildInputs = [ 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 ];
};
}
+43
View File
@@ -0,0 +1,43 @@
{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
, openssl, db48, boost, zlib, miniupnpc
, qrencode, glib, protobuf, yasm, libevent
, utillinux
, enable_Upnp ? false
, disable_Wallet ? false
, disable_Daemon ? false }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "dashpay";
version = "0.12.2.3";
src = fetchFromGitHub {
owner = "dashpay";
repo= "dash";
rev = "v${version}";
sha256 = "0l1gcj2xf2bal9ph9y11x8yd28fd25f55f48xbm45bfw3ij7nbaa";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ glib openssl db48 yasm boost zlib libevent
miniupnpc protobuf qrencode utillinux ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib --with-gui=no" ]
++ optional enable_Upnp "--enable-upnp-default"
++ optional disable_Wallet "--disable-wallet"
++ optional disable_Daemon "--disable-daemon"
;
meta = {
description = "A decentralized key/value registration and transfer system";
longDescription = ''
Dash (DASH) is an open sourced, privacy-centric digital currency
with instant transactions. It allows you to keep your finances
private as you make transactions without waits, similar to cash.
'';
homepage = https://www.dash.org;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}
+34
View File
@@ -0,0 +1,34 @@
{ stdenv, lib, go, buildGoPackage, dep, fetchgit, git, cacert }:
buildGoPackage rec {
pname = "dcrd";
version = "1.1.2";
rev = "refs/tags/v${version}";
goPackagePath = "github.com/decred/dcrd";
buildInputs = [ go git dep cacert ];
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
src = fetchgit {
inherit rev;
url = "https://${goPackagePath}";
sha256 = "0xcynipdn9zmmralxj0hjrwyanvhkwfj2b1vvjk5zfc95s2xc1q9";
};
preBuild = ''
export CWD=$(pwd)
cd go/src/github.com/decred/dcrd
dep ensure
go install . ./cmd/...
cd $CWD
'';
meta = {
homepage = "https://decred.org";
description = "Decred daemon in Go (golang)";
license = with lib.licenses; [ isc ];
broken = stdenv.isLinux; # 2018-04-10
};
}
@@ -0,0 +1,43 @@
{ stdenv, lib, go, buildGoPackage, dep, fetchgit, git, cacert }:
buildGoPackage rec {
pname = "dcrwallet";
version = "1.1.2";
rev = "refs/tags/v${version}";
goPackagePath = "github.com/decred/dcrwallet";
buildInputs = [ go git dep cacert ];
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
src = fetchgit {
inherit rev;
url = "https://${goPackagePath}";
sha256 = "058im4vmcmxcl5ir14h17wik5lagp2ay0p8qc3r99qmpfwvvz39x";
};
preBuild = ''
export CWD=$(pwd)
cd go/src/github.com/decred/dcrwallet
dep ensure
'';
buildPhase = ''
runHook preBuild
go build
'';
installPhase = ''
mkdir -pv $bin/bin
cp -v dcrwallet $bin/bin
'';
meta = {
homepage = "https://decred.org";
description = "Decred daemon in Go (golang)";
license = with lib.licenses; [ isc ];
broken = stdenv.isLinux; # 2018-04-10
};
}
+27
View File
@@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost
, lmdb, miniupnpc, readline }:
stdenv.mkDerivation rec {
pname = "dero";
version = "0.11.6";
src = fetchFromGitHub {
owner = "deroproject";
repo = "dero";
rev = "v${version}";
sha256 = "0jc5rh2ra4wra04dwv9sydid5ij5930s38mhzq3qkdjyza1ahmsr";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
enableParallelBuilding = true;
meta = with lib; {
description = "Secure, private blockchain with smart contracts based on Monero";
homepage = "https://dero.io/";
license = licenses.bsd3;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,41 @@
{ stdenv , fetchFromGitHub
, pkgconfig, autoreconfHook
, db5, openssl, boost, zlib, miniupnpc, libevent
, protobuf, utillinux, qt4, qrencode
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.14.1";
src = fetchFromGitHub {
owner = "dogecoin";
repo = "dogecoin";
rev = "v${version}";
sha256 = "0nmbi5gmms16baqs3fmdp2xm0yf8wawnyz80gcmca4j5ph2zka1v";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl db5 openssl utillinux
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 AndersonTorres ];
platforms = platforms.linux;
};
}
+27
View File
@@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
with rustPlatform;
buildRustPackage rec {
name = "ethabi-${version}";
version = "7.0.0";
src = fetchFromGitHub {
owner = "paritytech";
repo = "ethabi";
rev = "v${version}";
sha256 = "1gqd3vwsvv1wvi659qcdywgmh41swblpwmmxb033k8irw581dwq4";
};
cargoSha256 = "0zkdai31jf8f5syklaxq43ydjvp5xclr8pd6y1q6vkwjz6z49hzm";
cargoBuildFlags = ["--features cli"];
meta = with stdenv.lib; {
description = "Ethereum function call encoding (ABI) utility";
homepage = https://github.com/ethcore/ethabi/;
maintainers = [ maintainers.dbrock ];
license = licenses.gpl3;
inherit version;
};
}
@@ -0,0 +1,78 @@
{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, gnome2,
atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, utillinux, alsaLib, dbus, at-spi2-atk,
cups, vivaldi-ffmpeg-codecs, libpulseaudio }:
stdenv.mkDerivation rec {
pname = "exodus";
version = "19.5.24";
src = fetchurl {
url = "https://exodusbin.azureedge.net/releases/${pname}-linux-x64-${version}.zip";
sha256 = "1yx296i525qmpqh8f2vax7igffg826nr8cyq1l0if35374bdsqdw";
};
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/exodus.desktop $out/share/applications
substituteInPlace $out/share/applications/exodus.desktop \
--replace 'Exec=bash -c "cd `dirname %k` && ./Exodus"' "Exec=Exodus"
'';
dontPatchELF = true;
dontBuild = true;
preFixup = let
libPath = lib.makeLibraryPath [
glib
nss
nspr
gtk3-x11
gnome2.pango
atk
cairo
gdk-pixbuf
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrender
xorg.libXtst
xorg_sys_opengl
utillinux
xorg.libXrandr
xorg.libXScrnSaver
alsaLib
dbus.lib
at-spi2-atk
cups.lib
libpulseaudio
systemd
vivaldi-ffmpeg-codecs
];
in ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
$out/Exodus
'';
meta = with stdenv.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 = [ maintainers.mmahut ];
};
}
@@ -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
@@ -0,0 +1,41 @@
{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }:
stdenv.mkDerivation rec {
version = "0.8.6-2";
pname = "freicoin";
src = fetchFromGitHub {
owner = "freicoin";
repo = "freicoin";
rev = "v${version}";
sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h";
};
enableParallelBuilding = false;
qmakeFlags = ["USE_UPNP=-"];
# I think that openssl and zlib are required, but come through other
# packages
preBuild = "unset AR";
installPhase = ''
mkdir -p $out/bin
cp freicoin-qt $out/bin
'';
nativeBuildInputs = [ qmake4Hook ];
buildInputs = [ db boost gmp mpfr qt4 ];
meta = with stdenv.lib; {
description = "Peer-to-peer currency with demurrage fee";
homepage = http://freicoi.in/;
license = licenses.mit;
maintainers = [ maintainers.viric ];
platforms = platforms.linux;
# upstream doesn't support newer openssl versions, use 1.0.1 for testing
broken = true;
};
}
@@ -0,0 +1,24 @@
{ lib, buildGoPackage, fetchgit }:
buildGoPackage rec {
pname = "go-ethereum-classic";
version = "4.0.0";
goPackagePath = "github.com/ethereumproject/go-ethereum";
subPackages = [ "cmd/evm" "cmd/geth" ];
src = fetchgit {
rev = "v${version}";
url = "https://github.com/ethereumproject/go-ethereum";
sha256 = "06f1w7s45q4zva1xjrx92xinsdrixl0m6zhx5hvdjmg3xqcbwr79";
};
goDeps = ./deps.nix;
meta = {
description = "Golang implementation of Ethereum Classic";
homepage = https://github.com/ethereumproject/go-ethereum;
license = with lib.licenses; [ lgpl3 gpl3 ];
maintainers = with lib.maintainers; [ sorpaas ];
};
}
@@ -0,0 +1,39 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
[
{
goPackagePath = "github.com/maruel/panicparse";
fetch = {
type = "git";
url = "https://github.com/maruel/panicparse";
rev = "ae43f192cef2add653fe1481a3070ed00a4a6981";
sha256 = "11q8v4adbrazqvh24235s5nifck0d1083gbwv4dh5lhd10xlwdvr";
};
}
{
goPackagePath = "github.com/mattn/go-runewidth";
fetch = {
type = "git";
url = "https://github.com/mattn/go-runewidth";
rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d";
sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg";
};
}
{
goPackagePath = "github.com/mitchellh/go-wordwrap";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-wordwrap";
rev = "ad45545899c7b13c020ea92b2072220eefad42b8";
sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9";
};
}
{
goPackagePath = "github.com/nsf/termbox-go";
fetch = {
type = "git";
url = "https://github.com/nsf/termbox-go";
rev = "4163cd39dda1c0dda883a713640bc01e08951c24";
sha256 = "1vzrhxf8823lrnwf1bfyxwlm52pph5iq2hgr1d0n07v8kjgqkrmx";
};
}
]
@@ -0,0 +1,29 @@
{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
buildGoPackage rec {
pname = "go-ethereum";
version = "1.9.2";
goPackagePath = "github.com/ethereum/go-ethereum";
# Fix for usb-related segmentation faults on darwin
propagatedBuildInputs =
stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
# Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
hardeningDisable = [ "fortify" ];
src = fetchFromGitHub {
owner = "ethereum";
repo = pname;
rev = "v${version}";
sha256 = "0lymwylh4j63fzj9jy7mcw676a2ksgpsj9mazif1r3d2q73h9m88";
};
meta = with stdenv.lib; {
homepage = "https://geth.ethereum.org/";
description = "Official golang implementation of the Ethereum protocol";
license = with licenses; [ lgpl3 gpl3 ];
maintainers = with maintainers; [ adisbladis asymmetric lionello xrelkd ];
};
}
@@ -0,0 +1,55 @@
{ stdenv
, lib
, fetchgit
, rustPlatform
, openssl
, pkgconfig
, protobuf
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "jormungandr";
version = "0.3.3";
src = fetchgit {
url = "https://github.com/input-output-hk/${pname}";
rev = "v${version}";
sha256 = "1fw3cl2rxnw9mww1b1z96x2iapwbpdgyp4ra19dhvfzmlvaiml5j";
fetchSubmodules = true;
};
cargoSha256 = "1ilp9ffaz3njv38mnqics4b5d7wh52mj4rwi71h5c0wzx4ww3zal";
nativeBuildInputs = [ pkgconfig protobuf ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
patchPhase = ''
sed -i "s~SCRIPTPATH=.*~SCRIPTPATH=$out/templates/~g" scripts/bootstrap
'';
installPhase = ''
install -d $out/bin $out/templates
install -m755 target/*/release/jormungandr $out/bin/
install -m755 target/*/release/jcli $out/bin/
install -m755 scripts/send-transaction $out/templates
install -m755 scripts/jcli-helpers $out/bin/
install -m755 scripts/bootstrap $out/bin/jormungandr-bootstrap
install -m644 scripts/faucet-send-money.shtempl $out/templates/
install -m644 scripts/create-account-and-delegate.shtempl $out/templates/
install -m644 scripts/faucet-send-certificate.shtempl $out/templates/
'';
PROTOC = "${protobuf}/bin/protoc";
# Disabling integration tests
doCheck = false;
meta = with stdenv.lib; {
description = "An aspiring blockchain node";
homepage = "https://input-output-hk.github.io/jormungandr/";
license = licenses.mit;
maintainers = [ maintainers.mmahut ];
platforms = platforms.all;
};
}
@@ -0,0 +1,50 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, appimage-run }:
stdenv.mkDerivation rec {
pname = "ledger-live-desktop";
version = "1.12.0";
src = fetchurl {
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
sha256 = "0sn0ri8kqvy36d6vjwsb0mh54nwic58416m6q5drl1schsn6wyvj";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ appimage-run ];
desktopIcon = fetchurl {
url = "https://raw.githubusercontent.com/LedgerHQ/${pname}/v${version}/build/icon.png";
sha256 = "1mmfaf0yk7xf1kgbs3ka8wsbz1qgh60xj6z91ica1i7lw2qbdd5h";
};
desktopItem = makeDesktopItem {
name = pname;
exec = "${placeholder "out"}/bin/${pname}";
icon = pname;
desktopName = "Ledger Live";
categories = "Utility;";
};
unpackPhase = ":";
installPhase = ''
runHook preInstall
${desktopItem.buildCommand}
install -D $src $out/share/${src.name}
install -Dm -x ${desktopIcon} \
$out/share/icons/hicolor/1024x1024/apps/${pname}.png
makeWrapper ${appimage-run}/bin/appimage-run $out/bin/${pname} \
--add-flags $out/share/${src.name}
runHook postInstall
'';
meta = with stdenv.lib; {
description = "Wallet app for Ledger Nano S and Ledger Blue";
homepage = "https://www.ledger.com/live";
license = licenses.mit;
maintainers = with maintainers; [ thedavidmeister ];
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,51 @@
{ stdenv, fetchFromGitHub
, pkgconfig, autoreconfHook
, openssl, db48, boost, zlib, miniupnpc
, glib, protobuf, utillinux, qt4, qrencode
, AppKit
, withGui ? true, libevent
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.16.3";
src = fetchFromGitHub {
owner = "litecoin-project";
repo = "litecoin";
rev = "v${version}";
sha256 = "0vc184qfdkjky1qffa7309k6973k4197bkzwcmffc9r5sdfhrhkp";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl db48 boost zlib
miniupnpc glib protobuf utillinux libevent ]
++ optionals stdenv.isDarwin [ AppKit ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
enableParallelBuilding = true;
meta = {
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;
broken = stdenv.isDarwin;
maintainers = with maintainers; [ offline AndersonTorres ];
};
}
+22
View File
@@ -0,0 +1,22 @@
{ buildGoModule, fetchFromGitHub, lib }:
buildGoModule rec {
pname = "lnd";
version = "0.7.1-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry";
};
modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73";
meta = with lib; {
description = "Lightning Network Daemon";
homepage = "https://github.com/lightningnetwork/lnd";
license = lib.licenses.mit;
maintainers = with maintainers; [ cypherpunk2140 ];
};
}
+27
View File
@@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, 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 pkgconfig ];
buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
enableParallelBuilding = true;
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;
};
}
+72
View File
@@ -0,0 +1,72 @@
{ stdenv, makeWrapper, fetchurl, unzip, atomEnv, makeDesktopItem, buildFHSUserEnv, gtk2 }:
let
version = "0.11.1";
pname = "mist";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
meta = with stdenv.lib; {
description = "Browse and use Ðapps on the Ethereum network";
homepage = https://github.com/ethereum/mist;
license = licenses.gpl3;
maintainers = with maintainers; [];
platforms = [ "x86_64-linux" "i686-linux" ];
};
urlVersion = builtins.replaceStrings ["."] ["-"] version;
desktopItem = makeDesktopItem rec {
name = "Mist";
exec = "mist";
icon = "mist";
desktopName = name;
genericName = "Mist Browser";
categories = "Network;";
};
mist = stdenv.lib.appendToName "unwrapped" (stdenv.mkDerivation {
inherit pname version meta;
src = {
i686-linux = fetchurl {
url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux32-${urlVersion}.zip";
sha256 = "1ffzp9aa0g6w3d5pzp69fljk3sd51cbqdgxa1x16vj106sqm0gj7";
};
x86_64-linux = fetchurl {
url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux64-${urlVersion}.zip";
sha256 = "0yx4x72l8gk68yh9saki48zgqx8k92xnkm79dc651wdpd5c25cz3";
};
}.${stdenv.hostPlatform.system} or throwSystem;
buildInputs = [ unzip makeWrapper ];
buildCommand = ''
mkdir -p $out/lib/mist $out/bin
unzip -d $out/lib/mist $src
ln -s $out/lib/mist/mist $out/bin
fixupPhase
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}:${gtk2}/lib:$out/lib/mist" \
$out/lib/mist/mist
'';
});
in
buildFHSUserEnv {
name = "mist";
inherit meta;
targetPkgs = pkgs: with pkgs; [
mist
];
extraInstallCommands = ''
mkdir -p "$out/share/applications"
cp "${desktopItem}/share/applications/"* $out/share/applications
'';
runScript = "mist";
}
@@ -0,0 +1,87 @@
{ mkDerivation, lib, makeDesktopItem, fetchFromGitHub
, qtbase, qmake, qtmultimedia, qttools
, qtgraphicaleffects, qtdeclarative
, qtlocation, qtquickcontrols, qtquickcontrols2
, qtwebchannel, qtwebengine, qtx11extras, qtxmlpatterns
, monero, unbound, readline, boost, libunwind
, libsodium, pcsclite, zeromq, cppzmq, pkgconfig
, hidapi
}:
with lib;
mkDerivation rec {
pname = "monero-gui";
version = "0.14.1.2";
src = fetchFromGitHub {
owner = "monero-project";
repo = "monero-gui";
rev = "v${version}";
sha256 = "1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k";
};
nativeBuildInputs = [ qmake pkgconfig ];
buildInputs = [
qtbase qtmultimedia qtgraphicaleffects
qtdeclarative qtlocation
qtquickcontrols qtquickcontrols2
qtwebchannel qtwebengine qtx11extras
qtxmlpatterns monero unbound readline
boost libunwind libsodium pcsclite zeromq
cppzmq hidapi
];
patches = [ ./move-log-file.patch ];
postPatch = ''
echo '
var GUI_VERSION = "${version}";
var GUI_MONERO_VERSION = "${getVersion monero}";
' > version.js
substituteInPlace monero-wallet-gui.pro \
--replace '$$[QT_INSTALL_BINS]/lrelease' '${getDev qttools}/bin/lrelease'
substituteInPlace src/daemon/DaemonManager.cpp \
--replace 'QApplication::applicationDirPath() + "' '"${monero}/bin'
'';
makeFlags = [ "INSTALL_ROOT=$(out)" ];
preBuild = ''
sed -i s#/opt/monero-wallet-gui##g Makefile
make -C src/zxcvbn-c
'';
desktopItem = makeDesktopItem {
name = "monero-wallet-gui";
exec = "monero-wallet-gui";
icon = "monero";
desktopName = "Monero";
genericName = "Wallet";
categories = "Application;Network;Utility;";
};
postInstall = ''
# install desktop entry
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
# install icons
for n in 16 24 32 48 64 96 128 256; do
size=$n"x"$n
mkdir -p $out/share/icons/hicolor/$size/apps
cp $src/images/appicons/$size.png \
$out/share/icons/hicolor/$size/apps/monero.png
done;
'';
meta = {
description = "Private, secure, untraceable currency";
homepage = https://getmonero.org/;
license = licenses.bsd3;
platforms = platforms.all;
badPlatforms = platforms.darwin;
maintainers = with maintainers; [ rnhmjoj ];
};
}
@@ -0,0 +1,15 @@
diff --git a/main.cpp b/main.cpp
index a51568d..5a9f683 100644
--- a/main.cpp
+++ b/main.cpp
@@ -152,7 +152,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");
parser.addOption(logPathOption);
parser.addHelpOption();
parser.process(app);
@@ -0,0 +1,47 @@
{ stdenv, fetchgit
, cmake, pkgconfig, git
, boost, miniupnpc, openssl, unbound, cppzmq
, zeromq, pcsclite, readline, libsodium, hidapi
, python3Packages
, CoreData, IOKit, PCSC
}:
assert stdenv.isDarwin -> IOKit != null;
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "monero";
version = "0.14.1.0";
src = fetchgit {
url = "https://github.com/monero-project/monero.git";
rev = "v${version}";
sha256 = "1asa197fad81jfv12qgaa7y7pdr1r1pda96m9pvivkh4v30cx0nh";
};
nativeBuildInputs = [ cmake pkgconfig git ];
buildInputs = [
boost miniupnpc openssl unbound
cppzmq zeromq pcsclite readline
libsodium hidapi
python3Packages.protobuf
] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DBUILD_GUI_DEPS=ON"
"-DReadline_ROOT_DIR=${readline.dev}"
] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
hardeningDisable = [ "fortify" ];
meta = {
description = "Private, secure, untraceable currency";
homepage = https://getmonero.org/;
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ ehmry rnhmjoj ];
};
}
@@ -0,0 +1,48 @@
{ stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkgconfig, qt4, protobuf, qrencode, hexdump
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "nc0.15.99-name-tab-beta2";
name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
src = fetchFromGitHub {
owner = "namecoin";
repo = "namecoin-core";
rev = version;
sha256 = "1r0v0yvlazmidxp6xhapbdawqb8fhzrdp11d4an5vgxa208s6wdf";
};
nativeBuildInputs = [
autoreconfHook
pkgconfig
hexdump
];
buildInputs = [
openssl
boost
libevent
db4
miniupnpc
eject
] ++ optionals withGui [
qt4
protobuf
qrencode
];
enableParallelBuilding = true;
configureFlags = [
"--with-boost-libdir=${boost.out}/lib"
];
meta = {
description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
homepage = https://namecoin.org;
license = licenses.mit;
maintainers = with maintainers; [ doublec AndersonTorres infinisil ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b43f02f6..4470abbf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -119,7 +119,7 @@ endif (RAIBLOCKS_SECURE_RPC)
include_directories (${CMAKE_SOURCE_DIR})
-set(Boost_USE_STATIC_LIBS ON)
+add_definitions(-DBOOST_LOG_DYN_LINK)
set(Boost_USE_MULTITHREADED ON)
if (BOOST_CUSTOM)
@@ -0,0 +1,57 @@
{lib, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}:
stdenv.mkDerivation rec {
pname = "nano-wallet";
version = "18.0";
src = fetchFromGitHub {
owner = "nanocurrency";
repo = "raiblocks";
rev = "V${version}";
sha256 = "03f9g1x7rs7vic9yzsjxsh5ddx9ys78rssbfghbccfw9qrwylh3y";
fetchSubmodules = true;
};
# Use a patch to force dynamic linking
patches = [
./CMakeLists.txt.patch
];
cmakeFlags = let
options = {
BOOST_ROOT = "${boost}";
Boost_USE_STATIC_LIBS = "OFF";
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 pkgconfig ];
buildInputs = [ boost libGL qtbase ];
buildPhase = ''
make nano_wallet
'';
checkPhase = ''
./core_test
'';
meta = {
inherit version;
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 ];
};
}
@@ -0,0 +1,48 @@
{ stdenv, pkgs, fetchurl, makeWrapper, nodePackages }:
let
uiEnv = pkgs.callPackage ./env.nix { };
in stdenv.mkDerivation rec {
pname = "parity-ui";
version = "0.3.4";
src = fetchurl {
url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
sha256 = "1xbd00r9ph8w2d6d2c5xg4b5l74ljzs50rpc6kahfznypmh4kr73";
name = "${pname}-${version}.deb";
};
nativeBuildInputs = [ makeWrapper nodePackages.asar ];
buildCommand = ''
mkdir -p $out/usr/
ar p $src data.tar.xz | tar -C $out -xJ .
substituteInPlace $out/usr/share/applications/parity-ui.desktop \
--replace "/opt/Parity UI" $out/bin
mv $out/usr/* $out/
mv "$out/opt/Parity UI" $out/share/parity-ui
rm -r $out/usr/
rm -r $out/opt/
fixupPhase
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \
$out/share/parity-ui/parity-ui
find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \;
mkdir -p $out/bin
ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui
'';
meta = with stdenv.lib; {
description = "UI for Parity. Fast, light, robust Ethereum implementation";
homepage = http://parity.io;
license = licenses.gpl3;
maintainers = [ maintainers.sorpaas ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,19 @@
{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig
, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr
, nss, xorg, libcap, systemd, libnotify, libsecret, gnome2 }:
let
packages = [
stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3
fontconfig gdk-pixbuf cairo cups expat libgpgerror alsaLib nspr nss
xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
xorg.libxcb libsecret gnome2.GConf
];
libPathNative = lib.makeLibraryPath packages;
libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
libPath = "${libPathNative}:${libPath64}";
in { inherit packages libPath; }
@@ -0,0 +1,6 @@
let
version = "2.6.1";
sha256 = "0yvscs2ivy08zla3jhirxhwwaqsn9j5ml4sqbgx6h5rh19c941vh";
cargoSha256 = "1s3c44cggajrmc504klf4cyb1s4l5ny48yihs9c3fc0n8d064017";
in
import ./parity.nix { inherit version sha256 cargoSha256; }
@@ -0,0 +1,6 @@
let
version = "2.5.6";
sha256 = "1qkrqkkgjvm27babd6bidhf1n6vdp8rac1zy5kf61nfzplxzr2dy";
cargoSha256 = "0aa0nkv3jr7cdzswbxghxxv0y65a59jgs1682ch8vrasi0x17m1x";
in
import ./parity.nix { inherit version sha256 cargoSha256; }
@@ -0,0 +1,46 @@
{ version
, sha256
, cargoSha256
}:
{ lib
, fetchFromGitHub
, rustPlatform
, pkgconfig
, openssl
, systemd
, cmake
, perl
}:
rustPlatform.buildRustPackage {
pname = "parity";
inherit version;
inherit cargoSha256;
src = fetchFromGitHub {
owner = "paritytech";
repo = "parity-ethereum";
rev = "v${version}";
inherit sha256;
};
buildInputs = [
pkgconfig cmake perl
systemd.lib systemd.dev openssl openssl.dev
];
cargoBuildFlags = [ "--features final" ];
# test result: FAILED. 80 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out
doCheck = false;
meta = with lib; {
description = "Fast, light, robust Ethereum implementation";
homepage = "http://parity.io";
license = licenses.gpl3;
maintainers = with maintainers; [ akru xrelkd ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,53 @@
{ stdenv
, autoreconfHook
, boost
, db48
, fetchurl
, libevent
, miniupnpc
, openssl
, pkgconfig
, zeromq
, zlib
, unixtools
, python3
}:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "particl-core";
version = "0.17.1.2";
src = fetchurl {
url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz";
sha256 = "16hcyxwp6yrypwvxz6i2987z3jmpk47xcgnsgh9klih8baqg64p5";
};
nativeBuildInputs = [ pkgconfig 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 = {
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;
};
}
+61
View File
@@ -0,0 +1,61 @@
{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
, openssl, db48, boost, zlib, miniupnpc, gmp
, qrencode, glib, protobuf, yasm, libevent
, utillinux, qtbase ? null, qttools ? null
, enableUpnp ? false
, disableWallet ? false
, disableDaemon ? false
, withGui ? false }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "pivx";
version = "3.2.0";
src = fetchFromGitHub {
owner = "PIVX-Project";
repo= "PIVX";
rev = "v${version}";
sha256 = "1sym6254vhq8qqpxq9qhy10m5167v7x93kqaj1gixc1vwwbxyazy";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf utillinux ]
++ optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optional enableUpnp "--enable-upnp-default"
++ optional disableWallet "--disable-wallet"
++ optional disableDaemon "--disable-daemon"
++ optionals withGui [ "--with-gui=yes"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
enableParallelBuilding = true;
doChecks = 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/
'';
meta = with stdenv.lib; {
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://www.dash.org;
maintainers = with maintainers; [ wucke13 ];
platforms = platforms.unix;
# upstream doesn't support newer openssl versions
# https://github.com/PIVX-Project/PIVX/issues/748
# "Your system is most probably using openssl 1.1 which is not the
# officialy supported version. Either use 1.0.1 or run again configure
# with the given option."
broken = true;
};
}
@@ -0,0 +1,30 @@
{ stdenv
, fetchFromGitHub
, rustPlatform
, pkgconfig
, openssl
}:
rustPlatform.buildRustPackage rec {
name = "polkadot-${version}";
version = "0.2.17";
src = fetchFromGitHub {
owner = "paritytech";
repo = "substrate";
rev = "19f4f4d4df3bb266086b4e488739f73d3d5e588c";
sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj";
};
cargoSha256 = "19xcxpbkrbygghz9qi52vzviksxg28m7ibvl359vlhqv1cjxmpsq";
buildInputs = [ pkgconfig openssl openssl.dev ];
meta = with stdenv.lib; {
description = "Polkadot Node Implementation";
homepage = https://polkadot.network;
license = licenses.gpl3;
maintainers = [ maintainers.akru ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,15 @@
Subject: Prevent "-dirty" from being erroneously added to the version
diff --git a/src/Makefile.am b/src/Makefile.am
index d36d1a3..00048fc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,7 +28,7 @@ always:
# Always rebuild because .git/HEAD is a symbolic ref one can't depend on
StellarCoreVersion.h: always
@vers=$$(cd "$(srcdir)" \
- && git describe --always --dirty --tags 2>/dev/null \
+ && git describe --always --tags 2>/dev/null \
|| echo "$(PACKAGE) $(VERSION)"); \
echo "#define STELLAR_CORE_VERSION \"$$vers\"" > $@~
@if cmp -s $@~ $@; then rm -f $@~; else \
@@ -0,0 +1,47 @@
{ stdenv, fetchgit, autoconf, libtool, automake, pkgconfig, git
, bison, flex, postgresql }:
let
pname = "stellar-core";
version = "0.5.1";
in stdenv.mkDerivation {
name = "${pname}-${version}";
src = fetchgit {
url = "https://github.com/stellar/stellar-core.git";
rev = "refs/tags/v${version}";
sha256 = "0ldw3qr0sajgam38z2w2iym0214ial6iahbzx3b965cw92n8n88z";
fetchSubmodules = true;
leaveDotGit = true;
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ autoconf automake libtool git ];
propagatedBuildInputs = [ bison flex postgresql ];
patches = [ ./stellar-core-dirty-version.patch ];
preConfigure = ''
# Everything needs to be staged in git because the build uses
# `git ls-files` to search for source files to compile.
git add .
./autogen.sh
'';
meta = with stdenv.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; [ chris-martin ];
license = licenses.asl20;
};
}
@@ -0,0 +1,35 @@
{ 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"
];
enableParallelBuilding = true;
meta = with lib; {
description = "Sumokoin is a fork of Monero and a truely fungible cryptocurrency";
homepage = "https://www.sumokoin.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
};
}
@@ -0,0 +1,44 @@
{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-sdk }:
stdenv.mkDerivation rec {
pname = "wasabiwallet";
version = "1.1.5";
src = fetchurl {
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz";
sha256 = "1iq7qkpq073yq1bz8pam4cbm2myznhpjr3g9afblvmxwgbdjxak0";
};
dontBuild = true;
dontPatchELF = true;
desktopItem = makeDesktopItem {
name = "wasabi";
exec = "wasabiwallet";
desktopName = "Wasabi";
genericName = "Bitcoin wallet";
comment = meta.description;
categories = "Application;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 ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-sdk ]} $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 stdenv.lib; {
description = "Privacy focused Bitcoin wallet";
homepage = "https://wasabiwallet.io/";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ mmahut ];
};
}
+46
View File
@@ -0,0 +1,46 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, git
, boost, miniupnpc_2, openssl, unbound, cppzmq
, zeromq, pcsclite, readline, libsodium, rapidjson
}:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "wownero";
version = "0.6.1.2";
src = fetchFromGitHub {
owner = "wownero";
repo = "wownero";
rev = "v${version}";
sha256 = "03q3pviyhrldpa3f4ly4d97jr39hvrz37chl102bap0790d9lk09";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkgconfig git ];
buildInputs = [
boost miniupnpc_2 openssl unbound rapidjson
cppzmq zeromq pcsclite readline libsodium
];
cmakeFlags = [
"-DReadline_ROOT_DIR=${readline.dev}"
"-DMANUAL_SUBMODULES=ON"
];
meta = {
description = "Wownero is a fork of the cryptocurrency Monero with primary alterations";
longDescription = ''
Wowneros emission is capped and supply is finite. Wownero is a fairly
launched coin with no premine. Its not a fork of another blockchain. With
its own genesis block there is no degradation of privacy caused by ring
signatures using different participants for the same transaction outputs.
Unlike opposing forks.
'';
homepage = http://wownero.org/;
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ fuwa ];
};
}
@@ -0,0 +1,49 @@
{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost
, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
, withGui }:
let librustzcash = callPackage ./librustzcash {};
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.0.13";
src = fetchFromGitHub {
owner = "zcash";
repo = "zcash";
rev = "v${version}";
sha256 = "05y7wxs66anxr5akbf05r36mmjfzqpwawn6vyh3jhpva51hzzzyz";
};
# Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
# fails with "fatal error: test/data/merkle_roots.json.h: No such file or directory"
enableParallelBuilding = false;
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ gtest gmock gmp openssl wget db62 boost zlib
protobuf libevent libsodium librustzcash ]
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
] ++ optionals withGui [ "--with-gui=qt4" ];
patchPhase = ''
sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac
sed -i"" 's,-fvisibility=hidden,,g' src/Makefile.am
'';
postInstall = ''
cp zcutil/fetch-params.sh $out/bin/zcash-fetch-params
'';
meta = {
description = "Peer-to-peer, anonymous electronic cash system";
homepage = https://z.cash/;
maintainers = with maintainers; [ rht ];
license = licenses.mit;
platforms = platforms.linux;
};
}
@@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
name = "librustzcash-unstable-${version}";
version = "2017-03-17";
src = fetchFromGitHub {
owner = "zcash";
repo = "librustzcash";
rev = "91348647a86201a9482ad4ad68398152dc3d635e";
sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c";
};
cargoSha256 = "1xlq8vkzfyr5q8gxvzkwi8r1kxg4rg8l1ckdwfdxlkhnw0yscbra";
installPhase = ''
mkdir -p $out/lib
cp target/release/librustzcash.a $out/lib/
mkdir -p $out/include
cp include/librustzcash.h $out/include/
'';
meta = with stdenv.lib; {
description = "Rust-language assets for Zcash";
homepage = https://github.com/zcash/librustzcash;
maintainers = with maintainers; [ rht ];
license = with licenses; [ mit asl20 ];
platforms = platforms.unix;
};
}