From 525c27e3da90dccb2c75471cd81861bdbea47ed6 Mon Sep 17 00:00:00 2001 From: luis Date: Tue, 4 Dec 2007 19:39:32 +0000 Subject: Added: eclipse git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1502 370017ae-e619-0410-ac65-c121f96126d4 --- dev/util/eclipse/eclipse.SlackBuild | 158 ++++++++++++++++++++++++++++++++++++ dev/util/eclipse/slack-required | 1 + 2 files changed, 159 insertions(+) create mode 100755 dev/util/eclipse/eclipse.SlackBuild create mode 100644 dev/util/eclipse/slack-required (limited to 'dev/util') diff --git a/dev/util/eclipse/eclipse.SlackBuild b/dev/util/eclipse/eclipse.SlackBuild new file mode 100755 index 00000000..1124465e --- /dev/null +++ b/dev/util/eclipse/eclipse.SlackBuild @@ -0,0 +1,158 @@ +#!/bin/bash +# +# eclipse.SlackBuild is free software; you can redistribute +# it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or any later version. +# +# eclipse.SlackBuild is distributed in the hope that it +# will be useful, but WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +# MA 02111-1307, USA +# +# SlackBuild for Eclipse (Classic) +# http://www.eclipse.org/ +# +# Author: Luis ( luis at riseup d0t net ) +# + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +CWD="$(pwd)" +SRC_NAME="eclipse" +PKG_NAME="eclipse" +ARCH=${ARCH:=i386} +SRC_VERSION=${VERSION:=R-3.3.1.1-200710231652} +PKG_VERSION="$(echo "$SRC_VERSION" | cut -d "-" -f 2)" +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PKG_NAME} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} +PKG_WORK="$TMP/$SRC_NAME" +CONF_OPTIONS=${CONF_OPTIONS:=} +NUMJOBS=${NUMJOBS:=} + +# Set system libraries' path and source name +#+Also, make sure $ARCH is set either to x86_64 or to i386 +if [ "$ARCH" = "x86_64" ]; then + LIBDIR="$PREFIX/lib64" + SRC="$SRC_NAME-SDK-$PKG_VERSION-linux-gtk-x86_64.tar.gz" +else + LIBDIR="$PREFIX/lib" + SRC="$SRC_NAME-SDK-$PKG_VERSION-linux-gtk.tar.gz" + ARCH="i386" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42 + +# Clean up any leftovers of previous builds +rm -rf "$PKG_WORK" 2> /dev/null +rm -rf "$PKG" 2> /dev/null + +# Create directories if necessary +mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR +mkdir -p "$PKG" || exit $ERROR_MKDIR +mkdir -p "$REPOS" || exit $ERROR_MKDIR +mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR + +# Dowload source if necessary +URL="http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/$SRC_VERSION" + +if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then + wget "$URL/$SRC" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi + +# Download source's MD5 checksum if necessary and check it +if [ ! -s "$SRC_DIR/$SRC.md5" ]; then + wget "$URL/checksum/$SRC.md5" -O "$SRC_DIR/$SRC.md5" || exit $ERROR_WGET +fi + +MD5SUM_SRC="$(md5sum "$SRC_DIR/$SRC" | cut -d " " -f 1)" +MD5SUM_URL="$(grep "$SRC[ \t]*$" "$SRC_DIR/$SRC.md5" | cut -d " " -f 1)" + +[ "$MD5SUM_SRC" == "$MD5SUM_URL" ] || exit $ERROR_MD5 + +# Untar +cd "$PKG_WORK" +tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR +PKG_SRC=`ls -l | awk '/^d/ { print $8 }'` +cd "$PKG_SRC" + +# Install +mkdir -p "$PKG/$LIBDIR/eclipse-$PKG_VERSION" || exit $ERROR_MKDIR +cp -a * "$PKG/$LIBDIR/eclipse-$PKG_VERSION" || exit $ERROR_INSTALL +chown -R root:root "$PKG/$LIBDIR" +( cd "$PKG/$LIBDIR" + ln -sf eclipse-$PKG_VERSION eclipse +) + +# Install /usr/bin wrapper +mkdir -p "$PKG/$PREFIX/bin" || exit $ERROR_MKDIR +cat << EOSCRIPT > "$PKG/$PREFIX/bin/eclipse" +#!/bin/sh +exec $LIBDIR/eclipse/eclipse "\$@" +EOSCRIPT +chmod 755 "$PKG/$PREFIX/bin/eclipse" + +# Strip binaries +( cd "$PKG" + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null +) + +# Install documentation +DOCS="about.html about_files/ epl-v10.html notice.html readme/*" +mkdir -p "$PKG/$PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR +cp -a $DOCS "$PKG/$PREFIX/doc/$PKG_NAME-$PKG_VERSION" &> /dev/null + +# Add package description (slack-desc) +mkdir -p "$PKG/install" || exit $ERROR_MKDIR +cat << EODESC > "$PKG/install/slack-desc" +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-------------------------------------------------------| +eclipse: eclipse (Eclipse Classic) +eclipse: +eclipse: Eclipse is an open source platform-independent software framework. +eclipse: The Java Development Tools (JDT), a Java IDE that provides code +eclipse: validation, incremental compilation, cross-referencing, code assist +eclipse: and many other features, come as part of the Eclipse Classic package. +eclipse: +eclipse: For more information, http://www.eclipse.org/ +eclipse: +eclipse: +eclipse: +EODESC + +# Build the package +cd "$PKG" +makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG + +# Delete source and build directories if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf "$PKG_WORK" "$PKG" +fi diff --git a/dev/util/eclipse/slack-required b/dev/util/eclipse/slack-required new file mode 100644 index 00000000..c6e895a0 --- /dev/null +++ b/dev/util/eclipse/slack-required @@ -0,0 +1 @@ +jre >= 1.5 -- cgit v1.2.3