forked from macports/macports-ports
/
Portfile
2323 lines (2061 loc) · 83.1 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name qt5
categories aqua
platforms macosx
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
# for OpenSSLException, see source and header files in src/network/ssl of qtbase
license {LGPL-3 GPL-3 OpenSSLException}
homepage https://www.qt.io
set qt_version 5.15.5
version ${qt_version}
set middle_name everywhere-opensource
set worksrcdir_middle_name everywhere
if { ${subport} eq "${name}-qtwebkit" ||
${subport} eq "${name}-qtwebkit-docs" } {
version 5.9.2
set middle_name opensource
}
# qtwebkit-examples only has no download for 5.9.2...
if { ${subport} eq "${name}-qtwebkit-examples" } {
version 5.9.1
set middle_name opensource
}
# https://trac.macports.org/ticket/63154
if { ${xcodeversion} ne "none" } {
use_xcode yes
}
set just_want_qt5_variables yes
PortGroup qt5 1.0
unset just_want_qt5_variables
# get Qt's version numbers
set branch [join [lrange [split ${version} .] 0 1] .]
set qt_major [lindex [split ${version} .] 0]
# see https://wiki.qt.io/New_Features_in_Qt_5.7
compiler.cxx_standard 2011
master_sites \
https://download.qt.io/official_releases/qt/${branch}/${version}/submodules \
https://download.qt.io/snapshots/ci/qtwebkit/${branch}/latest/src/submodules/
# latest qtwebengine 5.15.x releases are only tagged on git
if { ${subport} in [list "${name}-qtwebengine" "${name}-qtwebengine-docs"] } {
version 5.15.10
# set revision in module info below
# fetch archives generated by GitHub mirrors: repository uses submodule qtwebengine-chromium
# which has to be fetched separately and extracted into src/3rdparty
set qtwebengine_ref v${version}-lts
# keep this ref synchronized with qt5-qtwebengine-gn to allow distfile reuse
set qtwebengine_chromium_ref caba2fcb0fe8a8d213c4c79d26da3bb88eee61c7
distname qtwebengine-${version}-lts
set qtwebengine_distfile ${distname}${extract.suffix}
set qtwebengine_chromium_distname qtwebengine-chromium-${qtwebengine_chromium_ref}
set qtwebengine_chromium_distfile ${qtwebengine_chromium_distname}${extract.suffix}
distfiles \
${qtwebengine_distfile}:tagone \
${qtwebengine_chromium_distfile}:tagtwo
master_sites \
https://github.com/qt/qtwebengine/archive/${qtwebengine_ref}:tagone \
https://github.com/qt/qtwebengine-chromium/archive/${qtwebengine_chromium_ref}:tagtwo
checksums ${qtwebengine_distfile} \
rmd160 6e7585f1fc06ce92d1a613a895af99d4ff8166b7 \
sha256 69ac738ab48eea161ea9b66e3cbde9e74b631125074762adcae0909cdd4dc83d \
size 3776553 \
${qtwebengine_chromium_distfile} \
rmd160 3086df102608f70ca446840f21861c5472106812 \
sha256 be5f033fa0b3cbb8e39e036d5eed3daa20e426932fb5783dceb8beb375772e83 \
size 462179531
# Using system ninja: no need to extract bundled ninja
extract.post_args-append --exclude=${distname}/ninja/
# Using separately-built GN: no need to extract
extract.post_args-append --exclude=${distname}/gn/
post-extract {
ui_debug "delete ${worksrcpath}/src/3rdparty"
delete ${worksrcpath}/src/3rdparty
ui_debug "move ${workpath}/${qtwebengine_chromium_distname} ${worksrcpath}/src/3rdparty"
move ${workpath}/${qtwebengine_chromium_distname} ${worksrcpath}/src/3rdparty
}
}
# file sizes are significantly smaller using xz
if { ${subport} ni [list ${name} "${name}-docs" "${name}-qtwebengine" "${name}-qtwebengine-docs"] } {
use_xz yes
}
conflicts qt3 qt3-mac
# conflict with all other version of qt5
foreach {qt_test_name qt_test_info} [array get available_qt_versions] {
if {${name} ne ${qt_test_name}} {
conflicts-append [lindex ${qt_test_info} 0]
}
}
# MacPorts LLVM/Clang version to use when required.
set llvm_version 14
############################################################################### Modules Not Considered
#
# No qtactiveqt (Windows Only)
# No qtandroidextras (Android Only)
# No qtwayland (Linux Only)
# No qtx11extras (X11 Only)
# No qtwinextras (Windows Only)
#
###############################################################################
############################################################################### Finding Dependencies
#
# grep -r "%dependencies" *
# find ./ -name sync.profile
#
# grep -r qtCompileTest *
#
# find ./ -name config.tests
#
# find ./ -name Find\*.cmake
#
# grep -r qtHaveModule *
#
# grep -r packagesExist *
#
# port provides `find ./ -name \*.dylib -exec otool -L {} \; | grep /opt/local/libexec/qt5 | cut -d ' ' -f1` | cut -d : -f2 | sort -u
# port provides `find ./ -name \*.dylib -exec otool -L {} \; | grep /opt/local/lib/ | cut -d ' ' -f1` | cut -d : -f2 | sort -u
#
# https://code.qt.io/cgit/qt/qt5.git/tree/.gitmodules?h=5.14
#
###############################################################################
############################################################################### Notes
#
# qtconnectivity checks for bluetooth libraries
# bluez and bluez_le (Linux Only)
#
# qtconnectivity depends on
# qtandroidextras (Android Only)
#
# qtserialport depends on
# ntddmodm (Windows Only)
#
# qttools depends on
# qtactiveqt (Windows Only)
#
# qtwebkit has tests for libraries in:
# Tools/qmake/mkspecs/features/configure.prf
# Tools/qmake/config.tests/
#
###############################################################################
############################################################################### TODO
#
# TODO: possible to trim dependencies of qtbase?
#
###############################################################################
############################################################################### Module Format
#
# "Qt Module Name" {
# {
# checksum, rmd160
# checksum, sha256
# checksum, size
# }
# dependencies, build
# dependencies, lib
# dependencies, Qt module name
# Qt components provided
# included in "standard" installation of Qt (empty string is no, explanation string is yes)
# variant overrides
# revision number
# license replacement
# }
#
# module info found at https://doc.qt.io/qt-5.14/qtmodules.html
#
###############################################################################
array set modules {
qt3d {
{
fec16bf7abf90c51804e642f0173e47e6cc9a2a2
404cacc8c33c1b6d796c691569915e5758addf63bdc6c9ddc3c066864a3b7ed4
81935728
}
""
"port:assimp"
"qtbase qtdeclarative qtimageformats qtgamepad"
{"Qt 3D"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtbase {
{
9eab2837e3296daed8f8551d29dfbf9fb33211df
0c42c799aa7c89e479a07c451bf5a301e291266ba789e81afc18f95049524edc
50247388
}
""
"port:zlib port:libpng path:include/turbojpeg.h:libjpeg-turbo port:freetype path:bin/dbus-daemon:dbus path:lib/pkgconfig/glib-2.0.pc:glib2 port:icu port:pcre2 path:lib/pkgconfig/harfbuzz.pc:harfbuzz port:double-conversion port:zstd"
""
{"Qt Core" "Qt GUI" "Qt Network" "Qt SQL" "Qt Test" "Qt Widgets" "Qt Concurrent" "Qt D-Bus" "Qt OpenGL" "Qt Platform Headers" "Qt Print Support" "Qt XML"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtcharts {
{
6f041117f513926b7f3d61c4c539d9897cc29152
119355be6810546ebe525cf57b485c55f2325167a732e4e6f26e9d81420c0578
4254052
}
""
""
"qtbase qtdeclarative qtmultimedia"
{"Qt Charts"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtconnectivity {
{
2e9f08f4635319e4fa7044249a0daa4c5f136d35
27153d8e037bab415543a824d12b282e25ca192241db07b30e77c91c78b74d2c
2817040
}
""
""
"qtbase qtdeclarative"
{"Qt Bluetooth" "Qt NFC"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtdatavis3d {
{
0ca805b8b76f972e55a61e59fa2a40c5b60ff821
fd9c977db21fc748e518cc6a172eb2eee46a2a04bfe3751cf74d9ac128e69f69
5193068
}
""
""
"qtbase qtdeclarative qtmultimedia"
{"Qt Data Visualization"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtdeclarative {
{
c29e36b8d72bdf4987cef5b1e6e4511909fa9e59
5cc169d91efb15a1ee7f484862f872c3eaba592dacf3c0fbcb55c0f3c208254a
21581628
}
"port:python27"
""
"qtbase qtsvg"
{"Qt QML" "Qt Quick" "Qt Quick Layouts" "Qt Quick Widgets"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtdoc {
{
1f45ea8394589b73d9e44b9f4115ef176ad62a07
52320282eff19556f0ab2434a139091a4e401bb83e2d6ef5aaf0868643277cdf
5747564
}
""
""
"qtdeclarative qttools qtmultimedia qtquickcontrols qtquickcontrols2 sqlite-plugin"
{"Qt Reference Documentation"}
"requires all documentation"
"variant overrides: ~examples ~tests ~debug noarch ~docs"
"revision 0"
"License: "
}
qtgamepad {
{
81c35956dd36e1c716a31ca05001bcf98a1d678f
6095dfe2903adbc46f432ff2b9cc933c55a8182fbefd5617b91416011c6a4471
388708
}
""
"port:libsdl2"
"qtbase qtdeclarative"
{"Qt Gamepad"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtgraphicaleffects {
{
16f0e0ae7a0f1320f1cbd949323281a38564adc9
237fd5ead50866128a7ae3820f454d0e6b955e648892429fc3b99b8b7fb1f677
14043788
}
""
""
"qtdeclarative"
{"Qt Graphical Effects"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtimageformats {
{
c1f74868be94562b74015449004744f000b259bd
4aa058e123b96c2c17cd9cf11cabbd5471b9db950d61ced23f5caa00c5174bf6
1829872
}
""
"path:lib/pkgconfig/jasper.pc:jasper port:libmng port:tiff port:webp"
"qtbase"
{"Qt Image Formats"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtlocation {
{
4731b89c6e65948d76669285a1339713d496f834
629d1ba923d39e765c5a1ce420a460a048d6257586110067caf78dde19849056
6559912
}
""
"port:icu port:zlib"
"qtbase qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport"
{"Qt Location" "Qt Positioning"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtlottie {
{
91b53b7c9a0dae31e7ecb093a687a020fd228d81
efac34bbde99922b639e55fdd3b9e8b272676138302025835fe4a3a301d6800b
84116
}
""
""
"qtbase qtdeclarative"
{"A QML API for rendering graphics and animations in JSON format"}
"technology preview module"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtmacextras {
{
5e4e96c640f000e73d92516ad4c71108088b4bb5
fe318265345819e16f7924925f9daca2ca6a9a8c3f1eb518bce4376528bbaa2a
71220
}
""
""
"qtbase"
{"Qt Mac Extras"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtmultimedia {
{
4dffa3881a8f96282e8f10fd875332b02cda5de4
bc9ff46c687570b2efa3f31b9b8225c0da672e81f484166b41f5b1ec828fe660
3832656
}
""
""
"qtbase qtdeclarative"
{"Qt Multimedia" "Qt Multimedia Widgets"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtnetworkauth {
{
eb3fae196faf5c6e9b16554fdd4f32eca5263fe9
c10959a40ea74423630cacaa6be1acca535dbf56401bfd3003efd25cc2f9f530
143584
}
""
""
"qtbase"
{"Qt Network Authorization"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtpurchasing {
{
dfc808a3128032e9d4d6d192334f6d5ff91a679c
a7373769cb55f1010d3fd7b23a496ff6391b5bdcf11dfda029ef8d633fafe613
210480
}
""
""
"qtbase qtdeclarative"
{"Qt Purchasing"}
"in-app purchases is of limited value on desktop"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtquick3d {
{
f4b28cd8b96c2352d6dac189eaafa86ec3118232
0014cb005baff95dcd1f7343d68812418df4efc039c1793b3dd0479646a19c10
55762892
}
""
"port:assimp"
"qtbase qtdeclarative"
{"Provides a high-level API for creating 3D content or UIs based on Qt Quick."}
"technology preview module; GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtquickcontrols {
{
35f5b4c841953b86577205c860611ff5e6e8b202
596b181b6ebe4aa2f90e9de512cc306c08b29a9798e49cbedc4bb4c778115c56
5985492
}
""
""
"qtdeclarative qtgraphicaleffects"
{"Qt Quick Controls" "Qt Quick Dialogs" "Qt Quick Extras"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtquickcontrols2 {
{
507f5d26bf747cc5249ee7a362ce9da564dd1d13
c4a37bace5a0f6a9ec997097a5e331b438f4b5019d925aa2673fcc036825afb3
8290736
}
""
""
"qtgraphicaleffects qtimageformats"
{"Qt Quick Controls 2"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtquicktimeline {
{
18a87d4ccf8d0f2fadb1b51e2ca8c2e6e98e351a
44ced9a3a75f18dfd2b04923a38011d809bdfcc754f3a656bcc4bd59d413b1c7
104344
}
""
""
"qtbase qtdeclarative"
{"A platform target to compile Qt applications for the web browsers using WebAssembly."}
"technology preview module; GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtremoteobjects {
{
7fb837831328c59267ed498233b374c73e62bdab
7a4e1049883d184532d821f159a56aa15012070c364a451a03d6e9be28661dd4
377896
}
""
""
"qtbase qtdeclarative"
{"Qt Remote Objects"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtscript {
{
e3c47ac60690d3ac1104c442e647290ffa18393a
f522b6d4d5aba0ffa7ae716a6b333fe459e6695627304aafa3fd90c8d005d39f
2665268
}
""
""
"qtbase"
{"Qt Script" "Qt Script Tools"}
"deprecated in favor QJS* in Qt QML"
"variant overrides: "
"revision 0"
"License: "
}
qtscxml {
{
94a7577f9d1d0e476a43e09700c427ae4074a4a9
17debc4fbe7bc3d98624b43d47e22a0a8b871173af7afa6447d0049e35aec575
436640
}
""
""
"qtbase qtdeclarative"
{"Qt SCXML"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtsensors {
{
9ad9dc861d3e4cd7d31f9e49da2df4a08ea5dbfc
6d681d6a26ee1fcf6dbedc211015f10fcc481c3f88e721d68ad10aa025a9907e
2058852
}
""
""
"qtbase qtdeclarative"
{"Qt Sensors"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtserialbus {
{
da950705d1afad7c76997140a51c47f1bf054b29
321dc9bdd146e6a525c545290e2f004e8dc6436b4efd50c480c03abc65a80fa0
358296
}
""
""
"qtbase qtserialport"
{"Qt Serial Bus"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtserialport {
{
40a6ec449865245d02a018ad5416ec11c73061f2
549d096a9fd20c5d48bd014201afb88b570bce2be752aeaac2b2c80cb96ce275
323168
}
""
""
"qtbase"
{"Qt Serial Port"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtspeech {
{
1a646dafc2224b52ac7d063de679b8d399ce5e80
a45e5960738fff11b79876605dbaf58ffae8e5e60fcde7bfc6b678f95bba5377
103640
}
""
""
"qtbase qtdeclarative qtmultimedia"
{"Qt Speech"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtsvg {
{
da9c96dc4f3c3105f7093bc8f0c76f83d1f0fc1b
c4cf9e640ad43f157c6b14ee7624047f5945288991ad5de83c9eec673bacb031
1888600
}
""
""
"qtbase"
{"Qt SVG"}
""
"variant overrides: "
"revision 0"
"License: "
}
qttools {
{
879b6b1ffb0a4e5e8a4541f5f1187c18f53a5674
6d0778b71b2742cb527561791d1d3d255366163d54a10f78c683a398f09ffc6c
8898140
}
""
"port:clang-${llvm_version}"
"qtbase qtdeclarative"
{"Qt Designer" "Qt Help" "Qt UI Tools"}
""
"variant overrides: "
"revision 0"
"License: "
}
qttranslations {
{
e1c604e56c693900068ba009b9ba508f1817d28f
c92af4171397a0ed272330b4fa0669790fcac8d050b07c8b8cc565ebeba6735e
1618860
}
""
""
"qttools"
{"translation files"}
""
"variant overrides: ~examples ~tests ~debug noarch ~docs"
"revision 0"
"License: "
}
qtvirtualkeyboard {
{
70ecd8af5742b956be3b9f72aed022d86adc0689
d96cf8203b136a438c7d75b14bde70db660a791f3ac3bf6f4d0bfa6831bf0ab6
10957016
}
""
"port:hunspell"
"qtbase qtdeclarative qtsvg qtmultimedia qtquickcontrols"
{"Qt Virtual Keyboard"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtwebchannel {
{
49171fc9dd1b35a44ecf1afeb68080b6522718f3
4ed231aba0a50b222040166ca7329f5648ca2345013b6fd4780f5e8adb6515f1
210712
}
""
""
"qtbase qtdeclarative qtwebsockets"
{"Qt WebChannel"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtwebengine {
{}
"port:python27 port:py27-ply path:bin/ninja:ninja port:gperf port:bison port:flex port:qt5-qtwebengine-gn"
"port:fontconfig port:dbus path:lib/pkgconfig/harfbuzz.pc:harfbuzz path:lib/pkgconfig/glib-2.0.pc:glib2 port:zlib port:minizip port:libevent port:libxml2 port:jsoncpp port:protobuf3-cpp path:lib/pkgconfig/poppler.pc:poppler port:pulseaudio port:icu path:lib/libavcodec.dylib:ffmpeg port:libopus port:webp port:libpng port:lcms2 port:freetype port:re2 port:snappy"
"qtdeclarative qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools"
{"Qt WebEngine"}
"very large and relatively new"
"variant overrides: "
"revision 0"
"License: "
}
qtwebglplugin {
{
37e6811eb4dd1710684d44bae23127aed639d538
2e592b1201bc384308077298d5d708cf22470637db6371e3a207f0e9b52617d4
75840
}
""
""
"qtbase qtwebsockets qtdeclarative"
{"QPA plugin for running an application via a browser using streamed WebGL commands"}
"technology preview module; GPLv3 license only"
"variant overrides: ~docs ~examples"
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtwebkit {
{
8a26829a50529383256107133bd2bee44981b547
c7ce0bbaea5ed89bba04fdf893e3030c8887f15f45dee5958d645a9f577952e1
35301876
}
"port:python27 port:bison port:flex"
"port:fontconfig port:icu port:leveldb port:webp port:libxml2 port:libxslt port:zlib port:sqlite3 path:include/turbojpeg.h:libjpeg-turbo"
"qtbase qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns"
{"Qt WebKit" "Qt WebKit Widgets"}
"community support only (use Qt WebEngine)"
"variant overrides: "
"revision 2"
"License: "
}
qtwebkit-examples {
{
21e9ec7d6b6ebe0e96dde0f59324a814b57048bc
e4ce4de6b468243abad2baabbe8ddfb05d25b186529bfe88cb8662fc983f54d0
3426504
}
""
""
"qtwebkit qtdeclarative qtlocation qttools qtwebchannel qtwebengine"
{"examples for Qt WebKit"}
"community support only (use Qt WebEngine)"
"variant overrides: ++examples ~docs "
"revision 4"
"License: "
}
qtwebsockets {
{
24b940567691267d093839042acf7c88f0699bf4
66ab8b5bb2e64392fe43786ca1c2fd4be3306fbc4b969aa1748e568b5d062238
260676
}
""
""
"qtbase qtdeclarative"
{"Qt WebSockets"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtwebview {
{
e8cacfee8b289d2ec013c00125463cde3ee3114a
5439a6fe0a4a4350ec3ddaaac6ec0cebb718db99c7a146fea0b87839fc543c2b
135256
}
""
""
"qtdeclarative qtwebengine"
{"Qt WebView"}
"new in 5.6.0; requires qtwebengine"
"variant overrides: "
"revision 0"
"License: "
}
qtxmlpatterns {
{
86c0399a211ca82a7f27a1c05a81c5458dc82123
0557b711207c4fa5cef1c288aef506fd127dd3f27a5e9d1c788cc4325f90bb18
5210040
}
""
""
"qtbase qtdeclarative"
{"Qt XML Patterns"}
""
"variant overrides: "
"revision 0"
"License: "
}
}
############################################################################### SQL Plugin Format
#
# {
# variant name
# dependency, library
# include directory
# library directory
# library name
# obsolete? (empty string is no)
# }
#
###############################################################################
array set sql_plugins {
{sqlite SQLite "revision 0"} {
{
"sqlite3"
"port:sqlite3"
"${prefix}/include"
"${prefix}/lib"
"-lsqlite3"
""
}
}
{psql PostgreSQL "revision 0"} {
{
"postgresql13"
"port:postgresql13"
"${prefix}/include/postgresql13"
"${prefix}/lib/postgresql13"
"-lpq"
""
}
{
"postgresql12"
"port:postgresql12"
"${prefix}/include/postgresql12"
"${prefix}/lib/postgresql12"
"-lpq"
""
}
{
"postgresql11"
"port:postgresql11"
"${prefix}/include/postgresql11"
"${prefix}/lib/postgresql11"
"-lpq"
""
}
{
"postgresql10"
"port:postgresql10"
"${prefix}/include/postgresql10"
"${prefix}/lib/postgresql10"
"-lpq"
""
}
{
"postgresql96"
"port:postgresql96"
"${prefix}/include/postgresql96"
"${prefix}/lib/postgresql96"
"-lpq"
""
}
{
"postgresql95"
"port:postgresql95"
"${prefix}/include/postgresql95"
"${prefix}/lib/postgresql95"
"-lpq"
""
}
{
"postgresql94"
"port:postgresql94"
"${prefix}/include/postgresql94"
"${prefix}/lib/postgresql94"
"-lpq"
""
}
{
"postgresql84"
"port:postgresql84"
"${prefix}/include/postgresql84"
"${prefix}/lib/postgresql84"
"-lpq"
""
}
}
{mysql MySQL "revision 0"} {
{
"mariadb55"
"port:mariadb"
"${prefix}/include/mariadb/mysql"
"${prefix}/lib/mariadb/mysql"
"-lmysqlclient_r"
""
}
{
"mariadb10_5"
"port:mariadb-10.5"
"${prefix}/include/mariadb-10.5/mysql"
"${prefix}/lib/mariadb-10.5/mysql"
"-lmysqlclient_r"
""
}
{
"mariadb10_4"
"port:mariadb-10.4"
"${prefix}/include/mariadb-10.4/mysql"
"${prefix}/lib/mariadb-10.4/mysql"
"-lmysqlclient_r"
""
}
{
"mariadb10_3"
"port:mariadb-10.3"
"${prefix}/include/mariadb-10.3/mysql"
"${prefix}/lib/mariadb-10.3/mysql"
"-lmysqlclient_r"
""
}
{
"mariadb10_2"
"port:mariadb-10.2"
"${prefix}/include/mariadb-10.2/mysql"
"${prefix}/lib/mariadb-10.2/mysql"
"-lmysqlclient_r"
""
}
{
"mariadb10_1"
"port:mariadb-10.1"
"${prefix}/include/mariadb-10.1/mysql"
"${prefix}/lib/mariadb-10.1/mysql"
"-lmysqlclient_r"
""
}
{
"mysql8"
"port:mysql8"
"${prefix}/include/mysql8/mysql"
"${prefix}/lib/mysql8/mysql"
"-lmysqlclient"
""
}
{
"mysql57"
"port:mysql57"
"${prefix}/include/mysql57/mysql"
"${prefix}/lib/mysql57/mysql"
"-lmysqlclient_r"
""
}
{
"mysql56"
"port:mysql56"
"${prefix}/include/mysql56/mysql"
"${prefix}/lib/mysql56/mysql"
"-lmysqlclient_r"
""
}
}
}
# because CPATH is set, pkgconfig does not include ${prefix}/lib and ${prefix}/include even when requested
# this means that files in ${prefix}/lib and ${prefix}/include are the *last* to be found
# this causes problems when there are files in ${worksrpath} that are unintentionally found instead
configure.env-append \
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
build.env-append \
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
if { ${os.platform} eq "darwin" && ${os.major} < 16 } {
known_fail yes
pre-fetch {
ui_error "${subport} requires macOS 10.12 or later"
return -code error "incompatible OS version"
}
}
foreach {module module_info} [array get modules] {
set revision_string [string trim [lindex ${module_info} 7]]
set revision_string [string range ${revision_string} 1+[string last " " ${revision_string}] end]
subport ${name}-${module} {
if { ${module} ne "qtwebengine" } {
distname ${module}-${middle_name}-src-${version}
if { ${module} ne "qtwebkit" } {
worksrcdir ${module}-${worksrcdir_middle_name}-src-${version}
}
}
revision ${revision_string}
# see https://bugreports.qt.io/browse/QTBUG-35514
build.target
if { ${module} ne "qtwebengine" } {
checksums \
rmd160 [lindex [lindex ${module_info} 0] 0] \
sha256 [lindex [lindex ${module_info} 0] 1] \
size [lindex [lindex ${module_info} 0] 2]
}
set license_string [lindex ${module_info} 8]
set license_string [string range ${license_string} 1+[string first ":" ${license_string}] end]
set license_string [string trim ${license_string}]
if { ${license_string} ne "" } {
license {*}${license_string}
}
foreach deps [lindex ${module_info} 1] {
depends_build-append [subst ${deps}]
}