Commit graph

197 commits

Author SHA1 Message Date
Jan Tojnar a04625379a
Merge branch 'master' into staging-next 2020-04-13 18:50:35 +02:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
volth 5bea90df81 perl: 5.30.1 -> 5.30.2 2020-04-05 13:17:42 +02:00
Nikola Knezevic 6d8539c1d8 perl: Enable threading on darwin
Perl on darwin (and any other sane platform) has a pretty good threading
support, enable it.

As it turns out, we were building non-multithreaded perl on all systems,
since glibc was not part of the stdenv anymore:

    nix-repl> pkgs = import <nixpkgs> {}

    nix-repl> pkgs.stdenv ? glibc
    false

meaning that the comments were incorrect. Thus, clear up the confusion
and remove the misleading comments, while enabling multithreading by
default. The builds will fail on unsupported platforms, and in this case
the only place is the bootstrap, where we already force
non-multithreaded perl.

As a consequence of the above, this change will cause the full rebuild
of stdenv on all platforms, including linux.
2020-02-20 08:35:45 +01:00
volth 5540b2e7b4
perl.withPackages: respect $PERL5LIB
perl.withPackages did not allow to add more packages using $PERL5LIB
2020-01-20 18:11:00 +00:00
Andrew Childs 68317c736e perl: fix configure phase for Aarch32
In "perl: fuse configureFlags" [1] the effects of the preConfigure
phase were merged into configureFlags. After this change values with
spaces do not reach the configure script intact.

The only flag this affects is `ldflags` for Aarch32 and Mips, and perl
builds without it on armv7l-linux so it's probably no longer required
on any platform.

Fixes:

    configuring
    configure flags: -de -Dcc=cc <...> -Dldflags=\"-lm -lrt\"
    ./Configure: eval: line 1677: unexpected EOF while looking for matching `"'
    ./Configure: eval: line 1678: syntax error: unexpected end of file
    Configure: unknown option -lrt"

[1] 3b50d0462a
2020-01-04 09:51:10 +09:00
Frederik Rietdijk 555037a667 Merge master into staging-next 2019-12-31 16:35:53 +01:00
John Ericson cfd013813e
Merge pull request #74090 from obsidiansystems/ghcjs-cross-without-cc
stdenv, haskell: bonafied GHCJS cross compilation without stdenv.cc
2019-12-30 16:40:43 -08:00
Robin Gloster 3b50d0462a
perl: fuse configureFlags 2019-12-30 11:13:36 +01:00
John Ericson 6bc456c91c Merge remote-tracking branch 'upstream/master' into ghcjs-cross-without-cc 2019-11-25 00:23:07 +00:00
John Ericson 63bd851e95 stdenv: Introduce hasCC attribute
Before, we'd always use `cc = null`, and check for that. The problem is
this breaks for cross compilation to platforms that don't support a C
compiler.

It's a very subtle issue. One might think there is no problem because we
have `stdenvNoCC`, and presumably one would only build derivations that
use that. The problem is that one still wants to use tools at build-time
that are themselves built with a C compiler, and those are gotten via
"splicing". The runtime version of those deps will explode, but the
build time / `buildPackages` versions of those deps will be fine, and
splicing attempts to work this by using `builtins.tryEval` to filter out
any broken "higher priority" packages (runtime is the default and
highest priority) so that both `foo` and `foo.nativeDrv` works.

However, `tryEval` only catches certain evaluation failures (e.g.
exceptions), and not arbitrary failures (such as `cc.attr` when `cc` is
null). This means `tryEval` fails to let us use our build time deps, and
everything comes apart.

The right solution is, as usually, to get rid of splicing. Or, baring
that, to make it so `foo` never works and one has to explicitly do
`foo.*`. But that is a much larger change, and certaily one unsuitable
to be backported to stable.

Given that, we instead make an exception-throwing `cc` attribute, and
create a `hasCC` attribute for those derivations which wish to
condtionally use a C compiler: instead of doing `stdenv.cc or null ==
null` or something similar, one does `stdenv.hasCC`. This allows quering
without "tripping" the exception, while also allowing `tryEval` to work.

No platform without a C compiler is yet wired up by default. That will
be done in a following commit.
2019-11-25 00:12:38 +00:00
volth 83bacb1ca7 perl: 5.30.0 -> 5.30.1 2019-11-23 12:39:54 +00:00
Ben Wolsieffer 49afaab294 perl: fix errant references when cross-compiling 2019-11-05 00:34:34 -05:00
Lily Ballard d046ab888c perl: Update detected platform version
Instead of hardcoding the version as 10.10, we should just detect it as
being MACOSX_DEPLOYMENT_TARGET.
2019-09-09 04:33:24 -04:00
volth 62ba206c88 perldevel: 5.30.0 -> 5.31.2 2019-08-06 09:39:29 +00:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
volth 5c8b5fb456 perl530: init at 5.30.0 2019-05-28 08:52:43 +02:00
volth e5d3583be8
allow overriding perl528 and perldevel in overlays
There was a mix of overrideable-in-overlays ```buildPackages.perl528``` & ```buildPackages.perldevel``` and local ```perl528``` & ```perldevel``` which were unaffected by overlays
2019-05-08 14:09:19 +00:00
volth 120398ab4b perlPackages: fix build packages for non-default perl 2019-05-03 10:53:36 +00:00
volth 1709d3a748
perl-cross: update for perl 5.28.2 2019-04-24 17:02:20 +00:00
Matthew Bauer 84d00355e8 Merge remote-tracking branch 'NixOS/master' into staging 2019-04-23 22:00:42 -04:00
volth dd927553f3 perl: 5.28.1 -> 5.28.2 2019-04-22 16:01:25 +00:00
volth 0fad0b4e5b perl.meta.priority += 1
give priority to perl libraries when they meet the perl derivation in `buildEnv`.

The notable case is `buildEnv` inside `perl.withPackages`.

The `perl' derivation includes obsolete versions of some CPAN packages
which leads to collissions when there are newer versions
of the same libraries are on the right hand side
of `perl.withPackages` (perhaps indirectly).

Fixes #60025
2019-04-22 15:50:46 +00:00
volth 03eaa480bd perl: add .withPackages 2019-04-12 09:09:06 +00:00
volth 39fc981fca
perldevel: 5.29.6 -> 5.29.9 2019-03-24 15:43:16 +01:00
Michael Raskin a059fc7420
Merge pull request #56067 from oxij/tree/fetchurl-boot
treewide: assemble all `fetchurlBoot` uses in overrides to `fetchurl`
2019-02-21 09:43:11 +00:00
Jan Malakhovski a1fec8667d treewide: assemble all fetchurlBoot uses in overrides to fetchurl itself
The only outside-curl uses of `fetchurlBoot` left are `stdenv`
and `apple-source-releases`. The latter one can probably be removed
too, but I can't test it.

Pros:

- Aggregates all behind-the-scenes insanity in a single place.

Cons:

- At the cost of 10 more derivations (but 0 new outpaths).
2019-02-19 20:55:59 +00:00
Graham Christensen df8b6728a8
perl: make reproducible
Perl likes to capture impure data, needlessly.

 - Configure time (cf_time): make 1 second past epoch
 - Target system (uname): use less uname information
2019-02-04 09:10:22 -05:00
Frederik Rietdijk 092e3b50a8 Merge master into staging-next 2019-01-02 21:08:27 +01:00
Vladimír Čunát 70bff06140
Merge branch 'master' into staging 2019-01-02 17:19:23 +01:00
volth 098d919425 perldevel: 5.29.4 -> 5.29.6 (#52510) 2019-01-01 19:08:44 +01:00
volth b22f1b0e9e perl526: drop 2018-12-14 14:52:52 +00:00
Jörg Thalheim ec59713c5c
perl: update perl-cross archive 2018-12-09 23:04:18 +00:00
volth 03b9bc9e66
perl526: 5.26.2 -> 5.26.3 2018-12-03 13:46:42 +00:00
volth 873967b7a5
perl:5.28.0 -> 5.28.1 2018-12-03 13:10:54 +00:00
volth c246b5283c perldevel: 5.29.3 -> 5.29.4 (#49624) 2018-11-02 03:10:11 +01:00
Frederik Rietdijk 6f5142e48e Merge master into staging 2018-10-13 09:48:20 +02:00
volth 05bcae1595
perl-cross: 1.2 -> gitmaster 2018-10-11 21:53:52 +00:00
volth 8a7cf66ed0
remove support for pre-5.26 Perl 2018-10-03 20:34:04 +00:00
volth 5f91657ad1 remove support for pre-5.26 Perl 2018-10-03 19:29:58 +00:00
Daiderd Jordan 1383c08f2c
Merge branch 'master' into staging-next 2018-10-01 19:42:07 +02:00
volth 507b2fdde3 remove Perl 5.22 and 5.24 (end-of-life upstream few months ago) 2018-09-27 09:58:50 +00:00
volth b7ac8824af
perldevel: use double quote to preserve ''\.'' 2018-09-25 20:52:31 +00:00
volth 06faf5cc5c perl: add devel version at 5.29.3 2018-09-25 19:51:20 +00:00
Matthew Bauer 6910a9d1e2 perl: disallow reference to cc
Fixes #46077
2018-09-23 00:28:23 -05:00
Matthew Bauer 379fc894de Merge remote-tracking branch 'origin/master' into staging 2018-08-21 15:41:53 -05:00
Markus Kowalewski 2521f7cbdc
perl: set license to artistic 2018-08-18 23:11:55 +02:00
Markus Kowalewski a3990e734d
perl: add license 2018-08-18 00:11:32 +02:00
volth 6635879ff1
perl: remove duplicated code 2018-08-17 12:51:07 +00:00
volth 52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00