void-packages/srcpkgs/qt6-base/template
Érico Nogueira f44f4cd9c6 qt6-base: only add self to hostmakedepends for cross
Tools other than xbps-src might get confused and assume a build cycle,
even if xbps-src can deal with it.
2021-08-11 11:28:17 -03:00

232 lines
6.2 KiB
Bash

# Template file for 'qt6-base'
pkgname=qt6-base
version=6.1.1
revision=2
wrksrc="qtbase-everywhere-src-${version}"
build_style=cmake
configure_args="-DINSTALL_DATADIR=share/qt6
-DINSTALL_ARCHDATADIR=lib/qt6
-DINSTALL_BINDIR=lib/qt6/bin
-DINSTALL_MKSPECSDIR=lib/qt6/mkspecs
-DINSTALL_INCLUDEDIR=include/qt6
-DINSTALL_SYSCONFDIR=/etc/xdg
-DQT_FEATURE_openssl_linked=ON
-DQT_FEATURE_system_sqlite=ON
-DBUILD_WITH_PCH=OFF"
hostmakedepends="perl pkg-config xmlstarlet"
makedepends="zlib-devel libzstd-devel dbus-devel
double-conversion-devel glib-devel libxcb-devel
xcb-util-image-devel xcb-util-keysyms-devel
xcb-util-renderutil-devel xcb-util-wm-devel
MesaLib-devel pcre2-devel icu-devel mtdev-devel harfbuzz-devel
libpng-devel tslib-devel libinput-devel gtk+3-devel
libmariadbclient-devel postgresql-libs-devel libatomic-devel
unixodbc-devel cups-devel libproxy-devel brotli-devel
sqlite-devel Vulkan-Headers mit-krb5-devel vulkan-loader libb2-devel"
short_desc="Cross-platform application and UI framework (QT6)"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only WITH Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://www.qt.io"
distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtbase-everywhere-src-${version}.tar.xz"
checksum=21a8aa9f07170e047270c668c8b037536f40226db7adbc529a0b41c3a3cb3ff2
python_version=3
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" qt6-base-devel"
# QtSetup fails native builds if this is set
configure_args+=" -DQT_HOST_PATH=/usr
-DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=true"
fi
# It is currently expected that quite a few patches do fail
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
fi
do_check() {
cd build
local failing_tests="tst_selftests tst_qmake tst_moc
tst_rcc tst_qfile tst_qstandardpaths
tst_qtemporarydir tst_qtemporaryfile tst_qdir
tst_qpluginloader tst_qlibrary tst_qtextstream
tst_qdate tst_qdatetime tst_qtimezone
test_umbrella_config test_wrap_cpp_and_resources
test_dependent_modules test_needsquoting_dirname
test_add_resource_options test_wrap_cpp_options
test_platform_defs_include test_qtmainwin_library
test_dbus_module test_multiple_find_package
test_add_resources_delayed_file test_QTBUG-63422
test_add_binary_resources_delayed_file
test_private_includes test_private_targets
test_testlib_definitions test_json_plugin_includes
test_testlib_no_link_gui test_testlib_no_link_widgets
module_includes test_concurrent_module test_opengl_lib
test_interface test_interface_link_libraries
test_moc_macro_target test_add_big_resource
test_versionless_targets test_add_resources_binary_generated
test_plugin_flavor_static test_plugin_flavor_shared
test_plugin_flavor_derived_from_qt_type
tst_qaddpreroutine tst_qfont tst_qfontdatabase
tst_qfontmetrics tst_qglyphrun tst_qrawfont
tst_qtextdocumentlayout tst_qopenglconfig
tst_qopengl tst_qdnslookup tst_qfiledialog
tst_qgraphicsview tst_qapplication tst_qfontcombobox
tst_qlineedit tst_qmenubar tst_qopenglwidget
test_QFINDTESTDATA run_test_QFINDTESTDATA"
local ctest_exclude="("
for failure in $failing_tests; do
ctest_exclude+="$failure|"
done
ctest_exclude="${ctest_exclude%|})"
ctest -E "$ctest_exclude"
}
qt6-gui_package() {
short_desc+=" - Gui"
pkg_install() {
vmove "usr/lib/libQt6Gui.so.*"
vmove "usr/lib/libQt6XcbQpa.so.*"
vmove "usr/lib/libQt6EglFSDeviceIntegration.so.*"
vmove "usr/lib/libQt6EglFsKmsGbmSupport.so.*"
vmove "usr/lib/libQt6EglFsKmsSupport.so.*"
vmove "usr/lib/libQt6OpenGL.so.*"
vmove usr/lib/qt6/plugins/generic
vmove usr/lib/qt6/plugins/platforms
vmove usr/lib/qt6/plugins/xcbglintegrations
vmove usr/lib/qt6/plugins/imageformats
vmove usr/lib/qt6/plugins/egldeviceintegrations
vmove usr/lib/qt6/plugins/platforminputcontexts
vmove usr/lib/qt6/plugins/platformthemes
}
}
qt6-opengl-widgets_package() {
short_desc+=" - OpenGL Widgets"
pkg_install() {
vmove "usr/lib/libQt6OpenGLWidgets.so.*"
}
}
qt6-dbus_package() {
short_desc+=" - DBus"
pkg_install() {
vmove "usr/lib/libQt6DBus.so.*"
}
}
qt6-core_package() {
short_desc+=" - Core"
pkg_install() {
vmove "usr/lib/libQt6Core.so.*"
}
}
qt6-printsupport_package() {
short_desc+=" - Print Support"
pkg_install() {
vmove "usr/lib/libQt6PrintSupport.so.*"
vmove usr/lib/qt6/plugins/printsupport
}
}
qt6-concurrent_package() {
short_desc+=" - Concurrency"
pkg_install() {
vmove "usr/lib/libQt6Concurrent.so.*"
}
}
qt6-widgets_package() {
short_desc+=" - Widgets"
pkg_install() {
vmove "usr/lib/libQt6Widgets.so.*"
}
}
qt6-network_package() {
short_desc+=" - Network"
pkg_install() {
vmove "usr/lib/libQt6Network.so.*"
}
}
qt6-sql_package() {
short_desc+=" - Sql"
pkg_install() {
vmove "usr/lib/libQt6Sql.so.*"
}
}
qt6-test_package() {
short_desc+=" - Test"
pkg_install() {
vmove "usr/lib/libQt6Test.so*"
}
}
qt6-xml_package() {
short_desc+=" - Xml"
pkg_install() {
vmove "usr/lib/libQt6Xml.so.*"
}
}
qt6-base-doc_package() {
short_desc+=" - Documentation"
pkg_install() {
vmove usr/share/qt6/doc
}
}
qt6-plugin-odbc_package() {
short_desc+=" - ODBC plugin"
pkg_install() {
vmove usr/lib/qt6/plugins/sqldrivers/libqsqlodbc.so
}
}
qt6-plugin-pgsql_package() {
short_desc+=" - PostgreSQL plugin"
pkg_install() {
vmove usr/lib/qt6/plugins/sqldrivers/libqsqlpsql.so
}
}
qt6-plugin-mysql_package() {
short_desc+=" - MySQL plugin"
pkg_install() {
vmove usr/lib/qt6/plugins/sqldrivers/libqsqlmysql.so
}
}
qt6-plugin-sqlite_package() {
short_desc+=" - SQLite plugin"
pkg_install() {
vmove usr/lib/qt6/plugins/sqldrivers/libqsqlite.so
}
}
qt6-base-devel_package() {
short_desc+=" - Development files"
depends="qt6-base>=${version}_${revision}
qt6-gui>=${version}_${revision}
qt6-core>=${version}_${revision}
qt6-widgets>=${version}_${revision}
qt6-opengl-widgets>=${version}_${revision}
qt6-printsupport>=${version}_${revision}
qt6-concurrent>=${version}_${revision}
qt6-sql>=${version}_${revision}
qt6-test>=${version}_${revision}
qt6-network>=${version}_${revision}
qt6-xml>=${version}_${revision}
${makedepends}"
pkg_install() {
vmove usr/include
vmove usr/lib/cmake
vmove usr/lib/qt6/mkspecs
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove "usr/lib/*.prl"
}
}