-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Portfile
1392 lines (1264 loc) · 49.6 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
PortGroup active_variants 1.1
PortGroup qt6_info 1.0
PortGroup compiler_blacklist_versions 1.0
name qt6
categories aqua
platforms {macosx >= 18} ; # upon change, please update qt6 PG
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
# for OpenSSLException, see source and header files in src/network/ssl of qtbase
# see also https://doc.qt.io/qt-6.4/qtnetwork-index.html#licenses-and-attributions
license {LGPL-3 GPL-3 OpenSSLException}
homepage https://www.qt.io
version 6.4.3
# get Qt's version numbers
set branch [join [lrange [split ${version} .] 0 1] .]
set qt_major [lindex [split ${version} .] 0]
# see https://www.qt.io/blog/qt-6.0-released
compiler.cxx_standard 2017
# qcompilerdetection.h emits:
# error: "Unsupported Apple Clang version"
# which also means Q_CC_CLANG will not be set.
# That causes the check for __has_feature(cxx_unicode_literals) to be skipped, causing
# error: "Qt6 requires Unicode string support in both the compiler and the standard library"
# to be emitted, even when the unsupported Apple Clang version does support Unicode string literals.
compiler.blacklist-append {clang < 1100}
master_sites https://download.qt.io/official_releases/qt/${branch}/${version}/submodules
# file sizes are significantly smaller using xz
use_xz yes
supported_archs arm64 x86_64
# conflict with all other versions of qt6
foreach {qt_base qt_info} ${qt6::available_versions} {
if { ${qt_base} ne ${name} } {
conflicts-append port:${qt_base}-qtbase
}
}
# MacPorts LLVM/Clang version to use when required
set llvm_version 17
# MacPorts Python branch & version to use when required
set python_branch 3.11
set python_version [join [split ${python_branch} .] ""]
############################################################################### Modules Not Considered
#
# No qtactiveqt (Windows Only)
# No qtwayland (Linux Only)
#
###############################################################################
############################################################################### Qt Dependencies
#
# https://code.qt.io/cgit/qt/qt5.git/tree/.gitmodules?h=6.4.3
#
###############################################################################
############################################################################### 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-6.4/qtmodules.html
#
###############################################################################
array set modules {
qtbase {
{
3cadb6bd4cefcb2db1f47e780520d3f3d863fa1d
5087c9e5b0165e7bc3c1a4ab176b35d0cd8f52636aea903fa377bdba00891a60
48078536
}
""
"port:brotli path:bin/dbus-daemon:dbus port:double-conversion port:freetype
path:lib/pkgconfig/glib-2.0.pc:glib2 path:lib/pkgconfig/harfbuzz.pc:harfbuzz
path:lib/pkgconfig/icu-uc.pc:icu path:include/turbojpeg.h:libjpeg-turbo port:libb2
port:libpng port:md4c path:lib/pkgconfig/libpcre2-posix.pc:pcre2
port:zlib path:lib/pkgconfig/libzstd.pc: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 6"
"License: "
}
qtsvg {
{
2a021623559aca5a8d23298544b3d32fd8597e42
88315f886cf81898705e487cedba6e6160724359d23c518c92c333c098879a4a
1726464
}
""
"port:zlib"
"qtbase"
{"Qt SVG"}
""
"variant overrides: "
"revision 1"
"License: "
}
qtdeclarative {
{
91fafeb58501d02b49a9d97ff39759cb82ccaad9
67ded1b3b988135e3600916b34bb156fe3986c88420c6f87a6d0fd53521ba795
30556972
}
""
""
"qtbase qtimageformats qtshadertools qtsvg qtlanguageserver"
{"Qt QML" "Qt Quick" "Qt Quick Layouts" "Qt Quick Widgets"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtmultimedia {
{
c085075a84da5e9d9fa8b613dcdc318138ef10da
a4a72469e12da1e59ee032ab2e6677d620a5663c354d0ba88906d2bec1567d00
5941312
}
""
"path:lib/libavcodec.dylib:ffmpeg port:pulseaudio"
"qtbase qtshadertools qtdeclarative qtquick3d"
{"Qt Multimedia"}
""
"variant overrides: "
"revision 1"
"License: "
}
qttools {
{
047a22392a4f500c6bf70c50432e16543e7505f0
867df829cd5cd3ae8efe62e825503123542764b13c96953511e567df70c5a091
8738280
}
""
"port:clang-${llvm_version}"
"qtbase qtdeclarative"
{"Qt Designer" "Qt Help" "Qt UI Tools"}
""
"variant overrides: "
"revision 1"
"License: "
}
qttranslations {
{
47f6a8448cc96dc28119aa2748ac42130a12c2c8
79e56b7800d49649a8a8010818538c367a829e0b7a09d5f60bd3aecf5abe972c
1466828
}
"port:qt6-qttools"
""
""
{"translation files"}
""
"variant overrides: ~examples ~tests ~debug noarch ~docs"
"revision 1"
"License: "
}
qtdoc {
{
b39c76dbcb6159b392ad9348146d39befda2da59
73eac34dd629f629ca8cf5827c165b476e834731bb8262c937bc57eef4128183
8633284
}
""
""
"qtdeclarative qttools qtmultimedia"
{"documentation and examples"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtpositioning {
{
11046a934c31c916822b01d60b4e5975153ffcdd
b218b1e1d37c12e2935ae90600d8b42ef68f90617fe8677ec89f0b0f05bcd70c
1494352
}
""
"port:gconf"
"qtbase qtdeclarative qtserialport"
{"Qt Positioning"}
""
"variant overrides: ~examples ~tests"
"revision 0"
"License: "
}
qtsensors {
{
15373f978e5dd1f3b2b09e53646ae8a734b26fcb
5f3964fa2889456736a0bdf07221105fd67853539496e2d3ba2f380a47babc48
2106700
}
""
""
"qtbase qtdeclarative"
{"Qt Sensors"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtconnectivity {
{
df9e16e8b99e00f7261587a3acf582d65f8f1bc9
f98c2014cc4ab7ed69e762ecddd2433b95468942bb1612f648a7e9c94ba44c9d
1108992
}
""
""
"qtbase qtdeclarative"
{"Qt Bluetooth" "Qt NFC"}
""
"variant overrides: "
"revision 0"
"License: "
}
qt3d {
{
819f7dd13b6e6d8ceb0ae96399d36aa43a970698
a88225f997253d1605afced4eaac5c2c4b368fd90cd5e076a90bd7d1b2ae3d71
104002896
}
""
"port:assimp"
"qtbase qtdeclarative qtshadertools"
{"Qt 3D"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtimageformats {
{
a95630b7d6b920d22a3726b8607690359a724e83
0aff58062e74b84617c5da8325d8cdad5368d8f4d2a11ceafcd58329fe99b798
1962440
}
""
"path:lib/pkgconfig/jasper.pc:jasper port:libmng port:tiff port:webp"
"qtbase"
{"Qt Image Formats"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtserialbus {
{
0f962f4b8152df25f8d66eb24b4c41c7bb7f8c10
b6446a7516d1f04e561c00f9c50ce4d39dad72150f067722ba759f00b4b34366
381036
}
""
""
"qtbase qtserialport"
{"Qt Serial Bus"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtserialport {
{
9dcb75b488458cc4a07999ce5768839e00018300
5f97ad9067efa39a8a2a39fbbc1e03d2191f305733d9c2f3060f8017ecfc95de
319400
}
""
""
"qtbase"
{"Qt Serial Port"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtwebsockets {
{
7ac6871f10d33b08abd745d5c0cebaac45a745bd
de27357eb55c5e83ae560371d7f76b36b5b2ba85caf8965c527f1d5d4b8d458f
267624
}
""
""
"qtbase qtdeclarative"
{"Qt WebSockets"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtwebchannel {
{
5cc690a6fa4e1449b2e496a868522a922023bb5f
e955044587f0e74a64c88bbbe4d6be9fd869ac89d66a96cce4752756bcbef3a8
213316
}
""
""
"qtbase qtdeclarative qtwebsockets"
{"Qt WebChannel"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtwebengine {
{
80e059ab1380234fa324888d9b1c3c4009c908c8
55f85af736a1dc79a41b8d95014ba27d8fce0be44293a69e64fece7fa12b2925
440562844
}
"path:bin/node:nodejs20 port:python${python_version} port:py${python_version}-html5lib"
"port:re2 path:lib/pkgconfig/icu-uc.pc:icu port:webp \
port:libopus path:lib/libavcodec.dylib:ffmpeg path:lib/pkgconfig/vpx.pc:libvpx \
port:snappy path:lib/pkgconfig/glib-2.0.pc:glib2 port:zlib port:minizip port:libevent \
port:libxml2 port:libxslt port:lcms2 port:libpng path:include/turbojpeg.h:libjpeg-turbo \
path:lib/pkgconfig/harfbuzz.pc:harfbuzz port:freetype port:pciutils port:pulseaudio"
"qtdeclarative qtwebchannel qttools qtpositioning"
{"Qt WebEngine Qt" "Qt PDF"}
""
"variant overrides: "
"revision 6"
"License: "
}
qtwebview {
{
7d53b1a1189db57431daf83e21d6a33eca0945f7
51951770495e142d8952827b4e1d28565d2cb00fce652dae6eddd9425cf3e843
139820
}
""
""
"qtdeclarative qtwebengine"
{"Qt WebView"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtcharts {
{
991ea524f2d8b66ce5bee6570cb186c573d963a7
4a61e4f5ffb55df69fc58f88255aabca44fb51935b180c03ab81e098d437c346
4386856
}
""
""
"qtbase qtdeclarative qtmultimedia"
{"Qt Charts"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtdatavis3d {
{
2f8650abed7a1c7bd984275856c5fd6ea85b137a
c978ac5db663560b8071ddf62e7d7e82e0c01d109d9292171f5589ce5e787995
5216376
}
""
""
"qtbase qtdeclarative qtmultimedia"
{"Qt Data Visualization"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtvirtualkeyboard {
{
53c7929d232eeee86ba89d28381e80401c2022b1
3f4685226f5b00e65c8b304a47dd96c7d9b843649fba6e75421d055825de0ee5
3723096
}
""
"port:hunspell"
"qtbase qtdeclarative qtsvg qtmultimedia"
{"Qt Virtual Keyboard"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtscxml {
{
25d44a78d1eb9e3efa4492823d3c126e85b51c1f
fe722c016d434c02e713e3c7d5d4a845998efe69d8b645923e83f1f4f7b72f3a
1783744
}
""
""
"qtbase qtdeclarative"
{"Qt SCXML"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtspeech {
{
365368ee5fe0e50a8fe374d39a8a6323dbfbb995
79e0d0195e0a061d384a46eef96ca604e3814043d1a9903f63b3cfc985254ae2
219444
}
""
"port:flite"
"qtbase qtdeclarative qtmultimedia"
{"Qt TextToSpeech"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtnetworkauth {
{
88985827d6cab812578506e59cb085717f80d79a
4d115ba572f4b8c8fbb64f4c26a40723556d252bd337a643f2266f19c7716ae5
145000
}
""
""
"qtbase"
{"Qt Network Authorization"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtremoteobjects {
{
abb63a30db6d355274412817c565305d852ff567
9c9447df79cba249191d8628b6a6910658a7882d14114977f5d69c69440c186a
366136
}
""
""
"qtbase qtdeclarative"
{"Qt Remote Objects"}
""
"variant overrides: "
"revision 0"
"License: "
}
qtlottie {
{
b2a3b0a303a549388c838720fb93bc4c356ece4f
ff6c52e04566ecadee351eb3b803237bf07d417e4bb27d2122a5879618f1693d
91844
}
""
""
"qtbase qtdeclarative"
{"Qt Lottie Animation"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtquicktimeline {
{
387c316629a5c555f1e3719959a70619d6f8e5c6
3808c447c3a3af98c797f12f38d3c371c628c35d34123ce7a7e1f580e55e3da5
113348
}
""
""
"qtbase qtdeclarative"
{"Qt Quick Timeline"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtquick3d {
{
17030605c5065bd1a481f8495f11f50599a47cb4
78a38d565d449b939ffd1b30cacd5ba3e1b97c7a8c0a02fefc810ed5d4dc8050
44048520
}
""
"port:assimp"
"qtbase qtdeclarative qtshadertools"
{"Qt Quick 3D"}
"GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtshadertools {
{
488113b3273e2ec486abba0a5495a5916ff80575
c648b74ce3e769a20bd62792a589c540bceacfedf2f38fc7273d2c39782768f8
1001780
}
""
""
"qtbase"
{"Qt Shader Tools"}
""
"variant overrides: "
"revision 0"
"License: "
}
qt5compat {
{
53ae2a93d8568314c696776311650901e563b3c6
d4b249abb823d575eee9045c24d924ba8d1276e6be7735b287689991d998aa7a
14638428
}
""
"path:lib/pkgconfig/icu-uc.pc:icu port:libiconv"
"qtbase qtdeclarative"
{"Qt 5 Core Compatibility APIs"}
"status = deprecated"
"variant overrides: "
"revision 2"
"License: "
}
qtlanguageserver {
{
f03552565c952d8c97fc77760966e4b9d6059ef7
0e881006442e19c7c4a6d229c342cc685142568e2b41f843e73cddf4c3d37975
153856
}
""
""
"qtbase"
{"Qt Language Server"}
"status = preview"
"variant overrides: "
"revision 0"
"License: "
}
qthttpserver {
{
1fbd0194e5be04caa30d2c04cec81e719eda0c58
c37adcadc779b972ceecd739717c4cc3b90487c3387c61eaf2aa94daaf30c179
121772
}
""
""
"qtbase"
{"Qt HTTP Server"}
"status = preview; GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
qtquick3dphysics {
{
312ff38521a1ce290aaa0c1f9bc44799ea2ecd4e
ab86e8a3c44c31082022259375e7984f9955f81e9de2c846cef563c7562ddb15
2965840
}
""
""
"qtbase qtdeclarative qtquick3d qtshadertools"
{"Qt Quick 3D Physics"}
"status = preview; GPLv3 license only"
"variant overrides: "
"revision 0"
"License: {GPL-3 OpenSSLException}"
}
}
############################################################################### SQL Plugin Format
#
# {
# module name
# {
# SQL name
# revision string
# {list of feature names}
# {
# variant name
# {
# variant name
# library dependencies
# {list of CMake options to find library}
# }
# }
# }
# }
#
###############################################################################
array set sql_plugins {
sqlite {
SQLite
"revision 0"
{sql-sqlite system-sqlite}
{
sqlite3 {
"port:sqlite3"
{
-DSQLite3_INCLUDE_DIR=${prefix}/include
-DSQLite3_LIBRARY=${prefix}/lib/libsqlite3.dylib
}
}
}
}
psql {
PostgreSQL
"revision 0"
{sql-psql}
{
postgresql15 {
"port:postgresql15"
{
-DPostgreSQL_INCLUDE_DIR=${prefix}/include/postgresql15
-DPostgreSQL_TYPE_INCLUDE_DIR=${prefix}/include/postgresql15
-DCMAKE_LIBRARY_PATH=${prefix}/lib/postgresql15
}
}
postgresql14 {
"port:postgresql14"
{
-DPostgreSQL_INCLUDE_DIR=${prefix}/include/postgresql14
-DPostgreSQL_TYPE_INCLUDE_DIR=${prefix}/include/postgresql14
-DCMAKE_LIBRARY_PATH=${prefix}/lib/postgresql14
}
}
postgresql13 {
"port:postgresql13"
{
-DPostgreSQL_INCLUDE_DIR=${prefix}/include/postgresql13
-DPostgreSQL_TYPE_INCLUDE_DIR=${prefix}/include/postgresql13
-DCMAKE_LIBRARY_PATH=${prefix}/lib/postgresql13
}
}
postgresql12 {
"port:postgresql12"
{
-DPostgreSQL_INCLUDE_DIR=${prefix}/include/postgresql12
-DPostgreSQL_TYPE_INCLUDE_DIR=${prefix}/include/postgresql12
-DCMAKE_LIBRARY_PATH=${prefix}/lib/postgresql12
}
}
postgresql11 {
"port:postgresql11"
{
-DPostgreSQL_INCLUDE_DIR=${prefix}/include/postgresql11
-DPostgreSQL_TYPE_INCLUDE_DIR=${prefix}/include/postgresql11
-DCMAKE_LIBRARY_PATH=${prefix}/lib/postgresql11
}
}
}
}
mysql {
MySQL
"revision 1"
{sql-mysql}
{
mariadb10_11 {
"port:mariadb-10.11"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.11/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.11/mysql/libmariadb.dylib
}
}
mariadb10_10 {
"port:mariadb-10.10"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.10/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.10/mysql/libmariadb.dylib
}
}
mariadb10_9 {
"port:mariadb-10.9"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.9/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.9/mysql/libmariadb.dylib
}
}
mariadb10_8 {
"port:mariadb-10.8"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.8/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.8/mysql/libmariadb.dylib
}
}
mariadb10_7 {
"port:mariadb-10.7"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.7/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.7/mysql/libmariadb.dylib
}
}
mariadb10_6 {
"port:mariadb-10.6"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.6/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.6/mysql/libmariadb.dylib
}
}
mariadb10_5 {
"port:mariadb-10.5"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.5/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.5/mysql/libmariadb.dylib
}
}
mariadb10_4 {
"port:mariadb-10.6"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mariadb-10.4/mysql
-DMySQL_LIBRARY=${prefix}/lib/mariadb-10.4/mysql/libmariadb.dylib
}
}
mysql8 {
"port:mysql8"
{
-DMySQL_INCLUDE_DIR=${prefix}/include/mysql8/mysql
-DMySQL_LIBRARY=${prefix}/lib/mysql8/mysql/libmysqlclient.dylib
}
}
}
}
}
foreach {module module_info} [array get modules] {
subport ${name}-${module} {
distname ${module}-everywhere-src-${version}
revision [regexp -inline {[0-9]+} [lindex ${module_info} 7]]
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}]
}
foreach deps [lindex ${module_info} 2] {
depends_lib-append [subst ${deps}]
}
foreach qtdeps [lindex ${module_info} 3] {
depends_lib-append port:${name}-${qtdeps}
}
description Tools and Module(s) for Qt Tool Kit ${qt_major}
set modules_provided_list [lindex ${module_info} 4]
if { [llength ${modules_provided_list}] == 1 } {
set modules_provided_join [lindex ${modules_provided_list} 0]
} elseif { [llength ${modules_provided_list}] == 2 } {
set modules_provided_join [join ${modules_provided_list} " and "]
} else {
set modules_provided_join [join [list [join [lrange ${modules_provided_list} 0 end-1] ", "] [lindex ${modules_provided_list} end]] ", and "]
}
long_description Tools and Module(s) for Qt Tool Kit ${qt_major}: ${modules_provided_join}
if { [lsearch -exact [lindex ${module_info} 6] "~universal"] != -1 } {
universal_variant no
}
if { [lsearch -exact [lindex ${module_info} 6] "noarch"] != -1 } {
supported_archs noarch
platforms any
}
if { [lsearch -exact [lindex ${module_info} 6] "~debug"] == -1 } {
# debugging seems to be turned on if and only if it is turned on in the base
# CMAKE_CONFIGURATION_TYPES is set with the FORCE option
# see https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/QtPostProcessHelpers.cmake
variant debug description {Build both release and debug libraries} {
require_active_variants qt6-qtbase debug ""
}
if {![variant_isset debug]} {
require_active_variants qt6-qtbase "" debug
}
}
if { [lsearch -exact [lindex ${module_info} 6] "~examples"] == -1 } {
variant examples description {Build examples} {}
}
if { [lsearch -exact [lindex ${module_info} 6] "~tests"] == -1 } {
variant tests description {Enable tests} {}
}
}
}
foreach {module module_info} [array get modules] {
if { [lsearch -exact [lindex ${module_info} 6] "~docs"] != -1 } { continue }
subport ${name}-${module}-docs {
distname ${module}-everywhere-src-${version}
revision [regexp -inline {[0-9]+} [lindex ${module_info} 7]]
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}
}
depends_build-append port:${name}-qttools \
port:${name}-sqlite-plugin
# have the same build dependencies
foreach deps [lindex ${module_info} 1] {
depends_build-append [subst ${deps}]
}
depends_lib-append port:${name}-${module}
description Documentation for Qt Tool Kit ${qt_major}
set modules_provided_list [lindex ${module_info} 4]
if { [llength ${modules_provided_list}] == 1 } {
set modules_provided_join [lindex ${modules_provided_list} 0]
} elseif { [llength ${modules_provided_list}] == 2 } {
set modules_provided_join [join ${modules_provided_list} " and "]
} else {
set modules_provided_join [join [list [join [lrange ${modules_provided_list} 0 end-1] ", "] [lindex ${modules_provided_list} end]] ", and "]
}
long_description Documentation for Qt Tool Kit ${qt_major}: ${modules_provided_join}
supported_archs noarch
platforms any
}
}
# see https://doc.qt.io/qt-6/sql-driver.html for info on building SQL Database Drivers
foreach {driver driver_info} [array get sql_plugins] {
set dbms [lindex ${driver_info} 0]
set revision_string [string trim [lindex ${driver_info} 1]]
set revision_string [string range ${revision_string} 1+[string last " " ${revision_string}] end]
set sql_variants [lindex ${driver_info} 3]
subport ${name}-${driver}-plugin {
distname qtbase-everywhere-src-${version}
revision ${revision_string}
checksums rmd160 [lindex [lindex $modules(qtbase) 0] 0] \
sha256 [lindex [lindex $modules(qtbase) 0] 1] \
size [lindex [lindex $modules(qtbase) 0] 2]
depends_lib-append port:${name}-qtbase
description ${dbms} Database Driver for Qt Tool Kit ${qt_major}
long_description ${dbms} Database Driver for Qt Tool Kit ${qt_major}
foreach feature {sql-db2 sql-ibase sql-mysql sql-oci sql-odbc sql-psql sql-sqlite system-sqlite} {
if { ${feature} in [lindex ${driver_info} 2] } {
configure.args-append -feature-${feature}
} else {
configure.args-append -no-feature-${feature}
}
}
set worksrcpath ${worksrcpath}/src/plugins/sqldrivers
set any_sql no
foreach {variant_name variant_info} ${sql_variants} {
set conflict_list ""
foreach {variant_name_other variant_info_other} ${sql_variants} {
if { ${variant_name_other} ne ${variant_name} } {
lappend conflict_list ${variant_name_other}
}
}
if { [llength ${conflict_list}] > 0 } {
variant ${variant_name} conflicts {*}${conflict_list} description "use version [regexp -inline {[0-9].} ${variant_name}] of ${dbms}" {}
}
if { ([variant_exists ${variant_name}] && [variant_isset ${variant_name}]) || [llength ${conflict_list}]==0 } {
set any_sql yes
}
}
if { !${any_sql} } {
default_variants-append +[lindex ${sql_variants} 0]
if { ![variant_isset [lindex ${sql_variants} 0]] } {
known_fail yes
pre-extract {
ui_error "At least one SQL variant must be selected."
return -code error "No SQL variant selected."
}
}
}
foreach {variant_name variant_info} ${sql_variants} {
if { ([variant_exists ${variant_name}] && [variant_isset ${variant_name}]) || [llength ${conflict_list}]==0 } {
depends_lib-append {*}[lindex ${variant_info} 0]
configure.post_args-append {*}[subst [lindex ${variant_info} 1]]
}
}
}
}
###############################################################################
# Special Cases
###############################################################################
subport ${name}-qtdeclarative {
patchfiles-append patch-qtdeclarative-xcode11.3.diff
}
subport ${name}-qttools {
configure.env-append LLVM_INSTALL_DIR=${prefix}/libexec/llvm-${llvm_version}
post-destroot {
# avoid having to add `-Wl,-rpath ${prefix}/libexec/llvm-${llvm_version}/lib` or something like it
foreach bin {lupdate qdoc} {
foreach lib {libclang.dylib libclang-cpp.dylib libLLVM.dylib} {
system "install_name_tool -change @rpath/${lib} ${prefix}/libexec/llvm-${llvm_version}/lib/${lib} ${destroot}${qt6.dir}/bin/${bin}"
}
}
}
}
if { ${subport} in [list "${name}-qtwebengine" "${name}-qtwebengine-docs"] } {
configure.env-append PYTHON3_PATH=${prefix}/Library/Frameworks/Python.framework/Versions/${python_branch}/bin
# in ${worksrcpath}, `${qt6.dir}/bin/qt-configure-module . -help` and `${qt6.dir}/bin/qt-configure-module . -list-features`
# it is not clear why, but icu and ffmpeg support must be added manually
# native-spellchecker support is off by default
# support for proprietary codecs could by added via `-webengine-proprietary-codecs`
configure.args-append -webengine-icu \
-webengine-ffmpeg \
-webengine-native-spellchecker
# avoid
# xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer
# directory '/Library/Developer/CommandLineTools' is a command line tools
# instance
use_xcode yes
}
subport ${name}-qtwebengine {
# manually install icudtl.dat
post-destroot {
xinstall -m 644 ${worksrcpath}/src/3rdparty/chromium/third_party/icu/common/icudtl.dat \
${destroot}${qt6.dir}/lib/QtWebEngineCore.framework/Resources/
}
}
subport ${name}-qtmultimedia {
patchfiles-append patch-qtmultimedia-macos_10.14_sdk.diff
# GStreamer will be found if gstreamer1 and gstreamer1-gst-plugins-base are installed
# however, an error will ensue since the GStreamer support requires "Linux DMA buffer support"
# see
# https://code.qt.io/cgit/qt/qtmultimedia.git/tree/src/plugins/multimedia/gstreamer/CMakeLists.txt
# https://code.qt.io/cgit/qt/qtmultimedia.git/tree/src/multimedia/configure.cmake
configure.args-append -no-gstreamer
# std::unary_function removed in Xcode clang 15
patchfiles-append patch-qtmultimedia_no_std_unary_function.diff
}