{
bc-ur,
boost,
cmake,
fetchFromGitHub,
hidapi,
lib,
libsodium,
libusb1,
openssl,
pkg-config,
protobuf,
python3,
qrencode,
qt6,
readline,
stdenv,
testers,
tor,
unbound,
zxing-cpp,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "feather";
version = "2.7.0";
src = fetchFromGitHub {
owner = "feather-wallet";
repo = "feather";
rev = finalAttrs.version;
hash = "sha256-CwydKX8cCtmrUSLUHNCDOteVmkjzj0zMHgwUyrWrWm8=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
python3
qt6.wrapQtAppsHook
];
buildInputs =
[
bc-ur
boost
hidapi
libsodium
libusb1
openssl
protobuf
qrencode
unbound
zxing-cpp
]
++ (with qt6; [
qtbase
qtmultimedia
qtsvg
qttools
qtwayland
qtwebsockets
]);
cmakeFlags = [
"-DProtobuf_INCLUDE_DIR=${lib.getDev protobuf}/include"
"-DProtobuf_PROTOC_EXECUTABLE=${lib.getExe protobuf}"
"-DReadline_INCLUDE_DIR=${lib.getDev readline}/include/readline"
"-DReadline_LIBRARY=${lib.getLib readline}/lib/libreadline.so"
"-DReadline_ROOT_DIR=${lib.getDev readline}"
"-DTOR_DIR=${lib.makeBinPath [ tor ]}"
"-DTOR_VERSION=${tor.version}"
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = ''
QT_QPA_PLATFORM=minimal ${finalAttrs.finalPackage.meta.mainProgram} --version
'';
meta = with lib; {
description = "Free Monero desktop wallet";
homepage = "https://featherwallet.org/";
changelog = "https://featherwallet.org/changelog/#${finalAttrs.version}%20changelog";
platforms = platforms.linux;
license = licenses.bsd3;
mainProgram = "feather";
maintainers = with maintainers; [ surfaceflinger ];
})