Nuitka-winsvc 2.1__cp311-cp311-win_amd64.whl → 2.1.2__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.1.dist-info → Nuitka_winsvc-2.1.2.dist-info}/METADATA +1 -1
- {Nuitka_winsvc-2.1.dist-info → Nuitka_winsvc-2.1.2.dist-info}/RECORD +25 -25
- {Nuitka_winsvc-2.1.dist-info → Nuitka_winsvc-2.1.2.dist-info}/WHEEL +1 -1
- nuitka/OptionParsing.py +1 -0
- nuitka/Options.py +18 -1
- nuitka/Version.py +1 -1
- nuitka/build/Backend.scons +3 -0
- nuitka/build/SconsCompilerSettings.py +1 -1
- nuitka/build/static_src/HelpersFilesystemPaths.c +1 -1
- nuitka/nodes/ChildrenHavingMixins.py +40 -36
- nuitka/nodes/HardImportNodesGenerated.py +14 -14
- nuitka/nodes/ListOperationNodes.py +14 -4
- nuitka/plugins/PluginBase.py +18 -2
- nuitka/plugins/Plugins.py +13 -0
- nuitka/plugins/standard/AntiBloatPlugin.py +60 -0
- nuitka/plugins/standard/standard.nuitka-package.config.yml +92 -3
- nuitka/specs/HardImportSpecs.py +2 -2
- nuitka/tree/ReformulationClasses.py +5 -0
- nuitka/tree/ReformulationClasses3.py +5 -0
- nuitka/tree/ReformulationFunctionStatements.py +1 -1
- {Nuitka_winsvc-2.1.data → Nuitka_winsvc-2.1.2.data}/scripts/nuitka-run.bat +0 -0
- {Nuitka_winsvc-2.1.data → Nuitka_winsvc-2.1.2.data}/scripts/nuitka.bat +0 -0
- {Nuitka_winsvc-2.1.dist-info → Nuitka_winsvc-2.1.2.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.1.dist-info → Nuitka_winsvc-2.1.2.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.1.dist-info → Nuitka_winsvc-2.1.2.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
Nuitka_winsvc-2.1.data/scripts/nuitka-run.bat,sha256=zzCZ6CymZcBcI_BMB1RwNIegL0JcACGwKTMeIW-aaOU,924
|
|
2
|
-
Nuitka_winsvc-2.1.data/scripts/nuitka.bat,sha256=G-3yCOmURvmaYtciOLW4cMRGEcutzcsea4qDJqfezg0,1061
|
|
1
|
+
Nuitka_winsvc-2.1.2.data/scripts/nuitka-run.bat,sha256=zzCZ6CymZcBcI_BMB1RwNIegL0JcACGwKTMeIW-aaOU,924
|
|
2
|
+
Nuitka_winsvc-2.1.2.data/scripts/nuitka.bat,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=7kFpFEWpyL9clv1LIHtIhYPJi0psItCcn0RYf4paEuA,3800
|
|
@@ -9,8 +9,8 @@ nuitka/Errors.py,sha256=cUzzWhvemFoumoYpBDacJSydfDivm-rweWVXk2ELUVo,2479
|
|
|
9
9
|
nuitka/HardImportRegistry.py,sha256=mquDn6znusONCBZkd1qSSIIseNG2B9EWc62AWIZ0ufQ,10335
|
|
10
10
|
nuitka/MainControl.py,sha256=MpUcKFw16tiXmOKtrnLArHNlp3XEjinQjwalK7Ozp1Q,38348
|
|
11
11
|
nuitka/ModuleRegistry.py,sha256=lIElF9BCVa2JmmhsBjyjAt6MSFo2vusJ71RUrkaMAQo,8616
|
|
12
|
-
nuitka/OptionParsing.py,sha256=
|
|
13
|
-
nuitka/Options.py,sha256=
|
|
12
|
+
nuitka/OptionParsing.py,sha256=wTecTFl-o0ele9vHSSxB64Qz-NNtCmjPmE3SfZbMQtI,63838
|
|
13
|
+
nuitka/Options.py,sha256=bNDx2h_ZNHTU7bO-9e2hyFyZrDBMeMHOKoXoYViPnPc,75543
|
|
14
14
|
nuitka/OutputDirectories.py,sha256=7hM8zVNoclTVup6StkxUuhRJ8IEHjhaKXX3lb03BmcY,5276
|
|
15
15
|
nuitka/PostProcessing.py,sha256=8IeVz3GNx4OkgEaP2HALSbZi1bFdaIicioD10l5_n3o,14940
|
|
16
16
|
nuitka/Progress.py,sha256=0QQ0cHSBMz5FNxUTPZrT4cyKfuryuDLeMPloCFWsABI,6797
|
|
@@ -22,16 +22,16 @@ nuitka/SourceCodeReferences.py,sha256=quGcd9Kg3FjYwsSDDv49MWi_Yec2AurRp-cVspo5qq
|
|
|
22
22
|
nuitka/Tracing.py,sha256=7BE6sDP5XmOWzoQnjC05ll2b5i38KLzXr2V5zI4eXX4,13335
|
|
23
23
|
nuitka/TreeXML.py,sha256=SKL4lL6Tcfu7Uetq-KaFo3q0-M18bp6Szc4eMrNwrfw,3513
|
|
24
24
|
nuitka/Variables.py,sha256=53u-p0l58lrBg8nNSYd5DjR3AOGezMayUM7C05vANVM,15470
|
|
25
|
-
nuitka/Version.py,sha256=
|
|
25
|
+
nuitka/Version.py,sha256=dQvWF7kFkUJINi-kD1YFJYUx6Ra9jDMc8z8ngBdTw4M,2466
|
|
26
26
|
nuitka/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
27
27
|
nuitka/__main__.py,sha256=HZFjEt3fdlQLqcreBI6dlUvA53IqQMnZE4Aj5FPwu1s,6373
|
|
28
28
|
nuitka/__past__.py,sha256=x9W6PDKU2SOY2Qbeu5kgiwgJ5edjG4BUPhdA-6qQ7mY,5604
|
|
29
|
-
nuitka/build/Backend.scons,sha256=
|
|
29
|
+
nuitka/build/Backend.scons,sha256=Xhkxbu8Wsng1ASAdz7V2plQhJqlkmggVftJaV4qf2iI,36393
|
|
30
30
|
nuitka/build/CCompilerVersion.scons,sha256=P4bFT3Xc_ORfFaH2IcQIvduz6gSye9_k4WvF6RZ__BA,8583
|
|
31
31
|
nuitka/build/DataComposerInterface.py,sha256=XZZgCwU4xSn6wSJ-Lgt6iHJV0vSqAslL_5ncwfNe-ic,3485
|
|
32
32
|
nuitka/build/Onefile.scons,sha256=Ubt31a-dIugMRtAzR55EDKi2A7AuU6Q0DqVFfkC4qMU,17770
|
|
33
33
|
nuitka/build/SconsCaching.py,sha256=BuISUUKE_HYgi6rIfH9z1OdoLyBZMB9FwaiNqGZCrnA,14643
|
|
34
|
-
nuitka/build/SconsCompilerSettings.py,sha256=
|
|
34
|
+
nuitka/build/SconsCompilerSettings.py,sha256=FPzJ0Rintu0pV_nFINdvL8w0ew18Z-M-ZQAfbo7AnU4,35449
|
|
35
35
|
nuitka/build/SconsHacks.py,sha256=uK_fTLqNrRwC6G6JJDsRoHhJxST13EmObiApOdeAvxo,5592
|
|
36
36
|
nuitka/build/SconsInterface.py,sha256=_RUO06b97KtcH1w9rT48TFqQfKyuL4Yke2E1C-sgj84,15933
|
|
37
37
|
nuitka/build/SconsProgress.py,sha256=KoJDqgKxDRPjX00rB9a48YIij_oA1dwobBD1LMCpJ9k,2704
|
|
@@ -426,7 +426,7 @@ nuitka/build/static_src/HelpersEnvironmentVariables.c,sha256=NFeGsWd6Z8TgvtbAWAI
|
|
|
426
426
|
nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c,sha256=gH3eizvT_9-hagDwFkHl5I2lxxIVa4G7GQkRJQSY7yY,2979
|
|
427
427
|
nuitka/build/static_src/HelpersExceptions.c,sha256=LF_wD4iuiBxOJ4knEQlaMsXU6u7e6CsdjM0JiLPSURM,7145
|
|
428
428
|
nuitka/build/static_src/HelpersFiles.c,sha256=th2W88Qgfz7BtYVx-J273JS74mavLFyHxJDv-O4RTWA,8018
|
|
429
|
-
nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=
|
|
429
|
+
nuitka/build/static_src/HelpersFilesystemPaths.c,sha256=b9guvQ9KsV5I0xEt8dP7RxavXmXDeXnsTWY1Q7gIJic,28522
|
|
430
430
|
nuitka/build/static_src/HelpersFloats.c,sha256=prn_PJ6OW408oVNSuRAVgUBeGh_6VmLcbImrpm_LmTQ,2455
|
|
431
431
|
nuitka/build/static_src/HelpersHeapStorage.c,sha256=MAnXlbBSrKR5hMBqEQnNOUfcDS7v0rhxcC7awaFUErw,1803
|
|
432
432
|
nuitka/build/static_src/HelpersImport.c,sha256=By3gv6XUaX6V5WeGuW11s3OJ-Q404hngLaQW4dVDU-o,16080
|
|
@@ -664,7 +664,7 @@ nuitka/nodes/BuiltinVarsNodes.py,sha256=RkrKib7Ygr_L-mq09diqZJW74zTEE0Y0bify-Z6u
|
|
|
664
664
|
nuitka/nodes/BytesNodes.py,sha256=JYrm3F11R1fQVRtT8-eV2QJakKuEuRVBxuKvURrF01Y,26146
|
|
665
665
|
nuitka/nodes/CallNodes.py,sha256=S-SvC_IVCoXVLk2HLvdkHoecB03LxyZONLY8-e5S4nc,6511
|
|
666
666
|
nuitka/nodes/Checkers.py,sha256=i4FL0EcahEtf169sHDZkpxzNQIXINpkK6EbTdaQR_Bw,1583
|
|
667
|
-
nuitka/nodes/ChildrenHavingMixins.py,sha256=
|
|
667
|
+
nuitka/nodes/ChildrenHavingMixins.py,sha256=OtGSHp4QgLVsuBg-TWakaBuZIy0fWZw5CDlBLWHkwTs,623739
|
|
668
668
|
nuitka/nodes/ClassNodes.py,sha256=gIysDUklMchPXsc-59A7e6PlvemStLBA4Ci8jFimSlQ,8480
|
|
669
669
|
nuitka/nodes/CodeObjectSpecs.py,sha256=I2_1sQORK__fCHgl_40kC2mpPz_s82b38OV4M1nYfqg,6618
|
|
670
670
|
nuitka/nodes/ComparisonNodes.py,sha256=JQEDvKGxrJqesdRnOap4ebKnEuy4ilU3MuPEKglsDjE,21716
|
|
@@ -686,14 +686,14 @@ nuitka/nodes/FunctionNodes.py,sha256=8vZ4PziTPsxlySLXO3lQ_moLczZBWTiAzvcUDKPi4uk
|
|
|
686
686
|
nuitka/nodes/FutureSpecs.py,sha256=8rsck2a_LnIPcCIA4d0rkf2RAqohyKtrIdsaeUtPHXc,5409
|
|
687
687
|
nuitka/nodes/GeneratorNodes.py,sha256=wRwqfq1BrDzFTqpfw_2DOyoFYAYsmqrxEHY2QkP_n_U,6288
|
|
688
688
|
nuitka/nodes/GlobalsLocalsNodes.py,sha256=bQaNhza9V0xNVomMa5F0PJO_laD6erV7HM3ex_665O8,6883
|
|
689
|
-
nuitka/nodes/HardImportNodesGenerated.py,sha256=
|
|
689
|
+
nuitka/nodes/HardImportNodesGenerated.py,sha256=cdJ8xL_CU3fwFAMZi74GQnbZi2qJ3bWFRxkaGflkAG4,92183
|
|
690
690
|
nuitka/nodes/ImportHardNodes.py,sha256=PJIR5wE-F-8s2DK9ugi7AqkX0N9Gb2Rq0YPbtAuCxIY,5378
|
|
691
691
|
nuitka/nodes/ImportNodes.py,sha256=qsBthaVtVvTlFqbzoeMqV5SBgwFju7urDyS_0z2RtUc,47515
|
|
692
692
|
nuitka/nodes/IndicatorMixins.py,sha256=yBNs3ncL27fBu3g-w6YUo-fHwumUTq8wGXKGUNc_MgA,2766
|
|
693
693
|
nuitka/nodes/InjectCNodes.py,sha256=P3Pi9wbRMLHgh01kwx4lSMu-ZeVwRGRoYNwYB-D1nZw,1534
|
|
694
694
|
nuitka/nodes/IterationHandles.py,sha256=VD-oRXuGf_oEJPuqGoETJ3k27AL3SzMO0cCU-Zg45Fc,11519
|
|
695
695
|
nuitka/nodes/KeyValuePairNodes.py,sha256=irsSTfjFFaRjarqr7cs9h6ag1351AisL2gA22KrAcBg,11035
|
|
696
|
-
nuitka/nodes/ListOperationNodes.py,sha256=
|
|
696
|
+
nuitka/nodes/ListOperationNodes.py,sha256=ywxl5vfWoeZHflXa2vZVLqUE0YdBfORgNYpESHaXNaM,16821
|
|
697
697
|
nuitka/nodes/LocalsDictNodes.py,sha256=yGvApbnihz818e7yTOncx3ijOsyUGc17LR_oaCd6aak,23177
|
|
698
698
|
nuitka/nodes/LocalsScopes.py,sha256=fFUILJsOHtyKgy37x5dxFsAevv6w_q-Nbbtrb3GfpCM,15007
|
|
699
699
|
nuitka/nodes/LoopNodes.py,sha256=nDfUQmWd9mQRFa0NCPEzPWZjsHr4TOolhJSXoAqw5b8,15995
|
|
@@ -744,10 +744,10 @@ nuitka/optimizations/ValueTraces.py,sha256=m_d8JbsGWFbnxuV58sOPVPtnU-Rh6Br3pAAtA
|
|
|
744
744
|
nuitka/optimizations/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
745
745
|
nuitka/pgo/PGO.py,sha256=9oSnX1hXeuECPOujz4vadlGI6-wFYICWjdTBrE04G9c,4932
|
|
746
746
|
nuitka/pgo/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
747
|
-
nuitka/plugins/PluginBase.py,sha256=
|
|
748
|
-
nuitka/plugins/Plugins.py,sha256=
|
|
747
|
+
nuitka/plugins/PluginBase.py,sha256=I1hCNChRqMJCzXCBcU0wQTYizXRL3LRFljQ5vNR582Q,56620
|
|
748
|
+
nuitka/plugins/Plugins.py,sha256=6wOakwXv24G0rnvEyzafZF5xLT84Y_gx5fp5ToOwxEI,59723
|
|
749
749
|
nuitka/plugins/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
750
|
-
nuitka/plugins/standard/AntiBloatPlugin.py,sha256=
|
|
750
|
+
nuitka/plugins/standard/AntiBloatPlugin.py,sha256=cgEC5sM5yXVBnScn7kXvq_wIxrNP8HoGqJ6I2aQ52hg,30408
|
|
751
751
|
nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py,sha256=wcMzzFP5rOcJAaJCR-nB4lE76gTiU_iUZj_2O6Y4uvc,3510
|
|
752
752
|
nuitka/plugins/standard/DataFilesPlugin.py,sha256=EKpn58Sr6tQjeAr31t8V3HNGk5KuSWoXYjhEyEXp0eo,10754
|
|
753
753
|
nuitka/plugins/standard/DelvewheelPlugin.py,sha256=LMH36X8CWgimaIOQU224JTnH75XHchmWt1P30_CbgRE,5080
|
|
@@ -776,7 +776,7 @@ nuitka/plugins/standard/TransformersPlugin.py,sha256=9MAbtousSksrIzHbYjW-UPlsIXf
|
|
|
776
776
|
nuitka/plugins/standard/TrioPlugin.py,sha256=5tIrmbLsuEn_koP4S9F2CuOEw6kyAQ7NyOESPtsF54Q,1106
|
|
777
777
|
nuitka/plugins/standard/UpxPlugin.py,sha256=1I3WouiEmKQAvTkzhgmJ2FRjDKHC0oH9onENntmFphg,5668
|
|
778
778
|
nuitka/plugins/standard/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
779
|
-
nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=
|
|
779
|
+
nuitka/plugins/standard/standard.nuitka-package.config.yml,sha256=gy8K_06zqP3krWX4gTcm5kjM7_cEKEusJLKZWcjpwyc,226505
|
|
780
780
|
nuitka/plugins/standard/stdlib2.nuitka-package.config.yml,sha256=AUjtaX5pUWpvPru9WiTjvKDFeISY4XXv-UDO25MdrAM,2352
|
|
781
781
|
nuitka/plugins/standard/stdlib3.nuitka-package.config.yml,sha256=Y_vbnb_R_q3sHjtUUgOkxpIi1cBaS9DAX38gTb7yk68,12392
|
|
782
782
|
nuitka/plugins/standard/DillPlugin/DillPlugin.c,sha256=XEr9N_2U2vKOEhTnth3UyIHTYowgKWfin_8jS1jaMXA,1646
|
|
@@ -792,7 +792,7 @@ nuitka/specs/BuiltinParameterSpecs.py,sha256=7fYP8LHP5aCNJ9358tcun_H2Y-XtmQIlSf3
|
|
|
792
792
|
nuitka/specs/BuiltinStrOperationSpecs.py,sha256=zDJ0Z8DFfV-QlcwrWrVENx2WuwAll3-CpB8cyy7eDgk,6097
|
|
793
793
|
nuitka/specs/BuiltinTypeOperationSpecs.py,sha256=gcs9lJsvHii18cm4JRPtxt-Vu4OcpT0VZJI2Rg-DEoI,1191
|
|
794
794
|
nuitka/specs/BuiltinUnicodeOperationSpecs.py,sha256=p5a85dVfXss-L6T6RT-TZVDaLEXHGrzM3dcMFdYKlCA,4834
|
|
795
|
-
nuitka/specs/HardImportSpecs.py,sha256=
|
|
795
|
+
nuitka/specs/HardImportSpecs.py,sha256=H4MnxblrvcJt3q56Be_i7UGzjW9wlwoOtbfti8xH39c,6244
|
|
796
796
|
nuitka/specs/ParameterSpecs.py,sha256=NT568dEyAh0q3OIcQG-Cp30jvcOXgDG5NMzhIC3_LGo,18739
|
|
797
797
|
nuitka/specs/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
798
798
|
nuitka/tools/Basics.py,sha256=eMdww3pftA7TqRA5NGfn-_ys-Uha08rsuzRjrelrB2Y,1631
|
|
@@ -855,14 +855,14 @@ nuitka/tree/ReformulationAssertStatements.py,sha256=QLHdt3hn0BSD5AmDNIBrqHyafQZT
|
|
|
855
855
|
nuitka/tree/ReformulationAssignmentStatements.py,sha256=hB0gs9-MhCaev_dkaTJQIG5TObgh8ObXxnyw1R5jh24,43101
|
|
856
856
|
nuitka/tree/ReformulationBooleanExpressions.py,sha256=CDr39t7MMCapxVOi7K1KMZ15ixfK3yeylVffZpCuHOI,2981
|
|
857
857
|
nuitka/tree/ReformulationCallExpressions.py,sha256=dLZl54nxTaliwwbz1PhUUutUqCMsfDCkl83Qcl9ClBQ,11746
|
|
858
|
-
nuitka/tree/ReformulationClasses.py,sha256=
|
|
859
|
-
nuitka/tree/ReformulationClasses3.py,sha256=
|
|
858
|
+
nuitka/tree/ReformulationClasses.py,sha256=zDr3V159pyeBiJxUg7hkpXNZ2CjUeBJTw9mZmRC6DP8,15446
|
|
859
|
+
nuitka/tree/ReformulationClasses3.py,sha256=HV2rrWaneRDa-u3PyFNhvKApOVH4GiUxSGD6DR9SRVA,38235
|
|
860
860
|
nuitka/tree/ReformulationComparisonExpressions.py,sha256=uBs7JGSndDEGqqe4aZra4kkcyOwPCKttYOP16TKCbUo,6523
|
|
861
861
|
nuitka/tree/ReformulationContractionExpressions.py,sha256=1i82b0xbEvRec63KRfRHYBGOkWRMsab5vNKlQrEvN9s,22175
|
|
862
862
|
nuitka/tree/ReformulationDictionaryCreation.py,sha256=ij6RTNUZcSA5VBWtKtC28Xumz-lF-eUdY8TZcaMwbuc,11196
|
|
863
863
|
nuitka/tree/ReformulationExecStatements.py,sha256=OKybT_3sSuXlJt9lSD8Essnx1emdXvEtMRHShOc5Nak,14757
|
|
864
864
|
nuitka/tree/ReformulationForLoopStatements.py,sha256=krTj7wRiWATItXOFvm1U141vOcVXBav2Kez577E0l-w,7858
|
|
865
|
-
nuitka/tree/ReformulationFunctionStatements.py,sha256=
|
|
865
|
+
nuitka/tree/ReformulationFunctionStatements.py,sha256=XOjKCX4U02VPeWm56zA0Bf5T5nzvfRcaI3yglWiFLRs,30821
|
|
866
866
|
nuitka/tree/ReformulationImportStatements.py,sha256=I9Dq_672VD3z67JkOKhg7-K2KR3DG1xld9_NwH3v0b0,14095
|
|
867
867
|
nuitka/tree/ReformulationLambdaExpressions.py,sha256=naZOna60lo_mSpB4f8_7YQ9zlKyXuWoVUJXI76ptXUQ,6630
|
|
868
868
|
nuitka/tree/ReformulationMatchStatements.py,sha256=edIkFvjNOHJAD8igq56B_LAuGaCbOfwjP3d5N7wW-U0,21311
|
|
@@ -912,9 +912,9 @@ nuitka/utils/WindowsFileUsage.py,sha256=UglAr8IbR1IGOysHMEuBUT-tnwF3tTcR80fNGSMl
|
|
|
912
912
|
nuitka/utils/WindowsResources.py,sha256=npt3jbcTgh1M5G6jyEv6uFqiZIf84XEea3wXQ_sXGdM,19837
|
|
913
913
|
nuitka/utils/Yaml.py,sha256=aeYsCj6mM8uYiMSg0TIkVSKsa-8lYzJXmfpbyLRsMi4,7014
|
|
914
914
|
nuitka/utils/__init__.py,sha256=TkW50aBd9haxBi-DXHM71oVA31d5oPeL06ZwuBSkPqo,865
|
|
915
|
-
Nuitka_winsvc-2.1.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
|
|
916
|
-
Nuitka_winsvc-2.1.dist-info/METADATA,sha256=
|
|
917
|
-
Nuitka_winsvc-2.1.dist-info/WHEEL,sha256=
|
|
918
|
-
Nuitka_winsvc-2.1.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
|
|
919
|
-
Nuitka_winsvc-2.1.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
|
|
920
|
-
Nuitka_winsvc-2.1.dist-info/RECORD,,
|
|
915
|
+
Nuitka_winsvc-2.1.2.dist-info/LICENSE.txt,sha256=ZWq74m8T3pVbRFjCBu74q_4GyW11rCqtYB_1vZ4rQ88,11348
|
|
916
|
+
Nuitka_winsvc-2.1.2.dist-info/METADATA,sha256=wl9ord5IYOZht0QyiDZoLFfcM_ybIfIhUB4bf3drjf8,4909
|
|
917
|
+
Nuitka_winsvc-2.1.2.dist-info/WHEEL,sha256=nSybvzWlmdJnHiUQSY-d7V1ycwEVUTqXiTvr2eshg44,102
|
|
918
|
+
Nuitka_winsvc-2.1.2.dist-info/entry_points.txt,sha256=jeBnijqxZ4U0WpNEdtaogpNMNlv5jw8H7yMOsf2isFc,308
|
|
919
|
+
Nuitka_winsvc-2.1.2.dist-info/top_level.txt,sha256=TRrfKxSYukbo1yzTGfwyH7wVzhDpKlwQsLjhIr15yqY,7
|
|
920
|
+
Nuitka_winsvc-2.1.2.dist-info/RECORD,,
|
nuitka/OptionParsing.py
CHANGED
nuitka/Options.py
CHANGED
|
@@ -31,6 +31,7 @@ from nuitka.PythonFlavors import (
|
|
|
31
31
|
getPythonFlavorName,
|
|
32
32
|
isAnacondaPython,
|
|
33
33
|
isApplePython,
|
|
34
|
+
isArchPackagePython,
|
|
34
35
|
isCPythonOfficialPackage,
|
|
35
36
|
isDebianPackagePython,
|
|
36
37
|
isHomebrewPython,
|
|
@@ -962,6 +963,14 @@ release will add it. In the mean time use '%s' instead."""
|
|
|
962
963
|
% getMsvcVersion()
|
|
963
964
|
)
|
|
964
965
|
|
|
966
|
+
try:
|
|
967
|
+
getJobLimit()
|
|
968
|
+
except ValueError:
|
|
969
|
+
Tracing.options_logger.sysexit(
|
|
970
|
+
"For --jobs value, use positive integer values only, not, but not '%s'."
|
|
971
|
+
% options.jobs
|
|
972
|
+
)
|
|
973
|
+
|
|
965
974
|
if isOnefileMode():
|
|
966
975
|
standalone_mode = "onefile"
|
|
967
976
|
elif isStandaloneMode():
|
|
@@ -1501,6 +1510,9 @@ added to provide the static link library.""",
|
|
|
1501
1510
|
if isMacOS() and isCPythonOfficialPackage():
|
|
1502
1511
|
return True, None
|
|
1503
1512
|
|
|
1513
|
+
if isArchPackagePython():
|
|
1514
|
+
return True, None
|
|
1515
|
+
|
|
1504
1516
|
return options.static_libpython == "yes", None
|
|
1505
1517
|
|
|
1506
1518
|
|
|
@@ -1572,7 +1584,12 @@ def getJobLimit():
|
|
|
1572
1584
|
else:
|
|
1573
1585
|
return getCPUCoreCount()
|
|
1574
1586
|
|
|
1575
|
-
|
|
1587
|
+
result = int(options.jobs)
|
|
1588
|
+
|
|
1589
|
+
if result <= 0:
|
|
1590
|
+
raise ValueError(result)
|
|
1591
|
+
|
|
1592
|
+
return result
|
|
1576
1593
|
|
|
1577
1594
|
|
|
1578
1595
|
def getLtoMode():
|
nuitka/Version.py
CHANGED
nuitka/build/Backend.scons
CHANGED
|
@@ -762,6 +762,9 @@ elif not module_mode:
|
|
|
762
762
|
env.Append(LIBS=["expat"])
|
|
763
763
|
|
|
764
764
|
env.Append(LINKFLAGS=["-Xlinker", "-export-dynamic", "-rdynamic"])
|
|
765
|
+
|
|
766
|
+
if env.arch_python:
|
|
767
|
+
env.Append(LINKFLAGS=["-rdynamic"])
|
|
765
768
|
else:
|
|
766
769
|
# Fedora, Debian and Ubuntu distinguish the system libraries like this.
|
|
767
770
|
if (
|
|
@@ -639,7 +639,7 @@ def setupCCompiler(env, lto_mode, pgo_mode, job_count, onefile_compile):
|
|
|
639
639
|
if isMacOS():
|
|
640
640
|
setEnvironmentVariable(env, "MACOSX_DEPLOYMENT_TARGET", env.macos_min_version)
|
|
641
641
|
|
|
642
|
-
target_flag = "--target=%s-
|
|
642
|
+
target_flag = "--target=%s-macos%s" % (
|
|
643
643
|
env.macos_target_arch,
|
|
644
644
|
env.macos_min_version,
|
|
645
645
|
)
|
|
@@ -836,7 +836,7 @@ bool expandTemplatePath(char *target, char const *source, size_t buffer_size) {
|
|
|
836
836
|
char var_name[1024];
|
|
837
837
|
char *w = NULL;
|
|
838
838
|
|
|
839
|
-
bool var_started = false;
|
|
839
|
+
NUITKA_MAY_BE_UNUSED bool var_started = false;
|
|
840
840
|
|
|
841
841
|
while (*source != 0) {
|
|
842
842
|
if (*source == '{') {
|
|
@@ -33,6 +33,7 @@ class ModuleChildrenHavingBodyOptionalStatementsOrNoneFunctionsTupleMixin(object
|
|
|
33
33
|
|
|
34
34
|
# This is generated for use in
|
|
35
35
|
# CompiledPythonModule
|
|
36
|
+
# CompiledPythonNamespacePackage
|
|
36
37
|
# CompiledPythonPackage
|
|
37
38
|
# PythonMainModule
|
|
38
39
|
|
|
@@ -162,6 +163,9 @@ class ModuleChildrenHavingBodyOptionalStatementsOrNoneFunctionsTupleMixin(object
|
|
|
162
163
|
ChildrenCompiledPythonModuleMixin = (
|
|
163
164
|
ModuleChildrenHavingBodyOptionalStatementsOrNoneFunctionsTupleMixin
|
|
164
165
|
)
|
|
166
|
+
ChildrenCompiledPythonNamespacePackageMixin = (
|
|
167
|
+
ModuleChildrenHavingBodyOptionalStatementsOrNoneFunctionsTupleMixin
|
|
168
|
+
)
|
|
165
169
|
ChildrenCompiledPythonPackageMixin = (
|
|
166
170
|
ModuleChildrenHavingBodyOptionalStatementsOrNoneFunctionsTupleMixin
|
|
167
171
|
)
|
|
@@ -11642,7 +11646,7 @@ class ChildrenHavingNameGlobalsArgOptionalLocalsArgOptionalFromlistOptionalLevel
|
|
|
11642
11646
|
ChildrenExpressionBuiltinImportMixin = ChildrenHavingNameGlobalsArgOptionalLocalsArgOptionalFromlistOptionalLevelOptionalMixin
|
|
11643
11647
|
|
|
11644
11648
|
|
|
11645
|
-
class
|
|
11649
|
+
class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalMixin(
|
|
11646
11650
|
object
|
|
11647
11651
|
):
|
|
11648
11652
|
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
@@ -11657,7 +11661,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11657
11661
|
mode,
|
|
11658
11662
|
handle,
|
|
11659
11663
|
use_errno,
|
|
11660
|
-
|
|
11664
|
+
use_last_error,
|
|
11661
11665
|
):
|
|
11662
11666
|
name.parent = self
|
|
11663
11667
|
|
|
@@ -11678,10 +11682,10 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11678
11682
|
|
|
11679
11683
|
self.subnode_use_errno = use_errno
|
|
11680
11684
|
|
|
11681
|
-
if
|
|
11682
|
-
|
|
11685
|
+
if use_last_error is not None:
|
|
11686
|
+
use_last_error.parent = self
|
|
11683
11687
|
|
|
11684
|
-
self.
|
|
11688
|
+
self.subnode_use_last_error = use_last_error
|
|
11685
11689
|
|
|
11686
11690
|
def getVisitableNodes(self):
|
|
11687
11691
|
"""The visitable nodes, with tuple values flattened."""
|
|
@@ -11703,7 +11707,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11703
11707
|
pass
|
|
11704
11708
|
else:
|
|
11705
11709
|
result.append(value)
|
|
11706
|
-
value = self.
|
|
11710
|
+
value = self.subnode_use_last_error
|
|
11707
11711
|
if value is None:
|
|
11708
11712
|
pass
|
|
11709
11713
|
else:
|
|
@@ -11721,7 +11725,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11721
11725
|
("mode", self.subnode_mode),
|
|
11722
11726
|
("handle", self.subnode_handle),
|
|
11723
11727
|
("use_errno", self.subnode_use_errno),
|
|
11724
|
-
("
|
|
11728
|
+
("use_last_error", self.subnode_use_last_error),
|
|
11725
11729
|
)
|
|
11726
11730
|
|
|
11727
11731
|
def replaceChild(self, old_node, new_node):
|
|
@@ -11760,12 +11764,12 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11760
11764
|
|
|
11761
11765
|
return
|
|
11762
11766
|
|
|
11763
|
-
value = self.
|
|
11767
|
+
value = self.subnode_use_last_error
|
|
11764
11768
|
if old_node is value:
|
|
11765
11769
|
if new_node is not None:
|
|
11766
11770
|
new_node.parent = self
|
|
11767
11771
|
|
|
11768
|
-
self.
|
|
11772
|
+
self.subnode_use_last_error = new_node
|
|
11769
11773
|
|
|
11770
11774
|
return
|
|
11771
11775
|
|
|
@@ -11788,8 +11792,8 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11788
11792
|
"use_errno": self.subnode_use_errno.makeClone()
|
|
11789
11793
|
if self.subnode_use_errno is not None
|
|
11790
11794
|
else None,
|
|
11791
|
-
"
|
|
11792
|
-
if self.
|
|
11795
|
+
"use_last_error": self.subnode_use_last_error.makeClone()
|
|
11796
|
+
if self.subnode_use_last_error is not None
|
|
11793
11797
|
else None,
|
|
11794
11798
|
}
|
|
11795
11799
|
|
|
@@ -11811,9 +11815,9 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11811
11815
|
if self.subnode_use_errno is not None:
|
|
11812
11816
|
self.subnode_use_errno.finalize()
|
|
11813
11817
|
del self.subnode_use_errno
|
|
11814
|
-
if self.
|
|
11815
|
-
self.
|
|
11816
|
-
del self.
|
|
11818
|
+
if self.subnode_use_last_error is not None:
|
|
11819
|
+
self.subnode_use_last_error.finalize()
|
|
11820
|
+
del self.subnode_use_last_error
|
|
11817
11821
|
|
|
11818
11822
|
def computeExpressionRaw(self, trace_collection):
|
|
11819
11823
|
"""Compute an expression.
|
|
@@ -11863,17 +11867,17 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11863
11867
|
|
|
11864
11868
|
if subnode_use_errno is not None:
|
|
11865
11869
|
self.subnode_use_errno.collectVariableAccesses(emit_read, emit_write)
|
|
11866
|
-
|
|
11870
|
+
subnode_use_last_error = self.subnode_use_last_error
|
|
11867
11871
|
|
|
11868
|
-
if
|
|
11869
|
-
self.
|
|
11872
|
+
if subnode_use_last_error is not None:
|
|
11873
|
+
self.subnode_use_last_error.collectVariableAccesses(emit_read, emit_write)
|
|
11870
11874
|
|
|
11871
11875
|
|
|
11872
11876
|
# Assign the names that are easier to import with a stable name.
|
|
11873
|
-
ChildrenExpressionCtypesCdllMixin =
|
|
11877
|
+
ChildrenExpressionCtypesCdllMixin = ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalMixin
|
|
11874
11878
|
|
|
11875
11879
|
|
|
11876
|
-
class
|
|
11880
|
+
class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalWinmodeOptionalMixin(
|
|
11877
11881
|
object
|
|
11878
11882
|
):
|
|
11879
11883
|
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
@@ -11888,7 +11892,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11888
11892
|
mode,
|
|
11889
11893
|
handle,
|
|
11890
11894
|
use_errno,
|
|
11891
|
-
|
|
11895
|
+
use_last_error,
|
|
11892
11896
|
winmode,
|
|
11893
11897
|
):
|
|
11894
11898
|
name.parent = self
|
|
@@ -11910,10 +11914,10 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11910
11914
|
|
|
11911
11915
|
self.subnode_use_errno = use_errno
|
|
11912
11916
|
|
|
11913
|
-
if
|
|
11914
|
-
|
|
11917
|
+
if use_last_error is not None:
|
|
11918
|
+
use_last_error.parent = self
|
|
11915
11919
|
|
|
11916
|
-
self.
|
|
11920
|
+
self.subnode_use_last_error = use_last_error
|
|
11917
11921
|
|
|
11918
11922
|
if winmode is not None:
|
|
11919
11923
|
winmode.parent = self
|
|
@@ -11940,7 +11944,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11940
11944
|
pass
|
|
11941
11945
|
else:
|
|
11942
11946
|
result.append(value)
|
|
11943
|
-
value = self.
|
|
11947
|
+
value = self.subnode_use_last_error
|
|
11944
11948
|
if value is None:
|
|
11945
11949
|
pass
|
|
11946
11950
|
else:
|
|
@@ -11963,7 +11967,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
11963
11967
|
("mode", self.subnode_mode),
|
|
11964
11968
|
("handle", self.subnode_handle),
|
|
11965
11969
|
("use_errno", self.subnode_use_errno),
|
|
11966
|
-
("
|
|
11970
|
+
("use_last_error", self.subnode_use_last_error),
|
|
11967
11971
|
("winmode", self.subnode_winmode),
|
|
11968
11972
|
)
|
|
11969
11973
|
|
|
@@ -12003,12 +12007,12 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
12003
12007
|
|
|
12004
12008
|
return
|
|
12005
12009
|
|
|
12006
|
-
value = self.
|
|
12010
|
+
value = self.subnode_use_last_error
|
|
12007
12011
|
if old_node is value:
|
|
12008
12012
|
if new_node is not None:
|
|
12009
12013
|
new_node.parent = self
|
|
12010
12014
|
|
|
12011
|
-
self.
|
|
12015
|
+
self.subnode_use_last_error = new_node
|
|
12012
12016
|
|
|
12013
12017
|
return
|
|
12014
12018
|
|
|
@@ -12040,8 +12044,8 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
12040
12044
|
"use_errno": self.subnode_use_errno.makeClone()
|
|
12041
12045
|
if self.subnode_use_errno is not None
|
|
12042
12046
|
else None,
|
|
12043
|
-
"
|
|
12044
|
-
if self.
|
|
12047
|
+
"use_last_error": self.subnode_use_last_error.makeClone()
|
|
12048
|
+
if self.subnode_use_last_error is not None
|
|
12045
12049
|
else None,
|
|
12046
12050
|
"winmode": self.subnode_winmode.makeClone()
|
|
12047
12051
|
if self.subnode_winmode is not None
|
|
@@ -12066,9 +12070,9 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
12066
12070
|
if self.subnode_use_errno is not None:
|
|
12067
12071
|
self.subnode_use_errno.finalize()
|
|
12068
12072
|
del self.subnode_use_errno
|
|
12069
|
-
if self.
|
|
12070
|
-
self.
|
|
12071
|
-
del self.
|
|
12073
|
+
if self.subnode_use_last_error is not None:
|
|
12074
|
+
self.subnode_use_last_error.finalize()
|
|
12075
|
+
del self.subnode_use_last_error
|
|
12072
12076
|
if self.subnode_winmode is not None:
|
|
12073
12077
|
self.subnode_winmode.finalize()
|
|
12074
12078
|
del self.subnode_winmode
|
|
@@ -12121,10 +12125,10 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
12121
12125
|
|
|
12122
12126
|
if subnode_use_errno is not None:
|
|
12123
12127
|
self.subnode_use_errno.collectVariableAccesses(emit_read, emit_write)
|
|
12124
|
-
|
|
12128
|
+
subnode_use_last_error = self.subnode_use_last_error
|
|
12125
12129
|
|
|
12126
|
-
if
|
|
12127
|
-
self.
|
|
12130
|
+
if subnode_use_last_error is not None:
|
|
12131
|
+
self.subnode_use_last_error.collectVariableAccesses(emit_read, emit_write)
|
|
12128
12132
|
subnode_winmode = self.subnode_winmode
|
|
12129
12133
|
|
|
12130
12134
|
if subnode_winmode is not None:
|
|
@@ -12132,7 +12136,7 @@ class ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLasterrorOp
|
|
|
12132
12136
|
|
|
12133
12137
|
|
|
12134
12138
|
# Assign the names that are easier to import with a stable name.
|
|
12135
|
-
ChildrenExpressionCtypesCdllMixin =
|
|
12139
|
+
ChildrenExpressionCtypesCdllMixin = ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalWinmodeOptionalMixin
|
|
12136
12140
|
|
|
12137
12141
|
|
|
12138
12142
|
class ChildrenHavingNamePackageOptionalMixin(object):
|
|
@@ -71,8 +71,8 @@ from .ChildrenHavingMixins import (
|
|
|
71
71
|
ChildHavingSMixin,
|
|
72
72
|
ChildrenHavingFileModeOptionalBufferingOptionalEncodingOptionalErrorsOptionalNewlineOptionalClosefdOptionalOpenerOptionalMixin,
|
|
73
73
|
ChildrenHavingGroupNameOptionalMixin,
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalMixin,
|
|
75
|
+
ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalWinmodeOptionalMixin,
|
|
76
76
|
ChildrenHavingPackageOrRequirementResourceNameMixin,
|
|
77
77
|
ChildrenHavingPackageResourceEncodingOptionalErrorsOptionalMixin,
|
|
78
78
|
ChildrenHavingPackageResourceMixin,
|
|
@@ -263,7 +263,7 @@ hard_import_node_classes[ExpressionCtypesCdllRef] = ctypes_cdll_since_38_spec
|
|
|
263
263
|
|
|
264
264
|
|
|
265
265
|
class ExpressionCtypesCdllSince38CallBase(
|
|
266
|
-
|
|
266
|
+
ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalWinmodeOptionalMixin,
|
|
267
267
|
ExpressionBase,
|
|
268
268
|
):
|
|
269
269
|
"""Base class for CtypesCdllCall
|
|
@@ -278,7 +278,7 @@ class ExpressionCtypesCdllSince38CallBase(
|
|
|
278
278
|
"mode|optional",
|
|
279
279
|
"handle|optional",
|
|
280
280
|
"use_errno|optional",
|
|
281
|
-
"
|
|
281
|
+
"use_last_error|optional",
|
|
282
282
|
"winmode|optional",
|
|
283
283
|
)
|
|
284
284
|
|
|
@@ -287,15 +287,15 @@ class ExpressionCtypesCdllSince38CallBase(
|
|
|
287
287
|
spec = ctypes_cdll_since_38_spec
|
|
288
288
|
|
|
289
289
|
def __init__(
|
|
290
|
-
self, name, mode, handle, use_errno,
|
|
290
|
+
self, name, mode, handle, use_errno, use_last_error, winmode, source_ref
|
|
291
291
|
):
|
|
292
|
-
|
|
292
|
+
ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalWinmodeOptionalMixin.__init__(
|
|
293
293
|
self,
|
|
294
294
|
name=name,
|
|
295
295
|
mode=mode,
|
|
296
296
|
handle=handle,
|
|
297
297
|
use_errno=use_errno,
|
|
298
|
-
|
|
298
|
+
use_last_error=use_last_error,
|
|
299
299
|
winmode=winmode,
|
|
300
300
|
)
|
|
301
301
|
|
|
@@ -310,7 +310,7 @@ class ExpressionCtypesCdllSince38CallBase(
|
|
|
310
310
|
self.subnode_mode,
|
|
311
311
|
self.subnode_handle,
|
|
312
312
|
self.subnode_use_errno,
|
|
313
|
-
self.
|
|
313
|
+
self.subnode_use_last_error,
|
|
314
314
|
self.subnode_winmode,
|
|
315
315
|
)
|
|
316
316
|
):
|
|
@@ -333,7 +333,7 @@ class ExpressionCtypesCdllSince38CallBase(
|
|
|
333
333
|
|
|
334
334
|
|
|
335
335
|
class ExpressionCtypesCdllBefore38CallBase(
|
|
336
|
-
|
|
336
|
+
ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalMixin,
|
|
337
337
|
ExpressionBase,
|
|
338
338
|
):
|
|
339
339
|
"""Base class for CtypesCdllCall
|
|
@@ -348,21 +348,21 @@ class ExpressionCtypesCdllBefore38CallBase(
|
|
|
348
348
|
"mode|optional",
|
|
349
349
|
"handle|optional",
|
|
350
350
|
"use_errno|optional",
|
|
351
|
-
"
|
|
351
|
+
"use_last_error|optional",
|
|
352
352
|
)
|
|
353
353
|
|
|
354
354
|
__slots__ = ("attempted",)
|
|
355
355
|
|
|
356
356
|
spec = ctypes_cdll_before_38_spec
|
|
357
357
|
|
|
358
|
-
def __init__(self, name, mode, handle, use_errno,
|
|
359
|
-
|
|
358
|
+
def __init__(self, name, mode, handle, use_errno, use_last_error, source_ref):
|
|
359
|
+
ChildrenHavingNameModeOptionalHandleOptionalUseErrnoOptionalUseLastErrorOptionalMixin.__init__(
|
|
360
360
|
self,
|
|
361
361
|
name=name,
|
|
362
362
|
mode=mode,
|
|
363
363
|
handle=handle,
|
|
364
364
|
use_errno=use_errno,
|
|
365
|
-
|
|
365
|
+
use_last_error=use_last_error,
|
|
366
366
|
)
|
|
367
367
|
|
|
368
368
|
ExpressionBase.__init__(self, source_ref)
|
|
@@ -376,7 +376,7 @@ class ExpressionCtypesCdllBefore38CallBase(
|
|
|
376
376
|
self.subnode_mode,
|
|
377
377
|
self.subnode_handle,
|
|
378
378
|
self.subnode_use_errno,
|
|
379
|
-
self.
|
|
379
|
+
self.subnode_use_last_error,
|
|
380
380
|
)
|
|
381
381
|
):
|
|
382
382
|
trace_collection.onExceptionRaiseExit(BaseException)
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
""" Nodes that build and operate on lists."""
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
# from .ExpressionBasesGenerated import ChildrenExpressionListOperationExtendMixin
|
|
8
7
|
from .ChildrenHavingMixins import (
|
|
9
8
|
ChildHavingListArgMixin,
|
|
@@ -277,17 +276,28 @@ class ExpressionListOperationInsert(
|
|
|
277
276
|
# This lets the value added to the list escape.
|
|
278
277
|
self.subnode_item.onContentEscapes(trace_collection)
|
|
279
278
|
|
|
279
|
+
# Could raise TypeError from wrong index type.
|
|
280
|
+
if self.mayRaiseExceptionOperation():
|
|
281
|
+
trace_collection.onExceptionRaiseExit(TypeError)
|
|
282
|
+
|
|
280
283
|
# it raises no index error, just appends
|
|
281
284
|
return self, None, None
|
|
282
285
|
|
|
283
286
|
def mayRaiseException(self, exception_type):
|
|
284
|
-
return
|
|
287
|
+
return (
|
|
288
|
+
self.subnode_list_arg.mayRaiseException(exception_type)
|
|
289
|
+
or self.mayRaiseExceptionOperation()
|
|
290
|
+
or self.subnode_index.mayRaiseException(exception_type)
|
|
291
|
+
or self.subnode_item.mayRaiseException(exception_type)
|
|
292
|
+
)
|
|
285
293
|
|
|
286
294
|
def mayRaiseExceptionOperation(self):
|
|
287
295
|
# TODO: We do not yet have isIndexable from the type shape.
|
|
296
|
+
# Note that any index value will do for insert, it just has
|
|
297
|
+
# to be an integer.
|
|
288
298
|
return (
|
|
289
|
-
self.
|
|
290
|
-
and self.
|
|
299
|
+
self.subnode_index.isExpressionConstantRef()
|
|
300
|
+
and self.subnode_index.isIndexConstant()
|
|
291
301
|
)
|
|
292
302
|
|
|
293
303
|
|
nuitka/plugins/PluginBase.py
CHANGED
|
@@ -14,7 +14,6 @@ it being used.
|
|
|
14
14
|
|
|
15
15
|
import ast
|
|
16
16
|
import functools
|
|
17
|
-
import importlib
|
|
18
17
|
import inspect
|
|
19
18
|
import os
|
|
20
19
|
import sys
|
|
@@ -106,6 +105,15 @@ _module_config_constants = {}
|
|
|
106
105
|
_module_config_variables = {}
|
|
107
106
|
|
|
108
107
|
|
|
108
|
+
def _getImportLibModule():
|
|
109
|
+
try:
|
|
110
|
+
import importlib
|
|
111
|
+
except ImportError:
|
|
112
|
+
return None
|
|
113
|
+
else:
|
|
114
|
+
return importlib
|
|
115
|
+
|
|
116
|
+
|
|
109
117
|
def _getEvaluationContext():
|
|
110
118
|
# Using global here, as this is really a singleton, in the form of a module,
|
|
111
119
|
# pylint: disable=global-statement
|
|
@@ -145,7 +153,7 @@ def _getEvaluationContext():
|
|
|
145
153
|
# Frequent used modules
|
|
146
154
|
"sys": sys,
|
|
147
155
|
"os": os,
|
|
148
|
-
"importlib":
|
|
156
|
+
"importlib": _getImportLibModule(),
|
|
149
157
|
"appdirs": getAppdirsModule(),
|
|
150
158
|
# Python version string
|
|
151
159
|
"python_version_str": python_version_str,
|
|
@@ -1259,6 +1267,14 @@ except ImportError:
|
|
|
1259
1267
|
# Virtual method, pylint: disable=no-self-use,unused-argument
|
|
1260
1268
|
return False
|
|
1261
1269
|
|
|
1270
|
+
def onClassBodyParsing(self, module_name, class_name, node):
|
|
1271
|
+
# Virtual method, pylint: disable=no-self-use,unused-argument
|
|
1272
|
+
"""Provide a different class body for the class of that module.
|
|
1273
|
+
|
|
1274
|
+
Should return a boolean, indicating if any actual change was done.
|
|
1275
|
+
"""
|
|
1276
|
+
return False
|
|
1277
|
+
|
|
1262
1278
|
def getCacheContributionValues(self, module_name):
|
|
1263
1279
|
"""Provide values that represent the include of a plugin on the compilation.
|
|
1264
1280
|
|
nuitka/plugins/Plugins.py
CHANGED
|
@@ -1354,6 +1354,19 @@ class Plugins(object):
|
|
|
1354
1354
|
body=body,
|
|
1355
1355
|
)
|
|
1356
1356
|
|
|
1357
|
+
@classmethod
|
|
1358
|
+
def onClassBodyParsing(cls, provider, class_name, node):
|
|
1359
|
+
module_name = provider.getParentModule().getFullName()
|
|
1360
|
+
|
|
1361
|
+
for plugin in getActivePlugins():
|
|
1362
|
+
# TODO: Could record what classes got modified by what plugin
|
|
1363
|
+
# and in what way checking the return value
|
|
1364
|
+
plugin.onClassBodyParsing(
|
|
1365
|
+
module_name=module_name,
|
|
1366
|
+
class_name=class_name,
|
|
1367
|
+
node=node,
|
|
1368
|
+
)
|
|
1369
|
+
|
|
1357
1370
|
@classmethod
|
|
1358
1371
|
def getCacheContributionValues(cls, module_name):
|
|
1359
1372
|
for plugin in getActivePlugins():
|
|
@@ -535,6 +535,66 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
|
|
|
535
535
|
|
|
536
536
|
return result
|
|
537
537
|
|
|
538
|
+
def _onClassBodyParsing(self, module_name, anti_bloat_config, class_name, node):
|
|
539
|
+
replace_code = anti_bloat_config.get("change_class", {}).get(class_name)
|
|
540
|
+
|
|
541
|
+
if replace_code == "un-usable":
|
|
542
|
+
replace_code = """
|
|
543
|
+
'''
|
|
544
|
+
class %(class_name)s:
|
|
545
|
+
def __init__(self, *args, **kwargs):
|
|
546
|
+
raise RuntimeError("Must not call %(module_name)s.%(class_name)s")
|
|
547
|
+
'''
|
|
548
|
+
""" % {
|
|
549
|
+
"module_name": module_name,
|
|
550
|
+
"class_name": class_name,
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
if replace_code is None:
|
|
554
|
+
return False
|
|
555
|
+
|
|
556
|
+
replacement = self.evaluateExpression(
|
|
557
|
+
full_name=module_name,
|
|
558
|
+
expression=replace_code,
|
|
559
|
+
config_name="module '%s' config 'change_class' of '%s'"
|
|
560
|
+
% (module_name, class_name),
|
|
561
|
+
extra_context=self._getContextCode(
|
|
562
|
+
module_name=module_name, anti_bloat_config=anti_bloat_config
|
|
563
|
+
),
|
|
564
|
+
single_value=True,
|
|
565
|
+
)
|
|
566
|
+
|
|
567
|
+
# Single node is required, extract the generated module body with
|
|
568
|
+
# single expression only statement value or a function body.
|
|
569
|
+
replacement = ast.parse(replacement).body[0]
|
|
570
|
+
|
|
571
|
+
node.body[:] = replacement.body
|
|
572
|
+
node.bases = replacement.bases
|
|
573
|
+
|
|
574
|
+
if self.show_changes:
|
|
575
|
+
self.info(
|
|
576
|
+
"Updated module '%s' class '%s'." % (module_name.asString(), class_name)
|
|
577
|
+
)
|
|
578
|
+
|
|
579
|
+
return True
|
|
580
|
+
|
|
581
|
+
def onClassBodyParsing(self, module_name, class_name, node):
|
|
582
|
+
result = False
|
|
583
|
+
|
|
584
|
+
config = self.config.get(module_name, section="anti-bloat")
|
|
585
|
+
|
|
586
|
+
if config:
|
|
587
|
+
for anti_bloat_config in config:
|
|
588
|
+
if self._onClassBodyParsing(
|
|
589
|
+
module_name=module_name,
|
|
590
|
+
anti_bloat_config=anti_bloat_config,
|
|
591
|
+
class_name=class_name,
|
|
592
|
+
node=node,
|
|
593
|
+
):
|
|
594
|
+
result = True
|
|
595
|
+
|
|
596
|
+
return result
|
|
597
|
+
|
|
538
598
|
def _getModuleBloatModeOverrides(self, using_module_name, intended_module_name):
|
|
539
599
|
while 1:
|
|
540
600
|
config = self.config.get(using_module_name, section="anti-bloat")
|
|
@@ -90,6 +90,38 @@
|
|
|
90
90
|
patterns:
|
|
91
91
|
- 'public.xml'
|
|
92
92
|
|
|
93
|
+
- module-name: 'antlr4.FileStream' # checksum: b7fe4fce
|
|
94
|
+
anti-bloat:
|
|
95
|
+
- description: 'remove unittest reference'
|
|
96
|
+
replacements_plain:
|
|
97
|
+
'import unittest': ''
|
|
98
|
+
change_class:
|
|
99
|
+
'TestFileStream': 'un-usable'
|
|
100
|
+
|
|
101
|
+
- module-name: 'antlr4.InputStream' # checksum: e9e7bd9b
|
|
102
|
+
anti-bloat:
|
|
103
|
+
- description: 'remove unittest reference'
|
|
104
|
+
replacements_plain:
|
|
105
|
+
'import unittest': ''
|
|
106
|
+
change_class:
|
|
107
|
+
'TestInputStream': 'un-usable'
|
|
108
|
+
|
|
109
|
+
- module-name: 'antlr4.IntervalSet' # checksum: 214ba83e
|
|
110
|
+
anti-bloat:
|
|
111
|
+
- description: 'remove unittest reference'
|
|
112
|
+
replacements_plain:
|
|
113
|
+
'import unittest': ''
|
|
114
|
+
change_class:
|
|
115
|
+
'TestIntervalSet': 'un-usable'
|
|
116
|
+
|
|
117
|
+
- module-name: 'antlr4.Recognizer' # checksum: 6e605dda
|
|
118
|
+
anti-bloat:
|
|
119
|
+
- description: 'remove unittest reference'
|
|
120
|
+
replacements_plain:
|
|
121
|
+
'import unittest': ''
|
|
122
|
+
change_class:
|
|
123
|
+
'Test': 'un-usable'
|
|
124
|
+
|
|
93
125
|
- module-name: 'anyio._core._eventloop' # checksum: c0b82a1e
|
|
94
126
|
implicit-imports:
|
|
95
127
|
- depends:
|
|
@@ -512,7 +544,7 @@
|
|
|
512
544
|
- depends:
|
|
513
545
|
- 'cassandra.compat'
|
|
514
546
|
|
|
515
|
-
- module-name: 'cefpython3' # checksum:
|
|
547
|
+
- module-name: 'cefpython3' # checksum: cd02718a
|
|
516
548
|
data-files:
|
|
517
549
|
dirs:
|
|
518
550
|
- 'locales'
|
|
@@ -526,11 +558,20 @@
|
|
|
526
558
|
prefixes:
|
|
527
559
|
- 'subprocess'
|
|
528
560
|
executable: 'yes'
|
|
529
|
-
when: 'win32'
|
|
530
561
|
- from_filenames:
|
|
531
562
|
prefixes:
|
|
532
563
|
- ''
|
|
533
|
-
|
|
564
|
+
|
|
565
|
+
implicit-imports:
|
|
566
|
+
- depends:
|
|
567
|
+
- 'urllib.request'
|
|
568
|
+
|
|
569
|
+
- module-name: 'celery' # checksum: 7d07a2d1
|
|
570
|
+
anti-bloat:
|
|
571
|
+
- description: 'remove IPython reference'
|
|
572
|
+
no-auto-follow:
|
|
573
|
+
'IPython': 'ignore'
|
|
574
|
+
when: 'not use_ipython'
|
|
534
575
|
|
|
535
576
|
- module-name: 'certifi' # checksum: 73df1a1e
|
|
536
577
|
data-files:
|
|
@@ -1037,6 +1078,11 @@
|
|
|
1037
1078
|
- depends:
|
|
1038
1079
|
- 'Equation.equation_*'
|
|
1039
1080
|
|
|
1081
|
+
- module-name: 'eth_utils' # checksum: c62fca1b
|
|
1082
|
+
data-files:
|
|
1083
|
+
dirs:
|
|
1084
|
+
- '__json'
|
|
1085
|
+
|
|
1040
1086
|
- module-name: 'evaluate.config' # checksum: becc1d28
|
|
1041
1087
|
anti-bloat:
|
|
1042
1088
|
- description: 'workaround python version test not compile time recognized'
|
|
@@ -1538,6 +1584,17 @@
|
|
|
1538
1584
|
- description: 'workaround hard module import attribute bug'
|
|
1539
1585
|
append_plain: 'from .utils.tqdm import tqdm'
|
|
1540
1586
|
|
|
1587
|
+
- module-name: 'hydra' # checksum: 380a0a91
|
|
1588
|
+
data-files:
|
|
1589
|
+
dirs:
|
|
1590
|
+
- 'conf'
|
|
1591
|
+
|
|
1592
|
+
- module-name: 'hydra.core.plugins' # checksum: f4d9feae
|
|
1593
|
+
implicit-imports:
|
|
1594
|
+
- depends:
|
|
1595
|
+
- 'hydra._internal.core_plugins.*'
|
|
1596
|
+
- 'hydra_plugins.*'
|
|
1597
|
+
|
|
1541
1598
|
- module-name: 'imageio.core.imopen' # checksum: 7af58240
|
|
1542
1599
|
anti-bloat:
|
|
1543
1600
|
- replacements_plain:
|
|
@@ -3493,6 +3550,21 @@
|
|
|
3493
3550
|
change_function:
|
|
3494
3551
|
'set_break': 'un-callable'
|
|
3495
3552
|
|
|
3553
|
+
- module-name: 'pypdfium2' # checksum: 91e9a452
|
|
3554
|
+
data-files:
|
|
3555
|
+
patterns:
|
|
3556
|
+
- 'version.json'
|
|
3557
|
+
|
|
3558
|
+
- module-name: 'pypdfium2_raw' # checksum: 3c8f2a8f
|
|
3559
|
+
data-files:
|
|
3560
|
+
patterns:
|
|
3561
|
+
- 'version.json'
|
|
3562
|
+
|
|
3563
|
+
dlls:
|
|
3564
|
+
- from_filenames:
|
|
3565
|
+
prefixes:
|
|
3566
|
+
- 'pdfium'
|
|
3567
|
+
|
|
3496
3568
|
- module-name: 'pyphen' # checksum: 708b31da
|
|
3497
3569
|
data-files:
|
|
3498
3570
|
dirs:
|
|
@@ -4270,6 +4342,18 @@
|
|
|
4270
4342
|
patterns:
|
|
4271
4343
|
- 'words.txt'
|
|
4272
4344
|
|
|
4345
|
+
- module-name: 'selenium' # checksum: 19747624
|
|
4346
|
+
data-files:
|
|
4347
|
+
dirs:
|
|
4348
|
+
- '.'
|
|
4349
|
+
dlls:
|
|
4350
|
+
- from_filenames:
|
|
4351
|
+
relative_path: 'webdriver/common/windows'
|
|
4352
|
+
prefixes:
|
|
4353
|
+
- 'selenium-manager'
|
|
4354
|
+
executable: 'yes'
|
|
4355
|
+
when: 'win32'
|
|
4356
|
+
|
|
4273
4357
|
- module-name: 'sentence_transformers.SentenceTransformer' # checksum: c6062648
|
|
4274
4358
|
implicit-imports:
|
|
4275
4359
|
- depends:
|
|
@@ -6638,6 +6722,11 @@
|
|
|
6638
6722
|
'from distributed import Client': 'raise ImportError'
|
|
6639
6723
|
when: 'not use_dask'
|
|
6640
6724
|
|
|
6725
|
+
- module-name: 'twofish' # checksum: c8ae9b1e
|
|
6726
|
+
implicit-imports:
|
|
6727
|
+
- depends:
|
|
6728
|
+
- '_twofish'
|
|
6729
|
+
|
|
6641
6730
|
- module-name: 'tzdata' # checksum: dae3c0e3
|
|
6642
6731
|
data-files:
|
|
6643
6732
|
dirs:
|
nuitka/specs/HardImportSpecs.py
CHANGED
|
@@ -147,7 +147,7 @@ ctypes_cdll_since_38_spec = BuiltinParameterSpec(
|
|
|
147
147
|
"mode",
|
|
148
148
|
"handle",
|
|
149
149
|
"use_errno",
|
|
150
|
-
"
|
|
150
|
+
"use_last_error",
|
|
151
151
|
"winmode",
|
|
152
152
|
),
|
|
153
153
|
default_count=5,
|
|
@@ -160,7 +160,7 @@ ctypes_cdll_before_38_spec = BuiltinParameterSpec(
|
|
|
160
160
|
"mode",
|
|
161
161
|
"handle",
|
|
162
162
|
"use_errno",
|
|
163
|
-
"
|
|
163
|
+
"use_last_error",
|
|
164
164
|
),
|
|
165
165
|
default_count=4,
|
|
166
166
|
)
|
|
@@ -45,6 +45,7 @@ from nuitka.nodes.VariableReleaseNodes import (
|
|
|
45
45
|
makeStatementReleaseVariable,
|
|
46
46
|
makeStatementsReleaseVariables,
|
|
47
47
|
)
|
|
48
|
+
from nuitka.plugins.Plugins import Plugins
|
|
48
49
|
from nuitka.PythonVersions import python_version
|
|
49
50
|
|
|
50
51
|
from .ReformulationClasses3 import buildClassNode3
|
|
@@ -63,6 +64,10 @@ from .TreeHelpers import (
|
|
|
63
64
|
def buildClassNode2(provider, node, source_ref):
|
|
64
65
|
# This function is the Python2 special case with special re-formulation as
|
|
65
66
|
# according to Developer Manual, and it's very detailed, pylint: disable=too-many-locals
|
|
67
|
+
|
|
68
|
+
# First, allow plugins to modify the code if they want to.
|
|
69
|
+
Plugins.onClassBodyParsing(provider=provider, class_name=node.name, node=node)
|
|
70
|
+
|
|
66
71
|
class_statement_nodes, class_doc = extractDocFromBody(node)
|
|
67
72
|
|
|
68
73
|
function_body = ExpressionClassBodyP2(
|
|
@@ -79,6 +79,7 @@ from nuitka.nodes.VariableRefNodes import (
|
|
|
79
79
|
)
|
|
80
80
|
from nuitka.nodes.VariableReleaseNodes import makeStatementsReleaseVariables
|
|
81
81
|
from nuitka.Options import isExperimental
|
|
82
|
+
from nuitka.plugins.Plugins import Plugins
|
|
82
83
|
from nuitka.PythonVersions import python_version
|
|
83
84
|
from nuitka.specs.ParameterSpecs import ParameterSpec
|
|
84
85
|
|
|
@@ -126,6 +127,10 @@ def buildClassNode3(provider, node, source_ref):
|
|
|
126
127
|
|
|
127
128
|
# This function is the Python3 special case with special re-formulation as
|
|
128
129
|
# according to Developer Manual.
|
|
130
|
+
|
|
131
|
+
# First, allow plugins to modify the code if they want to.
|
|
132
|
+
Plugins.onClassBodyParsing(provider=provider, class_name=node.name, node=node)
|
|
133
|
+
|
|
129
134
|
class_statement_nodes, class_doc = extractDocFromBody(node)
|
|
130
135
|
|
|
131
136
|
# We need a scope for the temporary variables, and they might be closured.
|
|
@@ -146,7 +146,7 @@ def decideFunctionCompilationMode(decorators):
|
|
|
146
146
|
decorator.isExpressionCall()
|
|
147
147
|
and decorator.subnode_called.isExpressionVariableNameRef()
|
|
148
148
|
):
|
|
149
|
-
if decorator.subnode_called.variable_name
|
|
149
|
+
if decorator.subnode_called.variable_name in ("pyqtSlot", "asyncSlot"):
|
|
150
150
|
return "bytecode"
|
|
151
151
|
|
|
152
152
|
return "compiled"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|