71 lines
1.8 KiB
Bash
71 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
name='clang'
|
|
release='3'
|
|
version='18.1.1'
|
|
url='https://github.com/llvm/llvm-project'
|
|
description='The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.'
|
|
email='aliriza.keskin@pardus.org.tr'
|
|
maintainer='aliriza'
|
|
license=('GPLv3')
|
|
source=(
|
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/clang-$version.src.tar.xz"
|
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/clang-tools-extra-$version.src.tar.xz"
|
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm-$version.src.tar.xz"
|
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/cmake-$version.src.tar.xz"
|
|
)
|
|
|
|
depends=(llvm)
|
|
makedepends=()
|
|
md5sums=(
|
|
'64294af06a888b7968ae977832f88396'
|
|
'36e0f3ff5f2f927b8cb20e3220ae4d17'
|
|
'466aecd0889df065dbc026b56f44eb89'
|
|
'aa9a78a149fa45ad4d8336cbdaafcec8'
|
|
)
|
|
|
|
group=(sys.devel)
|
|
uses=()
|
|
arch=('x86_64')
|
|
|
|
cd $name-$version.src
|
|
|
|
prepare(){
|
|
mv ../cmake{-$version.src,}
|
|
mv ../clang-tools-extra-$version.src ../clang-$version.src/tools/extra
|
|
}
|
|
|
|
local cmake_args=(
|
|
-G Ninja
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
-DCMAKE_INSTALL_PREFIX=/usr
|
|
-DCMAKE_INSTALL_DOCDIR=share/doc
|
|
-DCMAKE_SKIP_RPATH=ON
|
|
-DCLANG_DEFAULT_PIE_ON_LINUX=ON
|
|
-DCLANG_LINK_CLANG_DYLIB=ON
|
|
-DENABLE_LINKER_BUILD_ID=ON
|
|
-DLLVM_BUILD_DOCS=OFF
|
|
-DLLVM_BUILD_TESTS=OFF
|
|
-DLLVM_INCLUDE_TESTS=OFF
|
|
-DLLVM_ENABLE_RTTI=ON
|
|
-DLLVM_ENABLE_SPHINX=OFF
|
|
-DLLVM_EXTERNAL_LIT=/usr/bin/lit
|
|
-DLLVM_INCLUDE_DOCS=OFF
|
|
-DLLVM_LINK_LLVM_DYLIB=ON
|
|
-DSPHINX_WARNINGS_AS_ERRORS=OFF
|
|
-DLLVM_MAIN_SRC_DIR="$(realpath ~/llvm-$version.src)"
|
|
)
|
|
|
|
setup(){
|
|
mkdir build && cd build
|
|
cmake .. ${cmake_args[@]}
|
|
}
|
|
|
|
build(){
|
|
ninja -C build
|
|
}
|
|
|
|
package(){
|
|
ninja -C build install
|
|
}
|
|
|