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