Commit Graph

76 Commits

Author SHA1 Message Date
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
Will Dietz
7fbb42eabb Similarly, use 4.15 kernel headers instead of patching 4.14 w/uapi fixes 2018-02-13 09:44:59 -06:00
Will Dietz
bc76f767f6 linuxHeaders: allow multiple versions, use newest + patches w/musl
Hash unchanged for non-musl case.
2018-02-13 09:44:53 -06:00
John Ericson
fb5d7b218d linux-headers: Remove dead old version
This sat around unused for who knows how long
2017-09-14 19:30:16 -04:00
hsloan
c5b4b6c911 kernel-headers: Don't use stdenv.cross 2017-06-28 19:44:04 -04:00
Joachim Fasting
e6c65ecb12
tree-wide: remove uses of features.grsecurity 2017-05-14 15:08:51 +02:00
Joachim Fasting
893186f4fd
kernel-headers: mark broken for grsecurity kernels
Extracting headers from a grsecurity patched kernel triggers additional
build steps that require gcc plugins.  For this to work, we'd need to
add gmp, libmpfr, and libmpc to the build inputs as well as run `make
prepare` before installing the headers (lest the build fail due to
missing files).

Out-of-tree modules use kernel.dev and user space should use the Linux
API headers used to build libc, not headers extracted from random
kernels, so fixing this for grsecurity is pointless.
2016-04-19 14:45:30 +02:00
Domen Kožar
5f028082cc Revert "kernelHeaders: fix build with libmpc"
This reverts commit b0adde8f8a5f22cf45f32df64bba149f326dec85.

Doesn't fix the issue for grsec kernels.

(cherry picked from commit 22bd9c12fec43bf914cdbec4c3a11cd0d964912a)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-07 11:35:22 +01:00
Domen Kožar
c850203487 linuxHeaders: add platforms 2016-04-06 12:42:45 +01:00
Domen Kožar
e9842ea8d7 kernelHeaders: fix build with libmpc 2016-04-06 12:42:35 +01:00
Shea Levy
a589bfae17 Update and fix kernel packages to new kernel build
In most cases, this just meant changing kernelDev (now removed from
linuxPackagesFor) to kernel.dev. Some packages needed more work (though
whether that was because of my changes or because they were already
broken, I'm not sure). Specifics:

* psmouse-alps builds on 3.4 but not 3.10, as noted in the comments that
  were already there
* blcr builds on 3.4 but not 3.10, as noted in comments that were
  already there
* open-iscsi, ati-drivers, wis-go7007, and openafsClient don't build on
  3.4 or 3.10 on this branch or on master, so they're marked broken
* A version-specific kernelHeaders package was added

The following packages were removed:

* atheros/madwifi is superceded by official ath*k modules
* aufs is no longer used by any of our kernels
* broadcom-sta v6 (which was already packaged) replaces broadcom-sta
* exmap has not been updated since 2011 and doesn't build
* iscis-target has not been updated since 2010 and doesn't build
* iwlwifi is part of mainline now and doesn't build
* nivida-x11-legacy-96 hasn't been updated since 2008 and doesn't build

Everything not specifically mentioned above builds successfully on 3.10.
I haven't yet tested on 3.4, but will before opening a pull request.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-04 21:17:04 -05:00
Eelco Dolstra
ab53df106f Get the 3.3.5 kernel headers to build in the stdenv bootstrap
We don't have xz early in the bootstrap, so use the bz2 tarball.  Also
add SHELL=bash to get it to build.
2012-09-26 14:14:07 -04:00
Lluís Batlle i Rossell
3694b0f892 glibc: setting --enable-kernel=2.6.35
It was taking 2.4.0 as default, therefore, not using syscalls over 2.4.0
We may see performance improvements (openat, ...)
2012-08-19 13:25:40 +02:00
Nicolas Pierron
82b308bf11 Add armv7l support.
svn path=/nixpkgs/trunk/; revision=33798
2012-04-15 23:41:25 +00:00
Eelco Dolstra
c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Eelco Dolstra
cfde88976b * Streamline the stdenv bootstrap and resulting closure by removing
some redundant builds (e.g., GMP was built three times).
* Updated GMP to 5.0.2.
* Updated PPL to 0.11.2.
* Remove ad hoc flags to build GCC's dependencies statically.
  Instead, use the ‘makeStaticLibraries’ stdenv adapter.
* Build GMP with C++ support by default.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
2011-12-14 14:31:56 +00:00