blob: c1d5c5f91ac934690e5d5d961d5ae6db2c8eebf0 (
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
|
# Maintainer: Eduard Tolosa <edu4rdshl[at]protonmail.com>
pkgbase=lazarus-svn
pkgname=('lazarus-svn' 'lazarus-svn-gtk2' 'lazarus-svn-qt5')
pkgver=r61931.b8f2e92f03
pkgrel=1
epoch=1
pkgdesc='Delphi-like build environment for FreePascal.'
arch=(x86_64)
url=https://www.lazarus-ide.org/
license=('GPL2' 'MPL' 'custom:modifiedLGPL')
conflicts=('lazarus')
makedepends=('git' 'fpc' 'fpc-src' 'gtk2' 'qt5pas' 'rsync')
optdepends=('perl: to run some scirpts in the tools directory.'
'gtk2: to compile gtk2 apps.'
'qt5pas: to compile qt5 apps and use help viewer')
provides=('lazarus')
source=("$pkgbase::git+https://gitlab.com/freepascal.org/lazarus/lazarus.git")
sha512sums=('SKIP')
pkgver() {
cd $pkgbase
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd $pkgbase
# 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 qt5 ide
make FPC=/usr/bin/fpc LCL_PLATFORM=qt5 bigide
# move qt binaries
mv lazarus lazarus-qt5
mv startlazarus startlazarus-qt5
make clean lazbuild
}
package_lazarus-svn() {
pkgdesc='Delphi-like IDE for FreePascal common files'
depends=('fpc' 'fpc-src' 'gdb')
optdepends=(
'perl: to run some scirpts in the tools directory'
'gtk2: to compile gtk2 apps'
'qt5pas: to compile qt5 apps and use help viewer'
)
cd $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
mkdir -p "$pkgdir"/usr/lib/lazarus/docs
ln -s /usr/share/doc/lazarus/chm "$pkgdir"/usr/lib/lazarus/docs/html
ln -s /usr/share/doc/lazarus/lazdoc.css "$pkgdir"/usr/lib/lazarus/docs/lazdoc.css
rm -r "$pkgdir"/usr/lib/lazarus/install
# license files: /usr/lib/lazarus/COPYING*
install -D -m644 COPYING.modifiedLGPL.txt "$pkgdir"/usr/share/licenses/lazarus/COPYING.modifiedLGPL
}
package_lazarus-svn-gtk2() {
pkgdesc='Delphi-like IDE for FreePascal gtk2 version'
depends=('lazarus' 'desktop-file-utils' 'gtk2')
conflicts=('lazarus-qt5')
cd $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
# license files: /usr/lib/lazarus/COPYING*
install -D -m644 COPYING.modifiedLGPL.txt "$pkgdir"/usr/share/licenses/lazarus/COPYING.modifiedLGPL
}
package_lazarus-svn-qt5() {
pkgdesc='Delphi-like IDE for FreePascal qt5 version'
depends=('lazarus' 'qt5pas')
conflicts=('lazarus-gtk2')
replaces=('lazarus-qt' 'lazarus-qt4')
cd $pkgbase
# install qt binaries
install -Dm755 lazarus-qt5 "$pkgdir"/usr/lib/lazarus/lazarus
install -Dm755 startlazarus-qt5 "$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
# license files: /usr/lib/lazarus/COPYING*
install -D -m644 COPYING.modifiedLGPL.txt "$pkgdir"/usr/share/licenses/lazarus/COPYING.modifiedLGPL
}
# vim:set ts=2 sts=2 sw=2 et:
|