mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-09 06:54:23 +02:00
83 lines
2.1 KiB
Text
83 lines
2.1 KiB
Text
# Maintainer: Celeste <cielesti@protonmail.com>
|
|
maintainer="Celeste <cielesti@protonmail.com>"
|
|
pkgname=lfortran
|
|
pkgver=0.52.0
|
|
pkgrel=0
|
|
pkgdesc="Modern interactive LLVM-based Fortran compiler"
|
|
url="https://lfortran.org/"
|
|
# armhf, armv7, x86: static_assert(sizeof(YYSTYPE) == sizeof(Vec<AST::ast_t*>)) failed
|
|
# ppc64le, riscv64, s390x: (doctest) expected instruction opcode: %1 =x alloca i64
|
|
arch="all !armhf !armv7 !x86 !ppc64le !riscv64 !s390x"
|
|
license="BSD-3-Clause"
|
|
depends="clang" # default clang as lfortran calls cmd:clang
|
|
_llvmver=20
|
|
# ninja-is-really-ninja: samurai implements Ninja 1.9 which lacks features required for supporting Fortran
|
|
makedepends="
|
|
binutils-dev
|
|
cmake
|
|
llvm$_llvmver-dev
|
|
llvm$_llvmver-gtest
|
|
llvm$_llvmver-static
|
|
llvm-libunwind-dev
|
|
ninja-is-really-ninja
|
|
rapidjson-dev
|
|
zlib-static
|
|
zstd-static
|
|
"
|
|
subpackages="
|
|
$pkgname-doc
|
|
$pkgname-runtime
|
|
$pkgname-scripts::noarch
|
|
$pkgname-static
|
|
"
|
|
source="https://github.com/lfortran/lfortran/releases/download/v$pkgver/lfortran-$pkgver.tar.gz
|
|
test.patch
|
|
"
|
|
|
|
build() {
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DCMAKE_BUILD_TYPE=None \
|
|
-DCMAKE_PREFIX_PATH=/usr/lib/llvm$_llvmver \
|
|
-DWITH_BFD=ON \
|
|
-DWITH_JSON=ON \
|
|
-DWITH_LLVM=ON \
|
|
-DWITH_RUNTIME_LIBRARY=ON \
|
|
-DWITH_UNWIND=ON \
|
|
-DWITH_ZLIB=ON \
|
|
-DWITH_ZSTD=ON
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
ctest --test-dir build -E test_stacktrace
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
|
|
# fix permissions
|
|
chmod -c 0755 "$pkgdir"/usr/share/lfortran/*.py
|
|
}
|
|
|
|
runtime() {
|
|
pkgdesc="$pkgdesc (runtime library)"
|
|
depends=
|
|
|
|
amove usr/lib/liblfortran_runtime.so.[0-9]*
|
|
}
|
|
|
|
scripts() {
|
|
pkgdesc="$pkgdesc (helper scripts)"
|
|
depends="$pkgname=$pkgver-r$pkgrel python3"
|
|
install_if="$pkgname=$pkgver-r$pkgrel python3"
|
|
|
|
amove usr/share/lfortran/*.py
|
|
}
|
|
|
|
sha512sums="
|
|
a69e4ff8357bc9e5c6ec7250def2e7b46a486287a2f3416c8e82d9e116d139ffbadfba0b68c25461618e29cf287ef22eab436034dff946bcb8583959135a94f7 lfortran-0.52.0.tar.gz
|
|
8520d989ba1c5dd8fb2188f6b760f60af87f708473ce3c5bbf60ad4552c0491f6328c94e2420629bcb1ce3ffba89feae603dfde84919da9b62df1d992c280502 test.patch
|
|
"
|