{ lib, stdenv, mkMesonLibrary, nix-util, nix-store, nix-fetchers, nix-expr, nlohmann_json, # Configuration Options version, }: let inherit (lib) fileset; in mkMesonLibrary (finalAttrs: { pname = "nix-flake"; inherit version; workDir = ./.; fileset = fileset.unions [ ../../build-utils-meson ./build-utils-meson ../../.version ./.version ./meson.build (fileset.fileFilter (file: file.hasExt "cc") ./.) (fileset.fileFilter (file: file.hasExt "hh") ./.) ]; propagatedBuildInputs = [ nix-store nix-util nix-fetchers nix-expr nlohmann_json ]; preConfigure = # "Inline" .version so it's not a symlink, and includes the suffix. # Do the meson utils, without modification. '' chmod u+w ./.version echo ${version} > ../../.version ''; env = lib.optionalAttrs (stdenv.isLinux && !(stdenv.hostPlatform.isStatic && stdenv.system == "aarch64-linux")) { LDFLAGS = "-fuse-ld=gold"; }; meta = { platforms = lib.platforms.unix ++ lib.platforms.windows; }; })