Commit Graph

138 Commits

Author SHA1 Message Date
John Ericson
ba52ae5048 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
2018-04-25 15:28:55 -04:00
Shea Levy
306d5cdf03
perlPackages: Add cross-compilation support.
This involved:

* Installing miniperl as $dev/bin/perl
* Setting miniperl to take INC from
  lib/perl5/{site_perl/,}cross_perl/${version} as well as
  lib/perl5/{site_perl/,}/${version}/${runtimeArch}, in that
  order. miniperl taking from runtimeArch is not really correct, but
  it works in some pure-perl cases (e.g. Config.pm) and can be
  overridden with the cross_perl variant.
* Installing perl-cross's stubs into
  $dev/lib/perl5/cross_perl/${version}
* Patching MakeMaker.pm to gracefully degrade (very slightly) if B.pm
  can't be loaded, which it can't in cross-compilation.
* Passing the right build-time and runtime perls to Makefile.PL
2018-02-28 15:01:32 -05:00
Shea Levy
b45fb438b1
perl: Cross-compile: patch miniperl for gcc7 2018-02-26 07:54:22 -05:00
Shea Levy
168b131de4
perl: Work around cross-compilation issue with gcc 7 2018-02-25 00:40:36 -05:00
Ben Gamari
8ebb907d70 perl: Add support for cross-compilation via perl-cross 2018-01-19 12:59:49 -05:00
John Ericson
4d2b763817
Merge pull request #26805 from obsidiansystems/cross-elegant
Make cross compilation elegant
2017-12-30 22:58:02 -05:00
John Ericson
046f091e0d treewide: Don't use envHook anymore
This commits needs a MAJOR audit as I oftentimes just guessed which of
`$hostOffset`, `$targetOffset`, or a fixed offset should be used.
2017-12-30 22:04:22 -05:00
Michael Raskin
fac4de6aa2 perl526: init at 5.26.1 2017-12-23 20:26:48 +01:00
Orivej Desh
dc4200f934 perl522: do not apply the patch for parallel building
It does not apply and this version is not affected.
2017-12-07 07:07:58 +00:00
Orivej Desh
8ce5ee5c5a perl: fix parallel building
https://hydra.nixos.org/build/65428077/nixlog/1
2017-12-06 22:20:56 +00:00
Dan Peebles
34fe3e0a49 perl: remove unsupported sandboxProfile 2017-11-14 10:34:03 -05:00
Tim Steinbach
d266a456ab
perl: 5.24.2 -> 5.24.3 2017-10-30 08:54:14 -04:00
John Ericson
e5567bae2d treewide: Do not limit hardenging because gcc 4.9 in bootstrap
Bootstrap tools has since been bumped
2017-09-14 10:27:13 -04:00
Volth
ee51e73120
perl: 5.24.1 -> 5.24.2 and 5.22.3 -> 5.22.4
Scavenged by vcunat from #28353.
2017-08-26 12:35:33 +02:00
Vincent Laporte
982af09d2c perl522: fix build on Darwin
The sw_vers patch only applies to version 5.24
2017-07-01 12:26:44 +00:00
Eelco Dolstra
1318120484
Fix indentation 2017-05-30 18:11:37 +02:00
Daiderd Jordan
004ecac47b
perl: add patch for sw_vers on darwin
Fixes #25090
2017-04-22 15:29:46 +02:00
Maksim Bronsky
f78c032934
perl: init 5.24.1 and set as default perl 2017-04-18 01:24:44 +02:00
Maksim Bronsky
d6b42b4008
perl: 5.22.2 -> 5.22.3 2017-04-18 01:24:39 +02:00
Eelco Dolstra
8172cd734c docdev -> devdoc
It's "developer documentation", not "documentation developer" after
all.
2016-09-01 11:07:23 +02:00
Robin Gloster
63c7b4f9a7 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-31 20:51:34 +00:00
Alexey Shmalko
6d998e6386
perl: fix build for mips-linux 2016-07-26 01:36:12 +03:00
Robin Gloster
2d382f3d98 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-05-30 19:39:34 +00:00
Vladimír Čunát
5dfe6fd034 perl: fix evaluation on cygwin
... and maybe on other platforms that have `stdenv.cc.cc == null`.
No hash changes where it did evaluate previously. Discussion:
https://github.com/NixOS/nixpkgs/commit/b291f1682f#commitcomment-17558440
2016-05-20 21:37:27 +02:00
Franz Pletz
f8d481754c
Merge remote-tracking branch 'origin/master' into hardened-stdenv 2016-05-18 17:10:02 +02:00
Franz Pletz
468d35fc8e perl: 5.22.1 -> 5.22.2 2016-05-13 17:04:50 +02:00
Nikolay Amiantov
5ff40ddedf add get* helper functions and mass-replace manual outputs search with them 2016-04-25 13:24:39 +03:00
Robin Gloster
d020caa5b2 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-04-18 13:49:22 +00:00
Vladimír Čunát
ab15a62c68 Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Robin Gloster
f60c9df0ba Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-03-28 15:16:29 +00:00
Vladimír Čunát
b291f1682f perl merge fixup 2016-03-08 09:59:12 +01:00
Franz Pletz
aff1f4ab94 Use general hardening flag toggle lists
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
2016-03-05 18:55:26 +01:00
Robin Gloster
4d6db3c64c perl520: fix bootstrap compilation by disabling fortify hardening 2016-02-28 19:45:02 +00:00
Eelco Dolstra
a85ba820a4 perl: Make 5.22 the default 2016-02-27 22:36:54 +01:00
Eelco Dolstra
be4ebe0046 perl: 5.22.0 -> 5.22.1 2016-02-27 22:22:26 +01:00
Eelco Dolstra
7627bf6f3f perl: Unify 5.20 and 5.22 expressions 2016-02-27 22:22:26 +01:00
Dan Peebles
732495017b perl-5.20: break dependency on the compiler that built it
This is a major closure size reduction on Darwin, and probably a less
significant one on Linux. On darwin, retaining the compiler means adding
clang and its dependency llvm to the perl closure, which gives us ~400MB
of extra stuff. Considering that Nix itself depends on this version of
perl, that makes cutting a new Nix release rather unpleasaont Darwin.

After this patch, I was able to get the `nixUnstable` closure down to
21MB after feeding it into a .tar.xz (123MB before compression). There's
still room for improvement but this should carry us over until we split
outputs.
2016-01-07 23:01:02 -05:00
Dan Peebles
878544e4f6 perl-5.2{0,2}: remove unnecessary patch for darwin
The patch no longer applies on 5.20 and is breaking everything. I tried
building both 5.20 and 5.22 and both seemed to work fine without the
patch.
2015-12-29 21:01:19 -05:00
Vladimír Čunát
a81e8c2e97 Merge branch 'master' into staging
This is to get the openssl security update immediately,
as it surely causes a nontrivial rebuild.
2015-12-05 11:42:48 +01:00
Vladimír Čunát
263fd55d4b Merge recent staging built on Hydra
http://hydra.nixos.org/eval/1231884
Only Darwin jobs seem to be queued now,
but we can't afford to wait for that single build slave.
2015-12-05 11:11:51 +01:00
Eelco Dolstra
2157dadebf perl-5.16: Remove 2015-12-04 12:19:45 +01:00
Eelco Dolstra
403271a476 perl: 5.20.2 -> 5.20.3 2015-12-02 18:12:32 +01:00
Shea Levy
8ea29441cf Merge remote-tracking branch 'origin/single-underscore' into staging
Use zero underscores for sandboxProfile
2015-11-25 13:01:34 -05:00
Vladimír Čunát
13eca6f79a Merge #11067: SmartOS updates
I amended some commits slightly.
2015-11-23 14:45:44 +01:00
Jude Taylor
69e7f3bb74 switch to zero underscores for sandbox profiles; remove generateFrameworkProfile 2015-11-21 12:10:33 -08:00
Jude Taylor
a63346e33c use single underscore for sandboxProfile 2015-11-21 11:17:30 -08:00
Jude Taylor
4a64687737 remove debugging from perl 5.16 2015-11-19 11:31:06 -08:00
Jude Taylor
914e9baefe start on sandbox stuff 2015-11-19 11:31:06 -08:00
Danny Wilson
b19116f688 Fix Perl build on SmartOS 2015-11-16 17:20:14 +01:00
Jude Taylor
0a32eab91e fix LLVM packages to work in darwin stdenv 2015-10-05 08:46:56 -07:00