repo/proj/guru:dev commit in: dev-util/webstorm/

"Stefan Cristian B." <[email protected]> Wed, 05 Aug 2026 14:13:53 +0000 (UTC)
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1785939228.07301b407fff663323418558ccd88ae7ad2a55b9.stefan.cristian+git@gentoo>
commit:     07301b407fff663323418558ccd88ae7ad2a55b9
Author:     Stefan Cristian B. <stefan.cristian+git <AT> rogentos <DOT> ro>
AuthorDate: Wed Aug  5 14:13:48 2026 +0000
Commit:     Stefan Cristian B. <stefan.cristian+git <AT> rogentos <DOT> ro>
CommitDate: Wed Aug  5 14:13:48 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=07301b40

dev-util/webstorm: bump 2026.2.0.1

Signed-off-by: Stefan Cristian B. <stefan.cristian+git <AT> rogentos.ro>

 dev-util/webstorm/Manifest                   |   2 +
 dev-util/webstorm/webstorm-2026.2.0.1.ebuild | 138 +++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/dev-util/webstorm/Manifest b/dev-util/webstorm/Manifest
index c9d1d67675..51e1652f9a 100644
--- a/dev-util/webstorm/Manifest
+++ b/dev-util/webstorm/Manifest
@@ -7,4 +7,6 @@ DIST WebStorm-2025.3.4.tar.gz 1077824124 BLAKE2B 41f242960439535cfb8fe739590cf09
 DIST WebStorm-2026.1.4-aarch64.tar.gz 1099462386 BLAKE2B 34445dcae1fe5067289b4f8ab8c12908e28c5525b41a01216f7aa4f2c94765d71ea468747bd8fd92e92d4183ff004439c5fecdb83a0a0458b98b6d7aa446dcc9 SHA512 6a72454076b2edf8451ded6336705997b82147a103972b160609e7311211336496b00b6982268dac46adae33ee9f50bb13201c080ed2e0481c7e7716afcea4ec
 DIST WebStorm-2026.1.4.tar.gz 1104851702 BLAKE2B 3e8e53aefd2c923e39b38c1677ec2d673397232677ba8df064c70dcae2eff0521cf57fb82586ccdcd6bebfd294c886fb29168913f66fbbc5ea78e9f36b19c859 SHA512 3b2a9e999c34feb75611d4175162d49e28dee43912084fb0fa65076e29f948d6cebe33870162c69cf2cb7bdf3650dbf4f9eec736937bd9ca6a1a6f3731311e44
 DIST WebStorm-2026.2-aarch64.tar.gz 1155357400 BLAKE2B c0105a2e4af4cbc5729cd7cddeaaaf8ea9ac67467c40d531347588c4058d8566583a90a06c43bedbeb4765a8d8b365923aebea95befbda5f028afb0f2d8c1a4d SHA512 d88c17bb6fe2b9c8a913af42a6b688fed5448aff8982600bd2476543d3ad5f89242b449c857d5921cb2f0388d9f1f838ec242c2d53f389de135616375e491deb
+DIST WebStorm-2026.2.0.1-aarch64.tar.gz 1155389881 BLAKE2B dd3071e5969165e94ce5eada67e8fd7123b2d9705f5d08dc34378c2ae25989b62121ad8a8aaef70e0461b052476a43fe665efacab27d410aedf4f2a36f599480 SHA512 51b371b381abfaacb4a120a1aac794df2426e7f8f7ddb4585a709f511ddfc9c43cc63f700e39db33de67d40ee079c0312bf464dcda07e116ca39ef62da632e41
+DIST WebStorm-2026.2.0.1.tar.gz 1132150045 BLAKE2B 284b3b21abb66116e2ec25e93ca2bd17ece4fa5436bcda3bfd20e648a56865c0260e390121cadbbb1fe955a0f5337d69273970a6aa15e2d21ae3cf8adac300be SHA512 e22e27a9a20ee391c1604b341d817edf7d302ae5a98079a81bd6a65597385e0a9623e5dde88408684e9e77c9b69a2be715a1039efc72194c4d57854bcfc1ae15
 DIST WebStorm-2026.2.tar.gz 1132090952 BLAKE2B da5c23dc891a2e5b6669e2b4b24efb4d1ba747078baa98d29bc652459d9b7be4125914f2d7758db34e94a2bae85a6767d8dc845a424837ca1ccb3a07eb39b119 SHA512 c97cc36dbfc426754ca141f15f96cfbd1f4ef7bb7b99927555d16329702bee1fc55ae35af7b2a527569c740ebe8749d44c836c35b52dcf5001f7fcd28041b41d

diff --git a/dev-util/webstorm/webstorm-2026.2.0.1.ebuild b/dev-util/webstorm/webstorm-2026.2.0.1.ebuild
new file mode 100644
index 0000000000..505d82f01b
--- /dev/null
+++ b/dev-util/webstorm/webstorm-2026.2.0.1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop wrapper toolchain-funcs
+
+DESCRIPTION="An integrated development environment for JavaScript and related technologies"
+HOMEPAGE="https://www.jetbrains.com/webstorm/"
+SRC_URI="
+	amd64? ( https://download-cdn.jetbrains.com/${PN}/WebStorm-${PV}.tar.gz )
+	arm64? ( https://download-cdn.jetbrains.com/${PN}/WebStorm-${PV}-aarch64.tar.gz )
+"
+
+LICENSE="|| ( JetBrains-business JetBrains-classroom JetBrains-educational JetBrains-individual )
+		Apache-2.0
+		BSD
+		CC0-1.0
+		CDDL
+		CDDL-1.1
+		EPL-1.0
+		GPL-2
+		GPL-2-with-classpath-exception
+		ISC
+		LGPL-2.1
+		LGPL-3
+		MIT
+		MPL-1.1
+		OFL-1.1
+		ZLIB
+"
+SLOT="0/2025"
+KEYWORDS="~amd64 ~arm64"
+IUSE="wayland"
+
+RESTRICT="bindist mirror"
+QA_PREBUILT="opt/${P}/*"
+
+BDEPEND="dev-util/debugedit
+	dev-util/patchelf
+"
+RDEPEND="
+		dev-libs/wayland
+		sys-libs/pam
+		sys-process/audit
+		virtual/zlib:=
+"
+
+src_unpack() {
+		# WebStorm unarchived directory is in format WebStorm-xxx.yyy.zzz, not ${P}
+		if use amd64 ; then
+			cp "${DISTDIR}"/WebStorm-${PV}.tar.gz "${WORKDIR}"/ || die
+		elif use arm64 ; then
+			cp "${DISTDIR}"/WebStorm-${PV}-aarch64.tar.gz "${WORKDIR}"/ || die
+		fi
+		mkdir -p "${P}" || die
+		tar --strip-components=1 -xzf "WebStorm-${PV}".tar.gz -C "${P}" || die
+}
+
+src_prepare() {
+		tc-export OBJCOPY
+		default
+
+	if ! use arm64; then
+		local remove_me=(
+			lib/async-profiler/aarch64
+		)
+	elif ! use amd64; then
+		local remove_me=(
+			lib/async-profiler/amd64
+		)
+	fi
+
+	rm -rv "${remove_me[@]}" || die
+
+	# excepting files that should be kept for remote plugins
+	if ! use arm64 ; then
+		local skip_remote_files=(
+			"plugins/platform-ijent-bundledBinaries/ijent-aarch64-unknown-linux-musl-release"
+			"plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-arm64"
+		)
+	elif ! use amd64; then
+		local skip_remote_files=(
+			"plugins/platform-ijent-bundledBinaries/ijent-x86_64-unknown-linux-musl-release"
+			"plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-amd64"
+		)
+	fi
+
+	# 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
+
+		patchelf --set-rpath '$ORIGIN' "plugins/jcef-plugin/jcef/libjcef.so" || die
+		patchelf --set-rpath '$ORIGIN' "plugins/jcef-plugin/jcef/jcef_helper" || die
+
+		# As per https://blog.jetbrains.com/platform/2024/07/wayland-support-preview-in-2024-2/ for full wayland support
+		if use wayland; then
+				echo "-Dawt.toolkit.name=WLToolkit" >> bin/webstorm64.vmoptions || die
+		fi
+}
+
+src_install() {
+		local dir="/opt/${P}"
+
+		# foreign-arch binaries kept for remote plugins; the host strip
+		# cannot parse them
+		if ! use arm64 ; then
+			dostrip -x "${dir}"/plugins/platform-ijent-bundledBinaries/ijent-aarch64-unknown-linux-musl-release
+			dostrip -x "${dir}"/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-arm64
+		elif ! use amd64 ; then
+			dostrip -x "${dir}"/plugins/platform-ijent-bundledBinaries/ijent-x86_64-unknown-linux-musl-release
+			dostrip -x "${dir}"/plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-amd64
+		fi
+
+		insinto "${dir}"
+		doins -r *
+		fperms 755 "${dir}"/bin/{"${PN}",fsnotifier,format.sh,inspect.sh,jetbrains_client.sh,ltedit.sh,remote-dev-server,remote-dev-server.sh,restarter}
+		fperms 755 "${dir}"/jbr/bin/{java,javac,javadoc,jcmd,jdb,jfr,jhsdb,jinfo,jmap,jps,jrunscript,jstack,jstat,jwebserver,keytool,rmiregistry,serialver}
+		fperms 755 "${dir}"/jbr/lib/{jexec,jspawnhelper}
+		fperms 755 "${dir}"/plugins/jcef-plugin/jcef/{chrome-sandbox,jcef_helper}
+
+		make_wrapper "${PN}" "${dir}"/bin/"${PN}"
+		newicon bin/"${PN}".svg "${PN}".svg
+		make_desktop_entry "${PN}" "WebStorm ${PV}" "${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"
+}