From 43054212cef5b68d86d3ce8de82f826848d0c344 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Fri, 10 May 2024 22:42:14 +0200 Subject: [PATCH] remove musl building with nix for now, clashes with the build script --- README.md | 11 ++---- flake.lock | 33 +---------------- flake.nix | 106 +---------------------------------------------------- 3 files changed, 5 insertions(+), 145 deletions(-) diff --git a/README.md b/README.md index 1540da2..cacbf7a 100644 --- a/README.md +++ b/README.md @@ -17,15 +17,10 @@ do but luckily enough it is the part I need for myself. ## Nix A [nix](https://nixos.org/download/) environment with enabled -[nix-commands](https://nixos.wiki/wiki/Flakes) in order to use `nix develop` and -`nix build`. +[nix-commands](https://nixos.wiki/wiki/Flakes) in order to use `nix develop`. -A statically linked binary for linux systems (using -[musl](https://musl.libc.org/)) can be compiled by running `nix build` (run -`nix flake show` to get a list of available targets). - -Otherwise run `nix develop` to be dropped into a shell with everything installed -and configured. From there all the usual `cargo` commands are accessible. +Run `nix develop` to be dropped into a shell with everything installed and +configured. From there all the usual `cargo` commands are accessible. ## Classic diff --git a/flake.lock b/flake.lock index b3f9457..76d6d5e 100644 --- a/flake.lock +++ b/flake.lock @@ -37,24 +37,6 @@ "type": "github" } }, - "naersk": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1713520724, - "narHash": "sha256-CO8MmVDmqZX2FovL75pu5BvwhW+Vugc7Q6ze7Hj8heI=", - "owner": "nix-community", - "repo": "naersk", - "rev": "c5037590290c6c7dae2e42e7da1e247e54ed2d49", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "naersk", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1714253743, @@ -72,18 +54,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 0, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", - "path": "/nix/store/801l7gvdz7yaibhjsxqx82sc7zkakjbq-source", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1714253743, "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", @@ -103,8 +73,7 @@ "inputs": { "fenix": "fenix", "flake-utils": "flake-utils", - "naersk": "naersk", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" } }, "rust-analyzer-src": { diff --git a/flake.nix b/flake.nix index da1dc6f..d2b120d 100644 --- a/flake.nix +++ b/flake.nix @@ -3,68 +3,16 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; - naersk.url = "github:nix-community/naersk"; fenix.url = "github:nix-community/fenix"; }; outputs = { nixpkgs, - naersk, fenix, flake-utils, ... }: - let - buildTargets = { - "x86_64-linux" = { - crossSystemConfig = "x86_64-unknown-linux-musl"; - rustTarget = "x86_64-unknown-linux-musl"; - }; - - "i686-linux" = { - crossSystemConfig = "i686-unknown-linux-musl"; - rustTarget = "i686-unknown-linux-musl"; - }; - - "aarch64-linux" = { - crossSystemConfig = "aarch64-unknown-linux-musl"; - rustTarget = "aarch64-unknown-linux-musl"; - }; - - "armv6l-linux" = { - crossSystemConfig = "armv6l-unknown-linux-musleabihf"; - rustTarget = "arm-unknown-linux-musleabihf"; - }; - }; - - eachSystem = - supportedSystems: callback: - builtins.foldl' (overall: system: overall // { ${system} = callback system; }) { } supportedSystems; - - eachCrossSystem = - supportedSystems: callback: - eachSystem supportedSystems ( - buildSystem: - builtins.foldl' ( - inner: targetSystem: inner // { "cross-${targetSystem}" = callback buildSystem targetSystem; } - ) { default = callback buildSystem buildSystem; } supportedSystems - ); - - mkPkgs = - buildSystem: targetSystem: - import nixpkgs ( - { - system = buildSystem; - } - // ( - if targetSystem == null then - { } - else - { crossSystem.config = buildTargets.${targetSystem}.crossSystemConfig; } - ) - ); - in flake-utils.lib.eachDefaultSystem ( system: let @@ -80,57 +28,5 @@ ]; }; } - ) - // { - packages = eachCrossSystem (builtins.attrNames buildTargets) ( - buildSystem: targetSystem: - let - pkgs = mkPkgs buildSystem null; - pkgsCross = mkPkgs buildSystem targetSystem; - rustTarget = buildTargets.${targetSystem}.rustTarget; - - fenixPkgs = fenix.packages.${buildSystem}; - - mkToolchain = fenixPkgs: fenixPkgs.stable; - - toolchain = fenixPkgs.combine [ - (mkToolchain fenixPkgs).rustc - (mkToolchain fenixPkgs).cargo - (mkToolchain fenixPkgs.targets.${rustTarget}).rust-std - ]; - - buildPackageAttrs = - if builtins.hasAttr "makeBuildPackageAttrs" buildTargets.${targetSystem} then - buildTargets.${targetSystem}.makeBuildPackageAttrs pkgsCross - else - { }; - - naersk-lib = pkgs.callPackage naersk { - cargo = toolchain; - rustc = toolchain; - }; - in - naersk-lib.buildPackage ( - buildPackageAttrs - // rec { - src = ./.; - strictDeps = true; - doCheck = true; - nativeBuildInputs = [ pkgs.cargo-deny ]; - cargoTestCommands = (default: default ++ [ "cargo deny check ban bans license licenses sources" ]); - - TARGET_CC = "${pkgsCross.stdenv.cc}/bin/${pkgsCross.stdenv.cc.targetPrefix}cc"; - - CARGO_BUILD_TARGET = rustTarget; - CARGO_BUILD_RUSTFLAGS = [ - "-C" - "target-feature=+crt-static" - - "-C" - "linker=${TARGET_CC}" - ]; - } - ) - ); - }; + ); }