Commit graph

4614 commits

Author SHA1 Message Date
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
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
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
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
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
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