diff --git a/pkgs/by-name/sy/sylkserver/package.nix b/pkgs/by-name/sy/sylkserver/package.nix new file mode 100644 index 000000000000..154cfcdb3db5 --- /dev/null +++ b/pkgs/by-name/sy/sylkserver/package.nix @@ -0,0 +1,62 @@ +{ + 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"; + }; +}