nixpkgs/pkgs/servers/misc/navidrome/default.nix

50 lines
1.3 KiB
Nix
Raw Normal View History

2021-10-22 21:02:26 +00:00
{ lib, stdenv, fetchurl, ffmpeg, ffmpegSupport ? true, makeWrapper, nixosTests }:
2020-06-20 13:08:46 +00:00
2021-01-15 07:07:56 +00:00
with lib;
2020-06-20 13:08:46 +00:00
stdenv.mkDerivation rec {
pname = "navidrome";
2021-11-19 07:44:02 +00:00
version = "0.47.0";
2020-06-20 13:08:46 +00:00
2021-10-22 21:02:26 +00:00
src = fetchurl (if stdenv.hostPlatform.system == "x86_64-linux"
then {
2020-06-20 13:08:46 +00:00
url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
2021-11-19 07:44:02 +00:00
sha256 = "sha256-MoBv2dTCotLnGaZOUWLScYd1+gKSjPXTSkHAR6UircA=";
}
else {
url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_arm64.tar.gz";
2021-11-19 07:44:02 +00:00
sha256 = "sha256-FIjrw+BBJXOjh1AoVdfPZIdcDyk5yS/zKD1O+u31YlE=";
});
2020-06-20 13:08:46 +00:00
nativeBuildInputs = [ makeWrapper ];
unpackPhase = ''
tar xvf $src navidrome
2020-06-20 13:08:46 +00:00
'';
installPhase = ''
2021-05-08 00:38:47 +00:00
runHook preInstall
2020-06-20 13:08:46 +00:00
mkdir -p $out/bin
cp navidrome $out/bin
2021-05-08 00:38:47 +00:00
runHook postInstall
2020-06-20 13:08:46 +00:00
'';
postFixup = ''
wrapProgram $out/bin/navidrome \
--prefix PATH : ${makeBinPath (optional ffmpegSupport ffmpeg)}
'';
2020-11-22 22:44:46 +00:00
passthru.tests.navidrome = nixosTests.navidrome;
2020-06-20 13:08:46 +00:00
meta = {
description = "Navidrome Music Server and Streamer compatible with Subsonic/Airsonic";
homepage = "https://www.navidrome.org/";
2021-05-08 00:38:47 +00:00
license = licenses.gpl3Only;
platforms = [ "x86_64-linux" "aarch64-linux" ];
2020-06-20 13:08:46 +00:00
maintainers = with maintainers; [ aciceri ];
};
}