Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / op / open-scq30 / package.nix
blob33d4e47c76fb8d25a95efe5fa9699330019386d4
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , pkg-config
5 , protobuf
6 , wrapGAppsHook4
7 , cairo
8 , dbus
9 , gdk-pixbuf
10 , glib
11 , gtk4
12 , libadwaita
13 , pango
14 , stdenv
15 , darwin
16 , cargo-make
19 rustPlatform.buildRustPackage rec {
20   pname = "open-scq30";
21   version = "1.12.0";
23   src = fetchFromGitHub {
24     owner = "Oppzippy";
25     repo = "OpenSCQ30";
26     rev = "v${version}";
27     hash = "sha256-DL2hYm1j27K0nnBvE3iGnguqm0m1k56bkuG+6+u4u4c=";
28   };
30   nativeBuildInputs = [
31     pkg-config
32     protobuf
33     wrapGAppsHook4
34     cargo-make
35   ];
37   buildInputs = [
38     cairo
39     dbus
40     gdk-pixbuf
41     glib
42     gtk4
43     libadwaita
44     pango
45   ] ++ lib.optionals stdenv.isDarwin [
46     darwin.apple_sdk.frameworks.AppKit
47     darwin.apple_sdk.frameworks.CoreBluetooth
48     darwin.apple_sdk.frameworks.CoreGraphics
49     darwin.apple_sdk.frameworks.Foundation
50   ];
52   cargoHash = "sha256-YBJd43xOCumQbrvzfV/+F63McYzHg1bGI3icgGzGZrQ=";
54   INSTALL_PREFIX = placeholder "out";
56   # Requires headphones
57   doCheck = false;
59   buildPhase = ''
60     cargo make --profile release build
61   '';
63   installPhase = ''
64     cargo make --profile release install
65   '';
67   meta = with lib; {
68     description = "Cross platform application for controlling settings of Soundcore headphones";
69     homepage = "https://github.com/Oppzippy/OpenSCQ30";
70     changelog = "https://github.com/Oppzippy/OpenSCQ30/blob/${src.rev}/CHANGELOG.md";
71     license = licenses.gpl3Only;
72     maintainers = with maintainers; [ mkg20001 ];
73     mainProgram = "open-scq30";
74   };