Commit graph

50 commits

Author SHA1 Message Date
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
Ben Siraphob 16d91ee628 pkgs/os-specific: stdenv.lib -> lib 2021-01-17 23:26:08 +07:00
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
R. RyanTM 9d9519b074 uclibc: 1.0.33 -> 1.0.34 2020-05-27 17:40:50 +00:00
R. RyanTM 596c8150e9 uclibc: 1.0.32 -> 1.0.33 2020-05-10 20:37:42 +00:00
R. RyanTM 030f40a6a2 uclibc: 1.0.31 -> 1.0.32
* uclibc: 1.0.31 -> 1.0.32 (#72684)

* uclibc: restrict to x86 Linux platforms
It was always failing on Hydra ARM builders
2019-11-13 15:21:28 +01:00
R. RyanTM 64d5d6b9d2 uclibc: 1.0.30 -> 1.0.31
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/uclibc-ng/versions
2018-11-17 23:08:42 -08: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
John Ericson a31984ecda uclibc: Bump to uclibc-ng 1.0.30 2018-05-10 00:17:44 -04:00
John Ericson d65fe65616 uclibc: Fix eval 2018-05-10 00:17:43 -04:00
John Ericson b9acfb4ecf treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile

(cherry picked from commit ba52ae5048)
2018-04-25 15:50:41 -04:00
Orivej Desh 4561d6ca9f uclibc: avoid "Error in reading or end of file" warnings
Thanks to @bjornfor for the advice in
6057d74d1c
2017-12-10 22:31:24 +00:00
Joerg Thalheim 77b69f8ee2 uclibc: exclude aarch64-linux 2017-12-07 10:33:24 +00:00
Orivej Desh 6057d74d1c uclibc: prefer "Error in reading or end of file" to pipefail 2017-12-07 09:32:25 +00:00
Orivej Desh 5d21268e80 uclibc: disable parallel building
https://hydra.nixos.org/build/60933068
2017-12-06 11:57:50 +00:00
Robin Gloster b7787d932e Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-08-12 09:46:53 +00:00
obadz 1cd9c58834 Merge pull request #17461 from rasendubi/powerpc
cross-compilation: fixes for powerpc-linux-uclibc
2016-08-11 00:51:51 +01:00
Robin Gloster bc025e83bd uclibc: disable stackprotector hardening 2016-08-05 18:15:27 +00:00
Alexey Shmalko 5ab8e0d2aa
uclibc: claim maintainership 2016-08-03 03:35:54 +03:00
Tuomas Tynkkynen 21f17d69f6 treewide: Add lots of meta.platforms
Build-tested on x86_64 Linux & Mac.
2016-08-02 21:42:43 +03:00
aszlig 50e9dd7da1
uclibc: Provide a more stable location for source.
At the upstream URL at http://git.uclibc.org/uClibc/snapshot/, older
versions are dropped at a regular basis. Unfortunately the tarball
"uClibc-20150131.tar.bz2" has already been deleted from that directory
and I didn't find a mirror providing the same file.

So I've switched it to use fetchzip from the cgit site instead of using
fetchgit directly. The reason why I didn't use fetchgit is that we'd
need need git, which depends (indirectly? not sure, haven't checked) on
libiconv and that in turn triggers an assertion if we're on Linux and
are cross-building using uclibc.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-08-19 18:43:24 +02:00
Eric Seidel d2a987d6e3 fix travis evaluation by providing explicit libiconv for the rare cases
that need it, like uclibc
2015-02-17 20:10:26 -08:00
Lluís Batlle i Rossell c375a6744b Updating uclibc (snapshots).
I also update the way the configuration is generated, so it works for
our ARM EABI, armv5tel.

We will have to enable the FPU for armv6 and beyond.

Conflicts:
	pkgs/os-specific/linux/uclibc/default.nix
2015-02-05 22:59:05 +01:00
Jaka Hudoklin 7021f1e25c uclibc: fix url, update 2014-12-15 03:32:08 +01:00
Eelco Dolstra ac8e5cd145 uclibc: Update to the latest prerelease
This resolves a segfault in busybox.
2014-10-29 14:55:04 +01:00
Eelco Dolstra c77b30e3fb uclibc: Fix building against recent kernel headers 2014-10-29 14:18:00 +01:00
Mateusz Kowalczyk 7a45996233 Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
Eelco Dolstra 88b11196c1 Clean up redundant "if condition then true else false" 2012-12-28 19:57:47 +01:00
Eelco Dolstra 84779a6f7d Remove unnecessary parentheses around if conditions
Pet peeve...
2012-12-28 19:54:15 +01:00
Lluís Batlle i Rossell 1402a2ebc3 Fixing the paths of uclibc libpthread
svn path=/nixpkgs/trunk/; revision=34229
2012-05-24 21:44:34 +00:00
Lluís Batlle i Rossell 37fce10f9b Adding native threads support unconditionally to uclibc,
or gcc fails to build (lack of pthread.h).

Let's see if this breaks anything; I'm changing this to make comtrend.nix work
(kernel 2.4).


svn path=/nixpkgs/trunk/; revision=34227
2012-05-24 19:16:00 +00:00
Lluís Batlle i Rossell d5a5a30ae0 Adding UCLIBC_SUSV4_LEGACY, otherwise we get this building gcc:
armv5tel-unknown-linux-gnueabi/libstdc++-v3/include/cstdio:133:11: error: '::tmpnam' has not been declared

http://hydra.nixos.org/build/2644907


svn path=/nixpkgs/trunk/; revision=34226
2012-05-24 19:12:36 +00:00
Lluís Batlle i Rossell 70074d2b98 Updating uclibc. This fixes some cross builds.
svn path=/nixpkgs/trunk/; revision=34223
2012-05-24 17:25:03 +00:00
Lluís Batlle i Rossell 14a20b7179 Fixing the evaluation of cross built uclibc in the case of lacking extraConfig
svn path=/nixpkgs/branches/stdenv-updates/; revision=23602
2010-09-02 19:18:04 +00:00
Lluís Batlle i Rossell 745528b4e4 Updating the configuration system of uclibc to something more flexible than it was.
I copied what I had done in busybox.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23310
2010-08-21 16:46:23 +00:00
Lluís Batlle i Rossell da3ba13fb5 Trying to make gcc 4.5 cross-buildable
svn path=/nixpkgs/branches/stdenv-updates/; revision=22848
2010-08-01 21:21:26 +00:00
Lluís Batlle i Rossell 6f2fac6466 Merging from trunk.
I hope I resolved the conflicts well (gmp and gccCross)


svn path=/nixpkgs/branches/stdenv-updates/; revision=21251
2010-04-22 21:44:33 +00:00
Lluís Batlle i Rossell 71bf444504 Updating uclibc (This new release fixed a problem in ._start that gave me a lot
of headache in mips)

svn path=/nixpkgs/trunk/; revision=20613
2010-03-14 14:05:04 +00:00
Lluís Batlle i Rossell fb6adb13ac Updating busybox. I left only a single busybox in its directory. The others, coming from the old
cross-building nixpkgs implementation, were not referenced anywhere.

This new busybox builds natively, and also cross-builds with uclibc.

I updated the uclibc config with a busybox defconfig requirement (something about RPC).

I made the gcc-cross-wrapper properly set the dynamic loader to programs.

After this, 'qemu-arm' can run the dynamically linked busybox cross built for armv5tel--linux-gnueabi.



svn path=/nixpkgs/trunk/; revision=20514
2010-03-09 22:17:38 +00:00
Lluís Batlle i Rossell dfaee7994d Little update on uclibc: enable ftw.
svn path=/nixpkgs/branches/stdenv-updates/; revision=20513
2010-03-09 20:36:56 +00:00
Lluís Batlle i Rossell 6f9a783232 Trying to get coreutils cross-built with uclibc.
This involved fixing some buildInputs/buildNativeInputs in acl/attr,
and adding a libiconv in some places.


svn path=/nixpkgs/branches/stdenv-updates/; revision=20510
2010-03-09 18:05:38 +00:00
Lluís Batlle i Rossell 5fc076193c Updating uclibc
svn path=/nixpkgs/trunk/; revision=20501
2010-03-09 15:51:45 +00:00
Lluís Batlle i Rossell 1522caa556 Enabling cross-builds with uclibc again (I had that too much abandoned).
Hydra now should even test it.


svn path=/nixpkgs/trunk/; revision=20500
2010-03-09 15:48:25 +00:00
Ludovic Courtès fac9a5c936 Replace kernelHeaders' by linuxHeaders'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19067
2009-12-21 14:04:45 +00:00
Lluís Batlle i Rossell 60788973d0 Adding a required option to uclibc for util-linux-ng (the git master version,
not that of nixpkgs, which still has bugs) to link well with uclibc.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18852
2009-12-09 13:33:23 +00:00
Lluís Batlle i Rossell 4164de326a Making the cross-builds work with uclibc. There is no easy way of switching
between uclibc/glibc still.
I started the renaming from glibc to libc regarding the cross-toolchain, but I
still have to finish.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18801
2009-12-04 13:35:58 +00:00
Lluís Batlle i Rossell 980d7c04a0 Patching uclibc for it to cope well with glibc-2.10 and above
This goes similar to the kernel-headers recent patch for the same file and
purpose.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18743
2009-12-01 20:52:13 +00:00
Lluís Batlle i Rossell 4b27d28701 Porting changes from stdenv-updates into this branch.
This comes from:
svn diff  ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff
patch -p0 < diff
and then adding into svn all files new from the patch.

trunk@18255 comes from the last time I updated stdenv-updates from trunk.


svn path=/nixpkgs/stdenv-updates2/; revision=18272
2009-11-08 00:32:12 +00:00