repo/gentoo:master commit in: dev-util/clion/

"Viorel Munteanu" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786199607.fd095be810b5fcaed7a05ffdb9049d99c0762c54.ceamac@gentoo>
commit:     fd095be810b5fcaed7a05ffdb9049d99c0762c54
Author:     Stefan Cristian B. <stefan.cristian+git <AT> rogentos <DOT> ro>
AuthorDate: Sat Aug  8 13:07:00 2026 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Sat Aug  8 14:33:27 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd095be8

dev-util/clion: bump 2026.2.0.1, modernized ebuild, bugfixes

* corrected dostrip -x from opt/clion to ${dir}
* corrected the updating of clion, should be done
  by the pm
* corrected arm/amd64 usexes
* corrected rpath of .so-es
* dropped the macOS and Win* .NET runtime packs
* corrected the new paths of the jcef plugins,
  updated the patchelf calls as per relocations
  of files

Signed-off-by: Stefan Cristian B. <stefan.cristian+git <AT> rogentos.ro>
Part-of: https://github.com/gentoo/gentoo/pull/46629
Closes: https://github.com/gentoo/gentoo/pull/46629
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 dev-util/clion/Manifest                |   2 +
 dev-util/clion/clion-2026.2.0.1.ebuild | 203 +++++++++++++++++++++++++++++++++
 2 files changed, 205 insertions(+)

diff --git a/dev-util/clion/Manifest b/dev-util/clion/Manifest
index 0f8642c72eaf..1fb0d802cca0 100644
--- a/dev-util/clion/Manifest
+++ b/dev-util/clion/Manifest
@@ -7,3 +7,5 @@ DIST CLion-2025.3.4-aarch64.tar.gz 2088231654 BLAKE2B aa8cba41ce3e90610c044024af
 DIST CLion-2025.3.4.tar.gz 2094391256 BLAKE2B 6b21e979167515067543a2d3fe1411109c2edf78dff01ea1fc7a90a5ada874870692a43507bfa43ba623aec851c583a7c324b8dd59b828e0071f363e732c713b SHA512 0f40e181627d92a8025551148281659f3e3fe94eb8a87f43f0ce829fdffcd59c464ea42daa159794e95c6c18c35aaba5e874dda4bc0299f68ad890245bc9bfe9
 DIST CLion-2026.1.4-aarch64.tar.gz 1756093598 BLAKE2B ac3ea6c4bf3317adbd5e1b4db0ca6d12865a98950f090daf50378cdd7d4e7b2636ed8f7e0e81fc20f89bcfdee58e456d73fa9065abb14f7fe6b0e8c222f5b38f SHA512 c343753db50484f643d2654a79ec99c8ef4755ded2d7d1883044701533268e1d2dcd1ee5bcbdc59d5e21a49b0576585845f4ddf653f7be776d9e5f220d27d21a
 DIST CLion-2026.1.4.tar.gz 1768042735 BLAKE2B 7fece9d91131b4c58e81111fa0c97047e5f100569f86be302f0c52654357caf792be8bb8cfd20ec2c09ca294356b814979a8a99f054103aab4324fb18cc967e3 SHA512 092ac778817d0014a7e92bac7446e83f45e39ced5e3d8acaca0c231a8179daf73f82fbde1aecc9a8cbcc37713663915e23c4c4c8b160dd3aa408cff321124ea1
+DIST CLion-2026.2.0.1-aarch64.tar.gz 1905011183 BLAKE2B de56c247e2e98427ec49a742dcd54513fbf25b120b3476f7a7ad645619f663a23854d28eb4c02a96799fb5e596b9119a0cd2ea3aaf80ca0c73d4ca54dcefbc37 SHA512 e5e69f6aace6e92f82bb58ae3b564fb37179ee695e9108c2e573bbf38bb619d0943f8e35a3b4dba0ab5760bf9346159e05048136d38f98fd5f8b0711142faf83
+DIST CLion-2026.2.0.1.tar.gz 1887853646 BLAKE2B 301716b9579572cefaba36e867dc72b6347b112b40ea6b04399c1b10c8206483d84240caf5e60c3900a4c03400c9238da770c610d6dfa9ac3e6f2b7fd3f002b9 SHA512 e363a3c822b123daa83bcd537b199bdde865a9e2ff6cc52bb31d7ae7040df7cda063aa89779fd35e5207cfb1627b02169265d1eb84452975f2ff6f26b496ec6f

diff --git a/dev-util/clion/clion-2026.2.0.1.ebuild b/dev-util/clion/clion-2026.2.0.1.ebuild
new file mode 100644
index 000000000000..2643c6045572
--- /dev/null
+++ b/dev-util/clion/clion-2026.2.0.1.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs desktop optfeature toolchain-funcs wrapper
+
+DESCRIPTION="A complete toolset for C and C++ development"
+HOMEPAGE="https://www.jetbrains.com/clion/"
+SRC_URI="
+	amd64? ( https://download.jetbrains.com/cpp/CLion-${PV}.tar.gz )
+	arm64? ( https://download.jetbrains.com/cpp/CLion-${PV}-aarch64.tar.gz )
+"
+
+LICENSE="|| ( IDEA IDEA_Academic IDEA_Classroom IDEA_OpenSource IDEA_Personal )
+	Apache-1.1 Apache-2.0 BSD BSD-2 CC0-1.0 CDDL-1.1 CPL-0.5 CPL-1.0
+	EPL-1.0 EPL-2.0 GPL-2 GPL-2-with-classpath-exception GPL-3 ISC JDOM
+	LGPL-2.1+ LGPL-3 MIT MPL-1.0 MPL-1.1 OFL-1.1 public-domain PSF-2
+	UoI-NCSA ZLIB"
+SLOT="0/2026"
+KEYWORDS="~amd64 ~arm64"
+RESTRICT="bindist mirror"
+
+BDEPEND="
+	dev-util/debugedit
+	dev-util/patchelf
+"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	dev-libs/expat
+	dev-libs/glib:2
+	|| (
+		dev-util/lttng-ust-compat:0/2.12
+		dev-util/lttng-ust:0/2.12
+	)
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/wayland
+	dev-build/cmake
+	app-alternatives/ninja
+	media-libs/alsa-lib
+	media-libs/fontconfig
+	media-libs/freetype:2
+	media-libs/libglvnd
+	media-libs/mesa
+	net-print/cups
+	sys-apps/dbus
+	|| (
+		sys-apps/systemd
+		sys-apps/systemd-utils[udev]
+	)
+	x11-libs/cairo
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXtst
+	x11-libs/libXxf86vm
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/pango
+	virtual/zlib:=
+	"
+
+QA_PREBUILT="opt/${PN}/*"
+
+CHECKREQS_DISK_BUILD="10G"
+
+pkg_pretend() {
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	check-reqs_pkg_setup
+}
+
+src_prepare() {
+	if use amd64; then
+		my_arch_suffix=x64
+		my_arch_radler=x64
+		local other_arch_amd64_aarch64=aarch64
+		local other_arch_radler=arm64
+	elif use arm64; then
+		my_arch_suffix=aarch64
+		my_arch_radler=arm64
+		local other_arch_amd64_aarch64=amd64
+		local other_arch_radler=x64
+	fi
+	tc-export OBJCOPY
+	default
+
+	local remove_me=(
+		Install-Linux-tar.txt
+		help/ReferenceCardForMac.pdf
+		bin/cmake
+		bin/gdb/linux
+		bin/lldb/linux
+		bin/ninja
+		plugins/remote-dev-server/selfcontained
+		plugins/nativeDebug-plugin/bin/lldb/linux/${my_arch_suffix}/bin/LLDBFrontend
+		plugins/clion-radler/DotFiles/runtimes/osx-*
+		plugins/clion-radler/DotFiles/runtimes/win*
+		plugins/clion-radler/DotFiles/macos-*
+		plugins/clion-radler/DotFiles/windows-*
+		plugins/clion-radler/dotTrace.dotMemory/DotFiles/macos-*
+		plugins/clion-radler/dotTrace.dotMemory/DotFiles/windows-*
+		plugins/serial-monitor/bin/OSX
+		plugins/serial-monitor/bin/Windows
+	)
+	remove_me+=(
+		lib/async-profiler/${other_arch_amd64_aarch64}
+		plugins/clion-radler/DotFiles/linux-${other_arch_radler}
+		plugins/clion-radler/DotFiles/runtimes/linux-${other_arch_radler}/native/
+		plugins/clion-radler/DotFiles/runtimes/linux-arm/native/
+		plugins/clion-radler/DotFiles/runtimes/linux-musl-arm/native/
+		plugins/clion-radler/dotTrace.dotMemory/DotFiles/linux-${other_arch_radler}
+		plugins/nativeDebug-plugin/bin/lldb/linux/${other_arch_amd64_aarch64}
+		plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_${other_arch_amd64_aarch64}.so
+		plugins/serial-monitor/bin/Linux/$(usex amd64 armv8_64 x86_64)
+	)
+	use !amd64 && remove_me+=(
+		plugins/python-ce/helpers/coveragepy_old/coverage/tracer.cpython-310-x86_64-linux-gnu.so
+		plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
+	)
+	use !elibc_musl && remove_me+=(
+		plugins/clion-radler/DotFiles/runtimes/linux-musl-arm64
+		plugins/clion-radler/DotFiles/runtimes/linux-musl-x64
+	)
+
+	rm -rv "${remove_me[@]}" || die
+
+	# excepting files that should be kept for remote plugins
+	skip_remote_files=(
+		"plugins/platform-ijent-impl/ijent-$(usex amd64 aarch64 x86_64)-unknown-linux-musl-release"
+		"plugins/platform-ijent-bundledBinaries/ijent-$(usex amd64 aarch64 x86_64)-unknown-linux-musl-release"
+		"plugins/clion-radler/DotFiles/linux-musl-${other_arch_radler}/jb_zip_unarchiver"
+		"plugins/clion-radler/DotFiles/linux-arm/jb_zip_unarchiver"
+		"plugins/clion-radler/DotFiles/linux-musl-arm/jb_zip_unarchiver"
+		"plugins/clion-radler/DotFiles/runtimes/linux-musl-${other_arch_radler}/native/libdbgshim.so"
+		"plugins/clion-radler/DotFiles/runtimes/linux-arm/native/"
+		"plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-$(usex amd64 arm64 amd64)"
+	)
+	# removing debug symbols and relocating debug files as per #876295
+	# we're escaping all the files that contain $() in their name
+	# as they should not be executed
+	find . -type f ! -name '*$(*)*' -print0 | while IFS= read -r -d '' file; do
+		for skip in "${skip_remote_files[@]}"; do
+			[[ ${file} == "./${skip}" ]] && continue 2
+		done
+		if file "${file}" | grep -qE "ELF (32|64)-bit"; then
+			${OBJCOPY} --remove-section .note.gnu.build-id "${file}" || die
+			debugedit -b "${EPREFIX}/opt/${PN}" -d "/usr/lib/debug" -i "${file}" || die
+		fi
+	done
+
+	# updates are handled by the package manager, bug #704494
+	printf '\nide.no.platform.update=Gentoo\n' >> bin/idea.properties || die
+
+	patchelf --set-rpath '$ORIGIN' "plugins/jcef-plugin/jcef/libjcef.so" || die
+	patchelf --set-rpath '$ORIGIN' "plugins/jcef-plugin/jcef/libcef.so" || die
+	patchelf --set-rpath '$ORIGIN' "plugins/jcef-plugin/jcef/jcef_helper" || die
+	patchelf --set-rpath '$ORIGIN/../lib' "bin/clang/linux/${my_arch_suffix}/lib/libclazyPlugin.so" || die
+}
+
+src_install() {
+	local dir="/opt/${PN}"
+
+	insinto "${dir}"
+	doins -r *
+	fperms 755 "${dir}"/bin/{clion.sh,format.sh,fsnotifier,inspect.sh,jetbrains_client.sh,ltedit.sh,remote-dev-server.sh,restarter,clang/linux/${my_arch_suffix}/bin/{clangd,clang-tidy,clazy-standalone,llvm-symbolizer}}
+
+	if [[ -d jbr ]]; then
+		fperms 755 "${dir}"/jbr/bin/{java,javac,javadoc,jcmd,jdb,jfr,jhsdb,jinfo,jmap,jps,jrunscript,jstack,jstat,keytool,rmiregistry,serialver}
+		# Fix #763582
+		fperms 755 "${dir}"/jbr/lib/{jexec,jspawnhelper}
+	fi
+
+	fperms 755 "${dir}"/plugins/jcef-plugin/jcef/{cef_server,chrome-sandbox,jcef_helper}
+	fperms 755 "${dir}"/plugins/clion-radler/DotFiles/linux-${my_arch_radler}/Rider.Backend
+
+	dosym -r "${EPREFIX}/usr/bin/ninja" "${dir}"/bin/ninja/linux/${my_arch_suffix}/ninja
+
+	make_wrapper "${PN}" "${dir}/bin/${PN}.sh"
+	newicon "bin/${PN}.svg" "${PN}.svg"
+	make_desktop_entry "${PN}" "CLion" "${PN}" "Development;IDE;"
+
+	# recommended by: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
+	insinto /usr/lib/sysctl.d
+	newins - 30-"${PN}"-inotify-watches.conf <<<"fs.inotify.max_user_watches = 524288"
+	dostrip -x "${skip_remote_files[@]/#/${dir}/}"
+}
+
+pkg_postinst() {
+	optfeature "Debugging support" dev-debug/gdb
+	optfeature "LLDB support" llvm-core/lldb
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.