development/gnustep-make: Added (GNUstep build/setup/packaging tool)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Christopher Walker 2013-05-05 02:29:29 -05:00 committed by Niels Horn
parent 68fef2d19d
commit 645655708e
5 changed files with 163 additions and 0 deletions

View file

@ -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.

View file

@ -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

View file

@ -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}

View file

@ -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"

View file

@ -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: