omdev 0.0.0.dev201__py3-none-any.whl → 0.0.0.dev203__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- omdev/.manifests.json +13 -1
- omdev/interp/providers/system.py +1 -2
- omdev/scripts/interp.py +1 -2
- omdev/scripts/pyproject.py +1 -2
- omdev/tools/cc.py +81 -0
- omdev/tools/git.py +1 -2
- {omdev-0.0.0.dev201.dist-info → omdev-0.0.0.dev203.dist-info}/METADATA +2 -2
- {omdev-0.0.0.dev201.dist-info → omdev-0.0.0.dev203.dist-info}/RECORD +12 -11
- {omdev-0.0.0.dev201.dist-info → omdev-0.0.0.dev203.dist-info}/LICENSE +0 -0
- {omdev-0.0.0.dev201.dist-info → omdev-0.0.0.dev203.dist-info}/WHEEL +0 -0
- {omdev-0.0.0.dev201.dist-info → omdev-0.0.0.dev203.dist-info}/entry_points.txt +0 -0
- {omdev-0.0.0.dev201.dist-info → omdev-0.0.0.dev203.dist-info}/top_level.txt +0 -0
omdev/.manifests.json
CHANGED
@@ -227,6 +227,18 @@
|
|
227
227
|
}
|
228
228
|
}
|
229
229
|
},
|
230
|
+
{
|
231
|
+
"module": ".tools.cc",
|
232
|
+
"attr": "_CLI_MODULE",
|
233
|
+
"file": "omdev/tools/cc.py",
|
234
|
+
"line": 76,
|
235
|
+
"value": {
|
236
|
+
"$.cli.types.CliModule": {
|
237
|
+
"cmd_name": "cc",
|
238
|
+
"mod_name": "omdev.tools.cc"
|
239
|
+
}
|
240
|
+
}
|
241
|
+
},
|
230
242
|
{
|
231
243
|
"module": ".tools.cloc",
|
232
244
|
"attr": "_CLI_MODULE",
|
@@ -267,7 +279,7 @@
|
|
267
279
|
"module": ".tools.git",
|
268
280
|
"attr": "_CLI_MODULE",
|
269
281
|
"file": "omdev/tools/git.py",
|
270
|
-
"line":
|
282
|
+
"line": 231,
|
271
283
|
"value": {
|
272
284
|
"$.cli.types.CliModule": {
|
273
285
|
"cmd_name": "git",
|
omdev/interp/providers/system.py
CHANGED
@@ -104,8 +104,7 @@ class SystemInterpProvider(InterpProvider):
|
|
104
104
|
async def get_exe_version(self, exe: str) -> ta.Optional[InterpVersion]:
|
105
105
|
if not self._options.inspect:
|
106
106
|
s = os.path.basename(exe)
|
107
|
-
|
108
|
-
s = s[len('python'):]
|
107
|
+
s = s.removeprefix('python')
|
109
108
|
if '.' in s:
|
110
109
|
try:
|
111
110
|
return InterpVersion.parse(s)
|
omdev/scripts/interp.py
CHANGED
@@ -4545,8 +4545,7 @@ class SystemInterpProvider(InterpProvider):
|
|
4545
4545
|
async def get_exe_version(self, exe: str) -> ta.Optional[InterpVersion]:
|
4546
4546
|
if not self._options.inspect:
|
4547
4547
|
s = os.path.basename(exe)
|
4548
|
-
|
4549
|
-
s = s[len('python'):]
|
4548
|
+
s = s.removeprefix('python')
|
4550
4549
|
if '.' in s:
|
4551
4550
|
try:
|
4552
4551
|
return InterpVersion.parse(s)
|
omdev/scripts/pyproject.py
CHANGED
@@ -6884,8 +6884,7 @@ class SystemInterpProvider(InterpProvider):
|
|
6884
6884
|
async def get_exe_version(self, exe: str) -> ta.Optional[InterpVersion]:
|
6885
6885
|
if not self._options.inspect:
|
6886
6886
|
s = os.path.basename(exe)
|
6887
|
-
|
6888
|
-
s = s[len('python'):]
|
6887
|
+
s = s.removeprefix('python')
|
6889
6888
|
if '.' in s:
|
6890
6889
|
try:
|
6891
6890
|
return InterpVersion.parse(s)
|
omdev/tools/cc.py
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
"""
|
2
|
+
//$(which true); exec om cc run "$0" "$@"
|
3
|
+
or
|
4
|
+
//usr/bin/true; exec om cc run "$0" "$@"
|
5
|
+
|
6
|
+
See: https://gist.github.com/jdarpinian/1952a58b823222627cc1a8b83a7aa4e2
|
7
|
+
|
8
|
+
==
|
9
|
+
|
10
|
+
Freestanding options:
|
11
|
+
|
12
|
+
//usr/bin/env clang++ -std=c++20 -o ${X=`mktemp`} "$0" && exec -a "$0" "$X" "$@"
|
13
|
+
//usr/bin/env clang++ -std=c++20 -o ${D=`mktemp -d`}/x "$0" && ${D}/x ${@:1}; R=$?; rm -rf ${D}; exit $R
|
14
|
+
//$(which true); clang++ -std=c++20 -o ${D=`mktemp -d`}/x ${0} && ${D}/x ${@:1}; R=${?}; rm -rf ${D}; exit ${R}
|
15
|
+
"""
|
16
|
+
import os
|
17
|
+
import shutil
|
18
|
+
import subprocess
|
19
|
+
import tempfile
|
20
|
+
|
21
|
+
from omlish import check
|
22
|
+
from omlish.argparse import all as ap
|
23
|
+
|
24
|
+
from ..cli import CliModule
|
25
|
+
|
26
|
+
|
27
|
+
class Cli(ap.Cli):
|
28
|
+
@ap.cmd(
|
29
|
+
ap.arg('src-file'),
|
30
|
+
ap.arg('args', nargs=ap.REMAINDER),
|
31
|
+
)
|
32
|
+
def run(self) -> int:
|
33
|
+
src_file = self.args.src_file
|
34
|
+
check.state(os.path.isfile(src_file))
|
35
|
+
|
36
|
+
src_file_name = os.path.basename(src_file)
|
37
|
+
|
38
|
+
tmp_dir = tempfile.mkdtemp()
|
39
|
+
try:
|
40
|
+
proc = subprocess.run(
|
41
|
+
[
|
42
|
+
check.non_empty_str(shutil.which('clang++')),
|
43
|
+
'-std=c++20',
|
44
|
+
os.path.abspath(src_file),
|
45
|
+
'-o',
|
46
|
+
src_file_name,
|
47
|
+
],
|
48
|
+
cwd=tmp_dir,
|
49
|
+
check=False,
|
50
|
+
)
|
51
|
+
|
52
|
+
if rc := proc.returncode:
|
53
|
+
return rc
|
54
|
+
|
55
|
+
exe_file = os.path.join(tmp_dir, src_file_name)
|
56
|
+
check.state(os.path.isfile(exe_file))
|
57
|
+
|
58
|
+
proc = subprocess.run(
|
59
|
+
[
|
60
|
+
exe_file,
|
61
|
+
*self.args.args,
|
62
|
+
],
|
63
|
+
check=False,
|
64
|
+
)
|
65
|
+
|
66
|
+
finally:
|
67
|
+
shutil.rmtree(tmp_dir)
|
68
|
+
|
69
|
+
return proc.returncode
|
70
|
+
|
71
|
+
|
72
|
+
def _main() -> None:
|
73
|
+
Cli().cli_run_and_exit()
|
74
|
+
|
75
|
+
|
76
|
+
# @omlish-manifest
|
77
|
+
_CLI_MODULE = CliModule('cc', __name__)
|
78
|
+
|
79
|
+
|
80
|
+
if __name__ == '__main__':
|
81
|
+
_main()
|
omdev/tools/git.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev203
|
4
4
|
Summary: omdev
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
|
|
12
12
|
Classifier: Operating System :: POSIX
|
13
13
|
Requires-Python: >=3.12
|
14
14
|
License-File: LICENSE
|
15
|
-
Requires-Dist: omlish==0.0.0.
|
15
|
+
Requires-Dist: omlish==0.0.0.dev203
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
omdev/.manifests.json,sha256=
|
1
|
+
omdev/.manifests.json,sha256=iH0-0wXP8oioPCMthf71d7WFepiNWBw8D2MPqPxBA5E,8812
|
2
2
|
omdev/__about__.py,sha256=n5x-SO70OgbDQFzQ1d7sZDVMsnkQc4PxQZPFaIQFa0E,1281
|
3
3
|
omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
omdev/bracepy.py,sha256=I8EdqtDvxzAi3I8TuMEW-RBfwXfqKbwp06CfOdj3L1o,2743
|
@@ -95,7 +95,7 @@ omdev/interp/providers/base.py,sha256=aftoEB3FQInKKGDHDSjpnI33cOLBpxPM4Cw_yOuV1f
|
|
95
95
|
omdev/interp/providers/inject.py,sha256=2RT4imRqoqHWVwxzYKf_VAgp6iEcJD01fjD6tng2rso,846
|
96
96
|
omdev/interp/providers/running.py,sha256=9MCJAcHotI0EmNIxPwt7b3W715Jp2Gfw1qtMhCEGsUQ,781
|
97
97
|
omdev/interp/providers/standalone.py,sha256=jJnncea4PIuaW-KwD2YiWDn8zTmwmsJNUKpF-qC2bwo,7725
|
98
|
-
omdev/interp/providers/system.py,sha256=
|
98
|
+
omdev/interp/providers/system.py,sha256=SLVAZ09EymHh0KPrDDbt9SySVpsLo6cZdkbD2r79VAY,3941
|
99
99
|
omdev/interp/pyenv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
100
|
omdev/interp/pyenv/inject.py,sha256=JZCSvkLYj5x_2LWScgYVOpmPrwrYQ8YVv7OeHbcH53s,605
|
101
101
|
omdev/interp/pyenv/install.py,sha256=LX5jDzQQR1X0C9OKi4masKWoMU3ms8XCfQPXS2kTZKI,7818
|
@@ -155,15 +155,16 @@ omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,
|
|
155
155
|
omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
|
156
156
|
omdev/scripts/exectime.py,sha256=sFb376GflU6s9gNX-2-we8hgH6w5MuQNS9g6i4SqJIo,610
|
157
157
|
omdev/scripts/importtrace.py,sha256=oa7CtcWJVMNDbyIEiRHej6ICfABfErMeo4_haIqe18Q,14041
|
158
|
-
omdev/scripts/interp.py,sha256=
|
159
|
-
omdev/scripts/pyproject.py,sha256=
|
158
|
+
omdev/scripts/interp.py,sha256=HUX7XMk76H2VIX5anb_m7R_6jawXHzxPjY26N-gnTR0,140862
|
159
|
+
omdev/scripts/pyproject.py,sha256=EEwu-5Fl0cCe0X6CaHOmjSt1vANXRFgsbvn487uKJnI,242688
|
160
160
|
omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
|
161
161
|
omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
|
162
162
|
omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
|
163
|
+
omdev/tools/cc.py,sha256=ERi5pqcvqnGADS4wqbFIktJeUzSxKoAea4cGcCC6sSM,1920
|
163
164
|
omdev/tools/cloc.py,sha256=jYlMHBae9oGKN4VKeBGuqjiQNcM2be7KIoTF0oNwx_I,5205
|
164
165
|
omdev/tools/doc.py,sha256=wvgGhv6aFaV-Zl-Qivejx37i-lKQ207rZ-4K2fPf-Ss,2547
|
165
166
|
omdev/tools/docker.py,sha256=KVFckA8eAdiapFUr8xkfMw9Uv3Qy4oNq0e70Lqt1F7I,7352
|
166
|
-
omdev/tools/git.py,sha256=
|
167
|
+
omdev/tools/git.py,sha256=fiQc4w2w63PELLLyMXdwpmgpzFzs7UNn35vewWckScM,7514
|
167
168
|
omdev/tools/importscan.py,sha256=nhJIhtjDY6eFVlReP7fegvv6L5ZjN-Z2VeyhsBonev4,4639
|
168
169
|
omdev/tools/linehisto.py,sha256=0ZNm34EuiZBE9Q2YC6KNLNNydNT8QPSOwvYzXiU9S2Q,8881
|
169
170
|
omdev/tools/mkrelimp.py,sha256=kyu_BbUakKHEEOxNEvYWk7tH1ixCfVb3NqqT8U-BozE,4066
|
@@ -183,9 +184,9 @@ omdev/tools/json/rendering.py,sha256=tMcjOW5edfozcMSTxxvF7WVTsbYLoe9bCKFh50qyaGw
|
|
183
184
|
omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
184
185
|
omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
|
185
186
|
omdev/tools/pawk/pawk.py,sha256=Eckymn22GfychCQcQi96BFqRo_LmiJ-EPhC8TTUJdB4,11446
|
186
|
-
omdev-0.0.0.
|
187
|
-
omdev-0.0.0.
|
188
|
-
omdev-0.0.0.
|
189
|
-
omdev-0.0.0.
|
190
|
-
omdev-0.0.0.
|
191
|
-
omdev-0.0.0.
|
187
|
+
omdev-0.0.0.dev203.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
188
|
+
omdev-0.0.0.dev203.dist-info/METADATA,sha256=jzSUBFsEwLH5crcjQpu2K_LpPSbhRR5QHz7OjkaJAd4,1760
|
189
|
+
omdev-0.0.0.dev203.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
190
|
+
omdev-0.0.0.dev203.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
|
191
|
+
omdev-0.0.0.dev203.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
|
192
|
+
omdev-0.0.0.dev203.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|