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 2022 Daniel Chan
13 # Copyright 2023 Niklas Poslovski
15 include ..
/..
/..
/make-rules
/shared-macros.mk
19 COMPONENT_VERSION_MJR
= $(QT6_VERSION
)
20 COMPONENT_VERSION
= $(COMPONENT_VERSION_MJR
).3
21 COMPONENT_SUMMARY
= Qt cross-platform application and UI framework
22 COMPONENT_PROJECT_URL
= https
://www.qt.io
/
23 COMPONENT_SRC
= $(COMPONENT_NAME
)-everywhere-src-
$(COMPONENT_VERSION
)
24 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.xz
25 COMPONENT_ARCHIVE_HASH
= sha256
:69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104
26 COMPONENT_ARCHIVE_URL
= https
://download.qt.io
/official_releases
/qt
/$(COMPONENT_VERSION_MJR
)/$(COMPONENT_VERSION
)/single
/$(COMPONENT_ARCHIVE
)
27 COMPONENT_FMRI
= library
/qt6
28 COMPONENT_CLASSIFICATION
= Desktop
(GNOME
)/Libraries
29 COMPONENT_LICENSE
= FDLv1.3
, GPLv2
, GPLv3
, LGPLv2.1
, LGPLv3
30 COMPONENT_LICENSE_FILE
= qt6.license
32 TEST_TARGET
= $(NO_TESTS
)
33 include $(WS_MAKE_RULES
)/common.mk
35 PATH
=$(PG_BINDIR
):$(MYSQL_BINDIR
):$(GCC_BINDIR
):$(PATH.gnu
)
37 QT_PREFIX
= $(QT6_BASEDIR
)
39 QT_ARCHSUBDIR
= $(MACH64
)
40 QT_PLATFORM
= solaris-g
++-64
42 LDFLAGS
+= -Wl
,-rpath
,$(QT6_LIBDIR
):$(USRLIBDIR
)/xorg
/$(MACH64
)/:$(CLANG_LIBDIR
):$(MYSQL_LIBDIR
):$(PG_LIBDIR
):$(JPEG_LIBDIR
)
44 CONFIGURE_OPTIONS
= -prefix $(QT_PREFIX
)
45 CONFIGURE_OPTIONS
+= -opensource
46 CONFIGURE_OPTIONS
+= -confirm-license
47 CONFIGURE_OPTIONS
+= -nomake examples
48 CONFIGURE_OPTIONS
+= -nomake tests
49 CONFIGURE_OPTIONS
+= -c
++std c
++11
50 CONFIGURE_OPTIONS
+= -disable-reduce-exports
51 CONFIGURE_OPTIONS
+= -xcb
52 CONFIGURE_OPTIONS
+= -xcb-xlib
53 CONFIGURE_OPTIONS
+= -bundled-xcb-xinput
54 CONFIGURE_OPTIONS
+= -openssl-linked
55 CONFIGURE_OPTIONS
+= -bindir $(QT_PREFIX
)/bin
/$(QT_ARCHSUBDIR
)
56 CONFIGURE_OPTIONS
+= -libexecdir
$(QT_PREFIX
)/bin
/$(QT_ARCHSUBDIR
)
57 CONFIGURE_OPTIONS
+= -libdir $(QT_PREFIX
)/lib
/$(QT_ARCHSUBDIR
)
58 CONFIGURE_OPTIONS
+= -plugindir
$(QT_PREFIX
)/plugins
/$(QT_ARCHSUBDIR
)
59 CONFIGURE_OPTIONS
+= -qmldir
$(QT_PREFIX
)/qml
/$(QT_ARCHSUBDIR
)
60 CONFIGURE_OPTIONS
+= -platform
$(QT_PLATFORM
)
61 CONFIGURE_OPTIONS
+= -plugin-sql-mysql
62 CONFIGURE_OPTIONS
+= -plugin-sql-psql
63 CONFIGURE_OPTIONS
+= -plugin-sql-sqlite
64 CONFIGURE_OPTIONS
+= -plugin-system-sqlite
65 CONFIGURE_OPTIONS
+= -no-pch
66 CONFIGURE_OPTIONS
+= -skip qtgrpc
67 CONFIGURE_OPTIONS
+= CMAKE_PREFIX_PATH
="$(BUILD_DIR)/amd64/qtbase/lib/amd64/cmake"
68 CONFIGURE_OPTIONS
+= MySQL_LIBRARY
=$(MYSQL_LIBDIR
)/libmysqlclient.so
69 CONFIGURE_OPTIONS
+= MySQL_INCLUDE_DIR
=$(MYSQL_INCDIR
)
70 CONFIGURE_OPTIONS
+= PostgreSQL_LIBRARY
=$(PG_LIBDIR
)/libpq.so
71 CONFIGURE_OPTIONS
+= PostgreSQL_INCLUDE_DIR
=$(PG_INCDIR
)
73 COMPONENT_POST_CONFIGURE_ACTION
= mkdir
-p
$(BUILD_DIR
)/amd64
/qtbase
/translations
;
74 COMPONENT_POST_CONFIGURE_ACTION
+= $(GSED
) -i
's;LINK_LIBRARIES =;LINK_LIBRARIES = -lgcc ;' $(@D
)/build.ninja
;
76 COMPONENT_INSTALL_ENV
+= DESTDIR
=$(PROTO_DIR
)
78 include $(WS_MAKE_RULES
)/cmake.mk
80 $(BUILD_DIR
)/%/.configured
: $(SOURCE_DIR
)/.prep
81 ($(RM
) -rf
$(@D
) ; $(MKDIR
) $(@D
))
82 $(COMPONENT_PRE_CONFIGURE_ACTION
)
83 (cd
$(@D
) ; $(ENV
) $(CONFIGURE_ENV
) $(CONFIG_SHELL
) \
84 $(CONFIGURE_SCRIPT
) $(CONFIGURE_OPTIONS
))
85 $(COMPONENT_POST_CONFIGURE_ACTION
)
88 # build the configured source
89 $(BUILD_DIR
)/%/.built
: $(BUILD_DIR
)/%/.configured
90 $(COMPONENT_PRE_BUILD_ACTION
)
91 (cd
$(@D
) ; $(ENV
) $(COMPONENT_BUILD_ENV
) \
92 cmake
--build .
--parallel
)
93 $(COMPONENT_POST_BUILD_ACTION
)
96 # install the built source into a prototype area
97 $(BUILD_DIR
)/%/.installed
: $(BUILD_DIR
)/%/.built
98 $(COMPONENT_PRE_INSTALL_ACTION
)
99 (cd
$(@D
) ; $(ENV
) $(COMPONENT_INSTALL_ENV
) \
101 $(COMPONENT_POST_INSTALL_ACTION
)
105 REQUIRED_PACKAGES
+= $(CLANG_DEVELOPER_PKG
)
106 REQUIRED_PACKAGES
+= $(PG_DEVELOPER_PKG
)
107 REQUIRED_PACKAGES
+= $(MYSQL_CLIENT_PKG
)
108 REQUIRED_PACKAGES
+= database
/freetds
109 REQUIRED_PACKAGES
+= system
/header
/header-drm
110 REQUIRED_PACKAGES
+= x11
/keyboard
/data-xkb
111 REQUIRED_PACKAGES
+= x11
/library
/libpthread-stubs
113 # Auto-generated dependencies
114 PYTHON_REQUIRED_PACKAGES
+= runtime
/python
115 REQUIRED_PACKAGES
+= $(CLANG_RUNTIME_PKG
)
116 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
117 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
118 REQUIRED_PACKAGES
+= $(ICU_LIBRARY_PKG
)
119 REQUIRED_PACKAGES
+= $(JPEG_IMPLEM_PKG
)
120 REQUIRED_PACKAGES
+= $(MYSQL_LIBRARY_PKG
)
121 REQUIRED_PACKAGES
+= $(OPENSSL_PKG
)
122 REQUIRED_PACKAGES
+= $(PG_LIBRARY_PKG
)
123 REQUIRED_PACKAGES
+= codec
/jasper
124 REQUIRED_PACKAGES
+= compress
/zstd
125 REQUIRED_PACKAGES
+= database
/sqlite-3
126 REQUIRED_PACKAGES
+= image
/library
/libjpeg-turbo
127 REQUIRED_PACKAGES
+= image
/library
/libpng16
128 REQUIRED_PACKAGES
+= image
/library
/libtiff
129 REQUIRED_PACKAGES
+= library
/brotli
130 REQUIRED_PACKAGES
+= library
/c
++/harfbuzz
131 REQUIRED_PACKAGES
+= library
/desktop
/gdk-pixbuf
132 REQUIRED_PACKAGES
+= library
/desktop
/gtk3
133 REQUIRED_PACKAGES
+= library
/desktop
/pango
134 REQUIRED_PACKAGES
+= library
/desktop
/speech-dispatcher
135 REQUIRED_PACKAGES
+= library
/double-conversion
136 REQUIRED_PACKAGES
+= library
/glib2
137 REQUIRED_PACKAGES
+= library
/graphics
/libmng
138 REQUIRED_PACKAGES
+= library
/libwebp
139 REQUIRED_PACKAGES
+= library
/pcre2
140 REQUIRED_PACKAGES
+= library
/print/cups-libs
141 REQUIRED_PACKAGES
+= library
/unixodbc
142 REQUIRED_PACKAGES
+= library
/zlib
143 REQUIRED_PACKAGES
+= shell/bash
144 REQUIRED_PACKAGES
+= shell/ksh93
145 REQUIRED_PACKAGES
+= system
/library
146 REQUIRED_PACKAGES
+= system
/library
/fontconfig
147 REQUIRED_PACKAGES
+= system
/library
/freetype-2
148 REQUIRED_PACKAGES
+= system
/library
/libdbus
149 REQUIRED_PACKAGES
+= system
/library
/math
150 REQUIRED_PACKAGES
+= system
/library
/security
/gss
151 REQUIRED_PACKAGES
+= text
/hunspell
152 REQUIRED_PACKAGES
+= x11
/library
/libdrm
153 REQUIRED_PACKAGES
+= x11
/library
/libice
154 REQUIRED_PACKAGES
+= x11
/library
/libsm
155 REQUIRED_PACKAGES
+= x11
/library
/libx11
156 REQUIRED_PACKAGES
+= x11
/library
/libxcb
157 REQUIRED_PACKAGES
+= x11
/library
/libxkbcommon
158 REQUIRED_PACKAGES
+= x11
/library
/mesa
159 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-cursor
160 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-image
161 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-keysyms
162 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-renderutil
163 REQUIRED_PACKAGES
+= x11
/library
/xcb-util-wm