1f197e240e
Prior to this commit, pythonRelaxDeps would only support removing version constraints from "Requires-Dist" lines formatted in a particular way ("foo (>= 1.2.3)"). This way is deprecated as per PyPA Core Metadata Specs v2.1 [1]: > Tools parsing the format should accept optional parentheses around > this, but tools generating it should not use parentheses. Additionally, a "Requires-Dist" dependency specification can contain other metadata than just package name and version (extra names, environment marker). These were being silently dropped by the prior version of pythonRelaxDeps, or the version could not be relaxed. The actual grammar is defined in PEP 508 [2]. Our tool of choice here is sed extended regexps, so there's only so much we can do to be correct with this parser. The regexp implemented in this commit makes an attempt at supporting [extra] names, ; env_markers, as well as version specs without parentheses. There are still unsupported features (URL specs) as well as unhandled edge cases, but at some point trying to make the regexp better is bound to awake ZALGO [3]. [1] https://packaging.python.org/en/latest/specifications/core-metadata/#requires-dist-multiple-use [2] https://peps.python.org/pep-0508/#grammar [3] https://stackoverflow.com/a/1732454/179806 |
||
---|---|---|
.. | ||
acl2 | ||
alda | ||
angelscript | ||
asmrepl | ||
bats | ||
bic | ||
boron | ||
bqn | ||
bwbasic | ||
ceptre | ||
cg3 | ||
chibi | ||
cling | ||
clips | ||
clisp | ||
clojure | ||
cyclone | ||
dart | ||
dhall | ||
duktape | ||
dzaima-apl | ||
eff | ||
elixir | ||
erlang | ||
evcxr | ||
falcon | ||
gauche | ||
gnu-apl | ||
gnudatalanguage | ||
groovy | ||
gtk-server | ||
guile | ||
hashlink | ||
hugs | ||
icon-lang | ||
io | ||
ivy | ||
j | ||
janet | ||
jelly | ||
jimtcl | ||
joker | ||
jruby | ||
jython | ||
kerf | ||
kona | ||
lfe | ||
lolcode | ||
love | ||
lua-5 | ||
luajit | ||
luau | ||
lunatic | ||
maude | ||
metamath | ||
micropython | ||
mujs | ||
nextflow | ||
ngn-k | ||
nickel | ||
npiet | ||
oak | ||
octave | ||
perl | ||
php | ||
picoc | ||
picolisp | ||
python | ||
python-cosmopolitan | ||
qnial | ||
quickjs | ||
racket | ||
rakudo | ||
rascal | ||
red | ||
regina | ||
renpy | ||
ruby | ||
s9fes | ||
scheme48 | ||
scsh | ||
self | ||
shen-sbcl | ||
shen-sources | ||
sollya | ||
spidermonkey | ||
starlark | ||
supercollider | ||
tcl | ||
tclreadline | ||
tinyscheme | ||
trealla | ||
unicon-lang | ||
wasm3 | ||
wasmer | ||
wasmtime | ||
yabasic | ||
yex-lang | ||
zuo |