1{
2 lib,
3 stdenv,
4 gcc_meta,
5 release_version,
6 version,
7 monorepoSrc ? null,
8 runCommand,
9}:
10stdenv.mkDerivation (finalAttrs: {
11 pname = "libbacktrace";
12 inherit version;
13
14 src = runCommand "libbacktrace-src-${version}" { src = monorepoSrc; } ''
15 runPhase unpackPhase
16
17 mkdir -p "$out/gcc"
18 cp gcc/BASE-VER "$out/gcc"
19 cp gcc/DATESTAMP "$out/gcc"
20
21 cp -r include "$out"
22 cp -r libbacktrace "$out"
23
24 cp config.guess "$out"
25 cp config.rpath "$out"
26 cp config.sub "$out"
27 cp config-ml.in "$out"
28 cp ltmain.sh "$out"
29 cp install-sh "$out"
30 cp move-if-change "$out"
31 cp mkinstalldirs "$out"
32 cp test-driver "$out"
33
34 [[ -f MD5SUMS ]]; cp MD5SUMS "$out"
35 '';
36
37 outputs = [
38 "out"
39 "dev"
40 ];
41
42 enableParallelBuilding = true;
43
44 sourceRoot = "${finalAttrs.src.name}/libbacktrace";
45
46 preConfigure = ''
47 mkdir ../../build
48 cd ../../build
49 configureScript=../$sourceRoot/configure
50 '';
51
52 installPhase = ''
53 runHook preInstall
54
55 mkdir -p "$out/lib"
56 cp .libs/*.a "$out/lib"
57 cp libbacktrace*.la "$out/lib"
58
59 mkdir -p "$dev/include"
60 cp backtrace-supported.h "$dev/include"
61
62 runHook postInstall
63 '';
64
65 doCheck = true;
66
67 passthru = {
68 isGNU = true;
69 };
70
71 meta = gcc_meta // {
72 homepage = "https://gcc.gnu.org/";
73 };
74})