71 lines
1.4 KiB
Nix
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;
|
||
|
};
|
||
|
}
|