Commit Graph

4468 Commits

Author SHA1 Message Date
Frederik Rietdijk
a3a40ac7cc Merge staging-next into staging 2020-07-11 09:00:18 +02:00
Frederik Rietdijk
ae8eee9c3f Merge master into staging-next 2020-07-11 08:59:54 +02:00
R. RyanTM
c02f514929 spidermonkey_68: 68.7.0 -> 68.10.0 2020-07-08 02:53:04 +02:00
Oleksii Filonenko
0f66375d45
Merge pull request #92294 from r-ryantm/auto-update/elixir
elixir: 1.10.3 -> 1.10.4
2020-07-07 17:47:17 +03:00
Kristoffer Søholm
a8b68fc49f evcxr: wrap evcxr_jupyter binary
evcxr_jupyter needs the same wrapper as the main binary to work.
2020-07-07 15:00:54 +02:00
R. RyanTM
9165adad4d picolisp: 19.12 -> 20.6 2020-07-06 04:04:30 +00:00
Jan Tojnar
3d6fcff625
Merge branch 'staging-next' into staging 2020-07-05 00:00:14 +02:00
R. RyanTM
ec8574ae71 elixir: 1.10.3 -> 1.10.4 2020-07-04 20:50:16 +00:00
Frederik Rietdijk
7935bf793e python37: 3.7.7 -> 3.7.8 2020-07-04 18:13:44 +02:00
Frederik Rietdijk
60fb772ae2 python36: 3.6.10 -> 3.6.11 2020-07-04 18:13:44 +02:00
Vladimír Čunát
e1206a2129
Merge master into staging-next
This brings thousands of rebuilds.
Hydra nixpkgs: ?compare=1597944
2020-07-04 09:15:27 +02:00
Mario Rodas
033204e47a
Merge pull request #92222 from r-ryantm/auto-update/jruby
jruby: 9.2.11.1 -> 9.2.12.0
2020-07-03 18:58:13 -05:00
Mario Rodas
2a208beca4
Merge pull request #92221 from r-ryantm/auto-update/joker
joker: 0.15.4 -> 0.15.5
2020-07-03 18:56:24 -05:00
R. RyanTM
8eb0654d16 jruby: 9.2.11.1 -> 9.2.12.0 2020-07-03 20:04:39 +00:00
R. RyanTM
5e73c358aa joker: 0.15.4 -> 0.15.5 2020-07-03 19:57:53 +00:00
Gabor Greif
f16dc8aaf4 wasmtime: 0.17.0 -> 0.18.0
https://github.com/bytecodealliance/wasmtime/releases/tag/v0.18.0
2020-07-03 01:06:28 +02:00
misuzu
aedbade43e python3Packages.pip: allow setting reproducible temporary directory via NIX_PIP_INSTALL_TMPDIR 2020-07-02 17:27:13 +02:00
Frederik Rietdijk
c33ca7c5ce Merge staging-next into staging 2020-07-02 17:14:53 +02:00
Mario Rodas
55f52680f9
Merge pull request #92011 from r-ryantm/auto-update/janet
janet: 1.10.0 -> 1.10.1
2020-07-02 09:10:51 -05:00
R. RyanTM
426bf48c48 janet: 1.10.0 -> 1.10.1 2020-07-02 12:23:08 +00:00
Mario Rodas
7e623d8c44
Merge pull request #91891 from r-ryantm/auto-update/zef
zef: 0.8.4 -> 0.8.5
2020-06-30 19:19:29 -05:00
R. RyanTM
9de27d21ee zef: 0.8.4 -> 0.8.5 2020-06-30 21:02:04 +00:00
Vincent Laporte
2b8ee31b6d eff: compatibility with JSoO 3.6.0 2020-06-28 09:59:04 +02:00
DavHau
d1c1a0c656 fix indentation in mk-python-derivation.nix 2020-06-27 14:26:03 +00:00
Maximilian Bosch
af064a0e12
php7{2,3}: fix darwin build
* Backported patches from `php-7.4` which fixes the env for all
  `gettext` and `zlib` tests.
* Setting `--with-libxml-dir` is still needed for versions 7.2 and 7.3.
2020-06-25 22:29:23 +02:00
Frederik Rietdijk
fe9a096f46 Merge staging-next into staging 2020-06-25 20:36:08 +02:00
Christian Kauhaus
1d805c99bd php: 7.2.29 -> 7.2.31, 7.3.16 -> 7.3.19, 7.4.6 -> 7.4.7
Point releases contain several security updates and bugfixes.

Changelog: https://www.php.net/ChangeLog-7.php#7.4.7

Fixes #88381
2020-06-25 15:41:31 +02:00
Frederik Rietdijk
6f72f0b0df Merge staging-next into staging 2020-06-24 19:04:26 +02:00
Stig Palmquist
880695f4c5
rakudo: 2020.05.1 -> 2020.06
dependencies:
nqp: 2020.05 -> 2020.06
moarvm: 2020.05 -> 2020.06
2020-06-23 14:16:23 +02:00
Frederik Rietdijk
9c3a585731
Merge pull request #91178 from FRidh/ldshared
python3: improve cross-compilation of extension modules, fixes #91171
2020-06-22 08:47:40 +02:00
Matthew Bauer
74c8e34ece
Merge pull request #91114 from danieldk/clojure-man-pages
clojure: install man pages
2020-06-21 21:33:20 -04:00
Frederik Rietdijk
f03734efa0 python3: improve cross-compilation of extension modules, fixes #91171 2020-06-21 16:29:57 +02:00
Eric Dallo
3d093cbbea
alda: init at 1.4.2 2020-06-20 12:25:02 -03:00
Matthew Bauer
ae423cfeab
Merge pull request #90028 from ggreif/wasmtime
wasmtime: 0.16.0 -> 0.17.0
2020-06-19 16:54:02 -04:00
Daniël de Kok
a6f7a8b010 clojure: install man pages
Also move `makeWrapper` to `nativeBuildInputs`.
2020-06-19 20:24:05 +02:00
Daniël de Kok
ad6c43fb33
Merge pull request #90720 from jlesquembre/clj-547
clojure: 1.10.1.507 -> 1.10.1.547
2020-06-19 20:16:59 +02:00
Mitsuhiro Nakamura
a7d1e40044
gauche: fix path to cert file (#90708) 2020-06-19 11:33:06 -04:00
José Luis Lafuente
64b2789c4e
clojure: 1.10.1.507 -> 1.10.1.547
Patch no longer need, added upstream:
https://clojure.atlassian.net/browse/TDEPS-150
2020-06-18 11:32:39 +02:00
Frederik Rietdijk
79f9ef8752 Merge master into staging-next 2020-06-18 09:01:39 +02:00
Gabriel Gonzalez
459cf94991 Nixpkgs support for dhall-to-nixpkgs
The motivation for this change is to enable a new Dhall command-line
utility called `dhall-to-nixpkgs` which converts Dhall packages to
buildable Nix packages.  You can think of `dhall-to-nixpkgs` as the
Dhall analog of `cabal2nix`.

You can find the matching pull request for `dhall-to-nixpkgs` here:

https://github.com/dhall-lang/dhall-haskell/pull/1826

The two main changes required to support `dhall-to-nixpkgs` are:

* Two new `buildDhall{Directory,GitHub}Package` utilities are added

  `dhall-to-nixpkgs` uses these in the generated output

* `pkgs.dhallPackages` now selects a default version for each package
  using the `prefer` utility

  All other versions are still buildable via a `passthru` attribute
2020-06-17 15:57:21 +02:00
Frederik Rietdijk
b7aec77a7b buildPythonPackage: don't recompile bytecode
There are too many regressions. Instead of reverting all the work that has been
done on this so far, let's just disable it Python-wide. That way we can
investigate and fix it easier.
2020-06-17 14:54:03 +02:00
Frederik Rietdijk
8850815577 Merge master into staging-next 2020-06-17 08:40:33 +02:00
Jonathan Ringer
b6654d9d6c python2Packages: default to dontUsePythonRecompileBytecode = true; 2020-06-16 13:02:50 -07:00
R. RyanTM
af65170aa0 janet: 1.9.1 -> 1.10.0 2020-06-16 03:35:17 +00:00
Frederik Rietdijk
59dda0a42a Merge master into staging-next 2020-06-15 08:07:00 +02:00
John Ericson
fd4dcae884 Merge remote-tracking branch 'upstream/nixpkgs-unstable' into staging 2020-06-14 21:46:35 +00:00
Timo Kaufmann
20e62aa580
Merge pull request #90249 from Ericson2314/fix-old-php
php < 7.4: Fix validation of PKG_CONFIG var
2020-06-14 12:30:36 +02:00
John Ericson
c1b9f86cdd php < 7.4: Fix validation of PKG_CONFIG var
They were assuming it is an absolute path, but it (conventionally) can
be something to look up on the PATH too.

Fixes #90202
2020-06-13 19:06:33 +00:00
Frederik Rietdijk
2e4b4e3300 Merge staging-next into staging 2020-06-13 11:03:26 +02:00
Frederik Rietdijk
1523382160 Merge master into staging-next 2020-06-13 11:02:21 +02:00
Frederik Rietdijk
818cf7827b buildPythonPackage: recompile bytecode for reproducibility
Due to a change in pip the unpacked wheels are no longer reproducible.
We recompile the bytecode to cleanup this error.
https://github.com/NixOS/nixpkgs/issues/81441
2020-06-13 10:36:28 +02:00
Frederik Rietdijk
a7ea828f09 pythonRemoveBinBytecodeHook: fix explanation 2020-06-13 10:20:14 +02:00
Doron Behar
01d4e2fe33 treewide: use ffmpeg_3 explicitly if not wanted otherwise
After making `ffmpeg` point to the latest `ffmpeg_4`, all packages that
used `ffmpeg` without requiring a specific version now use ffmpeg_3
explicitly so they shouldn't change.
2020-06-12 11:55:31 -07:00
Frederik Rietdijk
4087d3fe41 python: don't use optimizations on Darwin
Also, don't use autoreconfHook on Darwin with Python 3.
Darwin builds are still impure and fail with

    ld: warning: directory not found for option '-L/nix/store/6yhj9djska835wb6ylg46d2yw9dl0sjb-configd-osx-10.8.5/lib'
    ld: warning: directory not found for option '-L/nix/store/6yhj9djska835wb6ylg46d2yw9dl0sjb-configd-osx-10.8.5/lib'
    ld: warning: object file (/nix/store/0lsij4jl35bnhqhdzla8md6xiswgig5q-Libsystem-osx-10.12.6/lib/crt1.10.6.o) was built for newer OSX version (10.12) than being linked (10.6)
    DYLD_LIBRARY_PATH=/private/tmp/nix-build-python3-3.8.3.drv-0/Python-3.8.3 ./python.exe -E -S -m sysconfig --generate-posix-vars ;\
    if test $? -ne 0 ; then \
            echo "generate-posix-vars failed" ; \
            rm -f ./pybuilddir.txt ; \
            exit 1 ; \
    fi
    /nix/store/dsb7d4dwxk6bzlm845z2zx6wp9a8bqc1-bash-4.4-p23/bin/bash: line 5: 72015 Killed: 9               DYLD_LIBRARY_PATH=/private/tmp/nix-build-python3-3.8.3.drv-0/Python-3.8.3 ./python.exe -E -S -m sysconfig --generate-posix-vars
    generate-posix-vars failed
    make: *** [Makefile:592: pybuilddir.txt] Error 1
2020-06-12 18:29:08 +02:00
Matthew Bauer
0daaed8730 Revert "Merge pull request #89726 from doronbehar/ruby-gcc-ref"
This reverts commit 6590c33850, reversing
changes made to d659f968ba.
2020-06-11 12:05:14 -05:00
Matthew Bauer
6590c33850
Merge pull request #89726 from doronbehar/ruby-gcc-ref
rubyMinimal: don't reference stdenv.cc
2020-06-11 11:01:39 -05:00
Gabor Greif
557d075d7b wasmtime: 0.16.0 -> 0.17.0
https://github.com/bytecodealliance/wasmtime/releases/tag/v0.17.0
2020-06-10 22:45:49 +02:00
cw
0a5a19f464 erlangR23: init at 23.0.2
Enable parallel builds for recent Erlang/OTP version R22 and R23

Co-authored-by: Tino Breddin <t@tolbrino.com>
2020-06-10 20:06:12 +02:00
Vladimír Čunát
13add13388
Merge branch 'master' into staging-next
... to resolve a trivial conflict in libpcap.
2020-06-10 20:00:44 +02:00
Vladimír Čunát
a5f5d020c6
Merge branch 'staging-next' 2020-06-10 16:13:48 +02:00
R. RyanTM
81c9cc0b60 joker: 0.15.3 -> 0.15.4 2020-06-10 01:51:27 +00:00
Doron Behar
bb8ea13840 rubyMinimal: Disable JIT support and remove cc refs
To make rubyMinimal truely minimal, it shouldn't reference stdenv.cc
2020-06-07 10:32:11 +03:00
Doron Behar
0ab3c6b7d0 ruby: make removeReferencesToCC remove all cc refs
`lib/ruby/${version}/<platform>/rbconfig.rb` records the compiler used
for JIT.
2020-06-07 10:22:22 +03:00
Doron Behar
2da5872b72 ruby: Enable to disable JIT support 2020-06-07 10:18:16 +03:00
Daniël de Kok
1e2b6695cf pythonPackages.setuptoolsBuildHook: do not build in an isolated environment
When a PEP 517 project file is present, pip will not install
prerequisites in `site-packages`:

https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support

For the shell hook, this has the consequence that the generated
temporary directory that is added to PYTHONPATH does not contain
`site.py`. As a result, Python does not discover the Python
module. Thus when a user executes nix-shell in a project, they cannot
import the project's Python module.

This change adds the `--no-build-isolation` option to pip when
creating the editable environment, to correctly generate `site.py`,
even when a `pyproject.toml` is present.
2020-06-06 10:05:26 +02:00
Daniël de Kok
e2309df85e pythonPackages.pipBuildHook: do not build in an isolated environment
When a PEP 517 project file is present, pip will not install
prerequisites in `site-packages`:

https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support

For the shell hook, this has the consequence that the generated
temporary directory that is added to PYTHONPATH does not contain
`site.py`. As a result, Python does not discover the Python
module. Thus when a user executes nix-shell in a project, they cannot
import the project's Python module.

This change adds the `--no-build-isolation` option to pip when
creating the editable environment, to correctly generate `site.py`,
even when a `pyproject.toml` is present.
2020-06-06 10:05:26 +02:00
Frederik Rietdijk
1c68570ab2 Merge staging-next into staging 2020-06-05 19:42:16 +02:00
Frederik Rietdijk
43f71029cc Merge master into staging-next 2020-06-05 19:40:53 +02:00
Frederik Rietdijk
913bee36ed python3Minimal: override python38, not python3
This avoids an infinite recursion, accidentally introduced in b7ff746540.
2020-06-05 16:46:40 +02:00
Frederik Rietdijk
a337c44db6 python3Minimal: disable optimizations
No point for the bootstrapping.
2020-06-04 20:53:31 +02:00
Frederik Rietdijk
bcf03e8cd2 Revert "cpython: Optimize dynamic symbol tables, for a 6% speedup."
ofborg does not like fetching patches when the derivation is used during bootstrapping.

This reverts commit 480c8d1991.
2020-06-04 20:36:31 +02:00
Frederik Rietdijk
a2be64bf13
Merge pull request #84072 from gnprice/python-build
cpython: Use optimizations, for a 25% speedup.
2020-06-04 18:31:07 +02:00
volth
d89c58a012 perl: 5.30.2 -> 5.30.3 2020-06-04 18:14:24 +02:00
Frederik Rietdijk
b7ff746540 python3: now points to python38
Note this also means python3Minimal is now also Python 3.8.

This reverts commit eb1369670b and adds more.
2020-06-04 18:08:29 +02:00
Luflosi
2379e36124 python39: fix build on macOS
Basically the same changes as in 81d15948cc but for python3.9 instead of python3.8.
2020-06-04 17:11:29 +02:00
Frederik Rietdijk
36d9eeb9c7 Merge staging-next into staging 2020-05-29 17:06:01 +02:00
Frederik Rietdijk
c7d25a5db6 Merge master into staging-next 2020-05-29 17:05:38 +02:00
talyz
bfdc832aef
php.buildEnv: Let enabled extensions to pass through by default
If only extraConfig is specified in buildEnv, keep the currently
enabled extensions active. Brought up in #89011.
2020-05-29 00:32:12 +02:00
Frederik Rietdijk
362d88c2b1 Merge staging-next into staging 2020-05-27 15:27:28 +02:00
Frederik Rietdijk
1b7204ab3c Merge master into staging-next 2020-05-27 15:26:50 +02:00
Frederik Rietdijk
0367fa630d python38: 3.8.2 -> 3.8.3 2020-05-27 12:10:25 +02:00
Ryan Mulligan
f1d9510c99
Merge pull request #88761 from r-ryantm/auto-update/rakudo
rakudo: 2020.05 -> 2020.05.1
2020-05-25 07:50:52 -07:00
Jan Tojnar
f8ac6112b5
Merge pull request #84994 from r-ryantm/auto-update/spidermonkey 2020-05-25 15:22:42 +02:00
R. RyanTM
926e43c1c4 rakudo: 2020.05 -> 2020.05.1 2020-05-24 09:02:40 +00:00
Frederik Rietdijk
f17001afd8 Python: fix virtualenv with Python 2 2020-05-24 10:43:24 +02:00
Frederik Rietdijk
98bcf5d8da Python tests: fix use of is_virtualenv
Too many tests set it.
2020-05-24 10:43:24 +02:00
Frederik Rietdijk
c778596f56 Merge master into staging-next 2020-05-24 10:03:22 +02:00
Frederik Rietdijk
2de446e0b8 python.tests: also test virtualenv
Test whether creating a virtualenv functions.
2020-05-23 18:15:45 +02:00
adisbladis
203f382a4a
pypy: Remove bootstrap python from closure 2020-05-23 11:47:11 +01:00
Frederik Rietdijk
b34551384a Merge master into staging-next 2020-05-23 10:24:52 +02:00
Benjamin Andresen
47d4a68bb1 babashka: 0.0.94 -> 0.0.97 2020-05-21 00:10:29 +02:00
R. RyanTM
754562f855 janet: 1.8.1 -> 1.9.1 2020-05-19 08:05:24 +00:00
Jan Tojnar
7f40cfd97b
Merge branch 'master' into staging-next 2020-05-18 21:09:27 +02:00
Mario Rodas
033267eb93
Merge pull request #87921 from ggreif/wasmtime
wasmtime: 0.15.0 -> 0.16.0
2020-05-16 17:33:30 -05:00
Elis Hirwing
726cbe0d40
Merge pull request #87907 from etu/php74-update
php74: 7.4.4 -> 7.4.6
2020-05-16 14:27:44 +02:00
Elis Hirwing
a779efcaa0
php74: 7.4.5 -> 7.4.6
Changelog: https://www.php.net/ChangeLog-7.php#7.4.6
2020-05-16 13:23:23 +02:00
Jon
15b3d9d277
python3Packages.venvShellHook: add postVenvCreation (#87850)
* python3Packages.venvShellHook: add postVenvCreation

* python: docs: add postVenvCreation explaination
2020-05-16 09:34:11 +02:00
Gabor Greif
d89ae377d4 wasmtime-0.16.0: re-enable tests on Darwin
The issue https://github.com/bytecodealliance/wasmtime/issues/1556
appears to be fixed.
2020-05-16 04:56:26 +02:00
Gabor Greif
b39717abff wasmtime: 0.15.0 -> 0.16.0 2020-05-16 04:42:02 +02:00
Elis Hirwing
52d2e99182
php74: 7.4.4 -> 7.4.5
Changelog: https://www.php.net/ChangeLog-7.php#7.4.5
2020-05-15 22:10:03 +02:00
Frederik Rietdijk
92a26320e7 Merge master into staging-next 2020-05-14 09:25:25 +02:00
Colin L Rice
d6162dab50
go-modules: Update files to use vendorSha256 2020-05-14 07:22:21 +01:00
Greg Price
480c8d1991 cpython: Optimize dynamic symbol tables, for a 6% speedup.
I took a close look at how Debian builds the Python interpreter,
because I noticed it ran substantially faster than the one in nixpkgs
and I was curious why.

One thing that I found made a material difference in performance was
this pair of linker flags (passed to the compiler):

    -Wl,-O1 -Wl,-Bsymbolic-functions

In other words, effectively the linker gets passed the flags:

    -O1 -Bsymbolic-functions

Doing the same thing in nixpkgs turns out to make the interpreter
run about 6% faster, which is quite a big win for such an easy
change.  So, let's apply it.

---

I had not known there was a `-O1` flag for the *linker*!
But indeed there is.

These flags are unrelated to "link-time optimization" (LTO), despite
the latter's name.  LTO means doing classic compiler optimizations
on the actual code, at the linking step when it becomes possible to
do them with cross-object-file information.  These two flags, by
contrast, cause the linker to make certain optimizations within the
scope of its job as the linker.

Documentation is here, though sparse:
  https://sourceware.org/binutils/docs-2.31/ld/Options.html

The meaning of -O1 was explained in more detail in this LWN article:
  https://lwn.net/Articles/192624/
Apparently it makes the resulting symbol table use a bigger hash
table, so the load factor is smaller and lookups are faster.  Cool.

As for -Bsymbolic-functions, the documentation indicates that it's a
way of saving lookups through the symbol table entirely.  There can
apparently be situations where it changes the behavior of a program,
specifically if the program relies on linker tricks to provide
customization features:
  https://bugs.launchpad.net/ubuntu/+source/xfe/+bug/644645
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637184#35
But I'm pretty sure CPython doesn't permit that kind of trick: you
don't load a shared object that tries to redefine some symbol found
in the interpreter core.

The stronger reason I'm confident using -Bsymbolic-functions is
safe, though, is empirical.  Both Debian and Ubuntu have been
shipping a Python built this way since forever -- it was introduced
for the Python 2.4 and 2.5 in Ubuntu "hardy", and Debian "lenny",
released in 2008 and 2009.  In those 12 years they haven't seen a
need to drop this flag; and I've been unable to locate any reports
of trouble related to it, either on the Web in general or on the
Debian bug tracker.  (There are reports of a handful of other
programs breaking with it, but not Python/CPython.)  So that seems
like about as thorough testing as one could hope for.

---

As for the performance impact: I ran CPython upstream's preferred
benchmark suite, "pyperformance", in the same way as described in
the previous commit.  On top of that commit's change, the results
across the 60 benchmarks in the suite are:

The median is 6% faster.

The middle half (aka interquartile range) is from 4% to 8% faster.

Out of 60 benchmarks, 3 come out slower, by 1-4%.  At the other end,
5 are at least 10% faster, and one is 17% faster.

So, that's quite a material speedup!  I don't know how big the
effect of these flags is for other software; but certainly CPython
tends to do plenty of dynamic linking, as that's how it loads
extension modules, which are ubiquitous in the stdlib as well as
popular third-party libraries.  So perhaps that helps explain why
optimizing the dynamic linker has such an impact.
2020-05-13 21:24:30 -07:00
Greg Price
52c04b0347 cpython: Use autoreconfHook to rebuild configure script.
In particular this will let us use patches that apply to configure.ac.
2020-05-13 21:23:48 -07:00
Michael Raskin
b2f83be34d
Merge pull request #87546 from FireyFly/pkgs/j/avx-flag
j: add avxSupport option
2020-05-13 23:31:25 +00:00
Jonas Höglund
20235a89f8 j: add avxSupport option 2020-05-14 00:51:13 +02:00
Mario Rodas
6a16787d26
Merge pull request #87649 from filalex77/wasmer-0.17.0
wasmer: 0.16.2 -> 0.17.0
2020-05-13 00:58:59 -05:00
Oleksii Filonenko
e2a5709d9c wasmer: 0.16.2 -> 0.17.0 2020-05-12 08:01:43 +00:00
Greg Price
f8a8243bd3 cpython: Use --enable-optimizations, for a 16% speedup.
Without this flag, the configure script prints a warning at the end,
like this (reformatted):

  If you want a release build with all stable optimizations active
  (PGO, etc), please run ./configure --enable-optimizations

We're doing a build to distribute to people for day-to-day use,
doing things other than developing the Python interpreter.  So
that's certainly a release build -- we're the target audience for
this recommendation.

---

And, trying it out, upstream isn't kidding!  I ran the standard
benchmark suite that the CPython developers use for performance
work, "pyperformance".  Following its usage instructions:
  https://pyperformance.readthedocs.io/usage.html
I ran the whole suite, like so:

  $ nix-shell -p ./result."$variant" --run '
      cd $(mktemp -d); python -m venv venv; . venv/bin/activate
      pip install pyperformance
      pyperformance run -o ~/tmp/result.'"$variant"'.json
    '

and then examined the results with commands like:

  $ python -m pyperf compare_to --table -G \
      ~/tmp/result.{$before,$after}.json

Across all the benchmarks in the suite, the median speedup was 16%.
(Meaning 1.16x faster; 14% less time).

The middle half of them ranged from a 13% to a 22% speedup.

Each of the 60 benchmarks in the suite got faster, by speedups
ranging from 3% to 53%.

---

One reason this isn't just the default to begin with is that, until
recently, it made the build a lot slower.  What it does is turn on
profile-guided optimization, which means first build for profiling,
then run some task to get a profile, then build again using the
profile.  And, short of further customization, the task it would use
would be nearly the full test suite, which includes a lot of
expensive and slow tests, and can easily take half an hour to run.

Happily, in 2019 an upstream developer did the work to carefully
select a more appropriate set of tests to use for the profile:
  https://github.com/python/cpython/commit/4e16a4a31
  https://bugs.python.org/issue36044
This suite takes just 2 minutes to run.  And the resulting final
build is actually slightly faster than with the much longer suite,
at least as measured by those standard "pyperformance" benchmarks.
That work went into the 3.8 release, but the same list works great
if used on older releases too.

So, start passing that --enable-optimizations flag; and backport
that good-for-PGO set of tests, so that we use it on all releases.
2020-05-11 23:37:04 -07:00
Jörg Thalheim
fa44d3ad71
Merge pull request #86593 from bandresen/babashka_versionbump
babashka: 0.0.89 -> 0.0.94
2020-05-12 00:00:39 +01:00
Benjamin Andresen
cb9b1167e3 babashka: 0.0.89 -> 0.0.94 2020-05-11 22:57:49 +02:00
Jonathan Ringer
884436b254 pythonPackages.pytestCheckHook: disable setuptoolsCheckPhase 2020-05-11 22:12:08 +02:00
Frederik Rietdijk
a0b4e664c0 Merge staging-next into staging 2020-05-11 22:09:27 +02:00
Frederik Rietdijk
4ddd080d19 Merge staging-next into staging 2020-05-10 09:45:44 +02:00
talyz
9f09253e52
php.buildPecl: Allow PECLs to depend on other PECLs
Some PECLs depend on other PECLs and, like internal PHP extension
dependencies, need to be loaded in the correct order. This makes this
possible by adding the argument "peclDeps" to buildPecl, which adds
the extension to buildInputs and is treated the same way as
internalDeps when the extension config is generated.
2020-05-09 23:38:21 +02:00
adisbladis
2e69f8977d
Merge pull request #87138 from lukegb/fix-php
php: correctly set outputsToInstall after withExtensions.
2020-05-09 15:40:35 +02:00
Jörg Thalheim
887295fd2d
treewide: remove the-kenny from maintainers
@the-kenny did a good job in the past and is set as maintainer in many package,
however since 2017-2018 he stopped contributing. To create less confusion
in pull requests when people try to request his feedback, I removed him as
maintainer from all packages.
2020-05-09 10:28:57 +01:00
Josef Kemetmüller
3818cd9049 python: Fix creating RPMs from Python packages
This should enable (manual) building of RPMs from python projects using
the `python setup.py bdist_rpm` command on systems where `rpmbuild` is
not located in `/usr/bin/`. (e.g. NixOS)
The discovery of the rpmbuild command was fixed upstream in Python 3.8,
so this commit backports the relevant patch to our currently supported
Python 3 versions.

Fixes: #85204
2020-05-09 11:15:28 +02:00
Izorkin
4b93708b31 ruby: fix soname tag 2020-05-08 09:36:01 +03:00
R. RyanTM
9be92a964a mujs: 1.0.6 -> 1.0.7 2020-05-06 23:22:01 -07:00
Luke Granger-Brown
c13df548a3 php: override outputsToInstall when using withExtensions
At the moment, using .withExtensions on a PHP derivation will
produce something which can't be used inside an
environment.systemPackages array, because outputsToInstall refers
to an output which doesn't exist on the final derivation.

Instead, override it back to just containing the single output
"out".
2020-05-06 21:44:27 +01:00
Stig Palmquist
cc1a17145e
rakudo: 2020.02.1 -> 2020.05
dependencies:
moarvm: 2020.02.1 -> 2020.05
nqp: 2020.02.1 -> 2020.05
2020-05-06 15:20:57 +02:00
Jörg Thalheim
f1eef414d1
Merge pull request #80655 from hlolli/release/fix-lumo 2020-05-06 07:42:32 +01:00
cw
e506284193 elixir_1_10: 1.10.2 -> 1.10.3 2020-05-05 20:13:31 +02:00
Mario Rodas
746d4d184a
Merge pull request #86932 from r-ryantm/auto-update/joker
joker: 0.15.0 -> 0.15.3
2020-05-05 08:02:04 -05:00
R. RyanTM
28bea11385 joker: 0.15.0 -> 0.15.3 2020-05-05 12:18:09 +00:00
R. RyanTM
e337e01dde groovy: 3.0.2 -> 3.0.3 2020-05-05 11:27:26 +00:00
hlolli
a8a2337c15
lumo 1.10.1: fix missing npm dependency 2020-05-04 22:17:10 +02:00
tckmn
7493a7eb91
jelly: init at 0.1.31 (#82178) 2020-05-04 18:31:03 +05:30
Ryan Mulligan
64c0e5f7c3
Merge pull request #86762 from r-ryantm/auto-update/zef
zef: 0.8.3 -> 0.8.4
2020-05-04 05:54:49 -07:00
R. RyanTM
5f96bbf67b zef: 0.8.3 -> 0.8.4 2020-05-04 11:31:05 +00:00
Jörg Thalheim
0f52291a51
Merge pull request #85602 from nomeata/joachim/bumpwasmtime 2020-05-04 11:19:55 +01:00
Joachim Breitner
11894914e4 Disable test suite on darwin
no regression over `master` where the test suite didn’t run at all
2020-05-04 10:19:25 +02:00
Pavol Rusnak
7b0167204d treewide: use https for nixos.org and hydra.nixos.org
tarballs.nixos.org is omitted from the change because urls from there
are always hashed and checked
2020-05-03 22:14:21 -07:00
Mario Rodas
eafd5b4d1b
racket: 7.6 -> 7.7 2020-05-03 04:20:00 -05:00
Pavol Rusnak
420124adf8 python: remove isPy33, isPy34 2020-05-04 18:49:45 -07:00
Joachim Breitner
566cd87dee wasmtime : 0.12.0 -> 0.15.0
and enable tests again, now that upstream fixed stuff.
2020-05-02 19:40:23 +02:00
Daiderd Jordan
727d9317fb
bats: fixup readlink reference
Using `readlink -f` requires coreutils, on platforms like darwin where
this isn't the GNU variant by default it would fail outide of a
nix-shell.
2020-05-02 11:46:37 +02:00
R. RyanTM
a0aae69936 bats: 1.1.0 -> 1.2.0 2020-05-02 02:31:25 +00:00
Nathan van Doorn
229cdf3d99 metamath: 0.181 -> 0.182
Also includes a fix to the makefile that lets the autoconf stuff Just Work(tm)
2020-05-01 09:22:33 +02:00
Vladimír Čunát
b9f359b167
Merge #85483: luajit*: bump to 2020-03-20, GC64 mode switch 2020-05-01 08:27:38 +02:00
Jesse Wattenbarger
5f26d13f37
hy: 0.17.0 -> 0.18.0 (#84661)
Co-Authored-By: Jon <jonringer@users.noreply.github.com>
2020-04-29 22:19:15 +01:00
Elis Hirwing
6d5b0b13f3
php: Set maintainer team as maintainers
Also passthrough the meta of the package to have description,
homepage, license, maintainers and other metadata passed through to
the commonly used attribute.
2020-04-29 20:11:40 +02:00
Elis Hirwing
27b9b7b3af
Merge pull request #85026 from talyz/php_buildenv_override
php.buildEnv: Make the exported php package overridable, improve handling of currently enabled extensions, etc
2020-04-29 19:57:37 +02:00
Elis Hirwing
410c38f317
Revert "PHP maintainer team" 2020-04-29 19:56:37 +02:00
Elis Hirwing
3b21abb3d3
Merge pull request #85575 from etu/php-maintainer-team
PHP maintainer team
2020-04-29 19:56:03 +02:00
talyz
2535cdfe91
php: Unify the usage of the php package in php-packages.nix
Instead of using two different php packages in php-packages.nix, one
wrapper and one unwrapped, simply use the wrapper and use its
"unwrapped" attribute when necessary. Also, get rid of the packages
and extensions attributes from the base package, since they're no
longer needed.
2020-04-29 13:59:29 +02:00
talyz
5cad1b4aff
php: Get rid of the phpXXbase attributes, update docs
Since the introduction of php.unwrapped there's no real need for the
phpXXbase attributes, so let's remove them to lessen potential
confusion and clutter. Also update the docs to make it clear how to
get hold of an unwrapped PHP if needed.
2020-04-29 13:45:48 +02:00
talyz
3bfd4e864f
php: Add passthru.tests 2020-04-29 13:45:07 +02:00
talyz
ef990961bc
php.buildEnv: Provide the unwrapped php package in php.unwrapped
This is useful if you need to access the dev output of the unwrapped
derivation.
2020-04-29 13:44:20 +02:00