From 88aded71bb383c2fadcb621d5574ce629fccacb7 Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Sun, 9 Apr 2023 13:07:30 +0800 Subject: [PATCH] ncspot: add extra features --- pkgs/applications/audio/ncspot/default.nix | 31 +++++++++++++++++----- pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix index 23637fc8b410..8609912456b5 100644 --- a/pkgs/applications/audio/ncspot/default.nix +++ b/pkgs/applications/audio/ncspot/default.nix @@ -1,8 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, ncurses, openssl +{ stdenv +, lib +, fetchFromGitHub +, rustPlatform +, pkg-config +, ncurses +, openssl +, Cocoa , withALSA ? true, alsa-lib +, withClipboard ? true, libxcb, python3 +, withCover ? false, ueberzug , withPulseAudio ? false, libpulseaudio , withPortAudio ? false, portaudio -, withMPRIS ? false, dbus +, withMPRIS ? true, withNotify ? true, dbus }: rustPlatform.buildRustPackage rec { @@ -18,23 +27,31 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-tEk7BxAN8jEquJiv89vC0lYrB/sKeZhThBzs09A9NpA="; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ] + ++ lib.optional withClipboard python3; buildInputs = [ ncurses ] ++ lib.optional stdenv.isLinux openssl ++ lib.optional withALSA alsa-lib + ++ lib.optional withClipboard libxcb + ++ lib.optional withCover ueberzug ++ lib.optional withPulseAudio libpulseaudio ++ lib.optional withPortAudio portaudio - ++ lib.optional withMPRIS dbus; + ++ lib.optional (withMPRIS || withNotify) dbus + ++ lib.optional stdenv.isDarwin Cocoa; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-DNCURSES_UNCTRL_H_incl"; buildNoDefaultFeatures = true; + buildFeatures = [ "cursive/pancurses-backend" ] ++ lib.optional withALSA "alsa_backend" + ++ lib.optional withClipboard "share_clipboard" + ++ lib.optional withCover "cover" ++ lib.optional withPulseAudio "pulseaudio_backend" ++ lib.optional withPortAudio "portaudio_backend" - ++ lib.optional withMPRIS "mpris"; - - doCheck = false; + ++ lib.optional withMPRIS "mpris" + ++ lib.optional withNotify "notify"; meta = with lib; { description = "Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c7dc4ba4785d..d0581e06d475 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32579,6 +32579,8 @@ with pkgs; ncdc = callPackage ../applications/networking/p2p/ncdc { }; ncspot = callPackage ../applications/audio/ncspot { + inherit (darwin.apple_sdk.frameworks) Cocoa; + withALSA = stdenv.isLinux; withPulseAudio = config.pulseaudio or stdenv.isLinux; withPortAudio = stdenv.isDarwin;