Ethan Carter Edwards c07bb08a76
sylkserver: init at 6.5.0
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2025-08-05 21:14:58 -04:00

63 lines
1.4 KiB
Nix

{
lib,
fetchFromGitHub,
python3Packages,
versionCheckHook,
fetchpatch2,
}:
python3Packages.buildPythonApplication rec {
pname = "sylkserver";
version = "6.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "AGProjects";
repo = "sylkserver";
tag = version;
hash = "sha256-A15EJs35ZgXy9db3+XC0q5fTlemLJsA945nvIY50Pa4=";
};
patches = [
# should be removed with next release
(fetchpatch2 {
url = "https://github.com/AGProjects/sylkserver/commit/c0d943b4ff4401b2892b84d66e7cd27db7e6a927.patch";
hash = "sha256-U0a8mRbt8c4lUcN2xYDfvXTt/sWcvi7F3/Vw5sIQPrU=";
})
];
build-system = [ python3Packages.setuptools ];
dependencies = with python3Packages; [
autobahn
cement
dnspython
klein
lxml
msrplib
python3-eventlib
python3-gnutls
sipsimple
wokkel
xcaplib
];
pythonImportsCheck = [ "sylk" ];
# no upstream tests exist
nativeCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/sylk-server";
versionCheckProgramArg = "--version";
meta = {
description = "SIP/XMPP/WebRTC Application Server";
homepage = "https://sylkserver.com/";
downloadPage = "https://github.com/AGProjects/sylkserver";
changelog = "https://github.com/AGProjects/sylkserver/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
teams = [ lib.teams.ngi ];
mainProgram = "sylk-server";
};
}