Skip to content

Commit

Permalink
bitbox: init at 4.46.3
Browse files Browse the repository at this point in the history
  • Loading branch information
tensor5 committed Nov 29, 2024
1 parent f9ede03 commit ae165c0
Show file tree
Hide file tree
Showing 6 changed files with 106 additions and 0 deletions.
13 changes: 13 additions & 0 deletions pkgs/by-name/bi/bitbox/genassets.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/frontends/qt/genassets.sh b/frontends/qt/genassets.sh
index 4b1ba87be..b5a9ad279 100755
--- a/frontends/qt/genassets.sh
+++ b/frontends/qt/genassets.sh
@@ -20,7 +20,7 @@ if [ ! -d ../web/build ]; then
fi

echo '<!DOCTYPE RCC><RCC version="1.0"><qresource>' > assets.qrc
-/usr/bin/find ../web/build/ -maxdepth 3 -type f | sed -e "s|../web/build/||" | awk '{ print "<file alias=\"" $1 "\">../web/build/" $1 "</file>" '} >> assets.qrc
+find ../web/build/ -maxdepth 3 -type f | sort | sed -e "s|../web/build/||" | awk '{ print "<file alias=\"" $1 "\">../web/build/" $1 "</file>" '} >> assets.qrc

echo '<file alias="trayicon.png">resources/trayicon.png</file>' >> assets.qrc
echo '</qresource></RCC>' >> assets.qrc
89 changes: 89 additions & 0 deletions pkgs/by-name/bi/bitbox/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
lib,
stdenv,
fetchFromGitHub,
buildNpmPackage,
clang,
go,
libsForQt5,
}:

stdenv.mkDerivation rec {
pname = "bitbox";
version = "4.46.3";

src = fetchFromGitHub {
owner = "BitBoxSwiss";
repo = "bitbox-wallet-app";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-2oGVQ022NGOHLo7TBdeXG3ng1nYW8fyLwSV0hJdAl9I=";
};

patches = [
./genassets.patch
];

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 = "source/frontends/web";
npmDepsHash = "sha256-w98wwKHiZtor5ivKd+sh5K8HnAepu6cw9RyVJ+eTq3k=";
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 = [ libsForQt5.qtwebengine ];

nativeBuildInputs = [
clang
go
libsForQt5.wrapQtAppsHook
];

meta = {
description = "Companion app for the BitBox02 hardware wallet";
homepage = "https://bitbox.swiss/app/";
license = lib.licenses.asl20;
mainProgram = "bitbox";
maintainers = [ lib.maintainers.tensor5 ];
platforms = [ "x86_64-linux" ];
};
}
1 change: 1 addition & 0 deletions pkgs/by-name/bi/bitbox/rules.d/51-hid-digitalbitbox.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbb%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402"
1 change: 1 addition & 0 deletions pkgs/by-name/bi/bitbox/rules.d/52-hid-digitalbitbox.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbbf%n"
1 change: 1 addition & 0 deletions pkgs/by-name/bi/bitbox/rules.d/53-hid-bitbox02.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="bitbox02_%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403"
1 change: 1 addition & 0 deletions pkgs/by-name/bi/bitbox/rules.d/54-hid-bitbox02.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="bitbox02-%n"

0 comments on commit ae165c0

Please sign in to comment.