{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libmpdclient, openssl, lua5_3, libid3tag, flac, pcre2, gzip, perl, jq, nixosTests, }: stdenv.mkDerivation (finalAttrs: { pname = "mympd"; version = "18.2.2"; src = fetchFromGitHub { owner = "jcorporation"; repo = "myMPD"; rev = "v${finalAttrs.version}"; sha256 = "sha256-ztZ4AdVRQ5KCmxAIT6SSexIle6IfREGqNZLhAplPtrQ="; }; nativeBuildInputs = [ pkg-config cmake gzip perl jq ]; preConfigure = '' env MYMPD_BUILDDIR=$PWD/build ./build.sh createassets ''; buildInputs = [ libmpdclient openssl lua5_3 libid3tag flac pcre2 ]; cmakeFlags = [ # Otherwise, it tries to parse $out/etc/mympd.conf on startup. "-DCMAKE_INSTALL_SYSCONFDIR=/etc" # similarly here "-DCMAKE_INSTALL_LOCALSTATEDIR=/var/lib/mympd" ]; hardeningDisable = [ # causes redefinition of _FORTIFY_SOURCE "fortify3" ]; # 5 tests out of 23 fail, probably due to the sandbox... doCheck = false; passthru.tests = { inherit (nixosTests) mympd; }; meta = { homepage = "https://jcorporation.github.io/myMPD"; description = "Standalone and mobile friendly web mpd client with a tiny footprint and advanced features"; maintainers = [ lib.maintainers.doronbehar ]; platforms = lib.platforms.linux; license = lib.licenses.gpl2Plus; mainProgram = "mympd"; }; })