summaryrefslogtreecommitdiff
path: root/lib/fetchers.nix (follow)
Commit message (Expand)AuthorAgeFilesLines
* treewide: format all inactive Nix files•••After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev b32a0943687d2a5094a6d92f25a4b6e16a76b5b7 result/bin/apply-formatting $NIXPKGS_PATH Silvan Mosberger2024-12-101-42/+73
* lib.fetchers.normalizeHash: more implementation comment and clearer variable ...nicoo2024-09-171-11/+12
* lib.fetchers.normalizeHash: replace `""` with `lib.fake*`nicoo2024-09-171-2/+15
* lib.fetchers: factor-out definitions common to `normalizeHash` and `withNorma...nicoo2024-09-171-6/+10
* lib.fetchers: replace `with`-bindings with explicit `let inherit`nicoo2024-09-171-2/+6
* lib.fetchers: optimize `normalizeHash` and `withNormalizedHash` via min-scopingnicoo2024-09-171-23/+30
* lib.fetchers.withNormalizedHash: handle fetchers whose hash parameter is opti...nicoo2024-09-171-6/+7
* lib.fetchers: add `normalizeHash` and `withNormalizedHash`nicoo2024-09-171-1/+143
* treewide: support NIX_SSL_CERT_FILE as an impureEnvVar•••This envvar is also added to lib.proxyImpureEnvVars since it's typically required for https proxies. This change also updates fetchgit and go module fetching to use this envvar. NIX_GIT_SSL_CAINFO is still supported for backwards compatibility in fetchgit. Tim Cuthbertson2024-08-231-0/+3
* lib.fetchers: Add uppercase proxy environment variables•••The [Nix installer](https://github.com/NixOS/nix/blob/84e0c464f11b34fa7d5ca26dcf98a91c4d596d59/scripts/install-systemd-multi-user.sh#L38) and the [documentation](https://github.com/NixOS/nix/blob/84e0c464f11b34fa7d5ca26dcf98a91c4d596d59/doc/manual/src/installation/env-variables.md#L54-L56) state that they support uppercase proxy environment variables. [lib/fetchers.nix](https://github.com/NixOS/nixpkgs/blob/165090ed665fd56e1cabc4e2ac3b3b5524596a6a/lib/fetchers.nix#L10) only supports lowercase proxy environment variables. Fix: [nix#10491](https://github.com/NixOS/nix/issues/10491) ramboman2024-04-261-0/+1
* Convert libs to a fixed-point•••This does break the API of being able to import any lib file and get its libs, however I'm not sure people did this. I made this while exploring being able to swap out docFn with a stub in #2305, to avoid functor performance problems. I don't know if that is going to move forward (or if it is a problem or not,) but after doing all this work figured I'd put it up anyway :) Two notable advantages to this approach: 1. when a lib inherits another lib's functions, it doesn't automatically get put in to the scope of lib 2. when a lib implements a new obscure functions, it doesn't automatically get put in to the scope of lib Using the test script (later in this commit) I got the following diff on the API: + diff master fixed-lib 11764a11765,11766 > .types.defaultFunctor > .types.defaultTypeMerge 11774a11777,11778 > .types.isOptionType > .types.isType 11781a11786 > .types.mkOptionType 11788a11794 > .types.setType 11795a11802 > .types.types This means that this commit _adds_ to the API, however I can't find a way to fix these last remaining discrepancies. At least none are _removed_. Test script (run with nix-repl in the PATH): #!/bin/sh set -eux repl() { suff=${1:-} echo "(import ./lib)$suff" \ | nix-repl 2>&1 } attrs_to_check() { repl "${1:-}" \ | tr ';' $'\n' \ | grep "\.\.\." \ | cut -d' ' -f2 \ | sed -e "s/^/${1:-}./" \ | sort } summ() { repl "${1:-}" \ | tr ' ' $'\n' \ | sort \ | uniq } deep_summ() { suff="${1:-}" depth="${2:-4}" depth=$((depth - 1)) summ "$suff" for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do if [ $depth -eq 0 ]; then summ "$attr" | sed -e "s/^/$attr./" else deep_summ "$attr" "$depth" | sed -e "s/^/$attr./" fi done } ( cd nixpkgs #git add . #git commit -m "Auto-commit, sorry" || true git checkout fixed-lib deep_summ > ../fixed-lib git checkout master deep_summ > ../master ) if diff master fixed-lib; then echo "SHALLOW MATCH!" fi ( cd nixpkgs git checkout fixed-lib repl .types ) Graham Christensen2017-09-161-0/+1
* lib: trivial spelling fixesTom Saeger2017-04-191-1/+1
* lib/fetchers.nix: factor out impure proxy vars (#18702)•••Apparently everyone just copied those variables, instead of creating a library constant for them. Some even removed the comment. -.-Profpatsch2016-09-171-0/+12