Commit Graph

236 Commits

Author SHA1 Message Date
Guillaume Girol
4a1750ad7b
Merge pull request #142002 from trofi/perl-non-cross
perl: set 'configurePlatforms = [];' to prepare for default change
2021-11-10 22:00:59 +00:00
Artturin
f7cfc8f319 perl: build reproducibly 2021-11-05 22:57:28 +02:00
Sergei Trofimovich
85b1d6ff89 perl: set 'configurePlatforms = [];' to prepare for default change
Prepare for default 'configurePlatforms = [ "build" "host" ];': perl
does not support gnu-stile target specification.

Extracted from PR#87909.
2021-10-17 16:08:18 +01:00
Alyssa Ross
881ba67f83
pkgsStatic.perl: fix build
I don't understand how this worked prior to 1dbb306
("pkgsStatic.perl: Use `dontAddStaticConfigureFlags` instead of overriding"),
but what I do know is that it's very broken now, to the point that
perl-cross needs a patch.

I doubt the -Duseshrplib is actually necessary when native compiling,
but removing it would be a mass rebuild, so I've left it in place for
now.
2021-10-05 11:59:14 +00:00
Stig Palmquist
937d22aaa6 perldevel: 5.35.3 -> 5.35.4 2021-09-24 14:52:02 +02:00
Stig Palmquist
c732b861d3 perl.perl-cross: 01c176ac0 -> 393821c7 2021-09-24 14:51:16 +02:00
github-actions[bot]
0630061ef3
Merge master into staging-next 2021-09-02 18:01:20 +00:00
Stig Palmquist
57b7e41353 perldevel: 5.35.0 -> 5.35.3 2021-08-25 15:45:19 +02:00
Stig Palmquist
9f74d336f8 perl.perl-cross: 1.3.6 -> 01c176ac0 2021-08-25 15:44:22 +02:00
Pamplemousse
1dbb306b87 pkgsStatic.perl: Use dontAddStaticConfigureFlags instead of overriding
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-13 17:28:26 -07:00
Stig Palmquist
73de228e71 perl: 5.32.1 -> 5.34.0
- perl534: init at 5.34.0
- perl: perl532 -> perl534
- perlPackages: perl532Packages -> perl534Packages
- perl530: remove
- remove obsolete patches
2021-06-16 17:13:43 +02:00
Alyssa Ross
71c1bf81e2
perldevel: 5.33.8 -> 5.35.0 2021-06-03 13:23:01 +00:00
Alyssa Ross
d5607f05af
perl.perl-cross-src: 2021-03-21 -> 1.3.6
New version adds support for NetBSD (by me!).
2021-06-01 08:38:15 +00:00
Alyssa Ross
1439845fed
perl.perl-cross-src: use fetchFromGitHub 2021-06-01 08:21:08 +00:00
Stig Palmquist
7e160ee51b perldevel: 5.33.6 -> 5.33.8 2021-03-21 20:37:12 +01:00
Stig Palmquist
ad039e9158 perl-cross: 1.3.5 -> e53999d 2021-03-21 20:36:42 +01:00
Sandro
69b16f1251
Merge pull request #114527 from bobrik/ivan/perl-530-aarch64-darwin
perl530: backport aarch64-darwin patch
2021-03-05 16:13:36 +01:00
John Ericson
07ecf87693 treewide: Fix various tools wrappers "with packages"
Now that `buildEnv` is ready, always put `makeWrapper` in
`nativeBuildInputs`, rather than `buildInputs` or (worse) mucking around
with setup hooks by hand.

(C.f. #112276, which didn't catch these because the manual setup hook
sourcing is such a hack to being with!)

Fixes #114687
2021-03-02 22:38:04 +00:00
Ivan Babrou
afbb72faef perl530: backport aarch64-darwin patch
This was originally in #105026, but then 5.30.1 happened with
this change included, so there were conflict and the patch
got dropped. Let's introduce it separately for only one version
that still needs it.
2021-02-26 20:46:09 -08:00
Sandro
0d489fc753
Merge pull request #110654 from stigtsp/package/perl-5.32.1-staging
[staging] perl532: 5.32.0 -> 5.32.1, perl-cross: 4c55233 -> 1.3.5
2021-02-17 03:01:01 +01:00
Pavol Rusnak
a6ce00c50c
treewide: remove stdenv where not needed 2021-01-25 18:31:47 +01:00
Stig Palmquist
3ebc1b59fd perl532: 5.32.0 -> 5.32.1, perl-cross: 4c55233 -> 1.3.5 2021-01-24 19:30:35 +01:00
Ben Siraphob
001c0cbe54 pkgs/development/interpreters: stdenv.lib -> lib 2021-01-23 20:29:03 +07:00
Stig
b8c3cd1318
Merge pull request #110321 from stigtsp/package/perl-5.33.6
perldevel: 5.33.5 -> 5.33.6, perl-cross: b444794 -> 4c55233
2021-01-23 03:17:03 +01:00
Stig Palmquist
fc8a310406 perldevel: 5.33.5 -> 5.33.6, perl-cross: b444794 -> 4c55233 2021-01-21 12:34:55 +01:00
Stig Palmquist
f315259280 perl: remove obsolete parallel building patch 2021-01-21 10:24:13 +01:00
Stig Palmquist
81f1b21af0 perldevel: 5.33.4 -> 5.33.5
dependencies:
perl-cross: 6c115604fcbf01ceb3c6d7c13206a7590abf6c21 -> b4447944a0aeff9590dc023d64f8ddf3de7669fb
2020-12-23 14:00:02 +01:00
Stig Palmquist
408236cd6a
perldevel: 5.33.3 -> 5.33.4
dependencies:
perl-cross: 65e06e238ccb949e8399bdebc6d7fd798c34127b -> 6c115604fcbf01ceb3c6d7c13206a7590abf6c21
2020-11-23 01:59:43 +01:00
Stig Palmquist
a07b4a0017
perldevel: 5.33.2 -> 5.33.3
dependencies:
perl-cross: f59d2b6a179760230d925550db78b93c410433e4 -> 65e06e238ccb949e8399bdebc6d7fd798c34127b
2020-10-22 10:29:47 +02:00
Jan Tojnar
32b4375f10
Merge branch 'staging-next' into staging 2020-09-29 00:12:29 +02:00
Stig Palmquist
6c44133fac
perldevel: 5.33.1 -> 5.33.2
dependencies:
perl-cross: 15ca5359f99698ef0a199bc307b7956c08907abc -> f59d2b6a179760230d925550db78b93c410433e4
2020-09-28 02:11:03 +02:00
Jan Tojnar
d471c5d1f3
Merge branch 'staging-next' into staging 2020-09-24 23:09:00 +02:00
Stig Palmquist
e2926577a1
perl-cross: fix . being included in INC
perl-cross set `default_inc_excludes_dot` to undefined by default. This
sets `-Ddefault_inc_excludes_dot` explicitly when cross compiling.
2020-09-22 14:35:46 +02:00
volth
4faa3e3dcd perl: remove obsolete patch 2020-09-09 09:08:48 +00:00
Stig Palmquist
5aef482f61 perl: 5.30.3 -> 5.32.0, perldevel: 5.32.0-RC0 -> 5.33.1
Co-authored-by: volth <volth@volth.com>
2020-08-30 20:21:26 +02:00
Ben Wolsieffer
d7e3e03558 perl: use $hostOffset instead of $targetOffset in cross setup hook 2020-08-23 14:55:54 -04:00
Ben Wolsieffer
d61f1a4a5f perl: rename miniperl output from dev to mini 2020-08-17 13:43:42 -04:00
Matthew Bauer
d0677e6d45 treewide: add warning comment to “boot” packages
This adds a warning to the top of each “boot” package that reads:

  Note: this package is used for bootstrapping fetchurl, and thus cannot
  use fetchpatch! All mutable patches (generated by GitHub or cgit) that
  are needed here should be included directly in Nixpkgs as files.

This makes it clear to maintainer that they may need to treat this
package a little differently than others. Importantly, we can’t use
fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale
hashes, we need to include patches that are subject to changing
overtime (for instance, gitweb’s patches contain a version number at
the bottom).
2020-07-31 08:56:53 +02:00
volth
d89c58a012 perl: 5.30.2 -> 5.30.3 2020-06-04 18:14:24 +02:00
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