[arch-commits] Commit in llvm/repos (6 files)

2022-02-07 Thread Evangelos Foutras via arch-commits
Date: Monday, February 7, 2022 @ 21:09:43
  Author: foutrelis
Revision: 436410

archrelease: copy trunk to staging-x86_64

Added:
  llvm/repos/staging-x86_64/
  llvm/repos/staging-x86_64/PKGBUILD
(from rev 436409, llvm/trunk/PKGBUILD)
  llvm/repos/staging-x86_64/disable-bswap-for-spir.patch
(from rev 436409, llvm/trunk/disable-bswap-for-spir.patch)
  llvm/repos/staging-x86_64/don-t-accept-nullptr-as-GEP-element-type.patch
(from rev 436409, llvm/trunk/don-t-accept-nullptr-as-GEP-element-type.patch)
  llvm/repos/staging-x86_64/llvm-config.h
(from rev 436409, llvm/trunk/llvm-config.h)
  llvm/repos/staging-x86_64/no-strict-aliasing-DwarfCompileUnit.patch
(from rev 436409, llvm/trunk/no-strict-aliasing-DwarfCompileUnit.patch)

+
 PKGBUILD   |  139 +++
 disable-bswap-for-spir.patch   |   50 
 don-t-accept-nullptr-as-GEP-element-type.patch |   63 ++
 llvm-config.h  |9 +
 no-strict-aliasing-DwarfCompileUnit.patch  |   13 ++
 5 files changed, 274 insertions(+)

Copied: llvm/repos/staging-x86_64/PKGBUILD (from rev 436409, 
llvm/trunk/PKGBUILD)
===
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2022-02-07 21:09:43 UTC (rev 436410)
@@ -0,0 +1,139 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
+pkgver=13.0.1
+pkgrel=1
+_ocaml_ver=4.13.1
+arch=('x86_64')
+url="https://llvm.org/;
+license=('custom:Apache 2.0 with LLVM Exception')
+makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
+ "ocaml>=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib'
+ 'python-setuptools' 'python-psutil' 'python-sphinx'
+ 'python-recommonmark')
+options=('staticlibs' '!lto') # Getting thousands of test failures with LTO
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
+don-t-accept-nullptr-as-GEP-element-type.patch
+no-strict-aliasing-DwarfCompileUnit.patch
+disable-bswap-for-spir.patch
+llvm-config.h)
+sha256sums=('ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834'
+'SKIP'
+'a7e902a7612d0fdabe436a917468b043cc296bc89d8954bfc3126f737beb9ac4'
+'d1eff24508e35aae6c26a943dbaa3ef5acb60a145b008fd1ef9ac6f6c4faa662'
+'af163392fbc19d65d11ab4b1510a2eae39b417d6228023b3ba5395b138bb41f5'
+'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecab8bc48')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/llvm-$pkgver.src"
+  mkdir build
+
+  # https://github.com/intel/intel-graphics-compiler/issues/204
+  patch -Rp2 -i ../don-t-accept-nullptr-as-GEP-element-type.patch
+
+  # Work around intermittent 'clang -O -g' crashes
+  # https://bugs.llvm.org/show_bug.cgi?id=50611#c3
+  patch -Np2 -i ../no-strict-aliasing-DwarfCompileUnit.patch
+
+  # Fix an ISPC build failure (https://github.com/ispc/ispc/issues/2189)
+  patch -Np2 -i ../disable-bswap-for-spir.patch
+}
+
+build() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DCMAKE_SKIP_RPATH=ON \
+-DLLVM_HOST_TRIPLE=$CHOST \
+-DLLVM_BUILD_LLVM_DYLIB=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_INSTALL_UTILS=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_ENABLE_FFI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_BUILD_DOCS=ON \
+-DLLVM_ENABLE_SPHINX=ON \
+-DLLVM_ENABLE_DOXYGEN=OFF \
+-DSPHINX_WARNINGS_AS_ERRORS=OFF \
+-DLLVM_BINUTILS_INCDIR=/usr/include
+  ninja all ocaml_doc
+}
+
+check() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+  LD_LIBRARY_PATH=$PWD/lib ninja check
+}
+
+package_llvm() {
+  pkgdesc="Collection of modular and reusable compiler and toolchain 
technologies"
+  depends=('llvm-libs' 'perl')
+
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+
+  # Include lit for running lit-based tests in other projects
+  pushd ../utils/lit
+  python3 setup.py install --root="$pkgdir" -O1
+  popd
+
+  # Remove documentation sources
+  rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
+
+  # The runtime libraries go into llvm-libs
+  mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir"
+  mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
+
+  # OCaml bindings go to a separate package
+  rm -rf "$srcdir"/ocaml.{lib,doc}
+  mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
+  mv "$pkgdir/usr/share/doc/$pkgname/ocaml-html" "$srcdir/ocaml.doc"
+
+  if [[ $CARCH == x86_64 ]]; then
+# Needed for multilib 

[arch-commits] Commit in llvm/repos (6 files)

2021-11-30 Thread Evangelos Foutras via arch-commits
Date: Tuesday, November 30, 2021 @ 19:25:15
  Author: foutrelis
Revision: 429702

archrelease: copy trunk to staging-x86_64

Added:
  llvm/repos/staging-x86_64/
  llvm/repos/staging-x86_64/PKGBUILD
(from rev 429701, llvm/trunk/PKGBUILD)
  llvm/repos/staging-x86_64/disable-bswap-for-spir.patch
(from rev 429701, llvm/trunk/disable-bswap-for-spir.patch)
  llvm/repos/staging-x86_64/don-t-accept-nullptr-as-GEP-element-type.patch
(from rev 429701, llvm/trunk/don-t-accept-nullptr-as-GEP-element-type.patch)
  llvm/repos/staging-x86_64/llvm-config.h
(from rev 429701, llvm/trunk/llvm-config.h)
  llvm/repos/staging-x86_64/no-strict-aliasing-DwarfCompileUnit.patch
(from rev 429701, llvm/trunk/no-strict-aliasing-DwarfCompileUnit.patch)

+
 PKGBUILD   |  138 +++
 disable-bswap-for-spir.patch   |   50 
 don-t-accept-nullptr-as-GEP-element-type.patch |   63 ++
 llvm-config.h  |9 +
 no-strict-aliasing-DwarfCompileUnit.patch  |   13 ++
 5 files changed, 273 insertions(+)

Copied: llvm/repos/staging-x86_64/PKGBUILD (from rev 429701, 
llvm/trunk/PKGBUILD)
===
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2021-11-30 19:25:15 UTC (rev 429702)
@@ -0,0 +1,138 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
+pkgver=13.0.0
+pkgrel=4
+_ocaml_ver=4.12.0
+arch=('x86_64')
+url="https://llvm.org/;
+license=('custom:Apache 2.0 with LLVM Exception')
+makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
+ "ocaml>=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib'
+ 'python-setuptools' 'python-psutil' 'python-sphinx'
+ 'python-recommonmark')
+options=('staticlibs')
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
+don-t-accept-nullptr-as-GEP-element-type.patch
+no-strict-aliasing-DwarfCompileUnit.patch
+disable-bswap-for-spir.patch
+llvm-config.h)
+sha256sums=('408d11708643ea826f519ff79761fcdfc12d641a2510229eec459e72f8163020'
+'SKIP'
+'a7e902a7612d0fdabe436a917468b043cc296bc89d8954bfc3126f737beb9ac4'
+'d1eff24508e35aae6c26a943dbaa3ef5acb60a145b008fd1ef9ac6f6c4faa662'
+'af163392fbc19d65d11ab4b1510a2eae39b417d6228023b3ba5395b138bb41f5'
+'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecab8bc48')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/llvm-$pkgver.src"
+  mkdir build
+
+  # https://github.com/intel/intel-graphics-compiler/issues/204
+  patch -Rp2 -i ../don-t-accept-nullptr-as-GEP-element-type.patch
+
+  # Work around intermittent 'clang -O -g' crashes
+  # https://bugs.llvm.org/show_bug.cgi?id=50611#c3
+  patch -Np2 -i ../no-strict-aliasing-DwarfCompileUnit.patch
+
+  # Fix an ISPC build failure (https://github.com/ispc/ispc/issues/2189)
+  patch -Np2 -i ../disable-bswap-for-spir.patch
+}
+
+build() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DLLVM_HOST_TRIPLE=$CHOST \
+-DLLVM_BUILD_LLVM_DYLIB=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_INSTALL_UTILS=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_ENABLE_FFI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_BUILD_DOCS=ON \
+-DLLVM_ENABLE_SPHINX=ON \
+-DLLVM_ENABLE_DOXYGEN=OFF \
+-DSPHINX_WARNINGS_AS_ERRORS=OFF \
+-DLLVM_BINUTILS_INCDIR=/usr/include
+  ninja all ocaml_doc
+}
+
+check() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+  ninja check
+}
+
+package_llvm() {
+  pkgdesc="Collection of modular and reusable compiler and toolchain 
technologies"
+  depends=('llvm-libs' 'perl')
+
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+
+  # Include lit for running lit-based tests in other projects
+  pushd ../utils/lit
+  python3 setup.py install --root="$pkgdir" -O1
+  popd
+
+  # Remove documentation sources
+  rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
+
+  # The runtime libraries go into llvm-libs
+  mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir"
+  mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
+
+  # OCaml bindings go to a separate package
+  rm -rf "$srcdir"/ocaml.{lib,doc}
+  mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
+  mv "$pkgdir/usr/share/doc/$pkgname/ocaml-html" "$srcdir/ocaml.doc"
+
+  if [[ $CARCH == x86_64 ]]; then
+# Needed for multilib (https://bugs.archlinux.org/task/29951)
+# Header stub is taken from Fedora
+mv 

[arch-commits] Commit in llvm/repos (6 files)

2021-07-08 Thread Evangelos Foutras via arch-commits
Date: Friday, July 9, 2021 @ 05:59:47
  Author: foutrelis
Revision: 419322

archrelease: copy trunk to staging-x86_64

Added:
  llvm/repos/staging-x86_64/
  llvm/repos/staging-x86_64/PKGBUILD
(from rev 419321, llvm/trunk/PKGBUILD)
  llvm/repos/staging-x86_64/add-fno-semantic-interposition.patch
(from rev 419321, llvm/trunk/add-fno-semantic-interposition.patch)
  llvm/repos/staging-x86_64/llvm-config.h
(from rev 419321, llvm/trunk/llvm-config.h)
  llvm/repos/staging-x86_64/llvm-link-with-Bsymbolic-functions.patch
(from rev 419321, llvm/trunk/llvm-link-with-Bsymbolic-functions.patch)
  llvm/repos/staging-x86_64/no-strict-aliasing-DwarfCompileUnit.patch
(from rev 419321, llvm/trunk/no-strict-aliasing-DwarfCompileUnit.patch)

---+
 PKGBUILD  |  137 
 add-fno-semantic-interposition.patch  |   22 
 llvm-config.h |9 +
 llvm-link-with-Bsymbolic-functions.patch  |   66 +
 no-strict-aliasing-DwarfCompileUnit.patch |   13 ++
 5 files changed, 247 insertions(+)

Copied: llvm/repos/staging-x86_64/PKGBUILD (from rev 419321, 
llvm/trunk/PKGBUILD)
===
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2021-07-09 05:59:47 UTC (rev 419322)
@@ -0,0 +1,137 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
+pkgver=12.0.1
+pkgrel=1
+_ocaml_ver=4.11.1
+arch=('x86_64')
+url="https://llvm.org/;
+license=('custom:Apache 2.0 with LLVM Exception')
+makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
+ "ocaml>=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib'
+ 'python-setuptools' 'python-psutil' 'python-sphinx'
+ 'python-recommonmark')
+options=('staticlibs')
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
+llvm-link-with-Bsymbolic-functions.patch
+add-fno-semantic-interposition.patch
+no-strict-aliasing-DwarfCompileUnit.patch
+llvm-config.h)
+sha256sums=('7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf'
+'SKIP'
+'560ce1e206c19f4b86f4c583b743db0ad47a610418999350710aafd60ae50fcd'
+'fc8c64267a5d179e9fc24fb2bc6150edef2598c83f5b2d138d14e05ce9f4e345'
+'d1eff24508e35aae6c26a943dbaa3ef5acb60a145b008fd1ef9ac6f6c4faa662'
+'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecab8bc48')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/llvm-$pkgver.src"
+  mkdir build
+
+  # https://bugs.archlinux.org/task/70697
+  patch -Np2 -i ../llvm-link-with-Bsymbolic-functions.patch
+  # https://reviews.llvm.org/D102453
+  patch -Np2 -i ../add-fno-semantic-interposition.patch
+
+  # Work around intermittent 'clang -O -g' crashes
+  # https://bugs.llvm.org/show_bug.cgi?id=50611#c3
+  patch -Np2 -i ../no-strict-aliasing-DwarfCompileUnit.patch
+}
+
+build() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DLLVM_HOST_TRIPLE=$CHOST \
+-DLLVM_BUILD_LLVM_DYLIB=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_INSTALL_UTILS=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_ENABLE_FFI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_BUILD_DOCS=ON \
+-DLLVM_ENABLE_SPHINX=ON \
+-DLLVM_ENABLE_DOXYGEN=OFF \
+-DSPHINX_WARNINGS_AS_ERRORS=OFF \
+-DLLVM_BINUTILS_INCDIR=/usr/include
+  ninja all ocaml_doc
+}
+
+check() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+  ninja check
+}
+
+package_llvm() {
+  pkgdesc="Collection of modular and reusable compiler and toolchain 
technologies"
+  depends=('llvm-libs' 'perl')
+
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+
+  # Include lit for running lit-based tests in other projects
+  pushd ../utils/lit
+  python3 setup.py install --root="$pkgdir" -O1
+  popd
+
+  # Remove documentation sources
+  rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
+
+  # The runtime libraries go into llvm-libs
+  mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir"
+  mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
+
+  # OCaml bindings go to a separate package
+  rm -rf "$srcdir"/ocaml.{lib,doc}
+  mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
+  mv "$pkgdir/usr/share/doc/$pkgname/ocaml-html" "$srcdir/ocaml.doc"
+
+  if [[ $CARCH == x86_64 ]]; then
+# Needed for multilib (https://bugs.archlinux.org/task/29951)
+# Header stub is taken from Fedora
+mv "$pkgdir/usr/include/llvm/Config/llvm-config"{,-64}.h
+cp "$srcdir/llvm-config.h" 

[arch-commits] Commit in llvm/repos (6 files)

2021-05-26 Thread Evangelos Foutras via arch-commits
Date: Thursday, May 27, 2021 @ 01:49:40
  Author: foutrelis
Revision: 416501

archrelease: copy trunk to staging-x86_64

Added:
  llvm/repos/staging-x86_64/
  llvm/repos/staging-x86_64/PKGBUILD
(from rev 416500, llvm/trunk/PKGBUILD)
  llvm/repos/staging-x86_64/add-fno-semantic-interposition.patch
(from rev 416500, llvm/trunk/add-fno-semantic-interposition.patch)
  llvm/repos/staging-x86_64/force-visibility-of-llvm-Any-to-external.patch
(from rev 416500, llvm/trunk/force-visibility-of-llvm-Any-to-external.patch)
  llvm/repos/staging-x86_64/llvm-config.h
(from rev 416500, llvm/trunk/llvm-config.h)
  llvm/repos/staging-x86_64/llvm-link-with-Bsymbolic-functions.patch
(from rev 416500, llvm/trunk/llvm-link-with-Bsymbolic-functions.patch)

+
 PKGBUILD   |  136 +++
 add-fno-semantic-interposition.patch   |   22 +++
 force-visibility-of-llvm-Any-to-external.patch |   42 +++
 llvm-config.h  |9 +
 llvm-link-with-Bsymbolic-functions.patch   |   66 +++
 5 files changed, 275 insertions(+)

Copied: llvm/repos/staging-x86_64/PKGBUILD (from rev 416500, 
llvm/trunk/PKGBUILD)
===
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2021-05-27 01:49:40 UTC (rev 416501)
@@ -0,0 +1,136 @@
+# Maintainer: Evangelos Foutras 
+# Contributor: Jan "heftig" Steffens 
+
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
+pkgver=12.0.0
+pkgrel=1
+_ocaml_ver=4.11.1
+arch=('x86_64')
+url="https://llvm.org/;
+license=('custom:Apache 2.0 with LLVM Exception')
+makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
+ "ocaml>=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib'
+ 'python-setuptools' 'python-psutil' 'python-sphinx'
+ 'python-recommonmark')
+options=('staticlibs')
+_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
+source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
+force-visibility-of-llvm-Any-to-external.patch
+llvm-link-with-Bsymbolic-functions.patch
+add-fno-semantic-interposition.patch
+llvm-config.h)
+sha256sums=('49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50'
+'SKIP'
+'98721af5a36af2a8e88c14a81b16d3929b12515d7d2d1ba385eb243dca3c32cb'
+'560ce1e206c19f4b86f4c583b743db0ad47a610418999350710aafd60ae50fcd'
+'fc8c64267a5d179e9fc24fb2bc6150edef2598c83f5b2d138d14e05ce9f4e345'
+'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecab8bc48')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg 

+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard 

+
+prepare() {
+  cd "$srcdir/llvm-$pkgver.src"
+  mkdir build
+
+  # https://bugs.llvm.org/show_bug.cgi?id=48992
+  patch -Np2 -i ../force-visibility-of-llvm-Any-to-external.patch
+
+  # https://bugs.archlinux.org/task/70697
+  patch -Np2 -i ../llvm-link-with-Bsymbolic-functions.patch
+  # https://reviews.llvm.org/D102453
+  patch -Np2 -i ../add-fno-semantic-interposition.patch
+}
+
+build() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  cmake .. -G Ninja \
+-DCMAKE_BUILD_TYPE=Release \
+-DCMAKE_INSTALL_PREFIX=/usr \
+-DLLVM_HOST_TRIPLE=$CHOST \
+-DLLVM_BUILD_LLVM_DYLIB=ON \
+-DLLVM_LINK_LLVM_DYLIB=ON \
+-DLLVM_INSTALL_UTILS=ON \
+-DLLVM_ENABLE_RTTI=ON \
+-DLLVM_ENABLE_FFI=ON \
+-DLLVM_BUILD_TESTS=ON \
+-DLLVM_BUILD_DOCS=ON \
+-DLLVM_ENABLE_SPHINX=ON \
+-DLLVM_ENABLE_DOXYGEN=OFF \
+-DSPHINX_WARNINGS_AS_ERRORS=OFF \
+-DLLVM_BINUTILS_INCDIR=/usr/include
+  ninja all ocaml_doc
+}
+
+check() {
+  cd "$srcdir/llvm-$pkgver.src/build"
+  ninja check
+}
+
+package_llvm() {
+  pkgdesc="Collection of modular and reusable compiler and toolchain 
technologies"
+  depends=('llvm-libs' 'perl')
+
+  cd "$srcdir/llvm-$pkgver.src/build"
+
+  DESTDIR="$pkgdir" ninja install
+
+  # Include lit for running lit-based tests in other projects
+  pushd ../utils/lit
+  python3 setup.py install --root="$pkgdir" -O1
+  popd
+
+  # Remove documentation sources
+  rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
+
+  # The runtime libraries go into llvm-libs
+  mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir"
+  mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
+
+  # OCaml bindings go to a separate package
+  rm -rf "$srcdir"/ocaml.{lib,doc}
+  mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
+  mv "$pkgdir/usr/share/doc/$pkgname/ocaml-html" "$srcdir/ocaml.doc"
+
+  if [[ $CARCH == x86_64 ]]; then
+# Needed for multilib (https://bugs.archlinux.org/task/29951)
+# Header stub is taken from Fedora
+mv "$pkgdir/usr/include/llvm/Config/llvm-config"{,-64}.h
+cp "$srcdir/llvm-config.h"