# $Id: PKGBUILD 92718 2013-06-13 12:56:35Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Jens Adam (byte/jra) # Contributor: BlackIkeEagle pkgbase=lazarus pkgname=('lazarus' 'lazarus-gtk2' 'lazarus-qt') pkgver=1.0.10 _pkgsubver=0 pkgrel=1 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-${_pkgsubver}.tar.gz" 'lazcontrols2.diff') md5sums=('60d3b297079ca4151f690245295a8708' '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/$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: