summaryrefslogtreecommitdiff
path: root/community/lazarus/PKGBUILD
blob: a664c40c20933721819b5bb3e4d0fd87dbb4cc45 (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
# $Id: PKGBUILD 106507 2014-03-05 09:48:14Z spupykin $
# 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=1.2
_pkgsubver=0
pkgrel=1
url='http://www.lazarus.freepascal.org/'
license=('GPL2' 'MPL' 'custom:modifiedLGPL')
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-${_pkgsubver}.tar.gz"
	'lazcontrols2.diff')
md5sums=('f36e7182cf5a5d75a7157104d1370e0b'
         '288bca6ad5ade79deec34c3602daaaa9')

build() {
  cd $srcdir/${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 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 and use help viewer'
  )

  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
  mkdir -p $pkgdir/usr/lib/lazarus/docs
  ln -s /usr/share/doc/lazarus/chm $pkgdir/usr/lib/lazarus/docs/html

  rm -r $pkgdir/usr/lib/lazarus/install

  # license files: /usr/lib/lazarus/COPYING*
  install -D -m644 COPYING.modifiedLGPL.txt $pkgdir/usr/share/licenses/$pkgname/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

  # license files: /usr/lib/lazarus/COPYING*
  install -D -m644 COPYING.modifiedLGPL.txt $pkgdir/usr/share/licenses/$pkgname/COPYING.modifiedLGPL
}

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

  # license files: /usr/lib/lazarus/COPYING*
  install -D -m644 COPYING.modifiedLGPL.txt $pkgdir/usr/share/licenses/$pkgname/COPYING.modifiedLGPL
}

# vim:set ts=2 sts=2 sw=2 et: