Commit Graph

167 Commits

Author SHA1 Message Date
Ryan Burns
5a81fe3684
Merge pull request #196502 from r-burns/mips-darwin-cross
linuxHeaders: fix darwin -> linux-mips cross-compilation
2022-11-06 20:16:49 -08:00
Ryan Burns
b45cf446ea linuxHeaders: fix cross-compilation from darwin to mips
mips tools require endian headers which are different on darwin.
Add stub headers to define the appropriate byte swap functions.

Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
2022-11-05 00:32:11 -07:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00
Sergei Trofimovich
23664c3870 linuxHeaders: 5.19 -> 6.0 2022-10-05 10:46:04 +00:00
Sergei Trofimovich
8907016b22 linuxHeaders: 5.18 -> 5.19 2022-08-01 17:04:04 +01:00
Sergei Trofimovich
912eb001da linuxHeaders: backport fix to restore __bitwise__ define
Without it openiscsi build fails in staging-next as:

    ../../include/iscsi_proto.h:550:9: error: unknown type name 'itt_t'
       550 |         itt_t    itt;   /* Initiator Task Tag */
           |         ^~~~~
2022-06-15 23:34:12 +01:00
Sergei Trofimovich
4d80d6be86 linuxHeaders: 5.17 -> 5.18 2022-05-28 10:37:16 +01:00
github-actions[bot]
d8aac1a80f
Merge staging-next into staging 2022-05-26 12:01:59 +00:00
Artturin
1d44ac176c treewide: add enableParallelBuilding's to bootstrap packages so hashes stay the same
when enableParallelBuildingByDefault is enabled

verified with
`nix-diff $(nix eval ".#gcc-unwrapped.drvPath") $(nix eval --expr 'with import ./. { config = { enableParallelBuildingByDefault = true; }; }; gcc-unwrapped.drvPath' --impure)`
2022-05-25 16:03:14 +03:00
Adam Joseph
c0085404bd lib/systems/inspect.nix: remove isPowerPC
Very confusingly, the `isPowerPC` predicate in
`lib/systems/inspect.nix` does *not* match `powerpc64le`!

This is because `isPowerPC` is defined as

  isPowerPC      = { cpu = cpuTypes.powerpc; };

Where `cpuTypes.powerpc` is:

  { bits = 32; significantByte = bigEndian; family = "power"; };

This means that the `isPowerPC` predicate actually only matches the
subset of machines marketed under this name which happen to be 32-bit
and running in big-endian mode which is equivalent to:

  with stdenv.hostPlatform; isPower && isBigEndian && is32bit

This seems like a sharp edge that people could easily cut themselves
on.  In fact, that has already happened: in
`linux/kernel/common-config.nix` there is a test which will always
fail:

  (stdenv.hostPlatform.isPowerPC && stdenv.hostPlatform.is64bit)

A more subtle case of the strict isPowerPC being used instead of the
moreg general isPower accidentally are the GHC expressions:

  Update pkgs/development/compilers/ghc/8.10.7.nix
  Update pkgs/development/compilers/ghc/8.8.4.nix
  Update pkgs/development/compilers/ghc/9.2.2.nix
  Update pkgs/development/compilers/ghc/9.0.2.nix
  Update pkgs/development/compilers/ghc/head.nix

Since the remaining legitimate use sites of isPowerPC are so few, remove
the isPowerPC predicate completely. The alternative expression above is
noted in the release notes as an alternative.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2022-05-25 09:45:42 +02:00
Artturin
f002ffed9a treewide: enable strictDeps in bootstrap packages 2022-05-22 16:40:26 +03:00
Sergei Trofimovich
13426330aa linuxHeaders: 5.16 -> 5.17 2022-03-27 11:28:20 +01:00
Alyssa Ross
3cf29cf0cf linuxHeaders: 5.15.5 -> 5.16
Fixes: https://github.com/NixOS/nixpkgs/pull/149243 ("[staging] linuxHeaders: fix missing include in swab.h")
2022-01-13 23:18:42 +00:00
TredwellGit
391a967b64 linuxHeaders: 5.14 -> 5.15.5 2021-11-28 07:32:05 +00:00
Sergei Trofimovich
f75b03979c linuxHeaders: 5.12 -> 5.14 2021-09-20 19:37:19 +01:00
sterni
bc6da68650
bionic: use fetchzip for everything (#123010)
Since the hashes of the remaining two archives that used fetchurl broke,
now as good a time as any to switch the remaining fetchurls to fetchzip.
2021-05-16 01:24:27 -04:00
s1341
1e1d29c2af treewide: Support aarch64-android using minimal prebuilt components
This PR adds a new aarch64 android toolchain, which leverages the
existing crossSystem infrastructure and LLVM builders to generate a
working toolchain with minimal prebuilt components.

The only thing that is prebuilt is the bionic libc. This is because it
is practically impossible to compile bionic outside of an AOSP tree. I
tried and failed, braver souls may prevail. For now I just grab the
relevant binaries from https://android.googlesource.com/.

I also grab the msm kernel sources from there to generate headers. I've
included a minor patch to the existing kernel-headers derivation in
order to expose an internal function.

Everything else, from binutils up, is using stock code. Many thanks to
@Ericson2314 for his help on this, and for building such a powerful
system in the first place!

One motivation for this is to be able to build a toolchain which will
work on an aarch64 linux machine. To my knowledge, there is no existing
toolchain for an aarch64-linux builder and an aarch64-android target.
2021-05-11 15:39:08 +00:00
TredwellGit
7ac9fcb01b linuxHeaders: 5.11 -> 5.12 2021-04-26 14:41:54 +00:00
TredwellGit
7a715d595d linuxHeaders: 5.10.9 -> 5.11 2021-02-16 09:22:58 -05:00
Jan Tojnar
01ee4ea574
Merge branch 'master' into staging-next 2021-01-24 00:09:45 +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
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
TredwellGit
53029f2070 linuxHeaders: 5.10.4 -> 5.10.9 2021-01-21 12:44:48 -05:00
TredwellGit
da806f3f7b linuxHeaders: 5.9.8 -> 5.10.4 2020-12-30 20:03:57 -05:00
TredwellGit
bfaa9af416 linuxHeaders: 5.5 -> 5.9.8 2020-11-13 12:53:54 +00:00
John Ericson
1ac5398589 *-wrapper; Switch from infixSalt to suffixSalt
I hate the thing too even though I made it, and rather just get rid of
it. But we can't do that yet. In the meantime, this brings us more
inline with autoconf and will make it slightly easier for me to write a
pkg-config wrapper, which we need.
2020-05-12 00:44:44 -04:00
Orivej Desh
330707e54d linuxHeaders: replace rsync by cp and find
See https://github.com/NixOS/nixpkgs/pull/78994#issuecomment-584437442
2020-02-11 02:15:22 +00:00
Orivej Desh
d48e99d912 linuxHeaders: 4.19.16 -> 5.5
Linux has reworked its header install process in
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=59b2bd05f5f4dc62979c2e82ddd384f07e8f10bc
It has introduced `make headers` that prepares the headers in ./usr/include, and
made `make headers_install` copy the headers from there using rsync.
2020-02-01 06:58:19 +00:00
Alyssa Ross
71f06ea757
linuxHeaders: fix typo in comment 2019-12-02 22:52:21 +00:00
volth
7bb6b373ab treewide: name -> pname (#67513) 2019-08-31 07:41:22 -04:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Maciej Woś
5a7c98df12 nixos/kernel-headers: makeLinuxHeaders
While it is easy to make a custom kernel by applying kernelPatches it is
not so easy to get the corresponding headers; the derivation uses a
hard-coded kernel version.
2019-05-23 17:48:52 +09:00
Matthew Bauer
d8934feba1 kernel-headers: infer ARCH from config triple
This makes us less reliant on the systems/examples.nix. You should be
able to cross compile with just your triple:

$ nix build --arg crossSystem '{ config = "armv6l-unknown-linux-gnueabi"; }' stdenv
2019-04-19 14:53:48 -04:00
Tim Steinbach
8f1b27401c
kernelHeaders: 4.18.3 -> 4.19.16 2019-01-20 14:21:25 -05:00
John Ericson
1b77815d25 linux-headers: Fix bootstrap tools reference 2018-10-25 23:05:16 -04:00
Daiderd Jordan
7081b5e1ae linux-headers: Clean up with mass rebuild 2018-10-25 21:45:04 -04:00
John Ericson
bbd12f5583 Merge remote-tracking branch 'upstream/master' into darwin-to-linux-cross 2018-10-24 08:20:53 -04:00
Daiderd Jordan
ab6bbdd5cd linux-headers: Fix Darwin cross build
Carefully fake cc-version and cc-fullversion to avoid needing a compiler
for the kernel itself to build the headers.

For some reason, doing `make install_headers` twice, first without
INSTALL_HDR_PATH=$out then with, is neccessary to get this to work.
2018-10-23 23:20:42 -04:00
John Ericson
2b4b7d4ef3
Merge pull request #47233 from oxij/tree/mass-rebuild-noop-cleanups
treewide: mass rebuild noop cleanups
2018-09-25 00:04:52 -04:00
Jan Malakhovski
87c0206038 linuxHeaders: cleanup with a mass rebuild 2018-09-23 17:57:17 +00:00
John Ericson
7319013ea1 Merge remote-tracking branch 'upstream/master' into staging 2018-09-18 16:55:42 -04:00
John Ericson
846b44b2e9 glibc, kernel-headers: Fix some eval errors on Darwin
Need to get the source to get elf.h
2018-09-15 01:07:06 -04:00
xeji
b93f4234e8
Merge pull request #45337 from NeQuissimus/headers_4_18
kernel-headers: 4.15 -> 4.18.3
2018-09-15 00:45:56 +02:00
John Ericson
0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Tim Steinbach
17de73a383
kernel-headers: 4.15 -> 4.18.3 2018-08-19 10:40:04 -04:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Will Dietz
3a40b33461 kernel-headers: remove deprecated and broken asm symlink fixups
Discussion:
https://github.com/NixOS/nixpkgs/pull/36303
2018-03-06 11:14:00 -06:00
Shea Levy
fd0f15f11c
linuxHeaders: Bump default to 4.15. 2018-02-18 16:59:29 -05:00
Tuomas Tynkkynen
8e643320c0 linuxHeaders: Drop usage of kernelHeadersBaseConfig
It's not actually needed, and AFAICT has never been. Or at least
Buildroot can build kernel headers as old as 3.2 without running the
config phase.

While at it, set ARCH unconditionally.
2018-02-14 01:47:28 +02:00