nixpkgs/pkgs/development/interpreters
Alyssa Ross b682fef8e9 python3.pkgs: fix splice through unsupported hosts
Previously, unless unsupported platforms were allowed, the following
would fail to evaluate (from an "x86_64-linux" system):

    pkgsCross.x86_64-freebsd.__splicedPackages.docutils.__spliced.buildHost

It shouldn't have, because the buildHost package ends up being for
Linux.  This broke evaluation of e.g. pkgsCross.x86_64-freebsd.libdrm,
because it has docutils in nativeBuildInputs.  mkDerivation would try
to go through __spliced.buildHost on docutils to get to the Linux
version, but the check in ensurePythonModules would kick in first,
triggering the meta check because of the equality check in the
implementation of hasPythonModule, which would fail because Python is
not marked as supported on FreeBSD in Nixpkgs at the moment.  Thus,
even though they're not supposed to be, the meta checks would be
triggered even though the only attribute being accessed on the
unsupported derivation was __spliced.

We can fix this by using the same mechanism used to implement the meta
checks themselves: lib.extendDerivation.  Now, attempting to access
drvPath or outPath on an attribute that fails the validity check will
produce the same error as before, but other accesses will be allowed
through, fixing splicing.

I've tested evaluation of packages that pass and fail the validity
check, and confirmed that the behaviour is still correct.
2023-01-28 21:08:50 +00:00
..
acl2 acl2: remove python2 usage 2022-12-02 02:22:40 +01:00
alda
angelscript
asmrepl
bats treewide: switch to nativeCheckInputs 2023-01-21 12:00:00 +00:00
bic treewide: mark packages broken that never built on PLATFORM 2022-12-13 21:40:12 +01:00
boron treewide: replace http by https when https is a permanent redirection 2023-01-22 02:46:49 +01:00
bqn cbqn: tie outputs for library to library config option 2023-01-11 13:00:24 +01:00
bwbasic
ceptre
cg3
chibi chibi: fix wrapping on darwin 2022-12-29 06:34:22 +01:00
cling
clips
clisp clisp hg: remove tohl from meta.maintainers list 2022-10-23 01:19:49 -03:00
clojure babashka: 1.0.170 -> 1.1.172 2023-01-25 13:41:32 +00:00
cyclone
dart dart: set sourceProvenance to binaryNativeCode 2022-10-15 16:07:45 +01:00
dhall
duktape
dzaima-apl
eff
elixir elixir_1_14: 1.14.2 -> 1.14.3 2023-01-15 16:13:37 -05:00
erlang treewide: systemdSupport: use lib.meta.availableOn 2023-01-22 00:27:19 -08:00
evcxr evcxr: 0.14.1 -> 0.14.2 2023-01-02 10:09:35 +01:00
falcon
gauche lib.replaceChars: warn about being a deprecated alias 2022-12-15 22:25:51 +02:00
gnu-apl
gnudatalanguage
groovy
gtk-server gtk-server: remove tohl from meta.maintainers list 2022-10-23 01:22:31 -03:00
guile guile_3_0: 3.0.8 -> 3.0.9 2023-01-25 21:42:30 +00:00
hashlink treewide: use mbedtls 3 where possible 2022-12-07 19:58:55 +00:00
hugs
icon-lang
io
ivy treewide: remove empty go vendor hashes 2023-01-21 11:35:00 -05:00
j J: fixing init script 2022-11-25 21:22:21 +01:00
janet janet: 1.25.1 -> 1.26.0 2023-01-11 09:04:53 +08:00
jelly
jimtcl treewide: switch to nativeCheckInputs 2023-01-21 12:00:00 +00:00
joker joker: 1.0.2 -> 1.1.0 2022-11-09 20:29:51 +00:00
jruby jruby: 9.3.8.0 -> 9.3.9.0 2022-11-02 10:49:36 +08:00
jython
kerf treewide: switch to nativeCheckInputs 2023-01-21 12:00:00 +00:00
kona
lfe
lolcode treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
love
lua-5 buildLuaPackage: adapt to native check inputs 2023-01-21 16:42:10 +01:00
luajit luajit: add powerpc64le-linux to badPlatforms 2023-01-06 16:03:23 +01:00
luau luau: 0.558 -> 0.560 2023-01-27 04:20:00 +00:00
lunatic lunatic: 0.10.1 -> 0.12.0 2022-11-15 13:21:30 -05:00
maude
metamath treewide: replace http by https when https is a permanent redirection 2023-01-22 02:46:49 +01:00
micropython
mujs mujs: 1.2.0 -> 1.3.2 2022-11-30 22:09:23 +01:00
nelua treewide: switch to nativeCheckInputs 2023-01-21 12:00:00 +00:00
nextflow
ngn-k ngn-k: allow cross compilation to FreeBSD 13 2022-11-29 15:57:09 +01:00
nickel Merge pull request #206641 from atorres1985-contrib/nickel 2022-12-17 21:23:44 -03:00
npiet
oak oak: 0.2 -> 0.3 2022-11-09 06:18:36 +00:00
octave treewide: fix typos 2022-12-17 19:39:44 -05:00
perl treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
php treewide: systemdSupport: use lib.meta.availableOn 2023-01-22 00:27:19 -08:00
picoc
picolisp treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
python python3.pkgs: fix splice through unsupported hosts 2023-01-28 21:08:50 +00:00
python-cosmopolitan
qnial
quickjs
racket racket: mark as unbroken on darwin 2022-11-30 12:58:02 -08:00
rakudo zef: 0.14.2 -> 0.14.6 2022-12-26 02:10:29 +00:00
rascal
red
regina
renpy
ruby treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
s9fes
scheme48 treewide: more meta changelog urls and mainPrograms (#200062) 2022-11-09 16:41:13 +01:00
scsh
self lib.maintainers.doublec: remove 2023-01-24 01:02:59 -05:00
shen-sbcl
shen-sources
sollya
spidermonkey treewide: mark #201254 2023-01-26 15:11:41 +01:00
starlark starlark: unstable-2022-08-17 -> unstable-2023-01-12 2023-01-17 15:16:49 +00:00
supercollider
tcl mkTclDerivation: support nativeCheckInputs 2023-01-21 16:42:10 +01:00
tclreadline
tinyscheme treewide: replace http by https when https is a permanent redirection 2023-01-22 02:46:49 +01:00
trealla
unicon-lang
wasm3
wasmer wasmer: 3.0.2 -> 3.1.0 2022-12-15 05:35:36 +00:00
wasmtime wasmtime: 3.0.1 -> 4.0.0 2022-12-24 14:06:50 +01:00
yabasic
yex-lang yex-lang: unbreak on aarch64-linux 2022-11-28 01:13:37 +01:00
zuo zuo: 2022-11-15 -> 2023-01-02 2023-01-27 04:20:00 +00:00