diff options
author | Eduardo José Gómez Hernández | 2023-10-28 13:02:19 +0200 |
---|---|---|
committer | Eduardo José Gómez Hernández | 2023-10-28 13:02:19 +0200 |
commit | ab823d2fb9456400834a405c3ac51f93ea07d78c (patch) | |
tree | 4af61daa102a0567dd674a4b6fc87112e8a197f7 | |
download | aur-ab823d2fb9456400834a405c3ac51f93ea07d78c.tar.gz |
c3c llvm 16
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | PKGBUILD | 84 |
2 files changed, 107 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..2f7b8889d143 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,23 @@ +pkgbase = c3c-llvm-16-git + pkgdesc = C3 is an evolution of C enabling the same paradigms and retaining the same syntax as far as possible. Git version for x86_64. LLVM 16 + pkgver = r1666.e4c1328e + pkgrel = 1 + url = https://github.com/c3lang/c3c.git + arch = x86_64 + license = LGPL3 + license = MIT + makedepends = binutils + makedepends = tar + makedepends = ninja + makedepends = git + makedepends = cmake + makedepends = libbsd + makedepends = curl + provides = c3c + conflicts = c3c + source = git+https://github.com/c3lang/c3c.git + source = https://launchpad.net/ubuntu/+archive/primary/+files/libedit2_3.1-20221030-2_amd64.deb + md5sums = SKIP + md5sums = dc66a491cd5514c069d8151a37ae9e7e + +pkgname = c3c-llvm-16-git diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..77f3d7455d3d --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,84 @@ +# Maintainer: Eduardo Jose Gomez Hernandez <eduardo@edujgh.net> +pkgname=c3c-llvm-16-git +_pkgname=c3c +pkgver=r1666.e4c1328e +pkgrel=1 +pkgdesc="C3 is an evolution of C enabling the same paradigms and retaining the same syntax as far as possible. Git version for x86_64. LLVM 16" +arch=(x86_64) +url="https://github.com/c3lang/c3c.git" +license=('LGPL3' 'MIT') +depends=() +makedepends=('binutils' 'tar' 'ninja' 'git' 'cmake' 'libbsd' 'curl') +provides=(c3c) +conflicts=(c3c) + +_repository="https://apt.llvm.org/mantic/" +_llvmver="16" + +_required_llvm_packages="clang-${_llvmver}_ libc++1-${_llvmver}_ libc++-${_llvmver}-dev_ libc++abi1-${_llvmver}_ libc++abi-${_llvmver}-dev_ libclang1-${_llvmver}_ libclang-${_llvmver}-dev_ libclang-common-${_llvmver}-dev_ libclang-cpp${_llvmver}_ libclang-cpp${_llvmver}-dev_ libclang-rt-${_llvmver}-dev_ liblld-${_llvmver}_ liblld-${_llvmver}-dev_ libllvm${_llvmver}_ libllvm-${_llvmver}-ocaml-dev_ libmlir-${_llvmver}_ libmlir-${_llvmver}-dev_ libomp-${_llvmver}-dev_ libomp5-${_llvmver}_ libpolly-${_llvmver}-dev_ lld-${_llvmver}_ llvm-${_llvmver}_ llvm-${_llvmver}-dev_ llvm-${_llvmver}-linker-tools_ llvm-${_llvmver}-runtime_ llvm-${_llvmver}-tools_ mlir-${_llvmver}-tools_" + +source=('git+https://github.com/c3lang/c3c.git' + 'https://launchpad.net/ubuntu/+archive/primary/+files/libedit2_3.1-20221030-2_amd64.deb') +md5sums=('SKIP' + 'dc66a491cd5514c069d8151a37ae9e7e') + +pkgver() { + cd "${srcdir}/${_pkgname}" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "${srcdir}/" + + echo "Downloading Ubuntu LLVM packages:" + + curl "${_repository}/pool/main/l/llvm-toolchain-${_llvmver}/" --compressed -vs > repository + for package in $_required_llvm_packages; do + name=$(cat repository | grep "${package}" | head -n 1 | cut -f 2 -d "\"") + if ! [ -f ${name} ]; then + echo "Downloading ${package}" + curl "${_repository}/pool/main/l/llvm-toolchain-${_llvmver}/${name}" --output "${name}" + else + echo "${name} is allready present" + fi + done + + echo "Unpacking LLVM" + for i in $(/bin/ls *.deb); do + echo "Unpacking ${i}" + ar p "${i}" data.tar.zst | tar --use-compress-program=unzstd -x ; + done +} + +build() { + cd "${srcdir}/${_pkgname}" + export LD_LIBRARY_PATH=`readlink -e ${srcdir}/usr/lib/x86_64-linux-gnu`:${LD_LIBRARY_PATH} + export PATH=`readlink -e ${srcdir}/usr/bin`:${PATH} + cmake -B build \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=clang-${_llvmver} \ + -DCMAKE_CXX_COMPILER=clang++-${_llvmver} \ + -DCMAKE_LINKER=lld-link-${_llvmver} \ + -DCMAKE_OBJCOPY=llvm-objcopy-${_llvmver} \ + -DCMAKE_STRIP=llvm-strip-${_llvmver} \ + -DCMAKE_DLLTOOL=llvm-dlltool-${_llvmver} \ + -DC3_LLVM_VERSION=${_llvmver} \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON + + cmake --build build +} + +package() { + cd "${srcdir}/${_pkgname}" + + install -d "${pkgdir}/usr/bin" + install -d "${pkgdir}/usr/lib/${_pkgname}" + + cp "${srcdir}/${_pkgname}/build/c3c" "${pkgdir}/usr/lib/${_pkgname}/c3c" + cp -r "${srcdir}/${_pkgname}/lib" "${pkgdir}/usr/lib/${_pkgname}/lib" + ln -s "/usr/lib/${_pkgname}/c3c" "${pkgdir}/usr/bin/c3c" + + install -Dm644 "${srcdir}/${_pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE" + install -Dm644 "${srcdir}/${_pkgname}/LICENSE_STDLIB" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE_STDLIB" +} |