Merge pull request #251705 from dotlambda/asar-buildNpmPackage

asar: use buildNpmPackage

authored by Robert Schütz and committed by GitHub a63a64b5 b9f22e15

+134 -58
+2 -2
pkgs/applications/editors/pulsar/default.nix
··· 17 , makeDesktopItem 18 , copyDesktopItems 19 , makeWrapper 20 - , nodePackages 21 , python3 22 }: 23 ··· 60 nativeBuildInputs = [ 61 wrapGAppsHook 62 copyDesktopItems 63 - nodePackages.asar 64 ]; 65 66 buildInputs = [
··· 17 , makeDesktopItem 18 , copyDesktopItems 19 , makeWrapper 20 + , asar 21 , python3 22 }: 23 ··· 60 nativeBuildInputs = [ 61 wrapGAppsHook 62 copyDesktopItems 63 + asar 64 ]; 65 66 buildInputs = [
+2 -2
pkgs/applications/editors/vscode/generic.nix
··· 8 , tests 9 10 # needed to fix "Save as Root" 11 - , nodePackages, bash 12 13 # Attributes inherit from specific versions 14 , version, src, meta, sourceRoot, commandLineArgs ··· 74 nativeBuildInputs = [ unzip ] 75 ++ lib.optionals stdenv.isLinux [ 76 autoPatchelfHook 77 - nodePackages.asar 78 # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651 79 (buildPackages.wrapGAppsHook.override { inherit (buildPackages) makeWrapper; }) 80 ];
··· 8 , tests 9 10 # needed to fix "Save as Root" 11 + , asar, bash 12 13 # Attributes inherit from specific versions 14 , version, src, meta, sourceRoot, commandLineArgs ··· 74 nativeBuildInputs = [ unzip ] 75 ++ lib.optionals stdenv.isLinux [ 76 autoPatchelfHook 77 + asar 78 # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651 79 (buildPackages.wrapGAppsHook.override { inherit (buildPackages) makeWrapper; }) 80 ];
+2 -2
pkgs/applications/misc/teleprompter/default.nix
··· 1 - { lib, stdenv, fetchurl, electron_10, makeDesktopItem, makeWrapper, nodePackages, autoPatchelfHook}: 2 3 let 4 electron = electron_10; ··· 15 dontBuild = true; 16 dontStrip = true; 17 18 - nativeBuildInputs = [ autoPatchelfHook makeWrapper nodePackages.asar ]; 19 installPhase = '' 20 mkdir -p $out/bin $out/opt/teleprompter $out/share/applications 21 asar e resources/app.asar $out/opt/teleprompter/resources/app.asar.unpacked
··· 1 + { lib, stdenv, fetchurl, electron_10, makeDesktopItem, makeWrapper, asar, autoPatchelfHook}: 2 3 let 4 electron = electron_10; ··· 15 dontBuild = true; 16 dontStrip = true; 17 18 + nativeBuildInputs = [ autoPatchelfHook makeWrapper asar ]; 19 installPhase = '' 20 mkdir -p $out/bin $out/opt/teleprompter $out/share/applications 21 asar e resources/app.asar $out/opt/teleprompter/resources/app.asar.unpacked
+2 -2
pkgs/applications/misc/whalebird/default.nix
··· 1 { lib, stdenv, fetchurl 2 - , autoPatchelfHook, makeDesktopItem, copyDesktopItems, makeWrapper, gnugrep, nodePackages 3 , electron, python3, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss 4 }: 5 ··· 28 makeWrapper 29 copyDesktopItems 30 gnugrep 31 - nodePackages.asar 32 ]; 33 34 buildInputs = [ alsa-lib gtk3 libdbusmenu libxshmfence mesa nss ];
··· 1 { lib, stdenv, fetchurl 2 + , autoPatchelfHook, makeDesktopItem, copyDesktopItems, makeWrapper, gnugrep, asar 3 , electron, python3, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss 4 }: 5 ··· 28 makeWrapper 29 copyDesktopItems 30 gnugrep 31 + asar 32 ]; 33 34 buildInputs = [ alsa-lib gtk3 libdbusmenu libxshmfence mesa nss ];
+2 -2
pkgs/applications/networking/breitbandmessung/default.nix
··· 1 { lib 2 , stdenv 3 , fetchurl 4 , dpkg 5 , electron_24 6 , makeWrapper 7 , nixosTests 8 - , nodePackages 9 , undmg 10 }: 11 ··· 22 }; 23 24 nativeBuildInputs = [ 25 dpkg 26 makeWrapper 27 - nodePackages.asar 28 ]; 29 30 unpackPhase = "dpkg-deb -x $src .";
··· 1 { lib 2 , stdenv 3 , fetchurl 4 + , asar 5 , dpkg 6 , electron_24 7 , makeWrapper 8 , nixosTests 9 , undmg 10 }: 11 ··· 22 }; 23 24 nativeBuildInputs = [ 25 + asar 26 dpkg 27 makeWrapper 28 ]; 29 30 unpackPhase = "dpkg-deb -x $src .";
+2 -2
pkgs/applications/networking/instant-messengers/discord/openasar.nix
··· 1 - { lib, stdenv, fetchFromGitHub, nodejs, bash, nodePackages, unzip }: 2 3 stdenv.mkDerivation rec { 4 pname = "openasar"; ··· 25 bash scripts/injectPolyfills.sh 26 substituteInPlace src/index.js --replace 'nightly' '${version}' 27 ${nodejs}/bin/node scripts/strip.js 28 - ${nodePackages.asar}/bin/asar pack src app.asar 29 30 runHook postBuild 31 '';
··· 1 + { lib, stdenv, fetchFromGitHub, nodejs, bash, asar, unzip }: 2 3 stdenv.mkDerivation rec { 4 pname = "openasar"; ··· 25 bash scripts/injectPolyfills.sh 26 substituteInPlace src/index.js --replace 'nightly' '${version}' 27 ${nodejs}/bin/node scripts/strip.js 28 + ${asar}/bin/asar pack src app.asar 29 30 runHook postBuild 31 '';
+2 -2
pkgs/applications/networking/instant-messengers/slack/default.nix
··· 4 , dpkg 5 , undmg 6 , makeWrapper 7 - , nodePackages 8 , alsa-lib 9 , at-spi2-atk 10 , at-spi2-core ··· 143 gtk3 # needed for GSETTINGS_SCHEMAS_PATH 144 ]; 145 146 - nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ]; 147 148 dontUnpack = true; 149 dontBuild = true;
··· 4 , dpkg 5 , undmg 6 , makeWrapper 7 + , asar 8 , alsa-lib 9 , at-spi2-atk 10 , at-spi2-core ··· 143 gtk3 # needed for GSETTINGS_SCHEMAS_PATH 144 ]; 145 146 + nativeBuildInputs = [ dpkg makeWrapper asar ]; 147 148 dontUnpack = true; 149 dontBuild = true;
+2 -2
pkgs/applications/networking/instant-messengers/teams/default.nix
··· 14 , gawk 15 , xdg-utils 16 , systemd 17 - , nodePackages 18 , xar 19 , cpio 20 , makeWrapper ··· 55 hash = hashes.linux; 56 }; 57 58 - nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ]; 59 60 unpackCmd = "dpkg -x $curSrc ."; 61
··· 14 , gawk 15 , xdg-utils 16 , systemd 17 + , asar 18 , xar 19 , cpio 20 , makeWrapper ··· 55 hash = hashes.linux; 56 }; 57 58 + nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook asar ]; 59 60 unpackCmd = "dpkg -x $curSrc ."; 61
+2 -2
pkgs/applications/office/morgen/default.nix
··· 1 { lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron 2 - , nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }: 3 4 stdenv.mkDerivation rec { 5 pname = "morgen"; ··· 14 dpkg 15 autoPatchelfHook 16 makeWrapper 17 - nodePackages.asar 18 ]; 19 20 buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
··· 1 { lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron 2 + , asar, alsa-lib, gtk3, libxshmfence, mesa, nss }: 3 4 stdenv.mkDerivation rec { 5 pname = "morgen"; ··· 14 dpkg 15 autoPatchelfHook 16 makeWrapper 17 + asar 18 ]; 19 20 buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
+1
pkgs/development/node-packages/aliases.nix
··· 47 "@medable/mdctl-cli" = throw "@medable/mdctl-cli was removed because it was broken"; # added 2023-08-21 48 "@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06 49 antennas = pkgs.antennas; # added 2023-07-30 50 balanceofsatoshis = pkgs.balanceofsatoshis; # added 2023-07-31 51 bibtex-tidy = pkgs.bibtex-tidy; # added 2023-07-30 52 bitwarden-cli = pkgs.bitwarden-cli; # added 2023-07-25
··· 47 "@medable/mdctl-cli" = throw "@medable/mdctl-cli was removed because it was broken"; # added 2023-08-21 48 "@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06 49 antennas = pkgs.antennas; # added 2023-07-30 50 + inherit (pkgs) asar; # added 2023-08-26 51 balanceofsatoshis = pkgs.balanceofsatoshis; # added 2023-07-31 52 bibtex-tidy = pkgs.bibtex-tidy; # added 2023-07-30 53 bitwarden-cli = pkgs.bitwarden-cli; # added 2023-07-25
-1
pkgs/development/node-packages/node-packages.json
··· 26 , {"@webassemblyjs/wast-refmt": "1.11.1"} 27 , "alex" 28 , "alloy" 29 - , "asar" 30 , "audiosprite" 31 , "autoprefixer" 32 , "auto-changelog"
··· 26 , {"@webassemblyjs/wast-refmt": "1.11.1"} 27 , "alex" 28 , "alloy" 29 , "audiosprite" 30 , "autoprefixer" 31 , "auto-changelog"
-36
pkgs/development/node-packages/node-packages.nix
··· 75588 bypassCache = true; 75589 reconstructLock = true; 75590 }; 75591 - asar = nodeEnv.buildNodePackage { 75592 - name = "asar"; 75593 - packageName = "asar"; 75594 - version = "3.2.0"; 75595 - src = fetchurl { 75596 - url = "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz"; 75597 - sha512 = "COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg=="; 75598 - }; 75599 - dependencies = [ 75600 - sources."@types/glob-7.2.0" 75601 - sources."@types/minimatch-5.1.2" 75602 - sources."@types/node-20.5.3" 75603 - sources."balanced-match-1.0.2" 75604 - sources."brace-expansion-1.1.11" 75605 - sources."chromium-pickle-js-0.2.0" 75606 - sources."commander-5.1.0" 75607 - sources."concat-map-0.0.1" 75608 - sources."fs.realpath-1.0.0" 75609 - sources."glob-7.2.3" 75610 - sources."inflight-1.0.6" 75611 - sources."inherits-2.0.4" 75612 - sources."minimatch-3.1.2" 75613 - sources."once-1.4.0" 75614 - sources."path-is-absolute-1.0.1" 75615 - sources."wrappy-1.0.2" 75616 - ]; 75617 - buildInputs = globalBuildInputs; 75618 - meta = { 75619 - description = "Creating Electron app packages"; 75620 - homepage = "https://github.com/electron/asar"; 75621 - license = "MIT"; 75622 - }; 75623 - production = true; 75624 - bypassCache = true; 75625 - reconstructLock = true; 75626 - }; 75627 audiosprite = nodeEnv.buildNodePackage { 75628 name = "audiosprite"; 75629 packageName = "audiosprite";
··· 75588 bypassCache = true; 75589 reconstructLock = true; 75590 }; 75591 audiosprite = nodeEnv.buildNodePackage { 75592 name = "audiosprite"; 75593 packageName = "audiosprite";
+48
pkgs/tools/compression/asar/default.nix
···
··· 1 + { lib 2 + , mkYarnPackage 3 + , fetchFromGitHub 4 + , fetchYarnDeps 5 + }: 6 + 7 + mkYarnPackage rec { 8 + pname = "asar"; 9 + version = "3.2.4"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "electron"; 13 + repo = "asar"; 14 + rev = "v${version}"; 15 + hash = "sha256-12FP8VRDo1PQ+tiN4zhzkcfAx9zFs/0MU03t/vFo074="; 16 + }; 17 + 18 + packageJSON = ./package.json; 19 + 20 + offlineCache = fetchYarnDeps { 21 + yarnLock = "${src}/yarn.lock"; 22 + hash = "sha256-/fV3hd98pl46+fgmiMH9sDQrrZgdLY1oF9c3TaIxRSg="; 23 + }; 24 + 25 + doDist = false; 26 + 27 + installPhase = '' 28 + runHook preInstall 29 + 30 + mkdir -p "$out/lib/node_modules" 31 + mv deps/@electron "$out/lib/node_modules" 32 + rm "$out/lib/node_modules/@electron/asar/node_modules" 33 + mv node_modules "$out/lib/node_modules/@electron/asar" 34 + 35 + mkdir "$out/bin" 36 + ln -s "$out/lib/node_modules/@electron/asar/bin/asar.js" "$out/bin/asar" 37 + 38 + runHook postInstall 39 + ''; 40 + 41 + meta = { 42 + description = "Simple extensive tar-like archive format with indexing"; 43 + homepage = "https://github.com/electron/asar"; 44 + license = lib.licenses.mit; 45 + mainProgram = "asar"; 46 + maintainers = with lib.maintainers; [ xvapx ]; 47 + }; 48 + }
+62
pkgs/tools/compression/asar/package.json
···
··· 1 + { 2 + "name": "@electron/asar", 3 + "description": "Creating Electron app packages", 4 + "version": "0.0.0-development", 5 + "main": "./lib/asar.js", 6 + "types": "./lib/index.d.ts", 7 + "bin": { 8 + "asar": "./bin/asar.js" 9 + }, 10 + "files": [ 11 + "bin", 12 + "lib", 13 + "lib/index.d.ts" 14 + ], 15 + "engines": { 16 + "node": ">=10.12.0" 17 + }, 18 + "license": "MIT", 19 + "homepage": "https://github.com/electron/asar", 20 + "repository": { 21 + "type": "git", 22 + "url": "https://github.com/electron/asar.git" 23 + }, 24 + "bugs": { 25 + "url": "https://github.com/electron/asar/issues" 26 + }, 27 + "scripts": { 28 + "mocha": "xvfb-maybe electron-mocha --reporter spec && mocha --reporter spec", 29 + "test": "npm run lint && npm run mocha", 30 + "lint": "tsd && standard", 31 + "standard": "standard", 32 + "tsd": "tsd" 33 + }, 34 + "standard": { 35 + "env": { 36 + "mocha": true 37 + }, 38 + "globals": [ 39 + "BigInt" 40 + ] 41 + }, 42 + "tsd": { 43 + "directory": "test" 44 + }, 45 + "dependencies": { 46 + "chromium-pickle-js": "^0.2.0", 47 + "commander": "^5.0.0", 48 + "glob": "^7.1.6", 49 + "minimatch": "^3.0.4" 50 + }, 51 + "devDependencies": { 52 + "@continuous-auth/semantic-release-npm": "^3.0.0", 53 + "electron": "^22.0.0", 54 + "electron-mocha": "^11.0.2", 55 + "lodash": "^4.17.15", 56 + "mocha": "^10.1.0", 57 + "rimraf": "^3.0.2", 58 + "standard": "^14.3.3", 59 + "tsd": "^0.25.0", 60 + "xvfb-maybe": "^0.2.1" 61 + } 62 + }
+3 -3
pkgs/tools/misc/flexoptix-app/default.nix
··· 1 - { lib, appimageTools, fetchurl, nodePackages }: let 2 pname = "flexoptix-app"; 3 version = "5.13.4"; 4 ··· 18 ${oA.buildCommand} 19 20 # Get rid of the autoupdater 21 - ${nodePackages.asar}/bin/asar extract $out/resources/app.asar app 22 sed -i 's/async isUpdateAvailable.*/async isUpdateAvailable(updateInfo) { return false;/g' app/node_modules/electron-updater/out/AppUpdater.js 23 - ${nodePackages.asar}/bin/asar pack app $out/resources/app.asar 24 ''; 25 }); 26
··· 1 + { lib, appimageTools, fetchurl, asar }: let 2 pname = "flexoptix-app"; 3 version = "5.13.4"; 4 ··· 18 ${oA.buildCommand} 19 20 # Get rid of the autoupdater 21 + ${asar}/bin/asar extract $out/resources/app.asar app 22 sed -i 's/async isUpdateAvailable.*/async isUpdateAvailable(updateInfo) { return false;/g' app/node_modules/electron-updater/out/AppUpdater.js 23 + ${asar}/bin/asar pack app $out/resources/app.asar 24 ''; 25 }); 26
+2
pkgs/top-level/all-packages.nix
··· 1656 1657 amidst = callPackage ../tools/games/minecraft/amidst { }; 1658 1659 askalono = callPackage ../tools/misc/askalono { }; 1660 1661 asleap = callPackage ../tools/networking/asleap { };
··· 1656 1657 amidst = callPackage ../tools/games/minecraft/amidst { }; 1658 1659 + asar = callPackage ../tools/compression/asar { }; 1660 + 1661 askalono = callPackage ../tools/misc/askalono { }; 1662 1663 asleap = callPackage ../tools/networking/asleap { };