source: npl/overig/sqlite/sqlite.SlackBuild.orig @ 26ffad7

Last change on this file since 26ffad7 was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 4.7 KB
Line 
1#!/bin/sh
2
3# Slackware build script for sqlite
4
5# Copyright 2006  Martin Lefebvre <dadexter@gmail.com>
6# Copyright 2008, 2009, 2010, 2012, 2015  Patrick J. Volkerding, Sebeka, MN, USA
7# All rights reserved.
8#
9# Redistribution and use of this script, with or without modification, is
10# permitted provided that the following conditions are met:
11#
12# 1. Redistributions of this script must retain the above copyright
13#    notice, this list of conditions and the following disclaimer.
14#
15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
16# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
17# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
18# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
26PKGNAM=sqlite
27
28# First, convert the .zip file if needed:
29if ls *.zip 1> /dev/null 2> /dev/null ; then
30  unzip *.zip
31  tar cf $(basename *.zip .zip).tar $(basename *.zip .zip)
32  touch -r *.zip *.tar
33  xz -9 *.tar
34  rm -r $(basename *.zip .zip)
35  rm *.zip
36fi
37
38VERSION=${VERSION:-$(echo $PKGNAM-src-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
39OLD_STYLE=$(printf %d $(echo $VERSION | cut -b 1)).$(printf %d $(echo $VERSION | cut -b 2,3)).$(printf %d $(echo $VERSION | cut -b 4,5))
40OLD_STYLE=$(printf "%1.f" $(echo $VERSION | cut -b 1)).$(printf "%1.f" $(echo $VERSION | cut -b 2,3)).$(printf "%1.f" $(echo $VERSION | cut -b 4,5))
41PATCHLEVEL=$(printf "%1.f" $(echo $VERSION | cut -b 6,7))
42if [ ! "$PATCHLEVEL" = "0" ]; then
43  OLD_STYLE=${OLD_STYLE}.${PATCHLEVEL}
44fi
45BUILD=${BUILD:-1}
46
47NUMJOBS=${NUMJOBS:-" -j7 "}
48
49# Automatically determine the architecture we're building on:
50if [ -z "$ARCH" ]; then
51  case "$( uname -m )" in
52    i?86) export ARCH=i586 ;;
53    arm*) export ARCH=arm ;;
54    # Unless $ARCH is already set, use uname -m for all other archs:
55       *) export ARCH=$( uname -m ) ;;
56  esac
57fi
58
59CWD=$(pwd)
60TMP=${TMP:-/tmp}
61PKG=$TMP/package-$PKGNAM
62
63if [ "$ARCH" = "i586" ]; then
64  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
65  LIBDIRSUFFIX=""
66elif [ "$ARCH" = "i686" ]; then
67  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
68  LIBDIRSUFFIX=""
69elif [ "$ARCH" = "x86_64" ]; then
70  SLKCFLAGS="-O2 -fPIC"
71  LIBDIRSUFFIX="64"
72else
73  SLKCFLAGS="-O2"
74  LIBDIRSUFFIX=""
75fi
76
77# Enable some features:
78SLKCFLAGS="$SLKCFLAGS -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_ICU -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_STAT2=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_SECURE_DELETE=1"
79
80rm -rf $PKG
81mkdir -p $TMP $PKG
82cd $TMP
83rm -rf $PKGNAM-src-$VERSION
84tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z* || exit 1
85cd $PKGNAM-src-$VERSION || exit 1
86chown -R root.root .
87find . \
88 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
89 -exec chmod 755 {} \; -o \
90 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
91 -exec chmod 644 {} \;
92
93configure() {
94CFLAGS="$SLKCFLAGS" \
95CXXFLAGS="$SLKCFLAGS $(icu-config --cppflags)" \
96LDFLAGS="$(icu-config --ldflags)" \
97./configure \
98  --prefix=/usr \
99  --libdir=/usr/lib${LIBDIRSUFFIX} \
100  --sysconfdir=/etc \
101  --localstatedir=/var \
102  --mandir=/usr/man \
103  --enable-threadsafe \
104  --enable-cross-thread-connections \
105  --enable-tempstore=yes \
106  --enable-load-extension \
107  --enable-static=no \
108  --build=$ARCH-slackware-linux
109  return $?
110}
111
112if ! configure ; then
113  # Try regenerating configure:
114  autoconf
115  configure || exit 1
116fi
117
118make $NUMJOBS || make || exit 1
119make install DESTDIR=$PKG || exit 1
120
121find $PKG | xargs file | grep -e "executable" -e "shared object" \
122  | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
123
124# Add missed man page:
125install -D -m 0644 sqlite3.1 $PKG/usr/man/man1/sqlite3.1
126gzip -9 $PKG/usr/man/man1/sqlite3.1
127
128# Fix up the pkgconfig file
129sed -i 's|Libs: -L${libdir} -lsqlite3|Libs: -L${libdir} -lsqlite3 -ldl|g' \
130  $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/sqlite3.pc
131
132mkdir -p $PKG/usr/doc/$PKGNAM-$OLD_STYLE
133cp -a \
134  README* VERSION \
135  $PKG/usr/doc/$PKGNAM-$OLD_STYLE
136# Add a COPYRIGHT file -- http://www.sqlite.org/copyright.html
137zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/$PKGNAM-$OLD_STYLE/COPYRIGHT
138rm -rf $PKG/usr/doc/$PKGNAM-$OLD_STYLE/CVS
139find $PKG/usr/doc -type f -exec chmod 0644 {} \;
140
141mkdir -p $PKG/install
142cat $CWD/slack-desc > $PKG/install/slack-desc
143
144cd $PKG
145/sbin/makepkg -l y -c n $TMP/$PKGNAM-$OLD_STYLE-$ARCH-$BUILD.txz
146
Note: See TracBrowser for help on using the repository browser.