All pastes #2109604 Raw Edit

clang-svn

public shellscript v1 · immutable
#2109604 ·published 2012-02-04 08:27 UTC
rendered paste body
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com># Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com># Contributor: Evangelos Foutras <foutrelis@gmail.com># Contributor: Sebastian Nowicki <sebnow@gmail.com># Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us># Contributor: Tobias Kieslich <tobias@justdreams.de># Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org># Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk># Contributor: Roberto Alsina <ralsina@kde.org># Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar># Contributor: Reuben Bond <reuben.bond@gmail.com>pkgname=clang-svnpkgver=149773_gcc_ver=4.6.2pkgrel=1pkgdesc="Low Level Virtual Machine with Clang from SVN"arch=('i686' 'x86_64')url="http://llvm.org/"license=('custom:University of Illinois/NCSA Open Source License')depends=('gcc-libs' 'libffi' 'python2' "gcc=$_gcc_ver")makedepends=('svn' 'cmake')conflicts=(llvm llvm-svn llvm-ocaml clang clang-analyzer)source=()md5sums=('02c23b4aaca3445b8bf39fddb2f9906e'         '87a7162dbe99e9ffce6c40bd09f5f4f0'         '225ee6b531f8327f34f344a18cb4ec81'         '8f7582d7440e4a8342c3aea9ec714fb4'         '9d153103dda0c088562f1feb1129b67e')_svntrunk="http://llvm.org/svn/llvm-project"_svnmod="llvm"_cfemod="cfe"_crtmod="compiler-rt"#_cxxmod="libcxx"build() {  cd "$srcdir"  msg2 "Connecting to LLVM.org SVN server...."  if [ -d $_svnmod/.svn ]; then    (cd $_svnmod && svn update -r $pkgver) || warning "Update failed!"  else    svn co $_svntrunk/$_svnmod/trunk $_svnmod --config-dir ./ -r $pkgver  fi  if [ -d $_cfemod/.svn ]; then    (cd $_cfemod && svn update -r $pkgver) || warning "Update failed!"  else    svn co $_svntrunk/$_cfemod/trunk $_cfemod --config-dir ./ -r $pkgver  fi  if [ -d $_crtmod/.svn ]; then    (cd $_crtmod && svn update -r $pkgver) || warning "Update failed!"  else    svn co $_svntrunk/$_crtmod/trunk $_crtmod --config-dir ./ -r $pkgver  fi  #if [ -d $_cxxmod/.svn ]; then  #  (cd $_cxxmod && svn update -r $pkgver) || warning "Update failed!"  #else  #  svn co $_svntrunk/$_cxxmod/trunk $_cxxmod --config-dir ./ -r $pkgver  #fi  msg2 "SVN checkout done or server timeout"  rm -rf $_svnmod-build  svn export $_svnmod $_svnmod-build  svn export $_cfemod $_svnmod-build/tools/clang  svn export $_crtmod $_svnmod-build/projects/compiler-rt  #svn export $_cxxmod $_svnmod-build/projects/libcxx  cd $_svnmod-build  # Parse GCC include paths.  INCLUDES=`gcc -v -x c++ /dev/null -fsyntax-only 2>&1 | awk '{    if ($0 ~ /End of search list./) {      includes=0;    }    if (includes) {      if (printed) {        printf(";");      }      printf("%s", $1);      printed=1;    }    if ($0 ~ /#include <...> search starts here:/) {      includes=1;    }  }'`  # Patch Clang with the GCC include paths.  INITHEADERSEARCH="tools/clang/lib/Frontend/InitHeaderSearch.cpp"  INITHEADERSEARCH_TEMP="${INITHEADERSEARCH}.tmp"  cat "${INITHEADERSEARCH}" | awk '  {    if ($0 ~ /\"\/usr\/local\/include\"/) {      n = split("'${INCLUDES:-"/usr/include/c++/$_gcc_ver"}'", includes, ";");      for (i=1; i <= n; i++) {        printf("AddPath(\"%s\", System, true, false, false);\n", includes[i]);      }    } else {      print;    }  }' > "${INITHEADERSEARCH_TEMP}"  rm "${INITHEADERSEARCH}"  mv "${INITHEADERSEARCH_TEMP}" "${INITHEADERSEARCH}"  msg2 "Starting build..."  [[ -d build ]] && rm -r build  mkdir build && cd build  cmake \    -DCMAKE_INSTALL_PREFIX=/usr \    -DCMAKE_BUILD_TYPE=Release \    -LLVM_ENABLE_ASSERTIONS=OFF \    -LLVM_ENABLE_FFI=ON \    -DPYTHON_EXECUTABLE=/usr/bin/python2 \    ..}package() {  cd "$srcdir/$_svnmod-build"  cd build  make DESTDIR=$pkgdir install  cd ..  install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"}# vim:set ts=2 sw=2 et: