From acbc4bd3113a4e36189e9f72d27b2a0b44034eda Mon Sep 17 00:00:00 2001 From: Jakob Leifhelm Date: Sun, 18 Jul 2021 15:26:08 +0200 Subject: [PATCH] mixxx: Fix udev rules installation --- pkgs/applications/audio/mixxx/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix index 6f0d34b870aa..60591f42e816 100644 --- a/pkgs/applications/audio/mixxx/default.nix +++ b/pkgs/applications/audio/mixxx/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , mkDerivation , fetchurl , fetchFromGitHub @@ -116,6 +117,23 @@ mkDerivation rec { "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" ]; + # mixxx installs udev rules to DATADIR instead of SYSCONFDIR + # let's disable this and install udev rules manually via postInstall + # see https://github.com/mixxxdj/mixxx/blob/2.3.0/CMakeLists.txt#L1381-L1392 + cmakeFlags = [ + "-DINSTALL_USER_UDEV_RULES=OFF" + ]; + + postInstall = lib.optionalString stdenv.isLinux '' + rules="$src/res/linux/mixxx-usb-uaccess.rules" + if [ ! -f "$rules" ]; then + echo "$rules is missing, must update the Nix file." + exit 1 + fi + mkdir -p "$out/lib/udev/rules.d" + cp "$rules" "$out/lib/udev/rules.d/69-mixxx-usb-uaccess.rules" + ''; + meta = with lib; { homepage = "https://mixxx.org"; description = "Digital DJ mixing software";