nixpkgs/pkgs/servers/gotosocial/default.nix
j.r 4907af4986
gotosocial: 0.13.0 -> 0.13.2
Version 0.13.2 fixes some less severe security issues (see [1]) so this
should be backported.

Replaces #281831
Closes #281659

[1] https://gts.superseriousbusiness.org/@gotosocial/statuses/01HNZ5GF2EM5M899B7RKXYNMH9
2024-02-06 14:19:15 +01:00

63 lines
1.5 KiB
Nix

{ stdenv
, lib
, fetchurl
, fetchFromGitHub
, buildGoModule
, nixosTests
}:
let
owner = "superseriousbusiness";
repo = "gotosocial";
version = "0.13.2";
web-assets = fetchurl {
url = "https://github.com/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz";
hash = "sha256-Iyqn0/VyigmOhlyyz1NfvNIXmWtF617QbWzM2c7jHWw=";
};
in
buildGoModule rec {
inherit version;
pname = repo;
src = fetchFromGitHub {
inherit owner repo;
rev = "refs/tags/v${version}";
hash = "sha256-VQnE4Xff4gtjQ6V2B42zK8UjosBWEMgcL/3Q8S0wc5Q=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
"-X main.Version=${version}"
];
postInstall = ''
tar xf ${web-assets}
mkdir -p $out/share/gotosocial
mv web $out/share/gotosocial/
'';
# tests are working only on x86_64-linux
doCheck = stdenv.isLinux && stdenv.isx86_64;
passthru.tests.gotosocial = nixosTests.gotosocial;
meta = with lib; {
homepage = "https://gotosocial.org";
changelog = "https://github.com/superseriousbusiness/gotosocial/releases/tag/v${version}";
description = "Fast, fun, ActivityPub server, powered by Go";
longDescription = ''
ActivityPub social network server, written in Golang.
You can keep in touch with your friends, post, read, and
share images and articles. All without being tracked or
advertised to! A light-weight alternative to Mastodon
and Pleroma, with support for clients!
'';
maintainers = with maintainers; [ misuzu ];
license = licenses.agpl3Only;
};
}