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:
parent
25b9992181
commit
52f9c3b88a
1 changed files with 112 additions and 112 deletions
|
@ -354,102 +354,6 @@ output), and Binutils.")
|
||||||
("libc-debug" ,glibc "debug")
|
("libc-debug" ,glibc "debug")
|
||||||
("libc-static" ,glibc "static")))))
|
("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
|
(define-public clang-runtime
|
||||||
(clang-runtime-from-llvm
|
(clang-runtime-from-llvm
|
||||||
llvm
|
llvm
|
||||||
|
@ -536,22 +440,6 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
|
||||||
(define-public clang-toolchain-6
|
(define-public clang-toolchain-6
|
||||||
(make-clang-toolchain clang-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
|
(define-public llvm-3.9.1
|
||||||
(package (inherit llvm)
|
(package (inherit llvm)
|
||||||
(name "llvm")
|
(name "llvm")
|
||||||
|
@ -681,6 +569,118 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
|
||||||
;; Extempore refuses to build on architectures other than x86_64
|
;; Extempore refuses to build on architectures other than x86_64
|
||||||
(supported-systems '("x86_64-linux"))))
|
(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
|
(define-public python-llvmlite
|
||||||
(package
|
(package
|
||||||
(name "python-llvmlite")
|
(name "python-llvmlite")
|
||||||
|
|
Reference in a new issue