Commit graph

4458 commits

Author SHA1 Message Date
Andrew Childs fc0456bed1 cc-wrapper: set -arch on darwin 2021-03-02 17:21:08 +09:00
Elis Hirwing a081dcf86d
php: Add php package versions to extensions/packages pnames 2021-02-27 21:57:02 +01:00
Maciej Krüger e41249e466
buildFHSUserEnv: symlink /etc/nix
this fixes experimental-features option not being available in fhs
and breaking the flakes feature
2021-02-26 20:13:28 +01:00
Daniël de Kok c50a347cb5 buildRustPackage: use checkType argument
The `checkType` argument of buildRustPackage was not used anymore
since the refactoring of `buildRustPackage` into hooks. This was
an oversight that is fixed by this change.

The check type can also be passed directly to cargoCheckHook using the
`cargoCheckType` environment variable.
2021-02-26 11:57:27 +01:00
Robert Schütz 54757b35c1 Merge branch 'staging-next' into staging 2021-02-26 10:56:17 +01:00
Frederik Rietdijk c456a2512f Merge master into staging-next 2021-02-26 10:25:13 +01:00
Moritz Angermann 60c5cf9cea
Update pkgs/build-support/cc-wrapper/cc-wrapper.sh
Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
2021-02-26 10:07:27 +08:00
midchildan 7208e57cf6
emacsWithPackages: prevent the UI showing prematurely during startup
This change makes the wrapper script avoid displaying echo area messages
during startup. This helps prevent split second UI glitches early in the
startup process. The messages itself will still be logged and therefore
will not hamper inspection for debugging purposes.
2021-02-25 22:30:40 +09:00
Bernardo Meurer cdcaafc3fe
Merge pull request #114024 from LuigiPiucco/pressure-vessel
steam: fix proton versions with pressure-vessel
2021-02-23 19:20:12 +00:00
Graham Christensen 3ef281c3a2
Merge pull request #113176 from danieldk/cargoDepsName
buildRustPackage: add cargoDepsName attribute
2021-02-23 10:02:45 -05:00
Luigi Sartor Piucco 548d50d695 build-fhs-userenv-bubblewrap:->writeShellScriptBin 2021-02-23 11:47:40 -03:00
Luigi Sartor Piucco 12c2eae2c5 build-fhs-userenv-bubblewrap: add folders comment 2021-02-23 11:44:16 -03:00
André Silva 770cd71936
build-fhs-userenv: fix ssl certificates mount point 2021-02-22 19:54:04 +00:00
Luigi Sartor Piucco baaec29531 fhs-bubblewrap: mount cache on 32 bit glibc too 2021-02-22 14:35:45 -03:00
Luigi Sartor Piucco bdd9027760 fhs-bubblewrap: merge /usr/share from both archs 2021-02-22 14:35:45 -03:00
Benedikt Morbach d5cbb650e1 fhs-userenv-bubblewrap: add ld.so.conf/cache to fhs 2021-02-22 14:35:44 -03:00
Benedikt Morbach df4761d450 fhs-userenv-bubblewrap: Preserve symlinks
Preserve top-level symlinks such as /lib -> /usr/lib.

This allows nested containers such as Steam's new runtime to remount
/usr if they need to and then run unmodified binaries that reference
e.g. /lib/ld-linux-x86-64.so.2

Before, we would mount the fully resolved host directory at /lib and
thus the dynamic loader would always be the one from the host filesystem.
2021-02-22 14:35:44 -03:00
github-actions[bot] 1aed95568f
Merge staging-next into staging 2021-02-21 18:17:25 +00:00
github-actions[bot] 93b17c1b4d
Merge master into staging-next 2021-02-21 18:17:22 +00:00
Léo Gaspard 037936b7a3
Merge pull request #107322 from sternenseemann/fetch-github-leavedotgit
fetchFromGitHub: also use git if deepClone or leaveDotGit is used
2021-02-21 13:28:00 +01:00
Ben Siraphob 127733211e
treewide: unzip buildInputs to nativeBuildInputs (#112302) 2021-02-20 16:01:53 -05:00
github-actions[bot] 5884dca2b9
Merge master into staging-next 2021-02-20 12:19:39 +00:00
Ivan Babrou c62662c962 garble: fix aarch64 build 2021-02-20 21:13:46 +10:00
taku0 a964d7094a
Merge pull request #104714 from codedownio/tree-hashes
fetchgit: support passing tree hashes as "rev"
2021-02-20 15:22:57 +09:00
github-actions[bot] daab056dd9
Merge staging-next into staging 2021-02-19 18:16:58 +00:00
Jan Tojnar 8f50f1ce10
Merge branch 'staging-next' into staging
Resolved the following conflicts:

- kernel flags between 09176d28a0 and 2b28822d8d
- clojure-lsp between 3fa00685ce and e03c068af5
2021-02-19 17:15:31 +01:00
Mauricio Collares ca4db1bc79
emacs: add currently compiling package dirs to load-path
Co-authored-by: Tad Fisher <tadfisher@gmail.com>
2021-02-19 16:46:31 +01:00
Sandro 08f5631891
Merge pull request #112631 from DavHau/garble-init 2021-02-19 14:39:31 +01:00
Ben Siraphob e03c068af5 treewide: makeWrapper buildInputs to nativeBuildInputs 2021-02-19 20:09:16 +07:00
DavHau 599132aff2 garble: init at 2020-01-07 2021-02-19 15:02:15 +07:00
zowoq 3dab057264 Merge staging-next into staging 2021-02-19 10:47:46 +10:00
Florian Klink 031ce52991
Merge pull request #112891 from flokli/systemd-drop-systemd-mutable
systemd: stop reading from /etc/systemd-mutable
2021-02-18 12:09:34 +01:00
Michael Weiss eecade6b3e
Merge pull request #113313 from primeos/nix-prefetch-git-avoid-initial-branch-warnings
nix-prefetch-git: Run git-init with --initial-branch=master
2021-02-18 11:53:11 +01:00
Michael Weiss 2aadb9a53d
nix-prefetch-git: Run git-init with --initial-branch=master
The reason for this change is simply to avoid the following messages
that are unnecessary and can be confusing (and these messages will be
repeated for each submodule):
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint:   git branch -m <name>

With this change the behaviour remains unchanged (apart from the
suppressed "warning" in the console output of course) and therefore this
doesn't cause any hashes to change and by default nix-prefetch-git uses
the "fetchgit" branch anyway (branchName can be set to override the
default):
Switched to a new branch 'fetchgit'

For that reason the initial branch name doesn't matter anyway and since
we're not relying on / hardcoding "master" we could simply switch to
"main" (which seems most common nowadays). See [0] for more details on
why this wouldn't break anything.
However, since the initial branch name doesn't matter and to avoid any
additional risks it was "decided" to keep using "master" (s. #113313).

[0]: https://github.com/NixOS/nixpkgs/pull/113313#issuecomment-780589516
2021-02-18 11:34:34 +01:00
adisbladis d5f32c5b53
Merge pull request #113572 from johanot/dockertools-deterministic-customisation-layer
dockertools: sort tar-members by name for reproducibility
2021-02-18 11:13:32 +01:00
Johan Thomsen 793e77d4e2 dockertools: sort tar-members by name for reproducibility 2021-02-18 09:51:41 +01:00
Guillaume Girol 009d4570d8
Merge pull request #112939 from symphorien/musl32cross
pkgsCross.musl32: fix a few basic package
2021-02-18 06:44:49 +00:00
Daniël de Kok 1df80d2bad diesel-cli: use comma-separated features, use buildAndTestSubdir 2021-02-16 08:09:17 +01:00
Daniël de Kok 087ab3db9c buildRustPackage: handle cargoBuildFlags in cargoBuildHook 2021-02-16 08:09:17 +01:00
Daniël de Kok 05e40e79a8 buildRustPackage: factor out check phase to cargoCheckHook
API change:

`cargoParallelTestThreads` suggests that this attribute sets the
number of threads used during tests, while it is actually a boolean
option (use 1 thread or NIX_BUILD_CORES threads). In the hook, this
is replaced by a more canonical name `dontUseCargoParallelTests`.
2021-02-16 08:09:15 +01:00
Daniël de Kok 9757c7101a buildRustPackage: factor out install phase to cargoInstallHook 2021-02-15 12:17:18 +01:00
Daniël de Kok d92396039d buildRustPackage: add cargoDepsName attribute
The directory in the tarball of vendored dependencies contains `name`,
which is by default set to `${pname}-${version}`. This adds an
additional attribute to permit setting the name to something of the
user's choosing.

Since `cargoSha256`/`cargoHash` depend on the name of the directory of
vendored dependencies, `cargoDepsName` can be used to e.g. make the
hash invariant to the package version by setting `cargoDepsName =
pname`.
2021-02-15 07:06:31 +01:00
Tom McLaughlin 6779902b32 fetchgit: support passing tree hashes as "rev" 2021-02-13 22:12:08 -08:00
Walter Franzini eabb56ac6c identify musl32 using x86_32 instead of i686 2021-02-12 21:11:16 +01:00
Florian Klink 2417421615 setupSystemdUnits: use /nix/var/nix/profiles/default/lib/systemd/system as fallback
The previous commit stopped systemd from looking for system units in
/etc/systemd-mutable/system, which was a Dysnomia-specific path.

While this script doesn't seem to be used anywhere inside nixpkgs (also
not in the gone-since #110799 Dysnomia), its fallback mode (when
/etc/systemd/system is read-only) did write units to that
Dysnomia-specific path, which systemd now doesn't look at anymore.

It might be up for another debate on whether systems with read-only
/etc/systemd/system should probably just use /run/systemd/system, and
not some NixOS-specific paths, as such conditions can happen on other
distros too, but let's pick the other NixOS-specific path
/nix/var/nix/profiles/default/lib/systemd/system for now, which is
probably better than a path that surely is never looked at.
2021-02-12 12:53:20 +01:00
Walter Franzini 87e35291a5 disable stackprotector on target platform musl32 2021-02-12 11:06:29 +01:00
Daniël de Kok 160cf87086 rustPlatform.maturinBuildHook: init
This build hook can be used to build Python packages using maturin.
2021-02-12 08:40:43 +01:00
Daniël de Kok 7876d1c252 fetchCargoTarball: set default sourceRoot to the empty string
This avoids that non-buildRustPackage derivations need to specify
sourceRoot when the fetcher performs root stripping.
2021-02-11 20:00:13 +01:00
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
Moritz Angermann 11b4d6c633
responsie file logic 2021-02-09 09:46:47 +08: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
Alyssa Ross d586d24f7a
fetchFromBitbucket: remove hack for Mercurial
Bitbucket deleted all its Mercurial repositories, so presumably this
doesn't do anything any more.
2021-02-08 17:54:12 +00: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
Damien Diederen 56124f3e66 debBuild: Fix for "cannot coerce a set to a string"
Nix won't let us turn `lib` into an environment variable.

As discussed here:

  https://github.com/NixOS/nixpkgs/pull/111672#issuecomment-773484089
2021-02-05 21:20:22 +01:00
Damien Diederen 9744abab00 debBuild: Fix "duplicate formal function argument 'lib'"
As discussed here:

  https://github.com/NixOS/nixpkgs/pull/111672#issuecomment-773484089
2021-02-05 21:20:13 +01: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
Luflosi e238ff073f
fetchgit: escape dot in regex
This regex should match files ending in `.git`, not any character and `git` after that.
2021-02-03 18:41:50 +01: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
Jörg Thalheim 61bbbcd1af
bintools-wrapper: skip dynamic linker for static binaries 2020-12-27 16:42:11 +01:00
Kevin Cox 11e522cb6e
Revert "nix-gitignore: Optimise performance" 2020-12-27 08:04:16 -05:00
DavHau 2efcf6dc26 autoPatchelf: add comment why ignore failing ldd/sed 2020-12-25 12:13:03 +01:00
DavHau 2fde1e63ba autoPatchelfHook: fix shellcheck errors 2020-12-25 12:13:03 +01:00
DavHau 4ac5d22654 autoPatchelfHook: fix bug introduced by #101142 2020-12-25 12:13:03 +01:00
John Ericson fb875dcf6f
Merge pull request #107507 from LibreCybernetics/add-zen-info
lib.systems: update processor architecture info
2020-12-24 10:23:10 -05:00
Florian Klink 8f5c939147
Merge pull request #107435 from flokli/gnats-cc-wrapper-format-unsupported
gnats: format hardened flag isn't supported
2020-12-24 02:25:27 +01:00
Fabián Heredia Montiel 2a9ac172c1 lib.systems: update processor architecture info 2020-12-23 18:57:59 -06:00
Ryan Burns 61a6d1aae2 stdenv: trim random seed to avoid reference cycles
Using the full store hash as the random seed occasionally caused
reference cycles when the invocation was stored in output artifacts.
For example, cross-compiled gcc was failing due to this:
https://hydra.nixos.org/eval/1631713#tabs-now-fail

Simply truncating the hash is sufficient to avoid this.
2020-12-23 16:46:39 -08:00
Florian Klink 07c4056179 gnats: format hardened flag isn't supported
When invoking a simple Ada program with `gcc` from `gnats10`, the
following warnings are shown:

```
$ gcc -c conftest.adb
gnat1: warning: command-line option ‘-Wformat=1’ is valid for C/C++/ObjC/ObjC++ but not for Ada
gnat1: warning: command-line option ‘-Wformat-security’ is valid for C/C++/ObjC/ObjC++ but not for Ada
gnat1: warning: ‘-Werror=’ argument ‘-Werror=format-security’ is not valid for Ada
$ echo $?
0
```

This is only spammy when compiling Ada programs inside a Nix derivation,
but certain configure scripts (such as the ./configure script from the
gcc that's built by coreboot's `make crossgcc` command) fail entirely
when getting that warning output.

https://nixos.wiki/wiki/Coreboot currently suggests manually running

> NIX_HARDENING_ENABLE="${NIX_HARDENING_ENABLE/ format/}" make crossgcc

… but actually teaching the nixpkgs-provided cc wrapper that `format`
isn't supported as a hardening flag seems to be the more canonical way
to do this in nixpgks.

After this, Ada programs still compile:

```
$ gcc -c conftest.adb
$ echo $?
0
```

And the compiler output is empty.
2020-12-23 01:51:14 +01:00
adisbladis f475529d44
Merge pull request #107284 from r3v2d0g/emacs-wrapper-nativecomp
emacs: replace 'emacs.nativeComp' in wrapper with 'nativeComp'
2020-12-23 00:07:44 +01:00
sternenseemann 697b46aa96 fetchFromGitHub: also use git if deepClone or leaveDotGit is used
leaveDotGit is only inherited if it is explicitly set, so fetchgit's
default value for leaveDotGit ? deepClone is respected.
2020-12-21 13:20:04 +01:00
Matthieu Le brazidec (r3v2d0g) bfec6c34b4
emacs: replace 'emacs.nativeComp' in wrapper with 'nativeComp' 2020-12-20 21:15:18 +01:00
sternenseemann 640d92513d buildDunePackage: use dune install instead of opaline 2020-12-21 00:43:33 +01:00
John Ericson ddeef0d322 tests.buildRustCrate: Fix after hashing method change
As @lopsided98 points out in #105305, since the hashes are now target
sensative, and until we find reason to actually care to test what they
are exactly, we are best just normalizing them away in the tests.
2020-12-19 19:05:07 +00:00
Linus Heckemann 14fbf575ec make-initrd: various improvements
- Generate a link to the initramfs file with an appropriate file
  extension, guessed based on the compressor by default
- Use correct metadata in u-boot images if generated, up to now this
  was hardcoded to gzip and would silently generate an erroneous image
  if another compressor was specified
- Document all the parameters
- Improve cross-building compatibility, by allowing passing either a
  string as before, or a function taking a package set and returning the
  path to a compressor in the "compressor" argument of the
  function.
- Support more compression algorithms
- Place compressor executable function and arguments in passthru, for
  reuse when appending initramfses

Co-Authored-By: Dominik Xaver Hörl <hoe.dom@gmx.de>
2020-12-17 11:37:04 +01:00
Linus Heckemann 3a3c9c9548 makeInitrd: include dotfiles at root 2020-12-17 11:10:37 +01:00
Linus Heckemann 85e0ae7827 makeInitrd: don't assume uImage => arm
mips for example might use uImages too
2020-12-17 11:10:37 +01:00
Linus Heckemann a343ff7e14 makeInitrd: make uinitrd behaviour optional 2020-12-17 11:10:36 +01:00
aszlig 1152978cda
vm: Remove runInWindowsVM implementation
Originally this was meant to support other Windows versions than just
Windows XP, but before I actually got a chance to implement this I left
the project that I implemented this for.

The code has been broken for years now and I highly doubt anyone is
interested in resurrecting this (including me), so in order to make this
less of a maintenance burden for everybody, let's remove it.

Signed-off-by: aszlig <aszlig@nix.build>
2020-12-17 07:03:36 +01:00
adisbladis dd5d2482c9
emacs: Fix accidental double wrapping
This makeWrapper invocation found it's way back via a rebase.
2020-12-17 02:44:37 +01:00
Tad Fisher a7cb8e36ac
emacs: Add comp-eln-load-path infrastructure 2020-12-16 19:45:07 +01:00
Daniël de Kok 00941cd747
Merge pull request #105787 from danieldk/build-rust-crate-njobs
buildRustCrate: set NUM_JOBS to NIX_BUILD_CORES
2020-12-16 13:38:43 +01:00
Lassulus 00b8fa792b
Merge pull request #106000 from Luis-Hebendanz/firefoxWrapperAddonSettings
firefox: wrapper updating an addon perserves addon settings
2020-12-15 22:16:48 +01:00
Luis Hebendanz 1c8c134972 firefox: wrapper updating an addon perserves addon settings 2020-12-15 22:02:34 +01:00
Robert Hensing 5cacf0fcec dockerTools: use go.GOARCH as default arch 2020-12-15 02:15:35 -08:00
Terin Stock 8f66dc94a7 dockerTools: normalize arch to GOARCH
Docker (via containerd) and the the OCI Image Configuration imply and
suggest, respectfully, that the architecture set in images matches those
of GOARCH in the Go Language document.

This changeset updates the implimentation of getArch in dockerTools to
return GOARCH values, to satisfy Docker.

Fixes: #106695
2020-12-15 02:14:01 -08:00
Mario Rodas eb9751c6d6 emacsWithPackages: fix application wrapper on darwin 2020-12-12 04:20:00 +00:00
Frederik Rietdijk 3b85d7d54f
Merge pull request #106321 from NixOS/staging-next
Staging next
2020-12-11 15:56:17 +01:00
Robert Hensing ba5e222245 fetchMavenArtifact: fix generated url 2020-12-11 13:58:19 +01:00
Robert Hensing f0568c2228 fetchMavenArtifact: switch mirrors to https
Maven repositories are disabling HTTP support for security.
Even though Nix adds some security with its own hash validation,
broken mirrors are a, well, suboptimal experience.
I don't know of any plans by sonatype, but it seems like a matter
of time.

https://www.lightbend.com/blog/lightbend-to-require-https-on-repos-starting-august-5-2020
2020-12-11 11:43:23 +01:00
github-actions[bot] 614876ef33
Merge master into staging-next 2020-12-11 00:40:21 +00:00
adisbladis 316094b8ab
Merge pull request #106606 from alyssais/elpa-meta
emacsPackages.elpaBuild: pass through meta
2020-12-11 00:22:42 +01:00
adisbladis 1ad3b14759
Merge pull request #106608 from alyssais/melpa-homepage
emacsPackages.melpaPackages: HTTPS for homepages
2020-12-11 00:10:01 +01:00
adisbladis 09e349206d
Merge pull request #106486 from alyssais/emacsWithPackages
emacsWithPackages: EMACSLOADPATH correctness fixes
2020-12-11 00:08:59 +01:00
Alyssa Ross 23d4bfb666
emacsWithPackages: don't tell sub-Emacs about pkgs
If I'm running an Emacs executable from emacsWithPackages as my main
programming environment, and I'm hacking on Emacs, or the Emacs
packaging in Nixpkgs, or whatever, I don't want the Emacs packages
from the wrapper to show up in the load path of that child Emacs.  It
results in differing behaviour depending on whether the child Emacs is
run from Emacs or from, for example, an external terminal emulator,
which is very surprising.

To avoid this, pass another environment variable containing the
wrapper site-lisp path, and use that value to remove the corresponding
entry in EMACSLOADPATH, so it won't be propagated to child Emacsen.
2020-12-10 22:52:31 +00:00
Alyssa Ross 0127013b0f
emacsWithPackages: mutate EMACSLOADPATH correctly
An empty entry in EMACSLOADPATH gets filled with the default value.
This is presumably why the wrapper inserted a colon after the entry it
added for the dependencies.  But this naive approach wasn't always
correct.

For example, if the user ran emacs with EMACSLOADPATH=foo, the wrapper
would insert the default value (by adding the trailing `:') even
though the user was trying to expressly opt out of it.

To do this correctly, here I've replaced makeWrapper with a bespoke
script that will actually parse the EMACSLOADPATH provided in the
environment (if given), and insert the wrapper's load path just before
the default value.  If EMACSLOADPATH is given but contains no default
value, we respect that and don't add the wrapped dependencies at all.
If no EMACSLOADPATH is given, we insert the wrapped dependencies
before the default value, just like before.  In this way, the wrapped
Emacs should now behave as if the wrapped dependencies were part of
Emacs's default load-path value.
2020-12-10 22:35:57 +00:00
Alyssa Ross 00a246c5ce
emacsPackages.melpaPackages: HTTPS for homepages 2020-12-10 22:15:21 +00:00
Alyssa Ross 5016fdb269
emacsPackages.elpaBuild: pass through meta
Previously, meta wasn't being passed through at all, because it's
removed from args without being used anywhere.  This made it so that
rcirc-menu wasn't being marked as broken even though it was supposed
to be.

This patch copies the meta handling from melpaBuild, including the
default home page (adapted for ELPA).
2020-12-10 22:03:20 +00:00
Guillaume Girol 4eb94d0ca1
Merge pull request #94960 from symphorien/gitignore
nix-gitignore: filter-out .git
2020-12-10 20:34:54 +00:00
Tad Fisher 3a5aeb1539
fetchFirefoxAddon: fix typo 2020-12-09 11:58:00 -08:00
github-actions[bot] faad8493f7
Merge master into staging-next 2020-12-09 18:15:18 +00:00
Martin Weinelt 6a4be92dd8
Merge pull request #106409 from jonringer/fix-steam
steam: fix paradox launchers, and electron apps
2020-12-09 17:08:05 +01:00
Emery Hemingway e9158eca70 fetchfirefoxaddon: support for SRI hashes 2020-12-09 15:09:49 +01:00
Jonathan Ringer 6c52434eb0
buildFHSUserEnvBubblewrap: expand unshare options 2020-12-08 18:40:51 -08:00
github-actions[bot] 7d6630d7db
Merge master into staging-next 2020-12-09 00:39:29 +00:00
Matthieu Coudron 3dd316723d mirrors: fix lua mirrors
Seems like urls in mirrors must end up with a / otherwise download fails.
2020-12-08 23:55:31 +01:00