diff options
author | Eric Schultz <eric at schultzter dot ca> | 2012-05-13 09:03:55 -0400 |
---|---|---|
committer | dsomero <xgizzmo@slackbuilds.org> | 2012-05-13 09:03:55 -0400 |
commit | 915e263d03e89388db823e812282e3cdae323a05 (patch) | |
tree | 3e255b2c2248c72eaa43679a22dba8ac99e78b5c | |
parent | f9000ce2567b6eb86a29152edb87fadfe20c7986 (diff) |
develpoment/google-appengine-gosdk: Added (Google Appengine Go SDK)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
-rw-r--r-- | development/google-appengine-gosdk/README | 45 | ||||
-rw-r--r-- | development/google-appengine-gosdk/doinst.sh | 17 | ||||
-rw-r--r-- | development/google-appengine-gosdk/gae.csh | 3 | ||||
-rw-r--r-- | development/google-appengine-gosdk/gae.sh | 3 | ||||
-rw-r--r-- | development/google-appengine-gosdk/go.csh | 3 | ||||
-rw-r--r-- | development/google-appengine-gosdk/go.sh | 3 | ||||
-rw-r--r-- | development/google-appengine-gosdk/google-appengine-gosdk.SlackBuild | 78 | ||||
-rw-r--r-- | development/google-appengine-gosdk/google-appengine-gosdk.info | 10 | ||||
-rw-r--r-- | development/google-appengine-gosdk/slack-desc | 19 |
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 |