diff options
author | Emery Hemingway <ehmry@posteo.net> | 2023-10-31 00:19:36 +0000 |
---|---|---|
committer | Emery Hemingway <ehmry@posteo.net> | 2023-11-28 16:48:10 +0200 |
commit | cab3fd4d50a05becce0e4df3779c8d1b3e23586f (patch) | |
tree | 20fb996088eccfd2bdc9cc0d86d3c3baed559365 /pkgs/by-name/ni | |
parent | ee21b61658dd195be61e93b0937ad65d6e41fb6a (diff) | |
download | nixlib-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.json | 194 | ||||
-rw-r--r-- | pkgs/by-name/ni/nitter/nitter-version.patch | 17 | ||||
-rw-r--r-- | pkgs/by-name/ni/nitter/package.nix | 53 | ||||
-rwxr-xr-x | pkgs/by-name/ni/nitter/update.sh | 25 |
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 |