1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 dtk6widget,
8 dtk6declarative,
9 qt6integration,
10 qt6platform-plugins,
11 qt6mpris,
12 ffmpeg_6,
13 libvlc,
14 qt6Packages,
15 taglib_1,
16 SDL2,
17 gst_all_1,
18}:
19
20stdenv.mkDerivation rec {
21 pname = "deepin-music";
22 version = "7.0.9";
23
24 src = fetchFromGitHub {
25 owner = "linuxdeepin";
26 repo = pname;
27 rev = version;
28 hash = "sha256-tj0XICmp7sM2m6aSf/DgxS7JXO3Wy/83sZIPGV17gFo=";
29 };
30
31 patches = [ "${src}/patches/fix-library-path.patch" ];
32
33 nativeBuildInputs = [
34 cmake
35 pkg-config
36 qt6Packages.qttools
37 qt6Packages.wrapQtAppsHook
38 ];
39
40 buildInputs = [
41 dtk6widget
42 dtk6declarative
43 qt6integration
44 qt6platform-plugins
45 qt6mpris
46 qt6Packages.qtbase
47 qt6Packages.qt5compat
48 qt6Packages.qtmultimedia
49 ffmpeg_6
50 libvlc
51 taglib_1
52 SDL2
53 ]
54 ++ (with gst_all_1; [
55 gstreamer
56 gst-plugins-base
57 gst-plugins-good
58 ]);
59
60 cmakeFlags = [ "-DVERSION=${version}" ];
61
62 env.NIX_CFLAGS_COMPILE = toString [
63 "-I${libvlc}/include/vlc/plugins"
64 "-I${libvlc}/include/vlc"
65 ];
66
67 # qtmultimedia can't not be found with strictDeps
68 strictDeps = false;
69
70 preFixup = ''
71 qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
72 '';
73
74 meta = {
75 description = "Awesome music player with brilliant and tweakful UI Deepin-UI based";
76 mainProgram = "deepin-music";
77 homepage = "https://github.com/linuxdeepin/deepin-music";
78 license = lib.licenses.gpl3Plus;
79 platforms = lib.platforms.linux;
80 teams = [ lib.teams.deepin ];
81 };
82}