PyQt-builder 1.16.3__tar.gz → 1.17.0__tar.gz

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.
Files changed (62) hide show
  1. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PKG-INFO +1 -1
  2. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PyQt_builder.egg-info/PKG-INFO +1 -1
  3. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PyQt_builder.egg-info/SOURCES.txt +1 -0
  4. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/_version.py +2 -2
  5. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/builder.py +12 -4
  6. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/__init__.py +1 -0
  7. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt3d.py +0 -1
  8. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt5.py +14 -21
  9. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt6.py +80 -31
  10. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt6_3d.py +0 -1
  11. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt6_charts.py +2 -2
  12. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt6_datavisualization.py +2 -2
  13. pyqt_builder-1.17.0/pyqtbuild/bundle/packages/pyqt6_graphs.py +28 -0
  14. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt6_webengine.py +1 -1
  15. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqtchart.py +1 -1
  16. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqtdatavisualization.py +1 -1
  17. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqtpurchasing.py +1 -1
  18. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqtwebengine.py +1 -1
  19. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/qt_metadata.py +15 -15
  20. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/qt_wheel.py +20 -4
  21. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/project.py +17 -13
  22. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/LICENSE +0 -0
  23. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/MANIFEST.in +0 -0
  24. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PyQt_builder.egg-info/dependency_links.txt +0 -0
  25. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PyQt_builder.egg-info/entry_points.txt +0 -0
  26. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PyQt_builder.egg-info/requires.txt +0 -0
  27. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/PyQt_builder.egg-info/top_level.txt +0 -0
  28. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/README.md +0 -0
  29. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyproject.toml +0 -0
  30. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/__init__.py +0 -0
  31. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bindings.py +0 -0
  32. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/__init__.py +0 -0
  33. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/abstract_package.py +0 -0
  34. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/bundle.py +0 -0
  35. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/bundle_main.py +0 -0
  36. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-32/concrt140.dll +0 -0
  37. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-32/msvcp140.dll +0 -0
  38. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-32/msvcp140_1.dll +0 -0
  39. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-32/msvcp140_2.dll +0 -0
  40. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-32/vcruntime140.dll +0 -0
  41. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-64/concrt140.dll +0 -0
  42. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-64/msvcp140.dll +0 -0
  43. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-64/msvcp140_1.dll +0 -0
  44. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-64/msvcp140_2.dll +0 -0
  45. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-64/vcruntime140.dll +0 -0
  46. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/msvc-64/vcruntime140_1.dll +0 -0
  47. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/openssl-32/libcrypto-1_1.dll +0 -0
  48. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/openssl-32/libssl-1_1.dll +0 -0
  49. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/openssl-64/libcrypto-1_1-x64.dll +0 -0
  50. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/dlls/openssl-64/libssl-1_1-x64.dll +0 -0
  51. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt.py +0 -0
  52. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqt6_networkauth.py +0 -0
  53. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/packages/pyqtnetworkauth.py +0 -0
  54. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/qt_wheel_distinfo/LICENSE +0 -0
  55. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/qt_wheel_distinfo/METADATA +0 -0
  56. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/qt_wheel_distinfo/WHEEL +0 -0
  57. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/qt_wheel_main.py +0 -0
  58. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/verbose.py +0 -0
  59. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/bundle/wheel.py +0 -0
  60. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/installable.py +0 -0
  61. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/pyqtbuild/version.py +0 -0
  62. {pyqt_builder-1.16.3 → pyqt_builder-1.17.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyQt-builder
3
- Version: 1.16.3
3
+ Version: 1.17.0
4
4
  Summary: The PyQt build system
5
5
  Author-email: Phil Thompson <phil@riverbankcomputing.com>
6
6
  License: Copyright 2024 Phil Thompson <phil@riverbankcomputing.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyQt-builder
3
- Version: 1.16.3
3
+ Version: 1.17.0
4
4
  Summary: The PyQt build system
5
5
  Author-email: Phil Thompson <phil@riverbankcomputing.com>
6
6
  License: Copyright 2024 Phil Thompson <phil@riverbankcomputing.com>
@@ -47,6 +47,7 @@ pyqtbuild/bundle/packages/pyqt6.py
47
47
  pyqtbuild/bundle/packages/pyqt6_3d.py
48
48
  pyqtbuild/bundle/packages/pyqt6_charts.py
49
49
  pyqtbuild/bundle/packages/pyqt6_datavisualization.py
50
+ pyqtbuild/bundle/packages/pyqt6_graphs.py
50
51
  pyqtbuild/bundle/packages/pyqt6_networkauth.py
51
52
  pyqtbuild/bundle/packages/pyqt6_webengine.py
52
53
  pyqtbuild/bundle/packages/pyqtchart.py
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.16.3'
16
- __version_tuple__ = version_tuple = (1, 16, 3)
15
+ __version__ = version = '1.17.0'
16
+ __version_tuple__ = version_tuple = (1, 17, 0)
@@ -5,7 +5,6 @@
5
5
 
6
6
  import os
7
7
  import sys
8
- import sysconfig
9
8
 
10
9
  from sipbuild import (Buildable, BuildableModule, Builder, Option, Project,
11
10
  PyProjectOptionException, UserException)
@@ -98,10 +97,19 @@ class QmakeBuilder(Builder):
98
97
  # Set the default minimum GLIBC version. This is actually a
99
98
  # function of the build platform and it should really be determined
100
99
  # by inspecting the compiled extension module. These defaults
101
- # reflect the minimum versions provided by the supported Qt
102
- # platforms at any particular time.
100
+ # reflect the minimum versions required by the Qt online installer
101
+ # for a particular version.
103
102
  if not project.minimum_glibc_version:
104
- if self.qt_version >= 0x060000:
103
+ if self.qt_version >= 0x060800:
104
+ from platform import processor
105
+
106
+ # The arm64 build is based on Ubuntu 24.04 rather than
107
+ # 22.04.
108
+ if processor() == 'aarch64':
109
+ project.minimum_glibc_version = '2.39'
110
+ else:
111
+ project.minimum_glibc_version = '2.35'
112
+ elif self.qt_version >= 0x060000:
105
113
  project.minimum_glibc_version = '2.28'
106
114
  else:
107
115
  project.minimum_glibc_version = '2.17'
@@ -8,6 +8,7 @@ from .pyqt6 import PyQt6
8
8
  from .pyqt6_3d import PyQt6_3D
9
9
  from .pyqt6_charts import PyQt6_Charts
10
10
  from .pyqt6_datavisualization import PyQt6_DataVisualization
11
+ from .pyqt6_graphs import PyQt6_Graphs
11
12
  from .pyqt6_networkauth import PyQt6_NetworkAuth
12
13
  from .pyqt6_webengine import PyQt6_WebEngine
13
14
 
@@ -16,7 +16,6 @@ _QT_METADATA = {
16
16
  'Qt3DCore':
17
17
  VersionedMetadata(
18
18
  lib_deps={'': ('Qt3DQuick', )},
19
- qml=True,
20
19
  qml_names=('Qt3D', )),
21
20
 
22
21
  'Qt3DExtras':
@@ -27,7 +27,7 @@ _QT_METADATA = {
27
27
  lib_deps={
28
28
  'linux': ('QtConcurrent', ),
29
29
  'macos': ('QtConcurrent', )},
30
- qml=True),
30
+ ),
31
31
 
32
32
  'QtCore':
33
33
  VersionedMetadata(
@@ -60,9 +60,7 @@ _QT_METADATA = {
60
60
  VersionedMetadata(),
61
61
 
62
62
  'QtLocation':
63
- VersionedMetadata(
64
- lib_deps={'': ('QtPositioningQuick', )},
65
- qml=True),
63
+ VersionedMetadata(lib_deps={'': ('QtPositioningQuick', )}),
66
64
 
67
65
  'QtMacExtras':
68
66
  VersionedMetadata(),
@@ -73,7 +71,7 @@ _QT_METADATA = {
73
71
  '': ('QtMultimediaQuick', ),
74
72
  'linux': ('QtMultimediaGstTools', )
75
73
  },
76
- qml=True, qml_names=('QtAudioEngine', 'QtMultimedia')),
74
+ qml_names=('QtAudioEngine', 'QtMultimedia')),
77
75
 
78
76
  'QtMultimediaWidgets':
79
77
  VersionedMetadata(),
@@ -85,27 +83,24 @@ _QT_METADATA = {
85
83
  VersionedMetadata(legacy=True),
86
84
 
87
85
  'QtNfc':
88
- VersionedMetadata(qml=True),
86
+ VersionedMetadata(),
89
87
 
90
88
  'QtOpenGL':
91
89
  VersionedMetadata(),
92
90
 
93
91
  'QtPositioning':
94
- VersionedMetadata(qml=True),
92
+ VersionedMetadata(),
95
93
 
96
94
  'QtPrintSupport':
97
95
  VersionedMetadata(),
98
96
 
99
97
  'QtQml':
100
- VersionedMetadata(
101
- lib_deps={'': ('QtQmlModels', 'QtQmlWorkerScript')},
102
- qml=True),
98
+ VersionedMetadata(lib_deps={'': ('QtQmlModels', 'QtQmlWorkerScript')}),
103
99
 
104
100
  'QtQuick':
105
101
  VersionedMetadata(
106
102
  lib_deps={'': ('QtQuickControls2', 'QtQuickParticles',
107
103
  'QtQuickShapes', 'QtQuickTemplates2', 'QtQuickTest')},
108
- qml=True,
109
104
  qml_names=('QtCanvas3D', 'QtGraphicalEffects', 'QtQuick',
110
105
  'QtQuick.2')),
111
106
 
@@ -114,16 +109,16 @@ _QT_METADATA = {
114
109
  lib_deps={
115
110
  '': ('QtQuick3DAssetImport', 'QtQuick3DRender',
116
111
  'QtQuick3DRuntimeRender', 'QtQuick3DUtils')},
117
- qml=True),
112
+ ),
118
113
 
119
114
  'QtQuickWidgets':
120
115
  VersionedMetadata(),
121
116
 
122
117
  'QtRemoteObjects':
123
- VersionedMetadata(qml=True),
118
+ VersionedMetadata(),
124
119
 
125
120
  'QtSensors':
126
- VersionedMetadata(qml=True),
121
+ VersionedMetadata(),
127
122
 
128
123
  'QtSerialPort':
129
124
  VersionedMetadata(),
@@ -135,19 +130,19 @@ _QT_METADATA = {
135
130
  VersionedMetadata(),
136
131
 
137
132
  'QtTest':
138
- VersionedMetadata(qml=True),
133
+ VersionedMetadata(),
139
134
 
140
135
  'QtTextToSpeech':
141
136
  VersionedMetadata(),
142
137
 
143
138
  'QtWebChannel':
144
- VersionedMetadata(qml=True),
139
+ VersionedMetadata(),
145
140
 
146
141
  'QtWebSockets':
147
- VersionedMetadata(qml=True),
142
+ VersionedMetadata(),
148
143
 
149
144
  'QtWebView':
150
- VersionedMetadata(qml=True),
145
+ VersionedMetadata(),
151
146
 
152
147
  'QtWidgets':
153
148
  VersionedMetadata(),
@@ -162,9 +157,7 @@ _QT_METADATA = {
162
157
  VersionedMetadata(),
163
158
 
164
159
  'QtXmlPatterns':
165
- VersionedMetadata(
166
- qml=True,
167
- qml_names=('Qt', )),
160
+ VersionedMetadata(qml_names=('Qt', )),
168
161
  }
169
162
 
170
163
 
@@ -14,7 +14,7 @@ _QT_METADATA = {
14
14
  VersionedMetadata(dll=False),
15
15
 
16
16
  'QtBluetooth':
17
- VersionedMetadata(version=(6, 2, 0), qml=True),
17
+ VersionedMetadata(version=(6, 2, 0)),
18
18
 
19
19
  'QtCore': (
20
20
  VersionedMetadata(version=(6, 7, 0),
@@ -63,9 +63,19 @@ _QT_METADATA = {
63
63
  VersionedMetadata(),
64
64
 
65
65
  #'QtLocation':
66
- # VersionedMetadata(qml=True),
66
+ # VersionedMetadata(),
67
67
 
68
68
  'QtMultimedia': (
69
+ VersionedMetadata(version=(6, 8, 0),
70
+ lib_deps={'': ('QtMultimediaQuick', )},
71
+ other_lib_deps={
72
+ 'macos': ('libavcodec.61.dylib', 'libavformat.61.dylib',
73
+ 'libavutil.59.dylib', 'libswresample.5.dylib',
74
+ 'libswscale.8.dylib'),
75
+ 'win': ('avcodec-61.dll', 'avformat-61.dll',
76
+ 'avutil-59.dll', 'swresample-5.dll',
77
+ 'swscale-8.dll')},
78
+ ),
69
79
  VersionedMetadata(version=(6, 7, 1),
70
80
  lib_deps={'': ('QtMultimediaQuick', )},
71
81
  other_lib_deps={
@@ -75,17 +85,17 @@ _QT_METADATA = {
75
85
  'win': ('avcodec-60.dll', 'avformat-60.dll',
76
86
  'avutil-58.dll', 'swresample-4.dll',
77
87
  'swscale-7.dll')},
78
- qml=True),
88
+ ),
79
89
  VersionedMetadata(version=(6, 7, 0),
80
90
  lib_deps={'': ('QtMultimediaQuick', )},
81
91
  other_lib_deps={
82
92
  'win': ('avcodec-60.dll', 'avformat-60.dll',
83
93
  'avutil-58.dll', 'swresample-4.dll',
84
94
  'swscale-7.dll')},
85
- qml=True),
95
+ ),
86
96
  VersionedMetadata(version=(6, 2, 0),
87
97
  lib_deps={'': ('QtMultimediaQuick', )},
88
- qml=True)),
98
+ )),
89
99
 
90
100
  'QtMultimediaWidgets':
91
101
  VersionedMetadata(version=(6, 2, 0)),
@@ -94,7 +104,7 @@ _QT_METADATA = {
94
104
  VersionedMetadata(),
95
105
 
96
106
  'QtNfc':
97
- VersionedMetadata(version=(6, 2, 0), qml=True),
107
+ VersionedMetadata(version=(6, 2, 0)),
98
108
 
99
109
  'QtOpenGL':
100
110
  VersionedMetadata(),
@@ -112,23 +122,51 @@ _QT_METADATA = {
112
122
  'QtPositioning':
113
123
  VersionedMetadata(version=(6, 2, 0),
114
124
  lib_deps={'': ('QtPositioningQuick', )},
115
- qml=True),
125
+ ),
116
126
 
117
127
  'QtPrintSupport':
118
128
  VersionedMetadata(),
119
129
 
120
130
  'QtQml': (
131
+ VersionedMetadata(version=(6, 8, 0),
132
+ lib_deps={'': ('QtQmlMeta', 'QtQmlModels', 'QtQmlWorkerScript',
133
+ 'QtLabsAnimation', 'QtLabsFolderListModel',
134
+ 'QtLabsPlatform', 'QtLabsQmlModels', 'QtLabsSettings',
135
+ 'QtLabsSharedImage', 'QtLabsWavefrontMesh')},
136
+ ),
121
137
  VersionedMetadata(version=(6, 5, 0),
122
138
  lib_deps={'': ('QtQmlModels', 'QtQmlWorkerScript',
123
139
  'QtLabsAnimation', 'QtLabsFolderListModel',
124
140
  'QtLabsQmlModels', 'QtLabsSettings',
125
141
  'QtLabsSharedImage', 'QtLabsWavefrontMesh')},
126
- qml=True),
142
+ ),
127
143
  VersionedMetadata(
128
144
  lib_deps={'': ('QtQmlModels', 'QtQmlWorkerScript')},
129
- qml=True)),
145
+ )),
130
146
 
131
147
  'QtQuick': (
148
+ VersionedMetadata(version=(6, 8, 0),
149
+ lib_deps={'': ('QtQuickControls2', 'QtQuickControls2Basic',
150
+ 'QtQuickControls2BasicStyleImpl',
151
+ 'QtQuickControls2Fusion',
152
+ 'QtQuickControls2FusionStyleImpl',
153
+ 'QtQuickControls2IOSStyleImpl',
154
+ 'QtQuickControls2Imagine',
155
+ 'QtQuickControls2ImagineStyleImpl',
156
+ 'QtQuickControls2Impl',
157
+ 'QtQuickControls2MacOSStyleImpl',
158
+ 'QtQuickControls2Material',
159
+ 'QtQuickControls2MaterialStyleImpl',
160
+ 'QtQuickControls2Universal',
161
+ 'QtQuickControls2UniversalStyleImpl',
162
+ 'QtQuickDialogs2', 'QtQuickDialogs2QuickImpl',
163
+ 'QtQuickDialogs2Utils', 'QtQuickEffects',
164
+ 'QtQuickLayouts',
165
+ 'QtQuickParticles', 'QtQuickShapes',
166
+ 'QtQuickTemplates2', 'QtQuickTest',
167
+ 'QtQuickTimeline', 'QtQuickTimelineBlendTrees',
168
+ 'QtQuickVectorImage', 'QtQuickVectorImageGenerator')},
169
+ ),
132
170
  VersionedMetadata(version=(6, 7, 0),
133
171
  lib_deps={'': ('QtQuickControls2', 'QtQuickControls2Basic',
134
172
  'QtQuickControls2BasicStyleImpl',
@@ -144,11 +182,12 @@ _QT_METADATA = {
144
182
  'QtQuickControls2Universal',
145
183
  'QtQuickControls2UniversalStyleImpl',
146
184
  'QtQuickDialogs2', 'QtQuickDialogs2QuickImpl',
147
- 'QtQuickDialogs2Utils', 'QtQuickLayouts',
185
+ 'QtQuickDialogs2Utils', 'QtQuickEffects',
186
+ 'QtQuickLayouts',
148
187
  'QtQuickParticles', 'QtQuickShapes',
149
188
  'QtQuickTemplates2', 'QtQuickTest',
150
189
  'QtQuickTimeline', 'QtQuickTimelineBlendTrees')},
151
- qml=True),
190
+ ),
152
191
  VersionedMetadata(version=(6, 6, 3),
153
192
  lib_deps={'': ('QtQuickControls2', 'QtQuickControls2Basic',
154
193
  'QtQuickControls2BasicStyleImpl',
@@ -166,7 +205,7 @@ _QT_METADATA = {
166
205
  'QtQuickParticles', 'QtQuickShapes',
167
206
  'QtQuickTemplates2', 'QtQuickTest',
168
207
  'QtQuickTimeline')},
169
- qml=True),
208
+ ),
170
209
  VersionedMetadata(version=(6, 2, 0),
171
210
  lib_deps={'': ('QtQuickControls2', 'QtQuickControls2Impl',
172
211
  'QtQuickDialogs2', 'QtQuickDialogs2QuickImpl',
@@ -174,24 +213,34 @@ _QT_METADATA = {
174
213
  'QtQuickParticles', 'QtQuickShapes',
175
214
  'QtQuickTemplates2', 'QtQuickTest',
176
215
  'QtQuickTimeline')},
177
- qml=True),
216
+ ),
178
217
  VersionedMetadata(
179
218
  lib_deps={'': ('QtQuickControls2', 'QtQuickControls2Impl',
180
219
  'QtQuickLayouts', 'QtQuickParticles', 'QtQuickShapes',
181
220
  'QtQuickTemplates2', 'QtQuickTest')},
182
- qml=True)),
221
+ )),
183
222
 
184
223
  'QtQuick3D': (
224
+ VersionedMetadata(version=(6, 8, 0),
225
+ lib_deps={
226
+ '': ('QtConcurrent', 'QtQuick3DAssetImport',
227
+ 'QtQuick3DAssetUtils', 'QtQuick3DEffects',
228
+ 'QtQuick3DGlslParser', 'QtQuick3DHelpers',
229
+ 'QtQuick3DHelpersImpl', 'QtQuick3DIblBaker',
230
+ 'QtQuick3DParticles', 'QtQuick3DPhysics',
231
+ 'QtQuick3DPhysicsHelpers', 'QtQuick3DRuntimeRender',
232
+ 'QtQuick3DUtils', 'QtShaderTools', 'QtQuick3DXr')},
233
+ ),
185
234
  VersionedMetadata(version=(6, 7, 0),
186
235
  lib_deps={
187
236
  '': ('QtConcurrent', 'QtQuick3DAssetImport',
188
237
  'QtQuick3DAssetUtils', 'QtQuick3DEffects',
189
- 'QtQuick3DHelpers', 'QtQuick3DHelpersImpl',
190
- 'QtQuick3DIblBaker', 'QtQuick3DParticles',
191
- 'QtQuick3DPhysics', 'QtQuick3DPhysicsHelpers',
192
- 'QtQuick3DRuntimeRender', 'QtQuick3DUtils',
193
- 'QtShaderTools')},
194
- qml=True),
238
+ 'QtQuick3DGlslParser', 'QtQuick3DHelpers',
239
+ 'QtQuick3DHelpersImpl', 'QtQuick3DIblBaker',
240
+ 'QtQuick3DParticles', 'QtQuick3DPhysics',
241
+ 'QtQuick3DPhysicsHelpers', 'QtQuick3DRuntimeRender',
242
+ 'QtQuick3DUtils', 'QtShaderTools')},
243
+ ),
195
244
  VersionedMetadata(version=(6, 6, 0),
196
245
  lib_deps={
197
246
  '': ('QtConcurrent', 'QtQuick3DAssetImport',
@@ -200,7 +249,7 @@ _QT_METADATA = {
200
249
  'QtQuick3DParticles', 'QtQuick3DPhysics',
201
250
  'QtQuick3DPhysicsHelpers', 'QtQuick3DRuntimeRender',
202
251
  'QtQuick3DUtils', 'QtShaderTools')},
203
- qml=True),
252
+ ),
204
253
  VersionedMetadata(version=(6, 4, 0),
205
254
  lib_deps={
206
255
  '': ('QtConcurrent', 'QtQuick3DAssetImport',
@@ -208,7 +257,7 @@ _QT_METADATA = {
208
257
  'QtQuick3DHelpers', 'QtQuick3DIblBaker',
209
258
  'QtQuick3DParticles', 'QtQuick3DRuntimeRender',
210
259
  'QtQuick3DUtils', 'QtShaderTools')},
211
- qml=True),
260
+ ),
212
261
  VersionedMetadata(version=(6, 1, 0),
213
262
  lib_deps={
214
263
  '': ('QtQuick3DAssetImport', 'QtQuick3DAssetUtils',
@@ -216,12 +265,12 @@ _QT_METADATA = {
216
265
  'QtQuick3DIblBaker', 'QtQuick3DParticles',
217
266
  'QtQuick3DRuntimeRender', 'QtQuick3DUtils',
218
267
  'QtShaderTools')},
219
- qml=True),
268
+ ),
220
269
  VersionedMetadata(
221
270
  lib_deps={
222
271
  '': ('QtQuick3DAssetImport', 'QtQuick3DRuntimeRender',
223
272
  'QtQuick3DUtils', 'QtShaderTools')},
224
- qml=True)),
273
+ )),
225
274
 
226
275
  'QtQuickWidgets':
227
276
  VersionedMetadata(),
@@ -229,12 +278,12 @@ _QT_METADATA = {
229
278
  'QtRemoteObjects':
230
279
  VersionedMetadata(version=(6, 2, 0),
231
280
  lib_deps={'': ('QtRemoteObjectsQml', )},
232
- qml=True),
281
+ ),
233
282
 
234
283
  'QtSensors':
235
284
  VersionedMetadata(version=(6, 2, 0),
236
285
  lib_deps={'': ('QtSensorsQuick', )},
237
- qml=True),
286
+ ),
238
287
 
239
288
  'QtSerialPort':
240
289
  VersionedMetadata(version=(6, 2, 0)),
@@ -253,20 +302,20 @@ _QT_METADATA = {
253
302
  VersionedMetadata(),
254
303
 
255
304
  'QtTest':
256
- VersionedMetadata(qml=True),
305
+ VersionedMetadata(),
257
306
 
258
307
  'QtTextToSpeech':
259
- VersionedMetadata(version=(6, 4, 0), qml=True),
308
+ VersionedMetadata(version=(6, 4, 0)),
260
309
 
261
310
  'QtWebChannel': (
262
311
  # The quick library may have been present from the start.
263
312
  VersionedMetadata(version=(6, 6, 0),
264
313
  lib_deps={'': ('QtWebChannelQuick', )},
265
- qml=True),
266
- VersionedMetadata(version=(6, 2, 0), qml=True)),
314
+ ),
315
+ VersionedMetadata(version=(6, 2, 0))),
267
316
 
268
317
  'QtWebSockets':
269
- VersionedMetadata(version=(6, 2, 0), qml=True),
318
+ VersionedMetadata(version=(6, 2, 0)),
270
319
 
271
320
  'QtWidgets':
272
321
  VersionedMetadata(),
@@ -16,7 +16,6 @@ _QT_METADATA = {
16
16
  'Qt3DCore':
17
17
  VersionedMetadata(
18
18
  lib_deps={'': ('QtConcurrent', )},
19
- qml=True,
20
19
  qml_names=('Qt3D', )),
21
20
 
22
21
  'Qt3DExtras':
@@ -13,8 +13,8 @@ _QT_METADATA = {
13
13
  # It's likely that the QML library was required from the start.
14
14
  VersionedMetadata(version=(6, 5, 0),
15
15
  lib_deps={'': ('QtChartsQml', )},
16
- qml=True, lgpl=False),
17
- VersionedMetadata(version=(6, 1, 0), qml=True, lgpl=False))
16
+ lgpl=False),
17
+ VersionedMetadata(version=(6, 1, 0), lgpl=False))
18
18
  }
19
19
 
20
20
 
@@ -13,8 +13,8 @@ _QT_METADATA = {
13
13
  # It's likely that the QML library was required from the start.
14
14
  VersionedMetadata(version=(6, 5, 0),
15
15
  lib_deps={'': ('QtDataVisualizationQml', )},
16
- qml=True, lgpl=False),
17
- VersionedMetadata(version=(6, 1, 0), qml=True, lgpl=False))
16
+ lgpl=False),
17
+ VersionedMetadata(version=(6, 1, 0), lgpl=False))
18
18
  }
19
19
 
20
20
 
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: BSD-2-Clause
2
+
3
+ # Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
4
+
5
+
6
+ from ..abstract_package import AbstractPackage
7
+ from ..qt_metadata import VersionedMetadata
8
+
9
+
10
+ # The Qt meta-data for this package.
11
+ _QT_METADATA = {
12
+ 'QtGraphs':
13
+ VersionedMetadata(version=(6, 8, 0), lgpl=False),
14
+
15
+ 'QtGraphsWidgets':
16
+ VersionedMetadata(version=(6, 8, 0), lgpl=False),
17
+ }
18
+
19
+
20
+ class PyQt6_Graphs(AbstractPackage):
21
+ """ The PyQt6-Graphs package. """
22
+
23
+ def get_qt_metadata(self):
24
+ """ Return the package-specific meta-data describing the parts of Qt to
25
+ install.
26
+ """
27
+
28
+ return _QT_METADATA
@@ -30,7 +30,7 @@ _QT_METADATA = {
30
30
  'QtWebEngineQuick':
31
31
  VersionedMetadata(version=(6, 2, 0),
32
32
  lib_deps={'': ('QtWebEngineQuickDelegatesQml', )},
33
- qml=True, qml_names=['QtWebEngine']),
33
+ qml_names=['QtWebEngine']),
34
34
 
35
35
  'QtWebEngineWidgets':
36
36
  VersionedMetadata(version=(6, 2, 0)),
@@ -10,7 +10,7 @@ from ..qt_metadata import VersionedMetadata
10
10
  # The Qt meta-data for this package.
11
11
  _QT_METADATA = {
12
12
  'QtChart':
13
- VersionedMetadata(name='QtCharts', qml=True, lgpl=False),
13
+ VersionedMetadata(name='QtCharts', lgpl=False),
14
14
  }
15
15
 
16
16
 
@@ -10,7 +10,7 @@ from ..qt_metadata import VersionedMetadata
10
10
  # The Qt meta-data for this package.
11
11
  _QT_METADATA = {
12
12
  'QtDataVisualization':
13
- VersionedMetadata(qml=True, lgpl=False),
13
+ VersionedMetadata(lgpl=False),
14
14
  }
15
15
 
16
16
 
@@ -10,7 +10,7 @@ from ..qt_metadata import VersionedMetadata
10
10
  # The Qt meta-data for this package.
11
11
  _QT_METADATA = {
12
12
  'QtPurchasing':
13
- VersionedMetadata(qml=True),
13
+ VersionedMetadata(),
14
14
  }
15
15
 
16
16
 
@@ -10,7 +10,7 @@ from ..qt_metadata import VersionedMetadata
10
10
  # The Qt meta-data for this package.
11
11
  _QT_METADATA = {
12
12
  'QtWebEngine':
13
- VersionedMetadata(qml=True, translations=('qtwebengine', )),
13
+ VersionedMetadata(translations=('qtwebengine', )),
14
14
 
15
15
  'QtWebEngineCore':
16
16
  VersionedMetadata(
@@ -20,9 +20,8 @@ class VersionedMetadata:
20
20
 
21
21
  def __init__(self, *, version=None, name=None, lib_deps=None,
22
22
  other_lib_deps=None, exes=None, files=None, others=None, dll=True,
23
- qml=False, qml_names=None, translations=None,
24
- excluded_plugins=None, lgpl=True, legacy=False,
25
- subwheel_files=None):
23
+ qml_names=None, translations=None, excluded_plugins=None,
24
+ lgpl=True, legacy=False, subwheel_files=None):
26
25
  """ Initialise the versioned bindings. """
27
26
 
28
27
  self._version = version
@@ -33,7 +32,6 @@ class VersionedMetadata:
33
32
  self._files = {} if files is None else files
34
33
  self._others = {} if others is None else others
35
34
  self._dll = dll
36
- self._qml = qml
37
35
  self._qml_names = qml_names
38
36
  self._translations = () if translations is None else translations
39
37
  self._excluded_plugins = excluded_plugins
@@ -64,7 +62,7 @@ class VersionedMetadata:
64
62
  raise UserException(
65
63
  "'lipo' from Xcode must be installed on your system")
66
64
 
67
- if macos_thin_arch == 'arm64' and AbstractPackage.missing_executable('codesign'):
65
+ if macos_thin_arch is not None and AbstractPackage.missing_executable('codesign'):
68
66
  raise UserException(
69
67
  "'codesign' from Xcode must be installed on your system")
70
68
  # Bundle any sub-wheel files.
@@ -158,15 +156,12 @@ class VersionedMetadata:
158
156
  skip_files=skip_files)
159
157
 
160
158
  # Bundle any QML files.
161
- if self._qml:
162
- qml_names = self._qml_names
163
- if qml_names is None:
164
- qml_names = [self._name]
159
+ qml_names = self._qml_names if self._qml_names is not None else [self._name]
165
160
 
166
- for qml_subdir in qml_names:
167
- self._bundle_nondebug(os.path.join('qml', qml_subdir),
168
- target_qt_dir, qt_dir, platform_tag, macos_thin_arch,
169
- ignore_missing, skip_files=skip_files)
161
+ for qml_subdir in qml_names:
162
+ self._bundle_nondebug(os.path.join('qml', qml_subdir),
163
+ target_qt_dir, qt_dir, platform_tag, macos_thin_arch,
164
+ ignore_missing, skip_files=skip_files)
170
165
 
171
166
  # Bundle any plugins. We haven't done the analysis of which plugins
172
167
  # belong to which package so we assume that only the QtCore package
@@ -288,6 +283,9 @@ class VersionedMetadata:
288
283
  except:
289
284
  # If there is any sort of error then just copy it.
290
285
  shutil.copy2(src, dst)
286
+
287
+ subprocess.run(['codesign', '--force', '--sign', '-', dst],
288
+ stderr=stderr, check=True)
291
289
  else:
292
290
  shutil.copy2(src, dst)
293
291
  elif ignore_missing:
@@ -366,8 +364,10 @@ class VersionedMetadata:
366
364
  with open(exe, 'wb') as f:
367
365
  f.write(contents)
368
366
 
369
- if macos_thin_arch == 'arm64':
370
- subprocess.run(['codesign', '-s', '-', exe])
367
+ if macos_thin_arch is not None:
368
+ stderr = None if is_verbose() else subprocess.DEVNULL
369
+ subprocess.run(['codesign', '--force', '--sign', '-', exe],
370
+ stderr=stderr, check=True)
371
371
 
372
372
  @classmethod
373
373
  def _fix_win_executable(cls, exe):
@@ -39,9 +39,18 @@ def qt_wheel(package, qt_dir, build_tag, suffix, msvc_runtime, openssl,
39
39
 
40
40
  # Construct the tag.
41
41
  qt_arch = os.path.basename(qt_dir)
42
- if qt_arch == 'gcc_64':
43
- platform_tag = 'manylinux{}_x86_64'.format(
44
- '_2_28' if package.qt_version[0] == 6 else '2014')
42
+
43
+ if qt_arch in ('gcc_64', 'gcc_arm64'):
44
+ if package.qt_version >= (6, 8, 0):
45
+ manylinux = '_2_35' if qt_arch == 'gcc_64' else '_2_39'
46
+ elif package.qt_version >= (6, 0, 0):
47
+ manylinux = '_2_28'
48
+ else:
49
+ manylinux = '2014'
50
+
51
+ wheel_arch = 'x86_64' if qt_arch == 'gcc_64' else 'aarch64'
52
+ platform_tag = f'manylinux{manylinux}_{wheel_arch}'
53
+
45
54
  elif qt_arch in ('macos', 'clang_64'):
46
55
  if package.qt_version < (5, 15, 10) or (6, 0, 0) <= package.qt_version < (6, 2, 0):
47
56
  if arch is not None:
@@ -62,8 +71,15 @@ def qt_wheel(package, qt_dir, build_tag, suffix, msvc_runtime, openssl,
62
71
  sdk_version = '10_14'
63
72
 
64
73
  platform_tag = 'macosx_{}_{}'.format(sdk_version, subarch)
74
+
65
75
  elif qt_arch.startswith('msvc'):
66
- platform_tag = 'win_amd64' if qt_arch.endswith('_64') else 'win32'
76
+ if qt_arch.endswith('_64'):
77
+ platform_tag = 'win_amd64'
78
+ elif qt_arch.endswith('_arm64'):
79
+ platform_tag = 'win_arm64'
80
+ else:
81
+ platform_tag = 'win32'
82
+
67
83
  else:
68
84
  raise UserException(
69
85
  "Qt architecture '{0}' is unsupported".format(qt_arch))
@@ -50,6 +50,9 @@ class PyQtProject(Project):
50
50
 
51
51
  super().apply_user_defaults(tool)
52
52
 
53
+ major = self.py_major_version
54
+ minor = self.py_minor_version
55
+
53
56
  # Get the details of the default Python interpreter library. Note that
54
57
  # these are actually non-user options but we need the 'link_full_dll'
55
58
  # user option in order to set them.
@@ -60,18 +63,16 @@ class PyQtProject(Project):
60
63
 
61
64
  # See if we are using the limited API.
62
65
  if self.py_debug or self.link_full_dll:
63
- pylib_lib = 'python{}{}{}'.format(self.py_major_version,
64
- self.py_minor_version, debug_suffix)
66
+ pylib_lib = f'python{major}{minor}{debug_suffix}'
65
67
  else:
66
- pylib_lib = 'python{}{}'.format(self.py_major_version,
67
- debug_suffix)
68
+ pylib_lib = f'python{major}{debug_suffix}'
68
69
 
69
70
  # Assume Python is a DLL on Windows.
70
71
  pylib_shlib = pylib_lib
71
72
  else:
72
73
  abi = getattr(sys, 'abiflags', '')
73
- pylib_lib = 'python{}.{}{}'.format(self.py_major_version,
74
- self.py_minor_version, abi)
74
+
75
+ pylib_lib = f'python{major}.{minor}{abi}'
75
76
  pylib_dir = pylib_shlib = ''
76
77
 
77
78
  # Get the additional configuration.
@@ -87,19 +88,22 @@ class PyQtProject(Project):
87
88
  dynamic_pylib = '--enable-framework' in config_args
88
89
 
89
90
  if dynamic_pylib:
90
- pylib_shlib = ducfg.get('LDLIBRARY', '')
91
-
92
91
  exec_prefix = ducfg['exec_prefix']
93
92
  multiarch = ducfg.get('MULTIARCH', '')
94
93
  libdir = ducfg['LIBDIR']
95
94
 
96
- if glob('{}/lib/libpython{}.{}*'.format(exec_prefix, self.py_major_version, self.py_minor_version)):
97
- pylib_dir = exec_prefix + '/lib'
98
- elif multiarch != '' and glob('{}/lib/{}/libpython{}.{}*'.format(exec_prefix, multiarch, self.py_major_version, self.py_minor_version)):
99
- pylib_dir = exec_prefix + '/lib/' + multiarch
100
- elif glob('{}/libpython{}.{}*'.format(libdir, self.py_major_version, self.py_minor_version)):
95
+ pattern = f'libpython{major}.{minor}*'
96
+
97
+ if glob(os.path.join(exec_prefix, 'lib', pattern)):
98
+ pylib_dir = os.path.join(exec_prefix, 'lib')
99
+ elif multiarch != '' and glob(os.path.join(exec_prefix, 'lib', multiarch, pattern)):
100
+ pylib_dir = os.path.join(exec_prefix, 'lib', multiarch)
101
+ elif glob(os.path.join(libdir, pattern)):
101
102
  pylib_dir = libdir
102
103
 
104
+ if pylib_dir != '':
105
+ pylib_shlib = os.path.join(pylib_dir, 'lib' + pylib_lib)
106
+
103
107
  # Apply the defaults if necessary.
104
108
  if self.py_pylib_dir == '':
105
109
  self.py_pylib_dir = pylib_dir
File without changes
File without changes
File without changes
File without changes