summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPedroHLC ☭ <root@pedrohlc.com>2022-07-01 18:55:49 -0300
committerPedroHLC ☭ <root@pedrohlc.com>2022-07-01 18:55:49 -0300
commit78abe603afefa3f644000b0fe6bdc6eec11e37f8 (patch)
tree2393b639ffc517429dfc7c397bc35323eeb850b7 /pkgs
parent23488b5815ef60b3084a874f71fdae2dff52e1f7 (diff)
downloadnixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.tar
nixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.tar.gz
nixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.tar.bz2
nixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.tar.lz
nixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.tar.xz
nixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.tar.zst
nixpkgs-78abe603afefa3f644000b0fe6bdc6eec11e37f8.zip
openasar: add unzip; remove autoupdater; unstable-2022-06-10 -> unstable-2022-06-27
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/darwin.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/openasar.nix28
4 files changed, 34 insertions, 11 deletions
diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix
index 494a7e6a442..368b4572aa6 100644
--- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix
@@ -1,4 +1,4 @@
-{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg }:
+{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg, withOpenASAR }:
 
 stdenv.mkDerivation {
   inherit pname version src meta;
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  postInstall = lib.strings.optionalString (openasar != null) ''
+  postInstall = lib.strings.optionalString withOpenASAR ''
     cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar
   '';
 }
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 71606f2dcad..f6e291ab7f3 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -62,10 +62,15 @@ let
   };
   package = if stdenv.isLinux then ./linux.nix else ./darwin.nix;
 
-  openasar = if withOpenASAR then callPackage ./openasar.nix { } else null;
+  openasar = callPackage ./openasar.nix { };
 
   packages = (builtins.mapAttrs
-    (_: value: callPackage package (value // { inherit src version openasar; meta = meta // { mainProgram = value.binaryName; }; }))
+    (_: value: callPackage package
+      (value // {
+        inherit src version openasar withOpenASAR;
+        meta = meta // { mainProgram = value.binaryName; };
+      })
+    )
     {
       stable = rec {
         pname = "discord";
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 28c1d353ff6..a68414978b0 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -5,7 +5,7 @@
 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
 , libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss
 , pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript
-, common-updater-scripts }:
+, common-updater-scripts, withOpenASAR }:
 
 stdenv.mkDerivation rec {
   inherit pname version src meta;
@@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  postInstall = lib.strings.optionalString (openasar != null) ''
+  postInstall = lib.strings.optionalString withOpenASAR ''
     cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/discord/openasar.nix b/pkgs/applications/networking/instant-messengers/discord/openasar.nix
index e378f490c0f..ba4b5f0ffd4 100644
--- a/pkgs/applications/networking/instant-messengers/discord/openasar.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/openasar.nix
@@ -1,16 +1,34 @@
-{ lib, stdenv, fetchFromGitHub, nodejs, bash, nodePackages }:
-
+{ lib, stdenv, fetchFromGitHub, nodejs, bash, nodePackages, unzip }:
+
+let
+  # OpenAsar fails with default unzip, throwing  "lchmod (file attributes) error: Operation not supported"
+  unzipFix =
+    if stdenv.isLinux then
+      unzip.overrideAttrs (oldAttrs: {
+        buildFlags = oldAttrs.buildFlags ++ [ "LOCAL_UNZIP=-DNO_LCHMOD" ];
+      })
+    else
+      unzip;
+in
 stdenv.mkDerivation rec {
-  version = "unstable-2022-06-10";
   pname = "openasar";
+  version = "unstable-2022-06-27";
 
   src = fetchFromGitHub {
     owner = "GooseMod";
     repo = "OpenAsar";
-    rev = "c6f2f5eb7827fea14cb4c54345af8ff6858c633a";
-    sha256 = "m6e/WKGgkR8vjKcHSNdWE25MmDQM1Z3kgB24OJgbw/w=";
+    rev = "6f7505fb91a07035d3661a3a7bf68b3018ddfd82";
+    sha256 = "2tb6OgYOnpryiyk7UH39sgzwtGJf9hNOpy74YqLI+Uk=";
   };
 
+  postPatch = ''
+    # Hardcode unzip path
+    substituteInPlace ./src/updater/moduleUpdater.js \
+      --replace \'unzip\' \'${unzipFix}/bin/unzip\'
+    # Remove auto-update feature
+    echo "module.exports = async () => log('AsarUpdate', 'Removed');" > ./src/asarUpdate.js
+  '';
+
   buildPhase = ''
     runHook preBuild