···1-{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }:
2-3-stdenv.mkDerivation {
4- pname = "libcxxabi";
5- inherit version;
6-7- src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv";
8-9- outputs = [ "out" "dev" ];
10-11- postUnpack = ''
12- unpackFile ${libcxx.src}
13- unpackFile ${llvm.src}
14- export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
15- '' + lib.optionalString stdenv.isDarwin ''
16- export TRIPLE=x86_64-apple-darwin
17- '' + lib.optionalString stdenv.hostPlatform.isMusl ''
18- patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
19- '';
20-21- patches = [
22- ./gnu-install-dirs.patch
23- ];
24-25- nativeBuildInputs = [ cmake ];
26- buildInputs = lib.optional (!stdenv.isDarwin) libunwind;
27-28- preInstall = lib.optionalString stdenv.isDarwin ''
29- for file in lib/*.dylib; do
30- if [ -L "$file" ]; then continue; fi
31-32- # Fix up the install name. Preserve the basename, just replace the path.
33- installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))"
34-35- # this should be done in CMake, but having trouble figuring out
36- # the magic combination of necessary CMake variables
37- # if you fancy a try, take a look at
38- # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
39- ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file
40-41- # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes
42- # libcxxabi to sometimes link against a different version of itself.
43- # Here we simply make that second reference point to ourselves.
44- for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
45- ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file
46- done
47- done
48- '';
49-50- postInstall = ''
51- mkdir -p "$dev/include"
52- install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
53- '';
54-55- passthru = {
56- libName = "c++abi";
57- };
58-59- meta = llvm_meta // {
60- homepage = "https://libcxxabi.llvm.org/";
61- description = "Provides C++ standard library support";
62- longDescription = ''
63- libc++abi is a new implementation of low level support for a standard C++ library.
64- '';
65- # "All of the code in libc++abi is dual licensed under the MIT license and
66- # the UIUC License (a BSD-like license)":
67- license = with lib.licenses; [ mit ncsa ];
68- maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
69- };
70-}
···1-{ lib
2-, stdenv
3-, llvm_meta
4-, fetch
5-, cmake
6-, llvm
7-, targetLlvm
8-, perl
9-, version
10-}:
11-12-stdenv.mkDerivation {
13- pname = "openmp";
14- inherit version;
15-16- src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir";
17-18- nativeBuildInputs = [ cmake perl ];
19- buildInputs = [
20- (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
21- ];
22-23- meta = llvm_meta // {
24- homepage = "https://openmp.llvm.org/";
25- description = "Support for the OpenMP language";
26- longDescription = ''
27- The OpenMP subproject of LLVM contains the components required to build an
28- executable OpenMP program that are outside the compiler itself.
29- Contains the code for the runtime library against which code compiled by
30- "clang -fopenmp" must be linked before it can run and the library that
31- supports offload to target devices.
32- '';
33- # "All of the code is dual licensed under the MIT license and the UIUC
34- # License (a BSD-like license)":
35- license = with lib.licenses; [ mit ncsa ];
36- };
37-}
···0000000000000000000000000000000000000
-1
pkgs/test/default.nix
···67 # libcxx does not build for some reason on aarch64-linux
68 (filterAttrs (n: _: n != "llvmPackages_7"))
69 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
70- (filterAttrs (n: _: n != "llvmPackages_5"))
71 (filterAttrs (n: _: n != "llvmPackages_6"))
72 (filterAttrs (n: _: n != "llvmPackages_7"))
73 (filterAttrs (n: _: n != "llvmPackages_8"))
···67 # libcxx does not build for some reason on aarch64-linux
68 (filterAttrs (n: _: n != "llvmPackages_7"))
69 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
070 (filterAttrs (n: _: n != "llvmPackages_6"))
71 (filterAttrs (n: _: n != "llvmPackages_7"))
72 (filterAttrs (n: _: n != "llvmPackages_8"))
-1
pkgs/top-level/aliases.nix
···161 cvs_fast_export = cvs-fast-export; # Added 2021-06-10
162163 # these are for convenience, not for backward compat and shouldn't expire
164- clang5Stdenv = lowPrio llvmPackages_5.stdenv;
165 clang6Stdenv = lowPrio llvmPackages_6.stdenv;
166 clang7Stdenv = lowPrio llvmPackages_7.stdenv;
167 clang8Stdenv = lowPrio llvmPackages_8.stdenv;
···161 cvs_fast_export = cvs-fast-export; # Added 2021-06-10
162163 # these are for convenience, not for backward compat and shouldn't expire
0164 clang6Stdenv = lowPrio llvmPackages_6.stdenv;
165 clang7Stdenv = lowPrio llvmPackages_7.stdenv;
166 clang8Stdenv = lowPrio llvmPackages_8.stdenv;