Nuitka-winsvc 1.9.3__cp312-cp312-win_amd64.whl → 1.9.6__cp312-cp312-win_amd64.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.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- {Nuitka_winsvc-1.9.3.dist-info → Nuitka_winsvc-1.9.6.dist-info}/METADATA +1 -1
- {Nuitka_winsvc-1.9.3.dist-info → Nuitka_winsvc-1.9.6.dist-info}/RECORD +48 -46
- nuitka/MainControl.py +4 -4
- nuitka/Options.py +6 -1
- nuitka/PythonFlavors.py +13 -0
- nuitka/PythonVersions.py +6 -1
- nuitka/Version.py +1 -1
- nuitka/build/Backend.scons +2 -0
- nuitka/build/SconsCompilerSettings.py +3 -0
- nuitka/build/SconsUtils.py +21 -11
- nuitka/build/include/nuitka/safe_string_ops.h +2 -0
- nuitka/build/static_src/CompiledFunctionType.c +0 -5
- nuitka/build/static_src/CompiledMethodType.c +0 -5
- nuitka/build/static_src/HelpersComparisonEq.c +2 -2
- nuitka/build/static_src/HelpersComparisonGe.c +2 -2
- nuitka/build/static_src/HelpersComparisonGt.c +2 -2
- nuitka/build/static_src/HelpersComparisonLe.c +2 -2
- nuitka/build/static_src/HelpersComparisonLt.c +2 -2
- nuitka/build/static_src/HelpersComparisonNe.c +2 -2
- nuitka/build/static_src/HelpersDictionariesGenerated.c +1 -1
- nuitka/build/static_src/HelpersFilesystemPaths.c +1 -1
- nuitka/build/static_src/HelpersSafeStrings.c +1 -1
- nuitka/build/static_src/MainProgram.c +0 -1
- nuitka/build/static_src/MetaPathBasedLoader.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +11 -0
- nuitka/code_generation/templates/CodeTemplatesModules.py +18 -1
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
- nuitka/distutils/DistutilCommands.py +3 -1
- nuitka/nodes/PackageMetadataNodes.py +2 -3
- nuitka/plugins/PluginBase.py +8 -10
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +249 -0
- nuitka/plugins/standard/DillPlugin.py +11 -23
- nuitka/plugins/standard/ImplicitImports.py +1 -0
- nuitka/plugins/standard/OptionsNannyPlugin.py +1 -1
- nuitka/plugins/standard/standard.nuitka-package.config.yml +45 -8
- nuitka/reports/Reports.py +12 -0
- nuitka/utils/Distributions.py +7 -14
- nuitka/utils/FileOperations.py +15 -0
- nuitka/utils/Utils.py +8 -0
- nuitka/utils/WindowsResources.py +6 -1
- {Nuitka_winsvc-1.9.3.data → Nuitka_winsvc-1.9.6.data}/scripts/nuitka-run.bat +0 -0
- {Nuitka_winsvc-1.9.3.data → Nuitka_winsvc-1.9.6.data}/scripts/nuitka.bat +0 -0
- {Nuitka_winsvc-1.9.3.dist-info → Nuitka_winsvc-1.9.6.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.9.3.dist-info → Nuitka_winsvc-1.9.6.dist-info}/WHEEL +0 -0
- {Nuitka_winsvc-1.9.3.dist-info → Nuitka_winsvc-1.9.6.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.9.3.dist-info → Nuitka_winsvc-1.9.6.dist-info}/top_level.txt +0 -0
nuitka/utils/Distributions.py
CHANGED
|
@@ -28,7 +28,7 @@ from nuitka.PythonVersions import python_version
|
|
|
28
28
|
from .FileOperations import searchPrefixPath
|
|
29
29
|
from .Importing import getModuleNameAndKindFromFilenameSuffix
|
|
30
30
|
from .ModuleNames import ModuleName, checkModuleName
|
|
31
|
-
from .Utils import
|
|
31
|
+
from .Utils import isMacOS, isWin32Windows
|
|
32
32
|
|
|
33
33
|
_package_to_distribution = None
|
|
34
34
|
|
|
@@ -82,6 +82,8 @@ def getDistributionTopLevelPackageNames(distribution):
|
|
|
82
82
|
continue
|
|
83
83
|
if first_path_element == "__pycache__":
|
|
84
84
|
continue
|
|
85
|
+
if not checkModuleName(first_path_element) or first_path_element == ".":
|
|
86
|
+
continue
|
|
85
87
|
|
|
86
88
|
if remainder:
|
|
87
89
|
module_name = ModuleName(first_path_element)
|
|
@@ -262,23 +264,14 @@ def isDistributionPoetryPackage(distribution_name):
|
|
|
262
264
|
|
|
263
265
|
|
|
264
266
|
def isDistributionSystemPackage(distribution_name):
|
|
265
|
-
|
|
266
|
-
not
|
|
267
|
+
return (
|
|
268
|
+
not isMacOS()
|
|
269
|
+
and not isWin32Windows()
|
|
270
|
+
and not isDistributionPipPackage(distribution_name)
|
|
267
271
|
and not isDistributionPoetryPackage(distribution_name)
|
|
268
272
|
and not isDistributionCondaPackage(distribution_name)
|
|
269
273
|
)
|
|
270
274
|
|
|
271
|
-
# This should only ever happen on Linux, lets know when it does happen
|
|
272
|
-
# elsewhere, since that is most probably a bug in our installer detection on
|
|
273
|
-
# non-Linux as well.
|
|
274
|
-
if result:
|
|
275
|
-
assert isLinux(), (
|
|
276
|
-
distribution_name,
|
|
277
|
-
getDistributionInstallerName(distribution_name),
|
|
278
|
-
)
|
|
279
|
-
|
|
280
|
-
return result
|
|
281
|
-
|
|
282
275
|
|
|
283
276
|
_pdm_dir_cache = {}
|
|
284
277
|
|
nuitka/utils/FileOperations.py
CHANGED
|
@@ -33,6 +33,7 @@ import stat
|
|
|
33
33
|
import sys
|
|
34
34
|
import tempfile
|
|
35
35
|
import time
|
|
36
|
+
import unicodedata
|
|
36
37
|
from contextlib import contextmanager
|
|
37
38
|
|
|
38
39
|
from nuitka.__past__ import ( # pylint: disable=redefined-builtin
|
|
@@ -1386,3 +1387,17 @@ def syncFileOutput(file_handle):
|
|
|
1386
1387
|
except AttributeError:
|
|
1387
1388
|
# Too old to have "syncfs" available.
|
|
1388
1389
|
return
|
|
1390
|
+
|
|
1391
|
+
|
|
1392
|
+
def isFilesystemEncodable(filename):
|
|
1393
|
+
"""Decide if a filename is safe for use as a file system path with tools."""
|
|
1394
|
+
if os.name == "nt":
|
|
1395
|
+
value = (
|
|
1396
|
+
unicodedata.normalize("NFKD", filename)
|
|
1397
|
+
.encode("ascii", "ignore")
|
|
1398
|
+
.decode("ascii")
|
|
1399
|
+
)
|
|
1400
|
+
|
|
1401
|
+
return value == filename
|
|
1402
|
+
else:
|
|
1403
|
+
return True
|
nuitka/utils/Utils.py
CHANGED
|
@@ -101,6 +101,8 @@ def getLinuxDistribution():
|
|
|
101
101
|
|
|
102
102
|
if os.path.exists("/etc/os-release"):
|
|
103
103
|
result, base, version = _parseOsReleaseFileContents("/etc/os-release")
|
|
104
|
+
elif os.path.exists("/usr/lib/os-release"):
|
|
105
|
+
result, base, version = _parseOsReleaseFileContents("/usr/lib/os-release")
|
|
104
106
|
elif os.path.exists("/etc/SuSE-release"):
|
|
105
107
|
result, base, version = _parseOsReleaseFileContents("/etc/SuSE-release")
|
|
106
108
|
elif os.path.exists("/etc/issue"):
|
|
@@ -157,6 +159,12 @@ def isFedoraBasedLinux():
|
|
|
157
159
|
return (base or dist_name) == "Fedora"
|
|
158
160
|
|
|
159
161
|
|
|
162
|
+
def isArchBasedLinux():
|
|
163
|
+
dist_name, base, _dist_version = getLinuxDistribution()
|
|
164
|
+
|
|
165
|
+
return (base or dist_name) == "Arch"
|
|
166
|
+
|
|
167
|
+
|
|
160
168
|
def isAndroidBasedLinux():
|
|
161
169
|
# spell-checker: ignore googlesource
|
|
162
170
|
if not isLinux():
|
nuitka/utils/WindowsResources.py
CHANGED
|
@@ -351,7 +351,7 @@ def getDefaultWindowsExecutableManifest():
|
|
|
351
351
|
# Note: Supported OS are lied about by CPython.
|
|
352
352
|
template = (
|
|
353
353
|
"""\
|
|
354
|
-
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
|
354
|
+
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
|
355
355
|
<assemblyIdentity type="win32" name="Mini" version="1.0.0.0"/>
|
|
356
356
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
357
357
|
<application>
|
|
@@ -362,6 +362,11 @@ def getDefaultWindowsExecutableManifest():
|
|
|
362
362
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
|
363
363
|
</application>
|
|
364
364
|
</compatibility>
|
|
365
|
+
<asmv3:application>
|
|
366
|
+
<asmv3:windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
|
|
367
|
+
<ws2:longPathAware>true</ws2:longPathAware>
|
|
368
|
+
</asmv3:windowsSettings>
|
|
369
|
+
</asmv3:application>
|
|
365
370
|
%s
|
|
366
371
|
</assembly>
|
|
367
372
|
"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|