Commit Graph

4304 Commits

Author SHA1 Message Date
Daniël de Kok
a8efb2053f buildRustPackage: factor out build phase to cargoBuildHook
- API change: remove the `target` argument of `buildRustPackage`, the
  target should always be in sync with the C/C++ compiler that is used.

- Gathering of binaries has moved from `buildPhase` to `installPhase`,
  this simplifies the hook and orders this functionality logically
  with the installation logic.
2021-02-11 20:00:12 +01:00
Daniël de Kok
d083f412fa buildRustPackage: factor out setting up .cargo/config to cargoSetupHook
This makes it possible to reuse this functionality as a hook in
derivations that do not use buildRustPackage.
2021-02-10 07:01:24 +01:00
Andrew Childs
ca156a66b7 stdenv/patchShebangs: fix off by one reading old interpreter
This caused shebangs that were already store paths to be rewritten.

Introduced by ab4c359822 in #94642

Example difference:

    $ echo "hello world" | tail -c+3
    llo world

    $ str="hello world"; echo ${str:3}
    lo world
2021-02-09 13:05:38 +09:00
Andrew Childs
2bd3aa4bc2 Revert "Revert "stdenv/patchShebangs: avoid temporary time reference file""
This reverts commit df21fb8afa.
2021-02-09 12:57:21 +09:00
github-actions[bot]
5704fd1095
Merge master into staging-next 2021-02-09 00:36:17 +00:00
Martin Weinelt
df21fb8afa Revert "stdenv/patchShebangs: avoid temporary time reference file"
This reverts commit 6e3f4c9079.

This apparently breaks the x86_64 darwin stdenv. Details in #112417.
2021-02-09 01:33:33 +01:00
Matthew Bauer
91fe7257d3
Merge pull request #112421 from sternenseemann/fetchcvs-fix-missing-env
fetchcvs: fix ssh wrapper failing due to missing /usr/bin/env
2021-02-08 16:05:22 -06:00
sternenseemann
d026bfba04 fetchcvs: fix ssh wrapper failing due to missing /usr/bin/env
/usr/bin/env seems to be no longer be present in the sandbox. This means
that fetchcvs would fail with a “not found error” whenever CVS_RSH was
necessary.

We fix this by simply setting the current $SHELL as shebang.
Alternatively also setting it to /bin/sh statically would be possible.
2021-02-08 19:18:17 +01:00
github-actions[bot]
bef005163c
Merge master into staging-next 2021-02-08 12:19:33 +00:00
Robert Schütz
9a200f6091
Merge pull request #111330 from dotlambda/libav-insecure
libav: mark as insecure
2021-02-08 12:18:05 +01:00
github-actions[bot]
2226996f6c
Merge master into staging-next 2021-02-07 18:16:08 +00:00
Ashlynn Anderson
56dc6a7f08
releaseTools.debBuild: remove double lib in args
Seems to have been added during some sweeping changes, but breaks calling `releaseTools.debBuild`
2021-02-07 11:00:42 -05:00
Ashish SHUKLA
1c39662e63
stdenv: Improve/fix FreeBSD support
Able to bootstrap stdenv on FreeBSD by compiling various dependencies
using built-in FreeBSD tools so mostly works now

Closes: https://github.com/NixOS/nixpkgs/pull/81459
2021-02-07 15:24:16 +00:00
github-actions[bot]
fadee272e0
Merge staging-next into staging 2021-02-06 00:35:48 +00:00
Jan Malakhovski
2b94e5d934 fetchzip: simplify postFetch as per suggestions
of @veprbl, @adisbladis, and @MetaDark
2021-02-05 13:08:57 +00:00
Jörg Thalheim
2dcc858efc
Merge pull request #94642 from Mic92/patch-shebangs 2021-02-04 21:20:40 +00:00
Jan Malakhovski
dcb6103bf2 fetchzip: fix extraPostFetch concatenation
4a5c49363a added some more commands after
`extraPostFetch` but concatenated them without a separating newline.

Which means, that since that commit

  fetchzip { ..., extraPostFetch = ''rm -f "$out"/some-file''; }

now actually runs the following shell command

  rm -f "$out"/some-file"chmod -R a-w "$out"

thus deleting "$out". Which is very unfortunate.

Especially since this actually happens on master for all `fetchFromBitbucket`
derivations. But since the results are fixed-output users bulding with hydra
cache enabled are not hitting this for not recently updated derivations yet.
2021-02-04 14:48:47 +00:00
Anderson Torres
8bf1bc692c
Merge pull request #110512 from neosimsim/agda-dont-install-Everything
Agda don't install Everything module
2021-02-03 15:56:34 -03:00
Anderson Torres
a27a2c4b15
Merge pull request #110501 from neosimsim/agda-ghc-ieee754
agda.withPackages: use GHC with ieee754 as default
2021-02-03 15:55:37 -03:00
Kevin Cox
ab5a9d5746
Merge pull request #110825 from andresilva/appimage-fixes
build-fhs-userenv: fixes for mount points
2021-02-03 09:56:14 -05:00
Robert Schütz
d2144f1406 appimageTools: don't depend on libav
It's not in https://github.com/AppImage/pkg2appimage/blob/master/excludelist
2021-02-02 17:26:35 +01:00
Ben Siraphob
a6ac3eedbd treewide: xdg_utils -> xdg-utils 2021-02-01 15:05:09 +07:00
taku0
5efbf24b67
Merge pull request #106481 from tadfisher/patch-3
fetchFirefoxAddon: fix typo
2021-01-30 22:31:24 +09:00
Ben Siraphob
82454e9df8 treewide: remove implicit use of stdenv.lib 2021-01-27 20:04:57 +07:00
Sandro
2ee93d61ad
Merge pull request #110913 from siraben/other-stdenv-lib 2021-01-27 10:13:05 +01:00
Ben Siraphob
36c91cea1d treewide: stdenv.lib -> lib 2021-01-27 13:08:40 +07:00
Ben Siraphob
02ee14b9d5 treewide: stdenvNoCC.lib -> lib 2021-01-27 13:01:51 +07:00
Daniël de Kok
f46bfb972d emacs.pkgs.trivialBuild: add missing stdenv argument
Fix fallout of #110687 (generic.nix requires stdenv).
2021-01-26 16:15:03 +01:00
Vladimír Čunát
a648a07c19
Merge #104742: linux bootstrap tools: fix tests on ppc64 2021-01-26 08:09:59 +01:00
André Silva
34fae590bf
build-fhs-userenv-bubblewrap: don't bind /etc/fonts from fhs environment 2021-01-26 00:53:59 +00:00
André Silva
fe49d856b0
build-fhs-userenv: bind /etc/profiles 2021-01-26 00:41:50 +00:00
André Silva
65de42b9cc
build-fhs-userenv-bubblewrap: remove unused variable 2021-01-26 00:41:01 +00:00
Guillaume Girol
7f355dcc4e
Merge pull request #108427 from symphorien/chdir-appimage
appimage-run: fix #108426
2021-01-25 18:18:42 +00:00
Pavol Rusnak
a6ce00c50c
treewide: remove stdenv where not needed 2021-01-25 18:31:47 +01:00
Ben Siraphob
aa8868c7cc pkgs/build-support: stdenv.lib -> lib 2021-01-24 19:07:54 -08:00
John Ericson
0710308402 clang, cc-wrapper: Move --gcc-toolchain logic into CC wrapper
Take 2, after #94582 had to be reverted.

This reverts commit ac03cfa3c5.
2021-01-24 15:49:32 -05:00
Alexander Ben Nasrallah
226299e1a2
agdaPackages.mkDerivation: don't install Everything module
The Everthing module is not part of a library and should therefore
not be copied to the nix store.

This is particularly bad, if the Everything module is defined in
an agda library included directory, e.g. consider an agda-lib with

    include: .

and Everything.agda in the project root (.), in which case the
Everything module would become part of the library.
If multiple such projects are in the dependency tree, the Everything
module becomes ambiguous and the build would fail.
2021-01-24 17:30:01 +01:00
volth
bc0d605cf1 treewide: fix double quoted strings in meta.description
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24 19:56:59 +07:00
Pavol Rusnak
90f7338112
treewide: stdenv.lib -> lib 2021-01-24 01:49:49 +01:00
John Ericson
9c213398b3 lib: Clean up how linux and gcc config is specified
Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that
commit for details.

This reverts commit 0bc275e634.
2021-01-23 10:01:28 -05:00
Jonathan Ringer
0bc275e634
Revert "lib: Clean up how linux and gcc config is specified"
This is a stdenv-rebuild, and should not be merged
into master

This reverts commit 8929989614.
2021-01-22 14:07:06 -08:00
Alexander Ben Nasrallah
b4b4e36921
agda.withPackages: use GHC with ieee754 as default
As mentioned in the package description of ieee on Hackage,
ieee is deprecated in favor of ieee754.
2021-01-22 16:13:46 +01:00
John Ericson
8929989614 lib: Clean up how linux and gcc config is specified
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.

This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.

`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.

The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
2021-01-21 22:44:09 -05:00
Steven Pease
b766673c6f Move disabling of gccForLibs for iOS to build-support cc-wrapper 2021-01-20 10:14:46 -08:00
zowoq
31f5dd3f36 treewide: editorconfig fixes
- remove trailing whitespace
- use spaces for indentation
2021-01-20 09:11:11 +10:00
adisbladis
6dfd1a2772
Merge pull request #108741 from lukegb/envoy
envoy: init at 1.16.2
2021-01-19 16:40:42 +01:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Jan Tojnar
c0d2951fa6
Merge branch 'master' into staging-next 2021-01-15 17:46:46 +01:00
Robert Hensing
9797139cbb dockerTools: typo
Italian.
2021-01-15 14:23:51 +01:00
github-actions[bot]
83c50873f5
Merge master into staging-next 2021-01-15 06:40:38 +00:00
Milan
0d724ba2fc
dockerTools: fix build (#109420) 2021-01-15 03:56:38 +01:00
Jörg Thalheim
6e3f4c9079
stdenv/patchShebangs: avoid temporary time reference file
less commands -> faster
2021-01-14 20:00:58 +01:00
Jörg Thalheim
cb1654ff92
stdenv/patchShebangs: consistent conditional tests
according to shellcheck [[ foo == "bla" ]] && [[ ... ]] has better posix
semantics over [ foo = "bla" -a ... ]. It is also easier to read.
2021-01-14 20:00:57 +01:00
Jörg Thalheim
ab4c359822
stdenv/patchShebangs: use builtins where possible
builtins for small input sizes should be faster due to less forking.
2021-01-14 20:00:54 +01:00
Jan Tojnar
b813710c04
Merge branch 'master' into staging-next 2021-01-14 02:24:17 +01:00
Luke Granger-Brown
c7102b26ce buildBazelPackage: only rewrite relevant symlinks 2021-01-13 21:34:09 +00:00
adisbladis
4003f8cbc7
treewide: emacsPackages -> emacs.pkgs & emacsWithPackages -> emacs.pkgs.withPackages
The previous names are now aliases and shouldn't be used anywhere inside nixpkgs.
2021-01-13 17:13:10 +01:00
github-actions[bot]
f47a1ddfe4
Merge master into staging-next 2021-01-12 18:47:24 +00:00
Lassulus
ec4a1661b2
Merge pull request #109050 from xaverdh/rust-writer
writers: add writeRust and deduplicate binary stripping
2021-01-12 17:33:50 +01:00
Jörg Thalheim
ba0910069d
Merge pull request #109030 from xaverdh/modules-closure-ignore-missing-firmware
nixos/modules-closure.sh: don't fail if firmware is missing
2021-01-12 14:30:41 +00:00
Dominik Xaver Hörl
14205a6429 writers: add test for rust 2021-01-12 11:03:08 +01:00
Dominik Xaver Hörl
c6ff4f7143 writers: add rust 2021-01-12 09:20:31 +01:00
Dominik Xaver Hörl
e4dae65515 writers: deduplicate binary stripping logic 2021-01-11 22:13:51 +01:00
github-actions[bot]
757ad34b82
Merge master into staging-next 2021-01-11 18:42:29 +00:00
Jonathan Ringer
741285611f fetchgit: add lfs support 2021-01-11 09:41:06 -08:00
Dominik Xaver Hörl
49130f93b7 nixos/modules-closure.sh: don't fail if firmware is missing
Since fdf32154fc, we no longer allow
missing modules in the initrd. Unfortunately since before this commit,
the modules-closure script would also fail on missing firmware, which
is a very common case (e.g. xhci-pci.ko.xz lists renesas_usb_fw.mem as
dependent firmware). Fix this by only issuing a warning instead.
2021-01-11 17:26:33 +01:00
Jan Tojnar
2b9372b2ca
Merge branch 'master' into staging-next 2021-01-11 13:36:42 +01:00
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Frederik Rietdijk
49f21e06d9 Merge staging-next into staging 2021-01-10 15:51:40 +01:00
Frederik Rietdijk
0c42bb5027 Merge master into staging-next 2021-01-10 15:50:49 +01:00
Jörg Thalheim
82115f0c4b
Merge pull request #107958 from ztzg/x-16304-ubuntu-determinism
vmTools.debClosureGenerator: Fix non-determinism in dependency graph
2021-01-10 12:37:15 +00:00
Frederik Rietdijk
379ca4ddcf Merge staging-next into staging 2021-01-09 13:29:53 +01:00
Michael Weiss
8ae8602bf7
Merge branch 'master' into staging-next
Manually resolved a conflict in
pkgs/development/libraries/libbladeRF/default.nix.
2021-01-09 12:16:11 +01:00
Cyril Cohen
9ffd16b385 coqPackages: refactor 2021-01-09 11:56:17 +01:00
github-actions[bot]
5846dbc4c2
Merge staging-next into staging 2021-01-08 18:38:00 +00:00
github-actions[bot]
f89e74dbcc
Merge master into staging-next 2021-01-08 18:37:56 +00:00
Justin Humm
9038cc62fd
defaultCrateOverrides: override crates necessary for building sequoia
See https://git.sr.ht/~erictapen/sequoia for a flake using these
overrides.
2021-01-08 17:27:43 +01:00
Justin Humm
9df8a98fac
defaultCrateOverrides: pkgconfig -> pkg-config 2021-01-08 17:26:05 +01:00
Daniël de Kok
464633d5f7
Merge pull request #108581 from roberth/dockerTools-don't-apologize
dockerTools: Don't apologize
2021-01-08 13:58:46 +01:00
github-actions[bot]
18280919d6
Merge staging-next into staging 2021-01-08 06:29:07 +00:00
github-actions[bot]
67bbf2c845
Merge master into staging-next 2021-01-08 06:28:59 +00:00
Alyssa Ross
0f06d94a20 emacs: fix accidental double wrapper (Darwin)
This was already fixed on non-Darwin, but the fix missed that it was
also reintroduced for the Darwin code path at the same time.

Fixes: dd5d2482c9 ("emacs: Fix accidental double wrapping")
2021-01-08 05:45:15 +00:00
Jan Tojnar
0ea0dacc20
Merge branch 'staging-next' into staging 2021-01-07 13:06:41 +01:00
Jan Tojnar
f19eb635b4
Merge branch 'master' into staging-next
b04fc593e7 seems to have accidentally changed mkDerivation function for dfilemanager and solarus-quest-editor so I have reverted that here.
2021-01-07 13:04:31 +01:00
Sandro
7ff9b3699d
Merge pull request #108081 from SuperSandro2000/silence-file-format-not-recognized
setup-hooks/strip: silence 'File format not recognized' errors again
2021-01-07 00:49:44 +01:00
Robert Hensing
a31607f904 dockerTools: Don't apologize
Warning about future breaking changes is wrong.

 - It suggests that the maintainers don't value backwards compatibility.
   They do.
 - It implies that other parts of Nixpkgs won't ever break. They will.
 - It implies that a well-defined "public" interface exists. It doesn't.
 - If the reasons above didn't apply, it should have been in the manual
   instead.

Breaking changes will come, especially to the interface. That can be the
only way we can make progress without breaking the image _contents_.

I don't think dockerTools is any different from most of Nixpkgs in
these regards.
2021-01-06 13:02:19 +01:00
Guillaume Girol
f54f718871 appimage-run: don't chdir to the appimage
this allows to pass relative paths to appimages as argument

fixes #108426
2021-01-05 20:26:24 +01:00
Robert Hensing
5540dd9b9b
Merge pull request #108416 from srhb/streamlayeredimage-symlinked-storepaths
dockerTools: Fix streamLayeredImage for symlinks
2021-01-05 10:00:28 +01:00
Sarah Brofeldt
ffe5ff6009 dockerTools: Test buildLayeredImage with symlinks
This exercises layer creation in face of store path symlinks, ensuring
they are not dereferenced, which can lead to broken layer tarballs
2021-01-04 21:44:47 +01:00
Sarah Brofeldt
08b0d02944 dockerTools: Fix streamLayeredImage for symlinks
When archiving `/nix/store/foo` and `foo` is itself a symlink, we must
not traverse the symlink target, but archive the `foo` symlink itself
2021-01-04 19:47:34 +01:00
github-actions[bot]
07165c7226
Merge staging-next into staging 2021-01-03 18:38:32 +00:00
Kevin Cox
bfa497bc2b
Merge pull request #107715 from NixOS/revert-106172-nix-gitignore-perf
Reverts https://github.com/NixOS/nixpkgs/pull/106172 ef3ed45c12

This change causes issues with negative patterns. Reverting now until those can be resolved.
2021-01-03 08:01:02 -05:00
Andreas Rammhold
c2884c4011
Merge pull request #106954 from r-burns/randomseed
[staging] stdenv: trim random seed to avoid reference cycles
2021-01-02 11:01:34 +01:00
Sandro Jäckel
03ba885fa2
setup-hooks/strip: silence 'File format not recognized' errors again
This got lost in e4d17dc558.
2021-01-02 10:46:27 +01:00
kvtb
73853d0bfa
build-bazel-package: fix string escaping
\@ has no effect in single quoted strings
2020-12-31 23:51:49 +00:00
Frederik Rietdijk
f3b4ae8402 Merge staging-next into staging 2020-12-31 13:29:55 +01:00
Daniël de Kok
67a10c88bb buildRustPackage: add cargoHash for SRI hashes of vendored deps
`buildRustPackage` currently accepts `cargoSha256` as a hash for
vendored dependencies. This change adds `cargoHash` which accepts SRI
hashes, setting `outputHashAlgo` to `null`.

The hash mismatch message still uses `cargoSha256` as an example,
which it probably should until we completely switch to SRI hashes.
2020-12-31 11:18:11 +01:00
github-actions[bot]
8eb607335b
Merge staging-next into staging 2020-12-30 12:24:51 +00:00
Damien Diederen
3363377530 vmTools.debClosureGenerator: Fix non-determinism in dependency graph
By default, Perl versions since 5.8.1 use randomization to make hashes
resistant to complexity attacks.

That randomization makes building VM images such as ubuntu1804x86_64
non-deterministic because the (imported) derivations built by
deb/deb-closure.pl are not stable.

This can easily be observed by repeating the following sequence of
commands and noting the path of the image's .drv:

    nix-instantiate -E '(import <nixpkgs> {}).vmTools.diskImageFuns.ubuntu1804x86_64 {}'
    nix-store --delete /nix/store/*ubuntu-18.04-bionic-amd64.nix

One source of non-determinism is the handling of Provides/Replaces,
which depends on the order of iteration over %packages.  Here is a
diff showing the corresponding change in output:

     >>> awk
    -virtual awk: using original-awk
    -    original-awk: libc6 (>= 2.14)
    +virtual awk: using mawk
    +    mawk: libc6 (>= 2.14)

    -    mawk: libc6 (>= 2.14)
    ->>> libc6

This patch sorts packages by name for Provides/Replaces processing,
which seems to result in stable output.

(If the above turns out not to be sufficient, one could also set the
PERL_HASH_SEED and PERL_PERTURB_KEYS environment variables, documented
in 'perlrun', to disable Perl's built-in randomization.  Complexity
attacks are not an issue as we control and trust all inputs.)
2020-12-30 11:37:37 +01:00
Jörg Thalheim
66c16e12fa
buildFhsUserenv: don't downgrade root user 2020-12-27 17:19:49 +01:00