about summary refs log tree commit diff
path: root/pkgs/by-name/ni
diff options
context:
space:
mode:
authorEmery Hemingway <ehmry@posteo.net>2023-10-31 00:19:36 +0000
committerEmery Hemingway <ehmry@posteo.net>2023-11-28 16:48:10 +0200
commitcab3fd4d50a05becce0e4df3779c8d1b3e23586f (patch)
tree20fb996088eccfd2bdc9cc0d86d3c3baed559365 /pkgs/by-name/ni
parentee21b61658dd195be61e93b0937ad65d6e41fb6a (diff)
downloadnixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.tar
nixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.tar.gz
nixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.tar.bz2
nixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.tar.lz
nixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.tar.xz
nixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.tar.zst
nixlib-cab3fd4d50a05becce0e4df3779c8d1b3e23586f.zip
nitter: build with buildNimPackage
Diffstat (limited to 'pkgs/by-name/ni')
-rw-r--r--pkgs/by-name/ni/nitter/lock.json194
-rw-r--r--pkgs/by-name/ni/nitter/nitter-version.patch17
-rw-r--r--pkgs/by-name/ni/nitter/package.nix53
-rwxr-xr-xpkgs/by-name/ni/nitter/update.sh25
4 files changed, 289 insertions, 0 deletions
diff --git a/pkgs/by-name/ni/nitter/lock.json b/pkgs/by-name/ni/nitter/lock.json
new file mode 100644
index 000000000000..5e059f869af0
--- /dev/null
+++ b/pkgs/by-name/ni/nitter/lock.json
@@ -0,0 +1,194 @@
+{
+  "depends": [
+    {
+      "method": "fetchzip",
+      "packages": [
+        "asynctools"
+      ],
+      "path": "/nix/store/ahig7j046p8mc01jgidvvvba0afccilr-source",
+      "rev": "pr_fix_compilation",
+      "sha256": "0lip4qzc49ffa9byx65n7pmsy020a589vhnly373xrfhk2zw9jmd",
+      "srcDir": "",
+      "url": "https://github.com/timotheecour/asynctools/archive/pr_fix_compilation.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "dotenv"
+      ],
+      "path": "/nix/store/9hxi0hvds11agbmpaha8zp1bgzf7vypv-source",
+      "ref": "2.0.1",
+      "rev": "48315332fe79ffce87c81b9d0bec992ba19b6966",
+      "sha256": "08y8xvpiqk75v0hxhgbhxfbxz7l95vavh1lv8kxkid8rb9p92zr4",
+      "srcDir": "src",
+      "url": "https://github.com/euantorano/dotenv.nim/archive/48315332fe79ffce87c81b9d0bec992ba19b6966.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "flatty"
+      ],
+      "path": "/nix/store/21380smf8kyxzc4zf0qjsjx0dp5lv5rj-source",
+      "rev": "e668085",
+      "sha256": "0886lk20rg1pq56jsz1jjd8vrdz46lgdaxvp97az06mcawhbabbz",
+      "srcDir": "src",
+      "url": "https://github.com/treeform/flatty/archive/e668085.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "httpbeast"
+      ],
+      "path": "/nix/store/hx85br48sjcridmda4l35cx7c9imxabg-source",
+      "ref": "v0.4.1",
+      "rev": "abc13d11c210b614960fe8760e581d44cfb2e3e9",
+      "sha256": "1x12ypfj341gjg3rh7zjq1wns8rngfyky6gqgb92lyhlvs7h4xzj",
+      "srcDir": "src",
+      "url": "https://github.com/dom96/httpbeast/archive/abc13d11c210b614960fe8760e581d44cfb2e3e9.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "jester"
+      ],
+      "path": "/nix/store/jz86cks97is931hwsq5wf35kjwfypp6x-source",
+      "rev": "baca3f",
+      "sha256": "0i8rxsbp5yd9dasis650vqppika43mzfsls4fc7cz8k5j8xpd6zc",
+      "srcDir": "",
+      "url": "https://github.com/dom96/jester/archive/baca3f.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "jsony"
+      ],
+      "path": "/nix/store/bzcq8q439rdsqhhihikzv3rsx4l4ybdm-source",
+      "rev": "ea811be",
+      "sha256": "1720iqsxjhqmhw1zhhs7d2ncdz25r8fqadls1p1iry1wfikjlnba",
+      "srcDir": "src",
+      "url": "https://github.com/treeform/jsony/archive/ea811be.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "karax"
+      ],
+      "path": "/nix/store/5vghbi3cfpf7zvbkn0mk9chrf0rsx4yf-source",
+      "rev": "5cf360c",
+      "sha256": "1fh0jcjlw0vfqmr5dmhk436g569qvcpml9f981x28wmvm1511z2c",
+      "srcDir": "",
+      "url": "https://github.com/karaxnim/karax/archive/5cf360c.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "markdown"
+      ],
+      "path": "/nix/store/6jpq2dp02mhjl8pkxzs0a1sjvgyg5h1r-source",
+      "rev": "158efe3",
+      "sha256": "1701q0i8yd9rrjraf5fzgcvilwnwgw3wyzzfwpr2drmn3x9pd8fj",
+      "srcDir": "src",
+      "url": "https://github.com/soasme/nim-markdown/archive/158efe3.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "nimcrypto"
+      ],
+      "path": "/nix/store/dnj20qh97ylf57nka9wbxs735wbw7yxv-source",
+      "rev": "4014ef9",
+      "sha256": "1kgqr2lqaffglc1fgbanwcvhkqcbbd20d5b6w4lf0nksfl9c357a",
+      "srcDir": "",
+      "url": "https://github.com/cheatfate/nimcrypto/archive/4014ef9.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "packedjson"
+      ],
+      "path": "/nix/store/c6wn9azj0kyvl818a40hzqzis0im8gnb-source",
+      "rev": "9e6fbb6",
+      "sha256": "09yxshkfpacgl6x8f77snjcwz37r519vh7rrnqrnh5npvgk3h24j",
+      "srcDir": "",
+      "url": "https://github.com/Araq/packedjson/archive/9e6fbb6.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "redis"
+      ],
+      "path": "/nix/store/x6l3kz5950fb3d0pr5hmldh0xqkqrl62-source",
+      "rev": "d0a0e6f",
+      "sha256": "166kzflb3wgwvqnv9flyynp8b35xby617lxmk0yas8i4m6vjl00f",
+      "srcDir": "src",
+      "url": "https://github.com/zedeus/redis/archive/d0a0e6f.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "redis"
+      ],
+      "path": "/nix/store/x6l3kz5950fb3d0pr5hmldh0xqkqrl62-source",
+      "rev": "d0a0e6f",
+      "sha256": "166kzflb3wgwvqnv9flyynp8b35xby617lxmk0yas8i4m6vjl00f",
+      "srcDir": "src",
+      "url": "https://github.com/zedeus/redis/archive/d0a0e6f.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "redpool"
+      ],
+      "path": "/nix/store/pkwc61k47vzvxfdhsckbyx52rrbav0gz-source",
+      "rev": "8b7c1db",
+      "sha256": "10xh5fhwnahnq1nf6j69vvnbi55kixa0ari630gr6cdx80arvbs6",
+      "srcDir": "src",
+      "url": "https://github.com/zedeus/redpool/archive/8b7c1db.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "sass"
+      ],
+      "path": "/nix/store/2nk90ab1k14px5zi8jwa30x8b8sfnbnm-source",
+      "rev": "7dfdd03",
+      "sha256": "19d78787k97l5cis81800hxa9qjr0yzjshlzdp727gh6pn8kc8fj",
+      "srcDir": "src",
+      "url": "https://github.com/dom96/sass/archive/7dfdd03.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "supersnappy"
+      ],
+      "path": "/nix/store/kibhdjpd3mvn9adsp67amj35a7zrnk6y-source",
+      "rev": "6c94198",
+      "sha256": "0gxy7ijm4d2i4dkb64wwq51gns0i2d3d3rrd9cra7fyiahaph4xi",
+      "srcDir": "src",
+      "url": "https://github.com/guzba/supersnappy/archive/6c94198.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "ws"
+      ],
+      "path": "/nix/store/zd51j4dphs6h1hyhdbzdv840c8813ai8-source",
+      "ref": "0.5.0",
+      "rev": "9536bf99ddf5948db221ccb7bb3663aa238a8e21",
+      "sha256": "0j8z9jlvzb1h60v7rryvh2wx6vg99lra6i62whf3fknc53l641fz",
+      "srcDir": "src",
+      "url": "https://github.com/treeform/ws/archive/9536bf99ddf5948db221ccb7bb3663aa238a8e21.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "zippy"
+      ],
+      "path": "/nix/store/lhkc989wrk27wwglrxs0ahhxp2c650y5-source",
+      "rev": "ca5989a",
+      "sha256": "0rk31ispck48ilvzs0lxpp7z6y238a7d7dh7lmlfwi5i7hx13la6",
+      "srcDir": "src",
+      "url": "https://github.com/guzba/zippy/archive/ca5989a.tar.gz"
+    }
+  ]
+}
diff --git a/pkgs/by-name/ni/nitter/nitter-version.patch b/pkgs/by-name/ni/nitter/nitter-version.patch
new file mode 100644
index 000000000000..94c78ad2d294
--- /dev/null
+++ b/pkgs/by-name/ni/nitter/nitter-version.patch
@@ -0,0 +1,17 @@
+diff --git a/src/views/about.nim b/src/views/about.nim
+index e7e8de9..54a6050 100644
+--- a/src/views/about.nim
++++ b/src/views/about.nim
+@@ -3,10 +3,8 @@ import os, strformat
+ import karax/[karaxdsl, vdom]
+ 
+ const
+-  date = staticExec("git show -s --format=\"%cd\" --date=format:\"%Y.%m.%d\"")
+-  hash = staticExec("git show -s --format=\"%h\"")
+-  link = "https://github.com/zedeus/nitter/commit/" & hash
+-  version = &"{date}-{hash}"
++  link = "@url@"
++  version = "@version@-@rev@"
+ 
+ var aboutHtml: string
+ 
diff --git a/pkgs/by-name/ni/nitter/package.nix b/pkgs/by-name/ni/nitter/package.nix
new file mode 100644
index 000000000000..6b63037e103d
--- /dev/null
+++ b/pkgs/by-name/ni/nitter/package.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildNimPackage
+, fetchFromGitHub
+, nixosTests
+, substituteAll
+, unstableGitUpdater
+}:
+
+buildNimPackage (finalAttrs: prevAttrs: {
+  pname = "nitter";
+  version = "unstable-2023-10-31";
+
+  src = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "nitter";
+    rev = "b62d73dbd373f08af07c7a79efcd790d3bc1a49c";
+    hash = "sha256-yCD7FbqWZMY0fyFf9Q3Ka06nw5Ha7jYLpmPONAhEVIM=";
+  };
+
+  lockFile = ./lock.json;
+
+  patches = [
+    (substituteAll {
+      src = ./nitter-version.patch;
+      inherit (finalAttrs) version;
+      inherit (finalAttrs.src) rev;
+      url = builtins.replaceStrings [ "archive" ".tar.gz" ] [ "commit" "" ] finalAttrs.src.url;
+    })
+  ];
+
+  postBuild = ''
+    nim compile ${toString finalAttrs.nimFlags} -r tools/gencss
+    nim compile ${toString finalAttrs.nimFlags} -r tools/rendermd
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/nitter
+    cp -r public $out/share/nitter/public
+  '';
+
+  passthru = {
+    tests = { inherit (nixosTests) nitter; };
+    updateScript = unstableGitUpdater {};
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/zedeus/nitter";
+    description = "Alternative Twitter front-end";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ erdnaxe infinidoge ];
+    mainProgram = "nitter";
+  };
+})
diff --git a/pkgs/by-name/ni/nitter/update.sh b/pkgs/by-name/ni/nitter/update.sh
new file mode 100755
index 000000000000..30405f34b22e
--- /dev/null
+++ b/pkgs/by-name/ni/nitter/update.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq nix nix-update patchutils
+set -euo pipefail
+
+info() {
+    if [ -t 2 ]; then
+        set -- '\033[32m%s\033[39m\n' "$@"
+    else
+        set -- '%s\n' "$@"
+    fi
+    printf "$@" >&2
+}
+
+nitter_old_rev=$(nix-instantiate --eval --strict --json -A nitter.src.rev . | jq -r .)
+nix-update --version=branch --commit nitter
+nitter_new_rev=$(nix-instantiate --eval --strict --json -A nitter.src.rev . | jq -r .)
+if [ "$nitter_new_rev" = "$nitter_old_rev" ]; then
+    info "nitter is up-to-date."
+    exit
+fi
+
+if curl -Sfs "https://github.com/zedeus/nitter/compare/$nitter_old_rev...$nitter_new_rev.patch" \
+| lsdiff | grep -Fxe 'a/nitter.nimble' -e 'b/nitter.nimble' > /dev/null; then
+    info "nitter.nimble changed, some dependencies probably need updating."
+fi