| 18 May 2025 |
Tristan Ross | Oh nice | 16:33:30 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Oh wrong thread | 16:34:36 |
Tristan Ross | Lol | 16:35:14 |
| 19 May 2025 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @rosscomputerguy:matrix.org Ping me in like 8 hours and I'll look at it lol 😼 | 02:50:11 |
Tristan Ross | In reply to @aleksana:mozilla.org 😼 Good timing lol, I just got out of the shower and am going to be on my desktop here soon | 02:51:04 |
hexa | I tried the following patch, but it was insufficient
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 8800a6408c01..7ad373016b78 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -85,6 +85,12 @@ let
gcc12Stdenv
else
stdenv; # does not build with gcc13
+ python3 =
+ if (lib.versionOlder release_version "16") then
+ # https://docs.python.org/3/library/pipes.html
+ pkgs.python312
+ else
+ pkgs.python3;
}
)
)
| 13:25:09 |
hexa | llvm> Running phase: checkPhase
llvm> check flags: -j40 check-all
llvm> [1/2] Preparing lit tests
llvm> [1/2] Running all regression tests
llvm> /build/llvm-src-15.0.7/llvm/utils/lit/lit/TestRunner.py:211: SyntaxWarning: invalid escape sequence '\c'
llvm> (e.g. "a\b\\c\\\\d" becomes "a\b\c\\d" where it should stay as it was,
llvm> /build/llvm-src-15.0.7/llvm/utils/lit/lit/TestRunner.py:1272: SyntaxWarning: invalid escape sequence '\s'
llvm> match = _caching_re_compile('^\s*%else\s*(%{)?').search(ln)
llvm> /build/llvm-src-15.0.7/llvm/test/lit.cfg.py:221: SyntaxWarning: invalid escape sequence '\d'
llvm> match = re.search('release (\d+)\.(\d+)', ptxas_out)
llvm> llvm-lit: /build/llvm-src-15.0.7/llvm/utils/lit/lit/TestingConfig.py:136: fatal: unable to parse config file '/build/llvm-src-15.0.7/llvm/test/Bindings/Go/lit.local.cfg', traceback: Traceback (most recent call last):
llvm> File "/build/llvm-src-15.0.7/llvm/utils/lit/lit/TestingConfig.py", line 125, in load_from_path
llvm> exec(compile(data, path, 'exec'), cfg_globals, None)
llvm> ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llvm> File "/build/llvm-src-15.0.7/llvm/test/Bindings/Go/lit.local.cfg", line 2, in <module>
llvm> import pipes
llvm> ModuleNotFoundError: No module named 'pipes'
llvm>
llvm> FAILED: CMakeFiles/check-all /build/llvm-src-15.0.7/llvm/build/CMakeFiles/check-all
llvm> cd /build/llvm-src-15.0.7/llvm/build && /nix/store/f1x7fb6jwm9phhcrldsc6xj5wmazvhvs-python3-3.13.3-env/bin/python3.13 /build/llvm-src-15.0.7/llvm/build/./bin/llvm-lit --verbose -j40 --param polly_site_config=/build/llvm-src-15.0.7/llvm/build/tools/polly/test/lit.site.cfg --param polly_unit_site_config=/build/llvm-src-15.0.7/llvm/build/tools/polly/test/Unit/lit.site.cfg /build/llvm-src-15.0.7/llvm/build/tools/polly/test /build/llvm-src-15.0.7/llvm/build/utils/lit /build/llvm-src-15.0.7/llvm/build/test
llvm> ninja: build stopped: subcommand failed.
| 13:25:29 |
hexa | possibly because ninja uses its own python | 13:25:41 |
emily | tempted to say let 'em break | 13:27:01 |
emily | failing that, the easiest thing is probably just to find whatever commit dropped the use and backport it | 13:27:14 |
emily | we backport half of new LLVMs to old ones anyway… | 13:27:20 |
hexa | fair | 13:27:39 |
| 20 May 2025 |
hexa | https://github.com/llvm/llvm-project/commit/a48f018bb7d8fadc67c08e71409c31713daa0071#diff-1ea3be0bb9b548162196ebb34bbae2fc2bf7bff6f3385113f184e8a998f4a78a | 01:31:30 |
hexa | removed here in 16.0.0-rc1 | 01:31:43 |
emily | "Now that all jobs have moved over to the new style of Lit configuration, we can remove all traces of the legacy testing configuration system." is not promising for backportability | 01:37:05 |
emily | maybe patching the shebang on lit will help? | 01:37:35 |
emily | or could just disable tests for those old versions. or let them break and see how much people really care about old LLVMs. | 01:37:49 |
hexa | the first estimate is ~115 packages in the python scope per platform | 01:41:03 |
emily | it looks like it's only for libcxx and libunwind | 01:40:43 |
hexa | diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py
index eb55c03a7687..9266c53be750 100644
--- a/libcxx/utils/libcxx/test/config.py
+++ b/libcxx/utils/libcxx/test/config.py
@@ -9,7 +9,6 @@
import copy
import os
import pkgutil
-import pipes
import platform
import re
import shlex
@@ -434,7 +433,7 @@ class Configuration(object):
def quote(self, s):
if platform.system() == 'Windows':
return lit.TestRunner.quote_windows_command([s])
- return pipes.quote(s)
+ return shlex.quote(s)
def configure_substitutions(self):
sub = self.config.substitutions
| 01:42:45 |
emily | * it looks like it's only for libcxx and libunwind? | 01:40:43 |
hexa | * diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py
index eb55c03a7687..9266c53be750 100644
--- a/libcxx/utils/libcxx/test/config.py
+++ b/libcxx/utils/libcxx/test/config.py
@@ -9,7 +9,6 @@
import copy
import os
import pkgutil
-import pipes
import platform
import re
import shlex
@@ -434,7 +433,7 @@ class Configuration(object):
def quote(self, s):
if platform.system() == 'Windows':
return lit.TestRunner.quote_windows_command([s])
- return pipes.quote(s)
+ return shlex.quote(s)
def configure_substitutions(self):
sub = self.config.substitutions
| 01:42:48 |
emily | I think we can disable tests on old versions of those. | 01:40:43 |
hexa | this could be all that's needed | 01:42:57 |
hexa | do I start contributing to llvm now? 😫 | 01:43:36 |
hexa | also tblgen iirc, but i'd have to check | 01:44:14 |
emily | they don't maintain the old versions at all | 01:43:49 |
hexa | hm no | 01:45:31 |
emily | everything but 20 is technically EOL | 01:43:57 |
hexa | ah, great | 01:47:13 |