Commit Graph

109 Commits

Author SHA1 Message Date
Emily
d1e7262564 pypy{27,39,310}: drop darwin.libutil dependency 2024-11-07 00:39:35 +00:00
Olivér Falvai
e6b926034f pypy: fix darwin build after sdk rework
https://hydra.nixos.org/build/276111920/nixlog/6/tail
2024-10-28 08:12:22 +01:00
Francesco Gazzetta
68576df997 treewide: move tcl libraries under tclPackages 2024-10-26 16:23:15 +00:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Michael Raskin
be3dadb563 pypy: drop pycparser dependency to fix build 2024-05-12 16:01:00 +02:00
Sandro Jäckel
b3b12c2d08 Revert "Fix venv creation in Python environments"
This commit reverts all python changes from 234bb31f61.
2024-04-11 08:26:39 -07:00
Domen Kožar
fb884172ab Merge pull request #297628 from cwp/python-env-venv
Fix venv creation in Python environments
2024-03-22 19:17:13 +07:00
Colin Putney
234bb31f61 Fix venv creation in Python environments
The way we build python environments is subtly broken. A python
environment should be semantically identical to a vanilla Python
installation in, say, /usr/local. The current implementation, however,
differs in two important ways. The first is that it's impossible to use
python packages from the environment in python virtual environments. The
second is that the nix-generated environment appears to be a venv, but
it's not.

This commit changes the way python environments are built:

  * When generating wrappers for python executables, we inherit argv[0]
    from the wrapper. This causes python to initialize its configuration
    in the environment with all the correct paths.
  * We remove the sitecustomize.py file from the base python package.
    This file was used tweak the python configuration after it was
    incorrectly initialized. That's no longer necessary.

The end result is that python environments no longer appear to be venvs,
and behave more like a vanilla python installation. In addition it's
possible to create a venv using an environment and use packages from
both the environment and the venv.
2024-03-21 19:26:57 -06:00
stuebinm
ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00
Sandro Jäckel
904e7ce05b pypy: add option to change optimization level, update homepage, cleanup 2023-12-10 03:10:47 +01: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
Martin Weinelt
6e78ac9785 Merge pull request #217558 from winterqt/pypy3-fix-site-packages
pypy3{8,9}: fix sitePackages
2023-02-26 23:39:27 +00:00
Martin Weinelt
2af27d6143 pypy: Use hash everywhere
Fixes the build after cpython switched to hash.
2023-02-26 13:11:30 +00:00
Winter
e4dd2b8ca0 pypy3{8,9}: fix sitePackages
When PyPy introduced Python 3.8 support with version 7.3.6, they also
migrated to using CPython's directory layout [0]:

> The 3.8 package now uses the same layout as CPython, and many of the
PyPy-specific changes to `sysconfig`, `distutils.sysconfig`, and
`distutils.commands.install.py` have been removed. The stdlib now is
located in `<base>/lib/pypy3.8` on `posix` systems...

When we upgraded past this version and added Python 3.8 support [1], the
`sitePackages` value was never updated, leading `bootstrapped-pip` to fail
to build, because wheel was trying to be located in `$out/site-packages`,
when it was actually installed to `$out/lib/pypy3.8/site-packages`.

[0]: https://www.pypy.org/posts/2021/10/pypy-v736-release.html
[1]: eec28b8cfd
2023-02-25 13:43:28 -05:00
Felix Buehler
cdb39a86e0 treewide: use optionalString 2023-02-13 21:52:34 +01:00
Thiago Kenji Okada
4b74c3c3d1 pypy39: fix pypy3 symlink 2023-01-08 19:34:59 +00:00
Thiago Kenji Okada
c04fc21156 pythonInterpreters.pypy39_prebuilt: remove global with lib 2023-01-08 19:34:59 +00:00
Thiago Kenji Okada
eddcc1c01c pythonInterpreters.pypy27_prebuilt: remove global with lib 2023-01-08 19:34:59 +00:00
Thiago Kenji Okada
a7ffcced44 pypy{27,38,39}: remove global with lib 2023-01-08 19:34:59 +00:00
Thiago Kenji Okada
92f0173213 pypy{27,38,39}: refactor derivation
- Remove code related to i686 archs (not supported anymore since #209100)
- Split non-install steps in installPhase in installCheckPhase/preFixup
- Add missing pre/post hooks
2023-01-08 19:34:59 +00:00
Weijia Wang
9d10b68a85 pypy27: unbreak on aarch64-darwin 2023-01-08 19:00:31 +01:00
Thiago Kenji Okada
2a19c135fc Merge pull request #209597 from wegank/pypy27-darwin
pythonInterpreters.pypy27_prebuilt: fix install check on darwin
2023-01-08 11:05:31 +00:00
Weijia Wang
fd6ddd9923 pythonInterpreters.pypy39_prebuilt: add darwin support 2023-01-08 02:04:15 +01:00
Weijia Wang
e380607d07 pythonInterpreters.pypy27_prebuilt: fix install check on darwin 2023-01-08 02:02:45 +01:00
Thiago Kenji Okada
aa0c474f4b pypy{27,38,39}: mark as broken in aarch64-darwin 2023-01-07 21:14:22 +00:00
Thiago Kenji Okada
997a09e612 pypy39: fix build in darwin 2023-01-07 21:11:49 +00:00
Thiago Kenji Okada
4645ec9de6 pypy{27,38,39}: remove i686-linux, add aarch64-darwin 2023-01-07 21:11:49 +00:00
Thiago Kenji Okada
40db51d563 pythonInterpreters.pypy27_prebuilt: add support to darwin 2023-01-07 21:11:49 +00:00
Thiago Kenji Okada
3d440c1c1e pythonInterpreters.pypy39_prebuilt: use autoPatchelfHook 2023-01-07 21:11:49 +00:00
Thiago Kenji Okada
c89380b0c4 pythonInterpreters.pypy27_prebuilt: use autoPatchelfHook 2023-01-07 21:11:48 +00:00
Thiago Kenji Okada
a49d01ce3f pythonInterpreters.pypy27_prebuilt: add support for aarch64-linux 2023-01-07 21:11:48 +00:00
Thiago Kenji Okada
284d9a1067 pypy27: 7.3.9 -> 7.3.11
Also build it with pythonInterpreters.pypy27_prebuilt instead of
python27, to avoid it being broken after #201859 is merged.

Keep in mind that the above change will make this derivation only work
with x86_64-linux for now (since pypy27_prebuilt is only packaged for
that platform). However support for newer platforms can be added later,
and a working package for one platform is better than a broken package
in 4 platforms.
2023-01-07 21:11:48 +00:00
Sergei Trofimovich
d968c6eded pypy2, pypy3: drop unused xlibsWrapper 2022-12-02 18:18:05 +00:00
Jörg Thalheim
0d7a8e28d0 pypy: fix executable name for 3.9 2022-10-17 14:23:01 +02:00
Frederik Rietdijk
2270b66d75 pythonPackagesExtensions: override all Python package sets at once
Python package sets can be overridden by overriding an interpreter
and passing in `packageOverrides = self: super: {...};`. This is fine
in case you need a single interpreter, however, it does not help you
when you want to override all sets.

With this change it is possible to override all sets at once by
appending a list of "extensions" to `pythonPackagesExtensions`.

From reading the implementation you might wonder why a list is used, and
not
`lib.composeExtensions`? The reason is the latter requires knowledge of
the library function. This approach should be easier for most users
as it is similar to how we append to lists of e.g. inputs or patches
when overriding a derivation.
2022-08-06 09:39:39 +02:00
ajs124
fd9c3674b9 pypy27_prebuilt: remove unneeded openssl_1_0_2 dependency
they ship their own openssl

as of this commit, that is actually openssl 1.1.1m, the same version we have in openssl_1_1
maybe the package should still be marked as vulnerable, because they ship their own openssl
2022-02-22 03:55:37 +01:00
Frederik Rietdijk
2ced686d5b pythonInterpreters.pypy38_prebuilt: 7.3.6 -> 7.3.7
Change python language version and attribute.
2022-01-15 17:40:54 +01:00
Frederik Rietdijk
731db1820d pythonInterpreters.pypy27_prebuilt: 7.3.3 -> 7.3.6 2022-01-15 17:40:54 +01:00
Dmitry Kalinkin
3d68137c6e pypy: 7.3.3 -> 7.3.5 2021-07-16 23:31:15 -04:00
Dmitry Kalinkin
d557708761 pypy: don't try to fetch vendored dependencies for cffi bindings
Specifically, this affects _ssl and lzma.

This should be useful on Hydra/macOS where sandboxing is disabled.
2021-07-16 06:39:08 -04:00
Dmitry Kalinkin
b43959a817 pypy: fix for sandboxed darwin
The implementation of multiprocessing.cpu_count() tries to call the
impure sysctl binary. In the sandbox that fails, so cffi bindings are
not generated.
2021-07-16 01:59:26 -04:00
Sandro Jäckel
3453b89f4b lzma: deprecate alias 2021-04-04 19:49:52 +02:00
Anders Kaseorg
d08ec2f195 pythonInterpreters.pypy36_prebuilt: Set pythonOnBuildForHost
This was broken by #105155.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-02-20 11:29:46 +01:00
Anders Kaseorg
1c5c184079 pythonInterpreters.pypy36_prebuilt: Add missing lib argument
This was broken by commit 001c0cbe54
(#110591).

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-02-20 11:29:46 +01:00
taku0
28adb5b0c1 Merge pull request #104150 from andersk/pypy-7.3.2
pypy, pypy3: 7.3.1 → 7.3.2
2021-02-13 21:48:05 +09:00
Ben Siraphob
001c0cbe54 pkgs/development/interpreters: stdenv.lib -> lib 2021-01-23 20:29:03 +07:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Frederik Rietdijk
6cf25f9dbd Python: rename parameters and arguments passed to passthru
As part of the splicing the build/host/target combinations of the interpreter
need to be passed around internally. The chosen names were not very clear,
implying they were package sets whereas actually there were derivations.
2020-11-28 17:36:23 +01:00
Frederik Rietdijk
cce2fd547b Python: use pythonPackagesBuildHost instead of pythonForBuild
Follow-up to #104201, related to #105113.
2020-11-28 16:36:03 +01:00
John Ericson
b57c5d4456 python: Use makeScopeWithSplicing
Now non-`buildInputs` that are python packages should be resolved
correctly.
2020-11-19 11:58:07 -05:00