nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 bc-ur,
3 boost186,
4 cmake,
5 fetchFromGitHub,
6 hidapi,
7 lib,
8 libsodium,
9 libusb1,
10 openssl,
11 pkg-config,
12 protobuf,
13 python3,
14 qrencode,
15 qt6,
16 readline,
17 stdenv,
18 testers,
19 tor,
20 unbound,
21 zxing-cpp,
22}:
23
24stdenv.mkDerivation (finalAttrs: {
25 pname = "feather";
26 version = "2.8.1";
27
28 src = fetchFromGitHub {
29 owner = "feather-wallet";
30 repo = "feather";
31 tag = finalAttrs.version;
32 hash = "sha256-DZBRZBcoba32Z/bFThn/9siC8VESg5gdfoFO4Nw8JqM=";
33 fetchSubmodules = true;
34 };
35
36 nativeBuildInputs = [
37 cmake
38 pkg-config
39 python3
40 qt6.wrapQtAppsHook
41 ];
42
43 buildInputs = [
44 bc-ur
45 boost186
46 hidapi
47 libsodium
48 libusb1
49 openssl
50 protobuf
51 qrencode
52 unbound
53 zxing-cpp
54 ]
55 ++ (with qt6; [
56 qtbase
57 qtmultimedia
58 qtsvg
59 qttools
60 qtwayland
61 qtwebsockets
62 ]);
63
64 cmakeFlags = [
65 "-DProtobuf_INCLUDE_DIR=${lib.getDev protobuf}/include"
66 "-DProtobuf_PROTOC_EXECUTABLE=${lib.getExe protobuf}"
67 "-DReadline_INCLUDE_DIR=${lib.getDev readline}/include/readline"
68 "-DReadline_LIBRARY=${lib.getLib readline}/lib/libreadline.so"
69 "-DReadline_ROOT_DIR=${lib.getDev readline}"
70 "-DTOR_DIR=${lib.makeBinPath [ tor ]}"
71 "-DTOR_VERSION=${tor.version}"
72 ];
73
74 passthru.tests.version = testers.testVersion {
75 package = finalAttrs.finalPackage;
76 command = ''
77 QT_QPA_PLATFORM=minimal ${finalAttrs.finalPackage.meta.mainProgram} --version
78 '';
79 };
80
81 meta = {
82 description = "Free Monero desktop wallet";
83 homepage = "https://featherwallet.org/";
84 changelog = "https://featherwallet.org/changelog/#${finalAttrs.version}%20changelog";
85 platforms = lib.platforms.linux;
86 license = lib.licenses.bsd3;
87 mainProgram = "feather";
88 maintainers = with lib.maintainers; [ surfaceflinger ];
89 };
90})