aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Langenmaier <stefan.langenmaier@gmail.com>2016-05-02 23:33:26 -0400
committerStefan Langenmaier <stefan.langenmaier@gmail.com>2016-05-03 00:00:19 -0400
commitbeb706533640c17d3f98f4598d5bbf5272a651ac (patch)
treee767049f961892050bc04678295643364db77265
parentdev-util/eclipse-sdk-bin: Ease bumping process a bit (diff)
downloadeclipse-beb706533640c17d3f98f4598d5bbf5272a651ac.tar.gz
eclipse-beb706533640c17d3f98f4598d5bbf5272a651ac.tar.bz2
eclipse-beb706533640c17d3f98f4598d5bbf5272a651ac.zip
added lombok support
-rw-r--r--dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.5.2-r1.ebuild109
-rw-r--r--dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipse-bin4
-rw-r--r--dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.5.2-eclipserc-bin4
3 files changed, 117 insertions, 0 deletions
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..47f5796
--- /dev/null
+++ b/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.5.2-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 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 )
+ ${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