summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-05-04 15:11:57 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-05-04 22:40:31 -0400
commit332049c8113254daa4bc9fa99dbf6bd3aa9f4f60 (patch)
tree480c89cfec08485d82d31ddfc5adf825e505c4c7 /dev-util
parentdev-util/qbs: add github upstream metadata (diff)
downloadgentoo-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')
-rw-r--r--dev-util/qbs/Manifest1
-rw-r--r--dev-util/qbs/qbs-2.3.0.ebuild81
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
+}