patches are from macports and debian:
- add patches to include files containing function prototypes on darwin
- fix fprintf format error -- use "%s" buffer
- check buffer for null before dereferencing
- use labs for long
- scan additional ides 4-9
In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
Handle CC the normal way, `unset CC` was from quite old
28b6fb61e6 during early macOS experiments
and no longer needed.
Regenerate autoconf stuff unconditionally because it is so old, and
unconditional is just simpler.
Put conditional patches after unconditional ones as is more idiomatic.
Manually written makefile relies on inplace re-execution to build
shared and static libraries. Then built in parallel it occasionally
causes build failures when partially overwritten file gets used by
linker.
Let's disable parallel builds.
The configure helpers are old and already need to be updated on aarch64,
so let's just do this on all non-x86 platforms. This will probably fix
other architectures that weren't well-supported at the time.
The autoreconfHook does not appear to be needed on aarch64 or powerpc.
Patch taken from SVN, cdparanoia has not had a release since September
11, 2008. Allows including the header in C++ files.
https://trac.xiph.org/changeset/15338/
The following parameters are now available:
* hardeningDisable
To disable specific hardening flags
* hardeningEnable
To enable specific hardening flags
Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.
cc-wrapper supports the following flags:
* fortify
* stackprotector
* pie (disabled by default)
* pic
* strictoverflow
* format
* relro
* bindnow
URLs to http://nix.cs.uu.nl/dist/tarballs. With content-addressable
mirror support (r9190, NIXPKGS-70) this is no longer necessary:
fetchurl will try to download from that location automatically. So
we can keep the original URLs.
svn path=/nixpkgs/trunk/; revision=9192