Commit Graph

53 Commits

Author SHA1 Message Date
Ryan Burns
2d8304ddc5 uclibc-ng: fix cross-compile to mips (for ben-nanonote)
Must specify the the TARGET_ARCH (which confusingly is actually
for the host platform, in Nix/autotools terminology) at build and
`make install` time.

Also, auto-disable UCLIBC_HAS_FPU when hostPlatform.gcc.float == "soft".

Clarify platforms = linux and broken = arm to better reflect
the current support situation.

Fixes pkgsCross.ben-nanonote.stdenv
2021-12-09 17:12:42 -08:00
R. RyanTM
925fc9c700 uclibc: 1.0.37 -> 1.0.38 2021-08-17 16:41:55 +00:00
R. RyanTM
b00d41530c uclibc: 1.0.34 -> 1.0.37 2021-03-10 01:15:05 +00: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
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