summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-kenji <aks.kenji@protonmail.com>2022-04-04 20:51:53 +0200
committerGitHub <noreply@github.com>2022-04-04 20:51:53 +0200
commit4d69ef6284117266782776485a845db7597bcee5 (patch)
tree8fd4f2c5dbba7ce02ec5570ef477b7a22d9654ce
parent54f714324908aaf76a37a5ef3336990ef9136e25 (diff)
add: musl package to nix (#1297)
Build a musl package from the repo, by invoking: ``` nix build "github:zellij-org/zellij#zellij-musl" ``` makes it possible to build bundled applications, that don't need patches to run: ``` nix bundle --bundler github:NixOS/bundlers#toDEB "github:zellij-org/zellij#zellij-musl" ``` This will build a `.deb` file, that can be installed with apt.
-rw-r--r--nix/default.nix20
1 files changed, 19 insertions, 1 deletions
diff --git a/nix/default.nix b/nix/default.nix
index bee397807..e672693fc 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -17,6 +17,10 @@ flake-utils.lib.eachSystem [
overlays = [(import rust-overlay)];
pkgs = import nixpkgs {inherit system overlays;};
+ pkgsMusl = import nixpkgs {
+ inherit system overlays;
+ crossSystem = {config = "x86_64-unknown-linux-musl";};
+ };
crate2nixPkgs = import nixpkgs {
inherit system;
@@ -141,6 +145,19 @@ in rec {
meta
;
};
+ # musl cross-compilation - static binary
+ packages.zellij-musl = (pkgsMusl.makeRustPlatform {inherit rustc cargo;}).buildRustPackage {
+ inherit
+ src
+ name
+ cargoLock
+ postInstall
+ buildInputs
+ nativeBuildInputs
+ desktopItems
+ meta
+ ;
+ };
defaultPackage = packages.zellij;
@@ -157,10 +174,11 @@ in rec {
name = "fmt-shell";
nativeBuildInputs = fmtInputs;
};
- e2eShell = pkgs.mkShell {
+ e2eShell = pkgs.pkgsMusl.mkShell {
name = "e2e-shell";
nativeBuildInputs = [
pkgs.cargo-make
+ pkgs.pkgsMusl.cargo
];
};
};