summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpc-cross/PKGBUILD107
-rw-r--r--fpc-win32/PKGBUILD64
-rw-r--r--fpc-win64/PKGBUILD64
3 files changed, 107 insertions, 128 deletions
diff --git a/fpc-cross/PKGBUILD b/fpc-cross/PKGBUILD
new file mode 100644
index 00000000..ec5d979e
--- /dev/null
+++ b/fpc-cross/PKGBUILD
@@ -0,0 +1,107 @@
+# 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
+
+pkgbase=fpc-cross
+pkgname=(fpc-cross-common fpc-win32 fpc-win64)
+pkgver=3.0.4
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.freepascal.org/"
+license=('GPL' 'LGPL' 'custom')
+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')
+
+prepare() {
+ cp -a "$srcdir/fpcbuild-$pkgver" "$srcdir/fpcbuild-$pkgver-win64"
+ mv "$srcdir/fpcbuild-$pkgver" "$srcdir/fpcbuild-$pkgver-win32"
+}
+
+build() {
+ for architecture in win32:i386 win64:x86_64; do
+ (
+ cd "$srcdir/fpcbuild-$pkgver-${architecture%:*}"
+ pushd fpcsrc/compiler
+ export OS_TARGET="${architecture%:*}"
+ export CPU_TARGET="${architecture#*:}"
+ fpcmake -Tall
+ popd
+ make build NOGDB=1
+
+ mkdir "$srcdir/pkg-${architecture%:*}"
+ export HOME="$srcdir"
+
+ make -j1 PREFIX="$srcdir/pkg-${architecture%:*}/usr" install NOGDB=1
+
+ export PATH="$srcdir/pkg-${architecture%:*}/usr/bin:$PATH"
+
+ install -Dm0644 fpcsrc/rtl/COPYING.FPC "$srcdir/pkg-${architecture%:*}/usr/share/licenses/${pkgname}/COPYING.FPC"
+ find "$srcdir/pkg-${architecture%:*}" -name '*.exe' -delete
+
+ {
+ pacman -Qql fpc | \
+ grep -v '/$'
+ cd "$srcdir/pkg-${architecture%:*}"
+ find . -type f | \
+ sed 's,^\./,/,'
+ } | \
+ sort | \
+ uniq -d | \
+ while read -r file; do
+ if ! diff -u --color "${file}" "$srcdir/pkg-${architecture%:*}${file}"; then
+ exit 1
+ fi
+ rm "$srcdir/pkg-${architecture%:*}${file}"
+ done
+ ) || exit $?
+ done
+ ln -s "/usr/lib/fpc/${pkgver}/ppcrossx64" "$srcdir/pkg-win64/usr/bin/"
+ ln -s "/usr/lib/fpc/${pkgver}/ppcrossx32" "$srcdir/pkg-win32/usr/bin/"
+ mkdir "$srcdir/pkg-common"
+ {
+ cd "$srcdir/pkg-win64"
+ find . -type f | \
+ sed 's,^\./,/,'
+ cd "$srcdir/pkg-win32"
+ find . -type f | \
+ sed 's,^\./,/,'
+ } | \
+ sort | \
+ uniq -d | \
+ while read -r file; do
+ if ! diff -u --color "$srcdir/pkg-win32${file}" "$srcdir/pkg-win64${file}"; then
+ exit 1
+ fi
+ rm "$srcdir/pkg-win32${file}"
+ mkdir -p "$srcdir/pkg-common${file%/*}"
+ mv "$srcdir/pkg-win64${file}" "$srcdir/pkg-common${file}"
+ done
+}
+
+_package() {
+ pkgdesc="Free Pascal Compiler, Turbo Pascal 7.0 and Delphi compatible - cross compiler for $1 target."
+ depends+=("fpc-cross-common=${pkgver}")
+
+ mv "$srcdir/pkg-$1" "$pkgdir"
+}
+
+package_fpc-cross-common() {
+ pkgdesc="Common files for fpc-win32 and fpc-win64 cross compilers."
+ mv "$srcdir/pkg-common" "$pkgdir"
+}
+
+package_fpc-win64() {
+ _package win64
+}
+
+package_fpc-win32() {
+ _package win32
+}
diff --git a/fpc-win32/PKGBUILD b/fpc-win32/PKGBUILD
deleted file mode 100644
index 060f8d37..00000000
--- a/fpc-win32/PKGBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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
-}
diff --git a/fpc-win64/PKGBUILD b/fpc-win64/PKGBUILD
deleted file mode 100644
index abefc72f..00000000
--- a/fpc-win64/PKGBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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=win64
- export CPU_TARGET=x86_64
- 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
-}