diff options
Diffstat (limited to 'pkgs/by-name/ay/ayatana-indicator-sound/package.nix')
-rw-r--r-- | pkgs/by-name/ay/ayatana-indicator-sound/package.nix | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/pkgs/by-name/ay/ayatana-indicator-sound/package.nix b/pkgs/by-name/ay/ayatana-indicator-sound/package.nix new file mode 100644 index 0000000000000..84d2d8c3bfc97 --- /dev/null +++ b/pkgs/by-name/ay/ayatana-indicator-sound/package.nix @@ -0,0 +1,125 @@ +{ stdenv +, lib +, gitUpdater +, fetchFromGitHub +, nixosTests +, accountsservice +, cmake +, dbus +, dbus-test-runner +, glib +, gobject-introspection +, gtest +, intltool +, libayatana-common +, libgee +, libnotify +, libpulseaudio +, libqtdbusmock +, libqtdbustest +, libsForQt5 +, libxml2 +, lomiri +, pkg-config +, python3 +, systemd +, vala +, wrapGAppsHook3 +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ayatana-indicator-sound"; + version = "24.4.0"; + + src = fetchFromGitHub { + owner = "AyatanaIndicators"; + repo = "ayatana-indicator-sound"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-2B2CFUjDvBpZ8R4fnGDViS3pXO1L0kP1tnJCtqKeLaQ="; + }; + + postPatch = '' + # Replace systemd prefix in pkg-config query, use GNUInstallDirs location for /etc + substituteInPlace data/CMakeLists.txt \ + --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \ + --replace-fail 'DESTINATION "/etc' 'DESTINATION "''${CMAKE_INSTALL_FULL_SYSCONFDIR}' + + # Build-time Vala codegen + substituteInPlace src/CMakeLists.txt \ + --replace-fail '/usr/share/gir-1.0/AccountsService-1.0.gir' '${lib.getDev accountsservice}/share/gir-1.0/AccountsService-1.0.gir' + ''; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + gobject-introspection + intltool + libpulseaudio # vala files(?) + pkg-config + vala + wrapGAppsHook3 + ]; + + buildInputs = [ + accountsservice + glib + gobject-introspection + libayatana-common + libgee + libnotify + libpulseaudio + libxml2 + systemd + ] ++ (with lomiri; [ + cmake-extras + lomiri-api + lomiri-schemas + ]); + + nativeCheckInputs = [ + dbus + (python3.withPackages (ps: with ps; [ + python-dbusmock + ])) + ]; + + checkInputs = [ + dbus-test-runner + gtest + libsForQt5.qtbase + libqtdbusmock + libqtdbustest + lomiri.gmenuharness + ]; + + cmakeFlags = [ + (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) + (lib.cmakeBool "ENABLE_LOMIRI_FEATURES" true) + (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) + (lib.cmakeBool "GSETTINGS_COMPILE" true) + ]; + + dontWrapQtApps = true; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + passthru = { + ayatana-indicators = [ "ayatana-indicator-sound" ]; + tests.vm = nixosTests.ayatana-indicators; + updateScript = gitUpdater { }; + }; + + meta = with lib; { + description = "Ayatana Indicator for managing system sound"; + longDescription = '' + Ayatana Indicator Sound that provides easy control of the PulseAudio + sound daemon. + ''; + homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-sound"; + changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-sound/blob/${finalAttrs.version}/ChangeLog"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ OPNA2608 ]; + platforms = platforms.linux; + }; +}) |