public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qttools/
Date: Tue,  4 Jun 2024 19:36:03 +0000 (UTC)	[thread overview]
Message-ID: <1717529447.d68b9c2873613d68e3c23d39d7c0a4e2c8c4db82.ionen@gentoo> (raw)

commit:     d68b9c2873613d68e3c23d39d7c0a4e2c8c4db82
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  4 08:16:55 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jun  4 19:30:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d68b9c28

dev-qt/qttools: add 6.8.9999

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qttools/qttools-6.8.9999.ebuild | 161 +++++++++++++++++++++++++++++++++
 1 file changed, 161 insertions(+)

diff --git a/dev-qt/qttools/qttools-6.8.9999.ebuild b/dev-qt/qttools/qttools-6.8.9999.ebuild
new file mode 100644
index 000000000000..5ad1c0f2b81d
--- /dev/null
+++ b/dev-qt/qttools/qttools-6.8.9999.ebuild
@@ -0,0 +1,161 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} ) # see .cmake.conf for minimum
+LLVM_OPTIONAL=1
+
+# behaves very badly when qttools is not already installed, also
+# other issues to handle (clang tests flaky depending on version,
+# and 3rdparty/ tries to FetchContent gtest)
+QT6_RESTRICT_TESTS=1
+
+inherit desktop llvm-r1 optfeature qt6-build
+
+DESCRIPTION="Qt Tools Collection"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="
+	+assistant clang designer distancefieldgenerator gles2-only +linguist
+	opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag
+	qtplugininfo vulkan +widgets zstd
+"
+# note that some tools do not *require* widgets but will skip a sub-tool
+# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6)
+REQUIRED_USE="
+	assistant? ( widgets )
+	clang? ( ${LLVM_REQUIRED_USE} )
+	designer? ( qml widgets )
+	distancefieldgenerator? ( qml widgets )
+	pixeltool? ( widgets )
+	qdoc? ( clang qml )
+	qmlls? ( assistant qml )
+"
+
+RDEPEND="
+	~dev-qt/qtbase-${PV}:6[network,widgets?]
+	assistant? ( ~dev-qt/qtbase-${PV}:6[sql,sqlite] )
+	clang? (
+		$(llvm_gen_dep '
+			sys-devel/clang:${LLVM_SLOT}=
+			sys-devel/llvm:${LLVM_SLOT}=
+		')
+	)
+	designer? (
+		~dev-qt/qtbase-${PV}:6[xml,zstd=]
+		zstd? ( app-arch/zstd:= )
+	)
+	qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] )
+	qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] )
+	qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] )
+	qtdiag? ( ~dev-qt/qtbase-${PV}:6[gles2-only=,vulkan=] )
+	widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
+"
+DEPEND="
+	${RDEPEND}
+	qtdiag? (
+		vulkan? ( dev-util/vulkan-headers )
+	)
+"
+
+pkg_setup() {
+	use clang && llvm-r1_pkg_setup
+}
+
+src_configure() {
+	local mycmakeargs=(
+		# prevent the clang test as it can abort due to bug #916098
+		$(cmake_use_find_package clang WrapLibClang)
+		$(cmake_use_find_package qml Qt6Qml)
+		$(cmake_use_find_package widgets Qt6Widgets)
+		$(qt_feature assistant)
+		$(qt_feature clang)
+		$(qt_feature designer)
+		$(qt_feature distancefieldgenerator)
+		$(qt_feature linguist)
+		$(qt_feature pixeltool)
+		$(qt_feature qdbus)
+		$(qt_feature qdoc)
+		$(qt_feature qtattributionsscanner)
+		$(qt_feature qtdiag)
+		$(qt_feature qtplugininfo)
+
+		# TODO?: package litehtml, but support for latest releases seem
+		# to lag behind and bundled may work out better for now
+		# https://github.com/litehtml/litehtml/issues/266
+		$(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON)
+
+		# USE=qmlls' help plugin may be temporary, upstream has plans to split
+		# QtHelp into another package so that qtdeclarative can depend on it
+		# without a circular dependency with qttools
+		$(cmake_use_find_package qmlls Qt6QmlLSPrivate)
+
+		$(usev designer -DQT_UNITY_BUILD=OFF) # fails to build (QTBUG-122634)
+	)
+
+	qt6-build_src_configure
+}
+
+src_install() {
+	qt6-build_src_install
+
+	if use widgets; then #914766
+		use designer || use distancefieldgenerator || use pixeltool &&
+			newicon src/designer/src/designer/images/designer.png designer6.png
+
+		if use assistant; then
+			make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \
+				'Qt;Development;Documentation' \
+				'Comment=Tool for viewing online documentation in Qt help file format'
+			newicon src/assistant/assistant/images/assistant-128.png assistant6.png
+		fi
+
+		if use designer; then
+			make_desktop_entry designer6 'Qt 6 Designer' designer6 \
+				'Qt;Development;GUIDesigner' \
+				'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets'
+		fi
+
+		if use distancefieldgenerator; then
+			# no icon, sharing with designer which fits letter-wise
+			make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \
+				'Qt;Development' \
+				'Comment=Tool for pregenerating the font cache of Qt applications'
+		fi
+
+		if use linguist; then
+			make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \
+				'Qt;Development;Translation' \
+				'Comment=Tool for translating Qt applications'
+			newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png
+		fi
+
+		if use pixeltool; then
+			# no icon, not fitting but share with designer for now
+			make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \
+				'Qt;Development' \
+				'Comment=Tool for zooming in the desktop area pointed by the cursor'
+		fi
+
+		if use qdbus; then
+			make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \
+				'Qt;Development' \
+				'Comment=Tool that lets introspect D-Bus objects and messages'
+			newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png
+		fi
+
+		# hack: make_destop_entry does not support overriding DESCRIPTION
+		find "${ED}" -type f -name "*.desktop" \
+			-exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die
+	fi
+}
+
+pkg_postinst() {
+	use assistant &&
+		optfeature "Qt documentation viewable in assistant" \
+			'dev-qt/qt-docs:6[qch]' #602296
+}


             reply	other threads:[~2024-06-04 19:36 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-04 19:36 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-02 14:10 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qttools/ Arthur Zamarin
2024-11-01  6:35 Arthur Zamarin
2024-10-09  6:22 Ionen Wolkens
2024-10-08  5:03 Ionen Wolkens
2024-09-27  7:26 Ionen Wolkens
2024-09-24  9:57 Ionen Wolkens
2024-09-03  7:44 Ionen Wolkens
2024-09-02 17:52 Ionen Wolkens
2024-07-16  1:29 Ionen Wolkens
2024-07-08 16:40 Arthur Zamarin
2024-07-08 11:16 Arthur Zamarin
2024-07-08 10:09 Sam James
2024-06-18 18:14 Ionen Wolkens
2024-06-08 13:41 Ionen Wolkens
2024-06-08  5:27 Arthur Zamarin
2024-06-02  4:04 Sam James
2024-05-28 18:56 Arthur Zamarin
2024-05-20  8:48 Ionen Wolkens
2024-04-20 14:20 Ionen Wolkens
2024-04-19  7:55 Ionen Wolkens
2024-04-13 17:50 Arthur Zamarin
2024-04-02 13:06 Ionen Wolkens
2024-04-02  6:09 Arthur Zamarin
2024-04-01 18:29 Arthur Zamarin
2024-03-30  0:29 Ionen Wolkens
2024-03-26  7:10 Ionen Wolkens
2024-03-25 22:10 Ionen Wolkens
2024-03-24 18:39 Ionen Wolkens
2024-03-22 10:29 Ionen Wolkens
2024-03-22  6:16 Arthur Zamarin
2024-03-12 12:01 Ionen Wolkens
2024-03-07 20:46 Ionen Wolkens
2024-02-22  6:16 Ionen Wolkens
2024-02-20 14:30 Arthur Zamarin
2024-02-14 12:24 Ionen Wolkens
2024-02-10 11:26 Ionen Wolkens
2023-12-19 20:33 Ionen Wolkens
2023-12-19 15:15 Ionen Wolkens
2023-12-17 18:29 Arthur Zamarin
2023-12-12 21:25 Ionen Wolkens
2023-12-01 19:48 Jakov Smolić
2023-12-01  6:21 Sam James
2023-12-01  6:21 Sam James
2023-11-29 22:33 Sam James
2023-11-27  8:47 Ionen Wolkens
2023-11-15 19:28 Ionen Wolkens
2023-11-15 17:20 Arthur Zamarin
2023-10-22  5:55 Ionen Wolkens
2023-10-10 14:51 Ionen Wolkens
2023-09-29 23:29 Ionen Wolkens
2023-09-28 13:07 Ionen Wolkens
2023-09-27 10:03 Ionen Wolkens
2023-09-26 23:08 Ionen Wolkens
2023-09-26 19:48 Ionen Wolkens
2023-09-24 17:22 Ionen Wolkens
2023-09-24 17:09 WANG Xuerui
2023-09-24 17:09 WANG Xuerui
2023-09-22 20:53 Sam James
2023-09-15  4:49 Sam James
2023-09-13 16:42 Ionen Wolkens
2023-09-13 16:42 Ionen Wolkens
2023-09-12  1:28 Sam James
2023-09-12  1:26 Sam James
2023-09-11 22:59 Sam James
2023-09-11 21:20 Ionen Wolkens
2023-09-11 21:20 Ionen Wolkens
2023-09-11 21:20 Ionen Wolkens
2023-09-06  8:49 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-07-26 13:31 Jimi Huotari
2023-07-20 19:41 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-05-06 11:26 Jimi Huotari
2023-04-15 18:39 Jimi Huotari
2023-03-26 16:59 Jimi Huotari
2023-03-19 13:09 Jimi Huotari
2023-02-09 10:02 Andreas Sturmlechner
2023-01-05 22:39 Jimi Huotari
2022-12-01 19:19 Andreas Sturmlechner
2022-09-24 14:32 Andreas Sturmlechner
2022-09-24 14:32 Andreas Sturmlechner
2022-08-02 22:00 Sam James
2022-08-02 21:51 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1717529447.d68b9c2873613d68e3c23d39d7c0a4e2c8c4db82.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox