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`).
|
||||
|
||||
##### `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}
|
||||
|
||||
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
|
||||
, waf, python3 }:
|
||||
, wafHook, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ams-lv2";
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config waf.hook python3 ];
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -50,7 +50,7 @@
|
||||
, suil
|
||||
, taglib
|
||||
, vamp-plugin-sdk
|
||||
, waf
|
||||
, wafHook
|
||||
, xjadeo
|
||||
, videoSupport ? true
|
||||
}:
|
||||
@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
waf.hook
|
||||
wafHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -52,7 +52,7 @@
|
||||
, suil
|
||||
, taglib
|
||||
, vamp-plugin-sdk
|
||||
, waf
|
||||
, wafHook
|
||||
, xjadeo
|
||||
, videoSupport ? true
|
||||
}:
|
||||
@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
waf.hook
|
||||
wafHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, lv2, pkg-config, python3, waf }:
|
||||
{ lib, stdenv, fetchurl, lv2, pkg-config, python3, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fomp";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-xnGijydiO3B7BjSlryFuH1j/OPio9hCYbniq2IXp2W8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config waf.hook ];
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
buildInputs = [ lv2 python3 ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -30,7 +30,7 @@
|
||||
, serd
|
||||
, sord
|
||||
, sratom
|
||||
, waf
|
||||
, wafHook
|
||||
, wrapGAppsHook
|
||||
, zita-convolver
|
||||
, zita-resampler
|
||||
@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
||||
intltool
|
||||
pkg-config
|
||||
python3
|
||||
waf.hook
|
||||
wafHook
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
||||
, lv2, pkg-config, python3, raul, serd, sord, sratom
|
||||
, waf
|
||||
, wafHook
|
||||
, suil
|
||||
}:
|
||||
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
deepClone = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config waf.hook python3 python3.pkgs.wrapPython ];
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 python3.pkgs.wrapPython ];
|
||||
buildInputs = [
|
||||
boost ganv glibmm gtkmm2 libjack2 lilv lv2
|
||||
python3 raul serd sord sratom suil
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python3
|
||||
, serd, sord , sratom, suil, waf }:
|
||||
, serd, sord , sratom, suil, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jalv";
|
||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-ktFBeBtmQ3MgfDQ868XpuM7UYfryb9zLld8AB7BjnhY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config waf.hook ];
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
buildInputs = [
|
||||
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 {
|
||||
pname = "mda-lv2";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-zWYRcCSuBJzzrKg/npBKcCdyJOI6lp9yqcXQEKSYV9s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config waf.hook python3 ];
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||
buildInputs = [ fftwSinglePrec lv2 ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib, stdenv, fetchFromGitHub, pkg-config, python3, cairo, libjpeg, ntk, libjack2
|
||||
, libsndfile, ladspaH, liblo, libsigcxx, lrdf, waf
|
||||
, libsndfile, ladspaH, liblo, libsigcxx, lrdf, wafHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "sha256-iMJNMDytNXpEkUhL0RILSd25ixkm8HL/edtOZta0Pf4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config waf.hook ];
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
buildInputs = [ python3 cairo libjpeg ntk libjack2 libsndfile
|
||||
ladspaH liblo libsigcxx lrdf
|
||||
];
|
||||
|
@ -10,7 +10,7 @@
|
||||
, libjack2
|
||||
, pkg-config
|
||||
, python3
|
||||
, waf
|
||||
, wafHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
gtkmm2
|
||||
libjack2
|
||||
python3
|
||||
waf.hook
|
||||
wafHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ 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 {
|
||||
pname = "hamster";
|
||||
@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
|
||||
wrapGAppsHook
|
||||
intltool
|
||||
itstool
|
||||
waf.hook
|
||||
wafHook
|
||||
glib
|
||||
gobject-introspection
|
||||
];
|
||||
|
@ -10,7 +10,7 @@
|
||||
, desktop-file-utils
|
||||
, shared-mime-info
|
||||
, wrapGAppsHook
|
||||
, waf
|
||||
, wafHook
|
||||
, bash
|
||||
, dbus
|
||||
}:
|
||||
@ -31,7 +31,7 @@ buildPythonApplication rec {
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook intltool
|
||||
# For setup hook
|
||||
gobject-introspection waf.hook
|
||||
gobject-introspection wafHook
|
||||
itstool # for help pages
|
||||
desktop-file-utils # for update-desktop-database
|
||||
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
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, makeWrapper
|
||||
, rustPlatform
|
||||
, cmake
|
||||
, yasm
|
||||
, nasm
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, clang
|
||||
, wrapGAppsHook
|
||||
, atk
|
||||
, bzip2
|
||||
, cairo
|
||||
, dbus
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gst_all_1
|
||||
, gtk3
|
||||
, xdotool
|
||||
, libxcb
|
||||
, libXfixes
|
||||
, alsa-lib
|
||||
, pulseaudio
|
||||
, libgit2
|
||||
, libpulseaudio
|
||||
, libsodium
|
||||
, libXtst
|
||||
, libvpx
|
||||
, libyuv
|
||||
, libopus
|
||||
, libaom
|
||||
, libxkbcommon
|
||||
, libsciter
|
||||
, wrapGAppsHook
|
||||
, writeText
|
||||
, xdotool
|
||||
, pam
|
||||
, pango
|
||||
, zlib
|
||||
, zstd
|
||||
, stdenv
|
||||
, darwin
|
||||
, alsa-lib
|
||||
, makeDesktopItem
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rustdesk";
|
||||
version = "1.1.9";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rustdesk";
|
||||
repo = "rustdesk";
|
||||
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 = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"confy-0.4.0" = "sha256-e91cvEixhpPzIthAxzTa3fDY6eCsHUy/eZQAqs7QTDo=";
|
||||
"parity-tokio-ipc-0.7.3-1" = "sha256-eULJePtBu0iBI3It/bPH0h82Obsb1PJALgwYwrnCFYI=";
|
||||
"rdev-0.5.0-2" = "sha256-7CEZ2wIM4QAPfY1tGKqXfHplTaxHnccVqFRPjY21Svo=";
|
||||
"tokio-socks-0.5.1-1" = "sha256-45QQ6FrhGU9uEhbKXTKd/mY6MDumO6p46NmlakdyDQk=";
|
||||
"libappindicator-0.6.1" = "sha256-JGnnZrcwbh8WJ6+/4bYhfD3HvgF2C7XaaGb6TaMRWdw=";
|
||||
"magnum-opus-0.4.0" = "sha256-U5uuN4YolOYDnFNbtPpwYefcBDTUUyioui0UCcW8dyo=";
|
||||
"confy-0.4.0-2" = "sha256-r5VeggXrIq5Cwxc2WSrxQDI5Gvbw979qIUQfMKHgBUI=";
|
||||
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
|
||||
"hwcodec-0.1.1" = "sha256-EQGJr5kH8O48y1oSrzFF3QGGpGFKP3v4gn2JquAkdlY=";
|
||||
"impersonate_system-0.1.0" = "sha256-qbaTw9gxMKDjX5pKdUrKlmIxCxWwb99YuWPDvD2A3kY=";
|
||||
"keepawake-0.4.3" = "sha256-sLQf9q88dB2bkTN01UlxRWSpoF1kFsqqpYC4Sw6cbEY=";
|
||||
"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=";
|
||||
"sciter-rs-0.5.57" = "sha256-ZZnZDhMjK0LjgmK0da1yvB0uoKueLhhhQtzmjoN+1R0=";
|
||||
"systray-0.4.1" = "sha256-p1PMr/8oS6zHx4+Ng4zCqt0xZ57cq3wAu6/agyWq5Jw=";
|
||||
"sciter-rs-0.5.57" = "sha256-NQPDlMQ0sGY8c9lBMlplT82sNjbgJy2m/+REnF3fz8M=";
|
||||
"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 = [
|
||||
(makeDesktopItem {
|
||||
name = "rustdesk";
|
||||
@ -113,17 +80,60 @@ rustPlatform.buildRustPackage rec {
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
rm Cargo.lock
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
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
|
||||
# can find them.
|
||||
postInstall = ''
|
||||
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
|
||||
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
|
||||
|
||||
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; {
|
||||
description = "Yet another remote desktop software";
|
||||
description = "Virtual / remote desktop infrastructure for everyone! Open source TeamViewer / Citrix alternative";
|
||||
homepage = "https://rustdesk.com";
|
||||
license = licenses.gpl3Only;
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ ocfox leixb ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
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
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, waf
|
||||
, wafHook
|
||||
, pkg-config
|
||||
, cmake
|
||||
, qtbase
|
||||
@ -65,7 +65,7 @@ mkDerivation rec {
|
||||
--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 = [
|
||||
qtbase
|
||||
|
@ -29,7 +29,7 @@ assert sendEmailSupport -> perlSupport;
|
||||
assert svnSupport -> perlSupport;
|
||||
|
||||
let
|
||||
version = "2.41.0";
|
||||
version = "2.42.0";
|
||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||
in
|
||||
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
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";
|
||||
@ -396,7 +396,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ primeos wmertens globin ];
|
||||
maintainers = with lib.maintainers; [ primeos wmertens globin kashw2 ];
|
||||
mainProgram = "git";
|
||||
};
|
||||
})
|
||||
|
@ -21,11 +21,11 @@ let
|
||||
|
||||
self = python3Packages.buildPythonApplication rec {
|
||||
pname = "mercurial${lib.optionalString fullBuild "-full"}";
|
||||
version = "6.5.1";
|
||||
version = "6.5.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
|
||||
sha256 = "sha256-M/fejYs2B/orQIzeS4cl4RfrCtQZJqeH6qtAnKik/C8=";
|
||||
sha256 = "sha256-r8OdcGeXZZPIMyuOl6Eq/Tk7VQN8X7nDyrGkLHVg9go=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
@ -35,7 +35,7 @@ let
|
||||
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "mercurial-${version}";
|
||||
sha256 = "sha256-tPv0UeZOsHDGKzXWeA/fFio7d3EN+KGioDu/1WH1drc=";
|
||||
sha256 = "sha256-dcyHmLkRadNK30Vv0XsCEaZGTIcF/L29lLe58ggB3Lg=";
|
||||
sourceRoot = "mercurial-${version}/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";
|
||||
homepage = "https://www.mercurial-scm.org";
|
||||
downloadPage = "https://www.mercurial-scm.org/release/";
|
||||
changelog = "https://wiki.mercurial-scm.org/Release${versions.majorMinor version}";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ eelco lukegb pacien techknowlogick ];
|
||||
platforms = platforms.unix;
|
||||
|
@ -107,6 +107,8 @@ let
|
||||
&& !(stdenv.targetPlatform.useAndroidPrebuilt or false)
|
||||
&& !(stdenv.targetPlatform.isiOS or false)
|
||||
&& 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
|
||||
isGccArchSupported = arch:
|
||||
@ -374,7 +376,7 @@ stdenv.mkDerivation {
|
||||
''
|
||||
+ optionalString useGccForLibs ''
|
||||
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
|
||||
|
@ -69,8 +69,8 @@ _multioutConfig() {
|
||||
# try to detect share/doc/${shareDocName}
|
||||
# Note: sadly, $configureScript detection comes later in configurePhase,
|
||||
# and reordering would cause more trouble than worth.
|
||||
if [ -z "$shareDocName" ]; then
|
||||
local confScript="$configureScript"
|
||||
if [ -z "${shareDocName:-}" ]; then
|
||||
local confScript="${configureScript:-}"
|
||||
if [ -z "$confScript" ] && [ -x ./configure ]; then
|
||||
confScript=./configure
|
||||
fi
|
||||
|
@ -75,7 +75,7 @@ patchShebangs() {
|
||||
read -r oldInterpreterLine < "$f"
|
||||
read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"
|
||||
|
||||
if [[ -z "$pathName" ]]; then
|
||||
if [[ -z "${pathName:-}" ]]; then
|
||||
if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then
|
||||
pathName=HOST_PATH
|
||||
else
|
||||
|
@ -21,6 +21,9 @@ _separateDebugInfo() {
|
||||
while IFS= read -r -d $'\0' i; do
|
||||
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.
|
||||
local id="$($READELF -n "$i" | sed 's/.*Build ID: \([0-9a-f]*\).*/\1/; t; d')"
|
||||
if [ "${#id}" != 40 ]; then
|
||||
|
@ -49,11 +49,19 @@ stripDirs() {
|
||||
local ranlibCmd="$2"
|
||||
local paths="$3"
|
||||
local stripFlags="$4"
|
||||
local excludeFlags=()
|
||||
local pathsNew=
|
||||
|
||||
[ -z "$cmd" ] && echo "stripDirs: Strip 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
|
||||
for p in ${paths}; do
|
||||
if [ -e "$prefix/$p" ]; then
|
||||
@ -67,7 +75,7 @@ stripDirs() {
|
||||
local striperr
|
||||
striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"
|
||||
# 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
|
||||
# 'strip` can corrupt files when writes to them in parallel:
|
||||
# https://github.com/NixOS/nixpkgs/issues/246147#issuecomment-1657072039
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
|
||||
, gtk3, libwnck, libxfce4util, xfce4-panel, waf, xfce
|
||||
, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce
|
||||
, gitUpdater
|
||||
}:
|
||||
|
||||
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config vala waf.hook python3 ];
|
||||
nativeBuildInputs = [ pkg-config vala wafHook python3 ];
|
||||
buildInputs = [ gtk3 libwnck libxfce4util xfce4-panel ];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -47,102 +47,43 @@ let
|
||||
inherit (lib) optionals optional;
|
||||
in
|
||||
|
||||
optionals (is49 || is6) [
|
||||
./9/fix-struct-redefinition-on-glibc-2.36.patch
|
||||
] ++ optionals (is49 || (is6 && !stdenv.targetPlatform.isRedox)) [
|
||||
./use-source-date-epoch.patch
|
||||
] ++ optionals (is6 && !stdenv.targetPlatform.isRedox) [
|
||||
./6/0001-Fix-build-for-glibc-2.31.patch
|
||||
] ++ optionals (!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";
|
||||
})
|
||||
] ++ 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
|
||||
#
|
||||
# Patches below are organized into three general categories:
|
||||
# 1. Patches relevant to gcc>=12 on every platform
|
||||
# 2. Patches relevant to gcc>=12 on specific platforms
|
||||
# 3. Patches relevant only to gcc<12
|
||||
#
|
||||
|
||||
|
||||
## 1. Patches relevant to gcc>=12 on every platform ####################################
|
||||
|
||||
[]
|
||||
++ 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 (atLeast7 && !atLeast10 && targetPlatform.isNetBSD) ./libstdc++-netbsd-ctypes.patch
|
||||
++ optional (noSysDirs) (if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)
|
||||
++ optionals (is6 && langAda) [
|
||||
./gnat-cflags.patch
|
||||
./6/gnat-glibc234.patch
|
||||
] ++ optional (noSysDirs && atLeast10 && !atLeast13 && (is10 || (!atLeast12 -> hostPlatform.isRiscV))) ./no-sys-dirs-riscv.patch
|
||||
++ optional (noSysDirs && is13) ./13/no-sys-dirs-riscv.patch
|
||||
++ optional (noSysDirs && is9 && hostPlatform.isRiscV) ./no-sys-dirs-riscv-gcc9.patch
|
||||
++ optionals (langAda || atLeast12) [
|
||||
./gnat-cflags-11.patch
|
||||
] ++ optionals (langAda && (is9 || is10)) [
|
||||
./gnat-cflags.patch
|
||||
] ++ optionals atLeast12 [
|
||||
./gcc-12-gfortran-driving.patch
|
||||
./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=";
|
||||
}) ];
|
||||
++ optionals (noSysDirs) (
|
||||
[(if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)] ++
|
||||
({
|
||||
"13" = [ ./13/no-sys-dirs-riscv.patch ];
|
||||
"12" = [ ./no-sys-dirs-riscv.patch ];
|
||||
"11" = [ ./no-sys-dirs-riscv.patch ];
|
||||
"10" = [ ./no-sys-dirs-riscv.patch ];
|
||||
"9" = [ ./no-sys-dirs-riscv-gcc9.patch ];
|
||||
}."${majorVersion}" or [])
|
||||
)
|
||||
++ optional (atLeast12 && langAda) ./gnat-cflags-11.patch
|
||||
++ optional langFortran (if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch)
|
||||
++ optional atLeast7 ./ppc-musl.patch
|
||||
++ optional is12 ./12/lambda-ICE-PR109241.patch # backport ICE fix on ccache code
|
||||
++ 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";
|
||||
})
|
||||
++ optional (!atLeast12 && langFortran) ./gfortran-driving.patch
|
||||
++ optional (!atLeast49 && hostPlatform.isDarwin) ./gfortran-darwin-NXConstStr.patch
|
||||
++ 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
|
||||
|
||||
|
||||
|
||||
## 2. Patches relevant to gcc>=12 on specific platforms ####################################
|
||||
|
||||
### Musl+Go+gcc12
|
||||
|
||||
# backport fixes to build gccgo with musl libc
|
||||
++ optionals (atLeast12 && langGo && stdenv.hostPlatform.isMusl) [
|
||||
++ optionals (stdenv.hostPlatform.isMusl && langGo && atLeast12) [
|
||||
(fetchpatch {
|
||||
excludes = [ "gcc/go/gofrontend/MERGE" ];
|
||||
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
|
||||
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
|
||||
|
||||
# Use absolute path in GNAT dylib install names on Darwin
|
||||
++ 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
|
||||
++ optional (atLeast6 && !atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf")
|
||||
(./. + "/${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)
|
||||
++ optionals is49
|
||||
(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 = "e137c72d099f9b3b47f4cc718aa11eab14df1a9c"; sha256 = "1ms0dmz74yf6kwgjfs4d2fhj8y6mcp2n184r3jk44wx2xc24vgb2"; }])
|
||||
|
||||
++ optional (atLeast49 && !atLeast9) ./libsanitizer-no-cyclades-9.patch
|
||||
++ optional (is49 && !atLeast6) [
|
||||
# gcc-11 compatibility
|
||||
(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 {
|
||||
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=";
|
||||
})
|
||||
++ lib.optionals is48 [
|
||||
## gcc 4.8 only ##############################################################################
|
||||
|
||||
++ optional (!atLeast49 && hostPlatform.isDarwin) ./gfortran-darwin-NXConstStr.patch
|
||||
++ optionals is48 [
|
||||
(fetchpatch {
|
||||
name = "libc_name_p.diff"; # needed to build with gcc6
|
||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=ec1cc0263f1";
|
||||
|
@ -46,11 +46,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go";
|
||||
version = "1.20.7";
|
||||
version = "1.20.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
||||
hash = "sha256-LF7pyeweczsNu8K9/tP2IwblHYFyvzj09OVCsnUg9Zc=";
|
||||
hash = "sha256-ONcXFPpSeflyQEUZVtjkfjwbal3ny4QTeUnWK13TGC4=";
|
||||
};
|
||||
|
||||
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" ];
|
||||
|
||||
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
|
||||
./gnu-install-dirs.patch
|
||||
../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
|
||||
|
@ -137,7 +137,7 @@ let
|
||||
./lldb/procfs.patch
|
||||
./lldb/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -19,11 +19,11 @@ stdenv.mkDerivation {
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
|
||||
'' + 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 = [
|
||||
./no-threads.patch
|
||||
../../common/libcxxabi/no-threads.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" ];
|
||||
|
||||
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
|
||||
./gnu-install-dirs.patch
|
||||
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
|
||||
|
@ -152,7 +152,7 @@ let
|
||||
./lldb/procfs.patch
|
||||
./lldb/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -22,11 +22,11 @@ stdenv.mkDerivation {
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./no-threads.patch
|
||||
../../common/libcxxabi/no-threads.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" ];
|
||||
|
||||
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
|
||||
./gnu-install-dirs.patch
|
||||
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
|
||||
|
@ -139,19 +139,20 @@ let
|
||||
src = fetch "lldb" "0g3pj1m3chafavpr35r9fynm85y2hdyla6klj0h28khxs2613i78";
|
||||
patches =
|
||||
let
|
||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
||||
resourceDirPatch = callPackage
|
||||
({ substituteAll, libclang }: substituteAll
|
||||
{
|
||||
src = ./lldb/resource-dir.patch;
|
||||
clangLibDir = "${libclang.lib}/lib";
|
||||
} ''
|
||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
||||
'')) { };
|
||||
})
|
||||
{ };
|
||||
in
|
||||
[
|
||||
./lldb/procfs.patch
|
||||
resourceDirPatch
|
||||
./lldb/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
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 {
|
||||
patches =
|
||||
let
|
||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
||||
resourceDirPatch = callPackage
|
||||
({ substituteAll, libclang }: substituteAll
|
||||
{
|
||||
src = ./lldb/resource-dir.patch;
|
||||
clangLibDir = "${libclang.lib}/lib";
|
||||
} ''
|
||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
||||
'')) { };
|
||||
})
|
||||
{ };
|
||||
in
|
||||
[
|
||||
./lldb/procfs.patch
|
||||
@ -164,7 +165,7 @@ let
|
||||
&& !stdenv.targetPlatform.isAarch64
|
||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
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 {
|
||||
patches =
|
||||
let
|
||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
||||
resourceDirPatch = callPackage
|
||||
({ substituteAll, libclang }: substituteAll
|
||||
{
|
||||
src = ./lldb/resource-dir.patch;
|
||||
clangLibDir = "${libclang.lib}/lib";
|
||||
} ''
|
||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
||||
'')) { };
|
||||
})
|
||||
{ };
|
||||
in
|
||||
[
|
||||
./lldb/procfs.patch
|
||||
@ -165,7 +166,7 @@ let
|
||||
&& !stdenv.targetPlatform.isAarch64
|
||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
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 {
|
||||
patches =
|
||||
let
|
||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
||||
resourceDirPatch = callPackage
|
||||
({ substituteAll, libclang }: substituteAll
|
||||
{
|
||||
src = ./lldb/resource-dir.patch;
|
||||
clangLibDir = "${libclang.lib}/lib";
|
||||
} ''
|
||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
||||
'')) { };
|
||||
})
|
||||
{ };
|
||||
in
|
||||
[
|
||||
./lldb/procfs.patch
|
||||
@ -213,7 +214,7 @@ in let
|
||||
&& !stdenv.targetPlatform.isAarch64
|
||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
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 =
|
||||
let
|
||||
resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
|
||||
resourceDirPatch = callPackage
|
||||
({ substituteAll, libclang }: substituteAll
|
||||
{
|
||||
src = ./lldb/resource-dir.patch;
|
||||
clangLibDir = "${libclang.lib}/lib";
|
||||
} ''
|
||||
substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
|
||||
'')) { };
|
||||
})
|
||||
{ };
|
||||
in
|
||||
[
|
||||
# FIXME: do we need this? ./procfs.patch
|
||||
@ -218,7 +219,7 @@ in let
|
||||
&& !stdenv.targetPlatform.isAarch64
|
||||
&& (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
|
||||
) ./lldb/cpu_subtype_arm64e_replacement.patch;
|
||||
inherit llvm_meta release_version;
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
# 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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
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 = [
|
||||
./purity.patch
|
||||
../../common/clang/5-8-purity.patch
|
||||
./gnu-install-dirs.patch
|
||||
(substituteAll {
|
||||
src = ./LLVMgold-path.patch;
|
||||
|
@ -41,7 +41,7 @@ let
|
||||
];
|
||||
|
||||
patches = [
|
||||
./purity.patch
|
||||
../../common/clang/5-8-purity.patch
|
||||
./gnu-install-dirs.patch
|
||||
(substituteAll {
|
||||
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 = [
|
||||
./purity.patch
|
||||
../../common/clang/5-8-purity.patch
|
||||
# make clang -xhip use $PATH to find executables
|
||||
./HIP-use-PATH-7.patch
|
||||
# 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 = [
|
||||
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
||||
../../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
|
||||
../../common/compiler-rt/libsanitizer-no-cyclades-9.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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
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 = [
|
||||
./purity.patch
|
||||
../../common/clang/5-8-purity.patch
|
||||
./xpc.patch
|
||||
# Backport for -static-pie, which the latter touches, and which is nice in
|
||||
# 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 = [
|
||||
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
||||
../../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
|
||||
../../common/compiler-rt/libsanitizer-no-cyclades-9.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
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./no-threads.patch
|
||||
../../common/libcxxabi/no-threads.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 = [
|
||||
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
|
||||
../../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
|
||||
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
|
||||
# Fix build on armv6l
|
||||
|
@ -150,7 +150,7 @@ let
|
||||
# doesn’t support like LLVM. Probably we should move to some other
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -19,11 +19,11 @@ stdenv.mkDerivation {
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
|
||||
'' + 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 = [
|
||||
./no-threads.patch
|
||||
../../common/libcxxabi/no-threads.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" ];
|
||||
|
||||
sourceRoot =
|
||||
if lib.versionOlder release_version "13" then null
|
||||
else "${src.name}/${pname}";
|
||||
sourceRoot = lib.optional (lib.versionAtLeast release_version "13") "${src.name}/${pname}";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ lib.optionals (lib.versionAtLeast release_version "15") [
|
||||
ninja
|
||||
] ++ [
|
||||
python3
|
||||
which
|
||||
swig
|
||||
lit
|
||||
makeWrapper
|
||||
] ++ lib.optionals (lib.versionAtLeast release_version "14") [
|
||||
lua5_3
|
||||
] ++ lib.optionals enableManpages [
|
||||
python3.pkgs.sphinx
|
||||
python3.pkgs.recommonmark
|
||||
] ++ lib.optionals (lib.versionAtLeast release_version "14") [
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -87,11 +83,13 @@ stdenv.mkDerivation (rec {
|
||||
#
|
||||
# See here for context:
|
||||
# https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
|
||||
++ lib.optional (
|
||||
++ lib.optional
|
||||
(
|
||||
stdenv.targetPlatform.isDarwin
|
||||
&& !stdenv.targetPlatform.isAarch64
|
||||
&& (lib.versionAtLeast release_version "15")
|
||||
) (
|
||||
)
|
||||
(
|
||||
runCommand "bsm-audit-session-header" { } ''
|
||||
install -Dm444 \
|
||||
"${lib.getDev darwin.apple_sdk.sdk}/include/bsm/audit_session.h" \
|
||||
@ -104,7 +102,7 @@ stdenv.mkDerivation (rec {
|
||||
cmakeFlags = [
|
||||
"-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
|
||||
"-DLLVM_ENABLE_RTTI=OFF"
|
||||
"-DClang_DIR=${libclang.dev}/lib/cmake"
|
||||
"-DClang_DIR=${lib.getDev libclang}/lib/cmake"
|
||||
"-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
|
||||
@ -127,27 +125,20 @@ stdenv.mkDerivation (rec {
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
doInstallCheck = lib.versionOlder release_version "15";
|
||||
|
||||
# TODO: cleanup with mass-rebuild
|
||||
installCheckPhase =
|
||||
if ((lib.versions.major release_version) == "14") then ''
|
||||
installCheckPhase = ''
|
||||
if [ ! -e $lib/${python3.sitePackages}/lldb/_lldb*.so ] ; then
|
||||
echo "ERROR: python files not installed where expected!";
|
||||
return 1;
|
||||
fi
|
||||
'' # Something lua is built on older versions but this file doesn't exist.
|
||||
+ lib.optionalString (lib.versionAtLeast release_version "14") ''
|
||||
if [ ! -e "$lib/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then
|
||||
echo "ERROR: lua files not installed where expected!";
|
||||
return 1;
|
||||
fi
|
||||
'' else if (((lib.versions.major release_version) == "15") || (lib.versions.major release_version) == "16") then ''
|
||||
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 = ''
|
||||
@ -157,7 +148,7 @@ stdenv.mkDerivation (rec {
|
||||
# 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/${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 // {
|
||||
@ -174,17 +165,15 @@ stdenv.mkDerivation (rec {
|
||||
(lib.versionOlder release_version "11" && stdenv.isDarwin && stdenv.isAarch64)
|
||||
|| (((lib.versions.major release_version) == "13") && stdenv.isDarwin);
|
||||
};
|
||||
} // lib.optionalAttrs (lib.versionOlder release_version "15") {
|
||||
doInstallCheck = true;
|
||||
} // lib.optionalAttrs enableManpages {
|
||||
pname = "lldb-manpages";
|
||||
|
||||
buildPhase =
|
||||
if lib.versionOlder release_version "15" then ''
|
||||
buildPhase = lib.optionalString (lib.versionOlder release_version "15") ''
|
||||
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 = [ ];
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
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 (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
|
||||
@ -198,7 +215,7 @@ in let
|
||||
# doesn’t support like LLVM. Probably we should move to some other
|
||||
# file.
|
||||
|
||||
bintools-unwrapped = callPackage ./bintools {};
|
||||
bintools-unwrapped = callPackage ../common/bintools.nix { };
|
||||
|
||||
bintoolsNoLibc = wrapBintoolsWith {
|
||||
bintools = tools.bintools-unwrapped;
|
||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
postUnpack = lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + lib.optionalString stdenv.hostPlatform.isWasm ''
|
||||
patch -p1 -d llvm -i ${./wasm.patch}
|
||||
patch -p1 -d llvm -i ${../../common/libcxxabi/wasm.patch}
|
||||
'';
|
||||
|
||||
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 {
|
||||
version = "0.56.9";
|
||||
sha256 = "VVeMfE8Ges4CjlQYBq8kD4CEy2/wzFVMqorAjL+Lzi8=";
|
||||
version = "0.56.13";
|
||||
sha256 = "SYgiMDbH4eSHTEdtDei9nL5QDuJe8Zp25WDcC21Wrgc=";
|
||||
};
|
||||
|
||||
vala = vala_0_56;
|
||||
|
@ -1,13 +1,15 @@
|
||||
{ self, callPackage, fetchFromGitHub, lib, passthruFun }:
|
||||
|
||||
callPackage ./default.nix {
|
||||
version = "2.0.5-2022-09-13";
|
||||
callPackage ./default.nix rec {
|
||||
# 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 {
|
||||
owner = "LuaJIT";
|
||||
repo = "LuaJIT";
|
||||
rev = "46e62cd963a426e83a60f691dcbbeb742c7b3ba2";
|
||||
hash = "sha256-/XR9+6NjXs2TrUVKJNkH2h970BkDNFqMDJTWcy/bswU=";
|
||||
rev = "c6ee7e19d107b4f9a140bb2ccf99162e26318c69";
|
||||
hash = "sha256-3/7ASZRniytw5RkOy0F9arHkZevq6dxmya+Ba3A5IIA=";
|
||||
};
|
||||
|
||||
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
|
||||
|
@ -1,13 +1,15 @@
|
||||
{ self, callPackage, fetchFromGitHub, passthruFun }:
|
||||
|
||||
callPackage ./default.nix {
|
||||
version = "2.1.0-2022-10-04";
|
||||
callPackage ./default.nix rec {
|
||||
# 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 {
|
||||
owner = "LuaJIT";
|
||||
repo = "LuaJIT";
|
||||
rev = "6c4826f12c4d33b8b978004bc681eb1eef2be977";
|
||||
hash = "sha256-GMgoSVHrfIuLdk8mW9XgdemNFsAkkQR4wiGGjaAXAKg=";
|
||||
rev = "41fb94defa8f830ce69a8122b03f6ac3216d392a";
|
||||
hash = "sha256-iY80CA97RqJ9gF1Kl7ms/lC6m6KScjxWmljh5Gy7Brg=";
|
||||
};
|
||||
|
||||
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