2131 Commits
Author SHA1 Message Date
Artturin 3716ef19d8 lib.makeScopeWithSplicing: provide default for keep,extra
These are often unneeded by the user.
2023-07-28 17:41:01 +03:00
Doron BeharandMartin Weinelt 6560d0086c python3.pkgs.pypaBuildHook: init 2023-07-28 12:13:25 +02:00
Doron BeharandMartin Weinelt 1298c367b1 pip-build-hook.sh: Support $pipBuildFlags 2023-07-28 12:13:25 +02:00
Adam JosephandGitHub 52d3944057 Merge pull request #212795 from Cynerd/setuptools-rust-hook
Setuptools rust hook for cross compilation
2023-07-28 06:53:09 +00:00
Adam Joseph cb13669b00 lib.customisation: uncurry makeScopeWithSplicing
Deeply-curried functions are pretty error-prone in untyped languages
like Nix.  This is a particularly bad case because
`top-level/splice.nix` *also* declares a makeScopeWithSplicing, but
it takes *two fewer arguments*.

Let's switch to attrset-passing form, to provide some minimal level
of sanity-checking.
2023-07-27 21:31:59 -07:00
github-actions[bot]andGitHub d1b1f7fda7 Merge staging-next into staging 2023-07-27 06:01:53 +00:00
Adam JosephandGitHub 2ffca30cde Revert "python3: splice python within python3Packages.callPackage" 2023-07-27 01:42:35 +00:00
github-actions[bot]andGitHub dc058faf6b Merge staging-next into staging 2023-07-27 00:02:38 +00:00
ArtturiandGitHub 906f999a2f Merge pull request #245475 from Artturin/splicepython1 2023-07-26 22:43:37 +03:00
github-actions[bot]andGitHub bbfd40bb37 Merge staging-next into staging 2023-07-26 06:01:54 +00:00
Artturin 793cc9d982 python3: splice python within python3Packages.callPackage
`lib.extends hooks pythonPackagesFun` includes python which we want to
splice

what this fixes:
```
nix-repl> lib.elemAt pkgsCross.aarch64-multiplatform.python3Packages.xpybutil.nativeBuildInputs 0
«derivation /nix/store/39dkb51rciw6zwg0c2c44gpmpjapddxc-python3-aarch64-unknown-linux-gnu-3.10.12.drv»
```
to
```
nix-repl> lib.elemAt pkgsCross.aarch64-multiplatform.python3Packages.xpybutil.nativeBuildInputs 0
«derivation /nix/store/21ldw2dp26xvv9iyxn9x77a8yh4waqz5-python3-3.10.12.drv»
```

Before https://github.com/NixOS/nixpkgs/pull/194205 The keep python used to work by accident because self was passed from
__splicedPackages https://github.com/NixOS/nixpkgs/pull/196052/files#diff-44ce3495c4f983ce64dd47c86a9d3e77bad210b2709c098a3806998dcd9b000bR213
But now it does not work because overrideAttrs is used on python in
python-packages-base.nix

Preferably we would [ splice the hooks too ](https://github.com/NixOS/nixpkgs/pull/228139) but we cannot do that until [Package sets within derivations (i.e. python3.pkgs) are not spliced](https://github.com/NixOS/nixpkgs/issues/211340) is fixed, because people often use `python3.pkgs.wrapPython` in `nativeBuildInputs` (it's correct but python3.pkgs should be python3Packages to get splicing.
2023-07-26 06:15:26 +03:00
Nick CaoandGitHub 4570f7fc58 Merge pull request #243074 from mweinelt/cpython-3.12.0b4
python312: 3.12.0b3 -> 3.12.0b4
2023-07-25 19:03:08 -06:00
github-actions[bot]andGitHub 941ae3102b Merge staging-next into staging 2023-07-22 12:02:07 +00:00
Felix BühlerandGitHub 0a2745684e Merge pull request #239624 from Stunkymonkey/use-optionalString-then
treewide: use optionalString instead of 'then ""'
2023-07-22 13:02:47 +02:00
SandroandGitHub ae6388356f Merge pull request #153527 from andersk/python3-symlinks
python3: Add manpage symlink to fix ‘man python’
2023-07-20 22:07:42 +02:00
Anders KaseorgandSandro Jäckel 9c55f23e53 python3: Add manpage symlink to fix ‘man python’
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2023-07-19 15:33:47 +02:00
Martin Weinelt 6245a65b02 python312: 3.12.0b3 -> 3.12.0b4
https://docs.python.org/3.12/whatsnew/changelog.html#python-3-12-0b4

Fixes: CVE-2023-27043
2023-07-12 15:38:34 +02:00
JanikandGitHub 7939b3db22 Merge pull request #196802 from jneem/manylinux 2023-07-02 23:23:55 +02:00
Joe Neeman 38d66c2984 pythonManylinuxPackages: add libz and expat
These libs aren't mentioned in PEP 513, but auditwheel allows them
(https://github.com/pypa/auditwheel/issues/152) and so built wheels
may depend on them.
2023-07-02 22:52:11 +07:00
Karel Kočí 9d663f7fcd setuptools-rust: fix cross compilation
The setuptools-rust requires some environment variables to really
perform cross build, otherwise it just builds for build platform.

This adds setup hook that introduces these environment variables.

There are three variables.
The PYO3_CROSS_LIB_DIR has to point to the target's Python library
directory. This has to be directory for the target not for the build or
host. We have to choose the correct target Python. I am unsure how to do
that simply in nixpkgs and this this implementations just delays this
and waits for the correct Python when package using this hook is build.
The CARGO_BUILD_TARGET triggers cross compilation in setuptools-rust.
This is simply the Rust target specification.
The CARGO_TARGET_*_LINKER variable should not be essentially required
but setuptools-rust probably mangles the Rust build environment somewhat
and that results to the missing linker. By explicitly specifying it
using the environment variable we force the correct linker.
2023-06-30 14:52:25 +02:00
Felix BuehlerandAnderson Torres 6672dde558 treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
Felix Buehler f3719756b5 treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
Weijia Wang 82e6dcefb9 python311Packages.tkinter: fix runtime error on darwin 2023-06-22 17:52:12 +03:00
Martin Weinelt cea1c49331 python312: 3.12.0b2 -> 3.12.0b3
https://docs.python.org/3.12/whatsnew/changelog.html#python-3-12-0b3
2023-06-21 02:31:58 +02:00
github-actions[bot]andGitHub 622850f61f Merge staging-next into staging 2023-06-09 18:01:50 +00:00
Martin Weinelt 342ba7d647 python311: 3.11.3 -> 3.11.4
https://docs.python.org/release/3.11.4/whatsnew/changelog.html

Fixes: CVE-2023-24329
2023-06-07 14:41:15 +02:00
Martin Weinelt f80d434d94 python310: 3.10.11 -> 3.10.12
https://docs.python.org/release/3.10.12/whatsnew/changelog.html

Fixes: CVE-2023-24329
2023-06-07 14:41:14 +02:00
Martin Weinelt 513023c117 python38: 3.8.16 -> 3.8.17
https://docs.python.org/release/3.8.17/whatsnew/changelog.html

Fixes: CVE-2023-24329
2023-06-07 13:06:32 +02:00
Martin Weinelt 1eecd85622 python39: 3.9.16 -> 3.9.17
https://docs.python.org/release/3.9.17/whatsnew/changelog.html

Fixes: CVE-2023-24329
2023-06-07 12:57:41 +02:00
Martin Weinelt 966069ed81 python312: 3.12.0b1 -> 3.12.0b2
https://docs.python.org/3.12/whatsnew/changelog.html#python-3-12-0b2
2023-06-07 12:54:38 +02:00
Domen KožarandFrederik Rietdijk 9f3e0de184 cypthon: moduralize so it can be called with other versions 2023-06-05 17:32:40 +02:00
Domen KožarandFrederik Rietdijk b4222d6661 python: add conditionals to be able to compile with 3.6 or older 2023-06-05 17:32:40 +02:00
Dmitry BogatovandFrederik Rietdijk 2f181d6f06 python3.doc: build offline documentation
Since python documentation requires Sphinx to build, documentation is built in
separate derivation to avoid hard recursion/bootstrapping questions and plugged
into main derivation. Care is taken that "python3.doc" derivation feels and
looks as close as possible to as if it were main derivation were multi-output
one.

This change does not cause rebuild of python3 itself.
2023-06-03 16:43:46 +02:00
figsoda ffbf6f27c9 python3.pkgs.fetchPypi: deprecate in favor of top-level fetchPypi 2023-05-31 13:48:06 -04:00
Martin Weinelt 3f736faef0 python312: 3.12.0a7 -> 3.12.0b1
https://docs.python.org/3.12/whatsnew/changelog.html#python-3-12-0b1
2023-05-23 23:38:45 +02:00
github-actions[bot]andGitHub b872b6b45c Merge staging-next into staging 2023-05-09 06:01:52 +00:00
Martin Weinelt d237a92e63 update-python-libraries: Fix some issues
discovered by ruff and pyright.
2023-05-07 12:23:52 +02:00
Jonas ChevalierandGitHub 3d2bdd0788 python: implement PEP 668 (#229166)
Add a marker file to the python outputs that tells pip and other tooling
following PEP 668 that they should not be installing things system-wide.

This provides better feedback to the user and also potentially avoids issues in
single-user installs where the /nix/store is owned by the user.

For more details, see <https://peps.python.org/pep-0668/>

Here is how it currently looks like:

    $ pip install requests
    error: externally-managed-environment

    × This environment is externally managed
    ╰─> This command has been disabled as it tries to modify the immutable
        `/nix/store` filesystem.

        To use Python with Nix and nixpkgs, have a look at the online documentation:
        <https://nixos.org/manual/nixpkgs/stable/#python>.
2023-05-04 18:30:25 +02:00
Martin WeineltandGitHub abc97d3572 Merge pull request #226937 from rhendric/rhendric/update-python-libraries
update-python-libraries: escape vars in regexes
2023-05-03 09:28:32 +02:00
jackyliu16 df2c2e63f1 cpython: add loongarch triplets
using patch ref on: https://github.com/python/cpython/issues/90656
  to add loongarch triplets for using cpython in loongarch

  Note: This patch is being reviewed by cpython
2023-05-01 05:16:32 +08:00
ArtturiandGitHub 44075d60d2 Merge pull request #120220 from grahamc/python-kvetch-on-mismatch 2023-04-28 18:47:17 +03:00
Artturin d44390ab18 mkPythonDerivation: validate propagatedBuildInputs use a matching python
mkPythonDerivation: apply checks to buildInputs as well

fixup: add a suggestion about nativeBuildInputs

Clean up the wording, add reasons for the suggestions

switch to throw

Adjust error to clarify build-time vs. run-time
2023-04-28 17:59:20 +03:00
Ryan Hendrickson 56a07ba986 update-python-libraries: escape vars in regexes 2023-04-18 18:05:01 -04:00
github-actions[bot]andGitHub b6cd4a9e24 Merge staging-next into staging 2023-04-09 12:01:50 +00:00
Vladimír Čunát dee43206d8 pypy*: fixup build
https://hydra.nixos.org/build/215259697
This is most likely fallout from PR #209870
2023-04-09 11:06:49 +02:00
github-actions[bot]andGitHub f28229016d Merge staging-next into staging 2023-04-08 12:01:37 +00:00
Martin Weinelt cbb4c1eb7b python311: 3.11.2 -> 3.11.3
https://docs.python.org/release/3.11.3/whatsnew/changelog.html
2023-04-06 02:16:23 +02:00
Martin Weinelt f36f64723d python310: 3.10.10 -> 3.10.11
https://docs.python.org/release/3.10.11/whatsnew/changelog.html
2023-04-05 23:57:11 +02:00
Martin Weinelt 6726464b6a python312: 3.12.0a6 -> 3.12.0a7
https://docs.python.org/3.12/whatsnew/changelog.html#python-3-12-0-alpha-7
2023-04-05 23:54:37 +02:00
Yureka f8cbc3c281 tree-wide: convert rust with git deps to importCargoLock 2023-03-26 01:52:04 +01:00