Fixes <https://bugs.gnu.org/42599>.
Reported by Malte Frank Gerdes <malte.f.gerdes@gmail.com>.
This is a follow-up to commit 300b795520.
* gnu/packages/llvm.scm (clang-from-llvm): Guard the 'symlink-cfi_blacklist'
phase with a version check, as it first appears in Clang 3.8.
As this commit [1] appears to affect the patches, including the v0.30.0
tag (so the tag must have been changed).
1: cdd99deb32
* gnu/packages/llvm.scm (python-llvmlite)[inputs]: Use a specific commit for
the patches.
* gnu/packages/llvm.scm (clang-from-llvm): Add #:tools-extra.
Add 'output' field. In 'inputs', add TOOLS-EXTRA when it's given.
In 'arguments', add 'add-tools-extra' and 'move-extra-tools' phases when
TOOLS-EXTRA is given.
* gnu/packages/llvm.scm (llvm-for-extempore): Update to 3.8.
[source]: Use upstream patched source.
* gnu/packages/patches/llvm-for-extempore.patch: Delete due to source being
already patched.
* gnu/local.mk (dist_patch_DATA): Remove it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Rewrite phase
'set-glibc-file-names' to use VERSION>=? from (guix utils) and splice in the
relevant build code, instead of doing the comparison at build time.
* gnu/packages/llvm.scm (llvm-8): Rename to ...
(llvm): ... this. Update to 9.0.1.
[license]: Change to ASL2.0.
(clang-runtime-from-llvm)[license]: Inherit from LLVM.
(clang-from-llvm)[license]: Conditionally choose license based on version.
(llvm-9, clang-runtime-8, clang-8, clang-toolchain-8): New public variables.
(llvm-7): Inherit from LLVM-8 (for the license change).
(llvm-6): Inherit from LLVM-7.
(llvm-3.9.1): Inherit from LLVM-6.
(llvm-3.8): Inherit from LLVM-3.9.1.
(llvm-3.7): Inherit from LLVM-3.8.
(llvm-3.6): Inherit from LLVM-3.7.
(llvm-3.5): Inherit from LLVM-3.6.
(libcxx, libclc, libomp): Update to 9.0.1.
...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 50b61ec223.
* 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>