butt: set meta.platforms
[NixPkgs.git] / pkgs / by-name / ni / nitter / package.nix
blob3b3e89cf3e699082f0fb9de199eae5d2273cab1c
1 { lib
2 , buildNimPackage
3 , fetchFromGitHub
4 , nixosTests
5 , substituteAll
6 , unstableGitUpdater
7 }:
9 buildNimPackage (finalAttrs: prevAttrs: {
10   pname = "nitter";
11   version = "unstable-2024-02-26";
13   src = fetchFromGitHub {
14     owner = "zedeus";
15     repo = "nitter";
16     rev = "c6edec04901d0a37799499ed4c6921db640fb5a4";
17     hash = "sha256-N3d63nyVzUTa2+UemA1REFfVsw6iOVU8xUlYraR55m4=";
18   };
20   lockFile = ./lock.json;
22   patches = [
23     (substituteAll {
24       src = ./nitter-version.patch;
25       inherit (finalAttrs) version;
26       inherit (finalAttrs.src) rev;
27       url = builtins.replaceStrings [ "archive" ".tar.gz" ] [ "commit" "" ] finalAttrs.src.url;
28     })
29   ];
31   postBuild = ''
32     nim compile ${toString finalAttrs.nimFlags} -r tools/gencss
33     nim compile ${toString finalAttrs.nimFlags} -r tools/rendermd
34   '';
36   postInstall = ''
37     mkdir -p $out/share/nitter
38     cp -r public $out/share/nitter/public
39   '';
41   passthru = {
42     tests = { inherit (nixosTests) nitter; };
43     updateScript = unstableGitUpdater { branch = "guest_accounts"; };
44   };
46   meta = with lib; {
47     homepage = "https://github.com/zedeus/nitter";
48     description = "Alternative Twitter front-end";
49     license = licenses.agpl3Only;
50     maintainers = with maintainers; [ erdnaxe infinidoge ];
51     mainProgram = "nitter";
52   };