blob: fc1a1ebcff4fc603049d65ac00bcc38ced02455f (
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
|
# $Id: PKGBUILD 70866 2012-05-18 06:01:51Z ebelanger $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jens Adam (byte/jra) <j_adam@web.de>
# Contributor: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
pkgbase=lazarus
pkgname=('lazarus' 'lazarus-gtk2' 'lazarus-qt')
pkgver=0.9.30.4
pkgrel=5
url='http://www.lazarus.freepascal.org/'
license=('GPL2' 'MPL' 'custom:LGPL')
arch=('i686' 'x86_64')
makedepends=('fpc' 'fpc-src' 'gtk2' 'qt4pas' 'rsync')
options=('!emptydirs' '!makeflags')
source=("http://downloads.sourceforge.net/project/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20$pkgver/lazarus-$pkgver-src.tar.bz2"
'lazcontrols2.diff'
)
md5sums=('ebd40cdfdfc4b66d1ced7a0d48d6da84'
'288bca6ad5ade79deec34c3602daaaa9'
)
build() {
cd $srcdir/${pkgbase}
( # patch lazcontrols
cd components/lazcontrols
patch -p0 -i "$srcdir/lazcontrols2.diff"
)
# build gtk2 ide
make FPC=/usr/bin/fpc LCL_PLATFORM=gtk2 clean bigide
# move gtk binaries
mv lazarus lazarus-gtk2
mv startlazarus startlazarus-gtk2
# build qt ide
make FPC=/usr/bin/fpc LCL_PLATFORM=qt bigide
# move qt binaries
mv lazarus lazarus-qt
mv startlazarus startlazarus-qt
}
package_lazarus() {
pkgdesc='Delphi-like IDE for FreePascal common files'
depends=('fpc' 'fpc-src')
optdepends=(
'perl: to run some scirpts in the tools directory'
'gtk2: to compile gtk2 apps'
'qt4pas: to compile qt apps'
)
cd $srcdir/${pkgbase}
# skip the 'make install' mess completely and do everything manually
mkdir -p $pkgdir/usr/lib/lazarus $pkgdir/usr/bin $pkgdir/usr/share/man/man1 $pkgdir/usr/share/doc
rsync -a \
--exclude="CVS" --exclude=".cvsignore" \
--exclude="*.ppw" --exclude="*.ppl" \
--exclude="*.ow" --exclude="*.a"\
--exclude="*.rst" --exclude=".#*" \
--exclude="*.~*" --exclude="*.bak" \
--exclude="*.orig" --exclude="*.rej" \
--exclude=".xvpics" \
--exclude="killme*" --exclude=".gdb_hist*" \
--exclude="debian" --exclude="COPYING*" \
--exclude="*.app" --exclude="tools/install" \
. "$pkgdir"/usr/lib/lazarus
#remove some stuff, not needed or for in other package
pushd $pkgdir/usr/lib/lazarus
rm lazarus-*
rm startlazarus-*
popd
ln -s /usr/lib/lazarus/lazbuild $pkgdir/usr/bin/lazbuild
cp -R install/man/man1/* $pkgdir/usr/share/man/man1/
mv $pkgdir/usr/lib/lazarus/docs $pkgdir/usr/share/doc/lazarus
rm -r $pkgdir/usr/lib/lazarus/install
# license files: /usr/lib/lazarus/COPYING*
install -D -m644 COPYING.modifiedLGPL.txt $pkgdir/usr/share/licenses/$pkgbase/COPYING.modifiedLGPL
}
package_lazarus-gtk2() {
pkgdesc='Delphi-like IDE for FreePascal gtk2 version'
depends=('lazarus' 'desktop-file-utils' 'gtk2')
conflicts=('lazarus-qt')
install='lazarus-ide.install'
cd $srcdir/${pkgbase}
# install gtk binaries
install -Dm755 lazarus-gtk2 $pkgdir/usr/lib/lazarus/lazarus
install -Dm755 startlazarus-gtk2 $pkgdir/usr/lib/lazarus/startlazarus
install -dm755 $pkgdir/usr/bin
ln -s /usr/lib/lazarus/lazarus $pkgdir/usr/bin/lazarus
ln -s /usr/lib/lazarus/startlazarus $pkgdir/usr/bin/startlazarus
# make 'desktop-file-validate' happy and fix missing .png icon
sed -e 's|\(Categories\).*|\1=IDE;Development;|' \
-e 's|\.png|\.xpm|' -i install/lazarus.desktop
install -Dm644 install/lazarus.desktop $pkgdir/usr/share/applications/lazarus.desktop
install -Dm644 images/ide_icon48x48.png $pkgdir/usr/share/pixmaps/lazarus.png
}
package_lazarus-qt() {
pkgdesc='Delphi-like IDE for FreePascal qt version'
depends=('lazarus' 'qt4pas')
conflicts=('lazarus-gtk2')
install='lazarus-ide.install'
cd $srcdir/${pkgbase}
# install qt binaries
install -Dm755 lazarus-qt $pkgdir/usr/lib/lazarus/lazarus
install -Dm755 startlazarus-qt $pkgdir/usr/lib/lazarus/startlazarus
install -dm755 $pkgdir/usr/bin
ln -s /usr/lib/lazarus/lazarus $pkgdir/usr/bin/lazarus
ln -s /usr/lib/lazarus/startlazarus $pkgdir/usr/bin/startlazarus
# make 'desktop-file-validate' happy and fix missing .png icon
sed -e 's|\(Categories\).*|\1=IDE;Development;|' \
-e 's|\.png|\.xpm|' -i install/lazarus.desktop
install -Dm644 install/lazarus.desktop $pkgdir/usr/share/applications/lazarus.desktop
install -Dm644 images/ide_icon48x48.png $pkgdir/usr/share/pixmaps/lazarus.png
}
# vim:set ts=2 sts=2 sw=2 et:
|