From 800e12d84865a111c2d1d1eb7928e6a0a9babd1a Mon Sep 17 00:00:00 2001 From: znaniye Date: Mon, 28 Jul 2025 21:59:09 -0300 Subject: [PATCH] openfreebuds: init at 0.17.1 --- pkgs/by-name/op/openfreebuds/package.nix | 70 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 74 insertions(+) create mode 100644 pkgs/by-name/op/openfreebuds/package.nix diff --git a/pkgs/by-name/op/openfreebuds/package.nix b/pkgs/by-name/op/openfreebuds/package.nix new file mode 100644 index 000000000000..abb348f91dd8 --- /dev/null +++ b/pkgs/by-name/op/openfreebuds/package.nix @@ -0,0 +1,70 @@ +{ + 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e8aac496ba84..c678b32343ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16552,6 +16552,10 @@ with pkgs; flutter = flutter324; }; + openfreebuds = callPackage ../by-name/op/openfreebuds/package.nix { + python3Packages = python3Full.pkgs; + }; + davis = callPackage ../by-name/da/davis/package.nix { php = php83; # https://github.com/tchapi/davis/issues/195 };