diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2024-05-04 15:11:57 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2024-05-04 22:40:31 -0400 |
commit | 332049c8113254daa4bc9fa99dbf6bd3aa9f4f60 (patch) | |
tree | 480c89cfec08485d82d31ddfc5adf825e505c4c7 /dev-util/qbs | |
parent | dev-util/qbs: add github upstream metadata (diff) | |
download | gentoo-332049c8113254daa4bc9fa99dbf6bd3aa9f4f60.tar.gz gentoo-332049c8113254daa4bc9fa99dbf6bd3aa9f4f60.tar.bz2 gentoo-332049c8113254daa4bc9fa99dbf6bd3aa9f4f60.zip |
dev-util/qbs: add 2.3.0
ebuild redone from scratch due to cmake migration + Qt6, and kept
simple easier maintenance (e.g. skipping Qt5 support and inventing
options for optional gui/examples, also some tests that would need
extensive workarounds to pass with unusual toolchains even if do
like the old qbs ebuild did with qbs profiles)
Not 100% sure that all listed bugs are fixed given have not
attempted to reproduce with old version, but at least couldn't
with the new. Please file new bugs if needed so it can be up
to date and easier to handle.
Closes: https://bugs.gentoo.org/801541
Closes: https://bugs.gentoo.org/836894
Closes: https://bugs.gentoo.org/840290
Closes: https://bugs.gentoo.org/884575
Closes: https://bugs.gentoo.org/906929
Closes: https://bugs.gentoo.org/915787
Closes: https://bugs.gentoo.org/919395
Closes: https://bugs.gentoo.org/929071
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-util/qbs')
-rw-r--r-- | dev-util/qbs/Manifest | 1 | ||||
-rw-r--r-- | dev-util/qbs/qbs-2.3.0.ebuild | 81 |
2 files changed, 82 insertions, 0 deletions
diff --git a/dev-util/qbs/Manifest b/dev-util/qbs/Manifest index 2d0dd5be8400..8b601b078fc4 100644 --- a/dev-util/qbs/Manifest +++ b/dev-util/qbs/Manifest @@ -1 +1,2 @@ DIST qbs-src-1.19.1.tar.gz 4961984 BLAKE2B 2b9333ac8bba12f311ad47b1315d0a61ddf3b3a804888369f3fd868fbebca4ad13bd857451cb3fe3515fd9f9e69b42b84484289e79d3e7911c69720d7d08ab29 SHA512 b53dae9631c9d4ec1f799395948a67ce4b62ae88908cce3b00f42fb0213d80d32127c3429b95d5c32c9f7c1b861fc5a52ac6952046a6d91d035539d7412a5c4d +DIST qbs-src-2.3.0.tar.gz 5615799 BLAKE2B f7e10d1dffe7d188c4ab5c6ed1b02837b41044f93083e052105638ed3c091a5be2d4f3bffeb39238baf6e8a1ba2cfc316fefea5f80871c851be3d7c873847c74 SHA512 6611ce02b0dc4f4a0cc68a13a7c684c07061d3fff57d2ca16470fffa253ff23f45349d86ad4ba4c0eab681f74f3c92cddd85daedf1f31fd1a7eae5bddb606cb6 diff --git a/dev-util/qbs/qbs-2.3.0.ebuild b/dev-util/qbs/qbs-2.3.0.ebuild new file mode 100644 index 000000000000..c00fae7ed834 --- /dev/null +++ b/dev-util/qbs/qbs-2.3.0.ebuild @@ -0,0 +1,81 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake flag-o-matic python-any-r1 + +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 +) + +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 + + 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)" + -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 +} |