Commit Graph

5203 Commits

Author SHA1 Message Date
Sergei Trofimovich
649ebfbed6 cc-wrapper: change cflags order from cc/crt1/libc to crt1/libc/cc
In https://github.com/NixOS/nixpkgs/issues/158042 I noticed order
mismatch as a bootstrap build failure when building x86_64-linux
against glibc-2.35 in nixpkgs (bootstrap libs has glibc-2.27):

    expand-response-params> ld: /nix/store/p4s4jf7aq6v6z9iazll1aiqwb34aqxq9-bootstrap-tools/lib/crt1.o: in function `_start':
    expand-response-params> /build/glibc-2.27/csu/../sysdeps/x86_64/start.S:101: undefined reference to `__libc_csu_fini'
    expand-response-params> ld: /build/glibc-2.27/csu/../sysdeps/x86_64/start.S:102: undefined reference to `__libc_csu_init'
    expand-response-params> collect2: error: ld returned 1 exit status

Here crt1.o from glibc-2.27 links against libc.so.6 from glibc-2.35.

This happens because ordering of `-L` (influences `libc.so` lookup) and
`-B` (influences `crt1.o` lookup) flags differs:

    expand-response-params>   -B/...-bootstrap-tools/lib
    expand-response-params>   -B/...-glibc-2.35/lib/
    ...
    expand-response-params>   -L/...-glibc-2.35/lib
    expand-response-params>   -L/...-bootstrap-tools/lib

The change makes consistent ordering of `-L`/`-B` and allows getting to
stage4 for `glibc-2.35` target.
2022-02-20 10:45:45 +00:00
github-actions[bot]
dafecf1c6d
Merge staging-next into staging 2022-02-11 18:01:48 +00:00
Ivar Scholten
a204ca0902 dotnetenv: move to pkgs/build-support/dotnet 2022-02-11 16:43:20 +01:00
Ivar Scholten
b2b54c980a dotnetbuildhelpers: move to pkgs/build-support/dotnet 2022-02-11 16:42:07 +01:00
Ivar Scholten
1878b7b1b2 nuget-to-nix: move to pkgs/build-support/dotnet 2022-02-11 16:38:12 +01:00
Ivar Scholten
b2b29319de fetchNuGet: move to pkgs/build-support/dotnet 2022-02-11 16:37:26 +01:00
Ivar Scholten
8910db35ea buildDotnetPackage: move to pkgs/build-support/dotnet 2022-02-11 16:36:41 +01:00
Ivar Scholten
d31d2aab0e buildDotnetModule: move to pkgs/build-support/dotnet 2022-02-11 16:35:53 +01:00
github-actions[bot]
fa600e2c3a
Merge staging-next into staging 2022-02-11 00:02:23 +00:00
Uri Baghin
1c2d7f85b9
Merge pull request #131891 from hexagonal-sun/darwin-app-creation
Darwin Application Launcher creation expression
2022-02-11 09:26:32 +11:00
Matthew Leach
850fc57f56 build-support: make-darwin-bundle: new
Add a new module that allows darwin-style application bundles to be
created
2022-02-10 18:53:53 +00:00
Jonathan Ringer
560bf3f760 fetchFromGitHub: perserve originating position 2022-02-10 10:18:16 -08:00
Jonathan Ringer
665684a981 fetchFromGitHub: don't overwrite meta 2022-02-10 10:18:16 -08:00
github-actions[bot]
30946056f0
Merge staging-next into staging 2022-02-05 12:03:39 +00:00
github-actions[bot]
9c2957b47d
Merge master into staging-next 2022-02-05 12:01:13 +00:00
Tom Bereknyei
ef63ee9504 chrootenv: remove default.nix from src 2022-02-05 03:01:03 -05:00
Guillaume Maudoux
7b9fd5d1c9
rewrite autoPatchelfHook in python (#149731)
* rewrite autoPatchelfHook in python

* Update pkgs/build-support/setup-hooks/auto-patchelf.py

Co-authored-by: aszlig <aszlig@redmoonstudios.org>

* Update pkgs/build-support/setup-hooks/auto-patchelf.py

Co-authored-by: aszlig <aszlig@redmoonstudios.org>

* Apply suggestions from code review

Co-authored-by: aszlig <aszlig@redmoonstudios.org>

* Fix issues discovered during tests

* Apply suggestions from code review

Co-authored-by: aszlig <aszlig@redmoonstudios.org>

* fixup line wrapping

* autoPatchelfHook: Improve compatibility with bash version

* autoPatchelfHook: Fix symlink-reated issues

* autoPatchelfHook: Revert dubious patchelf invocation test

* autoPatchelfHook: Untangle the executable detection logic

* fixup! autoPatchelfHook: Untangle the executable detection logic

* autoPatchelfHook: Fix invalid borrow issue

* autoPatchelfHook: Handle runtimeDependencies as the bare string it is

* autoPatchelfHook: add bintools dependency

For the very rare cases where it is not included by default.

* autoPatchelfHook: replace old hook with the rewrite

* autoPatchelfHook: get rid of the old hook content

* autoPatchelfHook: fix wrong ordering of debug info

* autoPatchelfHook: persist extra search path across incovations

* autoPatchelfHook: fix wrong usage of global variables

* Update auto-patchelf.py

PEP8: ignoreMissing -> ignore_missing

* Apply suggestions from code review

Co-authored-by: aszlig <aszlig@redmoonstudios.org>

* autoPatchelfHook: remove imprecise and incorrect warning

* Apply explicit types from code review

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

* Complement and polish types and snake_casing

Co-authored-by: aszlig <aszlig@redmoonstudios.org>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2022-02-04 10:08:27 +01:00
Jonathan Ringer
9a16965c75
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/python-modules/awesomeversion/default.nix
	pkgs/development/python-modules/md2gemini/default.nix
	pkgs/development/python-modules/mill-local/default.nix
	pkgs/development/python-modules/pyatv/default.nix
	pkgs/development/python-modules/pyezviz/default.nix
	pkgs/development/python-modules/pyinsteon/default.nix
	pkgs/development/python-modules/pylitterbot/default.nix
	pkgs/development/python-modules/pynuki/default.nix
	pkgs/development/python-modules/pypck/default.nix
	pkgs/development/python-modules/types-requests/default.nix
	pkgs/top-level/aliases.nix
2022-02-03 21:29:24 -08:00
talyz
c67f885fe4
makeWrapper: Don't readd existing values in prefix/suffix
When prefixing or suffixing list variables, check that the value or
values aren't already part of the list. If this is the case when
suffixing, the list won't be touched at all. When prefixing, however,
the last matching instance of the value will be moved to the beginning
of the list. Any remaining duplicates of the value will be left as-is.

Co-authored-by: Vincenzo Mantova <xworld21@users.sf.net>
2022-02-02 19:46:58 +01:00
DavHau
ac728c1e96 fetchpatch: Clean up
Co-Authored-By: Ivar Scholten <ivar.scholten@protonmail.com>
2022-02-02 12:15:47 +01:00
DavHau
dfcc51def7 fetchpatch: allow empty hash
Previously, when sha256 either wasn't defined or set to an empty string
fetchpatch would error out as follows:

'''
warning: found empty hash, assuming 'sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='
...
/nix/store/agwlk2bcfvz2ggrsbvwd7696qj55frbi-stdenv-linux/setup: line 96: /build/: Is a directory
sed: couldn't flush stdout: Broken pipe
'''

This patch makes it show fetchurl's error message instead:

'''
warning: found empty hash, assuming 'sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='
...
error: hash mismatch in fixed-output derivation:
         specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
            got:    sha256-NWGWoyEgT/ztCwbhNgGPvG+nqX4bxtFnD+wds6fklbs=
'''

This is very convenient for TOFU.

Co-Authored-By: Ivar Scholten <ivar.scholten@protonmail.com>
2022-02-02 12:15:47 +01:00
github-actions[bot]
87efa4e516
Merge staging-next into staging 2022-01-31 12:01:50 +00:00
Jan Tojnar
54b828006e Merge branch 'staging-next' into staging 2022-01-31 12:57:47 +01:00
Vincent Ambo
af9f248926 streamLayeredImage: pass through passthru attributes
This is useful for a use-case we have with a Nix-based CI system that
specifies things like deploy steps as passthru attributes[0].

Previously the only way to do this would have been to concatenate
attributes onto the resulting derivation, but passing them in and
actually treating them as proper passthru attributes is cleaner.

[0]: https://cs.tvl.fyi/depot@f7d7da6aceb407b719cf4683a75878fd3aca319e/-/blob/nix/buildkite/default.nix?L222-226
2022-01-31 10:10:10 +03:00
Felix Buehler
70ee115571 from-quicklisp: move urls-from-page.sh to its directory 2022-01-30 23:34:40 +01:00
github-actions[bot]
0b0b544416
Merge staging-next into staging 2022-01-30 00:02:26 +00:00
Thomas Watson
d8bb89b9ff make-initrd: fix reproducibility problems with hard links 2022-01-29 18:07:11 -05:00
Colin
66d547dec8
garble: 20200107 -> 0.5.1, switch to go_1_17
This was pretty straightforward, note that go1.17 is explicitly required
by v0.5.1, and one of the tests requires git, so I added it to the
checkInputs.

Also the tests now pass and don't need the mangle, so I removed the
patch. I left the darwin/aarch64 patch in.
2022-01-30 07:42:46 +10:00
Jan Tojnar
2da5ce4ab3 Merge branch 'staging-next' into staging
; Conflicts:
;	pkgs/development/python-modules/fakeredis/default.nix
2022-01-28 14:05:11 +01:00
Sandro
27cccd4e49
Merge pull request #151363 from Stunkymonkey/doc-updateWalker 2022-01-27 14:06:36 +01:00
Dmitry Kalinkin
0693fd77f7
Merge branch 'staging-next' into staging
Conflicts:
	nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
	nixos/doc/manual/release-notes/rl-2205.section.md
	pkgs/development/python-modules/aioesphomeapi/default.nix
	pkgs/development/python-modules/mat2/default.nix
	pkgs/development/python-modules/pydevccu/default.nix
	pkgs/development/python-modules/pywlroots/default.nix
	pkgs/development/python-modules/rokuecp/default.nix
2022-01-27 00:54:10 -05:00
polykernel
4a9d9928dc nixos/nix-daemon: use structural settings
The `nix.*` options, apart from options for setting up the
daemon itself, currently provide a lot of setting mappings
for the Nix daemon configuration. The scope of the mapping yields
convience, but the line where an option is considered essential
is blurry. For instance, the `extra-sandbox-paths` mapping is
provided without its primary consumer, and the corresponding
`sandbox-paths` option is also not mapped.

The current system increases the maintenance burden as maintainers have to
closely follow upstream changes. In this case, there are two state versions
of Nix which have to be maintained collectively, with different options
avaliable.

This commit aims to following the standard outlined in RFC 42[1] to
implement a structural setting pattern. The Nix configuration is encoded
at its core as key-value pairs which maps nicely to attribute sets, making
it feasible to express in the Nix language itself. Some existing options are
kept such as `buildMachines` and `registry` which present a simplified interface
to managing the respective settings. The interface is exposed as `nix.settings`.

Legacy configurations are mapped to their corresponding options under `nix.settings`
for backwards compatibility.

Various options settings in other nixos modules and relevant tests have been
updated to use structural setting for consistency.

The generation and validation of the configration file has been modified to
use `writeTextFile` instead of `runCommand` for clarity. Note that validation
is now mandatory as strict checking of options has been pushed down to the
derivation level due to freeformType consuming unmatched options. Furthermore,
validation can not occur when cross-compiling due to current limitations.

A new option `publicHostKey` was added to the `buildMachines`
submodule corresponding to the base64 encoded public host key settings
exposed in the builder syntax. The build machine generation was subsequently
rewritten to use `concatStringsSep` for better performance by grouping
concatenations.

[1] - https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
2022-01-26 21:04:50 -05:00
Felix Buehler
59c55f4558 update-walker: remove because unused 2022-01-26 21:46:59 +01:00
Martin Weinelt
48f17360d9 Merge remote-tracking branch 'origin/master' into staging-next 2022-01-25 15:53:19 +01:00
Alyssa Ross
1a60dd2adc
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
Conflicts:
	pkgs/development/python-modules/cupy/default.nix
	pkgs/development/python-modules/staticjinja/default.nix
2022-01-24 15:39:34 +00:00
Jonathan Ringer
4bde5a3a68
libredirect: fix build for aarch64-darwin (PR #156460) 2022-01-24 12:20:51 +01:00
Zhong Jianxin
57829cc246 fetchgithub: Support sparseCheckout 2022-01-24 11:31:41 +08:00
Zhong Jianxin
36cc03e151 fetchgit: Add test for sparseCheckout 2022-01-24 11:23:56 +08:00
Zhong Jianxin
d03a07d5a7 fetchgit: Support sparse checkout
This allow git checkout small parts of a large repo, and avoid fetching
unnecessary blobs from server.
2022-01-24 11:23:56 +08:00
Robert Scott
e3e0626730
Merge pull request #155519 from risicle/ris-libredirect-unlink-rmdir-mktemp
libredirect: add support for `unlink(at)?`, `rmdir`, `mko?stemps?`, `mkd?temp`
2022-01-21 23:50:54 +00:00
github-actions[bot]
b74b591fbe
Merge master into staging-next 2022-01-20 00:01:46 +00:00
Andreas Rammhold
31e5b8dc21
Remove myself from maintainers
I don't have time and energy to deal with all of this anymore.
2022-01-20 00:24:52 +01:00
github-actions[bot]
0fdca24272
Merge master into staging-next 2022-01-19 00:01:38 +00:00
Linus Heckemann
f76bef6136
Merge pull request #145258 from Ma27/steam-resolv-conf-override
steam: fix `/etc/resolv.conf` reference in FHS env
2022-01-18 22:59:08 +01:00
Robert Scott
86783a69c2 libredirect: add support for mktemp 2022-01-18 20:20:29 +00:00
Robert Scott
d38832ace0 libredirect: add support for mkdtemp 2022-01-18 20:20:28 +00:00
Robert Scott
2185a70fa4 libredirect: add support for mkstemp family of functions 2022-01-18 20:20:28 +00:00
Robert Scott
b3a7dc22d1 libredirect: add support for unlink, unlinkat, rmdir
add coverage of these and mkdir functions in tests
2022-01-18 20:20:27 +00:00
github-actions[bot]
d1d6f982a8
Merge master into staging-next 2022-01-16 18:00:59 +00:00
Pavol Rusnak
5c32667d6e
Merge pull request #154677 from IvarWithoutBones/dotnetModule-installphase
buildDotnetModule: wrap executables in preFixup
2022-01-16 15:22:54 +01:00