diff options
Diffstat (limited to 'pkgs/tools')
45 files changed, 310 insertions, 307 deletions
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index e65cac675dbdb..16acc62416af9 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -3,24 +3,20 @@ , fetchPypi , groff , less +, nix-update-script +, testers +, awscli }: python3.pkgs.buildPythonApplication rec { pname = "awscli"; - version = "1.29.9"; # N.B: if you change this, change botocore and boto3 to a matching version too + version = "1.29.57"; # N.B: if you change this, change botocore and boto3 to a matching version too src = fetchPypi { inherit pname version; - hash = "sha256-8SmOu79FZESL1Hd15wdd1m1Uewswqaum2y8LOZAl9P8="; + hash = "sha256-+xME5GiDitxn61yrIkiEByx/xeMeXMrVS2rifIX6Ci8="; }; - # https://github.com/aws/aws-cli/issues/4837 - postPatch = '' - substituteInPlace setup.py \ - --replace "docutils>=0.10,<0.17" "docutils>=0.10" \ - --replace "colorama>=0.2.5,<0.4.5" "colorama>=0.2.5,<0.5" \ - --replace "rsa>=3.1.2,<4.8" "rsa<5,>=3.1.2" - ''; propagatedBuildInputs = with python3.pkgs; [ botocore @@ -44,10 +40,6 @@ python3.pkgs.buildPythonApplication rec { rm $out/bin/aws.cmd ''; - passthru = { - python = python3; # for aws_shell - }; - doInstallCheck = true; installCheckPhase = '' @@ -59,12 +51,25 @@ python3.pkgs.buildPythonApplication rec { runHook postInstallCheck ''; + passthru = { + python = python3; # for aws_shell + updateScript = nix-update-script { + # Excludes 1.x versions from the Github tags list + extraArgs = [ "--version-regex" "^(1\.(.*))" ]; + }; + tests.version = testers.testVersion { + package = awscli; + command = "aws --version"; + inherit version; + }; + }; + meta = with lib; { homepage = "https://aws.amazon.com/cli/"; changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst"; description = "Unified tool to manage your AWS services"; license = licenses.asl20; mainProgram = "aws"; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ anthonyroussel ]; }; } diff --git a/pkgs/tools/archivers/unar/default.nix b/pkgs/tools/archivers/unar/default.nix index ee1693ee18e25..07aa89fa5caf2 100644 --- a/pkgs/tools/archivers/unar/default.nix +++ b/pkgs/tools/archivers/unar/default.nix @@ -50,15 +50,17 @@ stdenv.mkDerivation rec { lib.optionals stdenv.isLinux [ gnustep.make ] ++ lib.optionals stdenv.isDarwin [ xcbuildHook ]; + # Work around https://github.com/NixOS/nixpkgs/issues/166205. + # xcbuild links with clang instead of clang++. + env = lib.optionalAttrs stdenv.isDarwin { + LD_FLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; + }; + xcbuildFlags = lib.optionals stdenv.isDarwin [ "-target unar" "-target lsar" "-configuration Release" - "MACOSX_DEPLOYMENT_TARGET=10.12" - # Fix "ld: file not found: /nix/store/*-clang-7.1.0/lib/arc/libarclite_macosx." error - # Disabling ARC may leak memory, however since this program is generally not used for - # long periods of time, it shouldn't be an issue - "CLANG_LINK_OBJC_RUNTIME=NO" + "MACOSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}" ]; makefile = lib.optionalString (!stdenv.isDarwin) "Makefile.linux"; diff --git a/pkgs/tools/backup/dar/default.nix b/pkgs/tools/backup/dar/default.nix index a55dbc96f107a..96eeeb39a9cb1 100644 --- a/pkgs/tools/backup/dar/default.nix +++ b/pkgs/tools/backup/dar/default.nix @@ -1,7 +1,6 @@ -args @ { +{ lib, stdenv, - llvmPackages_12, # Anything newer than 11 fetchzip, which, attr, @@ -22,12 +21,6 @@ args @ { CoreFoundation, }: -let - # Fails to build with clang-11 on Darwin: - # error: exception specification of overriding function is more lax than base version - stdenv = if args.stdenv.isDarwin then llvmPackages_12.stdenv else args.stdenv; -in - stdenv.mkDerivation rec { version = "2.7.13"; pname = "dar"; diff --git a/pkgs/tools/cd-dvd/cdrkit/default.nix b/pkgs/tools/cd-dvd/cdrkit/default.nix index de54827071c64..402e6f4dde370 100644 --- a/pkgs/tools/cd-dvd/cdrkit/default.nix +++ b/pkgs/tools/cd-dvd/cdrkit/default.nix @@ -15,7 +15,12 @@ stdenv.mkDerivation rec { lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Carbon IOKit iconv ]); hardeningDisable = [ "format" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isMusl "-D__THROW="; + env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isMusl [ + "-D__THROW=" + ] ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=int-conversion" + "-Wno-error=implicit-function-declaration" + ]); # efi-boot-patch extracted from http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=174244 patches = [ ./include-path.patch ./cdrkit-1.1.9-efi-boot.patch ./cdrkit-1.1.11-fno-common.patch ]; diff --git a/pkgs/tools/cd-dvd/sacd/default.nix b/pkgs/tools/cd-dvd/sacd/default.nix index 963300c9ca110..948c514284023 100644 --- a/pkgs/tools/cd-dvd/sacd/default.nix +++ b/pkgs/tools/cd-dvd/sacd/default.nix @@ -17,8 +17,9 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # Makefile prefix, otherwise `/usr` prefix is enforced + # https://github.com/Sound-Linux-More/sacd/pull/1 (fetchpatch { - url = "https://github.com/Sound-Linux-More/sacd/pull/1.patch"; + url = "https://github.com/Sound-Linux-More/sacd/commit/a72def4fab234bcd68b444cf7447a8876b4e2ce8.patch"; name = "makefile-prefix.patch"; sha256 = "0a7r4x0yqpg6l4vr84dq4wbrypabqm4vvcjv91am068gqjiw6w64"; }) diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index be456cf594427..bfab2dbb94670 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchurl -, linkStatic ? with stdenv.hostPlatform; isStatic || isCygwin +, enableStatic ? with stdenv.hostPlatform; isStatic || isCygwin +, enableShared ? true , autoreconfHook , testers }: @@ -47,8 +48,12 @@ in { outputs = [ "bin" "dev" "out" "man" ]; - configureFlags = - lib.optionals linkStatic [ "--enable-static" "--disable-shared" ]; + configureFlags = lib.concatLists [ + (lib.optional enableStatic "--enable-static") + (lib.optional (!enableShared) "--disable-shared") + ]; + + dontDisableStatic = enableStatic; enableParallelBuilding = true; diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix index 791dda4f11ef3..75b306b368aa3 100644 --- a/pkgs/tools/compression/zstd/default.nix +++ b/pkgs/tools/compression/zstd/default.nix @@ -2,7 +2,8 @@ , fixDarwinDylibNames , file , legacySupport ? false -, static ? stdenv.hostPlatform.isStatic +, static ? stdenv.hostPlatform.isStatic # generates static libraries *only* +, enableStatic ? static # these need to be ran on the host, thus disable when cross-compiling , buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform , doCheck ? stdenv.hostPlatform == stdenv.buildPlatform @@ -54,7 +55,7 @@ stdenv.mkDerivation rec { cmakeFlags = lib.attrsets.mapAttrsToList (name: value: "-DZSTD_${name}:BOOL=${if value then "ON" else "OFF"}") { BUILD_SHARED = !static; - BUILD_STATIC = static; + BUILD_STATIC = enableStatic; BUILD_CONTRIB = buildContrib; PROGRAMS_LINK_SHARED = !static; LEGACY_SUPPORT = legacySupport; diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index 7df877f102f6d..a9062aced02fb 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -12,12 +12,10 @@ , lz4 , attr , udev -, valgrind , nixosTests , fuse3 , cargo , rustc -, coreutils , rustPlatform , makeWrapper , fuseSupport ? false @@ -29,6 +27,7 @@ stdenv.mkDerivation { pname = "bcachefs-tools"; inherit version; + src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; @@ -36,9 +35,6 @@ stdenv.mkDerivation { hash = "sha256-4TmH6YOW6ktISVA6RLo7JRl8/SnRzGMrdbyCr+mDkqY="; }; - # errors on fsck_err function. Maybe miss-detection? - NIX_CFLAGS_COMPILE = "-Wno-error=format-security"; - nativeBuildInputs = [ pkg-config cargo @@ -72,7 +68,6 @@ stdenv.mkDerivation { doCheck = false; # needs bcachefs module loaded on builder checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ]; - nativeCheckInputs = [ valgrind ]; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -80,7 +75,7 @@ stdenv.mkDerivation { "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ]; - preCheck = lib.optionalString fuseSupport '' + preCheck = lib.optionalString (!fuseSupport) '' rm tests/test_fuse.py ''; @@ -89,11 +84,6 @@ stdenv.mkDerivation { inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti; }; - postFixup = '' - wrapProgram $out/bin/mount.bcachefs \ - --prefix PATH : ${lib.makeBinPath [ coreutils ]} - ''; - enableParallelBuilding = true; meta = with lib; { diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix index 14701a615c01e..966c396823928 100644 --- a/pkgs/tools/filesystems/encfs/default.nix +++ b/pkgs/tools/filesystems/encfs/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub, fetchpatch , cmake, pkg-config, perl , gettext, fuse, openssl, tinyxml2 }: @@ -14,6 +14,15 @@ stdenv.mkDerivation rec { owner = "vgough"; }; + patches = lib.optionals stdenv.cc.isClang [ + # Fixes a build failure when building with newer versions of clang. + # https://github.com/vgough/encfs/pull/650 + (fetchpatch { + url = "https://github.com/vgough/encfs/commit/406b63bfe234864710d1d23329bf41d48001fbfa.patch"; + hash = "sha256-VunC5ICRJBgCXqkr7ad7DPzweRJr1bdOpo1LKNCs4zY="; + }) + ]; + buildInputs = [ gettext fuse openssl tinyxml2 ]; nativeBuildInputs = [ cmake pkg-config perl ]; diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index dd446fb26c75c..105169c5e0305 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -95,6 +95,10 @@ stdenv.mkDerivation { runHook postConfigure ''; + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration"; + }; + installPhase = '' runHook preInstall diff --git a/pkgs/tools/graphics/spirv-cross/default.nix b/pkgs/tools/graphics/spirv-cross/default.nix index 1bf20910cf54a..642a49c39b843 100644 --- a/pkgs/tools/graphics/spirv-cross/default.nix +++ b/pkgs/tools/graphics/spirv-cross/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "spirv-cross"; - version = "1.3.261.0"; + version = "1.3.268.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Cross"; - rev = "sdk-${finalAttrs.version}"; - hash = "sha256-abVqLovvcKBJhGhSCbyD5mc1DSfvh4TWssGxi52ukQ8="; + rev = "vulkan-sdk-${finalAttrs.version}"; + hash = "sha256-UIk5hihUPjXNzEeO2laS4dUef/rEExxXAZjMcftx+3A="; }; nativeBuildInputs = [ cmake python3 ]; diff --git a/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/pkgs/tools/graphics/vulkan-extension-layer/default.nix index 96edbcad83f60..dae55225a0b3f 100644 --- a/pkgs/tools/graphics/vulkan-extension-layer/default.nix +++ b/pkgs/tools/graphics/vulkan-extension-layer/default.nix @@ -1,19 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, writeText, vulkan-headers, jq, libX11, libXrandr, libxcb, wayland }: +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, writeText, vulkan-headers, vulkan-utility-libraries, jq, libX11, libXrandr, libxcb, wayland }: stdenv.mkDerivation rec { pname = "vulkan-extension-layer"; - version = "1.3.261"; + version = "1.3.268.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "Vulkan-ExtensionLayer"; - rev = "v${version}"; - hash = "sha256-MeW7mmbjgqEvXEnAYzTNu4omC4fqq1fplIVjDpV2LcA="; + rev = "vulkan-sdk-${version}"; + hash = "sha256-rSKPTeTDOz6IeJGRt9aIu1VH8VfVzXNYZfjdiSXEJxg="; }; nativeBuildInputs = [ cmake pkg-config jq ]; - buildInputs = [ vulkan-headers libX11 libXrandr libxcb wayland ]; + buildInputs = [ vulkan-headers vulkan-utility-libraries libX11 libXrandr libxcb wayland ]; # Help vulkan-loader find the validation layers setupHook = writeText "setup-hook" '' diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix index 072876e46dec2..ab593a9bc4de7 100644 --- a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix +++ b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix @@ -16,23 +16,22 @@ , which , xcbutilkeysyms , xcbutilwm +, valijson , vulkan-headers , vulkan-loader -, symlinkJoin -, vulkan-validation-layers +, vulkan-utility-libraries , writeText }: stdenv.mkDerivation rec { pname = "vulkan-tools-lunarg"; - version = "1.3.261"; + version = "1.3.268.0"; src = fetchFromGitHub { owner = "LunarG"; repo = "VulkanTools"; - rev = "v${version}"; - hash = "sha256-Kem3nWVaMeDEsidKYMsWr9Bu0yBgjjennDB0sKBDogA="; - fetchSubmodules = true; + rev = "vulkan-sdk-${version}"; + hash = "sha256-2ZUD+RBsl35QV3250JOPCIoJb4sJcBsiRE4SZaS6ROs="; }; nativeBuildInputs = [ cmake python3 jq which pkg-config ]; @@ -45,6 +44,10 @@ stdenv.mkDerivation rec { libXrandr libffi libxcb + valijson + vulkan-headers + vulkan-loader + vulkan-utility-libraries wayland xcbutilkeysyms xcbutilwm @@ -52,27 +55,10 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DVULKAN_HEADERS_INSTALL_DIR=${vulkan-headers}" - "-DVULKAN_LOADER_INSTALL_DIR=${vulkan-loader}" - "-DVULKAN_VALIDATIONLAYERS_INSTALL_DIR=${ - symlinkJoin { - name = "vulkan-validation-layers-merged"; - paths = [ vulkan-validation-layers.headers vulkan-validation-layers ]; - } - }" - # Hide dev warnings that are useless for packaging - "-Wno-dev" ]; preConfigure = '' - # We need to run this update script which generates some source files, - # Remove the line in it which calls 'git submodule update' though. - # Also patch the scripts in ./scripts - update=update_external_sources.sh - patchShebangs $update patchShebangs scripts/* - sed -i '/^git /d' $update - ./$update - substituteInPlace via/CMakeLists.txt --replace "jsoncpp_static" "jsoncpp" ''; @@ -85,13 +71,6 @@ stdenv.mkDerivation rec { done ''; - patches = [ - ./gtest.patch - ]; - - # Same as vulkan-validation-layers - dontPatchELF = true; - # Help vulkan-loader find the validation layers setupHook = writeText "setup-hook" '' export XDG_CONFIG_DIRS=@out@/etc''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}} diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/gtest.patch b/pkgs/tools/graphics/vulkan-tools-lunarg/gtest.patch deleted file mode 100644 index cf062a8591ff2..0000000000000 --- a/pkgs/tools/graphics/vulkan-tools-lunarg/gtest.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/external/googletest/googlemock/CMakeLists.txt b/external/googletest/googlemock/CMakeLists.txt -index e7df8ec53d..869bfcb716 100644 ---- a/external/googletest/googlemock/CMakeLists.txt -+++ b/external/googletest/googlemock/CMakeLists.txt -@@ -111,10 +111,10 @@ endif() - if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11") - target_include_directories(gmock SYSTEM INTERFACE - "$<BUILD_INTERFACE:${gmock_build_include_dirs}>" -- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>") -+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>") - target_include_directories(gmock_main SYSTEM INTERFACE - "$<BUILD_INTERFACE:${gmock_build_include_dirs}>" -- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>") -+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>") - endif() - - ######################################################################## -diff --git a/external/googletest/googletest/CMakeLists.txt b/external/googletest/googletest/CMakeLists.txt -index abdd98b79a..7ae174d566 100644 ---- a/external/googletest/googletest/CMakeLists.txt -+++ b/external/googletest/googletest/CMakeLists.txt -@@ -138,10 +138,10 @@ set_target_properties(gtest_main PROPERTIES VERSION ${GOOGLETEST_VERSION}) - if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11") - target_include_directories(gtest SYSTEM INTERFACE - "$<BUILD_INTERFACE:${gtest_build_include_dirs}>" -- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>") -+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>") - target_include_directories(gtest_main SYSTEM INTERFACE - "$<BUILD_INTERFACE:${gtest_build_include_dirs}>" -- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>") -+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_INCLUDEDIR}>") - endif() - target_link_libraries(gtest_main PUBLIC gtest) - diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix index 9327bd9c9d6ed..e148f51d86893 100644 --- a/pkgs/tools/graphics/vulkan-tools/default.nix +++ b/pkgs/tools/graphics/vulkan-tools/default.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "vulkan-tools"; - version = "1.3.261"; + version = "1.3.268.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "Vulkan-Tools"; - rev = "v${version}"; - hash = "sha256-C5FVkI9F/dgIS8qp7VaOn9J2zoNLb1PnmgAemsVO6zM="; + rev = "vulkan-sdk-${version}"; + hash = "sha256-IsMxiAR4ak6kC3BNYhtI+JVNkEka4ZceSElxk39THXg="; }; nativeBuildInputs = [ @@ -57,27 +57,19 @@ stdenv.mkDerivation rec { Cocoa ]; - libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ]; - - patches = [ - # Vulkan-Tools expects to find the MoltenVK ICD and `libMoltenVK.dylib` in its source repo. - # Patch it to use the already-built binaries and ICD in nixpkgs. - ./use-nix-moltenvk.patch - ]; - - # vkcube.app and vkcubepp.app require `ibtool`, but the version in `xib2nib` is not capable of - # building these apps. Build them using `ibtool` from Xcode, but don’t allow any other binaries - # into the sandbox. Note that the CLT are not supported because `ibtool` requires Xcode. - sandboxProfile = lib.optionalString stdenv.isDarwin '' - (allow process-exec - (literal "/usr/bin/ibtool") - (regex "/Xcode.app/Contents/Developer/usr/bin/ibtool") - (regex "/Xcode.app/Contents/Developer/usr/bin/xcodebuild")) - (allow file-read*) - (deny file-read* (subpath "/usr/local") (with no-log)) - (allow file-write* (subpath "/private/var/folders")) + postPatch = lib.optionalString stdenv.isDarwin '' + # Modify mac_common.cmake to find the ICD where nixpkgs puts it. + substituteInPlace mac_common.cmake \ + --replace MoltenVK/icd/MoltenVK_icd.json MoltenVK_icd.json + # Remove the unconditional check for `ibtool` since the cube demo that needs it won’t be built. + sed -e '/#.*Interface Builder/,/^endif()/d' -i mac_common.cmake + # Install `vulkaninfo` to $out/bin even on Darwin. + substituteInPlace vulkaninfo/CMakeLists.txt \ + --replace 'install(TARGETS vulkaninfo RUNTIME DESTINATION "vulkaninfo")' 'install(TARGETS vulkaninfo)' ''; + libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ]; + dontPatchELF = true; cmakeFlags = [ @@ -91,7 +83,8 @@ stdenv.mkDerivation rec { "-Wno-dev" ] ++ lib.optionals stdenv.isDarwin [ "-DMOLTENVK_REPO_ROOT=${moltenvk}/share/vulkan/icd.d" - "-DIBTOOL=/usr/bin/ibtool" + # Don’t build the cube demo because it requires `ibtool`, which is not available in nixpkgs. + "-DBUILD_CUBE=OFF" ]; meta = with lib; { @@ -102,7 +95,6 @@ stdenv.mkDerivation rec { use of the Vulkan API. ''; homepage = "https://github.com/KhronosGroup/Vulkan-Tools"; - hydraPlatforms = [ "x86_64-linux" "i686-linux" ]; platforms = platforms.unix; license = licenses.asl20; maintainers = [ maintainers.ralith ]; diff --git a/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch b/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch deleted file mode 100644 index 5d09bff9c958c..0000000000000 --- a/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch +++ /dev/null @@ -1,123 +0,0 @@ -diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt -index a2f026e7..327f5dba 100644 ---- a/cube/CMakeLists.txt -+++ b/cube/CMakeLists.txt -@@ -257,14 +257,7 @@ else() - endif() - - if(APPLE) -- # Keep RPATH so fixup_bundle can use it to find libraries -- set_target_properties(vkcube PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) -- install(TARGETS vkcube BUNDLE DESTINATION "cube") -- # Fix up the library references to be self-contained within the bundle. -- install(CODE " -- include(BundleUtilities) -- fixup_bundle(\${CMAKE_INSTALL_PREFIX}/cube/vkcube.app \"\" \"${Vulkan_LIBRARY_DIR}\") -- ") -+ install(TARGETS vkcube BUNDLE DESTINATION "Applications") - else() - install(TARGETS vkcube RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() -@@ -302,14 +295,7 @@ else() - endif() - - if(APPLE) -- # Keep RPATH so fixup_bundle can use it to find libraries -- set_target_properties(vkcubepp PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) -- install(TARGETS vkcubepp BUNDLE DESTINATION "cube") -- # Fix up the library references to be self-contained within the bundle. -- install(CODE " -- include(BundleUtilities) -- fixup_bundle(\${CMAKE_INSTALL_PREFIX}/cube/vkcubepp.app \"\" \"${Vulkan_LIBRARY_DIR}\") -- ") -+ install(TARGETS vkcubepp BUNDLE DESTINATION "Applications") - else() - install(TARGETS vkcubepp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() -diff --git a/cube/macOS/cube/cube.cmake b/cube/macOS/cube/cube.cmake -index 9b823f95..0c43a2c9 100644 ---- a/cube/macOS/cube/cube.cmake -+++ b/cube/macOS/cube/cube.cmake -@@ -72,12 +72,14 @@ set_source_files_properties("${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json" - # Copy the MoltenVK lib into the bundle. - if(${CMAKE_GENERATOR} MATCHES "^Xcode.*") - add_custom_command(TARGET vkcube POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${MOLTENVK_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" -+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vkcube.app/Contents/Frameworks -+ COMMAND ${CMAKE_COMMAND} -E create_symlink "${MOLTENVK_DIR}/lib/libMoltenVK.dylib" - ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vkcube.app/Contents/Frameworks/libMoltenVK.dylib - DEPENDS vulkan) - else() - add_custom_command(TARGET vkcube POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${MOLTENVK_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" -+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/vkcube.app/Contents/Frameworks -+ COMMAND ${CMAKE_COMMAND} -E create_symlink "${MOLTENVK_DIR}/lib/libMoltenVK.dylib" - ${CMAKE_CURRENT_BINARY_DIR}/vkcube.app/Contents/Frameworks/libMoltenVK.dylib - DEPENDS vulkan) - endif() -diff --git a/cube/macOS/cubepp/cubepp.cmake b/cube/macOS/cubepp/cubepp.cmake -index eae4de3c..e528ae26 100644 ---- a/cube/macOS/cubepp/cubepp.cmake -+++ b/cube/macOS/cubepp/cubepp.cmake -@@ -74,12 +74,14 @@ set_source_files_properties("${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json" - # Copy the MoltenVK lib into the bundle. - if(${CMAKE_GENERATOR} MATCHES "^Xcode.*") - add_custom_command(TARGET vkcubepp POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${MOLTENVK_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" -+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vkcubepp.app/Contents/Frameworks -+ COMMAND ${CMAKE_COMMAND} -E create_symlink "${MOLTENVK_DIR}/lib/libMoltenVK.dylib" - ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vkcubepp.app/Contents/Frameworks/libMoltenVK.dylib - DEPENDS vulkan) - else() - add_custom_command(TARGET vkcubepp POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${MOLTENVK_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" -+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/vkcubepp.app/Contents/Frameworks -+ COMMAND ${CMAKE_COMMAND} -E create_symlink "${MOLTENVK_DIR}/lib/libMoltenVK.dylib" - ${CMAKE_CURRENT_BINARY_DIR}/vkcubepp.app/Contents/Frameworks/libMoltenVK.dylib - DEPENDS vulkan) - endif() -diff --git a/mac_common.cmake b/mac_common.cmake -index bad3c414..b498906d 100644 ---- a/mac_common.cmake -+++ b/mac_common.cmake -@@ -23,9 +23,8 @@ set(MOLTENVK_DIR ${MOLTENVK_REPO_ROOT}) - # MoltenVK JSON File - - execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/staging-json) --execute_process(COMMAND sed -e "/\"library_path\":/s$:[[:space:]]*\"[[:space:]]*[\\.\\/]*$: \"..\\/..\\/..\\/Frameworks\\/$" -- ${MOLTENVK_DIR}/MoltenVK/icd/MoltenVK_icd.json -- OUTPUT_FILE ${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json) -+execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${MOLTENVK_DIR}/MoltenVK_icd.json -+ ${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json) - - # ~~~ - # Modify the ICD JSON file to adjust the library path. -@@ -36,10 +35,9 @@ execute_process(COMMAND sed -e "/\"library_path\":/s$:[[:space:]]*\"[[:space:]]* - # ~~~ - add_custom_target(MoltenVK_icd-staging-json ALL - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/staging-json -- COMMAND sed -e "/\"library_path\":/s$:[[:space:]]*\"[[:space:]]*[\\.\\/]*$: \"..\\/..\\/..\\/Frameworks\\/$" -- ${MOLTENVK_DIR}/MoltenVK/icd/MoltenVK_icd.json > ${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json -- VERBATIM -- DEPENDS "${MOLTENVK_DIR}/MoltenVK/icd/MoltenVK_icd.json") -+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${MOLTENVK_DIR}/MoltenVK_icd.json -+ ${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json -+ DEPENDS "${MOLTENVK_DIR}/MoltenVK_icd.json") - set_source_files_properties(${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json PROPERTIES GENERATED TRUE) - - find_library(COCOA NAMES Cocoa) -diff --git a/vulkaninfo/CMakeLists.txt b/vulkaninfo/CMakeLists.txt -index d23dcf89..32aa0ebb 100644 ---- a/vulkaninfo/CMakeLists.txt -+++ b/vulkaninfo/CMakeLists.txt -@@ -136,9 +136,5 @@ elseif(APPLE) - add_definitions(-DVK_USE_PLATFORM_MACOS_MVK -DVK_USE_PLATFORM_METAL_EXT) - endif() - --if(APPLE) -- install(TARGETS vulkaninfo RUNTIME DESTINATION "vulkaninfo") --else() -- install(TARGETS vulkaninfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) --endif() -+install(TARGETS vulkaninfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - diff --git a/pkgs/tools/inputmethods/fcitx5/default.nix b/pkgs/tools/inputmethods/fcitx5/default.nix index b3c8ac43d9193..cedbb1b9f22da 100644 --- a/pkgs/tools/inputmethods/fcitx5/default.nix +++ b/pkgs/tools/inputmethods/fcitx5/default.nix @@ -8,6 +8,7 @@ , extra-cmake-modules , cairo , pango +, expat , fribidi , fmt , wayland @@ -29,6 +30,7 @@ , libdatrie , xcbutilkeysyms , pcre +, xcbutil , xcbutilwm , xcb-imdkit , libxkbfile @@ -63,6 +65,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + expat fmt isocodes cairo @@ -84,6 +87,7 @@ stdenv.mkDerivation rec { libXdmcp libxkbcommon pcre + xcbutil xcbutilwm xcbutilkeysyms xcb-imdkit diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix index 19ab5158a65b6..e2457ad63e137 100644 --- a/pkgs/tools/misc/expect/default.nix +++ b/pkgs/tools/misc/expect/default.nix @@ -6,18 +6,29 @@ tcl.mkTclDerivation rec { src = fetchurl { url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz"; - sha256 = "0d1cp5hggjl93xwc8h1y6adbnrvpkk0ywkd00inz9ndxn21xm9s9"; + hash = "sha256-Safag7C92fRtBKBN7sGcd2e7mjI+QMR4H4nK92C5LDQ="; }; patches = [ (fetchpatch { url = "https://raw.githubusercontent.com/buildroot/buildroot/c05e6aa361a4049eabd8b21eb64a34899ef83fc7/package/expect/0001-enable-cross-compilation.patch"; - sha256 = "1jwx2l1slidvcpahxbyqs942l81jd62rzbxliyd9lwysk38c8b6b"; + hash = "sha256-yyzE0Jjac5qaj7Svn4VpMiAqSNLYrw7VZbtFqgMVncs="; }) (substituteAll { src = ./fix-cross-compilation.patch; tcl = "${buildPackages.tcl}/bin/tclsh"; }) + # The following patches fix compilation with clang 15+ + (fetchpatch { + url = "https://sourceforge.net/p/expect/patches/24/attachment/0001-Add-prototype-to-function-definitions.patch"; + hash = "sha256-X2Vv6VVM3KjmBHo2ukVWe5YTVXRmqe//Kw2kr73OpZs="; + }) + (fetchpatch { + url = "https://sourceforge.net/p/expect/patches/_discuss/thread/b813ca9895/6759/attachment/expect-configure-c99.patch"; + hash = "sha256-PxQQ9roWgVXUoCMxkXEgu+it26ES/JuzHF6oML/nk54="; + }) + # Include `sys/ioctl.h` and `util.h` on Darwin, which are required for `ioctl` and `openpty`. + ./fix-darwin-clang16.patch ]; postPatch = '' diff --git a/pkgs/tools/misc/expect/fix-darwin-clang16.patch b/pkgs/tools/misc/expect/fix-darwin-clang16.patch new file mode 100644 index 0000000000000..9454769c99c8f --- /dev/null +++ b/pkgs/tools/misc/expect/fix-darwin-clang16.patch @@ -0,0 +1,31 @@ +diff -ur a/exp_win.c b/exp_win.c +--- a/exp_win.c 2018-02-02 14:15:52.000000000 -0500 ++++ b/exp_win.c 2023-10-10 07:47:33.082690432 -0400 +@@ -39,7 +39,8 @@ + /* Sigh. On AIX 2.3, termios.h exists but does not define TIOCGWINSZ */ + /* Instead, it has to come from ioctl.h. However, As I said above, this */ + /* can't be cavalierly included on all machines, even when it exists. */ +-#if defined(HAVE_TERMIOS) && !defined(HAVE_TIOCGWINSZ_IN_TERMIOS_H) ++/* Darwin also has termios.h, but it requires ioctl.h for `ioctl`. */ ++#if defined(HAVE_TERMIOS) && (defined(__APPLE__) || !defined(HAVE_TIOCGWINSZ_IN_TERMIOS_H)) + # include <sys/ioctl.h> + #endif + +diff -ur d/pty_termios.c c/pty_termios.c +--- d/pty_termios.c 2023-10-10 07:59:23.244452442 -0400 ++++ c/pty_termios.c 2023-10-10 08:00:35.303231582 -0400 +@@ -7,7 +7,13 @@ + + */ + +-#include <pty.h> /* openpty */ ++/* openpty */ ++#ifdef __APPLE__ ++#include <util.h> ++#else /* pty.h is Linux-specific */ ++#include <pty.h> ++#endif ++ + #include <stdio.h> + #include <signal.h> + diff --git a/pkgs/tools/misc/halp/default.nix b/pkgs/tools/misc/halp/default.nix index d9028a8392a8d..89867fe7a9410 100644 --- a/pkgs/tools/misc/halp/default.nix +++ b/pkgs/tools/misc/halp/default.nix @@ -5,7 +5,6 @@ , stdenv , darwin , unixtools -, rust }: rustPlatform.buildRustPackage rec { @@ -48,7 +47,7 @@ rustPlatform.buildRustPackage rec { postPatch = '' substituteInPlace src/helper/args/mod.rs \ - --subst-var-by releaseDir target/${rust.toRustTargetSpec stdenv.hostPlatform}/$cargoCheckType + --subst-var-by releaseDir target/${stdenv.hostPlatform.rust.rustcTargetSpec}/$cargoCheckType ''; preCheck = '' diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix index b6577a17bb195..2636cb71717bb 100644 --- a/pkgs/tools/misc/hdf4/default.nix +++ b/pkgs/tools/misc/hdf4/default.nix @@ -95,6 +95,13 @@ stdenv.mkDerivation rec { else [ "-DHDF4_BUILD_FORTRAN=OFF" ] ); + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=implicit-int" + ]; + }; + doCheck = true; excludedTests = lib.optionals stdenv.isDarwin [ diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index 39c0b680b0022..89702cfd1a7f1 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -27,7 +27,7 @@ assert !cppSupport || !mpiSupport; let inherit (lib) optional optionals; in stdenv.mkDerivation rec { - version = "1.14.2"; + version = "1.14.3"; pname = "hdf5" + lib.optionalString cppSupport "-cpp" + lib.optionalString fortranSupport "-fortran" @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { majorMinorPatch = with lib.versions; "${major version}.${minor version}.${patch version}"; in "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${majorMinor}/hdf5-${majorMinorPatch}/src/hdf5-${version}.tar.bz2"; - sha256 = "sha256-6jxeJX7zIq9ed/weUurTrWvzu0rAZIDdF+45ANeiTPs="; + sha256 = "sha256-lCXyJO110SgLtG1vJpI92Tj5BA5+rr9X5m7HNXwI+Rc="; }; passthru = { diff --git a/pkgs/tools/misc/mmv/default.nix b/pkgs/tools/misc/mmv/default.nix index b396de5002d95..c8ce33207787a 100644 --- a/pkgs/tools/misc/mmv/default.nix +++ b/pkgs/tools/misc/mmv/default.nix @@ -20,6 +20,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gengetopt m4 git gnupg perl autoconf automake help2man pkg-config ]; buildInputs = [ boehmgc ]; + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=implicit-int" + ]; + }; + meta = { homepage = "https://github.com/rrthomas/mmv"; description = "Utility for wildcard renaming, copying, etc"; diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix index fc87723208ede..eb1e7c5b01b79 100644 --- a/pkgs/tools/misc/xvfb-run/default.nix +++ b/pkgs/tools/misc/xvfb-run/default.nix @@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation rec { chmod a+x $out/bin/xvfb-run patchShebangs $out/bin/xvfb-run wrapProgram $out/bin/xvfb-run \ - --set FONTCONFIG_FILE "${fontsConf}" \ + --set-default FONTCONFIG_FILE "${fontsConf}" \ --prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux gawk coreutils ]} ''; diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix index 29426eef06e4c..5a534416adb4c 100644 --- a/pkgs/tools/networking/aria2/default.nix +++ b/pkgs/tools/networking/aria2/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook +{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, autoreconfHook , gnutls, c-ares, libxml2, sqlite, zlib, libssh2 , cppunit, sphinx , Security @@ -15,6 +15,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-xbiNSg/Z+CA0x0DQfMNsWdA+TATyX6dCeW2Nf3L3Kfs="; }; + patches = [ + # Fixes build errors clang 16 because `std::unary_function` and `std::binary_function` + # were removed in C++17, which is the default with clang 16. + (fetchpatch { + url = "https://github.com/aria2/aria2/commit/8956c58d126a4e57e114f69ba6a5961724b7a817.patch"; + hash = "sha256-bwcR0YHlkxUdz1AKHq1m2bYI9vDVMv4x3WPsR8QEHtk="; + }) + ]; + strictDeps = true; nativeBuildInputs = [ pkg-config autoreconfHook sphinx ]; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index c99f09e7f93a0..48bf59e252661 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, perl, nixosTests +{ lib, stdenv, fetchurl, darwin, pkg-config, perl, nixosTests , brotliSupport ? false, brotli , c-aresSupport ? false, c-aresMinimal , gnutlsSupport ? false, gnutls @@ -57,10 +57,6 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-FsYqnErw9wPSi9pte783ukcFWtNBTXDexj4uYzbyqC0="; }; - patches = [ - ./7.79.1-darwin-no-systemconfiguration.patch - ]; - outputs = [ "bin" "dev" "out" "man" "devdoc" ]; separateDebugInfo = stdenv.isLinux; @@ -90,7 +86,12 @@ stdenv.mkDerivation (finalAttrs: { optional wolfsslSupport wolfssl ++ optional rustlsSupport rustls-ffi ++ optional zlibSupport zlib ++ - optional zstdSupport zstd; + optional zstdSupport zstd ++ + optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + CoreFoundation + CoreServices + SystemConfiguration + ]); # for the second line see https://curl.haxx.se/mail/tracker-2014-03/0087.html preConfigure = '' diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index b23753e204126..43d2124d682b3 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, nettle -, libidn, libnetfilter_conntrack, buildPackages +, libidn, libnetfilter_conntrack, nftables, buildPackages , dbusSupport ? stdenv.isLinux , dbus , nixosTests @@ -13,6 +13,7 @@ let "-DHAVE_DBUS" ] ++ lib.optionals stdenv.isLinux [ "-DHAVE_CONNTRACK" + "-DHAVE_NFTSET" ]); in stdenv.mkDerivation rec { @@ -75,7 +76,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ nettle libidn ] ++ lib.optionals dbusSupport [ dbus ] - ++ lib.optionals stdenv.isLinux [ libnetfilter_conntrack ]; + ++ lib.optionals stdenv.isLinux [ libnetfilter_conntrack nftables ]; passthru.tests = { prometheus-exporter = nixosTests.prometheus-exporters.dnsmasq; diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index e4eb2eeaac41f..9b1723a4d122a 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -34,6 +34,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ help2man perl /* for `whois' */ ]; buildInputs = [ ncurses /* for `talk' */ libxcrypt ]; + env = lib.optionalAttrs stdenv.isDarwin { + # This is a temporary workaround for missing headers in the 10.12 SDK to avoid a mass rebuild. + # A commit to revert this change will be included in the fix PR targeting staging. + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + # Don't use help2man if cross-compiling # https://lists.gnu.org/archive/html/bug-sed/2017-01/msg00001.html # https://git.congatec.com/yocto/meta-openembedded/blob/3402bfac6b595c622e4590a8ff5eaaa854e2a2a3/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb#L44 diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index aaa26a38c3ae4..637214809d41e 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -18,6 +18,11 @@ stdenv.mkDerivation rec { hardeningDisable = lib.optional stdenv.isDarwin "format"; + env = lib.optionalAttrs stdenv.isDarwin { + # Required to build with clang 16 or `configure` will fail to detect several standard functions. + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + configureFlags = [ "--with-openssl" "--with-readline=${readline.dev}" diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index 9f928224ca7eb..5490977df12d0 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -57,11 +57,11 @@ let in stdenv.mkDerivation rec { pname = "networkmanager"; - version = "1.44.0"; + version = "1.44.2"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - sha256 = "sha256-7coJY30YL4BrOxLYxWI9e629c8zKGuY74g0vKYd5+58="; + sha256 = "sha256-S1i/OsV+LO+1ZS79CUXrC0vDamPZKmGrRx2LssmkIOE="; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; diff --git a/pkgs/tools/package-management/ciel/default.nix b/pkgs/tools/package-management/ciel/default.nix index 7ccd34c665dc1..d6040c4a07632 100644 --- a/pkgs/tools/package-management/ciel/default.nix +++ b/pkgs/tools/package-management/ciel/default.nix @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec { # FIXME: remove this patch after https://github.com/AOSC-Dev/ciel-rs/pull/16 is merged (fetchpatch { name = "use-canonicalize-path-to-find-libexec.patch"; - url = "https://github.com/AOSC-Dev/ciel-rs/pull/16.patch"; + url = "https://github.com/AOSC-Dev/ciel-rs/commit/17f41538ed1057e855540f5abef7faf6ea4abf5c.patch"; sha256 = "sha256-ELK2KpOuoBS774apomUIo8q1eXYs/FX895G7eBdgOQg="; }) ]; diff --git a/pkgs/tools/security/certmgr/default.nix b/pkgs/tools/security/certmgr/default.nix index e2318c853f112..da62e7d0568eb 100644 --- a/pkgs/tools/security/certmgr/default.nix +++ b/pkgs/tools/security/certmgr/default.nix @@ -35,7 +35,9 @@ in # TODO: remove patch when PR is merged. patches = [ (fetchpatch { - url = "https://github.com/cloudflare/certmgr/pull/51.patch"; + # https://github.com/cloudflare/certmgr/pull/51 + name = "cloudflare-certmgr-pull-51.patch"; + url = "https://github.com/cloudflare/certmgr/compare/232e0adf8379db28ab74c46e0dd3eddb3cd8f2ea...55c595a4a2dc871726b3c8337469daf5597718a3.patch"; sha256 = "0jhsw159d2mgybvbbn6pmvj4yqr5cwcal5fjwkcn9m4f4zlb6qrs"; }) ]; diff --git a/pkgs/tools/security/ibm-sw-tpm2/default.nix b/pkgs/tools/security/ibm-sw-tpm2/default.nix index 012d492aacad6..de260e0682490 100644 --- a/pkgs/tools/security/ibm-sw-tpm2/default.nix +++ b/pkgs/tools/security/ibm-sw-tpm2/default.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchurl, lib, openssl }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, openssl +}: stdenv.mkDerivation rec { pname = "ibm-sw-tpm2"; @@ -9,6 +14,18 @@ stdenv.mkDerivation rec { hash = "sha256-PLZC+HGheyPVCwRuX5X0ScIodBX8HnrrS9u4kg28s48="; }; + patches = [ + # Backport openssl-3.1 from development branch. + # Can be removed with next release. + (fetchpatch { + name = "openssl-3.1.patch"; + url = "https://github.com/kgoldman/ibmswtpm2/commit/15501bf4973d334ca9420fa2fb0f0fe1800871e0.patch"; + includes = [ "TpmToOsslMath.h" ]; + stripLen = 1; + hash = "sha256-8TwyZVy8pQwq5Fl8cy9xJWtdckwL+QK0+DL5EHDLYUY="; + }) + ]; + buildInputs = [ openssl ]; sourceRoot = "src"; diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix index 478cca8be0e2f..a4ae25715c3fe 100644 --- a/pkgs/tools/security/pcsclite/default.nix +++ b/pkgs/tools/security/pcsclite/default.nix @@ -8,7 +8,7 @@ , python3 , dbus , polkit -, systemdMinimal +, systemdLibs , IOKit , pname ? "pcsclite" , polkitSupport ? false @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config perl ]; buildInputs = [ python3 ] - ++ lib.optionals stdenv.isLinux [ systemdMinimal ] + ++ lib.optionals stdenv.isLinux [ systemdLibs ] ++ lib.optionals stdenv.isDarwin [ IOKit ] ++ lib.optionals polkitSupport [ dbus polkit ]; diff --git a/pkgs/tools/system/which/default.nix b/pkgs/tools/system/which/default.nix index 82316541f4c73..831791a2f8be6 100644 --- a/pkgs/tools/system/which/default.nix +++ b/pkgs/tools/system/which/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/which/which-${version}.tar.gz"; - sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl"; + hash = "sha256-9KJFuUEks3fYtJZGv0IfkVXTaqdhS26/g3BdP/x26q0="; }; strictDeps = true; @@ -19,10 +19,11 @@ stdenv.mkDerivation rec { lib.optional stdenv.hostPlatform.is32bit "-D_FILE_OFFSET_BITS=64" ); - meta = with lib; { + meta = { homepage = "https://www.gnu.org/software/which/"; description = "Shows the full path of (shell) commands"; - platforms = platforms.all; - license = licenses.gpl3; + license = lib.licenses.gpl3Plus; + mainProgram = "which"; + platforms = lib.platforms.all; }; } diff --git a/pkgs/tools/system/zram-generator/default.nix b/pkgs/tools/system/zram-generator/default.nix index 81bf4082d5c14..3d55d7c19613e 100644 --- a/pkgs/tools/system/zram-generator/default.nix +++ b/pkgs/tools/system/zram-generator/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, rust , rustPlatform , pkg-config , ronn @@ -28,7 +27,7 @@ rustPlatform.buildRustPackage rec { postPatch = '' cp ${./Cargo.lock} Cargo.lock substituteInPlace Makefile \ - --replace 'target/$(BUILDTYPE)' 'target/${rust.toRustTargetSpec stdenv.hostPlatform}/$(BUILDTYPE)' + --replace 'target/$(BUILDTYPE)' 'target/${stdenv.hostPlatform.rust.rustcTargetSpec}/$(BUILDTYPE)' substituteInPlace src/generator.rs \ --replace 'Command::new("systemd-detect-virt")' 'Command::new("${systemd}/bin/systemd-detect-virt")' \ --replace 'Command::new("modprobe")' 'Command::new("${kmod}/bin/modprobe")' diff --git a/pkgs/tools/text/html2text/default.nix b/pkgs/tools/text/html2text/default.nix index fff3e44baf694..7ef802e925fb5 100644 --- a/pkgs/tools/text/html2text/default.nix +++ b/pkgs/tools/text/html2text/default.nix @@ -13,6 +13,9 @@ stdenv.mkDerivation rec { substituteInPlace configure \ --replace /bin/echo echo \ --replace CXX=unknown ':' + '' + lib.optionalString stdenv.cc.isClang '' + substituteInPlace HTMLParser.C \ + --replace "register " "" ''; # the --prefix has no effect diff --git a/pkgs/tools/text/mecab/base.nix b/pkgs/tools/text/mecab/base.nix index 572ec28c07500..ea572104238c8 100644 --- a/pkgs/tools/text/mecab/base.nix +++ b/pkgs/tools/text/mecab/base.nix @@ -15,5 +15,9 @@ finalAttrs: { "--with-charset=utf8" ]; + # mecab uses several features that have been removed in C++17. + # Force the language mode to C++14, so that it can compile with clang 16. + makeFlags = [ "CXXFLAGS=-std=c++14" ]; + doCheck = true; } diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix index c8a775e644591..d20b3692f31c3 100644 --- a/pkgs/tools/text/source-highlight/default.nix +++ b/pkgs/tools/text/source-highlight/default.nix @@ -14,16 +14,24 @@ stdenv.mkDerivation rec { patches = [ # gcc-11 compat upstream patch (fetchpatch { - url = "http://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=904949c9026cb772dc93fbe0947a252ef47127f4"; - sha256 = "1wnj0jmkmrwjww7qk9dvfxh8h06jdn7mi8v2fvwh95b6x87z5l47"; + url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=904949c9026cb772dc93fbe0947a252ef47127f4"; + hash = "sha256-h9DyD+pmlQT5dmKjWI9t0gCIYHe7pYkP55LnOqsE0vI="; excludes = [ "ChangeLog" ]; }) # Upstream fix for clang-13 and gcc-12 test support (fetchpatch { name = "gcc-12.patch"; - url = "http://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=ab9fe5cb9b85c5afab94f2a7f4b6d7d473c14ee9"; - sha256 = "1v33zd2766k7cdgmajw2lffw9wd7v4f8z01f40z53f6bp608nr62"; + url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=ab9fe5cb9b85c5afab94f2a7f4b6d7d473c14ee9"; + hash = "sha256-wmSLgLnLuFE+IC6AjxzZp/HEnaOCS1VfY2cac0T7Y+w="; + }) + ] ++ lib.optionals stdenv.cc.isClang [ + # Adds compatibility with C++17 by removing the `register` storage class specifier. + (fetchpatch { + name = "remove-register-keyword"; + url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=416b39758dba2c74515584514a959ad1b0ad50d1"; + hash = "sha256-R5A7IGHhU82EqceMCsuNBanhRz4dFVqiaH8637dr7jw="; + includes = [ "lib/*" ]; }) ]; diff --git a/pkgs/tools/typesetting/tex/blahtexml/default.nix b/pkgs/tools/typesetting/tex/blahtexml/default.nix index ce071c7006f25..43981eb2ae92d 100644 --- a/pkgs/tools/typesetting/tex/blahtexml/default.nix +++ b/pkgs/tools/typesetting/tex/blahtexml/default.nix @@ -11,6 +11,11 @@ stdenv.mkDerivation rec { hash = "sha256-DL5DyfARHHbwWBVHSa/VwHzNaAx/v7EDdnw1GLOk+y0="; }; + postPatch = lib.optionalString stdenv.cc.isClang '' + substituteInPlace makefile \ + --replace "\$(CXX)" "\$(CXX) -std=c++98" + ''; + outputs = [ "out" "doc" ]; nativeBuildInputs = [ texliveFull ]; # scheme-full needed for ucs package diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 402c0c247e958..2d7f859c809cd 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -310,12 +310,21 @@ chktex = stdenv.mkDerivation { }; -dvisvgm = stdenv.mkDerivation rec { +dvisvgm = stdenv.mkDerivation { pname = "texlive-dvisvgm.bin"; inherit version; inherit (common) src; + patches = [ + (fetchpatch { + url = "https://github.com/mgieseki/dvisvgm/commit/629544928877362d0c6d64f20695f7df3073c5eb.patch"; + stripLen = 1; + extraPrefix = "texk/dvisvgm/dvisvgm-src/"; + hash = "sha256-CBCbc/woaFeLw7aBG/kSVYc3a5Q56zbAB64kK6mRy4g="; + }) + ]; + preConfigure = "cd texk/dvisvgm"; configureFlags = common.configureFlags diff --git a/pkgs/tools/video/mjpegtools/c++-17-fixes.patch b/pkgs/tools/video/mjpegtools/c++-17-fixes.patch new file mode 100644 index 0000000000000..018cc7e9beabd --- /dev/null +++ b/pkgs/tools/video/mjpegtools/c++-17-fixes.patch @@ -0,0 +1,44 @@ +diff -ur a/mplex/main.cpp b/mplex/main.cpp +--- a/mplex/main.cpp 2021-09-05 02:14:13.029372000 -0400 ++++ b/mplex/main.cpp 2023-09-23 08:47:07.683450627 -0400 +@@ -50,7 +50,7 @@ + #include "multiplexor.hpp" + + +-using std::auto_ptr; ++using std::unique_ptr; + + + /************************************************************************* +@@ -138,7 +138,7 @@ + void + FileOutputStream::NextSegment( ) + { +- auto_ptr<char> prev_filename_buf( new char[strlen(cur_filename)+1] ); ++ unique_ptr<char> prev_filename_buf( new char[strlen(cur_filename)+1] ); + char *prev_filename = prev_filename_buf.get(); + fclose(strm); + ++segment_num; +diff -ur a/utils/fastintfns.h b/utils/fastintfns.h +--- a/utils/fastintfns.h 2021-09-05 02:14:13.033372000 -0400 ++++ b/utils/fastintfns.h 2023-09-23 08:44:40.147112973 -0400 +@@ -2,12 +2,17 @@ + * + * WARNING: Assumes 2's complement arithmetic. + */ +-static inline int intmax( register int x, register int y ) ++#ifdef __cplusplus ++#define REGISTER ++#else ++#define REGISTER register ++#endif ++static inline int intmax( REGISTER int x, REGISTER int y ) + { + return x < y ? y : x; + } + +-static inline int intmin( register int x, register int y ) ++static inline int intmin( REGISTER int x, REGISTER int y ) + { + return x < y ? x : y; + } diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix index 675dfc109de13..f231d6ed184da 100644 --- a/pkgs/tools/video/mjpegtools/default.nix +++ b/pkgs/tools/video/mjpegtools/default.nix @@ -16,6 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-sYBTbX2ZYLBeACOhl7ANyxAJKaSaq3HRnVX0obIQ9Jo="; }; + # Clang 16 defaults to C++17. `std::auto_ptr` has been removed from C++17, and the + # `register` type class specifier is no longer allowed. + patches = [ ./c++-17-fixes.patch ]; + hardeningDisable = [ "format" ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix index 70e95cb4f0166..146ff6072544d 100644 --- a/pkgs/tools/video/rav1e/default.nix +++ b/pkgs/tools/video/rav1e/default.nix @@ -13,10 +13,7 @@ , buildPackages }: -let - rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform; - -in rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage rec { pname = "rav1e"; version = "0.6.6"; @@ -47,11 +44,11 @@ in rustPlatform.buildRustPackage rec { checkType = "debug"; postBuild = '' - ${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec} + ${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} ''; postInstall = '' - ${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec} + ${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} ''; meta = with lib; { diff --git a/pkgs/tools/wayland/chayang/default.nix b/pkgs/tools/wayland/chayang/default.nix index ccfba6a0cf020..30780ed90a8b0 100644 --- a/pkgs/tools/wayland/chayang/default.nix +++ b/pkgs/tools/wayland/chayang/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - pkgsBuildBuild = [ + depsBuildBuild = [ pkg-config ]; |