blob: c14a4b7665a2332ecc6bd8eb11e89980ca23229b (
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
|
#!/bin/sh
# Slackware build script for fontmatrix
# Written by Larry Hajali <larryhaja[at]gmail[dot]com>
PRGNAM=fontmatrix
VERSION=${VERSION:-0.6.0}
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
# Decide if we compile fontmatrix with icu4c and/or podofo support. Default is no.
HAVE_ICU=${HAVE_ICU:-no}
HAVE_PODOFO=${HAVE_PODOFO:-no}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION-Source
tar xvf $CWD/$PRGNAM-$VERSION-Source.tar.gz
cd $PRGNAM-$VERSION-Source
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Fix the desktop menu item, location of man files, and PODOFO lib64 detection.
echo "StartupNotify=false" >> $PRGNAM.desktop
sed -i 's|share/man|man|' CMakeLists.txt
patch -p1 < $CWD/fix-podofo-detection.patch
# Cmake uses the static python lib. Let's use the shared lib instead.
PYVER=$(python -c 'import sys; print sys.version[:3]')
PY_LIB_SHARED="/usr/lib${LIBDIRSUFFIX}/libpython${PYVER}.so"
# Decide if we use ICU.
if [ "${HAVE_ICU}" == "yes" ]; then
USE_ICU="TRUE"
else
USE_ICU="FALSE"
fi
# Decide if we use PODOFO.
if [ "${HAVE_PODOFO}" == "yes" ]; then
USE_PODOFO="TRUE"
else
USE_PODOFO="FALSE"
fi
mkdir build && cd build
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DPYTHON_LIBRARY:PATH="$PY_LIB_SHARED" \
-DOWN_SHAPER:BOOL=1 \
-DCMAKE_SKIP_RPATH:BOOL=1 \
-DRPATH_STYLE:STRING=none \
-DWANT_ICU:BOOL="$USE_ICU" \
-DWANT_M17N:BOOL=true \
-DWANT_PYTHONQT:BOOL=true \
-DWANT_PODOFO:BOOL="$USE_PODOFO" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release ..
# Remove -O3 flag.
for i in $(find . -name "flags.make"); do
sed -i 's|-O3||g' $i
done
make VERBOSE=1
make install DESTDIR=$PKG
cd ..
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
rm -rf $PKG/usr/share/icons
for i in 16 22 32 48 64 128; do
mkdir -p $PKG/usr/share/icons/hicolor/${i}x${i}/apps
install -m 0644 src/icons/application-fontmatrix_${i}.png \
$PKG/usr/share/icons/hicolor/${i}x${i}/apps/$PRGNAM.png
done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
COPYING INSTALL TODO harfbuzz/{COPYING.*,README,AUTHORS} \
$PKG/usr/doc/$PRGNAM-$VERSION
cat harfbuzz/COPYING > $PKG/usr/doc/$PRGNAM-$VERSION/COPYING.harfbuzz
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chmod 0644 $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}
|