Merge #253854: staging-next 2023-09-07
This commit is contained in:
commit
f2ea252d23
@ -937,6 +937,28 @@ Like `stripDebugList`, but only applies to packages’ target platform. By defau
|
|||||||
|
|
||||||
Flags passed to the `strip` command applied to the files in the directories listed in `stripDebugList`. Defaults to `-S` (i.e. `--strip-debug`).
|
Flags passed to the `strip` command applied to the files in the directories listed in `stripDebugList`. Defaults to `-S` (i.e. `--strip-debug`).
|
||||||
|
|
||||||
|
##### `stripExclude` {#var-stdenv-stripExclude}
|
||||||
|
|
||||||
|
A list of filenames or path patterns to avoid stripping. A file is excluded if its name _or_ path (from the derivation root) matches.
|
||||||
|
|
||||||
|
This example prevents all `*.rlib` files from being stripped:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
# ...
|
||||||
|
stripExclude = [ "*.rlib" ]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This example prevents files within certain paths from being stripped:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
# ...
|
||||||
|
stripExclude = [ "lib/modules/*/build/* ]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
##### `dontPatchELF` {#var-stdenv-dontPatchELF}
|
##### `dontPatchELF` {#var-stdenv-dontPatchELF}
|
||||||
|
|
||||||
If set, the `patchelf` command is not used to remove unnecessary `RPATH` entries. Only applies to Linux.
|
If set, the `patchelf` command is not used to remove unnecessary `RPATH` entries. Only applies to Linux.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkg-config
|
{ lib, stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkg-config
|
||||||
, waf, python3 }:
|
, wafHook, python3 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ams-lv2";
|
pname = "ams-lv2";
|
||||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk";
|
sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config waf.hook python3 ];
|
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||||
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
|
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
, suil
|
, suil
|
||||||
, taglib
|
, taglib
|
||||||
, vamp-plugin-sdk
|
, vamp-plugin-sdk
|
||||||
, waf
|
, wafHook
|
||||||
, xjadeo
|
, xjadeo
|
||||||
, videoSupport ? true
|
, videoSupport ? true
|
||||||
}:
|
}:
|
||||||
@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
|
|||||||
perl
|
perl
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
waf.hook
|
wafHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
, suil
|
, suil
|
||||||
, taglib
|
, taglib
|
||||||
, vamp-plugin-sdk
|
, vamp-plugin-sdk
|
||||||
, waf
|
, wafHook
|
||||||
, xjadeo
|
, xjadeo
|
||||||
, videoSupport ? true
|
, videoSupport ? true
|
||||||
}:
|
}:
|
||||||
@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
|
|||||||
perl
|
perl
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
waf.hook
|
wafHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchurl, lv2, pkg-config, python3, waf }:
|
{ lib, stdenv, fetchurl, lv2, pkg-config, python3, wafHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fomp";
|
pname = "fomp";
|
||||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-xnGijydiO3B7BjSlryFuH1j/OPio9hCYbniq2IXp2W8=";
|
sha256 = "sha256-xnGijydiO3B7BjSlryFuH1j/OPio9hCYbniq2IXp2W8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config waf.hook ];
|
nativeBuildInputs = [ pkg-config wafHook ];
|
||||||
buildInputs = [ lv2 python3 ];
|
buildInputs = [ lv2 python3 ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
, serd
|
, serd
|
||||||
, sord
|
, sord
|
||||||
, sratom
|
, sratom
|
||||||
, waf
|
, wafHook
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, zita-convolver
|
, zita-convolver
|
||||||
, zita-resampler
|
, zita-resampler
|
||||||
@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
|||||||
intltool
|
intltool
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
waf.hook
|
wafHook
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
||||||
, lv2, pkg-config, python3, raul, serd, sord, sratom
|
, lv2, pkg-config, python3, raul, serd, sord, sratom
|
||||||
, waf
|
, wafHook
|
||||||
, suil
|
, suil
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
deepClone = true;
|
deepClone = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config waf.hook python3 python3.pkgs.wrapPython ];
|
nativeBuildInputs = [ pkg-config wafHook python3 python3.pkgs.wrapPython ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost ganv glibmm gtkmm2 libjack2 lilv lv2
|
boost ganv glibmm gtkmm2 libjack2 lilv lv2
|
||||||
python3 raul serd sord sratom suil
|
python3 raul serd sord sratom suil
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python3
|
{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python3
|
||||||
, serd, sord , sratom, suil, waf }:
|
, serd, sord , sratom, suil, wafHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jalv";
|
pname = "jalv";
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-ktFBeBtmQ3MgfDQ868XpuM7UYfryb9zLld8AB7BjnhY=";
|
sha256 = "sha256-ktFBeBtmQ3MgfDQ868XpuM7UYfryb9zLld8AB7BjnhY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config waf.hook ];
|
nativeBuildInputs = [ pkg-config wafHook ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk2 libjack2 lilv lv2 python3 serd sord sratom suil
|
gtk2 libjack2 lilv lv2 python3 serd sord sratom suil
|
||||||
];
|
];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchurl, fftwSinglePrec, lv2, pkg-config, waf, python3 }:
|
{ lib, stdenv, fetchurl, fftwSinglePrec, lv2, pkg-config, wafHook, python3 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mda-lv2";
|
pname = "mda-lv2";
|
||||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-zWYRcCSuBJzzrKg/npBKcCdyJOI6lp9yqcXQEKSYV9s=";
|
sha256 = "sha256-zWYRcCSuBJzzrKg/npBKcCdyJOI6lp9yqcXQEKSYV9s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config waf.hook python3 ];
|
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||||
buildInputs = [ fftwSinglePrec lv2 ];
|
buildInputs = [ fftwSinglePrec lv2 ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, python3, cairo, libjpeg, ntk, libjack2
|
{ lib, stdenv, fetchFromGitHub, pkg-config, python3, cairo, libjpeg, ntk, libjack2
|
||||||
, libsndfile, ladspaH, liblo, libsigcxx, lrdf, waf
|
, libsndfile, ladspaH, liblo, libsigcxx, lrdf, wafHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "sha256-iMJNMDytNXpEkUhL0RILSd25ixkm8HL/edtOZta0Pf4=";
|
sha256 = "sha256-iMJNMDytNXpEkUhL0RILSd25ixkm8HL/edtOZta0Pf4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config waf.hook ];
|
nativeBuildInputs = [ pkg-config wafHook ];
|
||||||
buildInputs = [ python3 cairo libjpeg ntk libjack2 libsndfile
|
buildInputs = [ python3 cairo libjpeg ntk libjack2 libsndfile
|
||||||
ladspaH liblo libsigcxx lrdf
|
ladspaH liblo libsigcxx lrdf
|
||||||
];
|
];
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
, libjack2
|
, libjack2
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, python3
|
, python3
|
||||||
, waf
|
, wafHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||||||
gtkmm2
|
gtkmm2
|
||||||
libjack2
|
libjack2
|
||||||
python3
|
python3
|
||||||
waf.hook
|
wafHook
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, fetchFromGitHub, python3Packages, intltool, glib, itstool, gtk3
|
{ lib, fetchFromGitHub, python3Packages, intltool, glib, itstool, gtk3
|
||||||
, wrapGAppsHook, gobject-introspection, pango, gdk-pixbuf, atk, waf }:
|
, wrapGAppsHook, gobject-introspection, pango, gdk-pixbuf, atk, wafHook }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "hamster";
|
pname = "hamster";
|
||||||
@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
intltool
|
intltool
|
||||||
itstool
|
itstool
|
||||||
waf.hook
|
wafHook
|
||||||
glib
|
glib
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
];
|
];
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
, desktop-file-utils
|
, desktop-file-utils
|
||||||
, shared-mime-info
|
, shared-mime-info
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, waf
|
, wafHook
|
||||||
, bash
|
, bash
|
||||||
, dbus
|
, dbus
|
||||||
}:
|
}:
|
||||||
@ -31,7 +31,7 @@ buildPythonApplication rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
wrapGAppsHook intltool
|
wrapGAppsHook intltool
|
||||||
# For setup hook
|
# For setup hook
|
||||||
gobject-introspection waf.hook
|
gobject-introspection wafHook
|
||||||
itstool # for help pages
|
itstool # for help pages
|
||||||
desktop-file-utils # for update-desktop-database
|
desktop-file-utils # for update-desktop-database
|
||||||
shared-mime-info # for update-mime-info
|
shared-mime-info # for update-mime-info
|
||||||
|
4324
pkgs/applications/networking/remote/rustdesk/Cargo.lock
generated
4324
pkgs/applications/networking/remote/rustdesk/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,13 +0,0 @@
|
|||||||
diff --git a/Cargo.toml b/Cargo.toml
|
|
||||||
index 1b715bd..960e8da 100644
|
|
||||||
--- a/Cargo.toml
|
|
||||||
+++ b/Cargo.toml
|
|
||||||
@@ -35,7 +35,7 @@ libc = "0.2"
|
|
||||||
parity-tokio-ipc = { git = "https://github.com/open-trade/parity-tokio-ipc" }
|
|
||||||
flexi_logger = { version = "0.22", features = ["async", "use_chrono_for_offset"] }
|
|
||||||
runas = "0.2"
|
|
||||||
-magnum-opus = { git = "https://github.com/open-trade/magnum-opus" }
|
|
||||||
+magnum-opus = { git = "https://github.com/TheRadioGuy/magnum-opus" }
|
|
||||||
dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"], optional = true }
|
|
||||||
rubato = { version = "0.12", optional = true }
|
|
||||||
samplerate = { version = "0.2", optional = true }
|
|
@ -1,106 +1,73 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
|
||||||
, makeDesktopItem
|
|
||||||
, copyDesktopItems
|
|
||||||
, makeWrapper
|
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, cmake
|
, fetchFromGitHub
|
||||||
, yasm
|
|
||||||
, nasm
|
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, clang
|
, wrapGAppsHook
|
||||||
|
, atk
|
||||||
|
, bzip2
|
||||||
|
, cairo
|
||||||
|
, dbus
|
||||||
|
, gdk-pixbuf
|
||||||
|
, glib
|
||||||
|
, gst_all_1
|
||||||
, gtk3
|
, gtk3
|
||||||
, xdotool
|
, libgit2
|
||||||
, libxcb
|
, libpulseaudio
|
||||||
, libXfixes
|
, libsodium
|
||||||
, alsa-lib
|
|
||||||
, pulseaudio
|
|
||||||
, libXtst
|
, libXtst
|
||||||
, libvpx
|
, libvpx
|
||||||
, libyuv
|
, libyuv
|
||||||
, libopus
|
, libopus
|
||||||
|
, libaom
|
||||||
|
, libxkbcommon
|
||||||
, libsciter
|
, libsciter
|
||||||
, wrapGAppsHook
|
, xdotool
|
||||||
, writeText
|
, pam
|
||||||
|
, pango
|
||||||
|
, zlib
|
||||||
|
, zstd
|
||||||
|
, stdenv
|
||||||
|
, darwin
|
||||||
|
, alsa-lib
|
||||||
|
, makeDesktopItem
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "rustdesk";
|
pname = "rustdesk";
|
||||||
version = "1.1.9";
|
version = "1.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rustdesk";
|
owner = "rustdesk";
|
||||||
repo = "rustdesk";
|
repo = "rustdesk";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-IlrfqwNyaSHE9Ct0mn7MUxEg7p1Ku34eOMYelEAYFW8=";
|
hash = "sha256-fgdhPBrC8HuuEKorzG9hY4K3KVwB8hENtE3RM5agGWk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# based on https://github.com/rustdesk/rustdesk/pull/1900
|
|
||||||
./fix-for-rust-1.65.diff
|
|
||||||
];
|
|
||||||
|
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
"confy-0.4.0" = "sha256-e91cvEixhpPzIthAxzTa3fDY6eCsHUy/eZQAqs7QTDo=";
|
"confy-0.4.0-2" = "sha256-r5VeggXrIq5Cwxc2WSrxQDI5Gvbw979qIUQfMKHgBUI=";
|
||||||
"parity-tokio-ipc-0.7.3-1" = "sha256-eULJePtBu0iBI3It/bPH0h82Obsb1PJALgwYwrnCFYI=";
|
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
|
||||||
"rdev-0.5.0-2" = "sha256-7CEZ2wIM4QAPfY1tGKqXfHplTaxHnccVqFRPjY21Svo=";
|
"hwcodec-0.1.1" = "sha256-EQGJr5kH8O48y1oSrzFF3QGGpGFKP3v4gn2JquAkdlY=";
|
||||||
"tokio-socks-0.5.1-1" = "sha256-45QQ6FrhGU9uEhbKXTKd/mY6MDumO6p46NmlakdyDQk=";
|
"impersonate_system-0.1.0" = "sha256-qbaTw9gxMKDjX5pKdUrKlmIxCxWwb99YuWPDvD2A3kY=";
|
||||||
"libappindicator-0.6.1" = "sha256-JGnnZrcwbh8WJ6+/4bYhfD3HvgF2C7XaaGb6TaMRWdw=";
|
"keepawake-0.4.3" = "sha256-sLQf9q88dB2bkTN01UlxRWSpoF1kFsqqpYC4Sw6cbEY=";
|
||||||
"magnum-opus-0.4.0" = "sha256-U5uuN4YolOYDnFNbtPpwYefcBDTUUyioui0UCcW8dyo=";
|
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
|
||||||
|
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
|
||||||
|
"mouce-0.2.1" = "sha256-3PtNEmVMXgqKV4r3KiKTkk4oyCt4BKynniJREE+RyFk=";
|
||||||
|
"pam-0.7.0" = "sha256-qe2GH6sfGEUnqLiQucYLB5rD/GyAaVtm9pAxWRb1H3Q=";
|
||||||
|
"parity-tokio-ipc-0.7.3-2" = "sha256-WXDKcDBaJuq4K9gjzOKMozePOFiVX0EqYAFamAz/Yvw=";
|
||||||
|
"rdev-0.5.0-2" = "sha256-Agxx/hoV45/NGsrUZLYdm1Y9088Z9urUcDnjVjY/odk=";
|
||||||
|
"reqwest-0.11.18" = "sha256-3k2wcVD+DzJEdP/+8BqP9qz3tgEWcbWZj5/CjrZz5LY=";
|
||||||
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
|
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
|
||||||
"sciter-rs-0.5.57" = "sha256-ZZnZDhMjK0LjgmK0da1yvB0uoKueLhhhQtzmjoN+1R0=";
|
"sciter-rs-0.5.57" = "sha256-NQPDlMQ0sGY8c9lBMlplT82sNjbgJy2m/+REnF3fz8M=";
|
||||||
"systray-0.4.1" = "sha256-p1PMr/8oS6zHx4+Ng4zCqt0xZ57cq3wAu6/agyWq5Jw=";
|
"tao-0.22.2" = "sha256-vZx7WM6vK9UarbFQ/FMnTNEEDS+tglhWcPXt/h7YMFA=";
|
||||||
|
"tfc-0.6.1" = "sha256-ukxJl7Z+pUXCjvTsG5Q0RiXocPERWGsnAyh3SIWm0HU=";
|
||||||
|
"tokio-socks-0.5.1-2" = "sha256-x3aFJKo0XLaCGkZLtG9GYA+A/cGGedVZ8gOztWiYVUY=";
|
||||||
|
"tray-icon-0.5.1" = "sha256-1VyUg8V4omgdRIYyXhfn8kUvhV5ef6D2cr2Djz2uQyc=";
|
||||||
|
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Change magnus-opus version to upstream so that it does not use
|
|
||||||
# vcpkg for libopus since it does not work.
|
|
||||||
cargoPatches = [
|
|
||||||
./cargo.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
# Manually simulate a vcpkg installation so that it can link the libraries
|
|
||||||
# properly.
|
|
||||||
postUnpack =
|
|
||||||
let
|
|
||||||
vcpkg_target = "x64-linux";
|
|
||||||
|
|
||||||
updates_vcpkg_file = writeText "update_vcpkg_rustdesk"
|
|
||||||
''
|
|
||||||
Package : libyuv
|
|
||||||
Architecture : ${vcpkg_target}
|
|
||||||
Version : 1.0
|
|
||||||
Status : is installed
|
|
||||||
|
|
||||||
Package : libvpx
|
|
||||||
Architecture : ${vcpkg_target}
|
|
||||||
Version : 1.0
|
|
||||||
Status : is installed
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
''
|
|
||||||
export VCPKG_ROOT="$TMP/vcpkg";
|
|
||||||
|
|
||||||
mkdir -p $VCPKG_ROOT/.vcpkg-root
|
|
||||||
mkdir -p $VCPKG_ROOT/installed/${vcpkg_target}/lib
|
|
||||||
mkdir -p $VCPKG_ROOT/installed/vcpkg/updates
|
|
||||||
ln -s ${updates_vcpkg_file} $VCPKG_ROOT/installed/vcpkg/status
|
|
||||||
mkdir -p $VCPKG_ROOT/installed/vcpkg/info
|
|
||||||
touch $VCPKG_ROOT/installed/vcpkg/info/libyuv_1.0_${vcpkg_target}.list
|
|
||||||
touch $VCPKG_ROOT/installed/vcpkg/info/libvpx_1.0_${vcpkg_target}.list
|
|
||||||
|
|
||||||
ln -s ${libvpx.out}/lib/* $VCPKG_ROOT/installed/${vcpkg_target}/lib/
|
|
||||||
ln -s ${libyuv.out}/lib/* $VCPKG_ROOT/installed/${vcpkg_target}/lib/
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake makeWrapper copyDesktopItems yasm nasm clang wrapGAppsHook rustPlatform.bindgenHook ];
|
|
||||||
buildInputs = [ alsa-lib pulseaudio libXfixes libxcb xdotool gtk3 libvpx libopus libXtst libyuv ];
|
|
||||||
|
|
||||||
# Checks require an active X display.
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
(makeDesktopItem {
|
(makeDesktopItem {
|
||||||
name = "rustdesk";
|
name = "rustdesk";
|
||||||
@ -113,17 +80,60 @@ rustPlatform.buildRustPackage rec {
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
nativeBuildInputs = [
|
||||||
rm Cargo.lock
|
pkg-config
|
||||||
ln -s ${./Cargo.lock} Cargo.lock
|
rustPlatform.bindgenHook
|
||||||
'';
|
wrapGAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildFeatures = lib.optionals stdenv.isLinux [ "linux-pkg-config" ];
|
||||||
|
|
||||||
|
# Checks require an active X server
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
atk
|
||||||
|
bzip2
|
||||||
|
cairo
|
||||||
|
dbus
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gst_all_1.gst-plugins-base
|
||||||
|
gst_all_1.gstreamer
|
||||||
|
gtk3
|
||||||
|
libgit2
|
||||||
|
libpulseaudio
|
||||||
|
libsodium
|
||||||
|
libXtst
|
||||||
|
libvpx
|
||||||
|
libyuv
|
||||||
|
libopus
|
||||||
|
libaom
|
||||||
|
libxkbcommon
|
||||||
|
xdotool
|
||||||
|
pam
|
||||||
|
pango
|
||||||
|
zlib
|
||||||
|
zstd
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
darwin.apple_sdk.frameworks.AppKit
|
||||||
|
darwin.apple_sdk.frameworks.CoreAudio
|
||||||
|
darwin.apple_sdk.frameworks.CoreFoundation
|
||||||
|
darwin.apple_sdk.frameworks.CoreGraphics
|
||||||
|
darwin.apple_sdk.frameworks.Foundation
|
||||||
|
darwin.apple_sdk.frameworks.IOKit
|
||||||
|
darwin.apple_sdk.frameworks.Security
|
||||||
|
darwin.apple_sdk.frameworks.SystemConfiguration
|
||||||
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
|
alsa-lib
|
||||||
|
];
|
||||||
|
|
||||||
# Add static ui resources and libsciter to same folder as binary so that it
|
# Add static ui resources and libsciter to same folder as binary so that it
|
||||||
# can find them.
|
# can find them.
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/{share/src,lib/rustdesk}
|
mkdir -p $out/{share/src,lib/rustdesk}
|
||||||
|
|
||||||
# so needs to be next to the executable
|
# .so needs to be next to the executable
|
||||||
mv $out/bin/rustdesk $out/lib/rustdesk
|
mv $out/bin/rustdesk $out/lib/rustdesk
|
||||||
ln -s ${libsciter}/lib/libsciter-gtk.so $out/lib/rustdesk
|
ln -s ${libsciter}/lib/libsciter-gtk.so $out/lib/rustdesk
|
||||||
|
|
||||||
@ -132,15 +142,19 @@ rustPlatform.buildRustPackage rec {
|
|||||||
|
|
||||||
cp -a $src/src/ui $out/share/src
|
cp -a $src/src/ui $out/share/src
|
||||||
|
|
||||||
install -Dm0644 $src/logo.svg $out/share/icons/hicolor/scalable/apps/rustdesk.svg
|
install -Dm0644 $src/res/logo.svg $out/share/icons/hicolor/scalable/apps/rustdesk.svg
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
env = {
|
||||||
|
SODIUM_USE_PKG_CONFIG = true;
|
||||||
|
ZSTD_SYS_USE_PKG_CONFIG = true;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Yet another remote desktop software";
|
description = "Virtual / remote desktop infrastructure for everyone! Open source TeamViewer / Citrix alternative";
|
||||||
homepage = "https://rustdesk.com";
|
homepage = "https://rustdesk.com";
|
||||||
license = licenses.gpl3Only;
|
license = licenses.agpl3Only;
|
||||||
maintainers = with maintainers; [ ocfox leixb ];
|
maintainers = with maintainers; [ ocfox leixb ];
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
mainProgram = "rustdesk";
|
mainProgram = "rustdesk";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
diff --git a/libs/hbb_common/src/config.rs b/libs/hbb_common/src/config.rs
|
|
||||||
index 74982de5..308bcf80 100644
|
|
||||||
--- a/libs/hbb_common/src/config.rs
|
|
||||||
+++ b/libs/hbb_common/src/config.rs
|
|
||||||
@@ -656,7 +656,7 @@ const PEERS: &str = "peers";
|
|
||||||
|
|
||||||
impl PeerConfig {
|
|
||||||
pub fn load(id: &str) -> PeerConfig {
|
|
||||||
- let _ = CONFIG.read().unwrap(); // for lock
|
|
||||||
+ let _lock = CONFIG.read().unwrap();
|
|
||||||
match confy::load_path(&Self::path(id)) {
|
|
||||||
Ok(config) => config,
|
|
||||||
Err(err) => {
|
|
||||||
@@ -667,7 +667,7 @@ impl PeerConfig {
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn store(&self, id: &str) {
|
|
||||||
- let _ = CONFIG.read().unwrap(); // for lock
|
|
||||||
+ let _lock = CONFIG.read().unwrap();
|
|
||||||
if let Err(err) = confy::store_path(Self::path(id), self) {
|
|
||||||
log::error!("Failed to store config: {}", err);
|
|
||||||
}
|
|
||||||
@@ -808,7 +808,7 @@ pub struct LanPeers {
|
|
||||||
|
|
||||||
impl LanPeers {
|
|
||||||
pub fn load() -> LanPeers {
|
|
||||||
- let _ = CONFIG.read().unwrap(); // for lock
|
|
||||||
+ let _lock = CONFIG.read().unwrap();
|
|
||||||
match confy::load_path(&Config::file_("_lan_peers")) {
|
|
||||||
Ok(peers) => peers,
|
|
||||||
Err(err) => {
|
|
@ -3,7 +3,7 @@
|
|||||||
, mkDerivation
|
, mkDerivation
|
||||||
, fetchFromGitLab
|
, fetchFromGitLab
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, waf
|
, wafHook
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, cmake
|
, cmake
|
||||||
, qtbase
|
, qtbase
|
||||||
@ -65,7 +65,7 @@ mkDerivation rec {
|
|||||||
--replace /usr/include/KF5/KDELibs4Support "${lib.getDev kdelibs4support}/include/KF5/KDELibs4Support"
|
--replace /usr/include/KF5/KDELibs4Support "${lib.getDev kdelibs4support}/include/KF5/KDELibs4Support"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ (lib.getDev qtsvg) (lib.getLib qtsvg) python3 pkg-config waf.hook cmake ];
|
nativeBuildInputs = [ (lib.getDev qtsvg) (lib.getLib qtsvg) python3 pkg-config wafHook cmake ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase
|
qtbase
|
||||||
|
@ -29,7 +29,7 @@ assert sendEmailSupport -> perlSupport;
|
|||||||
assert svnSupport -> perlSupport;
|
assert svnSupport -> perlSupport;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.41.0";
|
version = "2.42.0";
|
||||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||||
in
|
in
|
||||||
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||||
hash = "sha256-50i6/UJM/oCyEsvG8bvMw6R9SGL7HreYiHd1BHhWgEA=";
|
hash = "sha256-MnghDp/SmUuEhN1+Pd2eqLlA71IXDNtgbaqU2IfJOw0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
||||||
@ -396,7 +396,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
maintainers = with lib.maintainers; [ primeos wmertens globin ];
|
maintainers = with lib.maintainers; [ primeos wmertens globin kashw2 ];
|
||||||
mainProgram = "git";
|
mainProgram = "git";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -21,11 +21,11 @@ let
|
|||||||
|
|
||||||
self = python3Packages.buildPythonApplication rec {
|
self = python3Packages.buildPythonApplication rec {
|
||||||
pname = "mercurial${lib.optionalString fullBuild "-full"}";
|
pname = "mercurial${lib.optionalString fullBuild "-full"}";
|
||||||
version = "6.5.1";
|
version = "6.5.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
|
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
|
||||||
sha256 = "sha256-M/fejYs2B/orQIzeS4cl4RfrCtQZJqeH6qtAnKik/C8=";
|
sha256 = "sha256-r8OdcGeXZZPIMyuOl6Eq/Tk7VQN8X7nDyrGkLHVg9go=";
|
||||||
};
|
};
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
@ -35,7 +35,7 @@ let
|
|||||||
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
|
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
|
||||||
inherit src;
|
inherit src;
|
||||||
name = "mercurial-${version}";
|
name = "mercurial-${version}";
|
||||||
sha256 = "sha256-tPv0UeZOsHDGKzXWeA/fFio7d3EN+KGioDu/1WH1drc=";
|
sha256 = "sha256-dcyHmLkRadNK30Vv0XsCEaZGTIcF/L29lLe58ggB3Lg=";
|
||||||
sourceRoot = "mercurial-${version}/rust";
|
sourceRoot = "mercurial-${version}/rust";
|
||||||
} else null;
|
} else null;
|
||||||
cargoRoot = if rustSupport then "rust" else null;
|
cargoRoot = if rustSupport then "rust" else null;
|
||||||
@ -90,6 +90,7 @@ let
|
|||||||
description = "A fast, lightweight SCM system for very large distributed projects";
|
description = "A fast, lightweight SCM system for very large distributed projects";
|
||||||
homepage = "https://www.mercurial-scm.org";
|
homepage = "https://www.mercurial-scm.org";
|
||||||
downloadPage = "https://www.mercurial-scm.org/release/";
|
downloadPage = "https://www.mercurial-scm.org/release/";
|
||||||
|
changelog = "https://wiki.mercurial-scm.org/Release${versions.majorMinor version}";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ eelco lukegb pacien techknowlogick ];
|
maintainers = with maintainers; [ eelco lukegb pacien techknowlogick ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
@ -107,6 +107,8 @@ let
|
|||||||
&& !(stdenv.targetPlatform.useAndroidPrebuilt or false)
|
&& !(stdenv.targetPlatform.useAndroidPrebuilt or false)
|
||||||
&& !(stdenv.targetPlatform.isiOS or false)
|
&& !(stdenv.targetPlatform.isiOS or false)
|
||||||
&& gccForLibs != null;
|
&& gccForLibs != null;
|
||||||
|
gccForLibs_solib = getLib gccForLibs
|
||||||
|
+ optionalString (targetPlatform != hostPlatform) "/${targetPlatform.config}";
|
||||||
|
|
||||||
# older compilers (for example bootstrap's GCC 5) fail with -march=too-modern-cpu
|
# older compilers (for example bootstrap's GCC 5) fail with -march=too-modern-cpu
|
||||||
isGccArchSupported = arch:
|
isGccArchSupported = arch:
|
||||||
@ -374,7 +376,7 @@ stdenv.mkDerivation {
|
|||||||
''
|
''
|
||||||
+ optionalString useGccForLibs ''
|
+ optionalString useGccForLibs ''
|
||||||
echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
|
echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
|
||||||
echo "-L${gccForLibs.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags
|
echo "-L${gccForLibs_solib}/lib" >> $out/nix-support/cc-ldflags
|
||||||
''
|
''
|
||||||
|
|
||||||
# TODO We would like to connect this to `useGccForLibs`, but we cannot yet
|
# TODO We would like to connect this to `useGccForLibs`, but we cannot yet
|
||||||
|
@ -69,8 +69,8 @@ _multioutConfig() {
|
|||||||
# try to detect share/doc/${shareDocName}
|
# try to detect share/doc/${shareDocName}
|
||||||
# Note: sadly, $configureScript detection comes later in configurePhase,
|
# Note: sadly, $configureScript detection comes later in configurePhase,
|
||||||
# and reordering would cause more trouble than worth.
|
# and reordering would cause more trouble than worth.
|
||||||
if [ -z "$shareDocName" ]; then
|
if [ -z "${shareDocName:-}" ]; then
|
||||||
local confScript="$configureScript"
|
local confScript="${configureScript:-}"
|
||||||
if [ -z "$confScript" ] && [ -x ./configure ]; then
|
if [ -z "$confScript" ] && [ -x ./configure ]; then
|
||||||
confScript=./configure
|
confScript=./configure
|
||||||
fi
|
fi
|
||||||
|
@ -75,7 +75,7 @@ patchShebangs() {
|
|||||||
read -r oldInterpreterLine < "$f"
|
read -r oldInterpreterLine < "$f"
|
||||||
read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"
|
read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"
|
||||||
|
|
||||||
if [[ -z "$pathName" ]]; then
|
if [[ -z "${pathName:-}" ]]; then
|
||||||
if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then
|
if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then
|
||||||
pathName=HOST_PATH
|
pathName=HOST_PATH
|
||||||
else
|
else
|
||||||
|
@ -21,6 +21,9 @@ _separateDebugInfo() {
|
|||||||
while IFS= read -r -d $'\0' i; do
|
while IFS= read -r -d $'\0' i; do
|
||||||
if ! isELF "$i"; then continue; fi
|
if ! isELF "$i"; then continue; fi
|
||||||
|
|
||||||
|
[ -z "${READELF:-}" ] && echo "_separateDebugInfo: '\$READELF' variable is empty, skipping." 1>&2 && break
|
||||||
|
[ -z "${OBJCOPY:-}" ] && echo "_separateDebugInfo: '\$OBJCOPY' variable is empty, skipping." 1>&2 && break
|
||||||
|
|
||||||
# Extract the Build ID. FIXME: there's probably a cleaner way.
|
# Extract the Build ID. FIXME: there's probably a cleaner way.
|
||||||
local id="$($READELF -n "$i" | sed 's/.*Build ID: \([0-9a-f]*\).*/\1/; t; d')"
|
local id="$($READELF -n "$i" | sed 's/.*Build ID: \([0-9a-f]*\).*/\1/; t; d')"
|
||||||
if [ "${#id}" != 40 ]; then
|
if [ "${#id}" != 40 ]; then
|
||||||
|
@ -49,11 +49,19 @@ stripDirs() {
|
|||||||
local ranlibCmd="$2"
|
local ranlibCmd="$2"
|
||||||
local paths="$3"
|
local paths="$3"
|
||||||
local stripFlags="$4"
|
local stripFlags="$4"
|
||||||
|
local excludeFlags=()
|
||||||
local pathsNew=
|
local pathsNew=
|
||||||
|
|
||||||
[ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1
|
[ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1
|
||||||
[ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1
|
[ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1
|
||||||
|
|
||||||
|
local pattern
|
||||||
|
if [ -n "${stripExclude:-}" ]; then
|
||||||
|
for pattern in "${stripExclude[@]}"; do
|
||||||
|
excludeFlags+=(-a '!' '(' -name "$pattern" -o -wholename "$prefix/$pattern" ')' )
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
local p
|
local p
|
||||||
for p in ${paths}; do
|
for p in ${paths}; do
|
||||||
if [ -e "$prefix/$p" ]; then
|
if [ -e "$prefix/$p" ]; then
|
||||||
@ -67,7 +75,7 @@ stripDirs() {
|
|||||||
local striperr
|
local striperr
|
||||||
striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"
|
striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"
|
||||||
# Do not strip lib/debug. This is a directory used by setup-hooks/separate-debug-info.sh.
|
# Do not strip lib/debug. This is a directory used by setup-hooks/separate-debug-info.sh.
|
||||||
find $paths -type f -a '!' -path "$prefix/lib/debug/*" -print0 |
|
find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -print0 |
|
||||||
# Make sure we process files under symlinks only once. Otherwise
|
# Make sure we process files under symlinks only once. Otherwise
|
||||||
# 'strip` can corrupt files when writes to them in parallel:
|
# 'strip` can corrupt files when writes to them in parallel:
|
||||||
# https://github.com/NixOS/nixpkgs/issues/246147#issuecomment-1657072039
|
# https://github.com/NixOS/nixpkgs/issues/246147#issuecomment-1657072039
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
|
{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
|
||||||
, gtk3, libwnck, libxfce4util, xfce4-panel, waf, xfce
|
, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce
|
||||||
, gitUpdater
|
, gitUpdater
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
|
sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config vala waf.hook python3 ];
|
nativeBuildInputs = [ pkg-config vala wafHook python3 ];
|
||||||
buildInputs = [ gtk3 libwnck libxfce4util xfce4-panel ];
|
buildInputs = [ gtk3 libwnck libxfce4util xfce4-panel ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -47,102 +47,43 @@ let
|
|||||||
inherit (lib) optionals optional;
|
inherit (lib) optionals optional;
|
||||||
in
|
in
|
||||||
|
|
||||||
optionals (is49 || is6) [
|
#
|
||||||
./9/fix-struct-redefinition-on-glibc-2.36.patch
|
# Patches below are organized into three general categories:
|
||||||
] ++ optionals (is49 || (is6 && !stdenv.targetPlatform.isRedox)) [
|
# 1. Patches relevant to gcc>=12 on every platform
|
||||||
./use-source-date-epoch.patch
|
# 2. Patches relevant to gcc>=12 on specific platforms
|
||||||
] ++ optionals (is6 && !stdenv.targetPlatform.isRedox) [
|
# 3. Patches relevant only to gcc<12
|
||||||
./6/0001-Fix-build-for-glibc-2.31.patch
|
#
|
||||||
] ++ optionals (!atLeast6) [
|
|
||||||
./parallel-bconfig.patch
|
|
||||||
] ++ optionals (is49) [
|
## 1. Patches relevant to gcc>=12 on every platform ####################################
|
||||||
(./. + "/${lib.versions.major version}.${lib.versions.minor version}/parallel-strsignal.patch")
|
|
||||||
(./. + "/${lib.versions.major version}.${lib.versions.minor version}/libsanitizer.patch")
|
[]
|
||||||
(fetchpatch {
|
|
||||||
name = "avoid-ustat-glibc-2.28.patch";
|
|
||||||
url = "https://gitweb.gentoo.org/proj/gcc-patches.git/plain/4.9.4/gentoo/100_all_avoid-ustat-glibc-2.28.patch?id=55fcb515620a8f7d3bb77eba938aa0fcf0d67c96";
|
|
||||||
sha256 = "0b32sb4psv5lq0ij9fwhi1b4pjbwdjnv24nqprsk14dsc6xmi1g0";
|
|
||||||
})
|
|
||||||
] ++ optionals (is7) [
|
|
||||||
# https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00633.html
|
|
||||||
(./. + "/${majorVersion}/riscv-pthread-reentrant.patch")
|
|
||||||
# https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
|
|
||||||
(./. + "/${majorVersion}/riscv-no-relax.patch")
|
|
||||||
# Fix for asan w/glibc-2.34. Although there's no upstream backport to v7,
|
|
||||||
# the patch from gcc 8 seems to work perfectly fine.
|
|
||||||
(./. + "/${majorVersion}/gcc8-asan-glibc-2.34.patch")
|
|
||||||
(./. + "/${majorVersion}/0001-Fix-build-for-glibc-2.31.patch")
|
|
||||||
] ++ optional (majorVersion == "9") ./9/fix-struct-redefinition-on-glibc-2.36.patch
|
|
||||||
++ optional (atLeast6 && !atLeast12) ./fix-bug-80431.patch
|
++ optional (atLeast6 && !atLeast12) ./fix-bug-80431.patch
|
||||||
++ optional (is7 || is8) ./9/fix-struct-redefinition-on-glibc-2.36.patch
|
|
||||||
++ optional (targetPlatform != hostPlatform) ./libstdc++-target.patch
|
++ optional (targetPlatform != hostPlatform) ./libstdc++-target.patch
|
||||||
++ optional (atLeast7 && !atLeast10 && targetPlatform.isNetBSD) ./libstdc++-netbsd-ctypes.patch
|
++ optionals (noSysDirs) (
|
||||||
++ optional (noSysDirs) (if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)
|
[(if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)] ++
|
||||||
++ optionals (is6 && langAda) [
|
({
|
||||||
./gnat-cflags.patch
|
"13" = [ ./13/no-sys-dirs-riscv.patch ];
|
||||||
./6/gnat-glibc234.patch
|
"12" = [ ./no-sys-dirs-riscv.patch ];
|
||||||
] ++ optional (noSysDirs && atLeast10 && !atLeast13 && (is10 || (!atLeast12 -> hostPlatform.isRiscV))) ./no-sys-dirs-riscv.patch
|
"11" = [ ./no-sys-dirs-riscv.patch ];
|
||||||
++ optional (noSysDirs && is13) ./13/no-sys-dirs-riscv.patch
|
"10" = [ ./no-sys-dirs-riscv.patch ];
|
||||||
++ optional (noSysDirs && is9 && hostPlatform.isRiscV) ./no-sys-dirs-riscv-gcc9.patch
|
"9" = [ ./no-sys-dirs-riscv-gcc9.patch ];
|
||||||
++ optionals (langAda || atLeast12) [
|
}."${majorVersion}" or [])
|
||||||
./gnat-cflags-11.patch
|
)
|
||||||
] ++ optionals (langAda && (is9 || is10)) [
|
++ optional (atLeast12 && langAda) ./gnat-cflags-11.patch
|
||||||
./gnat-cflags.patch
|
++ optional langFortran (if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch)
|
||||||
] ++ optionals atLeast12 [
|
++ optional atLeast7 ./ppc-musl.patch
|
||||||
./gcc-12-gfortran-driving.patch
|
++ optional is12 ./12/lambda-ICE-PR109241.patch # backport ICE fix on ccache code
|
||||||
./ppc-musl.patch
|
|
||||||
] ++ optionals is12 [
|
|
||||||
# backport ICE fix on ccache code
|
|
||||||
./12/lambda-ICE-PR109241.patch
|
|
||||||
]
|
|
||||||
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
|
|
||||||
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
|
|
||||||
++ optionals (stdenv.isDarwin && stdenv.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) ({
|
|
||||||
"13" = [ (fetchpatch {
|
|
||||||
name = "gcc-13-darwin-aarch64-support.patch";
|
|
||||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3c5cbc8e9cf444a1967786af48e430588e1eb481/gcc/gcc-13.2.0.diff";
|
|
||||||
sha256 = "sha256-Y5r3U3dwAFG6+b0TNCFd18PNxYu2+W/5zDbZ5cHvv+U=";
|
|
||||||
}) ];
|
|
||||||
"12" = [ (fetchurl {
|
|
||||||
name = "gcc-12-darwin-aarch64-support.patch";
|
|
||||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/f1188b90d610e2ed170b22512ff7435ba5c891e2/gcc/gcc-12.3.0.diff";
|
|
||||||
sha256 = "sha256-naL5ZNiurqfDBiPSU8PTbTmLqj25B+vjjiqc4fAFgYs=";
|
|
||||||
}) ];
|
|
||||||
}."${majorVersion}" or [])
|
|
||||||
++ optional (atLeast9 && langD) ./libphobos.patch
|
++ optional (atLeast9 && langD) ./libphobos.patch
|
||||||
++ optional (is7 && hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
|
|
||||||
url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
|
|
||||||
sha256 = "0mrvxsdwip2p3l17dscpc1x8vhdsciqw1z5q9i6p5g9yg1cqnmgs";
|
|
||||||
})
|
## 2. Patches relevant to gcc>=12 on specific platforms ####################################
|
||||||
++ optional (!atLeast12 && langFortran) ./gfortran-driving.patch
|
|
||||||
++ optional (!atLeast49 && hostPlatform.isDarwin) ./gfortran-darwin-NXConstStr.patch
|
### Musl+Go+gcc12
|
||||||
++ optionals (is49) [
|
|
||||||
# glibc-2.26
|
|
||||||
./struct-ucontext.patch
|
|
||||||
./struct-sigaltstack-4.9.patch
|
|
||||||
]
|
|
||||||
# TODO: deduplicate this with copy above -- leaving duplicated for now in order to avoid changing eval results by reordering
|
|
||||||
++ optional (atLeast7 && !atLeast12 && targetPlatform.libc == "musl" && targetPlatform.isPower) ./ppc-musl.patch
|
|
||||||
++ optional ((is6 || is7) && targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
|
|
||||||
url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
|
|
||||||
sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
|
|
||||||
})
|
|
||||||
++ optional ((is6 || is7 || is8) && !atLeast9 && targetPlatform.libc == "musl") ./libgomp-dont-force-initial-exec.patch
|
|
||||||
++ optional (is6 && langGo) ./gogcc-workaround-glibc-2.36.patch
|
|
||||||
# TODO: deduplicate this with copy above -- leaving duplicated for now in order to avoid changing eval results by reordering
|
|
||||||
++ optionals (is11 && stdenv.isDarwin) [
|
|
||||||
(fetchpatch {
|
|
||||||
# There are no upstream release tags in https://github.com/iains/gcc-11-branch.
|
|
||||||
# ff4bf32 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-11.4.0
|
|
||||||
url = "https://github.com/iains/gcc-11-branch/compare/ff4bf326d03e750a8d4905ea49425fe7d15a04b8..gcc-11.4-darwin-r0.diff";
|
|
||||||
hash = "sha256-6prPgR2eGVJs7vKd6iM1eZsEPCD1ShzLns2Z+29vlt4=";
|
|
||||||
})
|
|
||||||
]
|
|
||||||
# https://github.com/osx-cross/homebrew-avr/issues/280#issuecomment-1272381808
|
|
||||||
++ optional (is11 && stdenv.isDarwin && targetPlatform.isAvr) ./avr-gcc-11.3-darwin.patch
|
|
||||||
|
|
||||||
# backport fixes to build gccgo with musl libc
|
# backport fixes to build gccgo with musl libc
|
||||||
++ optionals (atLeast12 && langGo && stdenv.hostPlatform.isMusl) [
|
++ optionals (stdenv.hostPlatform.isMusl && langGo && atLeast12) [
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
excludes = [ "gcc/go/gofrontend/MERGE" ];
|
excludes = [ "gcc/go/gofrontend/MERGE" ];
|
||||||
url = "https://github.com/gcc-mirror/gcc/commit/cf79b1117bd177d3d4c6ed24b6fa243c3628ac2d.diff";
|
url = "https://github.com/gcc-mirror/gcc/commit/cf79b1117bd177d3d4c6ed24b6fa243c3628ac2d.diff";
|
||||||
@ -179,16 +120,143 @@ optionals (is49 || is6) [
|
|||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
## Darwin
|
||||||
|
|
||||||
# Fix detection of bootstrap compiler Ada support (cctools as) on Nix Darwin
|
# Fix detection of bootstrap compiler Ada support (cctools as) on Nix Darwin
|
||||||
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
|
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
|
||||||
|
|
||||||
# Use absolute path in GNAT dylib install names on Darwin
|
# Use absolute path in GNAT dylib install names on Darwin
|
||||||
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./gnat-darwin-dylib-install-name.patch
|
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./gnat-darwin-dylib-install-name.patch
|
||||||
|
|
||||||
|
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
|
||||||
|
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
|
||||||
|
++ optionals (stdenv.isDarwin && stdenv.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) ({
|
||||||
|
"13" = [ (fetchpatch {
|
||||||
|
name = "gcc-13-darwin-aarch64-support.patch";
|
||||||
|
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3c5cbc8e9cf444a1967786af48e430588e1eb481/gcc/gcc-13.2.0.diff";
|
||||||
|
sha256 = "sha256-Y5r3U3dwAFG6+b0TNCFd18PNxYu2+W/5zDbZ5cHvv+U=";
|
||||||
|
}) ];
|
||||||
|
"12" = [ (fetchurl {
|
||||||
|
name = "gcc-12-darwin-aarch64-support.patch";
|
||||||
|
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/f1188b90d610e2ed170b22512ff7435ba5c891e2/gcc/gcc-12.3.0.diff";
|
||||||
|
sha256 = "sha256-naL5ZNiurqfDBiPSU8PTbTmLqj25B+vjjiqc4fAFgYs=";
|
||||||
|
}) ];
|
||||||
|
"11" = [ (fetchpatch {
|
||||||
|
# There are no upstream release tags in https://github.com/iains/gcc-11-branch.
|
||||||
|
# ff4bf32 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-11.4.0
|
||||||
|
url = "https://github.com/iains/gcc-11-branch/compare/ff4bf326d03e750a8d4905ea49425fe7d15a04b8..gcc-11.4-darwin-r0.diff";
|
||||||
|
hash = "sha256-6prPgR2eGVJs7vKd6iM1eZsEPCD1ShzLns2Z+29vlt4=";
|
||||||
|
}) ];
|
||||||
|
}.${majorVersion} or [])
|
||||||
|
|
||||||
|
|
||||||
|
## Windows
|
||||||
|
|
||||||
# Obtain latest patch with ../update-mcfgthread-patches.sh
|
# Obtain latest patch with ../update-mcfgthread-patches.sh
|
||||||
++ optional (atLeast6 && !atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf")
|
++ optional (atLeast6 && !atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf")
|
||||||
(./. + "/${majorVersion}/Added-mcf-thread-model-support-from-mcfgthread.patch")
|
(./. + "/${majorVersion}/Added-mcf-thread-model-support-from-mcfgthread.patch")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
##
|
||||||
|
## 3. Patches relevant only to gcc<12
|
||||||
|
##
|
||||||
|
## Above this point are patches which might potentially be applied
|
||||||
|
## to gcc version 12 or newer. Below this point are patches which
|
||||||
|
## will *only* be used for gcc versions older than gcc12.
|
||||||
|
##
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## gcc 11.0 and older ##############################################################################
|
||||||
|
|
||||||
|
# https://github.com/osx-cross/homebrew-avr/issues/280#issuecomment-1272381808
|
||||||
|
++ optional (is11 && stdenv.isDarwin && targetPlatform.isAvr) ./avr-gcc-11.3-darwin.patch
|
||||||
|
|
||||||
|
# openjdk build fails without this on -march=opteron; is upstream in gcc12
|
||||||
|
++ optionals (is11) [ ./11/gcc-issue-103910.patch ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## gcc 10.0 and older ##############################################################################
|
||||||
|
|
||||||
|
++ optional (langAda && (is9 || is10)) ./gnat-cflags.patch
|
||||||
|
++ optional (is10 && buildPlatform.system == "aarch64-darwin" && targetPlatform != buildPlatform) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/richard-vd/musl-cross-make/5e9e87f06fc3220e102c29d3413fbbffa456fcd6/patches/gcc-${version}/0008-darwin-aarch64-self-host-driver.patch";
|
||||||
|
sha256 = "sha256-XtykrPd5h/tsnjY1wGjzSOJ+AyyNLsfnjuOZ5Ryq9vA=";
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
## gcc 9.0 and older ##############################################################################
|
||||||
|
|
||||||
|
++ optional (majorVersion == "9") ./9/fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
|
++ optional (atLeast7 && !atLeast10 && targetPlatform.isNetBSD) ./libstdc++-netbsd-ctypes.patch
|
||||||
|
|
||||||
|
|
||||||
|
## gcc 8.0 and older ##############################################################################
|
||||||
|
|
||||||
|
# for 49 this is applied later
|
||||||
|
++ optional (atLeast49 && !is49 && !atLeast9) ./libsanitizer-no-cyclades-9.patch
|
||||||
|
++ optional (is7 || is8) ./9/fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
|
|
||||||
|
|
||||||
|
## gcc 7.0 and older ##############################################################################
|
||||||
|
|
||||||
|
++ optional (is7 && hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
|
||||||
|
url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
|
||||||
|
sha256 = "0mrvxsdwip2p3l17dscpc1x8vhdsciqw1z5q9i6p5g9yg1cqnmgs";
|
||||||
|
})
|
||||||
|
++ optionals (is7) [
|
||||||
|
# https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00633.html
|
||||||
|
(./. + "/${majorVersion}/riscv-pthread-reentrant.patch")
|
||||||
|
# https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
|
||||||
|
(./. + "/${majorVersion}/riscv-no-relax.patch")
|
||||||
|
# Fix for asan w/glibc-2.34. Although there's no upstream backport to v7,
|
||||||
|
# the patch from gcc 8 seems to work perfectly fine.
|
||||||
|
(./. + "/${majorVersion}/gcc8-asan-glibc-2.34.patch")
|
||||||
|
(./. + "/${majorVersion}/0001-Fix-build-for-glibc-2.31.patch")
|
||||||
|
]
|
||||||
|
++ optional ((is6 || is7) && targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
|
||||||
|
url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
|
||||||
|
sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
|
||||||
|
})
|
||||||
|
++ optional ((is6 || is7 || is8) && !atLeast9 && targetPlatform.libc == "musl") ./libgomp-dont-force-initial-exec.patch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## gcc 6.0 and older ##############################################################################
|
||||||
|
|
||||||
|
++ optional (is6 && langGo) ./gogcc-workaround-glibc-2.36.patch
|
||||||
|
++ optional (is49 || is6) ./9/fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
|
++ optional (is49 || (is6 && !stdenv.targetPlatform.isRedox)) ./use-source-date-epoch.patch
|
||||||
|
++ optional (is6 && !stdenv.targetPlatform.isRedox) ./6/0001-Fix-build-for-glibc-2.31.patch
|
||||||
|
++ optionals (is6 && langAda) [
|
||||||
|
./gnat-cflags.patch
|
||||||
|
./6/gnat-glibc234.patch
|
||||||
|
]
|
||||||
|
|
||||||
|
## gcc 4.9 and older ##############################################################################
|
||||||
|
|
||||||
|
++ optional (!atLeast6) ./parallel-bconfig.patch
|
||||||
|
++ optionals (is49) [
|
||||||
|
(./. + "/${lib.versions.major version}.${lib.versions.minor version}/parallel-strsignal.patch")
|
||||||
|
(./. + "/${lib.versions.major version}.${lib.versions.minor version}/libsanitizer.patch")
|
||||||
|
(fetchpatch {
|
||||||
|
name = "avoid-ustat-glibc-2.28.patch";
|
||||||
|
url = "https://gitweb.gentoo.org/proj/gcc-patches.git/plain/4.9.4/gentoo/100_all_avoid-ustat-glibc-2.28.patch?id=55fcb515620a8f7d3bb77eba938aa0fcf0d67c96";
|
||||||
|
sha256 = "0b32sb4psv5lq0ij9fwhi1b4pjbwdjnv24nqprsk14dsc6xmi1g0";
|
||||||
|
})
|
||||||
|
# has to be applied after "avoid-ustat-glibc-2.28.patch"
|
||||||
|
./libsanitizer-no-cyclades-9.patch
|
||||||
|
# glibc-2.26
|
||||||
|
./struct-ucontext.patch
|
||||||
|
./struct-sigaltstack-4.9.patch
|
||||||
|
]
|
||||||
# Retpoline patches pulled from the branch hjl/indirect/gcc-4_9-branch (by H.J. Lu, the author of GCC upstream retpoline commits)
|
# Retpoline patches pulled from the branch hjl/indirect/gcc-4_9-branch (by H.J. Lu, the author of GCC upstream retpoline commits)
|
||||||
++ optionals is49
|
++ optionals is49
|
||||||
(builtins.map ({commit, sha256}: fetchpatch {url = "https://github.com/hjl-tools/gcc/commit/${commit}.patch"; inherit sha256;})
|
(builtins.map ({commit, sha256}: fetchpatch {url = "https://github.com/hjl-tools/gcc/commit/${commit}.patch"; inherit sha256;})
|
||||||
@ -206,7 +274,6 @@ optionals (is49 || is6) [
|
|||||||
{ commit = "1e961ed49b18e176c7457f53df2433421387c23b"; sha256 = "04dnqqs4qsvz4g8cq6db5id41kzys7hzhcaycwmc9rpqygs2ajwz"; }
|
{ commit = "1e961ed49b18e176c7457f53df2433421387c23b"; sha256 = "04dnqqs4qsvz4g8cq6db5id41kzys7hzhcaycwmc9rpqygs2ajwz"; }
|
||||||
{ commit = "e137c72d099f9b3b47f4cc718aa11eab14df1a9c"; sha256 = "1ms0dmz74yf6kwgjfs4d2fhj8y6mcp2n184r3jk44wx2xc24vgb2"; }])
|
{ commit = "e137c72d099f9b3b47f4cc718aa11eab14df1a9c"; sha256 = "1ms0dmz74yf6kwgjfs4d2fhj8y6mcp2n184r3jk44wx2xc24vgb2"; }])
|
||||||
|
|
||||||
++ optional (atLeast49 && !atLeast9) ./libsanitizer-no-cyclades-9.patch
|
|
||||||
++ optional (is49 && !atLeast6) [
|
++ optional (is49 && !atLeast6) [
|
||||||
# gcc-11 compatibility
|
# gcc-11 compatibility
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
@ -217,14 +284,11 @@ optionals (is49 || is6) [
|
|||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
|
||||||
# openjdk build fails without this on -march=opteron; is upstream in gcc12
|
|
||||||
++ optionals (is11) [ ./11/gcc-issue-103910.patch ]
|
|
||||||
|
|
||||||
++ optional (is10 && buildPlatform.system == "aarch64-darwin" && targetPlatform != buildPlatform) (fetchpatch {
|
## gcc 4.8 only ##############################################################################
|
||||||
url = "https://raw.githubusercontent.com/richard-vd/musl-cross-make/5e9e87f06fc3220e102c29d3413fbbffa456fcd6/patches/gcc-${version}/0008-darwin-aarch64-self-host-driver.patch";
|
|
||||||
sha256 = "sha256-XtykrPd5h/tsnjY1wGjzSOJ+AyyNLsfnjuOZ5Ryq9vA=";
|
++ optional (!atLeast49 && hostPlatform.isDarwin) ./gfortran-darwin-NXConstStr.patch
|
||||||
})
|
++ optionals is48 [
|
||||||
++ lib.optionals is48 [
|
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "libc_name_p.diff"; # needed to build with gcc6
|
name = "libc_name_p.diff"; # needed to build with gcc6
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=ec1cc0263f1";
|
url = "https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=ec1cc0263f1";
|
||||||
|
@ -46,11 +46,11 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "go";
|
pname = "go";
|
||||||
version = "1.20.7";
|
version = "1.20.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
||||||
hash = "sha256-LF7pyeweczsNu8K9/tP2IwblHYFyvzj09OVCsnUg9Zc=";
|
hash = "sha256-ONcXFPpSeflyQEUZVtjkfjwbal3ny4QTeUnWK13TGC4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -55,7 +55,7 @@ stdenv.mkDerivation {
|
|||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15
|
./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
|
../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
|
||||||
|
@ -137,7 +137,7 @@ let
|
|||||||
./lldb/procfs.patch
|
./lldb/procfs.patch
|
||||||
./lldb/gnu-install-dirs.patch
|
./lldb/gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -147,7 +147,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -19,11 +19,11 @@ stdenv.mkDerivation {
|
|||||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
|
patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch}
|
patch -p1 -d $(ls -d llvm-*) -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./no-threads.patch
|
../../common/libcxxabi/no-threads.patch
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -1,33 +0,0 @@
|
|||||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
|
||||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
|
||||||
needs it
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
|
||||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
|
||||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
|
||||||
3 files changed, 107 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
index bc5fb9ff7..b64eb4246 100644
|
|
||||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
|
||||||
endif()
|
|
||||||
- if(APPLE)
|
|
||||||
- # Ad-hoc sign the dylibs
|
|
||||||
- add_custom_command(TARGET ${libname}
|
|
||||||
- POST_BUILD
|
|
||||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
|
||||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
|
||||||
- )
|
|
||||||
- endif()
|
|
||||||
endif()
|
|
||||||
install(TARGETS ${libname}
|
|
||||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
|
||||||
2.14.1
|
|
||||||
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
|||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
|
./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
|
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
|
||||||
|
@ -152,7 +152,7 @@ let
|
|||||||
./lldb/procfs.patch
|
./lldb/procfs.patch
|
||||||
./lldb/gnu-install-dirs.patch
|
./lldb/gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -162,7 +162,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -22,11 +22,11 @@ stdenv.mkDerivation {
|
|||||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
|
patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./no-threads.patch
|
../../common/libcxxabi/no-threads.patch
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 4138acf..41b4763 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
|
|
||||||
" is also set to ON.")
|
|
||||||
endif()
|
|
||||||
add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
|
|
||||||
+ add_definitions(-D_LIBCPP_HAS_NO_THREADS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
|
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -1,33 +0,0 @@
|
|||||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
|
||||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
|
||||||
needs it
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
|
||||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
|
||||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
|
||||||
3 files changed, 107 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
index bc5fb9ff7..b64eb4246 100644
|
|
||||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
|
||||||
endif()
|
|
||||||
- if(APPLE)
|
|
||||||
- # Ad-hoc sign the dylibs
|
|
||||||
- add_custom_command(TARGET ${libname}
|
|
||||||
- POST_BUILD
|
|
||||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
|
||||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
|
||||||
- )
|
|
||||||
- endif()
|
|
||||||
endif()
|
|
||||||
install(TARGETS ${libname}
|
|
||||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
|
||||||
2.14.1
|
|
||||||
|
|
@ -57,7 +57,7 @@ stdenv.mkDerivation {
|
|||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
|
./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
|
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
|
||||||
|
@ -139,19 +139,20 @@ let
|
|||||||
src = fetch "lldb" "0g3pj1m3chafavpr35r9fynm85y2hdyla6klj0h28khxs2613i78";
|
src = fetch "lldb" "0g3pj1m3chafavpr35r9fynm85y2hdyla6klj0h28khxs2613i78";
|
||||||
patches =
|
patches =
|
||||||
let
|
let
|
||||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
resourceDirPatch = callPackage
|
||||||
{
|
({ substituteAll, libclang }: substituteAll
|
||||||
clangLibDir = "${libclang.lib}/lib";
|
{
|
||||||
} ''
|
src = ./lldb/resource-dir.patch;
|
||||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
clangLibDir = "${libclang.lib}/lib";
|
||||||
'')) { };
|
})
|
||||||
|
{ };
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
./lldb/procfs.patch
|
./lldb/procfs.patch
|
||||||
resourceDirPatch
|
resourceDirPatch
|
||||||
./lldb/gnu-install-dirs.patch
|
./lldb/gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -161,7 +162,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
|||||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
|
patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -138,12 +138,13 @@ let
|
|||||||
lldb = callPackage ../common/lldb.nix {
|
lldb = callPackage ../common/lldb.nix {
|
||||||
patches =
|
patches =
|
||||||
let
|
let
|
||||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
resourceDirPatch = callPackage
|
||||||
{
|
({ substituteAll, libclang }: substituteAll
|
||||||
clangLibDir = "${libclang.lib}/lib";
|
{
|
||||||
} ''
|
src = ./lldb/resource-dir.patch;
|
||||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
clangLibDir = "${libclang.lib}/lib";
|
||||||
'')) { };
|
})
|
||||||
|
{ };
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
./lldb/procfs.patch
|
./lldb/procfs.patch
|
||||||
@ -164,7 +165,7 @@ let
|
|||||||
&& !stdenv.targetPlatform.isAarch64
|
&& !stdenv.targetPlatform.isAarch64
|
||||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -174,7 +175,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||||
export TRIPLE=x86_64-apple-darwin
|
export TRIPLE=x86_64-apple-darwin
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -139,12 +139,13 @@ let
|
|||||||
lldb = callPackage ../common/lldb.nix {
|
lldb = callPackage ../common/lldb.nix {
|
||||||
patches =
|
patches =
|
||||||
let
|
let
|
||||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
resourceDirPatch = callPackage
|
||||||
{
|
({ substituteAll, libclang }: substituteAll
|
||||||
clangLibDir = "${libclang.lib}/lib";
|
{
|
||||||
} ''
|
src = ./lldb/resource-dir.patch;
|
||||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
clangLibDir = "${libclang.lib}/lib";
|
||||||
'')) { };
|
})
|
||||||
|
{ };
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
./lldb/procfs.patch
|
./lldb/procfs.patch
|
||||||
@ -165,7 +166,7 @@ let
|
|||||||
&& !stdenv.targetPlatform.isAarch64
|
&& !stdenv.targetPlatform.isAarch64
|
||||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -175,7 +176,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||||
export TRIPLE=x86_64-apple-darwin
|
export TRIPLE=x86_64-apple-darwin
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod
|
|
||||||
ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -187,12 +187,13 @@ in let
|
|||||||
lldb = callPackage ../common/lldb.nix {
|
lldb = callPackage ../common/lldb.nix {
|
||||||
patches =
|
patches =
|
||||||
let
|
let
|
||||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
resourceDirPatch = callPackage
|
||||||
{
|
({ substituteAll, libclang }: substituteAll
|
||||||
clangLibDir = "${libclang.lib}/lib";
|
{
|
||||||
} ''
|
src = ./lldb/resource-dir.patch;
|
||||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
clangLibDir = "${libclang.lib}/lib";
|
||||||
'')) { };
|
})
|
||||||
|
{ };
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
./lldb/procfs.patch
|
./lldb/procfs.patch
|
||||||
@ -213,7 +214,7 @@ in let
|
|||||||
&& !stdenv.targetPlatform.isAarch64
|
&& !stdenv.targetPlatform.isAarch64
|
||||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -223,7 +224,7 @@ in let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||||
export TRIPLE=x86_64-apple-darwin
|
export TRIPLE=x86_64-apple-darwin
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod
|
|
||||||
ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -192,12 +192,13 @@ in let
|
|||||||
'') { };
|
'') { };
|
||||||
patches =
|
patches =
|
||||||
let
|
let
|
||||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
resourceDirPatch = callPackage
|
||||||
{
|
({ substituteAll, libclang }: substituteAll
|
||||||
clangLibDir = "${libclang.lib}/lib";
|
{
|
||||||
} ''
|
src = ./lldb/resource-dir.patch;
|
||||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
clangLibDir = "${libclang.lib}/lib";
|
||||||
'')) { };
|
})
|
||||||
|
{ };
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
# FIXME: do we need this? ./procfs.patch
|
# FIXME: do we need this? ./procfs.patch
|
||||||
@ -218,7 +219,7 @@ in let
|
|||||||
&& !stdenv.targetPlatform.isAarch64
|
&& !stdenv.targetPlatform.isAarch64
|
||||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||||
inherit llvm_meta release_version;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -228,7 +229,7 @@ in let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||||
export TRIPLE=x86_64-apple-darwin
|
export TRIPLE=x86_64-apple-darwin
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -41,7 +41,7 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./purity.patch
|
../../common/clang/5-8-purity.patch
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ./LLVMgold-path.patch;
|
src = ./LLVMgold-path.patch;
|
||||||
|
@ -41,7 +41,7 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./purity.patch
|
../../common/clang/5-8-purity.patch
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ../../clang-6-10-LLVMgold-path.patch;
|
src = ../../clang-6-10-LLVMgold-path.patch;
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Thu, 18 May 2017 11:56:12 -0500
|
|
||||||
Subject: [PATCH] "purity" patch for 5.0
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/Driver/ToolChains/Gnu.cpp | 7 -------
|
|
||||||
1 file changed, 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
index fe3c0191bb..c6a482bece 100644
|
|
||||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
|
||||||
if (!Args.hasArg(options::OPT_static)) {
|
|
||||||
if (Args.hasArg(options::OPT_rdynamic))
|
|
||||||
CmdArgs.push_back("-export-dynamic");
|
|
||||||
-
|
|
||||||
- if (!Args.hasArg(options::OPT_shared)) {
|
|
||||||
- const std::string Loader =
|
|
||||||
- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
|
|
||||||
- CmdArgs.push_back("-dynamic-linker");
|
|
||||||
- CmdArgs.push_back(Args.MakeArgString(Loader));
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
CmdArgs.push_back("-o");
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -45,7 +45,7 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./purity.patch
|
../../common/clang/5-8-purity.patch
|
||||||
# make clang -xhip use $PATH to find executables
|
# make clang -xhip use $PATH to find executables
|
||||||
./HIP-use-PATH-7.patch
|
./HIP-use-PATH-7.patch
|
||||||
# Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is
|
# Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Thu, 18 May 2017 11:56:12 -0500
|
|
||||||
Subject: [PATCH] "purity" patch for 5.0
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/Driver/ToolChains/Gnu.cpp | 7 -------
|
|
||||||
1 file changed, 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
index fe3c0191bb..c6a482bece 100644
|
|
||||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
|
||||||
if (!Args.hasArg(options::OPT_static)) {
|
|
||||||
if (Args.hasArg(options::OPT_rdynamic))
|
|
||||||
CmdArgs.push_back("-export-dynamic");
|
|
||||||
-
|
|
||||||
- if (!Args.hasArg(options::OPT_shared)) {
|
|
||||||
- const std::string Loader =
|
|
||||||
- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
|
|
||||||
- CmdArgs.push_back("-dynamic-linker");
|
|
||||||
- CmdArgs.push_back(Args.MakeArgString(Loader));
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
CmdArgs.push_back("-o");
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
|
||||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
|
||||||
needs it
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
|
||||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
|
||||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
|
||||||
3 files changed, 107 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
index bc5fb9ff7..b64eb4246 100644
|
|
||||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
|
||||||
endif()
|
|
||||||
- if(APPLE)
|
|
||||||
- # Ad-hoc sign the dylibs
|
|
||||||
- add_custom_command(TARGET ${libname}
|
|
||||||
- POST_BUILD
|
|
||||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
|
||||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
|
||||||
- )
|
|
||||||
- endif()
|
|
||||||
endif()
|
|
||||||
install(TARGETS ${libname}
|
|
||||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
|
||||||
2.14.1
|
|
||||||
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
|||||||
patches = [
|
patches = [
|
||||||
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
||||||
../../common/compiler-rt/glibc.patch
|
../../common/compiler-rt/glibc.patch
|
||||||
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
||||||
] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
|
] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
|
||||||
|
@ -149,7 +149,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -45,7 +45,7 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./purity.patch
|
../../common/clang/5-8-purity.patch
|
||||||
./xpc.patch
|
./xpc.patch
|
||||||
# Backport for -static-pie, which the latter touches, and which is nice in
|
# Backport for -static-pie, which the latter touches, and which is nice in
|
||||||
# its own right.
|
# its own right.
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Thu, 18 May 2017 11:56:12 -0500
|
|
||||||
Subject: [PATCH] "purity" patch for 5.0
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/Driver/ToolChains/Gnu.cpp | 7 -------
|
|
||||||
1 file changed, 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
index fe3c0191bb..c6a482bece 100644
|
|
||||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
|
||||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
|
||||||
if (!Args.hasArg(options::OPT_static)) {
|
|
||||||
if (Args.hasArg(options::OPT_rdynamic))
|
|
||||||
CmdArgs.push_back("-export-dynamic");
|
|
||||||
-
|
|
||||||
- if (!Args.hasArg(options::OPT_shared)) {
|
|
||||||
- const std::string Loader =
|
|
||||||
- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
|
|
||||||
- CmdArgs.push_back("-dynamic-linker");
|
|
||||||
- CmdArgs.push_back(Args.MakeArgString(Loader));
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
CmdArgs.push_back("-o");
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
|
||||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
|
||||||
needs it
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
|
||||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
|
||||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
|
||||||
3 files changed, 107 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
index bc5fb9ff7..b64eb4246 100644
|
|
||||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
|
||||||
endif()
|
|
||||||
- if(APPLE)
|
|
||||||
- # Ad-hoc sign the dylibs
|
|
||||||
- add_custom_command(TARGET ${libname}
|
|
||||||
- POST_BUILD
|
|
||||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
|
||||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
|
||||||
- )
|
|
||||||
- endif()
|
|
||||||
endif()
|
|
||||||
install(TARGETS ${libname}
|
|
||||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
|
||||||
2.14.1
|
|
||||||
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
|||||||
patches = [
|
patches = [
|
||||||
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
||||||
../../common/compiler-rt/glibc.patch
|
../../common/compiler-rt/glibc.patch
|
||||||
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
||||||
] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
|
] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
|
||||||
|
@ -150,7 +150,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./no-threads.patch
|
../../common/libcxxabi/no-threads.patch
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 4138acf..41b4763 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
|
|
||||||
" is also set to ON.")
|
|
||||||
endif()
|
|
||||||
add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
|
|
||||||
+ add_definitions(-D_LIBCPP_HAS_NO_THREADS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
|
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -1,33 +0,0 @@
|
|||||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Dietz <w@wdtz.org>
|
|
||||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
|
||||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
|
||||||
needs it
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
|
||||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
|
||||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
|
||||||
3 files changed, 107 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
index bc5fb9ff7..b64eb4246 100644
|
|
||||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
|
||||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
|
||||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
|
||||||
endif()
|
|
||||||
- if(APPLE)
|
|
||||||
- # Ad-hoc sign the dylibs
|
|
||||||
- add_custom_command(TARGET ${libname}
|
|
||||||
- POST_BUILD
|
|
||||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
|
||||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
|
||||||
- )
|
|
||||||
- endif()
|
|
||||||
endif()
|
|
||||||
install(TARGETS ${libname}
|
|
||||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
|
||||||
2.14.1
|
|
||||||
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
|||||||
patches = [
|
patches = [
|
||||||
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
||||||
../../common/compiler-rt/glibc.patch
|
../../common/compiler-rt/glibc.patch
|
||||||
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
||||||
# Fix build on armv6l
|
# Fix build on armv6l
|
||||||
|
@ -150,7 +150,7 @@ let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -19,11 +19,11 @@ stdenv.mkDerivation {
|
|||||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
|
patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch}
|
patch -p1 -d $(ls -d llvm-*) -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./no-threads.patch
|
../../common/libcxxabi/no-threads.patch
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 4138acf..41b4763 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
|
|
||||||
" is also set to ON.")
|
|
||||||
endif()
|
|
||||||
add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
|
|
||||||
+ add_definitions(-D_LIBCPP_HAS_NO_THREADS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
|
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
48
pkgs/development/compilers/llvm/common/bintools.nix
Normal file
48
pkgs/development/compilers/llvm/common/bintools.nix
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{ lib, runCommand, stdenv, llvm, lld, version, release_version }:
|
||||||
|
|
||||||
|
let
|
||||||
|
targetPrefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
||||||
|
in
|
||||||
|
runCommand "llvm-binutils-${version}"
|
||||||
|
{
|
||||||
|
preferLocalBuild = true;
|
||||||
|
passthru = {
|
||||||
|
isLLVM = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
(''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
for prog in ${lld}/bin/*; do
|
||||||
|
ln -s $prog $out/bin/${targetPrefix}$(basename $prog)
|
||||||
|
done
|
||||||
|
for prog in ${llvm}/bin/*; do
|
||||||
|
ln -sf $prog $out/bin/${targetPrefix}$(basename $prog)
|
||||||
|
done
|
||||||
|
|
||||||
|
llvmBin="${llvm}/bin"
|
||||||
|
|
||||||
|
ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}ar
|
||||||
|
ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}dlltool
|
||||||
|
ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}ranlib
|
||||||
|
ln -s $llvmBin/llvm-cxxfilt $out/bin/${targetPrefix}c++filt
|
||||||
|
ln -s $llvmBin/llvm-dwp $out/bin/${targetPrefix}dwp
|
||||||
|
ln -s $llvmBin/llvm-nm $out/bin/${targetPrefix}nm
|
||||||
|
ln -s $llvmBin/llvm-objcopy $out/bin/${targetPrefix}objcopy
|
||||||
|
ln -s $llvmBin/llvm-objcopy $out/bin/${targetPrefix}strip
|
||||||
|
ln -s $llvmBin/llvm-objdump $out/bin/${targetPrefix}objdump
|
||||||
|
ln -s $llvmBin/llvm-readobj $out/bin/${targetPrefix}readelf
|
||||||
|
ln -s $llvmBin/llvm-size $out/bin/${targetPrefix}size
|
||||||
|
ln -s $llvmBin/llvm-strings $out/bin/${targetPrefix}strings
|
||||||
|
ln -s $llvmBin/llvm-symbolizer $out/bin/${targetPrefix}addr2line
|
||||||
|
|
||||||
|
if [ -e "$llvmBin/llvm-debuginfod" ]; then
|
||||||
|
ln -s $llvmBin/llvm-debuginfod $out/bin/${targetPrefix}debuginfod
|
||||||
|
ln -s $llvmBin/llvm-debuginfod-find $out/bin/${targetPrefix}debuginfod-find
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -s ${lld}/bin/lld $out/bin/${targetPrefix}ld
|
||||||
|
|
||||||
|
# Only >=13 show GNU windres compatible in help
|
||||||
|
'' + lib.optionalString (lib.versionAtLeast release_version "13") ''
|
||||||
|
ln -s $llvmBin/llvm-rc $out/bin/${targetPrefix}windres
|
||||||
|
'')
|
@ -45,25 +45,21 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
outputs = [ "out" "lib" "dev" ];
|
outputs = [ "out" "lib" "dev" ];
|
||||||
|
|
||||||
sourceRoot =
|
sourceRoot = lib.optional (lib.versionAtLeast release_version "13") "${src.name}/${pname}";
|
||||||
if lib.versionOlder release_version "13" then null
|
|
||||||
else "${src.name}/${pname}";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
] ++ lib.optionals (lib.versionAtLeast release_version "15") [
|
|
||||||
ninja
|
|
||||||
] ++ [
|
|
||||||
python3
|
python3
|
||||||
which
|
which
|
||||||
swig
|
swig
|
||||||
lit
|
lit
|
||||||
makeWrapper
|
makeWrapper
|
||||||
] ++ lib.optionals (lib.versionAtLeast release_version "14") [
|
|
||||||
lua5_3
|
lua5_3
|
||||||
] ++ lib.optionals enableManpages [
|
] ++ lib.optionals enableManpages [
|
||||||
python3.pkgs.sphinx
|
python3.pkgs.sphinx
|
||||||
python3.pkgs.recommonmark
|
python3.pkgs.recommonmark
|
||||||
|
] ++ lib.optionals (lib.versionAtLeast release_version "14") [
|
||||||
|
ninja
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -87,11 +83,13 @@ stdenv.mkDerivation (rec {
|
|||||||
#
|
#
|
||||||
# See here for context:
|
# See here for context:
|
||||||
# https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
|
# https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
|
||||||
++ lib.optional (
|
++ lib.optional
|
||||||
|
(
|
||||||
stdenv.targetPlatform.isDarwin
|
stdenv.targetPlatform.isDarwin
|
||||||
&& !stdenv.targetPlatform.isAarch64
|
&& !stdenv.targetPlatform.isAarch64
|
||||||
&& (lib.versionAtLeast release_version "15")
|
&& (lib.versionAtLeast release_version "15")
|
||||||
) (
|
)
|
||||||
|
(
|
||||||
runCommand "bsm-audit-session-header" { } ''
|
runCommand "bsm-audit-session-header" { } ''
|
||||||
install -Dm444 \
|
install -Dm444 \
|
||||||
"${lib.getDev darwin.apple_sdk.sdk}/include/bsm/audit_session.h" \
|
"${lib.getDev darwin.apple_sdk.sdk}/include/bsm/audit_session.h" \
|
||||||
@ -104,7 +102,7 @@ stdenv.mkDerivation (rec {
|
|||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
|
"-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
|
||||||
"-DLLVM_ENABLE_RTTI=OFF"
|
"-DLLVM_ENABLE_RTTI=OFF"
|
||||||
"-DClang_DIR=${libclang.dev}/lib/cmake"
|
"-DClang_DIR=${lib.getDev libclang}/lib/cmake"
|
||||||
"-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
|
"-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
"-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
|
"-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
|
||||||
@ -127,28 +125,21 @@ stdenv.mkDerivation (rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
doInstallCheck = lib.versionOlder release_version "15";
|
||||||
|
|
||||||
# TODO: cleanup with mass-rebuild
|
# TODO: cleanup with mass-rebuild
|
||||||
installCheckPhase =
|
installCheckPhase = ''
|
||||||
if ((lib.versions.major release_version) == "14") then ''
|
if [ ! -e $lib/${python3.sitePackages}/lldb/_lldb*.so ] ; then
|
||||||
if [ ! -e $lib/${python3.sitePackages}/lldb/_lldb*.so ] ; then
|
echo "ERROR: python files not installed where expected!";
|
||||||
echo "ERROR: python files not installed where expected!";
|
return 1;
|
||||||
return 1;
|
fi
|
||||||
fi
|
'' # Something lua is built on older versions but this file doesn't exist.
|
||||||
if [ ! -e "$lib/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then
|
+ lib.optionalString (lib.versionAtLeast release_version "14") ''
|
||||||
echo "ERROR: lua files not installed where expected!";
|
if [ ! -e "$lib/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then
|
||||||
return 1;
|
echo "ERROR: lua files not installed where expected!";
|
||||||
fi
|
return 1;
|
||||||
'' else if (((lib.versions.major release_version) == "15") || (lib.versions.major release_version) == "16") then ''
|
fi
|
||||||
if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
|
'';
|
||||||
return 1;
|
|
||||||
fi
|
|
||||||
'' else ''
|
|
||||||
if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
|
|
||||||
echo "ERROR: python files not installed where expected!";
|
|
||||||
return 1;
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
|
wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
|
||||||
@ -157,7 +148,7 @@ stdenv.mkDerivation (rec {
|
|||||||
# vscode:
|
# vscode:
|
||||||
install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
|
install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
|
||||||
mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
||||||
ln -s $out/bin/${if (lib.versionOlder release_version "12") then "llvm-vscode" else "lldb-vscode"} $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
ln -s $out/bin/*-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = llvm_meta // {
|
meta = llvm_meta // {
|
||||||
@ -174,17 +165,15 @@ stdenv.mkDerivation (rec {
|
|||||||
(lib.versionOlder release_version "11" && stdenv.isDarwin && stdenv.isAarch64)
|
(lib.versionOlder release_version "11" && stdenv.isDarwin && stdenv.isAarch64)
|
||||||
|| (((lib.versions.major release_version) == "13") && stdenv.isDarwin);
|
|| (((lib.versions.major release_version) == "13") && stdenv.isDarwin);
|
||||||
};
|
};
|
||||||
} // lib.optionalAttrs (lib.versionOlder release_version "15") {
|
|
||||||
doInstallCheck = true;
|
|
||||||
} // lib.optionalAttrs enableManpages {
|
} // lib.optionalAttrs enableManpages {
|
||||||
pname = "lldb-manpages";
|
pname = "lldb-manpages";
|
||||||
|
|
||||||
buildPhase =
|
buildPhase = lib.optionalString (lib.versionOlder release_version "15") ''
|
||||||
if lib.versionOlder release_version "15" then ''
|
make ${if (lib.versionOlder release_version "12") then "docs-man" else "docs-lldb-man"}
|
||||||
make ${if (lib.versionOlder release_version "12") then "docs-man" else "docs-lldb-man"}
|
'';
|
||||||
'' else null;
|
|
||||||
|
|
||||||
ninjaFlags = if lib.versionAtLeast release_version "15" then [ "docs-lldb-man" ] else null;
|
|
||||||
|
ninjaFlags = lib.optionals (lib.versionAtLeast release_version "15") [ "docs-lldb-man" ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ ];
|
propagatedBuildInputs = [ ];
|
||||||
|
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
{ lib, runCommand, stdenv, llvm, lld, version }:
|
|
||||||
|
|
||||||
let
|
|
||||||
prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-";
|
|
||||||
in runCommand "llvm-binutils-${version}" {
|
|
||||||
preferLocalBuild = true;
|
|
||||||
passthru = {
|
|
||||||
isLLVM = true;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for prog in ${lld}/bin/*; do
|
|
||||||
ln -s $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
for prog in ${llvm}/bin/*; do
|
|
||||||
ln -sf $prog $out/bin/${prefix}$(basename $prog)
|
|
||||||
done
|
|
||||||
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
|
|
||||||
ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
|
|
||||||
ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
|
|
||||||
ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod
|
|
||||||
ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find
|
|
||||||
ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
|
|
||||||
ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
|
|
||||||
ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
|
|
||||||
ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
|
|
||||||
ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
|
|
||||||
ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
|
|
||||||
ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
|
|
||||||
ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
|
|
||||||
ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
|
|
||||||
|
|
||||||
ln -s ${lld}/bin/lld $out/bin/${prefix}ld
|
|
||||||
''
|
|
@ -184,11 +184,28 @@ in let
|
|||||||
inherit llvm_meta;
|
inherit llvm_meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
lldb = callPackage ./lldb {
|
lldb = callPackage ../common/lldb.nix {
|
||||||
|
src = callPackage ({ runCommand }: runCommand "lldb-src-${version}" {} ''
|
||||||
|
mkdir -p "$out"
|
||||||
|
cp -r ${monorepoSrc}/cmake "$out"
|
||||||
|
cp -r ${monorepoSrc}/lldb "$out"
|
||||||
|
'') { };
|
||||||
|
patches =
|
||||||
|
let
|
||||||
|
resourceDirPatch = callPackage
|
||||||
|
({ substituteAll, libclang }: substituteAll
|
||||||
|
{
|
||||||
|
src = ./lldb/resource-dir.patch;
|
||||||
|
clangLibDir = "${libclang.lib}/lib";
|
||||||
|
})
|
||||||
|
{ };
|
||||||
|
in
|
||||||
|
[
|
||||||
|
./lldb/procfs.patch # FIXME: do we need this?
|
||||||
|
resourceDirPatch
|
||||||
|
./lldb/gnu-install-dirs.patch
|
||||||
|
];
|
||||||
inherit llvm_meta;
|
inherit llvm_meta;
|
||||||
inherit (darwin) libobjc bootstrap_cmds;
|
|
||||||
inherit (darwin.apple_sdk.libs) xpc;
|
|
||||||
inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Below, is the LLVM bootstrapping logic. It handles building a
|
# Below, is the LLVM bootstrapping logic. It handles building a
|
||||||
@ -198,7 +215,7 @@ in let
|
|||||||
# doesn’t support like LLVM. Probably we should move to some other
|
# doesn’t support like LLVM. Probably we should move to some other
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
bintools-unwrapped = callPackage ./bintools {};
|
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||||
|
|
||||||
bintoolsNoLibc = wrapBintoolsWith {
|
bintoolsNoLibc = wrapBintoolsWith {
|
||||||
bintools = tools.bintools-unwrapped;
|
bintools = tools.bintools-unwrapped;
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||||
export TRIPLE=x86_64-apple-darwin
|
export TRIPLE=x86_64-apple-darwin
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||||
patch -p1 -d llvm -i ${./wasm.patch}
|
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
index 15497d405e0..33f7f18193a 100644
|
|
||||||
--- a/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
+++ b/cmake/modules/HandleLLVMOptions.cmake
|
|
||||||
@@ -127,7 +127,10 @@ else(WIN32)
|
|
||||||
set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
|
|
||||||
endif()
|
|
||||||
else(FUCHSIA OR UNIX)
|
|
||||||
- MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
|
|
||||||
+ else()
|
|
||||||
+ MESSAGE(SEND_ERROR "Unable to determine platform")
|
|
||||||
+ endif()
|
|
||||||
endif(FUCHSIA OR UNIX)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
@ -1,144 +0,0 @@
|
|||||||
{ lib, stdenv, llvm_meta
|
|
||||||
, runCommand
|
|
||||||
, monorepoSrc
|
|
||||||
, cmake
|
|
||||||
, ninja
|
|
||||||
, zlib
|
|
||||||
, ncurses
|
|
||||||
, swig
|
|
||||||
, which
|
|
||||||
, libedit
|
|
||||||
, libxml2
|
|
||||||
, libllvm
|
|
||||||
, libclang
|
|
||||||
, python3
|
|
||||||
, version
|
|
||||||
, libobjc
|
|
||||||
, xpc
|
|
||||||
, Foundation
|
|
||||||
, bootstrap_cmds
|
|
||||||
, Carbon
|
|
||||||
, Cocoa
|
|
||||||
, lit
|
|
||||||
, makeWrapper
|
|
||||||
, enableManpages ? false
|
|
||||||
, lua5_3
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
|
||||||
pname = "lldb";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
src = runCommand "${pname}-src-${version}" {} ''
|
|
||||||
mkdir -p "$out"
|
|
||||||
cp -r ${monorepoSrc}/cmake "$out"
|
|
||||||
cp -r ${monorepoSrc}/${pname} "$out"
|
|
||||||
'';
|
|
||||||
|
|
||||||
sourceRoot = "${src.name}/${pname}";
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./procfs.patch
|
|
||||||
(runCommand "resource-dir.patch" {
|
|
||||||
clangLibDir = "${libclang.lib}/lib";
|
|
||||||
} ''
|
|
||||||
substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
|
|
||||||
'')
|
|
||||||
./gnu-install-dirs.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs = [ "out" "lib" "dev" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake ninja python3 which swig lit makeWrapper lua5_3
|
|
||||||
] ++ lib.optionals enableManpages [
|
|
||||||
python3.pkgs.sphinx python3.pkgs.recommonmark
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
ncurses
|
|
||||||
zlib
|
|
||||||
libedit
|
|
||||||
libxml2
|
|
||||||
libllvm
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
libobjc
|
|
||||||
xpc
|
|
||||||
Foundation
|
|
||||||
bootstrap_cmds
|
|
||||||
Carbon
|
|
||||||
Cocoa
|
|
||||||
];
|
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
|
|
||||||
"-DLLVM_ENABLE_RTTI=OFF"
|
|
||||||
"-DClang_DIR=${libclang.dev}/lib/cmake"
|
|
||||||
"-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
"-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
|
|
||||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
|
||||||
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
|
|
||||||
] ++ lib.optionals enableManpages [
|
|
||||||
"-DLLVM_ENABLE_SPHINX=ON"
|
|
||||||
"-DSPHINX_OUTPUT_MAN=ON"
|
|
||||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
|
||||||
] ++ lib.optionals doCheck [
|
|
||||||
"-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
|
|
||||||
"-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
|
|
||||||
];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
installCheckPhase = ''
|
|
||||||
if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
|
|
||||||
return 1;
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
|
|
||||||
|
|
||||||
# Editor support
|
|
||||||
# vscode:
|
|
||||||
install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
|
|
||||||
mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
|
||||||
ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = llvm_meta // {
|
|
||||||
homepage = "https://lldb.llvm.org/";
|
|
||||||
description = "A next-generation high-performance debugger";
|
|
||||||
longDescription = ''
|
|
||||||
LLDB is a next generation, high-performance debugger. It is built as a set
|
|
||||||
of reusable components which highly leverage existing libraries in the
|
|
||||||
larger LLVM Project, such as the Clang expression parser and LLVM
|
|
||||||
disassembler.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
} // lib.optionalAttrs enableManpages {
|
|
||||||
pname = "lldb-manpages";
|
|
||||||
|
|
||||||
ninjaFlags = [ "docs-lldb-man" ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [];
|
|
||||||
|
|
||||||
# manually install lldb man page
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/man/man1
|
|
||||||
install docs/man/lldb.1 -t $out/share/man/man1/
|
|
||||||
'';
|
|
||||||
|
|
||||||
postPatch = null;
|
|
||||||
postInstall = null;
|
|
||||||
|
|
||||||
outputs = [ "out" ];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = llvm_meta // {
|
|
||||||
description = "man pages for LLDB ${version}";
|
|
||||||
};
|
|
||||||
})
|
|
@ -101,8 +101,8 @@ in rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
vala_0_56 = generic {
|
vala_0_56 = generic {
|
||||||
version = "0.56.9";
|
version = "0.56.13";
|
||||||
sha256 = "VVeMfE8Ges4CjlQYBq8kD4CEy2/wzFVMqorAjL+Lzi8=";
|
sha256 = "SYgiMDbH4eSHTEdtDei9nL5QDuJe8Zp25WDcC21Wrgc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vala = vala_0_56;
|
vala = vala_0_56;
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
{ self, callPackage, fetchFromGitHub, lib, passthruFun }:
|
{ self, callPackage, fetchFromGitHub, lib, passthruFun }:
|
||||||
|
|
||||||
callPackage ./default.nix {
|
callPackage ./default.nix rec {
|
||||||
version = "2.0.5-2022-09-13";
|
# The patch version is the timestamp of the git commit,
|
||||||
|
# obtain via `cat $(nix-build -A luajit_2_0.src)/.relver`
|
||||||
|
version = "2.0.1693340858";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LuaJIT";
|
owner = "LuaJIT";
|
||||||
repo = "LuaJIT";
|
repo = "LuaJIT";
|
||||||
rev = "46e62cd963a426e83a60f691dcbbeb742c7b3ba2";
|
rev = "c6ee7e19d107b4f9a140bb2ccf99162e26318c69";
|
||||||
hash = "sha256-/XR9+6NjXs2TrUVKJNkH2h970BkDNFqMDJTWcy/bswU=";
|
hash = "sha256-3/7ASZRniytw5RkOy0F9arHkZevq6dxmya+Ba3A5IIA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
|
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
{ self, callPackage, fetchFromGitHub, passthruFun }:
|
{ self, callPackage, fetchFromGitHub, passthruFun }:
|
||||||
|
|
||||||
callPackage ./default.nix {
|
callPackage ./default.nix rec {
|
||||||
version = "2.1.0-2022-10-04";
|
# The patch version is the timestamp of the git commit,
|
||||||
|
# obtain via `cat $(nix-build -A luajit_2_1.src)/.relver`
|
||||||
|
version = "2.1.1693350652";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LuaJIT";
|
owner = "LuaJIT";
|
||||||
repo = "LuaJIT";
|
repo = "LuaJIT";
|
||||||
rev = "6c4826f12c4d33b8b978004bc681eb1eef2be977";
|
rev = "41fb94defa8f830ce69a8122b03f6ac3216d392a";
|
||||||
hash = "sha256-GMgoSVHrfIuLdk8mW9XgdemNFsAkkQR4wiGGjaAXAKg=";
|
hash = "sha256-iY80CA97RqJ9gF1Kl7ms/lC6m6KScjxWmljh5Gy7Brg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit self passthruFun;
|
inherit self passthruFun;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user