From 7f5d765c929a4dc2deddb7b68a41a3a841940837 Mon Sep 17 00:00:00 2001 From: Mel Date: Thu, 22 Jan 2026 03:55:02 +0100 Subject: LLVM clang compiler backend Signed-off-by: Mel --- flake.nix | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 9021e96..56134b0 100644 --- a/flake.nix +++ b/flake.nix @@ -27,17 +27,18 @@ { devShells = eachSystem ( { system, pkgs }: - with pkgs; let - stdenv = llvmPackages.stdenv; - shell = mkShell.override { inherit stdenv; }; + inherit (pkgs) tinycc pkg-config gnumake lldb clang bintools; - musl-src = runCommand "musl-src" { } '' + stdenv = pkgs.llvmPackages.stdenv; + mkShell = pkgs.mkShell.override { inherit stdenv; }; + + musl-src = pkgs.runCommand "musl-src" { } '' mkdir $out - tar -xf ${musl.src} -C $out + tar -xf ${pkgs.musl.src} -C $out ''; - musl-static = musl.overrideAttrs (attrs: { + musl = pkgs.musl.overrideAttrs (attrs: { # this HAS the be fixed in upstream nixpkgs one day, right? CFLAGS = attrs.CFLAGS ++ [ "-fdebug-prefix-map=/build=${musl-src}" @@ -47,17 +48,23 @@ }); in { - default = shell { + default = mkShell { buildInputs = [ - musl-static + musl + tinycc ]; nativeBuildInputs = [ pkg-config gnumake lldb - llvmPackages.bintools + clang + bintools ]; + + MUSL_LIB = "${musl}"; + MUSL_DEV = "${musl.dev}"; + MUSL_SRC = "${musl-src}"; }; } ); -- cgit 1.4.1