nix: build from source
This commit is contained in:
parent
9f6c983231
commit
76bf9d068a
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
buildPythonApplication,
|
||||||
makeWrapper,
|
|
||||||
fetchurl,
|
fetchurl,
|
||||||
util-linux,
|
util-linux,
|
||||||
python,
|
python,
|
||||||
|
setuptools,
|
||||||
jinja2,
|
jinja2,
|
||||||
impacket,
|
impacket,
|
||||||
pyopenssl,
|
pyopenssl,
|
||||||
@ -58,9 +58,15 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pinData = lib.importJSON ./pin.json;
|
pinData = lib.importJSON ./pin.json;
|
||||||
pyEnv = python.withPackages (
|
runtimeDeps = ([ util-linux ] ++ extraPackages ++ lib.optional withMediaProcessing ffmpeg);
|
||||||
ps:
|
in
|
||||||
with ps;
|
buildPythonApplication {
|
||||||
|
pname = "copyparty";
|
||||||
|
inherit (pinData) version;
|
||||||
|
src = fetchurl {
|
||||||
|
inherit (pinData) url hash;
|
||||||
|
};
|
||||||
|
dependencies =
|
||||||
[
|
[
|
||||||
jinja2
|
jinja2
|
||||||
]
|
]
|
||||||
@ -73,25 +79,13 @@ let
|
|||||||
++ lib.optional withBasicAudioMetadata mutagen
|
++ lib.optional withBasicAudioMetadata mutagen
|
||||||
++ lib.optional withHashedPasswords argon2-cffi
|
++ lib.optional withHashedPasswords argon2-cffi
|
||||||
++ lib.optional withZeroMQ pyzmq
|
++ lib.optional withZeroMQ pyzmq
|
||||||
++ (extraPythonPackages ps)
|
++ (extraPythonPackages python.packages);
|
||||||
);
|
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath runtimeDeps}" ];
|
||||||
|
|
||||||
runtimeDeps = ([ util-linux ] ++ extraPackages ++ lib.optional withMediaProcessing ffmpeg);
|
pyproject = true;
|
||||||
in
|
build-system = [
|
||||||
stdenv.mkDerivation {
|
setuptools
|
||||||
pname = "copyparty";
|
];
|
||||||
inherit (pinData) version;
|
|
||||||
src = fetchurl {
|
|
||||||
inherit (pinData) url hash;
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
dontUnpack = true;
|
|
||||||
installPhase = ''
|
|
||||||
install -Dm755 $src $out/share/copyparty-sfx.py
|
|
||||||
makeWrapper ${pyEnv.interpreter} $out/bin/copyparty \
|
|
||||||
--prefix PATH : ${lib.makeBinPath runtimeDeps} \
|
|
||||||
--add-flag $out/share/copyparty-sfx.py
|
|
||||||
'';
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Turn almost any device into a file server";
|
description = "Turn almost any device into a file server";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@ -101,8 +95,7 @@ stdenv.mkDerivation {
|
|||||||
homepage = "https://github.com/9001/copyparty";
|
homepage = "https://github.com/9001/copyparty";
|
||||||
changelog = "https://github.com/9001/copyparty/releases/tag/v${pinData.version}";
|
changelog = "https://github.com/9001/copyparty/releases/tag/v${pinData.version}";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
inherit (python.meta) platforms;
|
|
||||||
mainProgram = "copyparty";
|
mainProgram = "copyparty";
|
||||||
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
|
sourceProvenance = [ lib.sourceTypes.fromSource ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user