about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/by-name/we/webcord-vencord/add-extension.patch (renamed from pkgs/applications/networking/instant-messengers/webcord/webcord-vencord/add-extension.patch)0
-rw-r--r--pkgs/by-name/we/webcord-vencord/package.nix (renamed from pkgs/applications/networking/instant-messengers/webcord/webcord-vencord/default.nix)19
-rw-r--r--pkgs/by-name/we/webcord/package.nix (renamed from pkgs/applications/networking/instant-messengers/webcord/default.nix)60
-rwxr-xr-xpkgs/by-name/we/webcord/update.sh15
-rw-r--r--pkgs/top-level/all-packages.nix4
5 files changed, 62 insertions, 36 deletions
diff --git a/pkgs/applications/networking/instant-messengers/webcord/webcord-vencord/add-extension.patch b/pkgs/by-name/we/webcord-vencord/add-extension.patch
index 888dad1eee11c..888dad1eee11c 100644
--- a/pkgs/applications/networking/instant-messengers/webcord/webcord-vencord/add-extension.patch
+++ b/pkgs/by-name/we/webcord-vencord/add-extension.patch
diff --git a/pkgs/applications/networking/instant-messengers/webcord/webcord-vencord/default.nix b/pkgs/by-name/we/webcord-vencord/package.nix
index 47e0673455477..352e372d00adc 100644
--- a/pkgs/applications/networking/instant-messengers/webcord/webcord-vencord/default.nix
+++ b/pkgs/by-name/we/webcord-vencord/package.nix
@@ -1,9 +1,11 @@
-{ webcord
-, substituteAll
-, lib
-, vencord-web-extension
+{
+  webcord,
+  substituteAll,
+  lib,
+  vencord-web-extension,
 }:
 
+# nixpkgs-update: no auto update
 webcord.overrideAttrs (old: {
   pname = "webcord-vencord";
 
@@ -14,8 +16,13 @@ webcord.overrideAttrs (old: {
     })
   ];
 
-  meta = with lib; old.meta // {
+  meta = {
+    inherit (old.meta) license mainProgram platforms;
+
     description = "Webcord with Vencord web extension";
-    maintainers = with maintainers; [ FlafyDev NotAShelf ];
+    maintainers = with lib.maintainers; [
+      FlafyDev
+      NotAShelf
+    ];
   };
 })
diff --git a/pkgs/applications/networking/instant-messengers/webcord/default.nix b/pkgs/by-name/we/webcord/package.nix
index aebe2998bd277..d38fd35702151 100644
--- a/pkgs/applications/networking/instant-messengers/webcord/default.nix
+++ b/pkgs/by-name/we/webcord/package.nix
@@ -1,12 +1,12 @@
-{ lib
-, buildNpmPackage
-, fetchFromGitHub
-, copyDesktopItems
-, python3
-, xdg-utils
-, electron_29
-, makeDesktopItem
-, nix-update-script
+{
+  lib,
+  buildNpmPackage,
+  fetchFromGitHub,
+  copyDesktopItems,
+  python3,
+  xdg-utils,
+  electron,
+  makeDesktopItem,
 }:
 
 buildNpmPackage rec {
@@ -16,7 +16,7 @@ buildNpmPackage rec {
   src = fetchFromGitHub {
     owner = "SpacingBat3";
     repo = "WebCord";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-x9Ejb8yxgQhlEfUUfoqbgSffNNtOoFeAyb3OISR+Jz4=";
   };
 
@@ -41,25 +41,25 @@ buildNpmPackage rec {
     let
       binPath = lib.makeBinPath [ xdg-utils ];
     in
-  ''
-    runHook preInstall
+    ''
+      runHook preInstall
 
-    # Remove dev deps that aren't necessary for running the app
-    npm prune --omit=dev
+      # Remove dev deps that aren't necessary for running the app
+      npm prune --omit=dev
 
-    mkdir -p $out/lib/node_modules/webcord
-    cp -r app node_modules sources package.json $out/lib/node_modules/webcord/
+      mkdir -p $out/lib/node_modules/webcord
+      cp -r app node_modules sources package.json $out/lib/node_modules/webcord/
 
-    install -Dm644 sources/assets/icons/app.png $out/share/icons/hicolor/256x256/apps/webcord.png
+      install -Dm644 sources/assets/icons/app.png $out/share/icons/hicolor/256x256/apps/webcord.png
 
-    # Add xdg-utils to path via suffix, per PR #181171
-    makeWrapper '${lib.getExe electron_29}' $out/bin/webcord \
-      --suffix PATH : "${binPath}" \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
-      --add-flags $out/lib/node_modules/webcord/
+      # Add xdg-utils to path via suffix, per PR #181171
+      makeWrapper '${lib.getExe electron}' $out/bin/webcord \
+        --suffix PATH : "${binPath}" \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+        --add-flags $out/lib/node_modules/webcord/
 
-    runHook postInstall
-  '';
+      runHook postInstall
+    '';
 
   desktopItems = [
     (makeDesktopItem {
@@ -68,11 +68,14 @@ buildNpmPackage rec {
       icon = "webcord";
       desktopName = "WebCord";
       comment = meta.description;
-      categories = [ "Network" "InstantMessaging" ];
+      categories = [
+        "Network"
+        "InstantMessaging"
+      ];
     })
   ];
 
-  passthru.updateScript = nix-update-script { };
+  passthru.updateScript = ./update.sh;
 
   meta = {
     description = "A Discord and SpaceBar electron-based client implemented without Discord API";
@@ -81,7 +84,10 @@ buildNpmPackage rec {
     changelog = "https://github.com/SpacingBat3/WebCord/releases/tag/v${version}";
     license = lib.licenses.mit;
     mainProgram = "webcord";
-    maintainers = with lib.maintainers; [ eclairevoyant huantian ];
+    maintainers = with lib.maintainers; [
+      eclairevoyant
+      huantian
+    ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/we/webcord/update.sh b/pkgs/by-name/we/webcord/update.sh
new file mode 100755
index 0000000000000..ea79effc869a6
--- /dev/null
+++ b/pkgs/by-name/we/webcord/update.sh
@@ -0,0 +1,15 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq nix-update
+
+set -ex
+
+curl_github() {
+    curl -L ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "$@"
+}
+
+latestTag=$(curl_github https://api.github.com/repos/SpacingBat3/Webcord/releases/latest | jq -r ".tag_name")
+latestVersion="$(expr "$latestTag" : 'v\(.*\)')"
+
+nix-update --version "$latestVersion" webcord
+electronVersion=$(curl_github "https://raw.githubusercontent.com/SpacingBat3/WebCord/v$latestVersion/package.json" | jq -r ".devDependencies.electron" | sed -r 's|^\^([0-9]+).*|\1|')
+sed -r "/webcord = / s|(electron_)[0-9]+|\1$electronVersion|" -i pkgs/top-level/all-packages.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1e09e4f57092b..0069567d1fb2f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -35576,9 +35576,7 @@ with pkgs;
 
   webcamoid = libsForQt5.callPackage ../applications/video/webcamoid { };
 
-  webcord = callPackage ../applications/networking/instant-messengers/webcord { };
-
-  webcord-vencord = callPackage ../applications/networking/instant-messengers/webcord/webcord-vencord { };
+  webcord = callPackage ../by-name/we/webcord/package.nix { electron = electron_29; };
 
   webex = callPackage ../applications/networking/instant-messengers/webex { };