commit: 566e6e81d8ac31202742c386e8e607758da73bc6 Author: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com> AuthorDate: Sat Jul 5 13:42:07 2025 +0000 Commit: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com> CommitDate: Sat Jul 5 13:42:07 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=566e6e81
dev-java/jdtls-bin: new package, add 1.49.0-202507030451 Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail.com> dev-java/jdtls-bin/Manifest | 1 + dev-java/jdtls-bin/files/wrapper | 31 +++++++++++++ .../jdtls-bin-1.49.0_p202507030451.ebuild | 53 ++++++++++++++++++++++ dev-java/jdtls-bin/metadata.xml | 11 +++++ 4 files changed, 96 insertions(+) diff --git a/dev-java/jdtls-bin/Manifest b/dev-java/jdtls-bin/Manifest new file mode 100644 index 0000000000..c79af1f22f --- /dev/null +++ b/dev-java/jdtls-bin/Manifest @@ -0,0 +1 @@ +DIST jdtls-1.49.0_p202507030451.tar.gz 49052555 BLAKE2B 62bfc716129584fe1e9d1178b2627f3f3459a11824662ae4536aacaaf74b7dcb1f550fe37d3c358ec752926de46ee94c111757322cc05b9147bfacc2394c3397 SHA512 501e628c3bae38fa18ce9c0e88fa4c8d9cd82f2d5de9bf6586bd6efd537d1343ab7f00f05af4c200208bc6446435ce4ba02d84591d21734534092f6e37b85a38 diff --git a/dev-java/jdtls-bin/files/wrapper b/dev-java/jdtls-bin/files/wrapper new file mode 100644 index 0000000000..152f48520b --- /dev/null +++ b/dev-java/jdtls-bin/files/wrapper @@ -0,0 +1,31 @@ +#!/bin/sh + +share_dir="${XDG_DATA_HOME:-${HOME}/.local/share}/@PKGNAME@" +state_dir="${XDG_STATE_HOME:-${HOME}/.local/state}/@PKGNAME@" + +workspace_dir="${state_dir}/$(pwd | sha1sum | cut -d' ' -f1)" + +mkdir -p "${workspace_dir}" + +if [ ! -d "${share_dir}" ]; then + cp -R /usr/share/@PKGNAME@/config_linux "${share_dir}" +fi + +cd "/usr/libexec/@PKGNAME@" + +exec java \ + -Declipse.application=org.eclipse.jdt.ls.core.id1 \ + -Dosgi.bundles.defaultStartLevel=4 \ + -Declipse.product=org.eclipse.jdt.ls.core.product \ + -Dlog.protocol=true \ + -Dlog.level=ALL \ + -Dfile.encoding=utf-8 \ + -Xmx1G \ + --add-modules=ALL-SYSTEM \ + --add-opens java.base/java.util=ALL-UNNAMED \ + --add-opens java.base/java.lang=ALL-UNNAMED \ + -jar ./plugins/org.eclipse.equinox.launcher_*.jar \ + -configuration ${share_dir} \ + -data "${workspace_dir}" \ + "$@" + diff --git a/dev-java/jdtls-bin/jdtls-bin-1.49.0_p202507030451.ebuild b/dev-java/jdtls-bin/jdtls-bin-1.49.0_p202507030451.ebuild new file mode 100644 index 0000000000..883f10b72c --- /dev/null +++ b/dev-java/jdtls-bin/jdtls-bin-1.49.0_p202507030451.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023 Gabriel Sanches +# Distributed under the terms of the Zero-Clause BSD License + +EAPI=8 + +inherit java-pkg-2 + +MY_PV=${PV/_p/-} +MY_PN=${PN%%-bin} +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Java language server" +SRC_URI="https://download.eclipse.org/jdtls/snapshots/jdt-language-server-${MY_PV}.tar.gz -> ${MY_P}.tar.gz" +HOMEPAGE="https://github.com/eclipse/eclipse.jdt.ls" + +LICENSE="EPL" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=">=virtual/jre-1.8:*" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +JDTLS_LIBEXEC="/usr/libexec/${MY_PN}" +JDTLS_SHARE="/usr/share/${MY_PN}" + +JDTLS_WRAPPER="${FILESDIR}/wrapper" + +src_install() { + dodir "${JDTLS_LIBEXEC}/bin" + dodir "${JDTLS_SHARE}" + + cp -Rp plugins features "${ED}/${JDTLS_LIBEXEC}" || die "failed to copy" + cp -Rp bin/${MY_PN} "${ED}/${JDTLS_LIBEXEC}/bin" || die "failed to copy" + cp -Rp config_linux "${ED}/${JDTLS_SHARE}" || die "failed to copy" + + sed ${JDTLS_WRAPPER} -e "s;@PKGNAME@;${MY_PN};g" > wrapper + dodir /usr/bin + newbin wrapper ${MY_PN} +} + +pkg_postinst() { + elog "If the JDT Language Server fails to start (e.g. ClassNotFoundException)," + elog "you may be running into stale Eclipse OSGi cache issues." + elog + elog "To fix this, remove the following directories:" + elog " rm -rf \"\${XDG_DATA_HOME}/jdtls\" or rm -rf \"~/.local/share/jdtls\"" + elog " rm -rf \"\${XDG_STATE_HOME}/jdtls\" or rm -rf \"~/.local/state/jdtls\"" + elog + elog "They will be recreated cleanly on the next launch." +} + diff --git a/dev-java/jdtls-bin/metadata.xml b/dev-java/jdtls-bin/metadata.xml new file mode 100644 index 0000000000..023d5a234e --- /dev/null +++ b/dev-java/jdtls-bin/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> +<email>j...@gentoo.org</email> +</maintainer> +<maintainer type="person"> +<email>dangduong31...@gmail.com</email> +<name>Nguyen Dinh Dang Duong</name> +</maintainer> +</pkgmetadata>