Commit graph

4140 commits

Author SHA1 Message Date
Jan Tojnar
3e0f4e202f
Merge branch 'master' into staging-next 2020-03-31 21:32:15 +02:00
Frederik Rietdijk
c392d70518 pkgsStatic.python3: fix build 2020-03-30 17:06:38 +02:00
Vladimír Čunát
804477b875
Merge #75430: erlangR22: 22.1.7 -> 22.3 2020-03-29 08:41:36 +02:00
Frederik Rietdijk
a36be028f5 Merge staging-next into staging 2020-03-28 21:15:15 +01:00
Jörg Thalheim
774ddebd87
Merge pull request #83472 from Mic92/propragate-darwin-go
Propragate darwin go
2020-03-28 06:57:59 +00:00
Stig Palmquist
62831e1023 rakudo: 2020.02 -> 2020.02.1
dependencies:
moarvm: 2020.02 -> 2020.02.1
nqp: 2020.02 -> 2020.02.1
2020-03-27 02:00:17 -07:00
Jonathan Ringer
279438e7f8 python: add use-pkgs-prefix option to update script 2020-03-27 01:47:30 -07:00
Jörg Thalheim
066db11215
Revert "Merge pull request #83099 from marsam/fix-buildGoModule-packages-darwin"
This reverts commit 4e6bf03504, reversing
changes made to afd997aab6.

Instead we propagate those frameworks from the compiler again
2020-03-27 07:33:21 +00:00
Vladimír Čunát
a533068c3e
Merge #82728: racket: enable building on aarch64 2020-03-24 11:59:03 +01:00
Tor Hedin Brønner
4ee2aac075
spidermonkey_68: init at 68.4.2
mostly copied over

- now uses python3

https://mail.gnome.org/archives/distributor-list/2020-February/msg00000.html
2020-03-24 07:06:55 +01:00
Jan Tojnar
986fbf4799
Merge branch 'staging-next' into staging 2020-03-24 01:51:55 +01:00
Michael Raskin
db4ccddb35
Merge pull request #83185 from idontgetoutmuch/octave-for-macos
Build octave on macos
2020-03-23 08:17:27 +00:00
Dominic Steinitz
6d196e8c92 Build octave on macos 2020-03-23 06:31:11 +00:00
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