summaryrefslogtreecommitdiff
path: root/pkgs/stdenv (follow)
Commit message (Expand)AuthorAgeFilesLines
* Merge pull request #330069 from rhelmot/freebsd-14.1•••freebsd: 14.0 -> 14.1John Ericson2024-07-282-2/+5
|\
| * freebsd: 14.0 -> 14.1Audrey Dutcher2024-07-282-2/+5
* | Merge master into staging-nextgithub-actions[bot]2024-07-281-1/+1
|\ \
| * | makeBinaryWrapper: ensure wrapper works with llvmTristan Ross2024-07-271-1/+1
| |/
* | Merge branch 'master' into staging-nextVladimír Čunát2024-07-2412-391/+4653
|\|
| * Merge pull request #328582 from rhelmot/freebsd-stdenv•••FreeBSD stdenv: re-initJörg Thalheim2024-07-2412-391/+4653
| |\
| | * [squashme] finish renameAudrey Dutcher2024-07-201-0/+0
| | * [squashme] elaborate comment on unpack-bootstrap-files.shAudrey Dutcher2024-07-201-1/+2
| | * [squashme] rename linkBS to linkBootstrapAudrey Dutcher2024-07-201-25/+25
| | * [squashme] remove unused/bad codeAudrey Dutcher2024-07-201-9/+2
| | * [squashme] Remove some hacksAudrey Dutcher2024-07-191-12/+0
| | * [squashme] do the requested changesAudrey Dutcher2024-07-196-1366/+67
| | * stdenv/freebsd: reinit•••The old stdenv didn't work, and was also impure. The new one works, and is pure. Presently, the bootstrap tools are cross compiled into one small nar and one large tar, which is then unpacked, patched, and split into smaller derivations. Efforts were made to make the boot process as short as possible - there are only two clangs built, and as many packages are propagated between stages as possible while leaving the bootstrap tools out of the final stdenv's closure. Audrey Dutcher2024-07-1910-390/+5969
* | | darwin.stdenv: remove darwin.ICU from the final overlay•••Nothing in the stdenv needs it. Keeping it there pulls bootstrap tools into its build environment. Randy Eckenrode2024-07-221-1/+1
* | | Merge branch 'master' into staging-nextArtturin2024-07-221-0/+1
|\| |
| * | add s390x to make-bootstrap-tools-cross.nixbolives-hax2024-07-161-0/+1
| |/
* | darwin.stdenv: fix scons Python override•••This reduces the number of Python builds in the bootstrap to two: a minimal build and a normal build. Both have LTO disabled, which is required due to missing LLVM LTO libraries. This is necessary to correctly enable LTO builds in Python because it needs `llvm-ar` from `stdenv.cc.cc.libllvm`, which does not exist in the bootstrap. Randy Eckenrode2024-07-201-0/+2
* | Merge pull request #307880 from reckenrode/ld64•••cctools: 973.0.1 -> 1010.6toonn2024-07-172-296/+205
|\ \
| * | darwin.stdenv: switch to top-level cctools and ld64Randy Eckenrode2024-07-131-146/+176
| * | stdenv: set NIX_DONT_SET_RPATH_FOR_TARGET on DarwinRandy Eckenrode2024-07-131-8/+3
| * | darwin.stdenv: consolidate stage 2 into one stage•••Separate stages are no longer necessary because CF is not built from source and will not be built in the future. Randy Eckenrode2024-07-131-118/+14
| * | darwin.stdenv: clean up GNU binutils ban•••- Only propagate binutils-unwrapped; and - Clarify in the `throw` that it cannot be used in the Darwin bootstrap. Randy Eckenrode2024-07-131-6/+6
| * | darwin.stdenv: adjust flags for llvm-strip in bootstrap toolsRandy Eckenrode2024-07-131-13/+5
| * | darwin.stdenv: always use a response file•••The bootstrap tools have been updated, so it is no longer necessary to suppress using a response file in the Darwin stdenv bootstrap. Randy Eckenrode2024-07-131-3/+0
| * | darwin.stdenv: make sure curl cannot be used•••Fetchers can use the `curl` binary from the bootstrap tools. Allowing packages in the Darwin bootstrap to link curl makes any curl update cause a full rebuild on Darwin, which is undesirable. Randy Eckenrode2024-07-131-10/+9
* | | pkgs/stdenv/generic/setup.sh: fix unbound variables and pass ShellCheck check...•••* pkgs/stdenv/generic/setup.sh: supress ShellCheck error about Bash array indexing syntax * pkgs/stdenv/generic/setup.sh: loop by per-line read * pkgs/stdenv/generic/setup.sh: fix variable quoting * pkgs/stdenv/generic/setup.sh: separate declaration and assignmentYueh-Shun Li2024-07-141-11/+25
|/ /
* | Merge remote-tracking branch 'origin/staging-next' into staging•••Conflicts: - pkgs/applications/misc/blender/default.nix - pkgs/development/web/nodejs/nodejs.nix Martin Weinelt2024-07-113-6/+8
|\|
| * Merge remote-tracking branch 'upstream/master' into openbsd-staticJohn Ericson2024-07-096-153/+298
| |\
| | * overrideSDK: fix missing host platform inside of overrideTristan Ross2024-07-081-4/+4
| | * Merge pull request #324155 from paparodeo/x64-sdk11-no-rebuilds•••treewide: change various flags to allow x64 darwin to default to sdk 11.0 when readyTristan Ross2024-07-081-1/+1
| | |\
| | | * treewide: fixes to allow x64 darwin to default to sdk 11•••update code to not assume that x64 darwin must use sdk 10.12. After this change it's possible to build a sdk 11 stdenv on darwin x64 Reno Dakota2024-07-021-1/+1
| * | | openbsd: Add static linking support•••I've had better luck creating statically-linked binaries that work than dynamically-linked ones, so this is needed quite practically. John Ericson2024-07-091-1/+3
| | |/ | |/|
* | | Merge remote-tracking branch 'origin/staging-next' into staging•••Conflicts: - pkgs/tools/misc/watchlog/default.nix Martin Weinelt2024-07-061-3/+1
|\ \ \ | | |/ | |/|
| * | stdenv/darwin/make-bootstrap-tools.nix: use darwin.binutils-unwrapped•••After https://github.com/NixOS/nixpkgs/pull/322388, darwin.cctools is just Apple’s cctools again. The replacement for what the bootstrap tools wants is darwin.binutils-unwrapped. Randy Eckenrode2024-07-041-3/+1
* | | Merge pull request #317106 from trofi/dashed-source•••stdenv: handle $sourceRoot that starts with dashRyan Hendrickson2024-07-021-2/+2
|\ \ \ | |/ / |/| |
| * | generic/setup.sh: handle $sourceRoot that starts with dash••• Without the change `runPhase` fails on tarballs like `diffoscope-269` that contain single top-level `-269` root as: diffoscope> unpacking source archive /nix/store/p620nidkm73vrp0z6kk5krmrm4vg7bxd-diffoscope-269.tar.bz2 diffoscope> source root is -269 diffoscope> setting SOURCE_DATE_EPOCH to timestamp 1717143039 of file ./-269/tests/utils/versions.py diffoscope> chmod: invalid mode: ‘-269’ diffoscope> Try 'chmod --help' for more information. Currently `diffoscope-269` has a `sourceRoot = "./-269";` workaround to bypass the failure. Sergei Trofimovich2024-06-101-2/+2
* | | darwin.stdenv: make sure GNU binutils cannot be used•••GNU binutils is not preferred on Darwin, and newer versions have issues building. Make it an evaluation error to use it in the Darwin stdenv bootstrap. Randy Eckenrode2024-06-271-4/+7
* | | darwin.stdenv: update for darwin.binutils cleanup•••- Only link binaries that exist for stage 0 cctools and LLVM bintools; - Drop cctools-llvm in favor of the updated darwin.binutils; and - Update llvm-manages Python overrides (needed for newer versions of LLVM). Randy Eckenrode2024-06-271-91/+168
* | | darwin.stdenv: run LLVM tests only onceRandy Eckenrode2024-06-271-1/+6
* | | darwin.stdenv: reduce number of times Python is builtRandy Eckenrode2024-06-271-37/+27
* | | stdenv: fix typoK9002024-06-241-1/+1
* | | Merge remote-tracking branch 'origin/staging-next' into staging•••Conflicts: - pkgs/os-specific/windows/mingw-w64/default.nix Martin Weinelt2024-06-232-13/+17
|\ \ \ | | |/ | |/|
| * | Merge pull request #320370 from eclairevoyant/fix-checkmeta-predicates•••check-meta: fix instructionsK9002024-06-221-12/+12
| |\ \
| | * | check-meta: rename local bindingéclairevoyant2024-06-221-12/+12
| | * | check-meta: fix instructions•••Corrections to 17718ac2552873bc9b6bbeb0c5b9469284a5d03b éclairevoyant2024-06-161-4/+4
| * | | *bsdCross: Remove these package sets•••I realized what rhelmot did in 61202561d92cf1cd74532fcbd8b9d6662c5bc57b (specify what packages just need `stdenvNoLibc`) is definitely the right approach for this, and adjusted NetBSD and OpenBSD to likewise use it. With that change, we don't need these confusing and ugly `*bsdCross` package sets at all! We can get rid of a lot more libc-related `*Cross`, and I will do so soon, but this is the first step. (adapted from commit 51f1ecaa59a3b7c182b24e71a3176c83d6cd601e) John Ericson2024-06-211-1/+5
| * | | Revert #320852: Clean up cross bootstrapping•••It rebuilt stdenv on *-darwin; we can't do that in nixpkgs master. This reverts commit 2f20501c5f188ab0c4c430519ce77bc6b988202b, reversing changes made to fd469c24af2e16aad2c2b4fc90fc8c74af36e773. Vladimír Čunát2024-06-212-34/+21
| * | | Clean up cross bootstrapping•••For a long time, we've had `crossLibcStdenv`, `*Cross` libc attributes, and `*bsdCross` pre-libc package sets. This was always bad because having "cross" things is "not declarative": the naming doesn't reflect what packages *need* but rather how we *provide* something. This is ugly, and creates needless friction between cross and native building. Now, almost all of these `*Cross` attributes are gone: just these are kept: - Glibc's and Musl's are kept, because those packages are widely used and I didn't want to risk changing the native builds of those at this time. - generic `libcCross`, `theadsCross`, and friends, because these relate to the convolulted GCC bootstrap which still needs to be redone. The BSD and obscure Linux or freestnanding libcs have conversely all been made to use a new `stdenvNoLibc`, which is like the old `crossLibcStdenv` except: 1. It usable for native and cross alike 2. It named according to what it *is* ("a standard environment without libc but with a C compiler"), rather than some non-compositional jargon ("the stdenv used for building libc when cross compiling", yuck). I should have done this change long ago, but I was stymied because of "infinite recursions". The problem was that in too many cases we are overriding `stdenv` to *remove* things we don't need, and this risks cyles since those more minimal stdenvs are used to build things in the more maximal stdenvs. The solution is to pass `stage.nix` `stdenvNoCC`, so we can override to *build up* rather than *tear down*. For now, the full `stdenv` is also passed, so I don't need to change the native bootstraps, but I can see this changing as we make things more uniform and clean those up. Finally, the BSDs also had to be cleaned up, since they have a few pre-libc dependencies, demanding a systematic approach. I realized what rhelmot did in 61202561d92cf1cd74532fcbd8b9d6662c5bc57b (specify what packages just need `stdenvNoLibc`) is definitely the right approach for this, and adjusted NetBSD and OpenBSD to likewise use it. John Ericson2024-06-182-21/+34
| |/ /
* | | Merge pull request #318256 from risicle/ris-stack-clash-protection•••cc-wrapper: add stack clash protection hardening flagRick van Schijndel2024-06-193-2/+12
|\ \ \
| * | | cc-wrapper: add stack clash protection hardening flag•••Most Linux distributions are enabling this these days and it does protect against real world vulnerabilities as demonstrated by CVE-2018-16864 and CVE-2018-16865. Fix #53753. Information on llvm version support gleaned from https://github.com/llvm/llvm-project/commit/6609892a2dcdd1a4f6adefe191b55524861f020c https://github.com/llvm/llvm-project/commit/68e07da3e5d5175e24caa309e2b13cb333365c8c https://github.com/llvm/llvm-project/commit/092507a730fa4fad6dbe544cd139cfb7e8179aa4 Information on gcc version support a lot harder to gather, but both 32bit and 64bit arm do appear to be supported based on the test suite. Franz Pletz2024-06-073-2/+12
| | |/ | |/|