From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/goland/
Date: Tue, 29 Apr 2025 19:05:01 +0000 (UTC) [thread overview]
Message-ID: <1745953376.b078d4d4d688c1b7e061510c6f02a10595944186.sam@gentoo> (raw)
commit: b078d4d4d688c1b7e061510c6f02a10595944186
Author: Stefan Cristian B. <stefan.cristian+git <AT> rogentos <DOT> ro>
AuthorDate: Tue Apr 29 15:22:17 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 29 19:02:56 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b078d4d4
dev-util/goland: bump 2024.3.5, 2025.1
* On #876295, implemented the solution discussed with @thesamesam to strip
debug symbols and relocate them in ${EPREFIX}/opt/${P}.
JetBrains IDEs have almost identical .build-ids, causing conflicts
To prevent the conflicts, we relocate debug symbols per package.
The preferred method is stripping with objcopy and using debugedit to
point to their new /usr/lib/debug/ location.
* Corrected SONAME errors as per #738962 report
* Corrected find command, using a simpler syntax
* Removed useless postrm & postinst functions
* Added inotify recommendation
* Added full wayland support for jvm options
* Replaced objcopy with tc-export OBJCOPY
Bug: https://bugs.gentoo.org/876295
Closes: https://bugs.gentoo.org/948674
Closes: https://bugs.gentoo.org/738962 (obsolete)
Signed-off-by: Stefan Cristian B. <stefan.cristian+git <AT> rogentos.ro>
Part-of: https://github.com/gentoo/gentoo/pull/40265
Closes: https://github.com/gentoo/gentoo/pull/40265
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-util/goland/Manifest | 4 ++
dev-util/goland/goland-2024.3.5.ebuild | 110 +++++++++++++++++++++++++++++++++
dev-util/goland/goland-2025.1.ebuild | 110 +++++++++++++++++++++++++++++++++
3 files changed, 224 insertions(+)
diff --git a/dev-util/goland/Manifest b/dev-util/goland/Manifest
index 8386f576b0c8..27130f3db48d 100644
--- a/dev-util/goland/Manifest
+++ b/dev-util/goland/Manifest
@@ -1,2 +1,6 @@
DIST goland-2022.3.3-aarch64.tar.gz 669196391 BLAKE2B bf19290a73d9a0e268f90420a4aa3962da842fcc59e2323b9631cf6c511fdd48b2663164e15e587fbee6ba0f51650798eb91d41c750a64c2760ceaa2fe74d13f SHA512 b75ef4063adb8e75b8c20b9f762c7b9d5a1614d666cc81ba21e25728a55a2ee83343eabce29bc7f90eab03ec0eeca9ce2c9dba2016330491e9f16313f0087157
DIST goland-2022.3.3.tar.gz 673567402 BLAKE2B e1771f0890e12e43099d50907aeaa479dedab514f2900cef738e7a9a37314376cf37155e04e55dfeb5e783f6b3f1ebb96f33005d39b8d01404502486adf91416 SHA512 e5a216a2f31698f226bcc58ed5f7c7efd0110f93f001c6de20d2fee25cfd7b816bda59f1f6fda5c0052cfa0d5aa1e089c7f2a7d2a6cedc64a6fd3c7319359030
+DIST goland-2024.3.5-aarch64.tar.gz 1108972234 BLAKE2B 6f9cf2b9d5b61b4608dde0006b282ca929484d2a74a918806efdde032bf8239b23ef00bf46f5c3b33a7cfd77625e5588f474f5524cfed20b9ca14fdf81db252f SHA512 e6acbd595531ee66ed132d4f70df3fa2c3181e126c7570a083df89d87f203789263576f96c496593d311866475c4f845d50e08dd137556bcc26ece810568fa27
+DIST goland-2024.3.5.tar.gz 1109319258 BLAKE2B 03c0f91313f492b2db3cbc139eef866193d17a56f4f20a45a64c7cf9a27f36cd9ebf87c95689cb406dabbe7f147a6802fa27a4eab2b33acb5c732e470b21836b SHA512 40a81c037d29210294920bf6400778104bc20dde37966c6f9305e0003ca546cb582aa4aa1fb74001e6c340d0c25b692dd84f6d3c881381b06fc20ea57842636d
+DIST goland-2025.1-aarch64.tar.gz 1117409123 BLAKE2B 2fa42ac22ce494296eb1404744d30d81d7316c8c887f020b619d57855dafec3b44d02921e085261238ca79373396fdc7c86696bfa7f49413eb6b8d7161cda007 SHA512 e2d0508f443a6f7de9085d40b1e428c3d6a88c9985ecbb5cf3c8d0c1972a98a3e65166e5702a3702da14a15ee74aae97bc3166909e4d408fc5f51d9f6309b81e
+DIST goland-2025.1.tar.gz 1120023437 BLAKE2B 6a7ea2ac5c4bfa3a2bdcd84425ff7045d36d89541d703328fc6247f4a6cebbf7655f39e1d9da97298ae266ae6e53e2391dced3be9c3014afe9a4516dc8d4a8f3 SHA512 4ef5eac89186334ec04cda6c8668b1b4651b0955bbe87d9d80646d9e6f7c547967a628973f8393fd003a1dcf5118013347120552f6f7331ebdb4ecfea6c84ff9
diff --git a/dev-util/goland/goland-2024.3.5.ebuild b/dev-util/goland/goland-2024.3.5.ebuild
new file mode 100644
index 000000000000..b7ccbfbe65a7
--- /dev/null
+++ b/dev-util/goland/goland-2024.3.5.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop wrapper toolchain-funcs
+
+DESCRIPTION="Golang IDE by JetBrains"
+HOMEPAGE="https://www.jetbrains.com/go/"
+SRC_URI="
+ amd64? ( https://download.jetbrains.com/go/${P}.tar.gz )
+ arm64? ( https://download.jetbrains.com/go/${P}-aarch64.tar.gz )
+"
+S="${WORKDIR}/GoLand-${PV}"
+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/2024"
+KEYWORDS="~amd64 ~arm64"
+IUSE="wayland"
+
+RESTRICT="bindist mirror"
+QA_PREBUILT="opt/${P}/*"
+
+BDEPEND="
+ dev-util/debugedit
+ dev-util/patchelf
+"
+RDEPEND="
+ >=virtual/jre-17:*
+ dev-lang/go
+ dev-libs/wayland
+ sys-libs/pam
+ sys-process/audit
+"
+
+src_prepare() {
+ tc-export OBJCOPY
+ default
+
+ local remove_me=(
+ lib/async-profiler/aarch64
+ plugins/go-plugin/lib/dlv/linuxarm/dlv
+ plugins/go-plugin/lib/dlv/linuxarmmusl/dlv
+ )
+
+ rm -rv "${remove_me[@]}" || die
+
+ # excepting files that should be kept for remote plugins
+ local skip_nonx86_files=(
+ "./plugins/platform-ijent-impl/ijent-aarch64-unknown-linux-musl-release"
+ "./plugins/clion-radler/DotFiles/linux-musl-arm64/jb_zip_unarchiver"
+ "./plugins/clion-radler/DotFiles/linux-arm/jb_zip_unarchiver"
+ "./plugins/clion-radler/DotFiles/linux-musl-arm/jb_zip_unarchiver"
+ "./plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-arm64"
+ )
+ # 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_nonx86_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' "jbr/lib/libjcef.so" || die
+ patchelf --set-rpath '$ORIGIN' "jbr/lib/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}"
+
+ insinto "${dir}"
+ doins -r *
+ fperms 755 "${dir}"/bin/{format.sh,goland.sh,inspect.sh,ltedit.sh,remote-dev-server.sh,restarter,fsnotifier}
+ fperms 755 "${dir}"/jbr/bin/{java,javac,javadoc,jcmd,jdb,jfr,jhsdb,jinfo,jmap,jps,jrunscript,jstack,jstat,keytool,rmiregistry,serialver}
+ fperms 755 "${dir}"/jbr/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
+ fperms 755 "${dir}"/plugins/go-plugin/lib/dlv/linux/dlv
+
+ make_wrapper "${PN}" "${dir}/bin/${PN}.sh"
+ newicon "bin/${PN}.png" "${PN}.png"
+ make_desktop_entry "${PN}" "Goland ${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"
+}
diff --git a/dev-util/goland/goland-2025.1.ebuild b/dev-util/goland/goland-2025.1.ebuild
new file mode 100644
index 000000000000..601ed1c0cfed
--- /dev/null
+++ b/dev-util/goland/goland-2025.1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop wrapper toolchain-funcs
+
+DESCRIPTION="Golang IDE by JetBrains"
+HOMEPAGE="https://www.jetbrains.com/go/"
+SRC_URI="
+ amd64? ( https://download.jetbrains.com/go/${P}.tar.gz )
+ arm64? ( https://download.jetbrains.com/go/${P}-aarch64.tar.gz )
+"
+S="${WORKDIR}/GoLand-${PV}"
+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="
+ >=virtual/jre-17:*
+ dev-lang/go
+ dev-libs/wayland
+ sys-libs/pam
+ sys-process/audit
+"
+
+src_prepare() {
+ tc-export OBJCOPY
+ default
+
+ local remove_me=(
+ lib/async-profiler/aarch64
+ plugins/go-plugin/lib/dlv/linuxarm/dlv
+ plugins/go-plugin/lib/dlv/linuxarmmusl/dlv
+ )
+
+ rm -rv "${remove_me[@]}" || die
+
+ # excepting files that should be kept for remote plugins
+ local skip_nonx86_files=(
+ "./plugins/platform-ijent-impl/ijent-aarch64-unknown-linux-musl-release"
+ "./plugins/clion-radler/DotFiles/linux-musl-arm64/jb_zip_unarchiver"
+ "./plugins/clion-radler/DotFiles/linux-arm/jb_zip_unarchiver"
+ "./plugins/clion-radler/DotFiles/linux-musl-arm/jb_zip_unarchiver"
+ "./plugins/gateway-plugin/lib/remote-dev-workers/remote-dev-worker-linux-arm64"
+ )
+ # 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_nonx86_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' "jbr/lib/libjcef.so" || die
+ patchelf --set-rpath '$ORIGIN' "jbr/lib/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}"
+
+ insinto "${dir}"
+ doins -r *
+ fperms 755 "${dir}"/bin/{format.sh,goland.sh,inspect.sh,ltedit.sh,remote-dev-server.sh,restarter,fsnotifier}
+ fperms 755 "${dir}"/jbr/bin/{java,javac,javadoc,jcmd,jdb,jfr,jhsdb,jinfo,jmap,jps,jrunscript,jstack,jstat,keytool,rmiregistry,serialver}
+ fperms 755 "${dir}"/jbr/lib/{chrome-sandbox,jcef_helper,jexec,jspawnhelper}
+ fperms 755 "${dir}"/plugins/go-plugin/lib/dlv/linux/dlv
+
+ make_wrapper "${PN}" "${dir}/bin/${PN}.sh"
+ newicon "bin/${PN}.png" "${PN}.png"
+ make_desktop_entry "${PN}" "Goland ${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"
+}
next reply other threads:[~2025-04-29 19:05 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-29 19:05 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-10-09 6:24 [gentoo-commits] repo/gentoo:master commit in: dev-util/goland/ Viorel Munteanu
2025-09-26 8:49 Arthur Zamarin
2025-09-25 7:02 Viorel Munteanu
2025-08-10 14:18 Viorel Munteanu
2025-08-10 14:18 Viorel Munteanu
2025-07-17 11:43 Viorel Munteanu
2025-07-17 11:43 Viorel Munteanu
2025-07-12 16:14 Sam James
2025-07-12 12:41 Arthur Zamarin
2025-06-24 1:18 Sam James
2025-06-24 1:18 Sam James
2025-06-23 0:21 Sam James
2025-06-08 12:24 Viorel Munteanu
2025-04-29 19:05 Sam James
2025-02-22 9:38 Ulrich Müller
2024-05-13 17:33 Ulrich Müller
2024-05-13 16:11 Ulrich Müller
2023-03-23 19:09 Jason A. Donenfeld
2022-10-08 20:01 Sam James
2022-03-17 3:50 Jason A. Donenfeld
2021-12-14 23:47 Jason A. Donenfeld
2021-08-08 13:22 Jason A. Donenfeld
2021-06-13 17:11 Jason A. Donenfeld
2021-05-10 17:07 Jason A. Donenfeld
2021-02-08 15:09 Jason A. Donenfeld
2021-02-08 15:06 Jason A. Donenfeld
2020-12-18 18:28 Jason A. Donenfeld
2020-12-18 18:18 Jason A. Donenfeld
2020-11-17 17:23 Jason A. Donenfeld
2020-06-07 4:32 Jason A. Donenfeld
2020-04-05 7:01 Jason A. Donenfeld
2020-03-14 3:26 Jason A. Donenfeld
2019-12-10 18:11 Jason A. Donenfeld
2019-12-05 20:01 Jason A. Donenfeld
2019-12-05 19:59 Jason A. Donenfeld
2019-09-13 7:10 Michał Górny
2019-05-21 8:53 Jason A. Donenfeld
2019-05-14 9:25 Jason A. Donenfeld
2019-02-28 3:07 Jason A. Donenfeld
2019-01-27 15:13 Pacho Ramos
2018-07-30 21:56 Manuel Rüger
2018-07-05 11:34 Manuel Rüger
2018-06-27 11:49 Manuel Rüger
2018-06-02 12:50 Manuel Rüger
2018-06-02 12:28 Manuel Rüger
2018-05-14 17:12 Manuel Rüger
2018-05-14 17:12 Manuel Rüger
2018-04-16 14:25 Manuel Rüger
2018-03-30 17:25 Manuel Rüger
2018-03-27 11:18 Manuel Rüger
2018-03-27 11:18 Manuel Rüger
2018-02-14 22:56 Manuel Rüger
2018-02-14 22:56 Manuel Rüger
2018-01-15 13:18 Manuel Rüger
2018-01-15 13:18 Manuel Rüger
2017-12-01 14:35 Manuel Rüger
2017-11-03 14:48 Manuel Rüger
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=1745953376.b078d4d4d688c1b7e061510c6f02a10595944186.sam@gentoo \
--to=sam@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