gnu: Reorganize llvm.scm.

* gnu/packages/llvm.scm (libcxx, libclc, libomp, libcxx-6): Move package
definitions below the various LLVM/Clang variants.
This commit is contained in:
Marius Bakke 2020-02-23 23:45:32 +01:00
parent 25b9992181
commit 52f9c3b88a
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -354,102 +354,6 @@ (define (make-clang-toolchain clang)
("libc-debug" ,glibc "debug")
("libc-static" ,glibc "static")))))
(define-public libcxx
(package
(name "libcxx")
(version (package-version llvm))
(source
(origin
(method url-fetch)
(uri (llvm-download-uri "libcxx" version))
(sha256
(base32
"1qlx3wlxrnc5cwc1fcfc2vhfsl7j4294hi8y5kxj8hy8wxsjd462"))))
(build-system cmake-build-system)
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)))
(home-page "https://libcxx.llvm.org")
(synopsis "C++ standard library")
(description
"This package provides an implementation of the C++ standard library for
use with Clang, targeting C++11, C++14 and above.")
(license license:expat)))
(define-public libclc
(package
(name "libclc")
(version (package-version llvm))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/llvm/llvm-project.git")
(commit (string-append "llvmorg-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DLLVM_CLANG="
(assoc-ref %build-inputs "clang")
"/bin/clang")
(string-append "-DPYTHON="
(assoc-ref %build-inputs "python")
"/bin/python3"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "libclc") #t)))))
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)
("python" ,python)))
(home-page "https://libclc.llvm.org")
(synopsis "Libraries for the OpenCL programming language")
(description
"This package provides an implementation of the OpenCL library
requirements according to version 1.1 of the OpenCL specification.")
;; Apache license 2.0 with LLVM exception
(license license:asl2.0)))
(define-public libomp
(package
(name "libomp")
(version (package-version llvm))
(source (origin
(method url-fetch)
(uri (llvm-download-uri "openmp" version))
(sha256
(base32
"1mf9cpgvix34xlpv0inkgl3qmdvgvp96f7sksqizri0n5xfp1cgp"))
(file-name (string-append "libomp-" version ".tar.xz"))))
(build-system cmake-build-system)
;; XXX: Note this gets built with GCC because building with Clang itself
;; fails (missing <atomic>, even when libcxx is added as an input.)
(arguments
'(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON"
"-DOPENMP_TEST_C_COMPILER=clang"
"-DOPENMP_TEST_CXX_COMPILER=clang++")
#:test-target "check-libomp"))
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs
`(("hwloc" ,hwloc "lib")))
(home-page "https://openmp.llvm.org")
(synopsis "OpenMP run-time support library")
(description
"This package provides the run-time support library developed by the LLVM
project for the OpenMP multi-theaded programming extension. This package
notably provides @file{libgomp.so}, which is has a binary interface compatible
with that of libgomp, the GNU Offloading and Multi Processing Library.")
(license license:expat)))
(define-public clang-runtime
(clang-runtime-from-llvm
llvm
@ -536,22 +440,6 @@ (define-public clang-6
(define-public clang-toolchain-6
(make-clang-toolchain clang-6))
;; Libcxx files specifically used by PySide2.
(define-public libcxx-6
(package
(inherit libcxx)
(version (package-version llvm-6))
(source
(origin
(inherit (package-source libcxx))
(uri (llvm-download-uri "libcxx" version))
(sha256
(base32
"0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
(native-inputs
`(("clang" ,clang-6)
("llvm" ,llvm-6)))))
(define-public llvm-3.9.1
(package (inherit llvm)
(name "llvm")
@ -681,6 +569,118 @@ (define-public llvm-for-extempore
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))))
(define-public libcxx
(package
(name "libcxx")
(version (package-version llvm))
(source
(origin
(method url-fetch)
(uri (llvm-download-uri "libcxx" version))
(sha256
(base32
"1qlx3wlxrnc5cwc1fcfc2vhfsl7j4294hi8y5kxj8hy8wxsjd462"))))
(build-system cmake-build-system)
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)))
(home-page "https://libcxx.llvm.org")
(synopsis "C++ standard library")
(description
"This package provides an implementation of the C++ standard library for
use with Clang, targeting C++11, C++14 and above.")
(license license:expat)))
;; Libcxx files specifically used by PySide2.
(define-public libcxx-6
(package
(inherit libcxx)
(version (package-version llvm-6))
(source
(origin
(inherit (package-source libcxx))
(uri (llvm-download-uri "libcxx" version))
(sha256
(base32
"0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
(native-inputs
`(("clang" ,clang-6)
("llvm" ,llvm-6)))))
(define-public libclc
(package
(name "libclc")
(version (package-version llvm))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/llvm/llvm-project.git")
(commit (string-append "llvmorg-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DLLVM_CLANG="
(assoc-ref %build-inputs "clang")
"/bin/clang")
(string-append "-DPYTHON="
(assoc-ref %build-inputs "python")
"/bin/python3"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "libclc") #t)))))
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)
("python" ,python)))
(home-page "https://libclc.llvm.org")
(synopsis "Libraries for the OpenCL programming language")
(description
"This package provides an implementation of the OpenCL library
requirements according to version 1.1 of the OpenCL specification.")
;; Apache license 2.0 with LLVM exception
(license license:asl2.0)))
(define-public libomp
(package
(name "libomp")
(version (package-version llvm))
(source (origin
(method url-fetch)
(uri (llvm-download-uri "openmp" version))
(sha256
(base32
"1mf9cpgvix34xlpv0inkgl3qmdvgvp96f7sksqizri0n5xfp1cgp"))
(file-name (string-append "libomp-" version ".tar.xz"))))
(build-system cmake-build-system)
;; XXX: Note this gets built with GCC because building with Clang itself
;; fails (missing <atomic>, even when libcxx is added as an input.)
(arguments
'(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON"
"-DOPENMP_TEST_C_COMPILER=clang"
"-DOPENMP_TEST_CXX_COMPILER=clang++")
#:test-target "check-libomp"))
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs
`(("hwloc" ,hwloc "lib")))
(home-page "https://openmp.llvm.org")
(synopsis "OpenMP run-time support library")
(description
"This package provides the run-time support library developed by the LLVM
project for the OpenMP multi-theaded programming extension. This package
notably provides @file{libgomp.so}, which is has a binary interface compatible
with that of libgomp, the GNU Offloading and Multi Processing Library.")
(license license:expat)))
(define-public python-llvmlite
(package
(name "python-llvmlite")