blob: 5726ad43e9d196b1c0b0f1c2261503608d42dd1c (
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
|
# Maintainer: Torsten Keßler <tpkessler at archlinux dot org>
pkgname=terra
pkgver=1.1.1
pkgrel=2
pkgdesc="Low-level system programming language"
arch=('x86_64')
url="https://terralang.org/"
license=('MIT')
makedepends=('ninja' 'cmake' 'python')
_git='https://github.com/terralang/terra'
_llvm='https://github.com/llvm/llvm-project'
_llvm_ver=16.0.6
source=("$pkgname-$pkgver.tar.gz::$_git/archive/refs/tags/release-$pkgver.tar.gz"
"$pkgname-llvm-$_llvm_ver.tar.xz::$_llvm/releases/download/llvmorg-$_llvm_ver/llvm-project-$_llvm_ver.src.tar.xz")
b2sums=('70d6b3c83c5b3999a690d96f606331e8aa90da61ef4f263fc7fbc6e007ed190feedb8a59e7ecf968ae0edb872d11788ed05438f18ab6a2dece2900462bfd9b1c'
'95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d')
# Arch's default build flags cause terra to crash. Remove them until we find a fix.
options=(!lto !buildflags)
build() {
local llvm_args=(
-Wno-dev
-G Ninja
-B llvm-build
-S "llvm-project-$_llvm_ver.src/llvm"
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=Release
-D LLVM_ENABLE_PROJECTS=clang
-D LLVM_ENABLE_TERMINFO=OFF
-D LLVM_ENABLE_LIBEDIT=OFF
-D LLVM_ENABLE_ZLIB=OFF
-D LLVM_ENABLE_ZSTD=OFF
-D LLVM_ENABLE_LIBXML2=OFF
-D LLVM_ENABLE_ASSERTIONS=OFF
)
# Minimal debug info
CFLAGS+=" -g1"
CXXFLAGS+=" -g1"
cmake "${llvm_args[@]}"
ninja -C llvm-build
DESTDIR="$srcdir/deps" ninja -C llvm-build install
local cmake_args=(
-Wno-dev
-G Ninja
-B build
-S "$pkgname-release-$pkgver"
-D CMAKE_PREFIX_PATH="$srcdir/deps/usr/lib/cmake"
-D CMAKE_INSTALL_PREFIX=/usr
-D TERRA_STATIC_LINK_LLVM=ON
-D TERRA_SLIB_INCLUDE_LLVM=ON
-D TERRA_STATIC_LINK_LUAJIT=ON
-D TERRA_SLIB_INCLUDE_LUAJIT=ON
)
cmake "${cmake_args[@]}"
ninja -C build
}
package() {
DESTDIR="$pkgdir" ninja -C build install
install -Dm644 "$pkgname-release-$pkgver"/release/share/terra/README.md "$pkgdir"/usr/share/licenses/$pkgname/README
}
|