openasar: add unzip; remove autoupdater; unstable-2022-06-10 -> unstable-2022-06-27

This commit is contained in:
PedroHLC ☭ 2022-07-01 18:55:49 -03:00
parent 23488b5815
commit 78abe603af
No known key found for this signature in database
GPG Key ID: F5BFC029DA9A28CE
4 changed files with 33 additions and 10 deletions

View File

@ -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
'';
}

View File

@ -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";

View File

@ -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
'';

View File

@ -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