From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1736080-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 3171F1584AD
	for <garchives@archives.gentoo.org>; Fri, 11 Apr 2025 12:06:45 +0000 (UTC)
Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	(Authenticated sender: relay-lists.gentoo.org@gentoo.org)
	by smtp.gentoo.org (Postfix) with ESMTPSA id 1BC3C343547
	for <garchives@archives.gentoo.org>; Fri, 11 Apr 2025 12:06:45 +0000 (UTC)
Received: from bobolink.gentoo.org (localhost [127.0.0.1])
	by bobolink.gentoo.org (Postfix) with ESMTP id 172B71104B0;
	Fri, 11 Apr 2025 12:06:44 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by bobolink.gentoo.org (Postfix) with ESMTPS id 0C4ED1104B0
	for <gentoo-commits@lists.gentoo.org>; Fri, 11 Apr 2025 12:06:44 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id A9A59343547
	for <gentoo-commits@lists.gentoo.org>; Fri, 11 Apr 2025 12:06:43 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 077FE1EEA
	for <gentoo-commits@lists.gentoo.org>; Fri, 11 Apr 2025 12:06:42 +0000 (UTC)
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" <ionen@gentoo.org>
Message-ID: <1744373056.e94e3d02c04f0e00f32c71e0f184a6d1bb08b2e1.ionen@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-qt/qt-creator/Manifest dev-qt/qt-creator/qt-creator-16.0.1.ebuild
X-VCS-Directories: dev-qt/qt-creator/
X-VCS-Committer: ionen
X-VCS-Committer-Name: Ionen Wolkens
X-VCS-Revision: e94e3d02c04f0e00f32c71e0f184a6d1bb08b2e1
X-VCS-Branch: master
Date: Fri, 11 Apr 2025 12:06:42 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: a69de43c-9764-4c76-8c70-62e6829dc6b7
X-Archives-Hash: 653565534c34059af712629761a600db

commit:     e94e3d02c04f0e00f32c71e0f184a6d1bb08b2e1
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 11 10:28:40 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Apr 11 12:04:16 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e94e3d02

dev-qt/qt-creator: add 16.0.1

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

 dev-qt/qt-creator/Manifest                 |   2 +
 dev-qt/qt-creator/qt-creator-16.0.1.ebuild | 307 +++++++++++++++++++++++++++++
 2 files changed, 309 insertions(+)

diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest
index 2adce97fbe79..073cfc778e42 100644
--- a/dev-qt/qt-creator/Manifest
+++ b/dev-qt/qt-creator/Manifest
@@ -1,2 +1,4 @@
 DIST qt-creator-opensource-src-16.0.0-vendor.tar.xz 510400 BLAKE2B 87fae175ef0542f809e501b6427a08debbbaef35adf64938e39ff07d959174008bbd2f0bad562b7001cab5562207badd70e23cdbe680f635ff2a19e268f0f560 SHA512 f07f253b6d5ac05f7ccea1cde4e01050974b91be1754d8d50e8d1ddf02ce965b817fb75ce0a3f6766061969b7287a045892b8b1e615a1a3a0df30fec1ae35615
 DIST qt-creator-opensource-src-16.0.0.tar.xz 53476596 BLAKE2B 14ea5d5cb531b233d3dc831b687789713356a996ccb7574ca1ef9e66a3b6ddb8d25c058658ca74b0c732df3f878a4957c38bfc5fdb14c9b77b268296df77dd04 SHA512 7e1b2a621cb8840f3d8efdf6511104d1a80706764903ed71fdee7788d7b286022e0c7ca022226c9ac8951656b8d3b65a5d6fcb43d0695a9b363e27a0fcf5475f
+DIST qt-creator-opensource-src-16.0.1-vendor.tar.xz 509768 BLAKE2B 83080182a275e8238b5dfbeb4049670fbfd6fb1373d36c9b402d3addde806fff87a459cb80f6ce9cf84e26dd68af218ac9eb34e2687a38f99a8123b3cd53110e SHA512 222e2e7dc40b63f78a05bd48d8276f089c990b3374cf1090ebeb87e06f8fd37470b67aa11a41a850a12627126f7dd5acb0c565ccedca1c99ee0c69d1580b7e36
+DIST qt-creator-opensource-src-16.0.1.tar.xz 53538384 BLAKE2B 93085ecb846c3c500915a256dee5557483cd7f850e0756e2d31ea86b3355ea86ba6e25da81e48b3237e278303d338ca2c61950fcecb24c453cdcdee4d0f29e6d SHA512 f3056e06b214b3a49dd928ca5a40c0387954e0391a7f7debc9cad4fa2eedc62c17728a9bb5c1447ac08a70e8fe545e62e57b16ea600397b0b95ecaaa4065a4c7

diff --git a/dev-qt/qt-creator/qt-creator-16.0.1.ebuild b/dev-qt/qt-creator/qt-creator-16.0.1.ebuild
new file mode 100644
index 000000000000..2c501e76a241
--- /dev/null
+++ b/dev-qt/qt-creator/qt-creator-16.0.1.ebuild
@@ -0,0 +1,307 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..20} )
+LLVM_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake edo flag-o-matic go-env llvm-r2 multiprocessing
+inherit python-any-r1 readme.gentoo-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt-creator/qt-creator.git"
+		"https://github.com/qt-creator/qt-creator.git"
+	)
+	EGIT_SUBMODULES=(
+		perfparser
+		src/libs/qlitehtml
+		src/libs/qlitehtml/src/3rdparty/litehtml
+	)
+else
+	QTC_PV=${PV/_/-}
+	QTC_P=${PN}-opensource-src-${QTC_PV}
+	[[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development
+	SRC_URI="
+		https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz
+		cmdbridge-server? ( https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz )
+	"
+	S=${WORKDIR}/${QTC_P}
+	KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
+HOMEPAGE="https://www.qt.io/product/development-tools"
+
+LICENSE="GPL-3"
+LICENSE+=" BSD MIT" # go
+SLOT="0"
+IUSE="
+	+clang cmdbridge-server designer doc +help keyring plugin-dev
+	qmldesigner serialterminal +svg test +tracing webengine
+"
+REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+QT_PV=6.7.3:6
+
+# := is used where Qt's private APIs are used for safety
+COMMON_DEPEND="
+	dev-cpp/yaml-cpp:=
+	>=dev-qt/qt5compat-${QT_PV}
+	>=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml]
+	>=dev-qt/qtdeclarative-${QT_PV}=
+	sys-libs/zlib:=
+	clang? (
+		$(llvm_gen_dep '
+			llvm-core/clang:${LLVM_SLOT}=
+			llvm-core/llvm:${LLVM_SLOT}=
+		')
+	)
+	designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+	help? (
+		>=dev-qt/qttools-${QT_PV}[assistant]
+		webengine? ( >=dev-qt/qtwebengine-${QT_PV} )
+	)
+	keyring? (
+		app-crypt/libsecret
+		dev-libs/glib:2
+	)
+	qmldesigner? (
+		>=dev-qt/qtquick3d-${QT_PV}=
+		>=dev-qt/qtsvg-${QT_PV}
+		>=dev-qt/qtwebsockets-${QT_PV}
+		webengine? ( >=dev-qt/qtwebengine-${QT_PV} )
+	)
+	serialterminal? ( >=dev-qt/qtserialport-${QT_PV} )
+	svg? ( >=dev-qt/qtsvg-${QT_PV} )
+	tracing? (
+		app-arch/zstd:=
+		dev-libs/elfutils
+		>=dev-qt/qtcharts-${QT_PV}
+		>=dev-qt/qtshadertools-${QT_PV}
+	)
+"
+# qtimageformats for .webp in examples, semi-optfeature but useful in general
+RDEPEND="
+	${COMMON_DEPEND}
+	help? ( >=dev-qt/qtimageformats-${QT_PV} )
+	qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} )
+"
+DEPEND="${COMMON_DEPEND}"
+# intentionally skipping := on go (unlike go-module.eclass) given not
+# worth a massive rebuild every time for the minor go usage
+BDEPEND="
+	${PYTHON_DEPS}
+	>=dev-qt/qttools-${QT_PV}[linguist]
+	cmdbridge-server? ( >=dev-lang/go-1.21.7 )
+	doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch
+	"${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch
+)
+
+QA_FLAGS_IGNORED="usr/libexec/qtcreator/cmdbridge-.*" # written in Go
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]]; then
+		git-r3_src_unpack
+		if use cmdbridge-server; then
+			cd -- "${S}"/src/libs/gocmdbridge/server || die
+			edo go mod vendor
+		fi
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	# needed for finding docs at runtime in PF
+	sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \
+		-i cmake/QtCreatorAPIInternal.cmake || die
+
+	# avoid stripping for Go, use sed to avoid rebases as may be there forever
+	sed -i 's/-s -w //' src/libs/gocmdbridge/server/CMakeLists.txt || die
+
+	# avoid building manual tests (aka not ran) for nothing (bug #950010)
+	sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || die
+
+	if use plugin-dev; then #928423
+		# cmake --install --component integrates poorly with the cmake
+		# eclass and the install targets are otherwise missing, so strip
+		# out EXCLUDE_FROM_ALL until figure out a better solution
+		find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \
+			's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die
+	fi
+}
+
+src_configure() {
+	use clang && llvm_chost_setup
+
+	if use cmdbridge-server; then
+		go-env_set_compile_environment
+		export GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false -buildmode=pie"
+	fi
+
+	# -Werror=lto-type-mismatch issues, needs looking into
+	filter-lto
+
+	# temporary workaround for musl-1.2.4 (bug #903611), this ideally
+	# needs fixing in qtbase as *64 usage comes from its headers' macros
+	use elibc_musl && append-lfs-flags
+
+	local mycmakeargs=(
+		-DBUILD_DEVELOPER_DOCS=$(usex doc)
+		-DBUILD_DOCS_BY_DEFAULT=$(usex doc)
+		-DBUILD_WITH_PCH=no
+		-DWITH_DOCS=$(usex doc)
+		-DWITH_TESTS=$(usex test)
+
+		# sticking to bundled for now until it switches to KF6's
+		-DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes
+
+		# Much can be optional, but do not want to flood users (or maintainers)
+		# with too many flags. Not to mention that many plugins are merely
+		# wrappers around still optional tools (e.g. cvs) and any unwanted
+		# plugins can be disabled at runtime. So optional flags are limited
+		# to plugins with additional build-time dependencies.
+		-DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual
+		-DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing)
+		-DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing)
+
+		-DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang)
+		-DBUILD_PLUGIN_CLANGFORMAT=$(usex clang)
+		-DBUILD_PLUGIN_CLANGTOOLS=$(usex clang)
+		-DCLANGTOOLING_LINK_CLANG_DYLIB=yes
+
+		-DBUILD_PLUGIN_DESIGNER=$(usex designer)
+
+		-DBUILD_PLUGIN_HELP=$(usex help)
+		-DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine)
+		-DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine))
+		# TODO?: package litehtml, but support for latest releases seem
+		# to lag behind and bundled may work out better for now
+		# https://bugreports.qt.io/browse/QTCREATORBUG-29169
+		$(use help && usev !webengine -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes)
+
+		# help shouldn't use with the above, but qmldesigner is automagic
+		$(use help || use qmldesigner &&
+			cmake_use_find_package webengine Qt6WebEngineWidgets)
+
+		-DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal)
+		-DENABLE_SVG_SUPPORT=$(usex svg)
+		$(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925
+		-DWITH_QMLDESIGNER=$(usex qmldesigner)
+
+		# meant to be in sync with qtbase[journald], but think(?) not worth
+		# handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays
+		-Djournald=no
+
+		# not packaged, but allow using if found
+		#-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes
+		#-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes
+
+		# for bundled qtkeychain (no switch to unbundle right now)
+		# reminder: if ever unbundled/optional, qtbase[dbus] can be removed
+		-DLIBSECRET_SUPPORT=$(usex keyring)
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	local -x QT_QPA_PLATFORM=offscreen
+
+	local CMAKE_SKIP_TESTS=(
+		# skipping same tests+label as upstream's CI by default
+		# `grep ctest .github/workflows/build_cmake.yml`
+		tst_perfdata
+	)
+
+	cmake_src_test --label-exclude exclude_from_precheck
+}
+
+src_install() {
+	cmake_src_install
+
+	if use doc; then
+		dodoc -r "${BUILD_DIR}"/doc/html
+		dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch
+		docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch
+	fi
+
+	local DISABLE_AUTOFORMATTING=yes
+	local DOC_CONTENTS="\
+Some plugins (if used) may need optional extra dependencies/USE.
+
+This list provides associations with Gentoo's packages (if exists)
+ordered as in Qt Creator's Help -> About Plugins (not exhaustive).
+
+dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or
+else the example tab will be empty alongside missing documentation.
+
+Build Systems:
+- CMakeProjectManager (dev-build/cmake)
+- MesonProjectManager (dev-build/meson)
+- QbsProjectManager (dev-util/qbs)
+
+C++:
+- Beautifier (dev-util/astyle and/or dev-util/uncrustify)
+- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics)
+- ClangFormat (USE=clang)
+
+Code Analyzer:
+- ClangTools (USE=clang)
+- Cppcheck (dev-util/cppcheck)
+- CtfVisualizer (USE=tracing)
+- PerfProfiler (USE=tracing)
+- Valgrind (dev-debug/valgrind)
+
+Core:
+- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\")
+
+Device Support:
+- Android (virtual/jdk, will also want the unpackaged Qt for Android)
+
+Other Languages:
+- Nim (dev-lang/nim)
+- Python (dev-lang/python)
+
+Qt Creator:
+- Designer (USE=designer)
+
+Qt Quick:
+- Insight (USE=qmldesigner)
+- QmlDesigner (USE=qmldesigner)
+- QmlProfiler (USE=tracing)
+
+Utilities:
+- AppStatisticsMonitor (USE=tracing)
+- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used)
+- Conan (dev-util/conan)
+- Docker (app-containers/docker)
+- Haskell (dev-lang/ghc)
+- ScreenRecorder (media-video/ffmpeg)
+- SerialTerminal (USE=serialterminal)
+- SilverSearcher (sys-apps/the_silver_searcher)
+- StudioWelcome (USE=qmldesigner)
+
+Version Control:
+- CVS (dev-vcs/cvs)
+- Fossil (dev-vcs/fossil)
+- Git (dev-vcs/git)
+- Mercurial (dev-vcs/mercurial)
+- Subversion (dev-vcs/subversion)"
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	readme.gentoo_print_elog
+}