Commit Graph

4177 Commits

Author SHA1 Message Date
Orivej Desh
1b89aa3f7a Merge branch 'master' into staging 2020-03-23 00:53:16 +00:00
Mario Rodas
618075428b joker: fix build on darwin 2020-03-21 05:29:00 -05:00
Jonathan Ringer
a9c994ad0b python: add pythonNamespacesHook 2020-03-18 12:20:51 -07:00
Mario Rodas
ef35625322
Merge pull request #79920 from r-ryantm/auto-update/groovy
groovy: 2.5.9 -> 3.0.0
2020-03-17 08:28:38 -05:00
cw
98f6a60460 erlangR22: 22.1.7 -> 22.3 2020-03-17 06:54:06 +01:00
Benno Fünfstück
ef3175bcfa racket: enable building on aarch64 2020-03-16 15:23:31 +01:00
Elis Hirwing
f1dfb6e0f5
php: get rid of with lib; used on entire file 2020-03-15 18:04:57 +01:00
Elis Hirwing
6100ac4ab2
php: remove unsupported options
- mcrypt was removed in 7.2
 - mhash was integrated into hash in 7.0
2020-03-15 18:04:25 +01:00
Elis Hirwing
da3384a25d
php: Re-indent main derivation 2020-03-15 10:27:37 +01:00
Frederik Rietdijk
7447fff95a
Fix sys.prefix in case of a Nix env
The prefix will now be correct in case of Nix env.

Note, however, that creating a venv from a Nix env still does not function. This does not seem to be possible
with the current approach either, because venv will copy or symlink our Python wrapper. In case it symlinks
(the default) it won't see a pyvenv.cfg. If it is copied I think it should function but it does not...
2020-03-14 21:39:32 +00:00
adisbladis
753122388d
Python: Add integration test verifying NIX_PYTHONPATH with Mypy 2020-03-14 21:39:32 +00:00
adisbladis
05571d3059
Python Add test for NIX_PYTHONPREFIX 2020-03-14 21:39:31 +00:00
adisbladis
d88a7735d2
Python: introduce NIX_PYTHONPREFIX in order to set site.PREFIXES
This is needed in case of `python.buildEnv` to make sure site.PREFIXES
does not only point to the unwrapped executable prefix.

--------------------------------------------------------------------------------

This PR is a story where your valiant hero sets out on a very simple adventure but ends up having to slay dragons, starts questioning his own sanity and finally manages to gain enough knowledge to slay the evil dragon and finally win the proverbial price.

It all started out on sunny spring day with trying to tackle the Nixops plugin infrastructure and make that nice enough to work with.

Our story begins in the shanty town of [NixOps-AWS](https://github.com/nixos/nixops-aws) where [mypy](http://mypy-lang.org/) type checking has not yet been seen.

As our deuteragonist (@grahamc) has made great strides in the capital city of [NixOps](https://github.com/nixos/nixops) our hero wanted to bring this out into the land and let the people rejoice in reliability and a wonderful development experience.

The plugin work itself was straight forward and our hero quickly slayed the first small dragon, at this point things felt good and our hero thought he was going to reach the town of NixOps-AWS very quickly.

But alas! Mypy did not want to go, it said:
`Cannot find implementation or library stub for module named 'nixops'`

Our hero felt a small sliver of life escape from his body. Things were not going to be so easy.

After some frustration our hero discovered there was a [rule of the land of Python](https://www.python.org/dev/peps/pep-0561/) that governed the import of types into the kingdom, more specificaly a very special document (file) called `py.typed`.
Things were looking good.

But no, what the law said did not seem to match reality. How could things be so?

After some frustrating debugging our valiant hero thought to himself "Hmm, I wonder if this is simply a Nix idiosyncrasy", and it turns out indeed it was.
Things that were working in the blessed way of the land of Python (inside a `virtualenv`) were not working the way they were from his home town of Nix (`nix-shell` + `python.withPackages`).

After even more frustrating attempts at reading the mypy documentation and trying to understand how things were supposed to work our hero started questioning his sanity.
This is where things started to get truly interesting.

Our hero started to use a number of powerful weapons, both forged in the land of Python (pdb) & by the mages of UNIX (printf-style-debugging & strace).

After first trying to slay the dragon simply by `strace` and a keen eye our hero did not spot any weak points.
Time to break out a more powerful sword (`pdb`) which also did not divulge any secrets about what was wrong.

Our hero went back to the `strace` output and after a fair bit of thought and analysis a pattern started to emerge. Mypy was looking in the wrong place (i.e. not in in the environment created by `python.withPackages` but in the interpreter store path) and our princess was in another castle!

Our hero went to the pub full of old grumpy men giving out the inner workings of the open source universe (Github) and acquired a copy of Mypy.
He littered the code with print statements & break points.
After a fierce battle full of blood, sweat & tears he ended up in 20f7f2dd71/mypy/sitepkgs.py and realised that everything came down to the Python `site` module and more specifically https://docs.python.org/3.7/library/site.html#site.getsitepackages which in turn relies on https://docs.python.org/3.7/library/site.html#site.PREFIXES .

Our hero created a copy of the environment created by `python.withPackages` and manually modified it to confirm his findings, and it turned out it was indeed the case.
Our hero had damaged the dragon and it was time for a celebration.

He went out and acquired some mead which he ingested while he typed up his story and waited for the dragon to finally die (the commit caused a mass-rebuild, I had to wait for my repro).

In the end all was good in [NixOps-AWS](https://github.com/nixos/nixops-aws)-town and type checks could run. (PR for that incoming tomorrow).
2020-03-14 21:39:31 +00:00
Frederik Rietdijk
13e7a3e112 Python: introduce tests for interpreters
This adds tests to the passthru of all Python interpreters.
2020-03-14 15:05:37 +01:00
Frederik Rietdijk
dbf125d286 Python: introduce tests for interpreters
This adds tests to the passthru of all Python interpreters.
2020-03-14 15:01:30 +01:00
Graham Christensen
39aac70d74 pythonMinimal: don't include site-customise
Experimenting with patching the site-customize file causes mass
rebuilds for no reason.
2020-03-14 15:02:51 +01:00
Frederik Rietdijk
0c13b0d7d3 Merge staging-next into staging 2020-03-14 14:34:59 +01:00
Nathan van Doorn
dd938aa157 metamath: 0.180 -> 0.181 2020-03-14 03:24:44 +00:00
John Ericson
84497cabd1 Merge remote-tracking branch 'upstream/master' into staging 2020-03-13 17:39:11 -04:00
Maximilian Bosch
37b590dc45
wasmer: 0.13.0 -> 0.16.2 2020-03-12 19:06:47 +01:00
Frederik Rietdijk
21f47e641b Merge staging-next into staging 2020-03-12 12:00:40 +01:00
Frederik Rietdijk
31855d74a3 python3: 3.7.6 -> 3.7.7 2020-03-12 12:00:26 +01:00
Lancelot SIX
605640b294 guile: 2.2.6 -> 2.2.7
See https://lists.gnu.org/archive/html/info-gnu/2020-03/msg00004.html
for release information
2020-03-11 23:56:38 +00:00
Elis Hirwing
5bf47ab9bb
php72: 7.2.27 -> 7.2.28
Changelog: https://www.php.net/ChangeLog-7.php#7.2.28
2020-03-11 20:13:56 +01:00
Elis Hirwing
8f4cb37116
php73: 7.3.14 -> 7.3.15
Changelog: https://www.php.net/ChangeLog-7.php#7.3.15
2020-03-11 20:12:34 +01:00
Maximilian Bosch
0bf5619fe0
php: add buildEnv function for additional config on the CLI SAPI
Initially discussed in #55460.

This patch adds a `buildEnv` function to `php` that has the
following features:

* `php.buildEnv { extraConfig = /* ... */; }` to specify custom
  `php.ini` args for the CLI.

* `php.buildEnv { exts = phpPackages: [phpPackages.apcu] }` to
  create a PHP interpreter for the CLI with the `apcu` extension.
2020-03-09 20:41:28 +01:00
Frederik Rietdijk
188c3a4d03 Merge staging-next into staging 2020-03-06 07:09:30 +01:00
Mario Rodas
a9368dfb1a
Merge pull request #81792 from r-ryantm/auto-update/jruby
jruby: 9.2.10.0 -> 9.2.11.0
2020-03-05 07:05:50 -05:00
Mario Rodas
1193f8e7ed
Merge pull request #81790 from r-ryantm/auto-update/joker
joker: 0.14.1 -> 0.14.2
2020-03-05 07:05:04 -05:00
R. RyanTM
d08fb3b922 jruby: 9.2.10.0 -> 9.2.11.0 2020-03-05 02:42:20 +00:00
R. RyanTM
94c7f25f69 joker: 0.14.1 -> 0.14.2 2020-03-05 02:36:00 +00:00
Jan Tojnar
1a44e325d2
Merge branch 'staging-next' into staging 2020-03-04 21:24:05 +01:00
Jan Tojnar
88b22b6890
php74: 7.4.2 → 7.4.3
https://github.com/php/php-src/blob/php-7.4.3/NEWS#L3-L90
2020-03-04 20:22:15 +01:00
Jonathan Ringer
3973a3c79c python: add pythonRemoveTestsDirHook
This will automatically remove a top-level "tests"
directory from being installed.
2020-03-03 20:01:00 +01:00
Jonathan Ringer
fe4580359e python39: 3.9.0.a3 -> 3.9.0.a4 2020-03-03 07:33:39 +01:00
Jonathan Ringer
2a019cc48c python38: 3.8.1 -> 3.8.2 2020-03-03 07:33:39 +01:00
Vladimír Čunát
4d954e528d
Merge #80714: icon-lang: fix build 2020-03-02 16:15:53 +01:00
Mario Rodas
8a863c2973
Merge pull request #81364 from ggreif/wasmtime-0.12
wasmtime: 0.8.0 -> 0.12.0
2020-03-02 08:08:14 -05:00
Gabor Greif
aaf997511b wasmtime: bump to v0.12.0 (from v0.8.0)
- moved to modern cargo fetcher
- removed patch (not needed)
- disabled test (due to bytecodealliance/wasmtime#1197)
2020-03-01 02:34:43 +01:00
Frederik Rietdijk
79217339d2 Merge master into staging-next 2020-02-29 15:29:11 +01:00
Emily
6d3fc35620 pypy{,3}: use openssl_1_1
"We now support building PyPy with OpenSSL 1.1 in our built-in _ssl
module, as well as maintaining support for previous versions."
-- https://pypy.readthedocs.io/en/latest/release-pypy2.7-v5.6.0.html
2020-02-28 16:06:20 +00:00
Jan Tojnar
bb701376cf
Merge branch 'master' into staging-next 2020-02-28 11:30:44 +01:00
Stig Palmquist
ccb142916c rakudo: 2020.01.1 -> 2020.02
dependencies:
moarvm: 2020.01.1 -> 2020.02
nqp: 2020.01 -> 2020.01

recommended:
zef: 0.8.2 -> 0.8.3
2020-02-27 22:00:27 -06:00
worldofpeace
14474ff8b5
Merge pull request #78475 from GRBurst/dart
dart: 2.0.0 -> 2.7.1 (stable) + 2.0.0 -> 2.8.0-dev.10.0 (dev)
2020-02-27 13:43:28 +00:00
GRBurst
1204e44cad
dart: 2.0.0 -> 2.7.1 (stable) + 2.0.0 -> 2.8.0-dev.10.0 (dev)
- dart stable: make it default
- add aarch64 (arm64) packages
- set myself as maintainer
2020-02-27 14:23:27 +01:00
Matthieu Coudron
7f821b3efc
Merge pull request #81067 from teto/lua_fix
- introduce a default checkPhase for lua (disabled by default)
- dont apply patchShebangs on the whole lua package; hopefulyl it doesnt break stuff
2020-02-27 11:01:30 +01:00
Frederik Rietdijk
ef156f7a8b Merge staging-next into staging 2020-02-27 10:15:34 +01:00
Daiderd Jordan
cc05b65a99
Merge pull request #81114 from cw789/elixir_update
elixir_1_10: 1.10.1 -> 1.10.2
2020-02-27 08:34:05 +01:00
Michael Raskin
b41a7eeb18
Merge pull request #79864 from doronbehar/improve-octave
octave: Use qt5 and other improvements
2020-02-27 06:32:54 +00:00
cw
da473475d5 elixir_1_10: 1.10.1 -> 1.10.2 2020-02-26 13:12:21 +01:00
Doron Behar
3fa64cd5de octave: make optional features declarative in default.nix
Instead of in all-packages.nix .
2020-02-26 10:09:09 +02:00
Matthieu Coudron
006aeb5704 buidLuarocksPackage: add a checkPhase 2020-02-26 01:14:30 +01:00
Matthieu Coudron
6eeb434b33 buildLuarocksPackage: extraVariables is now an attrset 2020-02-26 01:14:29 +01:00
Jörg Thalheim
21baef32d5
Merge pull request #75451 from Izorkin/php-build
Update php build configuration
2020-02-25 18:50:38 +00:00
Matthieu Coudron
7aee5b838b build-lua-package: dont patchShebangs folder
It can be source of trouble for some read-only folders (libluv for
instance) and slow down install.
2020-02-25 17:34:29 +01:00
Profpatsch
8246c35875
Merge pull request #79900 from Gabriel439/gabriel/dhall_packages_2
Add Nixpkgs support for Dhall
2020-02-25 14:16:28 +01:00
R. RyanTM
b5788ccdf3 jruby: 9.2.9.0 -> 9.2.10.0 2020-02-23 13:56:45 -08:00
R. RyanTM
6082646aff jython: 2.7.2b2 -> 2.7.2b3 2020-02-23 13:41:27 -08:00
Konrad Borowski
0302cbf42b icon-lang: fix build 2020-02-23 17:22:13 +01:00
Doron Behar
62d7ad9309 octave: Use sundials_2 in package's signature instead of callPackage 2020-02-22 12:35:06 +02:00
Doron Behar
b631f620d4 octave: Revert "remove old fix for build issue"
This reverts commit 3beeacfd58239bb6e95aa716dedddae17716b6eb.
2020-02-22 12:33:58 +02:00
Doron Behar
d4861e2b18 octave: clean up all build inputs - use qt5 2020-02-22 12:33:58 +02:00
Doron Behar
2b18e72064 octave: mark package as broken if JIT is enabled 2020-02-22 12:33:58 +02:00
Doron Behar
b3a20c4feb octave: remove old fix for build issue 2020-02-22 12:33:58 +02:00
Doron Behar
acf2ad3876 octave: clean up configure flags - remove --enable-dl 2020-02-22 12:33:58 +02:00
Doron Behar
40c2fb8b1e octave: Makeinfo is no longer needed at runtime 2020-02-22 12:33:58 +02:00
Doron Behar
b74fe1a248 octave: order arguments at top and import qt5 libs 2020-02-22 12:33:58 +02:00
Izorkin
ffe90532f7 php: update build configuration 2020-02-22 11:22:05 +03:00
Izorkin
0ee5d55d3b php: use external GD library 2020-02-22 11:22:05 +03:00
Izorkin
ac3c11a980 php: add option pearSupport 2020-02-22 11:22:05 +03:00
Izorkin
a74fb5a1af php: add option ipv6Support 2020-02-22 11:22:05 +03:00
Izorkin
5dae87ec2d php: remove unused configureFlags 2020-02-22 11:22:05 +03:00
Izorkin
82b5cef58d php: drop support libmysqlclient 2020-02-22 11:22:04 +03: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
Jonathan Ringer
cd97c055a0 python: execute pythonImportsCheckPhase in subshell
Execute in subshell so that the cwd returns back
to the original directory. This is important as
it enables pythonImportsCheck to work with checkPhase
2020-02-19 22:30:50 -08:00
hlolli
ad56672196
cleanup 2020-02-19 23:40:14 +01:00
hlolli
ef712ff2f5
lumo 1.9.0 -> 1.10.1 plus darwin support 2020-02-19 23:16:40 +01:00
Franz Pletz
ade3e99a1d
php74: 7.4.1 -> 7.4.2
https://www.php.net/ChangeLog-7.php#7.4.2
2020-02-19 16:42:40 +01:00
Franz Pletz
b55ded5d8b
php73: 7.3.13 -> 7.3.14
https://www.php.net/ChangeLog-7.php#7.3.14
2020-02-19 16:42:39 +01:00
Franz Pletz
ed8df1d98e
php72: 7.2.26 -> 7.2.27
https://www.php.net/ChangeLog-7.php#7.2.27
2020-02-19 16:42:23 +01:00
Mario Rodas
d539707242
Merge pull request #80115 from marsam/update-racket
racket: 7.5 -> 7.6
2020-02-16 14:26:33 -05:00
Léo Gaspard
9ad73df74b
Merge pull request #80237 from bhipple/remove/wasm-gc
wasm-gc: remove package
2020-02-16 16:20:39 +01:00
Benjamin Hipple
e90602b8f2 wasmer: upgrade cargo fetcher and cargoSha256
Infra upgrade as part of #79975; no functional change expected.
2020-02-15 22:13:19 -08:00
Benjamin Hipple
ecdff9225b evcxr: upgrade cargo fetcher and cargoSha256
Infra upgrade as part of #79975; no functional change expected.
2020-02-15 22:09:05 -08:00
Benjamin Hipple
31971254d7 wasm-gc: remove package
The upstream repository has been archived, with a note that this should never be needed:
https://github.com/alexcrichton/wasm-gc

It also happens to have custom patch logic that will fail the newer cargo
verification in #79975
2020-02-15 23:09:32 -05:00
Alexei Robyn
e34db5a568 luajit: Expose build options, enable JIT debug module 2020-02-15 18:40:02 +01:00
Mario Rodas
dd95c8149a
racket: 7.5 -> 7.6
Changelog: https://download.racket-lang.org/v7.6.html
2020-02-14 04:20:00 -05:00
Benjamin Hipple
eb11feaa0b treewide: change fetchCargoTarball default to opt-out
Changes the default fetcher in the Rust Platform to be the newer
`fetchCargoTarball`, and changes every application using the current default to
instead opt out.

This commit does not change any hashes or cause any rebuilds. Once integrated,
we will start deleting the opt-outs and recomputing hashes.

See #79975 for details.
2020-02-13 22:41:37 -08:00
Nathan van Doorn
35853d8a1e metamath: 0.178 -> 0.180 2020-02-12 10:36:05 -08:00
R. RyanTM
146e91470b groovy: 2.5.9 -> 3.0.0 2020-02-12 12:34:24 +00:00
Hlöðver Sigurðsson
91801c0b45
clojure 1.10.1.492 -> 1.10.1.507 plus bugfix (#79868) 2020-02-12 11:50:50 +00:00
Gabriel Gonzalez
38f1d70c01 Add Nixpkgs support for Dhall
One of the motivations for this change is the following Discourse
discussion:

https://discourse.dhall-lang.org/t/offline-use-of-prelude/137

Many users have requested Dhall support for "offline" packages
that can be fetched/built/installed using ordinary package
management tools (like Nix) instead of using Dhall's HTTP import system.
I will continue to use the term "offline" to mean Dhall package
builds that do not use Dhall's language support for HTTP imports (and
instead use the package manager's support for HTTP requests, such
as `pkgs.fetchFromGitHub`)

The goal of this change is to document what is the idiomatic way to
implement "offline" Dhall builds by implementing Nixpkgs support
for such builds.  That way when other package management tools ask
me how to package Dhall with their tools I can refer them to how it
is done in Nixpkgs.

This change contains a fully "offline" build for the largest Dhall
package in existence, known as "dhall-packages" (not to be confused
with `dhallPackages`, which is our Nix attribute set containing
Dhall packages).

The trick to implementing offline builds in Dhall is to take
advantage of Dhall's support for semantic integrity checks.  If an
HTTP import is protected by an integrity check and a cached build
product matches the integrity check then the HTTP import is never
resolved and the expression is instead fetched from cache.

By "installing" dependencies in a pre-seeded and isolated cache
we can replace remote HTTP imports with dependencies that have
been built and supplied by Nix instead.

The offline nature of the builds are enforced by compiling the
Haskell interpreter with the `-f-with-http` flag, which disables
the interpreter's support for HTTP imports.  If a user forgets
to supply a necessary dependency as a Nix build product then the
build fails informing them that HTTP imports are disabled.

By default, built packages are "binary distributions", containing
just a cache product and a Dhall expression which can be used to
resolve the corresponding cache product.

Users can also optionally enable a "source distribution" of a package
which already includes the equivalent fully-evaluated Dhall code (for
convenience), but this is disabled by default to keep `/nix/store`
utilization as compact as possible.
2020-02-11 22:02:53 -08:00
Frederik Rietdijk
1a6c3cb06b Merge staging into staging-next 2020-02-11 07:59:53 +01:00
Stig Palmquist
e66cbc5f65 rakudo: 2017.01 -> 2020.01
dependencies:
- moarvm: init at 2020.01.1
- nqp: init at 2020.01
- zef: init 0.8.2

Replaced the rakudo-star distribution with packages for raku, moarvm, nqp and
zef.
2020-02-10 20:34:04 +01:00
Eric Bailey
d723b91223 lfe: 1.2.1 -> 1.3
Add patches to the builder expression, and add those necessary for 1.3.
2020-02-10 20:03:47 +01:00
Eric Bailey
49fe429990 lfe: add message to OTP version assertion 2020-02-10 20:03:47 +01:00
worldofpeace
a41b9c64af
Merge pull request #79717 from filalex77/elixir-1.10.1
elixir_1_10: 1.10.0 -> 1.10.1
2020-02-10 13:30:29 -05:00
zimbatm
bcdc90a3a7 ruby_2_4: remove
According to https://endoflife.software/programming-languages/server-side-scripting/ruby
ruby 2.4 will go end-of-life in march, where the new release of nixpkgs
will be cut. We won't be able to support it for security updates.

Remove all references to ruby_2_4 and add ruby_2_7 instead where
missing.

Mark packages that depend on ruby 2.4 as broken:
* chefdk
* sonic-pi
2020-02-10 13:23:35 -05:00
Oleksii Filonenko
60631eab82 elixir: add filalex77 to maintainers 2020-02-10 16:07:07 +02:00
Oleksii Filonenko
611019c619 elixir_1_10: 1.10.0 -> 1.10.1 2020-02-10 16:05:03 +02:00