Unverified Commit 4de26d07 authored by Olivér Falvai's avatar Olivér Falvai
Browse files

spotify-player: format with nixfmt-rfc-style

parent c79fde30
Loading
Loading
Loading
Loading
+88 −55
Original line number Diff line number Diff line
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, cmake
{
  lib,
  rustPlatform,
  fetchFromGitHub,
  pkg-config,
  openssl,
  cmake,
  # deps for audio backends
, alsa-lib
, libpulseaudio
, portaudio
, libjack2
, SDL2
, gst_all_1
, dbus
, fontconfig
, libsixel
  alsa-lib,
  libpulseaudio,
  portaudio,
  libjack2,
  SDL2,
  gst_all_1,
  dbus,
  fontconfig,
  libsixel,

  # build options
, withStreaming ? true
, withDaemon ? true
, withAudioBackend ? "rodio" # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl
, withMediaControl ? true
, withLyrics ? true
, withImage ? true
, withNotify ? true
, withSixel ? true
, withFuzzy ? true
, stdenv
, darwin
, makeBinaryWrapper
  withStreaming ? true,
  withDaemon ? true,
  withAudioBackend ? "rodio", # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl
  withMediaControl ? true,
  withLyrics ? true,
  withImage ? true,
  withNotify ? true,
  withSixel ? true,
  withFuzzy ? true,
  stdenv,
  darwin,
  makeBinaryWrapper,

  # passthru
, nix-update-script
  nix-update-script,
}:

assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaudio" "rodio" "portaudio" "jackaudio" "rodiojack" "sdl" "gstreamer" ];
assert lib.assertOneOf "withAudioBackend" withAudioBackend [
  ""
  "alsa"
  "pulseaudio"
  "rodio"
  "portaudio"
  "jackaudio"
  "rodiojack"
  "sdl"
  "gstreamer"
];

rustPlatform.buildRustPackage rec {
  pname = "spotify-player";
@@ -48,15 +59,18 @@ rustPlatform.buildRustPackage rec {

  cargoHash = "sha256-VlJ8Bz4EY2rERyOn6ifC7JAL5Mvjt0ZOzlPBOwiH6WA=";

  nativeBuildInputs = [
  nativeBuildInputs =
    [
      pkg-config
      cmake
      rustPlatform.bindgenHook
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
    ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [
      makeBinaryWrapper
    ];

  buildInputs = [
  buildInputs =
    [
      openssl
      dbus
      fontconfig
@@ -67,19 +81,33 @@ rustPlatform.buildRustPackage rec {
    ++ lib.optionals (withAudioBackend == "rodio" && stdenv.hostPlatform.isLinux) [ alsa-lib ]
    ++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ]
    ++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ]
    ++ lib.optionals (withAudioBackend == "rodiojack") [ alsa-lib libjack2 ]
    ++ lib.optionals (withAudioBackend == "rodiojack") [
      alsa-lib
      libjack2
    ]
    ++ lib.optionals (withAudioBackend == "sdl") [ SDL2 ]
    ++ lib.optionals (withAudioBackend == "gstreamer") [ gst_all_1.gstreamer gst_all_1.gst-devtools gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]
    ++ lib.optionals (stdenv.hostPlatform.isDarwin && withMediaControl) [ darwin.apple_sdk.frameworks.MediaPlayer ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
    ++ lib.optionals (withAudioBackend == "gstreamer") [
      gst_all_1.gstreamer
      gst_all_1.gst-devtools
      gst_all_1.gst-plugins-base
      gst_all_1.gst-plugins-good
    ]
    ++ lib.optionals (stdenv.hostPlatform.isDarwin && withMediaControl) [
      darwin.apple_sdk.frameworks.MediaPlayer
    ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin (
      with darwin.apple_sdk.frameworks;
      [
        AppKit
        AudioUnit
        Cocoa
    ]);
      ]
    );

  buildNoDefaultFeatures = true;

  buildFeatures = [ ]
  buildFeatures =
    [ ]
    ++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ]
    ++ lib.optionals withMediaControl [ "media-control" ]
    ++ lib.optionals withImage [ "image" ]
@@ -106,6 +134,11 @@ rustPlatform.buildRustPackage rec {
    changelog = "https://github.com/aome510/spotify-player/releases/tag/v${version}";
    mainProgram = "spotify_player";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ dit7ya xyven1 _71zenith caperren ];
    maintainers = with lib.maintainers; [
      dit7ya
      xyven1
      _71zenith
      caperren
    ];
  };
}