mirror of
https://github.com/9001/copyparty.git
synced 2025-10-03 15:12:28 -06:00
39 lines
1 KiB
Nix
39 lines
1 KiB
Nix
{ lib, stdenv, makeWrapper, fetchurl, utillinux, python, jinja2, mutagen, pillow
|
|
, pyvips, pyftpdlib, pyopenssl, impacket, ffmpeg }:
|
|
|
|
let
|
|
pinData = lib.importJSON ./pin.json;
|
|
pyEnv = python.withPackages (ps:
|
|
with ps; [
|
|
# mandatory
|
|
jinja2
|
|
# thumbnails
|
|
pyvips
|
|
# alternative thumbnails, but not needed in the presence of pyvips and ffmpeg
|
|
# pillow pyheif-pillow-opener pillow-avif-plugin
|
|
# audio metadata
|
|
mutagen
|
|
# ftp server
|
|
pyftpdlib
|
|
pyopenssl
|
|
# smb server
|
|
impacket
|
|
]);
|
|
in stdenv.mkDerivation {
|
|
pname = "copyparty";
|
|
version = pinData.version;
|
|
src = fetchurl {
|
|
url = pinData.url;
|
|
hash = pinData.hash;
|
|
};
|
|
buildInputs = [ makeWrapper ];
|
|
dontUnpack = true;
|
|
dontBuild = true;
|
|
installPhase = ''
|
|
install -Dm755 $src $out/share/copyparty-sfx.py
|
|
makeWrapper ${pyEnv.interpreter} $out/bin/copyparty \
|
|
--set PATH '${lib.makeBinPath [ utillinux ffmpeg ]}:$PATH' \
|
|
--add-flags "$out/share/copyparty-sfx.py"
|
|
'';
|
|
}
|