xin/pkgs/gotosocial.nix

55 lines
1.3 KiB
Nix
Raw Normal View History

2022-11-29 06:24:55 -07:00
{ stdenv, lib, buildGo119Module, fetchFromGitHub, makeWrapper, go, git, ffmpeg
2022-10-04 21:57:49 -06:00
, ... }:
let
2023-02-06 06:55:14 -07:00
gotosocialVersion = "0.7.0-rc1";
gotosocialWebAssets = builtins.fetchurl {
2022-09-12 21:53:58 -06:00
url =
"https://github.com/superseriousbusiness/gotosocial/releases/download/v${gotosocialVersion}/gotosocial_${gotosocialVersion}_web-assets.tar.gz";
2023-02-06 06:55:14 -07:00
sha256 = "sha256:0kgkq6aha4pyzl09f58h3n9ln8spqjdi80r2hwbv7kz2vgnp74dh";
};
2022-09-12 21:53:58 -06:00
in with lib;
2022-11-29 06:24:55 -07:00
buildGo119Module rec {
pname = "gotosocial";
version = gotosocialVersion;
src = fetchFromGitHub {
owner = "superseriousbusiness";
repo = pname;
rev = "v${version}";
2023-02-06 06:55:14 -07:00
hash = "sha256-VhshC44ZuUtQhltaePGV9mjDmKmyGr0ul01ud1azrZ4=";
};
ldflags = [
"-s"
"-w"
"-extldflags '-static'"
"-X 'main.Commit=${version}'"
"-X 'main.Version=${version}'"
];
propagatedBuildInputs = [ ffmpeg ];
proxyVendor = false;
vendorSha256 = null;
2022-09-26 07:49:55 -06:00
doCheck = false;
preBuild = ''
echo ${go}/bin/go
${go}/bin/go version
2023-01-03 08:24:11 -07:00
'';
postInstall = ''
mkdir -p $out/assets
tar -C $out/assets/ -zxvf ${gotosocialWebAssets}
'';
meta = {
description = "Fast, fun, ActivityPub server, powered by Go.";
homepage = "https://github.com/superseriousbusiness/gotosocial";
license = licenses.agpl3;
maintainers = with maintainers; [ qbit ];
};
}