diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix index a42ee5337b65..0107627a72d1 100644 --- a/pkgs/applications/office/paperless-ngx/default.nix +++ b/pkgs/applications/office/paperless-ngx/default.nix @@ -24,13 +24,13 @@ }: let - version = "2.11.0"; + version = "2.11.2"; src = fetchFromGitHub { owner = "paperless-ngx"; repo = "paperless-ngx"; rev = "refs/tags/v${version}"; - hash = "sha256-lKPjvWc6FcEOwDgIUW8Eki8h8C19G618o1rhXnrlw/E="; + hash = "sha256-2VmV8Z8TDacc4qZePG87ZgnBydLdm+anpmk8gFKbSLM="; }; # subpath installation is broken with uvicorn >= 0.26 diff --git a/pkgs/by-name/ap/apt/package.nix b/pkgs/by-name/ap/apt/package.nix index 9d3883ef4923..431eb04af4a4 100644 --- a/pkgs/by-name/ap/apt/package.nix +++ b/pkgs/by-name/ap/apt/package.nix @@ -33,11 +33,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "apt"; - version = "2.9.6"; + version = "2.9.7"; src = fetchurl { url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz"; - hash = "sha256-eapV5XBc/WmpMSsf8j17WOUyMu4itk0WozPzrmJmDdc="; + hash = "sha256-y5mvbh/hPZdcjUbJYK9xTTuv3P7Y4VHdkKlGld1KwVs="; }; # cycle detection; lib can't be split diff --git a/pkgs/by-name/ca/cargo-expand/package.nix b/pkgs/by-name/ca/cargo-expand/package.nix index b42352f05cb3..f53385df107d 100644 --- a/pkgs/by-name/ca/cargo-expand/package.nix +++ b/pkgs/by-name/ca/cargo-expand/package.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-expand"; - version = "1.0.88"; + version = "1.0.89"; src = fetchFromGitHub { owner = "dtolnay"; repo = pname; rev = version; - hash = "sha256-H0KgtiBxafmk2PSIxnlhzRgqt5zVfk59qWnc4iDTL0k="; + hash = "sha256-oFc3hcTEZW0qgk8m4dl3NThz10ogWEMn+3BMUXmpehI="; }; - cargoHash = "sha256-UtXsUaJB7PY7FQaHu3EKZnbGjajW9e/WtK23fF0fU4c="; + cargoHash = "sha256-ce+yu3UbWbpB4UOyAAJR8MKmbJhfCHmaGHEhs5GpFeU="; meta = with lib; { description = "Cargo subcommand to show result of macro expansion"; diff --git a/pkgs/by-name/dm/dmd/generic.nix b/pkgs/by-name/dm/dmd/generic.nix index 9a1368973db0..51c814832072 100644 --- a/pkgs/by-name/dm/dmd/generic.nix +++ b/pkgs/by-name/dm/dmd/generic.nix @@ -222,5 +222,8 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "dmd"; maintainers = with maintainers; [ lionello dukc jtbx ]; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + # ld: section __DATA/__thread_bss has type zero-fill but non-zero file offset file '/private/tmp/nix-build-dmd-2.109.1.drv-0/.rdmd-301/rdmd-build.d-A1CF043A7D87C5E88A58F3C0EF5A0DF7/objs/build.o' for architecture x86_64 + # clang-16: error: linker command failed with exit code 1 (use -v to see invocation) + broken = stdenv.isDarwin && stdenv.isx86_64; }; }) diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index 7e3749e5db1d..b8c660a90b78 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -1,83 +1,187 @@ -{ lib, stdenv, patchelf, makeWrapper, fetchurl, writeScript +{ + fetchurl, + lib, + makeWrapper, + patchelf, + stdenv, + writeScript, -# Linked dynamic libraries. -, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, nss, nspr -, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb -, alsa-lib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups -, dbus, gtk3, gtk4, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core -, libkrb5, libdrm, libglvnd, mesa -, libxkbcommon, pipewire, wayland # ozone/wayland + # Linked dynamic libraries. + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + cairo, + cups, + dbus, + expat, + fontconfig, + freetype, + gcc-unwrapped, + gdk-pixbuf, + glib, + gtk3, + gtk4, + libdrm, + libglvnd, + libkrb5, + libX11, + libxcb, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libxkbcommon, + libXrandr, + libXrender, + libXScrnSaver, + libxshmfence, + libXtst, + mesa, + nspr, + nss, + pango, + pipewire, + wayland, # ozone/wayland -# Command line programs -, coreutils + # Command line programs + coreutils, -# command line arguments which are always set e.g "--disable-gpu" -, commandLineArgs ? "" + # command line arguments which are always set e.g "--disable-gpu" + commandLineArgs ? "", -# Will crash without. -, systemd + # Will crash without. + systemd, -# Loaded at runtime. -, libexif, pciutils + # Loaded at runtime. + libexif, + pciutils, -# Additional dependencies according to other distros. -## Ubuntu -, liberation_ttf, curl, util-linux, xdg-utils, wget -## Arch Linux. -, flac, harfbuzz, icu, libpng, libopus, snappy, speechd-minimal -## Gentoo -, bzip2, libcap + # Additional dependencies according to other distros. + ## Ubuntu + curl, + liberation_ttf, + util-linux, + wget, + xdg-utils, + ## Arch Linux. + flac, + harfbuzz, + icu, + libopus, + libpng, + snappy, + speechd-minimal, + ## Gentoo + bzip2, + libcap, -# Necessary for USB audio devices. -, pulseSupport ? true, libpulseaudio + # Necessary for USB audio devices. + libpulseaudio, + pulseSupport ? true, -, gsettings-desktop-schemas -, adwaita-icon-theme + adwaita-icon-theme, + gsettings-desktop-schemas, -# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder) -, libvaSupport ? true, libva + # For video acceleration via VA-API (--enable-features=VaapiVideoDecoder) + libva, + libvaSupport ? true, -# For Vulkan support (--enable-features=Vulkan) -, addDriverRunpath + # For Vulkan support (--enable-features=Vulkan) + addDriverRunpath, }: let - opusWithCustomModes = libopus.override { - withCustomModes = true; - }; + opusWithCustomModes = libopus.override { withCustomModes = true; }; - deps = [ - glib fontconfig freetype pango cairo libX11 libXi atk nss nspr - libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb - alsa-lib libXdamage libXtst libXrandr libxshmfence expat cups - dbus gdk-pixbuf gcc-unwrapped.lib - systemd - libexif pciutils - liberation_ttf curl util-linux wget - flac harfbuzz icu libpng opusWithCustomModes snappy speechd-minimal - bzip2 libcap at-spi2-atk at-spi2-core - libkrb5 libdrm libglvnd mesa coreutils - libxkbcommon pipewire wayland - ] ++ lib.optional pulseSupport libpulseaudio + deps = + [ + alsa-lib + at-spi2-atk + at-spi2-core + atk + bzip2 + cairo + coreutils + cups + curl + dbus + expat + flac + fontconfig + freetype + gcc-unwrapped.lib + gdk-pixbuf + glib + harfbuzz + icu + libcap + libdrm + liberation_ttf + libexif + libglvnd + libkrb5 + libpng + libX11 + libxcb + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libxkbcommon + libXrandr + libXrender + libXScrnSaver + libxshmfence + libXtst + mesa + nspr + nss + opusWithCustomModes + pango + pciutils + pipewire + snappy + speechd-minimal + systemd + util-linux + wayland + wget + ] + ++ lib.optional pulseSupport libpulseaudio ++ lib.optional libvaSupport libva - ++ [ gtk3 gtk4 ]; + ++ [ + gtk3 + gtk4 + ]; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "google-chrome"; - version = "127.0.6533.72"; + version = "127.0.6533.88"; src = fetchurl { url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-DpEYK/6SEaNfEa8uzGhXhALSSxt51X9X5ksaia8srJg="; + hash = "sha256-0l9cidNFO0dcyzWy4nDD/OGFQDBLXx9aPVq6ioDkqK0="; }; - nativeBuildInputs = [ patchelf makeWrapper ]; - buildInputs = [ - # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas glib gtk3 + nativeBuildInputs = [ + makeWrapper + patchelf + ]; + buildInputs = [ # needed for XDG_ICON_DIRS adwaita-icon-theme + glib + gtk3 + gtk4 + # needed for GSETTINGS_SCHEMAS_PATH + gsettings-desktop-schemas ]; unpackPhase = '' @@ -160,7 +264,10 @@ in stdenv.mkDerivation (finalAttrs: { changelog = "https://chromereleases.googleblog.com/"; license = lib.licenses.unfree; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - maintainers = with lib.maintainers; [ jnsgruk johnrtitor ]; + maintainers = with lib.maintainers; [ + jnsgruk + johnrtitor + ]; platforms = [ "x86_64-linux" ]; mainProgram = "google-chrome-stable"; }; diff --git a/pkgs/by-name/no/nose2pytest/package.nix b/pkgs/by-name/no/nose2pytest/package.nix new file mode 100644 index 000000000000..74d426181c22 --- /dev/null +++ b/pkgs/by-name/no/nose2pytest/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.nose2pytest diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix index c4d67116fed9..05a49ca3f08a 100644 --- a/pkgs/by-name/si/simdutf/package.nix +++ b/pkgs/by-name/si/simdutf/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "simdutf"; - version = "5.3.0"; + version = "5.3.1"; src = fetchFromGitHub { owner = "simdutf"; repo = "simdutf"; rev = "v${finalAttrs.version}"; - hash = "sha256-SSAErbGE1OThqnef4IzAvsZfLFfM3GhCWmJTWdvjabU="; + hash = "sha256-3heABmBXz4lA43H+q26+HYg+SOsusIMiOfA3Pr4iV+s="; }; # Fix build on darwin diff --git a/pkgs/by-name/sy/syft/package.nix b/pkgs/by-name/sy/syft/package.nix index c0dc42959a5f..ba5b1c9e96f1 100644 --- a/pkgs/by-name/sy/syft/package.nix +++ b/pkgs/by-name/sy/syft/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "syft"; - version = "1.9.0"; + version = "1.10.0"; src = fetchFromGitHub { owner = "anchore"; repo = "syft"; rev = "refs/tags/v${version}"; - hash = "sha256-OO8tGjfp2iQvR800L6ykf36A4JEx/ImKirKP74rcvJc="; + hash = "sha256-WzVJqr96yUnRZ68dX1y+vLFc92nLLPfsBgGjtgCIvbk="; # 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; @@ -28,7 +28,7 @@ buildGoModule rec { # hash mismatch with darwin proxyVendor = true; - vendorHash = "sha256-xf7ES9LZpVbvjiSTZP2stu0WpABlKqAr1OT3lV4mvVA="; + vendorHash = "sha256-OuTIkGln7EgwI3m0LjIE7giz26Bza4T5PXEkWd+QnI0="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/te/textlint-rule-prh/package.nix b/pkgs/by-name/te/textlint-rule-prh/package.nix new file mode 100644 index 000000000000..349946cbcc84 --- /dev/null +++ b/pkgs/by-name/te/textlint-rule-prh/package.nix @@ -0,0 +1,63 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchYarnDeps, + nodejs, + npmHooks, + yarnBuildHook, + yarnConfigHook, + runCommand, + textlint, + textlint-rule-prh, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "textlint-rule-prh"; + version = "6.0.0"; + + src = fetchFromGitHub { + owner = "textlint-rule"; + repo = "textlint-rule-prh"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-K2WkHh7sLnhObM2ThvdXVbZymLInjSB6XTshxALotKU="; + }; + + postPatch = '' + substituteInPlace package.json \ + --replace-fail "git config --local core.hooksPath .githooks" "" + ''; + + offlineCache = fetchYarnDeps { + yarnLock = "${finalAttrs.src}/yarn.lock"; + hash = "sha256-tZMMadWue85L+5c7swKgFqUsLSARjS4EK0Cwi1FjX88="; + }; + + nativeBuildInputs = [ + nodejs + npmHooks.npmInstallHook + yarnBuildHook + yarnConfigHook + ]; + + passthru.tests = { + "textlint-rule-prh-test" = + runCommand "textlint-rule-prh-test" + { nativeBuildInputs = [ (textlint.withPackages [ textlint-rule-prh ]) ]; } + '' + substitute ${./textlintrc} .textlintrc \ + --subst-var-by textlint_rule_prh "${textlint-rule-prh}" + + grep prh <(textlint ${./test.md}) > $out + ''; + }; + + meta = { + description = "Textlint rule for prh"; + homepage = "https://github.com/textlint-rule/textlint-rule-prh"; + changelog = "https://github.com/textlint-rule/textlint-rule-prh/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ natsukium ]; + platforms = textlint.meta.platforms; + }; +}) diff --git a/pkgs/by-name/te/textlint-rule-prh/test.md b/pkgs/by-name/te/textlint-rule-prh/test.md new file mode 100644 index 000000000000..84d3c98dfd12 --- /dev/null +++ b/pkgs/by-name/te/textlint-rule-prh/test.md @@ -0,0 +1 @@ +オープンソースソフトウェア diff --git a/pkgs/by-name/te/textlint-rule-prh/textlintrc b/pkgs/by-name/te/textlint-rule-prh/textlintrc new file mode 100644 index 000000000000..4f9b96404e0e --- /dev/null +++ b/pkgs/by-name/te/textlint-rule-prh/textlintrc @@ -0,0 +1,7 @@ +{ + "rules": { + "prh": { + "rulePaths": [ "@textlint_rule_prh@/lib/node_modules/textlint-rule-prh/node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml" ] + } + } +} diff --git a/pkgs/by-name/te/textlint/package.nix b/pkgs/by-name/te/textlint/package.nix index 4a4eb75c5055..ce22941b3115 100644 --- a/pkgs/by-name/te/textlint/package.nix +++ b/pkgs/by-name/te/textlint/package.nix @@ -17,6 +17,7 @@ textlint-rule-no-start-duplicated-conjunction, textlint-rule-period-in-list-item, textlint-rule-preset-ja-technical-writing, + textlint-rule-prh, textlint-rule-stop-words, textlint-rule-terminology, textlint-rule-unexpanded-acronym, @@ -117,6 +118,7 @@ buildNpmPackage rec { textlint-rule-no-start-duplicated-conjunction textlint-rule-period-in-list-item textlint-rule-preset-ja-technical-writing + textlint-rule-prh textlint-rule-stop-words textlint-rule-terminology textlint-rule-unexpanded-acronym diff --git a/pkgs/development/compilers/llvm/19/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/19/clang/gnu-install-dirs.patch new file mode 100644 index 000000000000..b8c1c110cf22 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/clang/gnu-install-dirs.patch @@ -0,0 +1,71 @@ +diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake +index 75b0080f6..c895b884c 100644 +--- a/cmake/modules/AddClang.cmake ++++ b/cmake/modules/AddClang.cmake +@@ -119,8 +119,8 @@ macro(add_clang_library name) + install(TARGETS ${lib} + COMPONENT ${lib} + ${export_to_clangtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + if (NOT LLVM_ENABLE_IDE) +diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt +index e6ae4e19e..5ef01aea2 100644 +--- a/lib/Headers/CMakeLists.txt ++++ b/lib/Headers/CMakeLists.txt +@@ -337,6 +337,7 @@ set(llvm_libc_wrapper_files + + include(GetClangResourceDir) + get_clang_resource_dir(output_dir PREFIX ${LLVM_LIBRARY_OUTPUT_INTDIR}/.. SUBDIR include) ++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) + set(out_files) + set(generated_files) + +diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt +index b5b6d2807..6b592d255 100644 +--- a/tools/libclang/CMakeLists.txt ++++ b/tools/libclang/CMakeLists.txt +@@ -246,7 +246,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) + COMPONENT + libclang-python-bindings + DESTINATION +- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") ++ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") + endforeach() + if(NOT LLVM_ENABLE_IDE) + add_custom_target(libclang-python-bindings) +diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt +index 3aca22c0b..3115353e3 100644 +--- a/tools/scan-build-py/CMakeLists.txt ++++ b/tools/scan-build-py/CMakeLists.txt +@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) + install(FILES lib/libscanbuild/${lib} +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild" + COMPONENT scan-build-py) + endforeach() + +@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) + install(FILES lib/libscanbuild/resources/${resource} +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources" + COMPONENT scan-build-py) + endforeach() + +@@ -122,7 +122,7 @@ foreach(lib ${LibEar}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) + install(FILES lib/libear/${lib} +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear" + COMPONENT scan-build-py) + endforeach() + diff --git a/pkgs/development/compilers/llvm/19/clang/purity.patch b/pkgs/development/compilers/llvm/19/clang/purity.patch new file mode 100644 index 000000000000..5ce14a3479a0 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/clang/purity.patch @@ -0,0 +1,25 @@ +From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Thu, 18 May 2017 11:56:12 -0500 +Subject: [PATCH] "purity" patch for 5.0 + +--- + lib/Driver/ToolChains/Gnu.cpp | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +index fe3c0191bb..c6a482bece 100644 +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -446,9 +446,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + ToolChain.isPIEDefault(Args)); + if (IsPIE) + CmdArgs.push_back("-pie"); +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) + +- ToolChain.getDynamicLinker(Args))); + } + } + +-- +2.11.0 diff --git a/pkgs/development/compilers/llvm/19/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/19/compiler-rt/X86-support-extension.patch new file mode 100644 index 000000000000..07013e5a6825 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/compiler-rt/X86-support-extension.patch @@ -0,0 +1,21 @@ +diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt +index 3a66dd9c3fb..7efc85d9f9f 100644 +--- a/lib/builtins/CMakeLists.txt ++++ b/lib/builtins/CMakeLists.txt +@@ -348,4 +348,8 @@ if (NOT MSVC) + ++ set(i486_SOURCES ${i386_SOURCES}) ++ set(i586_SOURCES ${i386_SOURCES}) ++ set(i686_SOURCES ${i386_SOURCES}) ++ + if (WIN32) + set(i386_SOURCES + ${i386_SOURCES} +@@ -723,6 +723,7 @@ else () + endif() + + foreach (arch ${BUILTIN_SUPPORTED_ARCH}) ++ message("arch: ${arch}") + if (CAN_TARGET_${arch}) + # For ARM archs, exclude any VFP builtins if VFP is not supported + if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") diff --git a/pkgs/development/compilers/llvm/19/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/19/compiler-rt/darwin-targetconditionals.patch new file mode 100644 index 000000000000..425dc2af01e7 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/compiler-rt/darwin-targetconditionals.patch @@ -0,0 +1,71 @@ +diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp +--- a/lib/sanitizer_common/sanitizer_mac.cpp ++++ b/lib/sanitizer_common/sanitizer_mac.cpp +@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) { + // Offset example: + // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4 + constexpr u16 GetOSMajorKernelOffset() { +- if (TARGET_OS_OSX) return 4; +- if (TARGET_OS_IOS || TARGET_OS_TV) return 6; +- if (TARGET_OS_WATCH) return 13; ++#if TARGET_OS_OSX ++ return 4; ++#endif ++#if TARGET_OS_IOS || TARGET_OS_TV ++ return 6; ++#endif ++#if TARGET_OS_WATCH ++ return 13; ++#endif + } + + using VersStr = char[64]; +@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) { + u16 os_major = kernel_major - offset; + + const char *format = "%d.0"; +- if (TARGET_OS_OSX) { +- if (os_major >= 16) { // macOS 11+ +- os_major -= 5; +- } else { // macOS 10.15 and below +- format = "10.%d"; +- } ++#if TARGET_OS_OSX ++ if (os_major >= 16) { // macOS 11+ ++ os_major -= 5; ++ } else { // macOS 10.15 and below ++ format = "10.%d"; + } ++#endif + return internal_snprintf(vers, sizeof(VersStr), format, os_major); + } + +@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) { + // Aligned versions example: + // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6 + static void MapToMacos(u16 *major, u16 *minor) { +- if (TARGET_OS_OSX) +- return; +- +- if (TARGET_OS_IOS || TARGET_OS_TV) ++#if !TARGET_OS_OSX ++#if TARGET_OS_IOS || TARGET_OS_TV + *major += 2; +- else if (TARGET_OS_WATCH) ++#elif TARGET_OS_WATCH + *major += 9; +- else ++#else + UNREACHABLE("unsupported platform"); ++#endif + + if (*major >= 16) { // macOS 11+ + *major -= 5; +@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) { + *minor = *major; + *major = 10; + } ++#endif + } + + static MacosVersion GetMacosAlignedVersionInternal() { diff --git a/pkgs/development/compilers/llvm/19/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/19/compiler-rt/normalize-var.patch new file mode 100644 index 000000000000..2b25fd4a0744 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/compiler-rt/normalize-var.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake +index 4c85551d7766..297d7a47c54b 100644 +--- a/cmake/Modules/CompilerRTUtils.cmake ++++ b/cmake/Modules/CompilerRTUtils.cmake +@@ -328,8 +328,9 @@ macro(load_llvm_config) + endif() + endif() + +- set(LLVM_LIBRARY_OUTPUT_INTDIR +- ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) ++ get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR ++ ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX} ++ REALPATH) + + set(LLVM_MAIN_SRC_DIR "${LLVM_MAIN_SRC_DIR_DEFAULT}" CACHE PATH "Path to LLVM source tree") + message(STATUS "LLVM_MAIN_SRC_DIR: \"${LLVM_MAIN_SRC_DIR}\"") diff --git a/pkgs/development/compilers/llvm/19/libcxx/0001-darwin-10.12-mbstate_t-fix.patch b/pkgs/development/compilers/llvm/19/libcxx/0001-darwin-10.12-mbstate_t-fix.patch new file mode 100644 index 000000000000..29942f8ed03d --- /dev/null +++ b/pkgs/development/compilers/llvm/19/libcxx/0001-darwin-10.12-mbstate_t-fix.patch @@ -0,0 +1,31 @@ +From 9c1cb26c1dd3f92d1c1177e548107d2cd3c5e616 Mon Sep 17 00:00:00 2001 +From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> +Date: Fri, 23 Feb 2024 22:58:58 +0000 +Subject: [PATCH] darwin 10.12 mbstate_t fix + +https://github.com/llvm/llvm-project/issues/64226 + +removes space from +https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch +so it applies cleanly +--- + libcxx/include/__mbstate_t.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/libcxx/include/__mbstate_t.h b/libcxx/include/__mbstate_t.h +index bfa6d61..5f51112 100644 +--- a/libcxx/include/__mbstate_t.h ++++ b/libcxx/include/__mbstate_t.h +@@ -42,6 +42,9 @@ + #elif __has_include() + # include // works on most Unixes + #elif __has_include() ++# if __has_include() ++# include ++# endif + # include // works on Darwin + #elif !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) && __has_include_next() + # include_next // fall back to the C standard provider of mbstate_t +-- +2.43.0 + diff --git a/pkgs/development/compilers/llvm/19/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/19/lld/gnu-install-dirs.patch new file mode 100644 index 000000000000..6c73a240ab6d --- /dev/null +++ b/pkgs/development/compilers/llvm/19/lld/gnu-install-dirs.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake +index d3924f7243d4..42a7cd62281c 100644 +--- a/cmake/modules/AddLLD.cmake ++++ b/cmake/modules/AddLLD.cmake +@@ -18,8 +18,8 @@ macro(add_lld_library name) + install(TARGETS ${name} + COMPONENT ${name} + ${export_to_lldtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) diff --git a/pkgs/development/compilers/llvm/19/lldb/cpu_subtype_arm64e_replacement.patch b/pkgs/development/compilers/llvm/19/lldb/cpu_subtype_arm64e_replacement.patch new file mode 100644 index 000000000000..20d35c9f3ea9 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/lldb/cpu_subtype_arm64e_replacement.patch @@ -0,0 +1,12 @@ +diff --git a/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/source/Host/macosx/objcxx/HostInfoMacOSX.mm +--- a/source/Host/macosx/objcxx/HostInfoMacOSX.mm ++++ b/source/Host/macosx/objcxx/HostInfoMacOSX.mm +@@ -233,7 +233,7 @@ void HostInfoMacOSX::ComputeHostArchitectureSupport(ArchSpec &arch_32, + len = sizeof(is_64_bit_capable); + ::sysctlbyname("hw.cpu64bit_capable", &is_64_bit_capable, &len, NULL, 0); + +- if (cputype == CPU_TYPE_ARM64 && cpusubtype == CPU_SUBTYPE_ARM64E) { ++ if (cputype == CPU_TYPE_ARM64 && cpusubtype == ((cpu_subtype_t) 2)) { // CPU_SUBTYPE_ARM64E is not available in the macOS 10.12 headers + // The arm64e architecture is a preview. Pretend the host architecture + // is arm64. + cpusubtype = CPU_SUBTYPE_ARM64_ALL; diff --git a/pkgs/development/compilers/llvm/19/lldb/procfs.patch b/pkgs/development/compilers/llvm/19/lldb/procfs.patch new file mode 100644 index 000000000000..7b200e86505c --- /dev/null +++ b/pkgs/development/compilers/llvm/19/lldb/procfs.patch @@ -0,0 +1,46 @@ +--- a/source/Plugins/Process/Linux/Procfs.h ++++ b/source/Plugins/Process/Linux/Procfs.h +@@ -10,6 +10,13 @@ + // sys/procfs.h on Android/Linux for all supported architectures. + + #include ++#include ++ ++// on i686 preprocessor symbols with these register names are defined as ++// numeric constants; these symbols clash with identifier names used in ++// `llvm/Support/VirtualFileSystem.h` and `llvm/ADT/SmallVector.h` ++#undef FS ++#undef CS + + #include "lldb/lldb-types.h" + +@@ -17,23 +24,13 @@ + + #include + +-#ifdef __ANDROID__ +-#if defined(__arm64__) || defined(__aarch64__) +-typedef unsigned long elf_greg_t; +-typedef elf_greg_t +- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; +-typedef struct user_fpsimd_state elf_fpregset_t; +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#elif defined(__mips__) +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#endif +-#else // __ANDROID__ ++#if !defined(__GLIBC__) && defined(__powerpc__) ++#define pt_regs musl_pt_regs ++#include ++#undef pt_regs ++#else + #include +-#endif // __ANDROID__ ++#endif + + namespace lldb_private { + namespace process_linux { diff --git a/pkgs/development/compilers/llvm/19/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/19/llvm/gnu-install-dirs-polly.patch new file mode 100644 index 000000000000..6a359bdbefde --- /dev/null +++ b/pkgs/development/compilers/llvm/19/llvm/gnu-install-dirs-polly.patch @@ -0,0 +1,13 @@ +--- a/tools/polly/cmake/polly_macros.cmake 2024-03-15 17:36:20.550893344 -0700 ++++ b/tools/polly/cmake/polly_macros.cmake 2024-03-15 17:37:06.277332960 -0700 +@@ -45,8 +45,8 @@ + install(TARGETS ${name} + COMPONENT ${name} + EXPORT LLVMExports +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + add_llvm_install_targets(install-${name} + COMPONENT ${name}) + endif() diff --git a/pkgs/development/compilers/llvm/19/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/19/llvm/gnu-install-dirs.patch new file mode 100644 index 000000000000..8b89839490ba --- /dev/null +++ b/pkgs/development/compilers/llvm/19/llvm/gnu-install-dirs.patch @@ -0,0 +1,137 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 471817d68286..c51463304159 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1010,7 +1010,7 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") + add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src + ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime) + install(TARGETS tf_xla_runtime EXPORT LLVMExports +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) + set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS tf_xla_runtime) + # Once we add more modules, we should handle this more automatically. + if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL) +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index 230620c37027..dd16cab1835e 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -876,8 +876,8 @@ macro(add_llvm_library name) + get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella}) + install(TARGETS ${name} + ${export_to_llvmexports} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) + + if (NOT LLVM_ENABLE_IDE) +@@ -2069,7 +2069,7 @@ function(llvm_install_library_symlink name dest type) + set(LLVM_LINK_OR_COPY copy) + endif() + +- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) ++ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + if(WIN32 AND "${type}" STREQUAL "SHARED") + set(output_dir "${CMAKE_INSTALL_BINDIR}") + endif() +@@ -2344,16 +2344,37 @@ function(llvm_setup_rpath name) + + if (APPLE) + set(_install_name_dir INSTALL_NAME_DIR "@rpath") +- set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS) + # $ORIGIN is not interpreted at link time by aix ld. + # Since BUILD_SHARED_LIBS is only recommended for use by developers, + # hardcode the rpath to build/install lib dir first in this mode. + # FIXME: update this when there is better solution. +- set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + elseif(UNIX) +- set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) +- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}") ++ # Note that we add `extra_libdir` (aka `LLVM_LIBRARY_DIR` in our case) back ++ # to `_install_rpath` here. ++ # ++ # In nixpkgs we do not build and install LLVM alongside rdeps of LLVM (i.e. ++ # clang); instead LLVM is its own package and thus lands at its own nix ++ # store path. This makes it so that the default relative rpath (`../lib/`) ++ # does not point at the LLVM shared objects. ++ # ++ # More discussion here: ++ # - https://github.com/NixOS/nixpkgs/pull/235624#discussion_r1220150329 ++ # - https://reviews.llvm.org/D146918 (16.0.5+) ++ # ++ # Note that we leave `extra_libdir` in `_build_rpath`: without FHS there is ++ # no potential that this will result in us pulling in the "wrong" LLVM. ++ # Adding this to the build rpath means we aren't forced to use ++ # `installCheckPhase` instead of `checkPhase` (i.e. binaries in the build ++ # dir, pre-install, will have the right rpath for LLVM). ++ # ++ # As noted in the differential above, an alternative solution is to have ++ # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set ++ # `CMAKE_INSTALL_RPATH`. ++ set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) + if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-z,origin ") +diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake +index 891c9e6d618c..8d963f3b0069 100644 +--- a/cmake/modules/AddOCaml.cmake ++++ b/cmake/modules/AddOCaml.cmake +@@ -147,9 +147,9 @@ function(add_ocaml_library name) + endforeach() + + if( APPLE ) +- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) + elseif( UNIX ) +- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) + endif() + list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") + +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index d99af79aa38e..21e794224b99 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -127,7 +127,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS + ) + list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS) + +-extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "lib\${LLVM_LIBDIR_SUFFIX}") ++extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") + set(LLVM_CONFIG_LIBRARY_DIRS + "${LLVM_CONFIG_LIBRARY_DIR}" + # FIXME: Should there be other entries here? +diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in +index 370005cd8d7d..7e790bc52111 100644 +--- a/tools/llvm-config/BuildVariables.inc.in ++++ b/tools/llvm-config/BuildVariables.inc.in +@@ -23,6 +23,7 @@ + #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" + #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" + #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" ++#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" + #define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" + #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@" + #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index e86eb2b44b10..f63e207e792e 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -366,7 +366,11 @@ int main(int argc, char **argv) { + sys::fs::make_absolute(ActivePrefix, Path); + ActiveBinDir = std::string(Path.str()); + } +- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; ++ { ++ SmallString<256> Path(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX); ++ sys::fs::make_absolute(ActivePrefix, Path); ++ ActiveLibDir = std::string(Path.str()); ++ } + { + SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); + sys::fs::make_absolute(ActivePrefix, Path); diff --git a/pkgs/development/compilers/llvm/19/llvm/lit-shell-script-runner-set-dyld-library-path.patch b/pkgs/development/compilers/llvm/19/llvm/lit-shell-script-runner-set-dyld-library-path.patch new file mode 100644 index 000000000000..e4f049f4b177 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/llvm/lit-shell-script-runner-set-dyld-library-path.patch @@ -0,0 +1,12 @@ +--- a/utils/lit/lit/TestRunner.py 2024-03-15 17:27:53.170780798 -0700 ++++ b/utils/lit/lit/TestRunner.py 2024-03-15 17:28:43.277447791 -0700 +@@ -1183,6 +1183,9 @@ + f.write("@echo on\n") + f.write("\n@if %ERRORLEVEL% NEQ 0 EXIT\n".join(commands)) + else: ++ if "DYLD_LIBRARY_PATH" in test.config.environment: ++ f.write(f'export DYLD_LIBRARY_PATH="{test.config.environment["DYLD_LIBRARY_PATH"]}"\n') ++ + for i, ln in enumerate(commands): + match = re.fullmatch(kPdbgRegex, ln) + if match: diff --git a/pkgs/development/compilers/llvm/19/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/19/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch new file mode 100644 index 000000000000..d4ccb2ae9822 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch @@ -0,0 +1,80 @@ +diff --git a/test/Unit/lit.cfg.py b/test/Unit/lit.cfg.py +index 81e8dc04acea..479ff95681e2 100644 +--- a/test/Unit/lit.cfg.py ++++ b/test/Unit/lit.cfg.py +@@ -3,6 +3,7 @@ + # Configuration file for the 'lit' test runner. + + import os ++import platform + import subprocess + + import lit.formats +@@ -55,3 +56,26 @@ if sys.platform in ["win32", "cygwin"] and os.path.isdir(config.shlibdir): + # Win32 may use %SYSTEMDRIVE% during file system shell operations, so propogate. + if sys.platform == "win32" and "SYSTEMDRIVE" in os.environ: + config.environment["SYSTEMDRIVE"] = os.environ["SYSTEMDRIVE"] ++ ++# Add the LLVM dynamic libs to the platform-specific loader search path env var: ++# ++# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify.. ++def find_shlibpath_var(): ++ if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]: ++ yield "LD_LIBRARY_PATH" ++ elif platform.system() == "Darwin": ++ yield "DYLD_LIBRARY_PATH" ++ elif platform.system() == "Windows": ++ yield "PATH" ++ elif platform.system() == "AIX": ++ yield "LIBPATH" ++ ++for shlibpath_var in find_shlibpath_var(): ++ shlibpath = os.path.pathsep.join( ++ (config.shlibdir, ++ config.environment.get(shlibpath_var, ''))) ++ config.environment[shlibpath_var] = shlibpath ++ break ++else: ++ lit_config.warning("unable to inject shared library path on '{}'" ++ .format(platform.system())) +diff --git a/test/lit.cfg.py b/test/lit.cfg.py +index 75a38b4c5dad..856fc75c9d74 100644 +--- a/test/lit.cfg.py ++++ b/test/lit.cfg.py +@@ -42,6 +42,26 @@ llvm_config.with_environment("PATH", config.llvm_tools_dir, append_path=True) + llvm_config.with_system_environment( + ["HOME", "INCLUDE", "LIB", "TMP", "TEMP"]) + ++# Add the LLVM dynamic libs to the platform-specific loader search path env var: ++# ++# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify.. ++def find_shlibpath_var(): ++ if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]: ++ yield "LD_LIBRARY_PATH" ++ elif platform.system() == "Darwin": ++ yield "DYLD_LIBRARY_PATH" ++ elif platform.system() == "Windows": ++ yield "PATH" ++ elif platform.system() == "AIX": ++ yield "LIBPATH" ++ ++for shlibpath_var in find_shlibpath_var(): ++ shlibpath = config.llvm_shlib_dir ++ llvm_config.with_environment(shlibpath_var, shlibpath, append_path = True) ++ break ++else: ++ lit_config.warning("unable to inject shared library path on '{}'" ++ .format(platform.system())) + + # Set up OCAMLPATH to include newly built OCaml libraries. + top_ocaml_lib = os.path.join(config.llvm_lib_dir, "ocaml") +@@ -318,7 +338,7 @@ def have_cxx_shared_library(): + + try: + readobj_cmd = subprocess.Popen( +- [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE ++ [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE, env=config.environment + ) + except OSError: + print("could not exec llvm-readobj") + diff --git a/pkgs/development/compilers/llvm/19/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/19/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch new file mode 100644 index 000000000000..1354ad267314 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch @@ -0,0 +1,24 @@ +diff --git a/tools/polly/test/lit.cfg b/tools/polly/test/lit.cfg +index 41e3a589c61e..09f3b17498b0 100644 +--- a/tools/polly/test/lit.cfg ++++ b/tools/polly/test/lit.cfg +@@ -36,9 +36,17 @@ base_paths = [config.llvm_tools_dir, config.environment['PATH']] + path = os.path.pathsep.join(base_paths + config.extra_paths) + config.environment['PATH'] = path + ++# (Copied from polly/test/Unit/lit.cfg) ++if platform.system() == 'Darwin': ++ shlibpath_var = 'DYLD_LIBRARY_PATH' ++elif platform.system() == 'Windows': ++ shlibpath_var = 'PATH' ++else: ++ shlibpath_var = 'LD_LIBRARY_PATH' ++ + path = os.path.pathsep.join((config.llvm_libs_dir, +- config.environment.get('LD_LIBRARY_PATH',''))) +-config.environment['LD_LIBRARY_PATH'] = path ++ config.environment.get(shlibpath_var,''))) ++config.environment[shlibpath_var] = path + + llvm_config.use_default_substitutions() + diff --git a/pkgs/development/compilers/llvm/19/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/19/openmp/fix-find-tool.patch new file mode 100644 index 000000000000..b7f51196f7ba --- /dev/null +++ b/pkgs/development/compilers/llvm/19/openmp/fix-find-tool.patch @@ -0,0 +1,17 @@ +diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt +index 630947abec7e..9f032dc7bd3f 100644 +--- a/libomptarget/DeviceRTL/CMakeLists.txt ++++ b/libomptarget/DeviceRTL/CMakeLists.txt +@@ -27,10 +27,10 @@ endif() + if (LLVM_DIR) + # Builds that use pre-installed LLVM have LLVM_DIR set. + # A standalone or LLVM_ENABLE_RUNTIMES=openmp build takes this route +- find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR}) + find_program(PACKAGER_TOOL clang-offload-packager PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) + find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) +- find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR}) + if ((NOT CLANG_TOOL) OR (NOT LINK_TOOL) OR (NOT OPT_TOOL) OR (NOT PACKAGER_TOOL)) + libomptarget_say("Not building DeviceRTL. Missing clang: ${CLANG_TOOL}, llvm-link: ${LINK_TOOL}, opt: ${OPT_TOOL}, or clang-offload-packager: ${PACKAGER_TOOL}") + return() diff --git a/pkgs/development/compilers/llvm/19/openmp/run-lit-directly.patch b/pkgs/development/compilers/llvm/19/openmp/run-lit-directly.patch new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index a4b8b548a0bd..eeab3a598cc0 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -22,6 +22,7 @@ let "16.0.6".officialRelease.sha256 = "sha256-fspqSReX+VD+Nl/Cfq+tDcdPtnQPV1IRopNDfd5VtUs="; "17.0.6".officialRelease.sha256 = "sha256-8MEDLLhocshmxoEBRSKlJ/GzJ8nfuzQ8qn0X/vLA+ag="; "18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE="; + "19.1.0-rc1".officialRelease.sha256 = "sha256-uaM+CKE+l+ksLtfhVMTLXbLlu+lUZScf+ucBcRENSDM="; "19.0.0-git".gitRelease = { rev = "d15ada24b1fbbd72776022383a5c557a1a056413"; rev-version = "19.0.0-unstable-2024-07-21"; @@ -49,31 +50,28 @@ let attrName = args.name or (if (gitRelease != null) then "git" else lib.versions.major release_version); in - callPackage ./common { - inherit (stdenvAdapters) overrideCC; - buildLlvmTools = buildPackages."llvmPackages_${attrName}".tools; - targetLlvmLibraries = - targetPackages."llvmPackages_${attrName}".libraries or llvmPackages."${attrName}".libraries; - targetLlvm = targetPackages."llvmPackages_${attrName}".llvm or llvmPackages."${attrName}".llvm; - stdenv = - if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then - gcc12Stdenv - else - stdenv; # does not build with gcc13 - inherit bootBintoolsNoLibc bootBintools; - inherit - officialRelease - gitRelease - monorepoSrc - version - ; - }; + lib.nameValuePair attrName ( + callPackage ./common { + inherit (stdenvAdapters) overrideCC; + buildLlvmTools = buildPackages."llvmPackages_${attrName}".tools; + targetLlvmLibraries = + targetPackages."llvmPackages_${attrName}".libraries or llvmPackages."${attrName}".libraries; + targetLlvm = targetPackages."llvmPackages_${attrName}".llvm or llvmPackages."${attrName}".llvm; + stdenv = + if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then + gcc12Stdenv + else + stdenv; # does not build with gcc13 + inherit bootBintoolsNoLibc bootBintools; + inherit + officialRelease + gitRelease + monorepoSrc + version + ; + } + ); - llvmPackages = lib.mapAttrs' ( - version: args: - lib.nameValuePair (if (args ? gitRelease) then "git" else lib.versions.major version) ( - mkPackage (args // { inherit version; }) - ) - ) versions; + llvmPackages = lib.mapAttrs' (version: args: mkPackage (args // { inherit version; })) versions; in llvmPackages diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix index 34c79818642b..bb8c2ccb1bd5 100644 --- a/pkgs/development/coq-modules/flocq/default.nix +++ b/pkgs/development/coq-modules/flocq/default.nix @@ -7,13 +7,14 @@ mkCoqDerivation { domain = "gitlab.inria.fr"; inherit version; defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.19"; out = "4.1.4"; } + { case = range "8.14" "8.20"; out = "4.2.0"; } { case = range "8.14" "8.18"; out = "4.1.3"; } { case = range "8.14" "8.17"; out = "4.1.1"; } { case = range "8.14" "8.16"; out = "4.1.0"; } { case = range "8.7" "8.15"; out = "3.4.3"; } { case = range "8.5" "8.8"; out = "2.6.1"; } ] null; + release."4.2.0".sha256 = "sha256-uTeo4GCs6wTLN3sLKsj0xLlt1fUDYfozXtq6iooLUgM="; release."4.1.4".sha256 = "sha256-Use6Mlx79yef1CkCPyGoOItsD69B9KR+mQArCtmre4s="; release."4.1.3".sha256 = "sha256-os3cI885xNpxI+1p5rb8fSNnxKr7SFxqh83+3AM3t4I="; release."4.1.1".sha256 = "sha256-FbClxlV0ZaxITe7s9SlNbpeMNDJli+Dfh2TMrjaMtHo="; diff --git a/pkgs/development/libraries/libabigail/default.nix b/pkgs/development/libraries/libabigail/default.nix index c6723b587997..fcfc88cbb667 100644 --- a/pkgs/development/libraries/libabigail/default.nix +++ b/pkgs/development/libraries/libabigail/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "libabigail"; - version = "2.1"; + version = "2.5"; outputs = [ "bin" "out" "dev" ]; src = fetchurl { - url = "https://mirrors.kernel.org/sourceware/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-SmKX1B0V0ZNiVhFxFr1hKW5rm+4j1UoMr40/WrjdzEw="; + url = "https://mirrors.kernel.org/sourceware/${pname}/${pname}-${version}.tar.xz"; + hash = "sha256-fPxOmwCuONh/sMY76rsyucv5zkEOUs7rWtWzxb6xEfM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix index 717d565ef835..58112ea2c2fd 100644 --- a/pkgs/development/libraries/libdnet/default.nix +++ b/pkgs/development/libraries/libdnet/default.nix @@ -1,17 +1,33 @@ -{lib, stdenv, fetchurl, automake, autoconf, libtool}: +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + libtool, + pkg-config, + check, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libdnet"; - version = "1.12"; + version = "1.18.0"; enableParallelBuilding = true; - src = fetchurl { - url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-${version}.tgz"; - sha256 = "09mhbr8x66ykhf5581a5zjpplpjxibqzgkkpx689kybwg0wk1cw3"; + src = fetchFromGitHub { + owner = "ofalk"; + repo = "libdnet"; + rev = "refs/tags/libdnet-${finalAttrs.version}"; + hash = "sha256-oPlBQB9e8vGJ/rVydMqsZqdInhrpm2sNWkDl9JkkXCI="; }; - nativeBuildInputs = [ automake autoconf ]; + nativeBuildInputs = [ + automake + autoconf + pkg-config + check + ]; buildInputs = [ libtool ]; # .so endings are missing (quick and dirty fix) @@ -25,7 +41,7 @@ stdenv.mkDerivation rec { description = "Provides a simplified, portable interface to several low-level networking routines"; homepage = "https://github.com/dugsong/libdnet"; license = lib.licenses.bsd3; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/development/ocaml-modules/qcheck/bytes.patch b/pkgs/development/ocaml-modules/qcheck/bytes.patch deleted file mode 100644 index 7e5e5f2efedc..000000000000 --- a/pkgs/development/ocaml-modules/qcheck/bytes.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/src/alcotest/dune b/src/alcotest/dune -index 220a8b3..df1ffe0 100644 ---- a/src/alcotest/dune -+++ b/src/alcotest/dune -@@ -3,6 +3,6 @@ - (name qcheck_alcotest) - (public_name qcheck-alcotest) - (wrapped false) -- (libraries unix bytes qcheck-core qcheck-core.runner alcotest) -+ (libraries unix qcheck-core qcheck-core.runner alcotest) - (flags :standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string) - ) -diff --git a/src/core/dune b/src/core/dune -index ad0939f..42dc8ac 100644 ---- a/src/core/dune -+++ b/src/core/dune -@@ -3,6 +3,6 @@ - (name qcheck_core) - (public_name qcheck-core) - (wrapped false) -- (libraries unix bytes) -+ (libraries unix) - (flags :standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string) - ) -diff --git a/src/ounit/dune b/src/ounit/dune -index 2fadb7a..41f8d4b 100644 ---- a/src/ounit/dune -+++ b/src/ounit/dune -@@ -3,6 +3,6 @@ - (name qcheck_ounit) - (public_name qcheck-ounit) - (wrapped false) -- (libraries unix bytes qcheck-core qcheck-core.runner ounit2) -+ (libraries unix qcheck-core qcheck-core.runner ounit2) - (flags :standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string) - ) diff --git a/pkgs/development/ocaml-modules/qcheck/core.nix b/pkgs/development/ocaml-modules/qcheck/core.nix index a688e9e595ec..9817bedafff1 100644 --- a/pkgs/development/ocaml-modules/qcheck/core.nix +++ b/pkgs/development/ocaml-modules/qcheck/core.nix @@ -2,7 +2,7 @@ buildDunePackage rec { pname = "qcheck-core"; - version = "0.21.2"; + version = "0.22"; minimalOCamlVersion = "4.08"; @@ -10,11 +10,9 @@ buildDunePackage rec { owner = "c-cube"; repo = "qcheck"; rev = "v${version}"; - hash = "sha256-a+sjpvpQZbXjQgyx69hhVAmRCfDMMhFlg965dK5UN6Q="; + hash = "sha256-JXnrfce/V7Bdu8uH98ZJCLjIHZoONiQ02ltFx6Fbvhg="; }; - patches = [ ./bytes.patch ]; - meta = { description = "Core qcheck library"; homepage = "https://c-cube.github.io/qcheck/"; diff --git a/pkgs/development/python-modules/albucore/default.nix b/pkgs/development/python-modules/albucore/default.nix index 555f919c0493..335c10e103b3 100644 --- a/pkgs/development/python-modules/albucore/default.nix +++ b/pkgs/development/python-modules/albucore/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "albucore"; - version = "0.0.12"; + version = "0.0.13"; pyproject = true; disabled = pythonOlder "3.8"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "albumentations-team"; repo = "albucore"; rev = "refs/tags/${version}"; - hash = "sha256-TJTIIshMUcHTGSo0lRA3hVkqMqKsfj0EuiV+SSsP5Q4="; + hash = "sha256-TqEOey6PxVesk1Xs9YvnFto8LrSVsfTMq+MqP/mwYCA="; }; pythonRemoveDeps = [ "opencv-python" ]; diff --git a/pkgs/development/python-modules/fissix/default.nix b/pkgs/development/python-modules/fissix/default.nix new file mode 100644 index 000000000000..d600d8410795 --- /dev/null +++ b/pkgs/development/python-modules/fissix/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + flit-core, + appdirs, + pytestCheckHook, +}: + +let + version = "24.4.24"; +in + +buildPythonPackage { + pname = "fissix"; + inherit version; + pyproject = true; + + src = fetchFromGitHub { + owner = "amyreese"; + repo = "fissix"; + rev = "v${version}"; + hash = "sha256-geGctke+1PWFqJyiH1pQ0zWj9wVIjV/SQ5njOOk9gOw="; + }; + + build-system = [ flit-core ]; + + dependencies = [ appdirs ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + pythonImportsCheck = [ "fissix" ]; + + meta = { + description = "Backport of latest lib2to3, with enhancements"; + homepage = "https://github.com/amyreese/fissix"; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + license = lib.licenses.psfl; + maintainers = [ lib.maintainers.emily ]; + }; +} diff --git a/pkgs/development/python-modules/jinja2-git/default.nix b/pkgs/development/python-modules/jinja2-git/default.nix index 3623ea1c3b2d..df9ca0585d3b 100644 --- a/pkgs/development/python-modules/jinja2-git/default.nix +++ b/pkgs/development/python-modules/jinja2-git/default.nix @@ -9,21 +9,21 @@ buildPythonPackage rec { pname = "jinja2-git"; - version = "1.3.0"; + version = "1.4.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "wemake-services"; repo = "jinja2-git"; rev = "refs/tags/${version}"; - hash = "sha256-XuN2L3/HLcZ/WPWiCtufDOmkxj+q4I6IOgjrGQHfNLk="; + hash = "sha256-ZcKRLHcZ/rpiUyYK4ifDJaZriN+YyRF1RKCjIKum98U="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ jinja2 ]; + dependencies = [ jinja2 ]; # the tests need to be run on the git repository doCheck = false; diff --git a/pkgs/development/python-modules/kmapper/default.nix b/pkgs/development/python-modules/kmapper/default.nix index dff908bf00e0..2732efae80fd 100644 --- a/pkgs/development/python-modules/kmapper/default.nix +++ b/pkgs/development/python-modules/kmapper/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, scikit-learn, numpy, scipy, @@ -16,23 +17,27 @@ buildPythonPackage rec { pname = "kmapper"; - version = "2.0.1"; - format = "setuptools"; + version = "2.1.0"; + pyproject = true; src = fetchFromGitHub { owner = "scikit-tda"; repo = "kepler-mapper"; - rev = "v${version}"; - sha256 = "1jqqrn7ig9kylcc8xbslxmchzghr9jgffaab3g3y3nyghk8azlgj"; + rev = "refs/tags/v${version}"; + hash = "sha256-i909J0yI8v8BqGbCkcjBAdA02Io+qpILdDkojZj0wv4="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ scikit-learn numpy scipy jinja2 ]; + pythonImportsCheck = [ "kmapper" ]; + nativeCheckInputs = [ pytestCheckHook networkx @@ -47,6 +52,5 @@ buildPythonPackage rec { homepage = "https://kepler-mapper.scikit-tda.org/"; license = licenses.mit; maintainers = [ ]; - broken = true; }; } diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix index cb38fda0ce22..4cf2f42fa31b 100644 --- a/pkgs/development/python-modules/monty/default.nix +++ b/pkgs/development/python-modules/monty/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "monty"; - version = "2024.7.12"; + version = "2024.7.29"; pyproject = true; disabled = pythonOlder "3.9"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "materialsvirtuallab"; repo = "monty"; rev = "refs/tags/v${version}"; - hash = "sha256-AehlFwrWRa6HNF2vuBcWlpADfxny+FcXSZgcdQiC7Ug="; + hash = "sha256-ydt1T2agKUCBiMZ4uvQ3qshEiAQ0PP9EjPiWDXgH3Wo="; }; postPatch = '' diff --git a/pkgs/development/python-modules/mwtypes/default.nix b/pkgs/development/python-modules/mwtypes/default.nix index e91328689829..727d5e61821c 100644 --- a/pkgs/development/python-modules/mwtypes/default.nix +++ b/pkgs/development/python-modules/mwtypes/default.nix @@ -3,38 +3,45 @@ buildPythonPackage, fetchPypi, jsonable, - nose, pytestCheckHook, + fetchpatch2, + setuptools, }: buildPythonPackage rec { pname = "mwtypes"; - version = "0.3.2"; - format = "setuptools"; + version = "0.4.0"; + pyproject = true; src = fetchPypi { - inherit pname version; - hash = "sha256-3BF2xZZWKcEj6FmzGa5hUdTjhVMemngWBMDUyjQ045k="; + inherit version pname; + hash = "sha256-PgcGUk/27cAIvzfLvRoVX2vHOCab59m+4bciDPmtlW8="; }; - propagatedBuildInputs = [ jsonable ]; - - nativeCheckInputs = [ - nose - pytestCheckHook + patches = [ + # https://github.com/mediawiki-utilities/python-mwtypes/pull/6 + (fetchpatch2 { + name = "nose-to-pytest.patch"; + url = "https://github.com/mediawiki-utilities/python-mwtypes/commit/58d7f59e4927aaa6278f84576794df713c673058.patch"; + hash = "sha256-jh1uEqqhIK2DyNvVN0XYGM7BXTmypnoC4VoB0V+9JmE="; + }) ]; - disabledTests = [ - "test_normalize_path_bad_extension" - "test_open_file" - ]; + build-system = [ setuptools ]; + + dependencies = [ jsonable ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + # Even with 7z included, this test does not pass + disabledTests = [ "test_open_file" ]; pythonImportsCheck = [ "mwtypes" ]; - meta = with lib; { + meta = { description = "Set of classes for working with MediaWiki data types"; homepage = "https://github.com/mediawiki-utilities/python-mwtypes"; - license = licenses.mit; - maintainers = with maintainers; [ GaetanLepage ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; }; } diff --git a/pkgs/development/python-modules/mwxml/default.nix b/pkgs/development/python-modules/mwxml/default.nix index 93090939a80a..7b24ef4c8bb4 100644 --- a/pkgs/development/python-modules/mwxml/default.nix +++ b/pkgs/development/python-modules/mwxml/default.nix @@ -2,43 +2,50 @@ lib, buildPythonPackage, fetchPypi, + fetchpatch2, jsonschema, mwcli, mwtypes, - nose, pytestCheckHook, + setuptools, }: buildPythonPackage rec { pname = "mwxml"; - version = "0.3.3"; - format = "setuptools"; + version = "0.3.4"; + pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-CEjfDPLik3GPVUMRrPRxW9Z59jn05Sy+R9ggZYnbHTE="; + hash = "sha256-ejf3RfdwcEp0Ge+96dORuHS5Bx28GSs7H4HD1LUnde4="; }; - propagatedBuildInputs = [ + patches = [ + # https://github.com/mediawiki-utilities/python-mwxml/pull/21 + (fetchpatch2 { + name = "nose-to-pytest.patch"; + url = "https://github.com/mediawiki-utilities/python-mwxml/compare/2b477be6aa9794064d03b5be38c7759d1570488b...71bbfd2b309e0720a34a4e783b71169aebc571ef.patch"; + hash = "sha256-4XxNvda1Dj+kFbD9t9gzucrMjdfXcoqYlvecXO2B2R0="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ jsonschema mwcli mwtypes ]; - nativeCheckInputs = [ - nose - pytestCheckHook - ]; - - disabledTests = [ "test_page_with_discussion" ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "mwxml" ]; - meta = with lib; { + meta = { description = "Set of utilities for processing MediaWiki XML dump data"; mainProgram = "mwxml"; homepage = "https://github.com/mediawiki-utilities/python-mwxml"; - license = licenses.mit; - maintainers = with maintainers; [ GaetanLepage ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; }; } diff --git a/pkgs/development/python-modules/nose2pytest/default.nix b/pkgs/development/python-modules/nose2pytest/default.nix new file mode 100644 index 000000000000..a1aaa748db0b --- /dev/null +++ b/pkgs/development/python-modules/nose2pytest/default.nix @@ -0,0 +1,61 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchpatch2, + setuptools, + fissix, + pytestCheckHook, + nose, +}: + +let + version = "1.0.12"; +in + +buildPythonPackage { + pname = "nose2pytest"; + inherit version; + pyproject = true; + + src = fetchFromGitHub { + owner = "pytest-dev"; + repo = "nose2pytest"; + rev = "v${version}"; + hash = "sha256-BYyj2ZOZvWBpmzQACpmxAzCdQhlZlDYt+HLMdft+wYY="; + }; + + patches = [ + # Drop Python 3.6 and 3.7 support + # + # Relaxes the runtime check for Python < 3.12. + (fetchpatch2 { + url = "https://github.com/pytest-dev/nose2pytest/commit/75ff506aaf11b5e20672441730657ee7540387e1.patch?full_index=1"; + hash = "sha256-BpazrsB4b1oMBx9OemdVxhj/Jqbc8RKv2GC6gqkdGK8="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ fissix ]; + + nativeCheckInputs = [ + pytestCheckHook + nose + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + pythonImportsCheck = [ "nose2pytest.assert_tools" ]; + + meta = { + description = "Scripts to convert Python Nose tests to PyTest"; + homepage = "https://github.com/pytest-dev/nose2pytest"; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.emily ]; + mainProgram = "nose2pytest"; + }; +} diff --git a/pkgs/development/python-modules/panphon/default.nix b/pkgs/development/python-modules/panphon/default.nix index 22bd61f6f9bc..10c7e50099a7 100644 --- a/pkgs/development/python-modules/panphon/default.nix +++ b/pkgs/development/python-modules/panphon/default.nix @@ -18,12 +18,12 @@ buildPythonPackage rec { pname = "panphon"; - version = "0.20.0"; + version = "0.21.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-gio52n1NZWeyCK+eJW/Fp827wjvwnMNDFAR4pKa8VcY="; + hash = "sha256-Zgug40R1my1BPOoV9iOkbzouMKeQsc0YYFmBIoypDqk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix index 4abf1e9f092c..2df4dd4b8ff0 100644 --- a/pkgs/development/python-modules/pex/default.nix +++ b/pkgs/development/python-modules/pex/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pex"; - version = "2.7.0"; + version = "2.12.1"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-tL+Roe2GHSVm6tIxIWXI6ek8rOMN8Ak2+Xe5ebn497E="; + hash = "sha256-KBD9sRqtQT02RfyXurUiGy28bucB7l/irF/fPmVeGwc="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/ray/binary-hashes.nix b/pkgs/development/python-modules/ray/binary-hashes.nix index 609e6c12288d..ca32a86cf85b 100644 --- a/pkgs/development/python-modules/ray/binary-hashes.nix +++ b/pkgs/development/python-modules/ray/binary-hashes.nix @@ -1,11 +1,11 @@ { cp310 = { - hash = "sha256-cHxgTJS5t5nQXi//EWtyUHhGelZbbd5mOs9cegeaj58="; + hash = "sha256-dnFaktwQ1/CQvftJD25tSXzI0hLaeBdNDeUWunAhzuQ="; }; cp311 = { - hash = "sha256-+rj/xdcVHe23UOzZ6YbTq7ULMgYTyjeN5peNoa3NMVc="; + hash = "sha256-tgjWhlYAy9NRaIKhm7O3E7bxYbFQzh7jHZIITQlAi5o="; }; cp312 = { - hash = "sha256-4GWQJp0OUjt2X+Hw+E0HpWv04TN8HlSkIoEHsHIrfe0="; + hash = "sha256-rqrFzgZXKxWUfJlbbWWmyHBqGyM27r7VuY6Qc/6Uq+A="; }; } diff --git a/pkgs/development/python-modules/ray/default.nix b/pkgs/development/python-modules/ray/default.nix index 9430001fff90..ba2d8afe9be9 100644 --- a/pkgs/development/python-modules/ray/default.nix +++ b/pkgs/development/python-modules/ray/default.nix @@ -56,7 +56,7 @@ let pname = "ray"; - version = "2.33.0"; + version = "2.34.0"; in buildPythonPackage rec { inherit pname version; diff --git a/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix b/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix index ee5021688f8e..dfb31f6ebcbe 100644 --- a/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix +++ b/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "sphinxcontrib-confluencebuilder"; - version = "2.5.2"; + version = "2.6.0"; format = "pyproject"; src = fetchPypi { pname = "sphinxcontrib_confluencebuilder"; inherit version; - hash = "sha256-FwjjlMTIhAD/v4Ig+uqrJJybdPqpPG+7OMuJwSqWo84="; + hash = "sha256-yheaZjD62JUq8NUOjhcqK/nLUC9Q4xlQx9hlza3rgoc="; }; nativeBuildInputs = [ flit-core ]; diff --git a/pkgs/development/tools/rust/cargo-mobile2/default.nix b/pkgs/development/tools/rust/cargo-mobile2/default.nix index ddaed69abe7c..61597619f103 100644 --- a/pkgs/development/tools/rust/cargo-mobile2/default.nix +++ b/pkgs/development/tools/rust/cargo-mobile2/default.nix @@ -12,7 +12,7 @@ let inherit (darwin.apple_sdk.frameworks) CoreServices; pname = "cargo-mobile2"; - version = "0.12.2"; + version = "0.13.0"; in rustPlatform.buildRustPackage { inherit pname version; @@ -20,14 +20,14 @@ rustPlatform.buildRustPackage { owner = "tauri-apps"; repo = pname; rev = "cargo-mobile2-v${version}"; - hash = "sha256-AEAE6UDWf1Kupy20MDOOCovsIJJlFAILBW6qpToVQVM="; + hash = "sha256-K7Ul3a1n3JpDm31XuwVAWiAjbQtuKm5faRiWelgU4fU="; }; # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202 # sourceRoot = "${src.name}/tooling/cli"; - cargoHash = "sha256-2bQ8QGVQoWj3mVm2y85ynrzL6IJ+BEatVLQy/huAEic="; + cargoHash = "sha256-wXLvv9fijFELKzACDgza3fxEFV5rip3Jj9Xn1M27hgc="; preBuild = '' mkdir -p $out/share/ diff --git a/pkgs/tools/networking/kea/default.nix b/pkgs/tools/networking/kea/default.nix index b5247085fbae..a4831b6ef0ef 100644 --- a/pkgs/tools/networking/kea/default.nix +++ b/pkgs/tools/networking/kea/default.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { pname = "kea"; - version = "2.6.0"; # only even minor versions are stable + version = "2.6.1"; # only even minor versions are stable src = fetchurl { url = "https://ftp.isc.org/isc/${pname}/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-IHzq4z6zuB7E5qxWBSSahbk3eTM7YqrfOeSJ8R283I0="; + hash = "sha256-0s4UqRwuJIrSh24pFS1ke8xeQzvGja+tDuluwWb8+tE="; }; patches = [ diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix index de8b9a0a4f1e..333bf0c0e3c8 100644 --- a/pkgs/tools/networking/radvd/default.nix +++ b/pkgs/tools/networking/radvd/default.nix @@ -1,27 +1,57 @@ -{ lib, stdenv, fetchurl, pkg-config, libdaemon, bison, flex, check }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libbsd, + libdaemon, + bison, + flex, + check, + nixosTests, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "radvd"; - version = "2.19"; + version = "2.20_rc1"; - src = fetchurl { - url = "http://www.litech.org/radvd/dist/${pname}-${version}.tar.xz"; - sha256 = "0h722f17h7cra1sjgrxhrrvx54mm47fs039909yhbabigxch8kjn"; + src = fetchFromGitHub { + owner = "radvd-project"; + repo = "radvd"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-+cZn4pE4hBZDckfcQJzYdZxHkexWl/AmufCN5BiwWwA="; }; - nativeBuildInputs = [ pkg-config bison flex check ]; - buildInputs = [ libdaemon ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + bison + flex + check + ]; + + buildInputs = [ + libdaemon + libbsd + ]; # Needed for cross-compilation - makeFlags = [ - "AR=${stdenv.cc.targetPrefix}ar" - ]; + makeFlags = [ "AR=${stdenv.cc.targetPrefix}ar" ]; + + passthru.tests = { + inherit (nixosTests) connman ipv6 systemd-networkd-ipv6-prefix-delegation; + privacy_scripted = nixosTests.networking.scripted.privacy; + privacy_networkd = nixosTests.networking.networkd.privacy; + }; meta = with lib; { homepage = "http://www.litech.org/radvd/"; + changelog = "https://github.com/radvd-project/radvd/blob/${finalAttrs.src.rev}/CHANGES"; description = "IPv6 Router Advertisement Daemon"; + downloadPage = "https://github.com/radvd-project/radvd"; platforms = platforms.linux; license = licenses.bsdOriginal; maintainers = with maintainers; [ fpletz ]; }; -} +}) diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix index dae32fa93f1e..0bdb6fab692a 100644 --- a/pkgs/tools/networking/wget/default.nix +++ b/pkgs/tools/networking/wget/default.nix @@ -20,18 +20,10 @@ stdenv.mkDerivation rec { preConfigure = '' patchShebangs doc - - '' + lib.optionalString doCheck '' - # Work around lack of DNS resolution in chroots. - for i in "tests/"*.pm "tests/"*.px - do - sed -i "$i" -e's/localhost/127.0.0.1/g' - done ''; nativeBuildInputs = [ gettext pkg-config perlPackages.perl lzip libiconv libintl ]; buildInputs = [ libidn2 zlib pcre libuuid ] - ++ lib.optionals doCheck [ perlPackages.IOSocketSSL perlPackages.LWP python3 ] ++ lib.optional withOpenssl openssl ++ lib.optional withLibpsl libpsl ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreServices perlPackages.perl ]; @@ -43,7 +35,35 @@ stdenv.mkDerivation rec { "--without-included-regex" ]; - doCheck = false; + doCheck = true; + preCheck = '' + patchShebangs tests fuzz + + # Work around lack of DNS resolution in chroots. + for i in "tests/"*.pm "tests/"*.px + do + sed -i "$i" -e's/localhost/127.0.0.1/g' + done + '' + lib.optionalString stdenv.isDarwin '' + # depending on the underlying filesystem, some tests + # creating exotic file names fail + for f in tests/Test-ftp-iri.px \ + tests/Test-ftp-iri-fallback.px \ + tests/Test-ftp-iri-recursive.px \ + tests/Test-ftp-iri-disabled.px \ + tests/Test-iri-disabled.px \ + tests/Test-iri-list.px ; + do + # just return magic "skip" exit code 77 + sed -i 's/^exit/exit 77 #/' $f + done + ''; + checkInputs = [ + perlPackages.HTTPDaemon + python3 + ] ++ lib.optionals stdenv.isDarwin [ + perlPackages.IOSocketSSL + ]; meta = with lib; { description = "Tool for retrieving files using HTTP, HTTPS, and FTP"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c55c361b0fb..797047833e74 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15990,6 +15990,12 @@ with pkgs; lldb_18 = llvmPackages_18.lldb; llvm_18 = llvmPackages_18.llvm; + llvmPackages_19 = llvmPackagesSet."19"; + clang_19 = llvmPackages_19.clang; + lld_19 = llvmPackages_19.lld; + lldb_19 = llvmPackages_19.lldb; + llvm_19 = llvmPackages_19.llvm; + llvmPackages_git = llvmPackagesSet.git; }) llvmPackages_13 llvmPackages_14 @@ -16001,6 +16007,11 @@ with pkgs; lld_18 lldb_18 llvm_18 + llvmPackages_19 + clang_19 + lld_19 + lldb_19 + llvm_19 llvmPackages_git; lorri = callPackage ../tools/misc/lorri { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb8026a0d9b7..69b4d2db6f37 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4340,6 +4340,8 @@ self: super: with self; { first = callPackage ../development/python-modules/first { }; + fissix = callPackage ../development/python-modules/fissix { }; + fitbit = callPackage ../development/python-modules/fitbit { }; fivem-api = callPackage ../development/python-modules/fivem-api { }; @@ -9130,6 +9132,8 @@ self: super: with self; { nose2 = callPackage ../development/python-modules/nose2 { }; + nose2pytest = callPackage ../development/python-modules/nose2pytest { }; + nose3 = callPackage ../development/python-modules/nose3 { }; notebook = callPackage ../development/python-modules/notebook { };