2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL)". You may
4 # only use this file in accordance with the terms of the CDDL.
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
12 # Copyright 2014 EveryCity Ltd. All rights reserved.
13 # Copyright 2015 Alexander Pyhalov
14 # Copyright 2017 Aurelien Larcher
15 # Copyright 2019 Michal Nowak
16 # Copyright 2022 Daniel Chan
19 USE_PARALLEL_BUILD
= yes
20 include ..
/..
/..
/make-rules
/shared-macros.mk
23 COMPONENT_VERSION_MJR
= 5.15
24 COMPONENT_VERSION
= $(COMPONENT_VERSION_MJR
).15
25 COMPONENT_SUMMARY
= Qt cross-platform application and UI framework
26 COMPONENT_PROJECT_URL
= https
://www.qt.io
/
27 COMPONENT_SRC
= $(COMPONENT_NAME
)-everywhere-src-
$(COMPONENT_VERSION
)
28 COMPONENT_ARCHIVE
= $(COMPONENT_NAME
)-everywhere-opensource-src-
$(COMPONENT_VERSION
).
tar.xz
29 COMPONENT_ARCHIVE_HASH
= sha256
:b423c30fe3ace7402e5301afbb464febfb3da33d6282a37a665be1e51502335e
30 COMPONENT_ARCHIVE_URL
= https
://download.qt.io
/official_releases
/qt
/$(COMPONENT_VERSION_MJR
)/$(COMPONENT_VERSION
)/single
/$(COMPONENT_ARCHIVE
)
31 COMPONENT_FMRI
= library
/qt5
32 COMPONENT_CLASSIFICATION
= Desktop
(GNOME
)/Libraries
33 COMPONENT_LICENSE
= QT5
34 COMPONENT_LICENSE_FILE
= qt5.license
36 TEST_TARGET
= $(NO_TESTS
)
37 include $(WS_MAKE_RULES
)/common.mk
39 PATH
= $(PG_BINDIR
):$(MYSQL_BINDIR
):$(GCC_BINDIR
):$(PATH.gnu
)
41 QT_PREFIX
= $(QT5_BASEDIR
)
43 QT_ARCHSUBDIR
.64= $(MACH64
)
44 QT_PLATFORM
.64= solaris-g
++-64
47 CONFIGURE_ENV
+= OPENSSL_LIBS
='-L$(OPENSSL_LIBDIR) -lssl -lcrypto'
48 CONFIGURE_ENV
+= OPENSSL_INCLUDE_PATH
=$(OPENSSL_INCDIR
)
50 CONFIGURE_OPTIONS
= -prefix $(QT_PREFIX
)
51 #CONFIGURE_OPTIONS += -verbose
52 CONFIGURE_OPTIONS
+= -opensource
53 CONFIGURE_OPTIONS
+= -confirm-license
54 CONFIGURE_OPTIONS
+= -nomake examples
55 CONFIGURE_OPTIONS
+= -nomake tests
56 CONFIGURE_OPTIONS
+= -c
++std c
++17
57 CONFIGURE_OPTIONS
+= -disable-reduce-exports
58 CONFIGURE_OPTIONS
+= -xcb
59 CONFIGURE_OPTIONS
+= -xcb-xlib
60 CONFIGURE_OPTIONS
+= -bundled-xcb-xinput
61 CONFIGURE_OPTIONS
+= -bindir $(QT_PREFIX
)/bin
/$(QT_ARCHSUBDIR.
$(BITS
))
62 CONFIGURE_OPTIONS
+= -libdir $(QT_PREFIX
)/lib
/$(QT_ARCHSUBDIR.
$(BITS
))
63 CONFIGURE_OPTIONS
+= -plugindir
$(QT_PREFIX
)/plugins
/$(QT_ARCHSUBDIR.
$(BITS
))
64 CONFIGURE_OPTIONS
+= -importdir
$(QT_PREFIX
)/imports
/$(QT_ARCHSUBDIR.
$(BITS
))
65 CONFIGURE_OPTIONS
+= -qmldir
$(QT_PREFIX
)/qml
/$(QT_ARCHSUBDIR.
$(BITS
))
66 CONFIGURE_OPTIONS
+= -platform
$(QT_PLATFORM.
$(BITS
))
67 CONFIGURE_OPTIONS
+= -plugin-sql-mysql
68 CONFIGURE_OPTIONS
+= -plugin-sql-psql
69 CONFIGURE_OPTIONS
+= -plugin-sql-sqlite
70 CONFIGURE_OPTIONS
+= -system-sqlite
71 #CONFIGURE_OPTIONS += -tiff
72 #CONFIGURE_OPTIONS += -syslog
73 #CONFIGURE_OPTIONS += -pcre
74 #CONFIGURE_OPTIONS += -libpng
75 #CONFIGURE_OPTIONS += -libjpeg
76 #CONFIGURE_OPTIONS += -harfbuzz
77 #CONFIGURE_OPTIONS += -freetype
78 #CONFIGURE_OPTIONS += -zlib
79 CONFIGURE_OPTIONS
+= -openssl-linked
80 #CONFIGURE_OPTIONS += -dbus-runtime
81 #CONFIGURE_OPTIONS += -sanitize address
82 CONFIGURE_OPTIONS
+= OPENSSL_INCDIR
=$(OPENSSL_INCDIR
)
83 CONFIGURE_OPTIONS
+= OPENSSL_LIBDIR
=$(OPENSSL_LIBDIR
)
84 CONFIGURE_OPTIONS
+= $(CONFIGURE_OPTIONS.
$(BITS
))
86 COMPONENT_INSTALL_ENV
+= INSTALL_ROOT
=$(PROTO_DIR
)
88 # Set runpaths to sql/egl plugins
89 QT_LIBDIR
= $(QT_PREFIX
)/lib
/$(QT_ARCHSUBDIR.
$(BITS
))
90 QT_SQLDIR
= $(QT_PREFIX
)/plugins
/$(QT_ARCHSUBDIR.
$(BITS
))/sqldrivers
91 QT_EGLDIR
= $(QT_PREFIX
)/plugins
/$(QT_ARCHSUBDIR.
$(BITS
))/egldeviceintegrations
92 QT_XORGDIR
= $(QT_PREFIX
)/lib
/xorg
/$(QT_ARCHSUBDIR.
$(BITS
))
94 COMPONENT_POST_INSTALL_ACTION
= ( \
95 /usr
/bin
/elfedit
-e
'dyn:runpath "$(GCC_LIBDIR):$(QT_LIBDIR):$(MYSQL_LIBDIR)"' \
96 $(PROTO_DIR
)$(QT_SQLDIR
)/libqsqlmysql.so
; \
97 /usr
/bin
/elfedit
-e
'dyn:runpath "$(GCC_LIBDIR):$(QT_LIBDIR):$(PG_LIBDIR)"' \
98 $(PROTO_DIR
)$(QT_SQLDIR
)/libqsqlpsql.so
; \
99 /usr
/bin
/elfedit
-e
'dyn:runpath "$(GCC_LIBDIR):$(QT_LIBDIR):$(QT_XORGDIR)"' \
100 $(PROTO_DIR
)$(QT_EGLDIR
)/libqeglfs-kms-integration.so
; \
101 /usr
/bin
/elfedit
-e
'dyn:runpath "$(GCC_LIBDIR):$(QT_LIBDIR):$(QT_XORGDIR)"' \
102 $(PROTO_DIR
)$(QT_EGLDIR
)/libqeglfs-kms-egldevice-integration.so
; \
103 /usr
/bin
/elfedit
-e
'dyn:runpath "$(GCC_LIBDIR):$(QT_LIBDIR)"' \
104 $(PROTO_DIR
)$(QT_LIBDIR
)/libQt5EglFsKmsSupport.so.
$(COMPONENT_VERSION
); \
108 REQUIRED_PACKAGES
+= $(CLANG_DEVELOPER_PKG
)
109 REQUIRED_PACKAGES
+= $(MYSQL_CLIENT_PKG
)
110 REQUIRED_PACKAGES
+= $(PG_DEVELOPER_PKG
)
111 REQUIRED_PACKAGES
+= database
/freetds
112 REQUIRED_PACKAGES
+= system
/header
/header-drm
113 REQUIRED_PACKAGES
+= x11
/keyboard
/data-xkb
114 REQUIRED_PACKAGES
+= x11
/library
/libpthread-stubs
115 #REQUIRED_PACKAGES += x11/library/libxi
117 # Auto-generated dependencies
118 REQUIRED_PACKAGES
+= $(CLANG_RUNTIME_PKG
)
119 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
120 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
121 REQUIRED_PACKAGES
+= $(ICU_LIBRARY_PKG
)
122 REQUIRED_PACKAGES
+= $(MYSQL_LIBRARY_PKG
)
123 REQUIRED_PACKAGES
+= $(OPENSSL_PKG
)
124 REQUIRED_PACKAGES
+= $(PG_LIBRARY_PKG
)
125 REQUIRED_PACKAGES
+= SUNWcs
126 REQUIRED_PACKAGES
+= codec
/jasper
127 REQUIRED_PACKAGES
+= compress
/zstd
128 REQUIRED_PACKAGES
+= database
/sqlite-3
129 REQUIRED_PACKAGES
+= image
/library
/libpng16
130 REQUIRED_PACKAGES
+= image
/library
/libtiff
131 REQUIRED_PACKAGES
+= library
/audio
/gstreamer1
132 REQUIRED_PACKAGES
+= library
/audio
/gstreamer1
/plugin
/base
133 REQUIRED_PACKAGES
+= library
/audio
/openal
134 REQUIRED_PACKAGES
+= library
/audio
/pulseaudio
135 REQUIRED_PACKAGES
+= library
/c
++/harfbuzz
136 REQUIRED_PACKAGES
+= library
/desktop
/gtk3
137 REQUIRED_PACKAGES
+= library
/desktop
/pango
138 REQUIRED_PACKAGES
+= library
/desktop
/speech-dispatcher
139 REQUIRED_PACKAGES
+= library
/double-conversion
140 REQUIRED_PACKAGES
+= library
/freetds
141 REQUIRED_PACKAGES
+= library
/glib2
142 REQUIRED_PACKAGES
+= library
/graphics
/libmng
143 REQUIRED_PACKAGES
+= library
/libwebp
144 REQUIRED_PACKAGES
+= library
/md4c
145 REQUIRED_PACKAGES
+= library
/pcre2
146 REQUIRED_PACKAGES
+= library
/print/cups-libs
147 REQUIRED_PACKAGES
+= library
/sdl2
148 REQUIRED_PACKAGES
+= library
/zlib
149 REQUIRED_PACKAGES
+= system
/library
150 REQUIRED_PACKAGES
+= system
/library
/fontconfig
151 REQUIRED_PACKAGES
+= system
/library
/freetype-2
152 REQUIRED_PACKAGES
+= system
/library
/libdbus
153 REQUIRED_PACKAGES
+= system
/library
/math
154 REQUIRED_PACKAGES
+= text
/hunspell
155 REQUIRED_PACKAGES
+= x11
/library
/libice
156 REQUIRED_PACKAGES
+= x11
/library
/libsm
157 REQUIRED_PACKAGES
+= x11
/library
/libx11
158 REQUIRED_PACKAGES
+= x11
/library
/libxcb
159 REQUIRED_PACKAGES
+= x11
/library
/libxkbcommon
160 REQUIRED_PACKAGES
+= x11
/library
/mesa
161 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-image
162 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-keysyms
163 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-renderutil
164 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-wm