Commit Graph

5423 Commits

Author SHA1 Message Date
Martin Weinelt
70d726c2a5 Merge remote-tracking branch 'origin/master' into staging-next 2022-04-17 20:29:43 +02:00
Daniel Nagy
4489718d8f
emacsWrapper: preload autoloads
This commits changes the Emacs wrapper, in order to preload all autoload
definitions when built with additional packages. The list of all
definitions is generated at build-time. Packages do not need to
be (require)d for them to work.

Before this change, a code like

```sh
nix-shell -I "nixpkgs=$PWD" -p "emacs.pkgs.withPackages(e:[e.magit])" \
          --run "emacs -Q -nw -f magit"
```

will fail with the message `Symbol’s function definition is void: magit`

After the change, the same code above will open Emacs with magit
enabled.

A slightly longer startup time of ~10ms was detected in local, informal
experiments.

More information on autoloading:
https://www.gnu.org/software/emacs/manual/html_node/eintr/Autoload.html
2022-04-17 14:36:24 +02:00
Sandro Jäckel
a67950f20b
fetchurl: passthru url 2022-04-17 05:30:04 +02:00
Martin Weinelt
fa1bb283d8 Merge remote-tracking branch 'origin/master' into staging-next 2022-04-16 23:14:55 +02:00
Janne Heß
031b95e587
Merge pull request #168814 from helsinki-systems/feat/systemd-stage-1-pass-vars
nixos/systemd-stage-1: Pass more vars to the builder
2022-04-16 22:02:26 +02:00
Janne Heß
b9bf28fd70
nixos/stage-1-init: Pass all parameters to the builder
This is for compatiblity with the old builder to get compat with uboot
support and to prepend microcode updates to the initrd
2022-04-16 20:36:18 +01:00
Ben Siraphob
259fa13d53 treewide: remove nativeBuildInputs that are in stdenv 2022-04-16 21:46:46 +03:00
Robert Hensing
e77e09c5d2 postgresqlTestHook: init 2022-04-16 17:17:46 +02:00
github-actions[bot]
6be56bfc2e
Merge master into staging-next 2022-04-16 12:01:10 +00:00
Faye Duxovni
bc5e8ae506 buildRustCrate: don't try to set CARGO_FEATURE_ variables for dep: features
These features are internal-only, have special characters that bash
doesn't support in variable names, and aren't normally given
environment variables by cargo as far as I can tell.
2022-04-16 06:53:45 -04:00
Thiago Kenji Okada
113a29b107
Merge pull request #168816 from thiagokokada/graalvm-cleanup
graalvmXX-ee: remove; graalvmXX-ce: remove Ruby/Python/WASM support
2022-04-16 11:36:41 +01:00
Martin Weinelt
2bd8fc9378 Merge remote-tracking branch 'origin/master' into staging-next 2022-04-16 00:52:15 +02:00
Thiago Kenji Okada
44a4401945 buildGraalvmNativeImage: mark as broken if Native Image is not available 2022-04-15 23:20:52 +01:00
Lin Yinfeng
bedc267a78
autoPatchelfHook: fix precise dependency ignorance
This commit fixes precise dependency ignorance by converting the
environment variable `autoPatchelfIgnoreMissingDeps` into a bash array
`ignoreMissingDepsArray`, passing `"${ignoreMissingDepsArray[@]}"`
instead of `"${autoPatchelfIgnoreMissingDeps[@]}"` to the python
script.

The original implementation does not work when
`autoPatchelfIgnoreMissingDeps` contains multiple dependency names.
Because it mistakenly passes `"${autoPatchelfIgnoreMissingDeps[@]}"`
to the python script. According to the Nix manual
(https://nixos.org/manual/nix/stable/expressions/derivations.html),
lists of strings are concatenated into whitespace-separated strings,
then passed to the builder as environment variables. So, if
`autoPatchelfIgnoreMissingDeps = [ "dep1" "dep2" "dep3" ]`,
`"${autoPatchelfIgnoreMissingDeps[@]}"` will be expanded to a single
argument `"dep1 dep2 dep3"`, which is not the intended behavior,
because the python script takes the long argument as a dependency
name.

With this commit, `"${ignoreMissingDepsArray[@]}"` will be expanded to
three arguments `"dep1" "dep2" "dep3"` arguments as expected, fixing
the issue.
2022-04-15 10:35:11 +08:00
Thomas Watson
7fd6cea253 make-initrd: fix reproducibility problems
cpio includes the number of directory hard links in archives it creates.
Some filesystems, like btrfs, do not count directory hard links the same
way as more common filesystems like ext4 or tmpfs, so archives built
when /tmp is on such a filesystem do not reproduce. This patch replaces
cpio with bsdtar, which does not have this issue. The specific
invocation is from this page:
https://reproducible-builds.org/docs/archives/
2022-04-14 19:06:30 -05:00
Artturin
390439d726 testVersion: when there is a error show the whole error
before

$ nix build ".#whipper.tests.version"
whipper>   File "/nix/store/2iiyy58pmm1ys6dy8ycbmmmfm67iakv1-whipper-0.10.0/bin/.whipper-wrapped", line 6, in <module>
whipper>   File "/nix/store/2iiyy58pmm1ys6dy8ycbmmmfm67iakv1-whipper-0.10.0/lib/python3.9/site-packages/whipper/__init__.py", line 5, in <module>
note: keeping build directory '/tmp/nix-build-whipper-0.10.0-test-version.drv-7'

after
$ nix build ".#whipper.tests.version"
whipper> Traceback (most recent call last):
whipper>   File "/nix/store/2iiyy58pmm1ys6dy8ycbmmmfm67iakv1-whipper-0.10.0/bin/.whipper-wrapped", line 6, in <module>
whipper>     from whipper.command.main import main
whipper>   File "/nix/store/2iiyy58pmm1ys6dy8ycbmmmfm67iakv1-whipper-0.10.0/lib/python3.9/site-packages/whipper/__init__.py", line 5, in <module>
whipper>     from pkg_resources import (get_distribution,
whipper> ModuleNotFoundError: No module named 'pkg_resources'
note: keeping build directory '/tmp/nix-build-whipper-0.10.0-test-version.drv-34'
error: builder for '/nix/store/5lxjicdhwgmjcz9ddlxgq3s3gyaa6lz4-whipper-0.10.0-test-version.drv' failed with exit code 1;
2022-04-14 23:10:20 +03:00
Vladimír Čunát
d5d94127fd
Merge branch 'staging-next' into staging
Minor conflicts; I hope I didn't mess up:
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/games/openjk/default.nix
2022-04-14 09:53:21 +02:00
Samuel Ainsworth
263292cb5e
Merge pull request #167397 from samuela/samuela/autopatchelf
autoPatchelfHook: more precise dependency ignorance
2022-04-12 08:58:00 -07:00
Artturi
74f33d9a4a
Merge pull request #164825 from ilya-fedin/fhs-less-copy 2022-04-11 16:37:01 +03:00
Samuel Ainsworth
a7fc2f6392 autoPatchelfHook: more precise dependency ignorance 2022-04-11 01:28:55 +00:00
zowoq
3a70d5dc83 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/compilers/go/2-dev.nix
2022-04-07 22:12:13 +10:00
toonn
5eb21a55ee copyDesktopItems: Use variable for repeated path
Co-authored-by: K900 <me@0upti.me>
2022-04-07 11:04:11 +00:00
toonn
d1bbb2b3d6 copyDesktopItems: Use bin output
Desktop files are only useful when accompanied by the binaries they
specify. So it makes more sense to put them next to the binaries rather
than `$out` which only usually contains the binaries.
2022-04-07 11:04:11 +00:00
github-actions[bot]
3dc8bd98b9
Merge staging-next into staging 2022-04-06 00:02:41 +00:00
Vladimír Čunát
b4729bad3d
Merge #165406: staging-next 2022-03-23 2022-04-05 20:34:08 +02:00
Robert Hensing
559ac3c9e7
Merge pull request #166383 from hercules-ci/always-sanitize-derivation-name
Always sanitize derivation name
2022-04-05 20:05:33 +02:00
github-actions[bot]
3063a8ea39
Merge staging-next into staging 2022-04-05 12:10:46 +00:00
github-actions[bot]
27a4e52731
Merge master into staging-next 2022-04-05 12:05:41 +00:00
zowoq
e65aba25f8 dockerTools: misc fixes
- add nixosTests to `dockerTools.tests`
- don't use `pkgs` or `lib.singleton`
2022-04-05 17:04:59 +10:00
Martin Weinelt
bf1914e12a Merge remote-tracking branch 'origin/staging-next' into staging 2022-04-05 04:05:02 +02:00
zowoq
76636e0099 dockerTools: pkgs.system -> pkgs.stdenv.hostPlatform.system
`pkgs.system` is an alias
2022-04-05 10:19:40 +10:00
github-actions[bot]
120925b5cb
Merge master into staging-next 2022-04-05 00:02:06 +00:00
Robert Hensing
a292213c44
Merge pull request #166792 from hercules-ci/pkgs-config-allowAliases-option
config.allowAliases: Define as option
2022-04-04 21:09:44 +02:00
Martin Weinelt
f95a3d1140 Merge remote-tracking branch 'origin/staging-next' into staging 2022-04-04 00:46:25 +02:00
github-actions[bot]
c46200d454
Merge master into staging-next 2022-04-03 18:01:07 +00:00
Janne Heß
7cdc4dd5d1
Merge pull request #164943 from ElvishJerricco/systemd-initrd-reuse-systemd-module
initrd: Opt-in bare bones systemd-based initrd
2022-04-03 15:53:02 +02:00
Alyssa Ross
8ba23e138d
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
Conflicts:
	pkgs/development/libraries/zlib/default.nix
	pkgs/development/lua-modules/overrides.nix
2022-04-02 16:45:48 +00:00
github-actions[bot]
50497647fa
Merge master into staging-next 2022-04-01 12:01:21 +00:00
Robert Hensing
200175a701 config.allowAliases: Define as option
This simplifies usages and makes the default value consistent.

In a few cases, the default value was interpreted to be `false`,
but this is useless, because virtually nobody will explicitly
set `allowAliases = true;`.
2022-04-01 11:33:10 +02:00
Thiago Kenji Okada
bdfff535f0 buildGraalvmNativeImage: allow usage of arbitrary graalvm derivation
This will allow for easier overrides for specific systems (e.g.
`aarch64-linux` that is only supported in `graalvm17-ce`).
2022-03-31 22:35:44 +01:00
toonn
261b736521
desktopToDarwinBundle: Implement %F and %U Exec field codes
Similar to the implementation of the `%f` and `%u` field codes. In this
case the amount of arguments passed poses no problem but the position
could, at least in theory.

This finishes the implementation of all the non-deprecated field codes.
As a part of that, repetitions of field codes are left alone. Originally
all field codes were removed. Now we replace only the first occurence.
This is correct for at least `%f`, `%u`, `%F` and `%U` because at most
one of them is permitted.

Shortcomings:

  1. We replace `%[cfFikuU]` patterns one at a time. This means if the
     right field code appears as part of the rest of the `Exec` field or
     in a field code that was substituted earlier.

  2. If any field code is repeated, only the first occurence is
     substituted.
2022-03-31 15:27:39 +02:00
toonn
f31d945755
desktopToDarwinBundle: Implement %f and %u Exec field codes
`%f` and `%u` are used to signal the program only accepts a single file
or URI argument. I do not believe there's a way to signal this
information to macOS but it is possible the program really won't work if
multiple files are passed and it's possible the relative position of
`%i`, `%c` or `%k` matters. So we replace `%f` or `%u` with `$1`. That
way we only pass one file in the (possibly significant) position of the
field code.
2022-03-31 14:04:52 +02:00
toonn
196f989ae8
desktopToDarwinBundle: Implement %i Exec field code 2022-03-31 13:44:15 +02:00
toonn
4dc94e1489
desktopToDarwinBundle: Implement %c Exec field code 2022-03-31 13:00:11 +02:00
toonn
4a749a89c4
desktopToDarwinBundle: Implement %k Exec field code 2022-03-31 12:47:54 +02:00
toonn
30e8e0a9a3
desktopToDarwinBundle: Change empty directory test
`ls -1 "$iconsdir/"*` listed the source directory for me when the glob
had no matches. Switching to `-A` circumvents this problem and has the
added advantage that it cannot run into argument list length limits.
2022-03-31 12:47:54 +02:00
toonn
7ef15c96dc
desktopToDarwinBundle: Add X-macOS-Exec and log editing Exec
Co-authored-by: milahu <milahu@gmail.com>
2022-03-30 16:42:13 +02:00
toonn
b52a962141
desktopToDarwinBundle: Complete field code removal
Checked the desktop entry spec, there's other field codes than `%[fFuU]`
and those can in fact occur more than once, hence dropping '$' and
adding `/g`.
2022-03-30 16:42:13 +02:00
toonn
99f387e462
desktopToDarwinBundle: Fixup Exec
The "Exec" key in desktop items sometimes has one of the `%f`, `%F`,
`%u` and `%U` suffixes, which specify whether the command takes a file,
multiple files or a generalized URL or URLs. Darwin application bundles
do no understand this syntax so we do the next best thing, which is
simply dropping it.
2022-03-30 16:42:02 +02:00
Robert Hensing
c39eff52dc testEqualDerivation: Rely on mkDerivation to sanitize name 2022-03-30 10:29:19 +02:00
Robert Hensing
225ca9088a runCommand*: Rely on mkDerivation to sanitize name 2022-03-30 10:29:19 +02:00
Jan Tojnar
c8a5db3854 Merge branch 'staging-next' into staging
; Conflicts:
;	pkgs/tools/archivers/rar/default.nix
2022-03-28 17:56:38 +02:00
Jan Tojnar
997bb5e42c Merge branch 'master' into staging-next
; Conflicts:
;	pkgs/development/python-modules/dnspython/default.nix
;	pkgs/development/python-modules/googleapis-common-protos/default.nix
2022-03-28 17:55:31 +02:00
Vincent Laporte
15f220b07c ocamlPackages.buildDunePackage: add support for dune 3 2022-03-28 07:08:14 +02:00
Ben Siraphob
ed863440b8
Merge pull request #163924 from OPNA2608/fix/autoPatchelfHook_isLinux 2022-03-26 16:01:56 -05:00
github-actions[bot]
84962daf66
Merge staging-next into staging 2022-03-25 18:01:48 +00:00
github-actions[bot]
c6dd9fd65d
Merge master into staging-next 2022-03-25 18:01:14 +00:00
maralorn
0e0bb200ff
Merge pull request #165327 from ncfavier/fetchpatch-relative
fetchpatch: add `preIncludes` and `relative`
2022-03-25 16:32:14 +01:00
github-actions[bot]
8357b101a5
Merge staging-next into staging 2022-03-25 12:02:05 +00:00
Vladimír Čunát
0a8b4eddd2
Merge branch 'master' into staging-next 2022-03-25 10:16:56 +01:00
Ben Siraphob
3f1e23cf68
Merge pull request #165113 from toonn/darwin-bundle-fix-icon 2022-03-24 22:12:56 -05:00
José Romildo Malaquias
eff8a32c29
Merge pull request #163623 from ilya-fedin/fix-mate-utils-inkscape
nixos/wrap-gapps-hook: don't add data directories of icon dependencies into XDG_DATA_DIRS
2022-03-24 21:34:23 -03:00
Naïm Favier
bf7d13dc4f
fetchpatch: add relative
Allows restricting patches to a specific subdirectory, à la
`git diff --relative=subdir`.

This cannot be done (cleanly) currently because the `includes` logic
happens *after* `stripLen` is applied, so we can't match on `subdir/*`.

This change adds a `relative` argument that makes this possible by
filtering files before doing any processing, and setting `stripLen` and
`extraPrefix` accordingly.
2022-03-25 01:00:36 +01:00
Jonathan Ringer
44afbd4432 buildFHSUserEnvBubblewrap: append graphics share to XDG_DATA_DIR 2022-03-24 12:53:39 -07:00
Jonathan Ringer
1af1228c47 buildFHSUserEnv: append graphics share to XDG_DATA_DIR 2022-03-24 12:53:39 -07:00
Florian Klink
76d05dfa62 fakeNss: move to toplevel
Make this reachable from pkgs.fakeNss. This is useful outside docker
contexts, too.

https://github.com/NixOS/nixpkgs/pull/164943#discussion_r833220769
2022-03-24 18:47:30 +01:00
Doron Behar
4a02c56a7d
Merge pull request #164746 from ncfavier/makeWrapper-chdir 2022-03-24 13:51:27 +02:00
Vladimír Čunát
a7ccddeb54
Revert "Merge #160259: separateDebugInfo: Use --strip-unneeded"
This reverts commit 848091a52b, reversing
changes made to ab0e692ac7.

It caused issues with elfutils tests,
probably through over-stripping of glibc parts.
2022-03-23 21:43:15 +01:00
Vladimír Čunát
848091a52b
Merge #160259: separateDebugInfo: Use --strip-unneeded
...into staging
2022-03-23 08:32:39 +01:00
OPNA2608
48034046bf autoPatchelfHook: Make Linux-exclusive
After being rewritten in https://github.com/NixOS/nixpkgs/pull/149731, this hook
can fail on Mach-O binaries. Since patching ELF files on Darwin doesn't make
much sense anyway, we'll mark this as Linux-exclusive.
2022-03-22 19:55:46 +01:00
github-actions[bot]
9d35f2cd19
Merge staging-next into staging 2022-03-22 18:10:54 +00:00
Artturi
6396adbdfa
Merge pull request #164420 from corngood/build-fhs-fix 2022-03-22 19:57:02 +02:00
github-actions[bot]
e452d308f5
Merge staging-next into staging 2022-03-22 12:02:02 +00:00
Will Fancher
d193ef8a57 make-initrd-ng: init 2022-03-22 07:02:22 -04:00
Alyssa Ross
da450f6b1d treewide: clean up obsolete version checks
These checks are all redundant with the check for Nix ≥2.2 in
default.nix.
2022-03-22 10:54:11 +00:00
toonn
783eaf9980
make-darwin-bundle: Prefer long lines to splitting 2022-03-21 14:22:06 +01:00
toonn
4c14b9a778
make-darwin-bundle: Escape outputBin for Nix '' string 2022-03-21 14:22:06 +01:00
toonn
6aa5c53748
desktopToDarwinBundle: Fall back to scaling available
Sometimes scalable icons or icons within the thresholds from the desired
resolutions aren't available. In this case it's still nicer to end up
with a blocky scaled icon rather than the generic default.
2022-03-21 14:20:03 +01:00
toonn
08a2b83c96
desktopToDarwinBundle: Include TOC in generated ICNS file
In order to compose a `.icns` file containing multiple icon sizes I had
to pass `--toc` to `icnsutil`. This did not seem to have a negative
effect on `.icns` containing only a single icon size.
2022-03-21 14:20:03 +01:00
toonn
c3d974e441
desktopToDarwinBundle: Simplify double negation 2022-03-21 14:20:03 +01:00
toonn
21fe5d3b8b
desktopToDarwinBundle: Drop 48x48 size
On macOS 10.13 the 48x48 icon size is not supported. It results in a
corrupted image being displayed. I suspect the image data is being
truncated to what it expects for 32x32 or maybe data is read for
128x128, which would be a buffer overflow.
2022-03-21 14:20:03 +01:00
toonn
7a40437bdd
write-darwin-bundle: Invert squircle logic
Older macOS cannot interpret the `CFBundleIconFiles` key so we cannot
rewrite the `CFBundleIconFile` entry without special consideration. I
opted to fix this by inverting the squircle logic. We always add both
the `CFBundleIconFile` and `CFBundleIconFiles` keys. The former is
necessary for at least macOS 10.13 and probably 10.12. The latter seems
to be ignored on those versions and overrides the former on newer
versions of macOS.

Inverting the logic also allows us to rely on the `toPlist` generator to
generate the XML syntax, which is a nice bonus.
2022-03-21 14:20:03 +01:00
toonn
a8d7ac1b11
make-darwin-bundle: Use actual bin output
The script and the hook assume `/bin` is in `$out` but that's not always
true for a multi-output derivation.
2022-03-21 13:48:20 +01:00
David McFarland
d5bf6bac5c buildFHSUserEnv{Chroot,Bubblewrap}: fix handling of glib schema
An error would occur if share/glib-2.0/schema was a symlink.
2022-03-20 20:38:53 -03:00
Ilya Fedin
0f488afad2 build-fhs-userenv-bubblewrap: symlink share directory when there's no need to merge
There's no need to copy files if the directory won't be merged with multilib one leading to unnecessary increase of closure size
2022-03-19 10:09:55 +04:00
Naïm Favier
10479e4f51
makeWrapper: add --chdir
For symmetry with `makeBinaryWrapper`.
2022-03-18 18:55:58 +01:00
github-actions[bot]
abc8ee49e5
Merge staging-next into staging 2022-03-17 06:01:51 +00:00
sohalt
3619ffaeb6 rust: fix importCargoLock for repositories without toplevel Cargo.toml
Some crates do not have a Cargo.toml at the top-level, but only in
nested directories. Before this change importCargoLock used to fail with:

error: manifest path `/nix/store/some-store-path/Cargo.toml` does not exist
2022-03-17 00:15:56 -04:00
zowoq
6431086967 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/python-modules/symengine/default.nix
2022-03-16 16:03:43 +10:00
Martin Weinelt
8d18f29b60
Merge pull request #161366 from NixOS/staging-next
Staging next 2022-02-22
2022-03-15 22:31:01 +01:00
Robert Hensing
80672b6b87 fetchpatch: Fix typos 2022-03-15 19:11:10 +01:00
Vladimír Čunát
f48c1fda6b
Merge branch 'master' into staging-next
Conflict in pkgs/development/libraries/libvirt/default.nix
required manual adjustments.  The fetched patch is already in src.
I checked that libvirt builds.
2022-03-15 09:52:04 +01:00
Artturi
d41730c72d
Merge pull request #164133 from IvarWithoutBones/fix/nuget-to-nix
nuget-to-nix: add missing comma
2022-03-15 03:46:39 +02:00
Artturi
b54e7571e2
Merge pull request #161739 from Artturin/gsettingsfhsenv 2022-03-15 00:03:56 +02:00
Ivar Scholten
a42c074db0 nuget-to-nix: add missing comma
This fixes a regression introduced in bbcb7d3d34
2022-03-14 18:59:53 +01:00
Alyssa Ross
d7e181ff83
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
Conflicts:
	pkgs/development/compilers/ocaml/4.12.nix
	pkgs/development/python-modules/oci/default.nix
	pkgs/tools/admin/bubblewrap/default.nix
2022-03-14 12:33:16 +00:00
github-actions[bot]
0ed928e4ab
Merge master into staging-next 2022-03-14 12:01:26 +00:00
Anderson Torres
8590804259
Merge pull request #164046 from AndersonTorres/metalab-mirrors
Change metalab mirrors to ibiblioPubLinux ones
2022-03-14 08:26:42 -03:00
AndersonTorres
b988e9a1f9 pkgs/build-support/fetchurl/mirrors.nix: remove metalab 2022-03-13 21:20:49 -03:00
github-actions[bot]
ea64a128d1
Merge master into staging-next 2022-03-14 00:02:12 +00:00