21 # During compilation, a CMake bundle is downloaded from `artifacts.plex.tv`,
22 # which then downloads a handful of web client-related files. To enable
23 # sandboxed builds, we manually download them and save them so these files
24 # are fetched ahead-of-time instead of during the CMake build. To update
25 # plex-media-player use the update.sh script, so the versions and hashes
26 # for these files are also updated!
27 depSrcs = import ./deps.nix { inherit fetchurl; };
30 pname = "plex-media-player";
34 src = fetchFromGitHub {
36 repo = "plex-media-player";
37 rev = "v${version}-${vsnHash}";
38 sha256 = "1q20fdp5d0blb0q6p2357bwdc2g65cadkgdp4w533ij2nyaxydjd";
59 preConfigure = with depSrcs; ''
60 mkdir -p build/dependencies
61 ln -s ${webClient} build/dependencies/buildid-${webClientBuildId}.cmake
62 ln -s ${webClientDesktopHash} build/dependencies/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1
63 ln -s ${webClientDesktop} build/dependencies/web-client-desktop-${webClientDesktopBuildId}.tar.xz
64 ln -s ${webClientTvHash} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz.sha1
65 ln -s ${webClientTv} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz
68 cmakeBuildType = "RelWithDebInfo";
70 cmakeFlags = [ "-DQTROOT=${qtbase}" ];
72 # plexmediaplayer currently segfaults under wayland
79 passthru.updateScript = ./update.sh;
82 description = "Streaming media player for Plex";
83 license = licenses.gpl2;
84 maintainers = with maintainers; [ b4dm4n ];
85 homepage = "https://plex.tv";
86 mainProgram = "plexmediaplayer";