Skip to content

Commit 2dc8943

Browse files
committed
refactor: factor out nix/wheel.nix out of flake.nix
1 parent faf6d62 commit 2dc8943

2 files changed

Lines changed: 36 additions & 105 deletions

File tree

flake.nix

Lines changed: 8 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -324,32 +324,7 @@
324324
"deltachat-rpc-server-${arch}-android" = rpc-server;
325325
"deltachat-repl-${arch}-android" = mkAndroidRustPackage arch "deltachat-repl";
326326
"deltachat-rpc-server-${arch}-android-wheel" =
327-
pkgs.stdenv.mkDerivation {
328-
pname = "deltachat-rpc-server-${arch}-android-wheel";
329-
version = manifest.version;
330-
src = nix-filter.lib {
331-
root = ./.;
332-
include = [
333-
"scripts/wheel-rpc-server.py"
334-
"deltachat-rpc-server/README.md"
335-
"LICENSE"
336-
"Cargo.toml"
337-
];
338-
};
339-
nativeBuildInputs = [
340-
pkgs.python3
341-
pkgs.python3Packages.wheel
342-
];
343-
buildInputs = [
344-
rpc-server
345-
];
346-
buildPhase = ''
347-
mkdir tmp
348-
cp ${rpc-server}/bin/deltachat-rpc-server tmp/deltachat-rpc-server
349-
python3 scripts/wheel-rpc-server.py ${arch}-android tmp/deltachat-rpc-server
350-
'';
351-
installPhase = ''mkdir -p $out; cp -av deltachat_rpc_server-*.whl $out'';
352-
};
327+
mkWheel { inherit rpc-server; arch = "${arch}-android"; };
353328
};
354329

355330
mkRustPackages = arch:
@@ -359,34 +334,10 @@
359334
{
360335
"deltachat-repl-${arch}" = mkCrossRustPackage arch "deltachat-repl";
361336
"deltachat-rpc-server-${arch}" = rpc-server;
362-
"deltachat-rpc-server-${arch}-wheel" =
363-
pkgs.stdenv.mkDerivation {
364-
pname = "deltachat-rpc-server-${arch}-wheel";
365-
version = manifest.version;
366-
src = nix-filter.lib {
367-
root = ./.;
368-
include = [
369-
"scripts/wheel-rpc-server.py"
370-
"deltachat-rpc-server/README.md"
371-
"LICENSE"
372-
"Cargo.toml"
373-
];
374-
};
375-
nativeBuildInputs = [
376-
pkgs.python3
377-
pkgs.python3Packages.wheel
378-
];
379-
buildInputs = [
380-
rpc-server
381-
];
382-
buildPhase = ''
383-
mkdir tmp
384-
cp ${rpc-server}/bin/deltachat-rpc-server tmp/deltachat-rpc-server
385-
python3 scripts/wheel-rpc-server.py ${arch} tmp/deltachat-rpc-server
386-
'';
387-
installPhase = ''mkdir -p $out; cp -av deltachat_rpc_server-*.whl $out'';
388-
};
337+
"deltachat-rpc-server-${arch}-wheel" = mkWheel { inherit rpc-server; arch = "${arch}"; };
389338
};
339+
340+
mkWheel = pkgs.callPackage ./nix/wheel.nix { inherit nix-filter; version = manifest.version; root = ./.; };
390341
in
391342
{
392343
formatter = pkgs.nixpkgs-fmt;
@@ -410,62 +361,14 @@
410361
deltachat-repl-win64 = mkWin64RustPackage "deltachat-repl";
411362
deltachat-rpc-server-win64 = mkWin64RustPackage "deltachat-rpc-server";
412363
deltachat-rpc-server-win64-wheel =
413-
pkgs.stdenv.mkDerivation {
414-
pname = "deltachat-rpc-server-win64-wheel";
415-
version = manifest.version;
416-
src = nix-filter.lib {
417-
root = ./.;
418-
include = [
419-
"scripts/wheel-rpc-server.py"
420-
"deltachat-rpc-server/README.md"
421-
"LICENSE"
422-
"Cargo.toml"
423-
];
424-
};
425-
nativeBuildInputs = [
426-
pkgs.python3
427-
pkgs.python3Packages.wheel
428-
];
429-
buildInputs = [
430-
deltachat-rpc-server-win64
431-
];
432-
buildPhase = ''
433-
mkdir tmp
434-
cp ${deltachat-rpc-server-win64}/bin/deltachat-rpc-server.exe tmp/deltachat-rpc-server.exe
435-
python3 scripts/wheel-rpc-server.py win64 tmp/deltachat-rpc-server.exe
436-
'';
437-
installPhase = ''mkdir -p $out; cp -av deltachat_rpc_server-*.whl $out'';
438-
};
364+
mkWheel { rpc-server = deltachat-rpc-server-win64; arch = "win64"; binaryName = "deltachat-rpc-server.exe"; };
439365

440366
deltachat-repl-win32 = mkWin32RustPackage "deltachat-repl";
441367
deltachat-rpc-server-win32 = mkWin32RustPackage "deltachat-rpc-server";
442368
deltachat-rpc-server-win32-wheel =
443-
pkgs.stdenv.mkDerivation {
444-
pname = "deltachat-rpc-server-win32-wheel";
445-
version = manifest.version;
446-
src = nix-filter.lib {
447-
root = ./.;
448-
include = [
449-
"scripts/wheel-rpc-server.py"
450-
"deltachat-rpc-server/README.md"
451-
"LICENSE"
452-
"Cargo.toml"
453-
];
454-
};
455-
nativeBuildInputs = [
456-
pkgs.python3
457-
pkgs.python3Packages.wheel
458-
];
459-
buildInputs = [
460-
deltachat-rpc-server-win32
461-
];
462-
buildPhase = ''
463-
mkdir tmp
464-
cp ${deltachat-rpc-server-win32}/bin/deltachat-rpc-server.exe tmp/deltachat-rpc-server.exe
465-
python3 scripts/wheel-rpc-server.py win32 tmp/deltachat-rpc-server.exe
466-
'';
467-
installPhase = ''mkdir -p $out; cp -av deltachat_rpc_server-*.whl $out'';
468-
};
369+
mkWheel
370+
{ rpc-server = deltachat-rpc-server-win32; arch = "win32"; binaryName = "deltachat-rpc-server.exe"; };
371+
469372
# Run `nix build .#docs` to get C docs generated in `./result/`.
470373
docs =
471374
pkgs.stdenv.mkDerivation {

nix/wheel.nix

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{ pkgs, nix-filter, version, root }:
2+
{ rpc-server, arch, binaryName ? "deltachat-rpc-server" }:
3+
pkgs.stdenv.mkDerivation {
4+
pname = "deltachat-rpc-server-${arch}-wheel";
5+
inherit version;
6+
src = nix-filter.lib {
7+
inherit root;
8+
include = [
9+
"scripts/wheel-rpc-server.py"
10+
"deltachat-rpc-server/README.md"
11+
"LICENSE"
12+
"Cargo.toml"
13+
];
14+
};
15+
nativeBuildInputs = [
16+
pkgs.python3
17+
pkgs.python3Packages.wheel
18+
];
19+
buildInputs = [
20+
rpc-server
21+
];
22+
buildPhase = ''
23+
mkdir tmp
24+
cp ${rpc-server}/bin/${binaryName} tmp/${binaryName}
25+
python3 scripts/wheel-rpc-server.py ${arch} tmp/${binaryName}
26+
'';
27+
installPhase = ''mkdir -p $out; cp -av deltachat_rpc_server-*.whl $out'';
28+
}

0 commit comments

Comments
 (0)