blob: 2f49413ebdd121875144ded7c319bcd5a4676f83 (
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
|
#!/usr/bin/env bash
version=4.4.3
workdir=/home/berlin/dev/qt-${version}-temp
destdir=/home/berlin/dev/qt-${version}-shipping/qt # "/qt" suffix for Bitrock
dir=qt-x11-opensource-src-${version}
file_tar="${dir}.tar"
file_tar_gz="${file_tar}.gz"
[ -z ${MAKE} ] && MAKE=make
envpath=/usr/bin:/bin
if gcc -dumpversion | grep '^4' ; then
# GCC 4.x machine
webkit=
else
# GCC 3.3.5 machine
webkit='-no-webkit'
fi
die() {
echo $1 1>&2
exit 1
}
rand_range() {
incMin=$1
incMax=$2
echo $((RANDOM*(incMax-incMin+1)/32768+incMin))
}
setup() {
mkdir -p "${workdir}"
cd "${workdir}" || die "cd failed"
}
download() {
[ -f "${file_tar_gz}" ] && return
case `rand_range 1 2` in
1)
mirror=http://ftp.ntua.gr/pub/X11/Qt/qt/source
;;
*)
mirror=http://wftp.tu-chemnitz.de/pub/Qt/qt/source
;;
esac
wget "${mirror}/${file_tar_gz}" || die "Download failed"
}
unpack() {
[ -d "${dir}" ] && return
gzip -d "${file_tar_gz}" || die "gunzip failed"
tar -xf "${file_tar}" || die "untar failed"
}
build() {
(
cd "${dir}" || die "cd failed"
if [ ! -f config.status ] ; then
env -i PATH=${envpath} ./configure \
-prefix "${destdir}" \
-optimized-qmake \
-confirm-license \
\
-no-mmx -no-sse -no-sse2 -no-3dnow \
-release -fast \
${webkit} \
-qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg \
\
|| die "configure failed"
fi
env -i PATH=${envpath} "${MAKE}" || die "make failed"
)
ret=$?; [ ${ret} = 0 ] || exit ${ret}
}
inst() {
(
cd "${dir}" || die "cd failed"
if [ ! -d "${destdir}" ]; then
mkdir -p "${destdir}"
env -i "${MAKE}" install || die "make install failed"
fi
# Fix rpath's
cd "${destdir}" || die "cd failed"
find bin -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../lib'
find lib -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN'
find . -mindepth 3 -maxdepth 3 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../lib'
find . -mindepth 4 -maxdepth 4 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../lib'
find . -mindepth 5 -maxdepth 5 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../../lib'
)
ret=$?; [ ${ret} = 0 ] || exit ${ret}
}
main() {
(
setup
download
unpack
build
inst
)
ret=$?; [ ${ret} = 0 ] || exit ${ret}
}
main
|