Nuitka-winsvc 2.4.7__cp311-cp311-win_amd64.whl → 2.4.10__cp311-cp311-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-2.4.7.dist-info → Nuitka_winsvc-2.4.10.dist-info}/METADATA +1 -1
- {Nuitka_winsvc-2.4.7.dist-info → Nuitka_winsvc-2.4.10.dist-info}/RECORD +31 -31
- {Nuitka_winsvc-2.4.7.dist-info → Nuitka_winsvc-2.4.10.dist-info}/WHEEL +1 -1
- nuitka/Options.py +17 -7
- nuitka/Version.py +1 -1
- nuitka/build/SconsCompilerSettings.py +3 -3
- nuitka/build/include/nuitka/allocator.h +1 -1
- nuitka/build/static_src/CompiledFunctionType.c +1 -1
- nuitka/build/static_src/CompiledMethodType.c +4 -1
- nuitka/build/static_src/HelpersAllocator.c +4 -4
- nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +6 -2
- nuitka/build/static_src/HelpersMatching.c +1 -1
- nuitka/build/static_src/MainProgram.c +7 -2
- nuitka/build/static_src/OnefileBootstrap.c +0 -2
- nuitka/build/static_src/OnefileSplashScreen.cpp +33 -8
- nuitka/freezer/DependsExe.py +8 -1
- nuitka/freezer/DllDependenciesMacOS.py +28 -15
- nuitka/freezer/IncludedDataFiles.py +3 -2
- nuitka/freezer/Standalone.py +4 -0
- nuitka/importing/ImportResolving.py +4 -0
- nuitka/plugins/standard/standard.nuitka-package.config.yml +88 -15
- nuitka/reports/Reports.py +4 -0
- nuitka/tools/testing/Common.py +1 -1
- nuitka/utils/FileOperations.py +14 -2
- nuitka/utils/Utils.py +16 -0
- {Nuitka_winsvc-2.4.7.data → Nuitka_winsvc-2.4.10.data}/scripts/nuitka-run.cmd +0 -0
- {Nuitka_winsvc-2.4.7.data → Nuitka_winsvc-2.4.10.data}/scripts/nuitka.cmd +0 -0
- {Nuitka_winsvc-2.4.7.dist-info → Nuitka_winsvc-2.4.10.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.4.7.dist-info → Nuitka_winsvc-2.4.10.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.4.7.dist-info → Nuitka_winsvc-2.4.10.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
Nuitka_winsvc-2.4.
|
|
2
|
-
Nuitka_winsvc-2.4.
|
|
1
|
+
Nuitka_winsvc-2.4.10.data/scripts/nuitka-run.cmd,sha256=ymcs9S9XtjCwZ7-oOj1gLisLaIj8uIxn-1mb0mTxWUI,924
|
|
2
|
+
Nuitka_winsvc-2.4.10.data/scripts/nuitka.cmd,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
|
|
3
3
|
nuitka/Builtins.py,sha256=IPBD00YlX9eNfKyKxyGRukVmwtoiaeJ4YLNdm1LoLOo,7560
|
|
4
4
|
nuitka/BytecodeCaching.py,sha256=KFVx1wDKEG8bydgerI6k2YK6VXIZLmTfMxgZmUhkBWo,5787
|
|
5
5
|
nuitka/Bytecodes.py,sha256=BFKfgzCHUb8-qs1VZcjaKpCwBMt7UKgkT8POEsYljLQ,3891
|
|
@@ -10,7 +10,7 @@ nuitka/HardImportRegistry.py,sha256=a6kBsQICBQdxcnrJ-dArbUtMlYFNvlA32MHyvgpnlJg,
|
|
|
10
10
|
nuitka/MainControl.py,sha256=hZ3_6zYI01j_xIUMONklCMxhnZR6ahJk7JaR_SWbibY,39044
|
|
11
11
|
nuitka/ModuleRegistry.py,sha256=z1kdwF6DABgfu06I_KjoUmNHOx4PYd0rQpUwNYp92Fk,9122
|
|
12
12
|
nuitka/OptionParsing.py,sha256=9vQP7BQbw9S30CWfg4ruqTi5hYu0KYV6IlCU2DfAIfc,65672
|
|
13
|
-
nuitka/Options.py,sha256=
|
|
13
|
+
nuitka/Options.py,sha256=_T2JCrJX23zyFDuAp8XBb7Ui9gZE8ZoWJvx3ZLRf2a0,81849
|
|
14
14
|
nuitka/OutputDirectories.py,sha256=sBX7_B7QogcKTHlTRY2Bfv7O9oi4EpYB2EcXyNRTiXM,5560
|
|
15
15
|
nuitka/PostProcessing.py,sha256=VPZ6lBsTvMvLEHsWxOZw6ewo9gVEUF8C5LYZL5N04_Q,15373
|
|
16
16
|
nuitka/Progress.py,sha256=aAbGYqGtLuMsJ0_VdrllglCvaK2IP_ySR-cq-gmPK70,6855
|
|
@@ -22,7 +22,7 @@ nuitka/SourceCodeReferences.py,sha256=quGcd9Kg3FjYwsSDDv49MWi_Yec2AurRp-cVspo5qq
|
|
|
22
22
|
nuitka/Tracing.py,sha256=OVxuhIVm78EWZtY9cl031a7DCei6uTbFOi2LBrZDiOY,13558
|
|
23
23
|
nuitka/TreeXML.py,sha256=KGsCEB9Tu1HUNQd10AMWoYX82Qxso_DUfoiet4AiRoc,3654
|
|
24
24
|
nuitka/Variables.py,sha256=53u-p0l58lrBg8nNSYd5DjR3AOGezMayUM7C05vANVM,15470
|
|
25
|
-
nuitka/Version.py,sha256=
|
|
25
|
+
nuitka/Version.py,sha256=1jhxEsVTAruzo3jpDxHHIwlQlC1IH-HKaHtR3RIWQuU,2467
|
|
26
26
|
nuitka/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
27
27
|
nuitka/__main__.py,sha256=dp8HcyiviRrEVm1OWjffOIy0DvkT4iW8R9wCjGpxwT8,7810
|
|
28
28
|
nuitka/__past__.py,sha256=c9HaNn4DHQU3x1ip7aVSzdQqNAzDojYmr2KfMHbqmSQ,5739
|
|
@@ -31,14 +31,14 @@ nuitka/build/CCompilerVersion.scons,sha256=Rs68LndV5ItFvA6W1_aEE9fXumAMXjUfP35kE
|
|
|
31
31
|
nuitka/build/DataComposerInterface.py,sha256=xWrgCLG6PXoZsFjuTxc0f4XCSu80CDwYXmLJevp9VTw,3486
|
|
32
32
|
nuitka/build/Onefile.scons,sha256=bGIq7NAR81aB_Rhnwn7vdMgjFF0E6BggGoUyf8TAOXY,17908
|
|
33
33
|
nuitka/build/SconsCaching.py,sha256=XfPJxt2K1SqKwR_docnXw3pWijcoQZW02Xk-o0BBfJQ,15449
|
|
34
|
-
nuitka/build/SconsCompilerSettings.py,sha256=
|
|
34
|
+
nuitka/build/SconsCompilerSettings.py,sha256=MoqUX4mRU4RYczvaXPn-BO6smONmvE4Wt0DNPdi-gEY,36456
|
|
35
35
|
nuitka/build/SconsHacks.py,sha256=KvcjESBRMRcwAWZN5S09JbZNs9WAc7HvPXIiRRgJE0c,5802
|
|
36
36
|
nuitka/build/SconsInterface.py,sha256=LmudNBGDrOLY1aRy8md6XBq-6hh9gMvRYf8HHGRMms4,18650
|
|
37
37
|
nuitka/build/SconsProgress.py,sha256=Zc0Gp2meURGXDK9RMcTb3MBH0wRW51625__y7u8fFa8,2703
|
|
38
38
|
nuitka/build/SconsSpawn.py,sha256=g2BzLuCeIMpt5OHYK7jelyRgm8QlHQxoCKA33mg3y4g,13210
|
|
39
39
|
nuitka/build/SconsUtils.py,sha256=nW4L4ymMpgaq3rJk2ZAjxok_EBi7p-UtpmCX3q6ouHE,27487
|
|
40
40
|
nuitka/build/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
41
|
-
nuitka/build/include/nuitka/allocator.h,sha256=
|
|
41
|
+
nuitka/build/include/nuitka/allocator.h,sha256=dexX6Y6mmHJ8LiGxgo-2Dp6X3zjCKHBOYcs-h8Wdano,10839
|
|
42
42
|
nuitka/build/include/nuitka/builtins.h,sha256=QhRpXRaFLANnurU3yqbgj_pmdgmze5ThItnV4RpR8Xs,3499
|
|
43
43
|
nuitka/build/include/nuitka/calling.h,sha256=IGp__zOY87L09AAuX250Evl-OV9PYl4HuOYDd-ht1Ko,5203
|
|
44
44
|
nuitka/build/include/nuitka/checkers.h,sha256=hfSyh4-YAxsK8Ebl8AxCA0sPy9RoB0xHppuIB8SgF3Y,2006
|
|
@@ -420,11 +420,11 @@ nuitka/build/static_src/CompiledCellType.c,sha256=NhSxR56c645TLauoBqA_W6DqphNMr5
|
|
|
420
420
|
nuitka/build/static_src/CompiledCodeHelpers.c,sha256=URXN9Q-oycNLRKUj_Xra6_-ukCkmnK65KHh4mrbJ_NE,59730
|
|
421
421
|
nuitka/build/static_src/CompiledCoroutineType.c,sha256=njZmPFdVSYqCBJ25o5N-VwWD9i3W0Oi7QiM2SuXGrsA,72298
|
|
422
422
|
nuitka/build/static_src/CompiledFrameType.c,sha256=RntldgQBSFRCU6FdXGATPL4B_AJ8MbvbC4ocW4r4maQ,42851
|
|
423
|
-
nuitka/build/static_src/CompiledFunctionType.c,sha256=
|
|
423
|
+
nuitka/build/static_src/CompiledFunctionType.c,sha256=YK5y4QhOb6aIRbCyNg2cdh83UAPO86DNlIeJEIHw-gY,113607
|
|
424
424
|
nuitka/build/static_src/CompiledGeneratorType.c,sha256=cwM9_yu6IRPxQMqKcg3Thia8TQVXf7HaKe4fbPbMPCk,67879
|
|
425
425
|
nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c,sha256=73uz7jzMoyCjnMWcHplbK3WTZFpdIcNTuAM64MaUWHg,56209
|
|
426
|
-
nuitka/build/static_src/CompiledMethodType.c,sha256=
|
|
427
|
-
nuitka/build/static_src/HelpersAllocator.c,sha256
|
|
426
|
+
nuitka/build/static_src/CompiledMethodType.c,sha256=fZP-ynQN0vBHT_1Bddo6zzgLp3F5sAWscjCt-LN1VOs,22649
|
|
427
|
+
nuitka/build/static_src/HelpersAllocator.c,sha256=pEW_kxHcsSVpU_0oP_9fstTfwbGRMs-FGFaEad7fzK4,20746
|
|
428
428
|
nuitka/build/static_src/HelpersAttributes.c,sha256=yjGvAz1jvp6XuDk1EnorNmP3M3cavFWYh8ylYDOFK5Q,37636
|
|
429
429
|
nuitka/build/static_src/HelpersBuiltin.c,sha256=ojXzdmZXbHH4suCrQieQhCm26CxyrUP9ZnKbsL218e0,24033
|
|
430
430
|
nuitka/build/static_src/HelpersBuiltinTypeMethods.c,sha256=8KT1Naoot64WipECnnE9iGxFsy4QdEKlLRidJYcxrdI,114017
|
|
@@ -434,14 +434,14 @@ nuitka/build/static_src/HelpersCallingGenerated.c,sha256=9nHqNa17Smhc4ZdwWQkgT9v
|
|
|
434
434
|
nuitka/build/static_src/HelpersChecksumTools.c,sha256=DLJWSvRYuC-hU7coVPqU6r3EljoCh-rJNM8YecFUnbE,2065
|
|
435
435
|
nuitka/build/static_src/HelpersClasses.c,sha256=UiATEtqIy03LSG1PKpjfZjXdmxOOIE6FKcSJx_orw90,3051
|
|
436
436
|
nuitka/build/static_src/HelpersComparisonEq.c,sha256=_7wR19FvapQ9BzggLTw7h4PGgTHyeb406lhpIy5m37M,322180
|
|
437
|
-
nuitka/build/static_src/HelpersComparisonEqUtils.c,sha256=
|
|
437
|
+
nuitka/build/static_src/HelpersComparisonEqUtils.c,sha256=vLG_xfzyMKOziBUIdPT7IJOdvMm-08ej-iv5pUuOAaU,4864
|
|
438
438
|
nuitka/build/static_src/HelpersComparisonGe.c,sha256=_84HNwYbNiTqdyvg9i1Tqyp_UwwLEQ2hzRt__KvNgDY,317300
|
|
439
439
|
nuitka/build/static_src/HelpersComparisonGt.c,sha256=g8XBKKuX2-eR7gNhS7YDi2_dpRzpASUEHi_BB916Brg,316702
|
|
440
440
|
nuitka/build/static_src/HelpersComparisonLe.c,sha256=NfBvAILavbH-u0QT3ByjS_K_Kd0OsKh-36Ar5cYsE0w,320514
|
|
441
441
|
nuitka/build/static_src/HelpersComparisonLt.c,sha256=tTYmfmy0XM6FqUvHwkiILX62At7GTyDu_gruTBnHAd8,319916
|
|
442
442
|
nuitka/build/static_src/HelpersComparisonNe.c,sha256=-MaZEqvl-ShUWOeFOn9V63L0nF3C0Qmi2YJ97ES4h7U,318928
|
|
443
443
|
nuitka/build/static_src/HelpersConsole.c,sha256=qZekWa9oHODPOPPgEzvBeYDQgS5-YLbs1Dt1YY-LRwg,3864
|
|
444
|
-
nuitka/build/static_src/HelpersConstantsBlob.c,sha256=
|
|
444
|
+
nuitka/build/static_src/HelpersConstantsBlob.c,sha256=8-PVEZRtI8qdP-rWavA2J4qOpkPUKwjA-lDqPHC2B0w,35952
|
|
445
445
|
nuitka/build/static_src/HelpersDeepcopy.c,sha256=PRgzmXzB_pf_ie6g0GDNTfJSBwQVCRf-KrUNSdiaT7w,20361
|
|
446
446
|
nuitka/build/static_src/HelpersDictionaries.c,sha256=U54zFBw693bp9mxdR01Sa9seYBJoPz339qIZs_I-PO8,40258
|
|
447
447
|
nuitka/build/static_src/HelpersDictionariesGenerated.c,sha256=cwPsX9pZ-eLZuqtIoRguN_XBBUp7MCU6q2-IdAYCxDI,27988
|
|
@@ -459,7 +459,7 @@ nuitka/build/static_src/HelpersJitSources.c,sha256=0vNnbQYGnmSqE7Uj3SkLNbqKFDxY5
|
|
|
459
459
|
nuitka/build/static_src/HelpersLists.c,sha256=j53DiTeduWJ9Gc7QtHdExCPLxu3LeW8ydgVPKfFrL9w,21632
|
|
460
460
|
nuitka/build/static_src/HelpersListsGenerated.c,sha256=6rbjOglwf_xlKEUgJOH-tC6mUHDhS-PV8fBikoohYwQ,14316
|
|
461
461
|
nuitka/build/static_src/HelpersMappings.c,sha256=f3s_pCQGKeMiWD7AmdZEXGgLRvT3r-Fzgos2Yr9Gqvg,1669
|
|
462
|
-
nuitka/build/static_src/HelpersMatching.c,sha256=
|
|
462
|
+
nuitka/build/static_src/HelpersMatching.c,sha256=G9CYDr609bFe4EKNw8el14AxRggXeCTQMSY0cwyr81E,6235
|
|
463
463
|
nuitka/build/static_src/HelpersOperationBinaryAdd.c,sha256=WtBB3PsJ1VYu_IEhRHPhpAUy_Q9DQzrPNje7_xKrOu4,183706
|
|
464
464
|
nuitka/build/static_src/HelpersOperationBinaryAddUtils.c,sha256=NESdxee6EkQWAuccUalFeCkAub4W2G9LvZLypJc0R6c,19943
|
|
465
465
|
nuitka/build/static_src/HelpersOperationBinaryBitand.c,sha256=iHZm_xT3a2Gluz_RG0zMqbdOWVHEgZequA_MNaBlfHY,78269
|
|
@@ -505,13 +505,13 @@ nuitka/build/static_src/HelpersStrings.c,sha256=-WLwXGcKdErdMLNNPT8seMdm9LOTLW2o
|
|
|
505
505
|
nuitka/build/static_src/HelpersTuples.c,sha256=9yVThC0PIcHYadFLyPdf16Bs204TmE2gzTClKClvM8w,4481
|
|
506
506
|
nuitka/build/static_src/HelpersTypes.c,sha256=vpGmy_oIY-Q19aSSsaYMur5orvkCWsL5rBP6BJ1OdXg,6916
|
|
507
507
|
nuitka/build/static_src/InspectPatcher.c,sha256=mQ0U_CyOC8I06X7DJ4qeDimFEljb2WHngB-Kf-qDwQ0,14752
|
|
508
|
-
nuitka/build/static_src/MainProgram.c,sha256=
|
|
508
|
+
nuitka/build/static_src/MainProgram.c,sha256=A14ydsmyjnyd95HGEM2X2xi9HA-OA13H-KLNWz4Wz5k,57590
|
|
509
509
|
nuitka/build/static_src/MetaPathBasedLoader.c,sha256=5vQfHpj84_fIb5grJpvVyepOv9706mARJsBVviwsXhY,67088
|
|
510
510
|
nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c,sha256=Ja17tBwGgt6jVF8Hr8Wvhx0NKarqJ6IL7d149latRR0,5082
|
|
511
511
|
nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c,sha256=K5zaC-z7r47DZiQbn4-aYvmm0AEYd3hCAeXw8Xtw9ew,6651
|
|
512
512
|
nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c,sha256=-Jd5ixaJcRbywWlkeLiGjBYwcXXq2KMiTzWngeuaF6Y,22875
|
|
513
|
-
nuitka/build/static_src/OnefileBootstrap.c,sha256=
|
|
514
|
-
nuitka/build/static_src/OnefileSplashScreen.cpp,sha256=
|
|
513
|
+
nuitka/build/static_src/OnefileBootstrap.c,sha256=7QHOwrnmYBsekBX2E2rq4k21TRCBVH767KTF9EBHrq0,40089
|
|
514
|
+
nuitka/build/static_src/OnefileSplashScreen.cpp,sha256=WMJ8kWaFpsooTcHt2fJE3ztfVCXL-dpSwKB-ePJHdtc,9138
|
|
515
515
|
nuitka/code_generation/AsyncgenCodes.py,sha256=WoPhZ374EZ_VY4ioTTDGqoASL4Y--7WC8u9LDVxoruo,6491
|
|
516
516
|
nuitka/code_generation/AttributeCodes.py,sha256=9rp8iBP4lV33xde5eJmomF2rfmGddR3LRqTjAT8WHu0,10948
|
|
517
517
|
nuitka/code_generation/BinaryOperationHelperDefinitions.py,sha256=VUcpFH-ZMf9jZ8WXm5VLtTGLDk4ehTi8DyYHUQyBc1c,21926
|
|
@@ -647,20 +647,20 @@ nuitka/distutils/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,
|
|
|
647
647
|
nuitka/finalizations/Finalization.py,sha256=NE7mn3W5PzgCKXTHrptcztVG7EgXwMVM9bYC58-PhfI,1258
|
|
648
648
|
nuitka/finalizations/FinalizeMarkups.py,sha256=vjhI4fVEAglPb_z-e6YtTzgVSBpt5R2NQUC2mbaQx7o,5465
|
|
649
649
|
nuitka/finalizations/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
650
|
-
nuitka/freezer/DependsExe.py,sha256=
|
|
650
|
+
nuitka/freezer/DependsExe.py,sha256=WN-VORHEs7-jDy62dWmUqOxk6Rfg7iXCr3TplUTy7l8,8258
|
|
651
651
|
nuitka/freezer/DllDependenciesCommon.py,sha256=uZkJ4tpvzZ_vHDud0sOuI-GiqWu0R-Y0w64uqKrmgxE,3268
|
|
652
|
-
nuitka/freezer/DllDependenciesMacOS.py,sha256=
|
|
652
|
+
nuitka/freezer/DllDependenciesMacOS.py,sha256=zy2mjYgvZnxfh1vXxMJdarQGfPIRc6VdxIdTt64FajU,15590
|
|
653
653
|
nuitka/freezer/DllDependenciesPosix.py,sha256=FKzKDuVAViqI00CfADzqgYAJZqB416VaSS-MtApjjJs,7468
|
|
654
654
|
nuitka/freezer/DllDependenciesWin32.py,sha256=K5_NGi_tl8_Oky9T198YlkbFjrPylzFPe7W-3kVfbZU,6837
|
|
655
655
|
nuitka/freezer/ImportDetection.py,sha256=zJtJk-8rmHW-BngN5W6WPhQu6vHLsX9nbDSysytp_0k,11999
|
|
656
|
-
nuitka/freezer/IncludedDataFiles.py,sha256=
|
|
656
|
+
nuitka/freezer/IncludedDataFiles.py,sha256=dnAwfCHMg8ejtmgF5pixaTZaqujOQmO6z1ZxG63jFDw,19800
|
|
657
657
|
nuitka/freezer/IncludedEntryPoints.py,sha256=GRlGRaKHSOalp7tuWEgd8dC-Iaay8GpEI90phCd1Gww,12137
|
|
658
658
|
nuitka/freezer/Onefile.py,sha256=GMEQysedmlLyn2sSkPrId13RY1sNY3n87qEn7LVCd7Y,10551
|
|
659
|
-
nuitka/freezer/Standalone.py,sha256=
|
|
659
|
+
nuitka/freezer/Standalone.py,sha256=sYgXFr9yI5QcB3ovO2pvwsxScD7EYbhqfrjmruEpcsk,13284
|
|
660
660
|
nuitka/freezer/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
661
661
|
nuitka/importing/IgnoreListing.py,sha256=sDR37R5N1zgqA92G0GxcXJf_b-H4eLMeinYpUu1c4Qs,11040
|
|
662
662
|
nuitka/importing/ImportCache.py,sha256=qyg3yHj6lepcy1hgLpZTWL7CUpDvMlsp2XoZxwgTI3Y,2989
|
|
663
|
-
nuitka/importing/ImportResolving.py,sha256=
|
|
663
|
+
nuitka/importing/ImportResolving.py,sha256=ptblxaLqlDm-YRmi3w2UaCsdtnhtsuxNdaR103UtqfA,7957
|
|
664
664
|
nuitka/importing/Importing.py,sha256=zoCer8D4xoHxoNn8GhwHisN5TKPFetNvP6jothoSCd0,33809
|
|
665
665
|
nuitka/importing/PreloadedPackages.py,sha256=VHlzoXRgWHu1tOX-06mNa_qXW-llkPSz4ZQZnU1UDo4,4869
|
|
666
666
|
nuitka/importing/Recursion.py,sha256=Bo4UF1JhMCanuNPOOjG4gZgoTMake4OVt8Fp2GxuvDI,18935
|
|
@@ -809,14 +809,14 @@ nuitka/plugins/standard/TransformersPlugin.py,sha256=6Ex9lNg5OupnXhFPKq5ozDOikIb
|
|
|
809
809
|
nuitka/plugins/standard/TrioPlugin.py,sha256=fIz_UTQfwBnl6MY4-XI4eKHPPsMeksPWYjnJU10mOb8,1107
|
|
810
810
|
nuitka/plugins/standard/UpxPlugin.py,sha256=1I3WouiEmKQAvTkzhgmJ2FRjDKHC0oH9onENntmFphg,5668
|
|
811
811
|
nuitka/plugins/standard/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
812
|
-
nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=
|
|
812
|
+
nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=i8r6fL24oypof1eLCBPEUx3j8dHcESJ3KubyoVF-S7I,257064
|
|
813
813
|
nuitka/plugins/standard/stdlib2.nuitka-package.config.yml,sha256=DRazC20zLXbc71ZMRu9kEA8N4Xe8Iry2sHNsUlbx4FE,2357
|
|
814
814
|
nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=scSfWrwREBDcZhG-ehdw1ZQeI-YoYby-oIQGjIdJlg8,13646
|
|
815
815
|
nuitka/plugins/standard/DillPlugin/DillPlugin.c,sha256=RbyX_UPvVZ00nN2bnIBVFoZ8xSZZ5YFJqVB6Qwg9GSo,1688
|
|
816
816
|
nuitka/plugins/standard/DillPlugin/dill-postLoad.py,sha256=WICFdsvx5ZZKqgfX-GuYWqsuL7avFDqxlFk6UA3qihk,9826
|
|
817
817
|
nuitka/reports/CompilationReportReader.py,sha256=9MRNyEpfu7gf5jDlhz53ZBBERGXTvps1sV2P_hutWf8,2286
|
|
818
818
|
nuitka/reports/LicenseReport.rst.j2,sha256=CPxGcCfBlYXRDHUOOuzVs-bcVj8IQ5kA4GAn5ayRIzc,2089
|
|
819
|
-
nuitka/reports/Reports.py,sha256=
|
|
819
|
+
nuitka/reports/Reports.py,sha256=hNnp_FWNCIZnbtebgRh4XRfSjkM1-jqICw3uxuVLxqk,30634
|
|
820
820
|
nuitka/reports/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
821
821
|
nuitka/specs/BuiltinBytesOperationSpecs.py,sha256=IHSeni5fD47sh2mlPOlFRIBU5BYYgB8jRIDATtLse0I,5943
|
|
822
822
|
nuitka/specs/BuiltinDictOperationSpecs.py,sha256=QY7acLh6R9HgWhiAc82qWB1LULJ4DQF5-SdsCIV98wE,2818
|
|
@@ -858,7 +858,7 @@ nuitka/tools/specialize/Common.py,sha256=HFjFyVl1rwOwM9pfyA7Ns76t-v3zkIThgOHhkbb
|
|
|
858
858
|
nuitka/tools/specialize/SpecializeC.py,sha256=QW217C0KRsFs7foSBaqi6auO-tSkeDjR1jk5OFvw1rg,39747
|
|
859
859
|
nuitka/tools/specialize/SpecializePython.py,sha256=KVQzBx7fpeWG_TtgVLgvLL1QOwRriee0X1kwlb4B-U4,37080
|
|
860
860
|
nuitka/tools/specialize/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
861
|
-
nuitka/tools/testing/Common.py,sha256=
|
|
861
|
+
nuitka/tools/testing/Common.py,sha256=a9y0ycQ_5I0vqRM1YVKDebSoVE_-CTh-5KjMDKWfl3I,57434
|
|
862
862
|
nuitka/tools/testing/Constructs.py,sha256=zHyVi7g3Gn3kLKvZW_OGFrskf5OIvCf7nK1GX2sJXy4,1516
|
|
863
863
|
nuitka/tools/testing/OutputComparison.py,sha256=WquPChaxgx1wyuP_9nB0v4_zH1QnEtZEb0k40f5s60k,10129
|
|
864
864
|
nuitka/tools/testing/Pythons.py,sha256=ydchEs7aFNwYq9KT8ni1S3y55IRUSMqGOCriwkuacw4,1310
|
|
@@ -921,7 +921,7 @@ nuitka/utils/CommandLineOptions.py,sha256=eUc6cRetHxL07xppAn9MlWcSEUuEDyp6tJ3ihg
|
|
|
921
921
|
nuitka/utils/Distributions.py,sha256=FLe2NgLElmU1Y2sUP6E3l0EjrKZ6KB3qahq6vFOXEVM,16874
|
|
922
922
|
nuitka/utils/Download.py,sha256=yOTdRU2EvXgs6a149mHOhv2TL6gt38Ep2rb965zFfiE,6714
|
|
923
923
|
nuitka/utils/Execution.py,sha256=qo1yojRME2Ilgntle5RMUZnR7CVptdEUNr7jXD2wBwc,13799
|
|
924
|
-
nuitka/utils/FileOperations.py,sha256=
|
|
924
|
+
nuitka/utils/FileOperations.py,sha256=o8mF747-GD8qggB9bnVyo7nwssRA3dbNmSiH-EJVZ2E,44662
|
|
925
925
|
nuitka/utils/Hashing.py,sha256=vOFVzPNqAJw7NNZ1Hxe0rllnKO-HGwd6n5N3R_2WgQM,3753
|
|
926
926
|
nuitka/utils/Images.py,sha256=HitRj3qvpRXs2hV3V20cavcc2YZZNiyo5KawtcUCMTs,2547
|
|
927
927
|
nuitka/utils/Importing.py,sha256=rVJ7L35ShEwJy_Is-tnYwn11BvZbZTzrVFTehWV4WI4,10843
|
|
@@ -941,14 +941,14 @@ nuitka/utils/SlotMetaClasses.py,sha256=lVJokq-0XqDaNHTt9rfE_khZCQSi_BWMfDDwdwudw
|
|
|
941
941
|
nuitka/utils/StaticLibraries.py,sha256=KPSm7zcFljGThkPpAykTfaeqIouBD8kexAKVR2gIiuM,6582
|
|
942
942
|
nuitka/utils/ThreadedExecutor.py,sha256=MeByXD8Rn56zdFHta8gYfn7vAgvv13R1vYsJQUAhEGY,2634
|
|
943
943
|
nuitka/utils/Timing.py,sha256=-2IKhHHg-zoW76ue71SuItJO3NUncDuZABdNO1pllIc,2816
|
|
944
|
-
nuitka/utils/Utils.py,sha256=
|
|
944
|
+
nuitka/utils/Utils.py,sha256=1hs6G2FtaupTt32O_a097coDmMtJvRkc1gcmncPQBMw,13677
|
|
945
945
|
nuitka/utils/WindowsFileUsage.py,sha256=S6zm_4JQzaSyVmOoLdZDEq--SObR-CHofH4cvs__fsc,10642
|
|
946
946
|
nuitka/utils/WindowsResources.py,sha256=npt3jbcTgh1M5G6jyEv6uFqiZIf84XEea3wXQ_sXGdM,19837
|
|
947
947
|
nuitka/utils/Yaml.py,sha256=osd2K6G4XxSpzzTA-KzYoN8n2OF11zgB-4QxgJOig8M,7206
|
|
948
948
|
nuitka/utils/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
949
|
-
Nuitka_winsvc-2.4.
|
|
950
|
-
Nuitka_winsvc-2.4.
|
|
951
|
-
Nuitka_winsvc-2.4.
|
|
952
|
-
Nuitka_winsvc-2.4.
|
|
953
|
-
Nuitka_winsvc-2.4.
|
|
954
|
-
Nuitka_winsvc-2.4.
|
|
949
|
+
Nuitka_winsvc-2.4.10.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
|
|
950
|
+
Nuitka_winsvc-2.4.10.dist-info/METADATA,sha256=NhUy0x0khV3jNhfYkKp35hdZWaK3ukzVYH7Tj4WQtdM,4960
|
|
951
|
+
Nuitka_winsvc-2.4.10.dist-info/WHEEL,sha256=tE2EWZPEv-G0fjAlUUz7IGM64246YKD9fpv4HcsDMkk,101
|
|
952
|
+
Nuitka_winsvc-2.4.10.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
|
|
953
|
+
Nuitka_winsvc-2.4.10.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
|
|
954
|
+
Nuitka_winsvc-2.4.10.dist-info/RECORD,,
|
nuitka/Options.py
CHANGED
|
@@ -53,6 +53,7 @@ from nuitka.PythonVersions import (
|
|
|
53
53
|
)
|
|
54
54
|
from nuitka.utils.Execution import getExecutablePath
|
|
55
55
|
from nuitka.utils.FileOperations import (
|
|
56
|
+
getNormalizedPath,
|
|
56
57
|
isLegalPath,
|
|
57
58
|
isPathExecutable,
|
|
58
59
|
openTextFile,
|
|
@@ -121,7 +122,7 @@ def checkPathSpec(value, arg_name, allow_disable):
|
|
|
121
122
|
)
|
|
122
123
|
|
|
123
124
|
# This changes the '/' to '\' on Windows at least.
|
|
124
|
-
value =
|
|
125
|
+
value = getNormalizedPath(value)
|
|
125
126
|
|
|
126
127
|
if "\n" in value or "\r" in value:
|
|
127
128
|
Tracing.options_logger.sysexit(
|
|
@@ -1571,7 +1572,7 @@ _shall_use_static_lib_python = None
|
|
|
1571
1572
|
|
|
1572
1573
|
|
|
1573
1574
|
def _shallUseStaticLibPython():
|
|
1574
|
-
# return driven, pylint: disable=too-many-return-statements
|
|
1575
|
+
# many cases and return driven, pylint: disable=too-many-branches,too-many-return-statements
|
|
1575
1576
|
|
|
1576
1577
|
if shallMakeModule():
|
|
1577
1578
|
return False, "not used in module mode"
|
|
@@ -1604,11 +1605,20 @@ def _shallUseStaticLibPython():
|
|
|
1604
1605
|
|
|
1605
1606
|
# For Anaconda default to trying static lib python library, which
|
|
1606
1607
|
# normally is just not available or if it is even unusable.
|
|
1607
|
-
if isAnacondaPython()
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1608
|
+
if isAnacondaPython():
|
|
1609
|
+
if isMacOS():
|
|
1610
|
+
# TODO: Maybe some linker options can make it happen.
|
|
1611
|
+
return (
|
|
1612
|
+
False,
|
|
1613
|
+
"Anaconda on macOS exports not all symbols when using it.",
|
|
1614
|
+
)
|
|
1615
|
+
elif not isWin32Windows():
|
|
1616
|
+
return (
|
|
1617
|
+
True,
|
|
1618
|
+
"""\
|
|
1619
|
+
Nuitka on Anaconda needs package for static libpython installed. \
|
|
1620
|
+
Execute 'conda install libpython-static'.""",
|
|
1621
|
+
)
|
|
1612
1622
|
|
|
1613
1623
|
if isPyenvPython():
|
|
1614
1624
|
return True, "Nuitka on pyenv should not use '--enable-shared'."
|
nuitka/Version.py
CHANGED
|
@@ -111,13 +111,13 @@ def _enableC11Settings(env):
|
|
|
111
111
|
|
|
112
112
|
if c11_mode:
|
|
113
113
|
if env.gcc_mode:
|
|
114
|
-
env.Append(
|
|
114
|
+
env.Append(CFLAGS=["-std=c11"])
|
|
115
115
|
elif env.msvc_mode:
|
|
116
|
-
env.Append(
|
|
116
|
+
env.Append(CFLAGS=["/std:c11"])
|
|
117
117
|
|
|
118
118
|
if env.msvc_mode and c11_mode:
|
|
119
119
|
# Windows SDK shows this even in non-debug mode in C11 mode.
|
|
120
|
-
env.Append(CCFLAGS=["/wd5105"])
|
|
120
|
+
env.Append(CCFLAGS=["/wd5105", "/wd4391"])
|
|
121
121
|
|
|
122
122
|
if not c11_mode:
|
|
123
123
|
env.Append(CPPDEFINES=["_NUITKA_NON_C11_MODE"])
|
|
@@ -139,7 +139,7 @@ static inline void Nuitka_Py_NewReference(PyObject *op) {
|
|
|
139
139
|
#else
|
|
140
140
|
op->ob_tid = _Py_ThreadId();
|
|
141
141
|
op->_padding = 0;
|
|
142
|
-
op->ob_mutex = (
|
|
142
|
+
op->ob_mutex = (PyMutex){0};
|
|
143
143
|
op->ob_gc_bits = 0;
|
|
144
144
|
op->ob_ref_local = 1;
|
|
145
145
|
op->ob_ref_shared = 0;
|
|
@@ -1161,7 +1161,7 @@ Nuitka_Function_CreateFunctionViaCodeIndex(PyObject *module, PyObject *function_
|
|
|
1161
1161
|
|
|
1162
1162
|
PyCodeObject *code_object =
|
|
1163
1163
|
MAKE_CODE_OBJECT(filename, line_int, flags_int, function_name, function_qualname, arg_names,
|
|
1164
|
-
NULL, //
|
|
1164
|
+
NULL, // free_vars
|
|
1165
1165
|
arg_count_int, kw_only_count_int, pos_only_count_int);
|
|
1166
1166
|
if (unlikely(code_object == NULL)) {
|
|
1167
1167
|
return NULL;
|
|
@@ -125,7 +125,10 @@ static PyObject *Nuitka_Method_deepcopy(struct Nuitka_MethodObject *method, PyOb
|
|
|
125
125
|
return NULL;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
PyObject *result = Nuitka_Method_New(method->m_function, object, method->m_class);
|
|
129
|
+
// Nuitka_Method_New took a reference to the object.
|
|
130
|
+
Py_DECREF(object);
|
|
131
|
+
return result;
|
|
129
132
|
}
|
|
130
133
|
|
|
131
134
|
static PyMethodDef Nuitka_Method_methods[] = {
|
|
@@ -673,11 +673,11 @@ void Nuitka_PyObject_GC_Link(PyObject *op) {
|
|
|
673
673
|
gc->_gc_next = 0;
|
|
674
674
|
gc->_gc_prev = 0;
|
|
675
675
|
|
|
676
|
-
gcstate->
|
|
677
|
-
gcstate->heap_size++;
|
|
676
|
+
gcstate->generations[0].count++;
|
|
678
677
|
|
|
679
|
-
if (gcstate->
|
|
680
|
-
!_Py_atomic_load_int_relaxed(&gcstate->collecting) &&
|
|
678
|
+
if (gcstate->generations[0].count > gcstate->generations[0].threshold && gcstate->enabled &&
|
|
679
|
+
gcstate->generations[0].threshold && !_Py_atomic_load_int_relaxed(&gcstate->collecting) &&
|
|
680
|
+
!_PyErr_Occurred(tstate)) {
|
|
681
681
|
Nuitka_Py_ScheduleGC(tstate);
|
|
682
682
|
}
|
|
683
683
|
#endif
|
|
@@ -39,6 +39,7 @@ void _initSlotCompare(void) {
|
|
|
39
39
|
PyDict_SetItem(kw_args, const_str_plain___init__, (PyObject *)Py_TYPE(Py_None));
|
|
40
40
|
|
|
41
41
|
// Create the type.
|
|
42
|
+
CHECK_OBJECT(const_str_plain___cmp__);
|
|
42
43
|
PyTypeObject *c = (PyTypeObject *)PyObject_CallFunctionObjArgs((PyObject *)&PyType_Type, const_str_plain___cmp__,
|
|
43
44
|
pos_args, kw_args, NULL);
|
|
44
45
|
Py_DECREF(pos_args);
|
|
@@ -774,7 +774,9 @@ static unsigned char const *_unpackBlobConstant(PyThreadState *tstate, PyObject
|
|
|
774
774
|
PyObject *u = PyUnicode_FromStringAndSize((const char *)data, 1);
|
|
775
775
|
data += 1;
|
|
776
776
|
|
|
777
|
-
#if PYTHON_VERSION >=
|
|
777
|
+
#if PYTHON_VERSION >= 0x3c7
|
|
778
|
+
_PyUnicode_InternImmortal(tstate->interp, &u);
|
|
779
|
+
#elif PYTHON_VERSION >= 0x300
|
|
778
780
|
PyUnicode_InternInPlace(&u);
|
|
779
781
|
#else
|
|
780
782
|
insertToDictCache(unicode_cache, &u);
|
|
@@ -828,7 +830,9 @@ static unsigned char const *_unpackBlobConstant(PyThreadState *tstate, PyObject
|
|
|
828
830
|
#endif
|
|
829
831
|
data += size + 1;
|
|
830
832
|
|
|
831
|
-
#if PYTHON_VERSION >=
|
|
833
|
+
#if PYTHON_VERSION >= 0x3c7
|
|
834
|
+
_PyUnicode_InternImmortal(tstate->interp, &u);
|
|
835
|
+
#elif PYTHON_VERSION >= 0x300
|
|
832
836
|
if (c == 'a') {
|
|
833
837
|
PyUnicode_InternInPlace(&u);
|
|
834
838
|
}
|
|
@@ -130,7 +130,7 @@ PyObject *MATCH_CLASS_ARGS(PyThreadState *tstate, PyObject *matched, PyObject *m
|
|
|
130
130
|
if (unlikely(arg_value == NULL)) {
|
|
131
131
|
DROP_ERROR_OCCURRED(tstate);
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
Py_XDECREF(match_args);
|
|
134
134
|
Py_DECREF(result);
|
|
135
135
|
|
|
136
136
|
Py_INCREF_IMMORTAL(Py_None);
|
|
@@ -1114,7 +1114,7 @@ static void changeStandardHandleTarget(FILE *std_handle, filename_char_t const *
|
|
|
1114
1114
|
static void Nuitka_at_exit(void) { NUITKA_PRINT_TIMING("Nuitka_at_exit(): Called by C exit()"); }
|
|
1115
1115
|
#endif
|
|
1116
1116
|
|
|
1117
|
-
#if !defined(_NUITKA_DEPLOYMENT_MODE) && !defined(
|
|
1117
|
+
#if !defined(_NUITKA_DEPLOYMENT_MODE) && !defined(_NUITKA_NO_DEPLOYMENT_SEGFAULT)
|
|
1118
1118
|
#include <signal.h>
|
|
1119
1119
|
static void nuitka_segfault_handler(int sig) {
|
|
1120
1120
|
puts("Nuitka: A segmentation fault has occurred. This is highly unusual and can");
|
|
@@ -1132,6 +1132,11 @@ extern wchar_t const *getBinaryFilenameWideChars(bool resolve_symlinks);
|
|
|
1132
1132
|
extern char const *getBinaryFilenameHostEncoded(bool resolve_symlinks);
|
|
1133
1133
|
#endif
|
|
1134
1134
|
|
|
1135
|
+
// No longer in header files, but still usable.
|
|
1136
|
+
#if PYTHON_VERSION >= 0x3d0
|
|
1137
|
+
PyAPI_FUNC(void) PySys_AddWarnOption(const wchar_t *s);
|
|
1138
|
+
#endif
|
|
1139
|
+
|
|
1135
1140
|
#ifdef _NUITKA_WINMAIN_ENTRY_POINT
|
|
1136
1141
|
int __stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, wchar_t *lpCmdLine, int nCmdShow) {
|
|
1137
1142
|
/* MSVC, MINGW64 */
|
|
@@ -1146,7 +1151,7 @@ int main(int argc, char **argv) {
|
|
|
1146
1151
|
#endif
|
|
1147
1152
|
|
|
1148
1153
|
// Installer a segfault handler that outputs a helpful message.
|
|
1149
|
-
#if !defined(_NUITKA_DEPLOYMENT_MODE) && !defined(
|
|
1154
|
+
#if !defined(_NUITKA_DEPLOYMENT_MODE) && !defined(_NUITKA_NO_DEPLOYMENT_SEGFAULT)
|
|
1150
1155
|
signal(SIGSEGV, nuitka_segfault_handler);
|
|
1151
1156
|
#endif
|
|
1152
1157
|
|
|
@@ -2,16 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
// Creates a stream object initialized with the data from an executable resource.
|
|
4
4
|
|
|
5
|
-
#ifdef __MINGW32__
|
|
6
|
-
#error "No support for splash screens with MinGW64 yet, only works with MSVC. Somebody please make it portable."
|
|
7
|
-
#endif
|
|
8
|
-
|
|
9
5
|
#include <shlwapi.h>
|
|
10
6
|
#include <wincodec.h>
|
|
11
7
|
#include <windows.h>
|
|
12
8
|
|
|
13
9
|
#include <assert.h>
|
|
14
10
|
|
|
11
|
+
// Some handy macro definitions, e.g. unlikely and NUITKA_MAY_BE_UNUSED
|
|
12
|
+
#include "nuitka/hedley.h"
|
|
13
|
+
#define likely(x) HEDLEY_LIKELY(x)
|
|
14
|
+
#define unlikely(x) HEDLEY_UNLIKELY(x)
|
|
15
|
+
#ifdef __GNUC__
|
|
16
|
+
#define NUITKA_MAY_BE_UNUSED __attribute__((__unused__))
|
|
17
|
+
#else
|
|
18
|
+
#define NUITKA_MAY_BE_UNUSED
|
|
19
|
+
#endif
|
|
20
|
+
|
|
15
21
|
#ifndef _NUITKA_NON_C11_MODE
|
|
16
22
|
extern "C" {
|
|
17
23
|
#endif
|
|
@@ -138,6 +144,7 @@ HWND createSplashWindow(HBITMAP splash_bitmap) {
|
|
|
138
144
|
|
|
139
145
|
HWND splash_window = CreateWindowExA(WS_EX_LAYERED, wc.lpszClassName, NULL,
|
|
140
146
|
WS_POPUP | WS_VISIBLE | WS_EX_TOOLWINDOW, 0, 0, 0, 0, 0, NULL, 0, NULL);
|
|
147
|
+
assert(splash_window != NULL);
|
|
141
148
|
|
|
142
149
|
// get the size of the bitmap
|
|
143
150
|
|
|
@@ -145,6 +152,8 @@ HWND createSplashWindow(HBITMAP splash_bitmap) {
|
|
|
145
152
|
GetObject(splash_bitmap, sizeof(bitmap), &bitmap);
|
|
146
153
|
SIZE sizeSplash = {bitmap.bmWidth, bitmap.bmHeight};
|
|
147
154
|
|
|
155
|
+
// Monitor selection and dimensions.
|
|
156
|
+
// spell-checker: ignore HMONITOR,MONITORINFO,MONITOR_DEFAULTTOPRIMARY
|
|
148
157
|
POINT zero = {0};
|
|
149
158
|
HMONITOR handle_monitor = MonitorFromPoint(zero, MONITOR_DEFAULTTOPRIMARY);
|
|
150
159
|
MONITORINFO monitorinfo = {0};
|
|
@@ -156,12 +165,17 @@ HWND createSplashWindow(HBITMAP splash_bitmap) {
|
|
|
156
165
|
ptOrigin.x = monitorinfo.rcWork.left + (monitorinfo.rcWork.right - monitorinfo.rcWork.left - sizeSplash.cx) / 2;
|
|
157
166
|
ptOrigin.y = monitorinfo.rcWork.top + (monitorinfo.rcWork.bottom - monitorinfo.rcWork.top - sizeSplash.cy) / 2;
|
|
158
167
|
|
|
168
|
+
#if _NUITKA_TRACE
|
|
169
|
+
printf("Onefile: Splash screen origin %d %d for sizes %d %d\n", ptOrigin.x, ptOrigin.y, sizeSplash.cx,
|
|
170
|
+
sizeSplash.cy);
|
|
171
|
+
#endif
|
|
159
172
|
// Create a DC with splash bitmap
|
|
160
173
|
HDC handle_screen = GetDC(NULL);
|
|
161
174
|
HDC handle_memory = CreateCompatibleDC(handle_screen);
|
|
162
175
|
HBITMAP handle_old_bitmap = (HBITMAP)SelectObject(handle_memory, splash_bitmap);
|
|
163
176
|
|
|
164
177
|
// Set image alpha channel for blending.
|
|
178
|
+
// spell-checker: ignore BLENDFUNCTION
|
|
165
179
|
BLENDFUNCTION blend = {0};
|
|
166
180
|
blend.BlendOp = AC_SRC_OVER;
|
|
167
181
|
blend.SourceConstantAlpha = 255;
|
|
@@ -183,28 +197,35 @@ static wchar_t splash_indicator_path[4096] = {0};
|
|
|
183
197
|
bool splash_active = false;
|
|
184
198
|
|
|
185
199
|
extern "C" void initSplashScreen(void) {
|
|
200
|
+
NUITKA_PRINT_TIMING("ONEFILE: Initialize splash screen.");
|
|
201
|
+
|
|
186
202
|
CoInitialize(NULL);
|
|
187
203
|
IStream *image_stream = createImageStream();
|
|
188
|
-
if (image_stream == NULL) {
|
|
204
|
+
if (unlikely(image_stream == NULL)) {
|
|
205
|
+
NUITKA_PRINT_TIMING("ONEFILE: Failed to create image stream.");
|
|
189
206
|
return;
|
|
190
207
|
}
|
|
191
208
|
IWICBitmapSource *image_source = getBitmapFromImageStream(image_stream);
|
|
192
209
|
image_stream->Release();
|
|
193
|
-
if (image_source == NULL) {
|
|
210
|
+
if (unlikely(image_source == NULL)) {
|
|
211
|
+
NUITKA_PRINT_TIMING("ONEFILE: Failed to get image source from stream.");
|
|
194
212
|
return;
|
|
195
213
|
}
|
|
196
214
|
HBITMAP splash_bitmap = CreateHBITMAP(image_source);
|
|
197
215
|
image_source->Release();
|
|
198
|
-
if (splash_bitmap == NULL) {
|
|
216
|
+
if (unlikely(splash_bitmap == NULL)) {
|
|
217
|
+
NUITKA_PRINT_TIMING("ONEFILE: Failed to get bitmap.");
|
|
199
218
|
return;
|
|
200
219
|
}
|
|
201
220
|
|
|
202
221
|
splash_window = createSplashWindow(splash_bitmap);
|
|
203
222
|
|
|
223
|
+
// TODO: This probably should be user provided.
|
|
204
224
|
wchar_t const *pattern = L"{TEMP}\\onefile_{PID}_splash_feedback.tmp";
|
|
205
225
|
BOOL bool_res =
|
|
206
226
|
expandTemplatePathW(splash_indicator_path, pattern, sizeof(splash_indicator_path) / sizeof(wchar_t));
|
|
207
|
-
if (bool_res == false) {
|
|
227
|
+
if (unlikely(bool_res == false)) {
|
|
228
|
+
NUITKA_PRINT_TIMING("Failed expand indicator path.");
|
|
208
229
|
return;
|
|
209
230
|
}
|
|
210
231
|
|
|
@@ -218,6 +239,8 @@ extern "C" void initSplashScreen(void) {
|
|
|
218
239
|
}
|
|
219
240
|
|
|
220
241
|
static void closeSplashScreen(void) {
|
|
242
|
+
NUITKA_PRINT_TIMING("ONEFILE: Check splash screen indicator file.");
|
|
243
|
+
|
|
221
244
|
if (splash_window) {
|
|
222
245
|
DestroyWindow(splash_window);
|
|
223
246
|
splash_window = 0;
|
|
@@ -226,6 +249,8 @@ static void closeSplashScreen(void) {
|
|
|
226
249
|
|
|
227
250
|
extern "C" bool checkSplashScreen(void) {
|
|
228
251
|
if (splash_active) {
|
|
252
|
+
NUITKA_PRINT_TIMING("ONEFILE: Check splash screen indicator file.");
|
|
253
|
+
|
|
229
254
|
if (!PathFileExistsW(splash_indicator_path)) {
|
|
230
255
|
closeSplashScreen();
|
|
231
256
|
splash_active = false;
|
nuitka/freezer/DependsExe.py
CHANGED
|
@@ -9,6 +9,7 @@ We use depends.exe to investigate needed DLLs of Python DLLs.
|
|
|
9
9
|
|
|
10
10
|
import os
|
|
11
11
|
|
|
12
|
+
from nuitka.__past__ import WindowsError
|
|
12
13
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
13
14
|
from nuitka.Options import assumeYesForDownloads
|
|
14
15
|
from nuitka.Tracing import inclusion_logger
|
|
@@ -132,7 +133,13 @@ def _parseDependsExeOutput2(lines):
|
|
|
132
133
|
continue
|
|
133
134
|
|
|
134
135
|
dll_filename = os.path.abspath(dll_filename)
|
|
135
|
-
|
|
136
|
+
|
|
137
|
+
# Ignore errors trying to resolve the filename. Sometimes Chinese
|
|
138
|
+
# directory paths do not resolve to long filenames.
|
|
139
|
+
try:
|
|
140
|
+
dll_filename = getWindowsLongPathName(dll_filename)
|
|
141
|
+
except WindowsError:
|
|
142
|
+
pass
|
|
136
143
|
|
|
137
144
|
dll_name = os.path.basename(dll_filename)
|
|
138
145
|
|
|
@@ -16,6 +16,7 @@ from nuitka.PythonVersions import python_version
|
|
|
16
16
|
from nuitka.Tracing import inclusion_logger
|
|
17
17
|
from nuitka.utils.FileOperations import (
|
|
18
18
|
areSamePaths,
|
|
19
|
+
changeFilenameExtension,
|
|
19
20
|
getReportPath,
|
|
20
21
|
isFilenameBelowPath,
|
|
21
22
|
)
|
|
@@ -144,6 +145,9 @@ def _getNonVersionedDllFilenames2(filename):
|
|
|
144
145
|
if getArchitecture() == "arm64":
|
|
145
146
|
yield match.group(1) + "_arm64.dylib"
|
|
146
147
|
|
|
148
|
+
if filename.endswith(".so"):
|
|
149
|
+
yield changeFilenameExtension(filename, ".dylib")
|
|
150
|
+
|
|
147
151
|
|
|
148
152
|
def _getNonVersionedDllFilenames(dll_filename, package_name):
|
|
149
153
|
for filename in _getNonVersionedDllFilenames2(dll_filename):
|
|
@@ -257,30 +261,39 @@ def _resolveBinaryPathDLLsMacOS(
|
|
|
257
261
|
break
|
|
258
262
|
|
|
259
263
|
# Sometimes self-dependencies are on a numbered version, but deployed is
|
|
260
|
-
# one version without it.
|
|
264
|
+
# one version without it. Also be tolerant about changing suffixes
|
|
265
|
+
# internally. The macOS just ignores that, and so we do.
|
|
261
266
|
if not os.path.exists(resolved_path):
|
|
262
267
|
if os.path.basename(resolved_path) == os.path.basename(binary_filename):
|
|
263
268
|
resolved_path = binary_filename
|
|
264
269
|
else:
|
|
265
|
-
|
|
270
|
+
for suffix1, suffix2 in (
|
|
271
|
+
(".dylib", ".dylib"),
|
|
272
|
+
(".so", ".so"),
|
|
273
|
+
(".dylib", ".so"),
|
|
274
|
+
(".so", ".dylib"),
|
|
275
|
+
):
|
|
276
|
+
pattern = r"^(.*?)(\.\d+)*%s$" % re.escape(suffix1)
|
|
266
277
|
|
|
267
|
-
|
|
268
|
-
candidate = match.group(1) + ".dylib"
|
|
278
|
+
match = re.match(pattern, resolved_path)
|
|
269
279
|
|
|
270
|
-
if
|
|
271
|
-
|
|
272
|
-
else:
|
|
273
|
-
candidate = os.path.join(
|
|
274
|
-
original_dir, os.path.basename(candidate)
|
|
275
|
-
)
|
|
280
|
+
if match:
|
|
281
|
+
candidate = match.group(1) + suffix2
|
|
276
282
|
|
|
277
283
|
if os.path.exists(candidate):
|
|
278
284
|
resolved_path = candidate
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
285
|
+
else:
|
|
286
|
+
candidate = os.path.join(
|
|
287
|
+
original_dir, os.path.basename(candidate)
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
if os.path.exists(candidate):
|
|
291
|
+
resolved_path = candidate
|
|
292
|
+
elif os.path.basename(candidate) == os.path.basename(
|
|
293
|
+
binary_filename
|
|
294
|
+
):
|
|
295
|
+
# Versioned dependency on itself in non-existent path.
|
|
296
|
+
resolved_path = binary_filename
|
|
284
297
|
|
|
285
298
|
if not os.path.exists(resolved_path):
|
|
286
299
|
acceptable, plugin_name = Plugins.isAcceptableMissingDLL(
|
|
@@ -35,6 +35,7 @@ from nuitka.utils.FileOperations import (
|
|
|
35
35
|
getFileList,
|
|
36
36
|
getFilenameExtension,
|
|
37
37
|
getFileSize,
|
|
38
|
+
getNormalizedPath,
|
|
38
39
|
isFilenameBelowPath,
|
|
39
40
|
isLegalPath,
|
|
40
41
|
isRelativePath,
|
|
@@ -98,9 +99,9 @@ class IncludedDataFile(object):
|
|
|
98
99
|
|
|
99
100
|
self.kind = kind
|
|
100
101
|
self.source_path = source_path
|
|
101
|
-
self.dest_path =
|
|
102
|
+
self.dest_path = getNormalizedPath(dest_path)
|
|
102
103
|
|
|
103
|
-
is_legal, illegal_reason = isLegalPath(dest_path)
|
|
104
|
+
is_legal, illegal_reason = isLegalPath(self.dest_path)
|
|
104
105
|
if not is_legal:
|
|
105
106
|
general.sysexit(
|
|
106
107
|
"Error, cannot add data file with '%s' path, as '%s'"
|
nuitka/freezer/Standalone.py
CHANGED
|
@@ -32,6 +32,7 @@ from nuitka.PythonFlavors import (
|
|
|
32
32
|
getHomebrewInstallPath,
|
|
33
33
|
isAnacondaPython,
|
|
34
34
|
isHomebrewPython,
|
|
35
|
+
isMSYS2MingwPython,
|
|
35
36
|
)
|
|
36
37
|
from nuitka.PythonVersions import getSystemPrefixPath
|
|
37
38
|
from nuitka.Tracing import general, inclusion_logger
|
|
@@ -236,6 +237,9 @@ def _reduceToPythonPath(used_dlls):
|
|
|
236
237
|
if isHomebrewPython():
|
|
237
238
|
inside_paths.insert(0, getHomebrewInstallPath())
|
|
238
239
|
|
|
240
|
+
if isMSYS2MingwPython():
|
|
241
|
+
inside_paths.insert(0, os.path.join(getSystemPrefixPath(), "bin"))
|
|
242
|
+
|
|
239
243
|
def decideInside(dll_filename):
|
|
240
244
|
return any(
|
|
241
245
|
isFilenameBelowPath(path=inside_path, filename=dll_filename)
|
|
@@ -165,6 +165,10 @@ def resolveModuleName(module_name):
|
|
|
165
165
|
return module_name.relocateModuleNamespace(
|
|
166
166
|
"importlib_resources", "importlib.resources"
|
|
167
167
|
)
|
|
168
|
+
elif module_name.hasNamespace("tensorflow.keras"):
|
|
169
|
+
return module_name.relocateModuleNamespace(
|
|
170
|
+
"tensorflow.keras", "keras._tf_keras.keras"
|
|
171
|
+
)
|
|
168
172
|
else:
|
|
169
173
|
return module_name
|
|
170
174
|
|
|
@@ -173,14 +173,17 @@
|
|
|
173
173
|
- depends:
|
|
174
174
|
- 'apt_pkg'
|
|
175
175
|
|
|
176
|
-
- module-name: 'arcade' # checksum:
|
|
176
|
+
- module-name: 'arcade' # checksum: d7d0718b
|
|
177
177
|
data-files:
|
|
178
178
|
- dirs:
|
|
179
179
|
- 'resources/system'
|
|
180
|
+
- patterns:
|
|
181
|
+
- 'VERSION'
|
|
180
182
|
anti-bloat:
|
|
181
183
|
- no-auto-follow:
|
|
182
|
-
'examples': 'Arcade examples are not
|
|
183
|
-
'experimental': 'Experimental features of Arcade will not be available unless you do "--include-module=
|
|
184
|
+
'examples': 'Arcade examples are not available unless you do "--include-module=arcade.examples"'
|
|
185
|
+
'experimental': 'Experimental features of Arcade will not be available unless you do "--include-module=arcade.experimental"'
|
|
186
|
+
'future': 'Upcoming features of Arcade will not be available unless you do "--include-module=arcade.future"'
|
|
184
187
|
|
|
185
188
|
- module-name: 'aspose' # checksum: 1ffc48f1
|
|
186
189
|
data-files:
|
|
@@ -1118,18 +1121,18 @@
|
|
|
1118
1121
|
- dirs:
|
|
1119
1122
|
- 'locale/en'
|
|
1120
1123
|
|
|
1121
|
-
- module-name: 'django.core.management' # checksum:
|
|
1124
|
+
- module-name: 'django.core.management' # checksum: 18979466
|
|
1122
1125
|
parameters:
|
|
1123
1126
|
- 'name': 'settings-module'
|
|
1124
1127
|
'values': 'checkModuleName(value)'
|
|
1125
1128
|
variables:
|
|
1126
1129
|
setup_code:
|
|
1127
1130
|
- 'import os, importlib'
|
|
1128
|
-
- 'settings = importlib.import_module(os.getenv("PARAMETER_SETTINGS_MODULE"))'
|
|
1131
|
+
- 'settings = importlib.import_module(os.getenv("PARAMETER_SETTINGS_MODULE")) if os.getenv("PARAMETER_SETTINGS_MODULE") else None'
|
|
1129
1132
|
declarations:
|
|
1130
|
-
'django_installed_apps': 'settings.INSTALLED_APPS'
|
|
1133
|
+
'django_installed_apps': 'settings.INSTALLED_APPS if settings else ()'
|
|
1131
1134
|
environment:
|
|
1132
|
-
'PARAMETER_SETTINGS_MODULE': 'get_parameter("settings-module",
|
|
1135
|
+
'PARAMETER_SETTINGS_MODULE': 'get_parameter("settings-module", "")'
|
|
1133
1136
|
anti-bloat:
|
|
1134
1137
|
# This makes exceptions to the "*" dependency in the
|
|
1135
1138
|
# implicit-imports section below.
|
|
@@ -1178,6 +1181,12 @@
|
|
|
1178
1181
|
- depends:
|
|
1179
1182
|
- 'django.template.loader_tags'
|
|
1180
1183
|
|
|
1184
|
+
- module-name: 'django.views.debug' # checksum: 466f47d3
|
|
1185
|
+
anti-bloat:
|
|
1186
|
+
- description: 'workaround columns not available from compiled frame execution'
|
|
1187
|
+
replacements_plain:
|
|
1188
|
+
'if PY311:': 'if False:'
|
|
1189
|
+
|
|
1181
1190
|
- module-name: 'dns.rdtypes' # checksum: 119feab4
|
|
1182
1191
|
implicit-imports:
|
|
1183
1192
|
- depends:
|
|
@@ -2072,10 +2081,11 @@
|
|
|
2072
2081
|
- depends:
|
|
2073
2082
|
- 'keyring.backends.*'
|
|
2074
2083
|
|
|
2075
|
-
- module-name: 'keyring.backends.Windows' # checksum:
|
|
2084
|
+
- module-name: 'keyring.backends.Windows' # checksum: a414afda
|
|
2076
2085
|
implicit-imports:
|
|
2077
2086
|
- depends:
|
|
2078
2087
|
- 'win32timezone'
|
|
2088
|
+
- 'win32ctypes.core.ctypes.*'
|
|
2079
2089
|
|
|
2080
2090
|
- module-name: 'kivy' # checksum: 648dc799
|
|
2081
2091
|
data-files:
|
|
@@ -3699,6 +3709,12 @@
|
|
|
3699
3709
|
- description: 'workaround __new__ decorator issue'
|
|
3700
3710
|
append_plain: 'SharedRegistryObject.__new__ = staticmethod(SharedRegistryObject.__new__)'
|
|
3701
3711
|
|
|
3712
|
+
- module-name: 'pip._vendor' # checksum: 49920604
|
|
3713
|
+
anti-bloat:
|
|
3714
|
+
- description: 'allow pydoc inside pip vendored modules'
|
|
3715
|
+
no-auto-follow:
|
|
3716
|
+
'pydoc': 'ignore'
|
|
3717
|
+
|
|
3702
3718
|
- module-name: 'pip._vendor.rich.jupyter' # checksum: b346e77
|
|
3703
3719
|
# See rich.jupyter
|
|
3704
3720
|
anti-bloat:
|
|
@@ -3850,6 +3866,11 @@
|
|
|
3850
3866
|
- 'plyer.platforms.android.*'
|
|
3851
3867
|
when: 'android'
|
|
3852
3868
|
|
|
3869
|
+
- module-name: 'polars' # checksum: d072aa03
|
|
3870
|
+
implicit-imports:
|
|
3871
|
+
- depends:
|
|
3872
|
+
- 'numpy.core.multiarray'
|
|
3873
|
+
|
|
3853
3874
|
- module-name: 'polars.lazyframe.frame' # checksum: e9afa6bc
|
|
3854
3875
|
anti-bloat:
|
|
3855
3876
|
- description: 'remove IPython reference'
|
|
@@ -4047,10 +4068,20 @@
|
|
|
4047
4068
|
- dirs:
|
|
4048
4069
|
- '.'
|
|
4049
4070
|
|
|
4050
|
-
- module-name: 'pygame' # checksum:
|
|
4071
|
+
- module-name: 'pygame' # checksum: face0a9
|
|
4051
4072
|
data-files:
|
|
4052
4073
|
- patterns:
|
|
4053
4074
|
- 'freesansbold.ttf'
|
|
4075
|
+
- patterns:
|
|
4076
|
+
- 'pygame_icon_mac.bmp'
|
|
4077
|
+
when: 'macos'
|
|
4078
|
+
- patterns:
|
|
4079
|
+
- 'pygame_icon.bmp'
|
|
4080
|
+
when: 'not macos'
|
|
4081
|
+
|
|
4082
|
+
implicit-imports:
|
|
4083
|
+
- depends:
|
|
4084
|
+
- 'pygame.*'
|
|
4054
4085
|
|
|
4055
4086
|
options:
|
|
4056
4087
|
checks:
|
|
@@ -4395,7 +4426,7 @@
|
|
|
4395
4426
|
- find-dlls-near-module:
|
|
4396
4427
|
- 'shiboken2'
|
|
4397
4428
|
|
|
4398
|
-
- module-name: 'PySide6' # checksum:
|
|
4429
|
+
- module-name: 'PySide6' # checksum: 219aba79
|
|
4399
4430
|
implicit-imports:
|
|
4400
4431
|
- post-import-code:
|
|
4401
4432
|
- |
|
|
@@ -4448,6 +4479,9 @@
|
|
|
4448
4479
|
- 'libquick3dspatialaudioplugin'
|
|
4449
4480
|
- 'libqtvkbcomponentsplugin'
|
|
4450
4481
|
- 'libqtvkbsettingsplugin'
|
|
4482
|
+
- 'libqsqlodbc'
|
|
4483
|
+
- 'libpq.5'
|
|
4484
|
+
- 'libffmpegmediaplugin'
|
|
4451
4485
|
|
|
4452
4486
|
- module-name: 'PySide6.QtCore' # checksum: be0d99ac
|
|
4453
4487
|
implicit-imports:
|
|
@@ -6296,7 +6330,7 @@
|
|
|
6296
6330
|
'notebook': "'(lambda: None)'"
|
|
6297
6331
|
when: 'not use_ipython'
|
|
6298
6332
|
|
|
6299
|
-
- module-name: 'tensorflow' # checksum:
|
|
6333
|
+
- module-name: 'tensorflow' # checksum: 7bd997cd
|
|
6300
6334
|
dlls:
|
|
6301
6335
|
- from_filenames:
|
|
6302
6336
|
relative_path: 'core/platform'
|
|
@@ -6317,6 +6351,8 @@
|
|
|
6317
6351
|
'from tensorflow._api.v1 import test': 'test = None'
|
|
6318
6352
|
'from ._api.v2 import test': 'test = None'
|
|
6319
6353
|
'from tensorflow._api.v2 import test': 'test = None'
|
|
6354
|
+
replacements:
|
|
6355
|
+
'_os.environ.get("TF_USE_LEGACY_KERAS", None)': 'repr(os.getenv("TF_USE_LEGACY_KERAS", None))'
|
|
6320
6356
|
append_plain: |
|
|
6321
6357
|
import sys
|
|
6322
6358
|
sys.modules["tensorflow.compat"] = compat
|
|
@@ -6336,13 +6372,21 @@
|
|
|
6336
6372
|
- depends:
|
|
6337
6373
|
- 'tensorboard'
|
|
6338
6374
|
- 'tensorflow_estimator'
|
|
6375
|
+
- depends:
|
|
6339
6376
|
- 'keras.api._v2.keras'
|
|
6377
|
+
when: 'version("keras") < (3,)'
|
|
6378
|
+
- depends:
|
|
6379
|
+
- 'keras._tf_keras.keras'
|
|
6380
|
+
when: 'version("keras") >= (3,)'
|
|
6340
6381
|
|
|
6341
6382
|
options:
|
|
6342
6383
|
checks:
|
|
6343
6384
|
- description: "'tensorflow' is not fully supported before version 2.16"
|
|
6344
6385
|
support_info: 'warning'
|
|
6345
6386
|
when: 'version("tensorflow") < (2,16)'
|
|
6387
|
+
- description: "'tensorflow' is not fully supported with legacy keras"
|
|
6388
|
+
support_info: 'warning'
|
|
6389
|
+
when: 'os.getenv("TF_USE_LEGACY_KERAS", None) is not None'
|
|
6346
6390
|
|
|
6347
6391
|
- module-name: 'tensorflow._api.v1.compat.v1' # checksum: 3e84bd8b
|
|
6348
6392
|
anti-bloat:
|
|
@@ -6737,13 +6781,13 @@
|
|
|
6737
6781
|
change_function:
|
|
6738
6782
|
'_copy_fn': "'(lambda fn: fn)'"
|
|
6739
6783
|
|
|
6740
|
-
- module-name: 'tensorflow.python.util.lazy_loader' # checksum:
|
|
6784
|
+
- module-name: 'tensorflow.python.util.lazy_loader' # checksum: b554bf0
|
|
6741
6785
|
anti-bloat:
|
|
6742
6786
|
- description: 'reduce keras usage'
|
|
6743
6787
|
replacements_re:
|
|
6744
6788
|
'(package_name = "(.*?)")': '\1; import \2'
|
|
6745
6789
|
replacements:
|
|
6746
|
-
'os.environ.get("TF_USE_LEGACY_KERAS", None)': 'repr(os.
|
|
6790
|
+
'os.environ.get("TF_USE_LEGACY_KERAS", None)': 'repr(os.getenv("TF_USE_LEGACY_KERAS", None))'
|
|
6747
6791
|
'keras.__version__': 'repr(version_str("keras"))'
|
|
6748
6792
|
|
|
6749
6793
|
- module-name: 'tensorflow.python.util.tf_inspect' # checksum: 8e3a3cbf
|
|
@@ -6874,6 +6918,16 @@
|
|
|
6874
6918
|
- depends:
|
|
6875
6919
|
- 'tiktoken_ext.*'
|
|
6876
6920
|
|
|
6921
|
+
- module-name: 'time_machine' # checksum: b038bd8
|
|
6922
|
+
anti-bloat:
|
|
6923
|
+
- description: 'remove pytest reference'
|
|
6924
|
+
no-auto-follow:
|
|
6925
|
+
'pytest': 'ignore'
|
|
6926
|
+
when: 'not use_pytest'
|
|
6927
|
+
- description: 'allow unittest'
|
|
6928
|
+
bloat-mode-overrides:
|
|
6929
|
+
'unittest': 'allow'
|
|
6930
|
+
|
|
6877
6931
|
- module-name: 'timm.models.hrnet' # checksum: fdbe0e63
|
|
6878
6932
|
anti-bloat:
|
|
6879
6933
|
- replacements_plain:
|
|
@@ -6971,7 +7025,7 @@
|
|
|
6971
7025
|
- include-metadata:
|
|
6972
7026
|
- 'toga-gtk'
|
|
6973
7027
|
|
|
6974
|
-
- module-name: 'toga_winforms' # checksum:
|
|
7028
|
+
- module-name: 'toga_winforms' # checksum: 618ee1e0
|
|
6975
7029
|
data-files:
|
|
6976
7030
|
- dirs:
|
|
6977
7031
|
- 'resources'
|
|
@@ -6979,16 +7033,31 @@
|
|
|
6979
7033
|
- 'toga-winforms'
|
|
6980
7034
|
dlls:
|
|
6981
7035
|
- from_filenames:
|
|
7036
|
+
relative_path: 'libs/WebView2/runtimes/win-arm64/native'
|
|
7037
|
+
prefixes:
|
|
7038
|
+
- 'WebView2Loader'
|
|
7039
|
+
when: 'win32 and arch_arm64'
|
|
7040
|
+
- from_filenames: # older toga_winforms only
|
|
6982
7041
|
relative_path: 'libs/WebView2/arm64'
|
|
6983
7042
|
prefixes:
|
|
6984
7043
|
- 'WebView2Loader'
|
|
6985
7044
|
when: 'win32 and arch_arm64'
|
|
6986
7045
|
- from_filenames:
|
|
7046
|
+
relative_path: 'libs/WebView2/runtimes/win-x86/native'
|
|
7047
|
+
prefixes:
|
|
7048
|
+
- 'WebView2Loader'
|
|
7049
|
+
when: 'win32 and arch_x86'
|
|
7050
|
+
- from_filenames: # older toga_winforms only
|
|
6987
7051
|
relative_path: 'libs/WebView2/x86'
|
|
6988
7052
|
prefixes:
|
|
6989
7053
|
- 'WebView2Loader'
|
|
6990
7054
|
when: 'win32 and arch_x86'
|
|
6991
7055
|
- from_filenames:
|
|
7056
|
+
relative_path: 'libs/WebView2/runtimes/win-x64/native'
|
|
7057
|
+
prefixes:
|
|
7058
|
+
- 'WebView2Loader'
|
|
7059
|
+
when: 'win32 and arch_amd64'
|
|
7060
|
+
- from_filenames: # older toga_winforms only
|
|
6992
7061
|
relative_path: 'libs/WebView2/x64'
|
|
6993
7062
|
prefixes:
|
|
6994
7063
|
- 'WebView2Loader'
|
|
@@ -7582,11 +7651,15 @@
|
|
|
7582
7651
|
'"IPython" in sys.modules': 'False'
|
|
7583
7652
|
when: 'not use_ipython'
|
|
7584
7653
|
|
|
7585
|
-
- module-name: 'trio._core._run' # checksum:
|
|
7654
|
+
- module-name: 'trio._core._run' # checksum: 8aed5b01
|
|
7586
7655
|
anti-bloat:
|
|
7587
7656
|
- description: 'workaround for trio compatibility'
|
|
7588
7657
|
replacements_plain:
|
|
7589
7658
|
'coro.cr_frame.f_locals.setdefault(LOCALS_KEY_KI_PROTECTION_ENABLED, system_task)': ''
|
|
7659
|
+
- description: 'workaround for trio compatibility'
|
|
7660
|
+
replacements_plain:
|
|
7661
|
+
'assert coro.cr_frame is not None, "Coroutine frame should exist"': ''
|
|
7662
|
+
when: 'version("trio") >= (0,26,1)'
|
|
7590
7663
|
|
|
7591
7664
|
- module-name: 'tsdownsample._rust' # checksum: d072aa03
|
|
7592
7665
|
implicit-imports:
|
nuitka/reports/Reports.py
CHANGED
|
@@ -205,6 +205,9 @@ def _getReportInputData(aborted):
|
|
|
205
205
|
os_name = getOS()
|
|
206
206
|
arch_name = getArchitecture()
|
|
207
207
|
|
|
208
|
+
# Record system encoding, spell-checker: ignore getfilesystemencoding
|
|
209
|
+
filesystem_encoding = sys.getfilesystemencoding()
|
|
210
|
+
|
|
208
211
|
if isWin32OrPosixWindows():
|
|
209
212
|
os_release = str(getWindowsRelease())
|
|
210
213
|
elif isLinux():
|
|
@@ -712,6 +715,7 @@ def writeCompilationReport(report_filename, report_input_data, diffable):
|
|
|
712
715
|
os_name=report_input_data["os_name"],
|
|
713
716
|
os_release=report_input_data["os_release"],
|
|
714
717
|
arch_name=report_input_data["arch_name"],
|
|
718
|
+
filesystem_encoding=report_input_data["filesystem_encoding"],
|
|
715
719
|
)
|
|
716
720
|
|
|
717
721
|
search_path = getPackageSearchPath(None)
|
nuitka/tools/testing/Common.py
CHANGED
|
@@ -593,7 +593,7 @@ def snapObjRefCntMap(before):
|
|
|
593
593
|
k = "str_overload_" + x.__class__.__name__ + str(x)
|
|
594
594
|
elif type(x) is dict:
|
|
595
595
|
if "__builtins__" in x:
|
|
596
|
-
k = "<module dict %s>" % x
|
|
596
|
+
k = "<module dict %s>" % x.get("__name__", "<maybe not a module>")
|
|
597
597
|
elif "__spec__" in x and "__name__" in x:
|
|
598
598
|
k = "<module dict %s>" % x["__name__"]
|
|
599
599
|
else:
|
nuitka/utils/FileOperations.py
CHANGED
|
@@ -101,8 +101,8 @@ def areSamePaths(path1, path2):
|
|
|
101
101
|
if path1 == path2:
|
|
102
102
|
return True
|
|
103
103
|
|
|
104
|
-
path1 = os.path.abspath(
|
|
105
|
-
path2 = os.path.abspath(
|
|
104
|
+
path1 = os.path.abspath(getNormalizedPath(path1))
|
|
105
|
+
path2 = os.path.abspath(getNormalizedPath(path2))
|
|
106
106
|
|
|
107
107
|
if os.path.exists(path1) and os.path.exists(path2):
|
|
108
108
|
path1 = getExternalUsePath(path1)
|
|
@@ -1533,6 +1533,18 @@ def getParentDirectories(path):
|
|
|
1533
1533
|
yield path
|
|
1534
1534
|
|
|
1535
1535
|
|
|
1536
|
+
def getNormalizedPath(path):
|
|
1537
|
+
"""Return normalized path that is also a native path, i.e. only legal characters.
|
|
1538
|
+
|
|
1539
|
+
Needed, because MSYS2 likes to keep "/" in normalized paths.
|
|
1540
|
+
"""
|
|
1541
|
+
path = os.path.normpath(path)
|
|
1542
|
+
if isWin32Windows():
|
|
1543
|
+
path = path.replace("/", "\\")
|
|
1544
|
+
|
|
1545
|
+
return path
|
|
1546
|
+
|
|
1547
|
+
|
|
1536
1548
|
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1537
1549
|
# integrates with CPython, but also works on its own.
|
|
1538
1550
|
#
|
nuitka/utils/Utils.py
CHANGED
|
@@ -128,6 +128,22 @@ def getWindowsRelease():
|
|
|
128
128
|
if not isWin32OrPosixWindows():
|
|
129
129
|
return None
|
|
130
130
|
|
|
131
|
+
if isPosixWindows():
|
|
132
|
+
from .FileOperations import getFileContents
|
|
133
|
+
|
|
134
|
+
build_number = int(
|
|
135
|
+
getFileContents("/proc/version").split(" ")[0].rsplit("-")[-1]
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
if build_number >= 21996:
|
|
139
|
+
return 11
|
|
140
|
+
elif build_number >= 10240:
|
|
141
|
+
return 10
|
|
142
|
+
elif build_number >= 9200:
|
|
143
|
+
return 8
|
|
144
|
+
else:
|
|
145
|
+
return 7
|
|
146
|
+
|
|
131
147
|
class OsVersionInfoEx(ctypes.Structure):
|
|
132
148
|
_fields_ = [
|
|
133
149
|
("dwOSVersionInfoSize", ctypes.c_ulong),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|