| 3 Jan 2025 |
Tristan Ross | Oh right | 16:38:45 |
Tristan Ross | Then musl would have this problem but it doesn't | 16:38:54 |
Artturin | Musl doen't depend on python | 16:39:24 |
lzcunt | musl doesn't have nativeBuildInputs | 16:39:25 |
emily | musl doesn't use Python via Meson | 16:39:28 |
lzcunt | or any non-stdenv dependencies for that matter | 16:39:32 |
lzcunt | glibc does depend on bison and python3Minimal | 16:39:56 |
lzcunt | but it doesn't trigger this issue | 16:40:02 |
emily | I didn't realize Python was evaluating all its arguments like that. kinda cursed | 16:42:27 |
Artturin | diff --git a/pkgs/by-name/ml/mlibc/package.nix b/pkgs/by-name/ml/mlibc/package.nix
index 0c1d9471c78e..881547285b37 100644
--- a/pkgs/by-name/ml/mlibc/package.nix
+++ b/pkgs/by-name/ml/mlibc/package.nix
@@ -7,6 +7,7 @@
ninja,
pkg-config,
linuxHeaders,
+ python3Minimal,
}:
let
@@ -45,8 +46,8 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
- meson
- ninja
+ (buildPackages.meson.override { python3 = buildPackages.buildPackages.python3Minimal; })
+ #ninja
pkg-config
];
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 4027cc03da1b..2484f638e5ff 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -130,8 +130,8 @@ let
passthru = let
# When we override the interpreter we also need to override the spliced versions of the interpreter
# bluez is excluded manually to break an infinite recursion.
- inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "passthruFun" && ! lib.isDerivation v) inputs;
- override = attr: let python = attr.override (inputs' // { self = python; }); in python;
+ inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "openssl" && n != "passthruFun" && ! lib.isDerivation v) inputs;
+ override = attr: let python = attr.override ( { self = python; }); in python;
in passthruFun rec {
inherit self sourceVersion packageOverrides;
implementation = "cpython";
| 16:49:40 |
Artturin | * diff --git a/pkgs/by-name/ml/mlibc/package.nix b/pkgs/by-name/ml/mlibc/package.nix
index 0c1d9471c78e..881547285b37 100644
--- a/pkgs/by-name/ml/mlibc/package.nix
+++ b/pkgs/by-name/ml/mlibc/package.nix
@@ -7,6 +7,7 @@
ninja,
pkg-config,
linuxHeaders,
+ python3Minimal,
}:
let
@@ -45,8 +46,8 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
- meson
- ninja
+ (buildPackages.meson.override { python3 = buildPackages.buildPackages.python3Minimal; })
+ #ninja
pkg-config
];
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 4027cc03da1b..2484f638e5ff 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -130,8 +130,8 @@ let
passthru = let
# When we override the interpreter we also need to override the spliced versions of the interpreter
# bluez is excluded manually to break an infinite recursion.
- inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "passthruFun" && ! lib.isDerivation v) inputs;
- override = attr: let python = attr.override (inputs' // { self = python; }); in python;
+ inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "openssl" && n != "passthruFun" && ! lib.isDerivation v) inputs;
+ override = attr: let python = attr.override ( { self = python; }); in python;
in passthruFun rec {
inherit self sourceVersion packageOverrides;
implementation = "cpython";
| 16:49:44 |
Artturin | * diff --git a/pkgs/by-name/ml/mlibc/package.nix b/pkgs/by-name/ml/mlibc/package.nix
index 0c1d9471c78e..9458e8a4e6bf 100644
--- a/pkgs/by-name/ml/mlibc/package.nix
+++ b/pkgs/by-name/ml/mlibc/package.nix
@@ -7,6 +7,7 @@
ninja,
pkg-config,
linuxHeaders,
+ python3Minimal,
}:
let
@@ -45,7 +46,7 @@ stdenvNoLibc.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
- meson
+ (buildPackages.meson.override { python3 = buildPackages.buildPackages.python3Minimal; })
ninja
pkg-config
];
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 4027cc03da1b..2484f638e5ff 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -130,8 +130,8 @@ let
passthru = let
# When we override the interpreter we also need to override the spliced versions of the interpreter
# bluez is excluded manually to break an infinite recursion.
- inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "passthruFun" && ! lib.isDerivation v) inputs;
- override = attr: let python = attr.override (inputs' // { self = python; }); in python;
+ inputs' = lib.filterAttrs (n: v: n != "bluez" && n != "openssl" && n != "passthruFun" && ! lib.isDerivation v) inputs;
+ override = attr: let python = attr.override ( { self = python; }); in python;
in passthruFun rec {
inherit self sourceVersion packageOverrides;
implementation = "cpython";
| 16:50:12 |
Artturin | sananatheskenana: | 16:50:17 |
Artturin | (buildPackages.meson.override { python3 = buildPackages.__splicedPackages.python3Minimal; })
Fits better
| 16:53:09 |
Artturin | 1 buildPackages instead of 2 for python3 because it's used directly and not in nativeBuildInputs and __splicedPackages in case it's used in a dependency attribute in the future. | 16:54:25 |
lzcunt | ah testing it rn | 16:54:48 |
Artturin | C compiler for the build machine: gcc (gcc 14.2.1 "gcc (GCC) 14.2.1 20241116")
C linker for the build machine: gcc ld.bfd 2.43.1
C++ compiler for the build machine: g++ (gcc 14.2.1 "g++ (GCC) 14.2.1 20241116")
C++ linker for the build machine: g++ ld.bfd 2.43.1
C compiler for the host machine: x86_64-unknown-linux-mlibc-gcc (gcc 14.2.1 "x86_64-unknown-linux-mlibc-gcc (GCC) 14.2.1 20241116")
C linker for the host machine: x86_64-unknown-linux-mlibc-gcc ld.bfd 2.43.1
meson.build:69:1: ERROR: Unknown compiler(s): [['x86_64-unknown-linux-mlibc-g++']]
The following exception(s) were encountered:
Running `x86_64-unknown-linux-mlibc-g++ --version` gave "[Errno 2] No such file or directory: 'x86_64-unknown-linux-mlibc-g++'"
| 16:55:26 |
lzcunt | yep that happened to me too when I tried buildPackages.buildPackages.meson | 16:55:53 |
lzcunt | no wait this is different to the error that I saw when this happened | 16:56:46 |
lzcunt | * no wait this is different to the error that I saw when that happened | 16:57:15 |
lzcunt | * no wait this is different to the error that I saw when I tried that | 16:57:21 |
Artturin | $ nix build ".#pkgsCross.x86_64-linux-mlibc.mlibc.stdenv.cc"
$ ls result/bin
x86_64-unknown-linux-mlibc-addr2line@ x86_64-unknown-linux-mlibc-cc@ x86_64-unknown-linux-mlibc-gcc* x86_64-unknown-linux-mlibc-ld.gold@ x86_64-unknown-linux-mlibc-ranlib@ x86_64-unknown-linux-mlibc-strip@
x86_64-unknown-linux-mlibc-ar@ x86_64-unknown-linux-mlibc-cpp* x86_64-unknown-linux-mlibc-gprof@ x86_64-unknown-linux-mlibc-nm@ x86_64-unknown-linux-mlibc-readelf@
x86_64-unknown-linux-mlibc-as@ x86_64-unknown-linux-mlibc-dwp@ x86_64-unknown-linux-mlibc-ld@ x86_64-unknown-linux-mlibc-objcopy@ x86_64-unknown-linux-mlibc-size@
x86_64-unknown-linux-mlibc-c++filt@ x86_64-unknown-linux-mlibc-elfedit@ x86_64-unknown-linux-mlibc-ld.bfd@ x86_64-unknown-linux-mlibc-objdump@ x86_64-unknown-linux-mlibc-strings@
| 16:58:13 |
Artturin | No g++ there or bintools | 16:58:30 |
Artturin | * No g++ there or cc.bintools | 16:58:35 |
Artturin | * No g++ there or .cc.bintools | 16:58:40 |
Artturin | the underlying cc .cc.cc` doesn't have g++ and some other tools that native .cc.cc has | 16:59:55 |
Artturin | * the unwrapped cc .cc.cc` doesn't have g++ and some other tools that native .cc.cc has | 17:00:03 |
lzcunt | then gcc is not built with --enable-languages=c++? | 17:02:51 |
lzcunt | tbh I didn't expect it to go this far, there's gcc patches needed | 17:03:21 |
Artturin | Should be but
nix-repl> pkgsCross.x86_64-linux-mlibc.stdenv.cc.cc.langCC
true
--enable-languages=c
| 17:04:31 |