aports/testing/fpc/APKBUILD
2024-06-20 01:03:26 +00:00

76 lines
2.3 KiB
Text

# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Maxim Karasev <begs@disroot.org>
# Maintainer: Jordan Christiansen <xordspar0@gmail.com>
pkgname=fpc
pkgver=3.2.2
pkgrel=4
pkgdesc="Free Pascal Compiler"
url="http://freepascal.org"
# Build fails on ppc64le with compiler segfault
arch="x86_64 aarch64 armv7 armhf x86" # limited by fpc-stage0
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
makedepends="fpc-bootstrap"
subpackages="$pkgname-doc"
source="https://downloads.sourceforge.net/sourceforge/freepascal/fpcbuild-$pkgver.tar.gz"
builddir="$srcdir/fpcbuild-$pkgver"
# FPC is self-hosting and requires itself to build. We use fpc-stage0 to build
# fpc initially and then use fpc itself. Therefore we make fpc provide
# fpc-bootstrap as well and prioritize it over fpc-stage0
provides="fpc-bootstrap"
provider_priority=100 # highest
# libpas2jslib.so contains textrels on some arches
case "$CARCH" in
x86|armv7|armhf) options="$options textrels";;
esac
prepare() {
default_prepare
# Use correct linker path for produced binaries
sed -i -e "s,/lib64/ld-linux-x86-64\.so\..,/lib/ld-musl-x86_64.so.1," \
-e "s,/lib/ld-linux\.so\..,/lib/ld-musl-i386.so.1," \
-e "s,/lib/ld-linux-aarch64\.so\..,/lib/ld-musl-aarch64.so.1," \
-e "s,/lib/ld-linux-armhf\.so\..,/lib/ld-musl-armhf.so.1," \
-e "s,/lib64/ld64\.so\..,/lib/ld-musl-powerpc64le.so.1," \
"$builddir"/fpcsrc/compiler/systems/t_linux.pas
# Strip out any unsupported instructions
find "$builddir"/fpcsrc/rtl/linux -type f -print0 |
xargs -0 sed -i '/libc_csu/d'
}
build() {
cd fpcsrc/compiler
fpcmake -Tall
cd ../
make build NOGDB=1
}
check() {
cd fpcsrc/tests
make TEST_FPC="$builddir/fpcsrc/compiler/utils/fpc"
}
package() {
make install \
NOGDB=1 \
PREFIX="$pkgdir"/usr \
INSTALL_MANDIR="$pkgdir"/usr/share/man
# Create a symlink needed for fpc to find compiler
ln -s /usr/lib/fpc/"$pkgver"/ppc* "$pkgdir"/usr/bin
# Install configuration
mkdir -p "$pkgdir"/etc
"$pkgdir"/usr/lib/fpc/"$pkgver"/samplecfg \
"$pkgdir"/usr/lib/fpc/"$pkgver" "$pkgdir"/etc
# Strip pkgdir name from configs
find "$pkgdir"/etc/ -type f -exec sed -i "s|$pkgdir||g" {} \;
}
sha512sums="
75889bb54adc70a6e2cbd291476b9b12d61c8f943a05b7d16d2024de3215c935465ff43b1400c412e128e260c7f49a9c66e35c21f86cb866e671b5b60a282d82 fpcbuild-3.2.2.tar.gz
"