diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-util/qbs | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'dev-util/qbs')
| -rw-r--r-- | dev-util/qbs/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/qbs/files/qbs-2.3.1-qtver.patch | 9 | ||||
| -rw-r--r-- | dev-util/qbs/files/qbs-2.4.1-ldconfig.patch | 17 | ||||
| -rw-r--r-- | dev-util/qbs/metadata.xml | 27 | ||||
| -rw-r--r-- | dev-util/qbs/qbs-3.1.2.ebuild | 101 |
5 files changed, 155 insertions, 0 deletions
diff --git a/dev-util/qbs/Manifest b/dev-util/qbs/Manifest new file mode 100644 index 000000000000..a97181d0b5c9 --- /dev/null +++ b/dev-util/qbs/Manifest @@ -0,0 +1 @@ +DIST qbs-src-3.1.2.tar.gz 5803135 BLAKE2B 762cd97b4140b296c3d3b589b829ee6f21c8423a1482f28702ebaa3d29eaabec9dc2144b787ec8c825374adba61310aac53d72eceec399b9ef7f01102730fc8d SHA512 aed42df2545f3866ead1b99a5efb71c741a3446c8c6974d2eca1d946249445e13bd11b4b9e7633841d7800203c27530f5a96ec39611b6448d9ec7016d27330a8 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/files/qbs-2.4.1-ldconfig.patch b/dev-util/qbs/files/qbs-2.4.1-ldconfig.patch new file mode 100644 index 000000000000..aa20ee42c57e --- /dev/null +++ b/dev-util/qbs/files/qbs-2.4.1-ldconfig.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/939142 + +Exact cause unknown, but running qbs in portage's sandbox hangs +for a few people while running ldconfig, and using "env" seemingly +helps. Better (potentially upstreamable) patch welcome if someone +can figure out the right fix. +--- a/share/qbs/modules/cpp/LinuxGCC.qbs ++++ b/share/qbs/modules/cpp/LinuxGCC.qbs +@@ -48,7 +48,7 @@ UnixGCC { + var paths = []; + var ldconfig = new Process(); + try { +- var success = ldconfig.exec("ldconfig", ["-vNX"]); ++ var success = ldconfig.exec("env", ["ldconfig", "-vNX"]); + if (success === -1) + return; + var line; diff --git a/dev-util/qbs/metadata.xml b/dev-util/qbs/metadata.xml new file mode 100644 index 000000000000..956c74362125 --- /dev/null +++ b/dev-util/qbs/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>qt@gentoo.org</email> + <name>Gentoo Qt Project</name> + </maintainer> + <longdescription lang="en"> + Qbs is a tool that helps simplify the build process for developing + projects across multiple platforms. Qbs can be used for any software + project, regardless of programming language, toolkit, or libraries used. + + 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> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-util/qbs/qbs-3.1.2.ebuild b/dev-util/qbs/qbs-3.1.2.ebuild new file mode 100644 index 000000000000..5420e0ba4058 --- /dev/null +++ b/dev-util/qbs/qbs-3.1.2.ebuild @@ -0,0 +1,101 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +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 ) Boost-1.0 BSD" +SLOT="0" +KEYWORDS="amd64 ~arm ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +# uses CorePrivate wrt qtbase:= +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 knowledge 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 feels + # 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 + "${FILESDIR}"/${PN}-2.4.1-ldconfig.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_prepare() { + cmake_src_prepare + + # test fails to build with Qt 6.10.1 since [1] and, given skipping + # this test either way, may as well also not build it for now + # [1] https://github.com/qt/qtbase/commit/7196bb00ed7 + cmake_comment_add_subdirectory -f tests/auto language +} + +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 + + # tests build failure w/ gcc:14 + -O3 (bug #933187, needs looking into) + use test && 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 +} |
