diff options
Diffstat (limited to 'pkgs')
106 files changed, 2083 insertions, 2870 deletions
diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix deleted file mode 100644 index f45fb95aba59a..0000000000000 --- a/pkgs/applications/misc/apvlv/default.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, pcre, libxkbcommon, libepoxy -, gtk3, poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - version = "0.1.5"; - pname = "apvlv"; - - src = fetchFromGitHub { - owner = "naihe2010"; - repo = "apvlv"; - rev = "v${version}"; - sha256 = "1n4xiic8lqnv3mqi7wpdv866gyyakax71gffv3n9427rmcld465i"; - }; - - env.NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler"; - - nativeBuildInputs = [ - cmake - pkg-config - wrapGAppsHook - ]; - - buildInputs = [ - poppler pcre libxkbcommon libepoxy - freetype gtk3 - libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation - ]; - - patches = [ - (fetchpatch { - url = "https://github.com/naihe2010/apvlv/commit/d432635b9c5ea6c052a2ae1fb71aedec5c4ad57a.patch"; - sha256 = "1am8dgv2kkpqmm2vaysa61czx8ppdx94zb3c59sx88np50jpy70w"; - }) - (fetchpatch { - url = "https://github.com/naihe2010/apvlv/commit/4c7a583e8431964def482e5471f02e6de8e62a7b.patch"; - sha256 = "1dszm120lwm90hcg5zmd4vr6pjyaxc84qmb7k0fr59mmb3qif62j"; - }) - # fix build with gcc7 - (fetchpatch { - url = "https://github.com/naihe2010/apvlv/commit/a3a895772a27d76dab0c37643f0f4c73f9970e62.patch"; - sha256 = "1fpc7wr1ajilvwi5gjsy5g9jcx4bl03gp5dmajg90ljqbhwz2bfi"; - }) - ./fix-build-with-poppler-0.73.0.patch - ]; - - installPhase = '' - # binary - mkdir -p $out/bin - cp src/apvlv $out/bin/apvlv - - # displays pdfStartup.pdf as default pdf entry - mkdir -p $out/share/doc/apvlv/ - cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf - cp ../main_menubar.glade $out/share/doc/apvlv/main_menubar.glade - '' - + lib.optionalString (!stdenv.isDarwin) '' - install -D ../apvlv.desktop $out/share/applications/apvlv.desktop - ''; - - meta = with lib; { - homepage = "http://naihe2010.github.io/apvlv/"; - description = "PDF viewer with Vim-like behaviour"; - mainProgram = "apvlv"; - longDescription = '' - apvlv is a PDF/DJVU/UMD/TXT Viewer Under Linux/WIN32 - with Vim-like behaviour. - ''; - - license = licenses.lgpl2; - platforms = platforms.linux; - maintainers = [ maintainers.ardumont ]; - }; - -} diff --git a/pkgs/applications/misc/apvlv/fix-build-with-poppler-0.73.0.patch b/pkgs/applications/misc/apvlv/fix-build-with-poppler-0.73.0.patch deleted file mode 100644 index d2a7831dca639..0000000000000 --- a/pkgs/applications/misc/apvlv/fix-build-with-poppler-0.73.0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/ApvlvPdf.cc b/src/ApvlvPdf.cc -index 765b112..83d133f 100644 ---- a/src/ApvlvPdf.cc -+++ b/src/ApvlvPdf.cc -@@ -29,7 +29,7 @@ - #include "ApvlvPdf.h" - - #ifndef POPPLER_WITH_GDK --#include <goo/gtypes.h> -+#include <goo/gfile.h> - - static void - copy_cairo_surface_to_pixbuf (cairo_surface_t *surface, diff --git a/pkgs/applications/misc/skytemple/default.nix b/pkgs/applications/misc/skytemple/default.nix index b054be4be0948..98e41bf73e763 100644 --- a/pkgs/applications/misc/skytemple/default.nix +++ b/pkgs/applications/misc/skytemple/default.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication rec { pname = "skytemple"; - version = "1.6.3"; + version = "1.6.5"; pyproject = true; src = fetchFromGitHub { owner = "SkyTemple"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-norcfoxZG9crgQz7p1+Gfne5il1AWfxdZa4JE/LfXU8="; + hash = "sha256-yfXu1sboKi8STPiX5FUD9q+1U9GfhOyEKDRvU9rgdfI="; }; buildInputs = [ diff --git a/pkgs/applications/misc/tvbrowser/default.nix b/pkgs/applications/misc/tvbrowser/default.nix index 384b5362a4ad3..f997652c27ecb 100644 --- a/pkgs/applications/misc/tvbrowser/default.nix +++ b/pkgs/applications/misc/tvbrowser/default.nix @@ -5,6 +5,7 @@ , ant , jdk , makeWrapper +, stripJavaArchivesHook , callPackage }: @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { hash = "sha256-dmNfI6T0MU7UtMH+C/2hiAeDwZlFCB4JofQViZezoqI="; }; - nativeBuildInputs = [ ant jdk makeWrapper ]; + nativeBuildInputs = [ ant jdk makeWrapper stripJavaArchivesHook ]; buildPhase = '' runHook preBuild diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 4bd6e358fdf6c..54697febefe32 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -479,6 +479,10 @@ let for chromiumBinary in "$libExecPath/$packageName" "$libExecPath/libGLESv2.so"; do patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader pciutils ]}:$(patchelf --print-rpath "$chromiumBinary")" "$chromiumBinary" done + + # replace bundled vulkan-loader + rm "$libExecPath/libvulkan.so.1" + ln -s -t "$libExecPath" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1" ''; passthru = { diff --git a/pkgs/applications/radio/dablin/default.nix b/pkgs/applications/radio/dablin/default.nix index 70c322f268e87..5ccce0a2dc369 100644 --- a/pkgs/applications/radio/dablin/default.nix +++ b/pkgs/applications/radio/dablin/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "dablin"; - version = "1.15.0"; + version = "1.16.0"; src = fetchFromGitHub { owner = "Opendigitalradio"; repo = "dablin"; rev = version; - sha256 = "sha256-tmmOk7nOkuSCjPNHiwAqP5yf1r8+fsCeDGCxhZUImD4="; + sha256 = "sha256-1rjL0dSEgF7FF72KiT6Tyj7/wbRc24LzyzmM1IGdglc="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/system/coolercontrol/Cargo.lock b/pkgs/applications/system/coolercontrol/Cargo.lock index 2a81c7a8916e2..a5b28c64c0bc5 100644 --- a/pkgs/applications/system/coolercontrol/Cargo.lock +++ b/pkgs/applications/system/coolercontrol/Cargo.lock @@ -58,18 +58,18 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" [[package]] name = "arboard" -version = "3.3.0" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08" +checksum = "1faa3c733d9a3dd6fbaf85da5d162a2e03b2e0033a90dceb0e2a90fdd1e5380a" dependencies = [ "clipboard-win", - "core-graphics", + "core-graphics 0.23.1", "image", "log", "objc", @@ -77,7 +77,8 @@ dependencies = [ "objc_id", "parking_lot", "thiserror", - "winapi", + "windows-sys 0.48.0", + "wl-clipboard-rs", "x11rb", ] @@ -99,13 +100,13 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 4.0.3", - "event-listener-strategy", + "event-listener 5.1.0", + "event-listener-strategy 0.5.0", "futures-core", "pin-project-lite", ] @@ -158,9 +159,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" dependencies = [ "async-lock 3.3.0", "cfg-if", @@ -168,8 +169,8 @@ dependencies = [ "futures-io", "futures-lite 2.2.0", "parking", - "polling 3.3.2", - "rustix 0.38.30", + "polling 3.5.0", + "rustix 0.38.31", "slab", "tracing", "windows-sys 0.52.0", @@ -191,7 +192,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ "event-listener 4.0.3", - "event-listener-strategy", + "event-listener-strategy 0.4.0", "pin-project-lite", ] @@ -208,7 +209,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -220,7 +221,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -229,13 +230,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.2.2", + "async-io 2.3.1", "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.30", + "rustix 0.38.31", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -255,7 +256,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -289,14 +290,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] -name = "auto-launch" -version = "0.5.0" +name = "atty" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f012b8cc0c850f34117ec8252a44418f2e34a2cf501de89e29b241ae5f79471" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "dirs", - "thiserror", - "winreg 0.10.1", + "hermit-abi 0.1.19", + "libc", + "winapi", ] [[package]] @@ -349,9 +350,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "block" @@ -417,15 +418,21 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f" + +[[package]] +name = "bytecount" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" [[package]] name = "byteorder" @@ -510,9 +517,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.6" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a" +checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" dependencies = [ "smallvec", "target-lexicon", @@ -526,15 +533,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -544,14 +551,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" [[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_lex", + "indexmap 1.9.3", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] name = "clipboard-win" -version = "4.5.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +checksum = "3ec832972fefb8cf9313b45a0d1945e29c9c251f1d4c6eafc5fe2124c02d2e81" dependencies = [ "error-code", - "str-buf", - "winapi", ] [[package]] @@ -564,8 +593,8 @@ dependencies = [ "block", "cocoa-foundation", "core-foundation", - "core-graphics", - "foreign-types", + "core-graphics 0.22.3", + "foreign-types 0.3.2", "libc", "objc", ] @@ -617,14 +646,13 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "coolercontrol" -version = "1.1.1" +version = "1.2.2" dependencies = [ - "portpicker", + "rand 0.8.5", "serde", "serde_json", "tauri", "tauri-build", - "tauri-plugin-autostart", "tauri-plugin-localhost", "tauri-plugin-single-instance", "tauri-plugin-store", @@ -656,7 +684,20 @@ dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types 0.5.0", "libc", ] @@ -682,9 +723,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] @@ -757,7 +798,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -767,14 +808,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" dependencies = [ "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "darling" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955" dependencies = [ "darling_core", "darling_macro", @@ -782,27 +823,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be" dependencies = [ "darling_core", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -827,6 +868,17 @@ dependencies = [ ] [[package]] +name = "derive-new" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -850,15 +902,6 @@ dependencies = [ ] [[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys", -] - -[[package]] name = "dirs-next" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -869,17 +912,6 @@ dependencies = [ ] [[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] name = "dirs-sys-next" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -897,6 +929,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.8.1", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] name = "dtoa" version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -926,9 +973,9 @@ dependencies = [ "cc", "memchr", "rustc_version", - "toml 0.8.8", + "toml 0.8.10", "vswhom", - "winreg 0.51.0", + "winreg", ] [[package]] @@ -948,9 +995,9 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" dependencies = [ "enumflags2_derive", "serde", @@ -958,13 +1005,13 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -985,13 +1032,9 @@ dependencies = [ [[package]] name = "error-code" -version = "2.3.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" -dependencies = [ - "libc", - "str-buf", -] +checksum = "281e452d3bad4005426416cdba5ccfd4f5c1280e10099e21db27f7c1c28347fc" [[package]] name = "event-listener" @@ -1022,6 +1065,17 @@ dependencies = [ ] [[package]] +name = "event-listener" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] name = "event-listener-strategy" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1032,6 +1086,16 @@ dependencies = [ ] [[package]] +name = "event-listener-strategy" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener 5.1.0", + "pin-project-lite", +] + +[[package]] name = "fastrand" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1048,9 +1112,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fdeflate" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" dependencies = [ "simd-adler32", ] @@ -1078,6 +1142,12 @@ dependencies = [ ] [[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] name = "flate2" version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1099,7 +1169,28 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared", + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.49", ] [[package]] @@ -1109,6 +1200,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] name = "form_urlencoded" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1195,7 +1292,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -1347,12 +1444,12 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.3.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ "libc", - "winapi", + "windows-targets 0.48.5", ] [[package]] @@ -1473,7 +1570,7 @@ dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -1572,9 +1669,18 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" [[package]] name = "hex" @@ -1632,9 +1738,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "iana-time-zone" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1689,7 +1795,7 @@ dependencies = [ "globset", "log", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "same-file", "walkdir", "winapi-util", @@ -1722,9 +1828,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -1755,7 +1861,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.6", "libc", "windows-sys 0.48.0", ] @@ -1823,9 +1929,9 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" dependencies = [ "wasm-bindgen", ] @@ -1881,15 +1987,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1b3b6681973cea8cc3bce7391e6d7d5502720b80a581c9a95c9cbaf592826aa" dependencies = [ "gtk-sys", - "libloading", + "libloading 0.7.4", "once_cell", ] [[package]] name = "libc" -version = "0.2.152" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" @@ -1902,12 +2008,22 @@ dependencies = [ ] [[package]] +name = "libloading" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] name = "libredox" version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "libc", "redox_syscall", ] @@ -1929,9 +2045,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -2033,10 +2149,16 @@ dependencies = [ ] [[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", "simd-adler32", @@ -2086,6 +2208,7 @@ dependencies = [ "cfg-if", "libc", "memoffset 0.7.1", + "pin-utils", ] [[package]] @@ -2095,6 +2218,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] name = "nu-ansi-term" version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2105,10 +2238,16 @@ dependencies = [ ] [[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -2119,7 +2258,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.6", "libc", ] @@ -2219,6 +2358,22 @@ dependencies = [ ] [[package]] +name = "os_pipe" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] name = "overload" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2291,6 +2446,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.2.3", +] + +[[package]] name = "phf" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2394,7 +2559,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -2449,9 +2614,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" @@ -2460,7 +2625,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ "base64 0.21.7", - "indexmap 2.1.0", + "indexmap 2.2.3", "line-wrap", "quick-xml", "serde", @@ -2469,9 +2634,9 @@ dependencies = [ [[package]] name = "png" -version = "0.17.11" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -2498,28 +2663,19 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.2" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix 0.38.30", + "rustix 0.38.31", "tracing", "windows-sys 0.52.0", ] [[package]] -name = "portpicker" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be97d76faf1bfab666e1375477b23fde79eccf0276e9b63b92a39d676a889ba9" -dependencies = [ - "rand 0.8.5", -] - -[[package]] name = "powerfmt" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2579,9 +2735,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.76" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -2713,13 +2869,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -2734,9 +2890,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -2786,14 +2942,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", - "linux-raw-sys 0.4.12", + "linux-raw-sys 0.4.13", "windows-sys 0.52.0", ] @@ -2805,9 +2961,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "safemem" @@ -2858,39 +3014,40 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ + "indexmap 2.2.3", "itoa 1.0.10", "ryu", "serde", @@ -2904,7 +3061,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -2918,16 +3075,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.4.0" +version = "3.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" +checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" dependencies = [ "base64 0.21.7", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.1.0", + "indexmap 2.2.3", "serde", + "serde_derive", "serde_json", "serde_with_macros", "time", @@ -2935,14 +3093,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.4.0" +version = "3.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" +checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3040,9 +3198,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "socket2" @@ -3104,12 +3262,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] -name = "str-buf" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" - -[[package]] name = "string_cache" version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3154,9 +3306,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496" dependencies = [ "proc-macro2", "quote", @@ -3182,25 +3334,25 @@ version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" dependencies = [ - "cfg-expr 0.15.6", + "cfg-expr 0.15.7", "heck 0.4.1", "pkg-config", - "toml 0.8.8", + "toml 0.8.10", "version-compare 0.1.1", ] [[package]] name = "tao" -version = "0.16.5" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f5aefd6be4cd3ad3f047442242fd9f57cbfb3e565379f66b5e14749364fa4f" +checksum = "d22205b267a679ca1c590b9f178488d50981fc3e48a1b91641ae31593db875ce" dependencies = [ "bitflags 1.3.2", "cairo-rs", "cc", "cocoa", "core-foundation", - "core-graphics", + "core-graphics 0.22.3", "crossbeam-channel", "dirs-next", "dispatch", @@ -3268,13 +3420,15 @@ checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "tauri" -version = "1.5.4" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd27c04b9543776a972c86ccf70660b517ecabbeced9fb58d8b961a13ad129af" +checksum = "f078117725e36d55d29fafcbb4b1e909073807ca328ae8deb8c0b3843aac0fed" dependencies = [ "anyhow", + "clap", "cocoa", "dirs-next", + "dunce", "embed_plist", "encoding_rs", "flate2", @@ -3373,22 +3527,9 @@ dependencies = [ ] [[package]] -name = "tauri-plugin-autostart" -version = "0.0.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?rev=70d99086de3a58189d65c49954a3495972880725#70d99086de3a58189d65c49954a3495972880725" -dependencies = [ - "auto-launch", - "log", - "serde", - "serde_json", - "tauri", - "thiserror", -] - -[[package]] name = "tauri-plugin-localhost" version = "0.1.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?rev=70d99086de3a58189d65c49954a3495972880725#70d99086de3a58189d65c49954a3495972880725" +source = "git+https://github.com/tauri-apps/plugins-workspace?rev=c6a5b7ae479eaa598db2430a87fe32a3429198bf#c6a5b7ae479eaa598db2430a87fe32a3429198bf" dependencies = [ "http 1.0.0", "log", @@ -3402,7 +3543,7 @@ dependencies = [ [[package]] name = "tauri-plugin-single-instance" version = "0.0.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?rev=70d99086de3a58189d65c49954a3495972880725#70d99086de3a58189d65c49954a3495972880725" +source = "git+https://github.com/tauri-apps/plugins-workspace?rev=c6a5b7ae479eaa598db2430a87fe32a3429198bf#c6a5b7ae479eaa598db2430a87fe32a3429198bf" dependencies = [ "log", "serde", @@ -3416,7 +3557,7 @@ dependencies = [ [[package]] name = "tauri-plugin-store" version = "0.0.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?rev=70d99086de3a58189d65c49954a3495972880725#70d99086de3a58189d65c49954a3495972880725" +source = "git+https://github.com/tauri-apps/plugins-workspace?rev=c6a5b7ae479eaa598db2430a87fe32a3429198bf#c6a5b7ae479eaa598db2430a87fe32a3429198bf" dependencies = [ "log", "serde", @@ -3427,11 +3568,11 @@ dependencies = [ [[package]] name = "tauri-plugin-window-state" -version = "0.1.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?rev=70d99086de3a58189d65c49954a3495972880725#70d99086de3a58189d65c49954a3495972880725" +version = "0.1.1" +source = "git+https://github.com/tauri-apps/plugins-workspace?rev=c6a5b7ae479eaa598db2430a87fe32a3429198bf#c6a5b7ae479eaa598db2430a87fe32a3429198bf" dependencies = [ "bincode", - "bitflags 2.4.1", + "bitflags 2.4.2", "log", "serde", "serde_json", @@ -3462,9 +3603,9 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cae61fbc731f690a4899681c9052dde6d05b159b44563ace8186fc1bfb7d158" +checksum = "067c56fc153b3caf406d7cd6de4486c80d1d66c0f414f39e94cb2f5543f6445f" dependencies = [ "arboard", "cocoa", @@ -3483,9 +3624,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece74810b1d3d44f29f732a7ae09a63183d63949bbdd59c61f8ed2a1b70150db" +checksum = "75ad0bbb31fccd1f4c56275d0a5c3abdf1f59999f72cb4ef8b79b4ed42082a21" dependencies = [ "brotli", "ctor", @@ -3523,14 +3664,13 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" dependencies = [ "cfg-if", "fastrand 2.0.1", - "redox_syscall", - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.52.0", ] @@ -3546,6 +3686,21 @@ dependencies = [ ] [[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] name = "thin-slice" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3553,22 +3708,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3594,12 +3749,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.31" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa 1.0.10", + "num-conv", "powerfmt", "serde", "time-core", @@ -3614,10 +3770,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -3650,9 +3807,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -3683,14 +3840,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.6", ] [[package]] @@ -3708,24 +3865,24 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.3", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.3", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.1", ] [[package]] @@ -3747,7 +3904,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", ] [[package]] @@ -3790,10 +3947,24 @@ dependencies = [ ] [[package]] +name = "tree_magic_mini" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91adfd0607cacf6e4babdb870e9bec4037c1c4b151cfd279ccefc5e0c7feaa6d" +dependencies = [ + "bytecount", + "fnv", + "lazy_static", + "nom", + "once_cell", + "petgraph", +] + +[[package]] name = "treediff" -version = "4.0.2" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303" +checksum = "4d127780145176e2b5d16611cc25a900150e86e9fd79d3bde6ff3a37359c9cb5" dependencies = [ "serde_json", ] @@ -3817,9 +3988,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -3838,9 +4009,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "url" @@ -3862,9 +4033,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "uuid" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "getrandom 0.2.12", ] @@ -3943,9 +4114,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3953,24 +4124,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3978,22 +4149,95 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.49", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" + +[[package]] +name = "wayland-backend" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" +dependencies = [ + "cc", + "downcast-rs", + "rustix 0.38.31", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" +dependencies = [ + "bitflags 2.4.2", + "rustix 0.38.31", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +dependencies = [ + "bitflags 2.4.2", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.4.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +dependencies = [ + "dlib", + "log", + "pkg-config", +] [[package]] name = "webkit2gtk" @@ -4082,9 +4326,9 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "winapi" @@ -4112,15 +4356,6 @@ dependencies = [ ] [[package]] -name = "winapi-wsapoll" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" -dependencies = [ - "winapi", -] - -[[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4420,20 +4655,20 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.34" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] [[package]] -name = "winreg" -version = "0.10.1" +name = "winnow" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401" dependencies = [ - "winapi", + "memchr", ] [[package]] @@ -4447,6 +4682,26 @@ dependencies = [ ] [[package]] +name = "wl-clipboard-rs" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57af79e973eadf08627115c73847392e6b766856ab8e3844a59245354b23d2fa" +dependencies = [ + "derive-new", + "libc", + "log", + "nix", + "os_pipe", + "tempfile", + "thiserror", + "tree_magic_mini", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", +] + +[[package]] name = "wry" version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4455,7 +4710,7 @@ dependencies = [ "base64 0.13.1", "block", "cocoa", - "core-graphics", + "core-graphics 0.22.3", "crossbeam-channel", "dunce", "gdk", @@ -4507,52 +4762,47 @@ dependencies = [ [[package]] name = "x11rb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" dependencies = [ "gethostname", - "nix", - "winapi", - "winapi-wsapoll", + "rustix 0.38.31", "x11rb-protocol", ] [[package]] name = "x11rb-protocol" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" -dependencies = [ - "nix", -] +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" [[package]] name = "xattr" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys 0.4.12", - "rustix 0.38.30", + "linux-raw-sys 0.4.13", + "rustix 0.38.31", ] [[package]] name = "xdg-home" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" dependencies = [ - "nix", + "libc", "winapi", ] [[package]] name = "zbus" -version = "3.14.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8" dependencies = [ "async-broadcast", "async-executor", @@ -4591,9 +4841,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "3.14.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/pkgs/applications/system/coolercontrol/coolercontrol-gui.nix b/pkgs/applications/system/coolercontrol/coolercontrol-gui.nix index 2e9e9699d074d..c56f6bf427a64 100644 --- a/pkgs/applications/system/coolercontrol/coolercontrol-gui.nix +++ b/pkgs/applications/system/coolercontrol/coolercontrol-gui.nix @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage { cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "tauri-plugin-autostart-0.0.0" = "sha256-ATw3dbvG3IsLaLBg5wGk7hVRqipwL4xPGKdtD9a5VIw="; + "tauri-plugin-localhost-0.1.0" = "sha256-z+cxkNtaaV7m7Rt2mpdw0Rm0oDR4VZPKwtdhY5V/HlI="; }; }; diff --git a/pkgs/applications/system/coolercontrol/coolercontrol-ui-data.nix b/pkgs/applications/system/coolercontrol/coolercontrol-ui-data.nix index 96cd6f9bf3fa7..dddf459163371 100644 --- a/pkgs/applications/system/coolercontrol/coolercontrol-ui-data.nix +++ b/pkgs/applications/system/coolercontrol/coolercontrol-ui-data.nix @@ -11,7 +11,7 @@ buildNpmPackage { inherit version src; sourceRoot = "${src.name}/coolercontrol-ui"; - npmDepsHash = "sha256-7Hd1LT1ro83QMuoDGvFGsrTlQaSia+lVG8lyaAibiAo="; + npmDepsHash = "sha256-ZnuTtksB+HVYobL48S3RI8Ibe3pvDaF+YFAJJumiNxA="; postBuild = '' cp -r dist $out diff --git a/pkgs/applications/system/coolercontrol/coolercontrold.nix b/pkgs/applications/system/coolercontrol/coolercontrold.nix index 087fa4ad215eb..96ca8613de254 100644 --- a/pkgs/applications/system/coolercontrol/coolercontrold.nix +++ b/pkgs/applications/system/coolercontrol/coolercontrold.nix @@ -2,6 +2,7 @@ , buildNpmPackage , testers , coolercontrol +, runtimeShell }: { version @@ -14,13 +15,17 @@ rustPlatform.buildRustPackage { inherit version src; sourceRoot = "${src.name}/coolercontrold"; - cargoHash = "sha256-Ybqr36AkcPnGJeFcCqg/zuWcaooZ1gJPCi5IbgXmeJ0="; + cargoHash = "sha256-qXZ/LXbKkLvnEQibGyMvkkYhz2eEGUHsYxVF3EbCpFc="; - # copy the frontend static resources to a directory for embedding postPatch = '' + # copy the frontend static resources to a directory for embedding mkdir -p ui-build cp -R ${coolercontrol.coolercontrol-ui-data}/* ui-build/ substituteInPlace build.rs --replace '"./resources/app"' '"./ui-build"' + + # Hardcode a shell + substituteInPlace src/repositories/utils.rs \ + --replace-fail 'Command::new("sh")' 'Command::new("${runtimeShell}")' ''; postInstall = '' diff --git a/pkgs/applications/system/coolercontrol/default.nix b/pkgs/applications/system/coolercontrol/default.nix index 6562da13d3995..14375495f34a9 100644 --- a/pkgs/applications/system/coolercontrol/default.nix +++ b/pkgs/applications/system/coolercontrol/default.nix @@ -4,13 +4,13 @@ }: let - version = "1.1.1"; + version = "1.2.2"; src = fetchFromGitLab { owner = "coolercontrol"; repo = "coolercontrol"; rev = version; - hash = "sha256-QgUYfiiADKVHqOU9WTv+VAqep0IU6Ezy8ZzJwkdHIJQ="; + hash = "sha256-c+MM8MAM8WSKSKECSfy/Iw7KWiWHxG75YShtv9d2Sjc="; }; meta = with lib; { diff --git a/pkgs/by-name/ap/api-linter/package.nix b/pkgs/by-name/ap/api-linter/package.nix index 99e238eb97be1..554c470fe3e54 100644 --- a/pkgs/by-name/ap/api-linter/package.nix +++ b/pkgs/by-name/ap/api-linter/package.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "api-linter"; - version = "1.64.0"; + version = "1.65.0"; src = fetchFromGitHub { owner = "googleapis"; repo = "api-linter"; rev = "v${version}"; - hash = "sha256-fkO7wcWivQ1do+KYQJe3OX+WN/jS3cd4pYsZUHojfiU="; + hash = "sha256-j5xvFg7C74sVjISZMWgURVHnJM6HBZtr90b0UXbGbdg="; }; - vendorHash = "sha256-RWB2sq3uNRrxGdBzKI03diaa5fF6LvglUV8L4Nz4fyk="; + vendorHash = "sha256-Bz7+4iVR2X36vt6wx3nIgWmVL+i9ncwdzYP9tBEpplk="; subPackages = [ "cmd/api-linter" ]; diff --git a/pkgs/by-name/ap/apvlv/package.nix b/pkgs/by-name/ap/apvlv/package.nix new file mode 100644 index 0000000000000..5771769323512 --- /dev/null +++ b/pkgs/by-name/ap/apvlv/package.nix @@ -0,0 +1,113 @@ +{ + cmake, + copyDesktopItems, + ebook_tools, + fetchFromGitHub, + freetype, + ghostscript, + gtk3, + installShellFiles, + lib, + libepoxy, + libpthreadstubs, + libXdmcp, + libxkbcommon, + libxml2, + libxshmfence, + man, + nix-update-script, + pcre, + pkg-config, + poppler, + stdenv, + testers, + webkitgtk, + wrapGAppsHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "apvlv"; + + # If you change the version, please also update src.rev accordingly + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "naihe2010"; + repo = "apvlv"; + rev = "refs/tags/v0.5.0-final"; + hash = "sha256-5Wbv3dXieymhhPmEKQu8X/38WsDA1T/IBPoMXdpzcaA="; + }; + + env.NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler"; + + nativeBuildInputs = [ + cmake + copyDesktopItems + ghostscript + installShellFiles + man + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + ebook_tools + freetype + gtk3 + libepoxy + libpthreadstubs + libXdmcp + libxkbcommon + libxml2 + libxshmfence # otherwise warnings in compilation + pcre + poppler + webkitgtk + ]; + + installPhase = '' + runHook preInstall + + # binary + mkdir -p $out/bin + cp src/apvlv $out/bin/apvlv + + # displays pdfStartup.pdf as default pdf entry + mkdir -p $out/share/doc/apvlv/ + cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf + cp ../main_menubar.glade $out/share/doc/apvlv/main_menubar.glade + + mkdir -p $out/etc + cp ../apvlvrc.example $out/etc/apvlvrc + + installManPage ../apvlv.1 + + runHook postInstall + ''; + + desktopItems = [ + "../apvlv.desktop" + ]; + + passthru = { + tests.version = testers.testVersion { + command = "${lib.getExe finalAttrs.finalPackage} -v"; + package = finalAttrs.finalPackage; + version = "${finalAttrs.version}-rel"; + }; + }; + + meta = { + changelog = "https://github.com/naihe2010/apvlv/blob/v${finalAttrs.version}/NEWS"; + description = "PDF viewer with Vim-like behaviour"; + homepage = "https://naihe2010.github.io/apvlv/"; + license = lib.licenses.lgpl2; + longDescription = '' + apvlv is a PDF/DJVU/UMD/TXT Viewer Under Linux/WIN32 + with Vim-like behaviour. + ''; + mainProgram = "apvlv"; + maintainers = with lib.maintainers; [ ardumont anthonyroussel ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix index 8a57b15fe1b25..51cca7486247c 100644 --- a/pkgs/by-name/as/ast-grep/package.nix +++ b/pkgs/by-name/as/ast-grep/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "ast-grep"; - version = "0.20.3"; + version = "0.20.5"; src = fetchFromGitHub { owner = "ast-grep"; repo = "ast-grep"; rev = version; - hash = "sha256-R8xzj6QcLXdttk7fxqLmJht3vSGryWKf2/Swod4R23w="; + hash = "sha256-pAFxgmoyx8fOKzlf//uv39fEValtOBq66iAPjOCxqjA="; }; - cargoHash = "sha256-490NoWXvGv8vvW0oHYlal/dIPq9y99At9mepDTcEWko="; + cargoHash = "sha256-dh6jFnWzIexvQY8lFbDfUeHfDe/kR9UXbZBepNUCap4="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ei/eigenlayer/package.nix b/pkgs/by-name/ei/eigenlayer/package.nix index f3d9d8cfee8af..6f24e3169e355 100644 --- a/pkgs/by-name/ei/eigenlayer/package.nix +++ b/pkgs/by-name/ei/eigenlayer/package.nix @@ -6,16 +6,16 @@ }: buildGoModule rec { pname = "eigenlayer"; - version = "0.7.0"; + version = "0.7.2"; src = fetchFromGitHub { owner = "Layr-Labs"; repo = "eigenlayer-cli"; rev = "v${version}"; - hash = "sha256-4KN5AletaQ/Xpr/mCLgB/ceVbqMzWoi7bKoWRDePnuc="; + hash = "sha256-vGXu6xQUeXLUkmLqJEXaVNXhxXZSmVlnQicBZAfj768="; }; - vendorHash = "sha256-6RF32eWU7HS9C3T7hDVHjWxX/3Ch/ixOGHml30Q9PaU="; + vendorHash = "sha256-9DbyfUKJjzqbZcX7j/df6fdtgZt3RY1kq2H2RK+5Vfk="; ldflags = ["-s" "-w"]; subPackages = ["cmd/eigenlayer"]; diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix index 35f7b05bd26dd..b9696d263117d 100644 --- a/pkgs/by-name/ez/eza/package.nix +++ b/pkgs/by-name/ez/eza/package.nix @@ -17,16 +17,16 @@ rustPlatform.buildRustPackage rec { pname = "eza"; - version = "0.18.9"; + version = "0.18.10"; src = fetchFromGitHub { owner = "eza-community"; repo = "eza"; rev = "v${version}"; - hash = "sha256-SXGJTxTHCizgVBLp5fO5Appfe1B3+DFrobxc/aIlJRo="; + hash = "sha256-qXyuibsgEF/wv2736r3EMpoXjyDFI3QFjVRsg9cI0u0="; }; - cargoHash = "sha256-COq1WSX7DUoXb7ojISyzmDV/a3zqXI0oKCSsPPi4/CA="; + cargoHash = "sha256-9xtJJDP3f4aRPTgnpor0nSp5ehbX7Qt9U3LN9kkDWrI="; nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; buildInputs = [ zlib ] diff --git a/pkgs/by-name/fl/flake-checker/package.nix b/pkgs/by-name/fl/flake-checker/package.nix index de64552764b7a..368770d057998 100644 --- a/pkgs/by-name/fl/flake-checker/package.nix +++ b/pkgs/by-name/fl/flake-checker/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "flake-checker"; - version = "0.1.17"; + version = "0.1.18"; src = fetchFromGitHub { owner = "DeterminateSystems"; repo = "flake-checker"; rev = "v${version}"; - hash = "sha256-DSqyM+TY+nNi84hfzXx7F4hpwjX3/SL5mA2pKlY/454="; + hash = "sha256-XoYpiqatCQCYuKpVGlWcteVp71LXh+leFEtbL5lb0rs="; }; - cargoHash = "sha256-dN1wSLNU+5CR6pngMpIsrKY+4rwkNy7UAcROTBv2GB0="; + cargoHash = "sha256-LM0tYSRhM4GGb/Pa5l2xMAJ26ZyAuSEKlZansE/VNNw="; buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security diff --git a/pkgs/by-name/hi/hidviz/package.nix b/pkgs/by-name/hi/hidviz/package.nix new file mode 100644 index 0000000000000..0ee04d13161ba --- /dev/null +++ b/pkgs/by-name/hi/hidviz/package.nix @@ -0,0 +1,48 @@ +{ lib +, fetchFromGitHub +, cmake +, pkg-config +, stdenv +# Package dependencies +, qt6 +, libusb1 +, protobuf +, asio +}: + +stdenv.mkDerivation rec { + pname = "hidviz"; + version = "0.2"; + + src = fetchFromGitHub { + owner = "hidviz"; + repo = "hidviz"; + rev = "v${version}"; + sha256 = "sha256-9crHFYVNNxJjwJojwqB8qdAGyr1Ieux9qC3m3rpIJw0="; + }; + + preConfigure = '' + substituteInPlace libhidx/cmake_modules/Findasio.cmake --replace-fail '/usr/include/asio' '${lib.getDev asio}/include/asio' + ''; + + nativeBuildInputs = [ + cmake + pkg-config + qt6.qttools + qt6.wrapQtAppsHook + ]; + buildInputs = [ + qt6.qtwebengine + libusb1 + protobuf + asio + ]; + + meta = with lib; { + homepage = "https://github.com/hidviz/hidviz"; + description = "A GUI application for in-depth analysis of USB HID class devices."; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ nayala ]; + }; +} diff --git a/pkgs/by-name/ni/nix-health/package.nix b/pkgs/by-name/ni/nix-health/package.nix index 5a5179cfcd0a3..bd9c66856ae60 100644 --- a/pkgs/by-name/ni/nix-health/package.nix +++ b/pkgs/by-name/ni/nix-health/package.nix @@ -9,15 +9,15 @@ rustPlatform.buildRustPackage rec { pname = "nix-health"; - version = "0.2.3"; + version = "0.3.0"; src = fetchCrate { inherit version; pname = "nix_health"; - hash = "sha256-WdzzEFk9VPld6AFTNRsaQbMymw1+mNn/TViGO/Qv0so="; + hash = "sha256-u5ipQnux/ulllfPFyUdeLj7gAf3Vu7KL2Q4uYxtv1q4="; }; - cargoHash = "sha256-xmuosy9T/52D90uXMQAIxtaYDOlCekNCtzpu/3GyQXE="; + cargoHash = "sha256-oTO9V+zGmMgDXrt6w1fB81b+WmK3MRI/eCTNEuVM0hk="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libiconv openssl ] @@ -30,9 +30,9 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Check the health of your Nix setup"; - homepage = "https://zero-to-flakes.com/health/"; + homepage = "https://github.com/juspay/nix-health"; license = licenses.asl20; - maintainers = with maintainers; [ srid ]; + maintainers = with maintainers; [ srid shivaraj-bh ]; mainProgram = "nix-health"; }; } diff --git a/pkgs/by-name/te/tegola/package.nix b/pkgs/by-name/te/tegola/package.nix new file mode 100644 index 0000000000000..f4847781f04f6 --- /dev/null +++ b/pkgs/by-name/te/tegola/package.nix @@ -0,0 +1,48 @@ +{ lib, buildGoModule, buildNpmPackage, fetchFromGitHub }: +let + version = "0.20.0"; + + src = fetchFromGitHub { + owner = "go-spatial"; + repo = "tegola"; + rev = "v${version}"; + sha256 = "sha256-Jlpw3JaU5+DO7Z5qruEMoLRf95cPGd9Z+MeDGSgbMjc="; + }; + + frontend = buildNpmPackage { + pname = "tegola-ui"; + inherit version; + + src = "${src}/ui"; + + npmDepsHash = "sha256-rhUdWt1X5/F0uvT8gI1T9ei6Y+HK1tKj2fuTKlMAwJk="; + + installPhase = '' + cp -r dist $out + ''; + }; +in +buildGoModule { + pname = "tegola"; + inherit version src; + + vendorHash = null; + + subPackages = [ "cmd/tegola" ]; + + ldflags = [ "-s" "-w" "-X github.com/go-spatial/tegola/internal/build.Version=${version}" ]; + + preBuild = '' + rm -rf ui/dist + cp -r ${frontend} ui/dist + go generate ./server + ''; + + meta = with lib; { + homepage = "https://www.tegola.io/"; + description = "Mapbox Vector Tile server"; + mainProgram = "tegola"; + maintainers = with maintainers; teams.geospatial.members ++ [ ingenieroariel ]; + license = licenses.mit; + }; +} diff --git a/pkgs/by-name/to/tootik/package.nix b/pkgs/by-name/to/tootik/package.nix index 4917f781528c2..9e7a2c801cf55 100644 --- a/pkgs/by-name/to/tootik/package.nix +++ b/pkgs/by-name/to/tootik/package.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tootik"; - version = "0.9.6"; + version = "0.10.0"; src = fetchFromGitHub { owner = "dimkr"; repo = "tootik"; rev = version; - hash = "sha256-RcuioFb0+mvZupwgaCN6qbcOy7gHp9KjJxRwaPI55yo="; + hash = "sha256-5rv+hkIBRu5uIUYsy7drJvcAHwL9tY8qD/dTj1mbarQ="; }; - vendorHash = "sha256-/52VjfoecXaML1cDRIEe1EQPYU8xeP9lu4lY3cMV3VE="; + vendorHash = "sha256-Lsc8nK4I1gZEW7RbEapHr3IJ6wTATLElX3XfNX1LwvM="; nativeBuildInputs = [ openssl ]; diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix index ab39f1d53f662..5e21f43076518 100644 --- a/pkgs/by-name/ui/uiua/package.nix +++ b/pkgs/by-name/ui/uiua/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "uiua"; - version = "0.10.2"; + version = "0.10.3"; src = fetchFromGitHub { owner = "uiua-lang"; repo = "uiua"; rev = version; - hash = "sha256-vfWSMsduaJOh3ueJsjXW4MzYKZYI959lmah8glwex4A="; + hash = "sha256-lqFDzM6EscC8cFPGq/JnEybctaurNRoEQi0zxFaKgwI="; }; - cargoHash = "sha256-LkW3/C67CuUpfGX3KQw3BjnmZpL1Vv+i7kqlXdhpP2I="; + cargoHash = "sha256-R97KO3MYmtO9C1Hi9kU+1FDdbOCVQk+gwVXTTvbeok4="; nativeBuildInputs = lib.optionals stdenv.isDarwin [ rustPlatform.bindgenHook diff --git a/pkgs/by-name/wh/where-is-my-sddm-theme/package.nix b/pkgs/by-name/wh/where-is-my-sddm-theme/package.nix index 6026a107f70b1..a38e70d6f810a 100644 --- a/pkgs/by-name/wh/where-is-my-sddm-theme/package.nix +++ b/pkgs/by-name/wh/where-is-my-sddm-theme/package.nix @@ -33,13 +33,13 @@ lib.checkListOfEnum "where-is-my-sddm-theme: variant" validVariants variants stdenvNoCC.mkDerivation rec { pname = "where-is-my-sddm-theme"; - version = "1.8.0"; + version = "1.9.0"; src = fetchFromGitHub { owner = "stepanzubkov"; repo = pname; rev = "v${version}"; - hash = "sha256-/D3i4QcE5+GbiAw32bFYJ7UxW/5NAl9FqQfiQc4akzI="; + hash = "sha256-eIqSS+Kzf543HiY8WItyZ2vO1SHp7y9yOAD9hIzFPfg="; }; propagatedUserEnvPkgs = diff --git a/pkgs/data/misc/clash-geoip/default.nix b/pkgs/data/misc/clash-geoip/default.nix index 0ec9663cbac31..7514d08f5e11f 100644 --- a/pkgs/data/misc/clash-geoip/default.nix +++ b/pkgs/data/misc/clash-geoip/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "clash-geoip"; - version = "20240312"; + version = "20240412"; src = fetchurl { url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb"; - sha256 = "sha256-h6nrlzFBRrvL+hUOnpWi/aixKDOlRoTV4zQYIHGslIY="; + sha256 = "sha256-xc31FwO9wku1MzLIuCScOKEgzwLPn5NuXi2H4L3+M9s="; }; dontUnpack = true; diff --git a/pkgs/desktops/lomiri/development/deviceinfo/default.nix b/pkgs/desktops/lomiri/development/deviceinfo/default.nix index 9ddadb83cbec9..6b05a4adddcf3 100644 --- a/pkgs/desktops/lomiri/development/deviceinfo/default.nix +++ b/pkgs/desktops/lomiri/development/deviceinfo/default.nix @@ -27,6 +27,12 @@ stdenv.mkDerivation (finalAttrs: { "bin" ]; + postPatch = '' + # For our automatic pkg-config output patcher to work, prefix must be used here + substituteInPlace headers/deviceinfo.pc.in \ + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' + ''; + strictDeps = true; nativeBuildInputs = [ diff --git a/pkgs/desktops/lomiri/development/trust-store/default.nix b/pkgs/desktops/lomiri/development/trust-store/default.nix index d797fbd8f6883..fbbd8cf4ac6f3 100644 --- a/pkgs/desktops/lomiri/development/trust-store/default.nix +++ b/pkgs/desktops/lomiri/development/trust-store/default.nix @@ -44,12 +44,14 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' # pkg-config patching hook expects prefix variable substituteInPlace data/trust-store.pc.in \ - --replace 'includedir=''${exec_prefix}' 'includedir=''${prefix}' + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ + --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' substituteInPlace src/core/trust/terminal_agent.h \ - --replace '/bin/whiptail' '${lib.getExe' newt "whiptail"}' + --replace-fail '/bin/whiptail' '${lib.getExe' newt "whiptail"}' '' + lib.optionalString (!finalAttrs.doCheck) '' - sed -i CMakeLists.txt -e '/add_subdirectory(tests)/d' + substituteInPlace CMakeLists.txt \ + --replace-fail 'add_subdirectory(tests)' "" ''; strictDeps = true; diff --git a/pkgs/desktops/lomiri/development/u1db-qt/default.nix b/pkgs/desktops/lomiri/development/u1db-qt/default.nix index 275fe85a55d24..a141abb79d699 100644 --- a/pkgs/desktops/lomiri/development/u1db-qt/default.nix +++ b/pkgs/desktops/lomiri/development/u1db-qt/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitLab +, fetchpatch , gitUpdater , testers , cmake @@ -27,16 +28,30 @@ stdenv.mkDerivation (finalAttrs: { "examples" ]; + patches = [ + # Fixes some issues with the pkg-config file + # Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/7 merged & in release + (fetchpatch { + name = "0001-u1db-qt-Fix-pkg-config-files-includedir-variable.patch"; + url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/ddafbfadfad6dfc508a866835354a4701dda1fe1.patch"; + hash = "sha256-entwjU9TiHuSuht7Cdl0k1v0cP7350a04/FXgTVhGmk="; + }) + ]; + postPatch = '' patchShebangs tests/strict-qmltestrunner.sh - # QMake query response is broken + # QMake query response is broken, just hardcode the expected location substituteInPlace modules/U1db/CMakeLists.txt \ - --replace "\''${QT_IMPORTS_DIR}" "$out/$qtQmlPrefix" + --replace-fail 'exec_program(''${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML"' 'exec_program(echo ARGS "''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"' + + # For our automatic pkg-config output patcher to work, prefix must be used here + substituteInPlace libu1db-qt.pc.in \ + --replace-fail 'libdir=''${exec_prefix}/lib' 'libdir=''${prefix}/lib' '' + lib.optionalString (!finalAttrs.doCheck) '' # Other locations add dependencies to custom check target from tests substituteInPlace CMakeLists.txt \ - --replace 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")' + --replace-fail 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")' ''; strictDeps = true; @@ -57,8 +72,8 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - # Needs qdoc - "-DBUILD_DOCS=OFF" + # Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379 + (lib.cmakeBool "BUILD_DOCS" false) ]; dontWrapQtApps = true; diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix index 418a39ebb6e02..d06ecf16942ef 100644 --- a/pkgs/desktops/lomiri/services/biometryd/default.nix +++ b/pkgs/desktops/lomiri/services/biometryd/default.nix @@ -38,12 +38,17 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' - # Uses pkg_get_variable, cannot substitute prefix with that + # Substitute systemd's prefix in pkg-config call substituteInPlace data/CMakeLists.txt \ - --replace 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'set(SYSTEMD_SYSTEM_UNIT_DIR "''${CMAKE_INSTALL_PREFIX}/lib/systemd/system")' + --replace-fail 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' substituteInPlace src/biometry/qml/Biometryd/CMakeLists.txt \ - --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # For our automatic pkg-config output patcher to work, prefix must be used here + substituteInPlace data/biometryd.pc.in \ + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ + --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' \ '' + lib.optionalString (!finalAttrs.doCheck) '' sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt ''; diff --git a/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix b/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix index 5c2f02b596fb5..6174bd9c54b07 100644 --- a/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix @@ -55,10 +55,16 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' - # pkg_get_variable doesn't let us substitute prefix pkg-config variable from systemd + # Substitute systemd's prefix in pkg-config call substituteInPlace CMakeLists.txt \ - --replace 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'set(SYSTEMD_USER_DIR "${placeholder "out"}/lib/systemd/user")' \ - --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \ + --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # For our automatic pkg-config output patcher to work, prefix must be used here + substituteInPlace src/{common/public,downloads/client,downloads/common,uploads/common}/*.pc.in \ + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' + substituteInPlace src/downloads/client/lomiri-download-manager-client.pc.in \ + --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' ''; strictDeps = true; diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix deleted file mode 100644 index e11a1b397e764..0000000000000 --- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix +++ /dev/null @@ -1,131 +0,0 @@ -{ lib, stdenv, llvm_meta, version, fetch -, cmake, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - inherit (stdenv.hostPlatform) isMusl; - -in - -stdenv.mkDerivation { - pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; - inherit version; - src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l"; - - nativeBuildInputs = [ cmake python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString [ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ]; - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ../../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 - # extra `/`. - ./normalize-var.patch - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - ./armv7l.patch - # Fix build on armv6l - ../../common/compiler-rt/armv6-mcr-dmb.patch - ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch - ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - preConfigure = lib.optionalString (useLLVM && !haveLibc) '' - cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding") - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - mainProgram = "hwasan_symbolize"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix index d8b673c70f222..7bd82c071538c 100644 --- a/pkgs/development/compilers/llvm/12/default.nix +++ b/pkgs/development/compilers/llvm/12/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake , preLibcCrossHeaders -, fetchpatch +, substitute, fetchFromGitHub, fetchpatch , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross @@ -235,14 +235,44 @@ let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l"; + patches = [ + ../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + ./compiler-rt/armv7l.patch + # Fix build on armv6l + ../common/compiler-rt/armv6-mcr-dmb.patch + ../common/compiler-rt/armv6-sync-ops-no-thumb.patch + ../common/compiler-rt/armv6-no-ldrexd-strexd.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l"; + patches = [ + ../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + ./compiler-rt/armv7l.patch + # Fix build on armv6l + ../common/compiler-rt/armv6-mcr-dmb.patch + ../common/compiler-rt/armv6-sync-ops-no-thumb.patch + ../common/compiler-rt/armv6-no-ldrexd-strexd.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -258,7 +288,35 @@ let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + src = fetchFromGitHub { + owner = "llvm"; + repo = "llvm-project"; + rev = "refs/tags/llvmorg-${version}"; + sparseCheckout = [ + "libcxx" + "libcxxabi" + "llvm/cmake" + "llvm/utils" + "runtimes" + ]; + hash = "sha256-etxgXIdWxMTmbZ83Hsc0w6Jt5OSQSUEPVEWqLkHsNBY="; + }; + patches = [ + (substitute { + src = ../common/libcxxabi/wasm.patch; + replacements = [ + "--replace-fail" "/cmake/" "/llvm/cmake/" + ]; + }) + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + (substitute { + src = ../common/libcxx/libcxx-0001-musl-hacks.patch; + replacements = [ + "--replace-fail" "/include/" "/libcxx/include/" + ]; + }) + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/12/libcxx/default.nix b/pkgs/development/compilers/llvm/12/libcxx/default.nix deleted file mode 100644 index 7c6174711456c..0000000000000 --- a/pkgs/development/compilers/llvm/12/libcxx/default.nix +++ /dev/null @@ -1,139 +0,0 @@ -{ lib, stdenv, llvm_meta -, fetchFromGitHub, runCommand, substitute -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_USE_COMPILER_RT=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - # libcxxabi's CMake looks as though it treats -nostdlib++ as implying -nostdlib, - # but that does not appear to be the case for example when building - # pkgsLLVM.libcxxabi (which uses clangNoCompilerRtWithLibc). - "-DCMAKE_EXE_LINKER_FLAGS=-nostdlib" - "-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = fetchFromGitHub { - owner = "llvm"; - repo = "llvm-project"; - rev = "refs/tags/llvmorg-${version}"; - sparseCheckout = [ - "libcxx" - "libcxxabi" - "llvm/cmake" - "llvm/utils" - "runtimes" - ]; - hash = "sha256-etxgXIdWxMTmbZ83Hsc0w6Jt5OSQSUEPVEWqLkHsNBY="; - }; - - outputs = [ "out" "dev" ]; - - patches = [ - (substitute { - src = ../../common/libcxxabi/wasm.patch; - replacements = [ - "--replace-fail" "/cmake/" "/llvm/cmake/" - ]; - }) - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - (substitute { - src = ../../common/libcxx/libcxx-0001-musl-hacks.patch; - replacements = [ - "--replace-fail" "/include/" "/libcxx/include/" - ]; - }) - ]; - - postPatch = '' - cd runtimes - ''; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include $out/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib $out/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix deleted file mode 100644 index 3c83e4e58a178..0000000000000 --- a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix +++ /dev/null @@ -1,138 +0,0 @@ -{ lib, stdenv, llvm_meta, version, src -, cmake, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - inherit (stdenv.hostPlatform) isMusl isAarch64; - -in - -stdenv.mkDerivation { - pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/compiler-rt"; - - nativeBuildInputs = [ cmake python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString [ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ]; - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isAarch64) [ - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the - # extra `/`. - ./normalize-var.patch - # Prevent a compilation error on darwin - ./darwin-targetconditionals.patch - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - ./armv7l.patch - # Fix build on armv6l - ../../common/compiler-rt/armv6-mcr-dmb.patch - ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch - ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch - ../../common/compiler-rt/armv6-scudo-no-yield.patch - ../../common/compiler-rt/armv6-scudo-libatomic.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - preConfigure = lib.optionalString (useLLVM && !haveLibc) '' - cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding") - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - mainProgram = "hwasan_symbolize"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix index e93fb1bf29440..712c6e160d1ed 100644 --- a/pkgs/development/compilers/llvm/13/default.nix +++ b/pkgs/development/compilers/llvm/13/default.nix @@ -1,7 +1,7 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake , preLibcCrossHeaders , fetchpatch -, libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, isl, fetchFromGitHub, substitute, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -271,14 +271,48 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version src; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + ./compiler-rt/armv7l.patch + # Fix build on armv6l + ../common/compiler-rt/armv6-mcr-dmb.patch + ../common/compiler-rt/armv6-sync-ops-no-thumb.patch + ../common/compiler-rt/armv6-no-ldrexd-strexd.patch + ../common/compiler-rt/armv6-scudo-no-yield.patch + ../common/compiler-rt/armv6-scudo-libatomic.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + ./compiler-rt/armv7l.patch + # Fix build on armv6l + ../common/compiler-rt/armv6-mcr-dmb.patch + ../common/compiler-rt/armv6-sync-ops-no-thumb.patch + ../common/compiler-rt/armv6-no-ldrexd-strexd.patch + ../common/compiler-rt/armv6-scudo-no-yield.patch + ../common/compiler-rt/armv6-scudo-libatomic.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -294,7 +328,22 @@ in let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + patches = [ + (substitute { + src = ../common/libcxxabi/wasm.patch; + replacements = [ + "--replace-fail" "/cmake/" "/llvm/cmake/" + ]; + }) + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + (substitute { + src = ../common/libcxx/libcxx-0001-musl-hacks.patch; + replacements = [ + "--replace-fail" "/include/" "/libcxx/include/" + ]; + }) + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; monorepoSrc = src; diff --git a/pkgs/development/compilers/llvm/13/libcxx/default.nix b/pkgs/development/compilers/llvm/13/libcxx/default.nix deleted file mode 100644 index b39b4f37ff1c9..0000000000000 --- a/pkgs/development/compilers/llvm/13/libcxx/default.nix +++ /dev/null @@ -1,135 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand, substitute -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_USE_COMPILER_RT=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - # libcxxabi's CMake looks as though it treats -nostdlib++ as implying -nostdlib, - # but that does not appear to be the case for example when building - # pkgsLLVM.libcxxabi (which uses clangNoCompilerRtWithLibc). - "-DCMAKE_EXE_LINKER_FLAGS=-nostdlib" - "-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - outputs = [ "out" "dev" ]; - - patches = [ - (substitute { - src = ../../common/libcxxabi/wasm.patch; - replacements = [ - "--replace-fail" "/cmake/" "/llvm/cmake/" - ]; - }) - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - (substitute { - src = ../../common/libcxx/libcxx-0001-musl-hacks.patch; - replacements = [ - "--replace-fail" "/include/" "/libcxx/include/" - ]; - }) - ]; - - postPatch = '' - cd runtimes - ''; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix deleted file mode 100644 index 3482ed343c5a0..0000000000000 --- a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix +++ /dev/null @@ -1,146 +0,0 @@ -{ lib, stdenv, llvm_meta, version -, monorepoSrc, runCommand -, cmake, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - inherit (stdenv.hostPlatform) isMusl; - - baseName = "compiler-rt"; - - src = runCommand "${baseName}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${baseName} "$out" - ''; -in - -stdenv.mkDerivation { - pname = baseName + lib.optionalString (haveLibc) "-libc"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/${baseName}"; - - nativeBuildInputs = [ cmake python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString [ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ]; - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./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 - # extra `/`. - ./normalize-var.patch - # Prevent a compilation error on darwin - ./darwin-targetconditionals.patch - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - ./armv7l.patch - # Fix build on armv6l - ../../common/compiler-rt/armv6-mcr-dmb.patch - ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch - ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch - ../../common/compiler-rt/armv6-scudo-no-yield.patch - ../../common/compiler-rt/armv6-scudo-libatomic.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - preConfigure = lib.optionalString (useLLVM && !haveLibc) '' - cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding") - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - mainProgram = "hwasan_symbolize"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix index 687deb6ead89b..efab4ca735726 100644 --- a/pkgs/development/compilers/llvm/14/default.nix +++ b/pkgs/development/compilers/llvm/14/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, substitute, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -270,14 +270,50 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 release_version version monorepoSrc; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + ./compiler-rt/armv7l.patch + # Fix build on armv6l + ../common/compiler-rt/armv6-mcr-dmb.patch + ../common/compiler-rt/armv6-sync-ops-no-thumb.patch + ../common/compiler-rt/armv6-no-ldrexd-strexd.patch + ../common/compiler-rt/armv6-scudo-no-yield.patch + ../common/compiler-rt/armv6-scudo-libatomic.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + ./compiler-rt/armv7l.patch + # Fix build on armv6l + ../common/compiler-rt/armv6-mcr-dmb.patch + ../common/compiler-rt/armv6-sync-ops-no-thumb.patch + ../common/compiler-rt/armv6-no-ldrexd-strexd.patch + ../common/compiler-rt/armv6-scudo-no-yield.patch + ../common/compiler-rt/armv6-scudo-libatomic.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -293,7 +329,22 @@ in let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + patches = [ + (substitute { + src = ../common/libcxxabi/wasm.patch; + replacements = [ + "--replace-fail" "/cmake/" "/llvm/cmake/" + ]; + }) + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + (substitute { + src = ../common/libcxx/libcxx-0001-musl-hacks.patch; + replacements = [ + "--replace-fail" "/include/" "/libcxx/include/" + ]; + }) + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/15/compiler-rt/default.nix b/pkgs/development/compilers/llvm/15/compiler-rt/default.nix deleted file mode 100644 index d257c69cbcd05..0000000000000 --- a/pkgs/development/compilers/llvm/15/compiler-rt/default.nix +++ /dev/null @@ -1,145 +0,0 @@ -{ lib, stdenv, llvm_meta, version -, monorepoSrc, runCommand -, cmake, ninja, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - inherit (stdenv.hostPlatform) isMusl; - - baseName = "compiler-rt"; - - src = runCommand "${baseName}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${baseName} "$out" - ''; -in - -stdenv.mkDerivation { - pname = baseName + lib.optionalString (haveLibc) "-libc"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/${baseName}"; - - nativeBuildInputs = [ cmake ninja python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString [ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ]; - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - - # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin: - # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153 - "-DCOMPILER_RT_ENABLE_IOS=OFF" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./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 - # extra `/`. - ./normalize-var.patch - # Prevent a compilation error on darwin - ./darwin-targetconditionals.patch - # See: https://github.com/NixOS/nixpkgs/pull/186575 - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 - ../../common/compiler-rt/armv7l-15.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - preConfigure = lib.optionalString (useLLVM && !haveLibc) '' - cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding") - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - mainProgram = "hwasan_symbolize"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/15/default.nix b/pkgs/development/compilers/llvm/15/default.nix index 52ab1783b876b..01112e0165e4c 100644 --- a/pkgs/development/compilers/llvm/15/default.nix +++ b/pkgs/development/compilers/llvm/15/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, fetchpatch, substitute, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -284,14 +284,40 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -310,7 +336,30 @@ in let # `libcxx` requires a fairly modern C++ compiler, # so: we use the clang from this LLVM package set instead of the regular # stdenv's compiler. - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + patches = [ + # See: + # - https://reviews.llvm.org/D133566 + # - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432 + # !!! Drop in LLVM 16+ + (fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/57c7bb3ec89565c68f858d316504668f9d214d59.patch"; + hash = "sha256-B07vHmSjy5BhhkGSj3e1E0XmMv5/9+mvC/k70Z29VwY="; + }) + (substitute { + src = ../common/libcxxabi/wasm.patch; + replacements = [ + "--replace-fail" "/cmake/" "/llvm/cmake/" + ]; + }) + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + (substitute { + src = ../common/libcxx/libcxx-0001-musl-hacks.patch; + replacements = [ + "--replace-fail" "/include/" "/libcxx/include/" + ]; + }) + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/15/libcxx/default.nix b/pkgs/development/compilers/llvm/15/libcxx/default.nix deleted file mode 100644 index 89181bcbdbbf2..0000000000000 --- a/pkgs/development/compilers/llvm/15/libcxx/default.nix +++ /dev/null @@ -1,145 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand, fetchpatch, substitute -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_USE_COMPILER_RT=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - # libcxxabi's CMake looks as though it treats -nostdlib++ as implying -nostdlib, - # but that does not appear to be the case for example when building - # pkgsLLVM.libcxxabi (which uses clangNoCompilerRtWithLibc). - "-DCMAKE_EXE_LINKER_FLAGS=-nostdlib" - "-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - outputs = [ "out" "dev" ]; - - patches = [ - # See: - # - https://reviews.llvm.org/D133566 - # - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432 - # !!! Drop in LLVM 16+ - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/57c7bb3ec89565c68f858d316504668f9d214d59.patch"; - hash = "sha256-B07vHmSjy5BhhkGSj3e1E0XmMv5/9+mvC/k70Z29VwY="; - }) - (substitute { - src = ../../common/libcxxabi/wasm.patch; - replacements = [ - "--replace-fail" "/cmake/" "/llvm/cmake/" - ]; - }) - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - (substitute { - src = ../../common/libcxx/libcxx-0001-musl-hacks.patch; - replacements = [ - "--replace-fail" "/include/" "/libcxx/include/" - ]; - }) - ]; - - postPatch = '' - cd runtimes - ''; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/default.nix b/pkgs/development/compilers/llvm/16/compiler-rt/default.nix deleted file mode 100644 index 2a15e5302b463..0000000000000 --- a/pkgs/development/compilers/llvm/16/compiler-rt/default.nix +++ /dev/null @@ -1,159 +0,0 @@ -{ lib, stdenv, llvm_meta, version -, monorepoSrc, runCommand -, cmake, ninja, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic; - inherit (stdenv.hostPlatform) isMusl; - - baseName = "compiler-rt"; - - src = runCommand "${baseName}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${baseName} "$out" - ''; -in - -stdenv.mkDerivation { - pname = baseName + lib.optionalString (haveLibc) "-libc"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/${baseName}"; - - nativeBuildInputs = [ cmake ninja python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString ([ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ] ++ lib.optionals (!haveLibc) [ - # The compiler got stricter about this, and there is a usellvm patch below - # which patches out the assert include causing an implicit definition of - # assert. It would be nicer to understand why compiler-rt thinks it should - # be able to #include <assert.h> in the first place; perhaps it's in the - # wrong, or perhaps there is a way to provide an assert.h. - "-Wno-error=implicit-function-declaration" - ]); - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [ - "-DCMAKE_CXX_COMPILER_WORKS=ON" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM && !haveLibc) [ - "-DCMAKE_C_FLAGS=-nodefaultlibs" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo" - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - - # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin: - # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153 - "-DCOMPILER_RT_ENABLE_IOS=OFF" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./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 - # extra `/`. - ./normalize-var.patch - # Prevent a compilation error on darwin - ./darwin-targetconditionals.patch - # See: https://github.com/NixOS/nixpkgs/pull/186575 - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 - # ../../common/compiler-rt/armv7l-15.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM && !haveLibc) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM && stdenv.hostPlatform.isLinux) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - # Note the history of crt{begin,end}S in previous versions of llvm in nixpkg: - # The presence of crtbegin_shared has been added and removed; it's possible - # people have added/removed it to get it working on their platforms. - # Try each in turn for now. - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - mainProgram = "hwasan_symbolize"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix index 168c288d49a3c..99ab725273b85 100644 --- a/pkgs/development/compilers/llvm/16/default.nix +++ b/pkgs/development/compilers/llvm/16/default.nix @@ -300,14 +300,40 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -326,7 +352,7 @@ in let # `libcxx` requires a fairly modern C++ compiler, # so: we use the clang from this LLVM package set instead of the regular # stdenv's compiler. - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/16/libcxx/default.nix b/pkgs/development/compilers/llvm/16/libcxx/default.nix deleted file mode 100644 index 146424113ec4e..0000000000000 --- a/pkgs/development/compilers/llvm/16/libcxx/default.nix +++ /dev/null @@ -1,125 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand, fetchpatch -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_USE_COMPILER_RT=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - # There's precedent for this in llvm-project/libcxx/cmake/caches. - # In a monorepo build you might do the following in the libcxxabi build: - # -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder - # -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On - # libcxx appears to require unwind and doesn't pull it in via other means. - "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - # libcxxabi's CMake looks as though it treats -nostdlib++ as implying -nostdlib, - # but that does not appear to be the case for example when building - # pkgsLLVM.libcxxabi (which uses clangNoCompilerRtWithLibc). - "-DCMAKE_EXE_LINKER_FLAGS=-nostdlib" - "-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - sourceRoot = "${src.name}/runtimes"; - - outputs = [ "out" "dev" ]; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/17/compiler-rt/default.nix b/pkgs/development/compilers/llvm/17/compiler-rt/default.nix deleted file mode 100644 index 2a15e5302b463..0000000000000 --- a/pkgs/development/compilers/llvm/17/compiler-rt/default.nix +++ /dev/null @@ -1,159 +0,0 @@ -{ lib, stdenv, llvm_meta, version -, monorepoSrc, runCommand -, cmake, ninja, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic; - inherit (stdenv.hostPlatform) isMusl; - - baseName = "compiler-rt"; - - src = runCommand "${baseName}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${baseName} "$out" - ''; -in - -stdenv.mkDerivation { - pname = baseName + lib.optionalString (haveLibc) "-libc"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/${baseName}"; - - nativeBuildInputs = [ cmake ninja python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString ([ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ] ++ lib.optionals (!haveLibc) [ - # The compiler got stricter about this, and there is a usellvm patch below - # which patches out the assert include causing an implicit definition of - # assert. It would be nicer to understand why compiler-rt thinks it should - # be able to #include <assert.h> in the first place; perhaps it's in the - # wrong, or perhaps there is a way to provide an assert.h. - "-Wno-error=implicit-function-declaration" - ]); - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [ - "-DCMAKE_CXX_COMPILER_WORKS=ON" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM && !haveLibc) [ - "-DCMAKE_C_FLAGS=-nodefaultlibs" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo" - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - - # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin: - # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153 - "-DCOMPILER_RT_ENABLE_IOS=OFF" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./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 - # extra `/`. - ./normalize-var.patch - # Prevent a compilation error on darwin - ./darwin-targetconditionals.patch - # See: https://github.com/NixOS/nixpkgs/pull/186575 - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 - # ../../common/compiler-rt/armv7l-15.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM && !haveLibc) '' - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model.c \ - --replace "#include <assert.h>" "" - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM && stdenv.hostPlatform.isLinux) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - # Note the history of crt{begin,end}S in previous versions of llvm in nixpkg: - # The presence of crtbegin_shared has been added and removed; it's possible - # people have added/removed it to get it working on their platforms. - # Try each in turn for now. - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - mainProgram = "hwasan_symbolize"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/17/default.nix b/pkgs/development/compilers/llvm/17/default.nix index 70571b30b3a6e..2f26632176530 100644 --- a/pkgs/development/compilers/llvm/17/default.nix +++ b/pkgs/development/compilers/llvm/17/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, fetchpatch, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -285,14 +285,40 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./compiler-rt/gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # Prevent a compilation error on darwin + ./compiler-rt/darwin-targetconditionals.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -311,7 +337,15 @@ in let # `libcxx` requires a fairly modern C++ compiler, # so: we use the clang from this LLVM package set instead of the regular # stdenv's compiler. - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ + # https://github.com/llvm/llvm-project/issues/64226 + (fetchpatch { + name = "0042-mbstate_t-not-defined.patch"; + url = "https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch"; + hash = "sha256-jo+DYA6zuSv9OH3A0bYwY5TlkWprup4OKQ7rfK1WHBI="; + }) + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/17/libcxx/default.nix b/pkgs/development/compilers/llvm/17/libcxx/default.nix deleted file mode 100644 index 9ee4fd180d4b6..0000000000000 --- a/pkgs/development/compilers/llvm/17/libcxx/default.nix +++ /dev/null @@ -1,136 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand, fetchpatch -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_USE_COMPILER_RT=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - # There's precedent for this in llvm-project/libcxx/cmake/caches. - # In a monorepo build you might do the following in the libcxxabi build: - # -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder - # -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On - # libcxx appears to require unwind and doesn't pull it in via other means. - "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - # libcxxabi's CMake looks as though it treats -nostdlib++ as implying -nostdlib, - # but that does not appear to be the case for example when building - # pkgsLLVM.libcxxabi (which uses clangNoCompilerRtWithLibc). - "-DCMAKE_EXE_LINKER_FLAGS=-nostdlib" - "-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - outputs = [ "out" "dev" ]; - - patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ - # https://github.com/llvm/llvm-project/issues/64226 - (fetchpatch { - name = "0042-mbstate_t-not-defined.patch"; - url = "https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch"; - hash = "sha256-jo+DYA6zuSv9OH3A0bYwY5TlkWprup4OKQ7rfK1WHBI="; - }) - ]; - - postPatch = '' - cd runtimes - ''; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/18/compiler-rt/default.nix b/pkgs/development/compilers/llvm/18/compiler-rt/default.nix deleted file mode 100644 index f51316beb5705..0000000000000 --- a/pkgs/development/compilers/llvm/18/compiler-rt/default.nix +++ /dev/null @@ -1,157 +0,0 @@ -{ lib, stdenv, llvm_meta, version -, monorepoSrc, runCommand -, cmake, ninja, python3, xcbuild, libllvm, linuxHeaders, libxcrypt -, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD -}: - -let - - useLLVM = stdenv.hostPlatform.useLLVM or false; - bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; - haveLibc = stdenv.cc.libc != null; - isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic; - inherit (stdenv.hostPlatform) isMusl; - - baseName = "compiler-rt"; - - src = runCommand "${baseName}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${baseName} "$out" - ''; -in - -stdenv.mkDerivation { - pname = baseName + lib.optionalString (haveLibc) "-libc"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/${baseName}"; - - nativeBuildInputs = [ cmake ninja python3 libllvm.dev ] - ++ lib.optional stdenv.isDarwin xcbuild.xcrun; - buildInputs = - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; - - env.NIX_CFLAGS_COMPILE = toString ([ - "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" - ] ++ lib.optionals (!haveLibc) [ - # The compiler got stricter about this, and there is a usellvm patch below - # which patches out the assert include causing an implicit definition of - # assert. It would be nicer to understand why compiler-rt thinks it should - # be able to #include <assert.h> in the first place; perhaps it's in the - # wrong, or perhaps there is a way to provide an assert.h. - "-Wno-error=implicit-function-declaration" - ]); - - cmakeFlags = [ - "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" - "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" - "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [ - "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" - ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [ - "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" - "-DCOMPILER_RT_BUILD_XRAY=OFF" - "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals (useLLVM || bareMetal) [ - "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [ - "-DCMAKE_CXX_COMPILER_WORKS=ON" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCOMPILER_RT_BAREMETAL_BUILD=ON" - "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" - ] ++ lib.optionals (useLLVM && !haveLibc) [ - "-DCMAKE_C_FLAGS=-nodefaultlibs" - ] ++ lib.optionals (useLLVM) [ - "-DCOMPILER_RT_BUILD_BUILTINS=ON" - #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program - "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" - ] ++ lib.optionals (bareMetal) [ - "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo" - "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" - "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" - "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - - # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin: - # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153 - "-DCOMPILER_RT_ENABLE_IOS=OFF" - ]; - - outputs = [ "out" "dev" ]; - - patches = [ - ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the - # extra `/`. - ./normalize-var.patch - # See: https://github.com/NixOS/nixpkgs/pull/186575 - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 - # ../../common/compiler-rt/armv7l-15.patch - ]; - - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks - # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra - # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd - # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by - # a flag and turn the flag off during the stdenv build. - postPatch = lib.optionalString (!stdenv.isDarwin) '' - substituteInPlace cmake/builtin-config-ix.cmake \ - --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace cmake/config-ix.cmake \ - --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM && !haveLibc) '' - substituteInPlace lib/builtins/aarch64/sme-libc-routines.c \ - --replace "<stdlib.h>" "<stddef.h>" - substituteInPlace lib/builtins/int_util.c \ - --replace "#include <stdlib.h>" "" - substituteInPlace lib/builtins/clear_cache.c \ - --replace "#include <assert.h>" "" - substituteInPlace lib/builtins/cpu_model${lib.optionalString (lib.versionAtLeast version "18") "/x86"}.c \ - --replace "#include <assert.h>" "" - ''; - - # Hack around weird upsream RPATH bug - postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin) '' - ln -s "$out/lib"/*/* "$out/lib" - '' + lib.optionalString (useLLVM && stdenv.hostPlatform.isLinux) '' - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o - # Note the history of crt{begin,end}S in previous versions of llvm in nixpkg: - # The presence of crtbegin_shared has been added and removed; it's possible - # people have added/removed it to get it working on their platforms. - # Try each in turn for now. - ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o - ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o - ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o - '' + lib.optionalString doFakeLibgcc '' - ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a - ''; - - meta = llvm_meta // { - homepage = "https://compiler-rt.llvm.org/"; - description = "Compiler runtime libraries"; - longDescription = '' - The compiler-rt project provides highly tuned implementations of the - low-level code generator support routines like "__fixunsdfdi" and other - calls generated when a target doesn't have a short sequence of native - instructions to implement a core IR operation. It also provides - implementations of run-time libraries for dynamic testing tools such as - AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. - ''; - # "All of the code in the compiler-rt project is dual licensed under the MIT - # license and the UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - # compiler-rt requires a Clang stdenv on 32-bit RISC-V: - # https://reviews.llvm.org/D43106#1019077 - broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; - }; -} diff --git a/pkgs/development/compilers/llvm/18/default.nix b/pkgs/development/compilers/llvm/18/default.nix index d5c2140e33e49..4bc56be45b3e5 100644 --- a/pkgs/development/compilers/llvm/18/default.nix +++ b/pkgs/development/compilers/llvm/18/default.nix @@ -284,14 +284,34 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -310,7 +330,11 @@ in let # `libcxx` requires a fairly modern C++ compiler, # so: we use the clang from this LLVM package set instead of the regular # stdenv's compiler. - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ + # https://github.com/llvm/llvm-project/issues/64226 + ./libcxx/0001-darwin-10.12-mbstate_t-fix.patch + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/18/libcxx/default.nix b/pkgs/development/compilers/llvm/18/libcxx/default.nix deleted file mode 100644 index d6c304c0b476a..0000000000000 --- a/pkgs/development/compilers/llvm/18/libcxx/default.nix +++ /dev/null @@ -1,130 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = [ - "-DLIBCXXABI_USE_LLVM_UNWINDER=OFF" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_ADDITIONAL_LIBRARIES=unwind" - "-DLIBCXXABI_USE_COMPILER_RT=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals (lib.versionAtLeast version "18" && !useLLVM && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [ - "-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - # There's precedent for this in llvm-project/libcxx/cmake/caches. - # In a monorepo build you might do the following in the libcxxabi build: - # -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder - # -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On - # libcxx appears to require unwind and doesn't pull it in via other means. - "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - outputs = [ "out" "dev" ]; - - patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ - # https://github.com/llvm/llvm-project/issues/64226 - ./0001-darwin-10.12-mbstate_t-fix.patch - ]; - - postPatch = '' - cd runtimes - ''; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix index 606ae2868893d..4f44d6396d301 100644 --- a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, llvm_meta, version -, monorepoSrc, runCommand -, cmake, ninja, python3, xcbuild, libllvm, linuxHeaders, libxcrypt +{ lib +, stdenv +, llvm_meta +, release_version +, version +, patches ? [] +, src ? null +, monorepoSrc ? null +, runCommand +, cmake +, ninja +, python3 +, xcbuild +, libllvm +, linuxHeaders +, libxcrypt , doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD }: @@ -9,26 +22,34 @@ let useLLVM = stdenv.hostPlatform.useLLVM or false; bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; haveLibc = stdenv.cc.libc != null; - isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic; - inherit (stdenv.hostPlatform) isMusl; + isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic && lib.versionAtLeast release_version "16"; + inherit (stdenv.hostPlatform) isMusl isAarch64; baseName = "compiler-rt"; + pname = baseName + lib.optionalString (haveLibc) "-libc"; + + src' = if monorepoSrc != null then + runCommand "${baseName}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${baseName} "$out" + '' else src; - src = runCommand "${baseName}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${baseName} "$out" + preConfigure = lib.optionalString (useLLVM && !haveLibc) '' + cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding") ''; in -stdenv.mkDerivation { - pname = baseName + lib.optionalString (haveLibc) "-libc"; - inherit version; +stdenv.mkDerivation ({ + inherit pname version patches; - inherit src; - sourceRoot = "${src.name}/${baseName}"; + src = src'; + sourceRoot = if lib.versionOlder release_version "13" then null + else "${src'.name}/${baseName}"; - nativeBuildInputs = [ cmake ninja python3 libllvm.dev ] + nativeBuildInputs = [ cmake ] + ++ (lib.optional (lib.versionAtLeast release_version "15") ninja) + ++ [ python3 libllvm.dev ] ++ lib.optional stdenv.isDarwin xcbuild.xcrun; buildInputs = lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; @@ -50,6 +71,8 @@ stdenv.mkDerivation { "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [ "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" + ] ++ lib.optionals ((useLLVM || bareMetal || isMusl || isAarch64) && (lib.versions.major release_version == "13")) [ + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" "-DCOMPILER_RT_BUILD_XRAY=OFF" @@ -58,7 +81,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary ] ++ lib.optionals (useLLVM || bareMetal) [ "-DCOMPILER_RT_BUILD_PROFILE=OFF" - ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [ + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic) [ "-DCMAKE_CXX_COMPILER_WORKS=ON" ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" @@ -72,32 +95,22 @@ stdenv.mkDerivation { "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" ] ++ lib.optionals (bareMetal) [ "-DCOMPILER_RT_OS_DIR=baremetal" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) (lib.optionals (lib.versionAtLeast release_version "16") [ "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo" + ] ++ [ "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" - + ] ++ lib.optionals (lib.versionAtLeast release_version "15") [ # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin: # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153 "-DCOMPILER_RT_ENABLE_IOS=OFF" - ] ++ lib.optionals (lib.versionAtLeast version "19" && stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ + ]) ++ lib.optionals (lib.versionAtLeast version "19" && stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ "-DSANITIZER_MIN_OSX_VERSION=10.10" ]; outputs = [ "out" "dev" ]; - patches = [ - ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the - # extra `/`. - ./normalize-var.patch - # See: https://github.com/NixOS/nixpkgs/pull/186575 - ../../common/compiler-rt/darwin-plistbuddy-workaround.patch - # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 - # ../../common/compiler-rt/armv7l-15.patch - ]; - # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd @@ -109,16 +122,17 @@ stdenv.mkDerivation { '' + lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' - '' + lib.optionalString (useLLVM && !haveLibc) '' + '' + lib.optionalString (useLLVM && !haveLibc) ((lib.optionalString (lib.versionAtLeast release_version "18") '' substituteInPlace lib/builtins/aarch64/sme-libc-routines.c \ --replace "<stdlib.h>" "<stddef.h>" + '') + '' substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ --replace "#include <assert.h>" "" substituteInPlace lib/builtins/cpu_model${lib.optionalString (lib.versionAtLeast version "18") "/x86"}.c \ --replace "#include <assert.h>" "" - ''; + ''); # Hack around weird upsream RPATH bug postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin) '' @@ -156,4 +170,4 @@ stdenv.mkDerivation { # https://reviews.llvm.org/D43106#1019077 broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; }; -} +} // (if lib.versionOlder release_version "16" then { inherit preConfigure; } else {})) diff --git a/pkgs/development/compilers/llvm/14/libcxx/default.nix b/pkgs/development/compilers/llvm/common/libcxx/default.nix index 79eeadb1c5931..de895125f8832 100644 --- a/pkgs/development/compilers/llvm/14/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/common/libcxx/default.nix @@ -1,8 +1,21 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand, substitute -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version +{ lib +, stdenv +, llvm_meta +, release_version +, monorepoSrc ? null +, src ? null +, patches ? [] +, runCommand +, substitute +, cmake +, lndir +, ninja +, python3 +, fixDarwinDylibNames +, version , cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind +, libcxxrt +, libunwind , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -13,16 +26,39 @@ assert cxxabi == null || !stdenv.hostPlatform.isDarwin; let basename = "libcxx"; + pname = basename; cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; # Note: useLLVM is likely false for Darwin but true under pkgsLLVM useLLVM = stdenv.hostPlatform.useLLVM or false; - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ + src' = if monorepoSrc != null then + runCommand "${pname}-src-${version}" {} ('' + mkdir -p "$out/llvm" + '' + (lib.optionalString (lib.versionAtLeast release_version "14") '' + cp -r ${monorepoSrc}/cmake "$out" + '') + '' + cp -r ${monorepoSrc}/libcxx "$out" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + cp -r ${monorepoSrc}/llvm/utils "$out/llvm" + '' + (lib.optionalString (lib.versionAtLeast release_version "14") '' + cp -r ${monorepoSrc}/third-party "$out" + '') + '' + cp -r ${monorepoSrc}/runtimes "$out" + '' + (lib.optionalString (cxxabi == null) '' + cp -r ${monorepoSrc}/libcxxabi "$out" + '')) else src; + + cxxabiCMakeFlags = lib.optionals (lib.versionAtLeast release_version "18") [ + "-DLIBCXXABI_USE_LLVM_UNWINDER=OFF" + ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) (if lib.versionAtLeast release_version "18" then [ + "-DLIBCXXABI_ADDITIONAL_LIBRARIES=unwind" + "-DLIBCXXABI_USE_COMPILER_RT=ON" + ] else [ "-DLIBCXXABI_USE_COMPILER_RT=ON" "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + ]) ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXXABI_ENABLE_THREADS=OFF" "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" ] ++ lib.optionals (!enableShared) [ @@ -35,8 +71,12 @@ let "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ "-DLIBCXX_HAS_MUSL_LIBC=1" + ] ++ lib.optionals (lib.versionAtLeast release_version "18" && !useLLVM && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [ + "-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s" ] ++ lib.optionals useLLVM [ "-DLIBCXX_USE_COMPILER_RT=ON" + ] ++ lib.optionals (useLLVM && lib.versionAtLeast release_version "16") [ + "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" @@ -62,47 +102,12 @@ let in -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - outputs = [ "out" "dev" ]; +stdenv.mkDerivation (rec { + inherit pname version cmakeFlags patches; - patches = [ - (substitute { - src = ../../common/libcxxabi/wasm.patch; - replacements = [ - "--replace-fail" "/cmake/" "/llvm/cmake/" - ]; - }) - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - (substitute { - src = ../../common/libcxx/libcxx-0001-musl-hacks.patch; - replacements = [ - "--replace-fail" "/include/" "/libcxx/include/" - ]; - }) - ]; + src = src'; - postPatch = '' - # fix CMake error when static and LIBCXXABI_USE_LLVM_UNWINDER=ON. aren't - # building unwind so don't need to depend on it - substituteInPlace libcxx/src/CMakeLists.txt \ - --replace-fail "add_dependencies(cxx_static unwind)" "# add_dependencies(cxx_static unwind)" - cd runtimes - ''; + outputs = [ "out" "dev" ]; preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' patchShebangs utils/cat_files.py @@ -119,8 +124,8 @@ stdenv.mkDerivation rec { # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't # support linker scripts so the external cxxabi needs to be symlinked in postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib + lndir ${lib.getDev cxxabi}/include $out/include/c++/v1 + lndir ${lib.getLib cxxabi}/lib $out/lib ''; passthru = { @@ -138,4 +143,15 @@ stdenv.mkDerivation rec { # UIUC License (a BSD-like license)": license = with lib.licenses; [ mit ncsa ]; }; -} +} // (if (lib.versionOlder release_version "16" || lib.versionAtLeast release_version "17") then { + postPatch = (lib.optionalString (lib.versionAtLeast release_version "14" && lib.versionOlder release_version "15") '' + # fix CMake error when static and LIBCXXABI_USE_LLVM_UNWINDER=ON. aren't + # building unwind so don't need to depend on it + substituteInPlace libcxx/src/CMakeLists.txt \ + --replace-fail "add_dependencies(cxx_static unwind)" "# add_dependencies(cxx_static unwind)" + '') + '' + cd runtimes + ''; +} else { + sourceRoot = "${src'.name}/runtimes"; +})) diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix index d578c2a290e23..1b65ce81055b5 100644 --- a/pkgs/development/compilers/llvm/git/default.nix +++ b/pkgs/development/compilers/llvm/git/default.nix @@ -289,14 +289,34 @@ in let callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); in { - compiler-rt-libc = callPackage ./compiler-rt { + compiler-rt-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc else stdenv; }; - compiler-rt-no-libc = callPackage ./compiler-rt { + compiler-rt-no-libc = callPackage ../common/compiler-rt { + patches = [ + ./compiler-rt/X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./compiler-rt/normalize-var.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../common/compiler-rt/armv7l-15.patch + ]; inherit llvm_meta; stdenv = if stdenv.hostPlatform.useLLVM or false then overrideCC stdenv buildLlvmTools.clangNoCompilerRt @@ -315,7 +335,11 @@ in let # `libcxx` requires a fairly modern C++ compiler, # so: we use the clang from this LLVM package set instead of the regular # stdenv's compiler. - libcxx = callPackage ./libcxx { + libcxx = callPackage ../common/libcxx { + patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ + # https://github.com/llvm/llvm-project/issues/64226 + ./libcxx/0001-darwin-10.12-mbstate_t-fix.patch + ]; inherit llvm_meta; stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; }; diff --git a/pkgs/development/compilers/llvm/git/libcxx/default.nix b/pkgs/development/compilers/llvm/git/libcxx/default.nix deleted file mode 100644 index d6c304c0b476a..0000000000000 --- a/pkgs/development/compilers/llvm/git/libcxx/default.nix +++ /dev/null @@ -1,130 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, cmake, lndir, ninja, python3, fixDarwinDylibNames, version -, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null -, libcxxrt, libunwind -, enableShared ? !stdenv.hostPlatform.isStatic -}: - -# external cxxabi is not supported on Darwin as the build will not link libcxx -# properly and not re-export the cxxabi symbols into libcxx -# https://github.com/NixOS/nixpkgs/issues/166205 -# https://github.com/NixOS/nixpkgs/issues/269548 -assert cxxabi == null || !stdenv.hostPlatform.isDarwin; -let - basename = "libcxx"; - cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; - runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; - - # Note: useLLVM is likely false for Darwin but true under pkgsLLVM - useLLVM = stdenv.hostPlatform.useLLVM or false; - - cxxabiCMakeFlags = [ - "-DLIBCXXABI_USE_LLVM_UNWINDER=OFF" - ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_ADDITIONAL_LIBRARIES=unwind" - "-DLIBCXXABI_USE_COMPILER_RT=ON" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXXABI_ENABLE_THREADS=OFF" - "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXXABI_ENABLE_SHARED=OFF" - ]; - - cxxCMakeFlags = [ - "-DLIBCXX_CXX_ABI=${cxxabiName}" - ] ++ lib.optionals (cxxabi != null) [ - "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ - "-DLIBCXX_HAS_MUSL_LIBC=1" - ] ++ lib.optionals (lib.versionAtLeast version "18" && !useLLVM && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [ - "-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s" - ] ++ lib.optionals useLLVM [ - "-DLIBCXX_USE_COMPILER_RT=ON" - # There's precedent for this in llvm-project/libcxx/cmake/caches. - # In a monorepo build you might do the following in the libcxxabi build: - # -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder - # -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On - # libcxx appears to require unwind and doesn't pull it in via other means. - "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DLIBCXX_ENABLE_THREADS=OFF" - "-DLIBCXX_ENABLE_FILESYSTEM=OFF" - "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DLIBCXX_ENABLE_SHARED=OFF" - ]; - - cmakeFlags = [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ - "-DCMAKE_C_COMPILER_WORKS=ON" - "-DCMAKE_CXX_COMPILER_WORKS=ON" - "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker - ] ++ cxxCMakeFlags - ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; - -in - -stdenv.mkDerivation rec { - pname = basename; - inherit version cmakeFlags; - - src = runCommand "${pname}-src-${version}" {} ('' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - cp -r ${monorepoSrc}/runtimes "$out" - '' + lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - ''); - - outputs = [ "out" "dev" ]; - - patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ - # https://github.com/llvm/llvm-project/issues/64226 - ./0001-darwin-10.12-mbstate_t-fix.patch - ]; - - postPatch = '' - cd runtimes - ''; - - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py - ''; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional stdenv.isDarwin fixDarwinDylibNames - ++ lib.optional (cxxabi != null) lndir; - - buildInputs = [ cxxabi ] - ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; - - # libc++.so is a linker script which expands to multiple libraries, - # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't - # support linker scripts so the external cxxabi needs to be symlinked in - postInstall = lib.optionalString (cxxabi != null) '' - lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 - lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib - ''; - - passthru = { - isLLVM = true; - }; - - meta = llvm_meta // { - homepage = "https://libcxx.llvm.org/"; - description = "C++ standard library"; - longDescription = '' - libc++ is an implementation of the C++ standard library, targeting C++11, - C++14 and above. - ''; - # "All of the code in libc++ is dual licensed under the MIT license and the - # UIUC License (a BSD-like license)": - license = with lib.licenses; [ mit ncsa ]; - }; -} diff --git a/pkgs/development/python-modules/dataprep-ml/default.nix b/pkgs/development/python-modules/dataprep-ml/default.nix index 9f4fc81e40667..3bb919b6dc100 100644 --- a/pkgs/development/python-modules/dataprep-ml/default.nix +++ b/pkgs/development/python-modules/dataprep-ml/default.nix @@ -27,7 +27,7 @@ let in buildPythonPackage rec { pname = "dataprep-ml"; - version = "0.0.22"; + version = "0.0.23"; pyproject = true; disabled = pythonOlder "3.8"; @@ -36,7 +36,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "dataprep_ml"; inherit version; - hash = "sha256-umSL5E6yLwjFwhIprCySHNaPKeESwGGzgInZMPNBMcs="; + hash = "sha256-NYlKLdV2xZPODXpHvaFB8cRFTdCndl3UOd6bCfNbsZo="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/oncalendar/default.nix b/pkgs/development/python-modules/oncalendar/default.nix index 5b4920a6cef75..f37261a058bda 100644 --- a/pkgs/development/python-modules/oncalendar/default.nix +++ b/pkgs/development/python-modules/oncalendar/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "oncalendar"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "cuu508"; repo = "oncalendar"; rev = "refs/tags/v${version}"; - hash = "sha256-eQYxOnL4/TJbY/nijcPl8TqK2MrwcdISKGfZQoI7828="; + hash = "sha256-MPKzC2QYA3tWxg19URKheAbPaiS0jXP96xR0Hyl58V0="; }; nativeBuildInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix index 7b962064a8321..daabf4625ce50 100644 --- a/pkgs/development/python-modules/pex/default.nix +++ b/pkgs/development/python-modules/pex/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "pex"; - version = "2.3.0"; + version = "2.3.1"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-fQ/IYjYZL7wUpxslCB6cSMVD19vB57Jw1i7/iK/SJFw="; + hash = "sha256-0SZMkRYcIRObRUdEyAU+Jbiq0tFdqJIyGBtPOPP1RXU="; }; build-system = [ diff --git a/pkgs/development/python-modules/skytemple-files/default.nix b/pkgs/development/python-modules/skytemple-files/default.nix index 483e2749b5c7a..1b8d744b7d175 100644 --- a/pkgs/development/python-modules/skytemple-files/default.nix +++ b/pkgs/development/python-modules/skytemple-files/default.nix @@ -30,14 +30,16 @@ buildPythonPackage rec { pname = "skytemple-files"; - version = "1.6.3"; + version = "1.6.5"; pyproject = true; src = fetchFromGitHub { owner = "SkyTemple"; repo = pname; rev = version; - hash = "sha256-OkokbVD8j+Sgypj25demzSZdiAEf8TJrnl0QRIM2HsI="; + hash = "sha256-y6VHRfwQNoehp06BoZXuprYtsiGgoNL4rztJw40P4FI="; + # Most patches are in submodules + fetchSubmodules = true; }; postPatch = '' diff --git a/pkgs/development/python-modules/skytemple-rust/default.nix b/pkgs/development/python-modules/skytemple-rust/default.nix index c92f9175bfb23..411aadb9b400e 100644 --- a/pkgs/development/python-modules/skytemple-rust/default.nix +++ b/pkgs/development/python-modules/skytemple-rust/default.nix @@ -13,18 +13,18 @@ buildPythonPackage rec { pname = "skytemple-rust"; - version = "1.6.3"; + version = "1.6.5"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-z9Vu9mj82hwuPva56tmav4jN9RCoNIZxL+C3GYtYsOo="; + hash = "sha256-bf+umrb5EIoCD2kheVpf9IwsW4Sf2hR7XOEzscYtLA8="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-2or419evNxi99HIvL2TlSWFFh4BCky8qI/dVQbq/X38="; + hash = "sha256-0a57RmZPztcIeRs7GNYe18JO+LlWoeNWG3nD9cG0XIU="; }; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ]; diff --git a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix index da873a37dc517..c378053c206af 100644 --- a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix +++ b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "skytemple-ssb-debugger"; - version = "1.6.2"; + version = "1.6.4"; pyproject = true; src = fetchFromGitHub { owner = "SkyTemple"; repo = pname; rev = version; - hash = "sha256-lMlBCAmmenEwxzt4ft5jwwvqedzu2omeoNx5g6lA+PE="; + hash = "sha256-whnwFwPYPGF+UtjrzRKgXJNPsUGvmE+HHKJcPf0qcuA="; }; buildInputs = [ gtk3 gtksourceview4 ]; diff --git a/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock b/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock index f8ed09197a770..2960a441457bc 100644 --- a/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock +++ b/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f" [[package]] name = "autocfg" @@ -31,9 +31,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bitvec" @@ -67,12 +67,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cc" -version = "1.0.83" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" [[package]] name = "cfg-if" @@ -82,22 +79,18 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "desmume-rs" @@ -123,9 +116,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "encoding" @@ -193,9 +186,9 @@ checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" [[package]] name = "errno" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", "windows-sys", @@ -253,18 +246,18 @@ checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" [[package]] name = "itertools" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "lazy_static" @@ -274,15 +267,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "locale_config" @@ -309,9 +302,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "malloc_buf" @@ -324,9 +317,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -339,20 +332,20 @@ dependencies = [ [[package]] name = "num-derive" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -388,9 +381,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "packed_struct" @@ -434,7 +427,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -445,30 +438,37 @@ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "portable-atomic" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] [[package]] name = "pyo3" -version = "0.20.0" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b" +checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" dependencies = [ "cfg-if", "indoc", "libc", "memoffset", "parking_lot", + "portable-atomic", "pyo3-build-config", "pyo3-ffi", "pyo3-macros", @@ -477,9 +477,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.20.0" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5" +checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" dependencies = [ "once_cell", "target-lexicon", @@ -487,9 +487,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.20.0" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b" +checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" dependencies = [ "libc", "pyo3-build-config", @@ -508,33 +508,34 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.20.0" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b" +checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] name = "pyo3-macros-backend" -version = "0.20.0" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424" +checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" dependencies = [ "heck", "proc-macro2", + "pyo3-build-config", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -556,9 +557,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", @@ -568,9 +569,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -585,11 +586,11 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rustix" -version = "0.38.21" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", "linux-raw-sys", @@ -598,9 +599,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "scopeguard" @@ -610,29 +611,29 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.190" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.190" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ "itoa", "ryu", @@ -641,8 +642,8 @@ dependencies = [ [[package]] name = "skytemple_rust" -version = "1.6.0" -source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.0#9403594d96a7c8fa480625578038a75e9189173f" +version = "1.6.4" +source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.4#6b16478906fb35595fa4307c0ac77dea37e12983" dependencies = [ "bytes", "encoding", @@ -661,7 +662,7 @@ dependencies = [ [[package]] name = "skytemple_rust_macros" version = "1.4.0" -source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.0#9403594d96a7c8fa480625578038a75e9189173f" +source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.4#6b16478906fb35595fa4307c0ac77dea37e12983" dependencies = [ "quote", "syn 1.0.109", @@ -670,7 +671,7 @@ dependencies = [ [[package]] name = "skytemple_rust_macros_no_py" version = "1.4.0" -source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.0#9403594d96a7c8fa480625578038a75e9189173f" +source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.4#6b16478906fb35595fa4307c0ac77dea37e12983" dependencies = [ "quote", "syn 1.0.109", @@ -678,7 +679,7 @@ dependencies = [ [[package]] name = "skytemple_ssb_emulator" -version = "1.6.1" +version = "1.6.4" dependencies = [ "byteorder", "crossbeam-channel", @@ -694,15 +695,18 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "sprintf" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c0cdea5a20a06e7c57f627094e7b1618e5665592cd88f2d45fa4014e348db58" +checksum = "f2819cb5194dfe9e6d102f4519a9fb9dc7106d2879b71b4fd4d4677f1175bd39" +dependencies = [ + "thiserror", +] [[package]] name = "syn" @@ -717,9 +721,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", @@ -734,47 +738,46 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "temp-dir" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab" +checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "redox_syscall", "rustix", "windows-sys", ] [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.52", ] [[package]] @@ -813,11 +816,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.48.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.4", ] [[package]] @@ -826,13 +829,28 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -842,42 +860,84 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" + +[[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" + +[[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" + +[[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" + +[[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + +[[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" + +[[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + +[[package]] name = "wyz" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix b/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix index 0e0f4dc988852..d3bbb87d6e09a 100644 --- a/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix +++ b/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix @@ -20,18 +20,18 @@ }: buildPythonPackage rec { pname = "skytemple-ssb-emulator"; - version = "1.6.1.post1"; + version = "1.6.4"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-FEQnQPIathtrP03Dncz560K0lhKW4+HI/Oyo7qsEpFw="; + hash = "sha256-qGRfX7Bwr19KJnIdhwuSVBZzXxMJyEgyBuy91aLhEj4="; }; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { - "skytemple_rust-1.6.0" = "sha256-4glBo1VKCSwSSeQU6Ojhc0Cbaikxy101V1fU4rgcczg="; + "skytemple_rust-1.6.4" = "sha256-t7P3F1zes7bgDu2JGqb5DgxlDCiztWtmViy4QY9CzT0="; }; }; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index f6223fecd56d1..3aaffff2b41f1 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -332,7 +332,7 @@ let Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ]; Cardinal = [ pkgs.which ]; chebpol = [ pkgs.fftw.dev ]; - ChemmineOB = with pkgs; [ openbabel pkg-config ]; + ChemmineOB = [ pkgs.pkg-config ]; curl = [ pkgs.curl.dev ]; CytoML = [ pkgs.libxml2.dev ]; data_table = with pkgs; [ pkg-config zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp; @@ -706,6 +706,7 @@ let ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ] ++ lib.optional stdenv.isDarwin lerc.dev; qqconf = [ pkgs.fftw.dev ]; vapour = with pkgs; [ proj.dev gdal ]; + ChemmineOB = [ pkgs.eigen ]; }; packagesRequiringX = [ @@ -921,6 +922,7 @@ let "R_rsp" "salso" "scholar" + "SpatialDecon" "stepR" "styler" "teal_code" @@ -1370,6 +1372,31 @@ let PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz"; }); + ChemmineOB = let + # R package doesn't compile with the latest (unstable) version. + # Override from nixpkgs-23.11 + openbabel3 = pkgs.openbabel.overrideAttrs (attrs: { + version = "3.1.1"; + src = pkgs.fetchFromGitHub { + owner = "openbabel"; + repo = "openbabel"; + rev = "openbabel-${lib.replaceStrings ["."] ["-"] attrs.version}"; + sha256 = "sha256-wQpgdfCyBAoh4pmj9j7wPTlMtraJ62w/EShxi/olVMY="; + }; + }); + in + old.ChemmineOB.overrideAttrs (attrs: { + # pkg-config knows openbabel-3 without the .0 + # Eigen3 is also looked for in the wrong location + postPatch = '' + substituteInPlace configure \ + --replace-fail openbabel-3.0 openbabel-3 + substituteInPlace src/Makevars.in \ + --replace-fail "-I/usr/include/eigen3" "-I${pkgs.eigen}/include/eigen3" + ''; + buildInputs = attrs.buildInputs ++ [openbabel3]; + }); + ps = old.ps.overrideAttrs (attrs: { preConfigure = "patchShebangs configure"; }); diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix index 8a4a812b889cc..5daedfa2ebb86 100644 --- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix +++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-tarpaulin"; - version = "0.27.3"; + version = "0.28.0"; src = fetchFromGitHub { owner = "xd009642"; repo = "tarpaulin"; rev = version; - hash = "sha256-ejrnqkeMhCBWCjLCOblhZV/fY4Aib4F1uanufHyUmfw="; + hash = "sha256-45jQt5VK7h02Frz5urB6dXap796OTfHsPx/Q1xumM00="; }; - cargoHash = "sha256-YO91vSyMwRTrQxRAgWJemL+dlmnEN7VSGrwnE6z7ocI="; + cargoHash = "sha256-+AKgEyKer9S2lTUF3VA4UXnbR0nUBErp2OdqFC84W00="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/tools/apko/default.nix b/pkgs/development/tools/apko/default.nix index ee115b939a179..6a1ffc9376e26 100644 --- a/pkgs/development/tools/apko/default.nix +++ b/pkgs/development/tools/apko/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "apko"; - version = "0.10.0"; + version = "0.13.2"; src = fetchFromGitHub { owner = "chainguard-dev"; repo = pname; rev = "v${version}"; - hash = "sha256-Dyu/cPoYI8dm/p/91oL5g8ilz9ksw4i0opsPT6rGztc="; + hash = "sha256-PGRbJ7znsjvh/ATBF8k+pMnRO8wvGY0PAVswVmFaBUc="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -24,7 +24,7 @@ buildGoModule rec { find "$out" -name .git -print0 | xargs -0 rm -rf ''; }; - vendorHash = "sha256-Jsp4rGIltszpQe05S3W+UFzPxhb6N5lCzUaZWBkXNWY="; + vendorHash = "sha256-aqxXCqhvCGQKI+4FDjbqPNeFvELZviQ7Inwxl65sowk="; nativeBuildInputs = [ installShellFiles ]; @@ -42,11 +42,8 @@ buildGoModule rec { ''; checkFlags = [ - # networking required to fetch alpine-keys - # pulled out into a separate library next release - "-skip=TestInitDB" - # fails to build image on read-only filesystem - "-skip=TestPublish" + # fails to run on read-only filesystem + "-skip=(TestPublish|TestBuild|TestTarFS)" ]; postInstall = '' diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix index dcea75d51071b..b452658e9fe96 100644 --- a/pkgs/development/tools/database/sqlfluff/default.nix +++ b/pkgs/development/tools/database/sqlfluff/default.nix @@ -1,45 +1,47 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { pname = "sqlfluff"; - version = "3.0.3"; + version = "3.0.4"; pyproject = true; src = fetchFromGitHub { owner = "sqlfluff"; repo = "sqlfluff"; rev = "refs/tags/${version}"; - hash = "sha256-/Zp/iAX6Y6MaXMjpk3dRYgZNhjJtl3cr/FiCyhGK9X4="; + hash = "sha256-C8xH7LMCVXeJerdp8skIsTBQHkz0pPVKgUG+tEwx5GI="; }; - build-system = with python3.pkgs; [ - setuptools - ]; + build-system = with python3.pkgs; [ setuptools ]; - dependencies = with python3.pkgs; [ - appdirs - cached-property - chardet - click - colorama - configparser - diff-cover - jinja2 - oyaml - pathspec - pytest - regex - tblib - toml - tqdm - typing-extensions - ] ++ lib.optionals (pythonOlder "3.8") [ - backports.cached-property - importlib_metadata - ]; + dependencies = + with python3.pkgs; + [ + appdirs + cached-property + chardet + click + colorama + configparser + diff-cover + jinja2 + oyaml + pathspec + pytest + regex + tblib + toml + tqdm + typing-extensions + ] + ++ lib.optionals (pythonOlder "3.8") [ + backports.cached-property + importlib_metadata + ]; nativeCheckInputs = with python3.pkgs; [ hypothesis @@ -61,9 +63,7 @@ python3.pkgs.buildPythonApplication rec { "test__rules__std_file_dbt" ]; - pythonImportsCheck = [ - "sqlfluff" - ]; + pythonImportsCheck = [ "sqlfluff" ]; meta = with lib; { description = "SQL linter and auto-formatter"; diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix index 58b3154a29416..fb2fcdd6cb1f2 100644 --- a/pkgs/development/tools/electron/binary/generic.nix +++ b/pkgs/development/tools/electron/binary/generic.nix @@ -13,6 +13,7 @@ , libxkbcommon , libxshmfence , libGL +, vulkan-loader , alsa-lib , cairo , cups @@ -102,7 +103,7 @@ let ++ lib.optionals (lib.versionOlder version "10.0.0") [ libXScrnSaver ] ++ lib.optionals (lib.versionAtLeast version "11.0.0") [ libxkbcommon ] ++ lib.optionals (lib.versionAtLeast version "12.0.0") [ libxshmfence ] - ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL ] + ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL vulkan-loader ] ); linux = { @@ -133,8 +134,12 @@ let # patch libANGLE patchelf \ - --set-rpath "${lib.makeLibraryPath [ libGL pciutils ]}" \ + --set-rpath "${lib.makeLibraryPath [ libGL pciutils vulkan-loader ]}" \ $out/libexec/electron/lib*GL* + + # replace bundled vulkan-loader + rm "$out/libexec/electron/libvulkan.so.1" + ln -s -t "$out/libexec/electron" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1" ''; }; diff --git a/pkgs/development/tools/haskell/mueval/default.nix b/pkgs/development/tools/haskell/mueval/default.nix index aaa3ad98e7e1a..48144b038c98f 100644 --- a/pkgs/development/tools/haskell/mueval/default.nix +++ b/pkgs/development/tools/haskell/mueval/default.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, haskellPackages, packages ? (pkgs: []) +{ lib, stdenv, makeWrapper, haskellPackages, packages ? (pkgs: []) }: let defaultPkgs = pkgs: [ pkgs.show @@ -8,7 +8,6 @@ let defaultPkgs = pkgs: [ pkgs.show ]; env = haskellPackages.ghcWithPackages (pkgs: defaultPkgs pkgs ++ packages pkgs); - libDir = "${env}/lib/ghc-${env.version}"; in stdenv.mkDerivation { name = "mueval-env"; @@ -17,11 +16,23 @@ in stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' + dontUnpack = true; + + buildPhase = '' + runHook preBuild + mkdir -p $out/bin makeWrapper $mueval/bin/mueval $out/bin/mueval \ - --set "NIX_GHC_LIBDIR" "${libDir}" + --set "NIX_GHC_LIBDIR" "$(${lib.getExe' env "ghc"} --print-libdir)" + + runHook postBuild + ''; + + doCheck = true; + + checkPhase = '' + [[ $($out/bin/mueval -e 42) == 42 ]] ''; passthru = { inherit defaultPkgs; }; diff --git a/pkgs/development/tools/misc/rustywind/default.nix b/pkgs/development/tools/misc/rustywind/default.nix index f8281f9ca10c7..6ffcd67a5557b 100644 --- a/pkgs/development/tools/misc/rustywind/default.nix +++ b/pkgs/development/tools/misc/rustywind/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "rustywind"; - version = "0.21.1"; + version = "0.22.0"; src = fetchFromGitHub { owner = "avencera"; repo = "rustywind"; rev = "v${version}"; - hash = "sha256-cRgMTM4u8Nm+5eD3rNsx/1+PdS08+0N53m8NAlzVcXc="; + hash = "sha256-dK8tO7rIsu1zVmA2reduBe8vM6L6oesig1tE+ajGSXM="; }; - cargoHash = "sha256-utqo3w5itQa5pJTDWhEYIRj9OAZ+K6SgrPHXi3WE6+Q="; + cargoHash = "sha256-yZQSY2zqVpmhMd6+Avg2vBh0WQB2FJ2fiMuy5x9Zl9U="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix index d4bad90a25c21..b3e389987f4b2 100644 --- a/pkgs/development/tools/supabase-cli/default.nix +++ b/pkgs/development/tools/supabase-cli/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "supabase-cli"; - version = "1.155.1"; + version = "1.156.3"; src = fetchFromGitHub { owner = "supabase"; repo = "cli"; rev = "v${version}"; - hash = "sha256-2KoE7r2Uw5OegRChjDWAOzuml+rcHwah+GnlX1WPSGo="; + hash = "sha256-mNWM+EKd6RVnh82aoKkqV8nOu9IZHslvE1qovkvo5yQ="; }; - vendorHash = "sha256-yo564Yqo28++nxJDv4/0ZBAxn1gRvxHv6TgBKm8iSTA="; + vendorHash = "sha256-8V4rg7rKmogzZNPdNBhllxU4aDTQrSzabb5hDHqp+lU="; ldflags = [ "-s" diff --git a/pkgs/development/tools/trunk-io/default.nix b/pkgs/development/tools/trunk-io/default.nix index 0428b84895478..8990dc9341136 100644 --- a/pkgs/development/tools/trunk-io/default.nix +++ b/pkgs/development/tools/trunk-io/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "trunk-io"; - version = "1.3.0"; + version = "1.3.1"; src = fetchurl { url = "https://trunk.io/releases/launcher/${finalAttrs.version}/trunk"; - hash = "sha256-v9WJb9oIs5k2ZIX80L83dRtEarTiVsXBtXBta0sP++A="; + hash = "sha256-kiUcc7RFPo7UWzEe2aQ2nrbI3GZ/zfxOlOdWw7YFoAs="; }; dontUnpack = true; diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix index 3c70666865564..adbaf75631376 100644 --- a/pkgs/development/tools/typos/default.nix +++ b/pkgs/development/tools/typos/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "typos"; - version = "1.20.4"; + version = "1.20.8"; src = fetchFromGitHub { owner = "crate-ci"; repo = pname; rev = "v${version}"; - hash = "sha256-UhcJP4IF8nE9JzgXMDD4XE9ZmhwKIhkBr7RJAZjtzVE="; + hash = "sha256-ZigvL11M1bxc7cwDExgIdFhXnZE7LoHIu7oS4Ga2hWw="; }; - cargoHash = "sha256-/rZr9sF+gOG4B+HGTVI/lYwdn4+a01Hd4x7IK5R2Xno="; + cargoHash = "sha256-ZD56gy4untz5Ey/sopCFjFWsBiwMi+AZCdNch/aJD0c="; meta = with lib; { description = "Source code spell checker"; diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix index 8c52bb8d05a14..1a22dbac8f296 100644 --- a/pkgs/development/web/bun/default.nix +++ b/pkgs/development/web/bun/default.nix @@ -12,7 +12,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.1.2"; + version = "1.1.3"; pname = "bun"; src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); @@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-ICZMbmXTZdMfsvWsAzDdeVk/p86pNxVJPyeTrT7ntfs="; + hash = "sha256-OBlbE7tezlH5RGrRbL0TvjKq0deLA2VMGO/gJI1wHpQ="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-DaPTkcuh8bEq/YB9SqUMslZV/n9nlAhCWoMzF5aeqjM="; + hash = "sha256-8bpkzH0SqG7tgm6Q7+4AT9RfrFKnsSGuFt2S1JXGwrw="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip"; - hash = "sha256-zDsfJL7S6YHxmgnbn6dHMMgKOmoI2g9dC7XL61QP0m8="; + hash = "sha256-AUzjyCUi4OlU7VxfOCVmMXezsVrTSmYPH/QMv85oQ5k="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-qSgwXJD+T3lh1Gjd+0tXBEkc2VgZgbldFI3WkM72ej8="; + hash = "sha256-0/Z0wkKm2RlNr1nLWU6U5mz0SluBDKaIJi4GG9LAxz4="; }; }; updateScript = writeShellScript "update-bun" '' diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index ef291d6fee825..b7c9e3e6cac8a 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -13,16 +13,16 @@ }: rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.41.3"; + version = "1.42.3"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - hash = "sha256-Urcy3kvwBz5Ey0LnoT6/N7V/QJg2SIBHVmWa12WOTKw="; + hash = "sha256-mjMpjbQbj0QyvRU4RRL++zvAxU2ZfMDhDauBC+zIH/g="; }; - cargoHash = "sha256-NhJ3Uldncjx/KHAMVCd6U4Q0fbmc+u4E7JNZHcy/zQY="; + cargoHash = "sha256-xuR7XrcI1O8NB6YY0oGFHxv+eUmt3WX1dXBI9aOOw58="; postPatch = '' # upstream uses lld on aarch64-darwin for faster builds diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix index 4ced5309ffdad..e0f797b4c67fa 100644 --- a/pkgs/development/web/deno/librusty_v8.nix +++ b/pkgs/development/web/deno/librusty_v8.nix @@ -4,17 +4,17 @@ let fetch_librusty_v8 = args: fetchurl { name = "librusty_v8-${args.version}"; - url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a"; + url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a.gz"; sha256 = args.shas.${stdenv.hostPlatform.system}; meta = { inherit (args) version; }; }; in fetch_librusty_v8 { - version = "0.85.0"; + version = "0.89.0"; shas = { - x86_64-linux = "sha256-Ma6JewYaHuPLihKnwwq8pAo+6sraXMghnl+wMvRfP1Y="; - aarch64-linux = "sha256-Y55ZXuyB2kq2a/cJwIo7DxClg2juAsGYpyTmwYE2W3Q="; - x86_64-darwin = "sha256-njP3obzJxr8I4G3jhDNbiVL8Cxa9D4KPGXW7VFrAZQY="; - aarch64-darwin = "sha256-/8UFpUgdSKihxd4qsBoxYFrjEKUG3cDSkwJ5NSdmSQs="; + x86_64-linux = "sha256-XxX3x3LBiJK768gvzIsV7aKm6Yn5dLS3LINdDOUjDGU="; + aarch64-linux = "sha256-ZetNxahe/XDp6OoGFkZS7VfOPQPbEGUkPNAaSJ0Y90M="; + x86_64-darwin = "sha256-A047aVL2KSNWofPK2eH395iGPcdM+FjSxu5GkW9wJnI="; + aarch64-darwin = "sha256-XN2JFL8Rs9hyTquVx6brjW15H54mhVIHqzkdEy9smqM="; }; } diff --git a/pkgs/development/web/deno/update/librusty_v8.ts b/pkgs/development/web/deno/update/librusty_v8.ts index 39831f6ea2797..14d698a063e78 100644 --- a/pkgs/development/web/deno/update/librusty_v8.ts +++ b/pkgs/development/web/deno/update/librusty_v8.ts @@ -29,7 +29,7 @@ const fetchArchShaTasks = (version: string, arches: Architecture[]) => ` { fetchurl }: fetchurl { - url = "https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch.rust}.a"; + url = "https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch.rust}.a.gz"; } `, ]); @@ -45,7 +45,7 @@ const templateDeps = (version: string, deps: PrefetchResult[]) => let fetch_librusty_v8 = args: fetchurl { name = "librusty_v8-\${args.version}"; - url = "https://github.com/denoland/rusty_v8/releases/download/v\${args.version}/librusty_v8_release_\${stdenv.hostPlatform.rust.rustcTarget}.a"; + url = "https://github.com/denoland/rusty_v8/releases/download/v\${args.version}/librusty_v8_release_\${stdenv.hostPlatform.rust.rustcTarget}.a.gz"; sha256 = args.shas.\${stdenv.hostPlatform.system}; meta = { inherit (args) version; }; }; diff --git a/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch b/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch new file mode 100644 index 0000000000000..236a1418ce616 --- /dev/null +++ b/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch @@ -0,0 +1,17 @@ +diff --git a/src/core/gitinfo.h b/src/core/gitinfo.h +new file mode 100644 +index 00000000..6f330552 +--- /dev/null ++++ b/src/core/gitinfo.h +@@ -0,0 +1,11 @@ ++// 4cce0a37b134283ed38ee4814bb282773f9c2ed1 ++// ++// This file was automatically generated by the ++// updaterevision tool. Do not edit by hand. ++ ++#define GIT_DESCRIPTION "1.4.1-29-g4cce0a37" ++#define GIT_HASH "4cce0a37b134283ed38ee4814bb282773f9c2ed1" ++#define GIT_TIME "2023-08-09 13:55:37 +0200" ++#define HG_REVISION_NUMBER 1691582137 ++#define HG_REVISION_HASH_STRING "4cce0a37b134" ++#define HG_TIME "230809-1155" diff --git a/pkgs/games/doom-ports/doomseeker/default.nix b/pkgs/games/doom-ports/doomseeker/default.nix index fb8fb1308491f..c3d3db1d254a7 100644 --- a/pkgs/games/doom-ports/doomseeker/default.nix +++ b/pkgs/games/doom-ports/doomseeker/default.nix @@ -1,23 +1,29 @@ -{ lib, stdenv, mkDerivation, cmake, fetchFromBitbucket, pkg-config, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }: +{ lib, stdenv, cmake, fetchFromBitbucket, wrapQtAppsHook, pkg-config, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }: -mkDerivation { +stdenv.mkDerivation { pname = "doomseeker"; - version = "2018-03-05"; + version = "2023-08-09"; src = fetchFromBitbucket { owner = "Doomseeker"; repo = "doomseeker"; - rev = "c2c7f37b1afb"; - sha256 = "17fna3a604miqsvply3klnmypps4ifz8axgd3pj96z46ybxs8akw"; + rev = "4cce0a37b134283ed38ee4814bb282773f9c2ed1"; + hash = "sha256-J7gesOo8NUPuVaU0o4rCGzLrqr3IIMAchulWZG3HTqg="; }; - patches = [ ./fix_paths.patch ./qt_build_fix.patch ]; + patches = [ ./dont_update_gitinfo.patch ./add_gitinfo.patch ./fix_paths.patch ]; - nativeBuildInputs = [ cmake qttools pkg-config xxd ]; + nativeBuildInputs = [ wrapQtAppsHook cmake qttools pkg-config xxd ]; buildInputs = [ qtbase qtmultimedia zlib bzip2 ]; hardeningDisable = lib.optional stdenv.isDarwin "format"; + # Doomseeker looks for the engines in the program directory + postInstall = '' + mv $out/bin/* $out/lib/doomseeker/ + ln -s $out/lib/doomseeker/doomseeker $out/bin/ + ''; + meta = with lib; { homepage = "http://doomseeker.drdteam.org/"; description = "Multiplayer server browser for many Doom source ports"; diff --git a/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch b/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch new file mode 100644 index 0000000000000..724a628849d43 --- /dev/null +++ b/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b4b26e04..338858f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,11 +149,8 @@ set(CXX_STANDARD_REQUIRED ON) + + if(WIN32) + set(WITH_AUTOUPDATES 1) +- add_subdirectory(tools/updateinstaller) + endif() + +-add_subdirectory(tools/updaterevision) +- + add_subdirectory(src/core) + add_subdirectory(src/plugins) + +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 089e3889..8add598d 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -50,13 +50,6 @@ configure_file(doomseeker_copts.h.in doomseeker_copts.h) + option(DOOMSEEKER_INSTALL_NONFREE "Install non-free resources?" ${DEFAULT_NONFREE_INSTALL}) + set(DOOMSEEKER_IP2C_DAT "" CACHE FILEPATH "Path to IpToCountry.dat; optional") + +-# Get the revision from vcs +-add_custom_target(revision_check ALL +- COMMAND updaterevision ${CMAKE_CURRENT_SOURCE_DIR}/gitinfo.h +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +- DEPENDS updaterevision +-) +- + # In case gitinfo.h isn't yet generated create a dummy file so our file listing + # will contain it. We can't just add it to the file listing since then CMake + # would complain that it doesn't exist. +@@ -178,10 +171,6 @@ endif() + + target_compile_definitions(doomseeker PRIVATE "-DINSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"" "-DINSTALL_LIBDIR=\"${CMAKE_INSTALL_LIBDIR}\"") + +-# Make sure the vcs version file is created before we attempt to compile +-# Doomseeker. +-add_dependencies(doomseeker revision_check) +- + target_link_libraries(doomseeker + LINK_PRIVATE + Wadseeker::wadseeker diff --git a/pkgs/games/doom-ports/doomseeker/fix_paths.patch b/pkgs/games/doom-ports/doomseeker/fix_paths.patch index 08654c2384cb3..74d8923610554 100644 --- a/pkgs/games/doom-ports/doomseeker/fix_paths.patch +++ b/pkgs/games/doom-ports/doomseeker/fix_paths.patch @@ -1,40 +1,30 @@ -diff -ru3 source-old/src/core/datapaths.cpp source-new/src/core/datapaths.cpp ---- source-old/src/core/datapaths.cpp 1970-01-01 03:00:01.000000000 +0300 -+++ source-new/src/core/datapaths.cpp 2018-03-04 00:10:25.247262567 +0300 -@@ -335,7 +335,7 @@ - paths.append(workingDirectory()); - paths.append("./"); - #ifndef Q_OS_WIN32 -- paths.append(INSTALL_PREFIX "/" INSTALL_LIBDIR "/doomseeker/"); -+ paths.append(INSTALL_PREFIX "/lib/doomseeker/"); - #endif - paths = uniquePaths(paths); - return Strings::combineManyPaths(paths, "engines/"); -diff -ru3 source-old/src/core/pathfinder/pathfinder.cpp source-new/src/core/pathfinder/pathfinder.cpp ---- source-old/src/core/pathfinder/pathfinder.cpp 1970-01-01 03:00:01.000000000 +0300 -+++ source-new/src/core/pathfinder/pathfinder.cpp 2018-03-04 00:09:34.862556976 +0300 -@@ -128,9 +128,7 @@ +diff --git a/src/core/pathfinder/pathfinder.cpp b/src/core/pathfinder/pathfinder.cpp +index f277283a..454a8145 100644 +--- a/src/core/pathfinder/pathfinder.cpp ++++ b/src/core/pathfinder/pathfinder.cpp +@@ -137,9 +137,7 @@ PathFinder PathFinder::genericPathFinder(const QStringList &suffixes) << DataPaths::programFilesDirectory(DataPaths::x64) << DataPaths::programFilesDirectory(DataPaths::x86); - #else + #else - paths << "/usr/bin" << "/usr/local/bin" << "/usr/share/bin" - << "/usr/games/" << "/usr/local/games/" -- << "/usr/share/games/" << gDefaultDataPaths->workingDirectory() << "."; -+ paths << gDefaultDataPaths->workingDirectory() << "."; - #endif +- << "/usr/share/games/" << QCoreApplication::applicationDirPath() << "."; ++ paths << gDefaultDataPaths->workingDirectory() << "."; + #endif QStringList pathsCopy(paths); - foreach (const QString &path, pathsCopy) -diff -ru3 source-old/src/core/pathfinder/wadpathfinder.cpp source-new/src/core/pathfinder/wadpathfinder.cpp ---- source-old/src/core/pathfinder/wadpathfinder.cpp 1970-01-01 03:00:01.000000000 +0300 -+++ source-new/src/core/pathfinder/wadpathfinder.cpp 2018-03-04 00:09:56.822865339 +0300 -@@ -84,10 +84,6 @@ - QStringList defaultPaths() - { - QStringList paths; -- #ifdef Q_OS_UNIX -- paths << "/usr/local/share/games/doom/" -- << "/usr/share/games/doom/"; -- #endif - return paths; - } + for (const QString &path : pathsCopy) +diff --git a/src/core/pathfinder/wadpathfinder.cpp b/src/core/pathfinder/wadpathfinder.cpp +index 07df0b64..6300542d 100644 +--- a/src/core/pathfinder/wadpathfinder.cpp ++++ b/src/core/pathfinder/wadpathfinder.cpp +@@ -84,10 +84,6 @@ public: + QStringList defaultPaths() + { + QStringList paths; +- #ifdef Q_OS_UNIX +- paths << "/usr/local/share/games/doom/" +- << "/usr/share/games/doom/"; +- #endif + return paths; + } }; diff --git a/pkgs/games/doom-ports/zandronum/alpha/add_gitinfo.patch b/pkgs/games/doom-ports/zandronum/alpha/add_gitinfo.patch new file mode 100644 index 0000000000000..fdf8e2e1a9573 --- /dev/null +++ b/pkgs/games/doom-ports/zandronum/alpha/add_gitinfo.patch @@ -0,0 +1,15 @@ +diff -r 89bccf7127ba src/gitinfo.h +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/src/gitinfo.h Fri Dec 01 10:18:23 2023 -0300 +@@ -0,0 +1,11 @@ ++// 89bccf7127ba1ebe92558f674be69549bf2c4bd4 ++// ++// This file was automatically generated by the ++// updaterevision tool. Do not edit by hand. ++ ++#define GIT_DESCRIPTION "ZA_3.1-404-89bccf7127ba" ++#define GIT_HASH "89bccf7127ba1ebe92558f674be69549bf2c4bd4" ++#define GIT_TIME "2023-07-09 15:14:38 -0400" ++#define HG_REVISION_NUMBER 1688930078 ++#define HG_REVISION_HASH_STRING "89bccf7127ba" ++#define HG_TIME "230709-1914" diff --git a/pkgs/games/doom-ports/zandronum/alpha/default.nix b/pkgs/games/doom-ports/zandronum/alpha/default.nix new file mode 100644 index 0000000000000..c5d883fcb556b --- /dev/null +++ b/pkgs/games/doom-ports/zandronum/alpha/default.nix @@ -0,0 +1,103 @@ +{ stdenv +, lib +, fetchhg +, cmake +, pkg-config +, makeWrapper +, callPackage +, soundfont-fluid +, SDL_compat +, libGL +, glew +, bzip2 +, zlib +, libjpeg +, fluidsynth +, fmodex +, openssl +, gtk2 +, python3 +, game-music-emu +, serverOnly ? false +}: + +let + suffix = lib.optionalString serverOnly "-server"; + fmod = fmodex; # fmodex is on nixpkgs now + sqlite = callPackage ../sqlite.nix { }; + clientLibPath = lib.makeLibraryPath [ fluidsynth ]; + +in +stdenv.mkDerivation rec { + pname = "zandronum-alpha${suffix}"; + version = "3.2-230709-1914"; + + src = fetchhg { + # expired ssl certificate + url = "http://hg.osdn.net/view/zandronum/zandronum-stable"; + rev = "89bccf7127ba"; + hash = "sha256-waD9hKk0A0zMPyqEvAKxaz2e2TBG2G0MJRrzjx1LyB0="; + }; + + # zandronum tries to download sqlite now when running cmake, don't let it + # it also needs the current mercurial revision info embedded in gitinfo.h + # otherwise, the client will fail to connect to servers because the + # protocol version doesn't match. + patches = [ ./zan_configure_impurity.patch ./dont_update_gitinfo.patch ./add_gitinfo.patch ]; + + # I have no idea why would SDL and libjpeg be needed for the server part! + # But they are. + buildInputs = [ openssl bzip2 zlib SDL_compat libjpeg sqlite game-music-emu ] + ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ]; + + nativeBuildInputs = [ cmake pkg-config makeWrapper python3 ]; + + preConfigure = '' + ln -s ${sqlite}/* sqlite/ + sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \ + dumb/src/it/*.c + '' + lib.optionalString (!serverOnly) '' + sed -i \ + -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ + -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ + src/sound/music_fluidsynth_mididevice.cpp + ''; + + cmakeFlags = + [ "-DFORCE_INTERNAL_GME=OFF" ] + ++ (if serverOnly + then [ "-DSERVERONLY=ON" ] + else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]); + + hardeningDisable = [ "format" ]; + + # Won't work well without C or en_US. Setting LANG might not be enough if the user is making use of LC_* so wrap with LC_ALL instead + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/lib/zandronum + cp zandronum${suffix} \ + *.pk3 \ + ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \ + $out/lib/zandronum + makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum-alpha${suffix} + wrapProgram $out/bin/zandronum-alpha${suffix} \ + --set LC_ALL="C" + ''; + + postFixup = lib.optionalString (!serverOnly) '' + patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum:${clientLibPath} \ + $out/lib/zandronum/zandronum + ''; + + passthru = { + inherit fmod sqlite; + }; + + meta = with lib; { + homepage = "https://zandronum.com/"; + description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software"; + maintainers = with maintainers; [ lassulus MP2E ]; + license = licenses.sleepycat; + platforms = platforms.linux; + }; +} diff --git a/pkgs/games/doom-ports/zandronum/alpha/dont_update_gitinfo.patch b/pkgs/games/doom-ports/zandronum/alpha/dont_update_gitinfo.patch new file mode 100644 index 0000000000000..8d639c6467388 --- /dev/null +++ b/pkgs/games/doom-ports/zandronum/alpha/dont_update_gitinfo.patch @@ -0,0 +1,19 @@ +diff -r 89bccf7127ba src/CMakeLists.txt +--- a/src/CMakeLists.txt Sun Jul 09 15:14:38 2023 -0400 ++++ b/src/CMakeLists.txt Fri Dec 01 10:16:26 2023 -0300 +@@ -642,15 +642,6 @@ + add_definitions( -DBACKPATCH ) + endif( BACKPATCH ) + +-# Update gitinfo.h +- +-get_target_property( UPDATEREVISION_EXE updaterevision LOCATION ) +- +-add_custom_target( revision_check ALL +- COMMAND ${UPDATEREVISION_EXE} src/gitinfo.h +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +- DEPENDS updaterevision ) +- + # Libraries ZDoom needs + + message( STATUS "Fluid synth libs: ${FLUIDSYNTH_LIBRARIES}" ) diff --git a/pkgs/games/doom-ports/zandronum/alpha/zan_configure_impurity.patch b/pkgs/games/doom-ports/zandronum/alpha/zan_configure_impurity.patch new file mode 100644 index 0000000000000..4a85de520ac1b --- /dev/null +++ b/pkgs/games/doom-ports/zandronum/alpha/zan_configure_impurity.patch @@ -0,0 +1,69 @@ +diff -r 89bccf7127ba sqlite/CMakeLists.txt +--- a/sqlite/CMakeLists.txt Sun Jul 09 15:14:38 2023 -0400 ++++ b/sqlite/CMakeLists.txt Fri Dec 01 10:10:35 2023 -0300 +@@ -1,65 +1,5 @@ + cmake_minimum_required( VERSION 2.4 ) + +-# [BB/EP] Download SQLite archive and extract the sources if necessary. +-set( ZAN_SQLITE_VERSION 3360000 ) # SQL version 3.36.0 +-set( ZAN_SQLITE_YEAR 2021 ) +-set( ZAN_SQLITE_SHA1 "a4bcf9e951bfb9745214241ba08476299fc2dc1e" ) +-set( ZAN_SQLITE_DOWNLOAD_NAME "sqlite-autoconf-${ZAN_SQLITE_VERSION}" ) +-set( ZAN_SQLITE_TEMP_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz" ) +-set( ZAN_SQLITE_HASHED_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz" ) +- +-if( IS_DIRECTORY ${ZAN_SQLITE_HASHED_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_HASHED_ARCHIVE} ) +- message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_HASHED_ARCHIVE} must be a valid file.\n" +- "SQLite: Please remove it and try again." ) +-elseif( ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.c ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.h ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3ext.h ) ) +- +- if( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} ) +- if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} ) +- message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n" +- "SQLite: Please remove it and try again." ) +- endif() +- +- message( STATUS "SQLite: downloading the archive..." ) +- +- file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE} +- SHOW_PROGRESS +- STATUS ZAN_SQLITE_DOWNLOAD_STATUS ) +- +- # Report any problem if present and abort immediately. +- list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE ) +- if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE ) +- list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE ) +- message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" ) +- endif() +- +- # Check the hash. Abort immediately if it's not valid (something is wrong with the download) +- file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 ) +- if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 ) +- message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n" +- "SQLite: valid: ${ZAN_SQLITE_SHA1}\n" +- "SQLite: downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" ) +- endif() +- +- # Rename the archive. +- execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} ) +- endif() +- +- message( STATUS "SQLite: saving the source files into the 'sqlite' directory." ) +- +- # Extract the archive. +- execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_HASHED_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) +- +- # Copy the required files. +- execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.c ${CMAKE_CURRENT_SOURCE_DIR} ) +- execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.h ${CMAKE_CURRENT_SOURCE_DIR} ) +- execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3ext.h ${CMAKE_CURRENT_SOURCE_DIR} ) +- +- # Remove the extracted folder. +- execute_process( COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME} ) +- +- message( STATUS "SQLite: done." ) +-endif() +- + # [BB] Silence all GCC warnings + IF ( CMAKE_COMPILER_IS_GNUCXX ) + ADD_DEFINITIONS ( -w ) diff --git a/pkgs/games/osu-lazer/bin.nix b/pkgs/games/osu-lazer/bin.nix index a7c6ac6674115..e98627874245b 100644 --- a/pkgs/games/osu-lazer/bin.nix +++ b/pkgs/games/osu-lazer/bin.nix @@ -7,22 +7,22 @@ let pname = "osu-lazer-bin"; - version = "2024.312.1"; + version = "2024.412.1"; src = { aarch64-darwin = fetchzip { url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip"; - hash = "sha256-1MsZ9gHTZKArXk1b6XEBNk/ZWAUHKjbVrrn++dLulaQ="; + hash = "sha256-iV9m6w2bs2123uUmH1lgc+sZFG0NtvEIaQmADkaF/x8="; stripRoot = false; }; x86_64-darwin = fetchzip { url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip"; - hash = "sha256-Xgl8lrMsL9O9YHbEx3Iwwh9fpLOnYZN0Kt28F5X5OwE="; + hash = "sha256-yuVoNApIp9g+Un2LHdDsvVo+BCflPT4rMPtOf1vltZA="; stripRoot = false; }; x86_64-linux = fetchurl { url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage"; - hash = "sha256-1dzgs1p3/pf4eCdKvQ9JxowN+oBPBNaZv5e6qHeFPEM="; + hash = "sha256-9mMP8+Ee8lZcaIkZfcaDmgDqe/rFvEGc01oGwFpnhOY="; }; }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix index f40ea0634211c..43a7a9b3233e1 100644 --- a/pkgs/games/osu-lazer/default.nix +++ b/pkgs/games/osu-lazer/default.nix @@ -17,13 +17,13 @@ buildDotnetModule rec { pname = "osu-lazer"; - version = "2024.312.1"; + version = "2024.412.1"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - hash = "sha256-7xxuVcBtC79EiDz+/x0IqbPofpgwMdz87XjRLqkCBb8="; + hash = "sha256-lpBQGNN91mV9Uy9NpyFYh3vsoMW1ZaiYA5wkoS6bgig="; }; projectFile = "osu.Desktop/osu.Desktop.csproj"; diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix index 23f435b7280b5..f06dc41d286ba 100644 --- a/pkgs/games/osu-lazer/deps.nix +++ b/pkgs/games/osu-lazer/deps.nix @@ -137,15 +137,15 @@ (fetchNuGet { pname = "ppy.ManagedBass.Fx"; version = "2022.1216.0"; sha256 = "1vw573mkligpx9qiqasw1683cqaa1kgnxhlnbdcj9c4320b1pwjm"; }) (fetchNuGet { pname = "ppy.ManagedBass.Mix"; version = "2022.1216.0"; sha256 = "185bpvgbnd8y20r7vxb1an4pd1aal9b7b5wvmv3knz0qg8j0chd9"; }) (fetchNuGet { pname = "ppy.ManagedBass.Wasapi"; version = "2022.1216.0"; sha256 = "0h2ncf59sza8whvrwwqi8b6fcrkqrnfgfhd0vnhyw0s98nj74f0z"; }) - (fetchNuGet { pname = "ppy.osu.Framework"; version = "2024.306.0"; sha256 = "0fvjr0955n8y5cysdmwzqq3anj59qk3dv2x23mrgdr3hdc75xb92"; }) - (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2023.1225.0-nativelibs"; sha256 = "008kj91i9486ff2q7fcgb8mmpinskvnmfsqza2m5vafh295y3h7m"; }) + (fetchNuGet { pname = "ppy.osu.Framework"; version = "2024.329.0"; sha256 = "1hpcgga80sliip6r1a7ps1bb2cwqfrg34sj2y473ijxbhk74swhr"; }) + (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2024.326.0-nativelibs"; sha256 = "14vx8gz249nr9zx0qqcd4lrz8nxddclki3mjf0xvc1pfkz7xnqdj"; }) (fetchNuGet { pname = "ppy.osu.Framework.SourceGeneration"; version = "2023.720.0"; sha256 = "001vvxyv483ibid25fdknvij77x0y983mp4psx2lbg3x2al7yxax"; }) - (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2024.309.0"; sha256 = "1ckl3yzxijnsg73awwvbs1rfnla29r88f2qarq51l8fd1ngcig26"; }) + (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2024.410.0"; sha256 = "0s43adha41fg56xdn4skridljhpi7mcwp6nqka7im772fj942rv4"; }) (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.211"; sha256 = "0j4a9n39pqm0cgdcps47p5n2mqph3h94r7hmf0bs59imif4jxvjy"; }) - (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.693-alpha"; sha256 = "15fgd3j9cs3adldiscqm0ffixf68h06wqdz1xy1286z4gczhi954"; }) - (fetchNuGet { pname = "ppy.Veldrid"; version = "4.9.5-gc8dfc5ca19"; sha256 = "0w0mimfwdgbywmvq2yv04p65wgi1plhlk1ya012yyxp13vvhfgi8"; }) - (fetchNuGet { pname = "ppy.Veldrid.MetalBindings"; version = "4.9.5-gc8dfc5ca19"; sha256 = "0i6bb79kprrmsfphjq26rgxqfvvf12pxr7dfwcq448dw2xgq6rpy"; }) - (fetchNuGet { pname = "ppy.Veldrid.OpenGLBindings"; version = "4.9.5-gc8dfc5ca19"; sha256 = "06a4kkfidr7yj60xl3k4yfawz4wzwkkjpaki8fmsanif1yhz69l8"; }) + (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.741-alpha"; sha256 = "158h05lbw6m5anv8glsaylbrc4mbxm8m314cicrga815hcrgxmdi"; }) + (fetchNuGet { pname = "ppy.Veldrid"; version = "4.9.9-ga61b647961"; sha256 = "1avi372bff89xzb4awbv96q479xknlxhwxnl0i2aylv7gz11yjad"; }) + (fetchNuGet { pname = "ppy.Veldrid.MetalBindings"; version = "4.9.9-ga61b647961"; sha256 = "0czgzsb46gbndcp3xjnvy5x22j2ljicljcgyzkrf9j8f1hxr5bzn"; }) + (fetchNuGet { pname = "ppy.Veldrid.OpenGLBindings"; version = "4.9.9-ga61b647961"; sha256 = "0ksdhzn2ff5qldzv1yrc0gprjflzh9zqdrgfddjll4786g9qglgs"; }) (fetchNuGet { pname = "ppy.Veldrid.SPIRV"; version = "1.0.15-gca6cec7843"; sha256 = "09pi4c91ljavilw9kx7kzhcax7ar4zk7zy1qwvqfrqsgxznvyxa1"; }) (fetchNuGet { pname = "Realm"; version = "11.5.0"; sha256 = "0r7j5si3n4ncq8xnnjk1q5jjqbj0s1w3ps124y8pgqd14dzvch6a"; }) (fetchNuGet { pname = "Realm.PlatformHelpers"; version = "11.5.0"; sha256 = "1ggbmlsf04pxnh1k86hs0wxnvcw0ja2xnn6358qmrp826km0w1g9"; }) @@ -193,7 +193,7 @@ (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "Sentry"; version = "3.41.3"; sha256 = "1xrbl1q7qpkv60d5y9fd9a5g2d94nr51xiy31vksklzv011rdlj9"; }) + (fetchNuGet { pname = "Sentry"; version = "4.3.0"; sha256 = "0k25g9ypssd5dy64m1n3r0w2f96aaqqf0wyhijinxswl0l0hbb1q"; }) (fetchNuGet { pname = "SharpCompress"; version = "0.36.0"; sha256 = "164ikphk4glldr73l247cjb65v064md0ccccm06rh0zvjq5iqlph"; }) (fetchNuGet { pname = "SharpFNT"; version = "2.0.0"; sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0"; }) (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.0.0-beta.13"; sha256 = "1250z6sa9ghf84czlkzvaysb29c0n229z1f0vh5qls89akrkl7h8"; }) diff --git a/pkgs/games/otto-matic/default.nix b/pkgs/games/otto-matic/default.nix index c56db251a1b01..6d0633febbd2f 100644 --- a/pkgs/games/otto-matic/default.nix +++ b/pkgs/games/otto-matic/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "OttoMatic"; - version = "4.0.1"; + version = "unstable-2023-11-13"; src = fetchFromGitHub { owner = "jorio"; repo = pname; - rev = version; - sha256 = "sha256-0mqOAdAmJGxKa6yXktrbmdXkoQIliimq37iy9bCBZYg="; + rev = "8a5411779762684066d3748fbf4d33747ca871a4"; + hash = "sha256-cZ2gHNXmjMocfTgbA+0T2nwKs55ZMDoB+JTf0Qdqe8U="; fetchSubmodules = true; }; @@ -40,5 +40,6 @@ stdenv.mkDerivation rec { license = licenses.cc-by-sa-40; maintainers = with maintainers; [ lux ]; platforms = platforms.linux; + mainProgram = "OttoMatic"; }; } diff --git a/pkgs/misc/ptouch-print/default.nix b/pkgs/misc/ptouch-print/default.nix index da0d3c8c97d35..e8c51514e0a99 100644 --- a/pkgs/misc/ptouch-print/default.nix +++ b/pkgs/misc/ptouch-print/default.nix @@ -1,35 +1,57 @@ -{ lib, stdenv +{ cmake , fetchgit -, autoreconfHook , gd +, gettext +, git +, lib +, libjpeg +, libpng , libusb1 +, pkg-config +, stdenv +, zlib }: stdenv.mkDerivation rec { pname = "ptouch-print"; - version = "1.4.3"; + version = "1.5-unstable-2024-02-11"; src = fetchgit { - url = "https://mockmoon-cybernetics.ch/cgi/cgit/linux/ptouch-print.git"; - rev = "v${version}"; - sha256 = "0i57asg2hj1nfwy5lcb0vhrpvb9dqfhf81vh4i929h1kiqhlw2hx"; + url = "https://git.familie-radermacher.ch/linux/ptouch-print.git"; + rev = "8aaeecd84b619587dc3885dd4fea4b7310c82fd4"; + hash = "sha256-IIq3SmMfsgwSYbgG1w/wrBnFtb6xdFK2lkK27Qqk6mw="; }; nativeBuildInputs = [ - autoreconfHook + cmake + git + pkg-config ]; buildInputs = [ gd + gettext + libjpeg + libpng + zlib libusb1 ]; + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + mv ptouch-print $out/bin + + runHook postInstall + ''; + meta = with lib; { description = "Command line tool to print labels on Brother P-Touch printers on Linux"; + homepage = "https://dominic.familie-radermacher.ch/projekte/ptouch-print/"; license = licenses.gpl3Plus; - homepage = "https://mockmoon-cybernetics.ch/computer/p-touch2430pc/"; + mainProgram = "ptouch-print"; maintainers = with maintainers; [ shamilton ]; platforms = platforms.linux; - mainProgram = "ptouch-print"; }; } diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 22245bc51fbb2..0f1b314df6bd5 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -871,11 +871,12 @@ let }; zram = { - ZRAM = module; - ZRAM_WRITEBACK = option yes; - ZSWAP = option yes; - ZPOOL = yes; - ZBUD = option yes; + ZRAM = module; + ZRAM_WRITEBACK = option yes; + ZRAM_MULTI_COMP = whenAtLeast "6.2" yes; + ZSWAP = option yes; + ZPOOL = yes; + ZBUD = option yes; }; brcmfmac = { diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 147e044ccc05d..04e1fe87908b2 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -4,31 +4,31 @@ "hash": "sha256:0xavyh3xg23il3bm2x6fjji3s26z05cyv1lry6h5yd7jjj3qm7cc" }, "6.1": { - "version": "6.1.85", - "hash": "sha256:0x32p1c04q5d0yd4qncrmc064m3g1x7cvfia5cd04q3wb769pzik" + "version": "6.1.86", + "hash": "sha256:0nqiwcaln36drkcaav96dymd2y8rv7wj6a5xjl58f2hg9z2cilyk" }, "5.15": { - "version": "5.15.154", - "hash": "sha256:16067mhf173kgs4mvlzix9qscwq5wy8817dyfyjx5g7jkykmxy0p" + "version": "5.15.155", + "hash": "sha256:1r16j5asd8v5hr5b0sb8z2wmp6say928pgm13k4iyv9fdnw5jn68" }, "5.10": { - "version": "5.10.214", - "hash": "sha256:0n7m82hw2rkw5mhdqw0vvmq7kq0s43jalr53sbv09wl17vai9w20" + "version": "5.10.215", + "hash": "sha256:1af6h86flx96pszg006agpak2f9dkk2jqaazfykd7aafqdcs3747" }, "5.4": { - "version": "5.4.273", - "hash": "sha256:0hs7af3mcnk5mmp3c5vjl187nva2kzsdx487nd12a8m7zb9wz84b" + "version": "5.4.274", + "hash": "sha256:1m4yyyv48mfkzhqms88dv1jf39zsfp88az5zpqynmm1wlhhv9iza" }, "4.19": { - "version": "4.19.311", - "hash": "sha256:10dww3cyazcf3wjzh8igpa0frb8gvl6amnksh42zfkji4mskh2r6" + "version": "4.19.312", + "hash": "sha256:0jppa4p73pssd7m3jpc7i6rgnj9gawjcgk4wmqyy87ijzrgzm553" }, "6.6": { - "version": "6.6.26", - "hash": "sha256:1nan0h95dkqpb55jr5mxfi8yks09fd518im3vblbi4zvyi4v8m5g" + "version": "6.6.27", + "hash": "sha256:14c229mcrd2rd2vjp0c3apzqifn6mkz0rcbw07nj73rw1q3517k3" }, "6.8": { - "version": "6.8.5", - "hash": "sha256:12gsxxiwkildj8i94fkm2v69zb6z6s7hnnlvpsyv8j1pszjj728k" + "version": "6.8.6", + "hash": "sha256:158rb8x4qaig8ywbr6n2jnqpl9wgqha4ghs3y3mlbaq3sqr34wly" } } diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index baf0231f13e16..5b222c4b45eff 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -59,6 +59,33 @@ let drvAttrs = config_: kernelConf: kernelPatches: configfile: let + # Folding in `ubootTools` in the default nativeBuildInputs is problematic, as + # it makes updating U-Boot cumbersome, since it will go above the current + # threshold of rebuilds + # + # To prevent these needless rounds of staging for U-Boot builds, we can + # limit the inclusion of ubootTools to target platforms where uImage *may* + # be produced. + # + # This command lists those (kernel-named) platforms: + # .../linux $ grep -l uImage ./arch/*/Makefile | cut -d'/' -f3 | sort + # + # This is still a guesstimation, but since none of our cached platforms + # coincide in that list, this gives us "perfect" decoupling here. + linuxPlatformsUsingUImage = [ + "arc" + "arm" + "csky" + "mips" + "powerpc" + "sh" + "sparc" + "xtensa" + ]; + needsUbootTools = + lib.elem stdenv.hostPlatform.linuxArch linuxPlatformsUsingUImage + ; + config = let attrName = attr: "CONFIG_" + attr; in { isSet = attr: hasAttr (attrName attr) config; @@ -106,7 +133,8 @@ let inherit src; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr zstd python3Minimal kmod ubootTools ] + nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr zstd python3Minimal kmod ] + ++ optional needsUbootTools ubootTools ++ optional (lib.versionOlder version "5.8") libelf ++ optionals (lib.versionAtLeast version "4.16") [ bison flex ] ++ optionals (lib.versionAtLeast version "5.2") [ cpio pahole zlib ] diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index e9e90b3c388b5..65556987508e5 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { patches = [ ./no-self-references.patch ./fix-hardcoded-mapdir.patch + # Fixes build on musl + (fetchurl { + url = "https://raw.githubusercontent.com/void-linux/void-packages/e58d2b17d3c40faffc0d426aab00184f28d9dafa/srcpkgs/mdadm/patches/musl.patch"; + hash = "sha256-TIcQs+8RM5Q6Z8MHkI50kaJd7f9WdS/EVI16F7b2+SA="; + }) ]; makeFlags = [ diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix index 2c29a210f7a8a..f18d01a5ba7c6 100644 --- a/pkgs/servers/bird/default.nix +++ b/pkgs/servers/bird/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "bird"; - version = "2.15"; + version = "2.15.1"; src = fetchurl { url = "ftp://bird.network.cz/pub/bird/${pname}-${version}.tar.gz"; - hash = "sha256-emRY+kEQnABVMbI+P3q9Y9cACpnRldtJROvMtTntAvA="; + hash = "sha256-SOhcYi3hZHVsEy6netGoqVzJ/QE3/9DYgnRlic51x10="; }; nativeBuildInputs = [ flex bison ]; diff --git a/pkgs/servers/geospatial/tegola/default.nix b/pkgs/servers/geospatial/tegola/default.nix deleted file mode 100644 index db6659172d057..0000000000000 --- a/pkgs/servers/geospatial/tegola/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, buildGoModule, fetchFromGitHub }: - -buildGoModule rec { - pname = "tegola"; - version = "0.19.0"; - - src = fetchFromGitHub { - owner = "go-spatial"; - repo = "tegola"; - rev = "v${version}"; - sha256 = "sha256-Z72QANnkAOg0le6p0lFJUhlgE/U32Ao+M/yog00gSF4="; - }; - - vendorHash = null; - - subPackages = [ "cmd/tegola" ]; - - ldflags = [ "-s" "-w" "-X github.com/go-spatial/tegola/internal/build.Version=${version}" ]; - - meta = with lib; { - homepage = "https://www.tegola.io/"; - description = "Mapbox Vector Tile server"; - mainProgram = "tegola"; - maintainers = with maintainers; [ ingenieroariel ]; - license = licenses.mit; - }; -} diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index dd44fa6017c05..6fdae7302d7d7 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -21,7 +21,7 @@ let in buildGoModule rec { pname = "grafana"; - version = "10.4.1"; + version = "10.4.2"; subPackages = [ "pkg/cmd/grafana" "pkg/cmd/grafana-server" "pkg/cmd/grafana-cli" ]; @@ -29,7 +29,7 @@ buildGoModule rec { owner = "grafana"; repo = "grafana"; rev = "v${version}"; - hash = "sha256-wKYn6EcfQlWj/6rKnGYphzq3IThRj6qCjpqwllNPht8="; + hash = "sha256-ahG9ABJJUUgrFqqNjkJRA1Gia8T4J90jIsCMFOhZ55w="; }; # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22 @@ -74,7 +74,7 @@ buildGoModule rec { disallowedRequisites = [ offlineCache ]; - vendorHash = "sha256-puPgbgfRqbPvMVks+gyOPOTTfdClWqbOf89X0ihMLPY="; + vendorHash = "sha256-XmIF/ZWVO1qjSmRPTFnHgxvnliXXicGgsV8gQcKJl9U="; proxyVendor = true; diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 66a9bcc5c6841..192c5ade05b57 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -1,6 +1,7 @@ { lib, stdenv , buildPackages , fetchurl +, fetchpatch , wafHook , pkg-config , bison @@ -76,6 +77,12 @@ stdenv.mkDerivation rec { ./4.x-no-persistent-install-dynconfig.patch ./4.x-fix-makeflags-parsing.patch ./build-find-pre-built-heimdal-build-tools-in-case-of-.patch + (fetchpatch { + # workaround for https://github.com/NixOS/nixpkgs/issues/303436 + name = "samba-reproducible-builds.patch"; + url = "https://gitlab.com/raboof/samba/-/commit/9995c5c234ece6888544cdbe6578d47e83dea0b5.patch"; + hash = "sha256-TVKK/7wGsfP1pVf8o1NwazobiR8jVJCCMj/FWji3f2A="; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix index 4c601896b45b1..c2213d9b6ca32 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix @@ -1,8 +1,31 @@ { lib, stdenv, fetchFromGitHub, postgresql }: +with { + "12" = { + version = "1.4"; + sha256 = "sha256-1cyvVEC9MQGMr7Tg6EUbsVBrMc8ahdFS3+CmDkmAq4Y="; + }; + "13" = { + version = "1.4"; + sha256 = "sha256-1cyvVEC9MQGMr7Tg6EUbsVBrMc8ahdFS3+CmDkmAq4Y="; + }; + "14" = { + version = "1.5"; + sha256 = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs="; + }; + "15" = { + version = "1.5"; + sha256 = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs="; + }; + "16" = { + version = "1.5"; + sha256 = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs="; + }; +}."${lib.versions.major postgresql.version}" or (throw "pg_safeupdate: version specification for pg ${postgresql.version} missing."); + stdenv.mkDerivation rec { pname = "pg-safeupdate"; - version = "1.5"; + inherit version; buildInputs = [ postgresql ]; @@ -10,7 +33,7 @@ stdenv.mkDerivation rec { owner = "eradman"; repo = pname; rev = version; - sha256 = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs="; + inherit sha256; }; installPhase = '' @@ -22,7 +45,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/eradman/pg-safeupdate"; changelog = "https://github.com/eradman/pg-safeupdate/raw/${src.rev}/NEWS"; platforms = postgresql.meta.platforms; + maintainers = with maintainers; [ wolfgangwalther ]; license = licenses.postgresql; - broken = versionOlder postgresql.version "14"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 523bd154f6e57..6569439e351eb 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { homepage = "https://postgis.net/"; changelog = "https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"; license = licenses.gpl2; - maintainers = with maintainers; teams.geospatial.members ++ [ marcweber ]; + maintainers = with maintainers; teams.geospatial.members ++ [ marcweber wolfgangwalther ]; inherit (postgresql.meta) platforms; }; } diff --git a/pkgs/tools/admin/ansible/lint.nix b/pkgs/tools/admin/ansible/lint.nix index 2c746ae69bd2b..e3ff67eda963a 100644 --- a/pkgs/tools/admin/ansible/lint.nix +++ b/pkgs/tools/admin/ansible/lint.nix @@ -6,12 +6,12 @@ python3.pkgs.buildPythonApplication rec { pname = "ansible-lint"; - version = "24.2.1"; + version = "24.2.2"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-w2Gd6q34UsNT3s/3JCWJvRM54pJxVS5ON7+o9n20xWs="; + hash = "sha256-6ElHbhUC435aRsJijJkyYM5GS995dRljc13MtoMFGX4="; }; postPatch = '' diff --git a/pkgs/tools/graphics/diagrams-builder/default.nix b/pkgs/tools/graphics/diagrams-builder/default.nix index 85f4fdc83efa7..b88e4e517364f 100644 --- a/pkgs/tools/graphics/diagrams-builder/default.nix +++ b/pkgs/tools/graphics/diagrams-builder/default.nix @@ -17,13 +17,13 @@ let # Used same technique as for the yiCustom package. wrappedGhc = ghcWithPackages (self: [ diagrams-builder ] ++ extraPackages self); - ghcVersion = wrappedGhc.version; + ghc = lib.getExe' wrappedGhc "ghc"; exeWrapper = backend : '' makeWrapper \ "${diagrams-builder}/bin/diagrams-builder-${backend}" "$out/bin/diagrams-builder-${backend}" \ - --set NIX_GHC ${wrappedGhc}/bin/ghc \ - --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion} + --set NIX_GHC ${ghc} \ + --set NIX_GHC_LIBDIR "$(${ghc} --print-libdir)" ''; backends = ["svg" "cairo" "ps"]; diff --git a/pkgs/tools/inputmethods/netevent/default.nix b/pkgs/tools/inputmethods/netevent/default.nix index b7c0e4d47020e..9d09d9ed2bf29 100644 --- a/pkgs/tools/inputmethods/netevent/default.nix +++ b/pkgs/tools/inputmethods/netevent/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "netevent"; - version = "20201018"; + version = "20230429"; src = fetchFromGitHub { owner = "Blub"; repo = "netevent"; - rev = "ddd330f0dc956a95a111c58ad10546071058e4c1"; - sha256 = "0myk91pmim0m51h4b8hplkbxvns0icvfmv0401r0hw8md828nh5c"; + rev = "bcadfcc42db0f57a28abddbf19d382453cb1c81f"; + sha256 = "ikC6S1LNkmv474dlhajtEuHat497Rcdo9O+bCQMXTHQ="; }; buildInputs = [ docutils ]; diff --git a/pkgs/tools/misc/aichat/default.nix b/pkgs/tools/misc/aichat/default.nix index 21cebfc7cb4b1..9b97546a2c474 100644 --- a/pkgs/tools/misc/aichat/default.nix +++ b/pkgs/tools/misc/aichat/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "aichat"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "sigoden"; repo = "aichat"; rev = "v${version}"; - hash = "sha256-xts3/ySE/bEkof6QfVCSiT2gWXHAjdQTFoqrmtidZvs="; + hash = "sha256-XNNiIjJfPsfoyG3RbxlcoUxsOUkWZ+3H3SlYenuNOIQ="; }; - cargoHash = "sha256-8exPmH299smIE5lG5VidaWvwZud3bYhqFiH8zBTyJtY="; + cargoHash = "sha256-JOkcqqmfat+PAn7mRHq+iQCF60weDOBWP2+0DL0s3X0="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix index 47fb6fbbd8dd6..f8565e8642319 100644 --- a/pkgs/tools/misc/pspg/default.nix +++ b/pkgs/tools/misc/pspg/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "pspg"; - version = "5.8.2"; + version = "5.8.3"; src = fetchFromGitHub { owner = "okbob"; repo = pname; rev = version; - sha256 = "sha256-1mL/UlN7wD0GBYwg0C2eYCB3MtFO2ILd4+A7br+/ovs="; + sha256 = "sha256-qLB0HJXH99t/rfsbed3NHgcy8ZGB4K+HjPjhCZ0pM6Q="; }; nativeBuildInputs = [ pkg-config installShellFiles ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2ba25e623e5e9..159446c8880c2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27039,8 +27039,6 @@ with pkgs; pg_tileserv = callPackage ../servers/geospatial/pg_tileserv { }; - tegola = callPackage ../servers/geospatial/tegola { }; - tile38 = callPackage ../servers/geospatial/tile38 { }; ### OS-SPECIFIC @@ -35988,8 +35986,6 @@ with pkgs; lua = lua5_3; }; - apvlv = callPackage ../applications/misc/apvlv { }; - xpdf = libsForQt5.callPackage ../applications/misc/xpdf { stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; }; @@ -36670,6 +36666,12 @@ with pkgs; serverOnly = true; }; + zandronum-alpha = callPackage ../games/doom-ports/zandronum/alpha { }; + + zandronum-alpha-server = zandronum-alpha.override { + serverOnly = true; + }; + fmodex = callPackage ../games/doom-ports/zandronum/fmod.nix { }; doom-bcc = callPackage ../games/doom-ports/zdoom/bcc-git.nix { }; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 2e25079113910..5c538abcf5cef 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -6,7 +6,6 @@ let inherit (lib) literalExpression mapAttrsToList - mdDoc mkOption optionals types @@ -15,7 +14,7 @@ let mkMassRebuild = args: mkOption (builtins.removeAttrs args [ "feature" ] // { type = args.type or (types.uniq types.bool); default = args.default or false; - description = mdDoc ((args.description or '' + description = ((args.description or '' Whether to ${args.feature} while building nixpkgs packages. '') + '' Changing the default may cause a mass rebuild. @@ -40,7 +39,7 @@ let /* Config options */ warnUndeclaredOptions = mkOption { - description = mdDoc "Whether to warn when `config` contains an unrecognized attribute."; + description = "Whether to warn when `config` contains an unrecognized attribute."; type = types.bool; default = false; }; @@ -72,7 +71,7 @@ let allowAliases = mkOption { type = types.bool; default = true; - description = mdDoc '' + description = '' Whether to expose old attribute names for compatibility. The recommended setting is to enable this, as it @@ -92,7 +91,7 @@ let default = false; # getEnv part is in check-meta.nix defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"''; - description = mdDoc '' + description = '' Whether to allow unfree packages. See [Installing unfree packages](https://nixos.org/manual/nixpkgs/stable/#sec-allow-unfree) in the NixOS manual. @@ -104,7 +103,7 @@ let default = false; # getEnv part is in check-meta.nix defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"''; - description = mdDoc '' + description = '' Whether to allow broken packages. See [Installing broken packages](https://nixos.org/manual/nixpkgs/stable/#sec-allow-broken) in the NixOS manual. @@ -116,7 +115,7 @@ let default = false; # getEnv part is in check-meta.nix defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"''; - description = mdDoc '' + description = '' Whether to allow unsupported packages. See [Installing packages on unsupported systems](https://nixos.org/manual/nixpkgs/stable/#sec-allow-unsupported-system) in the NixOS manual. @@ -138,7 +137,7 @@ let showDerivationWarnings = mkOption { type = types.listOf (types.enum [ "maintainerless" ]); default = []; - description = mdDoc '' + description = '' Which warnings to display for potentially dangerous or deprecated values passed into `stdenv.mkDerivation`. @@ -153,7 +152,7 @@ let checkMeta = mkOption { type = types.bool; default = false; - description = mdDoc '' + description = '' Whether to check that the `meta` attribute of derivations are correct during evaluation time. ''; }; diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index bb360b3538cdb..cd148cd6df10e 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -8,6 +8,7 @@ # purposes of the index. packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) { inherit (super) + agdaPackages apacheHttpdPackages fdbPackages fusePackages |