forked from FemboyOS/fempkg_recipes
Femboyos 2 full rewrite full working CI
This commit is contained in:
47
llvm.recipe.py
Normal file
47
llvm.recipe.py
Normal file
@@ -0,0 +1,47 @@
|
||||
pkgname = "llvm"
|
||||
pkgver = "21.1.2"
|
||||
source = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/llvm-{pkgver}.src.tar.xz"
|
||||
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}.src"
|
||||
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
|
||||
outputdir = "/home/gabry/lfs-repo/binpkg"
|
||||
manifestdir = "/home/gabry/lfs-repo/manifests"
|
||||
destdir = f"{fembuilddir}/DESTDIR"
|
||||
deps = []
|
||||
|
||||
build = [
|
||||
# Extract
|
||||
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && wget https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-{pkgver}.src.tar.xz "
|
||||
f"https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-third-party-{pkgver}.src.tar.xz https://github.com/llvm/llvm-project/releases/" # note this is actually right
|
||||
f"download/llvmorg-{pkgver}/clang-{pkgver}.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/compiler-rt-{pkgver}.src.tar.xz "
|
||||
f"&& tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.src.tar.xz",
|
||||
|
||||
# 64-bit build
|
||||
f"cd {builddir} && tar -xf ../llvm-cmake-{pkgver}.src.tar.xz",
|
||||
f"cd {builddir} && tar -xf ../llvm-third-party-{pkgver}.src.tar.xz",
|
||||
f"cd {builddir} && sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-{pkgver}.src@' -i CMakeLists.txt",
|
||||
f"cd {builddir} && sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@third-party-{pkgver}.src@' -i cmake/modules/HandleLLVMOptions.cmake",
|
||||
f"cd {builddir} && tar -xf ../clang-{pkgver}.src.tar.xz -C tools",
|
||||
f"cd {builddir} && mv tools/clang-{pkgver}.src tools/clang",
|
||||
f"cd {builddir} && tar -xf ../compiler-rt-{pkgver}.src.tar.xz -C projects",
|
||||
f"cd {builddir} && mv projects/compiler-rt-{pkgver}.src projects/compiler-rt",
|
||||
f"cd {builddir} && grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'",
|
||||
f"cd {builddir} && sed 's/utility/tool/' -i utils/FileCheck/CMakeLists.txt",
|
||||
f"cd {builddir} && mkdir -v build && cd build",
|
||||
f"cd {builddir}/build && CC=gcc CXX=g++ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_SKIP_INSTALL_RPATH=ON -D LLVM_ENABLE_FFI=ON -D "
|
||||
f"CMAKE_BUILD_TYPE=Release -D LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_LINK_LLVM_DYLIB=ON -D LLVM_ENABLE_RTTI=ON -D LLVM_TARGETS_TO_BUILD=\"host;AMDGPU\" -D "
|
||||
f"LLVM_BINUTILS_INCDIR=/usr/include -D LLVM_INCLUDE_BENCHMARKS=OFF -D CLANG_DEFAULT_PIE_ON_LINUX=ON -D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang "
|
||||
f"-W no-dev -G Ninja ..",
|
||||
|
||||
f"cd {builddir}/build && ninja",
|
||||
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
|
||||
|
||||
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
|
||||
f"install -v -m644 {builddir}/LICENSE.TXT {destdir}/usr/share/licenses/{pkgname}/LICENSE",
|
||||
|
||||
# Make tarball + manifests
|
||||
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
|
||||
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
|
||||
|
||||
# Cleanup
|
||||
f"rm -rf {builddir} {fembuilddir}"
|
||||
]
|
||||
Reference in New Issue
Block a user