chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / mu / musikcube / package.nix
blob8c59e9833985776d0de7859f126e0407f0bd7de3
2   asio,
3   cmake,
4   curl,
5   fetchFromGitHub,
6   ffmpeg-headless,
7   gnutls,
8   lame,
9   lib,
10   libev,
11   game-music-emu,
12   libmicrohttpd,
13   libopenmpt,
14   mpg123,
15   ncurses,
16   pkg-config,
17   portaudio,
18   stdenv,
19   taglib,
20   # Linux Dependencies
21   alsa-lib,
22   pipewireSupport ? !stdenv.hostPlatform.isDarwin,
23   pipewire,
24   pulseaudio,
25   sndioSupport ? true,
26   sndio,
27   systemd,
28   systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd,
29   # Darwin Dependencies
30   darwin,
31   coreaudioSupport ? stdenv.hostPlatform.isDarwin,
34 let
35   ffmpeg = ffmpeg-headless;
37 stdenv.mkDerivation (finalAttrs: {
38   pname = "musikcube";
39   version = "3.0.4";
41   src = fetchFromGitHub {
42     owner = "clangen";
43     repo = "musikcube";
44     rev = finalAttrs.version;
45     hash = "sha512-ibpSrzbn2yGNgWnjAh4sG9ZRFImxjE2sq6tu9k0w1QAAr/OWSTwtaIuK71ClT6yt4HKyRk1KSaXa+/IzOHI6Kg==";
46   };
48   outputs = [
49     "out"
50     "dev"
51   ];
53   nativeBuildInputs = [
54     cmake
55     pkg-config
56   ];
58   buildInputs =
59     [
60       asio
61       curl
62       ffmpeg
63       gnutls
64       lame
65       libev
66       game-music-emu
67       libmicrohttpd
68       libopenmpt
69       mpg123
70       ncurses
71       portaudio
72       taglib
73     ]
74     ++ lib.optionals systemdSupport [ systemd ]
75     ++ lib.optionals stdenv.hostPlatform.isLinux [
76       alsa-lib
77       pulseaudio
78     ]
79     ++ lib.optionals stdenv.hostPlatform.isDarwin (
80       with darwin.apple_sdk.frameworks;
81       [
82         Cocoa
83         SystemConfiguration
84       ]
85     )
86     ++ lib.optionals coreaudioSupport (with darwin.apple_sdk.frameworks; [ CoreAudio ])
87     ++ lib.optionals sndioSupport [ sndio ]
88     ++ lib.optionals pipewireSupport [ pipewire ];
90   cmakeFlags = [ "-DDISABLE_STRIP=true" ];
92   postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
93     install_name_tool -add_rpath $out/share/musikcube $out/share/musikcube/musikcube
94     install_name_tool -add_rpath $out/share/musikcube $out/share/musikcube/musikcubed
95   '';
97   meta = {
98     description = "Terminal-based music player, library, and streaming audio server";
99     homepage = "https://musikcube.com/";
100     maintainers = with lib.maintainers; [
101       aanderse
102       afh
103     ];
104     mainProgram = "musikcube";
105     license = lib.licenses.bsd3;
106     platforms = lib.platforms.all;
107   };