{ stdenv, lib, buildGoPackage, fetchFromGitHub, easyjson }: buildGoPackage rec { pname = "nextcloud-spreed-signaling"; version = "0.2.0"; goPackagePath = "github.com/strukturag/nextcloud-spreed-signaling"; subPackages = [ "src/signaling" "src/server" "src/proxy" ]; src = fetchFromGitHub { owner = "strukturag"; repo = pname; rev = "v${version}"; sha256 = "sha256-heDi/kWyPDZ9oPjBhNRBAkiKkkEnXmfSanYvCUSB5Ls="; }; nativeBuildInputs = [ easyjson ]; goDeps = ./deps.nix; preBuild = '' ln -s $PWD/go/src/${goPackagePath}/src/* go/src easyjson -all go/src/signaling/{api_signaling,api_backend,api_proxy,natsclient,room}.go ''; meta = with lib; { description = "Standalone signaling server for Nextcloud Talk"; homepage = src.meta.homepage; license = licenses.agpl3; maintainers = with maintainers; [ aw ]; }; }