Commit graph

4702 commits

Author SHA1 Message Date
Guillaume Girol
a17fc03375 pkgsStatic.ocaml-ng: migrate static adapter to derivations themselves 2021-08-19 09:32:03 +02:00
Guillaume Girol
856fa067c5 buildDunePackage: use nativeBuildInputs for build tools 2021-08-19 09:29:55 +02:00
Guillaume Girol
ddd479fe7c ocamlPackages.mkDerivation: use nativeBuildInputs for build tools 2021-08-19 09:29:55 +02:00
github-actions[bot]
2970c28349
Merge staging-next into staging 2021-08-19 06:01:34 +00:00
davidak
a614698169
Merge pull request #134356 from Stunkymonkey/replace-secret-phases
replace-secret: deprecate phases
2021-08-19 04:30:08 +02:00
github-actions[bot]
599a736772
Merge staging-next into staging 2021-08-19 00:02:01 +00:00
Alyssa Ross
6e6c8b7338 s6-rc: fix cross builds that run s6-rc-compile
The reason for this change is explained in the long comment I added.

Here's a simple example of the problem:

	let
	  pkgs = import <nixpkgs> { crossSystem.system = "aarch64-linux"; };
	in

	pkgs.callPackage ({ stdenv, s6-rc }: stdenv.mkDerivation {
	  name = "s6-rc-compiled";

	  nativeBuildInputs = [ s6-rc ];

	  buildCommand = ''
	    mkdir in
	    s6-rc-compile $out in
	  '';
	}) {}

We're cross compiling for aarch64 here, so we'd expect the scripts
generated by this derivation to be things we could run on aarch64.
But when I build this on my x86_64 machine, without this change
applied, $out/servicedirs/s6rc-oneshot-runner/run gets generated full
of references to x86_64 non-cross store paths for execline, s6, and
s6-rc.

With this change applied, the scripts generated by the above
expression now refer to the cross-compiled aarch64 store paths for
execline, s6, and s6-rc.
2021-08-18 20:09:19 +00:00
github-actions[bot]
531afeda01
Merge staging-next into staging 2021-08-18 12:01:50 +00:00
Sandro
3f3e055bcd
Merge pull request #133905 from raboof/buf-use-testVersion-utility
buf: use testVersion utility
2021-08-18 11:59:49 +02:00
github-actions[bot]
ef802e744e
Merge staging-next into staging 2021-08-17 18:01:53 +00:00
Peter Ferenczy
f8be06a311 buildEnv: better warning and error messages 2021-08-17 18:16:20 +02:00
Ben Siraphob
6b7decf64b
Merge pull request #134413 from Zimmi48/package-hydra-battles 2021-08-17 08:32:21 -05:00
Théo Zimmermann
90654cce7d
coqPackages.mkCoqDerivation: fix useDune2
- Reuse build phase from the `buildDunePackage` function.
- Only install the package that was just built (useful for monorepo support).
- Introduces `opam-name` to override the default package name to build with Dune.
2021-08-17 14:38:47 +02:00
Felix Buehler
90f9565f1a nix-template-rpm: deprecate phases 2021-08-17 11:04:49 +02:00
Felix Buehler
454c6dee5e replace-secret: deprecate phases 2021-08-17 09:59:37 +02:00
Felix Buehler
829ed287f0 elpa-packages: deprecate phases 2021-08-16 21:34:58 +02:00
github-actions[bot]
4dfde9ac8e
Merge staging-next into staging 2021-08-15 18:01:33 +00:00
Dmitry Kalinkin
a57ca31b3b
Merge pull request #133350 from rasendubi/fetchzip-downloadname
fetchzip: add extension parameter
2021-08-15 13:04:32 -04:00
Robert Hensing
9feb144c8c runCommandNoCC: deprecate
It has been synonymous with runCommand ~5y.
2021-08-15 17:36:41 +02:00
Robert Hensing
a13aa64bd3 build-support/rust: remove unused runCommandNoCC 2021-08-15 17:36:41 +02:00
Robert Hensing
fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
sternenseemann
b4c9d6eb31 skawarePackages.buildManPages: derivation wrapper for skaware man page ports
GitHub user flexibeast has been porting the html documentation from
skarnet.org to mdoc, making them available as man pages. While the
documentation is non authorative, it is certainly useful and is also
linked from skarnet.org.

buildManPages implements the common mkDerivation machinery common to all
ported man page packages / repositories.
2021-08-15 11:43:10 +02:00
Jan Tojnar
513701efce Merge branch 'staging-next' into staging 2021-08-15 10:45:11 +02:00
Jörg Thalheim
ec9f44e541
Merge pull request #134119 from tekeri/rust-crate-override-pamsys
rust: fix build of pam-sys package
2021-08-15 09:35:22 +01:00
Arnout Engelen
1a604de2e7
buf: use testVersion utility
`installCheckPhase` is mainly intended for checks that are part of the
upstream package, for our 'own' checks we prefer `passthru.tests`.

This loses running `buf --help`, but I'm not sure how much that adds
on top of `buf --version`?
2021-08-15 09:00:30 +02:00
tekeri
2419ea4aff rust: fix build of pam-sys package 2021-08-15 15:55:20 +09:00
Jörg Thalheim
52657498f7
Merge pull request #133588 from zhaofengli/nuget-to-nix
nuget-to-nix: init
2021-08-15 07:02:43 +01:00
Luke Granger-Brown
dbe9bf9848 dockerTools.pullImage: fix for skopeo 1.4.x
skopeo 1.4.x doesn't accept --src-tls-verify as a flag to the *program*,
only as a flag to copy; we must pass it after the "copy" verb, or it
will fail with:

> FATA[0000] unknown flag: --src-tls-verify
2021-08-14 21:21:26 +00:00
Jan Tojnar
cdb1d29692 Merge branch 'staging-next' into staging 2021-08-14 14:43:16 +02:00
Zhaofeng Li
1ad800d919 nuget-to-nix: init
Adapted from `pkgs/games/osu-lazer/update.sh`.

Restore the packages to a directory with `--packages`, then run
`./nuget-to-nix.sh [path to packages] > deps.nix`.
2021-08-13 22:50:20 -07:00
Jan Tojnar
807d3ec359 Merge branch 'staging-next' into staging
; Conflicts:
;	pkgs/tools/misc/t1utils/default.nix
2021-08-11 16:34:11 +02:00
Shea Levy
9ecfbe0c5b
mingw: Disalbe FORTIFY_SOURCE by default.
In newer versions of mingw, programs compiled with FORTIFY_SOURCE need
to link to libssp or they will have link-time errors.

gmp has been broken since @pstn updated mingw-64 in c60a0b0447
2021-08-11 05:07:42 -04:00
Alexey Shmalko
1893e2be4d
fetchzip: add extension parameter
fetchzip downloads the file from specified URL, renames it to basename
of that url, and then relies on unzip to do the unpacking.

The first consequence is that this requires URL to end with proper
extension—otherwise it will fail to unpack. This is not always the
case and input-fonts workarounds this by adding “&.zip” query
parameter (which is obviously a hack and is not guaranteed to work
with every URL).

The second consequence is that basename of the url must be a valid
filename. I’ve tried to build a custom configuration of input-fonts
and I get an error from mv that the filename is too long:

> trying https://input.djr.com/build/?fontSelection=fourStyleFamily&regular=InputMonoNarrow-Regular&italic=InputMonoNarrow-Italic&bold=InputMonoNarrow-Bold&boldItalic=InputMonoNarrow-BoldItalic&a=0&g=0&i=topserif&l=serifs_round&zero=0&asterisk=height&braces=straight&preset=default&line-height=1.2&accept=I+do&email=&.zip
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100  406k  100  406k    0     0   230k      0  0:00:01  0:00:01 --:--:--  230k
> mv: failed to access '/build/?fontSelection=fourStyleFamily&regular=InputMonoNarrow-Regular&italic=InputMonoNarrow-Italic&bold=InputMonoNarrow-Bold&boldItalic=InputMonoNarrow-BoldItalic&a=0&g=0&i=topserif&l=serifs_round&zero=0&asterisk=height&braces=straight&preset=default&line-height=1.2&accept=I+do&email=&.zip': File name too long

We could use “name” parameter as the filename (that’s how it is used
in fetchurl). However, the previous attempt to do
so (fc01353703) was
reverted (24b5eb61eb) because of the
introduced regression—many fetchzip invocations use names without
extension (also the default name is just “source”).

This commit adds an optional “extension” parameter. If it is set,
fetchzip renames the downloaded file to “download.${extension}”
effectively solving both problems above without introducing a massive
regression.

This is a no-op for all existing packages.

Tested by updating my NixOS setup + the extra inputs-fonts
configuration mentioned above + tons of unstable emacs packages after
a nix-collect-garbage (3Gb downloaded) with this patch applied.
2021-08-10 19:57:08 +03:00
Sandro Jäckel
ceb417aaf1
docker: format 2021-08-10 10:32:46 +02:00
Linus Heckemann
b0fc6e8ff9 make-initrd: fix #132059 2021-08-08 07:53:59 +02:00
Sandro
f6b209b891
Merge pull request #132800 from deliciouslytyped/separatedebuginfo-extraneous-local
setup-hooks: separate-debug-info.sh: Remove extraneous local variable…
2021-08-07 11:53:29 +02:00
Vladimír Čunát
8ab6ba6b1c
Merge branch 'staging-next' into staging 2021-08-06 09:14:57 +02:00
deliciouslytyped
0e6b107cac setup-hooks: separate-debug-info.sh: Remove extraneous local variable originally used in ec5b66eb 2021-08-05 17:52:27 +02:00
Robert Hensing
1c4b1018a3
Merge pull request #132626 from zowoq/tarsum
tarsum: init
2021-08-05 12:14:35 +02:00
zowoq
5dde5ea73e tarsum: init
- move from dockerTools.tarsum
- remove go from runtime closure
2021-08-05 08:54:41 +10:00
github-actions[bot]
05e0d6aadf
Merge staging-next into staging 2021-08-04 12:01:50 +00:00
Robert Hensing
641bac80e5
dockerTools.buildImage: Allow build on darwin (#132640)
Indeed Docker can not run darwin exes, but darwin can build
Docker images, as some users already do with buildLayeredImage.
2021-08-04 06:06:06 -04:00
adisbladis
f09a770d9c
Merge pull request #130021 from neosimsim/fix-emacs-override-examples
emacs: fix overrideScope' examples
2021-08-04 03:08:33 -05:00
github-actions[bot]
2427da39ca
Merge staging-next into staging 2021-08-03 18:01:44 +00:00
sternenseemann
c3c4ef859a gprbuild, xmlada: init at 21.0.0
GPRbuild is a multi language build system developed by AdaCore which
is mostly used for build Ada-related projects using GNAT.

Since GPRbuild is used to build itself and its dependency library
XML/Ada we first build a bootstrap version of it using the provided
bash build script bootstrap.sh as the gprbuild-boot derivation.
gprbuild-boot is then used to build xmlada and the proper gprbuild
derivation.

GPRbuild has its own search path mechanism via GPR_PROJECT_PATH which
we address via a setupHook. It currently works quite similar to the
pkg-config one: It accumulates all inputs into GPR_PROJECT_PATH,
GPR_PROJECT_PATH_FOR_BUILD etc. However this is quite limited at the
moment as we don't have a gprbuild wrapper yet which understands the
_FOR_BUILD suffix. However, we'll need to address this in the future
as it is currently basically impossible to test since the distinction
only affects cross-compilation, but it is not possible to build a GNAT
cross-compiler in nixpkgs at the moment (I'm working on changing that,
however).

Another issue we had to solve was GPRbuild not finding the right GNAT
via its gprconfig tool: GPRbuild has a knowledge base with compiler
definitions which run some checks and collect info about binaries
which are in PATH. In the end the first compiler in PATH that supports
the desired language is selected.

We want GPRbuild to discover our wrapped GNAT since the unwrapped one
is incapable of producing working binaries since it won't find the
crt*.o objects distributed with libc. GPRbuild however needs to find
the Ada runtime distributed with GNAT which is not part of the wrapper
derivation, so it will skip the wrapper and select the unwrapped GNAT.
Symlinking the unwrapped's lib directory into the wrapper fixes this
problem, but breaks linking in some cases (e. g. when linking against
OMP from gcc, the runtime variant will shadow the problem dynamic lib
from buildInputs). Additionally it uses gnatls as an indicator it has
found GNAT which is not part of the wrapper.

The solution we opted to adopt here is to install a custom compiler
description into gprbuild's knowledge base which properly detects the
nixpkgs GNAT wrapper: It uses gnatmake to detect GNAT instead of
gnatls and discovers the runtime via a symlink we add to
`$out/nix-support`. This additional definition is enough to properly
detect GNAT, since the plain wrapped gcc detection works out of the
box. It may, however, be necessary to add special definitions for
other languages in the future where gprbuild also needs to discover
the runtime.

One future improvement would be to install libgpr into a separate
output or split it into a separate derivation (which would require to
link gprbuild statically always since otherwise we end up with a
cyclical dependency).
2021-08-03 14:58:49 +02:00
happysalada
0900850680 stdenv: conservative undefined variables 2021-08-03 12:43:34 +09:00
Sandro
65c0fdf2a1
Merge pull request #131047 from SuperSandro2000/fetchfromgitlab
fetchgitlab: add deepClone, fetchSubmodules, leaveDotGit arguments
2021-08-02 14:06:02 +00:00
Jörg Thalheim
c145ac7eab build-fhs-userenv: fix defaults on aarch64 2021-07-30 11:23:37 +02:00
github-actions[bot]
d01381167a
Merge master into staging-next 2021-07-26 18:01:17 +00:00
github-actions[bot]
527dacdda6
Merge master into haskell-updates 2021-07-26 00:05:43 +00:00
github-actions[bot]
6a5e4f2c3d
Merge master into staging-next 2021-07-25 06:01:27 +00:00
Ben Siraphob
0f1204bd2b Initial implementation of s390 cross-compile 2021-07-25 10:12:18 +07:00
github-actions[bot]
0dfed52fcf
Merge master into haskell-updates 2021-07-25 00:05:51 +00:00
github-actions[bot]
859acbc1bc
Merge master into staging-next 2021-07-24 18:01:04 +00:00
John Ericson
c5a8d45d41
Merge pull request #131310 from siraben/m86k-cross
Initial implementation of m68k cross-compile
2021-07-24 09:25:53 -06:00
Ben Siraphob
407953e9df Initial implementation of m68k cross-compile 2021-07-24 14:37:35 +07:00
Jörg Thalheim
7bf8b97d68
Merge pull request #130601 from happysalada/stdenv_cosmetic
Stdenv cosmetic
2021-07-23 09:45:43 +01:00
github-actions[bot]
1019c5c2a8
Merge master into haskell-updates 2021-07-23 00:05:21 +00:00
github-actions[bot]
0b0a8c7c9a
Merge staging-next into staging 2021-07-22 18:01:39 +00:00
Guillaume Girol
f98bc23805
nix-gitignore: fix evaluation when .gitignore contains \# or \! (#130643) 2021-07-22 12:18:10 -04:00
Manuel Bärenz
af84eacb05 agdaPackages: Don't build broken packages on hydra 2021-07-22 17:29:09 +02:00
Sandro
202f0e817f
Merge pull request #129846 from sbruder/fhs-userenv-bwrap-pipewire-alsa 2021-07-22 17:17:35 +02:00
Sandro Jäckel
94848bd430
fetchgitlab: add deepClone, fetchSubmodules, leaveDotGit arguments 2021-07-22 13:09:14 +02:00
github-actions[bot]
7a1e77336a
Merge staging-next into staging 2021-07-21 18:01:41 +00:00
Thomas Tuegel
88cd726556
Merge pull request #128786 from pjones/pjones-fix-elpa-src
elpaBuild: Delay src evaluation so it can be overridden
2021-07-21 09:58:26 -05:00
github-actions[bot]
3087a2d2e9
Merge staging-next into staging 2021-07-21 12:02:00 +00:00
Jörg Thalheim
436c1a938e
Merge pull request #128927 from andersk/appimage
appimageTools.wrapAppImage: Fix passing arguments to wrapped executable
2021-07-21 07:40:30 +01:00
github-actions[bot]
94a7cf0dcd
Merge staging-next into staging 2021-07-21 00:02:24 +00:00
Sandro
f150d0a6bd
fetchurl: replace dead sourceforge mirrors (#130834) 2021-07-20 22:32:28 +02:00
happysalada
f3d9711f05 stdenv: add link to clarify 2021-07-19 14:50:01 +09:00
github-actions[bot]
8b40036d60
Merge staging-next into staging 2021-07-18 18:01:46 +00:00
github-actions[bot]
e15af378fb
Merge master into staging-next 2021-07-18 18:01:12 +00:00
Romanos Skiadas
23dd37dd5e rustPlatform.importCargoLock: add an assert for old Cargo.locks
near the end of 2019, the default Cargo.lock format was changed to
[[package]]
checksum = ...

This is what importCargoLock assumes. If the crate had not been `cargo
update`'d with a more recent toolchain than the one with the new
format as default, importCargoLock would fail when trying to access
pkg.checksum.

I ran into such a case (shamefully, in my own crate) and it took me a
while to figure out what was going on, so here is an assert with a
more user friendly message and a hint.
2021-07-18 18:19:50 +03:00
github-actions[bot]
08a8809bfe
Merge staging-next into staging 2021-07-18 00:02:06 +00:00
Vladimír Čunát
4bd38c330f
Revert #127736: stdenv changes towards an alternative shell
At least for now.  Such changes are risky (we have very many packages),
and apparently it needs more testing/review without blocking other
changes.

This reverts the whole range 4d0e3984918^..8752c327377,
except for one commit that got reverted in 6f239d7309 already.
(that MR didn't even get its merge commit)
2021-07-17 20:39:47 +02:00
github-actions[bot]
11332e9137
Merge staging-next into staging 2021-07-17 18:01:28 +00:00
github-actions[bot]
d6b748b2b3
Merge master into staging-next 2021-07-17 18:00:56 +00:00
Jörg Thalheim
6f18141c6d
Merge pull request #130040 from Atemu/nix-prefetch-git-shallow-hash
nix-prefetch-git: don't fetch everything when given a hash
2021-07-17 14:29:01 +01:00
github-actions[bot]
732bd85cf5
Merge staging-next into staging 2021-07-17 12:01:55 +00:00
github-actions[bot]
ee007cdc35
Merge master into staging-next 2021-07-17 06:01:21 +00:00
github-actions[bot]
e9ca8c2796
Merge master into haskell-updates 2021-07-17 00:05:09 +00:00
github-actions[bot]
e69bb567a4
Merge staging-next into staging 2021-07-16 06:01:38 +00:00
github-actions[bot]
7959589ea0
Merge master into staging-next 2021-07-16 06:01:04 +00:00
Matthew Bauer
f5074933b7
bintools: disable -pie when -r or -Ur are used (#128674)
* bintools: disable -pie when -r or -Ur are used

ld’s -r allows you to partially link object files. When -pie is passed with -r, though, we get:

  ld: -r and -pie may not be used together

Most build systems are intelligent enough to pass -no-pie before -r, but we might as well support those that
don’t.

Note: -pie is not enabled by default in Nixpkgs, but it is when you are using musl. So this solution is really
only useful for musl toolchains.

* bintools-wrapper: Add incremental -i check for pie
2021-07-15 20:08:33 -05:00
Matthew Bauer
ff327f36db
Merge pull request #127980 from matthewbauer/darwin-emacs-native-comp
Add gcc for emacs wrapper so native-comp works
2021-07-15 20:03:57 -05:00
github-actions[bot]
873ebe9785
Merge master into haskell-updates 2021-07-15 00:05:17 +00:00
github-actions[bot]
ad2f2574e5
Merge master into staging-next 2021-07-15 00:01:31 +00:00
adisbladis
0a908ddacc
Merge pull request #129458 from alyssais/package-build
emacs.pkgs.melpaBuild: package-build: 2018-10-05 -> 2021-04-13
2021-07-14 13:32:51 -05:00
Jörg Thalheim
7afa51c2bd Merge remote-tracking branch 'upstream/master' into HEAD 2021-07-14 15:45:51 +02:00
sternenseemann
6bd0c16f89 tests.writers: also expose path via passthru 2021-07-13 15:22:34 +02:00
Atemu
11df41199b nix-prefetch-git: don't fetch everything when given a hash
It's hugely inefficient as we can't use shallow cloning (--depth=1).

This has been tested and adapted for quite a few hosts fetchgit is used on in
Nixpkgs. For those where fetching the hash directly doesn't work (most notably
git.savannah.gnu.org), we simply fall back to the old method.
2021-07-12 20:50:52 +02:00
Alexander Ben Nasrallah
c81250a1d3 emacs: fix overrideScope' examples 2021-07-12 16:48:10 +02:00
Simon Bruder
ac5cd3a6a2
build-fhs-user-env-bubblewrap: add compatibility for pipewire alsa emulation
The NixOS pipewire module places its alsa compatiblity configuration in
/etc/alsa/conf.d/ instead of /etc/asound.conf. This commit enables
applications running in a bubblewrap fhs environment to use alsa on
systems running pipewire.
2021-07-10 12:50:52 +02:00
pandaman64
c39040195f build-rust-crate: disable incremental builds
According to rustc implementation[1], `-C incremental=no` enables
incremental builds with directory name `no`. This patch removes the
`-C incremental` argument to disable incremental builds.

[1]: ee86f96ba1/compiler/rustc_session/src/options.rs (L918-L919)
2021-07-09 22:55:38 +09:00
github-actions[bot]
958dc88d65
Merge master into staging-next 2021-07-08 12:01:23 +00:00
zowoq
05fe220746 dockerTools.tarsum: use current go 2021-07-08 16:31:33 +10:00
Alyssa Ross
9140d4b06f
emacs.pkgs.melpaBuild: package-build: 2018-10-05 -> 2021-04-13
I think this is due an update.  I've chosen to update to the latest
version that has been merged into Melpa.

Unfortunately we now need to hack around it trying to run VCS
commands.

My Emacs configuration with thirty-something leaf packages seems fine
after the rebuild.
2021-07-06 16:07:13 +00:00
Raphael Megzari
8752c32737 Update pkgs/build-support/setup-hooks/move-docs.sh: remove quote in conditional
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-07-06 09:27:18 +09:00
happysalada
44819162e8 multiple-outputs.sh: remove grep from combined conditional 2021-07-06 09:27:18 +09:00
happysalada
6d52db43d4 setup-hook.sh: use eval for dynamic variable export 2021-07-06 09:27:18 +09:00