diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/blockchains')
63 files changed, 6821 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix new file mode 100644 index 000000000000..5e0c25466ebe --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/aeon/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, git, doxygen, graphviz +, boost, miniupnpc, openssl, unbound, cppzmq +, zeromq, pcsclite, readline, libsodium +}: + +let + version = "0.13.0.0"; +in +stdenv.mkDerivation { + pname = "aeon"; + inherit version; + + src = fetchFromGitHub { + owner = "aeonix"; + repo = "aeon"; + rev = "v${version}-aeon"; + fetchSubmodules = true; + sha256 = "07d87n1j4dc9gfwj6xy5jdpryn45095xdh961g6xjnjzc5fivjch"; + }; + + 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" ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix new file mode 100644 index 000000000000..81825d3d5b02 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix @@ -0,0 +1,52 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, openssl, db53, boost +, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent +, withGui, python3, jemalloc, zeromq4 }: + +with stdenv.lib; + +mkDerivation rec { + + name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version; + version = "0.21.13"; + + src = fetchFromGitHub { + owner = "bitcoin-ABC"; + repo = "bitcoin-abc"; + rev = "v${version}"; + sha256 = "1x8xcdi1vcskggk9bqkwr3ah4vi9b7sj2h8hf7spac6dvz8lmzav"; + }; + + patches = [ ./fix-bitcoin-qt-build.patch ]; + + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4 + miniupnpc util-linux protobuf libevent ] + ++ optionals withGui [ qtbase qttools qrencode ]; + + cmakeFlags = optionals (!withGui) [ + "-DBUILD_BITCOIN_QT=OFF" + ]; + + # many of the generated scripts lack execute permissions + postConfigure = '' + find ./. -type f -iname "*.sh" -exec chmod +x {} \; + ''; + + 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix new file mode 100644 index 000000000000..417262f6f4d0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost +, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, 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 util-linux 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 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix new file mode 100644 index 000000000000..7205e882c314 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchFromGitHub +, openssl +, boost +, libevent +, autoreconfHook +, db4 +, pkgconfig +, protobuf +, hexdump +, zeromq +, libsodium +, withGui +, qtbase ? null +, qttools ? null +, wrapQtAppsHook ? null +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + + pname = "bitcoin" + toString (optional (!withGui) "d") + "-gold"; + version = "0.15.2"; + + src = fetchFromGitHub { + owner = "BTCGPU"; + repo = "BTCGPU"; + rev = "v${version}"; + sha256 = "0grd1cd8d2nsrxl27la85kcan09z73fn70ncr9km4iccaj5pg12h"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + hexdump + ] ++ optionals withGui [ + wrapQtAppsHook + ]; + + buildInputs = [ + openssl + boost + libevent + db4 + zeromq + libsodium + ] ++ 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix new file mode 100644 index 000000000000..dd0132df4d94 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix @@ -0,0 +1,41 @@ +{ stdenv +, fetchFromGitHub +, pkgconfig +, autoreconfHook +, db5 +, openssl +, boost +, zlib +, miniupnpc +, libevent +, protobuf +, util-linux +}: + +stdenv.mkDerivation rec { + pname = "bitcoind-knots"; + version = "0.20.0"; + versionDate = "20200614"; + + src = fetchFromGitHub { + owner = "bitcoinknots"; + repo = "bitcoin"; + rev = "v${version}.knots${versionDate}"; + sha256 = "0c8k1154kcwz6q2803wx0zigvqaij1fi5akgfqlj3yl57jjw48jj"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ openssl db5 openssl util-linux + protobuf boost zlib miniupnpc libevent ]; + + configureFlags = [ "--with-incompatible-bdb" + "--with-boost-libdir=${boost.out}/lib" ]; + + meta = with stdenv.lib; { + description = "An enhanced Bitcoin node software"; + homepage = "https://bitcoinknots.org/"; + license = licenses.mit; + maintainers = [ maintainers.mmahut ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix new file mode 100644 index 000000000000..8a2b9e370f51 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost +, zlib, miniupnpc, util-linux, 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.9.0.1"; + + src = fetchFromGitHub { + owner = "bitcoinunlimited"; + repo = "bitcoinunlimited"; + rev = "BCHunlimited${version}"; + sha256 = "018a22zbvjqky0whizmgxzscmna0sh2xqgyw02yjk8qj4yi0zp8c"; + }; + + nativeBuildInputs = [ pkgconfig 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix new file mode 100644 index 000000000000..80e935f2b1a8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/bitcoin.nix @@ -0,0 +1,94 @@ +{ stdenv +, fetchurl +, pkgconfig +, autoreconfHook +, db48 +, boost +, zeromq +, hexdump +, zlib +, miniupnpc +, qtbase ? null +, qttools ? null +, wrapQtAppsHook ? null +, util-linux +, python3 +, qrencode +, libevent +, withGui +}: + +with stdenv.lib; +let + version = "0.20.1"; + majorMinorVersion = versions.majorMinor version; + desktop = fetchurl { + url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/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 = "4bbd62fd6acfa5e9864ebf37a24a04bc2dcfe3e3222f056056288d854c53b978"; + }; + + nativeBuildInputs = + [ pkgconfig autoreconfHook ] + ++ optional stdenv.isDarwin hexdump + ++ optional withGui wrapQtAppsHook; + buildInputs = [ db48 boost zlib zeromq miniupnpc libevent ] + ++ optionals stdenv.isLinux [ util-linux ] + ++ optionals withGui [ qtbase qttools qrencode ]; + + postInstall = optional withGui '' + install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop + install -Dm644 share/pixmaps/bitcoin128.png $out/share/pixmaps/bitcoin128.png + ''; + + 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 = [ 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 = "https://bitcoin.org/"; + downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/"; + changelog = "https://bitcoincore.org/en/releases/${version}/"; + maintainers = with maintainers; [ roconnor ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix new file mode 100644 index 000000000000..39d2197626a1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcdeb/default.nix @@ -0,0 +1,30 @@ +{ stdenv +, fetchFromGitHub +, autoreconfHook +, pkgconfig +, openssl +}: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "btcdeb-unstable"; + version = "200806"; + + src = fetchFromGitHub { + owner = "bitcoin-core"; + repo = "btcdeb"; + rev = "f6708c397c64894c9f9e31bea2d22285d9462de7"; + sha256 = "0qkmf89z2n7s95vhw3n9vh9dbi14zy4vqw3ffdh1w911jwm5ry3z"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ openssl ]; + + meta = { + description = "Bitcoin Script Debugger"; + homepage = "https://github.com/kallewoof/btcdeb"; + license = licenses.mit; + maintainers = with maintainers; [ akru ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix new file mode 100644 index 000000000000..3958a44cdafe --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix @@ -0,0 +1,58 @@ +{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper, + dotnetPackages, dotnetCorePackages, writeScript, bash +}: + +let + deps = import ./deps.nix { + fetchNuGet = { name, version, sha256 }: fetchurl { + name = "nuget-${name}-${version}.nupkg"; + url = "https://www.nuget.org/api/v2/package/${name}/${version}"; + inherit sha256; + }; + }; + dotnetSdk = dotnetCorePackages.sdk_3_1; +in + +stdenv.mkDerivation rec { + pname = "btcpayserver"; + version = "1.0.5.9"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "011pp94i49fx587ng16m6ml63vwiysjvpkijihrk6xamz78zddgx"; + }; + + nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ]; + + buildPhase = '' + export HOME=$TMP/home + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + + nuget sources Add -Name tmpsrc -Source $TMP/nuget + nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget + + dotnet restore --source $TMP/nuget BTCPayServer/BTCPayServer.csproj + dotnet publish --no-restore --output $out/share/$pname -c Release BTCPayServer/BTCPayServer.csproj + ''; + + # btcpayserver requires the publish directory as its working dir + # https://github.com/btcpayserver/btcpayserver/issues/1894 + installPhase = '' + makeWrapper $out/share/$pname/BTCPayServer $out/bin/$pname \ + --set DOTNET_ROOT "${dotnetSdk}" \ + --run "cd $out/share/$pname" + ''; + + dontStrip = true; + + meta = with lib; { + description = "Self-hosted, open-source cryptocurrency payment processor"; + homepage = "https://btcpayserver.org"; + maintainers = with maintainers; [ kcalvinalvin earvstedt ]; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix new file mode 100644 index 000000000000..5ee5e2612115 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix @@ -0,0 +1,1932 @@ +{ fetchNuGet }: [ + (fetchNuGet { + name = "AngleSharp"; + version = "0.9.11"; + sha256 = "17vf1bizskkxr8pf547lk2b48m12wv3si83gxk145i73bf9gi64a"; + }) + (fetchNuGet { + name = "AWSSDK.Core"; + version = "3.3.104.14"; + sha256 = "157694kb63z1szbsv861515fvjv7amrjrfmgbm3idpyw31afk650"; + }) + (fetchNuGet { + name = "AWSSDK.S3"; + version = "3.3.110.10"; + sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38"; + }) + (fetchNuGet { + name = "BTCPayServer.Hwi"; + version = "1.1.3"; + sha256 = "1c8hfnrjh2ad8qh75d63gsl170q8czf3j1hk8sv8fnbgnxdnkm7a"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.All"; + version = "1.2.4"; + sha256 = "1f4wgs8ijk1wmppz5lmas7l6m83szz57jyk6ak0dxhccdld9rdaj"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.Charge"; + version = "1.2.1"; + sha256 = "0iv9frbr6xfxif3pnfd7c87y8mv31nqkdrnhvnaswrx43nv6s272"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.CLightning"; + version = "1.2.1"; + sha256 = "14km69jzmnyqg19w27g6znml4z0xkm8l4j7rj0x36bw67cjmgahv"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.Common"; + version = "1.2.0"; + sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.Eclair"; + version = "1.2.0"; + sha256 = "0w7nwsr0n2hrqak023xa294palsk3r96wlgw2ks8d3p5kxm8kskp"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.LND"; + version = "1.2.1"; + sha256 = "0ql4qyvz0rms6ls46pi3bgak3r6hj2c5ivnzahiq6cb84pbl61cr"; + }) + (fetchNuGet { + name = "BTCPayServer.Lightning.Ptarmigan"; + version = "1.2.0"; + sha256 = "1yd6nhlssb9k08p5491knlwwjij9324ildir99sa9cp24rlq5nis"; + }) + (fetchNuGet { + name = "BuildBundlerMinifier"; + version = "3.2.435"; + sha256 = "0y1p226dbvs7q2ngm9w4mpkhfrhw2y122plv1yff7lx5m84ia02l"; + }) + (fetchNuGet { + name = "BundlerMinifier.Core"; + version = "3.2.435"; + sha256 = "17338x8ycr7hjzq16kr0ri30k19802hsn1sy259k3v694mxk59vd"; + }) + (fetchNuGet { + name = "BundlerMinifier.TagHelpers"; + version = "3.2.435"; + sha256 = "0ksmby0lzgsxkv0xfzr840262kcqra9vds91mcx0rf20blksfvsk"; + }) + (fetchNuGet { + name = "CsvHelper"; + version = "15.0.5"; + sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma"; + }) + (fetchNuGet { + name = "DBriize"; + version = "1.0.1.3"; + sha256 = "0rsm68hwq2ky8i6mv3ckdjkj4vjygnkgk3disva0skl3apk833dc"; + }) + (fetchNuGet { + name = "DigitalRuby.ExchangeSharp"; + version = "0.6.3"; + sha256 = "1vb7ahafcd3lcbiiz552aisilwm1yq3j600gkf1wik8vhvsk02fs"; + }) + (fetchNuGet { + name = "Google.Api.Gax.Rest"; + version = "2.5.0"; + sha256 = "1zkjl5zh6qwdz4qmnxnk5877pas638i2qi25znilhqqf3mrkp0rp"; + }) + (fetchNuGet { + name = "Google.Api.Gax"; + version = "2.5.0"; + sha256 = "0q6pi53px998i3gdndla8v0zqdpyi9gnsy9mdcfpkrg09vfbdsl9"; + }) + (fetchNuGet { + name = "Google.Apis.Auth"; + version = "1.35.1"; + sha256 = "1qdnd1nq9bfgyljmiww91pfi0iz1n29rz2dlizhxcijqya2ldha3"; + }) + (fetchNuGet { + name = "Google.Apis.Auth"; + version = "1.38.0"; + sha256 = "0x3bdwiyqjxw5df99bfasmsv09kb47wzisag938631cijl0g277y"; + }) + (fetchNuGet { + name = "Google.Apis.Core"; + version = "1.35.1"; + sha256 = "01dfw2kxknlc5pm7x1q88lv9j979509lkkgvlffjry5bawsxsja4"; + }) + (fetchNuGet { + name = "Google.Apis.Core"; + version = "1.38.0"; + sha256 = "012gslhnx65vqfyzjnqx4bqk9kb8bwbx966q2f9fdgrfcn26gj9j"; + }) + (fetchNuGet { + name = "Google.Apis.Storage.v1"; + version = "1.38.0.1470"; + sha256 = "0mfrz7fmpfbjvp4zfpjasmnfbgxgxrrjkf8xgp9p6h9g8qh2f2h2"; + }) + (fetchNuGet { + name = "Google.Apis"; + version = "1.35.1"; + sha256 = "1022l8m7v9f3rkjc9l11mkzwsbmqx9sk5f4aym035vn9hdr16d49"; + }) + (fetchNuGet { + name = "Google.Apis"; + version = "1.38.0"; + sha256 = "01j3d1lv106cqw9n0lwgclrxghy852fsibv6av4xr03ivrkm8g40"; + }) + (fetchNuGet { + name = "Google.Cloud.Storage.V1"; + version = "2.3.0"; + sha256 = "01jhrd6m6md8m28chzg2dkdfd4yris79j1xi7r1ydm1cfjhmlj64"; + }) + (fetchNuGet { + name = "HtmlSanitizer"; + version = "4.0.217"; + sha256 = "0szay9mf5mmrp1hx0yc175aaalv76qg0j515lfs133j1d95lj26d"; + }) + (fetchNuGet { + name = "Microsoft.AspNet.SignalR.Client"; + version = "2.3.0"; + sha256 = "1xyj8b88bc6sc7fxgqyalzfmlfgbagfk7adyk29if9hr8ki9bic4"; + }) + (fetchNuGet { + name = "Microsoft.AspNet.WebApi.Client"; + version = "5.2.7"; + sha256 = "1j0wbdmycj5xbk06p32f7xrddc40sbj3yca4d7ywg611yk26mvi1"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Cryptography.Internal"; + version = "3.1.4"; + sha256 = "0d4djj073bl9kps5jkcpydh92lcp6kpa7njhypjw3myaa987dcsh"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Cryptography.KeyDerivation"; + version = "3.1.4"; + sha256 = "1rya2775prm8ss0rz6izsqqcz96gcf1rh0bpcvnfy1mwi04rx8bl"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Hosting.Abstractions"; + version = "2.0.0"; + sha256 = "0x6vw7kiy9z7cdmgbqav0d9wq66032wg39l2c9cv6xvxxvdpbkz7"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; + version = "2.0.0"; + sha256 = "1k4dr6l32swi8zasfvzxixnjvgbrra7v6lgpri0929vb3r5lagjb"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Http.Abstractions"; + version = "2.0.0"; + sha256 = "1hgmnd5mj35g8cqq3mdhjf9cmi3wm5lqiyrj5mgfscnig6i686xr"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Http.Features"; + version = "2.0.0"; + sha256 = "1zk5ad3laa7ma83md8r80kijqzps6dcrvv0k1015nddfk1qd74s6"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Identity.EntityFrameworkCore"; + version = "3.1.4"; + sha256 = "0smcpaqm7d95flr0k7i2psrsfvs48lv28kzqgnllv5229hhb670d"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.JsonPatch"; + version = "3.1.1"; + sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; + version = "3.1.1"; + sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; + version = "3.1.1"; + sha256 = "1iydcr7rfzg3kqky0x70853g6lbzsl9ja9cv8ph6iwpqxnswgdkh"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"; + version = "3.1.1"; + sha256 = "1q1bblcj9l2dnz46frygsfq7w4v08l96clgryh78wyws83xjm43y"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Razor.Language"; + version = "3.1.1"; + sha256 = "0arqmy04dd0r4wm2fin66gxxwj2kirbgxyf3w7kq6f73lrnazhq0"; + }) + (fetchNuGet { + name = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.0"; + sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; + }) + (fetchNuGet { + name = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.1"; + sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; + }) + (fetchNuGet { + name = "Microsoft.Bcl.HashCode"; + version = "1.1.0"; + sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.Analyzers"; + version = "2.9.3"; + sha256 = "1kskwc9gyd2sx3zwx52qwfsl7s0xhaclmlnxvjsb4jgvpydv3xii"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.0.0"; + sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.Common"; + version = "3.3.0"; + sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.Common"; + version = "3.6.0"; + sha256 = "0i8x90700jr30j580mpawj6d90fngrb2zpkjjbn7f8r2p1mz75y7"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.CSharp"; + version = "3.3.0"; + sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.CSharp"; + version = "3.6.0"; + sha256 = "0c44qp7lfpja6cq5nk7851qrswm2z1k2pnvsw43j9ybf10a27jrn"; + }) + (fetchNuGet { + name = "Microsoft.CodeAnalysis.Razor"; + version = "3.1.1"; + sha256 = "03n5rli6v1kvghha82zar3dvvkbc2vb9g8zp5fjrzhvp4l74ingn"; + }) + (fetchNuGet { + name = "Microsoft.CodeCoverage"; + version = "16.6.1"; + sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.0.1"; + sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.3.0"; + sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.5.0"; + sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.7.0"; + sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; + }) + (fetchNuGet { + name = "Microsoft.Data.Sqlite.Core"; + version = "3.1.4"; + sha256 = "1pahyqjs4l9g1wg9hvxf68kgzzf72ny2i7n7ai97a389p2c86xvh"; + }) + (fetchNuGet { + name = "Microsoft.DotNet.PlatformAbstractions"; + version = "2.0.4"; + sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j"; + }) + (fetchNuGet { + name = "Microsoft.DotNet.PlatformAbstractions"; + version = "3.1.4"; + sha256 = "1s5h96zdc3vh1v03gizmqfw5hmksajw10bdrj79pm8brbyzipxia"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Abstractions"; + version = "3.1.0"; + sha256 = "1bd6hilnwp47z3l14qspdxi5f5nhv6rivarc6w8wil425bq0h3pd"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Abstractions"; + version = "3.1.4"; + sha256 = "07l7137pzwh0k4m53ji5j6a2zmbbzrl164p18wxcri77ds5is4g7"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Analyzers"; + version = "3.1.0"; + sha256 = "1pjn4wwhxgsiap7byld114kx6m0nm6696r8drspqic7lskm4y305"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Analyzers"; + version = "3.1.4"; + sha256 = "1zaqn9z7ns6p6jgnffzkgpziqr2wqs68g2sa0c11kaclhlhgvvbv"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Design"; + version = "3.1.4"; + sha256 = "10mxnbiw23ia4sln86sd3gn84yhmrb6r2kipzid4h1g15paal9gi"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Relational"; + version = "3.1.0"; + sha256 = "0javqw6c27ppcysigjvcjcw3mk0gg1pv2pmwfpvvryr1pb4a9n55"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Relational"; + version = "3.1.4"; + sha256 = "1344rsavawwg69dx8xsl08hcs43lc6h7z4mn461dcx85rirlwd0v"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Sqlite.Core"; + version = "3.1.4"; + sha256 = "080qz0b52i7v5c1sgnqlh9px9881cfr1x06np66hdgmh0ni5c1lw"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore.Sqlite"; + version = "3.1.4"; + sha256 = "009mcmakw0p7k8xrz920a8qc0rjv361awiz8jia5i5a8p5ihgkbx"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore"; + version = "3.1.0"; + sha256 = "1l12lsk1xfrv5pjnm0b9w9kncgdh0pcjcbxl4zrsg82s7bs7dhda"; + }) + (fetchNuGet { + name = "Microsoft.EntityFrameworkCore"; + version = "3.1.4"; + sha256 = "11w63yp7fk9qwmnq3lmpf1h30mlbzfx4zpm89vrs0lprj86g0742"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Caching.Abstractions"; + version = "3.1.0"; + sha256 = "0j5m2a48rwyzzvbz0hpr2md35iv78b86zyqjnrjq0y4vb7sairc0"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Caching.Abstractions"; + version = "3.1.4"; + sha256 = "09f96pvpyzylpdaiw3lsvr7p6rs4i21mmhsxl6pkivg5lpfb79sk"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Caching.Memory"; + version = "3.1.0"; + sha256 = "1hi61647apn25kqjcb37nqafp8fikymdrk43j3kxjbwwwx507jy1"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Caching.Memory"; + version = "3.1.4"; + sha256 = "0b8ijxjd8lgq8mgnvh3wl4y4wbjj3v5b763y6gslm75fn43iyad8"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Abstractions"; + version = "1.1.2"; + sha256 = "0z83kxfzsgqlshg4x1mhdnhlrprrwsgnnibvwk257drzy9079994"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.0.0"; + sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.0"; + sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Abstractions"; + version = "3.1.0"; + sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Abstractions"; + version = "3.1.4"; + sha256 = "0r33m68y1vgpmqams4sgciizl0w6y97qkp93m0hyn0nlkxqf72l6"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Binder"; + version = "2.0.0"; + sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Binder"; + version = "3.1.0"; + sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Binder"; + version = "3.1.4"; + sha256 = "1bnf213zlrh0m3sbhsv601yx21l5xp254jiy2g4hm7zpm8vsz1hz"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "2.1.0"; + sha256 = "0xx3idb1l5y1da5zynlys5gyarijmw5pc9hgci8xdxbrcv6rzbjb"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "2.1.0"; + sha256 = "1lz2xwm63clbh9dfhmygbqvcp4dsrwh5jihv82dmqd5h7lqngl40"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Ini"; + version = "2.1.0"; + sha256 = "0bchsljywcq36si4zs2dcx2gj8x98ww93dh2bx2z6x5ilxyjnfip"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration"; + version = "2.0.0"; + sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration"; + version = "2.1.0"; + sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration"; + version = "3.1.0"; + sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration"; + version = "3.1.4"; + sha256 = "0npc18pjl86d06czb0fy6ln3prfpwfb16p6709xx2jrsl96dp9bp"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.0.0"; + sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.1.0"; + sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "3.1.0"; + sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "3.1.4"; + sha256 = "03ys96pqca93zwxvh0vprzms09i9y0lmq32w98m6klbizq01fc06"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection"; + version = "2.0.0"; + sha256 = "018izzgykaqcliwarijapgki9kp2c560qv8qsxdjywr7byws5apq"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection"; + version = "3.1.0"; + sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyInjection"; + version = "3.1.4"; + sha256 = "0rhyjgdpjm56drvrvqd9v1xq1qhyrpwwn2pjsz17g2s462rwliqx"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyModel"; + version = "2.0.4"; + sha256 = "041i1vlcibpzgalxxzdk81g5pgmqvmz2g61k0rqa2sky0wpvijx9"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyModel"; + version = "3.1.1"; + sha256 = "0qa04dspjl4qk7l8d66wqyrvhp5dxcfn2j4r8mmj362xyrp3r8sh"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.DependencyModel"; + version = "3.1.4"; + sha256 = "0r0wv4k0ig6mrl6fr184zqbf5f010d6i2an2ws23g2bjvk8jh1bk"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.0.0"; + sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.1.0"; + sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Physical"; + version = "2.1.0"; + sha256 = "1firpsl5bk219i9gdfgiqw1zm68146h1dzx9hvawfpw9slfaa56w"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileSystemGlobbing"; + version = "2.1.0"; + sha256 = "1d2622qp22x1cnlwycnzjbc3sgi9jria26fk78zwzsa08npa3avv"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Hosting.Abstractions"; + version = "2.0.0"; + sha256 = "056wgjcdzvz1qwb26xv6hgxq4xya56qiimhk30v8an8cgsrjk3mc"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Hosting.Abstractions"; + version = "2.1.0"; + sha256 = "04vm9mdjjzg3lpp2rzpgkpn8h5bzdl3bwcr22lshd3kp602ws4k9"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Identity.Core"; + version = "3.1.4"; + sha256 = "0kyi03l9d7pnsvrcylc86fcxwnj59mhvmbz4c1d142f8djdrqfid"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Identity.Stores"; + version = "3.1.4"; + sha256 = "0jb3syy0glyn4nnd7lb7aj412xnqyrwhfavh98rbc5adq9v09nbw"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "1.0.0"; + sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "1.1.2"; + sha256 = "0j9b4z3pf8a5xphx3ksn6jm01rf4z001vfll5kcbxw995xcidjw1"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.0.0"; + sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.0"; + sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "3.1.0"; + sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "3.1.4"; + sha256 = "1rkl0yqmi5vfivn641866v2mdsgdy8amym546y6lzbab39g24b5n"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Filter"; + version = "1.1.2"; + sha256 = "1pip87q89376xxpi3r5pf9vxhqxx21qrp179fbldbkr2m1577k9m"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging"; + version = "2.0.0"; + sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging"; + version = "3.1.0"; + sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging"; + version = "3.1.4"; + sha256 = "04asfrhfrcl3ijilry2pr28ql5m6pgrwapadikgcg66jjxbx75zq"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "2.0.0"; + sha256 = "1isc3rjbzz60f7wbmgcwslx5d10hm5hisnk7v54vfi2bz7132gll"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Options"; + version = "2.0.0"; + sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Options"; + version = "3.1.0"; + sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Options"; + version = "3.1.4"; + sha256 = "0jphncx82l7jm5xi49dfxhbh24wv86sy44022chd7bkizllsypp4"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.PlatformAbstractions"; + version = "1.1.0"; + sha256 = "0r4j8v2vvp3kalvb11ny9cvpls3nrvqj0c81rxbkh99ynd2dbscp"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "1.1.1"; + sha256 = "0rcwxz1r89y96s8k3bmg0v6zdqanqfp09khy5l99wnl777y15g7x"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "2.0.0"; + sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "2.1.0"; + sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "3.1.0"; + sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "3.1.4"; + sha256 = "12xvysk024aghrcwzv4525vznnk8lqmknl2vqqxhq4k5hjxpsysp"; + }) + (fetchNuGet { + name = "Microsoft.NET.Test.Sdk"; + version = "16.6.1"; + sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv"; + }) + (fetchNuGet { + name = "Microsoft.NetCore.Analyzers"; + version = "2.9.8"; + sha256 = "1klybsdy9yw49zlpmix4vjdhmfaibg5h9yx03vszdnijzap7vpsx"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "2.0.0"; + sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "2.1.2"; + sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + name = "Microsoft.TestPlatform.ObjectModel"; + version = "16.6.1"; + sha256 = "0q98q1nw6jl4bajm66z4a9vvh928w8ffsd3k6fpsps23ykpsky7h"; + }) + (fetchNuGet { + name = "Microsoft.TestPlatform.TestHost"; + version = "16.6.1"; + sha256 = "0anzvb2mda548swb2ll1hv65knb8gwjm01hwbl0pzzr607my3lix"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + name = "MySqlConnector"; + version = "0.61.0"; + sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg"; + }) + (fetchNuGet { + name = "NBitcoin.Altcoins"; + version = "2.0.21"; + sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.33"; + sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.4"; + sha256 = "04iafda61izzxb691brk72qs01m5dadqb4970nw5ayck6275s71i"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.40"; + sha256 = "1rqzn84yaww4afagwg8jg1l5qdkvqyjdfcyd5widddqwxabbsjvh"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.60"; + sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v"; + }) + (fetchNuGet { + name = "NBitpayClient"; + version = "1.0.0.39"; + sha256 = "1sgwradg7jnb4n3chwqfkximj1qhgl3r23p0sifmaa0kql2hlira"; + }) + (fetchNuGet { + name = "NBXplorer.Client"; + version = "3.0.19"; + sha256 = "0nahfxdsryf5snjy87770m51v2jcry02lmb10ilsg4h2ig4pjdk4"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "1.6.1"; + sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; + }) + (fetchNuGet { + name = "Newtonsoft.Json.Bson"; + version = "1.0.1"; + sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; + }) + (fetchNuGet { + name = "Newtonsoft.Json.Bson"; + version = "1.0.2"; + sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; + }) + (fetchNuGet { + name = "Newtonsoft.Json.Schema"; + version = "3.0.13"; + sha256 = "04vzjz5fb588rh6ji5a0svfzjsdcfpr1qrz9hxpc64z5zhnh6sf4"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "10.0.3"; + sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "11.0.1"; + sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "11.0.2"; + sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "12.0.2"; + sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "12.0.3"; + sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "9.0.1"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }) + (fetchNuGet { + name = "NicolasDorier.CommandLine.Configuration"; + version = "1.0.0.3"; + sha256 = "0al0pd4zhjpmn8m208xjmy17cbyab68grzdvzr2lhsckwkl6b1jg"; + }) + (fetchNuGet { + name = "NicolasDorier.CommandLine"; + version = "1.0.0.2"; + sha256 = "08a9l18zkhcfa6f56xqylzvmqjzgxsmgkpm2r3ckvxfyml6w0qyy"; + }) + (fetchNuGet { + name = "NicolasDorier.RateLimits"; + version = "1.1.0"; + sha256 = "06cajxi8wnrxfwqfnk98avphwiyvg1fw428bd42lqjgq9k414rk9"; + }) + (fetchNuGet { + name = "NicolasDorier.StandardConfiguration"; + version = "1.0.0.18"; + sha256 = "0lgssxafv6cqlw21fb79fm0fcln0clgsk6zadcwrnjv9vampfw7b"; + }) + (fetchNuGet { + name = "NLog"; + version = "4.5.10"; + sha256 = "0d4yqxrhqn2k36h3v1f5pn6qqlagbzg67v6gvxqhz3s4zyc3b8rg"; + }) + (fetchNuGet { + name = "Npgsql.EntityFrameworkCore.PostgreSQL"; + version = "3.1.4"; + sha256 = "1ng9pbamh93g0fbnjq8ygaf40d6rs0fy4s08bjmxpa69k3s8c7a4"; + }) + (fetchNuGet { + name = "Npgsql"; + version = "4.1.3.1"; + sha256 = "0qk3hb8s521c2gy4k3m1i6fhpr133mnw9w85cwsy9j7ghxyca1nv"; + }) + (fetchNuGet { + name = "NuGet.Frameworks"; + version = "5.0.0"; + sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; + }) + (fetchNuGet { + name = "NUglify"; + version = "1.5.12"; + sha256 = "0f4gs31z8dwfvd246nrv3m0qkxzav37hxynx2maykza017khynyf"; + }) + (fetchNuGet { + name = "Pomelo.EntityFrameworkCore.MySql"; + version = "3.1.1"; + sha256 = "1jvv2q7pmh5wzsfjim7iby4r1scb30kgj9w6sbm2dp60i6vm32dx"; + }) + (fetchNuGet { + name = "Pomelo.JsonObject"; + version = "2.2.1"; + sha256 = "1w6s9wjbsyvq8cnqknkdzm9chnv0g5gcsrq5i94zp6br9vg7c627"; + }) + (fetchNuGet { + name = "Portable.BouncyCastle"; + version = "1.8.1.3"; + sha256 = "1lv1ljaz8df835jgmp3ny1xgqqjf1s9f25baw7bf8d24qlf25i2g"; + }) + (fetchNuGet { + name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + name = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.0.1"; + sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Security"; + version = "4.3.0"; + sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography"; + version = "4.0.0"; + sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.0.0"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + name = "Selenium.WebDriver.ChromeDriver"; + version = "85.0.4183.8700"; + sha256 = "0klyqmwa6yc0ibbmci51mzb2vl6n13qlk06chc9w78i0a43fs382"; + }) + (fetchNuGet { + name = "Selenium.WebDriver"; + version = "3.141.0"; + sha256 = "09g0zhz6n7yhxmxlrpzjdykfavr3m4z1gb4cmq304dw0gr8s89mq"; + }) + (fetchNuGet { + name = "Serilog.AspNetCore"; + version = "3.2.0"; + sha256 = "14d1lsw1djsshlkxbn5lkmdvj4372hnddb6788m6ix0mv4mhj3bj"; + }) + (fetchNuGet { + name = "Serilog.Extensions.Hosting"; + version = "3.0.0"; + sha256 = "1r01lsy4rp0wj7ffbjcf9dcg3aipdhy7066yjicja45m0z2y42w6"; + }) + (fetchNuGet { + name = "Serilog.Extensions.Logging"; + version = "3.0.1"; + sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a"; + }) + (fetchNuGet { + name = "Serilog.Formatting.Compact"; + version = "1.0.0"; + sha256 = "0mi1yzzj33v4nkyspyshhc6nn2mx3y07z5dvv26hl7hw6kb6yazw"; + }) + (fetchNuGet { + name = "Serilog.Settings.Configuration"; + version = "3.1.0"; + sha256 = "1cj5am4n073331gbfm2ylqb9cadl4q3ppzgwmm5c8m1drxpiwkb5"; + }) + (fetchNuGet { + name = "Serilog.Sinks.Console"; + version = "3.1.1"; + sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; + }) + (fetchNuGet { + name = "Serilog.Sinks.Debug"; + version = "1.0.1"; + sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22"; + }) + (fetchNuGet { + name = "Serilog.Sinks.File"; + version = "4.1.0"; + sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca"; + }) + (fetchNuGet { + name = "Serilog"; + version = "2.9.0"; + sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6"; + }) + (fetchNuGet { + name = "SQLitePCLRaw.bundle_e_sqlite3"; + version = "2.0.2"; + sha256 = "00p7n7ndmmh45fhhd3clb11igpzklm1n7r50sdrgnbi5yifv1lxl"; + }) + (fetchNuGet { + name = "SQLitePCLRaw.core"; + version = "2.0.2"; + sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958"; + }) + (fetchNuGet { + name = "SQLitePCLRaw.lib.e_sqlite3"; + version = "2.0.2"; + sha256 = "0967w6r6n94hj0fma3kidb9fx1m2p3fgrw6gpsy6q6jbb33qw6vj"; + }) + (fetchNuGet { + name = "SQLitePCLRaw.provider.dynamic_cdecl"; + version = "2.0.2"; + sha256 = "1lzs8yfjygrwfm3hjmkhnbnpsjzq53ijwx9whmii2r9kjg2a46if"; + }) + (fetchNuGet { + name = "SSH.NET"; + version = "2016.1.0"; + sha256 = "0q08bf9sdf1rf9763z4bk2mr6z381iybm73823scmq9qcpr2jk4d"; + }) + (fetchNuGet { + name = "SshNet.Security.Cryptography"; + version = "1.2.0"; + sha256 = "1xlj8bjavpjk6lrkypk66cxpf2xa31wv73ymrk34d72f05z0xrg0"; + }) + (fetchNuGet { + name = "System.AppContext"; + version = "4.1.0"; + sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; + }) + (fetchNuGet { + name = "System.AppContext"; + version = "4.3.0"; + sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.0.12"; + sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; + }) + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + name = "System.Collections.Immutable"; + version = "1.5.0"; + sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; + }) + (fetchNuGet { + name = "System.Collections.Immutable"; + version = "1.7.0"; + sha256 = "1gik4sn9jsi1wcy1pyyp0r4sn2g17cwrsh24b2d52vif8p2h24zx"; + }) + (fetchNuGet { + name = "System.Collections.Immutable"; + version = "1.7.1"; + sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; + }) + (fetchNuGet { + name = "System.Collections.NonGeneric"; + version = "4.3.0"; + sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; + }) + (fetchNuGet { + name = "System.Collections.Specialized"; + version = "4.3.0"; + sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + name = "System.ComponentModel.Annotations"; + version = "4.7.0"; + sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z"; + }) + (fetchNuGet { + name = "System.ComponentModel.Primitives"; + version = "4.3.0"; + sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; + }) + (fetchNuGet { + name = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; + }) + (fetchNuGet { + name = "System.ComponentModel"; + version = "4.3.0"; + sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; + }) + (fetchNuGet { + name = "System.Configuration.ConfigurationManager"; + version = "4.5.0"; + sha256 = "1frpy24mn6q7hgwayj98kkx89z861f5dmia4j6zc0a2ydgx8x02c"; + }) + (fetchNuGet { + name = "System.Console"; + version = "4.3.0"; + sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.0.0"; + sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.7.0"; + sha256 = "0cr0v5dz8l5ackxv6b772fjcyj2nimqmrmzanjs4cw2668v568n1"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.7.1"; + sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.0.1"; + sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; + }) + (fetchNuGet { + name = "System.Diagnostics.TraceSource"; + version = "4.0.0"; + sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.0.11"; + sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.3.0"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }) + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.0.1"; + sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; + }) + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.0.1"; + sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + name = "System.Interactive.Async"; + version = "3.1.1"; + sha256 = "03iq20gq0n2b2sdzs5jhxf46nzkfgvzip6q5248vka2rcvn1yanh"; + }) + (fetchNuGet { + name = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; + }) + (fetchNuGet { + name = "System.IO.Compression"; + version = "4.3.0"; + sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + name = "System.IO.Pipelines"; + version = "4.7.2"; + sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.1.0"; + sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.3.0"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + name = "System.Memory"; + version = "4.5.0"; + sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; + }) + (fetchNuGet { + name = "System.Memory"; + version = "4.5.3"; + sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; + }) + (fetchNuGet { + name = "System.Net.Http"; + version = "4.1.0"; + sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; + }) + (fetchNuGet { + name = "System.Net.Http"; + version = "4.3.0"; + sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; + }) + (fetchNuGet { + name = "System.Net.NameResolution"; + version = "4.0.0"; + sha256 = "0dj3pvpv069nyia28gkl4a0fb7q33hbxz2dg25qvpah3l7pbl0qh"; + }) + (fetchNuGet { + name = "System.Net.NameResolution"; + version = "4.3.0"; + sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; + }) + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.0.11"; + sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; + }) + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + name = "System.Net.Requests"; + version = "4.0.11"; + sha256 = "13mka55sa6dg6nw4zdrih44gnp8hnj5azynz47ljsh2791lz3d9h"; + }) + (fetchNuGet { + name = "System.Net.Security"; + version = "4.3.0"; + sha256 = "1aa5igz31ivk6kpgsrwck3jccab7wd88wr52lddmgypmbh9mmf87"; + }) + (fetchNuGet { + name = "System.Net.Sockets"; + version = "4.1.0"; + sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; + }) + (fetchNuGet { + name = "System.Net.Sockets"; + version = "4.3.0"; + sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; + }) + (fetchNuGet { + name = "System.Net.WebHeaderCollection"; + version = "4.0.1"; + sha256 = "10bxpxj80c4z00z3ksrfswspq9qqsw8jwxcbzvymzycb97m9b55q"; + }) + (fetchNuGet { + name = "System.Net.WebHeaderCollection"; + version = "4.3.0"; + sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562"; + }) + (fetchNuGet { + name = "System.Net.WebSockets.Client"; + version = "4.3.2"; + sha256 = "103y8lfsfa5xd1sqmq9sml4qyp4rij2i3fnnw119h119hb04l0rk"; + }) + (fetchNuGet { + name = "System.Net.WebSockets"; + version = "4.3.0"; + sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.0.12"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.3.0"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.0.1"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + (fetchNuGet { + name = "System.Reflection.Metadata"; + version = "1.6.0"; + sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.3.0"; + sha256 = "149xcsa1pphlrc2zfmca9n822g4mxk7s2a44phvf34r0fajm3hk8"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.4.0"; + sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.0"; + sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.2"; + sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.6.0"; + sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.0"; + sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.0.1"; + sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Formatters"; + version = "4.3.0"; + sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.3.0"; + sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + name = "System.Security.AccessControl"; + version = "4.5.0"; + sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; + }) + (fetchNuGet { + name = "System.Security.Claims"; + version = "4.0.1"; + sha256 = "03dw0ls49bvsrffgwycyifjgz0qzr9r85skqhdyhfd51fqf398n6"; + }) + (fetchNuGet { + name = "System.Security.Claims"; + version = "4.3.0"; + sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.2.0"; + sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.0.0"; + sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.0.0"; + sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.0.0"; + sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.0.0"; + sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.ProtectedData"; + version = "4.5.0"; + sha256 = "11qlc8q6b7xlspayv07718ibzvlj6ddqqxkvcbxv5b24d5kzbrb7"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.1.0"; + sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + name = "System.Security.Permissions"; + version = "4.5.0"; + sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.0.0"; + sha256 = "1d3vc8i0zss9z8p4qprls4gbh7q4218l9845kclx7wvw41809k6z"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.3.0"; + sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.5.0"; + sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; + }) + (fetchNuGet { + name = "System.Security.Principal"; + version = "4.0.1"; + sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p"; + }) + (fetchNuGet { + name = "System.Security.Principal"; + version = "4.3.0"; + sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; + }) + (fetchNuGet { + name = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + name = "System.Text.Encodings.Web"; + version = "4.4.0"; + sha256 = "05qp3yivh6gz0vva0v3wjlj3g1b45d5jmz362f2y8ah6yb3rx088"; + }) + (fetchNuGet { + name = "System.Text.Json"; + version = "4.7.0"; + sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr"; + }) + (fetchNuGet { + name = "System.Text.Json"; + version = "4.7.2"; + sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.1.0"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.3.0"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }) + (fetchNuGet { + name = "System.Threading.Channels"; + version = "4.5.0"; + sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.5.3"; + sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + name = "System.Threading.Thread"; + version = "4.0.0"; + sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; + }) + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.0.10"; + sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; + }) + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.3.0"; + sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; + }) + (fetchNuGet { + name = "System.Threading.Timer"; + version = "4.0.1"; + sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; + }) + (fetchNuGet { + name = "System.Threading.Timer"; + version = "4.3.0"; + sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.3.0"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.0.11"; + sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.3.0"; + sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.0.1"; + sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.3.0"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }) + (fetchNuGet { + name = "System.Xml.XPath.XmlDocument"; + version = "4.0.1"; + sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc"; + }) + (fetchNuGet { + name = "System.Xml.XPath"; + version = "4.0.1"; + sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m"; + }) + (fetchNuGet { + name = "Text.Analyzers"; + version = "2.6.4"; + sha256 = "1fm3gjnbfnjap3wphx5x48awriy14a2g3s9c1nc4m8w85k8mqdsl"; + }) + (fetchNuGet { + name = "TwentyTwenty.Storage.Amazon"; + version = "2.12.1"; + sha256 = "03nrkvhki35w1rqx94s97rwxl0qwqlczyiimhrkc72vjppn5p6ph"; + }) + (fetchNuGet { + name = "TwentyTwenty.Storage.Azure"; + version = "2.12.1"; + sha256 = "10q7gpr8kmgzmxrzj3paqlnw4d8li8scwpxkzs11ildscfp6hvlv"; + }) + (fetchNuGet { + name = "TwentyTwenty.Storage.Google"; + version = "2.12.1"; + sha256 = "0d8s7p9brp03h9dpv3wxnqg0xsm7d9p4k6dpxpb9jak535khxzhp"; + }) + (fetchNuGet { + name = "TwentyTwenty.Storage.Local"; + version = "2.12.1"; + sha256 = "1zmjqwd1v3z78ab4vdmaadh94465k1qgpv7ylv8x3sdx4z78yjm8"; + }) + (fetchNuGet { + name = "TwentyTwenty.Storage"; + version = "2.12.1"; + sha256 = "0m41dxzc3hh0f4j1k4q915pvcq6zr0hv1pj6b3sayrn8vjhk64qb"; + }) + (fetchNuGet { + name = "U2F.Core"; + version = "1.0.4"; + sha256 = "0mk32yyihigp9njs54z411fswgzr6x3kw134c7ylwy2d2wmq2n9b"; + }) + (fetchNuGet { + name = "WindowsAzure.Storage"; + version = "9.3.3"; + sha256 = "14b0b0nj85yvyn0h8ghr3kj6di2nkbzjxc2q98f1wcr0151xvdfx"; + }) + (fetchNuGet { + name = "xunit.abstractions"; + version = "2.0.3"; + sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; + }) + (fetchNuGet { + name = "xunit.analyzers"; + version = "0.10.0"; + sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; + }) + (fetchNuGet { + name = "xunit.assert"; + version = "2.4.1"; + sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; + }) + (fetchNuGet { + name = "xunit.core"; + version = "2.4.1"; + sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; + }) + (fetchNuGet { + name = "xunit.extensibility.core"; + version = "2.4.1"; + sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; + }) + (fetchNuGet { + name = "xunit.extensibility.execution"; + version = "2.4.1"; + sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; + }) + (fetchNuGet { + name = "xunit.runner.visualstudio"; + version = "2.4.2"; + sha256 = "0fi85h43nyrhfc5jzg07znh01r7cpb7bpjdc6mzb9z1pm14ppfm6"; + }) + (fetchNuGet { + name = "xunit"; + version = "2.4.1"; + sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; + }) + (fetchNuGet { + name = "YamlDotNet"; + version = "8.0.0"; + sha256 = "09hr1jimmfhcpk97p963y94h2k5p7wzcj4mpwqpdnwzbyrp2flpm"; + }) +] diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh new file mode 100755 index 000000000000..1f7dbedd0204 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/btcpayserver/update.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail + +scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd) + +"$scriptDir"/../nbxplorer/util/update-common.sh btcpayserver "$scriptDir"/deps.nix diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix new file mode 100644 index 000000000000..966303ec5a65 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cgminer/default.nix @@ -0,0 +1,49 @@ +{ stdenv +, fetchFromGitHub +, pkgconfig +, 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 = [ pkgconfig ]; + buildInputs = [ autoconf automake 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"]; + + meta = with stdenv.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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix new file mode 100644 index 000000000000..b17876325d5e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/clightning.nix @@ -0,0 +1,50 @@ +{ stdenv, python3, pkgconfig, which, libtool, autoconf, automake, + autogen, sqlite, gmp, zlib, fetchurl, unzip, fetchpatch, gettext }: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "clightning"; + version = "0.9.2"; + + src = fetchurl { + url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip"; + sha256 = "022fw6rbn0chg0432h9q05w8qnys0hd9hf1qm2qlnnmamxw4dyfy"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which unzip gettext ]; + buildInputs = + let py3 = python3.withPackages (p: [ p.Mako ]); + in [ sqlite gmp zlib py3 ]; + + makeFlags = [ "prefix=$(out) VERSION=v${version}" ]; + + configurePhase = '' + ./configure --prefix=$out --disable-developer --disable-valgrind + ''; + + postPatch = '' + patchShebangs \ + tools/generate-wire.py \ + tools/update-mocks.sh \ + tools/mockup.sh \ + devtools/sql-rewrite.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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix new file mode 100644 index 000000000000..f0bcda579301 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix @@ -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 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix new file mode 100644 index 000000000000..b55dd3b5b78d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dashpay.nix @@ -0,0 +1,44 @@ +{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook +, openssl, db48, boost, zlib, miniupnpc +, qrencode, glib, protobuf, yasm, libevent +, util-linux +, 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 util-linux ]; + + + 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; [ ]; + platforms = platforms.unix; + license = licenses.mit; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix new file mode 100644 index 000000000000..e959eca48aeb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrd.nix @@ -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 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix new file mode 100644 index 000000000000..779e7135618a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix @@ -0,0 +1,26 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "dcrwallet"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "decred"; + repo = "dcrwallet"; + rev = "refs/tags/v${version}"; + sha256 = "0ij2mwvdxg78p9qbdf9wm7aaphfg4j8lqgrjyjsj3kyi1l458ds9"; + }; + + vendorSha256 = "0qrrr92cad399xwr64qa9h41wqqaj0dy5mw248g5v53zars541w7"; + + 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 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix new file mode 100644 index 000000000000..8aa693d28714 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dero.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost +, lmdb, miniupnpc, readline }: + +stdenv.mkDerivation rec { + pname = "dero"; + version = "0.11.7"; + + src = fetchFromGitHub { + owner = "deroproject"; + repo = "dero"; + rev = "v${version}"; + sha256 = "1v8b9wbmqbpyf4jpc0v276qzk3hc5fpddcmwvv5k5yfi30nmbh5c"; + }; + + 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix new file mode 100644 index 000000000000..0d0fc081a118 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/digibyte.nix @@ -0,0 +1,69 @@ +{ stdenv +, fetchFromGitHub +, openssl +, boost +, libevent +, autoreconfHook +, db4 +, pkgconfig +, protobuf +, hexdump +, zeromq +, withGui +, qtbase ? null +, qttools ? null +, wrapQtAppsHook ? null +}: + +with stdenv.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 + pkgconfig + 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix new file mode 100644 index 000000000000..527b307042c3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/dogecoin.nix @@ -0,0 +1,41 @@ +{ stdenv , fetchFromGitHub +, pkgconfig, autoreconfHook +, db5, openssl, boost, zlib, miniupnpc, libevent +, protobuf, util-linux, qt4, qrencode +, withGui }: + +with stdenv.lib; +stdenv.mkDerivation rec { + name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version; + version = "1.14.2"; + + src = fetchFromGitHub { + owner = "dogecoin"; + repo = "dogecoin"; + rev = "v${version}"; + sha256 = "1gw46q63mjzwvb17ck6p1bap2xpdrap08szw2kjhasa3yvd5swyy"; + }; + + nativeBuildInputs = [ pkgconfig 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix new file mode 100644 index 000000000000..6b686d0b2d6c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ergo/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, makeWrapper, jre }: + +stdenv.mkDerivation rec { + pname = "ergo"; + version = "3.3.6"; + + src = fetchurl { + url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; + sha256 = "1zi559ixjxxsrpvvjbxa1d0g96px3h9amjvy149sfhp7b8w5hhk3"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontUnpack = true; + + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/ergo --add-flags "-jar $src" + ''; + + meta = with stdenv.lib; { + description = "Open protocol that implements modern scientific ideas in the blockchain area"; + homepage = "https://ergoplatform.org/en/"; + license = licenses.cc0; + platforms = platforms.all; + maintainers = with maintainers; [ mmahut ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix new file mode 100644 index 000000000000..ad574c82b464 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ethabi.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "ethabi"; + version = "11.0.0"; + + src = fetchFromGitHub { + owner = "paritytech"; + repo = "ethabi"; + rev = "v${version}"; + sha256 = "1gqd3vwsvv1wvi659qcdywgmh41swblpwmmxb033k8irw581dwq4"; + }; + + cargoSha256 = "1hx8qw51rl7sn9jmnclw0hc4rx619hf78hpaih5mvny3k0zgiwpm"; + + 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix new file mode 100644 index 000000000000..3992c7824851 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/exodus/default.nix @@ -0,0 +1,80 @@ +{ stdenv, lib, fetchurl, unzip, glib, systemd, nss, nspr, gtk3-x11, pango, +atk, cairo, gdk-pixbuf, xorg, xorg_sys_opengl, util-linux, alsaLib, dbus, at-spi2-atk, +cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core }: + +stdenv.mkDerivation rec { + pname = "exodus"; + version = "20.12.4"; + + src = fetchurl { + url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip"; + sha256 = "1j1iqmcbwfj72l7g83ah701bipas9cqwazyhh0af5hp2ckj9nmmf"; + }; + + 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"' "Exec=Exodus" + ''; + + 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.libXtst + xorg_sys_opengl + util-linux + xorg.libXrandr + xorg.libXScrnSaver + alsaLib + dbus.lib + at-spi2-atk + at-spi2-core + 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 = with maintainers; [ mmahut rople380 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch new file mode 100644 index 000000000000..c49bbc432519 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch @@ -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 diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix new file mode 100644 index 000000000000..b0f464cbfdc8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix @@ -0,0 +1,46 @@ +{ stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }: + +buildGoModule rec { + pname = "go-ethereum"; + version = "1.9.24"; + + src = fetchFromGitHub { + owner = "ethereum"; + repo = pname; + rev = "v${version}"; + sha256 = "0nrx5fwfij9wajd3lj76hh1yv4zg4q3jc76a76m22djn1njl0n5j"; + }; + + runVend = true; + vendorSha256 = "1qbg44cryiv9kvcak6qjrbmkc9bxyk5fybj62vdkskqfjvv86068"; + + doCheck = false; + + 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 = + stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; + + 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 lionello xrelkd RaghavSood ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix new file mode 100644 index 000000000000..4c64c595fefb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, makeDesktopItem, appimageTools, imagemagick }: + +let + pname = "ledger-live-desktop"; + version = "2.18.0"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage"; + sha256 = "19sx9n5mij68v07vy65h1c16rgbpll3kagr437cjb7r95k3nk2zn"; + }; + + 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}/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 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 nyanloutre RaghavSood th0rgal ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix new file mode 100644 index 000000000000..85adbec718f3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/litecoin.nix @@ -0,0 +1,55 @@ +{ stdenv, mkDerivation, fetchFromGitHub +, pkgconfig, autoreconfHook +, openssl, db48, boost, zlib, miniupnpc +, glib, protobuf, util-linux, qrencode +, AppKit +, withGui ? true, libevent +, qtbase, qttools +, zeromq +}: + +with stdenv.lib; + +mkDerivation rec { + + name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version; + version = "0.18.1"; + + src = fetchFromGitHub { + owner = "litecoin-project"; + repo = "litecoin"; + rev = "v${version}"; + sha256 = "11753zhyx1kmrlljc6kbjwrcb06dfcrsqvmw3iaki9a132qk6l5c"; + }; + + nativeBuildInputs = [ pkgconfig 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 = { + 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 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix new file mode 100644 index 000000000000..831195f06f0d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/lnd.nix @@ -0,0 +1,40 @@ +{ buildGoModule, fetchFromGitHub, lib +, tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" ] +}: + +buildGoModule rec { + pname = "lnd"; + version = "0.11.0-beta"; + + src = fetchFromGitHub { + owner = "lightningnetwork"; + repo = "lnd"; + rev = "v${version}"; + sha256 = "1r1hwz8ka5mnmrvj9zcd78kn68g8fg3d4bdx9i0xy4sc2hh1dcpj"; + }; + + vendorSha256 = "090b9sxvdwh787w0rhrcbky9pbx64qgqx1pvk9ysk3886nxdhf7k"; + + doCheck = false; + + 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 = lib.licenses.mit; + maintainers = with maintainers; [ cypherpunk2140 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix new file mode 100644 index 000000000000..dfa005abb6ec --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/masari.nix @@ -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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix new file mode 100644 index 000000000000..16f4aefe349e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix @@ -0,0 +1,111 @@ +{ stdenv, wrapQtAppsHook, makeDesktopItem +, fetchFromGitHub +, cmake, qttools, pkgconfig +, qtbase, qtdeclarative, qtgraphicaleffects +, qtmultimedia, qtxmlpatterns +, qtquickcontrols, qtquickcontrols2 +, monero, miniupnpc, unbound, readline +, boost, libunwind, libsodium, pcsclite +, randomx, zeromq, libgcrypt, libgpgerror +, hidapi, rapidjson +, trezorSupport ? true +, libusb1 ? null +, protobuf ? null +, python3 ? null +}: + +with stdenv.lib; + +assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ]; + +let + arch = if stdenv.isx86_64 then "x86-64" + else if stdenv.isi686 then "i686" + else if stdenv.isAarch64 then "armv8-a" + else throw "unsupported architecture"; +in + +stdenv.mkDerivation rec { + pname = "monero-gui"; + version = "0.17.1.5"; + + src = fetchFromGitHub { + owner = "monero-project"; + repo = "monero-gui"; + rev = "v${version}"; + sha256 = "0qlcqli0wvrjfy89mbgh1hpmk60dxgn5sws93h8lhgyfwx557iw0"; + }; + + nativeBuildInputs = [ + cmake pkgconfig wrapQtAppsHook + (getDev qttools) + ]; + + buildInputs = [ + qtbase qtdeclarative qtgraphicaleffects + qtmultimedia qtquickcontrols qtquickcontrols2 + qtxmlpatterns + monero miniupnpc unbound readline + randomx libgcrypt libgpgerror + boost libunwind libsodium pcsclite + zeromq hidapi rapidjson + ] ++ optionals trezorSupport [ libusb1 protobuf python3 ]; + + postUnpack = '' + # copy monero sources here + # (needs to be writable) + cp -r ${monero.source}/* source/monero + chmod -R +w source/monero + ''; + + patches = [ ./move-log-file.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}/bin' + + # only build external deps, *not* the full monero + substituteInPlace CMakeLists.txt \ + --replace 'add_subdirectory(monero)' \ + 'add_subdirectory(monero EXCLUDE_FROM_ALL)' + ''; + + cmakeFlags = [ "-DARCH=${arch}" ]; + + 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 = { + description = "Private, secure, untraceable currency"; + homepage = "https://getmonero.org/"; + license = licenses.bsd3; + platforms = platforms.all; + badPlatforms = platforms.darwin; + maintainers = with maintainers; [ rnhmjoj ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch new file mode 100644 index 000000000000..6d3313624e37 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero-gui/move-log-file.patch @@ -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); diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix new file mode 100644 index 000000000000..2978d65e2ef0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/default.nix @@ -0,0 +1,68 @@ +{ stdenv, fetchFromGitHub, fetchpatch +, cmake, pkgconfig +, boost, miniupnpc, openssl, unbound +, zeromq, pcsclite, readline, libsodium, hidapi +, randomx, rapidjson +, CoreData, IOKit, PCSC +, trezorSupport ? true +, libusb1 ? null +, protobuf ? null +, python3 ? null +}: + +with stdenv.lib; + +assert stdenv.isDarwin -> IOKit != null; +assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ]; + +stdenv.mkDerivation rec { + pname = "monero"; + version = "0.17.1.5"; + + src = fetchFromGitHub { + owner = "monero-project"; + repo = "monero"; + rev = "v${version}"; + sha256 = "0yy9n2qng02j314h8fh5n0mcy6vpdks0yk4d8ifn8hj03f3g2c8b"; + 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 pkgconfig ]; + + buildInputs = [ + boost miniupnpc openssl unbound + zeromq pcsclite readline + libsodium hidapi randomx rapidjson + protobuf + ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ] + ++ 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}" + ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; + + outputs = [ "out" "source" ]; + + meta = with stdenv.lib; { + description = "Private, secure, untraceable currency"; + homepage = "https://getmonero.org/"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = with maintainers; [ ehmry rnhmjoj ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch new file mode 100644 index 000000000000..57e2a2e9a696 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/monero/use-system-libraries.patch @@ -0,0 +1,69 @@ +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index a8916a7d0..39ec7747b 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -37,34 +37,16 @@ + + 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) + + if(NOT UNBOUND_INCLUDE_DIR OR STATIC) +- # NOTE: If STATIC is true, CMAKE_FIND_LIBRARY_SUFFIXES has been reordered. +- # unbound has config tests which used OpenSSL libraries, so -ldl may need to +- # be set in this case. +- # The unbound CMakeLists.txt can set it, since it's also needed for the +- # static OpenSSL libraries set up there after with target_link_libraries. +- add_subdirectory(unbound) +- +- set(UNBOUND_STATIC true PARENT_SCOPE) +- set(UNBOUND_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/unbound/libunbound" PARENT_SCOPE) +- set(UNBOUND_LIBRARY "unbound" PARENT_SCOPE) +- set(UNBOUND_LIBRARY_DIRS "${LIBEVENT2_LIBDIR}" PARENT_SCOPE) ++ set(UNBOUND_STATIC false PARENT_SCOPE) ++ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) ++ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) + else() + message(STATUS "Found libunbound include (unbound.h) in ${UNBOUND_INCLUDE_DIR}") + if(UNBOUND_LIBRARIES) +@@ -81,4 +63,5 @@ endif() + add_subdirectory(db_drivers) + add_subdirectory(easylogging++) + add_subdirectory(qrcodegen) +-add_subdirectory(randomx EXCLUDE_FROM_ALL) ++ ++find_library(RANDOMX_LIBRARIES NAMES RandomX) +diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl +index 175741146..088b582f7 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" diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix new file mode 100644 index 000000000000..77e603e8380b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/mycrypto/default.nix @@ -0,0 +1,59 @@ +{ lib, appimageTools, fetchurl, makeDesktopItem +, gsettings-desktop-schemas, gtk2 +}: + +let + pname = "MyCrypto"; + version = "1.7.12"; + sha256 = "0zmdmkli9zxygrcvrd4lbi0xqyq32dqlkxby8lsjknj1nd6l26n3"; + 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; + + profile = '' + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk2}/share/gsettings-schemas/${gtk2.name}:$XDG_DATA_DIRS + ''; + + 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 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix new file mode 100644 index 000000000000..cbce17731043 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/namecoin.nix @@ -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.20.1"; + name = "namecoin" + toString (optional (!withGui) "d") + "-" + version; + + src = fetchFromGitHub { + owner = "namecoin"; + repo = "namecoin-core"; + rev = version; + sha256 = "1wpfp9y95lmfg2nk1xqzchwck1wk6gwkya1rj07mf5in9jngxk9z"; + }; + + 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; [ infinisil ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch new file mode 100644 index 000000000000..5bbec1d39bea --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/CMakeLists.txt.patch @@ -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) diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix new file mode 100644 index 000000000000..664e26740629 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix @@ -0,0 +1,64 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook, boost, libGL +, qtbase}: + +stdenv.mkDerivation rec { + + pname = "nano-wallet"; + version = "20.0"; + + src = fetchFromGitHub { + owner = "nanocurrency"; + repo = "raiblocks"; + rev = "V${version}"; + sha256 = "12nrjjd89yjzx20d85ccmp395pl0djpx0x0qb8dgka8xfy11k7xn"; + 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 wrapQtAppsHook ]; + buildInputs = [ boost libGL qtbase ]; + + buildPhase = '' + make nano_wallet + ''; + + # Move executables under bin directory + postInstall = '' + mkdir -p $out/bin + mv $out/nano* $out/bin/ + ''; + + 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 ]; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix new file mode 100644 index 000000000000..45143a797e5b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper, + dotnetPackages, dotnetCorePackages +}: + +let + deps = import ./deps.nix { + fetchNuGet = { name, version, sha256 }: fetchurl { + name = "nuget-${name}-${version}.nupkg"; + url = "https://www.nuget.org/api/v2/package/${name}/${version}"; + inherit sha256; + }; + }; + dotnetSdk = dotnetCorePackages.sdk_3_1; +in + +stdenv.mkDerivation rec { + pname = "nbxplorer"; + version = "2.1.46"; + + src = fetchFromGitHub { + owner = "dgarage"; + repo = "NBXplorer"; + rev = "v${version}"; + sha256 = "1aph7yiwmch7s7x1qkzqv1shs3v6kg8i2s7266la0yp9ksf3w35p"; + }; + + nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ]; + + buildPhase = '' + export HOME=$TMP/home + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + + nuget sources Add -Name tmpsrc -Source $TMP/nuget + nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget + + dotnet restore --source $TMP/nuget NBXplorer/NBXplorer.csproj + dotnet publish --no-restore --output $out/share/$pname -c Release NBXplorer/NBXplorer.csproj + ''; + + installPhase = '' + makeWrapper $out/share/$pname/NBXplorer $out/bin/$pname \ + --set DOTNET_ROOT "${dotnetSdk}" + ''; + + dontStrip = true; + + meta = with lib; { + description = "Minimalist UTXO tracker for HD Cryptocurrency Wallets"; + maintainers = with maintainers; [ kcalvinalvin earvstedt ]; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix new file mode 100644 index 000000000000..85d395089de1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix @@ -0,0 +1,1077 @@ +{ fetchNuGet }: [ + (fetchNuGet { + name = "DBTrie"; + version = "1.0.38"; + sha256 = "09n9f2j0pha2np9cpbgjfs19jwvfmrglws89izarq71gl8jia6d9"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.JsonPatch"; + version = "3.1.5"; + sha256 = "0agcp9c8zf59bliybjfg5whby7k1i1xc4sccyyyj3qcx1snf6lfx"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; + version = "3.1.5"; + sha256 = "1n76xr3jn4bcxm9f3lk8k76zn39mhyqcj5b0dqhi2xykyvvrqjgc"; + }) + (fetchNuGet { + name = "Microsoft.Azure.Amqp"; + version = "2.4.2"; + sha256 = "0pfgl6fnw3apwasfg1dp5pvi5h0z0vmznhn2bfsgwndn1xlfw1g9"; + }) + (fetchNuGet { + name = "Microsoft.Azure.ServiceBus"; + version = "4.1.3"; + sha256 = "1mj21nal3hv8b5678rah808521c5rkb0yh6hrlqirsdgxwnl6z6g"; + }) + (fetchNuGet { + name = "Microsoft.Azure.Services.AppAuthentication"; + version = "1.0.3"; + sha256 = "0as64agcsilwgbvwx7iw3abdxyp9cbfpczbagjz49mqmmgnqp899"; + }) + (fetchNuGet { + name = "Microsoft.CodeCoverage"; + version = "16.7.1"; + sha256 = "1farw63445cdyciplfs6l9j1gayxw16rkzmrwsiswfyjhqz70xd4"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.0.1"; + sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.3.0"; + sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.7.0"; + sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.0"; + sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "2.1.0"; + sha256 = "0xx3idb1l5y1da5zynlys5gyarijmw5pc9hgci8xdxbrcv6rzbjb"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "2.1.0"; + sha256 = "1lz2xwm63clbh9dfhmygbqvcp4dsrwh5jihv82dmqd5h7lqngl40"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration.Ini"; + version = "2.1.0"; + sha256 = "0bchsljywcq36si4zs2dcx2gj8x98ww93dh2bx2z6x5ilxyjnfip"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Configuration"; + version = "2.1.0"; + sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.1.0"; + sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Physical"; + version = "2.1.0"; + sha256 = "1firpsl5bk219i9gdfgiqw1zm68146h1dzx9hvawfpw9slfaa56w"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileSystemGlobbing"; + version = "2.1.0"; + sha256 = "1d2622qp22x1cnlwycnzjbc3sgi9jria26fk78zwzsa08npa3avv"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "1.0.0"; + sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.0"; + sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "2.1.0"; + sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; + }) + (fetchNuGet { + name = "Microsoft.IdentityModel.Clients.ActiveDirectory"; + version = "3.14.2"; + sha256 = "0g9a2z1qjxd71lqqghp0a542xk9jkvz951bbnnnw43is4hlnqncq"; + }) + (fetchNuGet { + name = "Microsoft.IdentityModel.JsonWebTokens"; + version = "5.4.0"; + sha256 = "0a5fn0p10dmkwa7vvbq28xw78aq33xm7c82l7vhla95n0lr178n8"; + }) + (fetchNuGet { + name = "Microsoft.IdentityModel.Logging"; + version = "5.4.0"; + sha256 = "1idlpyg3q3syam6aflfbnsa7iql685mjralr1cnfpryf00lm59v0"; + }) + (fetchNuGet { + name = "Microsoft.IdentityModel.Tokens"; + version = "5.4.0"; + sha256 = "0gpdh5rs0p97zm41pphha8n3ccd50b1iszikj3917f111khpw8l0"; + }) + (fetchNuGet { + name = "Microsoft.NET.Test.Sdk"; + version = "16.7.1"; + sha256 = "0yqxipj74ax2n76w9ccydppx78ym8m5fda88qnvj4670qjvl0kf8"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.0.2"; + sha256 = "17rrj0awknxx6rpdxr7yijdxqdmbbpdlcf2nsadjbd4d2gw7dck0"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + name = "Microsoft.TestPlatform.ObjectModel"; + version = "16.7.1"; + sha256 = "0s9dyh99gzdpk1i5v468i2r9m6i3jrr41r394pwdwiajsz99kay0"; + }) + (fetchNuGet { + name = "Microsoft.TestPlatform.TestHost"; + version = "16.7.1"; + sha256 = "1xik06rxn9ps83in0zn9vcl2ibv3acmdqvrx07qq89lxj1sgqlhs"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.3.0"; + sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; + }) + (fetchNuGet { + name = "NBitcoin.Altcoins"; + version = "2.0.21"; + sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1"; + }) + (fetchNuGet { + name = "NBitcoin.TestFramework"; + version = "2.0.12"; + sha256 = "1d6lmymc9x3p74c8hc2x3m61ncnkqqgrddw9cw2m0zkvilkncsns"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.58"; + sha256 = "0qim9xbbj380254iyi1jsh2gnr90ddwd2593jw9a8bjwnlk7qr2c"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.60"; + sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "1.6.1"; + sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + }) + (fetchNuGet { + name = "Newtonsoft.Json.Bson"; + version = "1.0.2"; + sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "10.0.3"; + sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "11.0.1"; + sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "12.0.2"; + sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "9.0.1"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }) + (fetchNuGet { + name = "NicolasDorier.CommandLine.Configuration"; + version = "1.0.0.3"; + sha256 = "0al0pd4zhjpmn8m208xjmy17cbyab68grzdvzr2lhsckwkl6b1jg"; + }) + (fetchNuGet { + name = "NicolasDorier.CommandLine"; + version = "1.0.0.2"; + sha256 = "08a9l18zkhcfa6f56xqylzvmqjzgxsmgkpm2r3ckvxfyml6w0qyy"; + }) + (fetchNuGet { + name = "NicolasDorier.StandardConfiguration"; + version = "1.0.0.18"; + sha256 = "0lgssxafv6cqlw21fb79fm0fcln0clgsk6zadcwrnjv9vampfw7b"; + }) + (fetchNuGet { + name = "NuGet.Frameworks"; + version = "5.0.0"; + sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; + }) + (fetchNuGet { + name = "RabbitMQ.Client"; + version = "5.1.2"; + sha256 = "195nxmnva1z2p0ahvn0kswv4d39f5bdy2sl3cxcvfziamc21xrmd"; + }) + (fetchNuGet { + name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + name = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.0.1"; + sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Security"; + version = "4.3.0"; + sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography"; + version = "4.0.0"; + sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.0.0"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + name = "System.AppContext"; + version = "4.3.0"; + sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.4.0"; + sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.5.0"; + sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; + }) + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.0.12"; + sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; + }) + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + name = "System.Collections.NonGeneric"; + version = "4.3.0"; + sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; + }) + (fetchNuGet { + name = "System.Collections.Specialized"; + version = "4.3.0"; + sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + name = "System.ComponentModel.Primitives"; + version = "4.3.0"; + sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; + }) + (fetchNuGet { + name = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; + }) + (fetchNuGet { + name = "System.ComponentModel"; + version = "4.3.0"; + sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; + }) + (fetchNuGet { + name = "System.Console"; + version = "4.3.0"; + sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.5.1"; + sha256 = "1j8dgilsgd0n7y87wq1cdlnwck96wijhbyhdp4d01l1gzm3074c1"; + }) + (fetchNuGet { + name = "System.Diagnostics.Process"; + version = "4.3.0"; + sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.0.1"; + sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.0.11"; + sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.3.0"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }) + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.0.1"; + sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; + }) + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + name = "System.IdentityModel.Tokens.Jwt"; + version = "5.4.0"; + sha256 = "05f91fjn054bwphmbbg7c38ipl4i81v73j232jgcq6y16dx6ifyc"; + }) + (fetchNuGet { + name = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; + }) + (fetchNuGet { + name = "System.IO.Compression"; + version = "4.3.0"; + sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.1.0"; + sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.3.0"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + name = "System.Memory"; + version = "4.5.0"; + sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; + }) + (fetchNuGet { + name = "System.Net.Http"; + version = "4.3.0"; + sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; + }) + (fetchNuGet { + name = "System.Net.NameResolution"; + version = "4.3.0"; + sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; + }) + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.0.11"; + sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; + }) + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + name = "System.Net.Security"; + version = "4.3.0"; + sha256 = "1aa5igz31ivk6kpgsrwck3jccab7wd88wr52lddmgypmbh9mmf87"; + }) + (fetchNuGet { + name = "System.Net.Sockets"; + version = "4.3.0"; + sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; + }) + (fetchNuGet { + name = "System.Net.WebHeaderCollection"; + version = "4.0.1"; + sha256 = "10bxpxj80c4z00z3ksrfswspq9qqsw8jwxcbzvymzycb97m9b55q"; + }) + (fetchNuGet { + name = "System.Net.WebHeaderCollection"; + version = "4.3.0"; + sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562"; + }) + (fetchNuGet { + name = "System.Net.WebSockets.Client"; + version = "4.0.2"; + sha256 = "0p8m9h94h9za8281hngpi6awka6v26s1gkk0npmxzqq4ilas6b4s"; + }) + (fetchNuGet { + name = "System.Net.WebSockets.Client"; + version = "4.3.2"; + sha256 = "103y8lfsfa5xd1sqmq9sml4qyp4rij2i3fnnw119h119hb04l0rk"; + }) + (fetchNuGet { + name = "System.Net.WebSockets"; + version = "4.0.0"; + sha256 = "04jdhq9dp43x1m6hddn06sq74skc50i1yk6hip0224pj6fwxa4k2"; + }) + (fetchNuGet { + name = "System.Net.WebSockets"; + version = "4.3.0"; + sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p"; + }) + (fetchNuGet { + name = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.0.12"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.3.0"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }) + (fetchNuGet { + name = "System.Private.DataContractSerialization"; + version = "4.1.1"; + sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; + }) + (fetchNuGet { + name = "System.Private.DataContractSerialization"; + version = "4.3.0"; + sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.0.1"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.0"; + sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.0.1"; + sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Formatters"; + version = "4.3.0"; + sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Json"; + version = "4.0.2"; + sha256 = "08ypbzs0sb302ga04ds5b2wxa2gg0q50zpa0nvc87ipjhs0v66dn"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.3.0"; + sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Xml"; + version = "4.3.0"; + sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + name = "System.Security.Claims"; + version = "4.3.0"; + sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.2.0"; + sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.0.0"; + sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.0.0"; + sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.0.0"; + sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.0.0"; + sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.1.0"; + sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.3.0"; + sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; + }) + (fetchNuGet { + name = "System.Security.Principal"; + version = "4.3.0"; + sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.1.0"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.3.0"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }) + (fetchNuGet { + name = "System.Threading.Channels"; + version = "4.7.1"; + sha256 = "038fyrriypwzsj5fwgnkw79hm5ya0x63r724yizgahbxf512chr2"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + name = "System.Threading.Thread"; + version = "4.3.0"; + sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; + }) + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.3.0"; + sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; + }) + (fetchNuGet { + name = "System.Threading.Timer"; + version = "4.3.0"; + sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.3.0"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.0.11"; + sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.3.0"; + sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.0.1"; + sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.3.0"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }) + (fetchNuGet { + name = "System.Xml.XmlSerializer"; + version = "4.0.11"; + sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; + }) + (fetchNuGet { + name = "System.Xml.XmlSerializer"; + version = "4.3.0"; + sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; + }) + (fetchNuGet { + name = "xunit.abstractions"; + version = "2.0.3"; + sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; + }) + (fetchNuGet { + name = "xunit.analyzers"; + version = "0.10.0"; + sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; + }) + (fetchNuGet { + name = "xunit.assert"; + version = "2.4.1"; + sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; + }) + (fetchNuGet { + name = "xunit.core"; + version = "2.4.1"; + sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; + }) + (fetchNuGet { + name = "xunit.extensibility.core"; + version = "2.4.1"; + sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; + }) + (fetchNuGet { + name = "xunit.extensibility.execution"; + version = "2.4.1"; + sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; + }) + (fetchNuGet { + name = "xunit.runner.visualstudio"; + version = "2.4.3"; + sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3"; + }) + (fetchNuGet { + name = "xunit"; + version = "2.4.1"; + sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; + }) +] diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh new file mode 100755 index 000000000000..5db2723ef8e9 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/update.sh @@ -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 diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh new file mode 100755 index 000000000000..1402d1cd1eb8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/create-deps.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p dotnet-sdk_3 +set -euo pipefail + +# Writes deps for dotnet package in $pkgSrc to $depsFile. +# Expects $pkgSrc to contain a single .sln file. + +pkgSrc=$1 +depsFile=$2 + +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 -v normal --no-cache "$sln" > restore_log + +echo "{ fetchNuGet }: [" > "$depsFile" +while read pkgSpec; do + { read name; 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 { + name = "$name"; + 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 diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh new file mode 100755 index 000000000000..c69168ccbbb1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/nbxplorer/util/update-common.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils curl jq common-updater-scripts dotnet-sdk_3 +set -euo pipefail + +# This script uses the following env vars: +# getVersionFromTags +# onlyCreateDeps + +pkgName=$1 +depsFile=$2 + +: ${getVersionFromTags:=} +: ${onlyCreateDeps:=} + +scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd) +nixpkgs=$(realpath "$scriptDir"/../../../../..) + +evalNixpkgs() { + nix eval --raw "(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 https://github.com/$(getRepo) 2>/dev/null \ + | sort -V | tail -1 | sed 's|^v||' +} + +if [[ ! $onlyCreateDeps ]]; then + 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 ]]; then + echo "nixpkgs already has the latest version $newVersion" + echo "Run this script with env var onlyCreateDeps=1 to recreate "$(basename "$depsFile") + exit 0 + else + echo "Updating $pkgName: $oldVersion -> $newVersion" + (cd "$nixpkgs" && update-source-version "$pkgName" "$newVersion") + fi +fi + +storeSrc="$(nix-build "$nixpkgs" -A $pkgName.src --no-out-link)" +. "$scriptDir"/create-deps.sh "$storeSrc" "$depsFile" diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix new file mode 100644 index 000000000000..563b2378f845 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix @@ -0,0 +1,50 @@ +{ lib +, fetchFromGitHub +, rustPlatform +, cmake +, llvmPackages +, openssl +, pkg-config +, stdenv +, systemd +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "openethereum"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "openethereum"; + repo = "openethereum"; + rev = "v${version}"; + sha256 = "cs84Zz0nhagGDu5sDFTaFZF3SPEgJU8F4vGX7KLihOM="; + }; + + cargoSha256 = "6suNkHw1BbISb0MkYkUaD+mpUal+kn3y1SFVqzJFqJc="; + + LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; + nativeBuildInputs = [ + cmake + llvmPackages.clang + llvmPackages.libclang + pkg-config + ]; + + buildInputs = [ openssl ] + ++ stdenv.lib.optionals stdenv.isLinux [ systemd ] + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ]; + + cargoBuildFlags = [ "--features final" ]; + + # test result: FAILED. 88 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out + doCheck = false; + + meta = with lib; { + description = "Fast, light, robust Ethereum implementation"; + homepage = "http://parity.io/ethereum"; + license = licenses.gpl3; + maintainers = with maintainers; [ akru xrelkd ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix new file mode 100644 index 000000000000..b18c121607ab --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix @@ -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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix new file mode 100644 index 000000000000..a878bbf2e3e3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix @@ -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; } diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix new file mode 100644 index 000000000000..f30e9a609808 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix @@ -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.19.1.1"; + + src = fetchurl { + url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz"; + sha256 = "11y5q2srkh6r2samppjb5mg6hl79y16j2lj1r23p0968vb9c45kl"; + }; + + 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix new file mode 100644 index 000000000000..6d6f881ae65f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/pivx.nix @@ -0,0 +1,59 @@ +{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook, wrapQtAppsHook ? null +, openssl, db48, boost, zlib, miniupnpc, gmp +, qrencode, glib, protobuf, yasm, libevent +, util-linux, qtbase ? null, qttools ? null +, enableUpnp ? false +, disableWallet ? false +, disableDaemon ? false +, withGui ? false }: + +with stdenv.lib; +stdenv.mkDerivation rec { + name = "pivx-${version}"; + version = "4.1.1"; + + src = fetchFromGitHub { + owner = "PIVX-Project"; + repo= "PIVX"; + rev = "v${version}"; + sha256 = "03ndk46h6093v8s18d5iffz48zhlshq7jrk6vgpjfs6z2iqgd2sy"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ] ++ optionals withGui [ wrapQtAppsHook ]; + buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ] + ++ 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/ + ''; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/test_pivx + ''; + + 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://pivx.org"; + maintainers = with maintainers; [ wucke13 ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix new file mode 100644 index 000000000000..866adeea2780 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix @@ -0,0 +1,41 @@ +{ clang +, fetchFromGitHub +, lib +, llvmPackages +, protobuf +, rustPlatform +}: +rustPlatform.buildRustPackage rec { + pname = "polkadot"; + version = "0.8.26-1"; + + src = fetchFromGitHub { + owner = "paritytech"; + repo = "polkadot"; + rev = "v${version}"; + sha256 = "17ji1gjrx3gzw4msaz9kgvm132y14wgh8z183l3mfw1cj44a6kqk"; + }; + + cargoSha256 = "07zwlwx02xw1y20br2c4grwv7bprhynqy7gav4qh3vw117ijpiqk"; + + nativeBuildInputs = [ clang ]; + + LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; + PROTOC = "${protobuf}/bin/protoc"; + + # NOTE: We don't build the WASM runtimes since this would require a more + # complicated rust environment setup. The resulting binary is still useful for + # live networks since those just use the WASM blob from the network chainspec. + BUILD_DUMMY_WASM_BINARY = 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.gpl3; + maintainers = with maintainers; [ akru andresilva RaghavSood ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix new file mode 100644 index 000000000000..eb98777c587d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/quorum.nix @@ -0,0 +1,41 @@ +{ stdenv, 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 stdenv.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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch new file mode 100644 index 000000000000..57d66ce5919a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core-dirty-version.patch @@ -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 \ diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix new file mode 100644 index 000000000000..6bb717a0344b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/stellar-core.nix @@ -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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix new file mode 100644 index 000000000000..beb294d2dfe0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/sumokoin.nix @@ -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 = "A fork of Monero and a truely fungible cryptocurrency"; + homepage = "https://www.sumokoin.org/"; + license = licenses.bsd3; + maintainers = with maintainers; [ fpletz ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix new file mode 100644 index 000000000000..84f7925d2180 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/tessera.nix @@ -0,0 +1,26 @@ +{ 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 stdenv.lib; { + description = "Enterprise Implementation of Quorum's transaction manager"; + homepage = "https://github.com/jpmorganchase/tessera"; + license = licenses.asl20; + maintainers = with maintainers; [ mmahut ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix new file mode 100644 index 000000000000..b8aa3de44dad --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix @@ -0,0 +1,29 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "turbo-geth"; + version = "2020.12.01"; + + src = fetchFromGitHub { + owner = "ledgerwatch"; + repo = pname; + rev = "v${version}"; + sha256 = "0l1qj10vhfkrk66zihz8m24pnyj8jbb65a7amvphp07r199swy2a"; + }; + + vendorSha256 = "16vawkky612zf45d8dhipjmhrprmi28z9wdcnjy07x3bxdyfbhfr"; + runVend = true; + + subPackages = [ + "cmd/tg" + "cmd/restapi" + "cmd/rpcdaemon" + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/ledgerwatch/turbo-geth/"; + description = "Ethereum node and geth fork focused on scalability and modularity"; + license = with licenses; [ lgpl3 gpl3 ]; + maintainers = with maintainers; [ xwvvvvwx ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix new file mode 100644 index 000000000000..21104012f4d2 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/vertcoin.nix @@ -0,0 +1,69 @@ +{ stdenv +, fetchFromGitHub +, openssl +, boost +, libevent +, autoreconfHook +, db4 +, pkgconfig +, protobuf +, hexdump +, zeromq +, withGui +, qtbase ? null +, qttools ? null +, wrapQtAppsHook ? null +}: + +with stdenv.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 + pkgconfig + 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; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh new file mode 100644 index 000000000000..814f92a341a6 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh @@ -0,0 +1,98 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p dotnet-sdk_3 nixfmt + +# Run this script to generate deps.nix +# ./create_deps.sh /path/to/package/source/checkout > deps.nix + +# TODO: consolidate with other dotnet deps generation scripts by which +# this script is inspired: +# - pkgs/servers/nosql/eventstore/create-deps.sh +# - pkgs/development/dotnet-modules/python-language-server/create_deps.sh + +URLBASE="https://www.nuget.org/api/v2/package" + +DEPS_HEADER=" +{ fetchurl }: +let + nugetUrlBase = \"$URLBASE\"; + fetchNuGet = { name, version, sha256 }: fetchurl { + inherit sha256; + url = \"\${nugetUrlBase}/\${name}/\${version}\"; + }; +in [" + +DEPS_FOOTER="]" + +DEPS_TEMPLATE=" +(fetchNuGet { + name = \"%s\"; + version = \"%s\"; + sha256 = \"%s\"; +})" + + +function generate_restore_log() { + checkout_path=$1 + >&2 echo "generating restore log for $checkout_path..." + cd $checkout_path + dotnet nuget locals all --clear + dotnet restore -v normal --no-cache WalletWasabi.Backend -r linux-x64 + cd - +} + +function process_restore_log() { + restore_log=$1 + >&2 echo "processing restore log..." + while read line; do + if echo $line | grep -q "^[[:space:]]*Installing"; then + l=$(echo $line | xargs) + l=${l#Installing } + l=${l%.} + echo $l + fi + done < $restore_log +} + +function prefetch_deps() { + processed_log=$1 + >&2 echo "prefetching deps..." + while read line; do + name=$(echo $line | cut -d' ' -f1) + >&2 echo "prefetching '$name' version: $version" + version=$(echo $line | cut -d' ' -f2) + hash=$(nix-prefetch-url "$URLBASE/$name/$version" 2>/dev/null) + echo "$name $version $hash" + done < $processed_log +} + +function generate_deps_expression() { + packages=$1 + >&2 echo "generating deps nix-expression..." + echo $DEPS_HEADER + while read line; do + name=$(echo $line | cut -d' ' -f1) + version=$(echo $line | cut -d' ' -f2) + hash=$(echo $line | cut -d' ' -f3) + printf "$DEPS_TEMPLATE" $name $version $hash + done < $packages + echo $DEPS_FOOTER +} + +function main() { + checkout_path=$1 + tmpdir=$(mktemp -d) + generate_restore_log $checkout_path > $tmpdir/restore.log + process_restore_log $tmpdir/restore.log > $tmpdir/processed.log + prefetch_deps $tmpdir/processed.log > $tmpdir/prefetched.log + generate_deps_expression $tmpdir/prefetched.log > $tmpdir/deps.nix + nixfmt $tmpdir/deps.nix + cat $tmpdir/deps.nix + rm -rf $tmpdir +} + +if [ ! -d "$1" ]; then + >&2 echo "First argument must be a directory, the path to the package source checkout" + exit 1 +fi + +main $@ diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix new file mode 100644 index 000000000000..6b5358c9cf93 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix @@ -0,0 +1,100 @@ +{ stdenv +, fetchFromGitHub +, fetchurl +, makeWrapper +, Nuget +, dotnetCorePackages +, openssl +, zlib +}: + +let + deps = import ./deps.nix { inherit fetchurl; }; + + dotnet-sdk = dotnetCorePackages.sdk_3_1; + dotnet-aspnetcore = dotnetCorePackages.aspnetcore_3_1; + + nugetSource = stdenv.mkDerivation { + pname = "${pname}-nuget-deps"; + inherit version; + + dontUnpack = true; + dontInstall = true; + + nativeBuildInputs = [ Nuget ]; + + buildPhase = '' + export HOME=$(mktemp -d) + mkdir -p $out/lib + + nuget sources Disable -Name "nuget.org" + for package in ${toString deps}; do + nuget add $package -Source $out/lib + done + ''; + }; + + pname = "WasabiBackend"; + version = "1.1.12"; + + projectName = "WalletWasabi.Backend"; + projectConfiguration = "Release"; + projectRuntime = "linux-x64"; +in + +stdenv.mkDerivation rec { + inherit pname version; + + src = fetchFromGitHub { + owner = "zkSNACKs"; + repo = "WalletWasabi"; + rev = "v${version}"; + sha256 = "001k43z2jxvs03csyzndlzlk034aclzc4n8ddrqxykgrq508xk1d"; + }; + + buildInputs = [ + Nuget + dotnet-sdk + makeWrapper + ]; + + buildPhase = '' + export HOME=$(mktemp -d) + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + export DOTNET_ROOT="${dotnet-sdk}/bin" + + nuget sources Disable -Name "nuget.org" + + dotnet restore \ + --source ${nugetSource}/lib \ + --runtime ${projectRuntime} \ + ${projectName} + + dotnet publish \ + --no-restore \ + --runtime ${projectRuntime} \ + --configuration ${projectConfiguration} \ + ${projectName} + ''; + + installPhase = '' + mkdir -p $out + cp -r ${projectName}/bin/${projectConfiguration}/netcoreapp3.1/${projectRuntime}/publish $out/lib + mkdir -p $out/bin + makeWrapper $out/lib/WalletWasabi.Backend $out/bin/${pname} \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl zlib ]} \ + --run "cd $out/lib" + ''; + + # If we don't disable stripping the executable fails to start with segfault + dontStrip = true; + + meta = with stdenv.lib; { + description = "Backend for the Wasabi Wallet"; + homepage = "https://wasabiwallet.io/"; + license = licenses.mit; + maintainers = with maintainers; [ mmahut ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix new file mode 100644 index 000000000000..4d4489efa3cb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix @@ -0,0 +1,956 @@ +{ fetchurl }: +let + nugetUrlBase = "https://www.nuget.org/api/v2/package"; + fetchNuGet = { name, version, sha256 }: + fetchurl { + inherit sha256; + url = "${nugetUrlBase}/${name}/${version}"; + }; +in [ + + (fetchNuGet { + name = "System.Xml.XmlSerializer"; + version = "4.0.11"; + sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.0.11"; + sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; + }) + (fetchNuGet { + name = "System.Threading.Overlapped"; + version = "4.0.1"; + sha256 = "0fi79az3vmqdp9mv3wh2phblfjls89zlj6p9nc3i9f6wmfarj188"; + }) + (fetchNuGet { + name = "System.Security.Principal"; + version = "4.0.1"; + sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p"; + }) + (fetchNuGet { + name = "System.Private.DataContractSerialization"; + version = "4.1.1"; + sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.0.0"; + sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.0.1"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.0.1"; + sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.0.0"; + sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.2.0"; + sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.0.0"; + sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; + }) + (fetchNuGet { + name = "Microsoft.VisualStudio.Web.CodeGeneration.Tools"; + version = "2.0.2"; + sha256 = "0fkjm06irs53d77z29i6dwj5pjhgj9ivhad8v39ghnrwasc0ivq6"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.0.0"; + sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; + }) + (fetchNuGet { + name = "Microsoft.VisualStudio.Web.CodeGeneration.Contracts"; + version = "2.0.2"; + sha256 = "1fs6sbjn0chx6rv38d61zgk8mhyyxz44xp4wsfya0lvkckyszyn1"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.0.1"; + sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Physical"; + version = "2.0.0"; + sha256 = "0l0l92g7sq4122n139av1pn1jl6wlw92hjmdnr47xdss0ndmwrs3"; + }) + (fetchNuGet { + name = "runtime.native.System.IO.Compression"; + version = "4.1.0"; + sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App"; + version = "2.0.5"; + sha256 = "0qb7k624w7l0zhapdp519ymqg84a67r8zyd8cpj42hywsgb0dqv6"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography"; + version = "4.0.0"; + sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; + }) + (fetchNuGet { + name = "NuGet.Frameworks"; + version = "4.0.0"; + sha256 = "0nar684cm53cvzx28gzl6kmpg9mrfr1yv29323din7xqal4pscgq"; + }) + (fetchNuGet { + name = "Microsoft.Build.Runtime"; + version = "15.3.409"; + sha256 = "135ycnqz5jfg61y5zaapgc7xdpjx2aq4icmxb9ph7h5inl445q7q"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.0.0"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.0.0"; + sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "10.0.1"; + sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.DotNetAppHost"; + version = "2.0.5"; + sha256 = "00bsxdg9c8msjxyffvfi8siqk8v2m7ca8fqy1npv7b2pzg3byjws"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.4.0"; + sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileSystemGlobbing"; + version = "2.0.0"; + sha256 = "02lzy6r14ghwfwm384xajq08vv3pl3ww0mi5isrr10vivhijhgg4"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.0.0"; + sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "2.0.1"; + sha256 = "1j2hmnivgb4plni2dd205kafzg6mkg7r4knrd3s7mg75wn2l25np"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.DotNetHostPolicy"; + version = "2.0.5"; + sha256 = "0v5csskiwpk8kz8wclqad8kcjmxr7ik4w99wl05740qvaag3qysk"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "2.0.1"; + sha256 = "0d44wjxphs1ck838v7dapm0ag0b91zpiy33cr5vflsrwrqgj51dk"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }) + (fetchNuGet { + name = "System.Collections.Specialized"; + version = "4.3.0"; + sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; + }) + (fetchNuGet { + name = "System.ComponentModel"; + version = "4.3.0"; + sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; + }) + (fetchNuGet { + name = "System.Collections.NonGeneric"; + version = "4.3.0"; + sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; + }) + (fetchNuGet { + name = "System.ComponentModel.Primitives"; + version = "4.3.0"; + sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "1.6.0"; + sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; + }) + (fetchNuGet { + name = "Microsoft.Build.Framework"; + version = "15.3.409"; + sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2"; + }) + (fetchNuGet { + name = "Microsoft.Build.Tasks.Core"; + version = "15.3.409"; + sha256 = "135swyygp7cz2civwsz6a7dj7h8bzp7yrybmgxjanxwrw66hm933"; + }) + (fetchNuGet { + name = "System.Text.Encoding.CodePages"; + version = "4.0.1"; + sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; + }) + (fetchNuGet { + name = "Microsoft.Build.Utilities.Core"; + version = "15.3.409"; + sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf"; + }) + (fetchNuGet { + name = "Microsoft.Build"; + version = "15.3.409"; + sha256 = "0vzq6csp2yys9s96c7i37bjml439rdi47g8f5rzqdr7xf5a1jk81"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Formatters"; + version = "4.3.0"; + sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.3.0"; + sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.3.0"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.3.0"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Dataflow"; + version = "4.6.0"; + sha256 = "0a1davr71wssyn4z1hr75lk82wqa0daz0vfwkmg1fm3kckfd72k1"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.3.0"; + sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; + }) + (fetchNuGet { + name = "System.IO.Pipes"; + version = "4.0.0"; + sha256 = "0fxfvcf55s9q8zsykwh8dkq2xb5jcqnml2ycq8srfry2l07h18za"; + }) + (fetchNuGet { + name = "System.Diagnostics.FileVersionInfo"; + version = "4.0.0"; + sha256 = "1s5vxhy7i09bmw51kxqaiz9zaj9am8wsjyz13j85sp23z267hbv3"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + name = "System.Diagnostics.Contracts"; + version = "4.0.1"; + sha256 = "0y6dkd9n5k98vzhc3w14r2pbhf10qjn2axpghpmfr6rlxx9qrb9j"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.3.0"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }) + (fetchNuGet { + name = "System.Runtime.Loader"; + version = "4.0.0"; + sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0"; + }) + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.0.10"; + sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Xml"; + version = "4.1.1"; + sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.3.0"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }) + (fetchNuGet { + name = "System.Collections.Immutable"; + version = "1.2.0"; + sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.3.0"; + sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; + }) + (fetchNuGet { + name = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; + }) + (fetchNuGet { + name = "System.Reflection.Metadata"; + version = "1.3.0"; + sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.3.0"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }) + (fetchNuGet { + name = "System.Linq.Parallel"; + version = "4.0.1"; + sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.3.0"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }) + (fetchNuGet { + name = "System.Diagnostics.Process"; + version = "4.1.0"; + sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.0.1"; + sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Primitives"; + version = "2.0.0"; + sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.DotNetHostResolver"; + version = "2.0.5"; + sha256 = "1sz2fdp8fdwz21x3lr2m1zhhrbix6iz699fjkwiryqdjl4ygd3hw"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + name = "System.AppContext"; + version = "4.1.0"; + sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + (fetchNuGet { + name = "System.Diagnostics.TraceSource"; + version = "4.0.0"; + sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.0.1"; + sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; + }) + (fetchNuGet { + name = "System.Xml.XPath"; + version = "4.0.1"; + sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.0.1"; + sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + }) + (fetchNuGet { + name = "System.Resources.Writer"; + version = "4.0.0"; + sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + (fetchNuGet { + name = "System.Collections.NonGeneric"; + version = "4.0.1"; + sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; + }) + (fetchNuGet { + name = "System.Console"; + version = "4.0.0"; + sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.0.0"; + sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.0.1"; + sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; + }) + (fetchNuGet { + name = "System.IO.Compression.ZipFile"; + version = "4.0.1"; + sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; + }) + (fetchNuGet { + name = "System.Xml.XPath.XmlDocument"; + version = "4.0.1"; + sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc"; + }) + (fetchNuGet { + name = "System.Net.Sockets"; + version = "4.1.0"; + sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.0.11"; + sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; + }) + (fetchNuGet { + name = "System.Resources.Reader"; + version = "4.0.0"; + sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril"; + }) + (fetchNuGet { + name = "System.Threading.Thread"; + version = "4.0.0"; + sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; + }) + (fetchNuGet { + name = "System.Threading.Timer"; + version = "4.0.1"; + sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.0.0"; + sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.0.12"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }) + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.0.11"; + sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.0.12"; + sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; + }) + (fetchNuGet { + name = "System.IO.Compression"; + version = "4.1.0"; + sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.1.0"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.1.0"; + sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + (fetchNuGet { + name = "System.Net.Http"; + version = "4.1.0"; + sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.1.0"; + sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "3.1.8"; + sha256 = "140zr3nwkmf6xc52gq4iz6ycyh95fxy0jpgn637pkd9z423z8135"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "3.1.8"; + sha256 = "1bv9n9wzsqf9g8h6z10p61xkcx8ad4nnip83qv8yyfvhr4kdmbsa"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.7.0"; + sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "3.1.0"; + sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "11.0.1"; + sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.Logging.Abstractions"; + version = "1.0.0"; + sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka"; + }) + (fetchNuGet { + name = "Newtonsoft.Json.Bson"; + version = "1.0.2"; + sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.JsonPatch"; + version = "3.1.1"; + sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "12.0.2"; + sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.7.0"; + sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; + }) + (fetchNuGet { + name = "System.Security.AccessControl"; + version = "4.7.0"; + sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; + }) + (fetchNuGet { + name = "NBitcoin"; + version = "5.0.47"; + sha256 = "1plri6q83jn80m95np0zxdg3nk2f36z8v42j4sg5wjv8qppp866d"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; + version = "3.1.1"; + sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.7.0"; + sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs"; + }) + (fetchNuGet { + name = "NBitcoin.Secp256k1"; + version = "1.0.3"; + sha256 = "08d4db64j1qz8ax9fg8zi6n7g1n53clnkajbbvv2hgaqyfrsnqxj"; + }) + (fetchNuGet { + name = "Microsoft.OpenApi"; + version = "1.1.4"; + sha256 = "1sn79829nhx6chi2qxsza1801di7zdl5fd983m0jakawzbjhjcb3"; + }) + (fetchNuGet { + name = "Swashbuckle.AspNetCore.SwaggerUI"; + version = "5.0.0"; + sha256 = "0d7vjq489rz208j6k3rb7vq6mzxzff3mqg83yk2rqy25vklrsbjd"; + }) + (fetchNuGet { + name = "Swashbuckle.AspNetCore"; + version = "5.0.0"; + sha256 = "0rn2awmzrsrppk97xbbwk4kq1mys9bygb5xhl6mphbk0hchrvh09"; + }) + (fetchNuGet { + name = "Swashbuckle.AspNetCore.SwaggerGen"; + version = "5.0.0"; + sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4"; + }) + (fetchNuGet { + name = "Microsoft.Extensions.ApiDescription.Server"; + version = "3.0.0"; + sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; + }) + (fetchNuGet { + name = "Swashbuckle.AspNetCore.Swagger"; + version = "5.0.0"; + sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f"; + }) + (fetchNuGet { + name = "runtime.unix.System.Private.Uri"; + version = "4.0.1"; + sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; + }) + (fetchNuGet { + name = "runtime.any.System.Text.Encoding"; + version = "4.0.11"; + sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7"; + }) + (fetchNuGet { + name = "System.Private.Uri"; + version = "4.0.1"; + sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j"; + }) + (fetchNuGet { + name = "runtime.any.System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas"; + }) + (fetchNuGet { + name = "runtime.any.System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz"; + }) + (fetchNuGet { + name = "runtime.any.System.IO"; + version = "4.1.0"; + sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5"; + }) + (fetchNuGet { + name = "runtime.any.System.Runtime"; + version = "4.1.0"; + sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m"; + }) + (fetchNuGet { + name = "runtime.any.System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk"; + }) + (fetchNuGet { + name = "runtime.any.System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "041im8hmp1zdgrx6jzyrdch6kshvbddmkar7r2mlm1ksb5c5kwpq"; + }) + (fetchNuGet { + name = "runtime.unix.System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; + }) + (fetchNuGet { + name = "runtime.any.System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z"; + }) + (fetchNuGet { + name = "runtime.any.System.Reflection"; + version = "4.1.0"; + sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6"; + }) + (fetchNuGet { + name = "runtime.any.System.Collections"; + version = "4.0.11"; + sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; + }) + (fetchNuGet { + name = "runtime.any.System.Globalization"; + version = "4.0.11"; + sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286"; + }) + (fetchNuGet { + name = "runtime.any.System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr"; + }) + (fetchNuGet { + name = "runtime.unix.System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; + }) +] diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix new file mode 100644 index 000000000000..e566661d36a2 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix @@ -0,0 +1,66 @@ +{ stdenv +, fetchurl +, makeDesktopItem +, curl +, dotnet-netcore +, fontconfig +, krb5 +, openssl +, xorg +, zlib +}: + +let + libPath = stdenv.lib.makeLibraryPath [ + curl + dotnet-netcore + fontconfig.lib + krb5 + openssl + stdenv.cc.cc.lib + xorg.libX11 + zlib + ]; +in +stdenv.mkDerivation rec { + pname = "wasabiwallet"; + version = "1.1.12.2"; + + src = fetchurl { + url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz"; + sha256 = "0nl7n24nsy3gyzrxa6llx81pvsjqcwi0a4qdv34dpcq483aclp2r"; + }; + + 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 stdenv.lib; { + description = "Privacy focused Bitcoin wallet"; + homepage = "https://wasabiwallet.io/"; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ mmahut ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix new file mode 100644 index 000000000000..9a660bb8bffb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix @@ -0,0 +1,104 @@ +{ stdenv, fetchFromGitHub, callPackage, makeWrapper, makeDesktopItem +, nodejs, yarn, electron_7, jre8, tor }: + +let + system = stdenv.hostPlatform.system; + electron = electron_7; + +in stdenv.mkDerivation rec { + pname = "whirlpool-gui"; + version = "0.10.1"; + + src = fetchFromGitHub { + owner = "Samourai-Wallet"; + repo = pname; + rev = version; + sha256 = "ru6WJQRulhnQCPY2E0x9M6xXtFdj/pg2fu4HpQxhImU="; + }; + + yarnCache = stdenv.mkDerivation { + name = "${pname}-${version}-${system}-yarn-cache"; + inherit src; + phases = [ "unpackPhase" "buildPhase" ]; + nativeBuildInputs = [ yarn ]; + buildPhase = '' + export HOME=$NIX_BUILD_ROOT + + yarn config set yarn-offline-mirror $out + yarn --frozen-lockfile --ignore-scripts --ignore-platform \ + --ignore-engines --no-progress --non-interactive + ''; + + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = { + x86_64-linux = "6fl4cSwHXWgQcYlqxCae0p1Ppcb9fI5fFrxm7y6wxTo="; + }.${system} or (throw "Unsupported platform ${system}"); + }; + + nativeBuildInputs = [ makeWrapper nodejs yarn ]; + + configurePhase = '' + # Yarn and bundler wants a real home directory to write cache, config, etc to + export HOME=$NIX_BUILD_ROOT + + # Make yarn install packages from our offline cache, not the registry + yarn config --offline set yarn-offline-mirror ${yarnCache} + ''; + + buildPhase = '' + yarn install --offline --ignore-scripts --frozen-lockfile --no-progress --non-interactive + + patchShebangs node_modules/ + + yarn build + ''; + + installPhase = '' + mkdir -p $out/{bin,share,libexec/whirlpool-gui/app} + + # install production dependencies + yarn install \ + --offline --frozen-lockfile --ignore-scripts \ + --no-progress --non-interactive \ + --production --no-bin-links \ + --modules-folder $out/libexec/whirlpool-gui/node_modules + + # copy application + cp -r app/{dist,app.html,main.prod.js,main.prod.js.map,img} $out/libexec/whirlpool-gui/app + cp -r package.json resources $out/libexec/whirlpool-gui + + # make desktop item + ln -s "${desktopItem}/share/applications" "$out/share/applications" + + # wrap electron + makeWrapper '${electron}/bin/electron' "$out/bin/whirlpool-gui" \ + --add-flags "$out/libexec/whirlpool-gui" \ + --prefix PATH : "${jre8}/bin:${tor}/bin" + ''; + + desktopItem = makeDesktopItem { + name = "whirlpool-gui"; + exec = "whirlpool-gui"; + icon = "whirlpool-gui"; + desktopName = "Whirlpool"; + genericName = "Whirlpool"; + comment = meta.description; + categories = "Network;"; + extraEntries = '' + StartupWMClass=whrilpool-gui + ''; + }; + + passthru.prefetchYarnCache = stdenv.lib.overrideDerivation yarnCache (d: { + outputHash = stdenv.lib.fakeSha256; + }); + + meta = with stdenv.lib; { + description = "Desktop GUI for Whirlpool by Samourai-Wallet"; + homepage = https://www.samouraiwallet.com/whirlpool; + license = licenses.unlicense; + maintainers = [ maintainers.offline ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix new file mode 100644 index 000000000000..8d45e1a96b57 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/wownero.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchgit, cmake, boost, miniupnpc_2, openssl, unbound +, readline, libsodium, rapidjson, fetchurl +}: + +with stdenv.lib; + +let + randomwowVersion = "1.1.7"; + randomwow = fetchurl { + url = "https://github.com/wownero/RandomWOW/archive/${randomwowVersion}.tar.gz"; + sha256 = "1xp76zf01hnhnk6rjvqjav9n9pnvxzxlzqa5rc574d1c2qczfy3q"; + }; +in + +stdenv.mkDerivation rec { + pname = "wownero"; + version = "0.8.0.1"; + + src = fetchgit { + url = "https://git.wownero.com/wownero/wownero.git"; + rev = "v${version}"; + sha256 = "15443xv6q1nw4627ajk6k4ghhahvh82lb4gyb8nvq753p2v838g3"; + fetchSubmodules = false; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + boost miniupnpc_2 openssl unbound rapidjson readline libsodium + ]; + + postUnpack = '' + rm -r $sourceRoot/external/RandomWOW + unpackFile ${randomwow} + mv RandomWOW-${randomwowVersion} $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 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix new file mode 100644 index 000000000000..9cccbd7b7e46 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/default.nix @@ -0,0 +1,43 @@ +{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost17x +, zlib, gtest, gmock, callPackage, gmp, qt4, util-linux, protobuf, qrencode, libevent }: + +let librustzcash = callPackage ./librustzcash {}; +in +with stdenv.lib; +stdenv.mkDerivation rec { + + pname = "zcash"; + version = "2.1.1-1"; + + src = fetchFromGitHub { + owner = "zcash"; + repo = "zcash"; + rev = "v${version}"; + sha256 = "1g5zlfzfp31my8w8nlg5fncpr2y95iv9fm04x57sjb93rgmjdh5n"; + }; + + patchPhase = '' + sed -i"" 's,-fvisibility=hidden,,g' src/Makefile.am + ''; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ gtest gmock gmp openssl wget db62 boost17x zlib + protobuf libevent libsodium librustzcash ] + ++ optionals stdenv.isLinux [ util-linux ]; + + configureFlags = [ "--with-boost-libdir=${boost17x.out}/lib" ]; + + postInstall = '' + cp zcutil/fetch-params.sh $out/bin/zcash-fetch-params + ''; + + enableParallelBuilding = true; + + meta = { + description = "Peer-to-peer, anonymous electronic cash system"; + homepage = "https://z.cash/"; + maintainers = with maintainers; [ rht tkerber ]; + license = licenses.mit; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix new file mode 100644 index 000000000000..526adc715d45 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/blockchains/zcash/librustzcash/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "librustzcash"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "zcash"; + repo = "librustzcash"; + rev = version; + sha256 = "0d28k29sgzrg9clynz29kpw50kbkp0a4dfdayqhmpjmsh05y6261"; + }; + + cargoSha256 = "1wzyrcmcbrna6rjzw19c4lq30didzk4w6fs6wmvxp0xfg4qqdlax"; + + installPhase = '' + mkdir -p $out/lib + cp $releaseDir/librustzcash.a $out/lib/ + mkdir -p $out/include + cp librustzcash/include/librustzcash.h $out/include/ + ''; + + # The tests do pass, but they take an extremely long time to run. + doCheck = false; + + meta = with stdenv.lib; { + description = "Rust-language assets for Zcash"; + homepage = "https://github.com/zcash/librustzcash"; + maintainers = with maintainers; [ rht tkerber ]; + license = with licenses; [ mit asl20 ]; + platforms = platforms.unix; + }; +} |