Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,29 +1,35 @@
diff --git a/pack.ts b/pack.ts
index aba98cc..03ce86a 100644
index 0212d09..03ce86a 100644
--- a/pack.ts
+++ b/pack.ts
@@ -75,33 +75,7 @@ const packageApp = async () => {
@@ -75,39 +75,7 @@ const packageApp = async () => {
delete pJson.scripts.prepack; // We don't want to rebuild - all built code will be in the packed content
await fs.writeJson(path.join(OUTPUT_DIR, 'package.json'), pJson);

- const buildScript = path.join(OUTPUT_DIR, 'build-release.sh');
-
- // Run build-release in this folder, for each platform. For each bundle, we copy in
- // only the relevant platform-specific NSS files.
- console.log('Building for Linux');
- console.log('Building for Linux x64');
- await fs.mkdir(path.join(OUTPUT_DIR, 'nss'));
- await fs.copy(path.join(__dirname, 'nss', 'linux'), path.join(OUTPUT_DIR, 'nss', 'linux'));
- await spawn(buildScript, ['linux'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
- await spawn(buildScript, ['linux', 'x64'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
-
- console.log('Building for Darwin');
- console.log('Building for Linux arm64');
- await spawn(buildScript, ['linux', 'arm64'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
-
- console.log('Building for Darwin x64');
- await fs.remove(path.join(OUTPUT_DIR, 'nss', 'linux'));
- await fs.copy(path.join(__dirname, 'nss', 'darwin'), path.join(OUTPUT_DIR, 'nss', 'darwin'));
- await spawn(buildScript, ['darwin'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
- await spawn(buildScript, ['darwin', 'x64'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
-
- console.log('Building for Darwin arm64');
- await spawn(buildScript, ['darwin', 'arm64'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
-
- console.log('Building for Win32');
- await fs.remove(path.join(OUTPUT_DIR, 'nss', 'darwin'));
- await fs.copy(path.join(__dirname, 'nss', 'win32'), path.join(OUTPUT_DIR, 'nss', 'win32'));
- await spawn(buildScript, ['win32'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
- await spawn(buildScript, ['win32', 'x64'], { cwd: OUTPUT_DIR, stdio: 'inherit' });
-
- // Oclif builds a nodeless platform-agnostic bundle too (although in our case, nothing is
- // really platform agnostic). Not necessary, probably won't work - drop it.
Expand Down
24 changes: 14 additions & 10 deletions pkgs/by-name/ht/httptoolkit-server/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,28 @@
pkg-config,
openssl,
libdatachannel,
plog,
}:

let
nodejs = nodejs_20;
buildNpmPackage' = buildNpmPackage.override { inherit nodejs; };

version = "1.19.3";
version = "1.22.1";

src = fetchFromGitHub {
owner = "httptoolkit";
repo = "httptoolkit-server";
rev = "refs/tags/v${version}";
hash = "sha256-cIxpV155A76TCOXurJhBA0dQpwn63hTpokBRXMLBEUA=";
tag = "v${version}";
hash = "sha256-6mvbR9WIjVrulDdFtW0XSfxPwKSaFK1fFIhbglS7Gq4=";
};

overridesNodeModules = buildNpmPackage' {
pname = "httptoolkit-server-overrides-node-modules";
inherit version src;
sourceRoot = "${src.name}/overrides/js";

npmDepsHash = "sha256-GRN6ua3FY1AE61bB7PM2wgbKPZI/zJeXa5HOOh/2N2Y=";
npmDepsHash = "sha256-MtUJY9IxzkGPuoIXHAr9nNNF+NpEf2b/oAYauJPwdaw=";

dontBuild = true;

Expand All @@ -41,20 +42,20 @@ let

nodeDatachannel = buildNpmPackage' {
pname = "node-datachannel";
version = "0.4.3";
version = "0.12.0";

src = fetchFromGitHub {
owner = "murat-dogan";
repo = "node-datachannel";
rev = "refs/tags/v${nodeDatachannel.version}";
hash = "sha256-BlfeocqSG+pqbK0onnCf0VKbQw8Qq4qMxhAcfGlFYR8=";
tag = "v${nodeDatachannel.version}";
hash = "sha256-xjYja+e2Z7X5cU4sEuSsJzG0gtmTPl3VrUf+ypd3zdw=";
};

npmFlags = [ "--ignore-scripts" ];

makeCacheWritable = true;

npmDepsHash = "sha256-pgcOOjiuWKlpD+WJyPj/c9ZhDjYuEnybpLS/BPmzeFM=";
npmDepsHash = "sha256-Qhib9ZGulTXjoYcZIWunf3/BSd2SLXZuWEmMcstaphs=";

nativeBuildInputs = [
cmake
Expand All @@ -64,6 +65,7 @@ let
buildInputs = [
openssl
libdatachannel
plog
];

dontUseCmakeConfigure = true;
Expand All @@ -73,10 +75,12 @@ let

preBuild = ''
# don't use static libs and don't use FetchContent
# don't try to link plog (it's headers-only)
substituteInPlace CMakeLists.txt \
--replace-fail 'OPENSSL_USE_STATIC_LIBS TRUE' 'OPENSSL_USE_STATIC_LIBS FALSE' \
--replace-fail 'if(NOT libdatachannel)' 'if(false)' \
--replace-fail 'datachannel-static' 'datachannel'
--replace-fail 'datachannel-static' 'datachannel' \
--replace-fail 'plog::plog' ""

# don't fetch node headers
substituteInPlace node_modules/cmake-js/lib/dist.js \
Expand All @@ -98,7 +102,7 @@ buildNpmPackage' {

patches = [ ./only-build-for-one-platform.patch ];

npmDepsHash = "sha256-GZESwRDG1gEVhkclR+LBWwoUYaE1xS0z4EvPN7kYTrA=";
npmDepsHash = "sha256-z9LLZBt7CR3iCNsGhRboHgaaoH6MgmSrzasgwIX+iwk=";

npmFlags = [ "--ignore-scripts" ];

Expand Down
59 changes: 59 additions & 0 deletions pkgs/by-name/ht/httptoolkit/bump-node-abi.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
diff --git a/package-lock.json b/package-lock.json
index 8823235..a014292 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -498,10 +498,11 @@
}
},
"node_modules/@electron/rebuild/node_modules/node-abi": {
- "version": "3.74.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz",
- "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==",
+ "version": "3.77.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz",
+ "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^7.3.5"
},
@@ -5239,9 +5240,10 @@
}
},
"node_modules/node-abi": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz",
- "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz",
+ "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==",
+ "license": "MIT",
"dependencies": {
"semver": "^5.4.1"
}
@@ -7774,9 +7776,9 @@
}
},
"node-abi": {
- "version": "3.74.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz",
- "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==",
+ "version": "3.77.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz",
+ "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==",
"dev": true,
"requires": {
"semver": "^7.3.5"
@@ -11329,9 +11331,9 @@
"dev": true
},
"node-abi": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz",
- "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz",
+ "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==",
"requires": {
"semver": "^5.4.1"
},
20 changes: 15 additions & 5 deletions pkgs/by-name/ht/httptoolkit/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,32 @@
makeWrapper,
makeDesktopItem,
copyDesktopItems,
electron,
electron_37,
httptoolkit-server,
}:

let
electron = electron_37;
in
buildNpmPackage rec {
pname = "httptoolkit";
version = "1.19.4";
version = "1.22.1";

src = fetchFromGitHub {
owner = "httptoolkit";
repo = "httptoolkit-desktop";
tag = "v${version}";
hash = "sha256-oDwAosyFY4ff9MP82O8q5o+mN/X6+J7hM3b7myfOq7k=";
hash = "sha256-6iiXOBVtPLdW9MWUcu2Hggm7uPHudASebRPQ34JJTMQ=";
};

npmDepsHash = "sha256-4kREJgw7OjKkOF/J1HpD3uPn+awtQIfUGWqJctwq3N0=";
patches = [
# generated via running: `npm update node-abi`
./bump-node-abi.patch
];

npmDepsHash = "sha256-WtnL9Gf1zGWnIjMifh0l3fwaeur+iI1l/Vwta+X6EAM=";

makeCacheWritable = true;

env = {
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
Expand All @@ -41,7 +51,7 @@ buildNpmPackage rec {
'"forceCodeSigning": true' \
'"forceCodeSigning": false'

cp -r ${electron.dist} electron-dist
cp -rL ${electron.dist} electron-dist
chmod -R u+w electron-dist

npm exec electron-builder -- \
Expand Down
Loading