diff options
4 files changed, 192 insertions, 0 deletions
diff --git a/dev-util/eclipse-sdk-bin/Manifest b/dev-util/eclipse-sdk-bin/Manifest index f2f54f8..2322d52 100644 --- a/dev-util/eclipse-sdk-bin/Manifest +++ b/dev-util/eclipse-sdk-bin/Manifest @@ -6,3 +6,5 @@ DIST eclipse-java-mars-R-linux-gtk-4.5.0.tar.gz 169974282 SHA256 43089aa4738d05e DIST eclipse-java-mars-R-linux-gtk-x86_64-4.5.0.tar.gz 170118332 SHA256 2eeea5e563001f6812bad97e159befe4152bf8ef49124c98e635fd68104a1727 SHA512 9997a23d29e95c91177cd7460291caab46f04ca9b4af52b724c0d61577a16fa69b0aa4cdd01322aba21a05da24380d3f9395f799be4af8fc41c373353573a517 WHIRLPOOL 4d468c1959e2f9dd5b5fd661e60b56c55aa6d5fbc4b090d749237dfb56146213ab51716c8f645a288357b9302975d84a9aa502f94b07d78a7da31d84dead48db DIST eclipse-java-neon-1a-linux-gtk-4.6.1a.tar.gz 167851000 SHA256 45bfc03c8e8afe114f2f557286d70066193a020d1dcaf71787405f6abd08d1c6 SHA512 5f6130b08a15711adfd73da0e6c0c071d07f979f866c489cec7b9ae02b459ecbd19694a29efcd314c8065a8f00e874cae97cbdd2c2bd9359e679c02dd1275afd WHIRLPOOL e4bb2b9579a9e8456e79ed9694a641f20f767f4afaffdff5eacc959797cb6d3127fbf18a33fb1849f90870ffb5a736d367cd77fb29de3ffe70015f374696062c DIST eclipse-java-neon-1a-linux-gtk-x86_64-4.6.1a.tar.gz 168001174 SHA256 cd22d953dee2db30d86c51a50189dd062c8ac68c5776cbe525a7f852986f23b5 SHA512 8a28c76ea81bedb22b6e808b0f0ea4942d723cff407c63f9948f8d22f7719c66d45617f701cffda5d377bd4d69d0a5da07be06aeeb387ec7ff23a47502ffa219 WHIRLPOOL 0d431404f6b4a89ab92cea6261e7ee3385e665039c13bb5de890f334a2bbce0cb0146afae7710478c863459aef699c818194159ec36dac83c2033f6324ec0239 +DIST eclipse-java-neon-2-linux-gtk-4.6.2.tar.gz 167301233 SHA256 44b8c068a9a199817852b58325b90add3905e27ed33f4eb89197f6eb4c7c3be0 SHA512 b9ab913cb697ed3810c53dd9ee87aa831edb043e3e1bd6d5d04007a51ae61a367f6f851e5c436709eb610e0abdce3a155fdfb175e07aafeeab8ef8d7decdd169 WHIRLPOOL b808146bac1cf6b58e0c8549de0c9ce30fcf3b885d4901febd55edb60d3a04c6af650797ed9bb1719e5bc8d1a1708d0e01f722d4e8afba94a21329bb352d1ce5 +DIST eclipse-java-neon-2-linux-gtk-x86_64-4.6.2.tar.gz 167449069 SHA256 b276ee8af940d37b9339ecb639c23953a25584af8564526be06e0cc95f2f6a60 SHA512 7cd7c5a020bb4a8644fdaa1b4e3b1b9daab34edd17677e28b2cdd7934f2a6432320fbba241e4fb91349ae056405721522e4bfe29970a3934d49a3e8385558691 WHIRLPOOL 4d5190375a23f149e1c2b09ffa0c9858b6dc4b70b760dbb549544a179933f3bc037f9779330bb9b5ab6f009a3fe15024728cd8d5f41c7f00d95942ae09786b39 diff --git a/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.6.2.ebuild b/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.6.2.ebuild new file mode 100644 index 0000000..0c11fc9 --- /dev/null +++ b/dev-util/eclipse-sdk-bin/eclipse-sdk-bin-4.6.2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils versionator java-utils-2 + +SR="$(get_version_component_range 3-)" +RNAME="neon" + +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="lombok" + +CDEPEND=" + >=dev-java/commons-httpclient-3.1:3 + >=dev-java/icu4j-56.1:56 + >=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.8 + x11-libs/gtk+:3 + 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 + _unbundle_single "${mode}" plugins/com.ibm.icu_56.1.0.v201601250100.jar icu4j-56 icu4j.jar + _unbundle_single "${mode}" plugins/javax.annotation_1.2.0.v201602091430.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 + + eapply_user +} + +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.6.2-eclipse-bin b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.6.2-eclipse-bin new file mode 100644 index 0000000..d71ee14 --- /dev/null +++ b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.6.2-eclipse-bin @@ -0,0 +1,50 @@ +#! /bin/bash +# +# Tiny startup wrapper for Eclipse +# +# Copyright (c) 2004, Karl Trygve Kalleberg <karltk@gentoo.org> +# 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 +# + +[[ -f "/etc/eclipserc-bin-%SLOT%" ]] && . "/etc/eclipserc-bin-%SLOT%" +[[ -f "$HOME/gentoo/.eclipserc" ]] && . "$HOME/gentoo/.eclipserc" + +ECLIPSE_HOME=${ECLIPSE_HOME:="/opt/eclipse-sdk-bin-%SLOT%"} +ECLIPSE_BIN="${ECLIPSE_HOME}/eclipse" + +if [[ ! -x "${ECLIPSE_BIN}" ]] ; then + echo "Failed to find executable '${ECLIPSE_BIN}'" > /dev/stderr + exit 1 +fi + +if [[ $(id -u) -eq 0 ]] ; then + echo "Do not run eclipse as root user! Exiting ..." > /dev/stderr + exit 1 +fi + +case "$(java-config -f)" in + *gcj*) + export JAVA_PKG_CLASSMAP="${ECLIPSE_HOME}/eclipse.gcjdb" + ;; +esac + +[ -n "${ECLIPSE_XMS}" ] && VM_ARGS="${VM_ARGS} -Xms${ECLIPSE_XMS}" +[ -n "${ECLIPSE_XMX}" ] && VM_ARGS="${VM_ARGS} -Xmx${ECLIPSE_XMX}" +[ -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 + +# option to switch GTK backend +[ -n "${SWT_GTK3}" ] && export SWT_GTK3="${SWT_GTK3}" + +exec "${ECLIPSE_BIN}" -vm $(java-config --java) "$@" "${ECLIPSE_USER_ARGS}" -vmargs ${VM_ARGS} diff --git a/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.6.2-eclipserc-bin b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.6.2-eclipserc-bin new file mode 100644 index 0000000..ba750e5 --- /dev/null +++ b/dev-util/eclipse-sdk-bin/files/eclipse-sdk-bin-4.6.2-eclipserc-bin @@ -0,0 +1,29 @@ +# This file specifies some initial Eclipse settings, like memory allowed +# These settings only affect Eclipse startup and overall configuration +# Main Eclipse configuration should be done within Eclipse (with the GUI) + +# Following variables controls the minimal and maximum amounts of memory +# allocated to Eclipse (respectively). +# Increase those numbers if you get OutOfMemory errors. + +ECLIPSE_XMS=128m +ECLIPSE_XMX=256m + +# Following variables controls the minimal and maximum amounts of memory +# allocated to the permanent generation space. +# This space contains data related to all classes. +# Thus, if you use a lot of Eclipse plugins, it is recommended to uncomment +# these variables and even increase it, if you have enough RAM. +# Else you will get crashes related to OutOfMemory in PermGen exceptions. + +#ECLIPSE_PERMSIZE=64m +#ECLIPSE_MAX_PERMSIZE=128m + +# Eclipse 4.5 Mars has some visual issues with GTK>=3.16 +# SWT_GTK3=1 - to enable GTK3 +# SWT_GTK3=0 - to enable GTK2 +SWT_GTK3=1 + +# Default lombok.jar +# can also be unset/overwritten by the user +LOMBOK_JAR=/usr/share/lombok/lombok.jar |