aboutsummaryrefslogtreecommitdiff
path: root/libraries/barry/barry.SlackBuild
blob: ac0ae69d423be519105da57674fb05fc800c18bc (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
#!/bin/sh -e

## Barry is a GPL C++ library for interfacing with the RIM BlackBerry
## Handheld. It comes with a command line tool for exploring the device
## and a GUI for making quick backups. This project's goal is to create
## a fully functional syncing mechanism on Linux.
## http://sourceforge.net/projects/barry/
##
## Written by "Vincent Batts <vbatts@batts.mine.nu>"
##
## opensync consideration added thanks
##   to "Heinz Wiesinger <HMWiesinger@gmx.at>"

# Modified by Robby Workman <rworkman@slackbuilds.org>

PRGNAM=barry
VERSION=0.16
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 you want to use a group other than "plugdev" for barry,
# specify it on the command line as BARRY_GROUP - for example:
#   BARRY_GROUP=barry ./barry.SlackBuild
BARRY_GROUP=${BARRY_GROUP:-plugdev}

# Enable opensync-plugin?
OPENSYNC=${OPENSYNC:-no}

if [ "$OPENSYNC" = "no" ]; then
  opensync_opt="dis"
else
  opensync_opt="en"
fi

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
  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.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R a-s,u+rw,go+r-w .

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --mandir=/usr/man \
  --disable-static \
  --enable-boost \
  --enable-gui \
  --${opensync_opt}able-opensync-plugin \
  --build=$ARCH-slackware-linux

make
make install DESTDIR=$PKG

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

find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done

# Install desktop file and icon for gui
mkdir -p $PKG/usr/share/{applications,pixmaps}
cat logo/barry_logo_icon.png > $PKG/usr/share/pixmaps/barry.png
cat $CWD/barrybackup.desktop > $PKG/usr/share/applications/barrybackup.desktop

# Install ppp scripts and such
mkdir -p $PKG/etc/ppp/peers
for i in \
  rogers verizon sprint o2ireland tmobileus att_cingular chinamobile kpn ; \
do \
    sed "s%/etc/chatscripts/%/etc/ppp/peers/%g" ppp/barry-$i > \
        $PKG/etc/ppp/peers/barry-$i ;
    cat ppp/barry-$i.chat > $PKG/etc/ppp/peers/barry-$i.chat ;
done

# berry-charge conflicts with barry
mkdir -p $PKG/etc/modprobe.d
printf "blacklist berry-charge\n" > $PKG/etc/modprobe.d/barry.conf.new

# Install udev rules
mkdir -p $PKG/lib/udev/rules.d/
cat udev/10-blackberry.rules > $PKG/lib/udev/rules.d/10-blackberry.rules
cat udev/99-blackberry-perms.rules > $PKG/lib/udev/rules.d/99-blackberry-perms.rules
if [ "$BARRY_GROUP" != "plugdev" ]; then
  sed -i "s/GROUP=\"plugdev\""/GROUP=\"$BARRY_GROUP\"/ \
    $PKG/lib/udev/rules.d/99-blackberry-perms.rules
fi

# Install hal stuff
mkdir -p $PKG/usr/share/hal/fdi/information/10freedesktop
cat hal/fdi/information/10freedesktop/10-blackberry.fdi > \
    $PKG/usr/share/hal/fdi/information/10freedesktop/10-blackberry.fdi
mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor
cat hal/fdi/policy/10osvendor/19-blackberry-acl.fdi > \
    $PKG/usr/share/hal/fdi/policy/10osvendor/19-blackberry-acl.fdi
cp -a hal/hal-blackberry $PKG/usr/bin

# Install bash completion scripts
mkdir -p $PKG/etc/bash_completion.d
cat bash/bjavaloader > $PKG/etc/bash_completion.d/bjavaloader
cat bash/btool > $PKG/etc/bash_completion.d/btool

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README TODO COPYING AUTHORS NEWS ChangeLog \
  $PKG/usr/doc/$PRGNAM-$VERSION

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}