From 3f0686a0041f049a2f489a41d7530f8a78bedbcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Tue, 10 Nov 2015 10:10:29 +0200 Subject: [PATCH] revert llvm --- programming/build/llvm/actions.py | 105 ++++++------ programming/build/llvm/pspec.xml | 58 ++----- programming/build/llvm/pspec.xml.old | 242 +++++++++++++++++++++++++++ x11/library/mesa/actions.py | 4 +- x11/library/mesa/pspec.xml | 7 - 5 files changed, 314 insertions(+), 102 deletions(-) create mode 100644 programming/build/llvm/pspec.xml.old diff --git a/programming/build/llvm/actions.py b/programming/build/llvm/actions.py index 61a0b0f15e..bf18e2bfc9 100644 --- a/programming/build/llvm/actions.py +++ b/programming/build/llvm/actions.py @@ -9,103 +9,106 @@ from pisi.actionsapi import pisitools from pisi.actionsapi import shelltools from pisi.actionsapi import pkgconfig from pisi.actionsapi import get -from pisi.actionsapi import cmaketools +from pisi.actionsapi import kde4 #WorkDir = "%s-%s.src" % (get.srcNAME(), get.srcVERSION()) libdir = "/usr/lib32/llvm" if get.buildTYPE() == "emul32" else "/usr/lib/llvm" lib = "lib32" if get.buildTYPE() == "emul32" else "lib" -def setup(): +def setup(): if not shelltools.isDirectory("tools/clang"): - #pisitools.dosed("tools/cfe-3.7.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"') + pisitools.dosed("tools/cfe-3.5.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"') shelltools.move("tools/cfe-%s.src" % get.srcVERSION(), "tools/clang") shelltools.move("tools/clang-tools-extra-*", "tools/clang/extra") - shelltools.move("tools/lldb-*", "tools/lldb") if not shelltools.isDirectory("projects/compiler-rt"): - shelltools.move("projects/compiler-rt-3.7*", "projects/compiler-rt") - + shelltools.move("projects/compiler-rt-3.5*", "projects/compiler-rt") + + pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7") + pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', libdir) + pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm") + pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/%s/llvm" % lib) + pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm") + pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2') + pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/%s/llvm"' % lib) + + pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") + pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") + + shelltools.export("CPPFLAGS","%s %s" % (get.CXXFLAGS(),pkgconfig.getLibraryCFLAGS("libffi"))) + #pic_option = "enable" if get.ARCH() == "x86_64" else "disable" shelltools.export("CC", "gcc") shelltools.export("CXX", "g++") - shelltools.system("patch -d tools/clang/extra -Np1 < clang-tools-extra-3.7.0-install-clang-query.patch") - - shelltools.system("patch -d tools/lldb -Np1 < lldb-3.7.0-avoid-linking-to-libLLVM.patch") - - shelltools.system("patch -d projects/compiler-rt -Np1 < 0001-New-MSan-mapping-layout-compiler-rt-part.patch") + options = "--libdir=%s \ + --datadir=/usr/share/llvm \ + --sysconfdir=/etc \ + --enable-shared \ + --enable-libffi \ + --enable-targets=all \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-assertions \ + --disable-assertions \ + --with-python=/usr/bin/python2.7 \ + --with-binutils-include=/usr/include \ + " % libdir - shelltools.makedirs("build") - - shelltools.cd("build") + autotools.configure(options) + + +#def check(): +# autotools.make("check") +# autotools.make("-C tools/clang test") - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLLVM_BUILD_LLVM_DYLIB=ON \ - -DLLVM_DYLIB_EXPORT_ALL=ON \ - -DLLVM_LINK_LLVM_DYLIB=ON \ - -DLLVM_ENABLE_RTTI=ON \ - -DLLVM_ENABLE_FFI=ON \ - -DLLVM_BUILD_DOCS=OFF \ - -DLLVM_ENABLE_SPHINX=OFF \ - -DLLVM_ENABLE_DOXYGEN=OFF \ - -DFFI_INCLUDE_DIR=/usr/lib/libffi-3.2.1/include \ - -DLLVM_BINUTILS_INCDIR=/usr/include", sourceDir="..") def build(): - shelltools.makedirs("build") - - shelltools.cd("build") - - cmaketools.make() + autotools.make("REQUIRES_RTTI=1") def install(): - shelltools.makedirs("build") - - shelltools.cd("build") - if get.buildTYPE() == "emul32": - #cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) - cmaketools.rawInstall("DESTDIR=%s \ + autotools.rawInstall("DESTDIR=%s \ PROJ_etcdir=/etc/llvm \ PROJ_libdir=/usr/lib32/llvm \ PROJ_docsdir=/%s/llvm" % (get.installDIR(), get.docDIR())) - # shelltools.chmod("%s/usr/lib32/llvm/*.a" % get.installDIR(), mode = 0644) - # pisitools.dosym("llvm/LLVMgold.so", "/usr/lib32/LLVMgold.so") - # pisitools.remove("/usr/lib32/llvm/*LLVMHello.*") + shelltools.chmod("%s/usr/lib32/llvm/*.a" % get.installDIR(), mode = 0644) + pisitools.dosym("llvm/LLVMgold.so", "/usr/lib32/LLVMgold.so") + pisitools.remove("/usr/lib32/llvm/*LLVMHello.*") return else: - cmaketools.rawInstall("DESTDIR=%s \ + autotools.rawInstall("DESTDIR=%s \ PROJ_etcdir=/etc/llvm \ PROJ_libdir=%s \ PROJ_docsdir=/%s/llvm" % (get.installDIR(), libdir, get.docDIR())) - #shelltools.chmod("%s/usr/lib/llvm/*.a" % get.installDIR(), 0644) - - shelltools.cd ("..") + shelltools.chmod("%s/usr/lib/llvm/*.a" % get.installDIR(), 0644) # Install static analyzers which aren't installed by default for exe in ("scan-build", "scan-view"): pisitools.insinto("/usr/lib/clang-analyzer/%s" % exe, "tools/clang/tools/%s/%s" % (exe, exe)) pisitools.dosym("/usr/lib/clang-analyzer/%s/%s" % (exe, exe), "/usr/bin/%s" % exe) + pisitools.dodir("/etc/ld.so.conf.d") + shelltools.echo("%s/etc/ld.so.conf.d/51-llvm.conf" % get.installDIR(), "/usr/lib/llvm") + # Symlink the gold plugin where clang expects it - # pisitools.dosym("llvm/LLVMgold.so", "/usr/lib/LLVMgold.so") + pisitools.dosym("llvm/LLVMgold.so", "/usr/lib/LLVMgold.so") # Remove example file - # pisitools.remove("/usr/lib/llvm/*LLVMHello.*") + pisitools.remove("/usr/lib/llvm/*LLVMHello.*") - # pisitools.remove("/usr/share/doc/llvm/*.tar.gz") - # pisitools.remove("/usr/share/doc/llvm/ocamldoc/html/*.tar.gz") - # pisitools.removeDir("/usr/share/doc/llvm/ps") + pisitools.remove("/usr/share/doc/llvm/*.tar.gz") + pisitools.remove("/usr/share/doc/llvm/ocamldoc/html/*.tar.gz") + pisitools.removeDir("/usr/share/doc/llvm/ps") # Install vim syntax files for .ll and .td files # llvm.vim additional file add ftdetct vim file to detect .ll and .td as llvm files - pisitools.insinto("/usr/share/vim/vimfiles/syntax", "utils/vim/syntax/*.vim") + pisitools.insinto("/usr/share/vim/vimfiles/syntax", "utils/vim/*.vim") # Install kate syntax file - #pisitools.insinto("%s/katepart/syntax" % kde4.appsdir, "utils/kate/*.xml") + pisitools.insinto("%s/katepart/syntax" % kde4.appsdir, "utils/kate/*.xml") pisitools.dodoc("CREDITS.TXT", "LICENSE.TXT", "README.txt") diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml index 60327d233b..c053e4fb08 100644 --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -11,37 +11,25 @@ NCSA The Low Level Virtual Machine The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. - http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz - http://llvm.org/releases/3.7.0/cfe-3.7.0.src.tar.xz - http://llvm.org/releases/3.7.0/clang-tools-extra-3.7.0.src.tar.xz - http://llvm.org/releases/3.7.0/lldb-3.7.0.src.tar.xz - http://llvm.org/releases/3.7.0/compiler-rt-3.7.0.src.tar.xz - - clang-tools-extra-3.7.0-install-clang-query.patch - lldb-3.7.0-avoid-linking-to-libLLVM.patch - 0001-New-MSan-mapping-layout-compiler-rt-part.patch - + http://llvm.org/releases/3.5.0/llvm-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/cfe-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/clang-tools-extra-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz + zlib-devel libxml2-devel - python-devel ncurses-devel ocaml libffi-devel groff - swig - cmake - python-sphinx - python-MarkupSafe libedit-devel binutils - llvm-3.7.0-link-tools-against-libLLVM.patch - llvm-3.7.0-export-more-symbols.patch - 0001-New-MSan-mapping-layout-llvm-part.patch - + llvm-3.5.0-fix-cmake-llvm-exports.patch + llvm-3.5.0-force-link-pass.o.patch @@ -60,18 +48,16 @@ /usr/bin/llvm-config /usr/include/llvm* /usr/lib/llvm - /usr/include/lldb /usr/lib - /etc/ld.so.conf.d + /etc/ld.so.conf.d /etc/llvm /usr/share/doc /usr/share/vim /usr/share/llvm/cmake + + /usr/share/kde4 /usr/share/man - - 51-llvm.conf - @@ -85,15 +71,13 @@ ncurses - /usr/lib/libLLVM.so* - /usr/lib/LLVMgold.so - /usr/lib/libLTO.so* - /usr/share/doc/llvm/LICENSE* + /usr/lib/llvm/libLLVM-3* + /usr/share/licenses/llvm-libs/LICENSE - llvm-ocaml + llvm-ocaml library programming.language.ocaml OCaml binding for LLVM @@ -126,15 +110,14 @@ The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. llvm-libs - libgcc - ncurses + libgcc + ncurses /usr/bin/clang* /usr/bin/tblgen /usr/lib/clang /usr/lib/clang/libclang.so - /usr/share/clang /usr/share/man/man1/clang.1 @@ -151,7 +134,7 @@ - + llvm-32bit @@ -185,13 +168,6 @@ - - 2015-11-08 - 3.7.0 - Version bump. - Ertuğrul Erata - ertugrulerata@gmail.com - 2014-09-23 3.5.0 diff --git a/programming/build/llvm/pspec.xml.old b/programming/build/llvm/pspec.xml.old new file mode 100644 index 0000000000..a290292be0 --- /dev/null +++ b/programming/build/llvm/pspec.xml.old @@ -0,0 +1,242 @@ + + + + + llvm + http://www.llvm.org/ + + Serdar Soytetir + kaptan@pisilinux.org + + NCSA + The Low Level Virtual Machine + The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. + http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz + http://llvm.org/releases/3.7.0/cfe-3.7.0.src.tar.xz + http://llvm.org/releases/3.7.0/clang-tools-extra-3.7.0.src.tar.xz + http://llvm.org/releases/3.7.0/lldb-3.7.0.src.tar.xz + http://llvm.org/releases/3.7.0/compiler-rt-3.7.0.src.tar.xz + + clang-tools-extra-3.7.0-install-clang-query.patch + lldb-3.7.0-avoid-linking-to-libLLVM.patch + + + zlib-devel + libxml2-devel + python-devel + ncurses-devel + ocaml + libffi-devel + groff + swig + cmake + python-sphinx + python-MarkupSafe + libedit-devel + + binutils + + + llvm-3.7.0-link-tools-against-libLLVM.patch + llvm-3.7.0-export-more-symbols.patch + + + + + + llvm + app:console + library + + llvm-libs + libxml2 + libgcc + ncurses + + + /usr/bin + /usr/bin/llvm-config + /usr/include/llvm* + /usr/lib/llvm + /usr/lib + /etc/ld.so.conf.d + /etc/llvm + /usr/share/doc + /usr/share/vim + /usr/share/llvm/cmake + /usr/share/man + + + 51-llvm.conf + + + + + llvm-libs + library + + zlib + libffi + libedit + libgcc + ncurses + + + /usr/lib/llvm/libLLVM-3* + /usr/share/licenses/llvm-libs/LICENSE + + + + + llvm-ocaml + library + programming.language.ocaml + OCaml binding for LLVM + + llvm + ocaml + + + /usr/lib/ocaml + + + + + llvm-clang-analyzer + app:console + A source code analysis framework + The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs. + + llvm-clang + + + /usr/lib/clang-analyzer + /usr/bin/scan-* + + + + + llvm-clang + A C language family front-end for LLVM + The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. + + llvm-libs + libgcc + ncurses + + + /usr/bin/clang* + /usr/bin/tblgen + /usr/lib/clang + /usr/lib/clang/libclang.so + /usr/share/clang + /usr/share/man/man1/clang.1 + + + + + llvm-clang-devel + Development headers for llvm-clang + + llvm-clang + + + /usr/include/clang + /usr/include/clang-c + + + + + llvm-docs + programming.docs + data:doc + Documentation for LLVM + + /usr/share/doc/llvm/html + /usr/share/doc/llvm/ocamldoc + + + + + llvm-32bit + emul32 + 32-bit shared libraries for llvm + emul32 + + zlib-32bit + libffi-32bit + + + llvm + libgcc + libedit + ncurses-32bit + zlib-32bit + libffi-32bit + + + /usr/lib32 + /usr/include/lldb + + + + + + 2015-10-18 + 3.7.0 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-09-23 + 3.5.0 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-11 + 3.4.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-11 + 3.4.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-09-01 + 3.3 + Release bump, already cleaned. + marcin bojara + marcin@pisilinux.org + + + 2013-07-26 + 3.3 + Version bump. + marcin bojara + marcin@pisilinux.org + + + 2013-02-18 + 3.2 + version bump + PisiLinux Community + admins@pisilinux.org + + + 2012-06-11 + 3.1 + First release + marcin bojara + marcin@pisilinux.org + + + diff --git a/x11/library/mesa/actions.py b/x11/library/mesa/actions.py index e2b2241d70..a7f9bc3b24 100644 --- a/x11/library/mesa/actions.py +++ b/x11/library/mesa/actions.py @@ -9,10 +9,8 @@ from pisi.actionsapi import pisitools Libdir = "/usr/lib32" if get.buildTYPE() == "emul32" else "/usr/lib" -def setup(): +def setup(): autotools.autoreconf("-vif") - - pisitools.dosed("configure", "LLVM_SO_NAME=.*", "LLVM_SO_NAME=LLVM") # --enable-sysfs option provides better hardware information support with "lspci" # --enable-32-bit option is not present anymore. Although build fails in emul32. With --disable-asm option, not fail. Needs to be tested. diff --git a/x11/library/mesa/pspec.xml b/x11/library/mesa/pspec.xml index 5b4fd0e6c9..f5cdad798b 100644 --- a/x11/library/mesa/pspec.xml +++ b/x11/library/mesa/pspec.xml @@ -153,13 +153,6 @@ - - 2015-11-10 - 10.5.5 - Rebuild for llvm. - Yusuf Aydemir - yusuf.aydemir@pisilinux.org - 2015-05-16 10.5.5