summaryrefslogtreecommitdiff
path: root/fpc-win32/PKGBUILD
blob: 060f8d37584cc7c69b055102ff4df290e0f3611e (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
# Maintainer: Erich Eckner <arch at eckner dot net>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
# Contributor: Valeriy Lyasotskiy <onestep@ukr.net>
# Contributor: Jan Willemson <janwil@hot.ee>
# Contributor: Hugo Ideler <hugoideler@dse.nl>
# Original PKGBUILD: Andre Naumann <anaumann@SPARCed.org>
# See http://bbs.archlinux.org/viewtopic.php?t=9318&highlight=fpc

pkgname=fpc-win64
pkgver=3.0.4
pkgrel=1
pkgdesc="Free Pascal Compiler, Turbo Pascal 7.0 and Delphi compatible - cross compiler for win64 target."
arch=('i686' 'x86_64')
url="http://www.freepascal.org/"
license=('GPL' 'LGPL' 'custom')
backup=("etc/fpc.cfg")
depends=('ncurses' 'zlib' 'expat' 'binutils' 'make')
makedepends=("fpc=${pkgver}")
options=(zipman staticlibs)
source=(ftp://ftp.freepascal.org/pub/fpc/dist/$pkgver/source/fpcbuild-$pkgver.tar.gz)
sha256sums=('f66514e6f2c2e4e1bccccb4d554c24b77682ed61c87811ae5dd210f421855e76')

build() {
  cd "$srcdir"/fpcbuild-$pkgver
  pushd fpcsrc/compiler
  export OS_TARGET=win32
  export CPU_TARGET=i386
  fpcmake -Tall
  popd
  make build NOGDB=1
}

package() {
  cd "$srcdir"/fpcbuild-$pkgver

  export HOME="$srcdir"

  make -j1 PREFIX="$pkgdir"/usr install NOGDB=1

  export PATH="$pkgdir"/usr/bin:$PATH

  install -Dm0644 fpcsrc/rtl/COPYING.FPC "$pkgdir"/usr/share/licenses/${pkgname}/COPYING.FPC

  find "$pkgdir"/usr/bin -name '*.exe' -delete

  ln -s /usr/lib/fpc/${pkgver}/ppcrossx64 "$pkgdir"/usr/bin/

  {
    pacman -Qql fpc | \
      grep -v '/$'
    cd "${pkgdir}"
    find . -type f | \
      sed 's,^\./,/,'
  } | \
    sort | \
    uniq -d | \
    while read -r file; do
      if ! diff -u --color "${file}" "${pkgdir}${file}"; then
        exit 1
      fi
      rm "${pkgdir}${file}"
    done
}