From 645655708e8f5a3e24a5017b5e6d020948289910 Mon Sep 17 00:00:00 2001 From: Christopher Walker Date: Sun, 5 May 2013 02:29:29 -0500 Subject: development/gnustep-make: Added (GNUstep build/setup/packaging tool) Signed-off-by: Robby Workman --- development/gnustep-make/README | 9 ++ development/gnustep-make/doinst.sh | 15 ++++ development/gnustep-make/gnustep-make.SlackBuild | 110 +++++++++++++++++++++++ development/gnustep-make/gnustep-make.info | 10 +++ development/gnustep-make/slack-desc | 19 ++++ 5 files changed, 163 insertions(+) create mode 100644 development/gnustep-make/README create mode 100644 development/gnustep-make/doinst.sh create mode 100644 development/gnustep-make/gnustep-make.SlackBuild create mode 100644 development/gnustep-make/gnustep-make.info create mode 100644 development/gnustep-make/slack-desc (limited to 'development') diff --git a/development/gnustep-make/README b/development/gnustep-make/README new file mode 100644 index 0000000000..e0d549855a --- /dev/null +++ b/development/gnustep-make/README @@ -0,0 +1,9 @@ +GNUstep is a free, object-oriented, cross-platform development environment +that strives for simplicity and elegance. GNUstep is based on and completely +compatible with the OpenStep specification developed by NeXT (now Apple +Computer Inc.) as well as implementing the extensions added by Apple in the +form of Cocoa. + +This package contains GNUstep-make component of the core libraries needed to +write non-graphic tools in Objective-C. It allows you to setup a simple and +powerful system for building, installing and packaging your tools. diff --git a/development/gnustep-make/doinst.sh b/development/gnustep-make/doinst.sh new file mode 100644 index 0000000000..60f3167d48 --- /dev/null +++ b/development/gnustep-make/doinst.sh @@ -0,0 +1,15 @@ +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/GNUstep/GNUstep.conf.new + diff --git a/development/gnustep-make/gnustep-make.SlackBuild b/development/gnustep-make/gnustep-make.SlackBuild new file mode 100644 index 0000000000..48ff3f0a01 --- /dev/null +++ b/development/gnustep-make/gnustep-make.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Slackware build script for gnustep-make +# +# Copyright 2013 Christopher Walker Copperas Cove, TX +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=gnustep-make +VERSION=${VERSION:-2.6.3} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R a-s,u+rw,go+r-w . + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --with-layout=fhs-system \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-config-file=/etc/GNUstep/GNUstep.conf \ + --with-library-combo=gnu-gnu-gnu \ + --build=$ARCH-slackware-linux + +# I guess those configure flags are worthless +sed -i GNUstep.conf \ + -e "s,/usr/share/man,/usr/man,g" \ + -e "s,/usr/local/share/man,/usr/local/man,g" \ + -e "s,/usr/share/info,/usr/info,g" \ + -e "s,/usr/local/share/info,/usr/local/info,g" \ + -e "s,/usr/lib,/usr/lib${LIBDIRSUFFIX},g" \ + -e "s,/usr/local/lib,/usr/local/lib${LIBDIRSUFFIX},g" + +make +make install DESTDIR=$PKG + +mv $PKG/etc/GNUstep/GNUstep.conf $PKG/etc/GNUstep/GNUstep.conf.new + +# Move man pages to correct spot +mv $PKG/usr/share/man $PKG/usr + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + ANNOUNCE COPYING ChangeLog FAQ GNUstep-HOWTO INSTALL NEWS README README.Packaging RELEASENOTES \ + $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 +cat $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/gnustep-make/gnustep-make.info b/development/gnustep-make/gnustep-make.info new file mode 100644 index 0000000000..b2251a075f --- /dev/null +++ b/development/gnustep-make/gnustep-make.info @@ -0,0 +1,10 @@ +PRGNAM="gnustep-make" +VERSION="2.6.3" +HOMEPAGE="http://www.gnustep.org" +DOWNLOAD="ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-2.6.3.tar.gz" +MD5SUM="a1606e33317b956aa6b34ce47557ccfb" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Christopher Walker" +EMAIL="kris240376@gmail.com" diff --git a/development/gnustep-make/slack-desc b/development/gnustep-make/slack-desc new file mode 100644 index 0000000000..929f57e90c --- /dev/null +++ b/development/gnustep-make/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------------------------------------------------------| +gnustep-make: gnustep-make (GNUstep build/setup/packaging tool) +gnustep-make: +gnustep-make: GNUstep is a free, object-oriented, cross-platform development +gnustep-make: environment that strives for simplicity and elegance. GNUstep is +gnustep-make: based on and completely compatible with the OpenStep specification +gnustep-make: developed by NeXT (now Apple Computer Inc.) as well as implementing +gnustep-make: the extensions added by Apple in the form of Cocoa. +gnustep-make: +gnustep-make: The make package allows you to setup a simple and powerful system for +gnustep-make: building, installing, and packaging your tools. +gnustep-make: -- cgit v1.2.3