#!/usr/bin/env bash name='clang' release='4' version='19.1.7' 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=() sha256sums=( '11e5e4ecab5338b9914de3b83a4622cb200de466b7c56ba675afb72fa7d64675' '430b088bf820550090a6cf0eec67183d045273c18b3f1d6c5207e46d93391be7' '96f833c6ad99a3e8e1d9aca5f439b8fd2c7efdcf83b664e0af1c0712c5315910' '11c5a28f90053b0c43d0dec3d0ad579347fc277199c005206b963c19aae514e3' ) group=(sys.devel) uses=() arch=('x86_64') cd $name-$version.src unset CFLAGS unset CXXFLAGS 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 ${jobs} } package(){ ninja -C build install ${jobs} }