diff --git a/doc/builders/special.xml b/doc/builders/special.xml index 525eb71abfe7e..c971134819818 100644 --- a/doc/builders/special.xml +++ b/doc/builders/special.xml @@ -6,6 +6,7 @@ This chapter describes several special builders. + diff --git a/doc/builders/special/makesetuphook.section.md b/doc/builders/special/makesetuphook.section.md new file mode 100644 index 0000000000000..90d75c5491cff --- /dev/null +++ b/doc/builders/special/makesetuphook.section.md @@ -0,0 +1,37 @@ +# pkgs.makeSetupHook {#sec-pkgs.makeSetupHook} + +`pkgs.makeSetupHook` is a builder that produces hooks that go in to `nativeBuildInputs` + +## Usage {#sec-pkgs.makeSetupHook-usage} + +```nix +pkgs.makeSetupHook { + name = "something-hook"; + propagatedBuildInputs = [ pkgs.commandsomething ]; + depsTargetTargetPropagated = [ pkgs.libsomething ]; +} ./script.sh +``` + +#### setup hook that depends on the hello package and runs hello and @shell@ is substituted with path to bash + +```nix +pkgs.makeSetupHook { + name = "run-hello-hook"; + propagatedBuildInputs = [ pkgs.hello ]; + substitutions = { shell = "${pkgs.bash}/bin/bash"; }; + passthru.tests.greeting = callPackage ./test { }; + meta.platforms = lib.platforms.linux; +} (writeScript "run-hello-hook.sh" '' + #!@shell@ + hello +'') +``` + +## Attributes + +* `name` Set the name of the hook. +* `propagatedBuildInputs` Runtime dependencies (such as binaries) of the hook. +* `depsTargetTargetPropagated` Non-binary dependencies. +* `meta` +* `passthru` +* `substitutions` Variables for `substituteAll` diff --git a/doc/languages-frameworks/gnome.section.md b/doc/languages-frameworks/gnome.section.md index 0d4865b7af1c6..3c8539ac4244e 100644 --- a/doc/languages-frameworks/gnome.section.md +++ b/doc/languages-frameworks/gnome.section.md @@ -116,10 +116,6 @@ For convenience, it also adds `dconf.lib` for a GIO module implementing a GSetti - []{#ssec-gnome-hooks-gobject-introspection} `gobject-introspection` setup hook populates `GI_TYPELIB_PATH` variable with `lib/girepository-1.0` directories of dependencies, which is then added to wrapper by `wrapGAppsHook`. It also adds `share` directories of dependencies to `XDG_DATA_DIRS`, which is intended to promote GIR files but it also [pollutes the closures](https://github.com/NixOS/nixpkgs/issues/32790) of packages using `wrapGAppsHook`. - ::: {.warning} - The setup hook [currently](https://github.com/NixOS/nixpkgs/issues/56943) does not work in expressions with `strictDeps` enabled, like Python packages. In those cases, you will need to disable it with `strictDeps = false;`. - ::: - - []{#ssec-gnome-hooks-gst-grl-plugins} Setup hooks of `gst_all_1.gstreamer` and `grilo` will populate the `GST_PLUGIN_SYSTEM_PATH_1_0` and `GRL_PLUGIN_PATH` variables, respectively, which will then be added to the wrapper by `wrapGAppsHook`. You can also pass additional arguments to `makeWrapper` using `gappsWrapperArgs` in `preFixup` hook: diff --git a/lib/customisation.nix b/lib/customisation.nix index 42d711cf5fb93..cb3a4b561151f 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -213,7 +213,14 @@ rec { outputSpecified = true; drvPath = assert condition; drv.${outputName}.drvPath; outPath = assert condition; drv.${outputName}.outPath; - }; + } // + # TODO: give the derivation control over the outputs. + # `overrideAttrs` may not be the only attribute that needs + # updating when switching outputs. + lib.optionalAttrs (passthru?overrideAttrs) { + # TODO: also add overrideAttrs when overrideAttrs is not custom, e.g. when not splicing. + overrideAttrs = f: (passthru.overrideAttrs f).${outputName}; + }; }; outputsList = map outputToAttrListElement outputs; diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index c81cbc69f94ea..3f4fff353a93c 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -243,6 +243,8 @@ In addition to numerous new and upgraded packages, this release has the followin - The new option `services.tailscale.useRoutingFeatures` controls various settings for using Tailscale features like exit nodes and subnet routers. If you wish to use your machine as an exit node, you can set this setting to `server`, otherwise if you wish to use an exit node you can set this setting to `client`. The strict RPF warning has been removed as the RPF will be loosened automatically based on the value of this setting. +- `openjdk` from version 11 and above is not build with `openjfx` (i.e.: JavaFX) support by default anymore. You can re-enable it by overriding, e.g.: `openjdk11.override { enableJavaFX = true; };`. + - [Xastir](https://xastir.org/index.php/Main_Page) can now access AX.25 interfaces via the `libax25` package. - `tvbrowser-bin` was removed, and now `tvbrowser` is built from source. diff --git a/nixos/tests/systemd-cryptenroll.nix b/nixos/tests/systemd-cryptenroll.nix index 9ee2d280fbbea..055ae7d1681f2 100644 --- a/nixos/tests/systemd-cryptenroll.nix +++ b/nixos/tests/systemd-cryptenroll.nix @@ -2,7 +2,6 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "systemd-cryptenroll"; meta = with pkgs.lib.maintainers; { maintainers = [ ymatsiuk ]; - broken = true; # times out after two hours, details -> https://github.com/NixOS/nixpkgs/issues/167994 }; nodes.machine = { pkgs, lib, ... }: { diff --git a/pkgs/applications/audio/aether-lv2/default.nix b/pkgs/applications/audio/aether-lv2/default.nix index e912c7fa49a42..179c656968ce4 100644 --- a/pkgs/applications/audio/aether-lv2/default.nix +++ b/pkgs/applications/audio/aether-lv2/default.nix @@ -18,6 +18,12 @@ stdenv.mkDerivation rec { lv2 libX11 libGL libGLU mesa ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + "-Wno-error=stringop-overflow" + ]; + installPhase = '' mkdir -p $out/lib/lv2 cp -r aether.lv2 $out/lib/lv2 diff --git a/pkgs/applications/audio/bespokesynth/default.nix b/pkgs/applications/audio/bespokesynth/default.nix index 6c48c756ab24c..7fc921e59fbfd 100644 --- a/pkgs/applications/audio/bespokesynth/default.nix +++ b/pkgs/applications/audio/bespokesynth/default.nix @@ -66,6 +66,10 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + postPatch = '' + sed '1i#include ' -i Source/TitleBar.h # gcc12 + ''; + cmakeBuildType = "Release"; cmakeFlags = lib.optionals enableVST2 [ "-DBESPOKE_VST2_SDK_LOCATION=${vst-sdk}/VST2_SDK" ]; diff --git a/pkgs/applications/audio/blanket/default.nix b/pkgs/applications/audio/blanket/default.nix index 4662002c95e89..5a3d9949f8c50 100644 --- a/pkgs/applications/audio/blanket/default.nix +++ b/pkgs/applications/audio/blanket/default.nix @@ -31,13 +31,13 @@ python3Packages.buildPythonApplication rec { pkg-config wrapGAppsHook4 desktop-file-utils + gobject-introspection ]; buildInputs = [ glib gtk4 libadwaita - gobject-introspection gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good @@ -48,9 +48,6 @@ python3Packages.buildPythonApplication rec { pygobject3 ]; - # Broken with gobject-introspection setup hook - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; format = "other"; postPatch = '' diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix index 4ab651e3fb847..b4c9781ced197 100644 --- a/pkgs/applications/audio/calf/default.nix +++ b/pkgs/applications/audio/calf/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "17x4hylgq4dn9qycsdacfxy64f5cv57n2qgkvsdp524gnqzw4az3"; }; + outputs = [ "out" "doc" ]; + enableParallelBuilding = true; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/cozy/default.nix b/pkgs/applications/audio/cozy/default.nix index 6398141c86dd4..8f7461683be17 100644 --- a/pkgs/applications/audio/cozy/default.nix +++ b/pkgs/applications/audio/cozy/default.nix @@ -24,11 +24,6 @@ python3Packages.buildPythonApplication rec { pname = "cozy"; version = "1.2.1"; - # Temporary fix - # See https://github.com/NixOS/nixpkgs/issues/57029 - # and https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - src = fetchFromGitHub { owner = "geigi"; repo = pname; diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix index 0f15775b38d54..3d3b87e3c5dc8 100644 --- a/pkgs/applications/audio/furnace/default.nix +++ b/pkgs/applications/audio/furnace/default.nix @@ -63,6 +63,12 @@ stdenv.mkDerivation rec { "-DWARNINGS_ARE_ERRORS=ON" ]; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 12 but breaks on darwin (with clang) + "-Wno-error=mismatched-new-delete" + "-Wno-error=use-after-free" + ]; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' # Normal CMake install phase on Darwin only installs the binary, the user is expected to use CPack to build a # bundle. That adds alot of overhead for not much benefit (CPack is currently abit broken, and needs impure access diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index a6164189c1dbd..d79aa713f0866 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -27,17 +27,12 @@ python3Packages.buildPythonApplication rec { intltool wrapGAppsHook glibcLocales + gobject-introspection ]; - # as of 2021-07, the gobject-introspection setup hook does not - # work with `strictDeps` enabled, thus for proper `wrapGAppsHook` - # it needs to be disabled explicitly. https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - buildInputs = [ python3 gtk3 - gobject-introspection gnome.adwaita-icon-theme ]; diff --git a/pkgs/applications/audio/jack-rack/default.nix b/pkgs/applications/audio/jack-rack/default.nix index 420c11562e2a0..8cf55289b2f33 100644 --- a/pkgs/applications/audio/jack-rack/default.nix +++ b/pkgs/applications/audio/jack-rack/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libjack2 ladspaH gtk2 alsa-lib libxml2 lrdf ]; - NIX_LDFLAGS = "-ldl -lm -lpthread"; + NIX_LDFLAGS = "-lm -lpthread"; meta = { description = ''An effects "rack" for the JACK low latency audio API''; diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix index 70cb4d7f11094..36b6345c0f113 100644 --- a/pkgs/applications/audio/jamin/default.nix +++ b/pkgs/applications/audio/jamin/default.nix @@ -21,8 +21,6 @@ stdenv.mkDerivation rec { # `l_notebook1'; jamin-callbacks.o:/build/jamin-0.95.0/src/hdeq.h:64: first defined here NIX_CFLAGS_COMPILE = "-fcommon"; - NIX_LDFLAGS = "-ldl"; - postInstall = '' wrapProgram $out/bin/jamin --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa ''; diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix index dd00bd1f2c022..4e4612ef922cb 100644 --- a/pkgs/applications/audio/lsp-plugins/default.nix +++ b/pkgs/applications/audio/lsp-plugins/default.nix @@ -4,19 +4,21 @@ , ladspaH, php, libXrandr }: stdenv.mkDerivation rec { - pname = "lsp-plugins"; - version = "1.2.5"; + pname = "lsp-plugins"; + version = "1.2.5"; - src = fetchurl { - url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz"; - sha256 = "sha256-YYrt+FbpY7iEui0aw4Ce94BW1SHDk0OH8gFSzkW2fkw="; - }; + src = fetchurl { + url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz"; + sha256 = "sha256-YYrt+FbpY7iEui0aw4Ce94BW1SHDk0OH8gFSzkW2fkw="; + }; - nativeBuildInputs = [ pkg-config php makeWrapper ]; - buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH libXrandr ]; + outputs = [ "out" "dev" "doc" ]; - makeFlags = [ - "PREFIX=${placeholder "out"}" + nativeBuildInputs = [ pkg-config php makeWrapper ]; + buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH libXrandr ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" ]; NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL"; diff --git a/pkgs/applications/audio/mimic/default.nix b/pkgs/applications/audio/mimic/default.nix index 7e11c0a8d75fd..47e043f5d4673 100644 --- a/pkgs/applications/audio/mimic/default.nix +++ b/pkgs/applications/audio/mimic/default.nix @@ -38,6 +38,11 @@ stdenv.mkDerivation rec { pcre2 ] ++ lib.optional pulseaudioSupport libpulseaudio; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=free-nonheap-object" + ]; + postInstall = '' wrapProgram $out/bin/mimic \ --run "export ALSA_PLUGIN_DIR=${alsa-plugins}/lib/alsa-lib" diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index 29f28203e1389..3eb2cf20ee777 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { pname = "mpg123"; - version = "1.29.3"; + version = "1.31.2"; src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-ljiF2Mx3Ji8ot3GHx9GJ4yGV5kJE3iUwt5jd8yGD6Ec="; + sha256 = "sha256-sX8ikF4x9DtrQB399qce0Ru30Fb2jbRJ1wufmug5x94="; }; outputs = [ "out" ] ++ lib.optionals withConplay [ "conplay" ]; diff --git a/pkgs/applications/audio/odin2/default.nix b/pkgs/applications/audio/odin2/default.nix index beb1264679354..de89f9aedead4 100644 --- a/pkgs/applications/audio/odin2/default.nix +++ b/pkgs/applications/audio/odin2/default.nix @@ -28,6 +28,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY="; }; + postPatch = '' + sed '1i#include ' -i \ + libs/JUCELV2/modules/juce_gui_basics/windows/juce_ComponentPeer.h # gcc12 + ''; + nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix index f86595361b659..47d7a64e3c20d 100644 --- a/pkgs/applications/audio/opusfile/default.nix +++ b/pkgs/applications/audio/opusfile/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, openssl, libogg, libopus }: +{ lib, stdenv, fetchurl, pkg-config, openssl, libogg, libopus, fetchpatch }: stdenv.mkDerivation rec { pname = "opusfile"; @@ -12,7 +12,14 @@ stdenv.mkDerivation rec { buildInputs = [ openssl libogg ]; propagatedBuildInputs = [ libopus ]; outputs = [ "out" "dev" ]; - patches = [ ./include-multistream.patch ] + patches = [ + ./include-multistream.patch + (fetchpatch { + name = "CVE-2022-47021.patch"; + url = "https://github.com/xiph/opusfile/commit/0a4cd796df5b030cb866f3f4a5e41a4b92caddf5.patch"; + sha256 = "sha256-XThI/ys5caB+OncFVfxm5IsvQPy1MbLQKwIlYjPvTJQ="; + }) + ] # fixes problem with openssl 1.1 dependency # see https://github.com/xiph/opusfile/issues/13 ++ lib.optionals stdenv.hostPlatform.isWindows [ ./disable-cert-store.patch ]; diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix index 9eae394488e28..78c17d09e0de3 100644 --- a/pkgs/applications/audio/sonata/default.nix +++ b/pkgs/applications/audio/sonata/default.nix @@ -39,10 +39,6 @@ in buildPythonApplication rec { setuptools ]; - # Otherwise the setup hook for gobject-introspection is not run: - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - postPatch = '' # Remove "Local MPD" tab which is not suitable for NixOS. sed -i '/localmpd/d' sonata/consts.py diff --git a/pkgs/applications/audio/stochas/default.nix b/pkgs/applications/audio/stochas/default.nix index 84376a1bbe9e2..2b72664347e60 100644 --- a/pkgs/applications/audio/stochas/default.nix +++ b/pkgs/applications/audio/stochas/default.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + postPatch = '' + sed '1i#include ' -i \ + lib/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h # gcc12 + ''; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ diff --git a/pkgs/applications/audio/sublime-music/default.nix b/pkgs/applications/audio/sublime-music/default.nix index d469c9689a5d8..5c64efce70950 100644 --- a/pkgs/applications/audio/sublime-music/default.nix +++ b/pkgs/applications/audio/sublime-music/default.nix @@ -75,10 +75,6 @@ python3Packages.buildPythonApplication rec { ++ lib.optional serverSupport bottle ; - # hook for gobject-introspection doesn't like strictDeps - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - nativeCheckInputs = with python3Packages; [ pytest ]; diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index f5ed28cedf68d..b7b70eb501ea1 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (rec { pname = "ed"; - version = "1.18"; + version = "1.19"; src = fetchurl { url = "mirror://gnu/ed/${pname}-${version}.tar.lz"; - sha256 = "sha256-rKjvrZgAxYdySiC5eqj8R+a1pH34Fgb+q6gxsHRGK08="; + hash = "sha256-zi8uXEJHkKqW0J2suT2bv9wLfrYknJy3U4RS6Ox3zUg="; }; nativeBuildInputs = [ lzip ]; diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix index 8f4bcfd672634..fba050a040cfc 100644 --- a/pkgs/applications/editors/poke/default.nix +++ b/pkgs/applications/editors/poke/default.nix @@ -80,13 +80,13 @@ in stdenv.mkDerivation rec { moveToOutput share/vim "$out" ''; + # Prevent tclPackageHook from auto-wrapping all binaries, we only + # need to wrap poke-gui + dontWrapTclBinaries = true; + postFixup = lib.optionalString guiSupport '' wrapProgram "$out/bin/poke-gui" \ --prefix TCLLIBPATH ' ' "$TCLLIBPATH" - - # Prevent tclPackageHook from auto-wrapping all binaries, we only - # need to wrap poke-gui - unset TCLLIBPATH ''; passthru = { diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix index 2018e1d5e2af1..abbfefce52933 100644 --- a/pkgs/applications/editors/rednotebook/default.nix +++ b/pkgs/applications/editors/rednotebook/default.nix @@ -30,10 +30,6 @@ buildPythonApplication rec { "--suffix XDG_DATA_DIRS : $XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ]; - # Until gobject-introspection in nativeBuildInputs is supported. - # https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-472568643 - strictDeps = false; - meta = with lib; { homepage = "https://rednotebook.sourceforge.io/"; changelog = "https://github.com/jendrikseipp/rednotebook/blob/v${version}/CHANGELOG.md"; diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 66369c266d604..27a92ac659ba1 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,12 +1,12 @@ { lib, fetchFromGitHub }: rec { - version = "9.0.0609"; + version = "9.0.1275"; src = fetchFromGitHub { owner = "vim"; repo = "vim"; rev = "v${version}"; - hash = "sha256-UBj3pXY6rdekKnCX/V/4o8LLBMZkNs1U4Z4KuvisIYQ="; + hash = "sha256-WDnlYi9o2Kv/f3Fh1MHcfTlBTe1fxw4UyKJlKY04fyA="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix index 4235aa5e929e0..5c7f6f64a7c3e 100644 --- a/pkgs/applications/editors/vim/plugins/vim-utils.nix +++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix @@ -363,7 +363,7 @@ rec { vimGenDocHook = callPackage ({ vim }: makeSetupHook { name = "vim-gen-doc-hook"; - deps = [ vim ]; + propagatedBuildInputs = [ vim ]; substitutions = { vimBinary = "${vim}/bin/vim"; inherit rtpPath; @@ -373,7 +373,7 @@ rec { vimCommandCheckHook = callPackage ({ neovim-unwrapped }: makeSetupHook { name = "vim-command-check-hook"; - deps = [ neovim-unwrapped ]; + propagatedBuildInputs = [ neovim-unwrapped ]; substitutions = { vimBinary = "${neovim-unwrapped}/bin/nvim"; inherit rtpPath; @@ -383,7 +383,7 @@ rec { neovimRequireCheckHook = callPackage ({ neovim-unwrapped }: makeSetupHook { name = "neovim-require-check-hook"; - deps = [ neovim-unwrapped ]; + propagatedBuildInputs = [ neovim-unwrapped ]; substitutions = { nvimBinary = "${neovim-unwrapped}/bin/nvim"; inherit rtpPath; diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix index 084bf07454298..aedf42ee126b5 100644 --- a/pkgs/applications/emulators/mame/default.nix +++ b/pkgs/applications/emulators/mame/default.nix @@ -117,6 +117,10 @@ stdenv.mkDerivation rec { --subst-var-by mamePath "$out/opt/mame" ''; + NIX_CFLAGS_COMPILE = [ + "-Wno-error=use-after-free" + ]; + desktopItems = [ (makeDesktopItem { name = "MAME"; diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix index 8ef49e7b84d98..38890ce6e38bd 100644 --- a/pkgs/applications/emulators/rpcs3/default.nix +++ b/pkgs/applications/emulators/rpcs3/default.nix @@ -1,4 +1,4 @@ -{ gcc11Stdenv, lib, fetchFromGitHub, wrapQtAppsHook, cmake, pkg-config, git +{ gcc12Stdenv, lib, fetchFromGitHub, wrapQtAppsHook, cmake, pkg-config, git , qtbase, qtquickcontrols, qtmultimedia, openal, glew, vulkan-headers, vulkan-loader, libpng , ffmpeg, libevdev, libusb1, zlib, curl, wolfssl, python3, pugixml, faudio, flatbuffers , sdl2Support ? true, SDL2 @@ -21,7 +21,7 @@ let sha256 = "0c3g30rj1y8fbd2q4kwlpg1jdy02z4w5ryhj3yr9051pdnf4kndz"; }; in -gcc11Stdenv.mkDerivation { +gcc12Stdenv.mkDerivation { pname = "rpcs3"; version = rpcs3Version; diff --git a/pkgs/applications/graphics/curtail/default.nix b/pkgs/applications/graphics/curtail/default.nix index 118703afc60e4..7e6b253360ab1 100644 --- a/pkgs/applications/graphics/curtail/default.nix +++ b/pkgs/applications/graphics/curtail/default.nix @@ -37,18 +37,16 @@ python3.pkgs.buildPythonApplication rec { meson ninja pkg-config + gobject-introspection ]; propagatedBuildInputs = [ appstream-glib python3.pkgs.pygobject3 - gobject-introspection gettext + gtk3 ]; - # Currently still required for the gobject-introspection setup hook - strictDeps = false; - preInstall = '' patchShebangs ../build-aux/meson/postinstall.py ''; diff --git a/pkgs/applications/graphics/foxotron/default.nix b/pkgs/applications/graphics/foxotron/default.nix index e8fd0364808c2..ca2aa96bea141 100644 --- a/pkgs/applications/graphics/foxotron/default.nix +++ b/pkgs/applications/graphics/foxotron/default.nix @@ -46,6 +46,11 @@ stdenv.mkDerivation rec { ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 libXrandr libXinerama libXcursor libXi libXext alsa-lib fontconfig libGLU ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AVFoundation Carbon Cocoa CoreAudio Kernel OpenGL ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + installPhase = '' runHook preInstall diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix index 325d1bcf083dd..8f70d9273b7a8 100644 --- a/pkgs/applications/graphics/goxel/default.nix +++ b/pkgs/applications/graphics/goxel/default.nix @@ -16,6 +16,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ scons pkg-config wrapGAppsHook ]; buildInputs = [ glfw3 gtk3 libpng12 ]; + + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=format-truncation" + ]; + NIX_LDFLAGS = "-lpthread"; buildPhase = '' diff --git a/pkgs/applications/graphics/hdrmerge/default.nix b/pkgs/applications/graphics/hdrmerge/default.nix index b0e346331bce8..d690f5e0671a9 100644 --- a/pkgs/applications/graphics/hdrmerge/default.nix +++ b/pkgs/applications/graphics/hdrmerge/default.nix @@ -46,6 +46,11 @@ mkDerivation rec { url = "https://github.com/mkroehnert/hdrmerge/commit/472b2dfe7d54856158aea3d5412a02d0bab1da4c.patch"; sha256 = "0jc713ajr4w08pfbi6bva442prj878nxp1fpl9112i3xj34x9sdi"; }) + (fetchpatch { + name = "support-libraw-0.21.patch"; + url = "https://github.com/jcelaya/hdrmerge/commit/779e566b3e2807280b78c79affda2cdfa64bde87.diff"; + sha256 = "48sivCfJWEtGiBXTrO+SWTVlT9xyx92w2kkB8Wt/clk="; + }) ]; desktopItems = [ diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index cfb63e0e3f7cb..e8e6a2cc9f867 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -1,7 +1,7 @@ { callPackage, ... } @ args: callPackage ./generic.nix (args // { - version = "5.1.4"; + version = "5.1.5"; kde-channel = "stable"; - sha256 = "sha256-wisCCGJZbrL92RHhsXnbvOewgb4RFFei6sr2rhzKLcs="; + sha256 = "1lx4x4affkbh47b7w5qvahkkr4db0vcw6h24nykak6gpy2z5wxqw"; }) diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix index fbc80d0da6d5e..2cec147fb30a6 100644 --- a/pkgs/applications/graphics/mcomix/default.nix +++ b/pkgs/applications/graphics/mcomix/default.nix @@ -25,17 +25,13 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-Nok4oqTezO84q9IDZvgi33ZeKfRL+tpg7QEDmp2ZZpU="; }; - buildInputs = [ gobject-introspection gtk3 gdk-pixbuf ]; - nativeBuildInputs = [ wrapGAppsHook ]; + buildInputs = [ gtk3 gdk-pixbuf ]; + nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; propagatedBuildInputs = (with python3.pkgs; [ pillow pygobject3 pycairo ]); # Tests are broken doCheck = false; - # Correct wrapper behavior, see https://github.com/NixOS/nixpkgs/issues/56943 - # until https://github.com/NixOS/nixpkgs/pull/102613 - strictDeps = false; - # prevent double wrapping dontWrapGApps = true; diff --git a/pkgs/applications/graphics/pick-colour-picker/default.nix b/pkgs/applications/graphics/pick-colour-picker/default.nix index 0d3a86663b30b..774a8b19dd349 100644 --- a/pkgs/applications/graphics/pick-colour-picker/default.nix +++ b/pkgs/applications/graphics/pick-colour-picker/default.nix @@ -37,10 +37,6 @@ buildPythonPackage rec { gtk3 ]; - # https://github.com/NixOS/nixpkgs/issues/56943 - # this must be false, otherwise the gobject-introspection hook doesn't run - strictDeps = false; - preDistPhases = [ "fixupIconPath" ]; fixupIconPath = '' diff --git a/pkgs/applications/misc/genxword/default.nix b/pkgs/applications/misc/genxword/default.nix index f443618c685ac..5ba67ecddcdb1 100644 --- a/pkgs/applications/misc/genxword/default.nix +++ b/pkgs/applications/misc/genxword/default.nix @@ -26,7 +26,6 @@ python3.pkgs.buildPythonApplication rec { ]; buildInputs = [ - gobject-introspection pango gtksourceview3 ]; diff --git a/pkgs/applications/misc/gnome-secrets/default.nix b/pkgs/applications/misc/gnome-secrets/default.nix index 1b8a7e706dde7..676a19641bdb1 100644 --- a/pkgs/applications/misc/gnome-secrets/default.nix +++ b/pkgs/applications/misc/gnome-secrets/default.nix @@ -18,7 +18,6 @@ python3Packages.buildPythonApplication rec { pname = "gnome-secrets"; version = "7.2"; format = "other"; - strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/applications/misc/hamster/default.nix b/pkgs/applications/misc/hamster/default.nix index dbf7e1aee746e..925d246ba8448 100644 --- a/pkgs/applications/misc/hamster/default.nix +++ b/pkgs/applications/misc/hamster/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, python3Packages, intltool, glib, itstool +{ lib, fetchFromGitHub, python3Packages, intltool, glib, itstool, gtk3 , wrapGAppsHook, gobject-introspection, pango, gdk-pixbuf, atk, wafHook }: python3Packages.buildPythonApplication rec { @@ -28,6 +28,7 @@ python3Packages.buildPythonApplication rec { pango gdk-pixbuf atk + gtk3 ]; propagatedBuildInputs = with python3Packages; [ @@ -37,10 +38,6 @@ python3Packages.buildPythonApplication rec { dbus-python ]; - # Setup hooks have trouble with strict deps. - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - dontWrapGApps = true; # Arguments to be passed to `makeWrapper`, only used by buildPython* diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix index 47e310fb7658f..fbb33c7e096fe 100644 --- a/pkgs/applications/misc/kupfer/default.nix +++ b/pkgs/applications/misc/kupfer/default.nix @@ -11,6 +11,8 @@ , shared-mime-info , wrapGAppsHook , wafHook +, bash +, dbus }: with python3Packages; @@ -33,14 +35,12 @@ buildPythonApplication rec { itstool # for help pages desktop-file-utils # for update-desktop-database shared-mime-info # for update-mime-info + docutils # for rst2man + dbus # for detection of dbus-send during build ]; - buildInputs = [ docutils libwnck keybinder3 ]; + buildInputs = [ libwnck keybinder3 bash ]; propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ]; - # without strictDeps kupfer fails to build: Could not find the python module 'gi.repository.Gtk' - # see https://github.com/NixOS/nixpkgs/issues/56943 for details - strictDeps = false; - postInstall = '' gappsWrapperArgs+=( "--prefix" "PYTHONPATH" : "${makePythonPath propagatedBuildInputs}" diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index d476024553ba3..35dbf1fcb440d 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -84,13 +84,12 @@ buildPythonApplication rec { sha256 = "sha256-rsiXm7L/M85ot6NrTyy//lMRFlLPJYve9y6Erg9Ugxg="; }; - nativeBuildInputs = [ wrapGAppsHook ]; + nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; buildInputs = [ atk gdk-pixbuf glib-networking gnome-desktop - gobject-introspection gtk3 libnotify pango @@ -139,9 +138,6 @@ buildPythonApplication rec { "--prefix PATH : ${lib.makeBinPath requiredTools}" "\${gappsWrapperArgs[@]}" ]; - # needed for glib-schemas to work correctly (will crash on dialogues otherwise) - # see https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; meta = with lib; { homepage = "https://lutris.net"; diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index d1a19eeccc5e3..921ae570bca0b 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -11,6 +11,12 @@ mkDerivation rec { sha256 = "sha256-xr7SYzQZiY4Bp8w1AxDX2TS/WRyrcln8JYGqTADq+ng="; }; + # Needed with GCC 12 + postPatch = '' + sed '1i#include ' -i src/lyxfind.cpp + sed '1i#include ' -i src/insets/InsetListings.cpp + ''; + # LaTeX is used from $PATH, as people often want to have it with extra pkgs nativeBuildInputs = [ pkg-config makeWrapper ]; buildInputs = [ diff --git a/pkgs/applications/misc/minigalaxy/default.nix b/pkgs/applications/misc/minigalaxy/default.nix index 743c92407e799..4dffe9e08eb6e 100644 --- a/pkgs/applications/misc/minigalaxy/default.nix +++ b/pkgs/applications/misc/minigalaxy/default.nix @@ -31,18 +31,14 @@ python3Packages.buildPythonApplication rec { runHook postCheck ''; - # Cannot find GSettings schemas when opening settings, - # probably https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - nativeBuildInputs = [ gettext wrapGAppsHook + gobject-introspection ]; buildInputs = [ glib-networking - gobject-introspection gtk3 ]; @@ -64,6 +60,7 @@ python3Packages.buildPythonApplication rec { ]; # Run Linux games using the Steam Runtime by using steam-run in the wrapper + # FIXME: not working with makeBinaryWrapper postFixup = '' sed -e 's#exec -a "$0"#exec -a "$0" ${steam-run}/bin/steam-run#' -i $out/bin/minigalaxy ''; diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 935a9582fcaca..e5e0f92ed1da4 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -140,13 +140,16 @@ in stdenv.mkDerivation rec { patchShebangs tools/get_wb_version.sh ''; - NIX_CFLAGS_COMPILE = toString ([ + NIX_CFLAGS_COMPILE = [ # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated "-Wno-error=deprecated-declarations" ] ++ lib.optionals stdenv.isAarch64 [ # error: narrowing conversion of '-1' from 'int' to 'char' "-Wno-error=narrowing" - ]); + ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs + "-Wno-error=maybe-uninitalized" + ]; cmakeFlags = [ "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config" diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix index 472af0caf484e..9d88d6331c1da 100644 --- a/pkgs/applications/misc/onboard/default.nix +++ b/pkgs/applications/misc/onboard/default.nix @@ -108,9 +108,6 @@ python3.pkgs.buildPythonApplication rec { python3.pkgs.nose ]; - # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - doCheck = false; preBuild = '' diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix index 7ae8662e2c199..546c0544cffa4 100644 --- a/pkgs/applications/misc/printrun/default.nix +++ b/pkgs/applications/misc/printrun/default.nix @@ -32,8 +32,6 @@ python3Packages.buildPythonApplication rec { ''; dontWrapGApps = true; - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; preFixup = '' makeWrapperArgs+=("''${gappsWrapperArgs[@]}") diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index 91ad479f450e1..e28eb1e2ce358 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -43,7 +43,6 @@ python3.pkgs.buildPythonApplication rec { dontWrapGApps = true; buildInputs = [ - gobject-introspection gtk3 libappindicator-gtk3 libnotify diff --git a/pkgs/applications/misc/wike/default.nix b/pkgs/applications/misc/wike/default.nix index c3e5a505722c4..00cd8dcf0518a 100644 --- a/pkgs/applications/misc/wike/default.nix +++ b/pkgs/applications/misc/wike/default.nix @@ -12,7 +12,6 @@ python3.pkgs.buildPythonApplication rec { pname = "wike"; version = "1.7.1"; format = "other"; - strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 src = fetchFromGitHub { owner = "hugolabe"; diff --git a/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix b/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix index f80be45ebd1f7..7563e8c22d782 100644 --- a/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix +++ b/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix @@ -66,9 +66,6 @@ python3.pkgs.buildPythonApplication rec { requests ]; - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - dontWrapGApps = true; preFixup = '' diff --git a/pkgs/applications/networking/giara/default.nix b/pkgs/applications/networking/giara/default.nix index 60c2ad8262caf..3e10a61a63f44 100644 --- a/pkgs/applications/networking/giara/default.nix +++ b/pkgs/applications/networking/giara/default.nix @@ -64,9 +64,6 @@ python3.pkgs.buildPythonApplication rec { --replace "gtk-update-icon-cache" "gtk4-update-icon-cache" ''; - # Fix setup-hooks https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - meta = with lib; { description = "A Reddit app, built with Python, GTK and Handy; Created with mobile Linux in mind"; maintainers = with maintainers; [ dasj19 ]; diff --git a/pkgs/applications/networking/instant-messengers/jami/client.nix b/pkgs/applications/networking/instant-messengers/jami/client.nix index f76d9ee9f12a2..80efff68e65f0 100644 --- a/pkgs/applications/networking/instant-messengers/jami/client.nix +++ b/pkgs/applications/networking/instant-messengers/jami/client.nix @@ -9,7 +9,7 @@ , python3 , qttools # for translations , wrapQtAppsHook -, ffmpeg-jami +, ffmpeg_5 , jami-daemon , libnotify , qt5compat @@ -43,7 +43,7 @@ stdenv.mkDerivation { ]; buildInputs = [ - ffmpeg-jami + ffmpeg_5 jami-daemon libnotify networkmanager diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common deleted file mode 100644 index 0aac24e24bb67..0000000000000 --- a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common +++ /dev/null @@ -1,156 +0,0 @@ ---disable-everything ---enable-zlib ---enable-gpl ---enable-swscale ---enable-bsfs ---disable-filters ---disable-programs ---disable-postproc ---disable-protocols ---enable-protocol=crypto ---enable-protocol=file ---enable-protocol=rtp ---enable-protocol=srtp ---enable-protocol=tcp ---enable-protocol=udp ---enable-protocol=unix ---enable-protocol=pipe ---disable-demuxers ---disable-muxers ---enable-muxer=rtp ---enable-muxer=g722 ---enable-muxer=g723_1 ---enable-muxer=g726 ---enable-muxer=g726le ---enable-muxer=h263 ---enable-muxer=h264 ---enable-muxer=hevc ---enable-muxer=matroska ---enable-muxer=webm ---enable-muxer=ogg ---enable-muxer=pcm_s16be ---enable-muxer=pcm_s16le ---enable-demuxer=rtp ---enable-demuxer=mjpeg ---enable-demuxer=mjpeg_2000 ---enable-demuxer=mpegvideo ---enable-demuxer=gif ---enable-demuxer=image_jpeg_pipe ---enable-demuxer=image_png_pipe ---enable-demuxer=image_webp_pipe ---enable-demuxer=matroska ---enable-demuxer=m4v ---enable-demuxer=mp3 ---enable-demuxer=ogg ---enable-demuxer=flac ---enable-demuxer=wav ---enable-demuxer=ac3 ---enable-demuxer=g722 ---enable-demuxer=g723_1 ---enable-demuxer=g726 ---enable-demuxer=g726le ---enable-demuxer=pcm_mulaw ---enable-demuxer=pcm_alaw ---enable-demuxer=pcm_s16be ---enable-demuxer=pcm_s16le ---enable-demuxer=h263 ---enable-demuxer=h264 ---enable-demuxer=hevc ---enable-parser=h263 ---enable-parser=h264 ---enable-parser=hevc ---enable-parser=mpeg4video ---enable-parser=vp8 ---enable-parser=vp9 ---enable-parser=opus ---enable-encoder=adpcm_g722 ---enable-decoder=adpcm_g722 ---enable-encoder=adpcm_g726 ---enable-decoder=adpcm_g726 ---enable-encoder=adpcm_g726le ---enable-decoder=adpcm_g726le ---enable-decoder=g729 ---enable-encoder=g723_1 ---enable-decoder=g723_1 ---enable-encoder=rawvideo ---enable-decoder=rawvideo ---enable-encoder=libx264 ---enable-decoder=h264 ---enable-encoder=pcm_alaw ---enable-decoder=pcm_alaw ---enable-encoder=pcm_mulaw ---enable-decoder=pcm_mulaw ---enable-encoder=mpeg4 ---enable-decoder=mpeg4 ---enable-encoder=libvpx_vp8 ---enable-decoder=vp8 ---enable-decoder=vp9 ---enable-encoder=h263 ---enable-encoder=h263p ---enable-decoder=h263 ---enable-encoder=mjpeg ---enable-decoder=mjpeg ---enable-decoder=mjpegb ---enable-libspeex ---enable-libopus ---enable-libvpx ---enable-libx264 ---enable-encoder=libspeex ---enable-decoder=libspeex ---enable-encoder=libopus ---enable-decoder=libopus ---enable-decoder=flac ---enable-decoder=vorbis ---enable-decoder=aac ---enable-decoder=ac3 ---enable-decoder=eac3 ---enable-decoder=mp3 ---enable-decoder=pcm_u24be ---enable-decoder=pcm_u24le ---enable-decoder=pcm_u32be ---enable-decoder=pcm_u32le ---enable-decoder=pcm_u8 ---enable-decoder=pcm_f16le ---enable-decoder=pcm_f24le ---enable-decoder=pcm_f32be ---enable-decoder=pcm_f32le ---enable-decoder=pcm_f64be ---enable-decoder=pcm_f64le ---enable-decoder=pcm_s16be ---enable-decoder=pcm_s16be_planar ---enable-decoder=pcm_s16le ---enable-decoder=pcm_s16le_planar ---enable-decoder=pcm_s24be ---enable-decoder=pcm_s24le ---enable-decoder=pcm_s24le_planar ---enable-decoder=pcm_s32be ---enable-decoder=pcm_s32le ---enable-decoder=pcm_s32le_planar ---enable-decoder=pcm_s64be ---enable-decoder=pcm_s64le ---enable-decoder=pcm_s8 ---enable-decoder=pcm_s8_planar ---enable-decoder=pcm_u16be ---enable-decoder=pcm_u16le ---enable-encoder=gif ---enable-decoder=gif ---enable-encoder=jpegls ---enable-decoder=jpegls ---enable-encoder=ljpeg ---enable-decoder=jpeg2000 ---enable-encoder=png ---enable-decoder=png ---enable-encoder=bmp ---enable-decoder=bmp ---enable-encoder=tiff ---enable-decoder=tiff ---enable-filter=scale ---enable-filter=overlay ---enable-filter=amix ---enable-filter=amerge ---enable-filter=aresample ---enable-filter=format ---enable-filter=aformat ---enable-filter=fps ---enable-filter=transpose ---enable-filter=pad diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux deleted file mode 100644 index 6c40e8d2ea994..0000000000000 --- a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux +++ /dev/null @@ -1,18 +0,0 @@ ---enable-pic ---target-os=linux ---enable-indev=v4l2 ---enable-indev=xcbgrab ---enable-vdpau ---enable-hwaccel=h264_vdpau ---enable-hwaccel=mpeg4_vdpau ---enable-vaapi ---enable-hwaccel=h264_vaapi ---enable-hwaccel=mpeg4_vaapi ---enable-hwaccel=h263_vaapi ---enable-hwaccel=vp8_vaapi ---enable-hwaccel=mjpeg_vaapi ---enable-hwaccel=hevc_vaapi ---enable-encoder=h264_vaapi ---enable-encoder=vp8_vaapi ---enable-encoder=mjpeg_vaapi ---enable-encoder=hevc_vaapi diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 deleted file mode 100644 index 2043aa3ee2d3c..0000000000000 --- a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 +++ /dev/null @@ -1,10 +0,0 @@ ---enable-cuvid ---enable-ffnvcodec ---enable-nvdec ---enable-nvenc ---enable-hwaccel=h264_nvdec ---enable-hwaccel=hevc_nvdec ---enable-hwaccel=vp8_nvdec ---enable-hwaccel=mjpeg_nvdec ---enable-encoder=h264_nvenc ---enable-encoder=hevc_nvenc diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches deleted file mode 100644 index 28f884e66769d..0000000000000 --- a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches +++ /dev/null @@ -1,7 +0,0 @@ -remove-mjpeg-log.patch -change-RTCP-ratio.patch -rtp_ext_abs_send_time.patch -libopusdec-enable-FEC.patch -libopusenc-reload-packet-loss-at-encode.patch -ios-disable-b-frames.patch -screen-sharing-x11-fix.patch diff --git a/pkgs/applications/networking/instant-messengers/jami/daemon.nix b/pkgs/applications/networking/instant-messengers/jami/daemon.nix index 715560c6e128f..bf2392f631535 100644 --- a/pkgs/applications/networking/instant-messengers/jami/daemon.nix +++ b/pkgs/applications/networking/instant-messengers/jami/daemon.nix @@ -9,7 +9,7 @@ , asio , dbus , dbus_cplusplus -, ffmpeg-jami +, ffmpeg_5 , fmt , gmp , gnutls @@ -51,7 +51,7 @@ stdenv.mkDerivation { dbus dbus_cplusplus fmt - ffmpeg-jami + ffmpeg_5 gmp gnutls http-parser diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix index ea898c0da8c9d..497616a6c0388 100644 --- a/pkgs/applications/networking/instant-messengers/jami/default.nix +++ b/pkgs/applications/networking/instant-messengers/jami/default.nix @@ -4,7 +4,6 @@ , fetchFromGitHub , fetchzip , fetchpatch -, ffmpeg_5 , pjsip , opendht , jack @@ -41,31 +40,6 @@ let readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file)); in rec { - ffmpeg-jami = (ffmpeg_5.override rec { - version = "5.0.1"; - branch = version; - sha256 = "sha256-KN8z1AChwcGyDQepkZeAmjuI73ZfXwfcH/Bn+sZMWdY="; - doCheck = false; - }).overrideAttrs (old: - let - patch-src = src + "/daemon/contrib/src/ffmpeg/"; - in - { - patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/ffmpeg_patches)) ++ - # SDL2 recently changed their versioning - [ - (fetchpatch { - url = "https://git.videolan.org/?p=ffmpeg.git;a=patch;h=e5163b1d34381a3319214a902ef1df923dd2eeba"; - hash = "sha256-nLhP2+34cj5EgpnUrePZp60nYAxmbhZAEDfay4pBVk0="; - }) - ]; - configureFlags = old.configureFlags - ++ (readLinesToList ./config/ffmpeg_args_common) - ++ lib.optionals stdenv.isLinux (readLinesToList ./config/ffmpeg_args_linux) - ++ lib.optionals (stdenv.isx86_32 || stdenv.isx86_64) (readLinesToList ./config/ffmpeg_args_x86); - outputs = [ "out" "doc" ]; - }); - pjsip-jami = pjsip.overrideAttrs (old: let patch-src = src + "/daemon/contrib/src/pjproject/"; @@ -105,10 +79,10 @@ rec { }; jami-daemon = callPackage ./daemon.nix { - inherit version src udev jack jami-meta ffmpeg-jami pjsip-jami opendht-jami; + inherit version src udev jack jami-meta pjsip-jami opendht-jami; }; jami-client = qt6Packages.callPackage ./client.nix { - inherit version src ffmpeg-jami jami-meta; + inherit version src jami-meta; }; } diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix index e80ccd2105aa5..9feb5ff10a077 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub, fetchpatch , pkg-config, cmake, ninja, yasm , libjpeg, openssl_1_1, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf , openh264, usrsctp, libevent, libvpx @@ -31,6 +31,14 @@ stdenv.mkDerivation { mesa libepoxy libglvnd ]; + patches = [ + # GCC 12 Fix + (fetchpatch { + url = "https://github.com/desktop-app/tg_owt/pull/101/commits/86d2bcd7afb8706663d29e30f65863de5a626142.patch"; + hash = "sha256-iWS0mB8R0vqPU/0qf6Ax54UCAKYDVCPac2mi/VHbFm0="; + }) + ]; + cmakeFlags = [ # Building as a shared library isn't officially supported and may break at any time. "-DBUILD_SHARED_LIBS=OFF" diff --git a/pkgs/applications/networking/mailreaders/bubblemail/default.nix b/pkgs/applications/networking/mailreaders/bubblemail/default.nix index 612762207565b..bd5783a5c656c 100644 --- a/pkgs/applications/networking/mailreaders/bubblemail/default.nix +++ b/pkgs/applications/networking/mailreaders/bubblemail/default.nix @@ -13,6 +13,7 @@ , glib , gobject-introspection , folks +, bash }: python3Packages.buildPythonApplication rec { @@ -39,6 +40,7 @@ python3Packages.buildPythonApplication rec { libsecret gnome-online-accounts folks + bash ]; nativeBuildInputs = [ @@ -59,9 +61,6 @@ python3Packages.buildPythonApplication rec { # See https://nixos.org/nixpkgs/manual/#ssec-gnome-common-issues-double-wrapped dontWrapGApps = true; - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - preFixup = '' makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix index 98f7ac541a785..14844161d18e2 100644 --- a/pkgs/applications/networking/protonvpn-gui/default.nix +++ b/pkgs/applications/networking/protonvpn-gui/default.nix @@ -41,8 +41,6 @@ buildPythonApplication rec { ]; buildInputs = [ - # To avoid enabling strictDeps = false (#56943) - gobject-introspection librsvg pango webkitgtk diff --git a/pkgs/applications/office/autokey/default.nix b/pkgs/applications/office/autokey/default.nix index 0a00ac1463b5b..c490be238112a 100644 --- a/pkgs/applications/office/autokey/default.nix +++ b/pkgs/applications/office/autokey/default.nix @@ -25,7 +25,6 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; buildInputs = [ - gobject-introspection gtksourceview3 libappindicator-gtk3 libnotify diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index 700a94429964d..f9e9ec57704c3 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -80,6 +80,11 @@ stdenv.mkDerivation rec { # guile warning GUILE_AUTO_COMPILE="0"; + NIX_CFLAGS_COMPILE = lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=use-after-free" + ]; + # `make check` target does not define its prerequisites but expects them to # have already been built. The list of targets below was built through trial # and error based on failing tests. diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix index 8165cc381c112..44aaa6c7146e0 100644 --- a/pkgs/applications/office/gtg/default.nix +++ b/pkgs/applications/office/gtg/default.nix @@ -67,7 +67,6 @@ python3Packages.buildPythonApplication rec { ''; format = "other"; - strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943) checkPhase = "xvfb-run pytest ../tests/"; diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix index 73c94f7339c68..c20c9449ae842 100644 --- a/pkgs/applications/office/zim/default.nix +++ b/pkgs/applications/office/zim/default.nix @@ -14,9 +14,8 @@ python3Packages.buildPythonApplication rec { sha256 = "sha256-iOF11/fhQYlvnpWJidJS1yJVavF7xLxvBl59VCh9A4U="; }; - buildInputs = [ gtk3 gobject-introspection gnome.adwaita-icon-theme ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme ]; propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ]; - # see https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-1131643663 nativeBuildInputs = [ gobject-introspection wrapGAppsHook ]; dontWrapGApps = true; diff --git a/pkgs/applications/plasma-mobile/angelfish.nix b/pkgs/applications/plasma-mobile/angelfish.nix index 1e1800fad4518..7a7e48d736d0c 100644 --- a/pkgs/applications/plasma-mobile/angelfish.nix +++ b/pkgs/applications/plasma-mobile/angelfish.nix @@ -3,7 +3,7 @@ , cmake , corrosion , extra-cmake-modules -, gcc11 +, gcc12 , kconfig , kcoreaddons , kdbusaddons @@ -46,7 +46,7 @@ mkDerivation rec { cmake corrosion extra-cmake-modules - gcc11 # doesn't build with GCC 9 from stdenv on aarch64 + gcc12 # doesn't build with GCC 9 from stdenv on aarch64 ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo diff --git a/pkgs/applications/plasma-mobile/audiotube.nix b/pkgs/applications/plasma-mobile/audiotube.nix index cb87fe0ed24db..14bfc6d18917e 100644 --- a/pkgs/applications/plasma-mobile/audiotube.nix +++ b/pkgs/applications/plasma-mobile/audiotube.nix @@ -2,7 +2,7 @@ , mkDerivation , extra-cmake-modules -, gcc11 +, gcc12 , wrapGAppsHook , gst_all_1 @@ -22,7 +22,7 @@ mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook - gcc11 # doesn't build with GCC 9 from stdenv on aarch64 + gcc12 # doesn't build with GCC 9 from stdenv on aarch64 python3Packages.wrapPython python3Packages.pybind11 ]; diff --git a/pkgs/applications/plasma-mobile/neochat.nix b/pkgs/applications/plasma-mobile/neochat.nix index 2f655d5a9e09c..8b3da82b8b885 100644 --- a/pkgs/applications/plasma-mobile/neochat.nix +++ b/pkgs/applications/plasma-mobile/neochat.nix @@ -1,4 +1,4 @@ -{ gcc11Stdenv +{ gcc12Stdenv , lib , srcs @@ -31,7 +31,7 @@ }: # Workaround for AArch64 not using GCC11 yet. -gcc11Stdenv.mkDerivation rec { +gcc12Stdenv.mkDerivation rec { pname = "neochat"; inherit (srcs.neochat) version src; diff --git a/pkgs/applications/plasma-mobile/spacebar.nix b/pkgs/applications/plasma-mobile/spacebar.nix index 7a2a3c0af8fbb..c120851e5b2e0 100644 --- a/pkgs/applications/plasma-mobile/spacebar.nix +++ b/pkgs/applications/plasma-mobile/spacebar.nix @@ -1,6 +1,6 @@ { lib , mkDerivation -, gcc11Stdenv +, gcc12Stdenv , srcs , cmake @@ -24,8 +24,8 @@ , qtquickcontrols2 }: -# Workaround for AArch64 not using GCC11 yet. -gcc11Stdenv.mkDerivation rec { +# Workaround for AArch64 still using GCC9. +gcc12Stdenv.mkDerivation rec { pname = "spacebar"; inherit (srcs.spacebar) version src; diff --git a/pkgs/applications/science/biology/octopus/default.nix b/pkgs/applications/science/biology/octopus/default.nix index 659b1e97f200f..b7c8c138cb82b 100644 --- a/pkgs/applications/science/biology/octopus/default.nix +++ b/pkgs/applications/science/biology/octopus/default.nix @@ -19,6 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-VaUr63v7mzhh4VBghH7a7qrqOYwl6vucmmKzTi9yAjY="; }) ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" + ]; + postInstall = '' mkdir $out/bin mv $out/octopus $out/bin diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix index d0058c8650d81..cc145baef037a 100644 --- a/pkgs/applications/science/chemistry/octopus/default.nix +++ b/pkgs/applications/science/chemistry/octopus/default.nix @@ -41,12 +41,12 @@ stdenv.mkDerivation rec { ]; configureFlags = with lib; [ - "--with-yaml-prefix=${libyaml}" + "--with-yaml-prefix=${lib.getDev libyaml}" "--with-blas=-lblas" "--with-lapack=-llapack" - "--with-fftw-prefix=${fftw.dev}" - "--with-gsl-prefix=${gsl}" - "--with-libxc-prefix=${libxc}" + "--with-fftw-prefix=${lib.getDev fftw}" + "--with-gsl-prefix=${lib.getDev gsl}" + "--with-libxc-prefix=${lib.getDev libxc}" "--enable-openmp" ] ++ optional enableFma "--enable-fma3" ++ optional enableFma4 "--enable-fma4" diff --git a/pkgs/applications/science/logic/cbmc/default.nix b/pkgs/applications/science/logic/cbmc/default.nix index ba5719012ed65..d61a9893942f8 100644 --- a/pkgs/applications/science/logic/cbmc/default.nix +++ b/pkgs/applications/science/logic/cbmc/default.nix @@ -60,9 +60,13 @@ stdenv.mkDerivation rec { --prefix PATH : "$out/share/cbmc" \ ''; - # fix "argument unused during compilation" - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang - "-Wno-unused-command-line-argument"; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 12 but breaks on darwin (with clang) + "-Wno-error=maybe-uninitialized" + ] ++ lib.optionals stdenv.cc.isClang [ + # fix "argument unused during compilation" + "-Wno-unused-command-line-argument" + ]; # TODO: add jbmc support cmakeFlags = [ "-DWITH_JBMC=OFF" "-Dsat_impl=cadical" "-Dcadical_INCLUDE_DIR=${cadical.dev}/include" ]; diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index dcba888ce2fb1..021593124a37d 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -54,6 +54,12 @@ stdenv.mkDerivation rec { ] else [ "-DUSE_CUDA=OFF" ]) ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF"; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=maybe-uninitialized" + "-Wno-error=uninitialized" + ]; + postPatch = '' substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \ --replace "/bin/bash" "${bash}/bin/bash" diff --git a/pkgs/applications/science/misc/bada-bib/default.nix b/pkgs/applications/science/misc/bada-bib/default.nix index 76495f5cae150..7ad542402b58b 100644 --- a/pkgs/applications/science/misc/bada-bib/default.nix +++ b/pkgs/applications/science/misc/bada-bib/default.nix @@ -22,7 +22,6 @@ python3Packages.buildPythonApplication rec { pname = "bada-bib"; version = "0.8.0"; format = "other"; - strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 src = fetchFromGitHub { owner = "RogerCrocker"; diff --git a/pkgs/applications/terminal-emulators/guake/default.nix b/pkgs/applications/terminal-emulators/guake/default.nix index ee28a25047815..d030c7add9660 100644 --- a/pkgs/applications/terminal-emulators/guake/default.nix +++ b/pkgs/applications/terminal-emulators/guake/default.nix @@ -26,11 +26,6 @@ python3.pkgs.buildPythonApplication rec { sha256 = "sha256-BW13fBH26UqMPMjV8JC4QkpgzyoPfCpAfSkJD68uOZU="; }; - # Strict deps breaks guake - # See https://github.com/NixOS/nixpkgs/issues/59930 - # and https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - nativeBuildInputs = [ gobject-introspection wrapGAppsHook diff --git a/pkgs/applications/terminal-emulators/terminator/default.nix b/pkgs/applications/terminal-emulators/terminator/default.nix index 7cc1b23a60ac7..54c9f9467636f 100644 --- a/pkgs/applications/terminal-emulators/terminator/default.nix +++ b/pkgs/applications/terminal-emulators/terminator/default.nix @@ -33,7 +33,6 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ gtk3 - gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 keybinder3 libnotify python3 diff --git a/pkgs/applications/version-management/fnc/default.nix b/pkgs/applications/version-management/fnc/default.nix index a60aa27a8439c..7fd1b34d4560e 100644 --- a/pkgs/applications/version-management/fnc/default.nix +++ b/pkgs/applications/version-management/fnc/default.nix @@ -13,6 +13,11 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=maybe-uninitialized" + ]; + preInstall = '' mkdir -p $out/bin ''; diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix index 121a0cdf7731e..224efe8c1ac23 100644 --- a/pkgs/applications/version-management/meld/default.nix +++ b/pkgs/applications/version-management/meld/default.nix @@ -52,10 +52,6 @@ python3.pkgs.buildPythonApplication rec { pycairo ]; - # gobject-introspection and some other similar setup hooks do not currently work with strictDeps. - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - postPatch = '' patchShebangs meson_shebang_normalisation.py ''; diff --git a/pkgs/applications/video/devede/default.nix b/pkgs/applications/video/devede/default.nix index e8fa11c9147cc..800edd4792cc0 100644 --- a/pkgs/applications/video/devede/default.nix +++ b/pkgs/applications/video/devede/default.nix @@ -15,17 +15,8 @@ in buildPythonApplication rec { sha256 = "1xb7acjphvn4ya8fgjsvag5gzi9a6c2famfl0ffr8nhb9y8ig9mg"; }; - # Temporary fix - # See https://github.com/NixOS/nixpkgs/issues/61578 - # and https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - nativeBuildInputs = [ gettext wrapGAppsHook - - # Temporary fix - # See https://github.com/NixOS/nixpkgs/issues/61578 - # and https://github.com/NixOS/nixpkgs/issues/56943 gobject-introspection ]; diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix index 4ba0fe98df051..e44949f54ba61 100644 --- a/pkgs/applications/video/kazam/default.nix +++ b/pkgs/applications/video/kazam/default.nix @@ -40,9 +40,6 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ pygobject3 pyxdg pycairo dbus-python xlib ]; - # workaround https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - patches = [ # Fix paths (substituteAll { diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix index 5406b7dfa8a85..7e6f89855ed2f 100644 --- a/pkgs/applications/video/pitivi/default.nix +++ b/pkgs/applications/video/pitivi/default.nix @@ -44,10 +44,10 @@ python3.pkgs.buildPythonApplication rec { itstool python3 wrapGAppsHook + gobject-introspection ]; buildInputs = [ - gobject-introspection gtk3 libpeas librsvg @@ -78,12 +78,6 @@ python3.pkgs.buildPythonApplication rec { patchShebangs ./getenvvar.py ''; - # Fixes error - # Couldn’t recognize the image file format for file ".../share/pitivi/pixmaps/asset-proxied.svg" - # at startup, see https://github.com/NixOS/nixpkgs/issues/56943 - # and https://github.com/NixOS/nixpkgs/issues/89691#issuecomment-714398705. - strictDeps = false; - passthru = { updateScript = gnome.updateScript { packageName = "pitivi"; diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index e5d5a1fbfe7cc..1a9fe490af85d 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -26,7 +26,6 @@ python3.pkgs.buildPythonApplication rec { wrapGAppsHook libvirt-glib vte dconf gtk-vnc gnome.adwaita-icon-theme avahi gsettings-desktop-schemas libosinfo gtksourceview4 - gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 ] ++ lib.optional spiceSupport spice-gtk; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/applications/window-managers/cardboard/default.nix b/pkgs/applications/window-managers/cardboard/default.nix index 5347b0961a540..6e483a40ef51c 100644 --- a/pkgs/applications/window-managers/cardboard/default.nix +++ b/pkgs/applications/window-managers/cardboard/default.nix @@ -99,6 +99,8 @@ stdenv.mkDerivation rec { cp -r ${expected-wrap} ${expected-wrap.name} cp -r ${wlroots-wrap} ${wlroots-wrap.name} ) + + sed '1i#include ' -i cardboard/ViewAnimation.h # gcc12 ''; # "Inherited" from Nixpkgs expression for wlroots @@ -108,6 +110,8 @@ stdenv.mkDerivation rec { "-Dwlroots:libseat=disabled" ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=array-bounds" ]; # gcc12 + meta = with lib; { homepage = "https://gitlab.com/cardboardwm/cardboard"; description = "A scrollable, tiling Wayland compositor inspired on PaperWM"; diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 33df804d5efec..2f3b2d8e37886 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -343,18 +343,11 @@ stdenv.mkDerivation { # compile, because it uses "#include_next " to find the # limits.h file in ../includes-fixed. To remedy the problem, # another -idirafter is necessary to add that directory again. - # - # We use --sysroot=/nix/store/does/not/exist to drop embedded default - # path to glibc headers gcc was built against. Without it -idirafter - # only appends to the list and outdated glibc headers end up being - # used. 'cc-cflags-before' is used to allow user's --sysroot= option - # to override our default. + optionalString (libc != null) ('' touch "$out/nix-support/libc-cflags" touch "$out/nix-support/libc-ldflags" echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-crt1-cflags '' + optionalString (!(cc.langD or false)) '' - echo "--sysroot=/nix/store/does/not/exist" >> $out/nix-support/cc-cflags-before echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags '' + optionalString (isGNU && (!(cc.langD or false))) '' for dir in "${cc}"/lib/gcc/*/*/include-fixed; do diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix index bce3d799fbb1a..a72f0291a872b 100644 --- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix +++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix @@ -20,7 +20,7 @@ in dotnetConfigureHook = callPackage ({ }: makeSetupHook { name = "dotnet-configure-hook"; - deps = [ dotnet-sdk nuget-source ]; + propagatedBuildInputs = [ dotnet-sdk nuget-source ]; substitutions = { nugetSource = nuget-source; inherit runtimeId; @@ -30,7 +30,7 @@ in dotnetBuildHook = callPackage ({ }: makeSetupHook { name = "dotnet-build-hook"; - deps = [ dotnet-sdk ]; + propagatedBuildInputs = [ dotnet-sdk ]; substitutions = { inherit buildType runtimeId; }; @@ -39,7 +39,7 @@ in dotnetCheckHook = callPackage ({ }: makeSetupHook { name = "dotnet-check-hook"; - deps = [ dotnet-test-sdk ]; + propagatedBuildInputs = [ dotnet-test-sdk ]; substitutions = { inherit buildType libraryPath; disabledTests = lib.optionalString (disabledTests != []) @@ -54,7 +54,7 @@ in dotnetInstallHook = callPackage ({ }: makeSetupHook { name = "dotnet-install-hook"; - deps = [ dotnet-sdk ]; + propagatedBuildInputs = [ dotnet-sdk ]; substitutions = { inherit buildType runtimeId; }; @@ -63,7 +63,7 @@ in dotnetFixupHook = callPackage ({ }: makeSetupHook { name = "dotnet-fixup-hook"; - deps = [ dotnet-runtime ]; + propagatedBuildInputs = [ dotnet-runtime ]; substitutions = { dotnetRuntime = dotnet-runtime; runtimeDeps = libraryPath; diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index 284cc1586dad0..aca313264a28c 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -193,6 +193,12 @@ let ''} '' + '' + # currently pie is only enabled by default in pkgsMusl + # this will respect the `hardening{Disable,Enable}` flags if set + if [[ $NIX_HARDENING_ENABLE =~ "pie" ]]; then + export GOFLAGS="-buildmode=pie $GOFLAGS" + fi + runHook postConfigure ''; diff --git a/pkgs/build-support/go/package.nix b/pkgs/build-support/go/package.nix index ba1ab37a0c0eb..9106bf9796ebb 100644 --- a/pkgs/build-support/go/package.nix +++ b/pkgs/build-support/go/package.nix @@ -134,6 +134,12 @@ let export GOPATH=$NIX_BUILD_TOP/go:$GOPATH export GOCACHE=$TMPDIR/go-cache + # currently pie is only enabled by default in pkgsMusl + # this will respect the `hardening{Disable,Enable}` flags if set + if [[ $NIX_HARDENING_ENABLE =~ "pie" ]]; then + export GOFLAGS="-buildmode=pie $GOFLAGS" + fi + runHook postConfigure ''; diff --git a/pkgs/build-support/libredirect/default.nix b/pkgs/build-support/libredirect/default.nix index b5eb21e5ba4b5..6e2de7fa11b05 100644 --- a/pkgs/build-support/libredirect/default.nix +++ b/pkgs/build-support/libredirect/default.nix @@ -46,14 +46,14 @@ else stdenv.mkDerivation rec { -L${llvmPackages_13.clang.libc}/lib \ -Wl,-install_name,$libName \ -Wall -std=c99 -O3 -fPIC libredirect.c \ - -ldl -shared -o "$libName" + -shared -o "$libName" '' else if stdenv.isDarwin then '' $CC -Wall -std=c99 -O3 -fPIC libredirect.c \ -Wl,-install_name,$out/lib/$libName \ - -ldl -shared -o "$libName" + -shared -o "$libName" '' else '' $CC -Wall -std=c99 -O3 -fPIC libredirect.c \ - -ldl -shared -o "$libName" + -shared -o "$libName" ''} if [ -n "$doInstallCheck" ]; then diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c index 1222d2ee75c64..9ecc16450cc27 100644 --- a/pkgs/build-support/libredirect/libredirect.c +++ b/pkgs/build-support/libredirect/libredirect.c @@ -201,6 +201,37 @@ WRAPPER(int, __xstat64)(int ver, const char * path, struct stat64 * st) WRAPPER_DEF(__xstat64) #endif +#if defined(__linux__) && defined(STATX_TYPE) +WRAPPER(int, statx)(int dirfd, const char * restrict pathname, int flags, + unsigned int mask, struct statx * restrict statxbuf) +{ + int (*statx_real) (int, const char * restrict, int, + unsigned int, struct statx * restrict) = LOOKUP_REAL(statx); + char buf[PATH_MAX]; + return statx_real(dirfd, rewrite(pathname, buf), flags, mask, statxbuf); +} +WRAPPER_DEF(statx) +#endif + +WRAPPER(int, fstatat)(int dirfd, const char * pathname, struct stat * statbuf, int flags) +{ + int (*fstatat_real) (int, const char *, struct stat *, int) = LOOKUP_REAL(fstatat); + char buf[PATH_MAX]; + return fstatat_real(dirfd, rewrite(pathname, buf), statbuf, flags); +} +WRAPPER_DEF(fstatat); + +// In musl libc, fstatat64 is simply a macro for fstatat +#if !defined(__APPLE__) && !defined(fstatat64) +WRAPPER(int, fstatat64)(int dirfd, const char * pathname, struct stat64 * statbuf, int flags) +{ + int (*fstatat64_real) (int, const char *, struct stat64 *, int) = LOOKUP_REAL(fstatat64); + char buf[PATH_MAX]; + return fstatat64_real(dirfd, rewrite(pathname, buf), statbuf, flags); +} +WRAPPER_DEF(fstatat64); +#endif + WRAPPER(int, stat)(const char * path, struct stat * st) { int (*__stat_real) (const char *, struct stat *) = LOOKUP_REAL(stat); @@ -209,6 +240,17 @@ WRAPPER(int, stat)(const char * path, struct stat * st) } WRAPPER_DEF(stat) +// In musl libc, stat64 is simply a macro for stat +#if !defined(__APPLE__) && !defined(stat64) +WRAPPER(int, stat64)(const char * path, struct stat64 * st) +{ + int (*stat64_real) (const char *, struct stat64 *) = LOOKUP_REAL(stat64); + char buf[PATH_MAX]; + return stat64_real(rewrite(path, buf), st); +} +WRAPPER_DEF(stat64) +#endif + WRAPPER(int, access)(const char * path, int mode) { int (*access_real) (const char *, int mode) = LOOKUP_REAL(access); @@ -346,6 +388,14 @@ WRAPPER(int, system)(const char *command) } WRAPPER_DEF(system) +WRAPPER(int, chdir)(const char *path) +{ + int (*chdir_real) (const char *) = LOOKUP_REAL(chdir); + char buf[PATH_MAX]; + return chdir_real(rewrite(path, buf)); +} +WRAPPER_DEF(chdir); + WRAPPER(int, mkdir)(const char *path, mode_t mode) { int (*mkdir_real) (const char *path, mode_t mode) = LOOKUP_REAL(mkdir); diff --git a/pkgs/build-support/libredirect/test.c b/pkgs/build-support/libredirect/test.c index 144e6d3d66dd0..7dd384ae3ed7e 100644 --- a/pkgs/build-support/libredirect/test.c +++ b/pkgs/build-support/libredirect/test.c @@ -63,6 +63,12 @@ int main(int argc, char *argv[]) FILE *testfp; int testfd; struct stat testsb; +#ifndef __APPLE__ + struct stat64 testsb64; +#endif +#if defined(__linux__) && defined(STATX_TYPE) + struct statx testsbx; +#endif char buf[PATH_MAX]; testfp = fopen(TESTPATH, "r"); @@ -76,6 +82,20 @@ int main(int argc, char *argv[]) assert(access(TESTPATH, X_OK) == 0); assert(stat(TESTPATH, &testsb) != -1); +#ifndef __APPLE__ + assert(stat64(TESTPATH, &testsb64) != -1); +#endif + assert(fstatat(123, TESTPATH, &testsb, 0) != -1); +#ifndef __APPLE__ + assert(fstatat64(123, TESTPATH, &testsb64, 0) != -1); +#endif +#if defined(__linux__) && defined(STATX_TYPE) + assert(statx(123, TESTPATH, 0, STATX_ALL, &testsbx) != -1); +#endif + + assert(getcwd(buf, PATH_MAX) != NULL); + assert(chdir(TESTDIR) == 0); + assert(chdir(buf) == 0); assert(mkdir(TESTDIR "/dir-mkdir", 0777) == 0); assert(unlink(TESTDIR "/dir-mkdir") == -1); // it's a directory! diff --git a/pkgs/build-support/node/build-npm-package/hooks/default.nix b/pkgs/build-support/node/build-npm-package/hooks/default.nix index 65ac661cea516..e5c93f1f77842 100644 --- a/pkgs/build-support/node/build-npm-package/hooks/default.nix +++ b/pkgs/build-support/node/build-npm-package/hooks/default.nix @@ -26,7 +26,7 @@ npmInstallHook = makeSetupHook { name = "npm-install-hook"; - deps = [ buildPackages.makeWrapper ]; + propagatedBuildInputs = [ buildPackages.makeWrapper ]; substitutions = { hostNode = "${nodejs}/bin/node"; jq = "${buildPackages.jq}/bin/jq"; diff --git a/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh b/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh index 1aa14cfeb7cc7..1d43c8e162ab2 100644 --- a/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh +++ b/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh @@ -12,7 +12,7 @@ if [ -z "${NIX_PKG_CONFIG_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then source @out@/nix-support/add-flags.sh fi -set -- "$@" @addFlags@ +set -- @addFlags@ "$@" if (( ${#role_suffixes[@]} > 0 )); then # replace env var with nix-modified one diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index 69ee4f56b98f7..b057d1681b03b 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -4,7 +4,6 @@ , rust , stdenv , callPackage -, cacert , cargoBuildHook , cargoCheckHook , cargoInstallHook @@ -124,7 +123,6 @@ stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "carg inherit cargo cargo-auditable; }) ] ++ [ - cacert cargoBuildHook (if useNextest then cargoNextestHook else cargoCheckHook) cargoInstallHook diff --git a/pkgs/build-support/rust/fetch-cargo-tarball/default.nix b/pkgs/build-support/rust/fetch-cargo-tarball/default.nix index 7ca306b613bcd..36ab931697410 100644 --- a/pkgs/build-support/rust/fetch-cargo-tarball/default.nix +++ b/pkgs/build-support/rust/fetch-cargo-tarball/default.nix @@ -73,6 +73,9 @@ in stdenv.mkDerivation ({ ${cargoUpdateHook} + # Override the `http.cainfo` option usually specified in `.cargo/config`. + export CARGO_HTTP_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt + cargo vendor $name --respect-source-config | cargo-vendor-normalise > $CARGO_CONFIG # Create an empty vendor directory when there is no dependency to vendor diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix index 9989e582d2e9a..b4034120103ed 100644 --- a/pkgs/build-support/rust/hooks/default.nix +++ b/pkgs/build-support/rust/hooks/default.nix @@ -31,7 +31,7 @@ in { cargoBuildHook = callPackage ({ }: makeSetupHook { name = "cargo-build-hook.sh"; - deps = [ cargo ]; + propagatedBuildInputs = [ cargo ]; substitutions = { inherit ccForBuild ccForHost cxxForBuild cxxForHost rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec; @@ -41,7 +41,7 @@ in { cargoCheckHook = callPackage ({ }: makeSetupHook { name = "cargo-check-hook.sh"; - deps = [ cargo ]; + propagatedBuildInputs = [ cargo ]; substitutions = { inherit rustTargetPlatformSpec; }; @@ -50,7 +50,7 @@ in { cargoInstallHook = callPackage ({ }: makeSetupHook { name = "cargo-install-hook.sh"; - deps = [ ]; + propagatedBuildInputs = [ ]; substitutions = { inherit shortTarget; }; @@ -59,7 +59,7 @@ in { cargoNextestHook = callPackage ({ }: makeSetupHook { name = "cargo-nextest-hook.sh"; - deps = [ cargo cargo-nextest ]; + propagatedBuildInputs = [ cargo cargo-nextest ]; substitutions = { inherit rustTargetPlatformSpec; }; @@ -68,7 +68,7 @@ in { cargoSetupHook = callPackage ({ }: makeSetupHook { name = "cargo-setup-hook.sh"; - deps = [ ]; + propagatedBuildInputs = [ ]; substitutions = { defaultConfig = ../fetchcargo-default-config.toml; @@ -117,7 +117,7 @@ in { maturinBuildHook = callPackage ({ }: makeSetupHook { name = "maturin-build-hook.sh"; - deps = [ cargo maturin rustc ]; + propagatedBuildInputs = [ cargo maturin rustc ]; substitutions = { inherit ccForBuild ccForHost cxxForBuild cxxForHost rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec; diff --git a/pkgs/build-support/setup-hooks/make-binary-wrapper/default.nix b/pkgs/build-support/setup-hooks/make-binary-wrapper/default.nix index c81a253b0de8d..17b97b1082e93 100644 --- a/pkgs/build-support/setup-hooks/make-binary-wrapper/default.nix +++ b/pkgs/build-support/setup-hooks/make-binary-wrapper/default.nix @@ -11,8 +11,7 @@ makeSetupHook { name = "make-binary-wrapper-hook"; - - deps = [ dieHook ] + propagatedBuildInputs = [ dieHook ] # https://github.com/NixOS/nixpkgs/issues/148189 ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) cc; diff --git a/pkgs/build-support/setup-hooks/make-symlinks-relative.sh b/pkgs/build-support/setup-hooks/make-symlinks-relative.sh index f34353a7617b8..b07b0c5ae804c 100644 --- a/pkgs/build-support/setup-hooks/make-symlinks-relative.sh +++ b/pkgs/build-support/setup-hooks/make-symlinks-relative.sh @@ -1,4 +1,6 @@ -postFixupHooks+=(_makeSymlinksRelative) +# symlinks are often created in postFixup +# don't use fixupOutputHooks, it is before postFixup +postFixupHooks+=(_makeSymlinksRelativeInAllOutputs) # For every symlink in $output that refers to another file in $output # ensure that the symlink is relative. This removes references to the output @@ -26,3 +28,10 @@ _makeSymlinksRelative() { done < <(find $prefix -type l -print0) } + +_makeSymlinksRelativeInAllOutputs() { + local output + for output in $(getAllOutputNames); do + prefix="${!output}" _makeSymlinksRelative + done +} diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix index 5ef6138388562..99633a3c7c9af 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix @@ -9,12 +9,15 @@ , dconf , callPackage , wrapGAppsHook -, writeTextFile +, targetPackages }: makeSetupHook { name = "wrap-gapps-hook"; - deps = lib.optionals (!stdenv.isDarwin) [ + propagatedBuildInputs = [ + # We use the wrapProgram function. + makeWrapper + ] ++ lib.optionals (!stdenv.isDarwin) [ # It is highly probable that a program will use GSettings, # at minimum through GTK file chooser dialogue. # Let’s add a GIO module for “dconf” GSettings backend @@ -23,19 +26,22 @@ makeSetupHook { # Unfortunately, it also requires the user to have dconf # D-Bus service enabled globally (e.g. through a NixOS module). dconf.lib + ] ++ lib.optionals isGraphical [ # TODO: remove this, packages should depend on GTK explicitly. gtk3 + librsvg + ]; + + # depsTargetTargetPropagated will essentially be buildInputs when wrapGAppsHook is placed into nativeBuildInputs + # the librsvg above should be removed but kept to not break anything that implicitly depended on its binaries + depsTargetTargetPropagated = assert (lib.assertMsg (!targetPackages ? raw) "wrapGAppsHook must be in nativeBuildInputs"); lib.optionals isGraphical [ # librsvg provides a module for gdk-pixbuf to allow rendering # SVG icons. Most icon themes are SVG-based and so are some # graphics in GTK (e.g. cross for closing window in window title bar) # so it is pretty much required for applications using GTK. librsvg - ] ++ [ - - # We use the wrapProgram function. - makeWrapper ]; passthru = { tests = let @@ -65,6 +71,15 @@ makeSetupHook { '' ); + basic-contains-gdk-pixbuf = let + tested = basic; + in testLib.runTest "basic-contains-gdk-pixbuf" ( + testLib.skip stdenv.isDarwin '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GDK_PIXBUF_MODULE_FILE" "${lib.getLib librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"} + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GDK_PIXBUF_MODULE_FILE" "${lib.getLib librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"} + '' + ); + # Simple derivation containing a gobject-introspection typelib. typelib-Mahjong = stdenv.mkDerivation { name = "typelib-Mahjong"; diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix index 42866c3419ddf..59fa9de24f9d1 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix @@ -1,7 +1,7 @@ { lib, runCommand }: rec { - runTest = name: body: runCommand name { } '' + runTest = name: body: runCommand name { strictDeps = true; } '' set -o errexit ${body} touch $out diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 7318d13f6babd..413ed65852f50 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -593,45 +593,28 @@ rec { in linkFarm name (map mkEntryFromDrv drvs); - /* - Make a package that just contains a setup hook with the given contents. - This setup hook will be invoked by any package that includes this package - as a buildInput. Optionally takes a list of substitutions that should be - applied to the resulting script. - - Examples: - # setup hook that depends on the hello package and runs ./myscript.sh - myhellohook = makeSetupHook { deps = [ hello ]; } ./myscript.sh; - - # writes a Linux-exclusive setup hook where @bash@ myscript.sh is substituted for the - # bash interpreter. - myhellohookSub = makeSetupHook { - name = "myscript-hook"; - deps = [ hello ]; - substitutions = { bash = "${pkgs.bash}/bin/bash"; }; - meta.platforms = lib.platforms.linux; - } ./myscript.sh; - - # setup hook with a package test - myhellohookTested = makeSetupHook { - name = "myscript-hook"; - deps = [ hello ]; - substitutions = { bash = "${pkgs.bash}/bin/bash"; }; - meta.platforms = lib.platforms.linux; - passthru.tests.greeting = callPackage ./test { }; - } ./myscript.sh; - */ + # docs in doc/builders/special/makesetuphook.section.md makeSetupHook = { name ? lib.warn "calling makeSetupHook without passing a name is deprecated." "hook" - , deps ? [] - , substitutions ? {} - , meta ? {} - , passthru ? {} + , deps ? [ ] + # hooks go in nativeBuildInput so these will be nativeBuildInput + , propagatedBuildInputs ? [ ] + # these will be buildInputs + , depsTargetTargetPropagated ? [ ] + , meta ? { } + , passthru ? { } + , substitutions ? { } }: script: runCommand name (substitutions // { inherit meta; + inherit depsTargetTargetPropagated; + propagatedBuildInputs = + # remove list conditionals before 23.11 + lib.warnIf (!lib.isList deps) "'deps' argument to makeSetupHook must be a list. content of deps: ${toString deps}" + (lib.warnIf (deps != [ ]) "'deps' argument to makeSetupHook is deprecated and will be removed in release 23.11., Please use propagatedBuildInputs instead. content of deps: ${toString deps}" + propagatedBuildInputs ++ (if lib.isList deps then deps else [ deps ])); strictDeps = true; # TODO 2023-01, no backport: simplify to inherit passthru; passthru = passthru @@ -642,8 +625,7 @@ rec { ('' mkdir -p $out/nix-support cp ${script} $out/nix-support/setup-hook - '' + lib.optionalString (deps != []) '' - printWords ${toString deps} > $out/nix-support/propagated-build-inputs + recordPropagatedDependencies '' + lib.optionalString (substitutions != {}) '' substituteAll ${script} $out/nix-support/setup-hook ''); diff --git a/pkgs/data/fonts/freefont-ttf/default.nix b/pkgs/data/fonts/freefont-ttf/default.nix index 9d8c28681a9f1..4bf50d3385879 100644 --- a/pkgs/data/fonts/freefont-ttf/default.nix +++ b/pkgs/data/fonts/freefont-ttf/default.nix @@ -1,18 +1,22 @@ -{ lib, fetchzip }: +{ lib, stdenvNoCC, fetchzip }: -fetchzip rec { +stdenvNoCC.mkDerivation rec { pname = "freefont-ttf"; version = "20120503"; - url = "mirror://gnu/freefont/freefont-ttf-${version}.zip"; + src = fetchzip { + url = "mirror://gnu/freefont/freefont-ttf-${version}.zip"; + hash = "sha256-K3kVHGcDTxQ7N7XqSdwRObriVkBoBYPKHbyYrYvm7VU="; + }; + + installPhase = '' + runHook preInstall - postFetch = '' mkdir -p $out/share/fonts/truetype - mv $out/*.ttf $out/share/fonts/truetype - find $out -maxdepth 1 ! -type d -exec rm {} + - ''; + mv *.ttf $out/share/fonts/truetype - sha256 = "sha256-bdMZg/mHYc0N6HiR8uNl0CjeOwBou+OYj3LPkyEUHUA="; + runHook postInstall + ''; meta = { description = "GNU Free UCS Outline Fonts"; @@ -24,6 +28,6 @@ fetchzip rec { homepage = "https://www.gnu.org/software/freefont/"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.all; - maintainers = []; + maintainers = [ ]; }; } diff --git a/pkgs/data/icons/capitaine-cursors-themed/default.nix b/pkgs/data/icons/capitaine-cursors-themed/default.nix index d86ce3f8161ae..bd0147fecde31 100644 --- a/pkgs/data/icons/capitaine-cursors-themed/default.nix +++ b/pkgs/data/icons/capitaine-cursors-themed/default.nix @@ -1,14 +1,22 @@ -{ lib, fetchzip }: -fetchzip rec { +{ lib, stdenvNoCC, fetchzip }: + +stdenvNoCC.mkDerivation rec { pname = "capitaine-cursors-themed"; version = "5"; - stripRoot = false; - url = "https://github.com/sainnhe/capitaine-cursors/releases/download/r${version}/Linux.zip"; - sha256 = "jQNAXuR/OtvohWziGYgb5Ni2/tEIGaY9HIyUUW793EY="; - postFetch = '' + src = fetchzip { + url = "https://github.com/sainnhe/capitaine-cursors/releases/download/r${version}/Linux.zip"; + stripRoot = false; + hash = "sha256-ipPpmZKU/xLA45fdOvxVbtFDCUsCYIvzeps/DjhFkNg="; + }; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/icons cp -r ./ $out/share/icons + + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix index f19b666abeabf..729d3cdbb7b89 100644 --- a/pkgs/data/misc/cldr-annotations/default.nix +++ b/pkgs/data/misc/cldr-annotations/default.nix @@ -1,23 +1,24 @@ -{ lib, fetchzip }: +{ lib, stdenvNoCC, fetchzip }: -fetchzip rec { +stdenvNoCC.mkDerivation rec { pname = "cldr-annotations"; version = "42.0"; - url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip"; + src = fetchzip { + url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip"; + stripRoot = false; + hash = "sha256-paRon3ecGXNp3ZDnN1DU9RVU2NDWTBiKjy0OP3vcPLE="; + }; + + installPhase = '' + runHook preInstall - stripRoot = false; - postFetch = '' mkdir -p $out/share/unicode/cldr/common - mv $out/common/annotations{,Derived} -t $out/share/unicode/cldr/common + mv common/annotations{,Derived} -t $out/share/unicode/cldr/common - shopt -s extglob dotglob - rm -rf $out/!(share) - shopt -u extglob dotglob + runHook postInstall ''; - hash = "sha256-9OOd69nBaDSt+ilL3PTGpcQgC60PnHqd8/CYa2LgeI0="; - meta = with lib; { description = "Names and keywords for Unicode characters from the Common Locale Data Repository"; homepage = "https://cldr.unicode.org"; diff --git a/pkgs/data/misc/publicsuffix-list/default.nix b/pkgs/data/misc/publicsuffix-list/default.nix index 063e120d3c4b1..02b0ba0b439b5 100644 --- a/pkgs/data/misc/publicsuffix-list/default.nix +++ b/pkgs/data/misc/publicsuffix-list/default.nix @@ -1,20 +1,24 @@ -{ lib, fetchFromGitHub }: +{ lib, stdenvNoCC, fetchFromGitHub }: -let +stdenvNoCC.mkDerivation { pname = "publicsuffix-list"; - version = "2021-09-03"; -in fetchFromGitHub { - name = "${pname}-${version}"; - owner = "publicsuffix"; - repo = "list"; - rev = "2533d032871e1ef1f410fc0754b848d4587c8021"; - sha256 = "sha256-Q8uIXM1CMu8dlWcVoL17M1XRGu3kG7Y7jpx0oHQh+2I="; + version = "unstable-2021-09-03"; - postFetch = '' - install -Dm0444 $out/public_suffix_list.dat $out/tests/test_psl.txt -t $out/share/publicsuffix - shopt -s extglob dotglob - rm -rf $out/!(share) - shopt -u extglob dotglob + src = fetchFromGitHub { + owner = "publicsuffix"; + repo = "list"; + rev = "2533d032871e1ef1f410fc0754b848d4587c8021"; + hash = "sha256-moibTN9KovABcg+ubKUgMXg4b8sMrTVo6Itmiati/Vk="; + }; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + install -Dm0444 public_suffix_list.dat tests/test_psl.txt -t $out/share/publicsuffix + + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/data/misc/unicode-emoji/default.nix b/pkgs/data/misc/unicode-emoji/default.nix index bf27cb03e2852..ae14a27c8b7f4 100644 --- a/pkgs/data/misc/unicode-emoji/default.nix +++ b/pkgs/data/misc/unicode-emoji/default.nix @@ -1,4 +1,5 @@ { lib +, stdenvNoCC , fetchurl , symlinkJoin }: @@ -6,30 +7,40 @@ let version = "15.0"; - fetchData = { file, sha256 }: fetchurl { - url = "https://www.unicode.org/Public/emoji/${version}/${file}"; - inherit sha256; - downloadToTemp = true; - recursiveHash = true; - postFetch = '' + fetchData = { suffix, hash }: stdenvNoCC.mkDerivation { + pname = "unicode-emoji-${suffix}"; + inherit version; + + src = fetchurl { + url = "https://www.unicode.org/Public/emoji/${version}/emoji-${suffix}.txt"; + inherit hash; + }; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + installDir="$out/share/unicode/emoji" mkdir -p "$installDir" - mv "$downloadedFile" "$installDir/${file}" + cp "$src" "$installDir/emoji-${suffix}.txt" + + runHook postInstall ''; }; srcs = { emoji-sequences = fetchData { - file = "emoji-sequences.txt"; - sha256 = "sha256-vRpXHAcdY3arTnFwBH3WUW3DOh8B3L9+sRcecLHZ2lg="; + suffix = "sequences"; + hash = "sha256-XCIi2KQy2JagMaaML1SwT79HsPzi5phT8euKPpRetW0="; }; emoji-test = fetchData { - file = "emoji-test.txt"; - sha256 = "sha256-3Rega6+ZJ5jXRhLFL/i/12V5IypEo5FaGG6Wf9Bj0UU="; + suffix = "test"; + hash = "sha256-hEXyOsg4jglr4Z0CYuFPzv+Fb/Ugk/I1bciUhfGoU9s="; }; emoji-zwj-sequences = fetchData { - file = "emoji-zwj-sequences.txt"; - sha256 = "sha256-9AqrpyUCiBcR/fafa4VaH0pT5o1YzEZDVySsX4ja1u8="; + suffix = "zwj-sequences"; + hash = "sha256-/jV/kRe3dGZ2Bjdl1YcTft+bJZA6eSvVSTW/CFZ5EYI="; }; }; in diff --git a/pkgs/desktops/gnome/apps/accerciser/default.nix b/pkgs/desktops/gnome/apps/accerciser/default.nix index 7d4f5969d0dfd..d21d1c2006166 100644 --- a/pkgs/desktops/gnome/apps/accerciser/default.nix +++ b/pkgs/desktops/gnome/apps/accerciser/default.nix @@ -13,6 +13,7 @@ , gettext , libwnck , adwaita-icon-theme +, librsvg }: python3.pkgs.buildPythonApplication rec { @@ -41,6 +42,7 @@ python3.pkgs.buildPythonApplication rec { at-spi2-core gtk3 libwnck + librsvg ]; propagatedBuildInputs = with python3.pkgs; [ @@ -52,10 +54,6 @@ python3.pkgs.buildPythonApplication rec { xlib ]; - # Strict deps breaks accerciser - # and https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - passthru = { updateScript = gnome.updateScript { packageName = "accerciser"; diff --git a/pkgs/desktops/gnome/apps/seahorse/default.nix b/pkgs/desktops/gnome/apps/seahorse/default.nix index 60de418f1e440..bbab612b9c8d8 100644 --- a/pkgs/desktops/gnome/apps/seahorse/default.nix +++ b/pkgs/desktops/gnome/apps/seahorse/default.nix @@ -1,5 +1,6 @@ { stdenv , lib +, fetchpatch , fetchurl , vala , meson @@ -36,6 +37,14 @@ stdenv.mkDerivation rec { hash = "sha256-Wx0b+6dPNlgifzyC4pbzMN0PzR70Y2tqIYIo/uXqgy0="; }; + patches = [ + (fetchpatch { + name = "gpg-2.4.patch"; + url = "https://gitlab.gnome.org/GNOME/seahorse/-/commit/9260c74779be3d7a378db0671af862ffa3573d42.patch"; + hash = "sha256-4QiFgH4jC1ucmA9fFozUQZ3Mat76SgpYkMpRz80RH64="; + }) + ]; + nativeBuildInputs = [ meson ninja diff --git a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix index efad1cc14db4c..dbf3dbd9be362 100644 --- a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix @@ -22,7 +22,6 @@ python3Packages.buildPythonApplication rec { pname = "gnome-tweaks"; version = "42.beta"; format = "other"; - strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/desktops/rox/rox-filer/default.nix b/pkgs/desktops/rox/rox-filer/default.nix index e26c90592252f..b05be287a89d4 100644 --- a/pkgs/desktops/rox/rox-filer/default.nix +++ b/pkgs/desktops/rox/rox-filer/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { wrapGAppsHook ]; buildInputs = [ libxml2 gtk shared-mime-info libSM ]; - NIX_LDFLAGS = "-ldl -lm"; + NIX_LDFLAGS = "-lm"; patches = [ ./rox-filer-2.11-in-source-build.patch diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix index f78f420cabc7b..2f16352f8ca04 100644 --- a/pkgs/desktops/xfce/applications/catfish/default.nix +++ b/pkgs/desktops/xfce/applications/catfish/default.nix @@ -41,7 +41,6 @@ python3Packages.buildPythonApplication rec { python3Packages.pyxdg python3Packages.ptyprocess python3Packages.pycairo - gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 ]; propagatedBuildInputs = [ diff --git a/pkgs/development/compilers/chez-racket/default.nix b/pkgs/development/compilers/chez-racket/default.nix index fa32934243c6d..158dfa0529334 100644 --- a/pkgs/development/compilers/chez-racket/default.nix +++ b/pkgs/development/compilers/chez-racket/default.nix @@ -1,16 +1,23 @@ { stdenv, buildPackages, callPackage }: let - chezSystemMap = { - # See `/workarea` of source code for list of systems - "aarch64-darwin" = "tarm64osx"; - "aarch64-linux" = "tarm64le"; - "armv7l-linux" = "tarm32le"; - "x86_64-darwin" = "ta6osx"; - "x86_64-linux" = "ta6le"; - }; + chezArch = + /**/ if stdenv.hostPlatform.isAarch then "arm${toString stdenv.hostPlatform.parsed.cpu.bits}" + else if stdenv.hostPlatform.isx86_32 then "i3" + else if stdenv.hostPlatform.isx86_64 then "a6" + else if stdenv.hostPlatform.isPower then "ppc${toString stdenv.hostPlatform.parsed.cpu.bits}" + else throw "Add ${stdenv.hostPlatform.parsed.cpu.arch} to chezArch to enable building chez-racket"; + + chezOs = + /**/ if stdenv.hostPlatform.isDarwin then "osx" + else if stdenv.hostPlatform.isFreeBSD then "fb" + else if stdenv.hostPlatform.isLinux then "le" + else if stdenv.hostPlatform.isNetBSD then "nb" + else if stdenv.hostPlatform.isOpenBSD then "ob" + else throw "Add ${stdenv.hostPlatform.uname.system} to chezOs to enable building chez-racket"; + inherit (stdenv.hostPlatform) system; - chezSystem = chezSystemMap.${system} or (throw "Add ${system} to chezSystemMap to enable building chez-racket"); + chezSystem = "t${chezArch}${chezOs}"; # Chez Scheme uses an ad-hoc `configure`, hence we don't use the usual # stdenv abstractions. forBoot = { diff --git a/pkgs/development/compilers/chez-racket/shared.nix b/pkgs/development/compilers/chez-racket/shared.nix index f5a9bbc1e5b4b..d09f55e229ee9 100644 --- a/pkgs/development/compilers/chez-racket/shared.nix +++ b/pkgs/development/compilers/chez-racket/shared.nix @@ -24,8 +24,7 @@ stdenv.mkDerivation (args // { ''; nativeBuildInputs = lib.optionals stdenv.isDarwin (with darwin; [ cctools autoSignDarwinBinariesHook ]); - buildInputs = [ ncurses libX11 zlib lz4 ] - ++ lib.optional stdenv.isDarwin libiconv; + buildInputs = [ libiconv libX11 lz4 ncurses zlib ]; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/dmd/generic.nix b/pkgs/development/compilers/dmd/generic.nix index c1fb9abf77d7e..3f8871df4f96d 100644 --- a/pkgs/development/compilers/dmd/generic.nix +++ b/pkgs/development/compilers/dmd/generic.nix @@ -151,13 +151,6 @@ stdenv.mkDerivation rec { git ]; - # Workaround cc-wrapper's --sysroot= value for `staging-next`: it - # breaks library lookup via RUNPATH: - # ld: warning: libm.so.6, needed by ./generated/linux/release/64/lib.so, not found (try using -rpath or -rpath-link) - # ld: /build/druntime/generated/linux/release/64/libdruntime.so: undefined reference to `log10@GLIBC_2.2.5' - # TODO(trofi): remove the workaround once cc-wrapper is fixed. - NIX_CFLAGS_COMPILE = [ "--sysroot=/" ]; - buildInputs = [ curl tzdata diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index 6ce7779d566e2..3224696a5e33c 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -185,7 +185,7 @@ stdenv.mkDerivation ({ ; }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = (import ../common/pre-configure.nix { inherit lib; @@ -226,7 +226,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix index 482cc5f362e5f..e4dab5f263dc8 100644 --- a/pkgs/development/compilers/gcc/11/default.nix +++ b/pkgs/development/compilers/gcc/11/default.nix @@ -191,7 +191,7 @@ stdenv.mkDerivation ({ ; }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = (import ../common/pre-configure.nix { inherit lib; @@ -232,7 +232,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix index 5d8205a755195..621da8f1bef7e 100644 --- a/pkgs/development/compilers/gcc/12/default.nix +++ b/pkgs/development/compilers/gcc/12/default.nix @@ -227,7 +227,7 @@ stdenv.mkDerivation ({ ; }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = (import ../common/pre-configure.nix { @@ -269,7 +269,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index e2e9cb66d0a98..d99e889daa113 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -228,7 +228,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index eba68c39fd507..6dd8f975707ca 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -248,7 +248,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 27d57a509aaed..41db37989edac 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -228,7 +228,7 @@ stdenv.mkDerivation ({ ; }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = import ../common/pre-configure.nix { inherit lib; @@ -267,7 +267,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index d22e85c61adcf..bc61223d4c856 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -190,7 +190,7 @@ stdenv.mkDerivation ({ }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument"; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = import ../common/pre-configure.nix { inherit lib; @@ -229,7 +229,6 @@ stdenv.mkDerivation ({ ; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 2b43fc124bf02..5bdba91b7076e 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -171,7 +171,7 @@ stdenv.mkDerivation ({ ; }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = import ../common/pre-configure.nix { inherit lib; @@ -208,7 +208,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index ebf0bf0563906..53945fec4613a 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -184,7 +184,7 @@ stdenv.mkDerivation ({ ; }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget; - NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl"; + NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm"; preConfigure = import ../common/pre-configure.nix { inherit lib; @@ -223,7 +223,6 @@ stdenv.mkDerivation ({ }; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; - targetPlatformConfig = targetPlatform.config; buildFlags = optional (targetPlatform == hostPlatform && hostPlatform == buildPlatform) diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index dd5a8de76e2a8..2d7a058fa015c 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -203,17 +203,6 @@ preInstall() { ln -s lib "$out/${targetConfig}/lib32" ln -s lib "${!outputLib}/${targetConfig}/lib32" fi - - # cc-wrappers uses --sysroot=/nix/store/does/not/exist as a way to - # drop default sysheaders search path. Unfortunately that switches - # clang++ into searching libraries in gcc in cross-compiler paths: - # from ${!outputLib}/lib (native) - # to ${!outputLib}/${targetPlatformConfig}/lib - # We create the symlink to make both native and cross paths - # available even if the toolchain is not the cross-compiler. - if [ ! -e ${!outputLib}/${targetPlatformConfig} ] ; then - ln -s . ${!outputLib}/${targetPlatformConfig} - fi } diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index f5f46ff9f4f7f..e0e980483064b 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -10,13 +10,13 @@ }: stdenv.mkDerivation rec { pname = "glslang"; - version = "1.3.236.0"; + version = "1.3.239.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; rev = "sdk-${version}"; - hash = "sha256-iVcx1j7OMJEU4cPydNwQSFufTUiqq7GKp69Y6pEt7Wc="; + hash = "sha256-P2HG/oJXdB5nvU3zVnj2vSLJGQuDcZiQBfBBvuR66Kk="; }; # These get set at all-packages, keep onto them for child drvs @@ -33,6 +33,14 @@ stdenv.mkDerivation rec { url = "https://github.com/KhronosGroup/glslang/commit/7627bd89583c5aafb8b38c81c15494019271fabf.patch"; hash = "sha256-1Dwhn78PG4gAGgEwTXpC+mkZRyvy8sTIsEvihXFeNaQ="; }) + # Upstream tries to detect the Darwin linker by checking for AppleClang, but it’s just Clang in nixpkgs. + # Revert the commit to allow the build to work on Darwin with the nixpkg Darwin Clang toolchain. + (fetchpatch { + name = "Fix-Darwin-linker-error.patch"; + url = "https://github.com/KhronosGroup/glslang/commit/586baa35a47b3aa6ad3fa829a27f0f4206400668.patch"; + hash = "sha256-paAl4E8GzogcxDEzn/XuhNH6XObp+i7WfArqAiuH4Mk="; + revert = true; + }) ]; postPatch = '' diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix index 3c089f02920a1..b19fe44c13170 100644 --- a/pkgs/development/compilers/go/1.18.nix +++ b/pkgs/development/compilers/go/1.18.nix @@ -1,5 +1,6 @@ { lib , stdenv +, fetchpatch , fetchurl , tzdata , substituteAll @@ -87,6 +88,12 @@ stdenv.mkDerivation rec { }) ./remove-tools-1.11.patch ./go_no_vendor_checks-1.16.patch + + # runtime: support riscv64 SV57 mode + (fetchpatch { + url = "https://github.com/golang/go/commit/1e3c19f3fee12e5e2b7802a54908a4d4d03960da.patch"; + sha256 = "sha256-mk/9gXwQEcAkiRemF6GiNU0c0fhDR29/YcKgQR7ONTA="; + }) ]; GOOS = stdenv.targetPlatform.parsed.kernel.name; diff --git a/pkgs/development/compilers/go/1.19.nix b/pkgs/development/compilers/go/1.19.nix index 84a6059581e73..13cf14c77fa5a 100644 --- a/pkgs/development/compilers/go/1.19.nix +++ b/pkgs/development/compilers/go/1.19.nix @@ -1,5 +1,6 @@ { lib , stdenv +, fetchpatch , fetchurl , tzdata , substituteAll @@ -87,6 +88,12 @@ stdenv.mkDerivation rec { }) ./remove-tools-1.11.patch ./go_no_vendor_checks-1.16.patch + + # runtime: support riscv64 SV57 mode + (fetchpatch { + url = "https://github.com/golang/go/commit/1e3c19f3fee12e5e2b7802a54908a4d4d03960da.patch"; + sha256 = "sha256-mk/9gXwQEcAkiRemF6GiNU0c0fhDR29/YcKgQR7ONTA="; + }) ]; GOOS = stdenv.targetPlatform.parsed.kernel.name; diff --git a/pkgs/development/compilers/llvm/10/llvm/default.nix b/pkgs/development/compilers/llvm/10/llvm/default.nix index 95eba5d7fb36e..41c20ac47ebfd 100644 --- a/pkgs/development/compilers/llvm/10/llvm/default.nix +++ b/pkgs/development/compilers/llvm/10/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -191,7 +192,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/11/llvm/default.nix b/pkgs/development/compilers/llvm/11/llvm/default.nix index 2123efdf23519..93cf2757c6522 100644 --- a/pkgs/development/compilers/llvm/11/llvm/default.nix +++ b/pkgs/development/compilers/llvm/11/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -203,7 +204,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/12/llvm/default.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix index b04eeb3c72693..3d5592e19ee59 100644 --- a/pkgs/development/compilers/llvm/12/llvm/default.nix +++ b/pkgs/development/compilers/llvm/12/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -191,7 +192,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/13/llvm/default.nix b/pkgs/development/compilers/llvm/13/llvm/default.nix index 32e96212fa575..e2d6da816f32c 100644 --- a/pkgs/development/compilers/llvm/13/llvm/default.nix +++ b/pkgs/development/compilers/llvm/13/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -153,7 +154,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/14/llvm/default.nix b/pkgs/development/compilers/llvm/14/llvm/default.nix index 5437735f78fed..d8010ecf893d2 100644 --- a/pkgs/development/compilers/llvm/14/llvm/default.nix +++ b/pkgs/development/compilers/llvm/14/llvm/default.nix @@ -6,6 +6,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -165,7 +166,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/15/llvm/default.nix b/pkgs/development/compilers/llvm/15/llvm/default.nix index e0b79a9acfefc..de98c43615314 100644 --- a/pkgs/development/compilers/llvm/15/llvm/default.nix +++ b/pkgs/development/compilers/llvm/15/llvm/default.nix @@ -9,6 +9,7 @@ , python3 , python3Packages , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -327,7 +328,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/5/llvm/default.nix b/pkgs/development/compilers/llvm/5/llvm/default.nix index a4d04f0618c7e..31b88098c83a8 100644 --- a/pkgs/development/compilers/llvm/5/llvm/default.nix +++ b/pkgs/development/compilers/llvm/5/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libxml2 , ncurses @@ -168,10 +169,9 @@ stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] - ++ lib.optional (!isDarwin) + ] ++ lib.optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ++ lib.optionals (isDarwin) [ + ] ++ lib.optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DCAN_TARGET_i386=false" ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ diff --git a/pkgs/development/compilers/llvm/6/llvm/default.nix b/pkgs/development/compilers/llvm/6/llvm/default.nix index d18bf2149e1d7..954887cd23680 100644 --- a/pkgs/development/compilers/llvm/6/llvm/default.nix +++ b/pkgs/development/compilers/llvm/6/llvm/default.nix @@ -4,6 +4,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libxml2 , ncurses @@ -162,7 +163,7 @@ stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/7/llvm/default.nix b/pkgs/development/compilers/llvm/7/llvm/default.nix index da72bb8b35ae3..eaeef3c2ef505 100644 --- a/pkgs/development/compilers/llvm/7/llvm/default.nix +++ b/pkgs/development/compilers/llvm/7/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -180,7 +181,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/8/llvm/default.nix b/pkgs/development/compilers/llvm/8/llvm/default.nix index 5c381a896e152..aa76fc0c3cf7e 100644 --- a/pkgs/development/compilers/llvm/8/llvm/default.nix +++ b/pkgs/development/compilers/llvm/8/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -173,7 +174,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/9/llvm/default.nix b/pkgs/development/compilers/llvm/9/llvm/default.nix index f8b6a8170f85a..89bc014f5c65a 100644 --- a/pkgs/development/compilers/llvm/9/llvm/default.nix +++ b/pkgs/development/compilers/llvm/9/llvm/default.nix @@ -5,6 +5,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? libbfd.hasPluginAPI , libbfd , libpfm , libxml2 @@ -188,7 +189,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/llvm/git/llvm/default.nix b/pkgs/development/compilers/llvm/git/llvm/default.nix index b4e2757f20ca1..9a0d375df9c37 100644 --- a/pkgs/development/compilers/llvm/git/llvm/default.nix +++ b/pkgs/development/compilers/llvm/git/llvm/default.nix @@ -6,6 +6,7 @@ , cmake , python3 , libffi +, enableGoldPlugin ? (!stdenv.isDarwin && !stdenv.targetPlatform.isWasi) , libbfd , libpfm , libxml2 @@ -151,7 +152,7 @@ in stdenv.mkDerivation (rec { "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ optionals (!isDarwin) [ + ] ++ optionals (enableGoldPlugin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" ] ++ optionals isDarwin [ "-DLLVM_ENABLE_LIBCXX=ON" diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix index 5a96242da7b13..da668b51e2785 100644 --- a/pkgs/development/compilers/mit-scheme/default.nix +++ b/pkgs/development/compilers/mit-scheme/default.nix @@ -49,6 +49,12 @@ stdenv.mkDerivation { runHook postConfigure ''; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-parameter" + "-Wno-error=use-after-free" + ]; + buildPhase = '' runHook preBuild cd src diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix index 72b25bff777b6..e5980a711a3c0 100644 --- a/pkgs/development/compilers/openjdk/11.nix +++ b/pkgs/development/compilers/openjdk/11.nix @@ -4,15 +4,15 @@ , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: let major = "11"; minor = "0"; - update = "17"; - build = "8"; + update = "18"; + build = "10"; openjdk = stdenv.mkDerivation rec { pname = "openjdk" + lib.optionalString headless "-headless"; @@ -22,7 +22,7 @@ let owner = "openjdk"; repo = "jdk${major}u"; rev = "jdk-${version}"; - sha256 = "sha256-kvgLYqQZPqyuigVyzbDHc3TMff0clvzM8IdzYLYcxPU="; + sha256 = "sha256-QGOpMIrWwOtIcUY/CLbTRDvcVTG2xioZu46v+n+IIQ4="; }; nativeBuildInputs = [ pkg-config autoconf unzip ]; diff --git a/pkgs/development/compilers/openjdk/12.nix b/pkgs/development/compilers/openjdk/12.nix index bd3defbd6b98c..682bb3263f74c 100644 --- a/pkgs/development/compilers/openjdk/12.nix +++ b/pkgs/development/compilers/openjdk/12.nix @@ -4,7 +4,7 @@ , libXcursor, libXrandr, fontconfig, openjdk11, fetchpatch , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: diff --git a/pkgs/development/compilers/openjdk/13.nix b/pkgs/development/compilers/openjdk/13.nix index 40dc753f7955c..72be3b050dd94 100644 --- a/pkgs/development/compilers/openjdk/13.nix +++ b/pkgs/development/compilers/openjdk/13.nix @@ -4,7 +4,7 @@ , libXcursor, libXrandr, fontconfig, openjdk13-bootstrap, fetchpatch , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: diff --git a/pkgs/development/compilers/openjdk/14.nix b/pkgs/development/compilers/openjdk/14.nix index 047e1a3908191..50e23ca1399c5 100644 --- a/pkgs/development/compilers/openjdk/14.nix +++ b/pkgs/development/compilers/openjdk/14.nix @@ -4,7 +4,7 @@ , libXcursor, libXrandr, fontconfig, openjdk14-bootstrap , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: diff --git a/pkgs/development/compilers/openjdk/15.nix b/pkgs/development/compilers/openjdk/15.nix index c33e937f9f24b..f013cddbae536 100644 --- a/pkgs/development/compilers/openjdk/15.nix +++ b/pkgs/development/compilers/openjdk/15.nix @@ -4,7 +4,7 @@ , libXcursor, libXrandr, fontconfig, openjdk15-bootstrap , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: diff --git a/pkgs/development/compilers/openjdk/16.nix b/pkgs/development/compilers/openjdk/16.nix index 461cd724144ed..eee569a7bfd67 100644 --- a/pkgs/development/compilers/openjdk/16.nix +++ b/pkgs/development/compilers/openjdk/16.nix @@ -4,7 +4,7 @@ , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk16-bootstrap , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix index 6d8087d7e948d..0d9ffb1f79f46 100644 --- a/pkgs/development/compilers/openjdk/17.nix +++ b/pkgs/development/compilers/openjdk/17.nix @@ -4,15 +4,15 @@ , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk17-bootstrap , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: let version = { feature = "17"; - interim = ".0.5"; - build = "8"; + interim = ".0.6"; + build = "10"; }; openjdk = stdenv.mkDerivation { @@ -23,7 +23,7 @@ let owner = "openjdk"; repo = "jdk${version.feature}u"; rev = "jdk-${version.feature}${version.interim}+${version.build}"; - sha256 = "sha256-2k1Mm36ds6MZheZVsLvXkoqQG4zYeIRWzbP1aZ72Vqs="; + sha256 = "sha256-zPpINi++3Ct0PCwlwlfhceh/ploMkclw+MgeI9dULdc="; }; nativeBuildInputs = [ pkg-config autoconf unzip ]; diff --git a/pkgs/development/compilers/openjdk/18.nix b/pkgs/development/compilers/openjdk/18.nix index 37b51a1ee4ce0..4726e145d152b 100644 --- a/pkgs/development/compilers/openjdk/18.nix +++ b/pkgs/development/compilers/openjdk/18.nix @@ -4,7 +4,7 @@ , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk18-bootstrap , setJavaClassPath , headless ? false -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: diff --git a/pkgs/development/compilers/openjdk/19.nix b/pkgs/development/compilers/openjdk/19.nix index 717bfedcb6354..c79c3d34bd44f 100644 --- a/pkgs/development/compilers/openjdk/19.nix +++ b/pkgs/development/compilers/openjdk/19.nix @@ -7,15 +7,15 @@ # TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages # which should be fixable, this is a no-rebuild workaround for GHC. , headless ? stdenv.targetPlatform.isGhcjs -, enableJavaFX ? openjfx.meta.available, openjfx +, enableJavaFX ? false, openjfx , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf }: let version = { feature = "19"; - interim = ".0.1"; - build = "10"; + interim = ".0.2"; + build = "7"; }; openjdk = stdenv.mkDerivation { @@ -26,7 +26,7 @@ let owner = "openjdk"; repo = "jdk${version.feature}u"; rev = "jdk-${version.feature}${version.interim}+${version.build}"; - hash = "sha256-IS6ABnVdW1qJ4gu4YSgMVFXBTNdtWFdbNNz+kMaiyk8="; + hash = "sha256-pBEHmBtIgG4Czou4C/zpBBYZEDImvXiLoA5CjOzpeyI="; }; nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; @@ -57,8 +57,8 @@ let # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. # This is applied anywhere to prevent patchrot. (fetchpatch { - url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=b93d1fc37fcf106144958d957bb97c7db67bd41f"; - hash = "sha256-cnpeYcVoRYjuDgrl2x27frv6KUAnu1+1MVPehPZy/Cg="; + url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=93dc07f97ff716b647c5f57c6224901ea06da560"; + hash = "sha256-H4X3Yip5bCpXMH7MSu9BgXIOYRVUBMZPZW8EvZSWI5k="; }) ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk13.patch diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index c65a9fcc66b68..e78e45b878efa 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -20,7 +20,7 @@ let powerpc64le-linux = "ppc64le"; }.${stdenv.system} or (throw "Unsupported platform ${stdenv.system}"); - update = "352"; + update = "362"; build = "ga"; openjdk8 = stdenv.mkDerivation rec { @@ -31,7 +31,7 @@ let owner = "openjdk"; repo = "jdk8u"; rev = "jdk${version}"; - sha256 = "sha256-xDiiALDjStD9IPhbBr997rm/v2Q/WdS10cILBCmdJIQ="; + sha256 = "sha256-C5dQwfIIpIrLeO3JWERyFCQHUSgG8gARuc3qXAeLkJ4="; }; outputs = [ "out" "jre" ]; diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix index 164677c3b8dcd..276767fa37a82 100644 --- a/pkgs/development/compilers/openjdk/openjfx/11.nix +++ b/pkgs/development/compilers/openjdk/openjfx/11.nix @@ -1,26 +1,19 @@ { stdenv, lib, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake -, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, icu68 -, openjdk11-bootstrap }: +, gperf, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, icu68 +, openjdk11-bootstrap +, withMedia ? true +, withWebKit ? false +}: let major = "11"; - update = ".0.17"; + update = ".0.18"; build = "1"; repover = "${major}${update}+${build}"; gradle_ = (gradle_7.override { java = openjdk11-bootstrap; }); - NIX_CFLAGS_COMPILE = [ - # avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. - "-DGLIB_DISABLE_DEPRECATION_WARNINGS" - # glib-2.62 deprecations - # -fcommon: gstreamer workaround for -fno-common toolchains: - # ld: gsttypefindelement.o:(.bss._gst_disable_registry_cache+0x0): multiple definition of - # `_gst_disable_registry_cache'; gst.o:(.bss._gst_disable_registry_cache+0x0): first defined here - "-fcommon" - ]; - makePackage = args: stdenv.mkDerivation ({ version = "${major}${update}-${build}"; @@ -28,10 +21,10 @@ let owner = "openjdk"; repo = "jfx${major}u"; rev = repover; - sha256 = "sha256-uKb6k+tIFdwy1BYiHWeGmKNz82X4CZjFlGYqLDpSFY0="; + sha256 = "sha256-46DjIzcBHkmp5vnhYnLu78CG72bIBRM4A6mgk2OLOko="; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; @@ -81,8 +74,8 @@ in makePackage { pname = "openjfx-modular-sdk"; gradleProperties = '' - COMPILE_MEDIA = true - COMPILE_WEBKIT = false + COMPILE_MEDIA = ${lib.boolToString withMedia} + COMPILE_WEBKIT = ${lib.boolToString withWebKit} ''; preBuild = '' diff --git a/pkgs/development/compilers/openjdk/openjfx/15.nix b/pkgs/development/compilers/openjdk/openjfx/15.nix index 788baabde848f..6e853efedcbba 100644 --- a/pkgs/development/compilers/openjdk/openjfx/15.nix +++ b/pkgs/development/compilers/openjdk/openjfx/15.nix @@ -1,6 +1,9 @@ { stdenv, lib, fetchFromGitHub, writeText, openjdk11_headless, gradle_6 -, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib -, ffmpeg_4-headless, python3, ruby }: +, pkg-config, perl, cmake, gperf, gtk3, libXtst, libXxf86vm, glib, alsa-lib +, ffmpeg_4-headless, python3, ruby +, withMedia ? true +, withWebKit ? false +}: let major = "15"; @@ -21,7 +24,7 @@ let sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1"; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; @@ -76,8 +79,8 @@ in makePackage { pname = "openjfx-modular-sdk"; gradleProperties = '' - COMPILE_MEDIA = true - COMPILE_WEBKIT = false + COMPILE_MEDIA = ${lib.boolToString withMedia} + COMPILE_WEBKIT = ${lib.boolToString withWebKit} ''; preBuild = '' diff --git a/pkgs/development/compilers/openjdk/openjfx/17.nix b/pkgs/development/compilers/openjdk/openjfx/17.nix index 8d4d47df32e7f..5c1d057a21880 100644 --- a/pkgs/development/compilers/openjdk/openjfx/17.nix +++ b/pkgs/development/compilers/openjdk/openjfx/17.nix @@ -1,11 +1,14 @@ { stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless, gradle_7 -, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib -, ffmpeg_4-headless, python3, ruby, icu68 }: +, pkg-config, perl, cmake, gperf, gtk3, libXtst, libXxf86vm, glib, alsa-lib +, ffmpeg_4-headless, python3, ruby, icu68 +, withMedia ? true +, withWebKit ? false +}: let major = "17"; - update = ".0.5"; - build = "+1"; + update = ".0.6"; + build = "+3"; repover = "${major}${update}${build}"; gradle_ = (gradle_7.override { java = openjdk17_headless; @@ -18,10 +21,10 @@ let owner = "openjdk"; repo = "jfx${major}u"; rev = repover; - sha256 = "sha256-jzLOlWuhkUS0/4+nXtjd1/IYbAHHnJrusFRTh7aPt8U="; + sha256 = "sha256-9VfXk2EfMebMyVKPohPRP2QXRFf8XemUtfY0JtBCHyw="; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; @@ -66,8 +69,8 @@ in makePackage { pname = "openjfx-modular-sdk"; gradleProperties = '' - COMPILE_MEDIA = true - COMPILE_WEBKIT = false + COMPILE_MEDIA = ${lib.boolToString withMedia} + COMPILE_WEBKIT = ${lib.boolToString withWebKit} ''; preBuild = '' diff --git a/pkgs/development/compilers/openjdk/openjfx/19.nix b/pkgs/development/compilers/openjdk/openjfx/19.nix index 96103734eb0a5..e0c23e4734b17 100644 --- a/pkgs/development/compilers/openjdk/openjfx/19.nix +++ b/pkgs/development/compilers/openjdk/openjfx/19.nix @@ -1,11 +1,14 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless -, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst -, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68 }: +, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk3, libXtst +, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68 +, withMedia ? true +, withWebKit ? false +}: let major = "19"; - update = ""; - build = "+11"; + update = ".0.2.1"; + build = "+1"; repover = "${major}${update}${build}"; gradle_ = (gradle_7.override { # note: gradle does not yet support running on 19 @@ -19,7 +22,7 @@ let owner = "openjdk"; repo = "jfx"; rev = repover; - hash = "sha256-UXTaXtJ8py83V7IQK9wACIEWDAMRUaYNgH9e/Aeyuzc="; + hash = "sha256-A08GhCGpzWlUG1+f6mcjvkJmMNaOReacQKPEmNpUvLs="; }; patches = [ @@ -35,7 +38,7 @@ let }) ]; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ]; + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ]; nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; @@ -83,8 +86,8 @@ in makePackage { pname = "openjfx-modular-sdk"; gradleProperties = '' - COMPILE_MEDIA = true - COMPILE_WEBKIT = false + COMPILE_MEDIA = ${lib.boolToString withMedia} + COMPILE_WEBKIT = ${lib.boolToString withWebKit} ''; preBuild = '' diff --git a/pkgs/development/compilers/rust/1_66.nix b/pkgs/development/compilers/rust/1_66.nix deleted file mode 100644 index 6aee98bdba063..0000000000000 --- a/pkgs/development/compilers/rust/1_66.nix +++ /dev/null @@ -1,64 +0,0 @@ -# New rust versions should first go to staging. -# Things to check after updating: -# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: -# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github -# This testing can be also done by other volunteers as part of the pull -# request review, in case platforms cannot be covered. -# 2. The LLVM version used for building should match with rust upstream. -# Check the version number in the src/llvm-project git submodule in: -# https://github.com/rust-lang/rust/blob//.gitmodules -# 3. Firefox and Thunderbird should still build on x86_64-linux. - -{ stdenv, lib -, buildPackages -, newScope, callPackage -, CoreFoundation, Security, SystemConfiguration -, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost -, makeRustPlatform -, llvmPackages_11 -, llvmPackages_14, llvm_14 -} @ args: - -import ./default.nix { - rustcVersion = "1.66.1"; - rustcSha256 = "sha256-WzyTOpTHIYdwXU7ikxmLq/3QlEL1k3+9aF2zqB9JWbo="; - - llvmSharedForBuild = pkgsBuildBuild.llvmPackages_14.libllvm.override { enableSharedLibraries = true; }; - llvmSharedForHost = pkgsBuildHost.llvmPackages_14.libllvm.override { enableSharedLibraries = true; }; - llvmSharedForTarget = pkgsBuildTarget.llvmPackages_14.libllvm.override { enableSharedLibraries = true; }; - - llvmBootstrapForDarwin = llvmPackages_11; - - # For use at runtime - llvmShared = llvm_14.override { enableSharedLibraries = true; }; - - # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox - llvmPackages = llvmPackages_14; - - # Note: the version MUST be one version prior to the version we're - # building - bootstrapVersion = "1.65.0"; - - # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` - bootstrapHashes = { - i686-unknown-linux-gnu = "b29869f8e2c7029150a929b2c4e26843f363846ad99253a25be6abcfa8e84f46"; - x86_64-unknown-linux-gnu = "8f754fdd5af783fe9020978c64e414cb45f3ad0a6f44d045219bbf2210ca3cb9"; - x86_64-unknown-linux-musl = "716984def5509a844c2dde1c7be42bfadeb179f751d5c1a30c9c7198c8c089cd"; - arm-unknown-linux-gnueabihf = "e27f835c16bfcb66ad022a17d5c4602899e021e483a432ca4cc2cb4ecd39e938"; - armv7-unknown-linux-gnueabihf = "5376d467a29b32cacb771e0c76dc280bd623852709e7ffd92caabab076d5475f"; - aarch64-unknown-linux-gnu = "f406136010e6a1cdce3fb6573506f00d23858af49dd20a46723c3fa5257b7796"; - aarch64-unknown-linux-musl = "4b701dc3cbac04ebf0e336cff2f4ce5fc1a1984c183226863c9ed911eb00b07e"; - x86_64-apple-darwin = "139087a3937799415fd829e5a88162a69a32c23725a44457f9c96b98e4d64a7c"; - aarch64-apple-darwin = "7ddc335bd10fc32d3039ef36248a5d0c4865db2437c8aad20a2428a6cf41df09"; - powerpc64le-unknown-linux-gnu = "3f1d0d5bb13213348dc65e373f8c412fc0a12ee55abc1c864f7e0300932fc687"; - riscv64gc-unknown-linux-gnu = "aac7067348d218faa452b4bdc735778a51570a310ad645313ec767b5d7c88492"; - mips64el-unknown-linux-gnuabi64 = "d91ed3857c5256720da890f6533684b684e880bf9006dc4e4f4181213a5c4a09"; - }; - - selectRustPackage = pkgs: pkgs.rust_1_66; - - rustcPatches = [ - ]; -} - -(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_14" "llvm_14"]) diff --git a/pkgs/development/compilers/rust/1_67.nix b/pkgs/development/compilers/rust/1_67.nix new file mode 100644 index 0000000000000..2d22432798a41 --- /dev/null +++ b/pkgs/development/compilers/rust/1_67.nix @@ -0,0 +1,73 @@ +# New rust versions should first go to staging. +# Things to check after updating: +# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: +# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github +# This testing can be also done by other volunteers as part of the pull +# request review, in case platforms cannot be covered. +# 2. The LLVM version used for building should match with rust upstream. +# Check the version number in the src/llvm-project git submodule in: +# https://github.com/rust-lang/rust/blob//.gitmodules +# 3. Firefox and Thunderbird should still build on x86_64-linux. + +{ stdenv, lib +, buildPackages +, newScope, callPackage +, CoreFoundation, Security, SystemConfiguration +, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost +, makeRustPlatform +, llvmPackages_11 +, llvmPackages_15, llvm_15 +, fetchpatch +} @ args: + +import ./default.nix { + rustcVersion = "1.67.1"; + rustcSha256 = "sha256-Rkg9Pl3oWjvUb456OuGDdJY5EGfb5xOiXTzwUbPZ/24="; + + llvmSharedForBuild = pkgsBuildBuild.llvmPackages_15.libllvm.override { enableSharedLibraries = true; }; + llvmSharedForHost = pkgsBuildHost.llvmPackages_15.libllvm.override { enableSharedLibraries = true; }; + llvmSharedForTarget = pkgsBuildTarget.llvmPackages_15.libllvm.override { enableSharedLibraries = true; }; + + llvmBootstrapForDarwin = llvmPackages_11; + + # For use at runtime + llvmShared = llvm_15.override { enableSharedLibraries = true; }; + + # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox + llvmPackages = llvmPackages_15; + + # Note: the version MUST be one version prior to the version we're + # building + bootstrapVersion = "1.66.1"; + + # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` + bootstrapHashes = { + i686-unknown-linux-gnu = "823128f64e902ee8aff61488c552c983e17ccca10c3f46dd93fde924d5100eb3"; + x86_64-unknown-linux-gnu = "7ecf79e9ea23d05917b0172f9f81fb1e47011d261a719998f8d5620a1e835023"; + x86_64-unknown-linux-musl = "70b660148238b8a137c6f165b0bc7bdcb50204c22a314bed6174ecd672f02e57"; + arm-unknown-linux-gnueabihf = "12c93efe71f3334ef6e718786f6a60b9566f097d23a7f1e8f38ed9add209126f"; + armv7-unknown-linux-gnueabihf = "f43c8cd3fd7d1c1e08bd6317220b2ec9b25891f464604f80bb17985b09bbf62a"; + aarch64-unknown-linux-gnu = "84b8a79803c1b91386460fe6a7d04c54002344452ff8e5c5631d5fa275ed0c9c"; + aarch64-unknown-linux-musl = "b2665da33efd328cff192a67ad026ea84f9deab8d1971892f4bbc22647606163"; + x86_64-apple-darwin = "0fcf341db2579aa6eb61a3430cd1dbc79b042dfe89686b93cc887d818d086c30"; + aarch64-apple-darwin = "03469fcaa0d8c505e6db03c18ded73cfbb6a2ce159292f8cf06c042bfc9f7cf9"; + powerpc64le-unknown-linux-gnu = "ccf915a0137bb83a9d9b133a234ae53cc099f2ba26e3cb09d209b47bbee2ade7"; + riscv64gc-unknown-linux-gnu = "525cb05edaf3ed0560753b413c72dd1b06492df28bf3c427a66fda683fdca3fc"; + mips64el-unknown-linux-gnuabi64 = "3c241cc80410fe389e8b04beda62c42496c225fe8776db9d55a498c53244f7a6"; + }; + + selectRustPackage = pkgs: pkgs.rust_1_67; + + rustcPatches = [ + # Fixes ICE. + # https://github.com/rust-lang/rust/pull/107688 + (fetchpatch { + name = "re-erased-regions-are-local.patch"; + url = "https://github.com/rust-lang/rust/commit/9d110847ab7f6aef56a8cd20cb6cea4fbcc51cd9.patch"; + excludes = [ "*tests/*" ]; + hash = "sha256-EZH5K1BEOOfi97xZr1xEHFP4jjvJ1+xqtRMvxBoL8pU="; + }) + ]; +} + +(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_15" "llvm_15"]) diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index d04eebe7eadf4..481b4195891ca 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -1,6 +1,6 @@ { lib, stdenv, pkgsHostHost , file, curl, pkg-config, python3, openssl, cmake, zlib -, installShellFiles, makeWrapper, cacert, rustPlatform, rustc +, installShellFiles, makeWrapper, rustPlatform, rustc , CoreFoundation, Security , auditable ? false # TODO: change to true when this is the default }: @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage { (lib.getDev pkgsHostHost.curl) zlib ]; - buildInputs = [ cacert file curl python3 openssl zlib ] + buildInputs = [ file curl python3 openssl zlib ] ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ]; # cargo uses git-rs which is made for a version of libgit2 from recent master that @@ -39,14 +39,7 @@ rustPlatform.buildRustPackage { RUSTC_BOOTSTRAP = 1; postInstall = '' - # NOTE: We override the `http.cainfo` option usually specified in - # `.cargo/config`. This is an issue when users want to specify - # their own certificate chain as environment variables take - # precedence - wrapProgram "$out/bin/cargo" \ - --suffix PATH : "${rustc}/bin" \ - --set CARGO_HTTP_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \ - --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" + wrapProgram "$out/bin/cargo" --suffix PATH : "${rustc}/bin" installManPage src/tools/cargo/src/etc/man/* diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 426f137788389..60f07a64299ab 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -165,7 +165,6 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ openssl ] - # TODO: remove libiconv once 1.66 is used to bootstrap ++ optionals stdenv.isDarwin [ libiconv Security ] ++ optional (!withBundledLLVM) llvmShared; diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 159b1827fc8fd..ed1d7fc57a64f 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -38,7 +38,6 @@ stdenv.mkDerivation rec { "-L${variables.libdir}" "-Wl,--rpath ${variables.libdir}" "-ltcc" - "-ldl" ]; variables = rec { prefix = "${placeholder "out"}"; diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index 67ebaa04699e3..a881b2f1badb1 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -33,6 +33,11 @@ stdenv.mkDerivation rec { -L${sqlite.out}/lib"; ''; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=use-after-free" + ]; + # Be sure to keep the statically linked libraries dontDisableStatic = true; diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix index 3bcada9aa8f04..e413914aa39cd 100644 --- a/pkgs/development/interpreters/gnu-apl/default.nix +++ b/pkgs/development/interpreters/gnu-apl/default.nix @@ -21,6 +21,10 @@ stdenv.mkDerivation rec { "-Wno-error=maybe-uninitialized" # Needed with GCC 11 "-Wno-error=misleading-indentation" + # Needed with GCC 12 + "-Wno-error=nonnull" + "-Wno-error=stringop-overflow" + "-Wno-error=use-after-free" ]) ++ optional stdenv.cc.isClang "-Wno-error=null-dereference"); patchPhase = lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/development/interpreters/lua-5/hooks/default.nix b/pkgs/development/interpreters/lua-5/hooks/default.nix index fc92c59bb910c..6c303f770decc 100644 --- a/pkgs/development/interpreters/lua-5/hooks/default.nix +++ b/pkgs/development/interpreters/lua-5/hooks/default.nix @@ -27,7 +27,7 @@ in { luarocksCheckHook = callPackage ({ luarocks }: makeSetupHook { name = "luarocks-check-hook"; - deps = [ luarocks ]; + propagatedBuildInputs = [ luarocks ]; } ./luarocks-check-hook.sh) {}; # luarocks installs data in a non-overridable location. Until a proper luarocks patch, @@ -35,6 +35,6 @@ in { luarocksMoveDataFolder = callPackage ({ }: makeSetupHook { name = "luarocks-move-rock"; - deps = [ ]; + propagatedBuildInputs = [ ]; } ./luarocks-move-data.sh) {}; } diff --git a/pkgs/development/interpreters/lua-5/wrap-lua.nix b/pkgs/development/interpreters/lua-5/wrap-lua.nix index c9ef151bea3c3..43ececd1e794c 100644 --- a/pkgs/development/interpreters/lua-5/wrap-lua.nix +++ b/pkgs/development/interpreters/lua-5/wrap-lua.nix @@ -8,7 +8,7 @@ # imported as wrapLua in lua-packages.nix and passed to build-lua-derivation to be used as buildInput makeSetupHook { name = "wrap-lua-hook"; - deps = makeWrapper; + propagatedBuildInputs = [ makeWrapper ]; substitutions.executable = lua.interpreter; substitutions.lua = lua; substitutions.LuaPathSearchPaths = lib.escapeShellArgs lua.LuaPathSearchPaths; diff --git a/pkgs/development/interpreters/octave/wrap-octave.nix b/pkgs/development/interpreters/octave/wrap-octave.nix index 1e4616136a1b9..2317a479f0e20 100644 --- a/pkgs/development/interpreters/octave/wrap-octave.nix +++ b/pkgs/development/interpreters/octave/wrap-octave.nix @@ -10,7 +10,7 @@ # Each of the substitutions is available in the wrap.sh script as @thingSubstituted@ makeSetupHook { name = "${octave.name}-pkgs-setup-hook"; - deps = makeWrapper; + propagatedBuildInputs = [ makeWrapper ]; substitutions.executable = octave.interpreter; substitutions.octave = octave; } ./wrap.sh diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index 08dc3ea61ab76..001e477b9185b 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -11,7 +11,7 @@ in { condaInstallHook = callPackage ({ makePythonHook, gnutar, lbzip2 }: makePythonHook { name = "conda-install-hook"; - deps = [ gnutar lbzip2 ]; + propagatedBuildInputs = [ gnutar lbzip2 ]; substitutions = { inherit pythonSitePackages; }; @@ -20,19 +20,19 @@ in { condaUnpackHook = callPackage ({ makePythonHook }: makePythonHook { name = "conda-unpack-hook"; - deps = []; + propagatedBuildInputs = []; } ./conda-unpack-hook.sh) {}; eggBuildHook = callPackage ({ makePythonHook }: makePythonHook { name = "egg-build-hook.sh"; - deps = [ ]; + propagatedBuildInputs = [ ]; } ./egg-build-hook.sh) {}; eggInstallHook = callPackage ({ makePythonHook, setuptools }: makePythonHook { name = "egg-install-hook.sh"; - deps = [ setuptools ]; + propagatedBuildInputs = [ setuptools ]; substitutions = { inherit pythonInterpreter pythonSitePackages; }; @@ -41,13 +41,13 @@ in { eggUnpackHook = callPackage ({ makePythonHook, }: makePythonHook { name = "egg-unpack-hook.sh"; - deps = [ ]; + propagatedBuildInputs = [ ]; } ./egg-unpack-hook.sh) {}; flitBuildHook = callPackage ({ makePythonHook, flit }: makePythonHook { name = "flit-build-hook"; - deps = [ flit ]; + propagatedBuildInputs = [ flit ]; substitutions = { inherit pythonInterpreter; }; @@ -56,7 +56,7 @@ in { pipBuildHook = callPackage ({ makePythonHook, pip, wheel }: makePythonHook { name = "pip-build-hook.sh"; - deps = [ pip wheel ]; + propagatedBuildInputs = [ pip wheel ]; substitutions = { inherit pythonInterpreter pythonSitePackages; }; @@ -65,7 +65,7 @@ in { pipInstallHook = callPackage ({ makePythonHook, pip }: makePythonHook { name = "pip-install-hook"; - deps = [ pip ]; + propagatedBuildInputs = [ pip ]; substitutions = { inherit pythonInterpreter pythonSitePackages; }; @@ -74,7 +74,7 @@ in { pytestCheckHook = callPackage ({ makePythonHook, pytest }: makePythonHook { name = "pytest-check-hook"; - deps = [ pytest ]; + propagatedBuildInputs = [ pytest ]; substitutions = { inherit pythonCheckInterpreter; }; @@ -123,7 +123,7 @@ in { pythonRelaxDepsHook = callPackage ({ makePythonHook, wheel }: makePythonHook { name = "python-relax-deps-hook"; - deps = [ wheel ]; + propagatedBuildInputs = [ wheel ]; substitutions = { inherit pythonInterpreter; }; @@ -145,7 +145,7 @@ in { setuptoolsBuildHook = callPackage ({ makePythonHook, setuptools, wheel }: makePythonHook { name = "setuptools-setup-hook"; - deps = [ setuptools wheel ]; + propagatedBuildInputs = [ setuptools wheel ]; substitutions = { inherit pythonInterpreter pythonSitePackages setuppy; }; @@ -154,7 +154,7 @@ in { setuptoolsCheckHook = callPackage ({ makePythonHook, setuptools }: makePythonHook { name = "setuptools-check-hook"; - deps = [ setuptools ]; + propagatedBuildInputs = [ setuptools ]; substitutions = { inherit pythonCheckInterpreter setuppy; }; @@ -171,7 +171,7 @@ in { venvShellHook = disabledIf (!isPy3k) (callPackage ({ makePythonHook, ensureNewerSourcesForZipFilesHook }: makePythonHook { name = "venv-shell-hook"; - deps = [ ensureNewerSourcesForZipFilesHook ]; + propagatedBuildInputs = [ ensureNewerSourcesForZipFilesHook ]; substitutions = { inherit pythonInterpreter; }; @@ -180,7 +180,7 @@ in { wheelUnpackHook = callPackage ({ makePythonHook, wheel }: makePythonHook { name = "wheel-unpack-hook.sh"; - deps = [ wheel ]; + propagatedBuildInputs = [ wheel ]; } ./wheel-unpack-hook.sh) {}; wrapPython = callPackage ../wrap-python.nix { @@ -190,6 +190,6 @@ in { sphinxHook = callPackage ({ makePythonHook, sphinx, installShellFiles }: makePythonHook { name = "python${python.pythonVersion}-sphinx-hook"; - deps = [ sphinx installShellFiles ]; + propagatedBuildInputs = [ sphinx installShellFiles ]; } ./sphinx-hook.sh) {}; } diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index d5b02223fd6c3..de38fb1363206 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -16,17 +16,22 @@ let # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`. makeOverridablePythonPackage = f: origArgs: let - ff = f origArgs; - overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs); + args = lib.fix (lib.extends + (_: previousAttrs: { + passthru = (previousAttrs.passthru or { }) // { + overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); + }; + }) + (_: origArgs)); + result = f args; + overrideWith = newArgs: args // (if pkgs.lib.isFunction newArgs then newArgs args else newArgs); in - if builtins.isAttrs ff then (ff // { + if builtins.isAttrs result then result + else if builtins.isFunction result then { overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); - }) - else if builtins.isFunction ff then { - overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); - __functor = self: ff; + __functor = self: result; } - else ff; + else result; buildPythonPackage = makeOverridablePythonPackage (lib.makeOverridable (callPackage ./mk-python-derivation.nix { inherit namePrefix; # We want Python libraries to be named like e.g. "python3.6-${name}" diff --git a/pkgs/development/interpreters/python/wrap-python.nix b/pkgs/development/interpreters/python/wrap-python.nix index 83da013bfd2d9..c67a8e0885149 100644 --- a/pkgs/development/interpreters/python/wrap-python.nix +++ b/pkgs/development/interpreters/python/wrap-python.nix @@ -5,7 +5,7 @@ makePythonHook { name = "wrap-python-hook"; - deps = makeWrapper; + propagatedBuildInputs = [ makeWrapper ]; substitutions.sitePackages = python.sitePackages; substitutions.executable = python.interpreter; substitutions.python = python.pythonForBuild; diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 57d1e6d84fe1e..28c508cae8ba7 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -190,14 +190,7 @@ let # Allow to override compiler. This is important for cross compiling as # we need to set a compiler that is different from the build one. - awk -i inplace -F' = ' \ - ' # operate on the line starting with - /^ CONFIG\["CC"\]/ { - # replace the right hand side - sub($2, "ENV[\"CC\"] || \"1\"") - }; { print }' "$rbConfig" - # test that the line isn't mangled in case upstream made the above unnecessary - grep -qx ' CONFIG\["CC"\] = ENV\["CC"\] || "1"' "$rbConfig" + sed -i 's/CONFIG\["CC"\] = "\(.*\)"/CONFIG["CC"] = if ENV["CC"].nil? || ENV["CC"].empty? then "\1" else ENV["CC"] end/' "$rbConfig" # Remove unnecessary external intermediate files created by gems extMakefiles=$(find $out/${passthru.gemPath} -name Makefile) @@ -235,6 +228,21 @@ let $rbConfig $out/lib/libruby* ''; + installCheckPhase = '' + overriden_cc=$(CC=foo $out/bin/ruby -rrbconfig -e 'puts RbConfig::CONFIG["CC"]') + if [[ "$overriden_cc" != "foo" ]]; then + echo "CC cannot be overwritten: $overriden_cc != foo" >&2 + false + fi + + fallback_cc=$(unset CC; $out/bin/ruby -rrbconfig -e 'puts RbConfig::CONFIG["CC"]') + if [[ "$fallback_cc" != "$CC" ]]; then + echo "CC='$fallback_cc' should be '$CC' by default" >&2 + false + fi + ''; + doInstallCheck = true; + disallowedRequisites = op (!jitSupport) stdenv.cc.cc ++ op useBaseRuby baseRuby; @@ -273,13 +281,13 @@ in { mkRuby = generic; ruby_2_7 = generic { - version = rubyVersion "2" "7" "6" ""; - sha256 = "042xrdk7hsv4072bayz3f8ffqh61i8zlhvck10nfshllq063n877"; + version = rubyVersion "2" "7" "7" ""; + sha256 = "sha256-4QEn22kdf/NkAs/oj0GMjQJaPx7qkgRLFi3XLwuMe5A="; }; ruby_3_0 = generic { - version = rubyVersion "3" "0" "4" ""; - sha256 = "0avj4g3s2839b2y4m6pk8kid74r8nj7k0qm2rsdcwjzhg8h7rd3h"; + version = rubyVersion "3" "0" "5" ""; + sha256 = "sha256-mvxjgKAnpP4a4aPi7MtrSXucWsBjHBLKVvm3vrSEh3Y="; }; ruby_3_1 = generic { diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix index bdc4cf3690fee..2bf5bc7296c6a 100644 --- a/pkgs/development/interpreters/ruby/patchsets.nix +++ b/pkgs/development/interpreters/ruby/patchsets.nix @@ -1,17 +1,15 @@ { patchSet, useRailsExpress, ops, patchLevel, fetchpatch }: { - "2.7.6" = ops useRailsExpress [ - "${patchSet}/patches/ruby/2.7/head/railsexpress/01-fix-with-openssl-dir-option.patch" - "${patchSet}/patches/ruby/2.7/head/railsexpress/02-fix-broken-tests-caused-by-ad.patch" - "${patchSet}/patches/ruby/2.7/head/railsexpress/03-improve-gc-stats.patch" - "${patchSet}/patches/ruby/2.7/head/railsexpress/04-more-detailed-stacktrace.patch" - "${patchSet}/patches/ruby/2.7/head/railsexpress/05-malloc-trim.patch" + "2.7.7" = ops useRailsExpress [ + "${patchSet}/patches/ruby/2.7/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch" + "${patchSet}/patches/ruby/2.7/head/railsexpress/02-improve-gc-stats.patch" + "${patchSet}/patches/ruby/2.7/head/railsexpress/03-more-detailed-stacktrace.patch" + "${patchSet}/patches/ruby/2.7/head/railsexpress/04-malloc-trim.patch" ]; - "3.0.4" = ops useRailsExpress [ - "${patchSet}/patches/ruby/3.0/head/railsexpress/01-fix-with-openssl-dir-option.patch" - "${patchSet}/patches/ruby/3.0/head/railsexpress/02-improve-gc-stats.patch" - "${patchSet}/patches/ruby/3.0/head/railsexpress/03-malloc-trim.patch" + "3.0.5" = ops useRailsExpress [ + "${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch" + "${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch" ]; "3.1.2" = ops useRailsExpress [ "${patchSet}/patches/ruby/3.1/head/railsexpress/01-improve-gc-stats.patch" diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix index 51c0a9a7dfb3d..fbbfd4c973027 100644 --- a/pkgs/development/interpreters/ruby/rvm-patchsets.nix +++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix @@ -3,6 +3,6 @@ fetchFromGitHub { owner = "skaes"; repo = "rvm-patchsets"; - rev = "a6429bb1a7fb9b5798c22f43338739a6c192b42d"; - sha256 = "sha256-NpSa+uGQA1rfHNcLzPNTK65J+Wk9ZlzhHFePDA4uuo0="; + rev = "e6574c54a34fe6e4d45aa1433872a22ddfe14cf3"; + hash = "sha256-x2KvhgRVJ4Nc5v1j4DggKO1u3otG8HVMxhq4yuUKnds="; } diff --git a/pkgs/development/interpreters/tcl/generic.nix b/pkgs/development/interpreters/tcl/generic.nix index 6351a08c1c071..6ce6e35189bf2 100644 --- a/pkgs/development/interpreters/tcl/generic.nix +++ b/pkgs/development/interpreters/tcl/generic.nix @@ -53,7 +53,7 @@ let libdir = "lib/${libPrefix}"; tclPackageHook = callPackage ({ buildPackages }: makeSetupHook { name = "tcl-package-hook"; - deps = [ buildPackages.makeWrapper ]; + propagatedBuildInputs = [ buildPackages.makeWrapper ]; } ./tcl-package-hook.sh) {}; }; }; diff --git a/pkgs/development/interpreters/tcl/tcl-package-hook.sh b/pkgs/development/interpreters/tcl/tcl-package-hook.sh index 41603037931ff..8548ac66402f0 100644 --- a/pkgs/development/interpreters/tcl/tcl-package-hook.sh +++ b/pkgs/development/interpreters/tcl/tcl-package-hook.sh @@ -41,6 +41,8 @@ findInstalledTclPkgs() { # Wrap any freshly-installed binaries and set up their TCLLIBPATH wrapTclBins() { + if [ "$dontWrapTclBinaries" ]; then return; fi + if [[ -z "${TCLLIBPATH-}" ]]; then echo "skipping automatic Tcl binary wrapping (nothing to do)" return diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index 694aab16d1abd..584b328d47001 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -62,8 +62,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection dbus + gettext glib polkit systemd diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix index 81d9e54de435d..ed0476fea642c 100644 --- a/pkgs/development/libraries/assimp/default.nix +++ b/pkgs/development/libraries/assimp/default.nix @@ -23,6 +23,11 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DASSIMP_BUILD_ASSIMP_TOOLS=ON" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + meta = with lib; { description = "A library to import various 3D model formats"; homepage = "https://www.assimp.org/"; diff --git a/pkgs/development/libraries/audio/roc-toolkit/default.nix b/pkgs/development/libraries/audio/roc-toolkit/default.nix index f52800e2e70ce..287ce2a700846 100644 --- a/pkgs/development/libraries/audio/roc-toolkit/default.nix +++ b/pkgs/development/libraries/audio/roc-toolkit/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { pname = "roc-toolkit"; version = "0.2.1"; + outputs = [ "out" "dev" ]; + src = fetchFromGitHub { owner = "roc-streaming"; repo = "roc-toolkit"; diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix index 152572c6b16a5..a760685481226 100644 --- a/pkgs/development/libraries/belle-sip/default.nix +++ b/pkgs/development/libraries/belle-sip/default.nix @@ -29,11 +29,14 @@ stdenv.mkDerivation rec { # Do not build static libraries cmakeFlags = [ "-DENABLE_STATIC=NO" ]; - NIX_CFLAGS_COMPILE = toString [ + NIX_CFLAGS_COMPILE = [ "-Wno-error=cast-function-type" "-Wno-error=deprecated-declarations" "-Wno-error=format-truncation" "-Wno-error=stringop-overflow" + ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs and probably clang + "-Wno-error=use-after-free" ]; propagatedBuildInputs = [ libantlr3c mbedtls_2 bctoolbox belr ]; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 4c6ba700457ff..4268af7ee0bb6 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, icu, expat, zlib, bzip2, python ? null, fixDarwinDylibNames, libiconv, libxcrypt +{ lib, stdenv, icu, expat, zlib, bzip2, zstd, xz, python ? null, fixDarwinDylibNames, libiconv, libxcrypt , boost-build , fetchpatch , which @@ -226,6 +226,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ which boost-build ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ expat zlib bzip2 libiconv ] + ++ lib.optional (lib.versionAtLeast version "1.69") zstd + ++ lib.optional (lib.versionAtLeast version "1.65") xz ++ lib.optional enableIcu icu ++ lib.optionals enablePython [ libxcrypt python ] ++ lib.optional enableNumpy python.pkgs.numpy; diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix index 61c2a27f3d857..955157d055a2f 100644 --- a/pkgs/development/libraries/boringssl/default.nix +++ b/pkgs/development/libraries/boringssl/default.nix @@ -30,6 +30,11 @@ buildGoModule { export GOARCH=$(go env GOHOSTARCH) ''; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 12 but breaks on darwin (with clang) + "-Wno-error=stringop-overflow" + ]; + buildPhase = '' ninjaBuildPhase ''; diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix index 4bccc0c5cf2fa..5791924ad14a9 100644 --- a/pkgs/development/libraries/bzrtp/default.nix +++ b/pkgs/development/libraries/bzrtp/default.nix @@ -25,6 +25,11 @@ stdenv.mkDerivation rec { # Do not build static libraries cmakeFlags = [ "-DENABLE_STATIC=NO" "-DCMAKE_C_FLAGS=-Wno-error=cast-function-type" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=stringop-overflow" + ]; + meta = with lib; { description = "An opensource implementation of ZRTP keys exchange protocol. Part of the Linphone project."; homepage = "https://gitlab.linphone.org/BC/public/bzrtp"; diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix index 861e9179e0948..d928b814e826f 100644 --- a/pkgs/development/libraries/clucene-core/2.x.nix +++ b/pkgs/development/libraries/clucene-core/2.x.nix @@ -30,11 +30,14 @@ stdenv.mkDerivation rec { "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE__TRYRUN_OUTPUT=" ]; - patches = # From debian - [ ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch - ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch - ./Install-contribs-lib.patch - ] ++ lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ]; + patches = [ + # From debian + ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch + ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch + ./Install-contribs-lib.patch + # From arch + ./fix-missing-include-time.patch + ] ++ lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ]; # fails with "Unable to find executable: # /build/clucene-core-2.3.3.4/build/bin/cl_test" diff --git a/pkgs/development/libraries/clucene-core/fix-missing-include-time.patch b/pkgs/development/libraries/clucene-core/fix-missing-include-time.patch new file mode 100644 index 0000000000000..0ac26f76929ac --- /dev/null +++ b/pkgs/development/libraries/clucene-core/fix-missing-include-time.patch @@ -0,0 +1,49 @@ +From c1c2000c35ff39b09cb70fbdf66a107d3b17a674 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Wed, 12 Oct 2022 08:40:49 +0200 +Subject: [PATCH] Fix missing #include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +At least on recent Fedora 37 beta, building now failed with + +> CLucene/document/DateTools.cpp:26:19: error: ‘gmtime’ was not declared in this scope +> 26 | tm *ptm = gmtime(&secs); +> | ^~~~~~ + +etc. + +As it turns out, after 22f9d40320e3deeaa8d6aaa7a770077c20a21dae "git-svn-id: +https://clucene.svn.sourceforge.net/svnroot/clucene/branches/lucene2_3_2@2672 +20ef185c-fe11-0410-a618-ba9304b01011" on 2008-06-26 had commented out +_CL_TIME_WITH_SYS_TIME in clucene-config.h.cmake as "not actually used for +anything", then cceccfb52917b5f4da447f1cf20c135952d41442 "Presenting DateTools +and deprecating DateField. DateTools still requires some testing and its own +unit testing" on 2008-06-29 had introduced this use of it (into then +src/CLucene/document/DateTools.H). And apparently most build environments have +silently been happy ever since when the dead leading check for +_CL_TIME_WITH_SYS_TIME didn't include both and , but the +following check for _CL_HAVE_SYS_TIME_H only included but not +. +--- + src/shared/CLucene/clucene-config.h.cmake | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/shared/CLucene/clucene-config.h.cmake b/src/shared/CLucene/clucene-config.h.cmake +index bd8683a5..6fe0f92b 100644 +--- a/src/shared/CLucene/clucene-config.h.cmake ++++ b/src/shared/CLucene/clucene-config.h.cmake +@@ -100,8 +100,7 @@ ${SYMBOL__T} + //#cmakedefine _CL_STAT_MACROS_BROKEN + + /* Define to 1 if you can safely include both and . */ +-//not actually used for anything... +-//#cmakedefine _CL_TIME_WITH_SYS_TIME 1 ++#cmakedefine _CL_TIME_WITH_SYS_TIME 1 + + /* Define that we will be using -fvisibility=hidden, and + * make public classes visible using __attribute__ ((visibility("default"))) +-- +2.37.3 + diff --git a/pkgs/development/libraries/cmocka/default.nix b/pkgs/development/libraries/cmocka/default.nix index ed78f4f9ec84a..746b47841580b 100644 --- a/pkgs/development/libraries/cmocka/default.nix +++ b/pkgs/development/libraries/cmocka/default.nix @@ -20,38 +20,42 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - meta = with lib; { - description = "Lightweight library to simplify and generalize unit tests for C"; + cmakeFlags = lib.optional doCheck "-DUNIT_TESTING=ON" + ++ lib.optional stdenv.hostPlatform.isStatic "-DBUILD_SHARED_LIBS=OFF"; - longDescription = - ''There are a variety of C unit testing frameworks available however - many of them are fairly complex and require the latest compiler - technology. Some development requires the use of old compilers which - makes it difficult to use some unit testing frameworks. In addition - many unit testing frameworks assume the code being tested is an - application or module that is targeted to the same platform that will - ultimately execute the test. Because of this assumption many - frameworks require the inclusion of standard C library headers in the - code module being tested which may collide with the custom or - incomplete implementation of the C library utilized by the code under - test. - - Cmocka only requires a test application is linked with the standard C - library which minimizes conflicts with standard C library headers. - Also, CMocka tries to avoid the use of some of the newer features of - C compilers. - - This results in CMocka being a relatively small library that can be - used to test a variety of exotic code. If a developer wishes to - simply test an application with the latest compiler then other unit - testing frameworks may be preferable. - - This is the successor of Google's Cmockery.''; + doCheck = true; + meta = with lib; { + description = "Lightweight library to simplify and generalize unit tests for C"; + longDescription = '' + There are a variety of C unit testing frameworks available however + many of them are fairly complex and require the latest compiler + technology. Some development requires the use of old compilers which + makes it difficult to use some unit testing frameworks. In addition + many unit testing frameworks assume the code being tested is an + application or module that is targeted to the same platform that will + ultimately execute the test. Because of this assumption many + frameworks require the inclusion of standard C library headers in the + code module being tested which may collide with the custom or + incomplete implementation of the C library utilized by the code under + test. + + Cmocka only requires a test application is linked with the standard C + library which minimizes conflicts with standard C library headers. + Also, CMocka tries to avoid the use of some of the newer features of + C compilers. + + This results in CMocka being a relatively small library that can be + used to test a variety of exotic code. If a developer wishes to + simply test an application with the latest compiler then other unit + testing frameworks may be preferable. + + This is the successor of Google's Cmockery. + ''; homepage = "https://cmocka.org/"; - license = licenses.asl20; platforms = platforms.all; maintainers = with maintainers; [ kragniz rasendubi ]; + broken = stdenv.hostPlatform.isStatic; # See https://github.com/NixOS/nixpkgs/issues/213623 }; } diff --git a/pkgs/development/libraries/cpp-ipfs-http-client/default.nix b/pkgs/development/libraries/cpp-ipfs-http-client/default.nix index 44fcbe5463cb0..38acb5def4a3a 100644 --- a/pkgs/development/libraries/cpp-ipfs-http-client/default.nix +++ b/pkgs/development/libraries/cpp-ipfs-http-client/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = [ "-Wno-error=range-loop-construct" + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" ]; meta = with lib; { diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix index 005f1ac0302cb..1e38ddf44e196 100644 --- a/pkgs/development/libraries/dbus-cplusplus/default.nix +++ b/pkgs/development/libraries/dbus-cplusplus/default.nix @@ -29,6 +29,12 @@ stdenv.mkDerivation rec { + "dbus-c++-threading.patch?id=7f371172f5c"; sha256 = "1h362anx3wyxm5lq0v8girmip1jmkdbijrmbrq7k5pp47zkhwwrq"; }) + (fetchurl { + name = "template-operators.patch"; # since gcc12 + url = "https://src.fedoraproject.org/cgit/rpms/dbus-c++.git/plain/" + + "dbus-c++-template-operators.patch?id=d3f0d8bb519c0af"; + sha256 = "N25Y7jXDbr0qb7MfRr2yz3zRySppgGOe+oCfNQhRvVc="; + }) ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix deleted file mode 100644 index a8acf7a7ce61d..0000000000000 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ /dev/null @@ -1,511 +0,0 @@ -{ lib, stdenv, buildPackages, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm -/* - * Licensing options (yes some are listed twice, filters and such are not listed) - */ -, gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab -, version3Licensing ? true # (L)GPL3: libvmaf,opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc -, nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video -/* - * Build options - */ -, smallBuild ? false # Optimize for size instead of speed -, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime (disable to compile natively) -, grayBuild ? true # Full grayscale support -, swscaleAlphaBuild ? true # Alpha channel support in swscale -, hardcodedTablesBuild ? true # Hardcode decode tables instead of runtime generation -, safeBitstreamReaderBuild ? true # Buffer boundary checking in bitreaders -, multithreadBuild ? true # Multithreading via pthreads/win32 threads -, networkBuild ? true # Network support -, pixelutilsBuild ? true # Pixel utils in libavutil -, enableLto ? false # build with link-time optimization -/* - * Program options - */ -, ffmpegProgram ? true # Build ffmpeg executable -, ffplayProgram ? true # Build ffplay executable -, ffprobeProgram ? true # Build ffprobe executable -, qtFaststartProgram ? true # Build qt-faststart executable -/* - * Library options - */ -, avcodecLibrary ? true # Build avcodec library -, avdeviceLibrary ? true # Build avdevice library -, avfilterLibrary ? true # Build avfilter library -, avformatLibrary ? true # Build avformat library -, avutilLibrary ? true # Build avutil library -, postprocLibrary ? true # Build postproc library -, swresampleLibrary ? true # Build swresample library -, swscaleLibrary ? true # Build swscale library -/* - * Documentation options - */ -, htmlpagesDocumentation ? false # HTML documentation pages -, manpagesDocumentation ? true # Man documentation pages -, podpagesDocumentation ? false # POD documentation pages -, txtpagesDocumentation ? false # Text documentation pages -/* - * External libraries options - */ -, alsa-lib ? null # Alsa in/output support -#, avisynth ? null # Support for reading AviSynth scripts -, bzip2 ? null -, clang ? null -, celt ? null # CELT decoder -#, crystalhd ? null # Broadcom CrystalHD hardware acceleration -, cuda ? !stdenv.isDarwin && !stdenv.isAarch64 # Dynamically linked CUDA -, cuda-llvm ? !stdenv.isDarwin && !stdenv.isAarch64 # LLVM-based CUDA compilation -, dav1d ? null # AV1 decoder (focused on speed and correctness) -#, decklinkExtlib ? false, blackmagic-design-desktop-video ? null # Blackmagic Design DeckLink I/O support -, fdkaacExtlib ? false, fdk_aac ? null # Fraunhofer FDK AAC de/encoder -#, flite ? null # Flite (voice synthesis) support -, fontconfig ? null # Needed for drawtext filter -, freetype ? null # Needed for drawtext filter -, frei0r ? null # frei0r video filtering -, fribidi ? null # Needed for drawtext filter -, game-music-emu ? null # Game Music Emulator -, gnutls ? null -, gsm ? null # GSM de/encoder -#, ilbc ? null # iLBC de/encoder -, libjack2 ? null # Jack audio (only version 2 is supported in this build) -, ladspaH ? null # LADSPA audio filtering -, lame ? null # LAME MP3 encoder -, libass ? null # (Advanced) SubStation Alpha subtitle rendering -, libaom ? null # AV1 encoder -, libbluray ? null # BluRay reading -, libbs2b ? null # bs2b DSP library -, libcaca ? null # Textual display (ASCII art) -#, libcdio-paranoia ? null # Audio CD grabbing -, libdc1394 ? null, libraw1394 ? null # IIDC-1394 grabbing (ieee 1394) -, libdrm ? null # libdrm support -, libiconv ? null -#, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394) -, libmfx ? null # Hardware acceleration vis libmfx -, libmodplug ? null # ModPlug support -, libmysofa ? null # HRTF support via SOFAlizer -#, libnut ? null # NUT (de)muxer, native (de)muser exists -, libogg ? null # Ogg container used by vorbis & theora -, libopenmpt ? null # Tracked music files decoder -, libopus ? null # Opus de/encoder -, librsvg ? null # SVG protocol -, libssh ? null # SFTP protocol -, libtheora ? null # Theora encoder -, libv4l ? null # Video 4 Linux support -, libva ? null # Vaapi hardware acceleration -, libvdpau ? null # Vdpau hardware acceleration -, libvmaf ? null # Netflix's VMAF (Video Multi-Method Assessment Fusion) -, libvorbis ? null # Vorbis de/encoding, native encoder exists -, libvpx ? null # VP8 & VP9 de/encoding -, libwebp ? null # WebP encoder -, libX11 ? null # Xlib support -, libxcb ? null # X11 grabbing using XCB -, libxcbshmExtlib ? true # X11 grabbing shm communication -, libxcbxfixesExtlib ? true # X11 grabbing mouse rendering -, libxcbshapeExtlib ? true # X11 grabbing shape rendering -, libXv ? null # Xlib support -, libXext ? null # Xlib support -, libxml2 ? null # libxml2 support, for IMF and DASH demuxers -, xz ? null # xz-utils -, nv-codec-headers ? null -, nvdec ? !stdenv.isDarwin && !stdenv.isAarch64 # NVIDIA NVDEC support -, nvenc ? !stdenv.isDarwin && !stdenv.isAarch64 # NVIDIA NVENC support -, openal ? null # OpenAL 1.1 capture support -, ocl-icd ? null # OpenCL ICD -, opencl-headers ? null # OpenCL headers -, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder -#, opencv ? null # Video filtering -, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering -, openh264 ? null # H.264/AVC encoder -, openjpeg ? null # JPEG 2000 de/encoder -, opensslExtlib ? false, openssl ? null -, libpulseaudio ? null # Pulseaudio input support -, rav1e ? null # AV1 encoder (focused on speed and safety) -, svt-av1 ? null # AV1 encoder/decoder (focused on speed and correctness) -, rtmpdump ? null # RTMP[E] support -#, libquvi ? null # Quvi input support -, samba ? null # Samba protocol -#, schroedinger ? null # Dirac de/encoder -, SDL2 ? null -#, shine ? null # Fixed-point MP3 encoder -, soxr ? null # Resampling via soxr -, speex ? null # Speex de/encoder -, srt ? null # Secure Reliable Transport (SRT) protocol -#, twolame ? null # MP2 encoder -#, utvideo ? null # Ut Video de/encoder -, vid-stab ? null # Video stabilization -#, vo-aacenc ? null # AAC encoder -, vo-amrwbenc ? null # AMR-WB encoder -, x264 ? null # H.264/AVC encoder -, x265 ? null # H.265/HEVC encoder -, xavs ? null # AVS encoder -, xvidcore ? null # Xvid encoder, native encoder exists -, zeromq4 ? null # Message passing -, zimg ? null -, zlib ? null -, vulkan-loader ? null -, glslang ? null -#, zvbi ? null # Teletext support -/* - * Developer options - */ -, debugDeveloper ? false -, optimizationsDeveloper ? true -, extraWarningsDeveloper ? false -, strippingDeveloper ? false -/* - * Darwin frameworks - */ -, Cocoa, CoreAudio, CoreServices, AVFoundation, MediaToolbox -, VideoDecodeAcceleration, VideoToolbox -}: - -/* Maintainer notes: - * - * Version bumps: - * It should always be safe to bump patch releases (e.g. 2.1.x, x being a patch release) - * If adding a new branch, note any configure flags that were added, changed, or deprecated/removed - * and make the necessary changes. - * - * Packages with errors: - * flite ilbc schroedinger - * opencv - circular dependency issue - * - * Not packaged: - * aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883 - * libnut libquvi nvenc oss shine twolame - * utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video - * - * Need fixes to support Darwin: - * gsm libjack2 libmodplug libmfx(intel-media-sdk) nvenc pulseaudio samba - * vid-stab - * - * Need fixes to support AArch64: - * libmfx(intel-media-sdk) nvenc - * - * Not supported: - * stagefright-h264(android only) - * - * Known issues: - * flite: configure fails to find library - * Tried modifying ffmpeg's configure script and flite to use pkg-config - * Cross-compiling will disable features not present on host OS - * (e.g. dxva2 support [DirectX] will not be enabled unless natively compiled on Cygwin) - * - */ - -let - inherit (stdenv) isCygwin isDarwin isFreeBSD isLinux isAarch64; - inherit (lib) optional optionals optionalString enableFeature; -in - -/* - * Licensing dependencies - */ -assert version3Licensing -> gplLicensing; -assert nonfreeLicensing -> gplLicensing && version3Licensing; -/* - * Build dependencies - */ -assert networkBuild -> gnutls != null || opensslExtlib; -assert pixelutilsBuild -> avutilLibrary; -/* - * Platform dependencies - */ -assert isDarwin -> !nvenc; -/* - * Program dependencies - */ -assert ffmpegProgram -> avcodecLibrary - && avfilterLibrary - && avformatLibrary - && swresampleLibrary; -assert ffplayProgram -> avcodecLibrary - && avformatLibrary - && swscaleLibrary - && swresampleLibrary - && SDL2 != null; -assert ffprobeProgram -> avcodecLibrary && avformatLibrary; -/* - * Library dependencies - */ -assert avcodecLibrary -> avutilLibrary; # configure flag since 0.6 -assert avdeviceLibrary -> avformatLibrary - && avcodecLibrary - && avutilLibrary; # configure flag since 0.6 -assert avformatLibrary -> avcodecLibrary && avutilLibrary; # configure flag since 0.6 -assert postprocLibrary -> avutilLibrary; -assert swresampleLibrary -> soxr != null; -assert swscaleLibrary -> avutilLibrary; -/* - * External libraries - */ -#assert decklinkExtlib -> blackmagic-design-desktop-video != null -# && !isCygwin && multithreadBuild # POSIX threads required -# && nonfreeLicensing; -assert fdkaacExtlib -> fdk_aac != null && nonfreeLicensing; -assert gnutls != null -> !opensslExtlib; -assert libxcbshmExtlib -> libxcb != null; -assert libxcbxfixesExtlib -> libxcb != null; -assert libxcbshapeExtlib -> libxcb != null; -assert openglExtlib -> libGL != null && libGLU != null; -assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing; - -stdenv.mkDerivation rec { - pname = "ffmpeg-full"; - inherit (ffmpeg) src version patches; - - prePatch = '' - patchShebangs . - '' + lib.optionalString stdenv.isDarwin '' - sed -i 's/#ifndef __MAC_10_11/#if 1/' ./libavcodec/audiotoolboxdec.c - '' + lib.optionalString (frei0r != null) '' - substituteInPlace libavfilter/vf_frei0r.c \ - --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1 - substituteInPlace doc/filters.texi \ - --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1 - ''; - - configurePlatforms = []; - configureFlags = [ - "--target_os=${if stdenv.hostPlatform.isMinGW then "mingw64" else stdenv.hostPlatform.parsed.kernel.name}" #mingw32 and mingw64 doesn't have a difference here, it is internally rewritten as mingw32 - "--arch=${stdenv.hostPlatform.parsed.cpu.name}" - /* - * Licensing flags - */ - (enableFeature gplLicensing "gpl") - (enableFeature version3Licensing "version3") - (enableFeature nonfreeLicensing "nonfree") - /* - * Build flags - */ - # On some ARM platforms --enable-thumb - "--enable-shared" - (enableFeature true "pic") - (enableFeature smallBuild "small") - (enableFeature runtimeCpuDetectBuild "runtime-cpudetect") - (enableFeature enableLto "lto") - (enableFeature grayBuild "gray") - (enableFeature swscaleAlphaBuild "swscale-alpha") - (enableFeature hardcodedTablesBuild "hardcoded-tables") - (enableFeature safeBitstreamReaderBuild "safe-bitstream-reader") - (if multithreadBuild then ( - if stdenv.hostPlatform.isWindows then - "--disable-pthreads --enable-w32threads" - else # Use POSIX threads by default - "--enable-pthreads --disable-w32threads") - else - "--disable-pthreads --disable-w32threads") - "--disable-os2threads" # We don't support OS/2 - (enableFeature networkBuild "network") - (enableFeature pixelutilsBuild "pixelutils") - /* - * Program flags - */ - (enableFeature ffmpegProgram "ffmpeg") - (enableFeature ffplayProgram "ffplay") - (enableFeature ffprobeProgram "ffprobe") - /* - * Library flags - */ - (enableFeature avcodecLibrary "avcodec") - (enableFeature avdeviceLibrary "avdevice") - (enableFeature avfilterLibrary "avfilter") - (enableFeature avformatLibrary "avformat") - (enableFeature avutilLibrary "avutil") - (enableFeature (postprocLibrary && gplLicensing) "postproc") - (enableFeature swresampleLibrary "swresample") - (enableFeature swscaleLibrary "swscale") - /* - * Documentation flags - */ - (enableFeature (htmlpagesDocumentation - || manpagesDocumentation - || podpagesDocumentation - || txtpagesDocumentation) "doc") - (enableFeature htmlpagesDocumentation "htmlpages") - (enableFeature manpagesDocumentation "manpages") - (enableFeature podpagesDocumentation "podpages") - (enableFeature txtpagesDocumentation "txtpages") - /* - * External libraries - */ - #(enableFeature avisynth "avisynth") - (enableFeature (bzip2 != null) "bzlib") - (enableFeature (celt != null) "libcelt") - (enableFeature cuda "cuda") - (enableFeature (clang != null && cuda-llvm) "cuda-llvm") - #(enableFeature crystalhd "crystalhd") - (enableFeature (dav1d != null) "libdav1d") - #(enableFeature decklinkExtlib "decklink") - (enableFeature (fdkaacExtlib && gplLicensing) "libfdk-aac") - #(enableFeature (flite != null) "libflite") - "--disable-libflite" # Force disable until a solution is found - (enableFeature (fontconfig != null) "fontconfig") - (enableFeature (freetype != null) "libfreetype") - (enableFeature (frei0r != null && gplLicensing) "frei0r") - (enableFeature (fribidi != null) "libfribidi") - (enableFeature (game-music-emu != null) "libgme") - (enableFeature (gnutls != null) "gnutls") - (enableFeature (gsm != null) "libgsm") - #(enableFeature (ilbc != null) "libilbc") - (enableFeature (ladspaH !=null) "ladspa") - (enableFeature (lame != null) "libmp3lame") - (enableFeature (libaom != null) "libaom") - (enableFeature (libass != null) "libass") - #(enableFeature (libavc1394 != null) null null) - (enableFeature (libbluray != null) "libbluray") - (enableFeature (libbs2b != null) "libbs2b") - #(enableFeature (libcaca != null) "libcaca") - #(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio") - (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394") - (enableFeature ((isLinux || isFreeBSD) && libdrm != null) "libdrm") - (enableFeature (libiconv != null) "iconv") - (enableFeature (libjack2 != null) "libjack") - #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883") - (enableFeature (if isLinux && !isAarch64 then libmfx != null else false) "libmfx") - (enableFeature (libmodplug != null) "libmodplug") - (enableFeature (libmysofa != null) "libmysofa") - #(enableFeature (libnut != null) "libnut") - (enableFeature (libopenmpt != null) "libopenmpt") - (enableFeature (libopus != null) "libopus") - (enableFeature (librsvg != null) "librsvg") - (enableFeature (srt != null) "libsrt") - (enableFeature (libssh != null) "libssh") - (enableFeature (libtheora != null) "libtheora") - (enableFeature (if isLinux then libv4l != null else false) "libv4l2") - (enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi") - (enableFeature (libvdpau != null) "vdpau") - (enableFeature (libvorbis != null) "libvorbis") - (enableFeature (!isAarch64 && libvmaf != null && version3Licensing) "libvmaf") - (enableFeature (libvpx != null) "libvpx") - (enableFeature (libwebp != null) "libwebp") - (enableFeature (libX11 != null && libXv != null && libXext != null) "xlib") - (enableFeature (libxcb != null) "libxcb") - (enableFeature libxcbshmExtlib "libxcb-shm") - (enableFeature libxcbxfixesExtlib "libxcb-xfixes") - (enableFeature libxcbshapeExtlib "libxcb-shape") - (enableFeature (libxml2 != null) "libxml2") - (enableFeature (xz != null) "lzma") - (enableFeature nvdec "cuvid") - (enableFeature nvdec "nvdec") - (enableFeature nvenc "nvenc") - (enableFeature (openal != null) "openal") - (enableFeature (ocl-icd != null && opencl-headers != null) "opencl") - (enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb") - #(enableFeature (opencv != null) "libopencv") - (enableFeature openglExtlib "opengl") - (enableFeature (openh264 != null) "libopenh264") - (enableFeature (openjpeg != null) "libopenjpeg") - (enableFeature (opensslExtlib && gplLicensing) "openssl") - (enableFeature (libpulseaudio != null) "libpulse") - #(enableFeature quvi "libquvi") - (enableFeature (rav1e != null) "librav1e") - (enableFeature (svt-av1 != null) "libsvtav1") - (enableFeature (rtmpdump != null) "librtmp") - #(enableFeature (schroedinger != null) "libschroedinger") - (enableFeature (SDL2 != null) "sdl2") - (enableFeature (soxr != null) "libsoxr") - (enableFeature (speex != null) "libspeex") - #(enableFeature (twolame != null) "libtwolame") - #(enableFeature (utvideo != null && gplLicensing) "libutvideo") - (enableFeature (vid-stab != null && gplLicensing) "libvidstab") # Actual min. version 2.0 - #(enableFeature (vo-aacenc != null && version3Licensing) "libvo-aacenc") - (enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc") - (enableFeature (x264 != null && gplLicensing) "libx264") - (enableFeature (x265 != null && gplLicensing) "libx265") - (enableFeature (xavs != null && gplLicensing) "libxavs") - (enableFeature (xvidcore != null && gplLicensing) "libxvid") - (enableFeature (zeromq4 != null) "libzmq") - (enableFeature (zimg != null) "libzimg") - (enableFeature (zlib != null) "zlib") - (enableFeature (isLinux && vulkan-loader != null) "vulkan") - (enableFeature (isLinux && vulkan-loader != null && glslang != null) "libglslang") - (enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient") - #(enableFeature (zvbi != null && gplLicensing) "libzvbi") - /* - * Developer flags - */ - (enableFeature debugDeveloper "debug") - (enableFeature optimizationsDeveloper "optimizations") - (enableFeature extraWarningsDeveloper "extra-warnings") - (enableFeature strippingDeveloper "stripping") - ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--cross-prefix=${stdenv.cc.targetPrefix}" - "--enable-cross-compile" - "--host-cc=${buildPackages.stdenv.cc}/bin/cc" - ] ++ optionals stdenv.cc.isClang [ - "--cc=clang" - "--cxx=clang++" - ]; - - nativeBuildInputs = [ addOpenGLRunpath perl pkg-config texinfo yasm ]; - - buildInputs = [ - bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm - libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa - libogg libopenmpt libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11 - libxcb libXv libXext libxml2 xz openal ocl-icd opencl-headers openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr - samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore - zeromq4 zimg zlib openh264 - ] ++ optionals openglExtlib [ libGL libGLU ] - ++ optionals nonfreeLicensing [ fdk_aac openssl ] - ++ optional ((isLinux || isFreeBSD) && libva != null) libva - ++ optional ((isLinux || isFreeBSD) && libdrm != null) libdrm - ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf - ++ optionals isLinux [ alsa-lib libraw1394 libv4l vulkan-loader glslang ] - ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx - ++ optional (nvdec || nvenc) nv-codec-headers - ++ optional cuda-llvm clang - ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation - MediaToolbox VideoDecodeAcceleration VideoToolbox - libiconv ]; - - buildFlags = [ "all" ] - ++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable - - doCheck = true; - checkPhase = let - ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; - in '' - ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \ - make check -j$NIX_BUILD_CORES - ''; - - # Hacky framework patching technique borrowed from the phantomjs2 package - postInstall = optionalString qtFaststartProgram '' - cp -a tools/qt-faststart $out/bin/ - ''; - - postFixup = optionalString stdenv.isLinux '' - # Set RUNPATH so that libnvcuvid and libcuda in /run/opengl-driver(-32)/lib can be found. - # See the explanation in addOpenGLRunpath. - addOpenGLRunpath $out/lib/libavcodec.so - addOpenGLRunpath $out/lib/libavutil.so - ''; - - enableParallelBuilding = true; - - meta = with lib; { - description = "A complete, cross-platform solution to record, convert and stream audio and video"; - homepage = "https://www.ffmpeg.org/"; - changelog = "https://github.com/FFmpeg/FFmpeg/blob/n${version}/Changelog"; - longDescription = '' - FFmpeg is the leading multimedia framework, able to decode, encode, transcode, - mux, demux, stream, filter and play pretty much anything that humans and machines - have created. It supports the most obscure ancient formats up to the cutting edge. - No matter if they were designed by some standards committee, the community or - a corporation. - ''; - license = ( - if nonfreeLicensing then - licenses.unfreeRedistributable - else if version3Licensing then - licenses.gpl3 - else if gplLicensing then - licenses.gpl2Plus - else - licenses.lgpl21Plus - ); - platforms = platforms.all; - maintainers = with maintainers; [ codyopel ]; - }; -} diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix index ac88df930768a..7882c19da8f3f 100644 --- a/pkgs/development/libraries/ffmpeg/4.nix +++ b/pkgs/development/libraries/ffmpeg/4.nix @@ -1,8 +1,4 @@ -{ callPackage, ... }@args: - -callPackage ./generic.nix (rec { +import ./generic.nix rec { version = "4.4.3"; - branch = version; - sha256 = "sha256-M7jC281TD+HbVxBBU0Vgm0yiJ70NoeOpMy27DxH9Jzo="; - -} // args) + sha256 = "sha256-zZDzG1hD+0AHqElzeGR6OVm+H5wqtdktloSPmEUzT/c="; +} diff --git a/pkgs/development/libraries/ffmpeg/5.nix b/pkgs/development/libraries/ffmpeg/5.nix index b19c22a55f3a8..7ff9b1fc2e4cb 100644 --- a/pkgs/development/libraries/ffmpeg/5.nix +++ b/pkgs/development/libraries/ffmpeg/5.nix @@ -1,7 +1,4 @@ -{ callPackage, ... }@args: - -callPackage ./generic.nix (rec { +import ./generic.nix rec { version = "5.1.2"; - branch = version; - sha256 = "sha256-OaC8yNmFSfFsVwYkZ4JGpqxzbAZs69tAn5UC6RWyLys="; -} // args) + sha256 = "sha256-4jcfwIE0/DgP7ibwkrSm/aPiHIMFn34JNcXkCMx4ceI="; +} diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 01995e9237b15..dceada0f7f8f4 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -1,205 +1,660 @@ -{ lib, stdenv, buildPackages, fetchurl, pkg-config, addOpenGLRunpath, perl, texinfo, yasm -, alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg -, libssh, libtheora, libva, libdrm, libvorbis, xz, soxr -, x264, x265, xvidcore, zimg, zlib, libopus, speex, nv-codec-headers, dav1d -, vpxSupport ? !stdenv.isAarch32, libvpx -, srtSupport ? true, srt -, vaapiSupport ? ((stdenv.isLinux || stdenv.isFreeBSD) && !stdenv.isAarch32) -, openglSupport ? false, libGLU, libGL -, libmfxSupport ? false, intel-media-sdk -, libaomSupport ? false, libaom -# Build options -, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime -, multithreadBuild ? true # Multithreading via pthreads/win32 threads -, sdlSupport ? !stdenv.isAarch32, SDL2 -, vdpauSupport ? !stdenv.isAarch32, libvdpau -# Developer options -, debugDeveloper ? false -, optimizationsDeveloper ? true -, extraWarningsDeveloper ? false -, Cocoa, CoreMedia, VideoToolbox -# Inherit generics -, branch, sha256, version, patches ? [], knownVulnerabilities ? [] -, doCheck ? true -, pulseaudioSupport ? stdenv.isLinux +{ version, sha256, extraPatches ? [], knownVulnerabilities ? [] }: + +{ lib, stdenv, buildPackages, removeReferencesTo, addOpenGLRunpath, pkg-config, perl, texinfo, yasm + +, ffmpegVariant ? "small" # Decides which dependencies are enabled by default + + # Build with headless deps; excludes dependencies that are only necessary for + # GUI applications. To be used for purposes that don't generally need such + # components and i.e. only depend on libav +, withHeadlessDeps ? ffmpegVariant == "headless" || withSmallDeps + + # Dependencies a user might customarily expect from a regular ffmpeg build. + # /All/ packages that depend on ffmpeg and some of its feaures should depend + # on the small variant. Small means the minimal set of features that satisfies + # all dependants in Nixpkgs +, withSmallDeps ? ffmpegVariant == "small" || withFullDeps + + # Everything enabled; only guarded behind platform exclusivity or brokeness. + # If you need to depend on ffmpeg-full because ffmpeg is missing some feature + # your package needs, you should enable that feature in regular ffmpeg + # instead. +, withFullDeps ? ffmpegVariant == "full" + +, fetchgit +, fetchpatch + + # Feature flags +, withAlsa ? withHeadlessDeps && stdenv.isLinux # Alsa in/output supporT +, withAom ? withFullDeps # AV1 reference encoder +, withAss ? withHeadlessDeps && stdenv.hostPlatform == stdenv.buildPlatform # (Advanced) SubStation Alpha subtitle rendering +, withBluray ? withFullDeps # BluRay reading +, withBs2b ? withFullDeps # bs2b DSP library +, withBzlib ? withHeadlessDeps +, withCaca ? withFullDeps # Textual display (ASCII art) +, withCelt ? withFullDeps # CELT decoder +, withCrystalhd ? withFullDeps +, withCuda ? withFullDeps && (with stdenv; (!isDarwin && !isAarch64)) +, withCudaLLVM ? withFullDeps +, withDav1d ? withHeadlessDeps # AV1 decoder (focused on speed and correctness) +, withDc1394 ? withFullDeps && !stdenv.isDarwin # IIDC-1394 grabbing (ieee 1394) +, withDrm ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD) # libdrm support +, withFdkAac ? withFullDeps && withUnfree # Fraunhofer FDK AAC de/encoder +, withFontconfig ? withHeadlessDeps # Needed for drawtext filter +, withFreetype ? withHeadlessDeps # Needed for drawtext filter +, withFrei0r ? withFullDeps # frei0r video filtering +, withFribidi ? withFullDeps # Needed for drawtext filter +, withGlslang ? withFullDeps && !stdenv.isDarwin +, withGme ? withFullDeps # Game Music Emulator +, withGnutls ? withHeadlessDeps +, withGsm ? withFullDeps # GSM de/encoder +, withIconv ? withHeadlessDeps +, withIlbc ? withFullDeps +, withJack ? withFullDeps && !stdenv.isDarwin # Jack audio +, withLadspa ? withFullDeps # LADSPA audio filtering +, withLzma ? withHeadlessDeps # xz-utils +, withMfx ? withFullDeps && (with stdenv.targetPlatform; isLinux && !isAarch) # Hardware acceleration via intel-media-sdk/libmfx +, withModplug ? withFullDeps && !stdenv.isDarwin # ModPlug support +, withMp3lame ? withHeadlessDeps # LAME MP3 encoder +, withMysofa ? withFullDeps # HRTF support via SOFAlizer +, withNvdec ? withHeadlessDeps && !stdenv.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform +, withNvenc ? withHeadlessDeps && !stdenv.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform +, withOgg ? withHeadlessDeps # Ogg container used by vorbis & theora +, withOpenal ? withFullDeps # OpenAL 1.1 capture support +, withOpencl ? withFullDeps +, withOpencoreAmrnb ? withFullDeps # AMR-NB de/encoder & AMR-WB decoder +, withOpengl ? false # OpenGL rendering +, withOpenh264 ? withFullDeps # H.264/AVC encoder +, withOpenjpeg ? withFullDeps # JPEG 2000 de/encoder +, withOpenmpt ? withFullDeps # Tracked music files decoder +, withOpus ? withHeadlessDeps # Opus de/encoder +, withPulse ? withSmallDeps && !stdenv.isDarwin # Pulseaudio input support +, withRav1e ? withFullDeps # AV1 encoder (focused on speed and safety) +, withRtmp ? false # RTMP[E] support +, withSamba ? withFullDeps && !stdenv.isDarwin # Samba protocol +, withSdl2 ? withSmallDeps +, withSoxr ? withHeadlessDeps # Resampling via soxr +, withSpeex ? withHeadlessDeps # Speex de/encoder +, withSrt ? withHeadlessDeps # Secure Reliable Transport (SRT) protocol +, withSsh ? withHeadlessDeps # SFTP protocol +, withSvg ? withFullDeps # SVG protocol +, withSvtav1 ? withFullDeps && !stdenv.isAarch64 # AV1 encoder/decoder (focused on speed and correctness) +, withTheora ? withHeadlessDeps # Theora encoder +, withV4l2 ? withFullDeps && !stdenv.isDarwin # Video 4 Linux support +, withV4l2M2m ? withV4l2 +, withVaapi ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD) # Vaapi hardware acceleration +, withVdpau ? withSmallDeps # Vdpau hardware acceleration +, withVidStab ? withFullDeps # Video stabilization +, withVmaf ? withFullDeps && withGPLv3 && !stdenv.isAarch64 # Netflix's VMAF (Video Multi-Method Assessment Fusion) +, withVoAmrwbenc ? withFullDeps # AMR-WB encoder +, withVorbis ? withHeadlessDeps # Vorbis de/encoding, native encoder exists +, withVpx ? withHeadlessDeps && stdenv.buildPlatform == stdenv.hostPlatform # VP8 & VP9 de/encoding +, withVulkan ? withFullDeps && !stdenv.isDarwin +, withWebp ? withFullDeps # WebP encoder +, withX264 ? withHeadlessDeps # H.264/AVC encoder +, withX265 ? withHeadlessDeps # H.265/HEVC encoder +, withXavs ? withFullDeps # AVS encoder +, withXcb ? withXcbShm || withXcbxfixes || withXcbShape # X11 grabbing using XCB +, withXcbShape ? withFullDeps # X11 grabbing shape rendering +, withXcbShm ? withFullDeps # X11 grabbing shm communication +, withXcbxfixes ? withFullDeps # X11 grabbing mouse rendering +, withXlib ? withFullDeps # Xlib support +, withXml2 ? withFullDeps # libxml2 support, for IMF and DASH demuxers +, withXvid ? withHeadlessDeps # Xvid encoder, native encoder exists +, withZimg ? withHeadlessDeps +, withZlib ? withHeadlessDeps +, withZmq ? withFullDeps # Message passing + +/* + * Licensing options (yes some are listed twice, filters and such are not listed) + */ +, withGPL ? true +, withGPLv3 ? true +, withUnfree ? false + +/* + * Build options + */ +, withSmallBuild ? false # Optimize for size instead of speed +, withRuntimeCPUDetection ? true # Detect CPU capabilities at runtime (disable to compile natively) +, withGrayscale ? withFullDeps # Full grayscale support +, withSwscaleAlpha ? buildSwscale # Alpha channel support in swscale. You probably want this when buildSwscale. +, withHardcodedTables ? withHeadlessDeps # Hardcode decode tables instead of runtime generation +, withSafeBitstreamReader ? withHeadlessDeps # Buffer boundary checking in bitreaders +, withMultithread ? true # Multithreading via pthreads/win32 threads +, withNetwork ? withHeadlessDeps # Network support +, withPixelutils ? withHeadlessDeps # Pixel utils in libavutil +, withLTO ? false # build with link-time optimization +/* + * Program options + */ +, buildFfmpeg ? withHeadlessDeps # Build ffmpeg executable +, buildFfplay ? withFullDeps # Build ffplay executable +, buildFfprobe ? withHeadlessDeps # Build ffprobe executable +, buildQtFaststart ? withFullDeps # Build qt-faststart executable +, withBin ? buildFfmpeg || buildFfplay || buildFfprobe || buildQtFaststart +/* + * Library options + */ +, buildAvcodec ? withHeadlessDeps # Build avcodec library +, buildAvdevice ? withHeadlessDeps # Build avdevice library +, buildAvfilter ? withHeadlessDeps # Build avfilter library +, buildAvformat ? withHeadlessDeps # Build avformat library +# Deprecated but depended upon by some packages. +# https://github.com/NixOS/nixpkgs/pull/211834#issuecomment-1417435991) +, buildAvresample ? withHeadlessDeps && lib.versionOlder version "5" # Build avresample library +, buildAvutil ? withHeadlessDeps # Build avutil library +, buildPostproc ? withHeadlessDeps # Build postproc library +, buildSwresample ? withHeadlessDeps # Build swresample library +, buildSwscale ? withHeadlessDeps # Build swscale library +, withLib ? buildAvcodec + || buildAvdevice + || buildAvfilter + || buildAvformat + || buildAvutil + || buildPostproc + || buildSwresample + || buildSwscale +/* + * Documentation options + */ +, withDocumentation ? withHtmlDoc || withManPages || withPodDoc || withTxtDoc +, withHtmlDoc ? withHeadlessDeps # HTML documentation pages +, withManPages ? withHeadlessDeps # Man documentation pages +, withPodDoc ? withHeadlessDeps # POD documentation pages +, withTxtDoc ? withHeadlessDeps # Text documentation pages +# Whether a "doc" output will be produced. Note that withManPages does not produce +# a "doc" output because its files go to "man". +, withDoc ? withDocumentation && (withHtmlDoc || withPodDoc || withTxtDoc) + +/* + * Developer options + */ +, withDebug ? false +, withOptimisations ? true +, withExtraWarnings ? false +, withStripping ? false + +/* + * External libraries options + */ +, alsa-lib +, bzip2 +, clang +, celt +, dav1d +, fdk_aac +, fontconfig +, freetype +, frei0r +, fribidi +, game-music-emu +, gnutls +, gsm +, libjack2 +, ladspaH +, lame +, libass +, libaom +, libbluray +, libbs2b +, libcaca +, libdc1394 +, libraw1394 +, libdrm +, libiconv +, intel-media-sdk +, libmodplug +, libmysofa +, libogg +, libopenmpt +, libopus +, librsvg +, libssh +, libtheora +, libv4l +, libva +, libva-minimal +, libvdpau +, libvmaf +, libvorbis +, libvpx +, libwebp +, libX11 +, libxcb +, libXv +, libXext +, libxml2 +, xz +, nv-codec-headers +, openal +, ocl-icd # OpenCL ICD +, opencl-headers # OpenCL headers +, opencore-amr +, libGL +, libGLU +, openh264 +, openjpeg , libpulseaudio -, ... +, rav1e +, svt-av1 +, rtmpdump +, samba +, SDL2 +, soxr +, speex +, srt +, vid-stab +, vo-amrwbenc +, x264 +, x265 +, xavs +, xvidcore +, zeromq4 +, zimg +, zlib +, vulkan-loader +, glslang +/* + * Darwin frameworks + */ +, AVFoundation +, Cocoa +, CoreAudio +, CoreMedia +, CoreServices +, MediaToolbox +, VideoDecodeAcceleration +, VideoToolbox }: /* Maintainer notes: * - * THIS IS A MINIMAL BUILD OF FFMPEG, do not include dependencies unless - * a build that depends on ffmpeg requires them to be compiled into ffmpeg, - * see `ffmpeg-full' for an ffmpeg build with all features included. - * - * Need fixes to support Darwin: - * pulseaudio + * Version bumps: + * It should always be safe to bump patch releases (e.g. 2.1.x, x being a patch release) + * If adding a new branch, note any configure flags that were added, changed, or deprecated/removed + * and make the necessary changes. * * Known issues: - * ALL - Cross-compiling will disable features not present on host OS - * (e.g. dxva2 support [DirectX] will not be enabled unless natively - * compiled on Cygwin) + * Cross-compiling will disable features not present on host OS + * (e.g. dxva2 support [DirectX] will not be enabled unless natively compiled on Cygwin) * */ let - inherit (lib) optional optionals optionalString enableFeature filter; + inherit (stdenv) isCygwin isDarwin isFreeBSD isLinux isAarch64; + inherit (lib) optional optionals optionalString enableFeature; +in - reqMin = requiredVersion: (builtins.compareVersions requiredVersion branch != 1); - ifMinVer = minVer: flag: if reqMin minVer then flag else null; +assert lib.elem ffmpegVariant [ "headless" "small" "full" ]; - ifVerOlder = maxVer: flag: if (lib.versionOlder branch maxVer) then flag else null; -in +/* + * Licensing dependencies + */ +assert withGPLv3 -> withGPL; +assert withUnfree -> withGPL && withGPLv3; +/* + * Build dependencies + */ +assert withPixelutils -> buildAvutil; +/* + * Program dependencies + */ +assert buildFfmpeg -> buildAvcodec + && buildAvfilter + && buildAvformat + && (buildSwresample || buildAvresample); +assert buildFfplay -> buildAvcodec + && buildAvformat + && buildSwscale + && (buildSwresample || buildAvresample); +assert buildFfprobe -> buildAvcodec && buildAvformat; +/* + * Library dependencies + */ +assert buildAvcodec -> buildAvutil; # configure flag since 0.6 +assert buildAvdevice -> buildAvformat + && buildAvcodec + && buildAvutil; # configure flag since 0.6 +assert buildAvformat -> buildAvcodec && buildAvutil; # configure flag since 0.6 +assert buildPostproc -> buildAvutil; +assert buildSwscale -> buildAvutil; stdenv.mkDerivation rec { - pname = "ffmpeg"; + pname = "ffmpeg" + (if ffmpegVariant == "small" then "" else "-${ffmpegVariant}"); inherit version; - src = fetchurl { - url = "https://www.ffmpeg.org/releases/${pname}-${version}.tar.bz2"; + src = fetchgit { + url = "https://git.ffmpeg.org/ffmpeg.git"; + rev = "n${version}"; inherit sha256; }; - postPatch = "patchShebangs ."; - inherit patches; + postPatch = '' + patchShebangs . + '' + lib.optionalString withFrei0r '' + substituteInPlace libavfilter/vf_frei0r.c \ + --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1 + substituteInPlace doc/filters.texi \ + --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1 + ''; - outputs = [ "bin" "dev" "out" "man" "doc" ]; - setOutputFlags = false; # doesn't accept all and stores configureFlags in libs! + patches = map (patch: fetchpatch patch) extraPatches; configurePlatforms = []; - configureFlags = filter (v: v != null) ([ - "--arch=${stdenv.hostPlatform.parsed.cpu.name}" - "--target_os=${stdenv.hostPlatform.parsed.kernel.name}" - "--pkg-config=${buildPackages.pkg-config.targetPrefix}pkg-config" - # License - "--enable-gpl" - "--enable-version3" - # Build flags - "--enable-shared" - "--enable-pic" - (ifMinVer "4.0" (enableFeature srtSupport "libsrt")) - (enableFeature runtimeCpuDetectBuild "runtime-cpudetect") - "--enable-hardcoded-tables" - ] ++ - (if multithreadBuild then ( - if stdenv.isCygwin then - ["--disable-pthreads" "--enable-w32threads"] - else # Use POSIX threads by default - ["--enable-pthreads" "--disable-w32threads"]) - else - ["--disable-pthreads" "--disable-w32threads"]) - ++ [ - "--disable-os2threads" # We don't support OS/2 - "--enable-network" - "--enable-pixelutils" - # Executables - "--enable-ffmpeg" - "--disable-ffplay" - "--enable-ffprobe" - (ifVerOlder "4" "--disable-ffserver") - # Libraries - "--enable-avcodec" - "--enable-avdevice" - "--enable-avfilter" - "--enable-avformat" - (ifVerOlder "5.0" "--enable-avresample") - "--enable-avutil" - "--enable-postproc" - "--enable-swresample" - "--enable-swscale" - # Docs - "--disable-doc" - # External Libraries - "--enable-libass" - "--enable-bzlib" - "--enable-gnutls" - "--enable-fontconfig" - "--enable-libfreetype" - "--enable-libmp3lame" - "--enable-iconv" - "--enable-libtheora" - "--enable-libssh" - (enableFeature vaapiSupport "vaapi") - (enableFeature vaapiSupport "libdrm") - (enableFeature vdpauSupport "vdpau") - "--enable-libvorbis" - (enableFeature vpxSupport "libvpx") - "--enable-lzma" - (enableFeature openglSupport "opengl") - (ifMinVer "4.2" (enableFeature libmfxSupport "libmfx")) - (ifMinVer "4.2" (enableFeature libaomSupport "libaom")) - (lib.optionalString pulseaudioSupport "--enable-libpulse") - (enableFeature sdlSupport "sdl2") - "--enable-libsoxr" - "--enable-libx264" - "--enable-libxvid" - "--enable-libzimg" - "--enable-zlib" - "--enable-libopus" - "--enable-libspeex" - "--enable-libx265" - (ifMinVer "4.2" (enableFeature (reqMin "4.2") "libdav1d")) - # Developer flags - (enableFeature debugDeveloper "debug") - (enableFeature optimizationsDeveloper "optimizations") - (enableFeature extraWarningsDeveloper "extra-warnings") - "--disable-stripping" + setOutputFlags = false; # Only accepts some of them + configureFlags = [ + #mingw64 is internally treated as mingw32, so 32 and 64 make no difference here + "--target_os=${if stdenv.hostPlatform.isMinGW then "mingw64" else stdenv.hostPlatform.parsed.kernel.name}" + "--arch=${stdenv.hostPlatform.parsed.cpu.name}" + "--pkg-config=${buildPackages.pkg-config.targetPrefix}pkg-config" + /* + * Licensing flags + */ + (enableFeature withGPL "gpl") + (enableFeature withGPLv3 "version3") + (enableFeature withUnfree "nonfree") + /* + * Build flags + */ + # On some ARM platforms --enable-thumb + "--enable-shared" + "--enable-pic" + + (enableFeature withSmallBuild "small") + (enableFeature withRuntimeCPUDetection "runtime-cpudetect") + (enableFeature withLTO "lto") + (enableFeature withGrayscale "gray") + (enableFeature withSwscaleAlpha "swscale-alpha") + (enableFeature withHardcodedTables "hardcoded-tables") + (enableFeature withSafeBitstreamReader "safe-bitstream-reader") + + (enableFeature (withMultithread && stdenv.targetPlatform.isUnix) "pthreads") + (enableFeature (withMultithread && stdenv.targetPlatform.isWindows) "w32threads") + "--disable-os2threads" # We don't support OS/2 + + (enableFeature withNetwork "network") + (enableFeature withPixelutils "pixelutils") + + "--datadir=${placeholder "data"}/share/ffmpeg" + + /* + * Program flags + */ + (enableFeature buildFfmpeg "ffmpeg") + (enableFeature buildFfplay "ffplay") + (enableFeature buildFfprobe "ffprobe") + ] ++ optionals withBin [ + "--bindir=${placeholder "bin"}/bin" + ] ++ [ + /* + * Library flags + */ + (enableFeature buildAvcodec "avcodec") + (enableFeature buildAvdevice "avdevice") + (enableFeature buildAvfilter "avfilter") + (enableFeature buildAvformat "avformat") + ] ++ optionals (lib.versionOlder version "5") [ + # Ffmpeg > 4 doesn't know about the flag anymore + (enableFeature buildAvresample "avresample") + ] ++ [ + (enableFeature buildAvutil "avutil") + (enableFeature (buildPostproc && withGPL) "postproc") + (enableFeature buildSwresample "swresample") + (enableFeature buildSwscale "swscale") + ] ++ optionals withLib [ + "--libdir=${placeholder "lib"}/lib" + "--incdir=${placeholder "dev"}/include" + ] ++ [ + /* + * Documentation flags + */ + (enableFeature withDocumentation "doc") + (enableFeature withHtmlDoc "htmlpages") + (enableFeature withManPages "manpages") + ] ++ optionals withManPages [ + "--mandir=${placeholder "man"}/share/man" + ] ++ [ + (enableFeature withPodDoc "podpages") + (enableFeature withTxtDoc "txtpages") + ] ++ optionals withDoc [ + "--docdir=${placeholder "doc"}/share/doc/ffmpeg" + ] ++ [ + /* + * External libraries + */ + (enableFeature withAlsa "alsa") + (enableFeature withBzlib "bzlib") + (enableFeature withCelt "libcelt") + (enableFeature withCuda "cuda") + (enableFeature withCudaLLVM "cuda-llvm") + (enableFeature withDav1d "libdav1d") + (enableFeature withFdkAac "libfdk-aac") + "--disable-libflite" # Force disable until a solution is found + (enableFeature withFontconfig "fontconfig") + (enableFeature withFreetype "libfreetype") + (enableFeature withFrei0r "frei0r") + (enableFeature withFribidi "libfribidi") + (enableFeature withGme "libgme") + (enableFeature withGnutls "gnutls") + (enableFeature withGsm "libgsm") + (enableFeature withLadspa "ladspa") + (enableFeature withMp3lame "libmp3lame") + (enableFeature withAom "libaom") + (enableFeature withAss "libass") + (enableFeature withBluray "libbluray") + (enableFeature withBs2b "libbs2b") + (enableFeature withDc1394 "libdc1394") + (enableFeature withDrm "libdrm") + (enableFeature withIconv "iconv") + (enableFeature withJack "libjack") + (enableFeature withMfx "libmfx") + (enableFeature withModplug "libmodplug") + (enableFeature withMysofa "libmysofa") + (enableFeature withOpus "libopus") + (enableFeature withSvg "librsvg") + (enableFeature withSrt "libsrt") + (enableFeature withSsh "libssh") + (enableFeature withTheora "libtheora") + (enableFeature withV4l2 "libv4l2") + (enableFeature withV4l2M2m "v4l2-m2m") + (enableFeature withVaapi "vaapi") + (enableFeature withVdpau "vdpau") + (enableFeature withVorbis "libvorbis") + (enableFeature withVmaf "libvmaf") + (enableFeature withVpx "libvpx") + (enableFeature withWebp "libwebp") + (enableFeature withXlib "xlib") + (enableFeature withXcb "libxcb") + (enableFeature withXcbShm "libxcb-shm") + (enableFeature withXcbxfixes "libxcb-xfixes") + (enableFeature withXcbShape "libxcb-shape") + (enableFeature withXml2 "libxml2") + (enableFeature withLzma "lzma") + (enableFeature withNvdec "cuvid") + (enableFeature withNvdec "nvdec") + (enableFeature withNvenc "nvenc") + (enableFeature withOpenal "openal") + (enableFeature withOpencl "opencl") + (enableFeature withOpencoreAmrnb "libopencore-amrnb") + (enableFeature withOpengl "opengl") + (enableFeature withOpenh264 "libopenh264") + (enableFeature withOpenjpeg "libopenjpeg") + (enableFeature withOpenmpt "libopenmpt") + (enableFeature withPulse "libpulse") + (enableFeature withRav1e "librav1e") + (enableFeature withSvtav1 "libsvtav1") + (enableFeature withRtmp "librtmp") + (enableFeature withSdl2 "sdl2") + (enableFeature withSoxr "libsoxr") + (enableFeature withSpeex "libspeex") + (enableFeature withVidStab "libvidstab") # Actual min. version 2.0 + (enableFeature withVoAmrwbenc "libvo-amrwbenc") + (enableFeature withX264 "libx264") + (enableFeature withX265 "libx265") + (enableFeature withXavs "libxavs") + (enableFeature withXvid "libxvid") + (enableFeature withZmq "libzmq") + (enableFeature withZimg "libzimg") + (enableFeature withZlib "zlib") + (enableFeature withVulkan "vulkan") + (enableFeature withGlslang "libglslang") + (enableFeature withSamba "libsmbclient") + /* + * Developer flags + */ + (enableFeature withDebug "debug") + (enableFeature withOptimisations "optimizations") + (enableFeature withExtraWarnings "extra-warnings") + (enableFeature withStripping "stripping") ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--cross-prefix=${stdenv.cc.targetPrefix}" - "--enable-cross-compile" - ] ++ optional stdenv.cc.isClang "--cc=clang"); - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ addOpenGLRunpath perl pkg-config texinfo yasm ]; - - buildInputs = [ - bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora - libvorbis xz soxr x264 x265 xvidcore zimg zlib libopus speex nv-codec-headers - ] ++ optionals openglSupport [ libGL libGLU ] - ++ optional libmfxSupport intel-media-sdk - ++ optional libaomSupport libaom - ++ optional vpxSupport libvpx - ++ optionals (!stdenv.isDarwin && pulseaudioSupport) [ libpulseaudio ] # Need to be fixed on Darwin - ++ optionals vaapiSupport [ libva libdrm ] - ++ optional stdenv.isLinux alsa-lib - ++ optionals stdenv.isDarwin [ Cocoa CoreMedia VideoToolbox ] - ++ optional vdpauSupport libvdpau - ++ optional sdlSupport SDL2 - ++ optional srtSupport srt - ++ optional (reqMin "4.2") dav1d; + "--cross-prefix=${stdenv.cc.targetPrefix}" + "--enable-cross-compile" + "--host-cc=${buildPackages.stdenv.cc}/bin/cc" + ] ++ optionals stdenv.cc.isClang [ + "--cc=clang" + "--cxx=clang++" + ]; - enableParallelBuilding = true; + # ffmpeg embeds the configureFlags verbatim in its binaries and because we + # configure binary, include, library dir etc., this causes references in + # outputs where we don't want them. Patch the generated config.h to remove all + # such references except for data. + postConfigure = let + toStrip = lib.remove "data" outputs; # We want to keep references to the data dir. + in + "remove-references-to ${lib.concatStringsSep " " (map (o: "-t ${placeholder o}") toStrip)} config.h"; - inherit doCheck; + nativeBuildInputs = [ removeReferencesTo addOpenGLRunpath perl pkg-config texinfo yasm ]; + + # TODO This was always in buildInputs before, why? + buildInputs = optionals withFullDeps [ libdc1394 ] + ++ optionals (withFullDeps && !stdenv.isDarwin) [ libraw1394 ] # TODO where does this belong to + ++ optionals (withNvdec || withNvenc) [ nv-codec-headers ] + ++ optionals withAlsa [ alsa-lib ] + ++ optionals withAom [ libaom ] + ++ optionals withAss [ libass ] + ++ optionals withBluray [ libbluray ] + ++ optionals withBs2b [ libbs2b ] + ++ optionals withBzlib [ bzip2 ] + ++ optionals withCaca [ libcaca ] + ++ optionals withCelt [ celt ] + ++ optionals withCudaLLVM [ clang ] + ++ optionals withDav1d [ dav1d ] + ++ optionals withDrm [ libdrm ] + ++ optionals withFdkAac [ fdk_aac ] + ++ optionals withFontconfig [ fontconfig ] + ++ optionals withFreetype [ freetype ] + ++ optionals withFrei0r [ frei0r ] + ++ optionals withFribidi [ fribidi ] + ++ optionals withGlslang [ glslang ] + ++ optionals withGme [ game-music-emu ] + ++ optionals withGnutls [ gnutls ] + ++ optionals withGsm [ gsm ] + ++ optionals withIconv [ libiconv ] # On Linux this should be in libc, do we really need it? + ++ optionals withJack [ libjack2 ] + ++ optionals withLadspa [ ladspaH ] + ++ optionals withLzma [ xz ] + ++ optionals withMfx [ intel-media-sdk ] + ++ optionals withModplug [ libmodplug ] + ++ optionals withMp3lame [ lame ] + ++ optionals withMysofa [ libmysofa ] + ++ optionals withOgg [ libogg ] + ++ optionals withOpenal [ openal ] + ++ optionals withOpencl [ ocl-icd opencl-headers ] + ++ optionals withOpencoreAmrnb [ opencore-amr ] + ++ optionals withOpengl [ libGL libGLU ] + ++ optionals withOpenh264 [ openh264 ] + ++ optionals withOpenjpeg [ openjpeg ] + ++ optionals withOpenmpt [ libopenmpt ] + ++ optionals withOpus [ libopus ] + ++ optionals withPulse [ libpulseaudio ] + ++ optionals withRav1e [ rav1e ] + ++ optionals withRtmp [ rtmpdump ] + ++ optionals withSamba [ samba ] + ++ optionals withSdl2 [ SDL2 ] + ++ optionals withSoxr [ soxr ] + ++ optionals withSpeex [ speex ] + ++ optionals withSrt [ srt ] + ++ optionals withSsh [ libssh ] + ++ optionals withSvg [ librsvg ] + ++ optionals withSvtav1 [ svt-av1 ] + ++ optionals withTheora [ libtheora ] + ++ optionals withVaapi [ (if withSmallDeps then libva else libva-minimal) ] + ++ optionals withVdpau [ libvdpau ] + ++ optionals withVidStab [ vid-stab ] + ++ optionals withVmaf [ libvmaf ] + ++ optionals withVoAmrwbenc [ vo-amrwbenc ] + ++ optionals withVorbis [ libvorbis ] + ++ optionals withVpx [ libvpx ] + ++ optionals withV4l2 [ libv4l ] + ++ optionals withVulkan [ vulkan-loader ] + ++ optionals withWebp [ libwebp ] + ++ optionals withX264 [ x264 ] + ++ optionals withX265 [ x265 ] + ++ optionals withXavs [ xavs ] + ++ optionals withXcb [ libxcb ] + ++ optionals withXlib [ libX11 libXv libXext ] + ++ optionals withXml2 [ libxml2 ] + ++ optionals withXvid [ xvidcore ] + ++ optionals withZimg [ zimg ] + ++ optionals withZlib [ zlib ] + ++ optionals withZmq [ zeromq4 ] + ++ optionals stdenv.isDarwin [ + # TODO fine-grained flags + AVFoundation + Cocoa + CoreAudio + CoreMedia + CoreServices + MediaToolbox + VideoDecodeAcceleration + VideoToolbox + ]; + + buildFlags = [ "all" ] + ++ optional buildQtFaststart "tools/qt-faststart"; # Build qt-faststart executable + + doCheck = stdenv.hostPlatform == stdenv.buildPlatform; + + # Fails with SIGABRT otherwise FIXME: Why? checkPhase = let ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + libsToLink = [ ] + ++ optional buildAvcodec "libavcodec" + ++ optional buildAvdevice "libavdevice" + ++ optional buildAvfilter "libavfilter" + ++ optional buildAvformat "libavformat" + ++ optional buildAvresample "libavresample" + ++ optional buildAvutil "libavutil" + ++ optional buildPostproc "libpostproc" + ++ optional buildSwresample "libswresample" + ++ optional buildSwscale "libswscale" + ; in '' - ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \ - make check -j$NIX_BUILD_CORES + ${ldLibraryPathEnv}="${lib.concatStringsSep ":" libsToLink}" make check -j$NIX_BUILD_CORES + ''; + + outputs = optionals withBin [ "bin" ] # The first output is the one that gets symlinked by default! + ++ optionals withLib [ "lib" "dev" ] + ++ optionals withDoc [ "doc" ] + ++ optionals withManPages [ "man" ] + ++ [ "data" "out" ] # We need an "out" output because we get an error otherwise. It's just an empty dir. + ; + + postInstall = optionalString buildQtFaststart '' + install -D tools/qt-faststart -t $bin/bin ''; - # ffmpeg 3+ generates pkg-config (.pc) files that don't have the - # form automatically handled by the multiple-outputs hooks. - postFixup = '' - moveToOutput bin "$bin" - moveToOutput share/ffmpeg/examples "$doc" - for pc in ''${!outputDev}/lib/pkgconfig/*.pc; do - substituteInPlace $pc \ - --replace "includedir=$out" "includedir=''${!outputInclude}" - done - '' + optionalString stdenv.isLinux '' - # Set RUNPATH so that libnvcuvid and libcuda in /run/opengl-driver(-32)/lib can be found. - # See the explanation in addOpenGLRunpath. + # Set RUNPATH so that libnvcuvid and libcuda in /run/opengl-driver(-32)/lib can be found. + # See the explanation in addOpenGLRunpath. + postFixup = optionalString stdenv.isLinux '' addOpenGLRunpath $out/lib/libavcodec.so addOpenGLRunpath $out/lib/libavutil.so ''; - installFlags = [ "install-man" ]; - - passthru = { - inherit vaapiSupport vdpauSupport; - }; + enableParallelBuilding = true; meta = with lib; { description = "A complete, cross-platform solution to record, convert and stream audio and video"; @@ -212,9 +667,11 @@ stdenv.mkDerivation rec { No matter if they were designed by some standards committee, the community or a corporation. ''; - license = licenses.gpl3; - maintainers = with maintainers; [ ]; + license = with licenses; [ lgpl21Plus ] + ++ optional withGPL gpl2Plus + ++ optional withGPLv3 gpl3Plus + ++ optional withUnfree unfreeRedistributable; platforms = platforms.all; - inherit branch knownVulnerabilities; + maintainers = with maintainers; [ atemu ]; }; } diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix index 61106d7f620e4..5400c1de59274 100644 --- a/pkgs/development/libraries/gegl/default.nix +++ b/pkgs/development/libraries/gegl/default.nix @@ -47,6 +47,15 @@ stdenv.mkDerivation rec { sha256 = "zd6A0VpJ2rmmFO+Y+ATIzm5M/hM5o8JAw08/tFQ2uF0="; }; + patches = [ + (fetchurl { + name = "libraw.patch"; + url = "https://src.fedoraproject.org/cgit/rpms/gegl04.git/plain/" + + "libraw.patch?id=5efd0c16a7b0e73abcaecc48af544ef027f4531b"; + hash = "sha256-ZgVigN1T7JmeBMwSdBsMsmXx0h7UW4Ft9HlSqeB0se8="; + }) + ]; + nativeBuildInputs = [ pkg-config gettext diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix index a6824f121d39b..3b39482519642 100644 --- a/pkgs/development/libraries/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -27,7 +27,6 @@ let testDeps = [ - gobject-introspection # for Gio and cairo typelibs gtk3 atk pango.out gdk-pixbuf harfbuzz ]; in stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index ac7977d0f62f2..de5e0b781f8dc 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -55,11 +55,11 @@ in stdenv.mkDerivation (finalAttrs: { pname = "glib"; - version = "2.74.3"; + version = "2.74.5"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz"; - sha256 = "6bxB7NlpDZvGqXDMc4ARm4KOW2pLFsOTxjiz3CuHy8s="; + sha256 = "zrqDpZmc6zGkxPyZISB8uf//0qsdbsA8Fi0/YIpcFMg="; }; patches = lib.optionals stdenv.isDarwin [ @@ -117,20 +117,6 @@ stdenv.mkDerivation (finalAttrs: { # Disable flaky test. # https://gitlab.gnome.org/GNOME/glib/-/issues/820 ./skip-timer-test.patch - - # GVariant security fixes - # https://discourse.gnome.org/t/multiple-fixes-for-gvariant-normalisation-issues-in-glib/12835 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3126.patch"; - sha256 = "CNCxouYy8xNHt4eJtPZ2eOi9b0SxzI2DkklNfQMk3d8="; - }) - - # Menu model security fix - # https://discourse.gnome.org/t/fixes-for-gdbusmenumodel-crashes-in-glib/12846 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/glib/-/commit/4f4d770a1e40f719d5a310cffdac29cbb4e20c11.patch"; - sha256 = "+S44AnC86HfbMwkRe1ll54IK9pLxaFD3LqiVhPelnXI="; - }) ]; outputs = [ "bin" "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix index 8fc57d865fd74..69243a13ef300 100644 --- a/pkgs/development/libraries/gloox/default.nix +++ b/pkgs/development/libraries/gloox/default.nix @@ -14,6 +14,13 @@ stdenv.mkDerivation rec{ sha256 = "1jgrd07qr9jvbb5hcmhrqz4w4lvwc51m30jls1fgxf1f5az6455f"; }; + # needed since gcc12 + postPatch = '' + sed '1i#include ' -i \ + src/tests/{tag/tag_perf.cpp,zlib/zlib_perf.cpp} \ + src/examples/*.cpp + ''; + buildInputs = [ ] ++ lib.optional zlibSupport zlib ++ lib.optional sslSupport openssl diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix index 0d14630bda3b0..590a4508c9b91 100644 --- a/pkgs/development/libraries/gsl/default.nix +++ b/pkgs/development/libraries/gsl/default.nix @@ -4,6 +4,8 @@ stdenv.mkDerivation rec { pname = "gsl"; version = "2.7.1"; + outputs = [ "out" "dev" ]; + src = fetchurl { url = "mirror://gnu/gsl/${pname}-${version}.tar.gz"; sha256 = "sha256-3LD71DBIgyt1f/mUJpGo3XACbV2g/4VgHlJof23us0s="; @@ -13,6 +15,10 @@ stdenv.mkDerivation rec { MACOSX_DEPLOYMENT_TARGET=10.16 '' else null; + postInstall = '' + moveToOutput bin/gsl-config "$dev" + ''; + # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html) NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isx86_64 "-mno-fma"; diff --git a/pkgs/development/libraries/gsmlib/default.nix b/pkgs/development/libraries/gsmlib/default.nix index ec6646d98f572..f993eeedc33b9 100644 --- a/pkgs/development/libraries/gsmlib/default.nix +++ b/pkgs/development/libraries/gsmlib/default.nix @@ -2,13 +2,21 @@ stdenv.mkDerivation rec { pname = "gsmlib"; version = "unstable-2017-10-06"; + src = fetchFromGitHub { owner = "x-logLT"; repo = "gsmlib"; rev = "4f794b14450132f81673f7d3570c5a859aecf7ae"; sha256 = "16v8aj914ac1ipf14a867ljib3gy7fhzd9ypxnsg9l0zi8mm3ml5"; }; + nativeBuildInputs = [ autoreconfHook ]; + + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-std=c++14" + ]; + meta = with lib; { description = "Library to access GSM mobile phones through GSM modems"; homepage = "https://github.com/x-logLT/gsmlib"; diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix index 049d202a71ec0..8e60c08d36009 100644 --- a/pkgs/development/libraries/gtest/default.nix +++ b/pkgs/development/libraries/gtest/default.nix @@ -19,7 +19,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + ] ++ lib.optionals (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0")) [ + # Enable C++17 support + # https://github.com/google/googletest/issues/3081 + "-DCMAKE_CXX_STANDARD=17" + ]; meta = with lib; { description = "Google's framework for writing C++ tests"; diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 782823cd67483..e2b0697de59b3 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -10,6 +10,8 @@ , meson , ninja , gobject-introspection +, buildPackages +, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages , icu , graphite2 , harfbuzz # The icu variant uses and propagates the non-icu one. @@ -61,6 +63,7 @@ stdenv.mkDerivation rec { (lib.mesonEnable "coretext" withCoreText) (lib.mesonEnable "graphite" withGraphite2) (lib.mesonEnable "icu" withIcu) + (lib.mesonEnable "introspection" withIntrospection) ]; depsBuildBuild = [ @@ -70,14 +73,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja - gobject-introspection libintl pkg-config python3 + glib gtk-doc docbook-xsl-nons docbook_xml_dtd_43 - ]; + ] ++ lib.optional withIntrospection gobject-introspection; buildInputs = [ glib freetype ] ++ lib.optionals withCoreText [ ApplicationServices CoreText ]; @@ -90,7 +93,6 @@ stdenv.mkDerivation rec { # Slightly hacky; some pkgs expect them in a single directory. postFixup = lib.optionalString withIcu '' rm "$out"/lib/libharfbuzz.* "$dev/lib/pkgconfig/harfbuzz.pc" - ln -s {'${harfbuzz.out}',"$out"}/lib/libharfbuzz.la ln -s {'${harfbuzz.dev}',"$dev"}/lib/pkgconfig/harfbuzz.pc ${lib.optionalString stdenv.isDarwin '' ln -s {'${harfbuzz.out}',"$out"}/lib/libharfbuzz.dylib @@ -108,6 +110,6 @@ stdenv.mkDerivation rec { homepage = "https://harfbuzz.github.io/"; maintainers = [ maintainers.eelco ]; license = licenses.mit; - platforms = with platforms; linux ++ darwin; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix index b29b64c2a7577..2a6483d77b2a2 100644 --- a/pkgs/development/libraries/hidapi/default.nix +++ b/pkgs/development/libraries/hidapi/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "hidapi"; - version = "0.12.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "libusb"; repo = "hidapi"; rev = "${pname}-${version}"; - sha256 = "sha256-SMhlcB7LcViC6UFVYACjunxsGkvSOKC3mbLBH4XQSzM="; + sha256 = "sha256-CEZP5n8qEAzsqn8dz3u1nG0YoT7J1P+WfN7urkRTuVg="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix index 66441a911607d..324b4337c874c 100644 --- a/pkgs/development/libraries/hunspell/default.nix +++ b/pkgs/development/libraries/hunspell/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, ncurses, readline, autoreconfHook }: stdenv.mkDerivation rec { - version = "1.7.1"; + version = "1.7.2"; pname = "hunspell"; src = fetchFromGitHub { owner = "hunspell"; repo = "hunspell"; rev = "v${version}"; - sha256 = "sha256-J1kgNUElRO63mtU62qU7asf7hht9oyplMIO9I/E6BPU="; + sha256 = "sha256-x2FXxnVIqsf5/UEQcvchAndXBv/3mW8Z55djQAFgNA8="; }; outputs = [ "bin" "dev" "out" "man" ]; diff --git a/pkgs/development/libraries/iqueue/default.nix b/pkgs/development/libraries/iqueue/default.nix index 04fd7202d1d16..ab873f82c579a 100644 --- a/pkgs/development/libraries/iqueue/default.nix +++ b/pkgs/development/libraries/iqueue/default.nix @@ -12,6 +12,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ libbsd microsoft_gsl ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-parameter" + "-Wno-error=misleading-indentation" + ]; + meta = with lib; { homepage = "https://github.com/twosigma/iqueue"; description = "Indexed queue"; diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix index c38c72ccd04c2..aca509b3b036b 100644 --- a/pkgs/development/libraries/iso-codes/default.nix +++ b/pkgs/development/libraries/iso-codes/default.nix @@ -9,15 +9,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-QI95nfQTVGj6fKNetrBcQAS+pEPYHKWLibLkgkAagrs="; }; - patchPhase = '' - for i in `find . -name \*.py` - do - sed -i -e "s|#!/usr/bin/env python|#!${python3}/bin/python|" $i - done - ''; - nativeBuildInputs = [ gettext python3 ]; + enableParallelBuilding = true; + meta = with lib; { homepage = "https://salsa.debian.org/iso-codes-team/iso-codes"; description = "Various ISO codes packaged as XML files"; diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index 22b29151caa5b..4caea890e7051 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -57,6 +57,11 @@ stdenv.mkDerivation rec { sourceRoot = "krb5-${version}/src"; + postPatch = '' + substituteInPlace config/shlib.conf \ + --replace "'ld " "'${stdenv.cc.targetPrefix}ld " + ''; + libFolders = [ "util" "include" "lib" "build-tools" ]; buildPhase = lib.optionalString libOnly '' diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index 3a00ca498cbe3..e2fbb3f9287cf 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ npth gettext ]; configureFlags = [ + # Required for cross-compilation. "--with-libgpg-error-prefix=${libgpg-error.dev}" ]; diff --git a/pkgs/development/libraries/libbladeRF/default.nix b/pkgs/development/libraries/libbladeRF/default.nix index 4b2c48824fb7c..e5e51a447b484 100644 --- a/pkgs/development/libraries/libbladeRF/default.nix +++ b/pkgs/development/libraries/libbladeRF/default.nix @@ -46,6 +46,11 @@ in stdenv.mkDerivation rec { "-DBLADERF_GROUP=bladerf" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + hardeningDisable = [ "fortify" ]; meta = with lib; { diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix index b8f6aac0b3884..0c8040010e722 100644 --- a/pkgs/development/libraries/libbsd/default.nix +++ b/pkgs/development/libraries/libbsd/default.nix @@ -1,12 +1,18 @@ -{ lib, stdenv, fetchurl, autoreconfHook, libmd }: +{ lib +, stdenv +, fetchurl +, autoreconfHook +, libmd +, gitUpdater +}: stdenv.mkDerivation rec { pname = "libbsd"; - version = "0.11.6"; + version = "0.11.7"; src = fetchurl { url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "sha256-GbOPMXLq9pPm4caHFGNhkMfkiFHkUiTXILO1vASZtd8="; + hash = "sha256-m6oYYFnrvyXAYwjp+ZH9ox9xg8DySTGCbYOqar2KAmE="; }; outputs = [ "out" "dev" "man" ]; @@ -18,6 +24,11 @@ stdenv.mkDerivation rec { patches = [ ./darwin.patch ]; + passthru.updateScript = gitUpdater { + # No nicer place to find latest release. + url = "https://gitlab.freedesktop.org/libbsd/libbsd.git"; + }; + meta = with lib; { description = "Common functions found on BSD systems"; homepage = "https://libbsd.freedesktop.org/"; diff --git a/pkgs/development/libraries/libcamera/default.nix b/pkgs/development/libraries/libcamera/default.nix index d03783f2fd903..11c8ce9e097ee 100644 --- a/pkgs/development/libraries/libcamera/default.nix +++ b/pkgs/development/libraries/libcamera/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { hash = "sha256-0/wvH07bJRKFwYnOARRJNzH8enIX3TNnWQnJdfpfvgE="; }; + outputs = [ "out" "dev" "doc" ]; + postPatch = '' patchShebangs utils/ ''; diff --git a/pkgs/development/libraries/libcbor/default.nix b/pkgs/development/libraries/libcbor/default.nix index 7abbd944ed014..8f8e33cbeab4d 100644 --- a/pkgs/development/libraries/libcbor/default.nix +++ b/pkgs/development/libraries/libcbor/default.nix @@ -13,28 +13,25 @@ stdenv.mkDerivation (finalAttrs: { pname = "libcbor"; - version = "0.10.0"; + version = "unstable-2023-01-29"; # Musl fix hasn't been released yet. src = fetchFromGitHub { owner = "PJK"; - repo = finalAttrs.pname; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-YJSIZ7o191/0QJf1fH6LUYykS2pvP17knSeRO2WcDeM="; + repo = "libcbor"; + rev = "cb4162f40d94751141b4d43b07c4add83e738a68"; + sha256 = "sha256-ZTa+wG1g9KsVoqJG/yqxo2fJ7OhPnaI9QcfOmpOT3pg="; }; nativeBuildInputs = [ cmake ]; - cmakeFlags = [ - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DBUILD_SHARED_LIBS=on" - ] ++ lib.optional finalAttrs.doCheck "-DWITH_TESTS=ON"; + cmakeFlags = lib.optional finalAttrs.doCheck "-DWITH_TESTS=ON" + ++ lib.optional (!stdenv.hostPlatform.isStatic) "-DBUILD_SHARED_LIBS=ON"; - # 2 tests are not 32-bit clean: overflow size_t: - # https://github.com/PJK/libcbor/issues/263 - doCheck = - !stdenv.hostPlatform.is32bit - && (!stdenv.hostPlatform.isStatic) + # Tests are restricted while pkgsStatic.cmocka is broken. Tracked at: + # https://github.com/NixOS/nixpkgs/issues/213623 + doCheck = !stdenv.hostPlatform.isStatic && stdenv.hostPlatform == stdenv.buildPlatform; + nativeCheckInputs = [ cmocka ]; passthru.tests = { diff --git a/pkgs/development/libraries/libcli/default.nix b/pkgs/development/libraries/libcli/default.nix index da076a590e19a..6e38c1ab84f13 100644 --- a/pkgs/development/libraries/libcli/default.nix +++ b/pkgs/development/libraries/libcli/default.nix @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "AR=${stdenv.cc.targetPrefix}ar" "PREFIX=$(out)" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=address" + ]; + meta = with lib; { description = "Emulate a Cisco-style telnet command-line interface"; homepage = "http://sites.dparrish.com/libcli"; diff --git a/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch b/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch index e12b584d16ebe..19aa27b549c26 100644 --- a/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch +++ b/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch @@ -17,7 +17,7 @@ index 4486e7b2..be5b28b4 100644 if test "$DO_CHECK" = "yes"; then - accepted_versions="1.2 1.4 2.0" -+ accepted_versions="1.2 1.4 2.0 2.2 2.3" ++ accepted_versions="1.2 1.4 2.0 2.2 2.3 2.4" AC_PATH_PROGS(GNUPG, [gpg gpg2], no) AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.]) ok="no" diff --git a/pkgs/development/libraries/libdatrie/default.nix b/pkgs/development/libraries/libdatrie/default.nix index 257673b1a96d2..57d30124a6fd1 100644 --- a/pkgs/development/libraries/libdatrie/default.nix +++ b/pkgs/development/libraries/libdatrie/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { installShellFiles ]; - buildInputs = lib.optional stdenv.isDarwin libiconv; + buildInputs = [ libiconv ]; preAutoreconf = let reports = "https://github.com/tlwg/libdatrie/issues"; diff --git a/pkgs/development/libraries/libde265/default.nix b/pkgs/development/libraries/libde265/default.nix index 18b8d6ba5d6fe..c24209e4ab6c3 100644 --- a/pkgs/development/libraries/libde265/default.nix +++ b/pkgs/development/libraries/libde265/default.nix @@ -12,14 +12,14 @@ }: stdenv.mkDerivation rec { - version = "1.0.9"; + version = "1.0.11"; pname = "libde265"; src = fetchFromGitHub { owner = "strukturag"; repo = "libde265"; rev = "v${version}"; - sha256 = "sha256-OpiQapppuKCR27tIG5OW+KiNMP9ysv7CaobiBOW6VUI="; + sha256 = "sha256-0aRUh5h49fnjBjy42A5fWYHnhnQ4CFoeSIXZilZewW8="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 83a426a2afa4f..b34282dd37b10 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -20,12 +20,13 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dinstall-test-programs=true" - "-Domap=enabled" "-Dcairo-tests=disabled" - "-Dvalgrind=${if withValgrind then "enabled" else "disabled"}" + (lib.mesonEnable "omap" stdenv.hostPlatform.isLinux) + (lib.mesonEnable "valgrind" withValgrind) ] ++ lib.optionals stdenv.hostPlatform.isAarch [ "-Dtegra=enabled" - "-Detnaviv=enabled" + ] ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + "-Detnaviv=disabled" ]; meta = with lib; { diff --git a/pkgs/development/libraries/libdynd/default.nix b/pkgs/development/libraries/libdynd/default.nix index b418279e477b8..6018e00f944ec 100644 --- a/pkgs/development/libraries/libdynd/default.nix +++ b/pkgs/development/libraries/libdynd/default.nix @@ -15,14 +15,17 @@ stdenv.mkDerivation rec { "-DDYND_BUILD_BENCHMARKS=OFF" ]; - # added to fix build with gcc7+ NIX_CFLAGS_COMPILE = builtins.toString [ + # added to fix build with gcc7+ "-Wno-error=implicit-fallthrough" "-Wno-error=nonnull" "-Wno-error=tautological-compare" "-Wno-error=class-memaccess" "-Wno-error=parentheses" "-Wno-error=deprecated-copy" + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" + "-Wno-error=maybe-uninitialized" ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/libepoxy/default.nix b/pkgs/development/libraries/libepoxy/default.nix index 196ac1afaae53..8b35097778de9 100644 --- a/pkgs/development/libraries/libepoxy/default.nix +++ b/pkgs/development/libraries/libepoxy/default.nix @@ -50,8 +50,10 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dtests=${if doCheck then "true" else "false"}" + "-Degl=${if x11Support then "yes" else "no"}" "-Dglx=${if x11Support then "yes" else "no"}" + "-Dtests=${lib.boolToString doCheck}" + "-Dx11=${lib.boolToString x11Support}" ]; NIX_CFLAGS_COMPILE = lib.optionalString x11Support ''-DLIBGL_PATH="${getLib libGL}/lib"''; diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix index ac501c660b02a..e58c74f2c6756 100644 --- a/pkgs/development/libraries/libfaketime/default.nix +++ b/pkgs/development/libraries/libfaketime/default.nix @@ -1,19 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, perl, coreutils }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, coreutils }: stdenv.mkDerivation rec { pname = "libfaketime"; - version = "0.9.9"; + version = "0.9.10"; src = fetchFromGitHub { owner = "wolfcw"; repo = "libfaketime"; rev = "v${version}"; - sha256 = "sha256-P1guVggteGtoq8+eeE966hDPkRwsn0m7oLCohyPrIb4="; + sha256 = "sha256-DYRuQmIhQu0CNEboBAtHOr/NnWxoXecuPMSR/UQ/VIQ="; }; patches = [ - ./no-date-in-gzip-man-page.patch ./nix-store-date.patch + (fetchpatch { + name = "0001-libfaketime.c-wrap-timespec_get-in-TIME_UTC-macro.patch"; + url = "https://github.com/wolfcw/libfaketime/commit/e0e6b79568d36a8fd2b3c41f7214769221182128.patch"; + sha256 = "sha256-KwwP76v0DXNW73p/YBvwUOPdKMAcVdbQSKexD/uFOYo="; + }) ] ++ (lib.optionals stdenv.cc.isClang [ # https://github.com/wolfcw/libfaketime/issues/277 ./0001-Remove-unsupported-clang-flags.patch diff --git a/pkgs/development/libraries/libfaketime/nix-store-date.patch b/pkgs/development/libraries/libfaketime/nix-store-date.patch index b88245dfe8fbf..e93a7ec765070 100644 --- a/pkgs/development/libraries/libfaketime/nix-store-date.patch +++ b/pkgs/development/libraries/libfaketime/nix-store-date.patch @@ -13,9 +13,9 @@ index af618f2..48e47da 100644 +++ b/src/faketime.c @@ -50,11 +50,7 @@ - const char version[] = "0.9.9"; + const char version[] = "0.9.10"; --#ifdef __APPLE__ +-#if (defined __APPLE__) || (defined __sun) -static const char *date_cmd = "gdate"; -#else -static const char *date_cmd = "date"; diff --git a/pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch b/pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch deleted file mode 100644 index 7b7e362fbf0f8..0000000000000 --- a/pkgs/development/libraries/libfaketime/no-date-in-gzip-man-page.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur libfaketime-0.9.5.orig/man/Makefile libfaketime-0.9.5/man/Makefile ---- libfaketime-0.9.5.orig/man/Makefile 2013-10-13 11:19:30.000000000 +0200 -+++ libfaketime-0.9.5/man/Makefile 2014-04-13 01:22:14.362296519 +0200 -@@ -6,7 +6,7 @@ - - install: - $(INSTALL) -Dm0644 faketime.1 "${DESTDIR}${PREFIX}/share/man/man1/faketime.1" -- gzip -f "${DESTDIR}${PREFIX}/share/man/man1/faketime.1" -+ gzip -9nf "${DESTDIR}${PREFIX}/share/man/man1/faketime.1" - - uninstall: - rm -f "${DESTDIR}${PREFIX}/share/man/man1/faketime.1.gz" diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix index bf43bb1b50e43..0b983e6edf41f 100644 --- a/pkgs/development/libraries/libglvnd/default.nix +++ b/pkgs/development/libraries/libglvnd/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "libglvnd"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "glvnd"; repo = "libglvnd"; rev = "v${version}"; - sha256 = "sha256-yXSuG8UwD5KZbn4ysDStTdOGD4uHigjOhazlHT9ndNs="; + sha256 = "sha256-p/vLxagN9nCYw1JpUmZetgctQbrp3Wo33OVFrtvmnjQ="; }; nativeBuildInputs = [ autoreconfHook pkg-config python3 addOpenGLRunpath ]; diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index fcd7946a1351f..d8c5d87b16565 100644 --- a/pkgs/development/libraries/libgpg-error/default.nix +++ b/pkgs/development/libraries/libgpg-error/default.nix @@ -17,17 +17,22 @@ }; in stdenv.mkDerivation (rec { pname = "libgpg-error"; - version = "1.45"; + version = "1.46"; src = fetchurl { url = "mirror://gnupg/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-Vw+O5PtL/3t0lc/5IMJ1ACrqIUfpodIgwGghMmf4CiY="; + sha256 = "sha256-t+EaZCRrvl7zd0jeQ7JFq9cs/NU8muXn/FylnxyBJo0="; }; postPatch = '' sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure ''; + configureFlags = [ + # See https://dev.gnupg.org/T6257#164567 + "--enable-install-gpg-error-config" + ]; + outputs = [ "out" "dev" "info" ]; outputBin = "dev"; # deps want just the lib, most likely diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix index 799e1d0f84517..59df64e63558a 100644 --- a/pkgs/development/libraries/libgudev/default.nix +++ b/pkgs/development/libraries/libgudev/default.nix @@ -55,7 +55,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection udev glib ]; diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index 230cd3fc9196a..f85181d376a9d 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -59,7 +59,6 @@ stdenv.mkDerivation rec { glib libxml2 icu - gobject-introspection ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index 83034b8dd6202..dfd5ce1a095b4 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -45,7 +45,7 @@ in stdenv.mkDerivation rec { pname = "libinput"; - version = "1.21.0"; + version = "1.22.1"; outputs = [ "bin" "out" "dev" ]; @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { owner = "libinput"; repo = "libinput"; rev = version; - sha256 = "R94BdrjI4szNbVtQ+ydRNUg9clR8mkRL7+GE9b2FcDs="; + sha256 = "RgwEp60Anr+CpJws6srIv/Qzk2r9NoekeNQ0UT3FRZ0="; }; patches = [ diff --git a/pkgs/development/libraries/libmanette/default.nix b/pkgs/development/libraries/libmanette/default.nix index 2320aa78bba7f..7629dd8a6f1ae 100644 --- a/pkgs/development/libraries/libmanette/default.nix +++ b/pkgs/development/libraries/libmanette/default.nix @@ -40,7 +40,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection glib libgudev libevdev diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index eb32fca71641c..f9f15b683946a 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -1,46 +1,63 @@ { lib , stdenv -, fetchurl +, fetchFromGitLab +, meson +, ninja , pkg-config , glib , python3 +, help2man , systemd +, bash-completion , withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform , gobject-introspection }: stdenv.mkDerivation rec { pname = "libmbim"; - version = "1.26.4"; + version = "1.28.2"; outputs = [ "out" "dev" "man" ]; - src = fetchurl { - url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz"; - sha256 = "sha256-9ojOxMRYahdXX14ydEjOYvIADvagfJ5FiYc9SmhWitk="; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "mobile-broadband"; + repo = "libmbim"; + rev = version; + hash = "sha256-EtjUaSNBT1e/eeTX4oHzQolGrisbsGKBK8Cfl3rRQTQ="; }; - configureFlags = [ - "--with-udev-base-dir=${placeholder "out"}/lib/udev" - (lib.enableFeature withIntrospection "introspection") + mesonFlags = [ + "-Dudevdir=${placeholder "out"}/lib/udev" + (lib.mesonBool "introspection" withIntrospection) ]; nativeBuildInputs = [ + meson + ninja pkg-config python3 + help2man gobject-introspection ]; buildInputs = [ glib systemd + bash-completion ]; doCheck = true; + postPatch = '' + patchShebangs \ + build-aux/mbim-codegen/mbim-codegen + ''; + meta = with lib; { homepage = "https://www.freedesktop.org/wiki/Software/libmbim/"; description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"; + maintainers = teams.freedesktop.members; platforms = platforms.linux; license = licenses.gpl2Plus; }; diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index f1034781fb441..e047b34fa85a4 100644 --- a/pkgs/development/libraries/libnotify/default.nix +++ b/pkgs/development/libraries/libnotify/default.nix @@ -44,10 +44,6 @@ stdenv.mkDerivation rec { gobject-introspection ]; - buildInputs = lib.optionals withIntrospection [ - gobject-introspection - ]; - propagatedBuildInputs = [ gdk-pixbuf glib diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix index 3dddc02aeabdc..10a12dbfa7713 100644 --- a/pkgs/development/libraries/libpsl/default.nix +++ b/pkgs/development/libraries/libpsl/default.nix @@ -25,11 +25,11 @@ let ; in stdenv.mkDerivation rec { pname = "libpsl"; - version = "0.21.1"; + version = "0.21.2"; src = fetchurl { url = "https://github.com/rockdaboot/libpsl/releases/download/${version}/libpsl-${version}.tar.lz"; - sha256 = "1a9kp2rj71jb9q030lmp3zhy33rqxscawbfzhp288fxvazapahv4"; + sha256 = "sha256-qj1wbEUnhtE0XglNriAc022B8Dz4HWNtXPwQ02WQfxc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libptytty/default.nix b/pkgs/development/libraries/libptytty/default.nix index 63f50de287c6e..3ed0cf6a39d0c 100644 --- a/pkgs/development/libraries/libptytty/default.nix +++ b/pkgs/development/libraries/libptytty/default.nix @@ -4,6 +4,12 @@ , cmake }: +let + isCross = !stdenv.buildPlatform.canExecute stdenv.hostPlatform; + isStatic = stdenv.hostPlatform.isStatic; + isMusl = stdenv.hostPlatform.isMusl; +in + stdenv.mkDerivation rec { pname = "libptytty"; version = "2.0"; @@ -15,12 +21,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; + cmakeFlags = lib.optional isStatic "-DBUILD_SHARED_LIBS=OFF" + ++ lib.optional (isCross || isStatic) "-DTTY_GID_SUPPORT=OFF" + # Musl lacks UTMP/WTMP built-in support + ++ lib.optionals isMusl [ + "-DUTMP_SUPPORT=OFF" + "-DWTMP_SUPPORT=OFF" + "-DLASTLOG_SUPPORT=OFF" + ]; + meta = with lib; { description = "OS independent and secure pty/tty and utmp/wtmp/lastlog"; homepage = "http://dist.schmorp.de/libptytty"; maintainers = with maintainers; [ rnhmjoj ]; platforms = platforms.unix; license = licenses.gpl2; + # pkgsMusl.pkgsStatic errors as: + # ln: failed to create symbolic link './include': File exists + broken = isStatic && isMusl; }; } diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index b261967f5cf26..05a44980f83cc 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -1,40 +1,61 @@ { lib , stdenv -, fetchurl +, fetchFromGitLab +, fetchpatch2 +, meson +, ninja , pkg-config , gobject-introspection , gtk-doc , docbook-xsl-nons , docbook_xml_dtd_43 +, help2man , glib , python3 , libgudev +, bash-completion , libmbim , libqrtr-glib }: stdenv.mkDerivation rec { pname = "libqmi"; - version = "1.30.8"; + version = "1.32.2"; outputs = [ "out" "dev" "devdoc" ]; - src = fetchurl { - url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz"; - sha256 = "sha256-hiSCzp460L1l0mQzTuMRzblLnfKGO1txNjCbQbisGZA="; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "mobile-broadband"; + repo = "libqmi"; + rev = version; + hash = "sha256-XIbeWgkPiJL8hN8Rb6KFt5Q5sG3KsiEQr0EnhwmI6h8="; }; + patches = [ + # Fix pkg-config file missing qrtr in Requires. + # https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/99 + (fetchpatch2 { + url = "https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/commit/7d08150910974c6bd2c29f887c2c6d4a3526e085.patch"; + hash = "sha256-LFrlm2ZqLqewLGO2FxL5kFYbZ7HaxdxvVHsFHYSgZ4Y="; + }) + ]; + nativeBuildInputs = [ + meson + ninja pkg-config gobject-introspection python3 gtk-doc docbook-xsl-nons docbook_xml_dtd_43 + help2man ]; buildInputs = [ libgudev + bash-completion libmbim ]; @@ -43,16 +64,19 @@ stdenv.mkDerivation rec { libqrtr-glib ]; - configureFlags = [ - "--with-udev-base-dir=${placeholder "out"}/lib/udev" - "--enable-gtk-doc=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "yes" else "no"}" - "--enable-introspection=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "yes" else "no"}" + mesonFlags = [ + "-Dudevdir=${placeholder "out"}/lib/udev" + (lib.mesonBool "gtk_doc" (stdenv.buildPlatform == stdenv.hostPlatform)) + (lib.mesonBool "introspection" (stdenv.buildPlatform == stdenv.hostPlatform)) ]; - enableParallelBuilding = true; - doCheck = true; + postPatch = '' + patchShebangs \ + build-aux/qmi-codegen/qmi-codegen + ''; + meta = with lib; { homepage = "https://www.freedesktop.org/wiki/Software/libqmi/"; description = "Modem protocol helper library"; diff --git a/pkgs/development/libraries/libqrtr-glib/default.nix b/pkgs/development/libraries/libqrtr-glib/default.nix index 6e01cda916256..9309c48a8c6a7 100644 --- a/pkgs/development/libraries/libqrtr-glib/default.nix +++ b/pkgs/development/libraries/libqrtr-glib/default.nix @@ -45,7 +45,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection glib ]; diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix index 758b00febf5fc..26d7616ba8f00 100644 --- a/pkgs/development/libraries/libraw/default.nix +++ b/pkgs/development/libraries/libraw/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, lcms2, pkg-config }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "libraw"; - version = "0.20.2.p2"; + version = "0.21.1"; src = fetchFromGitHub { owner = "LibRaw"; repo = "LibRaw"; - rev = "fedad11e87daad7b7d389a3ef84ccf10b5e84710"; # current 0.20-stable branch - sha256 = "1mklf8lzybzyg75ja34822xlv6h9nw93griyrjjna7darl1dyvja"; + rev = version; + sha256 = "sha256-K9mULf6V/TCl5Vu4iuIdSGF9HzQlgNQLRFHIpNbmAlY"; }; outputs = [ "out" "lib" "dev" "doc" ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = with lib; { description = "Library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)"; homepage = "https://www.libraw.org/"; - license = licenses.gpl2Plus; + license = with licenses; [ cddl lgpl2Plus ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/libraw/unstable.nix b/pkgs/development/libraries/libraw/unstable.nix deleted file mode 100644 index 3f19bb53c4e64..0000000000000 --- a/pkgs/development/libraries/libraw/unstable.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ libraw, fetchFromGitHub }: - -libraw.overrideAttrs (_: rec { - version = "unstable-2021-12-03"; - - src = fetchFromGitHub { - owner = "LibRaw"; - repo = "LibRaw"; - rev = "52b2fc52e93a566e7e05eaa44cada58e3360b6ad"; - sha256 = "kW0R4iPuqnFuWYDrl46ok3kaPcGgY2MqZT7mqVX+BDQ="; - }; -}) diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index a60da602e0709..a78bf86a18c3e 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -71,8 +71,6 @@ stdenv.mkDerivation rec { bzip2 pango libintl - ] ++ lib.optionals withIntrospection [ - gobject-introspection ] ++ lib.optionals stdenv.isDarwin [ ApplicationServices Foundation diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix index fd2cadf1602db..4a2ad99af4d9c 100644 --- a/pkgs/development/libraries/libsecret/default.nix +++ b/pkgs/development/libraries/libsecret/default.nix @@ -52,7 +52,6 @@ stdenv.mkDerivation rec { buildInputs = [ libgcrypt - gobject-introspection ]; propagatedBuildInputs = [ @@ -88,7 +87,7 @@ stdenv.mkDerivation rec { dbus-run-session \ --config-file=${dbus}/share/dbus-1/session.conf \ - meson test --print-errorlogs + meson test --print-errorlogs --timeout-multiplier 0 runHook postCheck ''; diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index dd202d4a2954d..b1cb2fc4570c2 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "libssh"; - version = "0.10.0"; + version = "0.10.4"; src = fetchurl { url = "https://www.libssh.org/files/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-DcFYxTTNg4rQt4WoLexYbeQNp+CWUjrmwIybe9KvC1c="; + sha256 = "sha256-BzksVKthR2KI0cHwp8VXtQIReXrQDDTDryu8TbxL2X0="; }; postPatch = '' diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index 892ed71583d32..f2147632eb7c8 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitLab +, fetchpatch , nix-update-script , autoreconfHook @@ -38,6 +39,11 @@ stdenv.mkDerivation rec { # libc++abi 11 has an `#include `, this picks up files name # `version` in the project's include paths ./rename-version.patch + (fetchpatch { + name = "CVE-2022-48281.patch"; + url = "https://gitlab.com/libtiff/libtiff/-/commit/d1b6b9c1b3cae2d9e37754506c1ad8f4f7b646b5.diff"; + sha256 = "sha256-FWUlyJyHXac6fuM5f9PG33kcF5Bm4fyFmYnaDal46iM="; + }) ]; postPatch = '' diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 7da2c46fafe23..8c899268f7d1c 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -37,7 +37,8 @@ stdenv.mkDerivation rec { ./unistdio/test-u16-vasnprintf3.sh: line 16: ./test-u16-vasnprintf1: No such file or directory FAIL unistdio/test-u16-vasnprintf3.sh (exit status: 1) */ - enableParallelBuilding = false; + enableParallelChecking = false; + enableParallelBuilding = true; meta = { homepage = "https://www.gnu.org/software/libunistring/"; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index a350cd378bce9..8a86bc46d4da2 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }: +{ stdenv, lib, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices, pkgsStatic }: stdenv.mkDerivation rec { version = "1.44.2"; @@ -11,6 +11,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-K6v+00basjI32ON27ZjC5spQi/zWCcslDwQwyosq2iY="; }; + patches = [ + # Fix tests for statically linked variant upstream PR is + # https://github.com/libuv/libuv/pull/3735 + (fetchpatch { + url = "https://github.com/libuv/libuv/commit/9d898acc564351dde74e9ed9865144e5c41f5beb.patch"; + sha256 = "sha256-6XsjrseD8a+ny887EKOX0NmHocLMXGf2YL13vkNHUZ0="; + }) + ]; + postPatch = let toDisable = [ "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent @@ -21,6 +30,10 @@ stdenv.mkDerivation rec { "get_passwd" # passed on NixOS but failed on other Linuxes "tcp_writealot" "udp_multicast_join" "udp_multicast_join6" # times out sometimes "fs_fstat" # https://github.com/libuv/libuv/issues/2235#issuecomment-1012086927 + + # Assertion failed in test/test-tcp-bind6-error.c on line 60: r == UV_EADDRINUSE + # Assertion failed in test/test-tcp-bind-error.c on line 99: r == UV_EADDRINUSE + "tcp_bind6_error_addrinuse" "tcp_bind_error_addrinuse_listen" ] ++ lib.optionals stdenv.isDarwin [ # Sometimes: timeout (no output), failed uv_listen. Someone # should report these failures to libuv team. There tests should @@ -66,6 +79,8 @@ stdenv.mkDerivation rec { # Some of the tests use localhost networking. __darwinAllowLocalNetworking = true; + passthru.tests.static = pkgsStatic.libuv; + meta = with lib; { description = "A multi-platform support library with a focus on asynchronous I/O"; homepage = "https://libuv.org/"; diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix index 566a1c1b83fa7..cff3b32cb7b2e 100644 --- a/pkgs/development/libraries/libvirt-glib/default.nix +++ b/pkgs/development/libraries/libvirt-glib/default.nix @@ -55,8 +55,6 @@ stdenv.mkDerivation rec { libxml2 ] ++ lib.optionals stdenv.isLinux [ libcap_ng - ] ++ lib.optionals withIntrospection [ - gobject-introspection ]; strictDeps = true; diff --git a/pkgs/development/libraries/libvisual/default.nix b/pkgs/development/libraries/libvisual/default.nix index 3e61ee8a6a134..ea62117951ee9 100644 --- a/pkgs/development/libraries/libvisual/default.nix +++ b/pkgs/development/libraries/libvisual/default.nix @@ -1,22 +1,52 @@ -{ lib, stdenv, fetchurl, pkg-config, glib }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, SDL +, autoreconfHook +, glib +, pkg-config +}: stdenv.mkDerivation rec { pname = "libvisual"; - version = "0.4.0"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/libvisual/${pname}-${version}.tar.gz"; - sha256 = "1my1ipd5k1ixag96kwgf07bgxkjlicy9w22jfxb2kq95f6wgsk8b"; + hash = "sha256-qhKHdBf3bTZC2fTHIzAjgNgzF1Y51jpVZB0Bkopd230="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib ]; + patches = [ + # pull upstream fix for SDL1 cross-compilation. + # https://github.com/Libvisual/libvisual/pull/238 + (fetchpatch { + name = "sdl-cross-prereq.patch"; + url = "https://github.com/Libvisual/libvisual/commit/7902d24aa1a552619a5738339b3823e90dd3b865.patch"; + hash = "sha256-84u8klHDAw/q4d+9L4ROAr7XsbXItHrhaEKkTEMSPcc="; + # remove extra libvisual prefix + stripLen = 1; + # pull in only useful configure.ac changes. + excludes = [ "Makefile.am" ]; + }) + (fetchpatch { + name = "sdl-cross-pc.patch"; + url = "https://github.com/Libvisual/libvisual/commit/f79a2e8d21ad1d7fe26e2aa83cea4c9f48f9e392.patch"; + hash = "sha256-8c7SdLxXC8K9BAwj7DzozsZAcbs5l1xuBqky9LJ1MfM="; + # remove extra libvisual prefix + stripLen = 1; + }) + ]; - hardeningDisable = [ "format" ]; + strictDeps = true; + nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ SDL glib ]; configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_malloc_0_nonnull=yes" "ac_cv_func_realloc_0_nonnull=yes" + # Remove once "sdl-cross-prereq.patch" patch above is removed. + "--disable-lv-tool" ]; meta = { diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix index e7add08871a6c..c0fc4d1556f3c 100644 --- a/pkgs/development/libraries/libvmaf/default.nix +++ b/pkgs/development/libraries/libvmaf/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, nasm }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, nasm }: stdenv.mkDerivation rec { pname = "libvmaf"; @@ -13,6 +13,15 @@ stdenv.mkDerivation rec { sourceRoot = "source/libvmaf"; + patches = [ + # Backport fix for non-Linux, non-Darwin platforms. + (fetchpatch { + url = "https://github.com/Netflix/vmaf/commit/f47640f9ffee9494571bd7c9622e353660c93fc4.patch"; + stripLen = 1; + sha256 = "rsTKuqp8VJG5DBDpixPke3LrdfjKzUO945i+iL0n7CY="; + }) + ]; + nativeBuildInputs = [ meson ninja nasm ]; mesonFlags = [ "-Denable_avx512=true" ]; diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix index ca16063cca6b9..bbbceab3ab78a 100644 --- a/pkgs/development/libraries/libvterm-neovim/default.nix +++ b/pkgs/development/libraries/libvterm-neovim/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "libvterm-neovim"; # Releases are not tagged, look at commit history to find latest release - version = "0.3"; + version = "0.3.1"; src = fetchurl { url = "https://www.leonerd.org.uk/code/libvterm/libvterm-${version}.tar.gz"; - sha256 = "sha256-YesNZijFK98CkA39RGiqhqGnElIourimcyiYGIdIM1g="; + sha256 = "sha256-JaitnBVIU2jf0Kip3KGuyP6lwn2j+nTsUY1dN4fww5c="; }; nativeBuildInputs = [ perl libtool ]; diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix index 24092d3286958..dbc5008a1a491 100644 --- a/pkgs/development/libraries/libwacom/default.nix +++ b/pkgs/development/libraries/libwacom/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { pname = "libwacom"; - version = "2.4.0"; + version = "2.6.0"; outputs = [ "out" "dev" ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { owner = "linuxwacom"; repo = "libwacom"; rev = "libwacom-${version}"; - sha256 = "sha256-9uhnO+MqB7tAnSXjBcJWCzHGiz9izun4nVjFb17G8Gg="; + sha256 = "sha256-9zqW6zPrFcxv/yAAtFgdVavKVMXeDBoMP3E/XriUcT0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix index 6578a86e35b1b..3997ceb623f38 100644 --- a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix +++ b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix @@ -19,6 +19,11 @@ stdenv.mkDerivation rec { "--with-x-locale-root=${libX11.out}/share/X11/locale" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + preBuild = lib.optionalString stdenv.isDarwin '' sed -i 's/,--version-script=.*$//' Makefile ''; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 6e8936f7ce63d..23123940057dc 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -11,7 +11,10 @@ , ncurses , findXMLCatalogs , libiconv -, pythonSupport ? enableShared +# Python limits cross-compilation to an allowlist of host OSes. +# https://github.com/python/cpython/blob/dfad678d7024ab86d265d84ed45999e031a03691/configure.ac#L534-L562 +, pythonSupport ? enableShared && + (stdenv.hostPlatform == stdenv.buildPlatform || stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isWasi) , icuSupport ? false , icu , enableShared ? stdenv.hostPlatform.libc != "msvcrt" && !stdenv.hostPlatform.isStatic diff --git a/pkgs/development/libraries/maplibre-gl-native/default.nix b/pkgs/development/libraries/maplibre-gl-native/default.nix index 568f3fbe64e2f..8d6c0664ca131 100644 --- a/pkgs/development/libraries/maplibre-gl-native/default.nix +++ b/pkgs/development/libraries/maplibre-gl-native/default.nix @@ -9,6 +9,7 @@ , libuv , glfw3 , rapidjson +, stdenv }: mkDerivation rec { @@ -55,6 +56,11 @@ mkDerivation rec { "-DMBGL_WITH_QT_HEADLESS=OFF" ]; + NIX_CFLAGS_COMPILE = lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs + "-Wno-error=use-after-free" + ]; + meta = with lib; { description = "Open-source alternative to Mapbox GL Native"; homepage = "https://maplibre.org/"; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 56fa74e5c0c51..52633a6d21649 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -28,9 +28,9 @@ "tegra" # Nvidia Tegra SoCs "v3d" # Broadcom VC5 (Raspberry Pi 4) "vc4" # Broadcom VC4 (Raspberry Pi 0-3) - ] ++ lib.optionals stdenv.isx86_64 [ - "iris" # new Intel, could work on non-x86_64 with PCIe cards, but doesn't build as of 22.3.4 - "crocus" # Intel legacy, x86_64 only + ] ++ lib.optionals stdenv.hostPlatform.isx86 [ + "iris" # new Intel, could work on non-x86 with PCIe cards, but doesn't build as of 22.3.4 + "crocus" # Intel legacy, x86 only ] else [ "auto" ] , vulkanDrivers ? @@ -326,10 +326,6 @@ self = stdenv.mkDerivation { NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [ "-fno-common" ] ++ lib.optionals enableOpenCL [ "-UPIPE_SEARCH_DIR" "-DPIPE_SEARCH_DIR=\"${placeholder "opencl"}/lib/gallium-pipe\"" - - # Work around regression from https://github.com/NixOS/nixpkgs/pull/210004 - # TODO(trofi): remove - "--sysroot=/" ]; passthru = { diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix index 6114c4c70d0f7..3ba07c7b5be9a 100644 --- a/pkgs/development/libraries/newt/default.nix +++ b/pkgs/development/libraries/newt/default.nix @@ -5,11 +5,11 @@ let in stdenv.mkDerivation rec { pname = "newt"; - version = "0.52.21"; + version = "0.52.23"; src = fetchurl { url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.gz"; - sha256 = "0cdvbancr7y4nrj8257y5n45hmhizr8isynagy4fpsnpammv8pi6"; + sha256 = "sha256-yqNykHsU7Oz+KY8NUSpi9B0zspBhAkSliu0Hu8WtoSo="; }; postPatch = '' diff --git a/pkgs/development/libraries/octomap/default.nix b/pkgs/development/libraries/octomap/default.nix index 9b1635511ec62..5a2064eb595dc 100644 --- a/pkgs/development/libraries/octomap/default.nix +++ b/pkgs/development/libraries/octomap/default.nix @@ -10,10 +10,16 @@ stdenv.mkDerivation rec { rev = "v${version}"; hash = "sha256-qE5i4dGugm7tR5tgDCpbla/R7hYR/PI8BzrZQ4y6Yz8="; }; + sourceRoot = "source/octomap"; nativeBuildInputs = [ cmake ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" + ]; + meta = with lib; { description = "A probabilistic, flexible, and compact 3D mapping library for robotic systems"; homepage = "https://octomap.github.io/"; diff --git a/pkgs/development/libraries/openbabel/2.nix b/pkgs/development/libraries/openbabel/2.nix index 3e989561470c6..0cc752d993fb2 100644 --- a/pkgs/development/libraries/openbabel/2.nix +++ b/pkgs/development/libraries/openbabel/2.nix @@ -19,6 +19,10 @@ stdenv.mkDerivation rec { }) ]; + postPatch = '' + sed '1i#include ' -i include/openbabel/obutil.h # gcc12 + ''; + buildInputs = [ zlib libxml2 eigen python3 cairo pcre ]; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix index a23382d3f892b..fe12bbffa531d 100644 --- a/pkgs/development/libraries/openbabel/default.nix +++ b/pkgs/development/libraries/openbabel/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-wQpgdfCyBAoh4pmj9j7wPTlMtraJ62w/EShxi/olVMY="; }; + postPatch = '' + sed '1i#include ' -i include/openbabel/obutil.h # gcc12 + ''; + buildInputs = [ zlib libxml2 eigen python cairo pcre swig rapidjson ]; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index 2c676e008f00d..4a9af9a5388fb 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -15,6 +15,7 @@ , ocl-icd , buildPackages , qimgv +, opencv4 , enableJPEG ? true , libjpeg @@ -31,8 +32,8 @@ , openjpeg , enableEigen ? true , eigen -, enableOpenblas ? true -, openblas +, enableBlas ? true +, blas , enableContrib ? true , enableCuda ? (config.cudaSupport or false) && stdenv.hostPlatform.isx86_64 @@ -74,6 +75,7 @@ , CoreMedia , MediaToolbox , bzip2 +, callPackage }: let @@ -93,6 +95,13 @@ let sha256 = "sha256-meya0J3RdOIeMM46e/6IOVwrKn3t/c0rhwP2WQaybkE="; }; + testDataSrc = fetchFromGitHub { + owner = "opencv"; + repo = "opencv_extra"; + rev = version; + sha256 = "sha256-6hAdJdaUgtRGQanQKuY/q6fcXWXFZ3K/oLbGxvksry0="; + }; + # Contrib must be built in order to enable Tesseract support: buildContrib = enableContrib || enableTesseract || enableOvis; @@ -171,10 +180,10 @@ let ade = rec { src = fetchurl { url = "https://github.com/opencv/ade/archive/${name}"; - sha256 = "04n9na2bph706bdxnnqfcbga4cyj8kd9s9ni7qyvnpj5v98jwvlm"; + sha256 = "sha256-TjLRbFbC7MDY9PxIy560ryviBI58cbQwqgc7A7uOHkg="; }; - name = "v0.1.1f.zip"; - md5 = "b624b995ec9c439cbc2e9e6ee940d3a2"; + name = "v0.1.2a.zip"; + md5 = "fa4b3e25167319cb0fa9432ef8281945"; dst = ".cache/ade"; }; @@ -208,13 +217,24 @@ let opencvFlag = name: enabled: "-DWITH_${name}=${printEnabled enabled}"; + runAccuracyTests = true; + runPerformanceTests = false; printEnabled = enabled: if enabled then "ON" else "OFF"; + withOpenblas = (enableBlas && blas.provider.pname == "openblas"); + #multithreaded openblas conflicts with opencv multithreading, which manifest itself in hung tests + #https://github.com/xianyi/OpenBLAS/wiki/Faq/4bded95e8dc8aadc70ce65267d1093ca7bdefc4c#multi-threaded + openblas_ = blas.provider.override { singleThreaded = true; }; in stdenv.mkDerivation { pname = "opencv"; inherit version src; + outputs = [ + "out" + "package_tests" + ]; + postUnpack = lib.optionalString buildContrib '' cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib" ''; @@ -263,12 +283,12 @@ stdenv.mkDerivation { ++ lib.optional enableFfmpeg ffmpeg ++ lib.optionals (enableFfmpeg && stdenv.isDarwin) [ VideoDecodeAcceleration bzip2 ] - ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ]) + ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]) ++ lib.optional enableOvis ogre ++ lib.optional enableGPhoto2 libgphoto2 ++ lib.optional enableDC1394 libdc1394 ++ lib.optional enableEigen eigen - ++ lib.optional enableOpenblas openblas + ++ lib.optional enableBlas blas.provider # There is seemingly no compile-time flag for Tesseract. It's # simply enabled automatically if contrib is built, and it detects # tesseract & leptonica. @@ -290,7 +310,8 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR"; # Configure can't find the library without this. - OpenBLAS_HOME = lib.optionalString enableOpenblas openblas; + OpenBLAS_HOME = lib.optionalString withOpenblas openblas_.dev; + OpenBLAS = lib.optionalString withOpenblas openblas_; cmakeFlags = [ "-DOPENCV_GENERATE_PKGCONFIG=ON" @@ -299,8 +320,9 @@ stdenv.mkDerivation { "-DProtobuf_PROTOC_EXECUTABLE=${lib.getExe buildPackages.protobuf}" "-DPROTOBUF_UPDATE_FILES=ON" "-DOPENCV_ENABLE_NONFREE=${printEnabled enableUnfree}" - "-DBUILD_TESTS=OFF" - "-DBUILD_PERF_TESTS=OFF" + "-DBUILD_TESTS=${printEnabled runAccuracyTests}" + "-DBUILD_PERF_TESTS=${printEnabled runPerformanceTests}" + "-DCMAKE_SKIP_BUILD_RPATH=ON" "-DBUILD_DOCS=${printEnabled enableDocs}" # "OpenCV disables pkg-config to avoid using of host libraries. Consider using PKG_CONFIG_LIBDIR to specify target SYSROOT" # but we have proper separation of build and host libs :), fixes cross @@ -334,6 +356,14 @@ stdenv.mkDerivation { make doxygen ''; + preInstall = + lib.optionalString (runAccuracyTests || runPerformanceTests) '' + mkdir $package_tests + cp -R $src/samples $package_tests/ + '' + + lib.optionalString runAccuracyTests "mv ./bin/*test* $package_tests/ \n" + + lib.optionalString runPerformanceTests "mv ./bin/*perf* $package_tests/"; + # By default $out/lib/pkgconfig/opencv4.pc looks something like this: # # prefix=/nix/store/g0wnfyjjh4rikkvp22cpkh41naa43i4i-opencv-4.0.0 @@ -368,16 +398,23 @@ stdenv.mkDerivation { passthru = { tests = { - inherit qimgv; inherit (gst_all_1) gst-plugins-bad; - } // lib.optionalAttrs (!enablePython) { pythonEnabled = pythonPackages.opencv4; }; + } + // lib.optionalAttrs (!stdenv.isDarwin) { inherit qimgv; } + // lib.optionalAttrs (!enablePython) { pythonEnabled = pythonPackages.opencv4; } + // lib.optionalAttrs (stdenv.buildPlatform != "x86_64-darwin") { + opencv4-tests = callPackage ./tests.nix { + inherit enableGStreamer enableGtk2 enableGtk3 runAccuracyTests runPerformanceTests testDataSrc; + inherit opencv4; + }; + }; } // lib.optionalAttrs enablePython { pythonPath = [ ]; }; meta = with lib; { description = "Open Computer Vision Library with more than 500 algorithms"; homepage = "https://opencv.org/"; license = with licenses; if enableUnfree then unfree else bsd3; - maintainers = with maintainers; [ mdaiter basvandijk ]; + maintainers = with maintainers; [ basvandijk ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/development/libraries/opencv/tests.nix b/pkgs/development/libraries/opencv/tests.nix new file mode 100644 index 0000000000000..5a155a9119b05 --- /dev/null +++ b/pkgs/development/libraries/opencv/tests.nix @@ -0,0 +1,70 @@ +{ opencv4 +, testDataSrc +, stdenv +, lib +, runCommand +, gst_all_1 +, runAccuracyTests +, runPerformanceTests +, enableGStreamer +, enableGtk2 +, enableGtk3 +, xvfb-run +}: +let + testNames = [ + "calib3d" + "core" + "features2d" + "flann" + "imgcodecs" + "imgproc" + "ml" + "objdetect" + "photo" + "stitching" + "video" + #"videoio" # - a lot of GStreamer warnings and failed tests + #"dnn" #- some caffe tests failed, probably because github workflow also downloads additional models + ] ++ lib.optionals (!stdenv.isAarch64 && enableGStreamer) [ "gapi" ] + ++ lib.optionals (enableGtk2 || enableGtk3) [ "highgui" ]; + perfTestNames = [ + "calib3d" + "core" + "features2d" + "imgcodecs" + "imgproc" + "objdetect" + "photo" + "stitching" + "video" + ] ++ lib.optionals (!stdenv.isAarch64 && enableGStreamer) [ "gapi" ]; + testRunner = if stdenv.isDarwin then "" else "${lib.getExe xvfb-run} -a "; + testsPreparation = '' + touch $out + # several tests want a write access, so we have to copy files + tmpPath="$(mktemp -d "/tmp/opencv_extra_XXXXXX")" + cp -R ${testDataSrc} $tmpPath/opencv_extra + chmod -R +w $tmpPath/opencv_extra + export OPENCV_TEST_DATA_PATH="$tmpPath/opencv_extra/testdata" + export OPENCV_SAMPLES_DATA_PATH="${opencv4.package_tests}/samples/data" + + #ignored tests because of gtest error - "Test code is not available due to compilation error with GCC 11" + export GTEST_FILTER="-AsyncAPICancelation/cancel*" + ''; + accuracyTests = lib.optionalString runAccuracyTests '' + ${ builtins.concatStringsSep "\n" + (map (test: "${testRunner}${opencv4.package_tests}/opencv_test_${test} --test_threads=$NIX_BUILD_CORES --gtest_filter=$GTEST_FILTER" ) testNames) + } + ''; + perfomanceTests = lib.optionalString runPerformanceTests '' + ${ builtins.concatStringsSep "\n" + (map (test: "${testRunner}${opencv4.package_tests}/opencv_perf_${test} --perf_impl=plain --perf_min_samples=10 --perf_force_samples=10 --perf_verify_sanity --skip_unstable=1 --gtest_filter=$GTEST_FILTER") perfTestNames) + } + ''; +in +runCommand "opencv4-tests" +{ + nativeBuildInputs = lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); +} + (testsPreparation + accuracyTests + perfomanceTests) diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix index 0460f012424c3..ce8064cdc1eb9 100644 --- a/pkgs/development/libraries/opendbx/default.nix +++ b/pkgs/development/libraries/opendbx/default.nix @@ -19,6 +19,11 @@ stdenv.mkDerivation rec { buildInputs = [ readline libmysqlclient postgresql sqlite ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-std=c++14" + ]; + meta = with lib; { broken = stdenv.isDarwin; description = "Extremely lightweight but extensible database access library written in C"; diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix index ad4206eedfbb4..5c6d6b8a13467 100644 --- a/pkgs/development/libraries/openjpeg/default.nix +++ b/pkgs/development/libraries/openjpeg/default.nix @@ -55,10 +55,10 @@ stdenv.mkDerivation rec { ++ lib.optional (jpipLibSupport) jdk; doCheck = (!stdenv.isAarch64 && !stdenv.hostPlatform.isPower64); # tests fail on aarch64-linux and powerpc64 - + nativeCheckInputs = [ jpylyzer ]; checkPhase = '' substituteInPlace ../tools/ctest_scripts/travis-ci.cmake \ - --replace "JPYLYZER_EXECUTABLE=" "JPYLYZER_EXECUTABLE=\"${jpylyzer}/bin/jpylyzer\" # " + --replace "JPYLYZER_EXECUTABLE=" "JPYLYZER_EXECUTABLE=\"$(command -v jpylyzer)\" # " OPJ_SOURCE_DIR=.. ctest -S ../tools/ctest_scripts/travis-ci.cmake ''; diff --git a/pkgs/development/libraries/openssl/3.0/CVE-2022-3996.patch b/pkgs/development/libraries/openssl/3.0/CVE-2022-3996.patch deleted file mode 100644 index 2acedda0e3a49..0000000000000 --- a/pkgs/development/libraries/openssl/3.0/CVE-2022-3996.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 7725e7bfe6f2ce8146b6552b44e0d226be7638e7 Mon Sep 17 00:00:00 2001 -From: Pauli -Date: Fri, 11 Nov 2022 09:40:19 +1100 -Subject: [PATCH] x509: fix double locking problem - -This reverts commit 9aa4be691f5c73eb3c68606d824c104550c053f7 and removed the -redundant flag setting. - -Fixes #19643 - -Fixes LOW CVE-2022-3996 - -Reviewed-by: Dmitry Belyavskiy -Reviewed-by: Tomas Mraz -(Merged from https://github.com/openssl/openssl/pull/19652) - -(cherry picked from commit 4d0340a6d2f327700a059f0b8f954d6160f8eef5) ---- - crypto/x509/pcy_map.c | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/crypto/x509/pcy_map.c b/crypto/x509/pcy_map.c -index 05406c6493fc..60dfd1e3203b 100644 ---- a/crypto/x509/pcy_map.c -+++ b/crypto/x509/pcy_map.c -@@ -73,10 +73,6 @@ int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps) - - ret = 1; - bad_mapping: -- if (ret == -1 && CRYPTO_THREAD_write_lock(x->lock)) { -- x->ex_flags |= EXFLAG_INVALID_POLICY; -- CRYPTO_THREAD_unlock(x->lock); -- } - sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free); - return ret; - diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 4c322997963a6..488613fd489ae 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -216,8 +216,8 @@ in { openssl_1_1 = common { - version = "1.1.1s"; - sha256 = "sha256-xawB52Dub/Dath1rK70wFGck0GPrMiGAxvGKb3Tktqo="; + version = "1.1.1t"; + sha256 = "sha256-je6bJL2x3L8MPR6bAvuPa/IhZegH9Fret8lndTaFnTs="; patches = [ ./1.1/nix-ssl-cert-file.patch @@ -229,8 +229,8 @@ in { }; openssl_3 = common { - version = "3.0.7"; - sha256 = "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4="; + version = "3.0.8"; + sha256 = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4="; patches = [ ./3.0/nix-ssl-cert-file.patch @@ -241,9 +241,6 @@ in { (if stdenv.hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch) - - # Remove with 3.0.8 release - ./3.0/CVE-2022-3996.patch ]; withDocs = true; diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 662437659147c..50e2d5736ff0e 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -16,15 +16,16 @@ , ninja , glib , python3 -, gobject-introspection , x11Support? !stdenv.isDarwin, libXft +, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages +, buildPackages, gobject-introspection }: stdenv.mkDerivation rec { pname = "pango"; version = "1.50.12"; - outputs = [ "bin" "out" "dev" "devdoc" ]; + outputs = [ "bin" "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -39,9 +40,10 @@ stdenv.mkDerivation rec { meson ninja glib # for glib-mkenum pkg-config - gobject-introspection - gi-docgen python3 + ] ++ lib.optionals withIntrospection [ + gi-docgen + gobject-introspection ]; buildInputs = [ @@ -64,9 +66,9 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=true" - ] ++ lib.optionals (!x11Support) [ - "-Dxft=disabled" # only works with x11 + (lib.mesonBool "gtk_doc" withIntrospection) + (lib.mesonEnable "introspection" withIntrospection) + (lib.mesonEnable "xft" x11Support) ]; # Fontconfig error: Cannot load default config file @@ -116,6 +118,6 @@ stdenv.mkDerivation rec { license = licenses.lgpl2Plus; maintainers = with maintainers; [ raskin ] ++ teams.gnome.members; - platforms = platforms.linux ++ platforms.darwin; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index 8da35364e2b83..53d465542b2bd 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -109,8 +109,16 @@ let url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/fba7083f8ceb210c7c20aceafeb5c9a8767cf705.patch"; hash = "sha256-aZQ4OzK0B5YPq+jQNygxPE0coG2qB0ukbYzyI8E24XM="; }) + + # backport a fix for rust-cbindgen errors in downstream packages + # See https://github.com/NixOS/nixpkgs/pull/211872#issuecomment-1415981135 for details. + (fetchpatch { + url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/caf58ecffb4dc8e2bfa7898d0ed910cf0a82d65f.patch"; + hash = "sha256-kCQNG0j3lwT01WNfGsdUmKvDHg8tvMfS2eunPyXBV1E="; + }) ]; + strictDeps = true; nativeBuildInputs = [ docutils doxygen @@ -119,6 +127,7 @@ let ninja pkg-config python3 + glib ]; buildInputs = [ diff --git a/pkgs/development/libraries/pmdk/default.nix b/pkgs/development/libraries/pmdk/default.nix deleted file mode 100644 index 1f02bfa0dab30..0000000000000 --- a/pkgs/development/libraries/pmdk/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, stdenv, fetchFromGitHub -, autoconf, libndctl, pkg-config, gnum4, pandoc -}: - -stdenv.mkDerivation rec { - pname = "pmdk"; - version = "1.11.1"; - - src = fetchFromGitHub { - owner = "pmem"; - repo = "pmdk"; - rev = "refs/tags/${version}"; - hash = "sha256-8bnyLtgkKfgIjJkfY/ZS1I9aCYcrz0nrdY7m/TUVWAk="; - }; - - nativeBuildInputs = [ autoconf pkg-config gnum4 pandoc ]; - buildInputs = [ libndctl ]; - enableParallelBuilding = true; - - outputs = [ "out" "lib" "dev" "man" ]; - - patchPhase = "patchShebangs utils"; - - NIX_CFLAGS_COMPILE = "-Wno-error"; - - installPhase = '' - make install prefix=$out - - mkdir -p $lib $dev $man/share - mv $out/share/man $man/share/man - mv $out/include $dev/include - mv $out/lib $lib/lib - ''; - - meta = with lib; { - description = "Persistent Memory Development Kit"; - homepage = "https://github.com/pmem/pmdk"; - license = licenses.lgpl21; - maintainers = with maintainers; [ thoughtpolice ]; - platforms = [ "x86_64-linux" ]; # aarch64 is experimental - }; -} diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 5c67eb1b65db4..ec05f890f7794 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -90,7 +90,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection expat pam dbus diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix index 22ff1e450c192..d0e9935032ed6 100644 --- a/pkgs/development/libraries/portaudio/default.nix +++ b/pkgs/development/libraries/portaudio/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchurl , alsa-lib +, libjack2 , pkg-config , which , AudioUnit @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ pkg-config which ]; - buildInputs = lib.optional (!stdenv.isDarwin) alsa-lib; + buildInputs = [ libjack2 ] ++ lib.optionals (!stdenv.isDarwin) [ alsa-lib ]; configureFlags = [ "--disable-mac-universal" "--enable-cxx" ]; diff --git a/pkgs/development/libraries/qcoro/default.nix b/pkgs/development/libraries/qcoro/default.nix index 4a288702e2f29..fb5c7570b75ba 100644 --- a/pkgs/development/libraries/qcoro/default.nix +++ b/pkgs/development/libraries/qcoro/default.nix @@ -1,5 +1,5 @@ { stdenv -, gcc11Stdenv +, gcc12Stdenv , lib , fetchFromGitHub , cmake @@ -9,7 +9,7 @@ , wrapQtAppsHook }: -gcc11Stdenv.mkDerivation rec { +gcc12Stdenv.mkDerivation rec { pname = "qcoro"; version = "0.7.0"; diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 2829bb0be0278..31de73b25edcf 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -64,6 +64,12 @@ let extraPrefix = "src/3rdparty/"; hash = "sha256-MZGYeMdGzwypfKoSUaa56K3inbcGRx7he/+AFyk5ekA="; }) + (fetchpatch { + url = "https://raw.githubusercontent.com/Homebrew/formula-patches/7ae178a617d1e0eceb742557e63721af949bd28a/qt5/qt5-webengine-gcc12.patch"; + stripLen = 1; + extraPrefix = "src/3rdparty/"; + hash = "sha256-s4GsGMJTBNWw2gTJuIEP3tqT82AmTsR2mbj59m2p6rM="; + }) ] ++ lib.optionals stdenv.isDarwin [ ./qtwebengine-darwin-no-platform-check.patch ./qtwebengine-mac-dont-set-dsymutil-path.patch @@ -205,7 +211,7 @@ let qmake = makeSetupHook { name = "qmake-hook"; - deps = [ self.qtbase.dev ]; + propagatedBuildInputs = [ self.qtbase.dev ]; substitutions = { inherit debug; fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; @@ -214,7 +220,7 @@ let wrapQtAppsHook = makeSetupHook { name = "wrap-qt5-apps-hook"; - deps = [ self.qtbase.dev buildPackages.makeWrapper ] + propagatedBuildInputs = [ self.qtbase.dev buildPackages.makeWrapper ] ++ lib.optional stdenv.isLinux self.qtwayland.dev; } ../hooks/wrap-qt-apps-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix index 19f36c337e5c0..0603ae077e478 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix @@ -42,7 +42,7 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json) qtwebengine = let - branchName = "5.15.11"; + branchName = "5.15.12"; rev = "v${branchName}-lts"; in { @@ -50,7 +50,7 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json) src = fetchgit { url = "https://github.com/qt/qtwebengine.git"; - sha256 = "sha256-yrKPof18G10VjrwCn/4E/ywlpATJQZjvmVeM+9hLY0U="; + sha256 = "sha256-8EQqSvxw9rqf+64CIbcCb1VXhNx1GNC8eDIgLyYDyvk="; inherit rev branchName; fetchSubmodules = true; leaveDotGit = true; diff --git a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh index c085cdaca52ea..2127be5e0a2a0 100644 --- a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh @@ -34,7 +34,7 @@ qtHostPathHook() { qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir") fi } -addEnvHooks "$hostOffset" qtHostPathHook +addEnvHooks "$targetOffset" qtHostPathHook makeQtWrapper() { local original="$1" diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index b09521e34e3cc..2577806b5c436 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -141,12 +141,12 @@ let wrapQtAppsHook = makeSetupHook { name = "wrap-qt6-apps-hook"; - deps = [ buildPackages.makeWrapper ]; + propagatedBuildInputs = [ buildPackages.makeWrapper ]; } ./hooks/wrap-qt-apps-hook.sh; qmake = makeSetupHook { name = "qmake6-hook"; - deps = [ self.qtbase.dev ]; + propagatedBuildInputs = [ self.qtbase.dev ]; substitutions = { inherit debug; fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh; diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix index dafc91e6dcfa6..8b6d945d25529 100644 --- a/pkgs/development/libraries/re2/default.nix +++ b/pkgs/development/libraries/re2/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "re2"; - version = "2022-12-01"; + version = "2023-02-01"; src = fetchFromGitHub { owner = "google"; repo = "re2"; rev = version; - hash = "sha256-RmPXfavSKVnnl/RJ5aTjc/GbkPz+EXiFg1n5e4s6wjw="; + hash = "sha256-YENgO5Ig6SLNdGEsdhKNb4THhocyAv1MMcg4FVYBB7U="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix index 40b927ff0b8f5..79cd1b86fadb7 100644 --- a/pkgs/development/libraries/rocksdb/default.nix +++ b/pkgs/development/libraries/rocksdb/default.nix @@ -40,8 +40,16 @@ stdenv.mkDerivation rec { "tools" ]; - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=deprecated-copy -Wno-error=pessimizing-move" - + lib.optionalString stdenv.cc.isClang "-Wno-error=unused-private-field -faligned-allocation"; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + "-Wno-error=deprecated-copy" + "-Wno-error=pessimizing-move" + # Needed with GCC 12 + "-Wno-error=format-truncation" + "-Wno-error=maybe-uninitialized" + ] ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=unused-private-field" + "-faligned-allocation" + ]; cmakeFlags = [ "-DPORTABLE=1" diff --git a/pkgs/development/libraries/roctracer/default.nix b/pkgs/development/libraries/roctracer/default.nix index ee844bb417ba9..87cf7d0819ad1 100644 --- a/pkgs/development/libraries/roctracer/default.nix +++ b/pkgs/development/libraries/roctracer/default.nix @@ -62,6 +62,11 @@ stdenv.mkDerivation (finalAttrs: { "-DCMAKE_INSTALL_INCLUDEDIR=include" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + postPatch = '' export HIP_DEVICE_LIB_PATH=${rocm-device-libs}/amdgcn/bitcode '' + lib.optionalString (!buildTests) '' diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix index c4faadd2a5eb9..7144a17c18b40 100644 --- a/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix +++ b/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix @@ -48,6 +48,8 @@ stdenv.mkDerivation rec { --replace "/etc/udev/rules.d" "lib/udev/rules.d" \ --replace "/lib/firmware" "lib/firmware" done + + sed '1i#include ' -i indi-duino/libfirmata/src/firmata.cpp # gcc12 ''; cmakeFlags = [ diff --git a/pkgs/development/libraries/spirv-headers/default.nix b/pkgs/development/libraries/spirv-headers/default.nix index 78dc373d4ab6e..706d3449286e2 100644 --- a/pkgs/development/libraries/spirv-headers/default.nix +++ b/pkgs/development/libraries/spirv-headers/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "spirv-headers"; - version = "1.3.236.0"; + version = "1.3.239.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Headers"; rev = "sdk-${version}"; - hash = "sha256-eWI1MyIWxcg1JepRsnHBmitehDigDa+dR8kXvIkYejY="; + hash = "sha256-bjiWGSmpEbydXtCLP8fRZfPBvdCzBoJxKXTx3BroQbg="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/swiftshader/default.nix b/pkgs/development/libraries/swiftshader/default.nix index 2c508a3735f96..28aabc03682be 100644 --- a/pkgs/development/libraries/swiftshader/default.nix +++ b/pkgs/development/libraries/swiftshader/default.nix @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake python3 jq ]; buildInputs = [ libX11 libXext zlib ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + "-Wno-error=uninitialized" + ]; + # Make sure we include the drivers and icd files in the output as the cmake # generated install command only puts in the spirv-tools stuff. installPhase = '' diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix index 21fddb1656270..e0c48bc6dcefb 100644 --- a/pkgs/development/libraries/tbb/default.nix +++ b/pkgs/development/libraries/tbb/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { pname = "tbb"; version = "2020.3"; + outputs = [ "out" "dev" ]; + src = fetchFromGitHub { owner = "oneapi-src"; repo = "oneTBB"; diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix index 6b7f58bcd6daa..a6d2a9ea00cd6 100644 --- a/pkgs/development/libraries/umockdev/default.nix +++ b/pkgs/development/libraries/umockdev/default.nix @@ -48,7 +48,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobject-introspection glib systemd libgudev diff --git a/pkgs/development/libraries/unittest-cpp/default.nix b/pkgs/development/libraries/unittest-cpp/default.nix index 6f27a71b3ee46..e9f67a74f9a3e 100644 --- a/pkgs/development/libraries/unittest-cpp/default.nix +++ b/pkgs/development/libraries/unittest-cpp/default.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, cmake}: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, cmake +}: stdenv.mkDerivation rec { pname = "unittest-cpp"; @@ -11,6 +16,14 @@ stdenv.mkDerivation rec { sha256 = "0sxb3835nly1jxn071f59fwbdzmqi74j040r81fanxyw3s1azw0i"; }; + patches = [ + # GCC12 Patch + (fetchpatch { + url = "https://github.com/unittest-cpp/unittest-cpp/pull/185/commits/f361c2a1034c02ba8059648f9a04662d6e2b5553.patch"; + hash = "sha256-xyhV2VBelw/uktUXSZ3JBxgG+8/Mout/JiXEZVV2+2Y="; + }) + ]; + nativeBuildInputs = [ cmake ]; doCheck = false; diff --git a/pkgs/development/libraries/uri/default.nix b/pkgs/development/libraries/uri/default.nix index 980d073f1281e..6189fcf016de2 100644 --- a/pkgs/development/libraries/uri/default.nix +++ b/pkgs/development/libraries/uri/default.nix @@ -11,7 +11,12 @@ stdenv.mkDerivation rec { sha256 = "148361pixrm94q6v04k13s1msa04bx9yc3djb0lxpa7dlw19vhcd"; }; - NIX_CFLAGS_COMPILE = "-Wno-error=parentheses"; + NIX_CFLAGS_COMPILE = [ + "-Wno-error=parentheses" + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" + "-Wno-error=nonnull" + ]; nativeBuildInputs = [ cmake doxygen ]; diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 7ca5080cb74ca..f61d0b6964ab5 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -110,6 +110,7 @@ stdenv.mkDerivation rec { --replace "-Wl,-fatal_warnings" "" ''} touch build/config/gclient_args.gni + sed '1i#include ' -i src/heap/cppgc/prefinalizer-handler.h # gcc12 ''; llvmCcAndBintools = symlinkJoin { name = "llvmCcAndBintools"; paths = [ stdenv.cc llvmPackages.llvm ]; }; diff --git a/pkgs/development/libraries/vk-bootstrap/default.nix b/pkgs/development/libraries/vk-bootstrap/default.nix index ef76d6db9dbc7..bc43da3567d8d 100644 --- a/pkgs/development/libraries/vk-bootstrap/default.nix +++ b/pkgs/development/libraries/vk-bootstrap/default.nix @@ -9,14 +9,14 @@ stdenv.mkDerivation rec { pname = "vk-bootstrap"; - version = "0.6"; + version = "0.7"; outputs = [ "out" "dev" ]; src = fetchFromGitHub { owner = "charles-lunarg"; repo = "vk-bootstrap"; rev = "v${version}"; - sha256 = "sha256-T24SCJSGta4yuK58NcQnMeiO3sg9P9/O3kaFJFO/eOE="; + hash = "sha256-X3ANqfplrCF1R494+H5/plcwMH7rbW6zpLA4MZrYaoE="; }; postPatch = '' diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix index 8f1202088e58e..e34cf98d5106e 100644 --- a/pkgs/development/libraries/vulkan-headers/default.nix +++ b/pkgs/development/libraries/vulkan-headers/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { pname = "vulkan-headers"; - version = "1.3.236.0"; + version = "1.3.239.0"; nativeBuildInputs = [ cmake ]; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { owner = "KhronosGroup"; repo = "Vulkan-Headers"; rev = "sdk-${version}"; - hash = "sha256-b1q9QugFH4lieS8CTOyZ3uoQ7bd44G8NPEwRtUPD+24="; + hash = "sha256-mzxT6s4ZHShB9tGyyf8jDtVWVEclHPYW+9oKy7v0bC4="; }; meta = with lib; { diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix index 8d38f725a64d6..b45bf4c66be85 100644 --- a/pkgs/development/libraries/vulkan-loader/default.nix +++ b/pkgs/development/libraries/vulkan-loader/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation rec { pname = "vulkan-loader"; - version = "1.3.236.0"; + version = "1.3.239.0"; src = (assert version == vulkan-headers.version; fetchFromGitHub { owner = "KhronosGroup"; repo = "Vulkan-Loader"; rev = "sdk-${version}"; - hash = "sha256-Y6OakowZlb40ZatITQCFBK/qSZqSdgTNew1XUFD/jMo="; + hash = "sha256-4oxynsbFLmsrpI5NEs7gI50g0XVcaUWuZRn6JKB/+hA="; }); patches = [ ./fix-pkgconfig.patch ]; diff --git a/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch b/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch index b5c3bf4428ab4..42295a67d4667 100644 --- a/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch +++ b/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch @@ -5,10 +5,10 @@ index 153815577..584b15273 100644 @@ -1,7 +1,5 @@ -prefix=@CMAKE_INSTALL_PREFIX@ -exec_prefix=${prefix} --libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ --includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_REL_LIBDIR_PC@ +-includedir=${prefix}/@CMAKE_INSTALL_REL_INCLUDEDIR_PC@ +libdir=@CMAKE_INSTALL_LIBDIR@ +includedir=@CMAKE_INSTALL_INCLUDEDIR@ - + Name: @CMAKE_PROJECT_NAME@ Description: Vulkan Loader diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix index 5e8adaf0c4258..8877365e1dd6a 100644 --- a/pkgs/development/libraries/wildmidi/default.nix +++ b/pkgs/development/libraries/wildmidi/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "wildmidi"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "Mindwerks"; repo = "wildmidi"; rev = "${pname}-${version}"; - sha256 = "08fbbsvw6pkwwqarjwcvdp8mq4zn5sgahf025hynwc6rvf4sp167"; + sha256 = "sha256-5El8aDpAgjrW0/4lphZEF+Hfv9Xr7J4DMk1b/Tb+0TU="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/perl-modules/strip-nondeterminism/default.nix b/pkgs/development/perl-modules/strip-nondeterminism/default.nix index d33362d4a1708..806ad65b737b9 100644 --- a/pkgs/development/perl-modules/strip-nondeterminism/default.nix +++ b/pkgs/development/perl-modules/strip-nondeterminism/default.nix @@ -11,7 +11,7 @@ buildPerlPackage rec { pname = "strip-nondeterminism"; - version = "1.13.0"; + version = "1.13.1"; outputs = [ "out" "dev" ]; # no "devdoc" @@ -20,7 +20,7 @@ buildPerlPackage rec { repo = "strip-nondeterminism"; domain = "salsa.debian.org"; rev = version; - sha256 = "sha256-KZQeoJYBPJzUvz4wlUZbiGODbpCp7/52dsg5OemKDkI="; + sha256 = "czx9UhdgTsQSfDNo1mMOXCM/3/nuNe+cPZeyy2xdnKs="; }; strictDeps = true; diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix index 00aef53cc1b29..5366fb078678c 100644 --- a/pkgs/development/python-modules/Cython/default.nix +++ b/pkgs/development/python-modules/Cython/default.nix @@ -24,12 +24,12 @@ let in buildPythonPackage rec { pname = "cython"; - version = "0.29.32"; + version = "0.29.33"; src = fetchPypi { pname = "Cython"; inherit version; - hash = "sha256-hzPPR1i3kwTypOOev6xekjQbzke8zrJsElQ5iy+MGvc="; + hash = "sha256-UEB2TEpNLOlko5XaJPDRrlgUSZXauSxrlvRMP01yKGo="; }; nativeBuildInputs = [ @@ -46,11 +46,7 @@ in buildPythonPackage rec { # backport Cython 3.0 trashcan support (https://github.com/cython/cython/pull/2842) to 0.X series. # it does not affect Python code unless the code explicitly uses the feature. # trashcan support is needed to avoid stack overflows during object deallocation in sage (https://trac.sagemath.org/ticket/27267) - (fetchpatch { - name = "trashcan.patch"; - url = "https://github.com/cython/cython/commit/f781880b6780117660b2026caadf4a6d7905722f.patch"; - sha256 = "sha256-SnjaJdBZxm3O5gJ5Dxut6+eeVtZv+ygUUNwAwgoiFxg="; - }) + ./trashcan.patch # The above commit introduces custom trashcan macros, as well as # compiler changes to use them in Cython-emitted code. The latter # change is still useful, but the former has been upstreamed as of @@ -79,6 +75,7 @@ in buildPythonPackage rec { # doCheck = !stdenv.isDarwin; meta = { + changelog = "https://github.com/cython/cython/blob/${version}/CHANGES.rst"; description = "An optimising static compiler for both the Python programming language and the extended Cython programming language"; homepage = "https://cython.org"; license = lib.licenses.asl20; diff --git a/pkgs/development/python-modules/Cython/trashcan.patch b/pkgs/development/python-modules/Cython/trashcan.patch new file mode 100644 index 0000000000000..398422e76f395 --- /dev/null +++ b/pkgs/development/python-modules/Cython/trashcan.patch @@ -0,0 +1,354 @@ +From 1b77e35d848340f2c5f4c9b82965c25a0572d48f Mon Sep 17 00:00:00 2001 +From: Jeroen Demeyer +Date: Thu, 14 Feb 2019 10:02:41 +0100 +Subject: [PATCH] @cython.trashcan directive to enable the Python trashcan for + deallocations + +--- + Cython/Compiler/ModuleNode.py | 10 +++ + Cython/Compiler/Options.py | 2 + + Cython/Compiler/PyrexTypes.py | 8 +- + Cython/Compiler/Symtab.py | 18 +++- + Cython/Utility/ExtensionTypes.c | 43 ++++++++++ + tests/run/trashcan.pyx | 148 ++++++++++++++++++++++++++++++++ + 6 files changed, 227 insertions(+), 2 deletions(-) + create mode 100644 tests/run/trashcan.pyx + +diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py +index 56845330d..3a3e8a956 100644 +--- a/Cython/Compiler/ModuleNode.py ++++ b/Cython/Compiler/ModuleNode.py +@@ -1443,6 +1443,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): + + is_final_type = scope.parent_type.is_final_type + needs_gc = scope.needs_gc() ++ needs_trashcan = scope.needs_trashcan() + + weakref_slot = scope.lookup_here("__weakref__") if not scope.is_closure_class_scope else None + if weakref_slot not in scope.var_entries: +@@ -1481,6 +1482,11 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): + # running this destructor. + code.putln("PyObject_GC_UnTrack(o);") + ++ if needs_trashcan: ++ code.globalstate.use_utility_code( ++ UtilityCode.load_cached("PyTrashcan", "ExtensionTypes.c")) ++ code.putln("__Pyx_TRASHCAN_BEGIN(o, %s)" % slot_func_cname) ++ + # call the user's __dealloc__ + self.generate_usr_dealloc_call(scope, code) + +@@ -1554,6 +1560,10 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): + code.putln("(*Py_TYPE(o)->tp_free)(o);") + if freelist_size: + code.putln("}") ++ ++ if needs_trashcan: ++ code.putln("__Pyx_TRASHCAN_END") ++ + code.putln( + "}") + +diff --git a/Cython/Compiler/Options.py b/Cython/Compiler/Options.py +index d03119fca..05a728135 100644 +--- a/Cython/Compiler/Options.py ++++ b/Cython/Compiler/Options.py +@@ -319,6 +319,7 @@ directive_types = { + 'freelist': int, + 'c_string_type': one_of('bytes', 'bytearray', 'str', 'unicode'), + 'c_string_encoding': normalise_encoding_name, ++ 'trashcan': bool, + 'cpow': bool + } + +@@ -362,6 +363,7 @@ directive_scopes = { # defaults to available everywhere + 'np_pythran': ('module',), + 'fast_gil': ('module',), + 'iterable_coroutine': ('module', 'function'), ++ 'trashcan' : ('cclass',), + } + + +diff --git a/Cython/Compiler/PyrexTypes.py b/Cython/Compiler/PyrexTypes.py +index c309bd04b..9231130b5 100644 +--- a/Cython/Compiler/PyrexTypes.py ++++ b/Cython/Compiler/PyrexTypes.py +@@ -1129,6 +1129,7 @@ class PyObjectType(PyrexType): + is_extern = False + is_subclassed = False + is_gc_simple = False ++ builtin_trashcan = False # builtin type using trashcan + + def __str__(self): + return "Python object" +@@ -1183,10 +1184,14 @@ class PyObjectType(PyrexType): + + + builtin_types_that_cannot_create_refcycles = set([ +- 'bool', 'int', 'long', 'float', 'complex', ++ 'object', 'bool', 'int', 'long', 'float', 'complex', + 'bytearray', 'bytes', 'unicode', 'str', 'basestring' + ]) + ++builtin_types_with_trashcan = set([ ++ 'dict', 'list', 'set', 'frozenset', 'tuple', 'type', ++]) ++ + + class BuiltinObjectType(PyObjectType): + # objstruct_cname string Name of PyObject struct +@@ -1211,6 +1216,7 @@ class BuiltinObjectType(PyObjectType): + self.typeptr_cname = "(&%s)" % cname + self.objstruct_cname = objstruct_cname + self.is_gc_simple = name in builtin_types_that_cannot_create_refcycles ++ self.builtin_trashcan = name in builtin_types_with_trashcan + if name == 'type': + # Special case the type type, as many C API calls (and other + # libraries) actually expect a PyTypeObject* for type arguments. +diff --git a/Cython/Compiler/Symtab.py b/Cython/Compiler/Symtab.py +index 7361a55ae..f0c311ba6 100644 +--- a/Cython/Compiler/Symtab.py ++++ b/Cython/Compiler/Symtab.py +@@ -2043,7 +2043,7 @@ class PyClassScope(ClassScope): + class CClassScope(ClassScope): + # Namespace of an extension type. + # +- # parent_type CClassType ++ # parent_type PyExtensionType + # #typeobj_cname string or None + # #objstruct_cname string + # method_table_cname string +@@ -2087,6 +2087,22 @@ class CClassScope(ClassScope): + return not self.parent_type.is_gc_simple + return False + ++ def needs_trashcan(self): ++ # If the trashcan directive is explicitly set to False, ++ # unconditionally disable the trashcan. ++ directive = self.directives.get('trashcan') ++ if directive is False: ++ return False ++ # If the directive is set to True and the class has Python-valued ++ # C attributes, then it should use the trashcan in tp_dealloc. ++ if directive and self.has_cyclic_pyobject_attrs: ++ return True ++ # Use the trashcan if the base class uses it ++ base_type = self.parent_type.base_type ++ if base_type and base_type.scope is not None: ++ return base_type.scope.needs_trashcan() ++ return self.parent_type.builtin_trashcan ++ + def needs_tp_clear(self): + """ + Do we need to generate an implementation for the tp_clear slot? Can +diff --git a/Cython/Utility/ExtensionTypes.c b/Cython/Utility/ExtensionTypes.c +index dc187ab49..f359165df 100644 +--- a/Cython/Utility/ExtensionTypes.c ++++ b/Cython/Utility/ExtensionTypes.c +@@ -119,6 +119,49 @@ static int __Pyx_PyType_Ready(PyTypeObject *t) { + return r; + } + ++/////////////// PyTrashcan.proto /////////////// ++ ++// These macros are taken from https://github.com/python/cpython/pull/11841 ++// Unlike the Py_TRASHCAN_SAFE_BEGIN/Py_TRASHCAN_SAFE_END macros, they ++// allow dealing correctly with subclasses. ++ ++// This requires CPython version >= 2.7.4 ++// (or >= 3.2.4 but we don't support such old Python 3 versions anyway) ++#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070400 ++#define __Pyx_TRASHCAN_BEGIN_CONDITION(op, cond) \ ++ do { \ ++ PyThreadState *_tstate = NULL; \ ++ // If "cond" is false, then _tstate remains NULL and the deallocator ++ // is run normally without involving the trashcan ++ if (cond) { \ ++ _tstate = PyThreadState_GET(); \ ++ if (_tstate->trash_delete_nesting >= PyTrash_UNWIND_LEVEL) { \ ++ // Store the object (to be deallocated later) and jump past ++ // Py_TRASHCAN_END, skipping the body of the deallocator ++ _PyTrash_thread_deposit_object((PyObject*)(op)); \ ++ break; \ ++ } \ ++ ++_tstate->trash_delete_nesting; \ ++ } ++ // The body of the deallocator is here. ++#define __Pyx_TRASHCAN_END \ ++ if (_tstate) { \ ++ --_tstate->trash_delete_nesting; \ ++ if (_tstate->trash_delete_later && _tstate->trash_delete_nesting <= 0) \ ++ _PyTrash_thread_destroy_chain(); \ ++ } \ ++ } while (0); ++ ++#define __Pyx_TRASHCAN_BEGIN(op, dealloc) __Pyx_TRASHCAN_BEGIN_CONDITION(op, \ ++ Py_TYPE(op)->tp_dealloc == (destructor)(dealloc)) ++ ++#else ++// The trashcan is a no-op on other Python implementations ++// or old CPython versions ++#define __Pyx_TRASHCAN_BEGIN(op, dealloc) ++#define __Pyx_TRASHCAN_END ++#endif ++ + /////////////// CallNextTpDealloc.proto /////////////// + + static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc); +diff --git a/tests/run/trashcan.pyx b/tests/run/trashcan.pyx +new file mode 100644 +index 000000000..93a501ff8 +--- /dev/null ++++ b/tests/run/trashcan.pyx +@@ -0,0 +1,148 @@ ++# mode: run ++ ++cimport cython ++ ++ ++# Count number of times an object was deallocated twice. This should remain 0. ++cdef int double_deallocations = 0 ++def assert_no_double_deallocations(): ++ global double_deallocations ++ err = double_deallocations ++ double_deallocations = 0 ++ assert not err ++ ++ ++# Compute x = f(f(f(...(None)...))) nested n times and throw away the result. ++# The real test happens when exiting this function: then a big recursive ++# deallocation of x happens. We are testing two things in the tests below: ++# that Python does not crash and that no double deallocation happens. ++# See also https://github.com/python/cpython/pull/11841 ++def recursion_test(f, int n=2**20): ++ x = None ++ cdef int i ++ for i in range(n): ++ x = f(x) ++ ++ ++@cython.trashcan(True) ++cdef class Recurse: ++ """ ++ >>> recursion_test(Recurse) ++ >>> assert_no_double_deallocations() ++ """ ++ cdef public attr ++ cdef int deallocated ++ ++ def __init__(self, x): ++ self.attr = x ++ ++ def __dealloc__(self): ++ # Check that we're not being deallocated twice ++ global double_deallocations ++ double_deallocations += self.deallocated ++ self.deallocated = 1 ++ ++ ++cdef class RecurseSub(Recurse): ++ """ ++ >>> recursion_test(RecurseSub) ++ >>> assert_no_double_deallocations() ++ """ ++ cdef int subdeallocated ++ ++ def __dealloc__(self): ++ # Check that we're not being deallocated twice ++ global double_deallocations ++ double_deallocations += self.subdeallocated ++ self.subdeallocated = 1 ++ ++ ++@cython.freelist(4) ++@cython.trashcan(True) ++cdef class RecurseFreelist: ++ """ ++ >>> recursion_test(RecurseFreelist) ++ >>> recursion_test(RecurseFreelist, 1000) ++ >>> assert_no_double_deallocations() ++ """ ++ cdef public attr ++ cdef int deallocated ++ ++ def __init__(self, x): ++ self.attr = x ++ ++ def __dealloc__(self): ++ # Check that we're not being deallocated twice ++ global double_deallocations ++ double_deallocations += self.deallocated ++ self.deallocated = 1 ++ ++ ++# Subclass of list => uses trashcan by default ++# As long as https://github.com/python/cpython/pull/11841 is not fixed, ++# this does lead to double deallocations, so we skip that check. ++cdef class RecurseList(list): ++ """ ++ >>> RecurseList(42) ++ [42] ++ >>> recursion_test(RecurseList) ++ """ ++ def __init__(self, x): ++ super().__init__((x,)) ++ ++ ++# Some tests where the trashcan is NOT used. When the trashcan is not used ++# in a big recursive deallocation, the __dealloc__s of the base classs are ++# only run after the __dealloc__s of the subclasses. ++# We use this to detect trashcan usage. ++cdef int base_deallocated = 0 ++cdef int trashcan_used = 0 ++def assert_no_trashcan_used(): ++ global base_deallocated, trashcan_used ++ err = trashcan_used ++ trashcan_used = base_deallocated = 0 ++ assert not err ++ ++ ++cdef class Base: ++ def __dealloc__(self): ++ global base_deallocated ++ base_deallocated = 1 ++ ++ ++# Trashcan disabled by default ++cdef class Sub1(Base): ++ """ ++ >>> recursion_test(Sub1, 100) ++ >>> assert_no_trashcan_used() ++ """ ++ cdef public attr ++ ++ def __init__(self, x): ++ self.attr = x ++ ++ def __dealloc__(self): ++ global base_deallocated, trashcan_used ++ trashcan_used += base_deallocated ++ ++ ++@cython.trashcan(True) ++cdef class Middle(Base): ++ cdef public foo ++ ++ ++# Trashcan disabled explicitly ++@cython.trashcan(False) ++cdef class Sub2(Middle): ++ """ ++ >>> recursion_test(Sub2, 1000) ++ >>> assert_no_trashcan_used() ++ """ ++ cdef public attr ++ ++ def __init__(self, x): ++ self.attr = x ++ ++ def __dealloc__(self): ++ global base_deallocated, trashcan_used ++ trashcan_used += base_deallocated +-- +2.39.0 + diff --git a/pkgs/development/python-modules/build/default.nix b/pkgs/development/python-modules/build/default.nix index 44d6e6f978335..bcdd7614ecd56 100644 --- a/pkgs/development/python-modules/build/default.nix +++ b/pkgs/development/python-modules/build/default.nix @@ -56,6 +56,8 @@ buildPythonPackage rec { "ignore::DeprecationWarning" ]; + __darwinAllowLocalNetworking = true; + disabledTests = [ # Tests often fail with StopIteration "test_isolat" diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index b8cf310a06ee9..ba2407923f33a 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -28,20 +28,20 @@ let in buildPythonPackage rec { pname = "cryptography"; - version = "38.0.4"; # Also update the hash in vectors.nix + version = "39.0.1"; # Also update the hash in vectors.nix format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-F1wagYuHyayAu3N39VILfzGz7yoABOJCAxm+re22cpA="; + hash = "sha256-0fYZjubZFIQF5JiHgDkH/olioj5sb4PqfZjxwN43VpU="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; sourceRoot = "${pname}-${version}/${cargoRoot}"; name = "${pname}-${version}"; - hash = "sha256-BN0kOblUwgHj5QBf52RY2Jx0nBn03lwoN1O5PEohbwY="; + hash = "sha256-0x+KIqJznDEyIUqVuYfIESKmHBWfzirPeX2R/cWlngc="; }; cargoRoot = "src/rust"; diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index 31ace7c48ffdf..b054f89aa3a6d 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "cryptography_vectors"; inherit version; - hash = "sha256-bsYmlb7F34ECiN3OrpmK5pHNuKFigI1svJYNPeuafbE="; + hash = "sha256-DLrrUL2388nXqTsmoEYu9ul8doynjZAoVP4EXDC2gMY="; }; # No tests included diff --git a/pkgs/development/python-modules/cvxopt/default.nix b/pkgs/development/python-modules/cvxopt/default.nix index c546d11ec3f63..d47debe407e93 100644 --- a/pkgs/development/python-modules/cvxopt/default.nix +++ b/pkgs/development/python-modules/cvxopt/default.nix @@ -51,16 +51,16 @@ buildPythonPackage rec { export CVXOPT_SUITESPARSE_INC_DIR=${lib.getDev suitesparse}/include '' + lib.optionalString withGsl '' export CVXOPT_BUILD_GSL=1 - export CVXOPT_GSL_LIB_DIR=${gsl}/lib - export CVXOPT_GSL_INC_DIR=${gsl}/include + export CVXOPT_GSL_LIB_DIR=${lib.getLib gsl}/lib + export CVXOPT_GSL_INC_DIR=${lib.getDev gsl}/include '' + lib.optionalString withGlpk '' export CVXOPT_BUILD_GLPK=1 - export CVXOPT_GLPK_LIB_DIR=${glpk}/lib - export CVXOPT_GLPK_INC_DIR=${glpk}/include + export CVXOPT_GLPK_LIB_DIR=${lib.getLib glpk}/lib + export CVXOPT_GLPK_INC_DIR=${lib.getDev glpk}/include '' + lib.optionalString withFftw '' export CVXOPT_BUILD_FFTW=1 - export CVXOPT_FFTW_LIB_DIR=${fftw}/lib - export CVXOPT_FFTW_INC_DIR=${fftw.dev}/include + export CVXOPT_FFTW_LIB_DIR=${lib.getLib fftw}/lib + export CVXOPT_FFTW_INC_DIR=${lib.getDev fftw}/include ''; nativeCheckInputs = [ unittestCheckHook ]; diff --git a/pkgs/development/python-modules/datafusion/Cargo.lock.patch b/pkgs/development/python-modules/datafusion/Cargo.lock.patch deleted file mode 100644 index e4e5eca8af4c8..0000000000000 --- a/pkgs/development/python-modules/datafusion/Cargo.lock.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/Cargo.lock b/Cargo.lock -index fa84a54c..3d790e1c 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -57,9 +57,9 @@ checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" - - [[package]] - name = "arrow" --version = "6.0.0" -+version = "6.5.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "337e668497751234149fd607f5cb41a6ae7b286b6329589126fe67f0ac55d637" -+checksum = "216c6846a292bdd93c2b93c1baab58c32ff50e2ab5e8d50db333ab518535dd8b" - dependencies = [ - "bitflags", - "chrono", -@@ -212,9 +212,9 @@ dependencies = [ - - [[package]] - name = "comfy-table" --version = "4.1.1" -+version = "5.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "11e95a3e867422fd8d04049041f5671f94d53c32a9dcd82e2be268714942f3f3" -+checksum = "c42350b81f044f576ff88ac750419f914abb46a03831bb1747134344ee7a4e64" - dependencies = [ - "strum", - "strum_macros", -@@ -279,7 +279,7 @@ dependencies = [ - - [[package]] - name = "datafusion" --version = "5.1.0" -+version = "6.0.0" - dependencies = [ - "ahash", - "arrow", -@@ -310,7 +310,7 @@ dependencies = [ - - [[package]] - name = "datafusion-python" --version = "0.3.0" -+version = "0.4.0" - dependencies = [ - "datafusion", - "pyo3", -@@ -877,9 +877,9 @@ dependencies = [ - - [[package]] - name = "parquet" --version = "6.0.0" -+version = "6.5.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d263b9b59ba260518de9e57bd65931c3f765fea0fabacfe84f40d6fde38e841a" -+checksum = "788d9953f4cfbe9db1beff7bebd54299d105e34680d78b82b1ddc85d432cac9d" - dependencies = [ - "arrow", - "base64", -@@ -1228,15 +1228,15 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - - [[package]] - name = "strum" --version = "0.21.0" -+version = "0.22.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" -+checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" - - [[package]] - name = "strum_macros" --version = "0.21.1" -+version = "0.22.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" -+checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" - dependencies = [ - "heck", - "proc-macro2", diff --git a/pkgs/development/python-modules/datafusion/default.nix b/pkgs/development/python-modules/datafusion/default.nix index fb991dabf3d20..84afbfc3a1c10 100644 --- a/pkgs/development/python-modules/datafusion/default.nix +++ b/pkgs/development/python-modules/datafusion/default.nix @@ -5,54 +5,42 @@ , fetchPypi , fetchFromGitHub , rustPlatform -, maturin , pytestCheckHook , libiconv , numpy , pandas , pyarrow -, pytest }: + let - # le sigh, the perils of unrelated versions of software living in the same - # repo: there's no obvious way to map the top level source repo - # (arrow-datafusion) version to the version of contained repo - # (arrow-datafusion/python) - # - # A commit hash will do in a pinch, and ultimately the sha256 has the final - # say of what the content is when building - cargoLock = fetchurl { - url = "https://raw.githubusercontent.com/apache/arrow-datafusion/6.0.0/python/Cargo.lock"; - sha256 = "sha256-xiv3drEU5jOGsEIh0U01ZQ1NBKobxO2ctp4mxy9iigw="; + arrow-testing = fetchFromGitHub { + owner = "apache"; + repo = "arrow-testing"; + rev = "5bab2f264a23f5af68f69ea93d24ef1e8e77fc88"; + hash = "sha256-Pxx8ohUpXb5u1995IvXmxQMqWiDJ+7LAll/AjQP7ph8="; }; - postUnpack = '' - cp "${cargoLock}" $sourceRoot/Cargo.lock - chmod u+w $sourceRoot/Cargo.lock - ''; + parquet-testing = fetchFromGitHub { + owner = "apache"; + repo = "parquet-testing"; + rev = "5b82793ef7196f7b3583e85669ced211cd8b5ff2"; + hash = "sha256-gcOvk7qFHZgJWE9CpucC8zwayYw47VbC3lmSRu4JQFg="; + }; in + buildPythonPackage rec { pname = "datafusion"; - version = "0.4.0"; + version = "0.7.0"; format = "pyproject"; src = fetchPypi { inherit pname version; - sha256 = "sha256-+YqogteKfNhtI2QbVXv/5CIWm3PcOH653dwONm5ZcL8="; + sha256 = "sha256-XYXZMorPs2Ue7E38DASd4rmxvX0wlx8A6sCpAbYUh4I="; }; - inherit postUnpack; - - # TODO: remove the patch hacking and postUnpack hooks after - # https://github.com/apache/arrow-datafusion/pull/1508 is merged - # - # the lock file isn't up to date as of 6.0.0 so we need to patch the source - # lockfile and the vendored cargo deps lockfile - patches = [ ./Cargo.lock.patch ]; cargoDeps = rustPlatform.fetchCargoTarball { - inherit src pname version postUnpack; - sha256 = "sha256-JGyDxpfBXzduJaMF1sbmRm7KJajHYdVSj+WbiSETiY0="; - patches = [ ./Cargo.lock.patch ]; + inherit src pname version; + sha256 = "sha256-6mPdKwsEN09Gf4eNsd/v3EBHVezHmff/KYB2lsXgzcA="; }; nativeBuildInputs = with rustPlatform; [ @@ -68,13 +56,18 @@ buildPythonPackage rec { pyarrow ]; - nativeCheckInputs = [ pytest ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "datafusion" ]; + pytestFlagsArray = [ "--pyargs" pname ]; + + preCheck = '' + pushd $TMPDIR + ln -s ${arrow-testing} ./testing + ln -s ${parquet-testing} ./parquet + ''; - checkPhase = '' - runHook preCheck - pytest --pyargs "${pname}" - runHook postCheck + postCheck = '' + popd ''; meta = with lib; { diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix index f881ed5221aeb..f54562742b15a 100644 --- a/pkgs/development/python-modules/django/3.nix +++ b/pkgs/development/python-modules/django/3.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "django"; - version = "3.2.16"; + version = "3.2.17"; disabled = pythonOlder "3.7"; src = fetchPypi { pname = "Django"; inherit version; - hash = "sha256-OtwoUSQkRySjlPqbmDnMjNEW+vfRWVVMQ+zaqM3wuU0="; + hash = "sha256-ZEKINB8G6+STjuxoAba9WaZTSnjkrt3ioVMHXREUOJQ="; }; patches = [ diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix index cc4430ddb3998..2f8a02dc3ec61 100644 --- a/pkgs/development/python-modules/dogtail/default.nix +++ b/pkgs/development/python-modules/dogtail/default.nix @@ -37,7 +37,6 @@ buildPythonPackage { nativeBuildInputs = [ gobject-introspection dbus xvfb-run wrapGAppsHook ]; # for setup hooks propagatedBuildInputs = [ at-spi2-core gtk3 pygobject3 pyatspi pycairo ]; - strictDeps = false; # issue 56943 checkPhase = '' runHook preCheck @@ -50,6 +49,12 @@ buildPythonPackage { runHook postCheck ''; + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + # TODO: Tests require accessibility doCheck = false; diff --git a/pkgs/development/python-modules/flit-scm/default.nix b/pkgs/development/python-modules/flit-scm/default.nix index 2a209f2b7cd85..6b7c57100017c 100644 --- a/pkgs/development/python-modules/flit-scm/default.nix +++ b/pkgs/development/python-modules/flit-scm/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "WillDaSilva"; repo = "flit_scm"; rev = "refs/tags/${version}"; - hash = "sha256-K5sH+oHgX/ftvhkY+vIg6wUokAP96YxrTWds3tnEtyg="; + hash = "sha256-2nx9kWq/2TzauOW+c67g9a3JZ2dhBM4QzKyK/sqWOPo="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/hatch-requirements-txt/default.nix b/pkgs/development/python-modules/hatch-requirements-txt/default.nix index b68506ecd3529..af74b15b02148 100644 --- a/pkgs/development/python-modules/hatch-requirements-txt/default.nix +++ b/pkgs/development/python-modules/hatch-requirements-txt/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchFromGitHub -, hatch , hatchling , packaging , pytestCheckHook @@ -20,7 +19,7 @@ buildPythonPackage rec { }; nativeBuildInputs = [ - hatch + hatchling ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/hidapi/default.nix b/pkgs/development/python-modules/hidapi/default.nix index 977d94e8a20c9..bbbcdfb5267da 100644 --- a/pkgs/development/python-modules/hidapi/default.nix +++ b/pkgs/development/python-modules/hidapi/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "hidapi"; - version = "0.12.0.post2"; + version = "0.13.1"; src = fetchPypi { inherit pname version; - sha256 = "8ebb2117be8b27af5c780936030148e1971b6b7fda06e0581ff0bfb15e94ed76"; + sha256 = "99b18b28ec414ef9b604ddaed08182e486a400486f31ca56f61d537eed1d17cf"; }; nativeBuildInputs = lib.optionals stdenv.isDarwin [ xcbuild ]; diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix index a49f7c684aab7..173991f04df62 100644 --- a/pkgs/development/python-modules/ibis-framework/default.nix +++ b/pkgs/development/python-modules/ibis-framework/default.nix @@ -16,6 +16,7 @@ , geoalchemy2 , geopandas , graphviz-nox +, hypothesis , lz4 , multipledispatch , numpy @@ -30,8 +31,9 @@ , pymysql , pyspark , pytest-benchmark -, pytest-randomly , pytest-mock +, pytest-randomly +, pytest-snapshot , pytest-xdist , python , pytz @@ -62,7 +64,7 @@ in buildPythonPackage rec { pname = "ibis-framework"; - version = "3.2.0"; + version = "4.0.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -71,10 +73,12 @@ buildPythonPackage rec { repo = "ibis"; owner = "ibis-project"; rev = version; - hash = "sha256-YRP1nGJs4btqXQirm0GfEDKNPCVXexVrwQ6sE8JtD2o="; + hash = "sha256-G3kMd6Jyib7ZXHFP6t2CEPlDD5n5zHE2jq/0he3U4Nk="; }; - nativeBuildInputs = [ poetry-core ]; + nativeBuildInputs = [ + poetry-core + ]; propagatedBuildInputs = [ atpublic @@ -95,29 +99,31 @@ buildPythonPackage rec { pytestCheckHook click filelock + hypothesis pytest-benchmark pytest-mock pytest-randomly + pytest-snapshot pytest-xdist rsync ] ++ lib.concatMap (name: passthru.optional-dependencies.${name}) testBackends; - preBuild = '' - # setup.py exists only for developer convenience and is automatically generated - # it gets in the way in nixpkgs so we remove it - rm setup.py - ''; - pytestFlagsArray = [ "--dist=loadgroup" "-m" "'${lib.concatStringsSep " or " testBackends} or core'" - # this test fails on nixpkgs datafusion version (0.4.0), but works on - # datafusion 0.6.0 - "-k" - "'not datafusion-no_op'" ]; + # remove when sqlalchemy backend no longer uses deprecated methods + SQLALCHEMY_SILENCE_UBER_WARNING = 1; + + # patch out tests that check formatting with black + postPatch = '' + find ibis/tests -type f -name '*.py' -exec sed -i \ + -e '/^ *assert_decompile_roundtrip/d' \ + -e 's/^\( *\)code = ibis.decompile(expr, format=True)/\1code = ibis.decompile(expr)/g' {} + + ''; + preCheck = '' set -eo pipefail diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix index 05fe40802c5d5..6dc894c0a4ca5 100644 --- a/pkgs/development/python-modules/pillow/default.nix +++ b/pkgs/development/python-modules/pillow/default.nix @@ -12,7 +12,7 @@ import ./generic.nix (rec { pname = "pillow"; - version = "9.3.0"; + version = "9.4.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ import ./generic.nix (rec { src = fetchPypi { pname = "Pillow"; inherit version; - hash = "sha256-yTWiKlV6VgEI14D5oPxCbddFmUDcVPqknYMknI0+dg8="; + hash = "sha256-ocLXeARI65P7zDeJvzkWqlcg2ULjeUX0BWaAMX8c0j4="; }; passthru.tests = { diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix index a862fa69a9a2f..08f55e4db386d 100644 --- a/pkgs/development/python-modules/pyarrow/default.nix +++ b/pkgs/development/python-modules/pyarrow/default.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , python +, pythonAtLeast , pythonOlder , arrow-cpp , cffi @@ -109,6 +110,9 @@ buildPythonPackage rec { "--deselect=pyarrow/tests/test_flight.py::test_large_descriptor" "--deselect=pyarrow/tests/test_flight.py::test_large_metadata_client" "--deselect=pyarrow/tests/test_flight.py::test_none_action_side_effect" + ] ++ lib.optionals (pythonAtLeast "3.11") [ + # Repr output is printing number instead of enum name so these tests fail + "--deselect=pyarrow/tests/test_fs.py::test_get_file_info" ]; dontUseSetuptoolsCheck = true; diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix index f2b546cac802d..f07c8062c1086 100644 --- a/pkgs/development/python-modules/pycryptodome/default.nix +++ b/pkgs/development/python-modules/pycryptodome/default.nix @@ -2,7 +2,6 @@ , buildPythonPackage , callPackage , fetchFromGitHub -, fetchpatch , gmp }: @@ -11,23 +10,16 @@ let in buildPythonPackage rec { pname = "pycryptodome"; - version = "3.16.0"; + version = "3.17.0"; format = "setuptools"; src = fetchFromGitHub { owner = "Legrandin"; repo = "pycryptodome"; rev = "v${version}"; - hash = "sha256-8EAgeAU3HQiPrMKOtoVQQLbgq47cbveU2eQYp15XS/U="; + hash = "sha256-xsfd+dbaNOPuD0ulvpLPBPtcFgmJqX1VuunwNMcqh+Q="; }; - patches = [ - (fetchpatch { - url = "https://github.com/Legrandin/pycryptodome/commit/1c043abb089ddbc2fc43d1c169672688ccc64c64.patch"; - sha256 = "sha256-QklwOlFpQNAH0CpR06fWSZqx8C97RV8BRsKbp2j8js8="; - }) - ]; - postPatch = '' substituteInPlace lib/Crypto/Math/_IntegerGMP.py \ --replace 'load_lib("gmp"' 'load_lib("${gmp}/lib/libgmp.so.10"' diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 20c45462d9ed9..893fd1e64564a 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -42,8 +42,7 @@ buildPythonPackage rec { ]; buildInputs = [ - # # .so files link to these - gobject-introspection + # # .so files link to this glib ] ++ lib.optionals stdenv.isDarwin [ ncurses diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 048c47184d161..ec6acefeb49de 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -2,32 +2,36 @@ , stdenv , buildPythonPackage , fetchPypi -, fetchpatch , openssl , cryptography , pytestCheckHook , pretend +, sphinxHook +, sphinx-rtd-theme , flaky }: buildPythonPackage rec { pname = "pyopenssl"; - version = "22.1.0"; - - outputs = [ "out" "dev" ]; + version = "23.0.0"; + format = "setuptools"; src = fetchPypi { pname = "pyOpenSSL"; inherit version; - sha256 = "sha256-eoO3snLdWVIi1nL1zimqAw8fuDdjDvIp9i5y45XOiWg="; + hash = "sha256-wcxfhrys78hNrafTEXXK4bFRjV9g09C7WVpngiqGim8="; }; - patches = [ - (fetchpatch { - name = "fix-flaky-darwin-handshake-tests.patch"; - url = "https://github.com/pyca/pyopenssl/commit/8a75898356806784caf742e8277ef03de830ce11.patch"; - hash = "sha256-UVsZ8Nq1jUTZhOUAilRgdtqMYp4AN7qvWHqc6RleqRI="; - }) + outputs = [ + "out" + "dev" + "doc" + ]; + + nativeBuildInputs = [ + openssl + sphinxHook + sphinx-rtd-theme ]; postPatch = '' @@ -35,10 +39,17 @@ buildPythonPackage rec { sed "/cryptography/ s/,<[0-9]*//g" setup.py ''; - nativeBuildInputs = [ openssl ]; - propagatedBuildInputs = [ cryptography ]; + propagatedBuildInputs = [ + cryptography + ]; + + nativeCheckInputs = [ + flaky + pretend + pytestCheckHook + ]; - nativeCheckInputs = [ pytestCheckHook pretend flaky ]; + __darwinAllowLocalNetworking = true; preCheck = '' export LANG="en_US.UTF-8" @@ -82,6 +93,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python wrapper around the OpenSSL library"; homepage = "https://github.com/pyca/pyopenssl"; + changelog = "https://github.com/pyca/pyopenssl/blob/${version}/CHANGELOG.rst"; license = licenses.asl20; maintainers = with maintainers; [ SuperSandro2000 ]; }; diff --git a/pkgs/development/python-modules/pytest-httpserver/default.nix b/pkgs/development/python-modules/pytest-httpserver/default.nix index 1c69f426b1695..feae849013045 100644 --- a/pkgs/development/python-modules/pytest-httpserver/default.nix +++ b/pkgs/development/python-modules/pytest-httpserver/default.nix @@ -37,6 +37,12 @@ buildPythonPackage rec { toml ]; + __darwinAllowLocalNetworking = true; + + disabledTests = [ + "test_wait_raise_assertion_false" # racy + ]; + pythonImportsCheck = [ "pytest_httpserver" ]; diff --git a/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/pkgs/development/python-modules/pytest-rerunfailures/default.nix index a0e9bb1fb2a6b..c6e8b7e915d6c 100644 --- a/pkgs/development/python-modules/pytest-rerunfailures/default.nix +++ b/pkgs/development/python-modules/pytest-rerunfailures/default.nix @@ -1,23 +1,31 @@ -{ lib, buildPythonPackage, pythonOlder, fetchPypi, pytest, mock }: +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, setuptools +, packaging +, pytest +, pytestCheckHook +}: buildPythonPackage rec { pname = "pytest-rerunfailures"; - version = "10.3"; + version = "11.0"; + format = "pyproject"; - disabled = pythonOlder "3.5"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-2CRNeZ+Jpu215XMB3a6ztvENZpFjjVHoCzcTEVkuKMY="; + hash = "sha256-zuWeTm8Nc65j+6CZhlMUupuRW3GTSVQREPoBL/tu+xM="; }; - buildInputs = [ pytest ]; + nativeBuildInputs = [ setuptools ]; - nativeCheckInputs = [ mock pytest ]; + buildInputs = [ pytest ]; + propagatedBuildInputs = [ packaging ]; - checkPhase = '' - py.test test_pytest_rerunfailures.py - ''; + nativeCheckInputs = [ pytestCheckHook ]; meta = with lib; { description = "Pytest plugin to re-run tests to eliminate flaky failures"; diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix index 725849fee078f..358a647d52d94 100644 --- a/pkgs/development/python-modules/python-magic/default.nix +++ b/pkgs/development/python-modules/python-magic/default.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchFromGitHub +, fetchpatch , substituteAll , file , pytestCheckHook @@ -23,6 +24,11 @@ buildPythonPackage rec { src = ./libmagic-path.patch; libmagic = "${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}"; }) + (fetchpatch { + name = "update-test-for-upstream-added-gzip-extensions.patch"; + url = "https://github.com/ahupp/python-magic/commit/4ffcd59113fa26d7c2e9d5897b1eef919fd4b457.patch"; + hash = "sha256-67GpjlGiR4/os/iZ69V+ZziVLpjmid+7t+gQ2aQy9I0="; + }) ]; preCheck = '' diff --git a/pkgs/development/python-modules/pytz/default.nix b/pkgs/development/python-modules/pytz/default.nix index e162a4a6cb615..b8594e51f8391 100644 --- a/pkgs/development/python-modules/pytz/default.nix +++ b/pkgs/development/python-modules/pytz/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "pytz"; - version = "2022.7"; + version = "2022.7.1"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-fM+ue0ssBnRkpnM8YmFnP9uP0b6QVGA5a5egc+n6aDo="; + hash = "sha256-AaBoHEuWhKKDBGFeulXRqzGuAL9o7BV+w3CKgYLbvNA="; }; nativeCheckInputs = [ unittestCheckHook ]; diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix index 7f9091d87f144..13bc07faed3a8 100644 --- a/pkgs/development/python-modules/scipy/default.nix +++ b/pkgs/development/python-modules/scipy/default.nix @@ -67,6 +67,8 @@ buildPythonPackage rec { runHook postCheck ''; + requiredSystemFeatures = [ "big-parallel" ]; # the tests need lots of CPU time + passthru = { blas = numpy.blas; }; diff --git a/pkgs/development/python-modules/sqlglot/default.nix b/pkgs/development/python-modules/sqlglot/default.nix index 05dfba9497293..3d12618b8e45c 100644 --- a/pkgs/development/python-modules/sqlglot/default.nix +++ b/pkgs/development/python-modules/sqlglot/default.nix @@ -5,10 +5,11 @@ , pytestCheckHook , python-dateutil , duckdb +, pyspark }: buildPythonPackage rec { pname = "sqlglot"; - version = "6.0.7"; + version = "10.5.2"; disabled = pythonOlder "3.8"; @@ -16,12 +17,15 @@ buildPythonPackage rec { repo = "sqlglot"; owner = "tobymao"; rev = "v${version}"; - hash = "sha256-7PBhf9NN/mCi92xSkB9ygfmfxTyOYaEyrNvL309sG5Y="; + hash = "sha256-ZFc2aOhCTRFlrzgnYDSdIZxRqKZ8FvkYSZRU0OMHI34="; }; propagatedBuildInputs = [ python-dateutil ]; - nativeCheckInputs = [ pytestCheckHook duckdb ]; + nativeCheckInputs = [ pytestCheckHook duckdb pyspark ]; + + # these integration tests assume a running Spark instance + disabledTestPaths = [ "tests/dataframe/integration" ]; pythonImportsCheck = [ "sqlglot" ]; diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index c64f36c8df321..f1a8e72a591db 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -111,6 +111,15 @@ in buildPythonPackage rec { # base is 10.12. Until we upgrade, we can fall back on the older # pthread support. ./pthreadpool-disable-gcd.diff + ] ++ [ + # PyTorch fails to build on gcc 12 due to gloo + # https://github.com/pytorch/pytorch/issues/77614 + (fetchpatch { + url = "https://github.com/facebookincubator/gloo/commit/4a5e339b764261d20fc409071dc7a8b8989aa195.patch"; + stripLen = 1; + extraPrefix = "third_party/gloo/"; + hash = "sha256-UxR1r7F6g76BWj3GBIrSy5t+YZDCWy6mMddwx+hon5w="; + }) ]; postPatch = lib.optionalString rocmSupport '' @@ -204,7 +213,11 @@ in buildPythonPackage rec { # # Also of interest: pytorch ignores CXXFLAGS uses CFLAGS for both C and C++: # https://github.com/pytorch/pytorch/blob/v1.11.0/setup.py#L17 - NIX_CFLAGS_COMPILE = lib.optionals (blas.implementation == "mkl") [ "-Wno-error=array-bounds" ]; + NIX_CFLAGS_COMPILE = lib.optionals (blas.implementation == "mkl") [ "-Wno-error=array-bounds" ] + # Suppress gcc regression: avx512 math function raises uninitialized variable warning + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105593 + # See also: Fails to compile with GCC 12.1.0 https://github.com/pytorch/pytorch/issues/77939 + ++ lib.optionals stdenv.cc.isGNU [ "-Wno-error=maybe-uninitialized" "-Wno-error=uninitialized" ]; nativeBuildInputs = [ cmake diff --git a/pkgs/development/python-modules/typeguard/default.nix b/pkgs/development/python-modules/typeguard/default.nix index 7c69463d9b7b2..7ae99a98d2285 100644 --- a/pkgs/development/python-modules/typeguard/default.nix +++ b/pkgs/development/python-modules/typeguard/default.nix @@ -5,12 +5,16 @@ , setuptools-scm , pytestCheckHook , typing-extensions +, sphinxHook +, sphinx-autodoc-typehints +, sphinx-rtd-theme , glibcLocales }: buildPythonPackage rec { pname = "typeguard"; version = "2.13.3"; + outputs = [ "out" "doc" ]; src = fetchPypi { inherit pname version; @@ -18,7 +22,12 @@ buildPythonPackage rec { }; buildInputs = [ setuptools-scm ]; - nativeBuildInputs = [ glibcLocales ]; + nativeBuildInputs = [ + glibcLocales + sphinxHook + sphinx-autodoc-typehints + sphinx-rtd-theme + ]; LC_ALL="en_US.utf-8"; diff --git a/pkgs/development/python-modules/types-toml/default.nix b/pkgs/development/python-modules/types-toml/default.nix index fff70bd611f76..c3c5a13e9005d 100644 --- a/pkgs/development/python-modules/types-toml/default.nix +++ b/pkgs/development/python-modules/types-toml/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-toml"; - version = "0.10.8.1"; + version = "0.10.8.2"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-FxvbMWPXmlIFYPJLqRap/Jv/gWWcVEip/qiSQJI3Ir4="; + sha256 = "sha256-UdQoZmsw6cwEd5H0QNDxGoIgXnicQN67uG863XRyzz4="; }; # Module doesn't have tests diff --git a/pkgs/development/python-modules/ujson/default.nix b/pkgs/development/python-modules/ujson/default.nix index 7f9ca14ebdbef..6755a274d1dde 100644 --- a/pkgs/development/python-modules/ujson/default.nix +++ b/pkgs/development/python-modules/ujson/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "ujson"; - version = "5.6.0"; + version = "5.7.0"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-+IHi2KAi6Shaouq2uoZ0NY28srV/poYY2I1ik3rD/wQ="; + sha256 = "sha256-54jl1dyuj2EYrJtF0LiRoNVfesSA7dy38HJj8rzzeyM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix index a242c7ec9c6cb..043b1e8aff666 100644 --- a/pkgs/development/python-modules/watchdog/default.nix +++ b/pkgs/development/python-modules/watchdog/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "watchdog"; - version = "2.2.0"; + version = "2.2.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-g8+Lxg2cYTtmpMAYBRhz1ic9nkXQQO7QbWqWJBvY7AE="; + hash = "sha256-zcwjyVKGAaiik+tDacvRT2tPNPB66HaUISUunCJxi28="; }; patches = lib.optionals (stdenv.isDarwin && !stdenv.isAarch64) [ diff --git a/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch b/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch index 93db54b0c6e6c..8e70f0069d654 100644 --- a/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch +++ b/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch @@ -20,18 +20,15 @@ name that has the same encoding in each normal form. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_bdist_wheel.py b/tests/test_bdist_wheel.py -index 651c034..9b94ac8 100644 +index 5a6db16..42cf121 100644 --- a/tests/test_bdist_wheel.py +++ b/tests/test_bdist_wheel.py -@@ -58,7 +58,7 @@ def test_unicode_record(wheel_paths): +@@ -69,7 +69,7 @@ def test_unicode_record(wheel_paths): with ZipFile(path) as zf: - record = zf.read('unicode.dist-0.1.dist-info/RECORD') + record = zf.read("unicode.dist-0.1.dist-info/RECORD") -- assert u'åäö_日本語.py'.encode('utf-8') in record -+ assert u'æɐø_日本價.py'.encode('utf-8') in record +- assert "åäö_日本語.py".encode() in record ++ assert "æɐø_日本價.py".encode() in record - def test_licenses_default(dummy_dist, monkeypatch, tmpdir): --- -2.17.2 (Apple Git-113) - + UTF8_PKG_INFO = """\ diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix index 8735a37b21ff7..3be508a0ec590 100644 --- a/pkgs/development/python-modules/wheel/default.nix +++ b/pkgs/development/python-modules/wheel/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "wheel"; - version = "0.37.1"; + version = "0.38.4"; format = "other"; src = fetchFromGitHub { owner = "pypa"; repo = pname; rev = version; - sha256 = "sha256-JlTmUPY3yo/uROyd3nW1dJa23zbLhgQTwcmqZkPOrHs="; + hash = "sha256-yZLU0t/nz6kfnnoLL15bybOxN4+SJUaTJsCpGffl1QU="; name = "${pname}-${version}-source"; postFetch = '' cd $out diff --git a/pkgs/development/python2-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch b/pkgs/development/python2-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch new file mode 100644 index 0000000000000..93db54b0c6e6c --- /dev/null +++ b/pkgs/development/python2-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch @@ -0,0 +1,37 @@ +From 5879a4bbc34d1eb25e160b15b2f5a4f10eac6bd2 Mon Sep 17 00:00:00 2001 +From: toonn +Date: Mon, 13 Sep 2021 18:07:26 +0200 +Subject: [PATCH] =?UTF-8?q?tests:=20Rename=20a=CC=8Aa=CC=88o=CC=88=5F?= + =?UTF-8?q?=E6=97=A5=E6=9C=AC=E8=AA=9E.py=20=3D>=20=C3=A6=C9=90=C3=B8=5F?= + =?UTF-8?q?=E6=97=A5=E6=9C=AC=E5=83=B9.py?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +`åäö_日本語.py` normalizes differently in NFC and NFD normal forms. This +means a hash generated for the source directory can differ depending on +whether or not the filesystem is normalizing and which normal form it +uses. + +By renaming the file to `æɐø_日本價.py` we avoid this issue by using a +name that has the same encoding in each normal form. +--- + tests/test_bdist_wheel.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test_bdist_wheel.py b/tests/test_bdist_wheel.py +index 651c034..9b94ac8 100644 +--- a/tests/test_bdist_wheel.py ++++ b/tests/test_bdist_wheel.py +@@ -58,7 +58,7 @@ def test_unicode_record(wheel_paths): + with ZipFile(path) as zf: + record = zf.read('unicode.dist-0.1.dist-info/RECORD') + +- assert u'åäö_日本語.py'.encode('utf-8') in record ++ assert u'æɐø_日本價.py'.encode('utf-8') in record + + + def test_licenses_default(dummy_dist, monkeypatch, tmpdir): +-- +2.17.2 (Apple Git-113) + diff --git a/pkgs/development/python2-modules/wheel/default.nix b/pkgs/development/python2-modules/wheel/default.nix new file mode 100644 index 0000000000000..8735a37b21ff7 --- /dev/null +++ b/pkgs/development/python2-modules/wheel/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, bootstrapped-pip +, setuptools +}: + +buildPythonPackage rec { + pname = "wheel"; + version = "0.37.1"; + format = "other"; + + src = fetchFromGitHub { + owner = "pypa"; + repo = pname; + rev = version; + sha256 = "sha256-JlTmUPY3yo/uROyd3nW1dJa23zbLhgQTwcmqZkPOrHs="; + name = "${pname}-${version}-source"; + postFetch = '' + cd $out + mv tests/testdata/unicode.dist/unicodedist/åäö_日本語.py \ + tests/testdata/unicode.dist/unicodedist/æɐø_日本價.py + patch -p1 < ${./0001-tests-Rename-a-a-o-_-.py-_-.py.patch} + ''; + }; + + nativeBuildInputs = [ + bootstrapped-pip + setuptools + ]; + + # No tests in archive + doCheck = false; + pythonImportsCheck = [ "wheel" ]; + + # We add this flag to ignore the copy installed by bootstrapped-pip + pipInstallFlags = [ "--ignore-installed" ]; + + meta = with lib; { + homepage = "https://github.com/pypa/wheel"; + description = "A built-package format for Python"; + longDescription = '' + This library is the reference implementation of the Python wheel packaging standard, + as defined in PEP 427. + + It has two different roles: + + - A setuptools extension for building wheels that provides the bdist_wheel setuptools command + - A command line tool for working with wheel files + + It should be noted that wheel is not intended to be used as a library, + and as such there is no stable, public API. + ''; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ siriobalmelli ]; + }; +} diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix index e9437d718cf7a..40a7909f34a12 100644 --- a/pkgs/development/tools/analysis/rr/default.nix +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace src/Command.cc --replace '_BSD_SOURCE' '_DEFAULT_SOURCE' sed '7i#include ' -i src/Scheduler.cc + sed '1i#include ' -i src/test-monitor/test-monitor.cc patchShebangs . ''; diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 3bec558803b4e..9949ec7ec7c70 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -14,6 +14,12 @@ stdenv.mkDerivation rec { }; patches = [ + # Fix build on ELFv2 powerpc64 + # https://bugs.kde.org/show_bug.cgi?id=398883 + (fetchurl { + url = "https://github.com/void-linux/void-packages/raw/3e16b4606235885463fc9ab45b4c120f1a51aa28/srcpkgs/valgrind/patches/elfv2-ppc64-be.patch"; + sha256 = "NV/F+5aqFZz7+OF5oN5MUTpThv4H5PEY9sBgnnWohQY="; + }) # Fix checks on Musl. # https://bugs.kde.org/show_bug.cgi?id=453929 (fetchpatch { diff --git a/pkgs/development/tools/build-managers/cmake/002-application-services.diff b/pkgs/development/tools/build-managers/cmake/002-application-services.diff index 7c77336b41be6..56f7cd266b7af 100644 --- a/pkgs/development/tools/build-managers/cmake/002-application-services.diff +++ b/pkgs/development/tools/build-managers/cmake/002-application-services.diff @@ -1,20 +1,18 @@ -diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt -index 9a18184fd3..278d146dd1 100644 ---- a/Source/CMakeLists.txt -+++ b/Source/CMakeLists.txt -@@ -933,7 +933,6 @@ endif() +diff -Naur cmake-3.25.1-old/Source/CMakeLists.txt cmake-3.25.1-new/Source/CMakeLists.txt +--- cmake-3.25.1-old/Source/CMakeLists.txt 2022-11-30 10:57:03.000000000 -0300 ++++ cmake-3.25.1-new/Source/CMakeLists.txt 2022-12-19 01:00:08.412064304 -0300 +@@ -916,7 +916,6 @@ # On Apple we need CoreFoundation and CoreServices if(APPLE) - target_link_libraries(CMakeLib "-framework CoreFoundation") -- target_link_libraries(CMakeLib "-framework CoreServices") + target_link_libraries(CMakeLib PUBLIC "-framework CoreFoundation") +- target_link_libraries(CMakeLib PUBLIC "-framework CoreServices") endif() if(WIN32 AND NOT UNIX) -diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx -index 77403b076a..d5aac95e1e 100644 ---- a/Source/cmGlobalXCodeGenerator.cxx -+++ b/Source/cmGlobalXCodeGenerator.cxx -@@ -49,10 +49,6 @@ struct cmLinkImplementation; +diff -Naur cmake-3.25.1-old/Source/cmGlobalXCodeGenerator.cxx cmake-3.25.1-new/Source/cmGlobalXCodeGenerator.cxx +--- cmake-3.25.1-old/Source/cmGlobalXCodeGenerator.cxx 2022-11-30 10:57:03.000000000 -0300 ++++ cmake-3.25.1-new/Source/cmGlobalXCodeGenerator.cxx 2022-12-19 01:00:56.065135169 -0300 +@@ -56,10 +56,6 @@ #if !defined(CMAKE_BOOTSTRAP) && defined(__APPLE__) # include @@ -25,19 +23,17 @@ index 77403b076a..d5aac95e1e 100644 #endif #if !defined(CMAKE_BOOTSTRAP) -diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt -index 79452ffff6..a848731b7e 100644 ---- a/Utilities/cmlibarchive/CMakeLists.txt -+++ b/Utilities/cmlibarchive/CMakeLists.txt -@@ -2013,11 +2013,6 @@ IF(ENABLE_TEST) +diff -Naur cmake-3.25.1-old/Utilities/cmlibarchive/CMakeLists.txt cmake-3.25.1-new/Utilities/cmlibarchive/CMakeLists.txt +--- cmake-3.25.1-old/Utilities/cmlibarchive/CMakeLists.txt 2022-11-30 10:57:03.000000000 -0300 ++++ cmake-3.25.1-new/Utilities/cmlibarchive/CMakeLists.txt 2022-12-19 01:01:43.392205981 -0300 +@@ -2041,10 +2041,6 @@ + ADD_CUSTOM_TARGET(run_all_tests) ENDIF(ENABLE_TEST) - ENDIF() -# We need CoreServices on Mac OS. -IF(APPLE) - LIST(APPEND ADDITIONAL_LIBS "-framework CoreServices") -ENDIF(APPLE) -- + add_subdirectory(libarchive) IF(0) # CMake does not build libarchive's command-line tools. - add_subdirectory(cat) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 0a1e191ba360c..2aff749ebcb0c 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -40,11 +40,11 @@ stdenv.mkDerivation rec { + lib.optionalString isBootstrap "-boot" + lib.optionalString cursesUI "-cursesUI" + lib.optionalString qt5UI "-qt5UI"; - version = "3.24.3"; + version = "3.25.1"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; - sha256 = "sha256-tTqhD6gr/4TM21kGWSe3LTvuSfTYYmEkn8CYSzs2cpE="; + sha256 = "sha256-HFEdCVFq9JNpTtm68TxVlHo2OJZ01lei1eDM7caykdg="; }; patches = [ diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 5591b1634236c..23e11a324337c 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,19 +1,26 @@ { lib +, stdenv , fetchpatch , installShellFiles , ninja , pkg-config , python3 +, zlib +, coreutils , substituteAll +, Foundation +, OpenGL +, AppKit +, Cocoa }: python3.pkgs.buildPythonApplication rec { pname = "meson"; - version = "0.64.1"; + version = "1.0.0"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "sha256-Oo4DDCM094IIX4FicGLMbUpnce3zHgVf/jdPnmsImrk="; + hash = "sha256-qlCkukVXwl59SERqv96FeVfc31g4X/++Zwug6O+szgU="; }; patches = [ @@ -52,6 +59,9 @@ python3.pkgs.buildPythonApplication rec { # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774 ./boost-Do-not-add-system-paths-on-nix.patch + # Nixpkgs cctools does not have bitcode support. + ./disable-bitcode.patch + # Fix passing multiple --define-variable arguments to pkg-config. # https://github.com/mesonbuild/meson/pull/10670 (fetchpatch { @@ -61,17 +71,38 @@ python3.pkgs.buildPythonApplication rec { "docs/yaml/objects/dep.yaml" ]; }) + + # tests: avoid unexpected failure when cmake is not installed + # https://github.com/mesonbuild/meson/pull/11321 + (fetchpatch { + url = "https://github.com/mesonbuild/meson/commit/a38ad3039d0680f3ac34a6dc487776c79c48acf3.patch"; + hash = "sha256-9YaXwc+F3Pw4BjuOXqva4MD6DAxX1k5WLbn0xzwuEmw="; + }) ]; setupHook = ./setup-hook.sh; - # Meson included tests since 0.45, however they fail in Nixpkgs because they - # require a typical building environment (including C compiler and stuff). - # Just for the sake of documentation, the next lines are maintained here. - doCheck = false; nativeCheckInputs = [ ninja pkg-config ]; + checkInputs = [ zlib ] + ++ lib.optionals stdenv.isDarwin [ Foundation OpenGL AppKit Cocoa ]; checkPhase = '' - python ./run_project_tests.py + runHook preCheck + + patchShebangs 'test cases' + substituteInPlace 'test cases/native/8 external program shebang parsing/script.int.in' \ + --replace /usr/bin/env ${coreutils}/bin/env + # requires git, creating cyclic dependency + rm -r 'test cases/common/66 vcstag' + # requires glib, creating cyclic dependency + rm -r 'test cases/linuxlike/6 subdir include order' + rm -r 'test cases/linuxlike/9 compiler checks with dependencies' + # requires static zlib, see #66461 + rm -r 'test cases/linuxlike/14 static dynamic linkage' + # Nixpkgs cctools does not have bitcode support. + rm -r 'test cases/osx/7 bitcode' + HOME="$TMPDIR" python ./run_project_tests.py + + runHook postCheck ''; postFixup = '' @@ -84,6 +115,9 @@ python3.pkgs.buildPythonApplication rec { # Do not propagate Python rm $out/nix-support/propagated-build-inputs + + substituteInPlace "$out/share/bash-completion/completions/meson" \ + --replace "python3 -c " "${python3.interpreter} -c " ''; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/tools/build-managers/meson/disable-bitcode.patch b/pkgs/development/tools/build-managers/meson/disable-bitcode.patch new file mode 100644 index 0000000000000..a72997c104399 --- /dev/null +++ b/pkgs/development/tools/build-managers/meson/disable-bitcode.patch @@ -0,0 +1,24 @@ +--- a/mesonbuild/compilers/mixins/clang.py ++++ b/mesonbuild/compilers/mixins/clang.py +@@ -56,10 +56,6 @@ class ClangCompiler(GnuLikeCompiler): + {OptionKey('b_colorout'), OptionKey('b_lto_threads'), OptionKey('b_lto_mode'), OptionKey('b_thinlto_cache'), + OptionKey('b_thinlto_cache_dir')}) + +- # TODO: this really should be part of the linker base_options, but +- # linkers don't have base_options. +- if isinstance(self.linker, AppleDynamicLinker): +- self.base_options.add(OptionKey('b_bitcode')) + # All Clang backends can also do LLVM IR + self.can_compile_suffixes.add('ll') + +--- a/mesonbuild/linkers/linkers.py ++++ b/mesonbuild/linkers/linkers.py +@@ -785,7 +785,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): + return self._apply_prefix('-headerpad_max_install_names') + + def bitcode_args(self) -> T.List[str]: +- return self._apply_prefix('-bitcode_bundle') ++ raise MesonException('Nixpkgs cctools does not support bitcode bundles') + + def fatal_warnings(self) -> T.List[str]: + return self._apply_prefix('-fatal_warnings') diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index f80f0289dbe8d..84897e43f7862 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -9,6 +9,7 @@ , libxslt , python3 , re2c +, buildPackages , buildDocs ? true }: @@ -23,6 +24,8 @@ stdenv.mkDerivation rec { hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI="; }; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ python3 re2c @@ -35,10 +38,25 @@ stdenv.mkDerivation rec { libxslt.bin ]; + postPatch = '' + # write rebuild args to file after bootstrap + substituteInPlace configure.py --replace "subprocess.check_call(rebuild_args)" "open('rebuild_args','w').write(rebuild_args[0])" + ''; + buildPhase = '' runHook preBuild + # for list of env vars + # see https://github.com/ninja-build/ninja/blob/v1.11.1/configure.py#L264 + CXX="$CXX_FOR_BUILD" \ + AR="$AR_FOR_BUILD" \ + CFLAGS="$CFLAGS_FOR_BUILD" \ + CXXFLAGS="$CXXFLAGS_FOR_BUILD" \ + LDFLAGS="$LDFLAGS_FOR_BUILD" \ python configure.py --bootstrap + python configure.py + + source rebuild_args '' + lib.optionalString buildDocs '' # "./ninja -vn manual" output copied here to support cross compilation. asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix index 8fcb5f2dbac15..4e42927d0293a 100644 --- a/pkgs/development/tools/build-managers/waf/default.nix +++ b/pkgs/development/tools/build-managers/waf/default.nix @@ -8,13 +8,13 @@ let in stdenv.mkDerivation rec { pname = "waf"; - version = "2.0.24"; + version = "2.0.25"; src = fetchFromGitLab { owner = "ita1024"; repo = "waf"; rev = "${pname}-${version}"; - sha256 = "sha256-nunPDYAy0yfDJpsc+E8SyyFLny19wwrVzxeUOhh7nc4="; + sha256 = "sha256-wqZEAfGRHhcd7Xm2pQ0FTjZGfuPafRrZAUdpc7ACoEA="; }; nativeBuildInputs = [ python3 ensureNewerSourcesForZipFilesHook ]; diff --git a/pkgs/development/tools/cambalache/default.nix b/pkgs/development/tools/cambalache/default.nix index e2e7157425b6a..6090f8dfdbf46 100644 --- a/pkgs/development/tools/cambalache/default.nix +++ b/pkgs/development/tools/cambalache/default.nix @@ -40,6 +40,8 @@ python3.pkgs.buildPythonApplication rec { desktop-file-utils # for update-desktop-database shared-mime-info # for update-mime-database wrapGAppsHook + gtk4 # checks for broadwayd and gtk4-broadwayd during configure + gtk3 ]; pythonPath = with python3.pkgs; [ @@ -57,10 +59,6 @@ python3.pkgs.buildPythonApplication rec { libhandy ]; - # Not compatible with gobject-introspection setup hooks. - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - # Prevent double wrapping. dontWrapGApps = true; diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 8cdb533da8e03..856d9bc26bf95 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -18,10 +18,9 @@ stdenv.mkDerivation rec { bison ]; - buildInputs = - lib.optionals (qt5 != null) (with qt5; [ qtbase wrapQtAppsHook ]) - ++ lib.optional stdenv.isSunOS libiconv - ++ lib.optionals stdenv.isDarwin [ CoreServices libiconv ]; + buildInputs = [ libiconv ] + ++ lib.optionals (qt5 != null) (with qt5; [ qtbase wrapQtAppsHook ]) + ++ lib.optionals stdenv.isDarwin [ CoreServices ]; cmakeFlags = [ "-DICONV_INCLUDE_DIR=${libiconv}/include" ] ++ diff --git a/pkgs/development/tools/documentation/gi-docgen/default.nix b/pkgs/development/tools/documentation/gi-docgen/default.nix index 512f7aeb7bd58..05da1f3aa0c10 100644 --- a/pkgs/development/tools/documentation/gi-docgen/default.nix +++ b/pkgs/development/tools/documentation/gi-docgen/default.nix @@ -8,13 +8,13 @@ python3.pkgs.buildPythonApplication rec { pname = "gi-docgen"; - version = "2022.2"; + version = "2023.1"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/gi-docgen/${lib.versions.major version}/gi-docgen-${version}.tar.xz"; - sha256 = "JlQ5ENdqedYvZnEihWkqO2KnXzHQfLvupG7sfjTmOlQ="; + sha256 = "qaaHwbfEpBOaIUvUUeAcqGExoxYfaKo+BzJbBgArv7Y="; }; depsBuildBuild = [ @@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec { markdown markupsafe pygments - toml + toml # remove once python311 is the default typogrify ]; diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix index fcebe93aaa2df..06016bec25b56 100644 --- a/pkgs/development/tools/glslviewer/default.nix +++ b/pkgs/development/tools/glslviewer/default.nix @@ -15,6 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0v7x93b61ama0gmzlx1zc56jgi7bvzsfvbkfl82xzwf2h5g1zni7"; }; + postPatch = '' + sed '1i#include ' -i src/tools/text.cpp # gcc12 + ''; + nativeBuildInputs = [ pkg-config ensureNewerSourcesForZipFilesHook python3Packages.six ]; buildInputs = [ glfw libGLU glfw libXrandr libXdamage diff --git a/pkgs/development/tools/misc/binutils/build-components-separately.patch b/pkgs/development/tools/misc/binutils/build-components-separately.patch deleted file mode 100644 index 0b4162d848803..0000000000000 --- a/pkgs/development/tools/misc/binutils/build-components-separately.patch +++ /dev/null @@ -1,155 +0,0 @@ -diff --git a/bfd/configure.ac b/bfd/configure.ac -index fec067b2135..377e1f5443f 100644 ---- a/bfd/configure.ac -+++ b/bfd/configure.ac -@@ -292,30 +292,16 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, - - LT_LIB_M - --# When building a shared libbfd, link against the pic version of libiberty --# so that apps that use libbfd won't need libiberty just to satisfy any --# libbfd references. --# We can't do that if a pic libiberty is unavailable since including non-pic --# code would insert text relocations into libbfd. - SHARED_LIBADD= --SHARED_LDFLAGS= -+SHARED_LDFLAGS=-liberty - if test "$enable_shared" = "yes"; then --changequote(,)dnl -- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` --changequote([,])dnl -- if test -n "$x"; then -- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" -- fi --fi -- - SHARED_LIBADD="$SHARED_LIBADD $LIBINTL" - --if test "$enable_shared" = "yes"; then - case "${host}" in - # More hacks to build DLLs on Windows. - *-*-cygwin*) - SHARED_LDFLAGS="-no-undefined" -- SHARED_LIBADD="-L`pwd`/../libiberty -liberty $SHARED_LIBADD -lcygwin -lkernel32" -+ SHARED_LIBADD="-liberty $SHARED_LIBADD -lcygwin -lkernel32" - ;; - esac - -diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am -index 0e04b4c05c4..848a02662e7 100644 ---- a/opcodes/Makefile.am -+++ b/opcodes/Makefile.am -@@ -51,7 +51,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir) - endif - - # This is where bfd.h lives. --BFD_H = ../bfd/bfd.h -+BFD_H = $(BFDDIR)/bfd.h - - BUILD_LIBS = @BUILD_LIBS@ - BUILD_LIB_DEPS = @BUILD_LIB_DEPS@ -@@ -303,7 +303,7 @@ OFILES = @BFD_MACHINES@ - # development.sh is used to determine -Werror default. - CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh - --AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@ -+AM_CPPFLAGS = -I. -I$(srcdir) -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@ - - disassemble.lo: disassemble.c - if am__fastdepCC -@@ -327,9 +327,18 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c --libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ -+libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ libtool-soversion - libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@ --libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@ -+libopcodes_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@ - # Allow dependency tracking to work on all the source files. - EXTRA_libopcodes_la_SOURCES = $(LIBOPCODES_CFILES) - -+libtool-soversion: -+ @echo "creating $@" -+ bfd_soversion="$(VERSION)" ;\ -+ . $(BFDDIR)/development.sh ;\ -+ if test "$$development" = true ; then \ -+ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ -+ fi ;\ -+ echo "$${bfd_soversion}" > $@ -+ - # libtool will build .libs/libopcodes.a. We create libopcodes.a in - # the build directory so that we don't have to convert all the - # programs that use libopcodes.a simultaneously. This is a hack which -diff --git a/opcodes/configure.ac b/opcodes/configure.ac -index e564f067334..5da62a3d58b 100644 ---- a/opcodes/configure.ac -+++ b/opcodes/configure.ac -@@ -98,6 +98,8 @@ BFD_64_BIT - AC_SUBST(HDEFINES) - AC_PROG_INSTALL - -+GCC_HEADER_STDINT(bfd_stdint.h) -+ - AC_CHECK_DECLS([basename, stpcpy]) - - # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do -@@ -148,44 +150,21 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, - - LT_LIB_M - --#Libs for generator progs --if test "x$cross_compiling" = "xno"; then -- BUILD_LIBS=../libiberty/libiberty.a -- BUILD_LIB_DEPS=$BUILD_LIBS --else -- # if cross-compiling, assume that the system provides -liberty -- # and that the version is compatible with new headers. -- BUILD_LIBS=-liberty -- BUILD_LIB_DEPS= --fi --BUILD_LIBS="$BUILD_LIBS $LIBINTL" --BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP" -+BUILD_LIBS="-liberty $LIBINTL" -+BUILD_LIB_DEPS="$LIBINTL_DEP" - - AC_SUBST(BUILD_LIBS) - AC_SUBST(BUILD_LIB_DEPS) - - # Horrible hacks to build DLLs on Windows and a shared library elsewhere. - SHARED_LDFLAGS= --SHARED_LIBADD= -+SHARED_LIBADD=-liberty - SHARED_DEPENDENCIES= --if test "$enable_shared" = "yes"; then --# When building a shared libopcodes, link against the pic version of libiberty --# so that apps that use libopcodes won't need libiberty just to satisfy any --# libopcodes references. --# We can't do that if a pic libiberty is unavailable since including non-pic --# code would insert text relocations into libopcodes. - # Note that linking against libbfd as we do here, which is itself linked - # against libiberty, may not satisfy all the libopcodes libiberty references - # since libbfd may not pull in the entirety of libiberty. - # Also, jam libintl into the right place in all of this: after libiberty, - # which uses it, but before -lcygwin, which it uses. --changequote(,)dnl -- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` --changequote([,])dnl -- if test -n "$x"; then -- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" -- fi --fi - - SHARED_LIBADD="$SHARED_LIBADD $LIBINTL" - -@@ -193,11 +172,10 @@ if test "$enable_shared" = "yes"; then - case "${host}" in - *-*-cygwin*) - SHARED_LDFLAGS="-no-undefined" -- SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty $SHARED_LIBADD" -+ SHARED_LIBADD="-lbfd -liberty $SHARED_LIBADD" - ;; - *) -- SHARED_LIBADD="../bfd/libbfd.la ${SHARED_LIBADD}" -- SHARED_DEPENDENCIES="../bfd/libbfd.la" -+ SHARED_LIBADD="-lbfd ${SHARED_LIBADD}" - ;; - esac - diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 39e852a60bbba..0d7e12a51fb19 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -31,12 +31,12 @@ assert enableGold -> withGold stdenv.targetPlatform; let inherit (stdenv) buildPlatform hostPlatform targetPlatform; - version = "2.39"; + version = "2.40"; srcs = { normal = fetchurl { url = "mirror://gnu/binutils/binutils-${version}.tar.bz2"; - sha256 = "sha256-2iSoT+8iAQLdJAQt8G/eqFHCYUpTd/hu/6KPM7exYUg="; + hash = "sha256-+CmOsVOks30RLpRapcsoUAQLzyaj6mW1pxXIOv4F5Io="; }; vc4-none = fetchFromGitHub { owner = "itszor"; @@ -84,12 +84,10 @@ stdenv.mkDerivation (finalAttrs: { # cross-compiling. ./always-search-rpath.patch - # Upstream backport of https://sourceware.org/PR29451: - # Don't emit 0-sized debug entries for objects without size. - # Without the change elfutils on i686-linux fail dwarf validity test: - # https://sourceware.org/PR29450 - # Remove once 2.40 releases. - ./gas-dwarf-zero-PR29451.patch + # Avoid `lib -> out -> lib` reference. Normally `bfd-plugins` does + # not need to know binutils' BINDIR at all. It's an absolute path + # where libraries are stored. + ./plugins-no-BINDIR.patch ] ++ lib.optional targetPlatform.isiOS ./support-ios.patch # Adds AVR-specific options to "size" for compatibility with Atmel's downstream distribution @@ -105,7 +103,15 @@ stdenv.mkDerivation (finalAttrs: { else ./mips64-default-n64.patch) ; - outputs = [ "out" "info" "man" ]; + outputs = [ "out" "info" "man" "dev" ] + # Ideally we would like to always install 'lib' into a separate + # target. Unfortunately cross-compiled binutils installs libraries + # across both `$lib/lib/` and `$out/$target/lib` with a reference + # from $out to $lib. Probably a binutils bug: all libraries should go + # to $lib as binutils does not build target libraries. Let's make our + # life slightly simpler by installing everything into $out for + # cross-binutils. + ++ lib.optionals (targetPlatform == hostPlatform) [ "lib" ]; strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -196,8 +202,12 @@ stdenv.mkDerivation (finalAttrs: { # Unconditionally disable: # - musl target needs porting: https://sourceware.org/PR29477 - # - all targets rely on javac: https://sourceware.org/PR29479 "--disable-gprofng" + + # By default binutils searches $libdir for libraries. This brings in + # libbfd and libopcodes into a default visibility. Drop default lib + # path to force users to declare their use of these libraries. + "--with-lib-path=:" ] ++ lib.optionals withAllTargets [ "--enable-targets=all" ] ++ lib.optionals enableGold [ "--enable-gold" "--enable-plugins" ] @@ -218,10 +228,26 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; + # For the same reason we don't split "lib" output we undo the $target/ + # prefix for installed headers and libraries we link: + # $out/$host/$target/lib/* to $out/lib/ + # $out/$host/$target/include/* to $dev/include/* + # TODO(trofi): fix installation paths upstream so we could remove this + # code and have "lib" output unconditionally. + postInstall = lib.optionalString (hostPlatform != targetPlatform) '' + ln -s $out/${hostPlatform.config}/${targetPlatform.config}/lib/* $out/lib/ + ln -s $out/${hostPlatform.config}/${targetPlatform.config}/include/* $dev/include/ + ''; + passthru = { inherit targetPrefix; hasGold = enableGold; isGNU = true; + # Having --enable-plugins is not enough, system has to support + # dlopen() or equivalent. See config/plugins.m4 and configure.ac + # (around PLUGINS) for cases that support or not support plugins. + # No platform specific filters yet here. + hasPluginAPI = enableGold; }; meta = with lib; { diff --git a/pkgs/development/tools/misc/binutils/gas-dwarf-zero-PR29451.patch b/pkgs/development/tools/misc/binutils/gas-dwarf-zero-PR29451.patch deleted file mode 100644 index 5f1293f8f7320..0000000000000 --- a/pkgs/development/tools/misc/binutils/gas-dwarf-zero-PR29451.patch +++ /dev/null @@ -1,71 +0,0 @@ -https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=d7abcbcea5ddd40a3bf28758b62f35933c59f996 - -Don't emit 0-sized debug entries for objects without size. -Without the change elfutils on i686-linux fail dwarf validity test: - https://sourceware.org/PR29450 ---- a/gas/dwarf2dbg.c -+++ b/gas/dwarf2dbg.c -@@ -2882,6 +2882,7 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT str_seg, - { - const char *name; - size_t len; -+ expressionS size = { .X_op = O_constant }; - - /* Skip warning constructs (see above). */ - if (symbol_get_bfdsym (symp)->flags & BSF_WARNING) -@@ -2895,6 +2896,18 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT str_seg, - if (!S_IS_DEFINED (symp) || !S_IS_FUNCTION (symp)) - continue; - -+#if defined (OBJ_ELF) /* || defined (OBJ_MAYBE_ELF) */ -+ size.X_add_number = S_GET_SIZE (symp); -+ if (size.X_add_number == 0 && IS_ELF -+ && symbol_get_obj (symp)->size != NULL) -+ { -+ size.X_op = O_add; -+ size.X_op_symbol = make_expr_symbol (symbol_get_obj (symp)->size); -+ } -+#endif -+ if (size.X_op == O_constant && size.X_add_number == 0) -+ continue; -+ - subseg_set (str_seg, 0); - name_sym = symbol_temp_new_now_octets (); - name = S_GET_NAME (symp); -@@ -2920,29 +2933,17 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT str_seg, - emit_expr (&exp, sizeof_address); - - /* DW_AT_high_pc */ -- exp.X_op = O_constant; --#if defined (OBJ_ELF) /* || defined (OBJ_MAYBE_ELF) */ -- exp.X_add_number = S_GET_SIZE (symp); -- if (exp.X_add_number == 0 && IS_ELF -- && symbol_get_obj (symp)->size != NULL) -- { -- exp.X_op = O_add; -- exp.X_op_symbol = make_expr_symbol (symbol_get_obj (symp)->size); -- } --#else -- exp.X_add_number = 0; --#endif - if (DWARF2_VERSION < 4) - { -- if (exp.X_op == O_constant) -- exp.X_op = O_symbol; -- exp.X_add_symbol = symp; -- emit_expr (&exp, sizeof_address); -+ if (size.X_op == O_constant) -+ size.X_op = O_symbol; -+ size.X_add_symbol = symp; -+ emit_expr (&size, sizeof_address); - } -- else if (exp.X_op == O_constant) -- out_uleb128 (exp.X_add_number); -+ else if (size.X_op == O_constant) -+ out_uleb128 (size.X_add_number); - else -- emit_leb128_expr (symbol_get_value_expression (exp.X_op_symbol), 0); -+ emit_leb128_expr (symbol_get_value_expression (size.X_op_symbol), 0); - } - - /* End of children. */ diff --git a/pkgs/development/tools/misc/binutils/libbfd.nix b/pkgs/development/tools/misc/binutils/libbfd.nix index 16737a7b5ee84..dca62b82eead0 100644 --- a/pkgs/development/tools/misc/binutils/libbfd.nix +++ b/pkgs/development/tools/misc/binutils/libbfd.nix @@ -1,45 +1,22 @@ { lib, stdenv -, buildPackages -, gnu-config, autoreconfHook, bison, binutils-unwrapped, texinfo -, libiberty, libintl, zlib +, binutils-unwrapped-all-targets }: stdenv.mkDerivation { pname = "libbfd"; - inherit (binutils-unwrapped) version src; - - outputs = [ "out" "dev" ]; - - patches = binutils-unwrapped.patches ++ [ - ./build-components-separately.patch + inherit (binutils-unwrapped-all-targets) version; + + dontUnpack = true; + dontBuild = true; + dontInstall = true; + propagatedBuildInputs = [ + binutils-unwrapped-all-targets.dev + binutils-unwrapped-all-targets.lib ]; - # We just want to build libbfd - postPatch = '' - cd bfd - ''; - - postAutoreconf = '' - echo "Updating config.guess and config.sub from ${gnu-config}" - cp -f ${gnu-config}/config.{guess,sub} ../ - ''; - - # We update these ourselves - dontUpdateAutotoolsGnuConfigScripts = true; - - strictDeps = true; - nativeBuildInputs = [ autoreconfHook bison texinfo ]; - buildInputs = [ libiberty zlib ] ++ lib.optionals stdenv.isDarwin [ libintl ]; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - - configurePlatforms = [ "build" "host" ]; - configureFlags = [ - "--enable-targets=all" "--enable-64-bit-bfd" - "--enable-install-libbfd" - "--with-system-zlib" - ] ++ lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared"; - - enableParallelBuilding = true; + passthru = { + inherit (binutils-unwrapped-all-targets) dev hasPluginAPI; + }; meta = with lib; { description = "A library for manipulating containers of machine code"; diff --git a/pkgs/development/tools/misc/binutils/libopcodes.nix b/pkgs/development/tools/misc/binutils/libopcodes.nix index e4b6cec41b4f0..e067282a0e5e1 100644 --- a/pkgs/development/tools/misc/binutils/libopcodes.nix +++ b/pkgs/development/tools/misc/binutils/libopcodes.nix @@ -1,38 +1,22 @@ -{ lib, stdenv, buildPackages -, autoreconfHook, bison, binutils-unwrapped -, libiberty, libbfd +{ lib, stdenv +, binutils-unwrapped-all-targets }: stdenv.mkDerivation { pname = "libopcodes"; - inherit (binutils-unwrapped) version src; - - outputs = [ "out" "dev" ]; - - patches = binutils-unwrapped.patches ++ [ - ./build-components-separately.patch + inherit (binutils-unwrapped-all-targets) version; + + dontUnpack = true; + dontBuild = true; + dontInstall = true; + propagatedBuildInputs = [ + binutils-unwrapped-all-targets.dev + binutils-unwrapped-all-targets.lib ]; - # We just want to build libopcodes - postPatch = '' - cd opcodes - find . ../include/opcode -type f -exec sed {} -i -e 's/"bfd.h"//' \; - ''; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook bison ]; - buildInputs = [ libiberty ]; - # dis-asm.h includes bfd.h - propagatedBuildInputs = [ libbfd ]; - - configurePlatforms = [ "build" "host" ]; - configureFlags = [ - "--enable-targets=all" "--enable-64-bit-bfd" - "--enable-install-libbfd" - "--enable-shared" - ]; - - enableParallelBuilding = true; + passthru = { + inherit (binutils-unwrapped-all-targets) dev hasPluginAPI; + }; meta = with lib; { description = "A library from binutils for manipulating machine code"; diff --git a/pkgs/development/tools/misc/binutils/plugins-no-BINDIR.patch b/pkgs/development/tools/misc/binutils/plugins-no-BINDIR.patch new file mode 100644 index 0000000000000..562aad33eccd4 --- /dev/null +++ b/pkgs/development/tools/misc/binutils/plugins-no-BINDIR.patch @@ -0,0 +1,25 @@ +Avoid `lib -> out -> lib` reference. Normally `bfd-plugins` does not +need to know binutils' BINDIR at all. It's an absolute path where +libraries are stored. +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -493,7 +493,7 @@ build_plugin_list (bfd *abfd) + when configuring binutils using --libdir. Search in the proper + path first, then the old one for backwards compatibility. */ + static const char *path[] +- = { LIBDIR "/bfd-plugins", BINDIR "/../lib/bfd-plugins" }; ++ = { LIBDIR "/bfd-plugins", }; + struct stat last_st; + unsigned int i; + +@@ -508,9 +508,7 @@ build_plugin_list (bfd *abfd) + last_st.st_ino = 0; + for (i = 0; i < sizeof (path) / sizeof (path[0]); i++) + { +- char *plugin_dir = make_relative_prefix (plugin_program_name, +- BINDIR, +- path[i]); ++ char *plugin_dir = xstrdup (path[i]); + if (plugin_dir) + { + struct stat st; diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix index d105dd61665b7..c59ed440b7c02 100644 --- a/pkgs/development/tools/misc/d-feet/default.nix +++ b/pkgs/development/tools/misc/d-feet/default.nix @@ -63,10 +63,6 @@ python3.pkgs.buildPythonApplication rec { "-Dtests=false" # needs dbus ]; - # Temporary fix - # See https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - postPatch = '' chmod +x meson_post_install.py patchShebangs meson_post_install.py diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix index 6c2799cfadf78..5c7720a2024b4 100644 --- a/pkgs/development/tools/misc/dejagnu/default.nix +++ b/pkgs/development/tools/misc/dejagnu/default.nix @@ -36,8 +36,11 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram "$out/bin/runtest" \ - --prefix PATH ":" "${expect}/bin" + # 'runtest' and 'dejagnu' look up 'expect' in their 'bin' path + # first. We avoid use of 'wrapProgram' here because wrapping + # of shell scripts does not preserve argv[0] for schell scripts: + # https://sourceware.org/PR30052#c5 + ln -s ${expect}/bin/expect $out/bin/expect ''; meta = with lib; { diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix index ec65ca62fa30b..2203863264f34 100644 --- a/pkgs/development/tools/misc/edb/default.nix +++ b/pkgs/development/tools/misc/edb/default.nix @@ -30,6 +30,8 @@ mkDerivation rec { # Change default optional terminal program path to one that is more likely to work on NixOS. substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm"; + + sed '1i#include ' -i include/{RegisterViewModelBase,State,IState}.h # gcc12 ''; meta = with lib; { diff --git a/pkgs/development/tools/misc/gperf/default.nix b/pkgs/development/tools/misc/gperf/default.nix index 71b0bbd0b0d69..d836e5a973aef 100644 --- a/pkgs/development/tools/misc/gperf/default.nix +++ b/pkgs/development/tools/misc/gperf/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1qispg6i508rq8pkajh26cznwimbnj06wq9sd85vg95v8nwld1aq"; }; + enableParallelBuilding = true; + meta = { description = "Perfect hash function generator"; diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 1d25dc8c6e0d5..5c54941b90775 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "help2man"; - version = "1.49.2"; + version = "1.49.3"; src = fetchurl { - url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-ni4OITp+CjYkTu1iBNkCtlBGAqV4tuzRUmixRU3q3TY="; + url = "mirror://gnu/help2man/help2man-${version}.tar.xz"; + sha256 = "sha256-TX5P3vLspq/geiaCFRzqeHgeCk6PliIULZ9wwIOi/U8="; }; strictDeps = true; @@ -25,9 +25,9 @@ stdenv.mkDerivation rec { "--enable-nls" ]; - doCheck = false; # target `check' is missing + doCheck = false; # target `check' is missing - patches = if stdenv.hostPlatform.isCygwin then [ ./1.40.4-cygwin-nls.patch ] else null; + patches = lib.optional stdenv.hostPlatform.isCygwin ./1.40.4-cygwin-nls.patch; # We don't use makeWrapper here because it uses substitutions our # bootstrap shell can't handle. @@ -36,8 +36,7 @@ stdenv.mkDerivation rec { cat > $out/bin/help2man <' -i components/myguiplatform/myguidatamanager.cpp # gcc12 + ''; + nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; buildInputs = [ diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix index d474b0eae92ac..10914d4107748 100644 --- a/pkgs/games/openrct2/default.nix +++ b/pkgs/games/openrct2/default.nix @@ -94,6 +94,11 @@ stdenv.mkDerivation { "-DDOWNLOAD_TITLE_SEQUENCES=OFF" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=maybe-uninitialized" + ]; + postUnpack = '' cp -r ${objects-src} $sourceRoot/data/object cp -r ${title-sequences-src} $sourceRoot/data/sequence diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix index 2445ee9096c99..6cb7a23dff5ff 100644 --- a/pkgs/games/stepmania/default.nix +++ b/pkgs/games/stepmania/default.nix @@ -18,6 +18,10 @@ stdenv.mkDerivation rec { ./0001-fix-build-with-ffmpeg-4.patch ]; + postPatch = '' + sed '1i#include ' -i src/arch/ArchHooks/ArchHooks.h # gcc12 + ''; + nativeBuildInputs = [ cmake nasm ]; buildInputs = [ diff --git a/pkgs/games/supertux/default.nix b/pkgs/games/supertux/default.nix index 679500f974c33..857617bc4bfa4 100644 --- a/pkgs/games/supertux/default.nix +++ b/pkgs/games/supertux/default.nix @@ -29,6 +29,10 @@ stdenv.mkDerivation rec { sha256 = "1xkr3ka2sxp5s0spp84iv294i29s1vxqzazb6kmjc0n415h0x57p"; }; + postPatch = '' + sed '1i#include ' -i external/partio_zip/zip_manager.hpp # gcc12 + ''; + nativeBuildInputs = [ pkg-config cmake ]; buildInputs = [ diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix index 737fed1e7f64d..e0c2031dde250 100644 --- a/pkgs/games/zod/default.nix +++ b/pkgs/games/zod/default.nix @@ -22,6 +22,9 @@ let url = "mirror://sourceforge/zod/linux_releases/zod_linux-${version}.tar.gz"; sha256 = "017v96aflrv07g8j8zk9mq8f8rqxl5228rjff5blq8dxpsv1sx7h"; }; + postPatch = '' + sed '1i#include ' -i zod_src/common.cpp # gcc12 + ''; nativeBuildInputs = [ makeWrapper ]; @@ -37,7 +40,7 @@ let hardeningDisable = [ "format" ]; NIX_LDFLAGS = "-L${libmysqlclient}/lib/mysql"; zod_engine = stdenv.mkDerivation { - inherit version src nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS; + inherit version src postPatch nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS; pname = "${name}-engine"; enableParallelBuilding = true; preBuild = "cd zod_src"; @@ -48,7 +51,7 @@ let ''; }; zod_map_editor = stdenv.mkDerivation { - inherit version src nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS; + inherit version src postPatch nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS; pname = "${name}-map_editor"; enableParallelBuilding = true; preBuild = "cd zod_src"; diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix index 0aeb5f2e963a6..11663d5d4c444 100644 --- a/pkgs/misc/drivers/sc-controller/default.nix +++ b/pkgs/misc/drivers/sc-controller/default.nix @@ -18,12 +18,9 @@ buildPythonApplication rec { sha256 = "sha256-ym5fkOTRhibBaUqT0+p/jyqqKOVsyMz5INgfkoz0IJA="; }; - # see https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; + nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; - nativeBuildInputs = [ wrapGAppsHook ]; - - buildInputs = [ gtk3 gobject-introspection libappindicator-gtk3 librsvg ]; + buildInputs = [ gtk3 libappindicator-gtk3 librsvg ]; propagatedBuildInputs = [ evdev pygobject3 pylibacl vdf ]; diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix index 121933f69e9c8..64ddfae7b3266 100644 --- a/pkgs/misc/solfege/default.nix +++ b/pkgs/misc/solfege/default.nix @@ -35,13 +35,11 @@ buildPythonApplication rec { texinfo txt2man - # https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-1131643663 gobject-introspection wrapGAppsHook ]; buildInputs = [ - gobject-introspection gtk3 librsvg ]; diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 42d7021f3452b..a360058725006 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -92,16 +92,6 @@ let passAsFile = [ "extraConfig" ]; - # Workaround '-idirafter' ordering bug in staging-next: - # https://github.com/NixOS/nixpkgs/pull/210004 - # where libc '-idirafter' gets added after user's idirafter and - # breaks. - # TODO(trofi): remove it in staging once fixed in cc-wrapper. - preConfigure = '' - export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] buildPackages.stdenv.hostPlatform.config}=$(< ${buildPackages.stdenv.cc}/nix-support/libc-cflags) - export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] stdenv.hostPlatform.config}=$(< ${stdenv.cc}/nix-support/libc-cflags) - ''; - configurePhase = '' runHook preConfigure diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/boot.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/boot.nix index 2ca2d061591af..910b42b0c9d40 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/boot.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/boot.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildPackages, appleDerivation, fetchzip, bsdmake, perl, flex, bison +{ lib, stdenv, buildPackages, appleDerivation, fetchFromGitHub, bsdmake, perl, flex, bison }: # this derivation sucks @@ -10,9 +10,11 @@ # # the more recent adv_cmds release is used for everything else in this package -let recentAdvCmds = fetchzip { - url = "https://opensource.apple.com/tarballs/adv_cmds/adv_cmds-158.tar.gz"; - sha256 = "0z081kcprzg5jcvqivfnwvvv6wfxzkjg2jc2lagsf8c7j7vgm8nn"; +let recentAdvCmds = fetchFromGitHub { + owner = "apple-oss-distributions"; + repo = "adv_cmds"; + rev = "adv_cmds-158"; + hash = "sha256-1qL69pGHIaefooJJ8eT83XGz9+bW7Yg3k+X9fNkMCHw="; }; in appleDerivation { diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index df47d53514abd..ba0e5b3b78b9c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchzip, pkgs }: +{ lib, stdenv, fetchurl, fetchFromGitHub, pkgs }: let # This attrset can in theory be computed automatically, but for that to work nicely we need @@ -146,7 +146,7 @@ let then stdenv.fetchurlBoot else fetchurl; in fetch { - url = "http://www.opensource.apple.com/tarballs/${pname}/${pname}-${version}.tar.gz"; + url = "https://github.com/apple-oss-distributions/${pname}/archive/refs/tags/${pname}-${version}.tar.gz"; inherit sha256; }; @@ -188,24 +188,24 @@ let }); IOKitSpecs = { - IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq"; - IOFireWireFamily = fetchApple "osx-10.10.5" "059qa1m668kwvchl90cqcx35b31zaqdg61zi11y1imn5s389y2g1"; - IOFWDVComponents = fetchApple "osx-10.10.5" "1brr0yn6mxgapw3bvlhyissfksifzj2mqsvj9vmps6zwcsxjfw7m"; - IOFireWireAVC = fetchApple "osx-10.10.5" "194an37gbqs9s5s891lmw6prvd1m2362602s8lj5m89fp9h8mbal"; - IOFireWireSBP2 = fetchApple "osx-10.10.5" "1mym158kp46y1vfiq625b15ihh4jjbpimfm7d56wlw6l2syajqvi"; - IOFireWireSerialBusProtocolTransport = fetchApple "osx-10.10.5" "09kiq907qpk94zbij1mrcfcnyyc5ncvlxavxjrj4v5braxm78lhi"; - IOGraphics = fetchApple "osx-10.10.5" "1z0x3yrv0p8pfdqnvwf8rvrf9wip593lhm9q6yzbclz3fn53ad0p"; - IOHIDFamily = fetchApple "osx-10.10.5" "0yibagwk74imp3j3skjycm703s5ybdqw0qlsmnml6zwjpbrz5894"; - IONetworkingFamily = fetchApple "osx-10.10.5" "04as1hc8avncijf61mp9dmplz8vb1inhirkd1g74gah08lgrfs9j"; - IOSerialFamily = fetchApple "osx-10.10.5" "0jh12aanxcigqi9w6wqzbwjdin9m48zwrhdj3n4ki0h41sg89y91"; - IOStorageFamily = fetchApple "osx-10.9.5" "0w5yr8ppl82anwph2zba0ppjji6ipf5x410zhcm1drzwn4bbkxrj"; - IOBDStorageFamily = fetchApple "osx-10.10.5" "1rbvmh311n853j5qb6hfda94vym9wkws5w736w2r7dwbrjyppc1q"; - IOCDStorageFamily = fetchApple "osx-10.10.5" "1905sxwmpxdcnm6yggklc5zimx1558ygm3ycj6b34f9h48xfxzgy"; - IODVDStorageFamily = fetchApple "osx-10.10.5" "1fv82rn199mi998l41c0qpnlp3irhqp2rb7v53pxbx7cra4zx3i6"; + IOAudioFamily = fetchApple "osx-10.10.5" "sha256-frs2pm2OpGUOz68ZXsjktlyHlgn5oXM+ltbmAf//Cio="; + IOFireWireFamily = fetchApple "osx-10.10.5" "sha256-V9fNeo/Wj9dm1/XM4hkOInnMk01M6c9QSjJs5zJKB60="; + IOFWDVComponents = fetchApple "osx-10.10.5" "sha256-KenCX9C/Z2ErUK8tpKpm65gEmhn2NsXFxlzK7NKomaI="; + IOFireWireAVC = fetchApple "osx-10.10.5" "sha256-Gd8+PK/mk+xEXgF8dGAx+3jsXv4NX1GiBFyjyrf6sTo="; + IOFireWireSBP2 = fetchApple "osx-10.10.5" "sha256-Z3nP8pX1YG4Fbt7MrnqO06ihE9aYOex5Eib/rqOpoPk="; + IOFireWireSerialBusProtocolTransport = fetchApple "osx-10.10.5" "sha256-zdYE0UCKiVhDRGdWaH8L51ArbYTnsQOmcN/OMmpNdFA="; + IOGraphics = fetchApple "osx-10.10.5" "sha256-lXoW4sx3pyl5fg5Qde3sQi2i8rTLnpeCdDaTHjbfaMI="; + IOHIDFamily = fetchApple "osx-10.10.5" "sha256-b+S1p3p5d8olYE18VrBns4euerVINaQSFEp34sko5rM="; + IONetworkingFamily = fetchApple "osx-10.10.5" "sha256-NOpFOBKS6iwFj9DJxduZYZfZJuhDyBQw2QMKHbu7j40="; + IOSerialFamily = fetchApple "osx-10.10.5" "sha256-hpYrgXsuTul4CYoYIjQjerfvQRqISM2tCcfVXlnjbZo="; + IOStorageFamily = fetchApple "osx-10.9.5" "sha256-CeA4rHUrBKHsDeJU9ssIY9LQwDw09a+vQUyruosaLKA="; + IOBDStorageFamily = fetchApple "osx-10.10.5" "sha256-gD52RKXGKWGga/QGlutxsgsPNSN6gcRfFQRT8v51N3E="; + IOCDStorageFamily = fetchApple "osx-10.10.5" "sha256-+nyqH6lMPmIkDLYXNVSeR4vBYS165oyJx+DkCkKOGRg="; + IODVDStorageFamily = fetchApple "osx-10.10.5" "sha256-Jy3UuRzdd0bBdhJgI/f8vLXh2GdGs1RVN3G2iEs86kQ="; # There should be an IOStreamFamily project here, but they haven't released it :( - IOUSBFamily = fetchApple "osx-10.8.5" "1znqb6frxgab9mkyv7csa08c26p9p0ip6hqb4wm9c7j85kf71f4j"; # This is from 10.8 :( - IOUSBFamily_older = fetchApple "osx-10.8.4" "113lmpz8n6sibd27p42h8bl7a6c3myc6zngwri7gnvf8qlajzyml" "IOUSBFamily"; # This is even older :( - IOKitUser = fetchApple "osx-10.10.5" "1jzndziv97bhjxmla8nib5fpcswbvsxr04447g251ls81rw313lb"; + IOUSBFamily = fetchApple "osx-10.8.5" "sha256-FwgGoP97Sj47VGXMxbY0oUugKf7jtxAL1RzL6+315cU="; # This is from 10.8 :( + IOUSBFamily_older = fetchApple "osx-10.8.4" "sha256-5apCsqtHK0EC8x1uPTTll43x69eal/nsokfS80qLlxs=" "IOUSBFamily"; # This is even older :( + IOKitUser = fetchApple "osx-10.10.5" "sha256-3UHM3g91v4RugmONbM+SAPr1SfoUPY3QPcTwTpt+zuY="; # There should be an IOVideo here, but they haven't released it :( }; @@ -234,7 +234,7 @@ let in applePackage' namePath version sdkName sha256; # Only used for bootstrapping. It’s convenient because it was the last version to come with a real makefile. - adv_cmds-boot = applePackage "adv_cmds/boot.nix" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {}; + adv_cmds-boot = applePackage "adv_cmds/boot.nix" "osx-10.5.8" "sha256-/OJLNpATyS31W5nWfJgSVO5itp8j55TRwG57/QLT5Fg=" {}; in @@ -242,70 +242,72 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // { # TODO: shorten this list, we should cut down to a minimum set of bootstrap or necessary packages here. inherit (adv_cmds-boot) ps locale; - architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {}; - bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {}; - CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {}; - CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "0sgsqjcxbdm2g2zfpc50mzmk4b4ldyw7xvvkwiayhpczg1fga4ff" {}; - configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" { - Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; + architecture = applePackage "architecture" "osx-10.11.6" "sha256-cUKeMx6mOAxBSRHIdfzsrR65Qv86m7+20XvpKqVfwVI=" {}; + bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "sha256-CW8zP5QZMhWTGp+rhrm8oHE/vSLsRlv1VRAGe1OUDmI=" {}; + CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "sha256-UNaHvxzYzEBnYYuoMLqWUVprZa6Wqn/3XleoSCco050=" {}; + CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "sha256-FLgODBrfv+XsGaAjddncYAm/BIJJYw6LcwX/z7ncKFM=" {}; + configd = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" { + Security = applePackage "Security/boot.nix" "osx-10.9.5" "sha256-7qr0IamjCXCobIJ6V9KtvbMBkJDfRCy4C5eqpHJlQLI=" {}; }; - copyfile = applePackage "copyfile" "osx-10.12.6" "0a70bvzndkava1a946cdq42lnjhg7i7b5alpii3lap6r5fkvas0n" {}; - Csu = applePackage "Csu" "osx-10.11.6" "0yh5mslyx28xzpv8qww14infkylvc1ssi57imhi471fs91sisagj" {}; - dtrace = applePackage "dtrace" "osx-10.12.6" "0hpd6348av463yqf70n3xkygwmf1i5zza8kps4zys52sviqz3a0l" {}; - dyld = applePackage "dyld" "osx-10.12.6" "0q4jmk78b5ajn33blh4agyq6v2a63lpb3fln78az0dy12bnp1qqk" {}; - eap8021x = applePackage "eap8021x" "osx-10.11.6" "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {}; - IOKit = applePackage "IOKit" "osx-10.11.6" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; }; - launchd = applePackage "launchd" "osx-10.9.5" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {}; - libauto = applePackage "libauto" "osx-10.9.5" "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {}; - Libc = applePackage "Libc" "osx-10.12.6" "183wcy1nlj2wkpfsx3k3lyv917mk8r2p72qw8lb89mbjsw3yw0xx" { - Libc_10-9 = fetchzip { - url = "http://www.opensource.apple.com/tarballs/Libc/Libc-997.90.3.tar.gz"; - sha256 = "1xchgxkxg5288r2b9yfrqji2gsgdap92k4wx2dbjwslixws12pq7"; + copyfile = applePackage "copyfile" "osx-10.12.6" "sha256-uHqLFOIpXK+n0RHyOZzVsP2DDZcFDivKCnqHBaXvHns=" {}; + Csu = applePackage "Csu" "osx-10.11.6" "sha256-h6a/sQMEVeFxKNWAPgKBXjWhyL2L2nvX9BQUMaTQ6sY=" {}; + dtrace = applePackage "dtrace" "osx-10.12.6" "sha256-Icr22ozixHquI0kRB2XZ+LlxD6V46sJHsHy4L/tDXZg=" {}; + dyld = applePackage "dyld" "osx-10.12.6" "sha256-JmKnOZtBPf96zEx7vhYHLBSTOPyKN71IdYE3R0IeJww=" {}; + eap8021x = applePackage "eap8021x" "osx-10.11.6" "sha256-54P3+YhVhOanoZQoqswDnr/GbR/AdEERse135nyuIQo=" {}; + IOKit = applePackage "IOKit" "osx-10.11.6" "" { inherit IOKitSrcs; }; + launchd = applePackage "launchd" "osx-10.9.5" "sha256-dmV0UK7hG9wvTr+F4Z47nCFXcVZCV+cQ46WbE0DBtJs=" {}; + libauto = applePackage "libauto" "osx-10.9.5" "sha256-GnRcKq8jRbEsI/PSDphwUjWtpEIEcnLlQL9yxYLgSsU=" {}; + Libc = applePackage "Libc" "osx-10.12.6" "sha256-LSsL7S3KFgGU9qjK4atu/4wBh8ftgfsk6JOvg+ZTZOY=" { + Libc_10-9 = fetchFromGitHub { + owner = "apple-oss-distributions"; + repo = "Libc"; + rev = "Libc-997.90.3"; + hash = "sha256-B18RNO+Rai5XE52TKdJV7eknosTZ+bRERkiU12d/kPU="; }; - Libc_old = applePackage "Libc/825_40_1.nix" "osx-10.8.5" "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {}; + Libc_old = applePackage "Libc/825_40_1.nix" "osx-10.8.5" "sha256-JvPSY7FzraGpqF/jYLfhU2o/2195NuKrXsryYfVtx3s=" {}; }; - libclosure = applePackage "libclosure" "osx-10.11.6" "1zqy1zvra46cmqv6vsf1mcsz3a76r9bky145phfwh4ab6y15vjpq" {}; - libdispatch = applePackage "libdispatch" "osx-10.10.5" "0jsfbzp87lwk9snlby0hd4zvj7j894p5q3cw0wdx9ny1mcp3kdcj" {}; - libiconv = applePackage "libiconv" "osx-10.12.6" "1gg5h6z8sk851bhv87vyxzs54jmqz6lh57ny8j4s51j7srja0nly" {}; - Libinfo = applePackage "Libinfo" "osx-10.11.6" "0qjgkd4y8sjvwjzv5wwyzkb61pg8wwg95bkp721dgzv119dqhr8x" {}; - Libm = applePackage "Libm" "osx-10.7.4" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {}; - Libnotify = applePackage "Libnotify" "osx-10.12.6" "0p5qhvalf6j1w6n8xwywhn6dvbpzv74q5wqrgs8rwfpf74wg6s9z" {}; - libplatform = applePackage "libplatform" "osx-10.12.6" "0rh1f5ybvwz8s0nwfar8s0fh7jbgwqcy903cv2x8m15iq1x599yn" {}; - libpthread = applePackage "libpthread" "osx-10.12.6" "1j6541rcgjpas1fc77ip5krjgw4bvz6jq7bq7h9q7axb0jv2ns6c" {}; - libresolv = applePackage "libresolv" "osx-10.12.6" "077j6ljfh7amqpk2146rr7dsz5vasvr3als830mgv5jzl7l6vz88" {}; - Libsystem = applePackage "Libsystem" "osx-10.12.6" "1082ircc1ggaq3wha218vmfa75jqdaqidsy1bmrc4ckfkbr3bwx2" {}; - libutil = applePackage "libutil" "osx-10.12.6" "0lqdxaj82h8yjbjm856jjz9k2d96k0viimi881akfng08xk1246y" {}; - libunwind = applePackage "libunwind" "osx-10.12.6" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {}; - mDNSResponder = applePackage "mDNSResponder" "osx-10.12.6" "02ms1p8zlgmprzn65jzr7yaqxykh3zxjcrw0c06aayim6h0dsqfy" {}; - objc4 = applePackage "objc4" "osx-10.12.6" "1cj1vhbcs9pkmag2ms8wslagicnq9bxi2qjkszmp3ys7z7ccrbwz" {}; - ppp = applePackage "ppp" "osx-10.12.6" "1kcc2nc4x1kf8sz0a23i6nfpvxg381kipi0qdisrp8x9z2gbkxb8" {}; - removefile = applePackage "removefile" "osx-10.12.6" "0jzjxbmxgjzhssqd50z7kq9dlwrv5fsdshh57c0f8mdwcs19bsyx" {}; + libclosure = applePackage "libclosure" "osx-10.11.6" "sha256-L5rQ+UBpf3B+W1U+gZKk7fXulslHsc8lxnCsplV+nr0=" {}; + libdispatch = applePackage "libdispatch" "osx-10.10.5" "sha256-jfAEk0OLrJa9AIZVikIoHomd+l+4rCfc320Xh50qK5M=" {}; + libiconv = applePackage "libiconv" "osx-10.12.6" "sha256-ZzPFkchK3EU95UQUVVrR0t8iilhi/VnIkjjtP6KT2oI=" {}; + Libinfo = applePackage "Libinfo" "osx-10.11.6" "sha256-6F7wiwerv4nz/xXHtp1qCHSaFzZgzcRN+jbmXA5oWOQ=" {}; + Libm = applePackage "Libm" "osx-10.7.4" "sha256-KjMETfT4qJm0m0Ux/F6Rq8bI4Q4UVnFx6IKbKxXd+Es=" {}; + Libnotify = applePackage "Libnotify" "osx-10.12.6" "sha256-6wvMBxAUfiYcQtmlfYCj1d3kFmFM/jdboTd7hRvi3e4=" {}; + libplatform = applePackage "libplatform" "osx-10.12.6" "sha256-6McMTjw55xtnCsFI3AB1osRagnuB5pSTqeMKD3gpGtM=" {}; + libpthread = applePackage "libpthread" "osx-10.12.6" "sha256-QvJ9PERmrCWBiDmOWrLvQUKZ4JxHuh8gS5nlZKDLqE8=" {}; + libresolv = applePackage "libresolv" "osx-10.12.6" "sha256-FtvwjJKSFX6j9APYPC8WLXVOjbHLZa1Gcoc8yxLy8qE=" {}; + Libsystem = applePackage "Libsystem" "osx-10.12.6" "sha256-zvRdCP//TjKCGAqm/5nJXPppshU1cv2fg/L/yK/olGQ=" {}; + libutil = applePackage "libutil" "osx-10.12.6" "sha256-4PFuk+CTLwvd/Ll9GLBkiIM0Sh/CVaiKwh5m1noheRs=" {}; + libunwind = applePackage "libunwind" "osx-10.12.6" "sha256-CC0sndP/mKYe3dZu3v7fjuDASV4V4w7dAcnWMvpoquE=" {}; + mDNSResponder = applePackage "mDNSResponder" "osx-10.12.6" "sha256-ddZr6tropkpdMJhq/kUlm3OwO8b0yxtkrMpwec8R4FY=" {}; + objc4 = applePackage "objc4" "osx-10.12.6" "sha256-ZsxRpdsfv3Dxs7yBBCkjbKXKR6aXwkEpxc1XYXz7ueM=" {}; + ppp = applePackage "ppp" "osx-10.12.6" "sha256-M1zoEjjeKIDUEP6ACbpUJk3OXjobw4g/qzUmxGdX1J0=" {}; + removefile = applePackage "removefile" "osx-10.12.6" "sha256-UpNk27kGXnZss1ZXWVJU9jLz/NW63ZAZEDLhyCYoi9M=" {}; xnu = if stdenv.isx86_64 then - applePackage "xnu" "osx-10.12.6" "1sjb0i7qzz840v2h4z3s4jyjisad4r5yyi6sg8pakv3wd81i5fg5" { + applePackage "xnu" "osx-10.12.6" "sha256-C8TPQlUT3RbzAy8YnZPNtr70hpaVG9Llv0h42s3NENI=" { python3 = pkgs.buildPackages.buildPackages.python3; # TODO(@Ericson2314) this shouldn't be needed. } else macosPackages_11_0_1.xnu; - hfs = applePackage "hfs" "osx-10.12.6" "1mj3xvqpq1mgd80b6kl1s04knqnap7hccr0gz8rjphalq14rbl5g" {}; - Librpcsvc = applePackage "Librpcsvc" "osx-10.11.6" "1zwfwcl9irxl1dlnf2b4v30vdybp0p0r6n6g1pd14zbdci1jcg2k" {}; - adv_cmds = applePackage "adv_cmds" "osx-10.11.6" "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {}; - basic_cmds = applePackage "basic_cmds" "osx-10.11.6" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {}; - developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {}; - diskdev_cmds = applePackage "diskdev_cmds" "osx-10.11.6" "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" { + hfs = applePackage "hfs" "osx-10.12.6" "sha256-eGi18HQFJrU5UHoBOE0LqO5gQ0xOf8+OJuAWQljfKE4=" {}; + Librpcsvc = applePackage "Librpcsvc" "osx-10.11.6" "sha256-YHbGws901xONzAbo6sB5zSea4Wp0sgYUJ8YgwVfWxnE=" {}; + adv_cmds = applePackage "adv_cmds" "osx-10.11.6" "sha256-Ztp8ALWcviEpthoiY8ttWzGI8OcsLzsULjlqe8GIzw8=" {}; + basic_cmds = applePackage "basic_cmds" "osx-10.11.6" "sha256-BYPPTg4/7x6RPs0WwwQlkNiZxxArV+7EVe6bM+a/I6Q=" {}; + developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "sha256-h0wMVlS6QdRvKOVJ74W9ziHYGApjvnk77AIR6ukYBRo=" {}; + diskdev_cmds = applePackage "diskdev_cmds" "osx-10.11.6" "sha256-VX+hcZ7JhOA8EhwLloPlM3Yx79RXp9OYHV9Mi10uw3Q=" { macosPackages_11_0_1 = macosPackages_11_0_1; }; network_cmds = if stdenv.isx86_64 then - applePackage "network_cmds" "osx-10.11.6" "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {} + applePackage "network_cmds" "osx-10.11.6" "sha256-I89CLIswGheewOjiNZwQTgWvWbhm0qtB5+KUqzxnQ5M=" {} else macosPackages_11_0_1.network_cmds; - file_cmds = applePackage "file_cmds" "osx-10.11.6" "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {}; - shell_cmds = applePackage "shell_cmds" "osx-10.11.6" "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {}; - system_cmds = applePackage "system_cmds" "osx-10.11.6" "1h46j2c5v02pkv5d9fyv6cpgyg0lczvwicrx6r9s210cl03l77jl" {}; - text_cmds = applePackage "text_cmds" "osx-10.11.6" "1f93m7dd0ghqb2hwh905mjhzblyfr7dwffw98xhgmv1mfdnigxg0" {}; - top = applePackage "top" "osx-10.11.6" "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {}; - PowerManagement = applePackage "PowerManagement" "osx-10.11.6" "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {}; + file_cmds = applePackage "file_cmds" "osx-10.11.6" "sha256-JYy6HwmultKeZtLfaysbsyLoWg+OaTh7eJu54JkJC0Q=" {}; + shell_cmds = applePackage "shell_cmds" "osx-10.11.6" "sha256-kmEOprkiJGMVcl7yHkGX8ymk/5KjE99gWuF8j2hK5hY=" {}; + system_cmds = applePackage "system_cmds" "osx-10.11.6" "sha256-KBdGlHeXo2PwgRQOOeElJ1RBqCY1Tdhn5KD42CMhdzI=" {}; + text_cmds = applePackage "text_cmds" "osx-10.11.6" "sha256-KSebU7ZyUsPeqn51nzuGNaNxs9pvmlIQQdkWXIVzDxw=" {}; + top = applePackage "top" "osx-10.11.6" "sha256-jbz64ODogtpNyLpXGSZj1jCBdFPVXcVcBkL1vc7g5qQ=" {}; + PowerManagement = applePackage "PowerManagement" "osx-10.11.6" "sha256-bYGtYnBOcE5W03AZzfVTJXPZ6GgryGAMt/LgLPxFkVk=" {}; # `configdHeaders` can’t use an override because `pkgs.darwin.configd` on aarch64-darwin will # be replaced by SystemConfiguration.framework from the macOS SDK. - configdHeaders = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" { + configdHeaders = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" { headersOnly = true; Security = null; }; @@ -315,5 +317,5 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // { # TODO(matthewbauer): # To be removed, once I figure out how to build a newer Security version. - Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; + Security = applePackage "Security/boot.nix" "osx-10.9.5" "sha256-7qr0IamjCXCobIJ6V9KtvbMBkJDfRCy4C5eqpHJlQLI=" {}; } diff --git a/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix b/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix index f57d224615f4b..7eeafec346551 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix @@ -3,6 +3,6 @@ { applePackage' }: { -bootstrap_cmds = applePackage' "bootstrap_cmds" "116" "developer-tools-11.3.1" "148xpqkf5xzpslqxch5l8h6vsz7sys8sdzk4ghbg9mkcivp8qa03" {}; -developer_cmds = applePackage' "developer_cmds" "66" "developer-tools-11.3.1" "0q08m4cxxwph7gxqravmx13l418p1i050bd46zwksn9j9zpw9mlr" {}; +bootstrap_cmds = applePackage' "bootstrap_cmds" "116" "developer-tools-11.3.1" "06nw99ajkd264vdi6n2zv252ppxp3wx3120hqf3jqdh6c1wavy0b" {}; +developer_cmds = applePackage' "developer_cmds" "66" "developer-tools-11.3.1" "0f7vphpscjcypq49gjckbs20xhm7yjalr4nnbphqcqp8v1al56dc" {}; } diff --git a/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix b/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix index 517f53e9435da..1637ed7838956 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix @@ -3,44 +3,44 @@ { applePackage' }: { -adv_cmds = applePackage' "adv_cmds" "176" "macos-11.0.1" "0x8c25rh6fnzndbc26vcb65vcxilvqyfvm2klfyci1wr4bh3ixgk" {}; -architecture = applePackage' "architecture" "279" "macos-11.0.1" "1cgp33ywa30max6cyp69kvii299hx2vgwvmy3ms8n4gaq2mkpaky" {}; -basic_cmds = applePackage' "basic_cmds" "55" "macos-11.0.1" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {}; -bootstrap_cmds = applePackage' "bootstrap_cmds" "121" "macos-11.0.1" "09bwclws6adxb1ky9q35f4ikddk4mbalmgds0cmqaf7j23qxl3fv" {}; -CommonCrypto = applePackage' "CommonCrypto" "60178.40.2" "macos-11.0.1" "0r3b1mlfmbdzpwn6pbsbfaga3k63gpwcwbhkbi4r09aq82skl02v" {}; -configd = applePackage' "configd" "1109.40.9" "macos-11.0.1" "173i55wfzli9pg2x2rw437hs68h6l4ngss5jfgf18g26zjkjzv5v" {}; -copyfile = applePackage' "copyfile" "173.40.2" "macos-11.0.1" "0qyp15qj3fdb7yx033n57l7s61d70mv17f43yiwcbhx09mmlrp07" {}; -Csu = applePackage' "Csu" "88" "macos-11.0.1" "029lgcyj0i16036h2lcx6fd6r1yf1bkj5dnvz905rh6ncl8skgdr" {}; -diskdev_cmds = applePackage' "diskdev_cmds" "667.40.1" "macos-11.0.1" "1bqwkwkwd556rba5000ap77xrhaf4xnmy83mszd7a0yvl2xlma7j" {}; -dtrace = applePackage' "dtrace" "370.40.1" "macos-11.0.1" "1941yczmn94ng5zlnhf0i5mjw2f4g7znisgvhkhn5f86gxmd98wl" {}; -dyld = applePackage' "dyld" "832.7.1" "macos-11.0.1" "1s77ca6jg20z91qlph59da8j61m97y23vrw48xs4rywdzh4915n0" {}; -eap8021x = applePackage' "eap8021x" "304.40.1" "macos-11.0.1" "1ph3kcpf527s0jqsi60j2sgg3m8h128spf292d8kyc08siz9mf9c" {}; -file_cmds = applePackage' "file_cmds" "321.40.3" "macos-11.0.1" "04789vn1wghclfr3ma3ncg716xdsxfj66hrcxi5h3h1ryag2ycfz" {}; -hfs = applePackage' "hfs" "556.41.1" "macos-11.0.1" "1rhkmn2yj5p4wmi4aajy5hj2h0gxk63s8j4qz4ziy4g4bjpdgwmy" {}; -ICU = applePackage' "ICU" "66108" "macos-11.0.1" "1d76cyyqpwkzjlxfajm4nsglxmfrcafbnjwnjxc3j5w3nw67pqhx" {}; -Libc = applePackage' "Libc" "1439.40.11" "macos-11.0.1" "0d5xlnks4lc9391wg31c9126vflb40lc5ffkgxmf2kpyglac1280" {}; -libclosure = applePackage' "libclosure" "78" "macos-11.0.1" "089i2bl4agpnfplrg23xbzma1674g0w05988nxdps6ghxl4kz66f" {}; -libdispatch = applePackage' "libdispatch" "1271.40.12" "macos-11.0.1" "0z7r42zfb8y48f0nrw0qw7fanfvimycimgnrg3jig101kjvjar98" {}; -libiconv = applePackage' "libiconv" "59" "macos-11.0.1" "0hqbsqggjrr0sv6h70lcr3gabgk9inyc8aq1b30wibgjm6crjwpp" {}; -Libinfo = applePackage' "Libinfo" "542.40.3" "macos-11.0.1" "0y5x6wxd3mwn6my1jdp8qrak3y7x7sgjdmwyw9cvvbn3kg9v6z1p" {}; -Libnotify = applePackage' "Libnotify" "279.40.4" "macos-11.0.1" "0aswflxki877izp6sacv35sydn6a3639cflv3zhs3i7vkfbsvbf5" {}; -libplatform = applePackage' "libplatform" "254.40.4" "macos-11.0.1" "1mhi8n66864y98dr3n0pkqad3aqim800kn9bxzp6h5jf2jni3aql" {}; -libpthread = applePackage' "libpthread" "454.40.3" "macos-11.0.1" "18rb4dqjdf3krzi4hdj5i310gy49ipf01klbkp9g51i02a55gphq" {}; -libresolv = applePackage' "libresolv" "68" "macos-11.0.1" "1ysvg6d28xyaky9sn7giglnsflhjsbj17h3h3i6knlzxnzznpkql" {}; -Librpcsvc = applePackage' "Librpcsvc" "26" "macos-11.0.1" "1zwfwcl9irxl1dlnf2b4v30vdybp0p0r6n6g1pd14zbdci1jcg2k" {}; -Libsystem = applePackage' "Libsystem" "1292.50.1" "macos-11.0.1" "0w16zaigq18jfsnw15pfyz2mkfqdkn0cc16q617kmgw2khld8j7j" {}; -libunwind = applePackage' "libunwind" "200.10" "macos-11.0.1" "1pmymcqpfk7lfxh6zqch429vfpvmd2m1dlg898170pkx5zhxisl2" {}; -libutil = applePackage' "libutil" "58.40.2" "macos-11.0.1" "1hhgashfj9g4vjv02070c5pn818a5n0bh5l81l2pflmvb2rrqs3f" {}; -mDNSResponder = applePackage' "mDNSResponder" "1310.40.42" "macos-11.0.1" "0d0b9wwah9rg7rwrr29dxd6iy0y4rlmss3wcz2wcqmnd2qb9x8my" {}; -network_cmds = applePackage' "network_cmds" "606.40.2" "macos-11.0.1" "1dlslk67npvmxx5m50385kmn3ysxih2iv220hhzkin11f8abdjv7" {}; -objc4 = applePackage' "objc4" "818.2" "macos-11.0.1" "177gmh9m9ajy6mvcd2sf7gqydgljy44n3iih0yqsn1b13j784azx" {}; -PowerManagement = applePackage' "PowerManagement" "1132.50.3" "macos-11.0.1" "1n5yn6sc8w67g8iism6ilkyl33j46gcnlqcaq6k16zkngx6lprba" {}; -ppp = applePackage' "ppp" "877.40.2" "macos-11.0.1" "1z506z8ndvb1lfr4pypfy2bnig6qimhmq3yhjvqwfnliv91965iq" {}; -removefile = applePackage' "removefile" "49.40.3" "macos-11.0.1" "1fhp47awi15f02385r25qgw1ag5z0kr1v3kvgqm3r8i8yysfqvwp" {}; -Security = applePackage' "Security" "59754.41.1" "macos-11.0.1" "00kqgg7k80ba70ar2c02f0q9yrdgqcb56nb9z5g0bxwkvi40ryph" {}; -shell_cmds = applePackage' "shell_cmds" "216.40.4" "macos-11.0.1" "1mvp1fp34kkm4mi85fdn3i0l0gig4c0w09zg2mvkpxcf68cq2f69" {}; -system_cmds = applePackage' "system_cmds" "880.40.5" "macos-11.0.1" "1kys4vwfz4559sspdsfhmxc238nd8qgylqypza3zdzaqhfh7lx2x" {}; -text_cmds = applePackage' "text_cmds" "106" "macos-11.0.1" "0cpnfpllwpx20hbxzg5i5488gcjyi9adnbac1sd5hpv3bq6z1hs5" {}; -top = applePackage' "top" "129" "macos-11.0.1" "1nyz5mvq7js3zhsi3dwxl5fslg6m7nhlgc6p2hr889xgyl5prw8f" {}; -xnu = applePackage' "xnu" "7195.50.7.100.1" "macos-11.0.1" "14wqkqp3lcxgpm1sjnsysybrc4ppzkghwv3mb5nr5v8ml37prkib" {}; +CommonCrypto = applePackage' "CommonCrypto" "60178.40.2" "macos-11.0.1" "129gsxhhcxqycg0zjrdrz2ay4dv2ih1ckafqh33qrc499z8dam2p" {}; +Csu = applePackage' "Csu" "88" "macos-11.0.1" "1lzp9x8iv60c2h12q2s89nf49b5hvpqq4a9li44zr2fxszn8lqxh" {}; +ICU = applePackage' "ICU" "66108" "macos-11.0.1" "0mclizp99daihghqy2sgzjkid8i93dsn5pi8q9p7b3156chrhw57" {}; +Libc = applePackage' "Libc" "1439.40.11" "macos-11.0.1" "12k5sbz2k1pl839w2lk9iw414zzl50zdjzgq2x6bm20yjbfj69qm" {}; +Libinfo = applePackage' "Libinfo" "542.40.3" "macos-11.0.1" "18jvl7cdg64x6clhsfv5pbzxis2aldddpca5r81xqakrmi9mck80" {}; +Libnotify = applePackage' "Libnotify" "279.40.4" "macos-11.0.1" "1vr11s0c42ssjs29shy1m8rj008np7aswdzjpimsfzyav47jb6y7" {}; +Librpcsvc = applePackage' "Librpcsvc" "26" "macos-11.0.1" "0wf6srbw28664wa0dckldbhrl9ydg70fms06rj6i7mvlrz1ccxk0" {}; +Libsystem = applePackage' "Libsystem" "1292.50.1" "macos-11.0.1" "0d3flh1p4kskic8ypi8wia4kinfbprx9fvyfqc3mcq0710i0gy77" {}; +PowerManagement = applePackage' "PowerManagement" "1132.50.3" "macos-11.0.1" "1sb2nz92vdf6v3h17ry0vgw0z9zsva82lhdrhsf3k60jhfw1fi2v" {}; +Security = applePackage' "Security" "59754.41.1" "macos-11.0.1" "0jq70mnwkvrrhws64ipx0i68pi3n0sk95jlhacxxikdj9f4hpbsw" {}; +adv_cmds = applePackage' "adv_cmds" "176" "macos-11.0.1" "0sskwl3jc7llbrlyd1i7qlb03yhm1xkbxd1k9xhh7f9wqhlzq31j" {}; +architecture = applePackage' "architecture" "279" "macos-11.0.1" "19s93rqr9r98qh0rlndf7kv3v4n1ifh9i539mbpsx6kbixcx8vvp" {}; +basic_cmds = applePackage' "basic_cmds" "55" "macos-11.0.1" "1913pzk376zfap2fwmrb233rkn4h4l2c65nd7s8ixvrz1r7cz0q5" {}; +bootstrap_cmds = applePackage' "bootstrap_cmds" "121" "macos-11.0.1" "0qgbgwijv7xqmm9gn74jibyw2dh516xpj7h1grj2j1i80m3b16bl" {}; +configd = applePackage' "configd" "1109.40.9" "macos-11.0.1" "024ny63lpwzgnm8g28hh8dldvmmislmrl298n721rm0blqjhahz5" {}; +copyfile = applePackage' "copyfile" "173.40.2" "macos-11.0.1" "1j20909inn2iw8n51b8vk551wznfi3bhfziy8nbv08qj5lk50m04" {}; +diskdev_cmds = applePackage' "diskdev_cmds" "667.40.1" "macos-11.0.1" "0wr60vyvgkbc4wyldnsqas0xss2k1fgmbdk3vnhj6v6jqa98l1ny" {}; +dtrace = applePackage' "dtrace" "370.40.1" "macos-11.0.1" "1qj74mix1x3drffr1qpafm57aby42bc61kynba5q0ppbcf0lrbp1" {}; +dyld = applePackage' "dyld" "832.7.1" "macos-11.0.1" "01q7fsibr6xp94l3w22sh8qfjgwzzf1v82mhgq39ivkxwwc4jdy0" {}; +eap8021x = applePackage' "eap8021x" "304.40.1" "macos-11.0.1" "1aihyklri64w380d1mvi830n5cnzs9gd38z8i9ccd37n48gmz88p" {}; +file_cmds = applePackage' "file_cmds" "321.40.3" "macos-11.0.1" "0p077lnbcy8266m03a0fssj4214bjxh88y3qkspnzcvi0g84k43q" {}; +hfs = applePackage' "hfs" "556.41.1" "macos-11.0.1" "0a0s6b12b0q07wslfifna0bj51dml9v098i4crr2m1vivnx4xj75" {}; +libclosure = applePackage' "libclosure" "78" "macos-11.0.1" "0vf9n0k3m8dbprv1bf45zqg0g43bidy2i5z1v9a826bsf8lv7am7" {}; +libdispatch = applePackage' "libdispatch" "1271.40.12" "macos-11.0.1" "1ck5srcjapg18vqb8wl08gacs7ndc6xr067qjn3ngx39q1jdcywz" {}; +libiconv = applePackage' "libiconv" "59" "macos-11.0.1" "0lwa4brdwm4lvrdnxylzsn1yph4m7csgri2zkc4xb4xiisz32pwp" {}; +libplatform = applePackage' "libplatform" "254.40.4" "macos-11.0.1" "1qf3ri0yd8b1xjln1j1gyx7ks6k3a2jhd63blyvfby75y9s7flky" {}; +libpthread = applePackage' "libpthread" "454.40.3" "macos-11.0.1" "0zljbw8mpb80n1if65hhi9lkgwbgjr8vc9wvf7q1nl3mzyl35f8p" {}; +libresolv = applePackage' "libresolv" "68" "macos-11.0.1" "045ahh8nvaam9whryc2f5g5xagwp7d187r80kcff82snp5p66aq1" {}; +libunwind = applePackage' "libunwind" "200.10" "macos-11.0.1" "0wa4ssr7skn5j0ncm1rigd56qmbs982zvwr3qpjn28krwp8wvigd" {}; +libutil = applePackage' "libutil" "58.40.2" "macos-11.0.1" "11s0vizk7bg0k0yjx21j8vaji4j4vk57131qbp07i9lpksb3bcy4" {}; +mDNSResponder = applePackage' "mDNSResponder" "1310.40.42" "macos-11.0.1" "0xxrqqbqsf0pagfs1yzwfbwf7lhr0sns97k18y7kh4ri0p09h44c" {}; +network_cmds = applePackage' "network_cmds" "606.40.2" "macos-11.0.1" "1jsy13nraarafq6wmgh3wyir8wrwfra148xsjns7cw7q5xn40a1w" {}; +objc4 = applePackage' "objc4" "818.2" "macos-11.0.1" "0m8mk1qd18wqjfn2jsq2lx6fxvllhmadmvz11jzg8vjw8pq91nw2" {}; +ppp = applePackage' "ppp" "877.40.2" "macos-11.0.1" "06xznc77j45zzi12m4cmr3jj853qlc8dbmynbg1z6m9qf5phdbgk" {}; +removefile = applePackage' "removefile" "49.40.3" "macos-11.0.1" "0870ihxpmvj8ggaycwlismbgbw9768lz7w6mc9vxf8l6nlc43z4f" {}; +shell_cmds = applePackage' "shell_cmds" "216.40.4" "macos-11.0.1" "0wbysc9lwf1xgl686r3yn95rndcmqlp17zc1ig9gsl5fxyy5bghh" {}; +system_cmds = applePackage' "system_cmds" "880.40.5" "macos-11.0.1" "064yqf84ny0cjpqmzmnhz05faay6axb2r4i6knnyc8n21yiip5dc" {}; +text_cmds = applePackage' "text_cmds" "106" "macos-11.0.1" "17fn35m6i866zjrf8da6cq6crydp6vp4zq0aaab243rv1fx303yy" {}; +top = applePackage' "top" "129" "macos-11.0.1" "0d9pqmv3mwkfcv7c05hfvnvnn4rbsl92plr5hsazp854pshzqw2k" {}; +xnu = applePackage' "xnu" "7195.50.7.100.1" "macos-11.0.1" "11zjmpw11rcc6a0xlbwramra1rsr65s4ypnxwpajgbr2c657lipl" {}; } diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix index 07645c5e61c65..3d48f3d86cac1 100644 --- a/pkgs/os-specific/darwin/moltenvk/default.nix +++ b/pkgs/os-specific/darwin/moltenvk/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "MoltenVK"; - version = "1.2.1"; + version = "1.2.2"; buildInputs = [ AppKit @@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "KhronosGroup"; repo = "MoltenVK"; rev = "v${finalAttrs.version}"; - hash = "sha256-JqHPKLSFq+8hyOjVZbjh4AsHM8zSF7ZVxlEePmnEC2w="; + hash = "sha256-XowMXhGqPcxJ0DS3G41tpBO68va94a7SZHOOgguCxy0="; }; patches = [ diff --git a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix index d8fc4648029a6..560f2bf301474 100644 --- a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix +++ b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "alsa-lib"; - version = "1.2.7.2"; + version = "1.2.8"; src = fetchurl { url = "mirror://alsa/lib/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2"; - hash = "sha256-ijW3IY5Q8qLHk0LQ3pje2BQ5zhnhKAk4Xsm+lZbefC8="; + hash = "sha256-GrAbdOM0JcqZwuNsCET9aIgnMZO9iYJA/o+TrMvL80c="; }; patches = [ diff --git a/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix index 512fe605b6e51..4568ecf1e7a8b 100644 --- a/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix +++ b/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "alsa-ucm-conf"; - version = "1.2.7.1"; + version = "1.2.8"; src = fetchurl { url = "mirror://alsa/lib/${pname}-${version}.tar.bz2"; - hash = "sha256-rFsqEnV4Pv8H4cs0w2xsWYd0JnmjQAN1B8BKncHSLKw="; + hash = "sha256-/uSnN4MP0l+WnYPaRqKyMb6whu/ZZvzAfSJeeCMmCug="; }; dontBuild = true; diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix index 2a98aa82ebbd5..9c41a217badc9 100644 --- a/pkgs/os-specific/linux/anbox/default.nix +++ b/pkgs/os-specific/linux/anbox/default.nix @@ -85,6 +85,11 @@ stdenv.mkDerivation rec { systemd ]; + # Flag needed by GCC 12 but unrecognized by GCC 9 (aarch64-linux default now) + NIX_CFLAGS_COMPILE = lib.optionals (with stdenv; cc.isGNU && lib.versionAtLeast cc.version "12") [ + "-Wno-error=mismatched-new-delete" + ]; + patchPhase = '' patchShebangs scripts diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix index 886bf3e6fee8c..8312d64acddc6 100644 --- a/pkgs/os-specific/linux/bbswitch/default.nix +++ b/pkgs/os-specific/linux/bbswitch/default.nix @@ -31,7 +31,6 @@ stdenv.mkDerivation { preBuild = '' substituteInPlace Makefile \ - --replace "\$(shell uname -r)" "${kernel.modDirVersion}" \ --replace "/lib/modules" "${kernel.dev}/lib/modules" ''; diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix index 8fb826833704d..d9ae091f8f0fe 100644 --- a/pkgs/os-specific/linux/hwdata/default.nix +++ b/pkgs/os-specific/linux/hwdata/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hwdata"; - version = "0.364"; + version = "0.367"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${version}"; - sha256 = "sha256-9fGYoyj7vN3j72H+6jv/R0MaWPZ+4UNQhCSWnZRZZS4="; + sha256 = "sha256-cFusLjRH7E3TCEREQH4Y9fZLjB6b5IJV/NThdS7c19A="; }; postPatch = '' @@ -23,6 +23,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/vcrhonek/hwdata"; description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards"; license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ pedrohlc ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/os-specific/linux/kernel/hardened/config.nix b/pkgs/os-specific/linux/kernel/hardened/config.nix index 198cd86816466..efc64e81af551 100644 --- a/pkgs/os-specific/linux/kernel/hardened/config.nix +++ b/pkgs/os-specific/linux/kernel/hardened/config.nix @@ -65,8 +65,8 @@ assert (stdenv.hostPlatform.isx86_64 -> versions.majorMinor version != "5.4"); # Gather additional entropy at boot time for systems that may not have appropriate entropy sources. GCC_PLUGIN_LATENT_ENTROPY = yes; - GCC_PLUGIN_STRUCTLEAK = yes; # A port of the PaX structleak plugin - GCC_PLUGIN_STRUCTLEAK_BYREF_ALL = yes; # Also cover structs passed by address + GCC_PLUGIN_STRUCTLEAK = option yes; # A port of the PaX structleak plugin + GCC_PLUGIN_STRUCTLEAK_BYREF_ALL = option yes; # Also cover structs passed by address GCC_PLUGIN_STACKLEAK = whenAtLeast "4.20" yes; # A port of the PaX stackleak plugin GCC_PLUGIN_RANDSTRUCT = whenOlder "5.19" yes; # A port of the PaX randstruct plugin GCC_PLUGIN_RANDSTRUCT_PERFORMANCE = whenOlder "5.19" yes; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 310178b9a1fd3..18c32930f3689 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -57,8 +57,12 @@ let hasAttr getAttr optional optionals optionalString optionalAttrs maintainers platforms; # Dependencies that are required to build kernel modules - moduleBuildDependencies = [ perl libelf ] - ++ optional (lib.versionAtLeast version "5.13") zstd; + moduleBuildDependencies = [ + perl + libelf + # module makefiles often run uname commands to find out the kernel version + (buildPackages.deterministic-uname.override { inherit modDirVersion; }) + ] ++ optional (lib.versionAtLeast version "5.13") zstd; drvAttrs = config_: kernelConf: kernelPatches: configfile: let diff --git a/pkgs/os-specific/linux/mxu11x0/default.nix b/pkgs/os-specific/linux/mxu11x0/default.nix index ee29180a8d9d8..17d0c69382069 100644 --- a/pkgs/os-specific/linux/mxu11x0/default.nix +++ b/pkgs/os-specific/linux/mxu11x0/default.nix @@ -11,9 +11,9 @@ stdenv.mkDerivation rec { version = mxu_version + "-${kernel.version}"; + nativeBuildInputs = kernel.moduleBuildDependencies; + preBuild = '' - sed -i -e "s/\$(uname -r).*/${kernel.modDirVersion}/g" driver/mxconf - sed -i -e "s/\$(shell uname -r).*/${kernel.modDirVersion}/g" driver/Makefile sed -i -e 's|/lib/modules|${kernel.dev}/lib/modules|' driver/mxconf sed -i -e 's|/lib/modules|${kernel.dev}/lib/modules|' driver/Makefile ''; diff --git a/pkgs/os-specific/linux/ocf-resource-agents/default.nix b/pkgs/os-specific/linux/ocf-resource-agents/default.nix index 8d7f2b527144a..976c5f1779d78 100644 --- a/pkgs/os-specific/linux/ocf-resource-agents/default.nix +++ b/pkgs/os-specific/linux/ocf-resource-agents/default.nix @@ -42,6 +42,11 @@ let python3 ]; + NIX_CFLAGS_COMPILE = lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=maybe-uninitialized" + ]; + meta = with lib; { homepage = "https://github.com/ClusterLabs/resource-agents"; description = "Combined repository of OCF agents from the RHCS and Linux-HA projects"; diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix index 3aeef46255628..7cb364597bb61 100644 --- a/pkgs/os-specific/linux/odp-dpdk/default.nix +++ b/pkgs/os-specific/linux/odp-dpdk/default.nix @@ -25,6 +25,7 @@ in stdenv.mkDerivation rec { autoreconfHook pkg-config ]; + buildInputs = [ dpdk_19_11 libconfig @@ -38,6 +39,12 @@ in stdenv.mkDerivation rec { libbpf ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=maybe-uninitialized" + "-Wno-error=uninitialized" + ]; + # binaries will segfault otherwise dontStrip = true; diff --git a/pkgs/os-specific/linux/piper/default.nix b/pkgs/os-specific/linux/piper/default.nix index 293425897e9d6..39b0eaf5325ed 100644 --- a/pkgs/os-specific/linux/piper/default.nix +++ b/pkgs/os-specific/linux/piper/default.nix @@ -19,9 +19,7 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ gtk3 glib gnome.adwaita-icon-theme python3 librsvg ]; - propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ] ++ [ - gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now - ]; + propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ]; mesonFlags = [ "-Druntime-dependency-checks=false" diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix index 20db1cdd74f94..60a55096b446e 100644 --- a/pkgs/os-specific/linux/pktgen/default.nix +++ b/pkgs/os-specific/linux/pktgen/default.nix @@ -46,6 +46,12 @@ stdenv.mkDerivation rec { RTE_SDK = dpdk; GUI = lib.optionalString withGtk "true"; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=address" + "-Wno-error=use-after-free" + ]; + # requires symbols from this file NIX_LDFLAGS = "-lrte_net_bond"; diff --git a/pkgs/os-specific/linux/projecteur/default.nix b/pkgs/os-specific/linux/projecteur/default.nix index 63de7453935ce..ecb0fe535d356 100644 --- a/pkgs/os-specific/linux/projecteur/default.nix +++ b/pkgs/os-specific/linux/projecteur/default.nix @@ -13,6 +13,10 @@ mkDerivation rec { sha256 = "sha256-kg6oYtJ4H5A6RNATBg+XvMfCb9FlhEBFjfxamGosMQg="; }; + postPatch = '' + sed '1i#include ' -i src/device.h # gcc12 + ''; + buildInputs = [ qtbase qtgraphicaleffects ]; nativeBuildInputs = [ wrapQtAppsHook cmake pkg-config ]; diff --git a/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix b/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix index 0f2e00c8382f5..ecfd6a87e6b47 100644 --- a/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix +++ b/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix @@ -14,7 +14,6 @@ stdenv.mkDerivation { prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; @@ -30,9 +29,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ bc ]; - - buildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies; preInstall = '' mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" diff --git a/pkgs/os-specific/linux/rtl8189es/default.nix b/pkgs/os-specific/linux/rtl8189es/default.nix index e50129f1e2b93..a89eb3702e8b8 100644 --- a/pkgs/os-specific/linux/rtl8189es/default.nix +++ b/pkgs/os-specific/linux/rtl8189es/default.nix @@ -17,7 +17,6 @@ stdenv.mkDerivation rec { prePatch = '' substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/" - substituteInPlace ./Makefile --replace '$(shell uname -r)' "${kernel.modDirVersion}" substituteInPlace ./Makefile --replace /sbin/depmod \# substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl8723ds/default.nix b/pkgs/os-specific/linux/rtl8723ds/default.nix index 4aa408eec4147..be4b954c1b618 100644 --- a/pkgs/os-specific/linux/rtl8723ds/default.nix +++ b/pkgs/os-specific/linux/rtl8723ds/default.nix @@ -13,8 +13,7 @@ stdenv.mkDerivation { hardeningDisable = [ "pic" ]; - nativeBuildInputs = [ bc ]; - buildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies; makeFlags = [ "ARCH=${stdenv.hostPlatform.linuxArch}" @@ -25,7 +24,6 @@ stdenv.mkDerivation { postPatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace "/sbin/depmod" "#" \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index 84ad6a314e153..bd682ec5933da 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -11,21 +11,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-25NaMQq9H6mqVynNQJXpqISAslxfEVSt3ELzG7s4mV4="; }; - nativeBuildInputs = [ bc nukeReferences ]; - buildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; hardeningDisable = [ "pic" "format" ]; prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; makeFlags = [ "ARCH=${stdenv.hostPlatform.linuxArch}" - "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ diff --git a/pkgs/os-specific/linux/rtl8814au/default.nix b/pkgs/os-specific/linux/rtl8814au/default.nix index dd0b32c538018..d8825f018979c 100644 --- a/pkgs/os-specific/linux/rtl8814au/default.nix +++ b/pkgs/os-specific/linux/rtl8814au/default.nix @@ -21,7 +21,6 @@ stdenv.mkDerivation { prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl8821au/default.nix b/pkgs/os-specific/linux/rtl8821au/default.nix index 6a0da0c5e19b6..7ba338d37859b 100644 --- a/pkgs/os-specific/linux/rtl8821au/default.nix +++ b/pkgs/os-specific/linux/rtl8821au/default.nix @@ -11,8 +11,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-wx7xQBCfLu3UWB7ghp8dZ7OB2MFd5i8X0/ygyvW2K50="; }; - nativeBuildInputs = [ bc nukeReferences ]; - buildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; hardeningDisable = [ "pic" "format" ]; @@ -20,7 +19,6 @@ stdenv.mkDerivation rec { makeFlags = [ "ARCH=${stdenv.hostPlatform.linuxArch}" - "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n")) ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ @@ -30,7 +28,6 @@ stdenv.mkDerivation rec { prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix index 674af264c39cf..476bce22fb112 100644 --- a/pkgs/os-specific/linux/rtl8821ce/default.nix +++ b/pkgs/os-specific/linux/rtl8821ce/default.nix @@ -24,7 +24,6 @@ stdenv.mkDerivation rec { prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl8821cu/default.nix b/pkgs/os-specific/linux/rtl8821cu/default.nix index edc2d5bc44c0e..35b068fd8d088 100644 --- a/pkgs/os-specific/linux/rtl8821cu/default.nix +++ b/pkgs/os-specific/linux/rtl8821cu/default.nix @@ -19,7 +19,6 @@ stdenv.mkDerivation rec { prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix index 38ded6041f598..d3560aca91ad3 100644 --- a/pkgs/os-specific/linux/rtl88x2bu/default.nix +++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix @@ -19,7 +19,6 @@ stdenv.mkDerivation rec { prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix b/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix index 80c14a0b38345..a2f7ca0e815dd 100644 --- a/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix +++ b/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix @@ -14,14 +14,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-JUyUOqLMD9nSo6i87K/6Ljp+pWSqSBz/IZiFWu03rQw="; }; - buildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = kernel.moduleBuildDependencies; hardeningDisable = [ "pic" ]; prePatch = '' substituteInPlace ./Makefile \ --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/depmod \# \ --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index e871d6618c34a..ec44cde0c321f 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -131,7 +131,7 @@ assert withHomed -> withCryptsetup; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "252.4"; + version = "252.5"; # Bump this variable on every (major) version change. See below (in the meson options list) for why. # command: @@ -148,7 +148,7 @@ stdenv.mkDerivation { owner = "systemd"; repo = "systemd-stable"; rev = "v${version}"; - hash = "sha256-8ejSEt3QyCSARGGVbXWac2dB9jdUpC4eX2rN0iENQX0="; + hash = "sha256-cNZRTuYFMR1z6KpELeQoJahMhRl4fKuRuc3xXH3KzlM="; }; # On major changes, or when otherwise required, you *must* reformat the patches, @@ -384,7 +384,7 @@ stdenv.mkDerivation { pam ] - ++ lib.optional wantGcrypt libgcrypt + ++ lib.optionals wantGcrypt [ libgcrypt libgpg-error ] ++ lib.optional withTests glib ++ lib.optional withApparmor libapparmor ++ lib.optional wantCurl (lib.getDev curl) @@ -396,7 +396,6 @@ stdenv.mkDerivation { ++ lib.optional withLibseccomp libseccomp ++ lib.optional withNetworkd iptables ++ lib.optional withPCRE2 pcre2 - ++ lib.optional withResolved libgpg-error ++ lib.optional withSelinux libselinux ++ lib.optional withRemote libmicrohttpd ++ lib.optionals withHomed [ p11-kit ] diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index eeecc655aef92..3c8b7f6663f18 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -11,6 +11,7 @@ , nlsSupport ? true , translateManpages ? true , po4a +, installShellFiles }: stdenv.mkDerivation rec { @@ -66,7 +67,7 @@ stdenv.mkDerivation rec { "usrsbin_execdir=${placeholder "bin"}/sbin" ]; - nativeBuildInputs = [ pkg-config ] + nativeBuildInputs = [ pkg-config installShellFiles ] ++ lib.optionals translateManpages [ po4a ]; buildInputs = [ zlib libxcrypt ] @@ -79,6 +80,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postInstall = '' + installShellCompletion --bash bash-completion/* + ''; + meta = with lib; { homepage = "https://www.kernel.org/pub/linux/utils/util-linux/"; description = "A set of system utilities for Linux"; diff --git a/pkgs/os-specific/linux/vmware/default.nix b/pkgs/os-specific/linux/vmware/default.nix index 162ae766a845d..73c579288bca0 100644 --- a/pkgs/os-specific/linux/vmware/default.nix +++ b/pkgs/os-specific/linux/vmware/default.nix @@ -20,14 +20,12 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace Makefile \ --replace '/lib/modules/$(VM_UNAME)/misc' "$out/lib/modules/${kernel.modDirVersion}/misc" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /sbin/modinfo "${kmod}/bin/modinfo" \ --replace 'test -z "$(DESTDIR)"' "0" for module in "vmmon-only" "vmnet-only"; do substituteInPlace "./$module/Makefile" \ --replace '/lib/modules/' "${kernel.dev}/lib/modules/" \ - --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ --replace /bin/grep "${gnugrep}/bin/grep" done ''; diff --git a/pkgs/servers/foundationdb/cmake.nix b/pkgs/servers/foundationdb/cmake.nix index 9d65198c8cef3..436f0a7fc4d17 100644 --- a/pkgs/servers/foundationdb/cmake.nix +++ b/pkgs/servers/foundationdb/cmake.nix @@ -60,6 +60,11 @@ let (lib.optionalString (!useClang) "-DUSE_LD=GOLD") ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=missing-template-keyword" + ]; + inherit patches; # fix up the use of the very weird and custom 'fdb_install' command by just diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix index d1b11dfd3d55b..e8bc31abed836 100644 --- a/pkgs/servers/gpsd/default.nix +++ b/pkgs/servers/gpsd/default.nix @@ -59,7 +59,6 @@ stdenv.mkDerivation rec { atk dbus-glib gdk-pixbuf - gobject-introspection libX11 libXaw libXext diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix index cd407ef37ec7f..1a911668a5401 100644 --- a/pkgs/servers/mail/exim/default.nix +++ b/pkgs/servers/mail/exim/default.nix @@ -64,8 +64,8 @@ stdenv.mkDerivation rec { ${lib.optionalString enableMySQL '' s:^# \(LOOKUP_MYSQL=yes\)$:\1: s:^# \(LOOKUP_MYSQL_PC=libmysqlclient\)$:\1: - s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient -L${libmysqlclient}/lib/mysql -lssl -ldl -lm -lpthread -lz: - s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient -L${libmysqlclient}/lib/mysql -lssl -ldl -lm -lpthread -lz: + s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient -L${libmysqlclient}/lib/mysql -lssl -lm -lpthread -lz: + s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient -L${libmysqlclient}/lib/mysql -lssl -lm -lpthread -lz: s:^# \(LOOKUP_INCLUDE\)=.*:\1=-I${libmysqlclient.dev}/include/mysql/: ''} ${lib.optionalString enableAuthDovecot '' diff --git a/pkgs/servers/monitoring/nagios/default.nix b/pkgs/servers/monitoring/nagios/default.nix index a58ec2bf7b299..edf82742bc53e 100644 --- a/pkgs/servers/monitoring/nagios/default.nix +++ b/pkgs/servers/monitoring/nagios/default.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var/lib/nagios" ]; buildFlags = [ "all" ]; - CFLAGS = "-ldl"; # Do not create /var directories preInstall = '' diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix index 185c246e6fac1..a80975926e8db 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -33,7 +33,7 @@ let Version: ${libflux_version} Description: Library for the InfluxData Flux engine Cflags: -I/out/include - Libs: -L/out/lib -lflux -ldl -lpthread + Libs: -L/out/lib -lflux -lpthread ''; passAsFile = [ "pkgcfg" ]; postInstall = '' diff --git a/pkgs/servers/nosql/influxdb2/default.nix b/pkgs/servers/nosql/influxdb2/default.nix index 41bba89996bf2..4f86cc4da5309 100644 --- a/pkgs/servers/nosql/influxdb2/default.nix +++ b/pkgs/servers/nosql/influxdb2/default.nix @@ -51,7 +51,7 @@ let Version: ${libflux_version} Description: Library for the InfluxData Flux engine Cflags: -I/out/include - Libs: -L/out/lib -lflux -ldl -lpthread + Libs: -L/out/lib -lflux -lpthread ''; passAsFile = [ "pkgcfg" ]; postInstall = '' diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix index d6e2f20ecdbef..8ebed1c274643 100644 --- a/pkgs/servers/openafs/1.8/default.nix +++ b/pkgs/servers/openafs/1.8/default.nix @@ -89,7 +89,6 @@ stdenv.mkDerivation { ) '' + optionalString withTsm '' export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsm-client}/lib64/sample -DXBSA_TSMLIB=\\\"${tsm-client}/lib64/libApiTSM64.so\\\"" - export XBSA_XLIBS="-ldl" ''; buildFlags = [ "all_nolibafs" ]; diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix index ed163f2547df1..cddda5d399f2f 100644 --- a/pkgs/servers/osrm-backend/default.nix +++ b/pkgs/servers/osrm-backend/default.nix @@ -15,6 +15,12 @@ stdenv.mkDerivation rec { buildInputs = [ bzip2 libxml2 libzip boost lua luabind tbb expat ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=stringop-overflow" + "-Wno-error=uninitialized" + ]; + postInstall = "mkdir -p $out/share/osrm-backend && cp -r ../profiles $out/share/osrm-backend/profiles"; meta = { diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index fe3e3fba8d2a4..48ac8617c9b8e 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -13,13 +13,17 @@ let # Server components , bzip2, lz4, lzo, snappy, xz, zlib, zstd , cracklib, judy, libevent, libxml2 - , linux-pam, numactl, pmdk + , linux-pam, numactl , fmt_8 , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq , withStorageRocks ? true , withEmbedded ? false + , withNuma ? false }: + let + isCross = stdenv.buildPlatform != stdenv.hostPlatform; + libExt = stdenv.hostPlatform.extensions.sharedLibrary; mytopEnv = buildPackages.perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]); @@ -99,7 +103,7 @@ let ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "10.6") [ # workaround for https://jira.mariadb.org/browse/MDEV-29925 "-Dhave_C__Wl___as_needed=" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + ] ++ lib.optionals isCross [ # revisit this if nixpkgs supports any architecture whose stack grows upwards "-DSTACK_DIRECTION=-1" "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}" @@ -169,16 +173,14 @@ let buildInputs = common.buildInputs ++ [ bzip2 lz4 lzo snappy xz zstd cracklib judy libevent libxml2 - ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl + ] ++ lib.optional withNuma numactl ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] - ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ] ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; propagatedBuildInputs = lib.optionals withEmbedded - (lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.lib - ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl); + (lib.optional withNuma numactl); postPatch = '' substituteInPlace scripts/galera_new_cluster.sh \ @@ -197,7 +199,7 @@ let "-DWITHOUT_EXAMPLE=1" "-DWITHOUT_FEDERATED=1" "-DWITHOUT_TOKUDB=1" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [ + ] ++ lib.optionals withNuma [ "-DWITH_NUMA=ON" ] ++ lib.optionals (!withStorageMroonga) [ "-DWITHOUT_MROONGA=1" diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 93df798c8bcb6..c5e08b8279a3a 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -207,45 +207,45 @@ let in self: { postgresql_11 = self.callPackage generic { - version = "11.18"; + version = "11.19"; psqlSchema = "11.1"; # should be 11, but changing it is invasive - hash = "sha256-0k8g78UukYrPvMoh6c6ijg4mO4RqDECPz6w7PEoPdQQ="; + hash = "sha256-ExCeK3HxE5QFwnIB2jczphrOcu4cIo2cnwMg4GruFMI="; this = self.postgresql_11; thisAttr = "postgresql_11"; inherit self; }; postgresql_12 = self.callPackage generic { - version = "12.13"; + version = "12.14"; psqlSchema = "12"; - hash = "sha256-tsYjBGr0VI8RqEtAeTTWddEe0HDHk9FbBGg79fMi4C0="; + hash = "sha256-eFYQI304LIQtNW40cTjljAb/6uJA5swLUqxevMMNBD4="; this = self.postgresql_12; thisAttr = "postgresql_12"; inherit self; }; postgresql_13 = self.callPackage generic { - version = "13.9"; + version = "13.10"; psqlSchema = "13"; - hash = "sha256-7xlmwKXkn77TNwrSgkkoy2sRZGF67q4WBtooP38zpBU="; + hash = "sha256-W7z1pW2FxE86iwWPtGhi/0nLyRg00H4pXQLm3jwhbfI="; this = self.postgresql_13; thisAttr = "postgresql_13"; inherit self; }; postgresql_14 = self.callPackage generic { - version = "14.6"; + version = "14.7"; psqlSchema = "14"; - hash = "sha256-UIhA/BgJ05q3InTV8Tfau5/X+0+TPaQWiu67IAae3yI="; + hash = "sha256-zvYPAJj6gQHBVG9CVORbcir1QxM3lFs3ryBwB2MNszE="; this = self.postgresql_14; thisAttr = "postgresql_14"; inherit self; }; postgresql_15 = self.callPackage generic { - version = "15.1"; + version = "15.2"; psqlSchema = "15"; - hash = "sha256-ZP3yPXNK+tDf5Ad9rKlqxR3NaX5ori09TKbEXLFOIa4="; + hash = "sha256-maIXH8PWtbX1a3V6ejy4XVCaOOQnOAXe8jlB7SuEaMc="; this = self.postgresql_15; thisAttr = "postgresql_15"; inherit self; diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix index 833d31de40131..e9db31f792ff6 100644 --- a/pkgs/servers/tvheadend/default.nix +++ b/pkgs/servers/tvheadend/default.nix @@ -78,6 +78,8 @@ in stdenv.mkDerivation { NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" "-Wno-error=stringop-truncation" + # Needed with GCC 12 + "-Wno-error=use-after-free" ]; configureFlags = [ diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix index 2d132b389be68..3cf65e990795a 100644 --- a/pkgs/servers/x11/quartz-wm/default.nix +++ b/pkgs/servers/x11/quartz-wm/default.nix @@ -12,6 +12,7 @@ in stdenv.mkDerivation { ./no_title_crash.patch ./extern-patch.patch ]; + configureFlags = [ "--enable-xplugin-dock-support" ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ xorg.libXinerama diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 0907d814171f9..c7aa09f7033f5 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -22,18 +22,18 @@ self: with self; { }) {}; # THIS IS A GENERATED FILE. DO NOT EDIT! - bdftopcf = callPackage ({ stdenv, pkg-config, fetchurl }: stdenv.mkDerivation { + bdftopcf = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto }: stdenv.mkDerivation { pname = "bdftopcf"; - version = "1.1"; + version = "1.1.1"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2"; - sha256 = "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab"; + url = "https://xorg.freedesktop.org/archive/individual/util/bdftopcf-1.1.1.tar.xz"; + sha256 = "026rzs92h9jsc7r0kvvyvwhm22q0805gp38rs14x6ghg7kam7j8i"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ]; + buildInputs = [ xorgproto ]; meta.platforms = lib.platforms.unix; }) {}; @@ -178,11 +178,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! fontalias = callPackage ({ stdenv, pkg-config, fetchurl }: stdenv.mkDerivation { pname = "font-alias"; - version = "1.0.3"; + version = "1.0.4"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/font/font-alias-1.0.3.tar.bz2"; - sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb"; + url = "mirror://xorg/individual/font/font-alias-1.0.4.tar.bz2"; + sha256 = "0xjjjindczv3g7m1597l0x19zz75xy70wh5garghz61fpzl1l4gk"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; @@ -696,11 +696,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! fontutil = callPackage ({ stdenv, pkg-config, fetchurl }: stdenv.mkDerivation { pname = "font-util"; - version = "1.3.1"; + version = "1.3.3"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/font/font-util-1.3.1.tar.bz2"; - sha256 = "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma"; + url = "mirror://xorg/individual/font/font-util-1.3.3.tar.xz"; + sha256 = "1lpb5qd2drilql4wl644m682hvmv67hdbbisnrm0ah4wfy8ci4g7"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; @@ -890,18 +890,18 @@ self: with self; { }) {}; # THIS IS A GENERATED FILE. DO NOT EDIT! - libX11 = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libxcb, xtrans }: stdenv.mkDerivation { + libX11 = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libpthreadstubs, libxcb, xtrans }: stdenv.mkDerivation { pname = "libX11"; - version = "1.8.1"; + version = "1.8.3"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/lib/libX11-1.8.1.tar.xz"; - sha256 = "1xyry8i7zqmlkvpbyyqwi18rrdw6ycczlvfp63rh2570pfhimi0v"; + url = "mirror://xorg/individual/lib/libX11-1.8.3.tar.xz"; + sha256 = "1gc5cnfys48m1y9y1cidph89fww5c209qff93phbidh68346a5g3"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto libxcb xtrans ]; + buildInputs = [ xorgproto libpthreadstubs libxcb xtrans ]; meta.platforms = lib.platforms.unix; }) {}; @@ -1516,11 +1516,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! lndir = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto }: stdenv.mkDerivation { pname = "lndir"; - version = "1.0.3"; + version = "1.0.4"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/util/lndir-1.0.3.tar.bz2"; - sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"; + url = "mirror://xorg/individual/util/lndir-1.0.4.tar.xz"; + sha256 = "11syg5hx3f7m1d2p7zw717lryk819h6wk8h4vmapfdxvsflkfd1y"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; @@ -3436,11 +3436,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! xset = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXext, libXmu, xorgproto, libXxf86misc }: stdenv.mkDerivation { pname = "xset"; - version = "1.2.4"; + version = "1.2.5"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/app/xset-1.2.4.tar.bz2"; - sha256 = "0my987wjvra7l92ry6q44ky383yg3phzxhdbn3lqhapm1ll9bzg4"; + url = "mirror://xorg/individual/app/xset-1.2.5.tar.xz"; + sha256 = "0bsyyx3k32k9vpb8x3ks7hlfr03nm0i14fv3cg6n4f2vcdajsscz"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index b0530977f7e24..1b4b5e000b78d 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -26,7 +26,7 @@ self: super: { wrapWithXFileSearchPathHook = callPackage ({ makeBinaryWrapper, makeSetupHook, writeScript }: makeSetupHook { name = "wrapWithXFileSearchPathHook"; - deps = [ makeBinaryWrapper ]; + propagatedBuildInputs = [ makeBinaryWrapper ]; } (writeScript "wrapWithXFileSearchPathHook.sh" '' wrapWithXFileSearchPath() { paths=( @@ -184,6 +184,7 @@ self: super: propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.libSM ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; CPP = if stdenv.isDarwin then "clang -E -" else "${stdenv.cc.targetPrefix}cc -E -"; + outputDoc = "devdoc"; outputs = [ "out" "dev" "devdoc" ]; }); @@ -591,6 +592,7 @@ self: super: xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: { buildInputs = attrs.buildInputs ++ [ mesa mesa.driversdev llvm ]; # for libxatracker + NIX_CFLAGS_COMPILE = [ "-Wno-error=address" ]; # gcc12 meta = attrs.meta // { platforms = ["i686-linux" "x86_64-linux"]; }; @@ -739,35 +741,24 @@ self: super: attrs = if (abiCompat == null || lib.hasPrefix abiCompat version) then attrs_passed // { - buildInputs = attrs_passed.buildInputs ++ [ libdrm.dev ]; postPatch = '' - for i in dri3/*.c - do - sed -i -e "s|#include |#include |" $i - done - '';} - else if (abiCompat == "1.18") then { - name = "xorg-server-1.18.4"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/xserver/xorg-server-1.18.4.tar.bz2"; - sha256 = "1j1i3n5xy1wawhk95kxqdc54h34kg7xp4nnramba2q8xqfr5k117"; - }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; - postPatch = lib.optionalString stdenv.isLinux "sed '1i#include ' -i include/os.h"; - meta.platforms = lib.platforms.unix; - meta.broken = stdenv.isDarwin; - } else throw "unsupported xorg abiCompat ${abiCompat} for ${attrs_passed.name}"; + buildInputs = attrs_passed.buildInputs ++ + lib.optional (libdrm != null) libdrm.dev; + postPatch = '' + for i in dri3/*.c + do + sed -i -e "s|#include |#include |" $i + done + ''; + } + else throw "unsupported xorg abiCompat ${abiCompat} for ${attrs_passed.name}"; in attrs // (let version = lib.getVersion attrs; commonBuildInputs = attrs.buildInputs ++ [ xtrans ]; commonPropagatedBuildInputs = [ - zlib libGL libGLU dbus - xorgproto - libXext pixman libXfont libxshmfence libunwind - libXfont2 + dbus libGL libGLU libXext libXfont libXfont2 libepoxy libunwind + libxshmfence pixman xorgproto zlib ]; # XQuartz requires two compilations: the first to get X / XQuartz, # and the second to get Xvfb, Xnest, etc. @@ -861,9 +852,14 @@ self: super: url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/ccdd431cd8f1cabae9d744f0514b6533c438908c.diff"; sha256 = "sha256-IGPsjS7KgRPLrs1ImBXvIFCa8Iu5ZiAHRZvHlBYP8KQ="; }) + (fetchpatch { + name = "CVE-2023-0494.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/0ba6d8c37071131a49790243cdac55392ecf71ec.diff"; + sha256 = "sha256-/+IuGk09OYVEIB/Y+DTKf7kfHyukEFX/6u1FDIGJieY="; + }) ]; buildInputs = commonBuildInputs ++ [ libdrm mesa ]; - propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess libepoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ udev ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -886,6 +882,11 @@ self: super: "--disable-tls" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + postInstall = '' rm -fr $out/share/X11/xkb/compiled # otherwise X will try to write in it ( # assert() keeps runtime reference xorgserver-dev in xf86-video-intel and others @@ -897,7 +898,7 @@ self: super: ''; passthru.version = version; # needed by virtualbox guest additions } else { - nativeBuildInputs = attrs.nativeBuildInputs ++ [ autoreconfHook xorg.utilmacros xorg.fontutil ]; + nativeBuildInputs = attrs.nativeBuildInputs ++ [ autoreconfHook bootstrap_cmds xorg.utilmacros xorg.fontutil ]; buildInputs = commonBuildInputs ++ [ bootstrap_cmds automake autoconf Xplugin Carbon Cocoa @@ -933,6 +934,7 @@ self: super: configureFlags = [ # note: --enable-xquartz is auto "CPPFLAGS=-I${./darwin/dri}" + "--disable-glamor" "--with-default-font-path=" "--with-apple-application-name=XQuartz" "--with-apple-applications-dir=\${out}/Applications" @@ -993,7 +995,7 @@ self: super: xinit = (super.xinit.override { stdenv = if isDarwin then clangStdenv else stdenv; }).overrideAttrs (attrs: { - buildInputs = attrs.buildInputs ++ lib.optional isDarwin bootstrap_cmds; + nativeBuildInputs = attrs.nativeBuildInputs ++ lib.optional isDarwin bootstrap_cmds; depsBuildBuild = [ buildPackages.stdenv.cc ]; configureFlags = [ "--with-xserver=${xorg.xorgserver.out}/bin/X" diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 9a82416d30508..fbf70b14ac40d 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -8,7 +8,7 @@ https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2 https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2 https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 mirror://xorg/individual/app/appres-1.0.5.tar.bz2 -mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2 +https://xorg.freedesktop.org/archive/individual/util/bdftopcf-1.1.1.tar.xz mirror://xorg/individual/app/bitmap-1.0.9.tar.gz mirror://xorg/individual/app/editres-1.0.7.tar.bz2 mirror://xorg/individual/app/fonttosfnt-1.2.2.tar.bz2 @@ -64,7 +64,7 @@ mirror://xorg/individual/app/xprop-1.2.6.tar.xz mirror://xorg/individual/app/xrandr-1.5.1.tar.xz mirror://xorg/individual/app/xrdb-1.2.1.tar.bz2 mirror://xorg/individual/app/xrefresh-1.0.6.tar.bz2 -mirror://xorg/individual/app/xset-1.2.4.tar.bz2 +mirror://xorg/individual/app/xset-1.2.5.tar.xz mirror://xorg/individual/app/xsetroot-1.1.2.tar.bz2 mirror://xorg/individual/app/xsm-1.0.4.tar.bz2 mirror://xorg/individual/app/xstdcmap-1.0.4.tar.bz2 @@ -135,7 +135,7 @@ mirror://xorg/individual/font/font-adobe-75dpi-1.0.3.tar.bz2 mirror://xorg/individual/font/font-adobe-utopia-100dpi-1.0.4.tar.bz2 mirror://xorg/individual/font/font-adobe-utopia-75dpi-1.0.4.tar.bz2 mirror://xorg/individual/font/font-adobe-utopia-type1-1.0.4.tar.bz2 -mirror://xorg/individual/font/font-alias-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-alias-1.0.4.tar.bz2 mirror://xorg/individual/font/font-arabic-misc-1.0.3.tar.bz2 mirror://xorg/individual/font/font-bh-100dpi-1.0.3.tar.bz2 mirror://xorg/individual/font/font-bh-75dpi-1.0.3.tar.bz2 @@ -163,7 +163,7 @@ mirror://xorg/individual/font/font-schumacher-misc-1.1.2.tar.bz2 mirror://xorg/individual/font/font-screen-cyrillic-1.0.4.tar.bz2 mirror://xorg/individual/font/font-sony-misc-1.0.3.tar.bz2 mirror://xorg/individual/font/font-sun-misc-1.0.3.tar.bz2 -mirror://xorg/individual/font/font-util-1.3.1.tar.bz2 +mirror://xorg/individual/font/font-util-1.3.3.tar.xz mirror://xorg/individual/font/font-winitzki-cyrillic-1.0.3.tar.bz2 mirror://xorg/individual/font/font-xfree86-type1-1.0.4.tar.bz2 mirror://xorg/individual/lib/libAppleWM-1.4.1.tar.bz2 @@ -174,7 +174,7 @@ mirror://xorg/individual/lib/libICE-1.0.10.tar.bz2 mirror://xorg/individual/lib/libpciaccess-0.16.tar.bz2 mirror://xorg/individual/lib/libSM-1.2.3.tar.bz2 mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2 -mirror://xorg/individual/lib/libX11-1.8.1.tar.xz +mirror://xorg/individual/lib/libX11-1.8.3.tar.xz mirror://xorg/individual/lib/libXau-1.0.9.tar.bz2 mirror://xorg/individual/lib/libXaw-1.0.14.tar.bz2 mirror://xorg/individual/lib/libxcb-1.14.tar.xz @@ -213,7 +213,7 @@ mirror://xorg/individual/proto/xcb-proto-1.14.1.tar.xz mirror://xorg/individual/proto/xorgproto-2021.5.tar.bz2 mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2 mirror://xorg/individual/util/imake-1.0.8.tar.bz2 -mirror://xorg/individual/util/lndir-1.0.3.tar.bz2 +mirror://xorg/individual/util/lndir-1.0.4.tar.xz mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2 mirror://xorg/individual/util/util-macros-1.19.3.tar.bz2 mirror://xorg/individual/util/xorg-cf-files-1.0.7.tar.bz2 diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix index 7735243d3babd..10e10eff07c60 100644 --- a/pkgs/shells/bash/5.nix +++ b/pkgs/shells/bash/5.nix @@ -37,6 +37,8 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "man" "doc" "info" ]; + separateDebugInfo = true; + NIX_CFLAGS_COMPILE = '' -DSYS_BASHRC="/etc/bashrc" -DSYS_BASH_LOGOUT="/etc/bash_logout" @@ -50,13 +52,14 @@ stdenv.mkDerivation rec { patchFlags = [ "-p0" ]; - patches = upstreamPatches - ++ [ ./pgrp-pipe-5.patch ] - ++ lib.optional stdenv.hostPlatform.isStatic (fetchurl { + patches = upstreamPatches ++ [ + ./pgrp-pipe-5.patch + (fetchurl { name = "fix-static.patch"; url = "https://cgit.freebsd.org/ports/plain/shells/bash/files/patch-configure?id=3e147a1f594751a68fea00a28090d0792bee0b51"; sha256 = "XHFMQ6eXTReNoywdETyrfQEv1rKF8+XFbQZP4YoVKFk="; - }); + }) + ]; configureFlags = [ (if interactive then "--with-installed-readline" else "--disable-readline") diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 46929315f07af..6cc6271eedbe6 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -736,6 +736,7 @@ rec { pcre.out gettext binutils.bintools + binutils.bintools.lib darwin.binutils darwin.binutils.bintools curl.out diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 08bd836e10e7b..c18e70212f985 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -18,33 +18,34 @@ let # separate lines, because Nix would only show the last line of the comment. # An infinite recursion here can be caused by having the attribute names of expression `e` in `.overrideAttrs(finalAttrs: previousAttrs: e)` depend on `finalAttrs`. Only the attribute values of `e` can depend on `finalAttrs`. - args = rattrs (args // { inherit finalPackage; }); + args = rattrs (args // { inherit finalPackage overrideAttrs; }); # ^^^^ - finalPackage = - mkDerivationSimple - (f0: - let - f = self: super: - # Convert f0 to an overlay. Legacy is: - # overrideAttrs (super: {}) - # We want to introduce self. We follow the convention of overlays: - # overrideAttrs (self: super: {}) - # Which means the first parameter can be either self or super. - # This is surprising, but far better than the confusion that would - # arise from flipping an overlay's parameters in some cases. - let x = f0 super; - in - if builtins.isFunction x - then - # Can't reuse `x`, because `self` comes first. - # Looks inefficient, but `f0 super` was a cheap thunk. - f0 self super - else x; + overrideAttrs = f0: + let + f = self: super: + # Convert f0 to an overlay. Legacy is: + # overrideAttrs (super: {}) + # We want to introduce self. We follow the convention of overlays: + # overrideAttrs (self: super: {}) + # Which means the first parameter can be either self or super. + # This is surprising, but far better than the confusion that would + # arise from flipping an overlay's parameters in some cases. + let x = f0 super; in - makeDerivationExtensible - (self: let super = rattrs self; in super // f self super)) - args; + if builtins.isFunction x + then + # Can't reuse `x`, because `self` comes first. + # Looks inefficient, but `f0 super` was a cheap thunk. + f0 self super + else x; + in + makeDerivationExtensible + (self: let super = rattrs self; in super // f self super); + + finalPackage = + mkDerivationSimple overrideAttrs args; + in finalPackage; # makeDerivationExtensibleConst == makeDerivationExtensible (_: attrs), @@ -173,6 +174,13 @@ let separateDebugInfo' = separateDebugInfo && stdenv.hostPlatform.isLinux && !(stdenv.hostPlatform.useLLVM or false); outputs' = outputs ++ lib.optional separateDebugInfo' "debug"; + # Turn a derivation into its outPath without a string context attached. + # See the comment at the usage site. + unsafeDerivationToUntrackedOutpath = drv: + if lib.isDerivation drv + then builtins.unsafeDiscardStringContext drv.outPath + else drv; + noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated ++ depsHostHost ++ depsHostHostPropagated ++ buildInputs ++ propagatedBuildInputs @@ -444,6 +452,40 @@ else let "/bin/sh" ]; __propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps; + } // + # If we use derivations directly here, they end up as build-time dependencies. + # This is especially problematic in the case of disallowed*, since the disallowed + # derivations will be built by nix as build-time dependencies, while those + # derivations might take a very long time to build, or might not even build + # successfully on the platform used. + # We can improve on this situation by instead passing only the outPath, + # without an attached string context, to nix. The out path will be a placeholder + # which will be replaced by the actual out path if the derivation in question + # is part of the final closure (and thus needs to be built). If it is not + # part of the final closure, then the placeholder will be passed along, + # but in that case we know for a fact that the derivation is not part of the closure. + # This means that passing the out path to nix does the right thing in either + # case, both for disallowed and allowed references/requisites, and we won't + # build the derivation if it wouldn't be part of the closure, saving time and resources. + # While the problem is less severe for allowed*, since we want the derivation + # to be built eventually, we would still like to get the error early and without + # having to wait while nix builds a derivation that might not be used. + # See also https://github.com/NixOS/nix/issues/4629 + lib.optionalAttrs (attrs ? disallowedReferences) { + disallowedReferences = + map unsafeDerivationToUntrackedOutpath attrs.disallowedReferences; + } // + lib.optionalAttrs (attrs ? disallowedRequisites) { + disallowedRequisites = + map unsafeDerivationToUntrackedOutpath attrs.disallowedRequisites; + } // + lib.optionalAttrs (attrs ? allowedReferences) { + allowedReferences = + lib.mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedReferences; + } // + lib.optionalAttrs (attrs ? allowedRequisites) { + allowedRequisites = + lib.mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedRequisites; }; validity = checkMeta { inherit meta attrs; }; diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index b1b982ecdffc1..1a637bf13fdd2 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -28,10 +28,16 @@ if [ -n "$__structuredAttrs" ]; then # ex: out=/nix/store/... export "$outputName=${outputs[$outputName]}" done - # $NIX_ATTRS_JSON_FILE points to the wrong location in sandbox - # https://github.com/NixOS/nix/issues/6736 - export NIX_ATTRS_JSON_FILE="$NIX_BUILD_TOP/.attrs.json" - export NIX_ATTRS_SH_FILE="$NIX_BUILD_TOP/.attrs.sh" + + # $NIX_ATTRS_JSON_FILE pointed to the wrong location in sandbox + # https://github.com/NixOS/nix/issues/6736; please keep around until the + # fix reaches *every patch version* that's >= lib/minver.nix + if ! [[ -e "$NIX_ATTRS_JSON_FILE" ]]; then + export NIX_ATTRS_JSON_FILE="$NIX_BUILD_TOP/.attrs.json" + fi + if ! [[ -e "$NIX_ATTRS_SH_FILE" ]]; then + export NIX_ATTRS_SH_FILE="$NIX_BUILD_TOP/.attrs.sh" + fi else : "${outputs:=out}" fi @@ -989,16 +995,58 @@ stripHash() { } +recordPropagatedDependencies() { + # Propagate dependencies into the development output. + declare -ra flatVars=( + # Build + depsBuildBuildPropagated + propagatedNativeBuildInputs + depsBuildTargetPropagated + # Host + depsHostHostPropagated + propagatedBuildInputs + # Target + depsTargetTargetPropagated + ) + declare -ra flatFiles=( + "${propagatedBuildDepFiles[@]}" + "${propagatedHostDepFiles[@]}" + "${propagatedTargetDepFiles[@]}" + ) + + local propagatedInputsIndex + for propagatedInputsIndex in "${!flatVars[@]}"; do + local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]" + local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}" + + [[ "${!propagatedInputsSlice}" ]] || continue + + mkdir -p "${!outputDev}/nix-support" + # shellcheck disable=SC2086 + printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile" + done +} + + unpackCmdHooks+=(_defaultUnpack) _defaultUnpack() { local fn="$1" + local destination if [ -d "$fn" ]; then + destination="$(stripHash "$fn")" + + if [ -e "$destination" ]; then + echo "Cannot copy $fn to $destination: destination already exists!" + echo "Did you specify two \"srcs\" with the same \"name\"?" + return 1 + fi + # We can't preserve hardlinks because they may have been # introduced by store optimization, which might break things # in the build. - cp -pr --reflink=auto -- "$fn" "$(stripHash "$fn")" + cp -pr --reflink=auto -- "$fn" "$destination" else @@ -1364,36 +1412,8 @@ fixupPhase() { done - # Propagate dependencies & setup hook into the development output. - declare -ra flatVars=( - # Build - depsBuildBuildPropagated - propagatedNativeBuildInputs - depsBuildTargetPropagated - # Host - depsHostHostPropagated - propagatedBuildInputs - # Target - depsTargetTargetPropagated - ) - declare -ra flatFiles=( - "${propagatedBuildDepFiles[@]}" - "${propagatedHostDepFiles[@]}" - "${propagatedTargetDepFiles[@]}" - ) - - local propagatedInputsIndex - for propagatedInputsIndex in "${!flatVars[@]}"; do - local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]" - local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}" - - [[ "${!propagatedInputsSlice}" ]] || continue - - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile" - done - + # record propagated dependencies & setup hook into the development output. + recordPropagatedDependencies if [ -n "${setupHook:-}" ]; then mkdir -p "${!outputDev}/nix-support" diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 39039c5950e46..71d065179d172 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -61,6 +61,8 @@ with pkgs; nixos-functions = callPackage ./nixos-functions {}; + overriding = callPackage ./overriding.nix { }; + patch-shebangs = callPackage ./patch-shebangs {}; texlive = callPackage ./texlive {}; diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix new file mode 100644 index 0000000000000..edc1b27cf4f1d --- /dev/null +++ b/pkgs/test/overriding.nix @@ -0,0 +1,56 @@ +{ lib, pkgs, stdenvNoCC }: + +let + tests = + let + p = pkgs.python3Packages.xpybutil.overridePythonAttrs (_: { dontWrapPythonPrograms = true; }); + in + [ + ({ + name = "overridePythonAttrs"; + expr = !lib.hasInfix "wrapPythonPrograms" p.postFixup; + expected = true; + }) + ({ + name = "repeatedOverrides-pname"; + expr = repeatedOverrides.pname == "a-better-hello-with-blackjack"; + expected = true; + }) + ({ + name = "repeatedOverrides-entangled-pname"; + expr = repeatedOverrides.entangled.pname == "a-better-figlet-with-blackjack"; + expected = true; + }) + ]; + + addEntangled = origOverrideAttrs: f: + origOverrideAttrs ( + lib.composeExtensions f (self: super: { + passthru = super.passthru // { + entangled = super.passthru.entangled.overrideAttrs f; + overrideAttrs = addEntangled self.overrideAttrs; + }; + }) + ); + + entangle = pkg1: pkg2: pkg1.overrideAttrs (self: super: { + passthru = super.passthru // { + entangled = pkg2; + overrideAttrs = addEntangled self.overrideAttrs; + }; + }); + + example = entangle pkgs.hello pkgs.figlet; + + overrides1 = example.overrideAttrs (_: super: { pname = "a-better-${super.pname}"; }); + + repeatedOverrides = overrides1.overrideAttrs (_: super: { pname = "${super.pname}-with-blackjack"; }); +in + +stdenvNoCC.mkDerivation { + name = "test-overriding"; + passthru = { inherit tests; }; + buildCommand = '' + touch $out + '' + lib.concatMapStringsSep "\n" (t: "([[ ${lib.boolToString t.expr} == ${lib.boolToString t.expected} ]] && echo '${t.name} success') || (echo '${t.name} fail' && exit 1)") tests; +} diff --git a/pkgs/test/stdenv/hooks.nix b/pkgs/test/stdenv/hooks.nix index 7f25d7dbd2db0..3d72efae6c479 100644 --- a/pkgs/test/stdenv/hooks.nix +++ b/pkgs/test/stdenv/hooks.nix @@ -23,19 +23,29 @@ }; make-symlinks-relative = stdenv.mkDerivation { name = "test-make-symlinks-relative"; + outputs = [ "out" "man" ]; buildCommand = '' mkdir -p $out/{bar,baz} + mkdir -p $man/share/{x,y} source1="$out/bar/foo" destination1="$out/baz/foo" + source2="$man/share/x/file1" + destination2="$man/share/y/file2" echo foo > $source1 + echo foo > $source2 ln -s $source1 $destination1 + ln -s $source2 $destination2 echo "symlink before patching: $(readlink $destination1)" + echo "symlink before patching: $(readlink $destination2)" - _makeSymlinksRelative + _makeSymlinksRelativeInAllOutputs echo "symlink after patching: $(readlink $destination1)" ([[ -e $destination1 ]] && echo "symlink isn't broken") || (echo "symlink is broken" && exit 1) ([[ $(readlink $destination1) == "../bar/foo" ]] && echo "absolute symlink was made relative") || (echo "symlink was not made relative" && exit 1) + echo "symlink after patching: $(readlink $destination2)" + ([[ -e $destination2 ]] && echo "symlink isn't broken") || (echo "symlink is broken" && exit 1) + ([[ $(readlink $destination2) == "../x/file1" ]] && echo "absolute symlink was made relative") || (echo "symlink was not made relative" && exit 1) ''; }; move-docs = stdenv.mkDerivation { diff --git a/pkgs/tools/X11/arandr/default.nix b/pkgs/tools/X11/arandr/default.nix index 0d8303c0df46f..6c4c89e888875 100644 --- a/pkgs/tools/X11/arandr/default.nix +++ b/pkgs/tools/X11/arandr/default.nix @@ -27,10 +27,6 @@ buildPythonApplication rec { # no tests doCheck = false; - # hook for gobject-introspection doesn't like strictDeps - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - buildInputs = [ docutils gsettings-desktop-schemas gtk3 ]; nativeBuildInputs = [ gobject-introspection wrapGAppsHook ]; propagatedBuildInputs = [ xrandr pygobject3 ]; diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index e4933986176e8..2c282514d330c 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -34,7 +34,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-77X+AvHFWfYYIio3c+EYf11jg/1IbYhNUweRIDHMOZw="; }; - patches = [ (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/TigerVNC/tigervnc/pull/1383.patch"; @@ -65,6 +64,10 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "out"}/bin" ]; + NIX_CFLAGS_COMPILE = [ + "-Wno-error=array-bounds" + ]; + postBuild = lib.optionalString stdenv.isLinux '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=int-to-pointer-cast -Wno-error=pointer-to-int-cast" export CXXFLAGS="$CXXFLAGS -fpermissive" diff --git a/pkgs/tools/archivers/arc_unpacker/default.nix b/pkgs/tools/archivers/arc_unpacker/default.nix index ab018fde3d64e..2ade0f88a8d0d 100644 --- a/pkgs/tools/archivers/arc_unpacker/default.nix +++ b/pkgs/tools/archivers/arc_unpacker/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { postPatch = '' cp ${catch2}/include/catch2/catch.hpp tests/test_support/catch.h + sed '1i#include ' -i src/dec/eagls/pak_archive_decoder.cc # gcc12 ''; checkPhase = '' diff --git a/pkgs/tools/audio/beets/common.nix b/pkgs/tools/audio/beets/common.nix index 4cfef4657e378..b3eefbf9cba61 100644 --- a/pkgs/tools/audio/beets/common.nix +++ b/pkgs/tools/audio/beets/common.nix @@ -61,7 +61,6 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ confuse - gobject-introspection gst-python jellyfish mediafile @@ -74,7 +73,6 @@ python3Packages.buildPythonApplication rec { unidecode ] ++ (concatMap (p: p.propagatedBuildInputs) (attrValues enabledPlugins)); - # see: https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-1131643663 nativeBuildInputs = [ gobject-introspection sphinxHook diff --git a/pkgs/tools/audio/mpdris2/default.nix b/pkgs/tools/audio/mpdris2/default.nix index a367da9828ed0..fd8618d6243d9 100644 --- a/pkgs/tools/audio/mpdris2/default.nix +++ b/pkgs/tools/audio/mpdris2/default.nix @@ -13,7 +13,6 @@ python3.pkgs.buildPythonApplication rec { pname = "mpDris2"; version = "0.9.1"; format = "other"; - strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 src = fetchFromGitHub { owner = "eonpatapon"; diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix index 35685fd5fb2f5..0c051047c0fc3 100644 --- a/pkgs/tools/audio/mpris-scrobbler/default.nix +++ b/pkgs/tools/audio/mpris-scrobbler/default.nix @@ -53,14 +53,17 @@ stdenv.mkDerivation rec { "-Dversion=${version}" ]; - NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [ + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=address" + ] ++ lib.optionals stdenv.isDarwin [ "-Wno-sometimes-uninitialized" "-Wno-tautological-pointer-compare" ] ++ lib.optionals stdenv.isLinux [ "-Wno-array-bounds" "-Wno-free-nonheap-object" "-Wno-stringop-truncation" - ]); + ]; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/tools/filesystems/blobfuse/default.nix b/pkgs/tools/filesystems/blobfuse/default.nix index a620a07d4753e..b9bed9cc20c06 100644 --- a/pkgs/tools/filesystems/blobfuse/default.nix +++ b/pkgs/tools/filesystems/blobfuse/default.nix @@ -24,7 +24,11 @@ in stdenv.mkDerivation rec { pname = "blobfuse"; inherit version src; - NIX_CFLAGS_COMPILE = "-Wno-error=catch-value"; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" + "-Wno-error=catch-value" + ]; buildInputs = [ curl gnutls libgcrypt libuuid fuse boost cpplite ]; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index d9ec176220baf..e2677957e9cdf 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, runCommand, fetchurl +{ lib, stdenv, runCommand, fetchurl, fetchpatch , ensureNewerSourcesHook , cmake, pkg-config , which, git @@ -152,6 +152,21 @@ in rec { patches = [ ./0000-fix-SPDK-build-env.patch + # pacific: include/buffer: include + # fixes build with gcc 12 + # https://github.com/ceph/ceph/pull/47295 + (fetchpatch { + url = "https://github.com/ceph/ceph/pull/47295/commits/df88789a38c053513d3b2a9b7d12a952fc0c9042.patch"; + hash = "sha256-je65kBfa5hR0ZKo6ZI10XmD5ZUbKj5rxlGxxI9ZJVfo="; + }) + (fetchpatch { + url = "https://github.com/ceph/ceph/pull/47295/commits/2abcbe4e47705e6e0fcc7d9d9b75625f563199af.patch"; + hash = "sha256-8sWQKoZNHuGuhzX/F+3fY4+kjsrwsfoMdVpfVSj2x5w="; + }) + (fetchpatch { + url = "https://github.com/ceph/ceph/pull/47295/commits/13dc077cf6c65a3b8c4f13d896847b9964b3fcbb.patch"; + hash = "sha256-byfiZh9OJrux/y5m3QCPg0LET6q33ZDXmp/CN+yOSQQ="; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/tools/filesystems/idsk/default.nix b/pkgs/tools/filesystems/idsk/default.nix index 39052ecba9356..34a32c4a6dfe7 100644 --- a/pkgs/tools/filesystems/idsk/default.nix +++ b/pkgs/tools/filesystems/idsk/default.nix @@ -14,6 +14,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 12 but breaks on darwin (with clang) + "-std=c++14" + ]; + installPhase = '' mkdir -p $out/bin cp iDSK $out/bin diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix index 2b17fa796e845..f060216935047 100644 --- a/pkgs/tools/graphics/argyllcms/default.nix +++ b/pkgs/tools/graphics/argyllcms/default.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { LINKFLAGS += ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} - -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss + -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -ljpeg -ltiff -lpng -lssl ; ''; in '' diff --git a/pkgs/tools/graphics/libyafaray/default.nix b/pkgs/tools/graphics/libyafaray/default.nix index db48aa678cc55..22bbfddbcf5d4 100644 --- a/pkgs/tools/graphics/libyafaray/default.nix +++ b/pkgs/tools/graphics/libyafaray/default.nix @@ -26,6 +26,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-UVBA1vXOuLg4RT+BdF4rhbZ6I9ySeZX0N81gh3MH84I="; }; + postPatch = '' + sed '1i#include ' -i \ + include/geometry/poly_double.h include/noise/noise_generator.h # gcc12 + ''; + preConfigure = '' NIX_CFLAGS_COMPILE+=" -isystem ${ilmbase.dev}/include/OpenEXR" ''; diff --git a/pkgs/tools/graphics/pikchr/default.nix b/pkgs/tools/graphics/pikchr/default.nix index aed3d485c4ad2..d750d243fc36c 100644 --- a/pkgs/tools/graphics/pikchr/default.nix +++ b/pkgs/tools/graphics/pikchr/default.nix @@ -1,6 +1,9 @@ { lib , stdenv , fetchfossil +, tcl + +, enableTcl ? true }: stdenv.mkDerivation { @@ -19,14 +22,27 @@ stdenv.mkDerivation { substituteInPlace Makefile --replace open "test -f" ''; + nativeBuildInputs = lib.optional enableTcl tcl.tclPackageHook; + + buildInputs = lib.optional enableTcl tcl; + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + buildFlags = [ "pikchr" ] ++ lib.optional enableTcl "piktcl"; + installPhase = '' + runHook preInstall install -Dm755 pikchr $out/bin/pikchr install -Dm755 pikchr.out $out/lib/pikchr.o install -Dm644 pikchr.h $out/include/pikchr.h + '' + lib.optionalString enableTcl '' + cp -r piktcl $out/lib/piktcl + '' + '' + runHook postInstall ''; + dontWrapTclBinaries = true; + doCheck = true; checkTarget = "test"; diff --git a/pkgs/tools/graphics/spirv-cross/default.nix b/pkgs/tools/graphics/spirv-cross/default.nix index 4a75e28deb8ac..b66c2d0a7590f 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.236.0"; + version = "1.3.239.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Cross"; rev = "sdk-${finalAttrs.version}"; - hash = "sha256-zx/fjDKgteWizC3O1bL4WSwwPNw2/2m0xCnCiOttgAo="; + hash = "sha256-Awtsz4iMuS3JuvaYHRxjo56EnnZPjo9YGfeYAi7lmJY="; }; nativeBuildInputs = [ cmake python3 ]; diff --git a/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/pkgs/tools/graphics/vulkan-extension-layer/default.nix index bf60e8ed85f32..63d763a893daf 100644 --- a/pkgs/tools/graphics/vulkan-extension-layer/default.nix +++ b/pkgs/tools/graphics/vulkan-extension-layer/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "vulkan-extension-layer"; - version = "1.3.236.0"; + version = "1.3.239.0"; src = (assert version == vulkan-headers.version; fetchFromGitHub { owner = "KhronosGroup"; repo = "Vulkan-ExtensionLayer"; rev = "sdk-${version}"; - hash = "sha256-NlBS7UuV2AZPY5VyoqTnTf63M7fHIPQDZRtMZ4XwMzA="; + hash = "sha256-0t9HGyiYk3twYQLFCcWsrPiXY1dqjdCadjP4yMLoFwA="; }); nativeBuildInputs = [ cmake jq ]; diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix index 11cef8eeb886b..ec1862df9cd77 100644 --- a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix +++ b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix @@ -10,6 +10,7 @@ , libXrandr , libffi , libxcb +, pkg-config , wayland , which , xcbutilkeysyms @@ -24,18 +25,18 @@ stdenv.mkDerivation rec { pname = "vulkan-tools-lunarg"; # The version must match that in vulkan-headers - version = "1.3.236.0"; + version = "1.3.239.0"; src = (assert version == vulkan-headers.version; fetchFromGitHub { owner = "LunarG"; repo = "VulkanTools"; rev = "sdk-${version}"; - hash = "sha256-0dGD3InmEd9hO8+uVGMqBHXXfyX8tswyuOaZCftudz0="; + hash = "sha256-zgkuTy9ccg8D/riA1CM/PnbXW1R0jWEINtcEVilETwk="; fetchSubmodules = true; }); - nativeBuildInputs = [ cmake python3 jq which ]; + nativeBuildInputs = [ cmake python3 jq which pkg-config ]; buildInputs = [ expat diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix index 8e94997db6c8e..da84038fd0fdb 100644 --- a/pkgs/tools/graphics/vulkan-tools/default.nix +++ b/pkgs/tools/graphics/vulkan-tools/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { pname = "vulkan-tools"; - version = "1.3.236.0"; + version = "1.3.239.0"; # It's not strictly necessary to have matching versions here, however # since we're using the SDK version we may as well be consistent with @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { owner = "KhronosGroup"; repo = "Vulkan-Tools"; rev = "sdk-${version}"; - hash = "sha256-PmNTpdAkXJkARLohRtUOuKTZPoKgeVF4DAo1wsAq5xE="; + hash = "sha256-DQGwxTZzS0eATKodMpeJaQdXADvomiqPOspDYoPFZjI="; }); nativeBuildInputs = [ diff --git a/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch b/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch index 5cbcec6a8a145..5d09bff9c958c 100644 --- a/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch +++ b/pkgs/tools/graphics/vulkan-tools/use-nix-moltenvk.patch @@ -1,8 +1,8 @@ diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt -index 616fbc96..d2811c8d 100644 +index a2f026e7..327f5dba 100644 --- a/cube/CMakeLists.txt +++ b/cube/CMakeLists.txt -@@ -262,14 +262,7 @@ else() +@@ -257,14 +257,7 @@ else() endif() if(APPLE) @@ -18,7 +18,7 @@ index 616fbc96..d2811c8d 100644 else() install(TARGETS vkcube RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() -@@ -309,14 +302,7 @@ else() +@@ -302,14 +295,7 @@ else() endif() if(APPLE) @@ -35,10 +35,10 @@ index 616fbc96..d2811c8d 100644 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..238c3e67 100644 +index 9b823f95..0c43a2c9 100644 --- a/cube/macOS/cube/cube.cmake +++ b/cube/macOS/cube/cube.cmake -@@ -72,12 +69,14 @@ set_source_files_properties("${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json" +@@ -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 @@ -56,10 +56,10 @@ index 9b823f95..238c3e67 100644 DEPENDS vulkan) endif() diff --git a/cube/macOS/cubepp/cubepp.cmake b/cube/macOS/cubepp/cubepp.cmake -index eae4de3c..0acd18f9 100644 +index eae4de3c..e528ae26 100644 --- a/cube/macOS/cubepp/cubepp.cmake +++ b/cube/macOS/cubepp/cubepp.cmake -@@ -74,12 +71,14 @@ set_source_files_properties("${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json" +@@ -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 @@ -107,10 +107,10 @@ index bad3c414..b498906d 100644 find_library(COCOA NAMES Cocoa) diff --git a/vulkaninfo/CMakeLists.txt b/vulkaninfo/CMakeLists.txt -index fb236a5b..3c8270d4 100644 +index d23dcf89..32aa0ebb 100644 --- a/vulkaninfo/CMakeLists.txt +++ b/vulkaninfo/CMakeLists.txt -@@ -139,9 +139,4 @@ elseif(APPLE) +@@ -136,9 +136,5 @@ elseif(APPLE) add_definitions(-DVK_USE_PLATFORM_MACOS_MVK -DVK_USE_PLATFORM_METAL_EXT) endif() @@ -119,37 +119,5 @@ index fb236a5b..3c8270d4 100644 -else() - install(TARGETS vulkaninfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() -- +install(TARGETS vulkaninfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/vulkaninfo/macOS/vulkaninfo.cmake b/vulkaninfo/macOS/vulkaninfo.cmake -index 9614530e..56af3b89 100644 ---- a/vulkaninfo/macOS/vulkaninfo.cmake -+++ b/vulkaninfo/macOS/vulkaninfo.cmake -@@ -48,26 +48,4 @@ set_source_files_properties(${CMAKE_BINARY_DIR}/staging-json/MoltenVK_icd.json - MACOSX_PACKAGE_LOCATION - "Resources/vulkan/icd.d") --# Xcode projects need some extra help with what would be install steps. --if(${CMAKE_GENERATOR} MATCHES "^Xcode.*") -- add_custom_command(TARGET vulkaninfo-bundle POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${MOLTENVK_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" -- ${CMAKE_CURRENT_BINARY_DIR}/$/vulkaninfo.app/Contents/Frameworks/libMoltenVK.dylib -- DEPENDS vulkan) --else() -- add_custom_command(TARGET vulkaninfo-bundle POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${MOLTENVK_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" -- ${CMAKE_CURRENT_BINARY_DIR}/vulkaninfo.app/Contents/Frameworks/libMoltenVK.dylib -- DEPENDS vulkan) --endif() -- --# Keep RPATH so fixup_bundle can use it to find libraries --set_target_properties(vulkaninfo-bundle PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) --install(TARGETS vulkaninfo-bundle BUNDLE DESTINATION "vulkaninfo") --# Fix up the library search path in the executable to find (loader) libraries in the bundle. When fixup_bundle() is passed a bundle --# in the first argument, it looks at the Info.plist file to determine the BundleExecutable. In this case, the executable is a --# script, which can't be fixed up. Instead pass it the explicit name of the executable. --install(CODE " -- include(BundleUtilities) -- fixup_bundle(\${CMAKE_INSTALL_PREFIX}/vulkaninfo/vulkaninfo.app/Contents/MacOS/vulkaninfo \"\" \"${Vulkan_LIBRARY_DIR}\") -- ") -+install(TARGETS vulkaninfo-bundle BUNDLE DESTINATION "Applications") diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix index c69416076832a..092901e08c30e 100644 --- a/pkgs/tools/inputmethods/input-remapper/default.nix +++ b/pkgs/tools/inputmethods/input-remapper/default.nix @@ -45,11 +45,6 @@ in hash = "sha256-KPQLgXSonuOgphagYN2JN+CMIpmjTIPUTCqOPDk0UYU="; }; - # Fixes error - # Couldn’t recognize the image file format for file "*.svg" - # at startup, see https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - postPatch = '' # fix FHS paths substituteInPlace inputremapper/configs/data.py \ diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index 5ebbbe1e118b4..08424a37d5f93 100644 --- a/pkgs/tools/misc/ethtool/default.nix +++ b/pkgs/tools/misc/ethtool/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "ethtool"; - version = "6.0"; + version = "6.1"; src = fetchurl { url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-1URsk95XDOaPOx6mnb+hL8/Wf8GYl/ZV0/GCMeK4GNY="; + sha256 = "sha256-xB/Igf+lpAQy0t2CnrRMZKSd7kgucWuqz5Jixk2qj5A="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index 03be0c8b3be38..2edba63c1723a 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -7,16 +7,23 @@ stdenv.mkDerivation rec { pname = "file"; - version = "5.43"; + version = "5.44"; src = fetchurl { urls = [ "https://astron.com/pub/file/${pname}-${version}.tar.gz" "https://distfiles.macports.org/file/${pname}-${version}.tar.gz" ]; - sha256 = "sha256-jIAV6Rrg6NAyHZTHgjmJLvnbxwxK3gAIwOlYlKv7GZE="; + sha256 = "sha256-N1HH+6jbyDHLjXzIr/IQNUWbjOUVXviwiAon0ChHXzs="; }; + patches = [ + # Backport fix to identification for pyzip files. + # Needed for strip-nondeterminism. + # https://salsa.debian.org/reproducible-builds/strip-nondeterminism/-/issues/20 + ./pyzip.patch + ]; + strictDeps = true; enableParallelBuilding = true; diff --git a/pkgs/tools/misc/file/pyzip.patch b/pkgs/tools/misc/file/pyzip.patch new file mode 100644 index 0000000000000..57f9e7ef8b64e --- /dev/null +++ b/pkgs/tools/misc/file/pyzip.patch @@ -0,0 +1,36 @@ +From dc71304b3b1fd2ed5f7098d59fb7f6ef10cfdc85 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Sat, 31 Dec 2022 20:24:08 +0000 +Subject: [PATCH] pyzip improvements (FC Stegerman) + +--- + magic/Magdir/archive | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/magic/Magdir/archive b/magic/Magdir/archive +index a706556d5..d58201e69 100644 +--- a/magic/Magdir/archive ++++ b/magic/Magdir/archive +@@ -1,5 +1,5 @@ + #------------------------------------------------------------------------------ +-# $File: archive,v 1.179 2022/12/21 15:50:59 christos Exp $ ++# $File: archive,v 1.180 2022/12/31 20:24:08 christos Exp $ + # archive: file(1) magic for archive formats (see also "msdos" for self- + # extracting compressed archives) + # +@@ -1876,9 +1876,14 @@ + # https://en.wikipedia.org/wiki/ZIP_(file_format)#End_of_central_directory_record_(EOCD) + # by Michal Gorny + -2 uleshort 0 +->&-22 string PK\005\006 Zip archive, with extra data prepended ++>&-22 string PK\005\006 ++# without #! ++>>0 string !#! Zip archive, with extra data prepended + !:mime application/zip + !:ext zip/cbz ++# with #! ++>>0 string/w #!\ a ++>>>&-1 string/T x %s script executable (Zip archive) + + # ACE archive (from http://www.wotsit.org/download.asp?f=ace) + # by Stefan `Sec` Zehl diff --git a/pkgs/tools/misc/gaphor/default.nix b/pkgs/tools/misc/gaphor/default.nix index 95d9f911273cf..a97b887f1caaf 100644 --- a/pkgs/tools/misc/gaphor/default.nix +++ b/pkgs/tools/misc/gaphor/default.nix @@ -37,11 +37,7 @@ buildPythonApplication rec { wrapGAppsHook ]; - # Setting gobject-introspection on booth nativeBuildInputs and - # buildInputs because of #56943. This recognizes pango, avoiding - # a "ValueError: Namespace PangoCairo not available". buildInputs = [ - gobject-introspection gtksourceview4 pango ]; diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix index 65c88eac4e880..c3a0c5aa906d4 100644 --- a/pkgs/tools/misc/ipxe/default.nix +++ b/pkgs/tools/misc/ipxe/default.nix @@ -48,16 +48,6 @@ stdenv.mkDerivation rec { substituteInPlace src/util/genfsimg --replace " syslinux " " true " ''; # calling syslinux on a FAT image isn't going to work - # Workaround '-idirafter' ordering bug in staging-next: - # https://github.com/NixOS/nixpkgs/pull/210004 - # where libc '-idirafter' gets added after user's idirafter and - # breaks. - # TODO(trofi): remove it in staging once fixed in cc-wrapper. - preConfigure = '' - export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] buildPackages.stdenv.hostPlatform.config}=$(< ${buildPackages.stdenv.cc}/nix-support/libc-cflags) - export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] stdenv.hostPlatform.config}=$(< ${stdenv.cc}/nix-support/libc-cflags) - ''; - # not possible due to assembler code hardeningDisable = [ "pic" "stackprotector" ]; diff --git a/pkgs/tools/misc/lockfile-progs/default.nix b/pkgs/tools/misc/lockfile-progs/default.nix index e245a05182dad..8fdee47befbf7 100644 --- a/pkgs/tools/misc/lockfile-progs/default.nix +++ b/pkgs/tools/misc/lockfile-progs/default.nix @@ -11,6 +11,11 @@ stdenv.mkDerivation rec { buildInputs = [ liblockfile ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=format-overflow" + ]; + installPhase = '' runHook preInstall mkdir -p $out/bin $out/man/man1 diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix index dc446d3f0a199..46bf31ed667ed 100644 --- a/pkgs/tools/misc/mpdscribble/default.nix +++ b/pkgs/tools/misc/mpdscribble/default.nix @@ -28,6 +28,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-3wLfQvbwx+OFrCl5vMV7Zps4e4iEYFhqPiVCo5hDqgw="; })]; + postPatch = '' + sed '1i#include ' -i src/Log.cxx # gcc12 + ''; + nativeBuildInputs = [ pkg-config meson ninja ]; buildInputs = [ libmpdclient diff --git a/pkgs/tools/misc/trackma/default.nix b/pkgs/tools/misc/trackma/default.nix index e3d6322b85eb8..855585dde3f81 100644 --- a/pkgs/tools/misc/trackma/default.nix +++ b/pkgs/tools/misc/trackma/default.nix @@ -35,10 +35,10 @@ python3.pkgs.buildPythonApplication rec { }; nativeBuildInputs = [ copyDesktopItems ] - ++ lib.optionals withGTK [ wrapGAppsHook ] + ++ lib.optionals withGTK [ wrapGAppsHook gobject-introspection ] ++ lib.optionals withQT [ qt5.wrapQtAppsHook ]; - buildInputs = lib.optionals withGTK [ glib gobject-introspection gtk3 ]; + buildInputs = lib.optionals withGTK [ glib gtk3 ]; propagatedBuildInputs = with python3.pkgs; ([ urllib3 ] ++ lib.optionals withQT [ pyqt5 ] @@ -47,9 +47,6 @@ python3.pkgs.buildPythonApplication rec { ++ lib.optionals stdenv.isLinux [ dbus-python pygobject3 pyinotify ] ++ lib.optionals (withGTK || withQT) [ pillow ]); - # broken with gobject-introspection setup hook, see https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - dontWrapQtApps = true; dontWrapGApps = true; diff --git a/pkgs/tools/misc/wimboot/default.nix b/pkgs/tools/misc/wimboot/default.nix index 12c411f3ef438..267272b0b664a 100644 --- a/pkgs/tools/misc/wimboot/default.nix +++ b/pkgs/tools/misc/wimboot/default.nix @@ -13,18 +13,14 @@ stdenv.mkDerivation rec { sourceRoot = "source/src"; - # Workaround '-idirafter' ordering bug in staging-next: - # https://github.com/NixOS/nixpkgs/pull/210004 - # where libc '-idirafter' gets added after user's idirafter and - # breaks. - # TODO(trofi): remove it in staging once fixed in cc-wrapper. - preConfigure = '' - export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] stdenv.hostPlatform.config}=$(< ${stdenv.cc}/nix-support/libc-cflags) - ''; - buildInputs = [ libbfd zlib libiberty ]; makeFlags = [ "wimboot.x86_64.efi" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=array-bounds" + ]; + installPhase = '' mkdir -p $out/share/wimboot/ cp wimboot.x86_64.efi $out/share/wimboot diff --git a/pkgs/tools/misc/yafetch/default.nix b/pkgs/tools/misc/yafetch/default.nix index f55926d0ae39a..4ebaea963c29e 100644 --- a/pkgs/tools/misc/yafetch/default.nix +++ b/pkgs/tools/misc/yafetch/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { prePatch = '' substituteInPlace ./config.h --replace \ "#include \"ascii/gnu.h\"" "#include \"ascii/nixos.h\"" + + sed '1i#include ' -i config.h # gcc12 ''; # Fixes installation path diff --git a/pkgs/tools/networking/dsniff/default.nix b/pkgs/tools/networking/dsniff/default.nix index 8e641ec83e73e..5d0c92f2bfb58 100644 --- a/pkgs/tools/networking/dsniff/default.nix +++ b/pkgs/tools/networking/dsniff/default.nix @@ -60,7 +60,7 @@ in gcc9Stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook rpcsvc-proto ]; buildInputs = [ glib pcap libtirpc libnsl ]; - NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ldl -ltirpc"; + NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ltirpc"; NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ]; postPatch = '' for patch in debian/patches/*.patch; do diff --git a/pkgs/tools/networking/ip2unix/default.nix b/pkgs/tools/networking/ip2unix/default.nix index c4c03cae3a7f2..fabbbb40e7a70 100644 --- a/pkgs/tools/networking/ip2unix/default.nix +++ b/pkgs/tools/networking/ip2unix/default.nix @@ -14,6 +14,10 @@ stdenv.mkDerivation rec { sha256 = "1pl8ayadxb0zzh5s26yschkjhr1xffbzzv347m88f9y0jv34d24r"; }; + postPatch = '' + sed '1i#include ' -i src/dynports/dynports.cc # gcc12 + ''; + nativeBuildInputs = [ meson ninja pkg-config asciidoc libxslt.bin docbook_xml_dtd_45 docbook_xsl libxml2.bin docbook5 python3Packages.pytest python3Packages.pytest-timeout diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix index 01c70f3bf3f58..326e710752155 100644 --- a/pkgs/tools/networking/modemmanager/default.nix +++ b/pkgs/tools/networking/modemmanager/default.nix @@ -1,38 +1,77 @@ -{ lib, stdenv, fetchurl -, glib, udev, libgudev, polkit, ppp, gettext, pkg-config, python3 -, libmbim, libqmi, systemd, vala, gobject-introspection, dbus +{ lib +, stdenv +, fetchFromGitLab +, glib +, udev +, libgudev +, polkit +, ppp +, gettext +, pkg-config +, libxslt +, python3 +, libmbim +, libqmi +, systemd +, bash-completion +, meson +, ninja +, vala +, gobject-introspection +, dbus }: stdenv.mkDerivation rec { pname = "modemmanager"; - version = "1.18.12"; + version = "1.20.4"; - src = fetchurl { - url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz"; - sha256 = "sha256-tGTkkl2VWmyobdCGFudjsmrkbX/Tfb4oFnjjQGWx5DA="; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "mobile-broadband"; + repo = "ModemManager"; + rev = version; + hash = "sha256-OWP23EQ7a8rghhV7AC9yinCxRI0xwcntB5dl9XtgK6M="; }; - nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ]; + nativeBuildInputs = [ + meson + ninja + vala + gobject-introspection + gettext + pkg-config + libxslt + ]; - buildInputs = [ glib udev libgudev polkit ppp libmbim libqmi systemd ]; + buildInputs = [ + glib + udev + libgudev + polkit + ppp + libmbim + libqmi + systemd + bash-completion + dbus + ]; nativeInstallCheckInputs = [ - python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 + python3 + python3.pkgs.dbus-python + python3.pkgs.pygobject3 ]; - configureFlags = [ - "--with-polkit" - "--with-udev-base-dir=${placeholder "out"}/lib/udev" - "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" - "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + mesonFlags = [ + "-Dudevdir=${placeholder "out"}/lib/udev" "--sysconfdir=/etc" "--localstatedir=/var" - "--with-systemd-suspend-resume" - "--with-systemd-journal" + "-Dvapi=true" ]; postPatch = '' - patchShebangs tools/test-modemmanager-service.py + patchShebangs \ + tools/test-modemmanager-service.py ''; # In Nixpkgs g-ir-scanner is patched to produce absolute paths, and @@ -47,8 +86,6 @@ stdenv.mkDerivation rec { ''; installCheckTarget = "check"; - enableParallelBuilding = true; - meta = with lib; { description = "WWAN modem manager, part of NetworkManager"; homepage = "https://www.freedesktop.org/wiki/Software/ModemManager/"; diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index 03c205f2d647e..5cd15525da72e 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -58,11 +58,11 @@ let in stdenv.mkDerivation rec { pname = "networkmanager"; - version = "1.40.6"; + version = "1.40.12"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - sha256 = "sha256-LwJbLVr33lk7v0fBfk2YorlgjqkKgmD7CAgL6XQ5U04="; + sha256 = "sha256-wCJ+BKttAylmLfoKftxGbgQGJek2odjo4CoFM6cRca8="; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix index be50397bf1d0a..4238391fdaea0 100644 --- a/pkgs/tools/networking/ppp/default.nix +++ b/pkgs/tools/networking/ppp/default.nix @@ -53,6 +53,14 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-lcrypt"; + # This can probably be removed if version > 2.4.9, as IPX support + # has been removed upstream[1]. Just check whether pkgsMusl.ppp + # still builds. + # + # [1]: https://github.com/ppp-project/ppp/commit/c2881a6b71a36d28a89166e82820dc5e711fd775 + NIX_CFLAGS_COMPILE = + lib.optionalString stdenv.hostPlatform.isMusl "-UIPX_CHANGE"; + installPhase = '' runHook preInstall mkdir -p $out/bin diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index 73ccdb43fef86..9ccf68aa54370 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "tcpdump"; - version = "4.99.1"; + version = "4.99.3"; src = fetchurl { - url = "http://www.tcpdump.org/release/${pname}-${version}.tar.gz"; - sha256 = "sha256-ebNphfsnAxRmGNh8Ss3j4Gi5HFU/uT8CGjN/F1/RDr4="; + url = "http://www.tcpdump.org/release/tcpdump-${version}.tar.gz"; + sha256 = "sha256-rXWm7T3A2XMpRbLlSDy0Hci0tSihaTFeSZxoYZUuc7M="; }; postPatch = '' @@ -17,9 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ libpcap ]; - configureFlags = lib.optional - (stdenv.hostPlatform != stdenv.buildPlatform) - "ac_cv_linux_vers=2"; + configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "ac_cv_linux_vers=2"; meta = with lib; { description = "Network sniffer"; diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix index 3d67bbb079322..bf2587d8c6589 100644 --- a/pkgs/tools/networking/tgt/default.nix +++ b/pkgs/tools/networking/tgt/default.nix @@ -22,6 +22,11 @@ stdenv.mkDerivation rec { "SD_NOTIFY=1" ]; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=maybe-uninitialized" + ]; + installFlags = [ "sysconfdir=${placeholder "out"}/etc" ]; diff --git a/pkgs/tools/networking/uqmi/default.nix b/pkgs/tools/networking/uqmi/default.nix index 17a55d86b9a37..067bc51854ada 100644 --- a/pkgs/tools/networking/uqmi/default.nix +++ b/pkgs/tools/networking/uqmi/default.nix @@ -18,6 +18,11 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake perl ]; buildInputs = [ libubox json_c ]; + NIX_CFLAGS_COMPILE = lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=dangling-pointer" + ]; + meta = with lib; { description = "Tiny QMI command line utility"; homepage = "https://git.openwrt.org/?p=project/uqmi.git;a=summary"; diff --git a/pkgs/tools/security/aflplusplus/default.nix b/pkgs/tools/security/aflplusplus/default.nix index c25db9e2d3987..7817329f06de8 100644 --- a/pkgs/tools/security/aflplusplus/default.nix +++ b/pkgs/tools/security/aflplusplus/default.nix @@ -51,6 +51,11 @@ let --replace '"clang++"' '"clang++-UNSUPPORTED"' ''; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=use-after-free" + ]; + makeFlags = [ "PREFIX=$(out)" ]; buildPhase = '' common="$makeFlags -j$NIX_BUILD_CORES" diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix index edb10f384bdf7..b897fe6187101 100644 --- a/pkgs/tools/security/chipsec/default.nix +++ b/pkgs/tools/security/chipsec/default.nix @@ -40,6 +40,11 @@ python3.pkgs.buildPythonApplication rec { mkdir -p $CHIPSEC_BUILD_LIB/chipsec/helper/linux ''; + NIX_CFLAGS_COMPILE = [ + # Needed with GCC 12 + "-Wno-error=dangling-pointer" + ]; + preInstall = lib.optionalString withDriver '' mkdir -p $out/${python3.pkgs.python.sitePackages}/drivers/linux mv $CHIPSEC_BUILD_LIB/chipsec/helper/linux/chipsec.ko \ diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix index 50a1ff98d14f0..f5157fc9e4190 100644 --- a/pkgs/tools/security/gnome-keysign/default.nix +++ b/pkgs/tools/security/gnome-keysign/default.nix @@ -67,9 +67,6 @@ python3.pkgs.buildPythonApplication rec { twisted ]; - # https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - # bunch of linting doCheck = false; diff --git a/pkgs/tools/security/gnupg/23.nix b/pkgs/tools/security/gnupg/24.nix similarity index 87% rename from pkgs/tools/security/gnupg/23.nix rename to pkgs/tools/security/gnupg/24.nix index 0f56c4a8c15b7..c1f2825e8e93c 100644 --- a/pkgs/tools/security/gnupg/23.nix +++ b/pkgs/tools/security/gnupg/24.nix @@ -12,11 +12,11 @@ assert guiSupport -> enableMinimal == false; stdenv.mkDerivation rec { pname = "gnupg"; - version = "2.3.7"; + version = "2.4.0"; src = fetchurl { url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2"; - sha256 = "sha256-7hY6X7nsmf/BsY5l+u+NCGgAxXE9FaZyq1fTeZ2oNmk="; + sha256 = "sha256-HXkVjdAdmSQx3S4/rLif2slxJ/iXhOosthDGAPsMFIM="; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -30,19 +30,13 @@ stdenv.mkDerivation rec { patches = [ ./fix-libusb-include-path.patch ./tests-add-test-cases-for-import-without-uid.patch - ./allow-import-of-previously-known-keys-even-without-UI.patch + # TODO: Refresh patch? Doesn't apply on 2.4.0 + #./allow-import-of-previously-known-keys-even-without-UI.patch ./accept-subkeys-with-a-good-revocation-but-no-self-sig.patch # Patch for DoS vuln from https://seclists.org/oss-sec/2022/q3/27 ./v3-0001-Disallow-compressed-signatures-and-certificates.patch - # Fix regression when using YubiKey devices as smart cards. - # See https://dev.gnupg.org/T6070 for details. - # Committed upstream, remove this patch when updating to the next release. - (fetchpatch { - url = "https://dev.gnupg.org/rGf34b9147eb3070bce80d53febaa564164cd6c977?diff=1"; - sha256 = "sha256-J/PLSz8yiEgtGv+r3BTGTHrikV70AbbHQPo9xbjaHFE="; - }) ]; postPatch = '' sed -i 's,\(hkps\|https\)://keyserver.ubuntu.com,hkps://keys.openpgp.org,g' configure configure.ac doc/dirmngr.texi doc/gnupg.info-1 diff --git a/pkgs/tools/security/xsser/default.nix b/pkgs/tools/security/xsser/default.nix index 5028b3c77217b..6c75f2e733f26 100644 --- a/pkgs/tools/security/xsser/default.nix +++ b/pkgs/tools/security/xsser/default.nix @@ -22,10 +22,6 @@ buildPythonApplication rec { substituteInPlace setup.py --replace /usr/share share ''; - # Temporary fix - # See https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; buildInputs = [ diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix index 88f39e8a63e45..98ac2254fb6ea 100644 --- a/pkgs/tools/system/acpica-tools/default.nix +++ b/pkgs/tools/system/acpica-tools/default.nix @@ -29,7 +29,11 @@ stdenv.mkDerivation rec { "iasl" ]; - NIX_CFLAGS_COMPILE = "-O3"; + NIX_CFLAGS_COMPILE = [ + "-O3" + # Needed with GCC 12 + "-Wno-dangling-pointer" + ]; enableParallelBuilding = true; diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix index de4acffa63e4d..0e746b0d07a44 100644 --- a/pkgs/tools/system/facter/default.nix +++ b/pkgs/tools/system/facter/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { owner = "puppetlabs"; }; + postPatch = '' + sed '1i#include ' -i lib/src/facts/glib/load_average_resolver.cc # gcc12 + ''; + CXXFLAGS = lib.optionalString stdenv.cc.isGNU "-fpermissive -Wno-error=catch-value"; NIX_LDFLAGS = lib.optionalString stdenv.isLinux "-lblkid"; diff --git a/pkgs/tools/system/rocm-smi/default.nix b/pkgs/tools/system/rocm-smi/default.nix index 47542d25370d1..d7e23a9acb017 100644 --- a/pkgs/tools/system/rocm-smi/default.nix +++ b/pkgs/tools/system/rocm-smi/default.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-nkidiDNNU6MGhne9EbYClkODJZw/zZu3LWzlniJKyJE="; }; + postPatch = '' + sed '1i#include ' -i src/rocm_smi{,_gpu_metrics}.cc # since gcc12 probably + ''; + nativeBuildInputs = [ cmake wrapPython ]; patches = [ ./cmake.patch ]; diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index a38251557c090..215f7e7d25b83 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -5,6 +5,7 @@ , autoreconfHook , pkg-config , texinfo +, bison , bash }: @@ -51,7 +52,9 @@ stdenv.mkDerivation rec { ''; strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config texinfo ]; + nativeBuildInputs = [ autoreconfHook pkg-config texinfo ] + # Required due to the patch that changes .ypp files. + ++ lib.optional (stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "9") bison; buildInputs = [ perl bash ] ++ lib.optionals enableGhostscript [ ghostscript ] ++ lib.optionals enableHtml [ psutils netpbm ]; diff --git a/pkgs/tools/text/justify/default.nix b/pkgs/tools/text/justify/default.nix index 1e18e22db8e25..86de7365663e1 100644 --- a/pkgs/tools/text/justify/default.nix +++ b/pkgs/tools/text/justify/default.nix @@ -16,6 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-406OhJt2Ila/LIhfqJXhbFqFxJJiRyMVI4/VK8Y43kc="; }; + postPatch = '' + sed '1i#include ' -i src/stringHelper.h # gcc12 + ''; + nativeBuildInputs = [ cmake ]; installPhase = '' diff --git a/pkgs/tools/text/qgrep/default.nix b/pkgs/tools/text/qgrep/default.nix index 032e9474128ae..4145ec656d20b 100644 --- a/pkgs/tools/text/qgrep/default.nix +++ b/pkgs/tools/text/qgrep/default.nix @@ -21,6 +21,11 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals stdenv.isDarwin [ CoreServices CoreFoundation ]; + NIX_CFLAGS_COMPILE = lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=mismatched-new-delete" + ]; + postPatch = lib.optionalString stdenv.isAarch64 '' substituteInPlace Makefile \ --replace "-msse2" "" --replace "-DUSE_SSE2" "" diff --git a/pkgs/tools/text/tab/default.nix b/pkgs/tools/text/tab/default.nix index 0802f7b983612..0ddd7509c9f1e 100644 --- a/pkgs/tools/text/tab/default.nix +++ b/pkgs/tools/text/tab/default.nix @@ -11,6 +11,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-AhgWeV/ojB8jM16A5ggrOD1YjWfRVcoQbkd3S2bgdyE="; }; + # gcc12; see https://github.com/ivan-tkatchev/tab/commit/673bdac998 + postPatch = '' + sed '1i#include ' -i deps.h + ''; + nativeCheckInputs = [ python3 ]; doCheck = !stdenv.isDarwin; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 818abd1e36728..6b487197435a4 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -805,6 +805,7 @@ mapAliases ({ libpulseaudio-vanilla = libpulseaudio; # Added 2022-04-20 libqmatrixclient = throw "libqmatrixclient was renamed to libquotient"; # Added 2020-04-09 libqrencode = throw "'libqrencode' has been renamed to/replaced by 'qrencode'"; # Converted to throw 2022-02-22 + libraw_unstable = throw "'libraw_unstable' has been removed, please use libraw"; # Added 2023-01-30 librdf = lrdf; # Added 2020-03-22 librecad2 = throw "'librecad2' has been renamed to/replaced by 'librecad'"; # Converted to throw 2022-02-22 libressl_3_2 = throw "'libressl_3_2' has reached end-of-life "; # Added 2022-03-19 @@ -1213,6 +1214,7 @@ mapAliases ({ pleroma-otp = pleroma; # Added 2021-07-10 plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22 pltScheme = racket; # just to be sure + pmdk = throw "'pmdk' is discontinued, no further support or maintenance is planned by upstream"; # Added 2023-02-06 pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22 pocketsphinx = throw "pocketsphinx has been removed: unmaintained"; # Added 2022-04-24 polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d3fb3c564670..b0f0bd890dd27 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -160,14 +160,14 @@ with pkgs; ### BUILD SUPPORT auditBlasHook = makeSetupHook - { name = "auto-blas-hook"; deps = [ blas lapack ]; } + { name = "auto-blas-hook"; propagatedBuildInputs = [ blas lapack ]; } ../build-support/setup-hooks/audit-blas.sh; autoreconfHook = callPackage ( { makeSetupHook, autoconf, automake, gettext, libtool }: makeSetupHook { name = "autoreconf-hook"; - deps = [ autoconf automake gettext libtool ]; + propagatedBuildInputs = [ autoconf automake gettext libtool ]; } ../build-support/setup-hooks/autoreconf.sh ) { }; @@ -184,7 +184,7 @@ with pkgs; autoPatchelfHook = makeSetupHook { name = "auto-patchelf-hook"; - deps = [ bintools ]; + propagatedBuildInputs = [ bintools ]; substitutions = { pythonInterpreter = "${python3.withPackages (ps: [ ps.pyelftools ])}/bin/python"; autoPatchelfScript = ../build-support/setup-hooks/auto-patchelf.py; @@ -356,7 +356,7 @@ with pkgs; gogUnpackHook = makeSetupHook { name = "gog-unpack-hook"; - deps = [ innoextract file-rename ]; } + propagatedBuildInputs = [ innoextract file-rename ]; } ../build-support/setup-hooks/gog-unpack.sh; buildEnv = callPackage ../build-support/buildenv { }; # not actually a package @@ -1014,7 +1014,7 @@ with pkgs; makeShellWrapper = makeSetupHook { name = "make-shell-wrapper-hook"; - deps = [ dieHook ]; + propagatedBuildInputs = [ dieHook ]; substitutions = { # targetPackages.runtimeShell only exists when pkgs == targetPackages (when targetPackages is not __raw) shell = if targetPackages ? runtimeShell then targetPackages.runtimeShell else throw "makeWrapper/makeShellWrapper must be in nativeBuildInputs"; @@ -1067,7 +1067,7 @@ with pkgs; shortenPerlShebang = makeSetupHook { name = "shorten-perl-shebang-hook"; - deps = [ dieHook ]; + propagatedBuildInputs = [ dieHook ]; } ../build-support/setup-hooks/shorten-perl-shebang.sh; singularity-tools = callPackage ../build-support/singularity-tools { }; @@ -1119,7 +1119,7 @@ with pkgs; desktopToDarwinBundle = makeSetupHook { name = "desktop-to-darwin-bundle-hook"; - deps = [ writeDarwinBundle librsvg imagemagick python3Packages.icnsutil ]; + propagatedBuildInputs = [ writeDarwinBundle librsvg imagemagick python3Packages.icnsutil ]; } ../build-support/setup-hooks/desktop-to-darwin-bundle.sh; keepBuildTree = makeSetupHook { @@ -1132,7 +1132,7 @@ with pkgs; makeGCOVReport = makeSetupHook { name = "make-gcov-report-hook"; - deps = [ lcov enableGCOVInstrumentation ]; + propagatedBuildInputs = [ lcov enableGCOVInstrumentation ]; } ../build-support/setup-hooks/make-coverage-analysis-report.sh; makeHardcodeGsettingsPatch = callPackage ../build-support/make-hardcode-gsettings-patch { }; @@ -1167,7 +1167,7 @@ with pkgs; iconConvTools = callPackage ../build-support/icon-conv-tools {}; validatePkgConfig = makeSetupHook - { name = "validate-pkg-config"; deps = [ findutils pkg-config ]; } + { name = "validate-pkg-config"; propagatedBuildInputs = [ findutils pkg-config ]; } ../build-support/setup-hooks/validate-pkg-config.sh; patchPpdFilesHook = callPackage ../build-support/setup-hooks/patch-ppd-files {}; @@ -1252,7 +1252,6 @@ with pkgs; arc_unpacker = callPackage ../tools/archivers/arc_unpacker { boost = boost16x; # checkPhase fails with Boost 1.77 - stdenv = gcc10StdenvCompat; }; adminer = callPackage ../servers/adminer { }; @@ -2550,7 +2549,7 @@ with pkgs; writefreely = callPackage ../applications/misc/writefreely { }; - iqueue = callPackage ../development/libraries/iqueue { stdenv = gcc10StdenvCompat; }; + iqueue = callPackage ../development/libraries/iqueue { }; lifecycled = callPackage ../tools/misc/lifecycled { }; @@ -2940,7 +2939,9 @@ with pkgs; bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { }; - bisq-desktop = callPackage ../applications/blockchains/bisq-desktop { }; + bisq-desktop = callPackage ../applications/blockchains/bisq-desktop { + openjdk11 = openjdk11.override { enableJavaFX = true; }; + }; bic = callPackage ../development/interpreters/bic { }; @@ -4922,11 +4923,11 @@ with pkgs; }; hyprland = callPackage ../applications/window-managers/hyprwm/hyprland { - stdenv = gcc11Stdenv; + stdenv = gcc12Stdenv; }; hyprpaper = callPackage ../applications/window-managers/hyprwm/hyprpaper { - stdenv = gcc11Stdenv; + stdenv = gcc12Stdenv; }; hysteria = callPackage ../tools/networking/hysteria { }; @@ -5146,7 +5147,9 @@ with pkgs; merriweather-sans = callPackage ../data/fonts/merriweather-sans { }; - meson = callPackage ../development/tools/build-managers/meson { }; + meson = callPackage ../development/tools/build-managers/meson { + inherit (darwin.apple_sdk.frameworks) Foundation OpenGL AppKit Cocoa; + }; # while building documentation meson may want to run binaries for host # which needs an emulator @@ -7747,11 +7750,11 @@ with pkgs; gnupg1orig = callPackage ../tools/security/gnupg/1.nix { }; gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { }; gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1 - gnupg23 = callPackage ../tools/security/gnupg/23.nix { + gnupg24 = callPackage ../tools/security/gnupg/24.nix { guiSupport = stdenv.isDarwin; pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2; }; - gnupg = gnupg23; + gnupg = gnupg24; gnupg-pkcs11-scd = callPackage ../tools/security/gnupg-pkcs11-scd { }; @@ -14304,7 +14307,7 @@ with pkgs; num = if (with stdenv.targetPlatform; isVc4 || libc == "relibc") then 6 else if (stdenv.targetPlatform.isAarch64 && stdenv.isLinux) then 9 - else 11; + else 12; numS = toString num; in { gcc = pkgs.${"gcc${numS}"}; @@ -14342,7 +14345,8 @@ with pkgs; gcc11Stdenv = overrideCC gccStdenv buildPackages.gcc11; gcc12Stdenv = overrideCC gccStdenv buildPackages.gcc12; - gcc10StdenvCompat = if stdenv.cc.isGNU && lib.versions.major stdenv.cc.version == "11" then gcc10Stdenv else stdenv; + # Meant for packages that fail with newer than gcc10. + gcc10StdenvCompat = if stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11" then gcc10Stdenv else stdenv; # This is not intended for use in nixpkgs but for providing a faster-running # compiler to nixpkgs users by building gcc with reproducibility-breaking @@ -14941,7 +14945,7 @@ with pkgs; hugs = callPackage ../development/interpreters/hugs { }; - inherit (javaPackages) openjfx11 openjfx15 openjfx17; + inherit (javaPackages) openjfx11 openjfx15 openjfx17 openjfx19; openjfx = openjfx17; openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap; @@ -15270,7 +15274,7 @@ with pkgs; mitama-cpp-result = callPackage ../development/libraries/mitama-cpp-result { }; mitscheme = callPackage ../development/compilers/mit-scheme - { stdenv = gcc10StdenvCompat; texLive = texlive.combine { inherit (texlive) scheme-small epsf texinfo; }; }; + { texLive = texlive.combine { inherit (texlive) scheme-small epsf texinfo; }; }; mitschemeX11 = mitscheme.override { enableX11 = true; @@ -15650,13 +15654,13 @@ with pkgs; inherit (darwin) apple_sdk; }; - rust_1_66 = callPackage ../development/compilers/rust/1_66.nix { + rust_1_67 = callPackage ../development/compilers/rust/1_67.nix { inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; - llvm_14 = llvmPackages_14.libllvm; + llvm_15 = llvmPackages_15.libllvm; # https://github.com/NixOS/nixpkgs/issues/201254 stdenv = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then gcc11Stdenv else stdenv; }; - rust = rust_1_66; + rust = rust_1_67; mrustc = callPackage ../development/compilers/mrustc { }; mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { }; @@ -15665,8 +15669,8 @@ with pkgs; openssl = openssl_1_1; }; - rustPackages_1_66 = rust_1_66.packages.stable; - rustPackages = rustPackages_1_66; + rustPackages_1_67 = rust_1_67.packages.stable; + rustPackages = rustPackages_1_67; inherit (rustPackages) cargo cargo-auditable cargo-auditable-cargo-wrapper clippy rustc rustPlatform; @@ -17196,13 +17200,9 @@ with pkgs; libc = preLibcCrossHeaders; }; - libbfd = callPackage ../development/tools/misc/binutils/libbfd.nix { - autoreconfHook = buildPackages.autoreconfHook269; - }; + libbfd = callPackage ../development/tools/misc/binutils/libbfd.nix { }; - libopcodes = callPackage ../development/tools/misc/binutils/libopcodes.nix { - autoreconfHook = buildPackages.autoreconfHook269; - }; + libopcodes = callPackage ../development/tools/misc/binutils/libopcodes.nix { }; # Held back 2.38 release. Remove once all dependencies are ported to 2.39. binutils-unwrapped_2_38 = callPackage ../development/tools/misc/binutils/2.38 { @@ -17534,6 +17534,7 @@ with pkgs; libgcc = callPackage ../development/libraries/gcc/libgcc { stdenvNoLibs = gccStdenvNoLibs; # cannot be built with clang it seems + gcc = gcc11; # fails to build with gcc12 }; # This is for e.g. LLVM libraries on linux. @@ -17772,8 +17773,6 @@ with pkgs; openjdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; - pmdk = callPackage ../development/libraries/pmdk { }; - jdepend = callPackage ../development/tools/analysis/jdepend { jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; @@ -18794,13 +18793,13 @@ with pkgs; xcbuild = xcodebuild; xcbuildHook = makeSetupHook { name = "xcbuild-hook"; - deps = [ xcbuild ]; + propagatedBuildInputs = [ xcbuild ]; } ../development/tools/xcbuild/setup-hook.sh ; # xcbuild with llvm 6 xcbuild6Hook = makeSetupHook { name = "xcbuild6-hook"; - deps = [ xcodebuild6 ]; + propagatedBuildInputs = [ xcodebuild6 ]; } ../development/tools/xcbuild/setup-hook.sh ; xcpretty = callPackage ../development/tools/xcpretty { }; @@ -19553,30 +19552,28 @@ with pkgs; linbox = callPackage ../development/libraries/linbox { }; - ffmpeg_4-headless = callPackage ../development/libraries/ffmpeg/4.nix { - inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox; - - sdlSupport = false; - vdpauSupport = false; - pulseaudioSupport = false; - libva = libva-minimal; - }; - ffmpeg_4 = callPackage ../development/libraries/ffmpeg/4.nix { - inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox; + inherit (darwin.apple_sdk.frameworks) + Cocoa CoreServices CoreAudio CoreMedia AVFoundation MediaToolbox + VideoDecodeAcceleration VideoToolbox; }; - - ffmpeg_5-headless = callPackage ../development/libraries/ffmpeg/5.nix { - inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox; - - sdlSupport = false; - vdpauSupport = false; - pulseaudioSupport = false; - libva = libva-minimal; + ffmpeg_4-headless = ffmpeg_4.override { + ffmpegVariant = "headless"; + }; + ffmpeg_4-full = ffmpeg.override { + ffmpegVariant = "full"; }; ffmpeg_5 = callPackage ../development/libraries/ffmpeg/5.nix { - inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox; + inherit (darwin.apple_sdk.frameworks) + Cocoa CoreServices CoreAudio CoreMedia AVFoundation MediaToolbox + VideoDecodeAcceleration VideoToolbox; + }; + ffmpeg_5-headless = ffmpeg_5.override { + ffmpegVariant = "headless"; + }; + ffmpeg_5-full = ffmpeg_5.override { + ffmpegVariant = "full"; }; # Aliases @@ -19585,26 +19582,8 @@ with pkgs; # Packages which use ffmpeg as a library, should pin to the relevant major # version number which the upstream support. ffmpeg = ffmpeg_4; - ffmpeg-headless = ffmpeg_4-headless; - - ffmpeg-full = callPackage ../development/libraries/ffmpeg-full { - svt-av1 = if stdenv.isAarch64 then null else svt-av1; - rtmpdump = null; # Prefer the built-in RTMP implementation - # The following need to be fixed on Darwin - libjack2 = if stdenv.isDarwin then null else libjack2; - libmodplug = if stdenv.isDarwin then null else libmodplug; - libmfx = if stdenv.isDarwin then null else intel-media-sdk; - libpulseaudio = if stdenv.isDarwin then null else libpulseaudio; - samba = if stdenv.isDarwin then null else samba; - inherit (darwin.apple_sdk.frameworks) - Cocoa CoreServices CoreAudio AVFoundation MediaToolbox - VideoDecodeAcceleration VideoToolbox; - }; - - ffmpeg_5-full = ffmpeg-full.override { - ffmpeg = ffmpeg_5; - }; + ffmpeg-full = ffmpeg_4-full; ffmpegthumbnailer = callPackage ../development/libraries/ffmpegthumbnailer { }; @@ -19667,7 +19646,6 @@ with pkgs; freeimage = callPackage ../development/libraries/freeimage { inherit (darwin) autoSignDarwinBinariesHook; - libraw = libraw_unstable; }; freetts = callPackage ../development/libraries/freetts { @@ -20615,7 +20593,7 @@ with pkgs; lmdbxx = callPackage ../development/libraries/lmdbxx { }; lemon-graph = callPackage ../development/libraries/lemon-graph { - stdenv = if stdenv.isLinux then gcc11Stdenv else stdenv; + stdenv = if stdenv.isLinux then gcc12Stdenv else stdenv; }; levmar = callPackage ../development/libraries/levmar { }; @@ -22097,7 +22075,7 @@ with pkgs; memorymapping = callPackage ../development/libraries/memorymapping { }; memorymappingHook = makeSetupHook { name = "memorymapping-hook"; - deps = [ memorymapping ]; + propagatedBuildInputs = [ memorymapping ]; } ../development/libraries/memorymapping/setup-hook.sh; memray = callPackage ../development/tools/memray { }; @@ -22105,7 +22083,7 @@ with pkgs; memstream = callPackage ../development/libraries/memstream { }; memstreamHook = makeSetupHook { name = "memstream-hook"; - deps = [ memstream ]; + propagatedBuildInputs = [ memstream ]; } ../development/libraries/memstream/setup-hook.sh; menu-cache = callPackage ../development/libraries/menu-cache { }; @@ -23630,7 +23608,10 @@ with pkgs; vte = callPackage ../development/libraries/vte { # Needs GCC ≥10 but aarch64 defaults to GCC 9. - stdenv = clangStdenv; + stdenv = + if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU + then clangStdenv + else stdenv; }; vte-gtk4 = vte.override { @@ -25446,8 +25427,7 @@ with pkgs; inherit (buildPackages.darwin) bootstrap_cmds; udev = if stdenv.isLinux then udev else null; libdrm = if stdenv.isLinux then libdrm else null; - abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override` - or (if stdenv.isDarwin then "1.18" else null); # 1.19 needs fixing on Darwin + abiCompat = config.xorg.abiCompat or null; # `config` because we have no `xorg.override` }; generatedPackages = lib.callPackageWith __splicedPackages ../servers/x11/xorg/default.nix {}; @@ -25837,7 +25817,7 @@ with pkgs; }; btop = callPackage ../tools/system/btop { - stdenv = gcc11Stdenv; + stdenv = gcc12Stdenv; }; nmon = callPackage ../os-specific/linux/nmon { }; @@ -26106,7 +26086,6 @@ with pkgs; }; libraw = callPackage ../development/libraries/libraw { }; - libraw_unstable = callPackage ../development/libraries/libraw/unstable.nix { }; libraw1394 = callPackage ../development/libraries/libraw1394 { }; @@ -26440,7 +26419,7 @@ with pkgs; pipework = callPackage ../os-specific/linux/pipework { }; - pktgen = callPackage ../os-specific/linux/pktgen { stdenv = gcc10StdenvCompat; }; + pktgen = callPackage ../os-specific/linux/pktgen { }; plymouth = callPackage ../os-specific/linux/plymouth { }; @@ -26616,7 +26595,7 @@ with pkgs; # break some cyclic dependencies util-linux = util-linuxMinimal; # provide a super minimal gnupg used for systemd-machined - gnupg = callPackage ../tools/security/gnupg/23.nix { + gnupg = gnupg.override { enableMinimal = true; guiSupport = false; }; @@ -31819,7 +31798,9 @@ with pkgs; pdfdiff = callPackage ../applications/misc/pdfdiff { }; - pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { }; + pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { + jdk19 = openjdk19.override { enableJavaFX = true; }; + }; mupdf = callPackage ../applications/misc/mupdf { }; mupdf_1_17 = callPackage ../applications/misc/mupdf/1.17.nix { }; diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index c57e486406e1f..2044d74cab79d 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -50,7 +50,7 @@ let autoAddOpenGLRunpathHook = final.callPackage ( { makeSetupHook, addOpenGLRunpath }: makeSetupHook { name = "auto-add-opengl-runpath-hook"; - deps = [ + propagatedBuildInputs = [ addOpenGLRunpath ]; } ../development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index b067f5cbbc1e6..4ee606ae5e76c 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -121,7 +121,7 @@ impure-cmds // appleSourcePackages // chooseLibs // { checkReexportsHook = pkgs.makeSetupHook { name = "darwin-check-reexports-hook"; - deps = [ pkgs.darwin.print-reexports ]; + propagatedBuildInputs = [ pkgs.darwin.print-reexports ]; } ../os-specific/darwin/print-reexports/setup-hook.sh; sigtool = callPackage ../os-specific/darwin/sigtool { }; @@ -142,7 +142,7 @@ impure-cmds // appleSourcePackages // chooseLibs // { autoSignDarwinBinariesHook = pkgs.makeSetupHook { name = "auto-sign-darwin-binaries-hook"; - deps = [ self.signingUtils ]; + propagatedBuildInputs = [ self.signingUtils ]; } ../os-specific/darwin/signing-utils/auto-sign-hook.sh; maloader = callPackage ../os-specific/darwin/maloader { diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 83a90a2a5e6d9..a79dc31ed9dd9 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -83,6 +83,8 @@ with self; with super; { doCheck = false; # circular dependency with pytest }); + wheel = callPackage ../development/python2-modules/wheel { }; + zeek = disabled super.zeek; zipp = callPackage ../development/python2-modules/zipp { };