diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-11-16 12:53:32 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-11-16 12:53:32 +0100 |
commit | 67419f0e56f99b0ebbe14574d3492110ac84c8d6 (patch) | |
tree | 3abc8e1606a2c80b6f5d14fef175e50800202163 /nixpkgs/pkgs/build-support | |
parent | a2c1eff83c3118a9aee8076c7f84f58137416b6e (diff) | |
parent | 9008bc4eb62c878d0812105ea1b34255d651df88 (diff) | |
download | nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.gz nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.bz2 nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.lz nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.xz nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.zst nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs into HEAD
Diffstat (limited to 'nixpkgs/pkgs/build-support')
9 files changed, 68 insertions, 19 deletions
diff --git a/nixpkgs/pkgs/build-support/agda/default.nix b/nixpkgs/pkgs/build-support/agda/default.nix index 63adf2a27651..893383a759ae 100644 --- a/nixpkgs/pkgs/build-support/agda/default.nix +++ b/nixpkgs/pkgs/build-support/agda/default.nix @@ -47,6 +47,7 @@ let "lagda.org" "lagda.rst" "lagda.tex" + "lagda.typ" ]; defaults = diff --git a/nixpkgs/pkgs/build-support/agda/lib.nix b/nixpkgs/pkgs/build-support/agda/lib.nix index 80a0974192bb..e6e391b2cedd 100644 --- a/nixpkgs/pkgs/build-support/agda/lib.nix +++ b/nixpkgs/pkgs/build-support/agda/lib.nix @@ -6,7 +6,7 @@ * interfaceFile "Everything.agda" == "Everything.agdai" * interfaceFile "src/Everything.lagda.tex" == "src/Everything.agdai" */ - interfaceFile = agdaFile: lib.head (builtins.match ''(.*\.)l?agda(\.(md|org|rst|tex))?'' agdaFile) + "agdai"; + interfaceFile = agdaFile: lib.head (builtins.match ''(.*\.)l?agda(\.(md|org|rst|tex|typ))?'' agdaFile) + "agdai"; /* Takes an arbitrary derivation and says whether it is an agda library package * that is not marked as broken. diff --git a/nixpkgs/pkgs/build-support/fetchgit/default.nix b/nixpkgs/pkgs/build-support/fetchgit/default.nix index 1d06ce44a91e..66bb3b7c09ff 100644 --- a/nixpkgs/pkgs/build-support/fetchgit/default.nix +++ b/nixpkgs/pkgs/build-support/fetchgit/default.nix @@ -90,6 +90,7 @@ stdenvNoCC.mkDerivation { ${netrcPhase} # required that git uses the netrc file mv {,.}netrc + export NETRC=$PWD/.netrc export HOME=$PWD ''; diff --git a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git index feb6c9e30535..a3ea0297673d 100755 --- a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git @@ -207,7 +207,10 @@ checkout_ref(){ # Update submodules init_submodules(){ - clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} + # shallow with leaveDotGit will change hashes + [[ -z "$deepClone" ]] && [[ -z "$leaveDotGit" ]] && \ + clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress --depth 1 || \ + clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress } clone(){ @@ -258,14 +261,14 @@ make_deterministic_repo(){ # Remove files that contain timestamps or otherwise have non-deterministic # properties. if [ -f .git ]; then - local dotgit_content=$(<.git) - local dotgit_dir="${dotgit_content#gitdir: }" + local dotgit_content=$(<.git) + local dotgit_dir="${dotgit_content#gitdir: }" else - local dotgit_dir=".git" + local dotgit_dir=".git" fi - pushd "$dotgit_dir" + pushd "$dotgit_dir" >/dev/null rm -rf logs/ hooks/ index FETCH_HEAD ORIG_HEAD refs/remotes/origin/HEAD config - popd + popd >/dev/null # Remove all remote branches. git branch -r | while read -r branch; do clean_git branch -rD "$branch" @@ -422,8 +425,8 @@ fi tmpHomePath="$(mktemp -d "${TMPDIR:-/tmp}/nix-prefetch-git-tmp-home-XXXXXXXXXX")" exit_handlers+=(remove_tmpHomePath) +ln -s "${NETRC:-$HOME/.netrc}" "$tmpHomePath/.netrc" HOME="$tmpHomePath" -ln -s "$NIX_BUILD_TOP/.netrc" "$HOME/" unset XDG_CONFIG_HOME export GIT_CONFIG_NOSYSTEM=1 diff --git a/nixpkgs/pkgs/build-support/fetchgit/tests.nix b/nixpkgs/pkgs/build-support/fetchgit/tests.nix index a18be65327b5..23e5fa299010 100644 --- a/nixpkgs/pkgs/build-support/fetchgit/tests.nix +++ b/nixpkgs/pkgs/build-support/fetchgit/tests.nix @@ -1,15 +1,13 @@ -{ testers, fetchgit, ... }: - -{ +{ testers, fetchgit, ... }: { simple = testers.invalidateFetcherByDrvHash fetchgit { - name = "nix-source"; + name = "simple-nix-source"; url = "https://github.com/NixOS/nix"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; }; sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit { - name = "nix-source"; + name = "sparse-checkout-nix-source"; url = "https://github.com/NixOS/nix"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; sparseCheckout = [ @@ -20,7 +18,7 @@ }; sparseCheckoutNonConeMode = testers.invalidateFetcherByDrvHash fetchgit { - name = "nix-source"; + name = "sparse-checkout-non-cone-nix-source"; url = "https://github.com/NixOS/nix"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; sparseCheckout = [ @@ -30,4 +28,48 @@ nonConeMode = true; sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4="; }; + + leave-git = testers.invalidateFetcherByDrvHash fetchgit { + name = "leave-git-nix-source"; + url = "https://github.com/NixOS/nix"; + rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; + sha256 = "sha256-zZxDxqaeWvuWuzwPizBLR7d59zP24+zqnWllNICenko="; + leaveDotGit = true; + }; + + submodule-simple = testers.invalidateFetcherByDrvHash fetchgit { + name = "submodule-simple-source"; + url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule"; + rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a"; + sha256 = "sha256-rmP8PQT0wJBopdtr/hsB7Y/L1G+ZPdHC2r9LB05Qrj4="; + fetchSubmodules = true; + }; + + submodule-leave-git = testers.invalidateFetcherByDrvHash fetchgit { + name = "submodule-leave-git-source"; + url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule"; + rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a"; + sha256 = "sha256-+uXIClcRJ4S1rdgx2Oyww+Jv4h1VXp8tfeh9lb07Fhk="; + leaveDotGit = true; + fetchSubmodules = true; + }; + + submodule-deep = testers.invalidateFetcherByDrvHash fetchgit { + name = "submodule-deep-source"; + url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule"; + rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a"; + sha256 = "sha256-LL7uhXQk3N3DcvBBxwjmfVx55tTXCGQ19T91tknopzw="; + deepClone = true; + fetchSubmodules = true; + }; + + submodule-leave-git-deep = testers.invalidateFetcherByDrvHash fetchgit { + name = "submodule-leave-git-deep-source"; + url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule"; + rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a"; + sha256 = "sha256-LL7uhXQk3N3DcvBBxwjmfVx55tTXCGQ19T91tknopzw="; + deepClone = true; + leaveDotGit = true; + fetchSubmodules = true; + }; } diff --git a/nixpkgs/pkgs/build-support/go/module.nix b/nixpkgs/pkgs/build-support/go/module.nix index 3bd72cbea889..aa4af3e2f8d7 100644 --- a/nixpkgs/pkgs/build-support/go/module.nix +++ b/nixpkgs/pkgs/build-support/go/module.nix @@ -301,6 +301,7 @@ let overrideGoAttrs = f: buildGoPackage (args' // (f args')); }; in + lib.warnIf (args' ? vendorSha256) "`vendorSha256` is deprecated. Use `vendorHash` instead" lib.warnIf (buildFlags != "" || buildFlagsArray != "") "Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`" package; diff --git a/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix b/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix index 7cfc0e9f9c0a..9babc7ae6287 100644 --- a/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix +++ b/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchNpmDeps, buildPackages, nodejs }: +{ lib, stdenv, fetchNpmDeps, buildPackages, nodejs } @ topLevelArgs: { name ? "${args.pname}-${args.version}" , src ? null @@ -34,6 +34,7 @@ , npmPruneFlags ? npmInstallFlags # Value for npm `--workspace` flag and directory in which the files to be installed are found. , npmWorkspace ? null +, nodejs ? topLevelArgs.nodejs , ... } @ args: diff --git a/nixpkgs/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh b/nixpkgs/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh index 79e2c4b26860..a2f77bdc6d43 100644 --- a/nixpkgs/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh +++ b/nixpkgs/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh @@ -14,7 +14,7 @@ npmInstallHook() { local dest="$packageOut/$(dirname "$file")" mkdir -p "$dest" cp "${npmWorkspace-.}/$file" "$dest" - done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm pack --json --dry-run ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")") + done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")") # Based on code from Python's buildPythonPackage wrap.sh script, for # supporting both the case when makeWrapperArgs is an array and a diff --git a/nixpkgs/pkgs/build-support/trivial-builders/default.nix b/nixpkgs/pkgs/build-support/trivial-builders/default.nix index f7adfad455bd..744c7807f463 100644 --- a/nixpkgs/pkgs/build-support/trivial-builders/default.nix +++ b/nixpkgs/pkgs/build-support/trivial-builders/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, stdenvNoCC, lndir, runtimeShell, shellcheck, haskell }: +{ lib, stdenv, stdenvNoCC, lndir, runtimeShell, shellcheck-minimal }: let inherit (lib) @@ -365,12 +365,12 @@ rec { # GHC (=> shellcheck) isn't supported on some platforms (such as risc-v) # but we still want to use writeShellApplication on those platforms let - shellcheckSupported = lib.meta.availableOn stdenv.buildPlatform shellcheck.compiler; + shellcheckSupported = lib.meta.availableOn stdenv.buildPlatform shellcheck-minimal.compiler; excludeOption = lib.optionalString (excludeShellChecks != [ ]) "--exclude '${lib.concatStringsSep "," excludeShellChecks}'"; shellcheckCommand = lib.optionalString shellcheckSupported '' # use shellcheck which does not include docs # pandoc takes long to build and documentation isn't needed for just running the cli - ${lib.getExe (haskell.lib.compose.justStaticExecutables shellcheck.unwrapped)} ${excludeOption} "$target" + ${lib.getExe shellcheck-minimal} ${excludeOption} "$target" ''; in if checkPhase == null then '' |