nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 python3Packages,
5 nixosTests,
6}:
7
8python3Packages.buildPythonApplication rec {
9 pname = "zeronet-conservancy";
10 version = "0.7.10";
11 pyproject = false;
12
13 src = fetchFromGitHub {
14 owner = "zeronet-conservancy";
15 repo = "zeronet-conservancy";
16 rev = "v${version}";
17 sha256 = "sha256-ZQYdK0B0z0cXTx7ujFngW3wSa/j8sEuwHB+BC5Xqq8o=";
18 };
19
20 propagatedBuildInputs = with python3Packages; [
21 gevent
22 msgpack
23 base58
24 merkletools
25 rsa
26 pysocks
27 pyasn1
28 websocket-client
29 gevent-websocket
30 rencode
31 python-bitcoinlib
32 maxminddb
33 pyopenssl
34 rich
35 defusedxml
36 pyaes
37 coincurve
38 ];
39
40 buildPhase = ''
41 runHook preBuild
42 ${python3Packages.python.pythonOnBuildForHost.interpreter} -O -m compileall .
43 runHook postBuild
44 '';
45
46 installPhase = ''
47 runHook preInstall
48 mkdir -p $out/share
49 cp -r plugins src *.py $out/share/
50 runHook postInstall
51 '';
52
53 postFixup = ''
54 makeWrapper "$out/share/zeronet.py" "$out/bin/zeronet" \
55 --set PYTHONPATH "$PYTHONPATH" \
56 --set PATH ${python3Packages.python}/bin
57 '';
58
59 passthru.tests = {
60 nixos-test = nixosTests.zeronet-conservancy;
61 };
62
63 meta = {
64 description = "Fork/continuation of the ZeroNet project";
65 mainProgram = "zeronet";
66 longDescription = ''
67 zeronet-conservancy is a fork/continuation of ZeroNet project (that has
68 been abandoned by its creator) that is dedicated to sustaining existing
69 p2p network and developing its values of decentralization and freedom,
70 while gradually switching to a better designed network.
71 '';
72 homepage = "https://github.com/zeronet-conservancy/zeronet-conservancy";
73 license = lib.licenses.gpl3Only;
74 maintainers = with lib.maintainers; [ fgaz ];
75 };
76}