From 67df31a8984ab3067af5b65446d2808b0aedadc6 Mon Sep 17 00:00:00 2001 From: Colin Date: Wed, 16 Aug 2023 10:47:54 +0000 Subject: [PATCH] playerctl: support cross compilation documentation build requires an emulator when cross compiling; pass `withDocs = false` to disable. --- pkgs/tools/audio/playerctl/default.nix | 31 +++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/audio/playerctl/default.nix b/pkgs/tools/audio/playerctl/default.nix index b28ab390e01c..8740c273eef3 100644 --- a/pkgs/tools/audio/playerctl/default.nix +++ b/pkgs/tools/audio/playerctl/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, meson, ninja, fetchFromGitHub, glib, pkg-config, gtk-doc, docbook_xsl, gobject-introspection }: +{ lib +, stdenv +, buildPackages +, docbook_xsl +, fetchFromGitHub +, glib +, gobject-introspection +, gtk-doc +, meson +, mesonEmulatorHook +, ninja +, pkg-config +, withDocs ? stdenv.hostPlatform.emulatorAvailable buildPackages +}: stdenv.mkDerivation rec { pname = "playerctl"; @@ -11,10 +24,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-OiGKUnsKX0ihDRceZoNkcZcEAnz17h2j2QUOSVcxQEY="; }; - nativeBuildInputs = [ meson ninja pkg-config gtk-doc docbook_xsl gobject-introspection ]; + nativeBuildInputs = [ + docbook_xsl + gobject-introspection + gtk-doc + meson + ninja + pkg-config + ] ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib ]; - mesonFlags = [ "-Dbash-completions=true" ]; + mesonFlags = [ + "-Dbash-completions=true" + (lib.mesonBool "gtk-doc" withDocs) + ]; meta = with lib; { description = "Command-line utility and library for controlling media players that implement MPRIS";