diff options
author | Sebastian Pipping <sebastian@pipping.org> | 2016-05-07 21:22:14 +0200 |
---|---|---|
committer | Sebastian Pipping <sebastian@pipping.org> | 2016-05-07 21:22:14 +0200 |
commit | fc4c3f2ed57188a70e3b8e2e8a40e066bbf38291 (patch) | |
tree | e1db177cee81ccb1165aa148d8395a23c25d11bd | |
parent | dev-util/eclipse-sdk-bin: Ease bumping process a bit (diff) | |
parent | more dependency fixes (diff) | |
download | eclipse-fc4c3f2ed57188a70e3b8e2e8a40e066bbf38291.tar.gz eclipse-fc4c3f2ed57188a70e3b8e2e8a40e066bbf38291.tar.bz2 eclipse-fc4c3f2ed57188a70e3b8e2e8a40e066bbf38291.zip |
Merge pull request #11 from stefan-langenmaier/lombok-support
Lombok support
-rw-r--r-- | dev-java/lombok-bin/Manifest | 1 | ||||
-rw-r--r-- | dev-java/lombok-bin/lombok-bin-1.16.8.ebuild | 30 | ||||
-rw-r--r-- | dev-java/lombok-bin/metadata.xml | 4 | ||||
-rw-r--r-- | dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.5.2-r1.ebuild | 109 | ||||
-rw-r--r-- | dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipse-bin | 4 | ||||
-rw-r--r-- | dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipserc-bin | 4 | ||||
-rw-r--r-- | dev-util/eclipse-sdk-bin/metadata.xml | 3 |
7 files changed, 155 insertions, 0 deletions
diff --git a/dev-java/lombok-bin/Manifest b/dev-java/lombok-bin/Manifest new file mode 100644 index 0000000..e64cf10 --- /dev/null +++ b/dev-java/lombok-bin/Manifest @@ -0,0 +1 @@ +DIST lombok-1.16.8.jar 1395687 SHA256 fe32b29b7b33eb2b19866cbc5345c59c9984a6036cc396856a04c0d09f99ea68 SHA512 259191e9705f28411df90393db9f11468edbd93193e4759b73a431f09d0e499fb785c934e70de065fad9e5bd21d777820cee479806cd8a8ff0ca74195a754db6 WHIRLPOOL 8795a63a53a514a265999079357bc57b584747b7c9291b74c1b7ca6212234c0e53da3e613fb25661918f38c8029ebe284922dec2d63e9c255265370a66d3604c diff --git a/dev-java/lombok-bin/lombok-bin-1.16.8.ebuild b/dev-java/lombok-bin/lombok-bin-1.16.8.ebuild new file mode 100644 index 0000000..dc5e71b --- /dev/null +++ b/dev-java/lombok-bin/lombok-bin-1.16.8.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ +EAPI=6 + +inherit eutils + +MY_P=${PN%%-bin}-${PV} + +DESCRIPTION="Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code." +HOMEPAGE="https://projectlombok.org/" +SRC_URI="https://projectlombok.org/downloads/${MY_P}.jar" +LICENSE="MIT" + +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=">=virtual/jdk-1.7" +RDEPEND=">=virtual/jre-1.7" + +S="${WORKDIR}" + +src_unpack() { + : +} + +src_install() { + mkdir -p "${D}/usr/share/lombok" + cp "${DISTDIR}/${MY_P}.jar" "${D}/usr/share/lombok/lombok.jar" +} diff --git a/dev-java/lombok-bin/metadata.xml b/dev-java/lombok-bin/metadata.xml new file mode 100644 index 0000000..097975e --- /dev/null +++ b/dev-java/lombok-bin/metadata.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +</pkgmetadata> diff --git a/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.5.2-r1.ebuild b/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.5.2-r1.ebuild new file mode 100644 index 0000000..05b6553 --- /dev/null +++ b/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.5.2-r1.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils versionator java-utils-2 + +SR="$(get_version_component_range 3)" +RNAME="mars" + +SRC_BASE="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/${RNAME}/${SR}/eclipse-java-${RNAME}-${SR}-linux-gtk" + +DESCRIPTION="Eclipse SDK" +HOMEPAGE="http://www.eclipse.org" +SRC_URI=" + amd64? ( ${SRC_BASE}-x86_64.tar.gz&r=1 -> eclipse-java-${RNAME}-${SR}-linux-gtk-x86_64-${PV}.tar.gz ) + x86? ( ${SRC_BASE}.tar.gz&r=1 -> eclipse-java-${RNAME}-${SR}-linux-gtk-${PV}.tar.gz ) + " + +LICENSE="EPL-1.0" +SLOT="$(get_version_component_range 1-2)" +KEYWORDS="~amd64 ~x86" +IUSE="system-icu lombok" + +CDEPEND=" + >=dev-java/commons-httpclient-3.1:3 + system-icu? ( >=dev-java/icu4j-54.1.1:52 ) + >=dev-java/javax-inject-1:0 + >=dev-java/jsr250-1.2:0 + >=dev-java/xml-commons-resolver-1.2:0 + " +DEPEND="${CDEPEND}" +RDEPEND=">=virtual/jdk-1.6 + x11-libs/gtk+:2 + lombok? ( dev-java/lombok-bin ) + ${CDEPEND}" + +S="${WORKDIR}"/eclipse + +_unbundle_single() { + local mode="${1}" destination_jar="${2}" package="${3}" package_jar="${4}" + local abs_destination_jar="${PWD}/${destination_jar}" + local backup_dir="${T}"/${destination_jar##*/}.dir + + if [[ "${mode}" = delete ]]; then + # Backup META-INF/MANIFEST.MF with checksums + # Then delete .jar file + mkdir -p "${backup_dir}"/META-INF + unzip -p "${destination_jar}" META-INF/MANIFEST.MF \ + | sed -e '/^Name:/d' -e '/^SHA1-Digest:/d' -e '/^\s*$/d' \ + > "${backup_dir}"/META-INF/MANIFEST.MF || die + rm "${destination_jar}" || die + elif [[ "${mode}" = wire ]]; then + einfo "Replacing bundled ${destination_jar}..." + # Create new .jar based on system-wide build + # In the process, apply META-INF/MANIFEST.MF backup + java-pkg_jar-from "${package}" "${package_jar}" "${destination_jar}" + local source_jar="$(readlink -f "${destination_jar}")" + rm "${destination_jar}" || die + + cp "${source_jar}" "${destination_jar}" || die + ( cd "${backup_dir}" \ + && [[ -f "${abs_destination_jar}" ]] \ + && zip "${abs_destination_jar}" META-INF/MANIFEST.MF >/dev/null + ) || die + fi +} + +_unbundle_known() { + local mode="${1}" + + # https://wiki.gentoo.org/wiki/Eclipse/Building_From_Source + use system-icu && _unbundle_single "${mode}" plugins/com.ibm.icu_54.1.1.v201501272100.jar icu4j-52 icu4j.jar + _unbundle_single "${mode}" plugins/javax.annotation_1.2.0.v201401042248.jar jsr250 jsr250.jar + _unbundle_single "${mode}" plugins/javax.inject_1.0.0.v20091030.jar javax-inject javax-inject.jar + _unbundle_single "${mode}" plugins/org.apache.commons.httpclient_3.1.0.v201012070820.jar commons-httpclient-3 commons-httpclient.jar + _unbundle_single "${mode}" plugins/org.apache.xml.resolver_1.2.0.v201005080400.jar xml-commons-resolver xml-commons-resolver.jar +} + +src_prepare() { + _unbundle_known delete + + ewarn 'Binary dependencies left to unbundle:' + ewarn "$(find -type f -name '*.jar' -not -wholename '*/org.eclipse*' | sort | sed 's,^\./,,')" + + _unbundle_known wire + + cp "${FILESDIR}"/${P}-eclipse-bin "${T}/eclipse-bin-${SLOT}" || die + cp "${FILESDIR}"/${P}-eclipserc-bin "${T}/eclipserc-bin-${SLOT}" || die + sed "s,%SLOT%,${SLOT},g" -i "${T}"/eclipse{,rc}-bin-${SLOT} || die +} + +src_install() { + local dest=/opt/${PN}-${SLOT} + + insinto ${dest} + doins -r features icon.xpm plugins artifacts.xml p2 eclipse.ini configuration dropins + + exeinto ${dest} + doexe eclipse + + dohtml -r readme/* + + dobin "${T}"/eclipse-bin-${SLOT} + insinto /etc + doins "${T}"/eclipserc-bin-${SLOT} + make_desktop_entry "eclipse-bin-${SLOT}" "Eclipse ${RNAME^}/${PV} (bin)" "${dest}/icon.xpm" +} diff --git a/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipse-bin b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipse-bin index 16fbc12..d71ee14 100644 --- a/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipse-bin +++ b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipse-bin @@ -6,6 +6,7 @@ # Copyright (c) 2007-2008, Jean-Noël Rivasseau <elvanor@gentoo.org> # Copyright (c) 2004-2008, Gentoo Foundation # Copyright (c) 2015, Sebastian Pipping <sping@gentoo.org> +# Copyright (c) 2016, Stefan Langenmaier <stefan.langenmaier@gmail.com> # # Licensed under the GNU General Public License, version 2 # @@ -37,6 +38,9 @@ esac [ -n "${ECLIPSE_PERMSIZE}" ] && VM_ARGS="${VM_ARGS} -XX:PermSize=${ECLIPSE_PERMSIZE}" [ -n "${ECLIPSE_MAX_PERMSIZE}" ] && VM_ARGS="${VM_ARGS} -XX:MaxPermSize=${ECLIPSE_MAX_PERMSIZE}" +# lombok support +[ -n "${LOMBOK_JAR}" ] && [ -f "${LOMBOK_JAR}" ] && VM_ARGS="${VM_ARGS} -javaagent:${LOMBOK_JAR}" + # Fix for JRE 1.5. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib diff --git a/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipserc-bin b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipserc-bin index c1b50eb..ea458d7 100644 --- a/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipserc-bin +++ b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipserc-bin @@ -23,3 +23,7 @@ ECLIPSE_XMX=256m # SWT_GTK3=1 - to enable GTK3 # SWT_GTK3=0 - to enable GTK2 SWT_GTK3= + +# Default lombok.jar +# can also be unset/overwritten by the user +LOMBOK_JAR=/usr/share/lombok/lombok.jar diff --git a/dev-util/eclipse-sdk-bin/metadata.xml b/dev-util/eclipse-sdk-bin/metadata.xml index 90c59c3..d46b71e 100644 --- a/dev-util/eclipse-sdk-bin/metadata.xml +++ b/dev-util/eclipse-sdk-bin/metadata.xml @@ -7,5 +7,8 @@ </maintainer> <use> <flag name='system-icu'>Use the system-wide <pkg>dev-java/icu4j</pkg></flag> + <flag name='lombok'>Pull in <pkg>dev-java/lombok</pkg>, it can still be overwritten on a per-user basis</flag> </use> </pkgmetadata> + + |