aboutsummaryrefslogtreecommitdiff
path: root/development/google-appengine-gosdk
diff options
context:
space:
mode:
authorEric Schultz <eric at schultzter dot ca>2012-05-13 09:03:55 -0400
committerdsomero <xgizzmo@slackbuilds.org>2012-05-13 09:03:55 -0400
commit915e263d03e89388db823e812282e3cdae323a05 (patch)
tree3e255b2c2248c72eaa43679a22dba8ac99e78b5c /development/google-appengine-gosdk
parentf9000ce2567b6eb86a29152edb87fadfe20c7986 (diff)
develpoment/google-appengine-gosdk: Added (Google Appengine Go SDK)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to 'development/google-appengine-gosdk')
-rw-r--r--development/google-appengine-gosdk/README45
-rw-r--r--development/google-appengine-gosdk/doinst.sh17
-rw-r--r--development/google-appengine-gosdk/gae.csh3
-rw-r--r--development/google-appengine-gosdk/gae.sh3
-rw-r--r--development/google-appengine-gosdk/go.csh3
-rw-r--r--development/google-appengine-gosdk/go.sh3
-rw-r--r--development/google-appengine-gosdk/google-appengine-gosdk.SlackBuild78
-rw-r--r--development/google-appengine-gosdk/google-appengine-gosdk.info10
-rw-r--r--development/google-appengine-gosdk/slack-desc19
9 files changed, 181 insertions, 0 deletions
diff --git a/development/google-appengine-gosdk/README b/development/google-appengine-gosdk/README
new file mode 100644
index 0000000000000..0289cca91a753
--- /dev/null
+++ b/development/google-appengine-gosdk/README
@@ -0,0 +1,45 @@
+Google App Engine Go Language SDK
+
+The Go SDK's includes a web server application that simulates the AppEngine
+environment, including a local version of the datastore, Google Accounts, and
+the ability to fetch URLs and send email directly from your computer using the
+App Engine APIs. The Go SDK uses slightly modified versions of the development
+tools from the Python SDK, and will run on any Intel-based Mac OS X or Linux
+computer with Python 2.5.
+
+Homepage: http://code.google.com/appengine
+
+Alternate download site - Project site: http://code.google.com/p/googleappengine
+
+NOTE: There are some minor limitations to the Go SDK for App Engine vs the full
+blown Go Language SDK, but for most part this package can be used to develop and
+compile stand-alone Go programs as well. See The Go Programming Language Blog,
+Tuesday, May 10, 2011, Go and Google Appengine at
+http://blog.golang.org/2011/05/go-and-google-app-engine.html for more details.
+
+WARNING: This SlackBuild puts the Google Appengine Go SDK tools onto your PATH
+using the script gae.sh (or gae.csh) in /etc/profile.d that is sourced by
+/etc/profile (or /etc/csh.login). If you also install the Google Appengine
+Python SDK then the gae.sh (and gae.csh) scripts will clash and you'll be left
+with a gae.sh.new (and gae.csh.new) file in /etc/profile.d.
+
+THIS IS INTENTIONAL!!!
+
+This is because Google's Go and Python SDK's for Appengine contain Python
+scripts with the same names that are different: you cannot use, for example, the
+appcfg.py or dev_appserver.py from one SDK on apps written with the other SDK!
+
+It is up to you to sort out this mess and decide which - if any - SDK's tools
+you want on the PATH and which you'll call with the full path. I had written
+some wrapper scripts (inspired by Google's own gomake script) that work around
+this issue; but I felt this solution was more appropriate for Slackware and
+absolved me of the responsability of untangling Google's mess!
+
+AND ANOTHER WARNING: If you also install the Google Go language SlackBuild
+you'll have another clash since the Appengine Go SDK contains a subset of the Go
+language SDK; it has some of the same tools and relies on the same environment
+variables (in particular GOROOT). So you need decide if you want to keep the Go
+Appengine on your PATH or the Go Language (via /etc/profile.d/go.sh and
+/etc/profile.d/go.csh).
+
+Sorry, but I don't write 'em - I just build 'em!
diff --git a/development/google-appengine-gosdk/doinst.sh b/development/google-appengine-gosdk/doinst.sh
new file mode 100644
index 0000000000000..9535a57a0fcbf
--- /dev/null
+++ b/development/google-appengine-gosdk/doinst.sh
@@ -0,0 +1,17 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/profile.d/gae.csh.new
+config etc/profile.d/gae.sh.new
+config etc/profile.d/go.csh.new
+config etc/profile.d/go.sh.new
diff --git a/development/google-appengine-gosdk/gae.csh b/development/google-appengine-gosdk/gae.csh
new file mode 100644
index 0000000000000..b8e135052f0b9
--- /dev/null
+++ b/development/google-appengine-gosdk/gae.csh
@@ -0,0 +1,3 @@
+#!/bin/csh
+setenv GAEBIN /opt/google/appengine-gosdk
+setenv PATH ${PATH}:${GAEROOT} \ No newline at end of file
diff --git a/development/google-appengine-gosdk/gae.sh b/development/google-appengine-gosdk/gae.sh
new file mode 100644
index 0000000000000..4b9157618093d
--- /dev/null
+++ b/development/google-appengine-gosdk/gae.sh
@@ -0,0 +1,3 @@
+#!/bin/csh
+export GAEBIN=/opt/google/appengine-gosdk
+export PATH=${PATH}:${GAEROOT} \ No newline at end of file
diff --git a/development/google-appengine-gosdk/go.csh b/development/google-appengine-gosdk/go.csh
new file mode 100644
index 0000000000000..cf3d37191d070
--- /dev/null
+++ b/development/google-appengine-gosdk/go.csh
@@ -0,0 +1,3 @@
+#!/bin/csh
+setenv GOROOT /opt/google/appengine-gosdk/goroot
+setenv PATH ${PATH}:${GOROOT}/bin \ No newline at end of file
diff --git a/development/google-appengine-gosdk/go.sh b/development/google-appengine-gosdk/go.sh
new file mode 100644
index 0000000000000..f9b8c5f16d217
--- /dev/null
+++ b/development/google-appengine-gosdk/go.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+export GOROOT=/opt/google/appengine-gosdk/goroot
+export PATH="${PATH}:${GOROOT}/bin" \ No newline at end of file
diff --git a/development/google-appengine-gosdk/google-appengine-gosdk.SlackBuild b/development/google-appengine-gosdk/google-appengine-gosdk.SlackBuild
new file mode 100644
index 0000000000000..59208221d1c1b
--- /dev/null
+++ b/development/google-appengine-gosdk/google-appengine-gosdk.SlackBuild
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# Slackware build script for google-appengine-gosdk
+
+# Copyright (c) 2011 Eric Schultz
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+# the Software, and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+# Written by Eric Schultz eric at schultzter dot ca
+
+PRGNAM=google-appengine-gosdk
+VERSION=${VERSION:-1.6.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" -a -z "$GOARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH="i486" ; GARCH="386" ;;
+ x86_64) ARCH="x86_64"; GARCH="amd64" ;;
+ *) echo "Package for $(uname -m) architecture is not available." ; exit 1;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/opt/google $OUTPUT
+cd $PKG/opt/google
+unzip $CWD/go_appengine_sdk_linux_$GARCH-$VERSION.zip
+mv google_appengine appengine-gosdk
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 750 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 -o -perm 645 -o -perm 640 \) \
+ -exec chmod 644 {} \;
+
+# Put the profile scripts for setting PATH and env variables
+mkdir -p $PKG/etc/profile.d
+install -m0755 -oroot $CWD/gae.csh $PKG/etc/profile.d/gae.csh.new
+install -m0755 -oroot $CWD/gae.sh $PKG/etc/profile.d/gae.sh.new
+install -m0755 -oroot $CWD/go.csh $PKG/etc/profile.d/go.csh.new
+install -m0755 -oroot $CWD/go.sh $PKG/etc/profile.d/go.sh.new
+
+cd appengine-gosdk
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ BUGS LICENSE RELEASE_NOTES VERSION \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cp $CWD/doinst.sh $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/development/google-appengine-gosdk/google-appengine-gosdk.info b/development/google-appengine-gosdk/google-appengine-gosdk.info
new file mode 100644
index 0000000000000..477d9f0588b02
--- /dev/null
+++ b/development/google-appengine-gosdk/google-appengine-gosdk.info
@@ -0,0 +1,10 @@
+PRGNAM="google-appengine-gosdk"
+VERSION="1.6.5"
+HOMEPAGE="https://developers.google.com/appengine/"
+DOWNLOAD="http://googleappengine.googlecode.com/files/go_appengine_sdk_linux_386-1.6.5.zip"
+MD5SUM="fbf60b682affea6681daa97ea75fcd26"
+DOWNLOAD_x86_64="http://googleappengine.googlecode.com/files/go_appengine_sdk_linux_amd64-1.6.5.zip"
+MD5SUM_x86_64="ad31a47853b4f1e0626ae4689cce37fd"
+MAINTAINER="Eric Schultz"
+EMAIL="eric at schultzter dot ca"
+APPROVED="dsomero"
diff --git a/development/google-appengine-gosdk/slack-desc b/development/google-appengine-gosdk/slack-desc
new file mode 100644
index 0000000000000..543502d2a7f72
--- /dev/null
+++ b/development/google-appengine-gosdk/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+google-appengine-gosdk: google-appengine-gosdk (Google Appengine Go SDK)
+google-appengine-gosdk:
+google-appengine-gosdk: The Go SDK's includes a web server application that simulates
+google-appengine-gosdk: the AppEngine environment, including a local version of the
+google-appengine-gosdk: datastore, Google Accounts, and the ability to fetch URLs and
+google-appengine-gosdk: send email directly from your computer using the App Engine APIs.
+google-appengine-gosdk: The Go SDK uses slightly modified versions of the development tools
+google-appengine-gosdk: from the Python SDK, and will run on any Intel-based Mac OS X or
+google-appengine-gosdk: Linux computer with Python 2.5.
+google-appengine-gosdk:
+google-appengine-gosdk: Homepage: http://code.google.com/appengine