relenv 0.18.1__py3-none-any.whl → 0.18.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- relenv/build/__init__.py +7 -0
- relenv/build/common.py +19 -4
- relenv/build/darwin.py +4 -5
- relenv/build/linux.py +64 -77
- relenv/build/windows.py +3 -3
- relenv/buildenv.py +9 -9
- relenv/common.py +1 -1
- relenv/runtime.py +19 -0
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info}/METADATA +3 -2
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info}/RECORD +17 -17
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info}/WHEEL +1 -1
- tests/test_build.py +0 -1
- tests/test_verify_build.py +56 -15
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info}/entry_points.txt +0 -0
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info/licenses}/LICENSE.md +0 -0
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info/licenses}/NOTICE +0 -0
- {relenv-0.18.1.dist-info → relenv-0.18.2.dist-info}/top_level.txt +0 -0
relenv/build/__init__.py
CHANGED
|
@@ -86,6 +86,12 @@ def setup_parser(subparsers):
|
|
|
86
86
|
action="store_true",
|
|
87
87
|
help="Force downloading source tarballs even if they exist",
|
|
88
88
|
)
|
|
89
|
+
build_subparser.add_argument(
|
|
90
|
+
"--download-only",
|
|
91
|
+
default=False,
|
|
92
|
+
action="store_true",
|
|
93
|
+
help="Stop after downloading source tarballs",
|
|
94
|
+
)
|
|
89
95
|
build_subparser.add_argument(
|
|
90
96
|
"--step",
|
|
91
97
|
dest="steps",
|
|
@@ -179,6 +185,7 @@ def main(args):
|
|
|
179
185
|
clean=args.clean,
|
|
180
186
|
cleanup=not args.no_cleanup,
|
|
181
187
|
force_download=args.force_download,
|
|
188
|
+
download_only=args.download_only,
|
|
182
189
|
show_ui=show_ui,
|
|
183
190
|
log_level=args.log_level.upper(),
|
|
184
191
|
)
|
relenv/build/common.py
CHANGED
|
@@ -801,7 +801,6 @@ class Builder:
|
|
|
801
801
|
recipies=None,
|
|
802
802
|
build_default=build_default,
|
|
803
803
|
populate_env=populate_env,
|
|
804
|
-
force_download=False,
|
|
805
804
|
arch="x86_64",
|
|
806
805
|
version="",
|
|
807
806
|
):
|
|
@@ -824,7 +823,6 @@ class Builder:
|
|
|
824
823
|
|
|
825
824
|
self.build_default = build_default
|
|
826
825
|
self.populate_env = populate_env
|
|
827
|
-
self.force_download = force_download
|
|
828
826
|
self.toolchains = get_toolchain(root=self.dirs.root)
|
|
829
827
|
self.set_arch(self.arch)
|
|
830
828
|
|
|
@@ -842,7 +840,6 @@ class Builder:
|
|
|
842
840
|
recipies,
|
|
843
841
|
self.build_default,
|
|
844
842
|
self.populate_env,
|
|
845
|
-
self.force_download,
|
|
846
843
|
self.arch,
|
|
847
844
|
version,
|
|
848
845
|
)
|
|
@@ -1207,6 +1204,7 @@ class Builder:
|
|
|
1207
1204
|
clean=True,
|
|
1208
1205
|
cleanup=True,
|
|
1209
1206
|
force_download=False,
|
|
1207
|
+
download_only=False,
|
|
1210
1208
|
show_ui=False,
|
|
1211
1209
|
log_level="WARNING",
|
|
1212
1210
|
):
|
|
@@ -1267,6 +1265,8 @@ class Builder:
|
|
|
1267
1265
|
# Start a process for each build passing it an event used to notify each
|
|
1268
1266
|
# process if it's dependencies have finished.
|
|
1269
1267
|
self.download_files(steps, force_download=force_download, show_ui=show_ui)
|
|
1268
|
+
if download_only:
|
|
1269
|
+
return
|
|
1270
1270
|
self.build(steps, cleanup, show_ui=show_ui, log_level=log_level)
|
|
1271
1271
|
|
|
1272
1272
|
def check_versions(self):
|
|
@@ -1407,7 +1407,13 @@ def install_runtime(sitepackages):
|
|
|
1407
1407
|
relenv = sitepackages / "relenv"
|
|
1408
1408
|
os.makedirs(relenv, exist_ok=True)
|
|
1409
1409
|
|
|
1410
|
-
for name in [
|
|
1410
|
+
for name in [
|
|
1411
|
+
"runtime.py",
|
|
1412
|
+
"relocate.py",
|
|
1413
|
+
"common.py",
|
|
1414
|
+
"buildenv.py",
|
|
1415
|
+
"__init__.py",
|
|
1416
|
+
]:
|
|
1411
1417
|
src = MODULE_DIR / name
|
|
1412
1418
|
dest = relenv / name
|
|
1413
1419
|
with io.open(src, "r") as rfp:
|
|
@@ -1495,6 +1501,15 @@ def finalize(env, dirs, logfp):
|
|
|
1495
1501
|
format_shebang("../../../bin/python3"),
|
|
1496
1502
|
)
|
|
1497
1503
|
|
|
1504
|
+
shutil.copy(
|
|
1505
|
+
pathlib.Path(dirs.toolchain)
|
|
1506
|
+
/ env["RELENV_HOST"]
|
|
1507
|
+
/ "sysroot"
|
|
1508
|
+
/ "lib"
|
|
1509
|
+
/ "libstdc++.so.6",
|
|
1510
|
+
libdir,
|
|
1511
|
+
)
|
|
1512
|
+
|
|
1498
1513
|
# Moved in python 3.13 or removed?
|
|
1499
1514
|
if (pymodules / "cgi.py").exists():
|
|
1500
1515
|
patch_shebang(
|
relenv/build/darwin.py
CHANGED
|
@@ -72,7 +72,7 @@ def build_python(env, dirs, logfp):
|
|
|
72
72
|
runcmd(["make", "install"], env=env, stderr=logfp, stdout=logfp)
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
build = builds.add("darwin", populate_env=populate_env, version="3.10.
|
|
75
|
+
build = builds.add("darwin", populate_env=populate_env, version="3.10.17")
|
|
76
76
|
|
|
77
77
|
build.add(
|
|
78
78
|
"openssl",
|
|
@@ -87,8 +87,7 @@ build.add(
|
|
|
87
87
|
build.add(
|
|
88
88
|
"XZ",
|
|
89
89
|
download={
|
|
90
|
-
"
|
|
91
|
-
"url": "https://woz.io/relenv/dependencies/xz-{version}.tar.gz",
|
|
90
|
+
"url": "http://tukaani.org/xz/xz-{version}.tar.gz",
|
|
92
91
|
"version": "5.6.2",
|
|
93
92
|
"checksum": "0d6b10e4628fe08e19293c65e8dbcaade084a083",
|
|
94
93
|
},
|
|
@@ -117,7 +116,7 @@ build.add(
|
|
|
117
116
|
"url": "https://www.python.org/ftp/python/{version}/Python-{version}.tar.xz",
|
|
118
117
|
"fallback_url": "https://woz.io/relenv/dependencies/Python-{version}.tar.gz",
|
|
119
118
|
"version": build.version,
|
|
120
|
-
"checksum": "
|
|
119
|
+
"checksum": "d31d548cd2c5ca2ae713bebe346ba15e8406633a",
|
|
121
120
|
},
|
|
122
121
|
)
|
|
123
122
|
|
|
@@ -141,6 +140,6 @@ build = build.copy(
|
|
|
141
140
|
builds.add("darwin", builder=build)
|
|
142
141
|
|
|
143
142
|
build = build.copy(
|
|
144
|
-
version="3.13.
|
|
143
|
+
version="3.13.3", checksum="f26085cf12daef7b60b8a6fe93ef988b9a094aea"
|
|
145
144
|
)
|
|
146
145
|
builds.add("darwin", builder=build)
|
relenv/build/linux.py
CHANGED
|
@@ -35,38 +35,36 @@ def populate_env(env, dirs):
|
|
|
35
35
|
:type dirs: ``relenv.build.common.Dirs``
|
|
36
36
|
"""
|
|
37
37
|
# CC and CXX need to be to have the full path to the executable
|
|
38
|
-
env["CC"] = "{}/bin/{}-gcc
|
|
39
|
-
env["CXX"] = "{}/bin/{}-g++
|
|
38
|
+
env["CC"] = f"{dirs.toolchain}/bin/{env['RELENV_HOST']}-gcc"
|
|
39
|
+
env["CXX"] = f"{dirs.toolchain}/bin/{env['RELENV_HOST']}-g++"
|
|
40
40
|
# Add our toolchain binaries to the path. We also add the bin directory of
|
|
41
41
|
# our prefix so that libtirpc can find krb5-config
|
|
42
|
-
env["PATH"] = "{}/bin/:{}/bin/:{PATH}"
|
|
42
|
+
env["PATH"] = f"{dirs.toolchain}/bin/:{dirs.prefix}/bin/:{env['PATH']}"
|
|
43
43
|
ldflags = [
|
|
44
44
|
"-Wl,--build-id=sha1",
|
|
45
|
-
"-Wl,--rpath={prefix}/lib",
|
|
46
|
-
"-L{prefix}/lib",
|
|
47
|
-
"-L{}/{RELENV_HOST}/sysroot/lib"
|
|
48
|
-
"-static-libstdc++",
|
|
45
|
+
f"-Wl,--rpath={dirs.prefix}/lib",
|
|
46
|
+
f"-L{dirs.prefix}/lib",
|
|
47
|
+
f"-L{dirs.toolchain}/{env['RELENV_HOST']}/sysroot/lib",
|
|
49
48
|
]
|
|
50
|
-
env["LDFLAGS"] = " ".join(ldflags)
|
|
49
|
+
env["LDFLAGS"] = " ".join(ldflags)
|
|
51
50
|
cflags = [
|
|
52
51
|
"-g",
|
|
53
|
-
"-I{prefix}/include",
|
|
54
|
-
"-I{prefix}/include/readline",
|
|
55
|
-
"-I{prefix}/include/ncursesw",
|
|
56
|
-
"-I{}/{RELENV_HOST}/sysroot/usr/include"
|
|
52
|
+
f"-I{dirs.prefix}/include",
|
|
53
|
+
f"-I{dirs.prefix}/include/readline",
|
|
54
|
+
f"-I{dirs.prefix}/include/ncursesw",
|
|
55
|
+
f"-I{dirs.toolchain}/{env['RELENV_HOST']}/sysroot/usr/include",
|
|
57
56
|
]
|
|
58
|
-
env["CFLAGS"] = " ".join(cflags)
|
|
57
|
+
env["CFLAGS"] = " ".join(cflags)
|
|
59
58
|
# CPPFLAGS are needed for Python's setup.py to find the 'nessicery bits'
|
|
60
59
|
# for things like zlib and sqlite.
|
|
61
60
|
cpplags = [
|
|
62
|
-
"-I{prefix}/include",
|
|
63
|
-
"-I{prefix}/include/readline",
|
|
64
|
-
"-I{prefix}/include/ncursesw",
|
|
65
|
-
"-I{}/{RELENV_HOST}/sysroot/usr/include"
|
|
61
|
+
f"-I{dirs.prefix}/include",
|
|
62
|
+
f"-I{dirs.prefix}/include/readline",
|
|
63
|
+
f"-I{dirs.prefix}/include/ncursesw",
|
|
64
|
+
f"-I{dirs.toolchain}/{env['RELENV_HOST']}/sysroot/usr/include",
|
|
66
65
|
]
|
|
67
|
-
env["
|
|
68
|
-
env["
|
|
69
|
-
env["LD_LIBRARY_PATH"] = "{prefix}/lib"
|
|
66
|
+
# env["CXXFLAGS"] = " ".join(cpplags)
|
|
67
|
+
env["CPPFLAGS"] = " ".join(cpplags)
|
|
70
68
|
env["PKG_CONFIG_PATH"] = f"{dirs.prefix}/lib/pkgconfig"
|
|
71
69
|
|
|
72
70
|
|
|
@@ -85,12 +83,12 @@ def build_bzip2(env, dirs, logfp):
|
|
|
85
83
|
[
|
|
86
84
|
"make",
|
|
87
85
|
"-j8",
|
|
88
|
-
"PREFIX={
|
|
89
|
-
"LDFLAGS={
|
|
86
|
+
f"PREFIX={dirs.prefix}",
|
|
87
|
+
f"LDFLAGS={env['LDFLAGS']}",
|
|
90
88
|
"CFLAGS=-fPIC",
|
|
91
|
-
"CC={
|
|
92
|
-
"BUILD=
|
|
93
|
-
"HOST={
|
|
89
|
+
f"CC={env['CC']}",
|
|
90
|
+
"BUILD=x86_64-linux-gnu",
|
|
91
|
+
f"HOST={env['RELENV_HOST']}",
|
|
94
92
|
"install",
|
|
95
93
|
],
|
|
96
94
|
env=env,
|
|
@@ -102,10 +100,10 @@ def build_bzip2(env, dirs, logfp):
|
|
|
102
100
|
"make",
|
|
103
101
|
"-f",
|
|
104
102
|
"Makefile-libbz2_so",
|
|
105
|
-
"CC={
|
|
106
|
-
"LDFLAGS={
|
|
107
|
-
"BUILD=
|
|
108
|
-
"HOST={
|
|
103
|
+
f"CC={env['CC']}",
|
|
104
|
+
f"LDFLAGS={env['LDFLAGS']}",
|
|
105
|
+
"BUILD=x86_64-linux-gnu",
|
|
106
|
+
f"HOST={env['RELENV_HOST']}",
|
|
109
107
|
],
|
|
110
108
|
env=env,
|
|
111
109
|
stderr=logfp,
|
|
@@ -128,10 +126,10 @@ def build_libxcrypt(env, dirs, logfp):
|
|
|
128
126
|
runcmd(
|
|
129
127
|
[
|
|
130
128
|
"./configure",
|
|
131
|
-
"--prefix={
|
|
129
|
+
f"--prefix={dirs.prefix}",
|
|
132
130
|
# "--enable-libgdbm-compat",
|
|
133
|
-
"--build={
|
|
134
|
-
"--host={
|
|
131
|
+
f"--build={env['RELENV_BUILD']}",
|
|
132
|
+
f"--host={env['RELENV_HOST']}",
|
|
135
133
|
],
|
|
136
134
|
env=env,
|
|
137
135
|
stderr=logfp,
|
|
@@ -155,10 +153,10 @@ def build_gdbm(env, dirs, logfp):
|
|
|
155
153
|
runcmd(
|
|
156
154
|
[
|
|
157
155
|
"./configure",
|
|
158
|
-
"--prefix={
|
|
156
|
+
f"--prefix={dirs.prefix}",
|
|
159
157
|
"--enable-libgdbm-compat",
|
|
160
|
-
"--build={
|
|
161
|
-
"--host={
|
|
158
|
+
f"--build={env['RELENV_BUILD']}",
|
|
159
|
+
f"--host={env['RELENV_HOST']}",
|
|
162
160
|
],
|
|
163
161
|
env=env,
|
|
164
162
|
stderr=logfp,
|
|
@@ -205,19 +203,20 @@ def build_ncurses(env, dirs, logfp):
|
|
|
205
203
|
"--disable-stripping",
|
|
206
204
|
f"--with-pkg-config={dirs.prefix}/lib/pkgconfig",
|
|
207
205
|
"--enable-pc-files",
|
|
208
|
-
"--build={
|
|
209
|
-
"--host={
|
|
206
|
+
f"--build={env['RELENV_BUILD']}",
|
|
207
|
+
f"--host={env['RELENV_HOST']}",
|
|
210
208
|
],
|
|
211
209
|
env=env,
|
|
212
210
|
stderr=logfp,
|
|
213
211
|
stdout=logfp,
|
|
214
212
|
)
|
|
215
213
|
runcmd(["make", "-j8"], env=env, stderr=logfp, stdout=logfp)
|
|
214
|
+
ticdir = str(pathlib.Path(dirs.tmpbuild) / "progs" / "tic")
|
|
216
215
|
runcmd(
|
|
217
216
|
[
|
|
218
217
|
"make",
|
|
219
|
-
"DESTDIR={
|
|
220
|
-
"TIC_PATH={}"
|
|
218
|
+
f"DESTDIR={dirs.prefix}",
|
|
219
|
+
f"TIC_PATH={ticdir}",
|
|
221
220
|
"install",
|
|
222
221
|
],
|
|
223
222
|
env=env,
|
|
@@ -240,12 +239,12 @@ def build_readline(env, dirs, logfp):
|
|
|
240
239
|
env["LDFLAGS"] = f"{env['LDFLAGS']} -ltinfow"
|
|
241
240
|
cmd = [
|
|
242
241
|
"./configure",
|
|
243
|
-
"--prefix={
|
|
242
|
+
f"--prefix={dirs.prefix}",
|
|
244
243
|
]
|
|
245
244
|
if env["RELENV_HOST"].find("linux") > -1:
|
|
246
245
|
cmd += [
|
|
247
|
-
"--build={
|
|
248
|
-
"--host={
|
|
246
|
+
f"--build={env['RELENV_BUILD']}",
|
|
247
|
+
f"--host={env['RELENV_HOST']}",
|
|
249
248
|
]
|
|
250
249
|
runcmd(cmd, env=env, stderr=logfp, stdout=logfp)
|
|
251
250
|
runcmd(["make", "-j8"], env=env, stderr=logfp, stdout=logfp)
|
|
@@ -266,10 +265,10 @@ def build_libffi(env, dirs, logfp):
|
|
|
266
265
|
runcmd(
|
|
267
266
|
[
|
|
268
267
|
"./configure",
|
|
269
|
-
"--prefix={
|
|
268
|
+
f"--prefix={dirs.prefix}",
|
|
270
269
|
"--disable-multi-os-directory",
|
|
271
|
-
"--build={
|
|
272
|
-
"--host={
|
|
270
|
+
f"--build={env['RELENV_BUILD']}",
|
|
271
|
+
f"--host={env['RELENV_HOST']}",
|
|
273
272
|
],
|
|
274
273
|
env=env,
|
|
275
274
|
stderr=logfp,
|
|
@@ -294,12 +293,12 @@ def build_zlib(env, dirs, logfp):
|
|
|
294
293
|
:param logfp: A handle for the log file
|
|
295
294
|
:type logfp: file
|
|
296
295
|
"""
|
|
297
|
-
env["CFLAGS"] = "-fPIC {
|
|
296
|
+
env["CFLAGS"] = f"-fPIC {env['CFLAGS']}"
|
|
298
297
|
runcmd(
|
|
299
298
|
[
|
|
300
299
|
"./configure",
|
|
301
|
-
"--prefix={
|
|
302
|
-
"--libdir={}/lib"
|
|
300
|
+
f"--prefix={dirs.prefix}",
|
|
301
|
+
f"--libdir={dirs.prefix}/lib",
|
|
303
302
|
"--shared",
|
|
304
303
|
],
|
|
305
304
|
env=env,
|
|
@@ -329,11 +328,11 @@ def build_krb(env, dirs, logfp):
|
|
|
329
328
|
runcmd(
|
|
330
329
|
[
|
|
331
330
|
"./configure",
|
|
332
|
-
"--prefix={
|
|
331
|
+
f"--prefix={dirs.prefix}",
|
|
333
332
|
"--without-system-verto",
|
|
334
333
|
"--without-libedit",
|
|
335
|
-
"--build={
|
|
336
|
-
"--host={
|
|
334
|
+
f"--build={env['RELENV_BUILD']}",
|
|
335
|
+
f"--host={env['RELENV_HOST']}",
|
|
337
336
|
],
|
|
338
337
|
env=env,
|
|
339
338
|
stderr=logfp,
|
|
@@ -354,9 +353,9 @@ def build_python(env, dirs, logfp):
|
|
|
354
353
|
:param logfp: A handle for the log file
|
|
355
354
|
:type logfp: file
|
|
356
355
|
"""
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
356
|
+
ldflagopt = f"-Wl,--rpath={dirs.prefix}/lib"
|
|
357
|
+
if ldflagopt not in env["LDFLAGS"]:
|
|
358
|
+
env["LDFLAGS"] = f"{ldflagopt} {env['LDFLAGS']}"
|
|
360
359
|
|
|
361
360
|
# Needed when using a toolchain even if build and host match.
|
|
362
361
|
runcmd(
|
|
@@ -433,6 +432,8 @@ def build_python(env, dirs, logfp):
|
|
|
433
432
|
with io.open("Modules/Setup", "a+") as fp:
|
|
434
433
|
fp.seek(0, io.SEEK_END)
|
|
435
434
|
fp.write("*disabled*\n" "_tkinter\n" "nsl\n" "nis\n")
|
|
435
|
+
for _ in ["LDFLAGS", "CFLAGS", "CPPFLAGS", "CXX", "CC"]:
|
|
436
|
+
env.pop(_)
|
|
436
437
|
runcmd(["make", "-j8"], env=env, stderr=logfp, stdout=logfp)
|
|
437
438
|
runcmd(["make", "install"], env=env, stderr=logfp, stdout=logfp)
|
|
438
439
|
|
|
@@ -444,14 +445,13 @@ def build_python(env, dirs, logfp):
|
|
|
444
445
|
# runcmd([str(python), "-m", "ensurepip", "-U"], env=env, stderr=logfp, stdout=logfp)
|
|
445
446
|
|
|
446
447
|
|
|
447
|
-
build = builds.add("linux", populate_env=populate_env, version="3.10.
|
|
448
|
+
build = builds.add("linux", populate_env=populate_env, version="3.10.17")
|
|
448
449
|
|
|
449
450
|
build.add(
|
|
450
451
|
"openssl",
|
|
451
452
|
build_func=build_openssl,
|
|
452
453
|
download={
|
|
453
454
|
"url": "https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz",
|
|
454
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/openssl-{version}.tar.gz",
|
|
455
455
|
"version": "3.2.4",
|
|
456
456
|
"checksum": "2247802a1193c0f8eb41c870e8de45a2241422d5",
|
|
457
457
|
"checkfunc": tarball_version,
|
|
@@ -466,7 +466,6 @@ build.add(
|
|
|
466
466
|
wait_on=["openssl"],
|
|
467
467
|
download={
|
|
468
468
|
"url": "https://www.openssl.org/source/openssl-{version}.tar.gz",
|
|
469
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/openssl-{version}.tar.gz",
|
|
470
469
|
"version": "3.0.8",
|
|
471
470
|
"checksum": "580d8a7232327fe1fa6e7db54ac060d4321f40ab",
|
|
472
471
|
"checkfunc": tarball_version,
|
|
@@ -479,8 +478,8 @@ build.add(
|
|
|
479
478
|
"libxcrypt",
|
|
480
479
|
download={
|
|
481
480
|
"url": "https://github.com/besser82/libxcrypt/releases/download/v{version}/libxcrypt-{version}.tar.xz",
|
|
482
|
-
"version": "4.4.
|
|
483
|
-
"checksum": "
|
|
481
|
+
"version": "4.4.38",
|
|
482
|
+
"checksum": "9aa2fa261be6144af492e9b6bfd03bfaa47f7159",
|
|
484
483
|
"checkfunc": github_version,
|
|
485
484
|
"checkurl": "https://github.com/besser82/libxcrypt/releases/",
|
|
486
485
|
},
|
|
@@ -490,7 +489,6 @@ build.add(
|
|
|
490
489
|
"XZ",
|
|
491
490
|
download={
|
|
492
491
|
"url": "http://tukaani.org/xz/xz-{version}.tar.gz",
|
|
493
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/xz-{version}.tar.gz",
|
|
494
492
|
"version": "5.6.2",
|
|
495
493
|
"checksum": "0d6b10e4628fe08e19293c65e8dbcaade084a083",
|
|
496
494
|
"checkfunc": tarball_version,
|
|
@@ -502,7 +500,6 @@ build.add(
|
|
|
502
500
|
build_func=build_sqlite,
|
|
503
501
|
download={
|
|
504
502
|
"url": "https://sqlite.org/2024/sqlite-autoconf-{version}.tar.gz",
|
|
505
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/sqlite-autoconf-{version}.tar.gz",
|
|
506
503
|
"version": "3460100",
|
|
507
504
|
"checksum": "1fdbada080f3285ac864c314bfbfc581b13e804b",
|
|
508
505
|
"checkfunc": sqlite_version,
|
|
@@ -515,7 +512,6 @@ build.add(
|
|
|
515
512
|
build_func=build_bzip2,
|
|
516
513
|
download={
|
|
517
514
|
"url": "https://sourceware.org/pub/bzip2/bzip2-{version}.tar.gz",
|
|
518
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/bzip2-{version}.tar.gz",
|
|
519
515
|
"version": "1.0.8",
|
|
520
516
|
"checksum": "bf7badf7e248e0ecf465d33c2f5aeec774209227",
|
|
521
517
|
"checkfunc": tarball_version,
|
|
@@ -527,9 +523,8 @@ build.add(
|
|
|
527
523
|
build_func=build_gdbm,
|
|
528
524
|
download={
|
|
529
525
|
"url": "https://ftp.gnu.org/gnu/gdbm/gdbm-{version}.tar.gz",
|
|
530
|
-
|
|
531
|
-
"
|
|
532
|
-
"checksum": "7bd455f28c9e4afacc042e0c712aac1b2391fef2",
|
|
526
|
+
"version": "1.25",
|
|
527
|
+
"checksum": "d55bdf2bb5f92f80006166dd8a8323cb2a428bd1",
|
|
533
528
|
"checkfunc": tarball_version,
|
|
534
529
|
},
|
|
535
530
|
)
|
|
@@ -539,7 +534,6 @@ build.add(
|
|
|
539
534
|
build_func=build_ncurses,
|
|
540
535
|
download={
|
|
541
536
|
"url": "https://ftp.gnu.org/pub/gnu/ncurses/ncurses-{version}.tar.gz",
|
|
542
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/ncurses-{version}.tar.gz",
|
|
543
537
|
# XXX: Need to work out tinfo linkage
|
|
544
538
|
# "version": "6.5",
|
|
545
539
|
# "checksum": "cde3024ac3f9ef21eaed6f001476ea8fffcaa381",
|
|
@@ -554,9 +548,8 @@ build.add(
|
|
|
554
548
|
build_libffi,
|
|
555
549
|
download={
|
|
556
550
|
"url": "https://github.com/libffi/libffi/releases/download/v{version}/libffi-{version}.tar.gz",
|
|
557
|
-
|
|
558
|
-
"
|
|
559
|
-
"checksum": "b07136211f47fa30c0512ebd7484fde724978d99",
|
|
551
|
+
"version": "3.4.8",
|
|
552
|
+
"checksum": "6930b77aebe2465a8e1a8617c4c9a8fa3199b256",
|
|
560
553
|
"checkfunc": github_version,
|
|
561
554
|
"checkurl": "https://github.com/libffi/libffi/releases/",
|
|
562
555
|
},
|
|
@@ -567,7 +560,6 @@ build.add(
|
|
|
567
560
|
build_zlib,
|
|
568
561
|
download={
|
|
569
562
|
"url": "https://zlib.net/fossils/zlib-{version}.tar.gz",
|
|
570
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/zlib-{version}.tar.gz",
|
|
571
563
|
"version": "1.3.1",
|
|
572
564
|
"checksum": "f535367b1a11e2f9ac3bec723fb007fbc0d189e5",
|
|
573
565
|
"checkfunc": tarball_version,
|
|
@@ -578,7 +570,6 @@ build.add(
|
|
|
578
570
|
"uuid",
|
|
579
571
|
download={
|
|
580
572
|
"url": "https://sourceforge.net/projects/libuuid/files/libuuid-{version}.tar.gz",
|
|
581
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/libuuid-{version}.tar.gz",
|
|
582
573
|
"version": "1.0.3",
|
|
583
574
|
"checksum": "46eaedb875ae6e63677b51ec583656199241d597",
|
|
584
575
|
"checkfunc": uuid_version,
|
|
@@ -591,7 +582,6 @@ build.add(
|
|
|
591
582
|
wait_on=["openssl"],
|
|
592
583
|
download={
|
|
593
584
|
"url": "https://kerberos.org/dist/krb5/{version}/krb5-{version}.tar.gz",
|
|
594
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/krb5-{version}.tar.gz",
|
|
595
585
|
"version": "1.21",
|
|
596
586
|
"checksum": "e2ee531443122376ac8b62b3848d94376f646089",
|
|
597
587
|
"checkfunc": krb_version,
|
|
@@ -605,7 +595,6 @@ build.add(
|
|
|
605
595
|
wait_on=["ncurses"],
|
|
606
596
|
download={
|
|
607
597
|
"url": "https://ftp.gnu.org/gnu/readline/readline-{version}.tar.gz",
|
|
608
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/readline-{version}.tar.gz",
|
|
609
598
|
"version": "8.2.13",
|
|
610
599
|
"checksum": "5ffb6a334c2422acbe8f4d2cb11e345265c8d930",
|
|
611
600
|
"checkfunc": tarball_version,
|
|
@@ -620,7 +609,6 @@ build.add(
|
|
|
620
609
|
download={
|
|
621
610
|
"url": "https://sourceforge.net/projects/libtirpc/files/libtirpc-{version}.tar.bz2",
|
|
622
611
|
# "url": "https://downloads.sourceforge.net/projects/libtirpc/files/libtirpc-{version}.tar.bz2",
|
|
623
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/libtirpc-{version}.tar.bz2",
|
|
624
612
|
"version": "1.3.4",
|
|
625
613
|
"checksum": "63c800f81f823254d2706637bab551dec176b99b",
|
|
626
614
|
"checkfunc": tarball_version,
|
|
@@ -647,9 +635,8 @@ build.add(
|
|
|
647
635
|
],
|
|
648
636
|
download={
|
|
649
637
|
"url": "https://www.python.org/ftp/python/{version}/Python-{version}.tar.xz",
|
|
650
|
-
# "fallback_url": "https://woz.io/relenv/dependencies/Python-{version}.tar.xz",
|
|
651
638
|
"version": build.version,
|
|
652
|
-
"checksum": "
|
|
639
|
+
"checksum": "d31d548cd2c5ca2ae713bebe346ba15e8406633a",
|
|
653
640
|
"checkfunc": python_version,
|
|
654
641
|
"checkurl": "https://www.python.org/ftp/python/",
|
|
655
642
|
},
|
|
@@ -676,6 +663,6 @@ build = build.copy(
|
|
|
676
663
|
builds.add("linux", builder=build)
|
|
677
664
|
|
|
678
665
|
build = build.copy(
|
|
679
|
-
version="3.13.
|
|
666
|
+
version="3.13.3", checksum="f26085cf12daef7b60b8a6fe93ef988b9a094aea"
|
|
680
667
|
)
|
|
681
668
|
builds.add("linux", builder=build)
|
relenv/build/windows.py
CHANGED
|
@@ -130,7 +130,7 @@ def build_python(env, dirs, logfp):
|
|
|
130
130
|
)
|
|
131
131
|
|
|
132
132
|
|
|
133
|
-
build = builds.add("win32", populate_env=populate_env, version="3.10.
|
|
133
|
+
build = builds.add("win32", populate_env=populate_env, version="3.10.17")
|
|
134
134
|
|
|
135
135
|
build.add(
|
|
136
136
|
"python",
|
|
@@ -138,7 +138,7 @@ build.add(
|
|
|
138
138
|
download={
|
|
139
139
|
"url": "https://www.python.org/ftp/python/{version}/Python-{version}.tar.xz",
|
|
140
140
|
"version": build.version,
|
|
141
|
-
"checksum": "
|
|
141
|
+
"checksum": "d31d548cd2c5ca2ae713bebe346ba15e8406633a",
|
|
142
142
|
},
|
|
143
143
|
)
|
|
144
144
|
|
|
@@ -222,6 +222,6 @@ build = build.copy(
|
|
|
222
222
|
builds.add("win32", builder=build)
|
|
223
223
|
|
|
224
224
|
build = build.copy(
|
|
225
|
-
version="3.13.
|
|
225
|
+
version="3.13.3", checksum="f26085cf12daef7b60b8a6fe93ef988b9a094aea"
|
|
226
226
|
)
|
|
227
227
|
builds.add("win32", builder=build)
|
relenv/buildenv.py
CHANGED
|
@@ -51,20 +51,20 @@ def buildenv(relenv_path=None):
|
|
|
51
51
|
"TOOLCHAIN_PATH": f"{toolchain}",
|
|
52
52
|
"TRIPLET": f"{triplet}",
|
|
53
53
|
"RELENV_PATH": f"{relenv_path}",
|
|
54
|
-
"CC": f"{toolchain}/bin/{triplet}-gcc
|
|
55
|
-
"CXX": f"{toolchain}/bin/{triplet}-g++
|
|
56
|
-
"CFLAGS":
|
|
57
|
-
|
|
54
|
+
"CC": f"{toolchain}/bin/{triplet}-gcc",
|
|
55
|
+
"CXX": f"{toolchain}/bin/{triplet}-g++",
|
|
56
|
+
"CFLAGS": f"-I{relenv_path}/include -I{toolchain}/sysroot/usr/include",
|
|
57
|
+
"CXXFLAGS": (
|
|
58
58
|
f"-I{relenv_path}/include "
|
|
59
|
-
f"-I{toolchain}/sysroot/usr/include"
|
|
59
|
+
f"-I{toolchain}/{triplet}/sysroot/usr/include "
|
|
60
|
+
f"-L{relenv_path}/lib -L{toolchain}/{triplet}/sysroot/lib "
|
|
61
|
+
f"-Wl,-rpath,{relenv_path}/lib"
|
|
60
62
|
),
|
|
61
63
|
"CPPFLAGS": (
|
|
62
|
-
|
|
63
|
-
f"-I{relenv_path}/include -I{toolchain}/{triplet}/sysroot/usr/include"
|
|
64
|
+
f"-I{relenv_path}/include " f"-I{toolchain}/{triplet}/sysroot/usr/include"
|
|
64
65
|
),
|
|
65
66
|
"CMAKE_CFLAGS": (
|
|
66
|
-
|
|
67
|
-
f"-I{relenv_path}/include -I{toolchain}/{triplet}/sysroot/usr/include"
|
|
67
|
+
f"-I{relenv_path}/include " f"-I{toolchain}/{triplet}/sysroot/usr/include"
|
|
68
68
|
),
|
|
69
69
|
"LDFLAGS": (
|
|
70
70
|
f"-L{relenv_path}/lib -L{toolchain}/{triplet}/sysroot/lib "
|
relenv/common.py
CHANGED
relenv/runtime.py
CHANGED
|
@@ -70,6 +70,17 @@ def relocate():
|
|
|
70
70
|
return relocate.relocate
|
|
71
71
|
|
|
72
72
|
|
|
73
|
+
def buildenv():
|
|
74
|
+
"""
|
|
75
|
+
Late import relenv buildenv.
|
|
76
|
+
"""
|
|
77
|
+
if not hasattr(buildenv, "builenv"):
|
|
78
|
+
buildenv.buildenv = path_import(
|
|
79
|
+
"relenv.buildenv", str(pathlib.Path(__file__).parent / "buildenv.py")
|
|
80
|
+
)
|
|
81
|
+
return buildenv.buildenv
|
|
82
|
+
|
|
83
|
+
|
|
73
84
|
def get_major_version():
|
|
74
85
|
"""
|
|
75
86
|
Current python major version.
|
|
@@ -1024,3 +1035,11 @@ def bootstrap():
|
|
|
1024
1035
|
setup_crossroot()
|
|
1025
1036
|
install_cargo_config()
|
|
1026
1037
|
sys.meta_path = [importer] + sys.meta_path
|
|
1038
|
+
# XXX This causes our m2crypto test to break
|
|
1039
|
+
# if "RELENV_BUILDENV" in os.environ:
|
|
1040
|
+
# env = buildenv().buildenv()
|
|
1041
|
+
# for key in env:
|
|
1042
|
+
# if key in os.environ:
|
|
1043
|
+
# os.environ[key] = f"{env[key]} {os.environ[key]}"
|
|
1044
|
+
# else:
|
|
1045
|
+
# os.environ[key] = env[key]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: relenv
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.2
|
|
4
4
|
Project-URL: Source Code, https://github.com/saltstack/relative-environment-for-python
|
|
5
5
|
Project-URL: Documentation, https://relenv.readthedocs.io/en/latest/
|
|
6
6
|
Project-URL: Changelog, https://relenv.readthedocs.io/en/latest/changelog.html
|
|
@@ -8,6 +8,7 @@ Description-Content-Type: text/markdown
|
|
|
8
8
|
License-File: LICENSE.md
|
|
9
9
|
License-File: NOTICE
|
|
10
10
|
Requires-Dist: ppbt; sys_platform == "linux"
|
|
11
|
+
Dynamic: license-file
|
|
11
12
|
|
|
12
13
|
Relenv
|
|
13
14
|
======
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
relenv/__init__.py,sha256=NyZyghiBF5up_Uq6iJhmBr5HUKzfDtP-yZlU1OS6lQM,101
|
|
2
2
|
relenv/__main__.py,sha256=otLGprkP5mrzRn-KI7hx3p61enpKdIxJq37iPjHgURY,1330
|
|
3
|
-
relenv/buildenv.py,sha256=
|
|
3
|
+
relenv/buildenv.py,sha256=GcctZxbH1lfShN8bsbqG-xtrnI4rjWv2PUktHLSYlRo,2946
|
|
4
4
|
relenv/check.py,sha256=AIGxq_2ZBVVIBO8QiJZHknGILyjmxLgN00TTHlFjNsY,951
|
|
5
|
-
relenv/common.py,sha256=
|
|
5
|
+
relenv/common.py,sha256=ViVbtJCKRgTpnx7pVSic-NebAc_WOXRb_-3kUPJBFrs,15216
|
|
6
6
|
relenv/create.py,sha256=DFKXtANcM4_axUCHF6Fg1Bhr3xWreLt9jxNYLXVZEsM,3930
|
|
7
7
|
relenv/fetch.py,sha256=1qQLQuPBpDqvRO7dkjnmeLfo-I0NSA8vFkcMd-Nqbrk,2388
|
|
8
8
|
relenv/relocate.py,sha256=P5l4s5H4bR8cYm1PEtwp9yJyVfZ5km44jLe0LvL8CL0,11797
|
|
9
|
-
relenv/runtime.py,sha256=
|
|
9
|
+
relenv/runtime.py,sha256=65WYEAGnpH5hZgujaJSaJExhn-VRTdRO9-Y6Qo8X-Do,31163
|
|
10
10
|
relenv/toolchain.py,sha256=H--mpJnlLR0mWP5djgYss7qDOTdSub7e7rQxa4cPBBE,5858
|
|
11
11
|
relenv/_scripts/install_vc_build.ps1,sha256=LwzqinKppwht2tacu2jl_gY6gcGWaSq-5Lr1aKduzhs,6423
|
|
12
12
|
relenv/_toolchain/aarch64/aarch64-linux-gnu-ct-ng.config,sha256=2s_7fX6A3p4380qLiOS78kgijN7GdRHfiW0FArnhjEE,20665
|
|
13
13
|
relenv/_toolchain/aarch64/x86_64-linux-gnu-ct-ng.config,sha256=-CFXq0SLFCRkKhhMEWraWsGbEv-hBpZl7-Dz0lUMyfs,20774
|
|
14
14
|
relenv/_toolchain/x86_64/aarch64-linux-gnu-ct-ng.config,sha256=NnkGKF2oIfwOFFFIAQzVgpa-J1gfVM4eOm5VlkLnXqA,20672
|
|
15
15
|
relenv/_toolchain/x86_64/x86_64-linux-gnu-ct-ng.config,sha256=pCdwXWcd0wEV-dfAIccN_tkpJshRjSyx_RByfcdakF4,20791
|
|
16
|
-
relenv/build/__init__.py,sha256=
|
|
17
|
-
relenv/build/common.py,sha256=
|
|
18
|
-
relenv/build/darwin.py,sha256=
|
|
19
|
-
relenv/build/linux.py,sha256=
|
|
20
|
-
relenv/build/windows.py,sha256=
|
|
16
|
+
relenv/build/__init__.py,sha256=Mk5Cn1W7C7ZGGbNxCCcQNMk4AHNvMByPSZ8akpnq9YI,5373
|
|
17
|
+
relenv/build/common.py,sha256=1pULuR3DPifB0H3wKGCofwGgDWuLeSSsea_8buWnAYI,49027
|
|
18
|
+
relenv/build/darwin.py,sha256=57riuVU12oydmVp5Mi3Tys4cqai55uHF0vHtdKxHXWc,3920
|
|
19
|
+
relenv/build/linux.py,sha256=TCI3NH_Yjzxizb8529qlO7pCxVleptRYcGtMzKUx7-0,19193
|
|
20
|
+
relenv/build/windows.py,sha256=yYm-8jziiUMJb6SVKGQZpHtP6wQmDK06BYC7HWgwzwA,6169
|
|
21
|
+
relenv-0.18.2.dist-info/licenses/LICENSE.md,sha256=T0SRk3vJM1YcAJjDz9vsX9gsCRatAVSBS7LeU0tklRM,9919
|
|
22
|
+
relenv-0.18.2.dist-info/licenses/NOTICE,sha256=Ns0AybPHBsgJKJJfjE6YnGgWEQQ9F7lQ6QNlYLlQT3E,548
|
|
21
23
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
24
|
tests/conftest.py,sha256=VfuB1T7Tjoy2mhKpwKUJNIoq9RX69sRvRXIxw_R09qU,2040
|
|
23
|
-
tests/test_build.py,sha256=
|
|
25
|
+
tests/test_build.py,sha256=vuUxCTGQa1FcoeS3ls-7e9v2ry9sgWJHzKWMYKKrwNo,1407
|
|
24
26
|
tests/test_common.py,sha256=mCKBQMQYZqoq47T7tk9gRxfK64Be_OfXBa_t_RKTZ4U,6590
|
|
25
27
|
tests/test_create.py,sha256=gnwNukmYJR02CunQBH6JJ3ClUYgjzBWlOm0SJ_rtJkI,1584
|
|
26
28
|
tests/test_downloads.py,sha256=zdULspcHcepOVkEQKOMr0pw02t9GRiBCcIP72So0EYc,3302
|
|
@@ -28,11 +30,9 @@ tests/test_fips_photon.py,sha256=pR6MxzdT1vyaC-nN609fy7Nl68eyqOo46BUdluOXKjI,124
|
|
|
28
30
|
tests/test_relocate.py,sha256=_3Eb22qhzWvMnLIgPCqO-t_WZ-hklSMfy8GBTrdjCf0,8854
|
|
29
31
|
tests/test_runtime.py,sha256=n_gTiQqAgO_Vqk6Xf_2Hi3gIkBn_lhDqoovOiQ5fxG8,626
|
|
30
32
|
tests/test_toolchain.py,sha256=02ZxSj72fMTINVl-PHhBkS6eLGWKvwO3nweHYEt4SMQ,4379
|
|
31
|
-
tests/test_verify_build.py,sha256=
|
|
32
|
-
relenv-0.18.
|
|
33
|
-
relenv-0.18.
|
|
34
|
-
relenv-0.18.
|
|
35
|
-
relenv-0.18.
|
|
36
|
-
relenv-0.18.
|
|
37
|
-
relenv-0.18.1.dist-info/top_level.txt,sha256=P4Ro6JLZE53ZdsQ76o2OzBcpb0MaVJmbfr0HAn9WF8M,13
|
|
38
|
-
relenv-0.18.1.dist-info/RECORD,,
|
|
33
|
+
tests/test_verify_build.py,sha256=b6aGdPUK-wHMRL1A5NDnJ2v5GjiletfFCe1oFPll-LU,41182
|
|
34
|
+
relenv-0.18.2.dist-info/METADATA,sha256=TvSF2zY2FqJSI7_CbjE6rErKcY07HkL2kMHwV98W-QY,1337
|
|
35
|
+
relenv-0.18.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
36
|
+
relenv-0.18.2.dist-info/entry_points.txt,sha256=dO66nWPPWl8ALWWnZFlHKAo6mfPFuQid7purYWL2ddc,48
|
|
37
|
+
relenv-0.18.2.dist-info/top_level.txt,sha256=P4Ro6JLZE53ZdsQ76o2OzBcpb0MaVJmbfr0HAn9WF8M,13
|
|
38
|
+
relenv-0.18.2.dist-info/RECORD,,
|
tests/test_build.py
CHANGED
|
@@ -33,7 +33,6 @@ def test_builder_defaults_linux():
|
|
|
33
33
|
assert builder.toolchain == DATA_DIR / "toolchain" / "x86_64-linux-gnu"
|
|
34
34
|
assert callable(builder.build_default)
|
|
35
35
|
assert callable(builder.populate_env)
|
|
36
|
-
assert builder.force_download is False
|
|
37
36
|
assert builder.recipies == {}
|
|
38
37
|
|
|
39
38
|
|
tests/test_verify_build.py
CHANGED
|
@@ -107,6 +107,11 @@ def test_pip_install_salt_git(pipexec, build, build_dir, pyexec, build_version):
|
|
|
107
107
|
if sys.platform == "darwin" and "3.13" in build_version:
|
|
108
108
|
pytest.xfail("Salt does not work with 3.13 on macos yet")
|
|
109
109
|
|
|
110
|
+
# if sys.platform == "linux":
|
|
111
|
+
# subprocess.run(
|
|
112
|
+
# [pipexec, "--upgrade", "install", "setuptools>=72.2.0"], check=True
|
|
113
|
+
# )
|
|
114
|
+
|
|
110
115
|
env = os.environ.copy()
|
|
111
116
|
env["RELENV_BUILDENV"] = "yes"
|
|
112
117
|
if sys.platform == "linux" and shutil.which("git"):
|
|
@@ -339,31 +344,35 @@ def test_pip_install_salt_w_package_requirements(
|
|
|
339
344
|
"23.2.0",
|
|
340
345
|
"25.1.2",
|
|
341
346
|
"26.2.0",
|
|
347
|
+
"26.4.0",
|
|
342
348
|
],
|
|
343
349
|
)
|
|
344
|
-
def test_pip_install_pyzmq(pipexec, pyzmq_version, build_version, arch):
|
|
350
|
+
def test_pip_install_pyzmq(pipexec, pyzmq_version, build_version, arch, build):
|
|
345
351
|
|
|
346
352
|
if pyzmq_version == "23.2.0" and "3.12" in build_version:
|
|
347
353
|
pytest.xfail(f"{pyzmq_version} does not install on 3.12")
|
|
348
354
|
|
|
355
|
+
if pyzmq_version == "23.2.0" and "3.13" in build_version:
|
|
356
|
+
pytest.xfail(f"{pyzmq_version} does not install on 3.13")
|
|
357
|
+
|
|
349
358
|
if pyzmq_version == "23.2.0" and sys.platform == "darwin":
|
|
350
359
|
pytest.xfail("pyzmq 23.2.0 fails on macos arm64")
|
|
351
360
|
|
|
352
|
-
if
|
|
353
|
-
pytest.xfail("pyzmq 25.1.2 fails on windows")
|
|
354
|
-
|
|
355
|
-
if sys.platform == "win32" and pyzmq_version == "23.2.0":
|
|
356
|
-
pytest.xfail("vcredist not found as of 9/9/24")
|
|
357
|
-
|
|
358
|
-
if sys.platform == "win32" and pyzmq_version == "26.2.0":
|
|
361
|
+
if pyzmq_version == "23.2.0" and sys.platform == "win32":
|
|
359
362
|
pytest.xfail("vcredist not found as of 9/9/24")
|
|
360
363
|
|
|
361
|
-
if pyzmq_version == "23.2.0" and "3.13" in build_version:
|
|
362
|
-
pytest.xfail(f"{pyzmq_version} does not install on 3.13")
|
|
363
|
-
|
|
364
364
|
if pyzmq_version == "25.1.2" and "3.13" in build_version:
|
|
365
365
|
pytest.xfail(f"{pyzmq_version} does not install on 3.13")
|
|
366
366
|
|
|
367
|
+
if pyzmq_version == "25.1.2" and sys.platform == "win32":
|
|
368
|
+
pytest.xfail("pyzmq 25.1.2 fails on windows")
|
|
369
|
+
|
|
370
|
+
if pyzmq_version == "26.2.0" and sys.platform == "win32":
|
|
371
|
+
pytest.xfail("vcredist not found as of 9/9/24")
|
|
372
|
+
|
|
373
|
+
if pyzmq_version == "26.4.0" and sys.platform == "win32":
|
|
374
|
+
pytest.xfail("Needs troubleshooting 4/12/25")
|
|
375
|
+
|
|
367
376
|
env = os.environ.copy()
|
|
368
377
|
|
|
369
378
|
p = subprocess.run(
|
|
@@ -404,6 +413,21 @@ def test_pip_install_pyzmq(pipexec, pyzmq_version, build_version, arch):
|
|
|
404
413
|
)
|
|
405
414
|
assert p.returncode == 0, "Failed to pip install package requirements"
|
|
406
415
|
|
|
416
|
+
if shutil.which("docker"):
|
|
417
|
+
subprocess.run(
|
|
418
|
+
[
|
|
419
|
+
"docker",
|
|
420
|
+
"run",
|
|
421
|
+
"-v",
|
|
422
|
+
f"{build}:/test",
|
|
423
|
+
"amazonlinux:2",
|
|
424
|
+
"/test/bin/python3",
|
|
425
|
+
"-c",
|
|
426
|
+
"import zmq",
|
|
427
|
+
],
|
|
428
|
+
check=True,
|
|
429
|
+
)
|
|
430
|
+
|
|
407
431
|
|
|
408
432
|
def test_pip_install_cryptography(pipexec):
|
|
409
433
|
packages = [
|
|
@@ -553,18 +577,35 @@ def test_pip_install_m2crypto_system_ssl(pipexec, pyexec):
|
|
|
553
577
|
|
|
554
578
|
|
|
555
579
|
@pytest.mark.skip_unless_on_linux
|
|
556
|
-
|
|
580
|
+
@pytest.mark.parametrize(
|
|
581
|
+
"m2crypto_version",
|
|
582
|
+
[
|
|
583
|
+
"0.38.0",
|
|
584
|
+
"0.44.0",
|
|
585
|
+
],
|
|
586
|
+
)
|
|
587
|
+
def test_pip_install_m2crypto_relenv_ssl(
|
|
588
|
+
m2crypto_version, pipexec, pyexec, build, build_version, minor_version
|
|
589
|
+
):
|
|
590
|
+
if m2crypto_version == "0.38.0" and minor_version in ["3.12", "3.13"]:
|
|
591
|
+
pytest.xfail("Fails due to no distutils")
|
|
557
592
|
env = os.environ.copy()
|
|
558
593
|
env["RELENV_BUILDENV"] = "yes"
|
|
559
594
|
env["RELENV_DEBUG"] = "yes"
|
|
560
595
|
env["LDFLAGS"] = f"-L{build}lib"
|
|
561
|
-
env["CFLAGS"] = f"-I{build}/include"
|
|
562
|
-
env["SWIG_FEATURES"] = f"-I{build}/include"
|
|
596
|
+
env["CFLAGS"] = f"-I{build}/include -I{build}/include/python{minor_version}"
|
|
597
|
+
env["SWIG_FEATURES"] = f"-I{build}/include -I{build}/include/python{minor_version}"
|
|
563
598
|
p = subprocess.run(
|
|
564
599
|
["swig", "-version"],
|
|
565
600
|
)
|
|
566
601
|
p = subprocess.run(
|
|
567
|
-
[
|
|
602
|
+
[
|
|
603
|
+
str(pipexec),
|
|
604
|
+
"install",
|
|
605
|
+
f"m2crypto=={m2crypto_version}",
|
|
606
|
+
"--no-cache-dir",
|
|
607
|
+
"-v",
|
|
608
|
+
],
|
|
568
609
|
env=env,
|
|
569
610
|
stderr=subprocess.PIPE,
|
|
570
611
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|