push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
{
lib,
stdenv,
fetchFromGitHub,
runCommand,
buildNpmPackage,
clang,
go,
libsForQt5,
qt6,
udevCheckHook,
}:
let
# Qt 6 doesnt provide the rcc binary so we create an ad hoc package pulling
# it from Qt 5.
rcc = runCommand "rcc" { } ''
mkdir -p $out/bin
cp ${lib.getExe' libsForQt5.qt5.qtbase.dev "rcc"} $out/bin
'';
in
stdenv.mkDerivation rec {
pname = "bitbox";
version = "4.48.1";
src = fetchFromGitHub {
owner = "BitBoxSwiss";
repo = "bitbox-wallet-app";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-zpkjYnGsmPKjxUpp2H1qSzqthOO1mTmki3bPqo35sBo=";
};
postPatch = ''
substituteInPlace frontends/qt/resources/linux/usr/share/applications/bitbox.desktop \
--replace-fail 'Exec=BitBox %u' 'Exec=bitbox %u'
'';
dontConfigure = true;
passthru.web = buildNpmPackage {
pname = "bitbox-web";
inherit version;
inherit src;
sourceRoot = "${src.name}/frontends/web";
npmDepsHash = "sha256-9NS85U4L5sLX3n/uN4p4CB5vfpWMMcnf6wESlFdQPlI=";
installPhase = "cp -r build $out";
};
buildPhase = ''
runHook preBuild
ln -s ${passthru.web} frontends/web/build
export GOCACHE=$TMPDIR/go-cache
cd frontends/qt
make -C server linux
./genassets.sh
qmake -o build/Makefile
cd build
make
cd ../../..
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp -r frontends/qt/resources/linux/usr/share $out
mkdir $out/{bin,lib}
cp frontends/qt/build/BitBox $out/bin/bitbox
cp frontends/qt/build/assets.rcc $out/bin
cp frontends/qt/server/libserver.so $out/lib
install -Dt $out/lib/udev/rules.d ${./rules.d}/*
runHook postInstall
'';
buildInputs = [ qt6.qtwebengine ];
nativeBuildInputs = [
clang
go
qt6.wrapQtAppsHook
rcc
udevCheckHook
];
doInstallCheck = true;
meta = {
description = "Companion app for the BitBox02 hardware wallet";
homepage = "https://bitbox.swiss/app/";
downloadPage = "https://github.com/BitBoxSwiss/bitbox-wallet-app";
changelog = "https://github.com/BitBoxSwiss/bitbox-wallet-app/blob/master/CHANGELOG.md#${
builtins.replaceStrings [ "." ] [ "" ] version
}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.tensor5 ];
mainProgram = "bitbox";
sourceProvenance = [ lib.sourceTypes.fromSource ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1 @@
SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbb%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402"

View File

@@ -0,0 +1 @@
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbbf%n"

View File

@@ -0,0 +1 @@
SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="bitbox02_%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403"

View File

@@ -0,0 +1 @@
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="bitbox02-%n"