aboutsummaryrefslogtreecommitdiff
path: root/libraries/xerces-c/xerces-c.SlackBuild
blob: 06f6ec74ebdf9ac3200ab6c5acc6f0a9b63127a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#!/bin/bash

# Slackware build script for xerces-c

# 2015 Robert Allen <slacker@slaphappygeeks.com>
# All rights reserved
# Including Creator Endowed Unalienable Rights
#
################################################################
# Statement of Origin and Principle:
# This script was adapted from SBo templates
# by Robert Allen, Sun Jul 12 12:05:09 MDT 2015
#
# I respectfully request that you leave this statement of origin
# and the following acknowledgment of right to use, modify and
# distribute, intact in your own versions and those you may pass
# to others. I encourage you to use this statement of origin for
# your own work instead of a copy/paste license or copyright
# which you neither understand nor could enforce on others.
################################################################
# Acknowledgment of right to use, copy, modify and distribute:
#
# You already have the right to use, modify and distribute this
# or any other thought or idea, and need no license or other
# permission from anyone to do so!
#
# Exercise it freely and never concede it to anyone!
#
# To be first to think or publish an idea is only to be first
# to demonstrate that it is a human possibility, and to provide
# a single step in the path of human progress to help ourselves
# and all others along our shared journey into the future.
#
# To claim ownership of an idea, a shared human possibility, by
# contrived legal devices is an act of greed and arrogance that
# attempts to rob every other human being of the same right to
# think and benefit from that same shared human possibility.
#
# Acknowledge and respect the work of others. Enjoy the respect
# earned by your own good works, and encourage and applaud those
# who would build on it!
#
# Free your mind, and those around you!
#
# Abolish the pernicious impediment to human progress known as
# intellectual property law which obstructs all our future paths
# only for the immediate gain of a few.
#
################################################################

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=xerces-c
VERSION=${VERSION:-3.2.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

##############################################################################
# WITHSAMPLES=1 will install samples to /usr/share/xerces-c-.../samples/
# WITHDOCS=1 will install HTML docs to /usr/share/xerces-c-.../manual/
WITHSAMPLES=${WITHSAMPLES:-0}
WITHDOCS=${WITHDOCS:-0}
##############################################################################

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
  BITS=32
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
  BITS=32
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
  BITS=64
fi

set -eu

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 .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --disable-static \
  --build=$ARCH-slackware-linux

make
make install DESTDIR=$PKG

if [ "$WITHSAMPLES" = "1" ]; then
  find samples/ -type d -name '.deps' -exec rm -r '{}' \+
  find samples/ -type d -name '.libs' -exec rm -r '{}' \+
  find samples/ -type f -name '.dirstamp' -exec rm '{}' \+
  find samples/ -type f -name 'Makefile*' -exec rm '{}' \+
  find samples/ -type f -name '*.o' -exec rm '{}' \+
  mkdir -p $PKG/usr/share/$PRGNAM-$VERSION/samples
  mv $PKG/usr/bin $PKG/usr/share/$PRGNAM-$VERSION/samples
  cp -a samples/data samples/src  $PKG/usr/share/$PRGNAM-$VERSION/samples
else
  rm -rf $PKG/usr/bin
fi

if [ "$WITHDOCS" = "1" ]; then
  mkdir -p $PKG/usr/share/$PRGNAM-$VERSION/manual
  cp -rf doc/html/* $PKG/usr/share/$PRGNAM-$VERSION/manual/.
fi

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a CREDITS README KEYS LICENSE NOTICE $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

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE