Commit Graph

4514 Commits

Author SHA1 Message Date
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
Maximilian Bosch
385eeb4c35
Merge pull request #99377 from etu/php73-update
php73: 7.3.20 -> 7.3.23
2020-10-03 17:44:13 +02:00
Maximilian Bosch
73cf983321
Merge pull request #99376 from etu/php74-update
php74: 7.4.8 -> 7.4.11
2020-10-03 17:22:50 +02:00
Patrick Hilhorst
b133532434 treewide: remove some trailing whitespace to please ofborg 2020-10-02 09:01:35 -07:00
Patrick Hilhorst
f7e390e6d4 treewide: fix redirected urls (run 3)
Related:
 - 9fc5e7e473
 - 593e11fd94
 - 508ae42a0f

Since the last time I ran this script, the Repology API changed, so I had to
adapt the script used in the previous PR. The new API should be more robust, so
overall this is a positive (no more grepping the error messages for our relevant
data but just a nice json structure).

Here's the new script I used:

```sh
curl https://repology.org/api/v1/repository/nix_unstable/problems \
   | jq -r '.[] | select(.type == "homepage_permanent_https_redirect") | .data | "s@\(.url)@\(.target)@"' \
   | sort | uniq | tee script.sed
find -name '*.nix' | xargs -P4 -- sed -f script.sed -i
```

I will also add this script to `maintainers/scripts`.
2020-10-02 09:01:35 -07:00
Elis Hirwing
e04af50179
php73: 7.3.20 -> 7.3.23
- https://www.php.net/ChangeLog-7.php#7.3.21
 - https://www.php.net/ChangeLog-7.php#7.3.22
 - https://www.php.net/ChangeLog-7.php#7.3.23
2020-10-02 13:07:25 +02:00
Elis Hirwing
a792db658f
php74: 7.4.8 -> 7.4.11
https://www.php.net/ChangeLog-7.php#7.4.9
https://www.php.net/ChangeLog-7.php#7.4.10
https://www.php.net/ChangeLog-7.php#7.4.11
2020-10-02 12:58:58 +02:00
Chris Wögi
0253c131e5
erlangR23: 23.0.3 -> 23.1 (#98646)
Co-authored-by: cw <789@webuhu.at>
2020-10-01 18:09:47 +02:00
Maciej Krüger
5ad43894f2
spidermonkey_38: mark as insecure 2020-10-01 10:00:24 +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
Ben Sima
976d2e5c0d shen-sources: set platforms to all
See https://github.com/NixOS/nixpkgs/pull/88915#issuecomment-636138041
2020-05-29 12:08:29 -07:00
Ben Sima
eaa851c41f shen-sbcl: set platforms to same as sbcl
See https://github.com/NixOS/nixpkgs/pull/88915#issuecomment-636138041
2020-05-29 12:07:53 -07: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
Ben Sima
12ce76d7a5 shen-sbcl: init at 3.0.3 2020-05-26 15:28:28 -07:00
Ben Sima
5303493efc shen-sources: init at 22.3 2020-05-26 15:28:09 -07: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
talyz
c3d5d92f4a
php.buildEnv: Add phpIni attribute for easy access to the php.ini 2020-04-29 12:12:59 +02:00
Eric Dallo
5e4fe400c0
dart: 2.7.1 -> 2.7.2 (stable) + 2.8.0-dev.10.0 -> 2.9.0-4.0.dev (dev) 2020-04-28 09:56:30 -03:00
Jörg Thalheim
bd282ba93d
Merge pull request #84350 from bandresen/babashka_0.0.78->0.0.79
babashka: 0.0.78 -> 0.0.89
2020-04-27 16:15:32 +01:00
Luka Blaskovic
b67cbe5a2d luajit_2_0, luajit_2_1: bump to 2020-03-20, GC64 mode switch 2020-04-27 07:42:21 +00:00
talyz
d61040716e
php.buildEnv: Automatically include extension dependencies
Some extensions depend on other extensions. Previously, these had to
be added manually to the list of included extensions, or we got a
cryptic error message pointing to strings-with-deps.nix, which wasn't
very helpful. This makes sure all required extensions are included in
the set from which textClosureList chooses its snippets.
2020-04-26 16:43:29 +02:00
talyz
72636bc2f6
php: Get rid of all config.php parameters
Since all options controlled by the config.php parameters can now be
overridden directly, there's no reason to keep them around.
2020-04-26 16:43:23 +02:00
talyz
2ba7926959
php.buildEnv: Provide a list of currently enabled extensions
Rework withExtensions / buildEnv to handle currently enabled
extensions better and make them compatible with override. They now
accept a function with the named arguments enabled and all, where
enabled is a list of currently enabled extensions and all is the set
of all extensions. This gives us several nice properties:

 - You always get the right version of the list of currently enabled
   extensions

 - Invocations chain

 - It works well with overridden PHP packages - you always get the
   correct versions of extensions

As a contrived example of what's possible, you can add ImageMagick,
then override the version and disable fpm, then disable cgi, and
lastly remove the zip extension like this:

{ pkgs ? (import <nixpkgs>) {} }:
with pkgs;

let
  phpWithImagick = php74.withExtensions ({ all, enabled }: enabled ++ [ all.imagick ]);

  phpWithImagickWithoutFpm743 = phpWithImagick.override {
    version = "7.4.3";
    sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
    fpmSupport = false;
  };

  phpWithImagickWithoutFpmZip743 = phpWithImagickWithoutFpm743.withExtensions (
    { enabled, all }:
      lib.filter (e: e != all.zip) enabled);

  phpWithImagickWithoutFpmZipCgi743 = phpWithImagickWithoutFpmZip743.override {
    cgiSupport = false;
  };
in
  phpWithImagickWithoutFpmZipCgi743
2020-04-26 16:43:05 +02:00
Benjamin Andresen
f6ee88f41e babashka: increase java heap space max to 4500
3g has very long build times and also doesn't build 100% of the time
it's also the new default since:
7fc33dcb21
2020-04-26 13:17:52 +02:00
Frederik Rietdijk
6f873e98f4 Python integration tests: disable for older python 3 versions
because the package that is used as part of the test does not support
older versions.
2020-04-25 07:59:37 +02:00
Frederik Rietdijk
71171b3225 Python tests: test venv from a nix env with Python 3.8
This test was disabled because it did not function yet, however,
apparently it does with 3.8.
2020-04-25 07:59:37 +02:00
Benjamin Andresen
a7f59a5946 babashka: utf8 + nativeBuildinputs fix
utf8: see borkdude/babashka/issues/359
nativeBuildinputs: this PR's review
2020-04-24 19:47:49 +02:00
Benjamin Andresen
07f69d4e37 babashka: 0.0.78 -> 0.0.89 2020-04-24 19:47:33 +02:00
talyz
abedfadd73
php.buildEnv: Respect override
Make buildEnv take earlier overridden values into account by
forwarding all arguments (a merge of generic's arguments, all previous
arguments and the current arguments) to the next invocation of
buildEnv.
2020-04-24 18:48:29 +02:00
talyz
dde5f5f899
php: Make all arguments to a PHP build overridable
Make all arguments to a PHP build overridable; i.e, both configuration
flags, such as valgrindSupport, and packages, such as valgrind:

php.override { valgrindSupport = false; valgrind = valgrind-light; }

This applies to packages built by generic and buildEnv/withExtensions;
i.e, it works with both phpXX and phpXXBase packages.

The following changes were also made to facilitate this:

 - generic and generic' are merged into one function

 - generic now takes all required arguments for a complete build and
   is meant to be called by callPackage

 - The main function called from all-packages.nix no longer takes all
   required arguments for a complete build - all arguments passed to it
   are however forwarded to the individual builds, thus default
   arguments can still be overridden from all-packages.nix
2020-04-24 18:41:53 +02:00
talyz
a463261415
php.buildEnv: Make the exported php package overridable
This implements the override pattern for builds done with buildEnv, so
that we can, for example, write

php.override { fpmSupport = false; }

and get a PHP package with the default extensions enabled, but PHP
compiled without fpm support.
2020-04-24 13:05:37 +02:00
Keshav Kini
7fb25b93a4 acl2: 8.2 -> 8.3 2020-04-23 17:15:41 -07:00
Elis Hirwing
d3605d66ed
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-22 06:47:58 +02:00
Frederik Rietdijk
23be4a8b4d Merge master into staging-next 2020-04-21 19:59:56 +02:00
Frederik Rietdijk
cf1a68360e python2: 2.7.17 -> 2.7.18 2020-04-21 11:21:39 +02:00
Matthew Bauer
ff2f2644f8 blas,lapack: use isILP64 instead of is64bit
This is a better name since we have multiple 64-bit things that could
be referred to.

LP64  : integer=32, long=64, pointer=64
ILP64 : integer=64, long=64, pointer=64
2020-04-20 16:02:43 -05:00
Michael Raskin
916aa568a2
Merge pull request #85547 from AshyIsMe/j901
j: 807 -> 901
2020-04-20 00:57:34 +00:00
Aaron Ash
0c454c46f4 j: 807 -> 901
Upgrade j to 901.
Uses the newer build scripts in the make2 directory in the jsource repo.
2020-04-20 06:27:20 +10:00
Matthew Bauer
a2d9f58433
Merge pull request #85512 from ggreif/wasmtime
wasmtime-0.12.0: fix cargoSha256
2020-04-18 22:03:24 -05:00
Gabor Greif
94d88d3b70 wasmtime-0.12.0: fix cargoSha256 2020-04-18 21:30:29 +02:00
Vladimír Čunát
d96487b9ca
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1582510
2020-04-18 07:42:26 +02:00
Matthew Bauer
1c8aba8334 treewide: use blas and lapack
This makes packages use lapack and blas, which can wrap different
BLAS/LAPACK implementations.

treewide: cleanup from blas/lapack changes

A few issues in the original treewide:

- can’t assume blas64 is a bool
- unused commented code
2020-04-17 16:24:09 -05:00
Florian Klink
357be5c66c
Merge pull request #85385 from takikawa/racket-enable-useprefix
racket: use --enable-useprefix configure flag.
2020-04-17 13:17:00 +02:00
Maximilian Bosch
cd5bc89cca
evcxr: 0.5.0 -> 0.5.1
582ce09f21/RELEASE_NOTES.md (version-051)
2020-04-17 00:28:12 +02:00
Asumu Takikawa
b271255ede racket: use --enable-useprefix configure flag.
This is to fix a regression in upstream Racket packaging, the upstream
bug tracking this is here:

  https://github.com/racket/racket/issues/3046

When the bug is fixed this workaround will be unnecessary.
2020-04-16 09:49:21 -07:00
Jan Tojnar
3d8e436917
Merge branch 'master' into staging-next 2020-04-16 10:09:43 +02:00
Joachim Breitner
acc5a9c55f wasmtime: Do not prefix version with v
it seems that this breaks the use of `nix-env -i wasmtime`
2020-04-14 20:23:48 +02:00
Jan Tojnar
a04625379a
Merge branch 'master' into staging-next 2020-04-13 18:50:35 +02:00
R. RyanTM
d744f0f3d7 supercollider: 3.10.4 -> 3.11.0 2020-04-13 00:42:34 -07:00
Gabriel Gonzalez
9f2dd99705 Upate buildDhallPackage to use default version of Dhall
Now that the default version is sufficiently new we don't need to
pin the Dhall version any longer in `buildDhallPackage`
2020-04-11 09:07:58 -07:00
R. RyanTM
7b6ebea667 spidermonkey_68: 68.4.2 -> 68.7.0 2020-04-11 13:01:38 +00:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Jan Tojnar
1ab03c3a76
Merge branch 'master' into staging-next 2020-04-10 12:12:56 +02:00
talyz
472d5c187b
php.buildEnv: Don't inherit dev from the original php
mkDerivation uses the dev output in buildInputs if it exits, hence the
php-with-extensions package was never built or put into the path of
packages dependent on it during build. With this fix, the php packages
built with buildEnv or withExtensions don't have any dev outputs;
packages which need the dev output can refer to the phpXXbase packages
instead.
2020-04-08 15:13:07 +02:00
R. RyanTM
d6d2007e7c groovy: 3.0.0 -> 3.0.2 2020-04-07 12:24:19 -07:00
Maximilian Bosch
de083945f2
Merge pull request #84389 from etu/php-updates
php: 7.2.28 -> 7.2.29, 7.3.15 -> 7.3.16, 7.4.3 -> 7.4.4
2020-04-06 17:48:18 +02:00
Frederik Rietdijk
2420184727 Merge staging into staging-next 2020-04-06 08:54:28 +02:00
Mario Rodas
1c7b7c8fee
Merge pull request #84404 from r-ryantm/auto-update/jruby
jruby: 9.2.11.0 -> 9.2.11.1
2020-04-05 19:56:56 -05:00
Mario Rodas
6fca9ab047
Merge pull request #84403 from r-ryantm/auto-update/joker
joker: 0.14.2 -> 0.15.0
2020-04-05 19:55:55 -05:00
R. RyanTM
84c2b8324d jruby: 9.2.11.0 -> 9.2.11.1 2020-04-05 22:06:39 +00:00
R. RyanTM
89840eb7ae joker: 0.14.2 -> 0.15.0 2020-04-05 22:01:56 +00:00
Elis Hirwing
8272ebe961
php72: 7.2.28 -> 7.2.29
Changelog: https://www.php.net/ChangeLog-7.php#7.2.29
2020-04-05 22:22:40 +02:00
Elis Hirwing
1118080dc0
php73: 7.3.15 -> 7.3.16
Changelog: https://www.php.net/ChangeLog-7.php#7.3.16
2020-04-05 22:22:26 +02:00
Elis Hirwing
faf79b6384
php74: 7.4.3 -> 7.4.4
Changelog: https://www.php.net/ChangeLog-7.php#7.4.4
2020-04-05 22:05:16 +02:00
Elis Hirwing
3b6539896b
Merge pull request #83896 from etu/slim-down-default-php-v3
PHP: Make the default package more sane [v3]
2020-04-05 20:00:03 +02:00
Benjamin Hipple
0454fae7ca
Merge pull request #84130 from OmnipotentEntity/rfc45-part2
treewide: quoted urls for RFC45, only the rebuilds
2020-04-05 11:15:20 -04:00
talyz
ca8b8a26e9
php: Add enabledExtensions attribute to PHP derivations
This provides a means to build a PHP package based on a list of
extensions from another.

For example, to generate a package with all default extensions
enabled, except opcache, but with ImageMagick:

php.withExtensions (e:
  (lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
  ++ [ e.imagick ])
2020-04-05 16:46:38 +02:00
talyz
b4d289a7ae
php: Add missing hash extension to php < 7.4 2020-04-05 16:45:53 +02:00
talyz
1345e5b763
php: Add withExtensions as a simpler alternative to buildEnv 2020-04-05 16:45:47 +02:00
talyz
4ff523f691
php: Simplify php-packages import, rename exts -> extensions 2020-04-05 16:45:41 +02:00