diff options
Diffstat (limited to 'dev-util/qbs')
-rw-r--r-- | dev-util/qbs/Manifest | 5 | ||||
-rw-r--r-- | dev-util/qbs/files/qbs-2.3.1-qtver.patch | 9 | ||||
-rw-r--r-- | dev-util/qbs/metadata.xml | 19 | ||||
-rw-r--r-- | dev-util/qbs/qbs-1.12.2.ebuild | 115 | ||||
-rw-r--r-- | dev-util/qbs/qbs-1.14.1.ebuild | 115 | ||||
-rw-r--r-- | dev-util/qbs/qbs-1.15.0.ebuild | 116 | ||||
-rw-r--r-- | dev-util/qbs/qbs-1.16.0.ebuild | 116 | ||||
-rw-r--r-- | dev-util/qbs/qbs-2.3.1.ebuild | 90 |
8 files changed, 110 insertions, 475 deletions
diff --git a/dev-util/qbs/Manifest b/dev-util/qbs/Manifest index ed20307b5455..f1834e3241d5 100644 --- a/dev-util/qbs/Manifest +++ b/dev-util/qbs/Manifest @@ -1,4 +1 @@ -DIST qbs-src-1.12.2.tar.gz 4374830 BLAKE2B 8ace5ac7fea9bcd944dd02280a36f0f275749512e44ab9e3221e154d80ccf8aa25e3452eb90b1396323b540ec97e4b72c29b3a1d4727a72791a0e267bd89df13 SHA512 eb8c5db94f6b4e2300951d9cb6e092b873381421a1bff31a9e8422859aee3c0b3d038b6a2927a4f5c8fd871a0a7d283f7b7c3be74834dd30d640a1ed9c87a147 -DIST qbs-src-1.14.1.tar.gz 4365537 BLAKE2B 5a51ddea64023c76b6934634f72ab19d54a3e857efe30d7698a3970d099e436599b53b369d81434cc8e721606513bd487010047e60ccfa289574f606cf020dc5 SHA512 df9031e2749ba598129daef0a6b4322ad964c87a33bfd079bb231170da49c42708740ec63e351607b7e9da1dd11310802b14917eaf2ec97bb747a6df9890f2f3 -DIST qbs-src-1.15.0.tar.gz 4531882 BLAKE2B 95ef24a3c63972a5c4111b68c19d57d83552c8c2fd771bda6291d99564c2e3e80488700ceaf88e64bf6edca1d156dc912757ebe682cb5e3d5aec015640e8641f SHA512 461ac2e1574c163149b080936233144b3941024e7f61c2b2514e58089b7fa100e576c0336e16a3c51a0f4b77e575081350550e23b543e86a2023d524aba18d07 -DIST qbs-src-1.16.0.tar.gz 4571788 BLAKE2B 4fb06314d0d0a532574e0d245ea85b6d596850ffe4b81b621406d1bc99e0529fc491bf5c7db514d90026c0bf4916f9fa102457aab2bbaaddbbe2e90c03aa04a4 SHA512 65c5398ffad54e10e251bed79a5b58abd722c0f95a031c536fc8647d915dd696923401c767a7a8ac029f4f571b6bbf96ef4b7493bb30768f675477bd68fcc21c +DIST qbs-src-2.3.1.tar.gz 5614581 BLAKE2B 92fa24d75248a3732cbd99b660141e56654574f1388d50d5359afef7b442889fa59c4ab4f029f055ee618c0222f94faba47ae9fff85f0fae26e95f2ba34995f9 SHA512 27ba33805b942cf8180e55bdd6c37ccfd2aeaa2e8c01ca7e7485720030dfad7c5f1a3f92b77bff97a7ebf8878e455758c8729005e8b03959d18106f945d8d42c diff --git a/dev-util/qbs/files/qbs-2.3.1-qtver.patch b/dev-util/qbs/files/qbs-2.3.1-qtver.patch new file mode 100644 index 000000000000..3117c432c544 --- /dev/null +++ b/dev-util/qbs/files/qbs-2.3.1-qtver.patch @@ -0,0 +1,9 @@ +https://bugs.gentoo.org/931596 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,3 +29,5 @@ + ++if (NOT DEFINED QT_VERSION_MAJOR) + find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED) ++endif() + diff --git a/dev-util/qbs/metadata.xml b/dev-util/qbs/metadata.xml index 4311f5d8ba92..e07e064c9841 100644 --- a/dev-util/qbs/metadata.xml +++ b/dev-util/qbs/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>pesa@gentoo.org</email> - <name>Davide Pesavento</name> - </maintainer> <maintainer type="project"> <email>qt@gentoo.org</email> <name>Gentoo Qt Project</name> @@ -14,13 +10,18 @@ projects across multiple platforms. Qbs can be used for any software project, regardless of programming language, toolkit, or libraries used. - Qbs is an all-in-one tool that generates a build graph from a - high-level project description (like qmake or cmake) and additionally - undertakes the task of executing the commands in the low-level build - graph (like make). + Qbs projects are specified in a QML dialect. QML is a concise, easy to + learn, and intuitive language that is used successfully in the Qt project. + Its core is declarative, but it can be extended with JavaScript snippets + for extra flexibility. + + Qbs is an all-in-one tool that generates a build graph from a high-level + project description (like qmake or CMake) and additionally undertakes the + task of executing the commands in the low-level build graph (like make). </longdescription> <upstream> <bugs-to>https://bugreports.qt.io/</bugs-to> <doc>https://doc.qt.io/qbs/</doc> + <remote-id type="github">qbs/qbs</remote-id> </upstream> </pkgmetadata> diff --git a/dev-util/qbs/qbs-1.12.2.ebuild b/dev-util/qbs/qbs-1.12.2.ebuild deleted file mode 100644 index c5815752c219..000000000000 --- a/dev-util/qbs/qbs-1.12.2.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit qmake-utils - -MY_P=${PN}-src-${PV} - -DESCRIPTION="Modern build tool for software projects" -HOMEPAGE="https://wiki.qt.io/Qbs" -SRC_URI="http://download.qt.io/official_releases/${PN}/${PV}/${MY_P}.tar.gz" - -LICENSE="|| ( LGPL-2.1 LGPL-3 )" -SLOT="0" -KEYWORDS="amd64 ~arm ~x86" -IUSE="doc examples test" -RESTRICT="!test? ( test )" - -# see bug 581874 for the qttest dep in RDEPEND -RDEPEND=" - dev-qt/qtcore:5= - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtscript:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - test? ( dev-qt/qttest:5 ) -" -DEPEND="${RDEPEND} - doc? ( - dev-qt/qdoc:5 - dev-qt/qthelp:5 - ) - test? ( dev-qt/qtdeclarative:5 ) -" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - if ! use examples; then - sed -i -e '/INSTALLS +=/ s:examples::' static.pro || die - fi - - # the qbsres target uses the newly built qbs binary, so we have to tell it where to find its libraries - sed -i -e '/qbsres\.commands =/ a\LD_LIBRARY_PATH=$$shell_quote($$shell_path($$QBS_LIBRARY_DIRNAME)) \\' \ - static-res.pro || die - - echo "SUBDIRS = $(usex test auto '')" >> tests/tests.pro - - # skip several tests that fail and/or have additional deps - sed -i \ - -e 's/findArchiver("7z")/""/' `# requires p7zip, fails` \ - -e 's/findArchiver(binaryName,.*/"";/' `# requires zip and jar` \ - -e 's/p\.value("nodejs\./true||&/' `# requires nodejs, bug 527652` \ - -e 's/\(p\.value\|m_qbsStderr\.contains\)("typescript\./true||&/' `# requires nodejs and typescript` \ - tests/auto/blackbox/tst_blackbox.cpp || die - - # requires jdk, fails, bug 585398 - sed -i -e '/blackbox-java\.pro/ d' tests/auto/auto.pro || die -} - -src_configure() { - local myqmakeargs=( - qbs.pro # bug 523218 - -recursive - CONFIG+=qbs_disable_rpath - CONFIG+=qbs_enable_project_file_updates - $(usex test 'CONFIG+=qbs_enable_unit_tests' '') - QBS_INSTALL_PREFIX="${EPREFIX}/usr" - QBS_LIBRARY_DIRNAME="$(get_libdir)" - ) - eqmake5 "${myqmakeargs[@]}" -} - -src_test() { - einfo "Setting up test environment in ${T}" - - export HOME=${T} - export LD_LIBRARY_PATH=${S}/$(get_libdir) - export QBS_AUTOTEST_PROFILE=autotests - - "${S}"/bin/qbs-setup-toolchains --detect || die - "${S}"/bin/qbs-setup-qt "$(qt5_get_bindir)/qmake" autotests || die - - einfo "Running autotests" - - # simply exporting LD_LIBRARY_PATH doesn't work - # we have to use a custom testrunner script - local testrunner=${WORKDIR}/gentoo-testrunner - cat <<-EOF > "${testrunner}" - #!/bin/sh - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}" - exec "\$@" - EOF - chmod +x "${testrunner}" - - emake TESTRUNNER="'${testrunner}'" check -} - -src_install() { - emake INSTALL_ROOT="${D}" install - - dodoc -r changelogs - - # install documentation - if use doc; then - emake docs - dodoc -r doc/qbs/html - dodoc doc/qbs.qch - docompress -x /usr/share/doc/${PF}/qbs.qch - fi -} diff --git a/dev-util/qbs/qbs-1.14.1.ebuild b/dev-util/qbs/qbs-1.14.1.ebuild deleted file mode 100644 index 689ab954a115..000000000000 --- a/dev-util/qbs/qbs-1.14.1.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit qmake-utils - -MY_P=${PN}-src-${PV} - -DESCRIPTION="Modern build tool for software projects" -HOMEPAGE="https://wiki.qt.io/Qbs" -SRC_URI="http://download.qt.io/official_releases/${PN}/${PV}/${MY_P}.tar.gz" - -LICENSE="|| ( LGPL-2.1 LGPL-3 )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="doc examples test" -RESTRICT="!test? ( test )" - -# see bug 581874 for the qttest dep in RDEPEND -RDEPEND=" - dev-qt/qtcore:5= - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtscript:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - test? ( dev-qt/qttest:5 ) -" -DEPEND="${RDEPEND} - doc? ( - dev-qt/qdoc:5 - dev-qt/qthelp:5 - ) - test? ( - dev-qt/linguist-tools:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5 - ) -" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - if ! use examples; then - sed -i -e '/INSTALLS +=/ s:examples::' static.pro || die - fi - - echo "SUBDIRS = $(usex test auto '')" >> tests/tests.pro - - # skip several tests that fail and/or have additional deps - sed -i \ - -e 's/findArchiver("7z")/""/' `# requires p7zip, fails` \ - -e 's/findArchiver(binaryName,.*/"";/' `# requires zip and jar` \ - -e 's/p\.value("nodejs\./true||&/' `# requires nodejs, bug 527652` \ - -e 's/\(p\.value\|m_qbsStderr\.contains\)("typescript\./true||&/' `# requires nodejs and typescript` \ - tests/auto/blackbox/tst_blackbox.cpp || die - - # requires jdk, fails, bug 585398 - sed -i -e '/blackbox-java\.pro/ d' tests/auto/auto.pro || die -} - -src_configure() { - local myqmakeargs=( - qbs.pro # bug 523218 - -recursive - CONFIG+=qbs_disable_rpath - CONFIG+=qbs_enable_project_file_updates - $(usex test 'CONFIG+=qbs_enable_unit_tests' '') - QBS_INSTALL_PREFIX="${EPREFIX}/usr" - QBS_LIBRARY_DIRNAME="$(get_libdir)" - ) - eqmake5 "${myqmakeargs[@]}" -} - -src_test() { - einfo "Setting up test environment in ${T}" - - export HOME=${T} - export LD_LIBRARY_PATH=${S}/$(get_libdir) - export QBS_AUTOTEST_PROFILE=autotests - - "${S}"/bin/qbs-setup-toolchains --detect || die - "${S}"/bin/qbs-setup-qt "$(qt5_get_bindir)/qmake" autotests || die - - einfo "Running autotests" - - # simply exporting LD_LIBRARY_PATH doesn't work - # we have to use a custom testrunner script - local testrunner=${WORKDIR}/gentoo-testrunner - cat <<-EOF > "${testrunner}" - #!/bin/sh - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}" - exec "\$@" - EOF - chmod +x "${testrunner}" - - emake TESTRUNNER="'${testrunner}'" check -} - -src_install() { - emake INSTALL_ROOT="${D}" install - - dodoc -r changelogs - - # install documentation - if use doc; then - emake docs - dodoc -r doc/qbs/html - dodoc doc/qbs.qch - docompress -x /usr/share/doc/${PF}/qbs.qch - fi -} diff --git a/dev-util/qbs/qbs-1.15.0.ebuild b/dev-util/qbs/qbs-1.15.0.ebuild deleted file mode 100644 index 5fa4f467db39..000000000000 --- a/dev-util/qbs/qbs-1.15.0.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit qmake-utils toolchain-funcs - -MY_P=${PN}-src-${PV} - -DESCRIPTION="Modern build tool for software projects" -HOMEPAGE="https://wiki.qt.io/Qbs" -SRC_URI="http://download.qt.io/official_releases/${PN}/${PV}/${MY_P}.tar.gz" - -LICENSE="|| ( LGPL-2.1 LGPL-3 )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="doc examples test" -RESTRICT="!test? ( test )" - -# see bug 581874 for the qttest dep in RDEPEND -RDEPEND=" - dev-qt/qtcore:5= - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtscript:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - test? ( dev-qt/qttest:5 ) -" -DEPEND="${RDEPEND} - doc? ( - dev-qt/qdoc:5 - dev-qt/qthelp:5 - ) - test? ( - dev-qt/linguist-tools:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5 - ) -" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - if ! use examples; then - sed -i -e '/INSTALLS +=/ s:examples::' static.pro || die - fi - - echo "SUBDIRS = $(usex test auto '')" >> tests/tests.pro - - # skip several tests that fail and/or have additional deps - sed -i \ - -e 's/findArchiver("7z")/""/' `# requires p7zip, fails` \ - -e 's/findArchiver(binaryName,.*/"";/' `# requires zip and jar` \ - -e 's/p\.value("nodejs\./true||&/' `# requires nodejs, bug 527652` \ - -e 's/\(p\.value\|m_qbsStderr\.contains\)("typescript\./true||&/' `# requires nodejs and typescript` \ - tests/auto/blackbox/tst_blackbox.cpp || die - - # requires jdk, fails, bug 585398 - sed -i -e '/blackbox-java\.pro/ d' tests/auto/auto.pro || die -} - -src_configure() { - local myqmakeargs=( - qbs.pro # bug 523218 - -recursive - CONFIG+=qbs_disable_rpath - CONFIG+=qbs_enable_project_file_updates - $(usex test 'CONFIG+=qbs_enable_unit_tests' '') - QBS_INSTALL_PREFIX="${EPREFIX}/usr" - QBS_LIBRARY_DIRNAME="$(get_libdir)" - ) - eqmake5 "${myqmakeargs[@]}" -} - -src_test() { - einfo "Setting up test environment in ${T}" - - export HOME=${T} - export LD_LIBRARY_PATH=${S}/$(get_libdir) - export QBS_AUTOTEST_PROFILE=testProfile - - "${S}"/bin/qbs-setup-toolchains "$(tc-getCC)" testToolchain || die - "${S}"/bin/qbs-setup-qt "$(qt5_get_bindir)/qmake" ${QBS_AUTOTEST_PROFILE} || die - "${S}"/bin/qbs-config profiles.${QBS_AUTOTEST_PROFILE}.qbs.targetPlatform linux || die - - einfo "Running autotests" - - # simply exporting LD_LIBRARY_PATH doesn't work - # we have to use a custom testrunner script - local testrunner=${WORKDIR}/gentoo-testrunner - cat <<-EOF > "${testrunner}" - #!/bin/sh - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}" - exec "\$@" - EOF - chmod +x "${testrunner}" - - emake TESTRUNNER="'${testrunner}'" check -} - -src_install() { - emake INSTALL_ROOT="${D}" install - - dodoc -r changelogs - - # install documentation - if use doc; then - emake docs - dodoc -r doc/qbs/html - dodoc doc/qbs.qch - docompress -x /usr/share/doc/${PF}/qbs.qch - fi -} diff --git a/dev-util/qbs/qbs-1.16.0.ebuild b/dev-util/qbs/qbs-1.16.0.ebuild deleted file mode 100644 index 2ecd2be09ac4..000000000000 --- a/dev-util/qbs/qbs-1.16.0.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit qmake-utils toolchain-funcs - -MY_P=${PN}-src-${PV} - -DESCRIPTION="Modern build tool for software projects" -HOMEPAGE="https://doc.qt.io/qbs/" -SRC_URI="http://download.qt.io/official_releases/${PN}/${PV}/${MY_P}.tar.gz" - -LICENSE="|| ( LGPL-2.1 LGPL-3 )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="doc examples test" -RESTRICT="!test? ( test )" - -# see bug 581874 for the qttest dep in RDEPEND -RDEPEND=" - dev-qt/qtcore:5= - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtscript:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - test? ( dev-qt/qttest:5 ) -" -DEPEND="${RDEPEND} - doc? ( - dev-qt/qdoc:5 - dev-qt/qthelp:5 - ) - test? ( - dev-qt/linguist-tools:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5 - ) -" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - if ! use examples; then - sed -i -e '/INSTALLS +=/ s:examples::' static.pro || die - fi - - echo "SUBDIRS = $(usex test auto '')" >> tests/tests.pro - - # skip several tests that fail and/or have additional deps - sed -i \ - -e 's/findArchiver("7z")/""/' `# requires p7zip, fails` \ - -e 's/findArchiver(binaryName,.*/"";/' `# requires zip and jar` \ - -e 's/p\.value("nodejs\./true||&/' `# requires nodejs, bug 527652` \ - -e 's/\(p\.value\|m_qbsStderr\.contains\)("typescript\./true||&/' `# requires nodejs and typescript` \ - tests/auto/blackbox/tst_blackbox.cpp || die - - # requires jdk, fails, bug 585398 - sed -i -e '/blackbox-java\.pro/ d' tests/auto/auto.pro || die -} - -src_configure() { - local myqmakeargs=( - qbs.pro # bug 523218 - -recursive - CONFIG+=qbs_disable_rpath - CONFIG+=qbs_enable_project_file_updates - $(usex test 'CONFIG+=qbs_enable_unit_tests' '') - QBS_INSTALL_PREFIX="${EPREFIX}/usr" - QBS_LIBRARY_DIRNAME="$(get_libdir)" - ) - eqmake5 "${myqmakeargs[@]}" -} - -src_test() { - einfo "Setting up test environment in ${T}" - - export HOME=${T} - export LD_LIBRARY_PATH=${S}/$(get_libdir) - export QBS_AUTOTEST_PROFILE=testProfile - - "${S}"/bin/qbs-setup-toolchains "$(tc-getCC)" testToolchain || die - "${S}"/bin/qbs-setup-qt "$(qt5_get_bindir)/qmake" ${QBS_AUTOTEST_PROFILE} || die - "${S}"/bin/qbs-config profiles.${QBS_AUTOTEST_PROFILE}.qbs.targetPlatform linux || die - - einfo "Running autotests" - - # simply exporting LD_LIBRARY_PATH doesn't work - # we have to use a custom testrunner script - local testrunner=${WORKDIR}/gentoo-testrunner - cat <<-EOF > "${testrunner}" - #!/bin/sh - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}" - exec "\$@" - EOF - chmod +x "${testrunner}" - - emake TESTRUNNER="'${testrunner}'" check -} - -src_install() { - emake INSTALL_ROOT="${D}" install - - dodoc -r changelogs README.md - - # install documentation - if use doc; then - emake docs - dodoc -r doc/qbs/html - dodoc doc/qbs.qch - docompress -x /usr/share/doc/${PF}/qbs.qch - fi -} diff --git a/dev-util/qbs/qbs-2.3.1.ebuild b/dev-util/qbs/qbs-2.3.1.ebuild new file mode 100644 index 000000000000..1eaaf83d9393 --- /dev/null +++ b/dev-util/qbs/qbs-2.3.1.ebuild @@ -0,0 +1,90 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake flag-o-matic python-any-r1 toolchain-funcs + +DESCRIPTION="Modern build tool for software projects" +HOMEPAGE="https://doc.qt.io/qbs/" +SRC_URI="https://download.qt.io/official_releases/qbs/${PV}/${PN}-src-${PV}.tar.gz" +S=${WORKDIR}/${PN}-src-${PV} + +LICENSE="|| ( LGPL-2.1 LGPL-3 ) BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-qt/qt5compat:6 + dev-qt/qtbase:6[concurrent,gui,network,widgets,xml] +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( + $(python_gen_any_dep ' + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ') + dev-qt/qttools:6[assistant,qdoc] + ) +" + +CMAKE_SKIP_TESTS=( + # QBS does not inherit toolchain/flags knowlege from cmake, and + # while can use ${BUILD_DIR}/bin/qbs-config to improve this it + # remains very fickle and will fail in varied ways with clang, + # musl, -native-symlinks, and libc++. After consideration it is + # not worth worrying about affected tests here (even if notable). + tst_api + tst_blackbox # also skips blackbox-* (intended) + tst_language +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.3.1-qtver.patch +) + +python_check_deps() { + # _find_python_module in cmake/QbsDocumentation.cmake + python_has_version "dev-python/beautifulsoup4[${PYTHON_USEDEP}]" && + python_has_version "dev-python/lxml[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +src_configure() { + # temporary workaround for musl-1.2.4 (bug #906929), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + # fails to build with gcc:14 and -O3 (bug #933187) + tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && + replace-flags -O3 -O2 + + local mycmakeargs=( + -DQBS_DOC_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF} + -DQBS_INSTALL_HTML_DOCS=$(usex doc) + -DQBS_INSTALL_MAN_PAGE=yes + -DQBS_INSTALL_QCH_DOCS=$(usex doc) + -DQBS_LIB_INSTALL_DIR="$(get_libdir)" + -DQT_VERSION_MAJOR=6 #931596 + -DWITH_TESTS=$(usex test) + -DWITH_UNIT_TESTS=$(usex test) + ) + + cmake_src_configure +} + +src_install() { + local DOCS=( README.md changelogs ) + cmake_src_install + + use !test || rm -- "${ED}"/usr/bin/{tst_*,qbs_*,clang-format-test} || die + + docompress -x /usr/share/doc/${PF}/qbs.qch +} |