blob: 053b22da4eafb7f523736273d62abaab5ce6af01 (
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
|
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=codeviz
pkgver=1.0.12
_pkgver=8e597959959c4e812742e9d68c1ea4c4db63a39d
_gccver=4.6.4
pkgrel=2
pkgdesc="A call graph generation utility for C/C++"
arch=('i686' 'x86_64')
url="https://github.com/petersenna/codeviz"
license=('GPL2')
depends=('perl' 'graphviz')
# unset the C(XX)FLAGS because they would break the compilation if they contained
# options not supported in $_gccver
options=('!buildflags')
source=("$pkgname-$pkgver.tar.gz::https://github.com/petersenna/codeviz/archive/$_pkgver.tar.gz"
ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$_gccver/gcc-${_gccver}.tar.gz
autopatch.diff gcc-$_gccver-disable_texinfo.diff)
noextract=(gcc-${_gccver}.tar.gz)
install=codeviz.install
md5sums=('d74dbb67020f3508e9a75e22486bc443'
'a8f15fc233589924ccd8cc8140b0ca3c'
'e7065b30ef76518d3e8936b124289da4'
'37f408fb79cd87f15d1a0fa4574e29c8')
prepare() {
cd "$srcdir/$pkgname-$_pkgver"
# modify the script for building gcc to automatically apply patches
patch -Np1 < "$srcdir/autopatch.diff"
# add patch to disable building of documentation
ln -sf "$srcdir/gcc-$_gccver-disable_texinfo.diff" compilers/gcc-patches/
# update for gcc 4.6.4 instead of 4.6.2
find . -type f -exec sed -i 's|4\.6\.2|4\.6\.4|g' '{}' ';'
mv compilers/install_gcc-4.6.2.sh compilers/install_gcc-${_gccver}.sh
mv compilers/gcc-patches/gcc-4.6.2-cdepn.diff compilers/gcc-patches/gcc-${_gccver}-cdepn.diff
# link the downloaded sources so the configure script doesn't download them again
ln -sf "$SRCDEST/gcc-${_gccver}.tar.gz" compilers/gcc-${_gccver}.tar.gz
}
build() {
cd "$srcdir/$pkgname-$_pkgver"
# disable problematic flags, solution by ftschindler from gcc46
CPPFLAGS=${CPPFLAGS//-D_FORTIFY_SOURCE=?/}
export CPPFLAGS
CFLAGS=${CFLAGS//-fstack-protector-strong/-fstack-protector}
export CFLAGS
CXXFLAGS=${CXXFLAGS//-fstack-protector-strong/-fstack-protector}
export CXXFLAGS
# link the downloaded sources so the configure script doesn't download them again
ln -sf "$SRCDEST/gcc-${_gccver}.tar.gz" compilers/gcc-${_gccver}.tar.gz
./configure --gcc=4.6.4 --prefix=/usr --gccgraph=/opt/gccgraph
make
}
package() {
cd "$srcdir/$pkgname-$_pkgver"
make DESTDIR="$pkgdir" install
}
# vim:set ts=2 sw=2 et:
|