...in preparation for LLVM 9.0.1 which is no longer hosted on llvm.org.
* gnu/packages/llvm.scm (llvm-download-uri): New procedure.
(llvm-8, clang-runtime-from-llvm, clang-from-llvm, libcxx, libomp, llvm-9,
llvm-7, llvm-6, libcxx-6, llvm-3.9.1, llvm-3.8, llvm-3.7, llvm-3.6,
llvm-3.5)[source](uri): Use it.
This is a follow-up to commit 50b61ec22306181c419a3bd4c35b3c001c604994.
* gnu/packages/llvm.scm (llvm-3.9.1)[outputs, arguments]: New fields.
(llvm-3.8, llvm-3.7, llvm-3.6, llvm-3.5): Inherit from LLVM-3.9.1.
* gnu/packages/llvm.scm (llvm-9): New variable.
(clang-runtime-9): New variable.
(clang-9): New variable.
(clang-toolchain-9): New variable.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
In the same spirit that gcc-toolchain provides a complete gcc toolchain
suitable for user profile installation, add a make-clang-toolchain function
and use it to create clang-toolchain, clang-toolchain-7 and clang-toolchain-6
packages.
* gnu/packages/llvm.scm (make-clang-toolchain): New method.
(clang-toolchain): New public variable defined using previous method,
(clang-toolchain-7): ditto,
(clang-toolchain-6): ditto.
Make clang use libstdc++ from gcc package. In the future, the build of clang
could be parametrized to build clang with libstdc++ support or with libcxx
support.
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Make clang look for
libstdc++ in the right location, which is gcc c++ includes directory.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Turn case on major
version into a cond, so that newer versions of clang have the same behaviour as
version 6 and 7.
Signed-off-by: Carl Dong <contact@carldong.me>
This is a follow-up to commit c5296e205b65a9b53553cf45be2ab223d5e82df5.
* gnu/packages/llvm.scm (llvm-7, clang-runtime-7, clang-7): New public variables.
(python-llvmlite)[inputs]: Inherit from LLVM-7 instead of LLVM.
* gnu/packages/patches/clang-7.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 7.0.1.
(llvm-7.0.1): Remove variable.
(clang-from-llvm)[arguments]: Adjust phase to match Clang 7.
(llvm-6, clang-runtime-6, clang-6): New public variables.
* gnu/packages/dlang.scm (ldc)[native-inputs]: Change LLVM and CLANG to
LLVM-6.0 and CLANG-6.0.
* gnu/packages/gl.scm (mesa)[inputs]: Change from LLVM to LLVM-6.
Previously, loading either of these two modules could fail somewhat
non-deterministically because each top-level was referencing a variable
defined by the other module's top-level.
* gnu/packages/emacs.scm (package-elisp-from-package): Move to...
* gnu/packages/llvm.scm (package-elisp-from-package): Here. Keep
private.
Use package-elisp-from-package for emacs-clang-format and emacs-clang-rename.
Also remove package-from-clang-elisp-file as it is not needed anymore.
* gnu/packages/llvm.scm (emacs-clang-format): Use package-elisp-from-package
* gnu/packages/llvm.scm (emacs-clang-rename): Use package-elisp-from-package
* gnu/packages/llvm.scm (package-from-clang-elisp-file): Remove function
Increases size of llvm@6 by 2.5MiB (2.5%), but saves building specialized
llvm's with rtti enabled for packages that require RTTI when linking with the
llvm libraries.
* gnu/packages/llvm.scm (llvm-3.8-with-rtti): Remove variable.
(llvm)[arguments]: Add '-DLLVM_REQUIRES_RTTI=1' to #:configure-flags.
* gnu/packages/audio.scm (faust-2)[native-inputs]:
'llvm-3.8-with-rtti' -> 'llvm-3.8'.