2025-07-29 09:04:26 -03:00

71 lines
1.4 KiB
Nix

{
fetchFromGitHub,
lib,
nix-update-script,
python3Packages,
qt6,
qt6Packages,
}:
python3Packages.buildPythonApplication rec {
name = "openfreebuds";
version = "0.17.1";
src = fetchFromGitHub {
owner = "melianmiko";
repo = "OpenFreebuds";
tag = "v${version}";
hash = "sha256-y89BTKk14P/2kkYo63i9HgAdenzCVVnNArDsTmo4bPU=";
};
pyproject = true;
pythonRelaxDeps = [ "psutil" ];
build-system = with python3Packages; [
pdm-backend
pyqt6
];
nativeBuildInputs = [
qt6Packages.wrapQtAppsHook
qt6Packages.qttools
];
buildInputs = [ qt6.qtbase ];
dependencies = with python3Packages; [
aiocmd
aiohttp
dbus-next
pillow
psutil
pynput
pyqt6
qasync
];
preBuild = ''
find openfreebuds_qt/designer -name "*.ui" | while read ui_file; do
py_file="''${ui_file%.ui}.py"
pyuic6 "$ui_file" -o "$py_file"
done
lrelease openfreebuds_qt/assets/i18n/*.ts
'';
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/melianmiko/OpenFreebuds/blob/${src.rev}/CHANGELOG.md";
description = "Open source app for HUAWEI FreeBuds (Linux + Windows)";
homepage = "https://github.com/melianmiko/OpenFreebuds";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.znaniye ];
platforms = lib.platforms.linux;
};
}