diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index f8fbe6ccd2f1f..bf18aa5e88e4c 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -336,6 +336,19 @@
loaded.
+
+
+ The iputils package, which is installed by default, no longer
+ provides the legacy tools tftpd and
+ traceroute6. More tools
+ (ninfod, rarpd, and
+ rdisc) are going to be removed in the next
+ release. See
+ upstream’s
+ release notes for more details and available
+ replacements.
+
+
services.thelounge.private was removed in
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index ef0069ab7f334..75983f3204936 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -107,6 +107,12 @@ In addition to numerous new and upgraded packages, this release has the followin
- `idris2` now requires `--package` when using packages `contrib` and `network`, while previously these idris2 packages were automatically loaded.
+- The iputils package, which is installed by default, no longer provides the
+ legacy tools `tftpd` and `traceroute6`. More tools (`ninfod`, `rarpd`, and
+ `rdisc`) are going to be removed in the next release. See
+ [upstream's release notes](https://github.com/iputils/iputils/releases/tag/20211215)
+ for more details and available replacements.
+
- `services.thelounge.private` was removed in favor of `services.thelounge.public`, to follow with upstream changes.
- `pkgs.docbookrx` was removed since it's unmaintained
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 21202c55fe285..964cfe7040c1b 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -1035,7 +1035,7 @@ in
setuid = true;
owner = "root";
group = "root";
- source = "${pkgs.pam}/sbin/unix_chkpwd.orig";
+ source = "${pkgs.pam}/bin/unix_chkpwd";
};
};
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 1c588ff969184..8a5452a7cd577 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -55,8 +55,8 @@ let
substituteInPlace $out/dry-activate --subst-var out
chmod u+x $out/activate $out/dry-activate
unset activationScript dryActivationScript
- ${pkgs.stdenv.shell} -n $out/activate
- ${pkgs.stdenv.shell} -n $out/dry-activate
+ ${pkgs.stdenv.shellDryRun} $out/activate
+ ${pkgs.stdenv.shellDryRun} $out/dry-activate
cp ${config.system.build.bootStage2} $out/init
substituteInPlace $out/init --subst-var-by systemConfig $out
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index ec5dea075bbce..76c59c047e0fe 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -210,20 +210,14 @@ let
makeJobScript = name: text:
let
scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
- out = pkgs.writeTextFile {
+ out = (pkgs.writeShellScriptBin scriptName ''
+ set -e
+ ${text}
+ '').overrideAttrs (_: {
# The derivation name is different from the script file name
# to keep the script file name short to avoid cluttering logs.
name = "unit-script-${scriptName}";
- executable = true;
- destination = "/bin/${scriptName}";
- text = ''
- #!${pkgs.runtimeShell} -e
- ${text}
- '';
- checkPhase = ''
- ${pkgs.stdenv.shell} -n "$out/bin/${scriptName}"
- '';
- };
+ });
in "${out}/bin/${scriptName}";
unitConfig = { config, options, ... }: {
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index 0f4ffa14228f3..49492d05d15f1 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -80,6 +80,7 @@ stdenv.mkDerivation rec {
desktop. It is the successor to the older Gradio application.
'';
maintainers = with maintainers; [ lasandell ];
+ broken = true; # incompatible with latest libadwaita
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
diff --git a/pkgs/applications/audio/squishyball/default.nix b/pkgs/applications/audio/squishyball/default.nix
index b44efc1534f8a..4a7f819e2904e 100644
--- a/pkgs/applications/audio/squishyball/default.nix
+++ b/pkgs/applications/audio/squishyball/default.nix
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
buildInputs = [ flac libao libvorbis ncurses opusfile ];
- NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS";
-
patches = [ ./gnu-screen.patch ];
postInstall = ''
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index d9092b550117b..0e2ffe46d208d 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -5,6 +5,7 @@
, appstream-glib
, desktop-file-utils
, fetchurl
+, fetchpatch
, flatpak
, gnome
, libgit2-glib
@@ -18,7 +19,7 @@
, jsonrpc-glib
, libdazzle
, libpeas
-, libportal
+, libportal-gtk3
, libxml2
, meson
, ninja
@@ -48,6 +49,15 @@ stdenv.mkDerivation rec {
sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
};
+ patches = [
+ # Fix build with latest libportal
+ # https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
+ sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
+ })
+ ];
+
nativeBuildInputs = [
appstream-glib
desktop-file-utils
@@ -69,7 +79,7 @@ stdenv.mkDerivation rec {
glade
libgit2-glib
libpeas
- libportal
+ libportal-gtk3
vte
gspell
gtk3
diff --git a/pkgs/applications/graphics/gcolor3/default.nix b/pkgs/applications/graphics/gcolor3/default.nix
index 2771559416bf6..63725b97431b4 100644
--- a/pkgs/applications/graphics/gcolor3/default.nix
+++ b/pkgs/applications/graphics/gcolor3/default.nix
@@ -6,7 +6,7 @@
, pkg-config
, libxml2
, gtk3
-, libportal
+, libportal-gtk3
, wrapGAppsHook
}:
@@ -33,12 +33,16 @@ stdenv.mkDerivation rec {
buildInputs = [
gtk3
- libportal
+ libportal-gtk3
];
postPatch = ''
chmod +x meson_install.sh # patchShebangs requires executable file
patchShebangs meson_install.sh
+
+ # https://gitlab.gnome.org/World/gcolor3/merge_requests/151
+ substituteInPlace meson.build --replace "dependency(${"\n"} 'libportal'" "dependency(${"\n"} 'libportal-gtk3'"
+ substituteInPlace src/gcolor3-color-selection.c --replace "libportal/portal-gtk3.h" "libportal-gtk3/portal-gtk3.h"
'';
meta = with lib; {
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index 268e59d910b53..fe387ddc273b3 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "graphicsmagick";
- version = "1.3.36";
+ version = "1.3.37";
src = fetchurl {
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
- sha256 = "0ilg6fkppb4avzais1dvi3qf6ln7v3mzj7gjm83w7pwwfpg3ynsx";
+ sha256 = "sha256-kNwi8ae9JA5MkGWpQJYr8T2kPJm8w2yxEcw8Gg10d9Q=";
};
patches = [
diff --git a/pkgs/applications/kde/kamoso.nix b/pkgs/applications/kde/kamoso.nix
index 9baa06275a78a..c80ed0c511e48 100644
--- a/pkgs/applications/kde/kamoso.nix
+++ b/pkgs/applications/kde/kamoso.nix
@@ -34,7 +34,7 @@ mkDerivation {
];
qtWrapperArgs = [
- "--prefix GST_PLUGIN_PATH : ${lib.makeSearchPath "lib/gstreamer-1.0" gst}"
+ "--prefix GST_PLUGIN_PATH : ${lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gst}"
];
meta = {
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index f113eed155fcc..01c8ade58c4b9 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -9,7 +9,7 @@
, itstool
, libadwaita
, librsvg
-, meson_0_60
+, meson
, ninja
, pkg-config
, poppler_gi
@@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec {
glib
gtk4
itstool
- meson_0_60
+ meson
ninja
pkg-config
wrapGAppsHook
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index aad182bd18753..245254439355a 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -17,21 +17,27 @@
stdenv.mkDerivation rec {
pname = "notejot";
- version = "3.2.0";
+ version = "3.3.3"; # make sure to recheck src.rev
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
- rev = version;
- hash = "sha256-WyW1tGhO3+OykNa8BRavi93cBMOSBJw0M+0bwQHJOjU=";
+ # Note from Fedora spec file:
+ # https://src.fedoraproject.org/rpms/notejot/blob/bbe621cef4d5a2c27eed029063b8e8cfd7c8d400/f/notejot.spec
+ # Upstream confusingly made several bugfix post-releases of version 3.3.3,
+ # tagged as 3.4.x, but with prominent notices like "This is still 3.3.3". We
+ # respect upstream’s wishes (and the version numbers inside the source tarball)
+ # by packaging these releases as 3.3.3 with appropriate snapshot info.
+ # https://github.com/lainsce/notejot/releases/tag/3.4.9
+ #
+ # Note that sometimes upstream don't update their version in meson.build
+ # (https://github.com/lainsce/notejot/issues/236), always follow the version
+ # from Fedora Rawhide.
+ # https://github.com/lainsce/notejot/blob/3.4.9/meson.build#L1
+ rev = "3.4.9";
+ hash = "sha256-42k9CAnXAb7Ic580SIa95MDCkCWtso1F+0eD69HX8WI=";
};
- patches = [
- # build: use gtk4-update-icon-cache
- # https://github.com/lainsce/notejot/pull/307
- ./use-gtk4-update-icon-cache.patch
- ];
-
nativeBuildInputs = [
meson
ninja
diff --git a/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch b/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch
deleted file mode 100644
index 9431c43cef69b..0000000000000
--- a/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/build-aux/post_install.py b/build-aux/post_install.py
-index 1278304..fface6d 100644
---- a/build-aux/post_install.py
-+++ b/build-aux/post_install.py
-@@ -2,11 +2,13 @@
- import os
- import subprocess
-
--schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas')
-+install_prefix = os.environ['MESON_INSTALL_PREFIX']
-+icondir = os.path.join(install_prefix, 'share', 'icons', 'hicolor')
-+schemadir = os.path.join(install_prefix, 'share', 'glib-2.0', 'schemas')
-
- if not os.environ.get('DESTDIR'):
- print('Compiling gsettings schemas…')
- subprocess.call(['glib-compile-schemas', schemadir], shell=False)
-
- print('Rebuilding desktop icons cache...')
-- subprocess.call(['gtk-update-icon-cache', '/usr/share/icons/hicolor/'], shell=False)
-+ subprocess.call(['gtk4-update-icon-cache', '-qtf', icondir], shell=False)
diff --git a/pkgs/applications/misc/qt-video-wlr/default.nix b/pkgs/applications/misc/qt-video-wlr/default.nix
index bdb434085da04..ffd22be085e1e 100644
--- a/pkgs/applications/misc/qt-video-wlr/default.nix
+++ b/pkgs/applications/misc/qt-video-wlr/default.nix
@@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia }:
let
- gstreamerPath = with gst_all_1; lib.makeSearchPath "lib/gstreamer-1.0" [
+ gstreamerPath = with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
gstreamer
gst-plugins-base
gst-plugins-good
diff --git a/pkgs/applications/networking/browsers/nyxt/default.nix b/pkgs/applications/networking/browsers/nyxt/default.nix
index 59bb2adbf5182..ccbc7a8dc8fba 100644
--- a/pkgs/applications/networking/browsers/nyxt/default.nix
+++ b/pkgs/applications/networking/browsers/nyxt/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
xclip notify-osd enchant
] ++ gstBuildInputs;
- GST_PLUGIN_SYSTEM_PATH_1_0 = lib.concatMapStringsSep ":" (p: "${p}/lib/gstreamer-1.0") gstBuildInputs;
+ GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gstBuildInputs;
dontWrapGApps = true;
installPhase = ''
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
new file mode 100644
index 0000000000000..fddffe6d198dd
--- /dev/null
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -0,0 +1,49 @@
+{ buildPythonApplication
+, lib
+, fetchFromGitHub
+, poetry
+, termcolor
+, questionary
+, colorama
+, decli
+, tomlkit
+, jinja2
+, pyyaml
+, argcomplete
+, typing-extensions
+}:
+
+buildPythonApplication rec {
+ pname = "commitizen";
+ version = "2.20.3";
+
+ src = fetchFromGitHub {
+ owner = "commitizen-tools";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-rAm2GTRxZIHQmn/FM0IwwH/2h+oOvzGmeVr5xkvD/zA=";
+ };
+
+ format = "pyproject";
+
+ nativeBuildInputs = [ poetry ];
+
+ propagatedBuildInputs = [
+ termcolor
+ questionary
+ colorama
+ decli
+ tomlkit
+ jinja2
+ pyyaml
+ argcomplete
+ typing-extensions
+ ];
+
+ meta = with lib; {
+ description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs";
+ homepage = "https://github.com/commitizen-tools/commitizen";
+ license = licenses.mit;
+ maintainers = with maintainers; [ lovesegfault ];
+ };
+}
diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/applications/video/kooha/default.nix
index f5be866473903..667dfd83d2cf4 100644
--- a/pkgs/applications/video/kooha/default.nix
+++ b/pkgs/applications/video/kooha/default.nix
@@ -68,6 +68,7 @@ stdenv.mkDerivation rec {
# Fixes https://github.com/NixOS/nixpkgs/issues/31168
postPatch = ''
patchShebangs build-aux/meson_post_install.py
+ substituteInPlace meson.build --replace '>= 1.0.0-alpha.1' '>= 1.0.0'
'';
installCheckPhase = ''
diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
index 2f96480f80c1c..fb01c5096d5b6 100644
--- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
@@ -30,7 +30,7 @@ expandResponseParams "$@"
if [[ -n "${NIX_LINK_TYPE_@suffixSalt@:-}" ]]; then
linkType=$NIX_LINK_TYPE_@suffixSalt@
else
- linkType=$(checkLinkType "$@")
+ linkType=$(checkLinkType "${params[@]}")
fi
if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index aa25de336418d..1220841162c33 100644
--- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -31,7 +31,7 @@ cxxLibrary=1
cInclude=1
expandResponseParams "$@"
-linkType=$(checkLinkType "$@")
+linkType=$(checkLinkType "${params[@]}")
declare -i n=0
nParams=${#params[@]}
diff --git a/pkgs/build-support/libredirect/default.nix b/pkgs/build-support/libredirect/default.nix
index 0c86ea9a7930c..5545c93c19e1e 100644
--- a/pkgs/build-support/libredirect/default.nix
+++ b/pkgs/build-support/libredirect/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, runCommand, lib, coreutils }:
+{ lib, stdenv, bintools-unwrapped, llvmPackages_13, coreutils }:
if stdenv.hostPlatform.isStatic
then throw ''
@@ -25,17 +25,36 @@ else stdenv.mkDerivation rec {
cp ${./test.c} test.c
'';
- libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
-
outputs = ["out" "hook"];
+ libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
+
buildPhase = ''
runHook preBuild
- $CC -Wall -std=c99 -O3 -fPIC -ldl -shared \
- ${lib.optionalString stdenv.isDarwin "-Wl,-install_name,$out/lib/$libName"} \
- -o "$libName" \
- libredirect.c
+ ${if stdenv.isDarwin && stdenv.isAarch64 then ''
+ # We need the unwrapped binutils and clang:
+ # We also want to build a fat library with x86_64, arm64, arm64e in there.
+ # Because we use the unwrapped tools, we need to provide -isystem for headers
+ # and the library search directory for libdl.
+ # We can't build this on x86_64, because the libSystem we point to doesn't
+ # like arm64(e).
+ PATH=${bintools-unwrapped}/bin:${llvmPackages_13.clang-unwrapped}/bin:$PATH \
+ clang -arch x86_64 -arch arm64 -arch arm64e \
+ -isystem ${llvmPackages_13.clang.libc}/include \
+ -isystem ${llvmPackages_13.libclang.lib}/lib/clang/*/include \
+ -L${llvmPackages_13.clang.libc}/lib \
+ -Wl,-install_name,$out/lib/$libName \
+ -Wall -std=c99 -O3 -fPIC libredirect.c \
+ -ldl -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"
+ '' else ''
+ $CC -Wall -std=c99 -O3 -fPIC libredirect.c \
+ -ldl -shared -o "$libName"
+ ''}
if [ -n "$doInstallCheck" ]; then
$CC -Wall -std=c99 -O3 test.c -o test
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index 7dac4684722f7..0dc7feb382c37 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -112,7 +112,8 @@ WRAPPER(int, open)(const char * path, int flags, ...)
}
WRAPPER_DEF(open)
-#ifndef __APPLE__
+// In musl libc, open64 is simply a macro for open
+#if !defined(__APPLE__) && !defined(open64)
WRAPPER(int, open64)(const char * path, int flags, ...)
{
int (*open64_real) (const char *, int, mode_t) = LOOKUP_REAL(open64);
@@ -152,7 +153,7 @@ WRAPPER(FILE *, fopen)(const char * path, const char * mode)
}
WRAPPER_DEF(fopen)
-#ifndef __APPLE__
+#ifdef __GLIBC__
WRAPPER(FILE *, __nss_files_fopen)(const char * path)
{
FILE * (*__nss_files_fopen_real) (const char *) = LOOKUP_REAL(__nss_files_fopen);
@@ -162,7 +163,8 @@ WRAPPER(FILE *, __nss_files_fopen)(const char * path)
WRAPPER_DEF(__nss_files_fopen)
#endif
-#ifndef __APPLE__
+// In musl libc, fopen64 is simply a macro for fopen
+#if !defined(__APPLE__) && !defined(fopen64)
WRAPPER(FILE *, fopen64)(const char * path, const char * mode)
{
FILE * (*fopen64_real) (const char *, const char *) = LOOKUP_REAL(fopen64);
@@ -172,7 +174,7 @@ WRAPPER(FILE *, fopen64)(const char * path, const char * mode)
WRAPPER_DEF(fopen64)
#endif
-#ifndef __APPLE__
+#ifdef __linux__
WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st)
{
int (*__xstat_real) (int ver, const char *, struct stat *) = LOOKUP_REAL(__xstat);
@@ -182,7 +184,7 @@ WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st)
WRAPPER_DEF(__xstat)
#endif
-#ifndef __APPLE__
+#ifdef __linux__
WRAPPER(int, __xstat64)(int ver, const char * path, struct stat64 * st)
{
int (*__xstat64_real) (int ver, const char *, struct stat64 *) = LOOKUP_REAL(__xstat64);
diff --git a/pkgs/build-support/rust/hooks/cargo-build-hook.sh b/pkgs/build-support/rust/hooks/cargo-build-hook.sh
index 54ed765012b92..7503fae4cd7f5 100644
--- a/pkgs/build-support/rust/hooks/cargo-build-hook.sh
+++ b/pkgs/build-support/rust/hooks/cargo-build-hook.sh
@@ -6,6 +6,9 @@ cargoBuildHook() {
runHook preBuild
if [ ! -z "${buildAndTestSubdir-}" ]; then
+ # ensure the output doesn't end up in the subdirectory
+ export CARGO_TARGET_DIR="$(pwd)/target"
+
pushd "${buildAndTestSubdir}"
fi
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index 8b7012677cd58..903e17c3b2e55 100644
--- a/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -23,6 +23,7 @@ assertExecutable() {
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
# --suffix
+# --prefix-each ENV SEP VALS : like --prefix, but VALS is a list
# --suffix-each ENV SEP VALS : like --suffix, but VALS is a list
# --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
# are read first and used as VALS
@@ -73,6 +74,14 @@ makeWrapper() {
echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
fi
fi
+ elif [[ "$p" == "--prefix-each" ]]; then
+ varName="${params[$((n + 1))]}"
+ separator="${params[$((n + 2))]}"
+ values="${params[$((n + 3))]}"
+ n=$((n + 3))
+ for value in $values; do
+ echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
+ done
elif [[ "$p" == "--suffix-each" ]]; then
varName="${params[$((n + 1))]}"
separator="${params[$((n + 2))]}"
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index a7120e3343336..68f0f1bc4ddcb 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -121,18 +121,18 @@ rec {
allowSubstitutes = false;
}
''
- n=$out${destination}
- mkdir -p "$(dirname "$n")"
+ target=$out${destination}
+ mkdir -p "$(dirname "$target")"
if [ -e "$textPath" ]; then
- mv "$textPath" "$n"
+ mv "$textPath" "$target"
else
- echo -n "$text" > "$n"
+ echo -n "$text" > "$target"
fi
eval "$checkPhase"
- (test -n "$executable" && chmod +x "$n") || true
+ (test -n "$executable" && chmod +x "$target") || true
'';
/*
@@ -219,7 +219,7 @@ rec {
${text}
'';
checkPhase = ''
- ${stdenv.shell} -n $out
+ ${stdenv.shellDryRun} "$target"
'';
};
@@ -246,7 +246,7 @@ rec {
${text}
'';
checkPhase = ''
- ${stdenv.shell} -n $out/bin/${name}
+ ${stdenv.shellDryRun} "$target"
'';
};
@@ -295,8 +295,8 @@ rec {
checkPhase =
if checkPhase == null then ''
runHook preCheck
- ${stdenv.shell} -n $out/bin/${name}
- ${shellcheck}/bin/shellcheck $out/bin/${name}
+ ${stdenv.shellDryRun} "$target"
+ ${shellcheck}/bin/shellcheck "$target"
runHook postCheck
''
else checkPhase;
diff --git a/pkgs/build-support/trivial-builders/test-overriding.nix b/pkgs/build-support/trivial-builders/test-overriding.nix
index ddd5dc0507525..a16bbbee1b1b1 100644
--- a/pkgs/build-support/trivial-builders/test-overriding.nix
+++ b/pkgs/build-support/trivial-builders/test-overriding.nix
@@ -1,10 +1,11 @@
# Check that overriding works for trivial-builders like
# `writeShellScript` via `overrideAttrs`. This is useful
-# to override the `checkPhase`, e. g. when you want
-# to enable extglob in `writeShellScript`.
+# to override the `checkPhase`, e. g. if you want
+# to disable extglob in `writeShellScript`.
#
-# Run using `nix-build -A tests.trivial-overriding`.
+# Run using `nix-build -A tests.trivial-builders.overriding`.
{ lib
+, stdenv
, runtimeShell
, runCommand
, callPackage
@@ -21,33 +22,6 @@ let
rm success
'';
- # Reuse the old `checkPhase` of `writeShellScript`, but enable extglob.
- allowExtglob = old: {
- checkPhase = ''
- # make sure we don't change the settings for
- # the rest of the derivation's build
- (
- export BASHOPTS
- shopt -s extglob
- ${old.checkPhase}
- )
- '';
- };
-
- # Run old checkPhase, but only succeed if it fails.
- # This HACK is required because we can't introspect build failures
- # in nix: With `assertFail` we want to make sure that the default
- # `checkPhase` would fail if extglob was used in the script.
- assertFail = old: {
- # write old checkPhase into a shell script, so we can check for
- # the phase to fail even though we have `set -e`.
- checkPhase = ''
- if source ${writeShellScript "old-check-phase" old.checkPhase} 2>/dev/null; then
- exit 1
- fi
- '';
- };
-
simpleCase = case:
writeShellScript "test-trivial-overriding-${case}" extglobScript;
@@ -70,16 +44,33 @@ let
executable = true;
};
- mkCase = f: type: isBin:
+ disallowExtglob = x: x.overrideAttrs (_: {
+ checkPhase = ''
+ ${stdenv.shell} -n "$target"
+ '';
+ });
+
+ # Run old checkPhase, but only succeed if it fails.
+ # This HACK is required because we can't introspect build failures
+ # in nix: With `assertFail` we want to make sure that the default
+ # `checkPhase` would fail if extglob was used in the script.
+ assertFail = x: x.overrideAttrs (old: {
+ checkPhase = ''
+ if
+ ${old.checkPhase}
+ then exit 1; fi
+ '';
+ });
+
+ mkCase = case: outcome: isBin:
let
- drv = (f type).overrideAttrs
- (if type == "succ" then allowExtglob else assertFail);
+ drv = lib.pipe outcome ([ case ] ++ lib.optionals (outcome == "fail") [ disallowExtglob assertFail ]);
in if isBin then "${drv}/bin/${drv.name}" else drv;
writeTextOverrides = {
- # Enabling globbing in checkPhase
+ # Make sure extglob works by default
simpleSucc = mkCase simpleCase "succ" false;
- # Ensure it's possible to fail; in this case globbing is not enabled.
+ # Ensure it's possible to fail; in this case extglob is not enabled
simpleFail = mkCase simpleCase "fail" false;
# Do the same checks after wrapping with callPackage
# to make sure callPackage doesn't mess with the override
@@ -103,7 +94,7 @@ let
name = script.name or (builtins.baseNameOf script);
in writeShellScript "run-${name}" ''
if [ "$(${script})" != "success" ]; then
- echo "Failed in ${script}"
+ echo "Failed in ${name}"
exit 1
fi
'';
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 49645ee800838..4e9925147a35c 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -20,7 +20,7 @@ let
blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist);
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
- srcVersion = "3.71";
+ srcVersion = "3.74";
version = if nssOverride != null then nssOverride.version else srcVersion;
meta = with lib; {
homepage = "https://curl.haxx.se/docs/caextract.html";
@@ -35,7 +35,7 @@ let
src = if nssOverride != null then nssOverride.src else fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
- sha256 = "0ly2l3dv6z5hlxs72h5x6796ni3x1bq60saavaf42ddgv4ax7b4r";
+ sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
};
dontBuild = true;
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index 4c60895897fe3..2feb5e2f5a471 100644
--- a/pkgs/data/misc/shared-mime-info/default.nix
+++ b/pkgs/data/misc/shared-mime-info/default.nix
@@ -13,34 +13,24 @@
}:
stdenv.mkDerivation rec {
- pname = "shared-mime-info";
- version = "2.1";
+ pname = "shared-mime-info-unstable";
+ version = "2021-12-03";
outputs = [ "out" "dev" ];
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xdg";
- repo = pname;
- rev = version;
- sha256 = "07bxv44p43pqq4ymfnyy50yli7lwdqymhvclna42rkn1cazq3vb5";
+ repo = "shared-mime-info";
+ rev = "5a406b06792e26a83c7346b3c2443c0bd8d4cdb2";
+ sha256 = "1v7dx7mr0m4lcff1aasg9gxn280zn0ffn6fjg9xc44pnllg01n6s";
};
- patches = [
- # xmlto is only used for building the docs, which are not installed anyways.
- (fetchpatch {
- name = "xmlto-optional.patch";
- url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/110.patch";
- sha256 = "0p5gxlcmn8ji5bc7pd105s1halqwa1d28lfx9yj43rn6mav7allx";
- })
- ];
-
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
- itstool
libxml2
] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) shared-mime-info;
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index f3dde6585aebb..32eb07fbd62bc 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -1,6 +1,6 @@
{ lib
, stdenv
-, fetchurl
+, fetchFromGitLab
, fetchpatch
, meson
, ninja
@@ -16,21 +16,25 @@
, libpeas
, gnome-online-accounts
, gsettings-desktop-schemas
-, libportal
+, libportal-gtk4
, evolution-data-server
, libical
, librest
, json-glib
, itstool
+, unstableGitUpdater
}:
stdenv.mkDerivation rec {
pname = "gnome-todo";
- version = "41.0";
+ version = "unstable-2022-01-01";
- src = fetchurl {
- url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras";
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "GNOME";
+ repo = "gnome-todo";
+ rev = "4a6be8c38510d909a9f94ec34c4da1f31ac9f1ab";
+ sha256 = "5UGo9vMb8scPWK91gftYOjqkJs9tGMiH1lqyEqedF2A=";
};
patches = [
@@ -64,7 +68,7 @@ stdenv.mkDerivation rec {
gnome.adwaita-icon-theme
# Plug-ins
- libportal # background
+ libportal-gtk4 # background
evolution-data-server # eds
libical
librest # todoist
@@ -77,9 +81,8 @@ stdenv.mkDerivation rec {
'';
passthru = {
- updateScript = gnome.updateScript {
- packageName = pname;
- attrPath = "gnome.${pname}";
+ updateScript = unstableGitUpdater {
+ url = "https://gitlab.gnome.org/GNOME/gnome-todo.git";
};
};
diff --git a/pkgs/desktops/gnome/core/eog/default.nix b/pkgs/desktops/gnome/core/eog/default.nix
index 620f7e7d9c135..cdde96ae43b9b 100644
--- a/pkgs/desktops/gnome/core/eog/default.nix
+++ b/pkgs/desktops/gnome/core/eog/default.nix
@@ -1,5 +1,6 @@
{ lib, stdenv
, fetchurl
+, fetchpatch
, meson
, ninja
, gettext
@@ -8,7 +9,7 @@
, libxml2
, libjpeg
, libpeas
-, libportal
+, libportal-gtk3
, gnome
, gtk3
, glib
@@ -35,6 +36,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-huG5ujnaz3QiavpFermDtBJTuJ9he/VBOcrQiS0C2Kk=";
};
+ patches = [
+ # Fix build with latest libportal
+ # https://gitlab.gnome.org/GNOME/eog/-/merge_requests/115
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/eog/-/commit/a06e6325907e136678b0bbe7058c25d688034afd.patch";
+ sha256 = "ttcsfHubfmIbxA51YLnxXDagLLNutXYmoQyMQ4sHRak=";
+ })
+ ];
+
nativeBuildInputs = [
meson
ninja
@@ -49,7 +59,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libjpeg
- libportal
+ libportal-gtk3
gtk3
gdk-pixbuf
glib
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index 0baab20acec92..eb8caa4f1eff0 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -12,7 +12,7 @@
, wrapGAppsHook
, gnome
, pantheon
-, libportal
+, libportal-gtk3
, libxml2
, libxslt
, itstool
@@ -65,6 +65,13 @@ stdenv.mkDerivation rec {
url = "https://raw.githubusercontent.com/elementary/browser/cc17559a7ac6effe593712b4f3d0bbefde6e3b62/navigation-buttons.patch";
sha256 = "sha256-G1/JUjn/8DyO9sgL/5Kq205KbTOs4EMi4Vf3cJ8FHXU=";
})
+ ] ++ [
+ # Fix build with latest libportal
+ # https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1051
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/epiphany/-/commit/84474398f6e59266b73170838219aa896729ce93.patch";
+ sha256 = "SeiLTo3FcOxuml5sJX9GqyGdyGf1jm1A76SOI0JJvoo=";
+ })
];
nativeBuildInputs = [
@@ -100,7 +107,7 @@ stdenv.mkDerivation rec {
json-glib
libdazzle
libhandy
- libportal
+ libportal-gtk3
libnotify
libarchive
libsecret
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
index 4f7df313ad524..3e45e616f4c6b 100644
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -1,5 +1,6 @@
{ lib, stdenv
, fetchurl
+, fetchpatch
, meson
, ninja
, pkg-config
@@ -10,7 +11,7 @@
, wrapGAppsHook
, gtk3
, libhandy
-, libportal
+, libportal-gtk3
, gnome
, gnome-autoar
, glib-networking
@@ -52,6 +53,17 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit tracker;
})
+
+ # Fix build with latest libportal
+ # https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/749
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/nautilus/-/commit/55cfd66ccca391fc144f5863ff6bfc1f3b137e2d.patch";
+ sha256 = "xSb9l7xxEYpAwmdmeWT/t7Z9Ck3DPtsODzbReQW/Q70=";
+ excludes = [
+ "build-aux/flatpak/org.gnome.Nautilus.json"
+ "build-aux/flatpak/org.gnome.Nautilus.yml"
+ ];
+ })
];
nativeBuildInputs = [
@@ -76,7 +88,7 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base
gtk3
libhandy
- libportal
+ libportal-gtk3
libexif
libnotify
libseccomp
diff --git a/pkgs/development/compilers/llvm/10/clang/default.nix b/pkgs/development/compilers/llvm/10/clang/default.nix
index b42f40b969439..5336e4ea35a3d 100644
--- a/pkgs/development/compilers/llvm/10/clang/default.nix
+++ b/pkgs/development/compilers/llvm/10/clang/default.nix
@@ -29,7 +29,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++14"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix
index 8bd7e937e7d72..5cb6c278659d8 100644
--- a/pkgs/development/compilers/llvm/10/default.nix
+++ b/pkgs/development/compilers/llvm/10/default.nix
@@ -89,7 +89,11 @@ let
# python3 = pkgs.python3; # don't use python-boot
# });
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/10/llvm/default.nix b/pkgs/development/compilers/llvm/10/llvm/default.nix
index b40d3070c059d..bb1b90b36a922 100644
--- a/pkgs/development/compilers/llvm/10/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/10/llvm/default.nix
@@ -57,6 +57,12 @@ in stdenv.mkDerivation (rec {
propagatedBuildInputs = [ ncurses zlib ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
(fetchpatch {
@@ -93,11 +99,6 @@ in stdenv.mkDerivation (rec {
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -122,6 +123,32 @@ in stdenv.mkDerivation (rec {
rm test/ExecutionEngine/frem.ll
'' + ''
patchShebangs test/BugPoint/compile-custom.ll.py
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+ test/Transforms/SCCP/preserve-analysis.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ test/tools/gold/X86/new-pm.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -130,18 +157,28 @@ in stdenv.mkDerivation (rec {
ln -sv $PWD/lib $out
'';
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -167,7 +204,21 @@ in stdenv.mkDerivation (rec {
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -197,7 +248,8 @@ in stdenv.mkDerivation (rec {
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/10/llvm/outputs.patch b/pkgs/development/compilers/llvm/10/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/10/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/11/clang/default.nix b/pkgs/development/compilers/llvm/11/clang/default.nix
index f2236aee45e51..58439f02a5c92 100644
--- a/pkgs/development/compilers/llvm/11/clang/default.nix
+++ b/pkgs/development/compilers/llvm/11/clang/default.nix
@@ -31,7 +31,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++14"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix
index ebd0dc672aa35..82a78af85cac9 100644
--- a/pkgs/development/compilers/llvm/11/default.nix
+++ b/pkgs/development/compilers/llvm/11/default.nix
@@ -104,7 +104,11 @@ let
# python3 = pkgs.python3; # don't use python-boot
# });
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/11/llvm/default.nix b/pkgs/development/compilers/llvm/11/llvm/default.nix
index 8d14ee131bd22..e8cfd23faa7e8 100644
--- a/pkgs/development/compilers/llvm/11/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/11/llvm/default.nix
@@ -57,6 +57,12 @@ in stdenv.mkDerivation (rec {
propagatedBuildInputs = [ ncurses zlib ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
(fetchpatch {
@@ -91,11 +97,6 @@ in stdenv.mkDerivation (rec {
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -120,6 +121,32 @@ in stdenv.mkDerivation (rec {
rm test/ExecutionEngine/frem.ll
'' + ''
patchShebangs test/BugPoint/compile-custom.ll.py
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+ test/Transforms/SCCP/preserve-analysis.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ test/tools/gold/X86/new-pm.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -131,18 +158,38 @@ in stdenv.mkDerivation (rec {
# E.g. mesa.drivers use the build-id as a cache key (see #93946):
LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ] ++ optionals stdenv.hostPlatform.isStatic [
+ # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+ "-DLLVM_ENABLE_PIC=OFF"
+ "-DLLVM_BUILD_STATIC=ON"
+ # libxml2 needs to be disabled because the LLVM build system ignores its .la
+ # file and doesn't link zlib as well.
+ # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+ "-DLLVM_ENABLE_LIBXML2=OFF"
+ # This is a Shared Library not tied to LLVM_ENABLE_PIC
+ "-DLLVM_TOOL_REMARKS_SHLIB_BUILD=OFF"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -168,7 +215,21 @@ in stdenv.mkDerivation (rec {
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -198,7 +259,8 @@ in stdenv.mkDerivation (rec {
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/11/llvm/outputs.patch b/pkgs/development/compilers/llvm/11/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/11/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/12/clang/default.nix b/pkgs/development/compilers/llvm/12/clang/default.nix
index a411234959820..0f1e160bbce82 100644
--- a/pkgs/development/compilers/llvm/12/clang/default.nix
+++ b/pkgs/development/compilers/llvm/12/clang/default.nix
@@ -32,7 +32,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++14"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix
index e68522faea06c..4a2a7ee878948 100644
--- a/pkgs/development/compilers/llvm/12/default.nix
+++ b/pkgs/development/compilers/llvm/12/default.nix
@@ -92,7 +92,11 @@ let
# python3 = pkgs.python3; # don't use python-boot
# });
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/12/llvm/default.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix
index bb5676b9d48e4..2c035ee67a9e2 100644
--- a/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -58,6 +58,15 @@ in stdenv.mkDerivation (rec {
++ [ zlib ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+ # Fix llvm being miscompiled by some gccs. See llvm/llvm-project#49955
+ # Fix llvm being miscompiled by some gccs. See https://github.com/llvm/llvm-project/issues/49955
+ ./fix-llvm-issue-49955.patch
+
./gnu-install-dirs.patch
# On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
(fetchpatch {
@@ -72,11 +81,6 @@ in stdenv.mkDerivation (rec {
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -105,6 +109,33 @@ in stdenv.mkDerivation (rec {
rm test/ExecutionEngine/frem.ll
'' + ''
patchShebangs test/BugPoint/compile-custom.ll.py
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-O0-defaults.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+ test/Transforms/SCCP/preserve-analysis.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ test/tools/gold/X86/new-pm.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -116,18 +147,36 @@ in stdenv.mkDerivation (rec {
# E.g. mesa.drivers use the build-id as a cache key (see #93946):
LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ] ++ optionals stdenv.hostPlatform.isStatic [
+ # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+ "-DLLVM_ENABLE_PIC=OFF"
+ "-DLLVM_BUILD_STATIC=ON"
+ # libxml2 needs to be disabled because the LLVM build system ignores its .la
+ # file and doesn't link zlib as well.
+ # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+ "-DLLVM_ENABLE_LIBXML2=OFF"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -153,7 +202,21 @@ in stdenv.mkDerivation (rec {
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -183,7 +246,8 @@ in stdenv.mkDerivation (rec {
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch b/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch
new file mode 100644
index 0000000000000..b515583a0c421
--- /dev/null
+++ b/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/CodeGen/AsmPrinter/CMakeLists.txt b/lib/CodeGen/AsmPrinter/CMakeLists.txt
+index eb924282..c77c140b 100644
+--- a/lib/CodeGen/AsmPrinter/CMakeLists.txt
++++ b/lib/CodeGen/AsmPrinter/CMakeLists.txt
+@@ -44,3 +44,8 @@ add_llvm_component_library(LLVMAsmPrinter
+ Support
+ Target
+ )
++
++if (CMAKE_COMPILER_IS_GNUCXX)
++ set_source_files_properties(DwarfCompileUnit.cpp PROPERTIES
++ COMPILE_FLAGS -fno-strict-aliasing)
++endif()
diff --git a/pkgs/development/compilers/llvm/12/llvm/outputs.patch b/pkgs/development/compilers/llvm/12/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/12/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/13/clang/default.nix b/pkgs/development/compilers/llvm/13/clang/default.nix
index 242995839745f..6c227f1ae72bb 100644
--- a/pkgs/development/compilers/llvm/13/clang/default.nix
+++ b/pkgs/development/compilers/llvm/13/clang/default.nix
@@ -22,7 +22,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++14"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix
index a89c6dabe3912..be5e9404cdd48 100644
--- a/pkgs/development/compilers/llvm/13/default.nix
+++ b/pkgs/development/compilers/llvm/13/default.nix
@@ -93,7 +93,11 @@ let
# python3 = pkgs.python3; # don't use python-boot
# });
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/13/llvm/default.nix b/pkgs/development/compilers/llvm/13/llvm/default.nix
index 115b56396e8d8..abfb2b36d18f8 100644
--- a/pkgs/development/compilers/llvm/13/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/13/llvm/default.nix
@@ -52,6 +52,12 @@ in stdenv.mkDerivation (rec {
checkInputs = [ which ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# Fix random compiler crashes: https://bugs.llvm.org/show_bug.cgi?id=50611
@@ -66,11 +72,6 @@ in stdenv.mkDerivation (rec {
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -109,18 +110,36 @@ in stdenv.mkDerivation (rec {
# E.g. mesa.drivers use the build-id as a cache key (see #93946):
LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ] ++ optionals stdenv.hostPlatform.isStatic [
+ # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+ "-DLLVM_ENABLE_PIC=OFF"
+ "-DLLVM_BUILD_STATIC=ON"
+ # libxml2 needs to be disabled because the LLVM build system ignores its .la
+ # file and doesn't link zlib as well.
+ # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+ "-DLLVM_ENABLE_LIBXML2=OFF"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -146,7 +165,21 @@ in stdenv.mkDerivation (rec {
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -176,7 +209,8 @@ in stdenv.mkDerivation (rec {
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/13/llvm/outputs.patch b/pkgs/development/compilers/llvm/13/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/13/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index 4593580b72fda..ef9886fb5ea76 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -65,7 +65,11 @@ let
python3 = pkgs.python3; # don't use python-boot
});
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/5/llvm/default.nix b/pkgs/development/compilers/llvm/5/llvm/default.nix
index 339c7a36931e6..cf668cd566a65 100644
--- a/pkgs/development/compilers/llvm/5/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/5/llvm/default.nix
@@ -27,7 +27,7 @@ let
imap (i: _: concatStringsSep "." (take i parts)) parts;
in
-stdenv.mkDerivation ({
+stdenv.mkDerivation (rec {
pname = "llvm";
inherit version;
@@ -65,6 +65,13 @@ stdenv.mkDerivation ({
# sha256 = "0injj1hqgrbcbihhwp2nbal88jfykad30r54f2cdcx7gws2fcy8i";
# stripLen = 1;
#})
+
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# Fix invalid std::string(nullptr) for GCC 12
@@ -80,11 +87,6 @@ stdenv.mkDerivation ({
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -100,6 +102,27 @@ stdenv.mkDerivation ({
substituteInPlace unittests/Support/CMakeLists.txt \
--replace "add_subdirectory(DynamicLibrary)" ""
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -108,20 +131,30 @@ stdenv.mkDerivation ({
ln -sv $PWD/lib $out
'';
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
]
- ++ lib.optional enableSharedLibraries
- "-DLLVM_LINK_LLVM_DYLIB=ON"
++ lib.optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -148,7 +181,21 @@ stdenv.mkDerivation ({
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -179,7 +226,8 @@ stdenv.mkDerivation ({
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isi686);
+ doCheck = stdenv.isLinux && (!stdenv.isi686)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/5/llvm/outputs.patch b/pkgs/development/compilers/llvm/5/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/5/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
index 9b1caf410bc26..4acfe6cd85d79 100644
--- a/pkgs/development/compilers/llvm/6/default.nix
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -66,7 +66,11 @@ let
python3 = pkgs.python3; # don't use python-boot
});
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/6/llvm/default.nix b/pkgs/development/compilers/llvm/6/llvm/default.nix
index 5847d50a6f9ad..61f9234274d35 100644
--- a/pkgs/development/compilers/llvm/6/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/6/llvm/default.nix
@@ -27,7 +27,7 @@ let
imap (i: _: concatStringsSep "." (take i parts)) parts;
in
-stdenv.mkDerivation ({
+stdenv.mkDerivation (rec {
pname = "llvm";
inherit version;
@@ -63,6 +63,13 @@ stdenv.mkDerivation ({
includes = [ "test/tools/gold/X86/common.ll" ];
sha256 = "0fxgrxmfnjx17w3lcq19rk68b2xksh1bynz3ina784kma7hp4wdb";
})
+
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# Fix invalid std::string(nullptr) for GCC 12
@@ -78,11 +85,6 @@ stdenv.mkDerivation ({
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -93,6 +95,29 @@ stdenv.mkDerivation ({
substituteInPlace unittests/Support/CMakeLists.txt \
--replace "add_subdirectory(DynamicLibrary)" ""
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -101,19 +126,29 @@ stdenv.mkDerivation ({
ln -sv $PWD/lib $out
'';
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -139,7 +174,21 @@ stdenv.mkDerivation ({
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -170,7 +219,8 @@ stdenv.mkDerivation ({
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isi686);
+ doCheck = stdenv.isLinux && (!stdenv.isi686)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/6/llvm/outputs.patch b/pkgs/development/compilers/llvm/6/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/6/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix
index d014c043a80db..f0908f30775d7 100644
--- a/pkgs/development/compilers/llvm/7/default.nix
+++ b/pkgs/development/compilers/llvm/7/default.nix
@@ -96,7 +96,11 @@ let
python3 = pkgs.python3; # don't use python-boot
});
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/7/llvm/default.nix b/pkgs/development/compilers/llvm/7/llvm/default.nix
index cfa4fdf7ac337..b324e1a0e4d61 100644
--- a/pkgs/development/compilers/llvm/7/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/7/llvm/default.nix
@@ -31,7 +31,7 @@ let
let parts = splitVersion release_version; in
imap (i: _: concatStringsSep "." (take i parts)) parts;
-in stdenv.mkDerivation ({
+in stdenv.mkDerivation (rec {
pname = "llvm";
inherit version;
@@ -67,6 +67,13 @@ in stdenv.mkDerivation ({
url = "https://github.com/llvm-mirror/llvm/commit/cc1f2a595ead516812a6c50398f0f3480ebe031f.patch";
sha256 = "0k6k1p5yisgwx417a67s7sr9930rqh1n0zv5jvply8vjjy4b3kf8";
})
+
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# Fix invalid std::string(nullptr) for GCC 12
@@ -82,11 +89,6 @@ in stdenv.mkDerivation ({
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -110,6 +112,31 @@ in stdenv.mkDerivation ({
rm test/ExecutionEngine/frem.ll
'' + ''
patchShebangs test/BugPoint/compile-custom.ll.py
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SCCP/preserve-analysis.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ test/tools/gold/X86/new-pm.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -118,19 +145,29 @@ in stdenv.mkDerivation ({
ln -sv $PWD/lib $out
'';
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -156,7 +193,21 @@ in stdenv.mkDerivation ({
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -187,7 +238,8 @@ in stdenv.mkDerivation ({
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/7/llvm/outputs.patch b/pkgs/development/compilers/llvm/7/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/7/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix
index 5cb7720d026f2..1d6a5b7d74df5 100644
--- a/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/8/clang/default.nix
@@ -30,7 +30,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix
index 7252b75a33974..43050a72b922b 100644
--- a/pkgs/development/compilers/llvm/8/default.nix
+++ b/pkgs/development/compilers/llvm/8/default.nix
@@ -97,7 +97,11 @@ let
python3 = pkgs.python3; # don't use python-boot
});
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/8/llvm/default.nix b/pkgs/development/compilers/llvm/8/llvm/default.nix
index 902a379b7aadc..efd1707eb3378 100644
--- a/pkgs/development/compilers/llvm/8/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/8/llvm/default.nix
@@ -30,7 +30,7 @@ let
shortVersion = with lib;
concatStringsSep "." (take 1 (splitVersion release_version));
-in stdenv.mkDerivation ({
+in stdenv.mkDerivation (rec {
pname = "llvm";
inherit version;
@@ -57,6 +57,12 @@ in stdenv.mkDerivation ({
propagatedBuildInputs = [ ncurses zlib ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
# Fix missing includes for GCC 10
(fetchpatch {
url = "https://bugs.gentoo.org/attachment.cgi?id=612792";
@@ -85,11 +91,6 @@ in stdenv.mkDerivation ({
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -104,6 +105,32 @@ in stdenv.mkDerivation ({
rm test/CodeGen/AArch64/wineh4.mir
'' + ''
patchShebangs test/BugPoint/compile-custom.ll.py
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+ test/Transforms/SCCP/preserve-analysis.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ test/tools/gold/X86/new-pm.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -112,18 +139,28 @@ in stdenv.mkDerivation ({
ln -sv $PWD/lib $out
'';
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -149,7 +186,21 @@ in stdenv.mkDerivation ({
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -179,7 +230,8 @@ in stdenv.mkDerivation ({
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/8/llvm/outputs.patch b/pkgs/development/compilers/llvm/8/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/8/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/9/clang/default.nix b/pkgs/development/compilers/llvm/9/clang/default.nix
index c98b4a830c422..ee124b43bfce7 100644
--- a/pkgs/development/compilers/llvm/9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/9/clang/default.nix
@@ -30,7 +30,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix
index 9126a614b106b..7efe8486a387b 100644
--- a/pkgs/development/compilers/llvm/9/default.nix
+++ b/pkgs/development/compilers/llvm/9/default.nix
@@ -97,7 +97,11 @@ let
python3 = pkgs.python3; # don't use python-boot
});
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/9/llvm/default.nix b/pkgs/development/compilers/llvm/9/llvm/default.nix
index ed21ac74a1a1c..1dd1455ed6d69 100644
--- a/pkgs/development/compilers/llvm/9/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/9/llvm/default.nix
@@ -57,6 +57,12 @@ in stdenv.mkDerivation (rec {
propagatedBuildInputs = [ ncurses zlib ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
# Force a test to evaluate the saved benchmark for a CPU for which LLVM has
# an execution model. See NixOS/nixpkgs#119673.
@@ -83,11 +89,6 @@ in stdenv.mkDerivation (rec {
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -119,6 +120,32 @@ in stdenv.mkDerivation (rec {
# Fix x86 gold test on non-x86 platforms
# (similar fix made to others in this directory previously, FWIW)
patch -p1 -i ${./fix-test-on-non-x86-like-others.patch}
+ '' + ''
+ # Tweak tests to ignore namespace part of type to support
+ # gcc-12: https://gcc.gnu.org/PR103598.
+ # The change below mangles strings like:
+ # CHECK-NEXT: Starting llvm::Function pass manager run.
+ # to:
+ # CHECK-NEXT: Starting {{.*}}Function pass manager run.
+ for f in \
+ test/Other/new-pass-manager.ll \
+ test/Other/new-pm-defaults.ll \
+ test/Other/new-pm-lto-defaults.ll \
+ test/Other/new-pm-thinlto-defaults.ll \
+ test/Other/pass-pipeline-parsing.ll \
+ test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+ test/Transforms/Inline/clear-analyses.ll \
+ test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+ test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+ test/Transforms/SCCP/preserve-analysis.ll \
+ test/Transforms/SROA/dead-inst.ll \
+ test/tools/gold/X86/new-pm.ll \
+ ; do
+ echo "PATCH: $f"
+ substituteInPlace $f \
+ --replace 'Starting llvm::' 'Starting {{.*}}' \
+ --replace 'Finished llvm::' 'Finished {{.*}}'
+ done
'';
# hacky fix: created binaries need to be run before installation
@@ -127,18 +154,28 @@ in stdenv.mkDerivation (rec {
ln -sv $PWD/lib $out
'';
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -164,7 +201,21 @@ in stdenv.mkDerivation (rec {
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -194,7 +245,8 @@ in stdenv.mkDerivation (rec {
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/9/llvm/outputs.patch b/pkgs/development/compilers/llvm/9/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/9/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/git/clang/default.nix b/pkgs/development/compilers/llvm/git/clang/default.nix
index de2eff9f3e375..3873bda2b6d5d 100644
--- a/pkgs/development/compilers/llvm/git/clang/default.nix
+++ b/pkgs/development/compilers/llvm/git/clang/default.nix
@@ -22,7 +22,6 @@ let
"-DCMAKE_CXX_FLAGS=-std=c++14"
"-DCLANGD_BUILD_XPC=OFF"
"-DLLVM_ENABLE_RTTI=ON"
- "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
] ++ lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index 666e9be3cd89e..890270c851dbc 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -93,7 +93,11 @@ let
# python3 = pkgs.python3; # don't use python-boot
# });
- clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+ # pick clang appropriate for package set we are targeting
+ clang =
+ /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+ else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+ else tools.libcxxClang;
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
diff --git a/pkgs/development/compilers/llvm/git/llvm/default.nix b/pkgs/development/compilers/llvm/git/llvm/default.nix
index 4c895f81dbbac..fc7030810c5bd 100644
--- a/pkgs/development/compilers/llvm/git/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/git/llvm/default.nix
@@ -51,6 +51,12 @@ in stdenv.mkDerivation (rec {
checkInputs = [ which ];
patches = [
+ # When cross-compiling we configure llvm-config-native with an approximation
+ # of the flags used for the normal LLVM build. To avoid the need for building
+ # a native libLLVM.so (which would fail) we force llvm-config to be linked
+ # statically against the necessary LLVM components always.
+ ../../llvm-config-link-static.patch
+
./gnu-install-dirs.patch
] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
@@ -58,11 +64,6 @@ in stdenv.mkDerivation (rec {
substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
--replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
- ''
- # Patch llvm-config to return correct library path based on --link-{shared,static}.
- + ''
- substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
- patch -p1 < ./outputs.patch
'' + ''
# FileSystem permissions tests fail with various special bits
substituteInPlace unittests/Support/CMakeLists.txt \
@@ -101,18 +102,36 @@ in stdenv.mkDerivation (rec {
# E.g. mesa.drivers use the build-id as a cache key (see #93946):
LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
- cmakeFlags = with stdenv; [
- "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ cmakeFlags = with stdenv; let
+ # These flags influence llvm-config's BuildVariables.inc in addition to the
+ # general build. We need to make sure these are also passed via
+ # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+ # will return different results from the cross llvm-config.
+ #
+ # Some flags don't need to be repassed because LLVM already does so (like
+ # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+ flagsForLlvmConfig = [
+ "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+ "-DLLVM_ENABLE_RTTI=ON"
+ ] ++ optionals enableSharedLibraries [
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ];
+ in flagsForLlvmConfig ++ [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
- "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
"-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
"-DLLVM_ENABLE_DUMP=ON"
- ] ++ optionals enableSharedLibraries [
- "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ] ++ optionals stdenv.hostPlatform.isStatic [
+ # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+ "-DLLVM_ENABLE_PIC=OFF"
+ "-DLLVM_BUILD_STATIC=ON"
+ # libxml2 needs to be disabled because the LLVM build system ignores its .la
+ # file and doesn't link zlib as well.
+ # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+ "-DLLVM_ENABLE_LIBXML2=OFF"
] ++ optionals enableManpages [
"-DLLVM_BUILD_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -138,7 +157,21 @@ in stdenv.mkDerivation (rec {
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
];
- in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+ # We need to repass the custom GNUInstallDirs values, otherwise CMake
+ # will choose them for us, leading to wrong results in llvm-config-native
+ nativeInstallFlags = [
+ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+ "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+ "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+ "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+ ];
+ in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+ + lib.concatStringsSep ";" (lib.concatLists [
+ flagsForLlvmConfig
+ nativeToolchainFlags
+ nativeInstallFlags
+ ])
)
];
@@ -168,7 +201,8 @@ in stdenv.mkDerivation (rec {
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
'';
- doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+ doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl)
+ && (stdenv.hostPlatform == stdenv.buildPlatform);
checkTarget = "check-all";
diff --git a/pkgs/development/compilers/llvm/git/llvm/outputs.patch b/pkgs/development/compilers/llvm/git/llvm/outputs.patch
deleted file mode 100644
index 878460e05b8af..0000000000000
--- a/pkgs/development/compilers/llvm/git/llvm/outputs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
-
-+ /// Nix-specific multiple-output handling: override ActiveLibDir
-+ if (!IsInDevelopmentTree) {
-+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ }
-+
- /// We only use `shared library` mode in cases where the static library form
- /// of the components provided are not available; note however that this is
- /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/llvm-config-link-static.patch b/pkgs/development/compilers/llvm/llvm-config-link-static.patch
new file mode 100644
index 0000000000000..3881cc5206e27
--- /dev/null
+++ b/pkgs/development/compilers/llvm/llvm-config-link-static.patch
@@ -0,0 +1,12 @@
+diff --git llvm/tools/llvm-config/CMakeLists.txt llvm/tools/llvm-config/CMakeLists.txt
+index 16ba54c0cf2f..20b017195e84 100644
+--- llvm/tools/llvm-config/CMakeLists.txt
++++ llvm/tools/llvm-config/CMakeLists.txt
+@@ -6,6 +6,7 @@ set(BUILDVARIABLES_OBJPATH ${CMAKE_CURRENT_BINARY_DIR}/BuildVariables.inc)
+ # Add the llvm-config tool.
+ add_llvm_tool(llvm-config
+ llvm-config.cpp
++ DISABLE_LLVM_LINK_LLVM_DYLIB
+ )
+
+ # Compute the substitution values for various items.
diff --git a/pkgs/development/compilers/rust/1_57.nix b/pkgs/development/compilers/rust/1_58.nix
similarity index 58%
rename from pkgs/development/compilers/rust/1_57.nix
rename to pkgs/development/compilers/rust/1_58.nix
index f6b9d3c72a321..73f4d2ea8b170 100644
--- a/pkgs/development/compilers/rust/1_57.nix
+++ b/pkgs/development/compilers/rust/1_58.nix
@@ -20,8 +20,8 @@
} @ args:
import ./default.nix {
- rustcVersion = "1.57.0";
- rustcSha256 = "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim";
+ rustcVersion = "1.58.0";
+ rustcSha256 = "sha256-CtUxoy88LplrkyLGtyYqnP5Vfkn/M2Ot6ge1dRBs13A=";
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
llvmSharedForHost = pkgsBuildHost.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
@@ -37,24 +37,24 @@ import ./default.nix {
# Note: the version MUST be one version prior to the version we're
# building
- bootstrapVersion = "1.56.1";
+ bootstrapVersion = "1.57.0";
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
bootstrapHashes = {
- i686-unknown-linux-gnu = "84db34603ce22d93312ff8bccd5580fe112e932bbeb0361e7cc37668a9803a27";
- x86_64-unknown-linux-gnu = "a6be5d045183a0b12dddf0d81633e2a64e63e4c2dfa44eb7593970c1ef93a98f";
- x86_64-unknown-linux-musl = "3c09058d104d9a88943fb343af1fb70422f9c4a987e6703666ee8a8051211190";
- arm-unknown-linux-gnueabihf = "c445706d109bb74de4c889687ae08a48af5808676fda15b84b7ef5970a82a5f6";
- armv7-unknown-linux-gnueabihf = "29ec65af502370c0c1a49faecd7131f1243fe3005b419ead4b40b267af2b2db0";
- aarch64-unknown-linux-gnu = "69792887357c8dd78c5424f0b4a624578296796d99edf6c30ebe2acc2b939aa3";
- aarch64-unknown-linux-musl = "971d13d41657e50e3ac54f17f52b4198c3d8bc25ec489a6a9e6d12c18226dda5";
- x86_64-apple-darwin = "8d65ef02a123c23be00101fb204d28b60498b9145dd2ee8edabf0afde6e01e55";
- aarch64-apple-darwin = "e71c14c1368048a22e4d1851f301872ac2e6f4c574f04d2a7ae4d64b0e7c7235";
- powerpc64le-unknown-linux-gnu = "fa78b28fe1ef3cd4add9ec151e5eab756dfc83c8bc3e5a576a6eddd350c4de7a";
- riscv64gc-unknown-linux-gnu = "5ec327d1bd3ba8d00afbe9be4a1f0fb8ab845063fcf9be479be9493c52a4dbb6";
+ i686-unknown-linux-gnu = "7e4ac8ca2874897099a3ceb89039ceee170f474a98ee247589fd6bca8dda7cfa";
+ x86_64-unknown-linux-gnu = "ea0253784b2e5c22659ff148d492a68d2e11da734491714ebc61cc93896efcda";
+ x86_64-unknown-linux-musl = "56876ebca0e46236208c8bd3c3425dba553abe49639e1040ee8b95bc66a45d33";
+ arm-unknown-linux-gnueabihf = "b4448f7a96da4feee99a2c4b16b5738b99ab7e86e22d284ea6f7dca5921bca9b";
+ armv7-unknown-linux-gnueabihf = "577682b1405e8901f971839407daaad06d8ae68ad370305b75d569ba293c4fb4";
+ aarch64-unknown-linux-gnu = "d66847f7cf7b548ecb328c400ac4f691ee2aea6ff5cd9286ad8733239569556c";
+ aarch64-unknown-linux-musl = "91c8e5171e5715261f7f635142a10a9415a4e5ba55374daf76f0b713c8b08132";
+ x86_64-apple-darwin = "15ceffc4743434c19d08f73fb4edd6642b7fd8162ed7101d3e6ca2c691fcb699";
+ aarch64-apple-darwin = "7511075e28b715e2d9c7ee74221779f8444681a4bb60ac3a0270a5fdf08bdd5a";
+ powerpc64le-unknown-linux-gnu = "3ddc1abed6b7535c4150bf54291901fa856806c948bc21b711e24a3c8d810be7";
+ riscv64gc-unknown-linux-gnu = "f809df1c6ac0adc9bd37eb871dfb0d9809f3ed7f61ba611f9305e9eb8f8c9226";
};
- selectRustPackage = pkgs: pkgs.rust_1_57;
+ selectRustPackage = pkgs: pkgs.rust_1_58;
rustcPatches = [
];
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 187127cfbfb39..1087ac0590820 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -100,6 +100,9 @@ in stdenv.mkDerivation rec {
"${setHost}.musl-root=${pkgsBuildHost.targetPackages.stdenv.cc.libc}"
] ++ optionals stdenv.targetPlatform.isMusl [
"${setTarget}.musl-root=${pkgsBuildTarget.targetPackages.stdenv.cc.libc}"
+ ] ++ optionals (stdenv.isDarwin && stdenv.isx86_64) [
+ # https://github.com/rust-lang/rust/issues/92173
+ "--set rust.jemalloc"
];
# The bootstrap.py will generated a Makefile that then executes the build.
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index daa9bf49b6567..110338b1cd154 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -114,8 +114,8 @@ in rec {
};
vala_0_54 = generic {
- version = "0.54.3";
- sha256 = "7R1f5MvAzShF0N5PH/77Fa+waJLSMMfMppV4FnLo+2A=";
+ version = "0.54.6";
+ sha256 = "SdYNlqP99sQoc5dEK8bW2Vv0CqffZ47kkSjEsRum5Gk=";
};
vala = vala_0_54;
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index b6d60ba8a807f..3965ff4f08827 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -133,10 +133,19 @@ with pkgs;
sourceVersion = {
major = "3";
minor = "9";
- patch = "9";
+ patch = "10";
suffix = "";
};
- sha256 = "sha256-BoKMBKVzwHOk5RxCkqJ8G+SuJmIcPtx8+TGEGM47bSc=";
+ sha256 = "sha256-Co+/tSh+vDoT6brz1U4I+gZ3j/7M9jEa74Ibs6ZYbMg=";
+ };
+ python310 = {
+ sourceVersion = {
+ major = "3";
+ minor = "10";
+ patch = "2";
+ suffix = "";
+ };
+ sha256 = "sha256-F946x9qfJRmqnWQ3jGA6c6DprVjf+ogS5FFgwIbeZMc=";
};
};
@@ -180,18 +189,11 @@ in {
inherit passthruFun;
} // sources.python39);
- python310 = callPackage ./cpython {
+ python310 = callPackage ./cpython ({
self = python310;
- sourceVersion = {
- major = "3";
- minor = "10";
- patch = "1";
- suffix = "";
- };
- sha256 = "0xz1wrd6xi20sbli30vm6jclc4rlnnd03irybknf2p8sdrdjdwd7";
inherit (darwin) configd;
inherit passthruFun;
- };
+ } // sources.python310);
python311 = callPackage ./cpython {
self = python311;
@@ -219,6 +221,7 @@ in {
sqlite = null;
configd = null;
tzdata = null;
+ libffi = pkgs.libffiBoot; # without test suite
stripConfig = true;
stripIdlelib = true;
stripTests = true;
diff --git a/pkgs/development/interpreters/spidermonkey/78.nix b/pkgs/development/interpreters/spidermonkey/78.nix
index b4ed171eb78c4..4f525c8f0a5b8 100644
--- a/pkgs/development/interpreters/spidermonkey/78.nix
+++ b/pkgs/development/interpreters/spidermonkey/78.nix
@@ -35,6 +35,15 @@ stdenv.mkDerivation rec {
url = "https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d.patch";
sha256 = "02b7zwm6vxmk61aj79a6m32s1k5sr0hwm3q1j4v6np9jfyd10g1j";
})
+
+ # Remove this when updating to 79 - The patches are already applied upstream
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1318905
+
+ # Combination of 3 changesets, modified to apply on 78:
+ # - https://hg.mozilla.org/mozilla-central/rev/06d7e1b6b7e7
+ # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c
+ # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33
+ ./add-riscv64-support.patch
];
outputs = [ "out" "dev" ];
@@ -98,6 +107,10 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ buildPackages.stdenv.cc ];
+ # cc-rs insists on using -mabi=lp64 (soft-float) for riscv64,
+ # while we have a double-float toolchain
+ NIX_CFLAGS_COMPILE = lib.optionalString (with stdenv.hostPlatform; isRiscV && is64bit) "-mabi=lp64d";
+
# Remove unnecessary static lib
preFixup = ''
moveToOutput bin/js78-config "$dev"
diff --git a/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch b/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch
new file mode 100644
index 0000000000000..9d5d7c5507dc1
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch
@@ -0,0 +1,123 @@
+# HG changeset patch
+# User John Paul Adrian Glaubitz
+# Date 1592464269 0
+# Thu Jun 18 07:11:09 2020 +0000
+# Node ID 5de7d747a962df5f8aefc016a62d7270ac18879e
+# Parent e4b11f027efc1f8c2710ae3f52487a8f10a8fb39
+Bug 1318905 - build: Add riscv64 as target architecture to mozbuild r=glandium
+
+Adds the basic definitions for riscv64 to mozbuild, allowing to build Spidermonkey.
+
+Differential Revision: https://phabricator.services.mozilla.com/D78623
+
+diff -r e4b11f027efc -r 5de7d747a962 build/moz.configure/init.configure
+--- a/build/moz.configure/init.configure Sun May 31 17:11:57 2020 +0000
++++ b/build/moz.configure/init.configure Thu Jun 18 07:11:09 2020 +0000
+@@ -741,6 +741,9 @@
+ elif cpu.startswith('aarch64'):
+ canonical_cpu = 'aarch64'
+ endianness = 'little'
++ elif cpu in ('riscv64', 'riscv64gc'):
++ canonical_cpu = 'riscv64'
++ endianness = 'little'
+ elif cpu == 'sh4':
+ canonical_cpu = 'sh4'
+ endianness = 'little'
+diff -r e4b11f027efc -r 5de7d747a962 python/mozbuild/mozbuild/configure/constants.py
+--- a/python/mozbuild/mozbuild/configure/constants.py Sun May 31 17:11:57 2020 +0000
++++ b/python/mozbuild/mozbuild/configure/constants.py Thu Jun 18 07:11:09 2020 +0000
+@@ -49,6 +49,7 @@
+ 'mips64': 64,
+ 'ppc': 32,
+ 'ppc64': 64,
++ 'riscv64': 64,
+ 's390': 32,
+ 's390x': 64,
+ 'sh4': 32,
+@@ -87,6 +88,7 @@
+ ('sparc', '__sparc__'),
+ ('mips64', '__mips64'),
+ ('mips32', '__mips__'),
++ ('riscv64', '__riscv && __riscv_xlen == 64'),
+ ('sh4', '__sh__'),
+ ))
+
+diff -r e4b11f027efc -r 5de7d747a962 python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py Sun May 31 17:11:57 2020 +0000
++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py Thu Jun 18 07:11:09 2020 +0000
+@@ -1208,6 +1208,10 @@
+ 'mips-unknown-linux-gnu': big_endian + {
+ '__mips__': 1,
+ },
++ 'riscv64-unknown-linux-gnu': little_endian + {
++ '__riscv': 1,
++ '__riscv_xlen': 64,
++ },
+ 'sh4-unknown-linux-gnu': little_endian + {
+ '__sh__': 1,
+ },
+# HG changeset patch
+# User John Paul Adrian Glaubitz
+# Date 1592464269 0
+# Thu Jun 18 07:11:09 2020 +0000
+# Node ID e3d924797cb2d508ff938414168e98ccf66f07fe
+# Parent 5de7d747a962df5f8aefc016a62d7270ac18879e
+Bug 1318905 - js:jit: Enable AtomicOperations-feeling-lucky.h on riscv64 r=lth
+
+This allows the build on riscv64 to use the atomic operations provided by GCC.
+
+Differential Revision: https://phabricator.services.mozilla.com/D78624
+
+diff -r 5de7d747a962 -r e3d924797cb2 js/src/jit/AtomicOperations.h
+--- a/js/src/jit/AtomicOperations.h Thu Jun 18 07:11:09 2020 +0000
++++ b/js/src/jit/AtomicOperations.h Thu Jun 18 07:11:09 2020 +0000
+@@ -391,7 +391,7 @@
+ #elif defined(__ppc__) || defined(__PPC__) || defined(__sparc__) || \
+ defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
+ defined(__PPC64LE__) || defined(__alpha__) || defined(__hppa__) || \
+- defined(__sh__) || defined(__s390__) || defined(__s390x__)
++ defined(__sh__) || defined(__s390__) || defined(__s390x__) || defined(__riscv)
+ # include "jit/shared/AtomicOperations-feeling-lucky.h"
+ #else
+ # error "No AtomicOperations support provided for this platform"
+diff -r 5de7d747a962 -r e3d924797cb2 js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
+--- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h Thu Jun 18 07:11:09 2020 +0000
++++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h Thu Jun 18 07:11:09 2020 +0000
+@@ -63,6 +63,11 @@
+ # define HAS_64BIT_LOCKFREE
+ #endif
+
++#if defined(__riscv) && __riscv_xlen == 64
++# define HAS_64BIT_ATOMICS
++# define HAS_64BIT_LOCKFREE
++#endif
++
+ #ifdef __sparc__
+ # ifdef __LP64__
+ # define HAS_64BIT_ATOMICS
+# HG changeset patch
+# User John Paul Adrian Glaubitz
+# Date 1592464269 0
+# Thu Jun 18 07:11:09 2020 +0000
+# Node ID 3f652d12b8bc0bd213020d488ecb4d3710bb11fa
+# Parent e3d924797cb2d508ff938414168e98ccf66f07fe
+Bug 1318905 - mfbt:tests: Define RETURN_INSTR for riscv64 in TestPoisonArea r=glandium
+
+Define RETURN_INSTR for riscv64 in TestPoisonArea, i.e. the riscv64 assembly
+opcodes for "ret ; ret".
+
+Differential Revision: https://phabricator.services.mozilla.com/D78625
+
+diff -r e3d924797cb2 -r 3f652d12b8bc mfbt/tests/TestPoisonArea.cpp
+--- a/mfbt/tests/TestPoisonArea.cpp Thu Jun 18 07:11:09 2020 +0000
++++ b/mfbt/tests/TestPoisonArea.cpp Thu Jun 18 07:11:09 2020 +0000
+@@ -132,6 +132,9 @@
+ #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
+ # define RETURN_INSTR 0x4E800020 /* blr */
+
++#elif defined __riscv
++# define RETURN_INSTR 0x80828082 /* ret; ret */
++
+ #elif defined __sparc || defined __sparcv9
+ # define RETURN_INSTR 0x81c3e008 /* retl */
+
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index c2ad242b47aaa..769cc2d3bd29d 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -18,13 +18,13 @@ in
stdenv.mkDerivation rec {
pname = "aws-sdk-cpp";
- version = "1.9.121";
+ version = "1.9.150";
src = fetchFromGitHub {
owner = "aws";
repo = "aws-sdk-cpp";
rev = version;
- sha256 = "sha256-VQpWauk0tdJ1QU0HmtdTwQdKbiAuTTXXsUo2cqpqmdU=";
+ sha256 = "sha256-fgLdXWQKHaCwulrw9KV3vpQ71DjnQAL4heIRW7Rk7UY=";
};
postPatch = ''
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 77bd473485b06..e4a5d908d263f 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -132,6 +132,7 @@
, xavs ? null # AVS encoder
, xvidcore ? null # Xvid encoder, native encoder exists
, zeromq4 ? null # Message passing
+, zimg ? null
, zlib ? null
, vulkan-loader ? null
, glslang ? null
@@ -403,6 +404,7 @@ stdenv.mkDerivation rec {
(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")
@@ -431,7 +433,7 @@ stdenv.mkDerivation rec {
libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
libxcb libXv libXext xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore
- zeromq4 zlib
+ zeromq4 zimg zlib
] ++ optionals openglExtlib [ libGL libGLU ]
++ optionals nonfreeLicensing [ fdk_aac openssl ]
++ optional ((isLinux || isFreeBSD) && libva != null) libva
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 876910da6d259..2382dd64bcb78 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -1,7 +1,7 @@
{ 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, libvpx, xz, libpulseaudio, soxr
-, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
+, x264, x265, xvidcore, zimg, zlib, libopus, speex, nv-codec-headers, dav1d
, srt ? null
, openglSupport ? false, libGLU ? null, libGL ? null
, libmfxSupport ? false, intel-media-sdk ? null
@@ -152,6 +152,7 @@ stdenv.mkDerivation rec {
(ifMinVer "1.2" "--enable-libsoxr")
"--enable-libx264"
"--enable-libxvid"
+ "--enable-libzimg"
"--enable-zlib"
(ifMinVer "2.8" "--enable-libopus")
"--enable-libspeex"
@@ -174,7 +175,7 @@ stdenv.mkDerivation rec {
buildInputs = [
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
- libvorbis xz soxr x264 x265 xvidcore zlib libopus speex srt nv-codec-headers
+ libvorbis xz soxr x264 x265 xvidcore zimg zlib libopus speex srt nv-codec-headers
] ++ optionals openglSupport [ libGL libGLU ]
++ optional libmfxSupport intel-media-sdk
++ optional libaomSupport libaom
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index f4b30129e6104..4f3d685c1fa4f 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -3,7 +3,7 @@
, lib
, gfortran
, perl
-, llvmPackages ? null
+, llvmPackages
, precision ? "double"
, enableAvx ? stdenv.hostPlatform.avxSupport
, enableAvx2 ? stdenv.hostPlatform.avx2Support
@@ -11,24 +11,20 @@
, enableFma ? stdenv.hostPlatform.fmaSupport
, enableMpi ? false
, mpi
+, withDoc ? stdenv.cc.isGNU
}:
with lib;
-assert stdenv.cc.isClang -> llvmPackages != null;
assert elem precision [ "single" "double" "long-double" "quad-precision" ];
-let
+stdenv.mkDerivation rec {
+ pname = "fftw-${precision}";
version = "3.3.10";
- withDoc = stdenv.cc.isGNU;
-in
-
-stdenv.mkDerivation {
- name = "fftw-${precision}-${version}";
src = fetchurl {
urls = [
- "http://fftw.org/fftw-${version}.tar.gz"
+ "https://fftw.org/fftw-${version}.tar.gz"
"ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
];
sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz
index 50f74b15822e9..aecf1550feffd 100644
Binary files a/pkgs/development/libraries/glibc/2.33-master.patch.gz and b/pkgs/development/libraries/glibc/2.33-master.patch.gz differ
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 6fa46d6d6c10e..1bc5bf08ee462 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -44,7 +44,7 @@
let
version = "2.33";
- patchSuffix = "-59";
+ patchSuffix = "-62";
sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
in
@@ -63,7 +63,7 @@ stdenv.mkDerivation ({
[
/* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
$ git fetch --all -p && git checkout origin/release/2.33/master && git describe
- glibc-2.33-59-gf9592d65f2
+ glibc-2.33-62-gc493f6a0e4
$ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
To compare the archive contents zdiff can be used.
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 25b7770101d13..667d50ca4d8b8 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
src = ./absolute_shlib_path.patch;
inherit nixStoreDir;
})
+ # Fix build with meson 0.61.0
+ (fetchurl {
+ url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/827494d6415b696a98fa195cbd883b50cc893bfc.patch";
+ sha256 = "sha256-imVWzU760FRsX+eXREQDQ6mDcmzZ5ASLT9rBf4oyBGQ=";
+ })
+ (fetchurl {
+ url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/effb1e09dee263cdac4ec593e8caf316e6f01fe2.patch";
+ sha256 = "sha256-o7a0qDT5IYcYcz8toeZu+nPj3SwS52sNgmxgzsmlp4Q=";
+ })
] ++ lib.optionals x11Support [
# Hardcode the cairo shared library path in the Cairo gir shipped with this package.
# https://github.com/NixOS/nixpkgs/issues/34080
diff --git a/pkgs/development/libraries/grilo-plugins/default.nix b/pkgs/development/libraries/grilo-plugins/default.nix
index ed8f8edd656fb..db968f4730f89 100644
--- a/pkgs/development/libraries/grilo-plugins/default.nix
+++ b/pkgs/development/libraries/grilo-plugins/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
# * chromaprint (gst-plugins-bad)
(substituteAll {
src = ./chromaprint-gst-plugins.patch;
- load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
+ load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-bad
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 8c6a8b056781b..016a7a992ed99 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchurl
-, fetchpatch
, meson
, ninja
, gettext
@@ -93,26 +92,18 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-bad";
- version = "1.18.2";
+ version = "1.18.5";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca";
+ sha256 = "sha256-oWSSO5Tw0IV4pvyuqsbgwF2niKRpA6EIaHDpykWtZ44=";
};
patches = [
# Use pkgconfig to inject the includedirs
./fix_pkgconfig_includedir.patch
- # Fix “error: cannot initialize a parameter of type 'unsigned long *' with an rvalue of type 'typename std::remove_reference::type *' (aka 'volatile unsigned long *')” on Darwin.
- (fetchpatch {
- url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/640a65bf966df065d41a511e2d76d1f26a2e770c.patch";
- sha256 = "E5pig+qEfR58Jticr6ydFxZOhM3ZJ8zgrf5K4BdiB/Y=";
- includes = [
- "ext/opencv/gstcvdilateerode.cpp"
- ];
- })
];
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 1edadf0a51bcd..8b6073cb95888 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -41,13 +41,13 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-base";
- version = "1.18.4";
+ version = "1.18.5";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "08w3ivbc6n4vdds2ap6q7l8zdk9if8417nznyqidf0adm0lk5r99";
+ sha256 = "sha256-lgt69FhXANsP3VuENVThHiVk/tngYfWR+uiKe+ZEb6M=";
};
patches = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 9cc1675de3aee..268da01716304 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -21,20 +21,20 @@
stdenv.mkDerivation rec {
pname = "gstreamer";
- version = "1.18.4";
+ version = "1.18.5";
outputs = [
+ "bin"
"out"
"dev"
# "devdoc" # disabled until `hotdoc` is packaged in nixpkgs, see:
# - https://github.com/NixOS/nixpkgs/pull/98767
# - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551
];
- outputBin = "dev";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "1igv9l4hm21kp1jmlwlagzs7ly1vaxv1sbda29q8247372dwkvls";
+ sha256 = "sha256-VYYiMqY0Wbv1ar694whcqa7CEbR46JHazqTW34yv6Ao=";
};
patches = [
@@ -94,14 +94,14 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
- for prog in "$dev/bin/"*; do
+ for prog in "$bin/bin/"*; do
# We can't use --suffix here due to quoting so we craft the export command by hand
wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
done
'';
preFixup = ''
- moveToOutput "share/bash-completion" "$dev"
+ moveToOutput "share/bash-completion" "$bin"
'';
setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix
index 12cb6dac6f31e..0b7be2bd03ec8 100644
--- a/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/pkgs/development/libraries/gstreamer/devtools/default.nix
@@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
pname = "gst-devtools";
- version = "1.18.4";
+ version = "1.18.5";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "1kvcabcfzm7wqih3lzgrg9xjbn4xpx43d1m2zkkvab4i8161kggz";
+ sha256 = "sha256-/s/8hkR9r1wqBoQ8dXqZHXRcqiBpRGoNdG6ZsT98sHk=";
};
patches = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 840b0f252857c..0bfe6f3e0e2f9 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -16,7 +16,7 @@
stdenv.mkDerivation rec {
pname = "gst-editing-services";
- version = "1.18.4";
+ version = "1.18.5";
outputs = [
"out"
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "010xg960qsh5dwmf0y9l1q13h0cymmrgapzla2zsw66ylxqbi1s6";
+ sha256 = "sha256-ivSoOU0FHz4YKAaG20mm76zMlcDFmhfw9WTjIABZDfU=";
};
patches = [
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index bc1656c191a4a..a6ed248b663d2 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -48,13 +48,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch64);
stdenv.mkDerivation rec {
pname = "gst-plugins-good";
- version = "1.18.4";
+ version = "1.18.5";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "1c1rpq709cy8maaykyn1n0kckj9c6fl3mhvixkk6xmdwkcx0xrdn";
+ sha256 = "sha256-Oq7up3Zfv4gBrM5KUDqbBfc/BOijU1Lp0AIyz9VVeWs=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 009a1555f770e..7f2828253c88c 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "gst-libav";
- version = "1.18.4";
+ version = "1.18.5";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "15n3x3vhshqa3icw93g4vqmqd46122anzqvfxwn6q8famlxlcjil";
+ sha256 = "sha256-gi4AipEOndE67b3Y3GP+3vQEDA7i6Se6sxEuneaTpUg=";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index d66376b64996c..a75af25224a03 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
pname = "gst-rtsp-server";
- version = "1.18.4";
+ version = "1.18.5";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "153c78klvzlmi86d0gmdf7w9crv11rkd4y82b14a0wdr83gbhsx4";
+ sha256 = "sha256-BNY79IgWxvQcc/beD5EqfO8KqznEQWKnvOzhkj38nR8=";
};
outputs = [
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 049e8a99f095a..7c4b21f7c8330 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -23,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-ugly";
- version = "1.18.4";
+ version = "1.18.5";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "0g6i4db1883q3j0l2gdv46fcqwiiaw63n6mhvsfcms1i1p7g1391";
+ sha256 = "sha256-3zKAPpj4qZeTc/osp+BeYvl3sQl1dtOoBhnZ9cafZtk=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 19e65c5a75eba..5de9a247a5275 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -21,11 +21,11 @@
stdenv.mkDerivation rec {
pname = "gstreamer-vaapi";
- version = "1.18.4";
+ version = "1.18.5";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
- sha256 = "1sia4l88z7kkxm2z9j20l43rqkrnsa47xccski10s5gkhsprinwj";
+ sha256 = "sha256-SkYPuVVZ9BRE6ySGStLZ43kitu6pQVEDEDGfw+C6cns=";
};
outputs = [
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index 82bcad0b98564..9a2655a379f0e 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -44,6 +44,7 @@
, cups
, AppKit
, Cocoa
+, QuartzCore
, broadwaySupport ? true
}:
@@ -59,7 +60,7 @@ in
stdenv.mkDerivation rec {
pname = "gtk+3";
- version = "3.24.30";
+ version = "3.24.31";
outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc";
outputBin = "dev";
@@ -71,7 +72,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
- sha256 = "sha256-unW//zIK0fTPvukrqBPsM2MizDxmDUBqrQFLBwh6O6k=";
+ sha256 = "sha256-Qjw+f9tMRZ7oieNf1Ncf0mI1YlQcEEGxHAflrR/xC/k=";
};
patches = [
@@ -83,6 +84,12 @@ stdenv.mkDerivation rec {
# e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
# https://gitlab.gnome.org/GNOME/gtk/merge_requests/536
./patches/3.0-darwin-x11.patch
+
+ # 3.24.31 does not declare QuartzCore dependency properly and fails to link
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/0ac61443694b477c41fc246cb387ef86aba441de.patch";
+ sha256 = "sha256-aiT/NeAxIl6ZS9KwMssQPzD7NtW7qqeySc/CyWakQfk=";
+ })
];
nativeBuildInputs = [
@@ -104,7 +111,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libxkbcommon
- libepoxy
+ (libepoxy.override { inherit x11Support; })
isocodes
] ++ lib.optionals stdenv.isDarwin [
AppKit
@@ -133,6 +140,7 @@ stdenv.mkDerivation rec {
] ++ lib.optionals stdenv.isDarwin [
# explicitly propagated, always needed
Cocoa
+ QuartzCore
] ++ lib.optionals waylandSupport [
libGL
wayland
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index d763c99882e00..2b6dfc8fb52c7 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -23,6 +23,9 @@
, xorg
, libepoxy
, libxkbcommon
+, libpng
+, libtiff
+, libjpeg
, libxml2
, gnome
, gsettings-desktop-schemas
@@ -59,7 +62,7 @@ in
stdenv.mkDerivation rec {
pname = "gtk4";
- version = "4.4.1";
+ version = "4.6.0";
outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
outputBin = "dev";
@@ -71,7 +74,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
- sha256 = "D6ramD3GsLxAnLNMFxPB8yZ+Z8CT+GseOxfbYQCj3fQ=";
+ sha256 = "eC1ZUfv9WF/J7HbAnQfijmAUxy2wAftWf/8hf7luTYw=";
};
nativeBuildInputs = [
@@ -89,7 +92,10 @@ stdenv.mkDerivation rec {
buildInputs = [
libxkbcommon
- libepoxy
+ libpng
+ libtiff
+ libjpeg
+ (libepoxy.override { inherit x11Support; })
isocodes
] ++ lib.optionals vulkanSupport [
vulkan-headers
@@ -130,6 +136,8 @@ stdenv.mkDerivation rec {
glib
graphene
pango
+ ] ++ lib.optionals waylandSupport [
+ wayland
] ++ lib.optionals vulkanSupport [
vulkan-loader
] ++ [
diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix
index 70e9a39e03fe3..ffe534ede4af2 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.11.0";
+ version = "0.11.2";
src = fetchFromGitHub {
owner = "libusb";
repo = "hidapi";
rev = "${pname}-${version}";
- sha256 = "0dzigvmwbg20b33xn0sklnf489m8g84yrcm8kqlrsd7x8iymsg63";
+ sha256 = "sha256-zSAhnvnDI3+q8VwZ8fIx/YmvwTpL87PBJ2C1mTmD7Ko=";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index fe4fc1e6d338a..44f49adbd3a62 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, fetchpatch, ncurses, readline, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, readline, autoreconfHook }:
stdenv.mkDerivation rec {
version = "1.7.0";
pname = "hunspell";
- src = fetchurl {
- url = "https://github.com/hunspell/hunspell/archive/v${version}.tar.gz";
- sha256 = "12mwwqz6qkx7q1lg9vpjiiwh4fk4c8xs6g6g0xa2ia0hp5pbh9xv";
+ src = fetchFromGitHub {
+ owner = "hunspell";
+ repo = "hunspell";
+ rev = "v${version}";
+ sha256 = "sha256-YSJztik0QTZFNR8k8Xu1hakyE16NziDavYVkEUCbtGM=";
};
outputs = [ "bin" "dev" "out" "man" ];
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 75ace8097c9ba..1b4396bfee07c 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,12 +1,12 @@
-{lib, stdenv, fetchurl, gettext, python3}:
+{ lib, stdenv, fetchurl, gettext, python3 }:
stdenv.mkDerivation rec {
pname = "iso-codes";
- version = "4.6.0";
+ version = "4.9.0";
src = fetchurl {
- url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.bz2";
- sha256 = "sha256-Ivd5538QpTFXP2r6ca/g12IZ0ZW1nduu0z4kiSb9Mxs=";
+ url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v${version}/${pname}-v${version}.tar.gz";
+ sha256 = "02lq602ghws423w04jsyjr92p0nmrfp59n1m5hbbi1c6fhxryghc";
};
patchPhase = ''
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 6976f872b3004..5248c7403b305 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -5,7 +5,7 @@
, gi-docgen
, gtk-doc
, libxml2
-, meson_0_60
+, meson
, ninja
, pkg-config
, sassc
@@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "libadwaita";
- version = "1.0.0.alpha.4";
+ version = "1.0.1";
outputs = [ "out" "dev" "devdoc" ];
outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
owner = "GNOME";
repo = "libadwaita";
rev = version;
- sha256 = "sha256-3aVeBaKSl6SaPQLodsyJHwnNOlXlWfIaLnbbl3+mlDA=";
+ sha256 = "sha256-2+elMEZwDPWkPDrmvLH5rxulh1tq6fgsMhbTdbrWe54=";
};
nativeBuildInputs = [
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
gi-docgen
gtk-doc
libxml2 # for xmllint
- meson_0_60
+ meson
ninja
pkg-config
sassc
@@ -92,7 +92,7 @@ stdenv.mkDerivation rec {
description = "Library to help with developing UI for mobile devices using GTK/GNOME";
homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
license = licenses.lgpl21Plus;
- maintainers = with maintainers; [ dotlambda ];
+ maintainers = teams.gnome.members ++ (with maintainers; [ dotlambda ]);
platforms = platforms.linux;
};
}
diff --git a/pkgs/development/libraries/libepoxy/default.nix b/pkgs/development/libraries/libepoxy/default.nix
index bb6d6a14232f8..c54c3c86d232b 100644
--- a/pkgs/development/libraries/libepoxy/default.nix
+++ b/pkgs/development/libraries/libepoxy/default.nix
@@ -10,6 +10,7 @@
, libX11
, Carbon
, OpenGL
+, x11Support ? !stdenv.isDarwin
}:
let
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkg-config utilmacros python3 ];
- buildInputs = [
+ buildInputs = lib.optionals x11Support [
libGL
libX11
] ++ lib.optionals stdenv.isDarwin [
@@ -50,10 +51,10 @@ stdenv.mkDerivation rec {
mesonFlags = [
"-Dtests=${if doCheck then "true" else "false"}"
- ]
- ++ optional stdenv.isDarwin "-Dglx=yes";
+ "-Dglx=${if x11Support then "yes" else "no"}"
+ ];
- NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
+ NIX_CFLAGS_COMPILE = lib.optionalString x11Support ''-DLIBGL_PATH="${getLib libGL}/lib"'';
# cgl_epoxy_api fails in darwin sandbox and on Hydra (because it's headless?)
preCheck = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index cef1fbc512ae0..7251e5b645bee 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
(substituteAll {
src = ./gst-hardcode-plugins.patch;
load_gst_plugins = lib.concatMapStrings
- (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'')
+ (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'')
(gstPlugins gst_all_1);
})
];
diff --git a/pkgs/development/libraries/libfabric/default.nix b/pkgs/development/libraries/libfabric/default.nix
index c1c6ef7032ae7..38c88fe70f3c7 100644
--- a/pkgs/development/libraries/libfabric/default.nix
+++ b/pkgs/development/libraries/libfabric/default.nix
@@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
pname = "libfabric";
- version = "1.13.2";
+ version = "1.14.0";
enableParallelBuilding = true;
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "ofiwg";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-ydMZP83keUGDYDw9i/SCa4U1KEgfuqkFklwRKbfLoK8=";
+ sha256 = "sha256-MmvJV3Pne+bJtC91rdpNMZovoqMgm3gHFJwGH3tchgI=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 4332f43c5afb3..6a22d585fbc88 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,6 +1,8 @@
{ lib, stdenv, fetchurl, fetchpatch
, autoreconfHook
+, doCheck ? true # test suite depends on dejagnu which cannot be used during bootstrapping
+, dejagnu
}:
# Note: this package is used for bootstrapping fetchurl, and thus
@@ -39,6 +41,10 @@ stdenv.mkDerivation rec {
dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
+ inherit doCheck;
+
+ checkInputs = [ dejagnu ];
+
meta = with lib; {
description = "A foreign function call interface library";
longDescription = ''
diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix
index 63acabb320e4c..a9993b7255a98 100644
--- a/pkgs/development/libraries/libgda/default.nix
+++ b/pkgs/development/libraries/libgda/default.nix
@@ -11,8 +11,6 @@
, gobject-introspection
, vala
, libgee
-, overrideCC
-, gcc6
, fetchpatch
, autoreconfHook
, gtk-doc
@@ -27,7 +25,7 @@
assert mysqlSupport -> libmysqlclient != null;
assert postgresSupport -> postgresql != null;
-(if stdenv.isAarch64 then overrideCC stdenv gcc6 else stdenv).mkDerivation rec {
+stdenv.mkDerivation rec {
pname = "libgda";
version = "5.2.10";
diff --git a/pkgs/development/libraries/libhwy/default.nix b/pkgs/development/libraries/libhwy/default.nix
new file mode 100644
index 0000000000000..7656e063822da
--- /dev/null
+++ b/pkgs/development/libraries/libhwy/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, cmake, ninja, gtest, fetchpatch, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "libhwy";
+ version = "0.15.0";
+
+ src = fetchFromGitHub {
+ owner = "google";
+ repo = "highway";
+ rev = version;
+ sha256 = "sha256-v2HyyHtBydr7QiI83DW1yRv2kWjUOGxFT6mmdrN9XPo=";
+ };
+
+ patches = [
+ # Remove on next release
+ # https://github.com/google/highway/issues/460
+ (fetchpatch {
+ name = "hwy-add-missing-includes.patch";
+ url = "https://github.com/google/highway/commit/8ccab40c2f931aca6004d175eec342cc60f6baec.patch";
+ sha256 = "sha256-wlp5gIvK2+OlKtsZwxq/pXTbESkUtimHXaYDjcBzmQ0=";
+ })
+ ];
+
+ nativeBuildInputs = [ cmake ninja ];
+
+ checkInputs = [ gtest ];
+
+ # Required for case-insensitive filesystems ("BUILD" exists)
+ dontUseCmakeBuildDir = true;
+
+ cmakeFlags = [
+ "-GNinja"
+ "-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DCMAKE_INSTALL_INCLUDEDIR=include"
+ ] ++ lib.optional doCheck "-DHWY_SYSTEM_GTEST:BOOL=ON";
+
+ # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
+ doCheck = !stdenv.hostPlatform.isDarwin;
+
+ meta = with lib; {
+ description = "Performance-portable, length-agnostic SIMD with runtime dispatch";
+ homepage = "https://github.com/google/highway";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ zhaofengli ];
+ };
+}
diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix
index 828090875e865..081ddaf4988a5 100644
--- a/pkgs/development/libraries/libjxl/default.nix
+++ b/pkgs/development/libraries/libjxl/default.nix
@@ -8,6 +8,7 @@
, giflib
, gperftools
, gtest
+, libhwy
, libjpeg
, libpng
, libwebp
@@ -37,14 +38,16 @@ stdenv.mkDerivation rec {
url = "https://github.com/libjxl/libjxl/commit/88fe3fff3dc70c72405f57c69feffd9823930034.patch";
sha256 = "1419fyiq4srpj72cynwyvqy8ldi7vn9asvkp5fsbmiqkyhb15jpk";
})
- ];
- # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
- # unless we disable highway's tests
- postPatch = lib.optional stdenv.isDarwin ''
- substituteInPlace third_party/highway/CMakeLists.txt \
- --replace 'if(BUILD_TESTING)' 'if(false)'
- '';
+ # "robust statistics" have been removed in upstream mainline as they are
+ # conidered to cause "interoperability problems". sure enough the tests
+ # fail with precision issues on aarch64.
+ (fetchpatch {
+ name = "remove-robust-and-descriptive-statistics.patch";
+ url = "https://github.com/libjxl/libjxl/commit/204f87a5e4d684544b13900109abf040dc0b402b.patch";
+ sha256 = "sha256-DoAaYWLmQ+R9GZbHMTYGe0gBL9ZesgtB+2WhmbARna8=";
+ })
+ ];
nativeBuildInputs = [
asciidoc # for docs
@@ -76,6 +79,7 @@ stdenv.mkDerivation rec {
brotli
giflib
gperftools # provides `libtcmalloc`
+ libhwy
libjpeg
libpng
libwebp
@@ -91,6 +95,9 @@ stdenv.mkDerivation rec {
# using the vendorered ones is easier.
"-DJPEGXL_FORCE_SYSTEM_BROTLI=ON"
+ # Use our version of highway, though it is still statically linked in
+ "-DJPEGXL_FORCE_SYSTEM_HWY=ON"
+
# TODO: Update this package to enable this (overridably via an option):
# Viewer tools for evaluation.
# "-DJPEGXL_ENABLE_VIEWERS=ON"
@@ -102,13 +109,17 @@ stdenv.mkDerivation rec {
# "-DJPEGXL_ENABLE_PLUGINS=ON"
];
+ LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
+
doCheck = true;
# The test driver runs a test `LibraryCLinkageTest` which without
# LD_LIBRARY_PATH setting errors with:
# /build/source/build/tools/tests/libjxl_test: error while loading shared libraries: libjxl.so.0
# The required file is in the build directory (`$PWD`).
- preCheck = ''
+ preCheck = if stdenv.isDarwin then ''
+ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD
+ '' else ''
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
'';
@@ -118,6 +129,5 @@ stdenv.mkDerivation rec {
license = licenses.bsd3;
maintainers = with maintainers; [ nh2 ];
platforms = platforms.all;
- broken = stdenv.hostPlatform.isAarch64; # `internal compiler error`, see https://github.com/NixOS/nixpkgs/pull/103160#issuecomment-866388610
};
}
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index 87f2d73271253..42fb795d38ed7 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -13,6 +13,7 @@
, gupnp-igd
, gst_all_1
, gnutls
+, graphviz
}:
stdenv.mkDerivation rec {
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
gtk-doc
docbook_xsl
docbook_xml_dtd_412
+ graphviz
];
buildInputs = [
diff --git a/pkgs/development/libraries/libportal/default.nix b/pkgs/development/libraries/libportal/default.nix
index 97c5303eabe72..b261c0395e6dd 100644
--- a/pkgs/development/libraries/libportal/default.nix
+++ b/pkgs/development/libraries/libportal/default.nix
@@ -4,42 +4,66 @@
, meson
, ninja
, pkg-config
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_45
+, gobject-introspection
+, vala
+, gi-docgen
, glib
+, gtk3
+, gtk4
+, libsForQt5
+, variant ? null
}:
+assert variant == null || variant == "gtk3" || variant == "gtk4" || variant == "qt5";
+
stdenv.mkDerivation rec {
- pname = "libportal";
- version = "0.4";
+ pname = "libportal" + lib.optionalString (variant != null) "-${variant}";
+ version = "0.5";
outputs = [ "out" "dev" "devdoc" ];
src = fetchFromGitHub {
owner = "flatpak";
- repo = pname;
+ repo = "libportal";
rev = version;
- sha256 = "fuYZWGkdazq6H0rThqpF6KIcvwgc17o+CiISb1LjBso=";
+ sha256 = "oPPO2f6NNeok0SGh4jELkkOP6VUxXZiwPM/n6CUHm0Q=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
- gtk-doc
- docbook-xsl-nons
- docbook_xml_dtd_45
+ gi-docgen
+ ] ++ lib.optionals (variant != "qt5") [
+ gobject-introspection
+ vala
];
propagatedBuildInputs = [
glib
+ ] ++ lib.optionals (variant == "gtk3") [
+ gtk3
+ ] ++ lib.optionals (variant == "gtk4") [
+ gtk4
+ ] ++ lib.optionals (variant == "qt5") [
+ libsForQt5.qtbase
+ ];
+
+ mesonFlags = [
+ "-Dbackends=${lib.optionalString (variant != null) variant}"
+ "-Dvapi=${if variant != "qt5" then "true" else "false"}"
+ "-Dintrospection=${if variant != "qt5" then "true" else "false"}"
];
+ postFixup = ''
+ # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+ moveToOutput "share/doc" "$devdoc"
+ '';
+
meta = with lib; {
description = "Flatpak portal library";
homepage = "https://github.com/flatpak/libportal";
- license = licenses.lgpl2Plus;
+ license = licenses.lgpl3Plus;
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
};
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 0a76e59e5b7c0..d0e8bd163ddde 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, getopt, util-linux, gperf }:
+{ lib, stdenv, fetchurl, getopt, util-linux, gperf, nix-update-script }:
stdenv.mkDerivation rec {
pname = "libseccomp";
- version = "2.5.2";
+ version = "2.5.3";
src = fetchurl {
url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
- sha256 = "sha256-F6ZS37SR2Wvok5YOm3kZFJNu4WwTt3ejyvVi/kjLh98=";
+ sha256 = "sha256-WQZchzM2RyXpchukjDqZu8Uq+SHa9I30seAS+8exCnY=";
};
outputs = [ "out" "lib" "dev" "man" "pythonsrc" ];
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
tar -zcf $pythonsrc --mtime="@$SOURCE_DATE_EPOCH" --sort=name --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
'';
+ passthru = {
+ updateScript = nix-update-script {
+ attrPath = pname;
+ };
+ };
+
meta = with lib; {
description = "High level library for the Linux Kernel seccomp filter";
homepage = "https://github.com/seccomp/libseccomp";
diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix
index ef87c5f203378..454a1cdf40a23 100644
--- a/pkgs/development/libraries/libsoup/3.x.nix
+++ b/pkgs/development/libraries/libsoup/3.x.nix
@@ -21,13 +21,13 @@
stdenv.mkDerivation rec {
pname = "libsoup";
- version = "3.0.3";
+ version = "3.0.4";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "sha256-UWWwTa2uMCfpoogthoaUtFhq/9d4wZSYKuTeI3PS4l4=";
+ sha256 = "sha256-W9OLXgkfcH/X+j7Xw3qsyj+OFsZXh/HMF9w40dzeVns=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libthai/default.nix b/pkgs/development/libraries/libthai/default.nix
index 97745813ef260..7755fffc7a970 100644
--- a/pkgs/development/libraries/libthai/default.nix
+++ b/pkgs/development/libraries/libthai/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libthai";
- version = "0.1.28";
+ version = "0.1.29";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz";
- sha256 = "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z";
+ sha256 = "sha256-/IDMfctQ4RMCtBfOvSTy0wqLmHKS534AMme5EA0PS80=";
};
strictDeps = true;
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 2fe6159556f60..5f34a80d253aa 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -8,11 +8,6 @@
, libjpeg
, xz
, zlib
-
-, Cocoa
-, GLUT
-, libGL
-, libGLU
}:
#FIXME: fix aarch64-darwin build and get rid of ./aarch64-darwin.nix
@@ -52,8 +47,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ libjpeg xz zlib ]; #TODO: opengl support (bogus configure detection)
- buildInputs = [ libdeflate ] # TODO: move all propagatedBuildInputs to buildInputs.
- ++ lib.optionals (stdenv.isDarwin) [ Cocoa GLUT libGL libGLU ];
+ buildInputs = [ libdeflate ];
enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index b00b4cf9ac85e..e2dc63609c419 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, perl }:
stdenv.mkDerivation rec {
- version = "0.13.0";
+ version = "0.13.1";
pname = "liburcu";
src = fetchurl {
url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
- sha256 = "sha256-y7INvhqJLCpNiJi6xDFhduWFOSaT1Jh2bMu8aM8guiA=";
+ sha256 = "sha256-MhPzPSuPcQ65IOsauyeewEv4rmNh9E8lE8KMINM2MIM=";
};
checkInputs = [ perl ];
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index a3de139fb4405..1d9354d48e1a7 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
stdenv.mkDerivation rec {
- version = "1.42.0";
+ version = "1.43.0";
pname = "libuv";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "0f6mfbg750q26fa85nhmw2m0gyp8jcp1kyx9zn6lgi8bha5b7kny";
+ sha256 = "sha256-AsXJb2AGNx+SARPmY8uRFRLfX5vqTPNjwL8njSw/e7o=";
};
postPatch = let
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index bdce5f48efd70..6c97b37a25fe0 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -12,7 +12,7 @@
stdenv.mkDerivation rec {
# Note the revision needs to be adjusted.
- version = "6.2";
+ version = "6.3";
name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
# We cannot use fetchFromGitHub (which calls fetchzip)
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
rev = "v${version}";
in fetchurl {
url = "https://github.com/mirror/ncurses/archive/${rev}.tar.gz";
- sha256 = "15r2456g0mlq2q7gh2z52vl6zv6y0z8sdchrs80kg4idqd8sm8fd";
+ sha256 = "1mawdjhzl2na2j0dylwc37f5w95rhgyvlwnfhww5rz2r7fgkvayv";
};
outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index e5819e1d75eee..e92b3dec07be3 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -27,7 +27,7 @@ let
# It will rebuild itself using the version of this package (NSS) and if
# an update is required do the required changes to the expression.
# Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
- version = "3.73.1";
+ version = "3.74";
in
stdenv.mkDerivation rec {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM/src/${pname}-${version}.tar.gz";
- sha256 = "x2j5/jEp6LzC6WeUVtft2UU6IleEqPx9xFAYBvH+mr4=";
+ sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/libraries/openexr/3.nix b/pkgs/development/libraries/openexr/3.nix
index 24af4e429a020..3cfe173875c03 100644
--- a/pkgs/development/libraries/openexr/3.nix
+++ b/pkgs/development/libraries/openexr/3.nix
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
+, fetchpatch
, zlib
, cmake
, imath
@@ -19,9 +20,26 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Bi6yTcZBWTsWWMm3A7FVYblvSXKLSkHmhGvpNYGiOzE=";
};
+ patches = [
+ (fetchpatch {
+ name = "CVE-2021-45942.patch";
+ url = "https://github.com/AcademySoftwareFoundation/openexr/commit/11cad77da87c4fa2aab7d58dd5339e254db7937e.patch";
+ sha256 = "1qa8662ga5i0lyfi9mkj9s9bygdg7h1i6ahki28c664kxrlsakch";
+ })
+ ];
+
+ # tests are determined to use /var/tmp on unix
+ postPatch = ''
+ cat <(find . -name tmpDir.h) <(echo src/test/OpenEXRCoreTest/main.cpp) | while read -r f ; do
+ substituteInPlace $f --replace '/var/tmp' "$TMPDIR"
+ done
+ '';
+
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ imath zlib ];
+ doCheck = true;
+
meta = with lib; {
description = "A high dynamic-range (HDR) image file format";
homepage = "https://www.openexr.com/";
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index d60b7b7fc436f..31ca485527553 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
url = "https://github.com/AcademySoftwareFoundation/openexr/commit/2f19a01923885fda75ec9d19332de080ec7102bd.patch";
sha256 = "1yxmrdzq1x1911wdzwnzr29jmg2r4wd4yx3vhjn0y5dpny0ri5y5";
})
+ (fetchpatch {
+ name = "CVE-2021-45942.patch";
+ url = "https://github.com/AcademySoftwareFoundation/openexr/commit/11cad77da87c4fa2aab7d58dd5339e254db7937e.patch";
+ stripLen = 4;
+ extraPrefix = "OpenEXR/IlmImf/";
+ sha256 = "1wa2jn6sa0n3phaqvklnlbgk1bz60y756ad4jk4d757pzpnannsy";
+ })
];
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index a70a19e931417..964a3640871fd 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
stdenv.mkDerivation rec {
pname = "pango";
- version = "1.50.0";
+ version = "1.50.3";
outputs = [ "bin" "out" "dev" ]
++ lib.optionals withDocs [ "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "26i2Ld+G4Q9z+Tw9Ila3MjiyvK+HA3yiKbQL3AQOs/M=";
+ sha256 = "St0F7fUcH7N1oczedJiRQSDiPLKA3XOVsa60QfGDikw=";
};
strictDeps = !withIntrospection;
diff --git a/pkgs/development/libraries/pangomm/2.48.nix b/pkgs/development/libraries/pangomm/2.48.nix
index f3fa6acec7360..cdc644ec9cd9f 100644
--- a/pkgs/development/libraries/pangomm/2.48.nix
+++ b/pkgs/development/libraries/pangomm/2.48.nix
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "pangomm";
- version= "2.48.2";
+ version= "2.50.0";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "sha256-4ddVIsU/RieZh1zSR/m0nJHO1LGr5oOHrDWycTktTqU=";
+ sha256 = "sha256-onqnfgF7mvzp51HYW9HPiQq7s6WL9Z0PrJF+74LbO1s=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/protobuf/3.16.nix b/pkgs/development/libraries/protobuf/3.16.nix
index df8d53b9f1c3f..fdbbed733d857 100644
--- a/pkgs/development/libraries/protobuf/3.16.nix
+++ b/pkgs/development/libraries/protobuf/3.16.nix
@@ -1,6 +1,6 @@
{ callPackage, ... }:
callPackage ./generic-v3.nix {
- version = "3.16.0";
- sha256 = "0jc523ys6xh1fk3l52f5mfqxhb4g8aim1js7330v0fdc3fjr8ncf";
+ version = "3.16.1";
+ sha256 = "sha256-eOwUyZtrmyh3HwLQ1kLnk+briaXQPrlUqtbFol/nGBo=";
}
diff --git a/pkgs/development/libraries/protobuf/3.18.nix b/pkgs/development/libraries/protobuf/3.18.nix
index 63fc9b218d307..0d5d2c652cba6 100644
--- a/pkgs/development/libraries/protobuf/3.18.nix
+++ b/pkgs/development/libraries/protobuf/3.18.nix
@@ -1,6 +1,6 @@
{ callPackage, ... }:
callPackage ./generic-v3.nix {
- version = "3.18.1";
- sha256 = "sha256-5PK0uuk7Du9hX/hHy0gninHIKu6b8THdfVh87Gn7y2Q=";
+ version = "3.18.2";
+ sha256 = "sha256-IXxVTZOAKVMuGCJtD32rVQRBJRWUJMEK2d+fPEmgzRU=";
}
diff --git a/pkgs/development/libraries/protobuf/3.19.nix b/pkgs/development/libraries/protobuf/3.19.nix
index 727bf511d5813..7e2be4bec04c0 100644
--- a/pkgs/development/libraries/protobuf/3.19.nix
+++ b/pkgs/development/libraries/protobuf/3.19.nix
@@ -1,6 +1,6 @@
{ callPackage, ... }:
callPackage ./generic-v3.nix {
- version = "3.19.0";
- sha256 = "0rx4r4d7hqr0gi3v90jbkm2lnkj9p37dhgwx9d0w7kgh3rvr4i7g";
+ version = "3.19.3";
+ sha256 = "sha256-nA6L064MuyP5Si4MCLk2yg8PDM7RWggFEGQyibputYQ=";
}
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index 6b213567ad44b..ef053eba9cb78 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -148,7 +148,7 @@ let
inherit (srcs.qtbase) src version;
patches = patches.qtbase;
inherit bison cups harfbuzz libGL;
- withGtk3 = true; inherit dconf gtk3;
+ withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
inherit debug developerBuild decryptSslTraffic;
inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix
index f12aadea73808..1f893fb051914 100644
--- a/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -149,7 +149,7 @@ let
inherit (srcs.qtbase) src version;
patches = patches.qtbase;
inherit bison cups harfbuzz libGL;
- withGtk3 = true; inherit dconf gtk3;
+ withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
inherit debug developerBuild decryptSslTraffic;
inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index 19cca4237f95a..2a76409ce4bce 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -111,7 +111,7 @@ let
inherit (srcs.qtbase) src version;
patches = patches.qtbase;
inherit bison cups harfbuzz libGL;
- withGtk3 = true; inherit dconf gtk3;
+ withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
inherit developerBuild decryptSslTraffic;
inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index a70ad0f69e036..22d803c17be6d 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, nix-update-script }:
stdenv.mkDerivation rec {
pname = "re2";
- version = "2021-09-01";
+ version = "2021-11-01";
src = fetchFromGitHub {
owner = "google";
repo = "re2";
rev = version;
- sha256 = "1fyhypw345xz8zdh53gz6j1fwgrx0gszk1d349ja37dpxh4jp2jh";
+ sha256 = "sha256-q8u7xNp6n17F6twPoVkix8iCKPWUN+qg6rhSR4Dv+bI=";
};
patches = [
@@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
installCheckTarget = "testinstall";
+ passthru = {
+ updateScript = nix-update-script {
+ attrPath = pname;
+ };
+ };
+
meta = {
homepage = "https://github.com/google/re2";
description = "An efficient, principled regular expression library";
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 964cadbb6195e..d61b6ee3acb0c 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -129,7 +129,7 @@ let
in
stdenv.mkDerivation rec {
pname = "openblas";
- version = "0.3.18";
+ version = "0.3.19";
outputs = [ "out" "dev" ];
@@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
owner = "xianyi";
repo = "OpenBLAS";
rev = "v${version}";
- sha256 = "sha256-b5i52rjsH65qAIlYGXQrzVxChi8/fwbD4eJTrxVq7Z8=";
+ sha256 = "sha256-EqA6oFM2theuvvuDOWeOx0Bv6AEFffmpWHJBzp23br0=";
};
inherit blas64;
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index de433ba5008da..6704d894f5a2a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -11,12 +11,13 @@ in
stdenv.mkDerivation rec {
pname = "sqlite";
- version = "3.37.0";
+ version = "3.37.2";
+ # nixpkgs-update: no auto update
# NB! Make sure to update ./tools.nix src (in the same directory).
src = fetchurl {
- url = "https://sqlite.org/2021/sqlite-autoconf-${archiveVersion version}.tar.gz";
- sha256 = "sha256-cxpGUdTUs2/H0h21hrLeTdAK8x/VT7WppLf0kgV0efc=";
+ url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
+ sha256 = "sha256-QImo2bRnU3s/JG8he4TNduALHRqXH+WsoeMOIw5Gstg=";
};
outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index 7309e1de0b687..d8d3735fe3d85 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,11 +4,12 @@ let
archiveVersion = import ./archive-version.nix lib;
mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
inherit pname;
- version = "3.37.0";
+ version = "3.37.2";
+ # nixpkgs-update: no auto update
src = assert version == sqlite.version; fetchurl {
- url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
- sha256 = "sha256-cJd/s5Qhh9RidBOv3pqUkvoCuVSFCBK1OXS2ox7Oj68=";
+ url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
+ sha256 = "sha256-SGdwtNX4i1uw26VA3W7hdjBn11Od/uGKfGb+m7A9Ftk=";
};
nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/srt/default.nix b/pkgs/development/libraries/srt/default.nix
index 49c7612310156..c74780148a1b3 100644
--- a/pkgs/development/libraries/srt/default.nix
+++ b/pkgs/development/libraries/srt/default.nix
@@ -4,13 +4,13 @@
with lib;
stdenv.mkDerivation rec {
pname = "srt";
- version = "1.4.3";
+ version = "1.4.4";
src = fetchFromGitHub {
owner = "Haivision";
repo = "srt";
rev = "v${version}";
- sha256 = "1f60vlfxhh9bhafws82c3301whjlz5gy92jz9a9ymwfg5h53bv1j";
+ sha256 = "sha256-OfcMHH+MSOGY9pxpXt19EIGdP4FJFssSv/lENX+iIf8=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 7dbe0d410f754..727634a9fd5dd 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchurl
+, fetchpatch
, gettext
, meson
, ninja
@@ -44,6 +45,13 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit asciidoc;
})
+
+ # Filter out hidden (wrapped) subcommands
+ # https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/481
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/tracker/-/commit/8c28c24e447f13da8cf804cd7a00f9b909c5d3f9.patch";
+ sha256 = "EYo1nOtEr4semaPC5wk6A7bliRXu8qsBHaltd0DEI6Y=";
+ })
];
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/wlroots/0.15.nix b/pkgs/development/libraries/wlroots/0.15.nix
index e7cf7bc9b4ce7..7b7ff1816d751 100644
--- a/pkgs/development/libraries/wlroots/0.15.nix
+++ b/pkgs/development/libraries/wlroots/0.15.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, meson_0_60, ninja, pkg-config, wayland-scanner
+{ lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, wayland-scanner
, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
, libpng, ffmpeg, xcbutilrenderutil, seatd, vulkan-loader, glslang
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ pkg-config ];
- nativeBuildInputs = [ meson_0_60 ninja pkg-config wayland-scanner ];
+ nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
buildInputs = [
libGL wayland wayland-protocols libinput libxkbcommon pixman
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index e2d049cd7b3c7..4d23752b2420c 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -38,5 +38,5 @@ let
};
};
in {
- xapian_1_4 = generic "1.4.18" "sha256-GW3btK0QRQEA8JkaWZ5O2UTLrZLkpv6BO+bc4WAkS3c=";
+ xapian_1_4 = generic "1.4.19" "sha256-H8pI/KbMNSbMS6k90ZT+nBMmhXt47c+zfmjQhtcUqcM=";
}
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index fbeadc2b353a3..f4fa061128148 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "xxHash";
- version = "0.8.0";
+ version = "0.8.1";
src = fetchFromGitHub {
owner = "Cyan4973";
repo = "xxHash";
rev = "v${version}";
- sha256 = "0hpbzdd6kfki5f61g103vp7pfczqkdj0js63avl0ss552jfb8h96";
+ sha256 = "sha256-2WoYCO6QRHWrbGP2mK04/sLNTyQLOuL3urVktilAwMA=";
};
# Upstream Makefile does not anticipate that user may not want to
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
makeFlags = [ "PREFIX=$(dev)" "EXEC_PREFIX=$(out)" ];
+ # pkgs/build-support/setup-hooks/compress-man-pages.sh hook fails
+ # to compress symlinked manpages. Avoid compressing manpages until
+ # it's fixed.
+ dontGzipMan = true;
+
meta = with lib; {
description = "Extremely fast hash algorithm";
longDescription = ''
diff --git a/pkgs/development/ocaml-modules/ca-certs/default.nix b/pkgs/development/ocaml-modules/ca-certs/default.nix
index acf869dbd275b..ce8993b465ebe 100644
--- a/pkgs/development/ocaml-modules/ca-certs/default.nix
+++ b/pkgs/development/ocaml-modules/ca-certs/default.nix
@@ -18,7 +18,8 @@ buildDunePackage rec {
propagatedBuildInputs = [ bos fpath rresult ptime mirage-crypto x509 astring logs ];
- doCheck = true;
+ # Assumes nss-cacert < 3.74 https://github.com/mirage/ca-certs/issues/21
+ doCheck = false;
checkInputs = [
cacert # for /etc/ssl/certs/ca-bundle.crt
alcotest
diff --git a/pkgs/development/python-modules/adal/default.nix b/pkgs/development/python-modules/adal/default.nix
index d3826013c8ee3..45c256b6647b7 100644
--- a/pkgs/development/python-modules/adal/default.nix
+++ b/pkgs/development/python-modules/adal/default.nix
@@ -1,19 +1,47 @@
-{ lib, buildPythonPackage, fetchPypi
-, requests, pyjwt, python-dateutil }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpretty
+, pyjwt
+, pytestCheckHook
+, python-dateutil
+, requests
+}:
buildPythonPackage rec {
pname = "adal";
version = "1.2.7";
+ format = "setuptools";
- src = fetchPypi {
- inherit pname version;
- sha256 = "d74f45b81317454d96e982fd1c50e6fb5c99ac2223728aea8764433a39f566f1";
+ src = fetchFromGitHub {
+ owner = "AzureAD";
+ repo = "azure-activedirectory-library-for-python";
+ rev = version;
+ hash = "sha256-HE8/P0aohoZNeMdcQVKdz6M31FMrjsd7oVytiaD0idI=";
};
- propagatedBuildInputs = [ requests pyjwt python-dateutil ];
+ propagatedBuildInputs = [
+ pyjwt
+ python-dateutil
+ requests
+ ];
+
+ checkInputs = [
+ httpretty
+ pytestCheckHook
+ ];
+
+ disabledTests = [
+ # AssertionError: 'Mex [23 chars]tp error:...
+ "test_failed_request"
+ ];
+
+ pythonImportsCheck = [
+ "adal"
+ ];
meta = with lib; {
- description = "Library to make it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources";
+ description = "Python module to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources";
homepage = "https://github.com/AzureAD/azure-activedirectory-library-for-python";
license = licenses.mit;
maintainers = with maintainers; [ ];
diff --git a/pkgs/development/python-modules/attrs/default.nix b/pkgs/development/python-modules/attrs/default.nix
index 08730e3d689ec..4b10f4203e8ba 100644
--- a/pkgs/development/python-modules/attrs/default.nix
+++ b/pkgs/development/python-modules/attrs/default.nix
@@ -6,14 +6,17 @@
buildPythonPackage rec {
pname = "attrs";
- version = "21.2.0";
+ version = "21.4.0";
src = fetchPypi {
inherit pname version;
- sha256 = "ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb";
+ hash = "sha256-YmuoI0IR25joad92IwoTfExAoS1yRFxF1fW3FvB24v0=";
};
- outputs = [ "out" "testout" ];
+ outputs = [
+ "out"
+ "testout"
+ ];
postInstall = ''
# Install tests as the tests output.
@@ -21,7 +24,9 @@ buildPythonPackage rec {
cp -R tests $testout/tests
'';
- pythonImportsCheck = [ "attr" ];
+ pythonImportsCheck = [
+ "attr"
+ ];
# pytest depends on attrs, so we can't do this out-of-the-box.
# Instead, we do this as a passthru.tests test.
@@ -35,5 +40,6 @@ buildPythonPackage rec {
description = "Python attributes without boilerplate";
homepage = "https://github.com/hynek/attrs";
license = licenses.mit;
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix
index 7f7f54b73d91c..ba7dd1db3b9a3 100644
--- a/pkgs/development/python-modules/charset-normalizer/default.nix
+++ b/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -2,17 +2,21 @@
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
+, pythonOlder
}:
buildPythonPackage rec {
pname = "charset-normalizer";
- version = "2.0.8";
+ version = "2.0.10";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "Ousret";
repo = "charset_normalizer";
rev = version;
- sha256 = "sha256-+acnzdDcujnMa0FYlWaAX7Ga9APMRlvBLKoogIyY8YM=";
+ hash = "sha256-QsUqrC2oycvyCbOzGmHahgNi40YZ0sujb3Cj8EnsGS8=";
};
checkInputs = [
@@ -24,7 +28,9 @@ buildPythonPackage rec {
--replace " --cov=charset_normalizer --cov-report=term-missing" ""
'';
- pythonImportsCheck = [ "charset_normalizer" ];
+ pythonImportsCheck = [
+ "charset_normalizer"
+ ];
meta = with lib; {
description = "Python module for encoding and language detection";
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index 599c911b9990d..0685ca6fcca57 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
'' else null;
configureFlags = [
- "PYTHON_VERSION=${lib.versions.major python.version}"
+ "PYTHON=${python.pythonForBuild.interpreter}"
];
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/django-redis/default.nix b/pkgs/development/python-modules/django-redis/default.nix
index b088876b3e4af..1ad52e22d0ffe 100644
--- a/pkgs/development/python-modules/django-redis/default.nix
+++ b/pkgs/development/python-modules/django-redis/default.nix
@@ -19,7 +19,7 @@
let
pname = "django-redis";
- version = "5.1.0";
+ version = "5.2.0";
in
buildPythonPackage {
inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
owner = "jazzband";
repo = "django-redis";
rev = version;
- sha256 = "sha256-S94qH2W5e65yzGfPxpwBUKhvvVS0Uc/zSyo66bnvzf4=";
+ sha256 = "sha256-e8wCgfxBT+WKFY4H83CTMirTpQym3QAoeWnXbRCDO90=";
};
postPatch = ''
@@ -53,6 +53,11 @@ buildPythonPackage {
preCheck = ''
${pkgs.redis}/bin/redis-server &
+ REDIS_PID=$!
+ '';
+
+ postCheck = ''
+ kill $REDIS_PID
'';
checkInputs = [
diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix
index 9a0d98034c66a..f20eb49c02332 100644
--- a/pkgs/development/python-modules/django/2.nix
+++ b/pkgs/development/python-modules/django/2.nix
@@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "Django";
- version = "2.2.25";
+ version = "2.2.26";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-seZerzcTR9SxPrfgYbCXhslzBh3pU5DDJ8hcHiqiNJw=";
+ sha256 = "sha256-36U3Jn1SxiQ6YrMoVadEyoPDfHBgCqz/v9mLxdbYUY8=";
};
patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix
index fdcb8129f27d6..a7bafcfb27078 100644
--- a/pkgs/development/python-modules/django/3.nix
+++ b/pkgs/development/python-modules/django/3.nix
@@ -13,13 +13,13 @@
buildPythonPackage rec {
pname = "Django";
- version = "3.2.10";
+ version = "3.2.11";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-B06IGLS0Cs3CNp5n3NZVXVWDKXhUCNzSU0DumPHx1cQ=";
+ sha256 = "sha256-aclKvl1rGwiL9HXgm3t0QD+UPjTaEH55hGXSBF2ifnU=";
};
patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix
index 2fe71c2d6db93..cf1079166b085 100644
--- a/pkgs/development/python-modules/flask/default.nix
+++ b/pkgs/development/python-modules/flask/default.nix
@@ -7,6 +7,7 @@
, jinja2
, python-dotenv
, werkzeug
+, setuptools
, pytestCheckHook
}:
@@ -26,6 +27,10 @@ buildPythonPackage rec {
itsdangerous
jinja2
werkzeug
+
+ # required for CLI subcommand autodiscovery
+ # see: https://github.com/pallets/flask/blob/fdac8a5404e3e3a316568107a293f134707c75bb/src/flask/cli.py#L498
+ setuptools
];
checkInputs = [
diff --git a/pkgs/development/python-modules/flit-core/default.nix b/pkgs/development/python-modules/flit-core/default.nix
index 7cb9ed2c6c451..35bba06f1f36e 100644
--- a/pkgs/development/python-modules/flit-core/default.nix
+++ b/pkgs/development/python-modules/flit-core/default.nix
@@ -2,12 +2,11 @@
, buildPythonPackage
, callPackage
, flit
-, toml
}:
buildPythonPackage rec {
pname = "flit-core";
- version = "3.2.0";
+ version = "3.6.0";
format = "pyproject";
outputs = [
@@ -21,10 +20,6 @@ buildPythonPackage rec {
cd flit_core
'';
- propagatedBuildInputs = [
- toml
- ];
-
postInstall = ''
mkdir $testsout
cp -R ../tests $testsout/tests
diff --git a/pkgs/development/python-modules/flit/default.nix b/pkgs/development/python-modules/flit/default.nix
index 0a6d1ba3158a7..830ed2702b898 100644
--- a/pkgs/development/python-modules/flit/default.nix
+++ b/pkgs/development/python-modules/flit/default.nix
@@ -3,13 +3,12 @@
, fetchFromGitHub
, docutils
, requests
-, requests_download
-, zipfile36
-, pythonOlder
, pytest
, testpath
, responses
, flit-core
+, tomli
+, tomli-w
}:
# Flit is actually an application to build universal wheels.
@@ -19,14 +18,14 @@
buildPythonPackage rec {
pname = "flit";
- version = "3.2.0";
+ version = "3.6.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "takluyver";
repo = "flit";
rev = version;
- sha256 = "sha256-zN+/oAyXBo6Ho7n/xhOQ2mjtPGKA1anCvl3sVf7t+Do=";
+ sha256 = "sha256-D3q/1g6njrrmizooGmzNd9g2nKs00dMGj9jrrv3Y6HQ=";
};
nativeBuildInputs = [
@@ -36,10 +35,9 @@ buildPythonPackage rec {
propagatedBuildInputs = [
docutils
requests
- requests_download
flit-core
- ] ++ lib.optionals (pythonOlder "3.6") [
- zipfile36
+ tomli
+ tomli-w
];
checkInputs = [ pytest testpath responses ];
diff --git a/pkgs/development/python-modules/funcsigs/default.nix b/pkgs/development/python-modules/funcsigs/default.nix
index 8a7335accda40..115d358cb7869 100644
--- a/pkgs/development/python-modules/funcsigs/default.nix
+++ b/pkgs/development/python-modules/funcsigs/default.nix
@@ -1,5 +1,5 @@
{ lib, buildPythonPackage, fetchPypi
-, isPyPy, isPy3k, unittest2
+, isPyPy, isPy3k
}:
buildPythonPackage rec {
@@ -11,11 +11,14 @@ buildPythonPackage rec {
sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
};
- buildInputs = [ unittest2 ];
-
# https://github.com/testing-cabal/funcsigs/issues/10
patches = lib.optional (isPyPy && isPy3k) [ ./fix-pypy3-tests.patch ];
+ # requires, unittest2 and package hasn't been maintained since 2013
+ doCheck = false;
+
+ pythonImportsCheck = [ "funcsigs" ];
+
meta = with lib; {
description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+";
homepage = "https://github.com/aliles/funcsigs";
diff --git a/pkgs/development/python-modules/hiredis/default.nix b/pkgs/development/python-modules/hiredis/default.nix
index 00ce786b005dd..eea5e5bf80433 100644
--- a/pkgs/development/python-modules/hiredis/default.nix
+++ b/pkgs/development/python-modules/hiredis/default.nix
@@ -1,25 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
-, redis
+, pythonOlder
+
+# tested using
, python
}:
buildPythonPackage rec {
pname = "hiredis";
version = "2.0.0";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a";
};
- propagatedBuildInputs = [ redis ];
+
+ pythonImportsCheck = [ "hiredis" ];
checkPhase = ''
mv hiredis _hiredis
${python.interpreter} test.py
'';
- pythonImportsCheck = [ "hiredis" ];
meta = with lib; {
description = "Wraps protocol parsing code in hiredis, speeds up parsing of multi bulk replies";
diff --git a/pkgs/development/python-modules/html-sanitizer/default.nix b/pkgs/development/python-modules/html-sanitizer/default.nix
index 546f1acad0944..111d7e00d1b2c 100644
--- a/pkgs/development/python-modules/html-sanitizer/default.nix
+++ b/pkgs/development/python-modules/html-sanitizer/default.nix
@@ -8,13 +8,13 @@
buildPythonPackage rec {
pname = "html-sanitizer";
- version = "1.9.1";
+ version = "1.9.3";
src = fetchFromGitHub {
owner = "matthiask";
repo = pname;
rev = version;
- sha256 = "0nnv34924r0yn01rwlk749j5ijy7yxyj302s1i57yjrkqr3zlvas";
+ sha256 = "sha256-1JSdi1PFM+N+UuEPfgWkOZw8S2PZ4ntadU0wnVJNnjw=";
};
propagatedBuildInputs = [
@@ -26,9 +26,17 @@ buildPythonPackage rec {
pytestCheckHook
];
- pytestFlagsArray = [ "html_sanitizer/tests.py" ];
+ pytestFlagsArray = [
+ "html_sanitizer/tests.py"
+ ];
+
+ disabledTests = [
+ "test_billion_laughs"
+ ];
- pythonImportsCheck = [ "html_sanitizer" ];
+ pythonImportsCheck = [
+ "html_sanitizer"
+ ];
meta = with lib; {
description = "Allowlist-based and very opinionated HTML sanitizer";
diff --git a/pkgs/development/python-modules/html5lib/default.nix b/pkgs/development/python-modules/html5lib/default.nix
index 08ea5a2b3e98e..58da63d02edd9 100644
--- a/pkgs/development/python-modules/html5lib/default.nix
+++ b/pkgs/development/python-modules/html5lib/default.nix
@@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
+, fetchpatch
, six
, webencodings
, mock
@@ -17,6 +18,15 @@ buildPythonPackage rec {
sha256 = "b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f";
};
+ patches = [
+ # Fix compatibility with pytest 6.
+ # Will be included in the next release after 1.1.
+ (fetchpatch {
+ url = "https://github.com/html5lib/html5lib-python/commit/2c19b9899ab3a3e8bd0ca35e5d78544334204169.patch";
+ sha256 = "sha256-VGCeB6o2QO/skeCZs8XLPfgEYVOSRL8cCpG7ajbZWEs=";
+ })
+ ];
+
propagatedBuildInputs = [
six
webencodings
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index 0a97a27d17f8c..5727b52755a60 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -2,6 +2,7 @@
, buildPythonPackage
, isPy27
, fetchPypi
+, fetchpatch
, imageio-ffmpeg
, numpy
, pillow
@@ -12,14 +13,23 @@
buildPythonPackage rec {
pname = "imageio";
- version = "2.13.2";
+ version = "2.13.5";
disabled = isPy27;
src = fetchPypi {
- sha256 = "5b7a55d07de88a2fd70f18a1608ca05ba2b55596a942fb2c390240201009a6c3";
+ sha256 = "0gc41aiz2i0napk1y00v9bgb4m7dd21sz3lghfm6w6s0ivjjpv67";
inherit pname version;
};
+ patches = [
+ # already present in master, remove on next bump
+ (fetchpatch {
+ name = "pillow-9-gif-rgba.patch";
+ url = "https://github.com/imageio/imageio/commit/836b7a9b077a96de8adab5b67ea53b1292048275.patch";
+ sha256 = "0rlyppa4w16n6qn5hr4wrg8xiy7ifs8c5dhmq8a9yncypx87glpv";
+ })
+ ];
+
propagatedBuildInputs = [
imageio-ffmpeg
numpy
diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix
index e13f73616775a..a607de5eb114d 100644
--- a/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -10,15 +10,15 @@
buildPythonPackage rec {
pname = "importlib-metadata";
- version = "4.8.2";
+ version = "4.10.0";
format = "setuptools";
- disabled = pythonOlder "3.6";
+ disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "importlib_metadata";
inherit version;
- sha256 = "sha256-db3sFMOX9ShyTBv9lwnWYLM6TS53OHozWPILhIu15fs=";
+ hash = "sha256-kqi1jOc0sqRJSHjg7PfXnM16EotfxgFMQB4LYfAG8PY=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lz4/default.nix b/pkgs/development/python-modules/lz4/default.nix
index cc84fa75c6997..9e2cc9b31e155 100644
--- a/pkgs/development/python-modules/lz4/default.nix
+++ b/pkgs/development/python-modules/lz4/default.nix
@@ -1,41 +1,68 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
-, future
-, isPy3k
+, pythonOlder
+
+# native inputs
, pkgconfig
-, psutil
-, pytest
-, pytest-cov
-, pytest-runner
, setuptools-scm
+
+# tests
+, psutil
+, pytestCheckHook
}:
buildPythonPackage rec {
pname = "python-lz4";
- version = "3.1.10";
+ version = "3.1.12";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.5";
- # get full repository inorder to run tests
+ # get full repository in order to run tests
src = fetchFromGitHub {
owner = pname;
repo = pname;
- rev = version;
- sha256 = "0a4gic8xh3simkk5k8302rxwf765pr6y63k3js79mkl983vpxcim";
+ rev = "v${version}";
+ sha256 = "sha256-fqt9aJGqZpfbiYtU8cmm7UQaixZwbTKFBwRfR1B/qic=";
};
- nativeBuildInputs = [ setuptools-scm pkgconfig pytest-runner ];
- checkInputs = [ pytest pytest-cov psutil ];
- propagatedBuildInputs = lib.optionals (!isPy3k) [ future ];
+ SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+ postPatch = ''
+ sed -i '/pytest-cov/d' setup.py
+ '';
+
+ nativeBuildInputs = [
+ setuptools-scm
+ pkgconfig
+ ];
+
+ pythonImportsCheck = [
+ "lz4"
+ "lz4.block"
+ "lz4.frame"
+ "lz4.stream"
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ psutil
+ ];
+
+ # leave build directory, so the installed library gets imported
+ preCheck = ''
+ pushd tests
+ '';
- # give a hint to setuptools-scm on package version
- preBuild = ''
- export SETUPTOOLS_SCM_PRETEND_VERSION="v${version}"
+ postCheck = ''
+ popd
'';
- meta = {
- description = "LZ4 Bindings for Python";
- homepage = "https://github.com/python-lz4/python-lz4";
- license = lib.licenses.bsd3;
- maintainers = with lib.maintainers; [ costrouc ];
+ meta = with lib; {
+ description = "LZ4 Bindings for Python";
+ homepage = "https://github.com/python-lz4/python-lz4";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ costrouc ];
};
}
diff --git a/pkgs/development/python-modules/matplotlib-inline/default.nix b/pkgs/development/python-modules/matplotlib-inline/default.nix
index 9ee23b87ee81a..d863239430dc1 100644
--- a/pkgs/development/python-modules/matplotlib-inline/default.nix
+++ b/pkgs/development/python-modules/matplotlib-inline/default.nix
@@ -1,5 +1,4 @@
{ lib, buildPythonPackage, fetchPypi
-, matplotlib
, traitlets
# tests
@@ -16,7 +15,6 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [
- matplotlib # not documented, but required
traitlets
];
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 149aefb9a57f5..5c5e985641ff7 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "mypy";
- version = "0.930";
+ version = "0.931";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "python";
repo = "mypy";
rev = "v${version}";
- sha256 = "sha256-0yo6f9hRYFfwdfukOGNNTgPCIFO2MZdfMvzbci7FWRs=";
+ sha256 = "1v83flrdxh8grcp40qw04q4hzjflih9xwib64078vsxv2w36f817";
};
patches = [
diff --git a/pkgs/development/python-modules/packaging/default.nix b/pkgs/development/python-modules/packaging/default.nix
index d76b5b1723ef0..648a548e521b5 100644
--- a/pkgs/development/python-modules/packaging/default.nix
+++ b/pkgs/development/python-modules/packaging/default.nix
@@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "packaging";
- version = "20.9";
+ version = "21.3";
format = "pyproject";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-WzJ6wTINyGPcpy9FFOzAhvMRhnRLhKIwN0zB/Xdv6uU=";
+ sha256 = "sha256-3UfEKSfYmrkR5gZRiQfMLTofOLvQJjhZcGQ/nFuOz+s=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index 86154554b6927..d271111d58f2e 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -1,48 +1,65 @@
-{ pkgs
+{ lib
+, bcrypt
, buildPythonPackage
-, fetchPypi
, cryptography
-, bcrypt
+, fetchPypi
, invoke
-, pynacl
+, mock
, pyasn1
-, pytestCheckHook
+, pynacl
, pytest-relaxed
-, mock
+, pytestCheckHook
}:
buildPythonPackage rec {
pname = "paramiko";
- version = "2.8.1";
+ version = "2.9.1";
+ format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "85b1245054e5d7592b9088cc6d08da22445417912d3a3e48138675c7a8616438";
+ hash = "sha256-of3e07VfYdIzieT+UtmuQolgrJWNLt9QNz+qXYkm7dA=";
};
- propagatedBuildInputs = [ bcrypt cryptography pynacl pyasn1 ];
+ propagatedBuildInputs = [
+ bcrypt
+ cryptography
+ pyasn1
+ pynacl
+ ];
+
+ checkInputs = [
+ invoke
+ mock
+ pytest-relaxed
+ pytestCheckHook
+ ];
# with python 3.9.6+, the deprecation warnings will fail the test suite
# see: https://github.com/pyinvoke/invoke/issues/829
doCheck = false;
- checkInputs = [ invoke pytestCheckHook pytest-relaxed mock ];
disabledTestPaths = [
"tests/test_sftp.py"
"tests/test_config.py"
];
+ pythonImportsCheck = [
+ "paramiko"
+ ];
+
__darwinAllowLocalNetworking = true;
- meta = with pkgs.lib; {
+ meta = with lib; {
homepage = "https://github.com/paramiko/paramiko/";
description = "Native Python SSHv2 protocol library";
license = licenses.lgpl21Plus;
longDescription = ''
- This is a library for making SSH2 connections (client or server).
- Emphasis is on using SSH2 as an alternative to SSL for making secure
- connections between python scripts. All major ciphers and hash methods
- are supported. SFTP client and server mode are both supported too.
+ Library for making SSH2 connections (client or server). Emphasis is
+ on using SSH2 as an alternative to SSL for making secure connections
+ between python scripts. All major ciphers and hash methods are
+ supported. SFTP client and server mode are both supported too.
'';
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/python-modules/pdm-pep517/default.nix b/pkgs/development/python-modules/pdm-pep517/default.nix
new file mode 100644
index 0000000000000..b0e45125bfe55
--- /dev/null
+++ b/pkgs/development/python-modules/pdm-pep517/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, git
+, pytestCheckHook
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+ pname = "pdm-pep517";
+ version = "0.9.4";
+ format = "pyproject";
+ disabled = pythonOlder "3.7";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "sha256-2o2FuuvS5PW7uhxl3EGBP75CZ3dcyjPoug1k0irl51c=";
+ };
+
+ disabledTests = [
+ "test_project_version_use_scm"
+ ];
+
+ checkInputs = [
+ git
+ pytestCheckHook
+ pytest-cov
+ ];
+
+ meta = with lib; {
+ homepage = "https://github.com/pdm-project/pdm-pep517";
+ description = "Yet another PEP 517 backend.";
+ license = licenses.mit;
+ maintainers = with maintainers; [ cpcloud ];
+ };
+}
diff --git a/pkgs/development/python-modules/pep517/default.nix b/pkgs/development/python-modules/pep517/default.nix
index 90dc504619906..cdf4cae4109ff 100644
--- a/pkgs/development/python-modules/pep517/default.nix
+++ b/pkgs/development/python-modules/pep517/default.nix
@@ -2,7 +2,7 @@
, buildPythonPackage
, fetchPypi
, flit-core
-, toml
+, tomli
, pythonOlder
, importlib-metadata
, zipp
@@ -14,12 +14,13 @@
buildPythonPackage rec {
pname = "pep517";
- version = "0.9.1";
+ version = "0.12.0";
format = "pyproject";
+ disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
- sha256 = "0zqidxah03qpnp6zkg3zd1kmd5f79hhdsfmlc0cldaniy80qddxf";
+ sha256 = "sha256-kxN42T0RspjPUR3WNM9epMskmijvhBYLMkfumvtOirA=";
};
nativeBuildInputs = [
@@ -27,7 +28,7 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
- toml
+ tomli
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata zipp
];
@@ -41,9 +42,18 @@ buildPythonPackage rec {
preCheck = ''
rm pytest.ini # wants flake8
- rm tests/test_meta.py # wants to run pip
'';
+ disabledTests = [
+ # these import setuptools, which for some reason cannot be found
+ "test_issue_104"
+ "test_setup_py"
+ # skip these instead of removing test_meta.py
+ "test_meta_for_this_package"
+ "test_classic_package"
+ "test_meta_output"
+ ];
+
meta = {
description = "Wrappers to build Python packages using PEP 517 hooks";
license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index e0f29d366e106..57b085a54051d 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -5,13 +5,13 @@
import ./generic.nix (rec {
pname = "Pillow";
- version = "8.4.0";
+ version = "9.0.0";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
- sha256 = "b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed";
+ sha256 = "0gjry0yqryd2678sm47jhdnbghzxn5wk8pgyaqwr4qi7x5ijjvpf";
};
meta = with lib; {
diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix
index 062295a4eadaf..f2e8659914876 100644
--- a/pkgs/development/python-modules/platformdirs/default.nix
+++ b/pkgs/development/python-modules/platformdirs/default.nix
@@ -11,14 +11,16 @@
buildPythonPackage rec {
pname = "platformdirs";
- version = "2.4.0";
- disabled = pythonOlder "3.6";
+ version = "2.4.1";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
- sha256 = "sha256-Ox1CVq2M2eddZtpuZx0IfvuOm6RPsAs27WkMdZSeh0E=";
+ sha256 = "sha256-Ce1dwE2g/7o91NPkmlM0uv0eMB7WzFCExV/8ZCAn22Y=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -33,7 +35,9 @@ buildPythonPackage rec {
pytestCheckHook
];
- pythonImportsCheck = [ "platformdirs" ];
+ pythonImportsCheck = [
+ "platformdirs"
+ ];
meta = with lib; {
description = "Python module for determining appropriate platform-specific directories";
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index d33d9ffc575dc..d93bfe149cb82 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -13,13 +13,13 @@
buildPythonPackage rec {
pname = "pybind11";
- version = "2.8.1";
+ version = "2.9.0";
src = fetchFromGitHub {
owner = "pybind";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-Gk4ZN/g6SRWFm0ALCvyald/9zq3wBd48mGdqdGCeGYI=";
+ hash = "sha256-zYDgXXpn8Z1Zti8Eje8qxDvbQV70/LmezG3AtxzDG+o=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix b/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
new file mode 100644
index 0000000000000..4fbc259c188e3
--- /dev/null
+++ b/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+ pname = "pycryptodome-test-vectors";
+ version = "1.0.4";
+ format = "setuptools";
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-2+ZL8snmaB0tNxGZRbUM6SdfXZf4CM0nh3/wTOu9R50=";
+ extension = "zip";
+ };
+
+ # Module has no tests
+ doCheck = false;
+
+ pythonImportsCheck = [
+ "pycryptodome_test_vectors"
+ ];
+
+ meta = with lib; {
+ description = "Test vectors for PyCryptodome cryptographic library";
+ homepage = "https://www.pycryptodome.org/";
+ license = with licenses; [ bsd2 /* and */ asl20 ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index 19b2447acb11a..44e7ed0ad4aa2 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,17 +1,29 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pycryptodome-test-vectors
+}:
buildPythonPackage rec {
- version = "3.11.0";
pname = "pycryptodome";
+ version = "3.12.0";
+ format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "428096bbf7a77e207f418dfd4d7c284df8ade81d2dc80f010e92753a3e406ad0";
+ hash = "sha256-Esc0OuxaOz31xHJlKBsSthHybsk2e2EpGZ1n2lS3aME=";
+ extension = "zip";
};
+ pythonImportsCheck = [
+ "Crypto"
+ ];
+
meta = with lib; {
- homepage = "https://www.pycryptodome.org/";
description = "Python Cryptography Toolkit";
+ homepage = "https://www.pycryptodome.org/";
+ license = with licenses; [ bsd2 /* and */ asl20 ];
+ maintainers = with maintainers; [ fab ];
platforms = platforms.unix;
};
}
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index eab3a6b0bbd58..c9f622d6c699d 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -1,23 +1,28 @@
{ lib
, buildPythonPackage
, fetchPypi
+, pycryptodome-test-vectors
}:
buildPythonPackage rec {
pname = "pycryptodomex";
- version = "3.11.0";
+ version = "3.12.0";
+ format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "0398366656bb55ebdb1d1d493a7175fc48ade449283086db254ac44c7d318d6d";
+ hash = "sha256-ki6drAFm5GF+XHmA0s/2kSputctcE+fs4iJDhlC9f2Y=";
+ extension = "zip";
};
- pythonImportsCheck = [ "Cryptodome" ];
+ pythonImportsCheck = [
+ "Cryptodome"
+ ];
meta = with lib; {
description = "A self-contained cryptographic library for Python";
homepage = "https://www.pycryptodome.org";
- license = licenses.bsd2;
+ license = with licenses; [ bsd2 /* and */ asl20 ];
maintainers = with maintainers; [ fab ];
};
}
diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix
index af3c2c9b6514f..e4417139bfa34 100644
--- a/pkgs/development/python-modules/pytenable/default.nix
+++ b/pkgs/development/python-modules/pytenable/default.nix
@@ -9,6 +9,7 @@
, pytestCheckHook
, python-box
, python-dateutil
+, pythonOlder
, requests
, requests-pkcs12
, responses
@@ -19,13 +20,16 @@
buildPythonPackage rec {
pname = "pytenable";
- version = "1.4.2";
+ version = "1.4.3";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "tenable";
repo = "pyTenable";
rev = version;
- sha256 = "sha256-qljoJ+nYFVS5VHr/M4mITtO9Czuyb4HLzVjhprhyJIs=";
+ hash = "sha256-p9d3wZkOMhNQWJN6tCNUlW15A3irU8QN/nm7PLGTE/M=";
};
propagatedBuildInputs = [
@@ -59,7 +63,9 @@ buildPythonPackage rec {
"test_uploads_docker_push_cs_tag_typeerror"
];
- pythonImportsCheck = [ "tenable" ];
+ pythonImportsCheck = [
+ "tenable"
+ ];
meta = with lib; {
description = "Python library for the Tenable.io and TenableSC API";
diff --git a/pkgs/development/python-modules/pythonfinder/default.nix b/pkgs/development/python-modules/pythonfinder/default.nix
new file mode 100644
index 0000000000000..8bf68fb0db4c9
--- /dev/null
+++ b/pkgs/development/python-modules/pythonfinder/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+, attrs
+, cached-property
+, click
+, six
+, packaging
+, backports_functools_lru_cache
+, pathlib2
+, pytest-cov
+, pytest-timeout
+}:
+
+buildPythonPackage rec {
+ pname = "pythonfinder";
+ version = "1.2.9";
+ format = "pyproject";
+
+ src = fetchFromGitHub {
+ owner = "sarugaku";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-tPMqVKbYwBRvb8/GyYNxO8lwJLcUUQyRoCoF5tg6rxs=";
+ };
+
+ propagatedBuildInputs = [
+ attrs
+ cached-property
+ click
+ six
+ packaging
+ ]
+ ++ lib.optionals (pythonOlder "3.5") [ pathlib2 ]
+ ++ lib.optionals (pythonOlder "3") [ backports_functools_lru_cache ];
+
+ checkInputs = [
+ pytestCheckHook
+ pytest-cov
+ pytest-timeout
+ ];
+
+ pytestFlagsArray = [ "--no-cov" ];
+
+ # these tests invoke git in a subprocess and
+ # for some reason git can't be found even if included in checkInputs
+ disabledTests = [
+ "test_shims_are_kept"
+ "test_shims_are_removed"
+ ];
+
+ meta = with lib; {
+ homepage = "https://github.com/sarugaku/pythonfinder";
+ description = "Cross Platform Search Tool for Finding Pythons";
+ license = licenses.mit;
+ maintainers = with maintainers; [ cpcloud ];
+ };
+}
diff --git a/pkgs/development/python-modules/redis/default.nix b/pkgs/development/python-modules/redis/default.nix
index 35109e836fa4d..0731487575b1a 100644
--- a/pkgs/development/python-modules/redis/default.nix
+++ b/pkgs/development/python-modules/redis/default.nix
@@ -1,14 +1,49 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+
+# propagates
+, cryptography
+, deprecated
+, hiredis
+, importlib-metadata
+, packaging
+, requests
+}:
buildPythonPackage rec {
pname = "redis";
- version = "3.5.3";
+ version = "4.1.0";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
- sha256 = "0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2";
+ sha256 = "sha256-IfCiO85weQkHbmuizgdsulm/9g0qsily4GR/32IP/kc=";
};
+ propagatedBuildInputs = [
+ cryptography
+ deprecated
+ hiredis
+ packaging
+ requests
+ ] ++ lib.optionals (pythonOlder "3.8") [
+ importlib-metadata
+ ];
+
+ pythonImportsCheck = [
+ "redis"
+ "redis.client"
+ "redis.cluster"
+ "redis.connection"
+ "redis.exceptions"
+ "redis.sentinel"
+ "redis.utils"
+ ];
+
# tests require a running redis
doCheck = false;
diff --git a/pkgs/development/python-modules/requests-file/default.nix b/pkgs/development/python-modules/requests-file/default.nix
index 374627a1bb9a2..d8cd9d81c94dd 100644
--- a/pkgs/development/python-modules/requests-file/default.nix
+++ b/pkgs/development/python-modules/requests-file/default.nix
@@ -1,22 +1,38 @@
-{ lib, fetchPypi, buildPythonPackage, pytestCheckHook, requests, six }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytestCheckHook
+, requests
+, six
+}:
buildPythonPackage rec {
- pname = "requests-file";
+ pname = "requests-file";
version = "1.5.1";
+ format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "07d74208d3389d01c38ab89ef403af0cfec63957d53a0081d8eca738d0247d8e";
+ hash = "sha256-B9dCCNM4nQHDirie9AOvDP7GOVfVOgCB2OynONAkfY4=";
};
- propagatedBuildInputs = [ requests six ];
+ propagatedBuildInputs = [
+ requests
+ six
+ ];
- checkInputs = [ pytestCheckHook ];
+ checkInputs = [
+ pytestCheckHook
+ ];
- meta = {
- homepage = "https://github.com/dashea/requests-file";
+ pythonImportsCheck = [
+ "requests_file"
+ ];
+
+ meta = with lib; {
description = "Transport adapter for fetching file:// URLs with the requests python library";
- license = lib.licenses.asl20;
+ homepage = "https://github.com/dashea/requests-file";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ ];
};
-
}
diff --git a/pkgs/development/python-modules/requests-http-signature/default.nix b/pkgs/development/python-modules/requests-http-signature/default.nix
index 7a27055aba2a1..c51e24e0ac9de 100644
--- a/pkgs/development/python-modules/requests-http-signature/default.nix
+++ b/pkgs/development/python-modules/requests-http-signature/default.nix
@@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "requests-http-signature";
version = "0.2.0";
+ format = "setuptools";
- # .pem files for tests aren't present on PyPI
src = fetchFromGitHub {
owner = "pyauth";
repo = pname;
rev = "v${version}";
- sha256 = "1jsplqrxadjsc86f0kb6dgpblgwplxrpi0ql1a714w8pbbz4z3h7";
+ hash = "sha256-B45P/loXcRKOChSDeHOnlz+67mtmTeAMYlo21TOmV8s=";
};
propagatedBuildInputs = [
@@ -27,17 +27,21 @@ buildPythonPackage rec {
pytestCheckHook
];
- pytestFlagsArray = [ "test/test.py" ];
+ pytestFlagsArray = [
+ "test/test.py"
+ ];
disabledTests = [
# Test require network access
"test_readme_example"
];
- pythonImportsCheck = [ "requests_http_signature" ];
+ pythonImportsCheck = [
+ "requests_http_signature"
+ ];
meta = with lib; {
- description = "A Requests auth module for HTTP Signature";
+ description = "Requests authentication module for HTTP Signature";
homepage = "https://github.com/kislyuk/requests-http-signature";
license = licenses.asl20;
maintainers = with maintainers; [ mmai ];
diff --git a/pkgs/development/python-modules/requests-kerberos/default.nix b/pkgs/development/python-modules/requests-kerberos/default.nix
index 40bbb1aa6cb17..3a1382061bd7d 100644
--- a/pkgs/development/python-modules/requests-kerberos/default.nix
+++ b/pkgs/development/python-modules/requests-kerberos/default.nix
@@ -1,33 +1,29 @@
{ lib
-, fetchFromGitHub
, buildPythonPackage
, cryptography
-, requests
+, fetchFromGitHub
, pykerberos
, pyspnego
-, pytestCheckHook
, pytest-mock
-, mock
+, pytestCheckHook
+, pythonOlder
+, requests
}:
buildPythonPackage rec {
pname = "requests-kerberos";
version = "0.14.0";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
- # tests are not present in the PyPI version
src = fetchFromGitHub {
owner = "requests";
repo = pname;
rev = "v${version}";
- sha256 = "0s30pcnlir3j2jmf7yh065f294cf3x0x5i3ldskn8mm0a3657mv3";
+ hash = "sha256-Y9dTzFCgVmSnbnTE0kEfjpEkXDEA+uOqFHLkSC27YGg=";
};
- # avoid needing to package krb5
- postPatch = ''
- substituteInPlace setup.py \
- --replace "pyspnego[kerberos]" "pyspnego"
- '';
-
propagatedBuildInputs = [
cryptography
requests
@@ -36,12 +32,19 @@ buildPythonPackage rec {
];
checkInputs = [
- mock
pytestCheckHook
pytest-mock
];
- pythonImportsCheck = [ "requests_kerberos" ];
+ # avoid needing to package krb5
+ postPatch = ''
+ substituteInPlace setup.py \
+ --replace "pyspnego[kerberos]" "pyspnego"
+ '';
+
+ pythonImportsCheck = [
+ "requests_kerberos"
+ ];
meta = with lib; {
description = "An authentication handler for using Kerberos with Python Requests";
diff --git a/pkgs/development/python-modules/requests-unixsocket/default.nix b/pkgs/development/python-modules/requests-unixsocket/default.nix
index 946e406c8bf6a..57f4d5787c67e 100644
--- a/pkgs/development/python-modules/requests-unixsocket/default.nix
+++ b/pkgs/development/python-modules/requests-unixsocket/default.nix
@@ -9,26 +9,35 @@
buildPythonPackage rec {
pname = "requests-unixsocket";
- version = "0.2.0";
+ version = "0.3.0";
+ format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea";
+ hash = "sha256-KDBCg+qTV9Rf/1itWxHkdwjPv1gGgXqlmyo2Mijulx4=";
};
- nativeBuildInputs = [ pbr ];
- propagatedBuildInputs = [ requests ];
+ nativeBuildInputs = [
+ pbr
+ ];
- checkInputs = [ pytestCheckHook waitress ];
+ propagatedBuildInputs = [
+ requests
+ ];
- preCheck = ''
- rm pytest.ini
- '';
+ checkInputs = [
+ pytestCheckHook
+ waitress
+ ];
+
+ pythonImportsCheck = [
+ "requests_unixsocket"
+ ];
meta = with lib; {
description = "Use requests to talk HTTP via a UNIX domain socket";
homepage = "https://github.com/msabramo/requests-unixsocket";
license = licenses.asl20;
- maintainers = [ maintainers.catern ];
+ maintainers = with maintainers; [ catern ];
};
}
diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix
index 8ba7aef46074d..f5b021801f413 100644
--- a/pkgs/development/python-modules/requests/default.nix
+++ b/pkgs/development/python-modules/requests/default.nix
@@ -7,22 +7,23 @@
, charset-normalizer
, fetchPypi
, idna
+, isPy27
+, isPy3k
+, pysocks
, pytest-mock
, pytest-xdist
, pytestCheckHook
-, urllib3
-, isPy27
-, isPy3k
, trustme
+, urllib3
}:
buildPythonPackage rec {
pname = "requests";
- version = "2.26.0";
+ version = "2.27.1";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-uKpY+M95P/2HgtPYyxnmbvNverpDU+7IWedGeLAbB6c=";
+ hash = "sha256-aNfFb9WomZiHco7zBKbRLtx7508c+kdxT8i0FFJcmmE=";
};
patches = [
@@ -32,7 +33,8 @@ buildPythonPackage rec {
postPatch = ''
# Use latest idna
- substituteInPlace setup.py --replace ",<3" ""
+ substituteInPlace setup.py \
+ --replace ",<3" ""
'';
propagatedBuildInputs = [
@@ -48,6 +50,7 @@ buildPythonPackage rec {
];
checkInputs = [
+ pysocks
pytest-mock
pytest-xdist
pytestCheckHook
@@ -73,11 +76,13 @@ buildPythonPackage rec {
"TestTimeout"
];
- pythonImportsCheck = [ "requests" ];
+ pythonImportsCheck = [
+ "requests"
+ ];
meta = with lib; {
- description = "Simple HTTP library for Python";
- homepage = "http://docs.python-requests.org/en/latest/";
+ description = "HTTP library for Python";
+ homepage = "http://docs.python-requests.org/";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
diff --git a/pkgs/development/python-modules/resolvelib/default.nix b/pkgs/development/python-modules/resolvelib/default.nix
index f5c1f43572688..874485844c778 100644
--- a/pkgs/development/python-modules/resolvelib/default.nix
+++ b/pkgs/development/python-modules/resolvelib/default.nix
@@ -12,13 +12,13 @@ buildPythonPackage rec {
# is compatible with Ansible
# https://github.com/NixOS/nixpkgs/pull/128636
# https://github.com/ansible/ansible/blob/devel/requirements.txt
- version = "0.5.5";
+ version = "0.8.1";
src = fetchFromGitHub {
owner = "sarugaku";
repo = "resolvelib";
rev = version;
- sha256 = "198vfv78hilpg0d0mjzchzp9zk6239wnra61vlsgwpcgz66d2bgv";
+ sha256 = "sha256-QDHEdVET7HN2ZCKxNUMofabR+rxJy0erWhNQn94D7eI=";
};
checkInputs = [
diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix
index cff31f782c5a7..a87655d7147d9 100644
--- a/pkgs/development/python-modules/responses/default.nix
+++ b/pkgs/development/python-modules/responses/default.nix
@@ -1,33 +1,28 @@
{ lib
, buildPythonPackage
-, cookies
, fetchPypi
-, mock
, pytest-localserver
, pytestCheckHook
, pythonOlder
, requests
-, six
, urllib3
}:
buildPythonPackage rec {
pname = "responses";
- version = "0.16.0";
+ version = "0.17.0";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-ouOsoqgnfmElfNOxwVSx3Q14Kxrj04t/o3y+P+tTF5E=";
+ hash = "sha256-7GdeCA0Gv40fteWmih5c0N9GsJx4IwMV9lCvXkA2vsc=";
};
propagatedBuildInputs = [
requests
urllib3
- six
- ] ++ lib.optionals (pythonOlder "3.4") [
- cookies
- ] ++ lib.optionals (pythonOlder "3.3") [
- mock
];
checkInputs = [
@@ -35,7 +30,9 @@ buildPythonPackage rec {
pytestCheckHook
];
- pythonImportsCheck = [ "responses" ];
+ pythonImportsCheck = [
+ "responses"
+ ];
meta = with lib; {
description = "Python module for mocking out the requests Python library";
diff --git a/pkgs/development/python-modules/restfly/default.nix b/pkgs/development/python-modules/restfly/default.nix
index 83d50cf1346c3..d153a5f3c7531 100644
--- a/pkgs/development/python-modules/restfly/default.nix
+++ b/pkgs/development/python-modules/restfly/default.nix
@@ -6,18 +6,22 @@
, pytest-vcr
, pytestCheckHook
, python-box
+, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "restfly";
version = "1.4.5";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "stevemcgrath";
repo = pname;
rev = version;
- sha256 = "sha256-wWFf8LFZkwzbHX545tA5w2sB3ClL7eFuF+jGX0fSiSc=";
+ hash = "sha256-wWFf8LFZkwzbHX545tA5w2sB3ClL7eFuF+jGX0fSiSc=";
};
propagatedBuildInputs = [
@@ -37,7 +41,9 @@ buildPythonPackage rec {
"test_session_ssl_error"
];
- pythonImportsCheck = [ "restfly" ];
+ pythonImportsCheck = [
+ "restfly"
+ ];
meta = with lib; {
description = "Python RESTfly API Library Framework";
diff --git a/pkgs/development/python-modules/ruamel-yaml-clib/default.nix b/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
index b12920fc7640d..143452274abb2 100644
--- a/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
+++ b/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
@@ -5,12 +5,13 @@
buildPythonPackage rec {
pname = "ruamel-yaml-clib";
- version = "0.2.4";
+ version = "0.2.6";
+ format = "setuptools";
src = fetchhg {
url = "http://hg.code.sf.net/p/ruamel-yaml-clib/code";
rev = version;
- sha256 = "sha256-HQZY1opUvVQdXUHmsZmcYX2vfgjKsl6xATmVIXjnBlc=";
+ sha256 = "sha256-mpkh9JhYKRX47jfKprjt1Vpm9DMz8LcWzkotJ+/xoxY=";
};
# no tests
diff --git a/pkgs/development/python-modules/ruamel-yaml/default.nix b/pkgs/development/python-modules/ruamel-yaml/default.nix
index 4b6774a4f9fa7..79f21ba6aabde 100644
--- a/pkgs/development/python-modules/ruamel-yaml/default.nix
+++ b/pkgs/development/python-modules/ruamel-yaml/default.nix
@@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "ruamel-yaml";
- version = "0.17.17";
+ version = "0.17.20";
src = fetchPypi {
pname = "ruamel.yaml";
inherit version;
- sha256 = "9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be";
+ sha256 = "sha256-S4ozwe+ytEOpP8qvz6TS5EX46MKcUo2fXNr7fMnkAEw=";
};
# Tests use relative paths
diff --git a/pkgs/development/python-modules/tomlkit/default.nix b/pkgs/development/python-modules/tomlkit/default.nix
index fd6cec70f0601..78a42331401c6 100644
--- a/pkgs/development/python-modules/tomlkit/default.nix
+++ b/pkgs/development/python-modules/tomlkit/default.nix
@@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "tomlkit";
- version = "0.7.2";
+ version = "0.8.0";
src = fetchPypi {
inherit pname version;
- sha256 = "d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754";
+ sha256 = "sha256-KehKhVcS3+Doikj20FwhEY26+yg7su7WFNRvgN646aE=";
};
propagatedBuildInputs =
diff --git a/pkgs/development/python-modules/typing-extensions/default.nix b/pkgs/development/python-modules/typing-extensions/default.nix
index 939ca25eb1a31..1e29bc9a6160c 100644
--- a/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/pkgs/development/python-modules/typing-extensions/default.nix
@@ -1,27 +1,41 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, python, typing }:
-let
- testDir = if isPy3k then "src_py3" else "src_py2";
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flit-core
+, python
+, pythonOlder
+}:
-in buildPythonPackage rec {
- pname = "typing_extensions";
- version = "3.10.0.2";
+buildPythonPackage rec {
+ pname = "typing-extensions";
+ version = "4.0.1";
+ format = "pyproject";
+
+ disabled = pythonOlder "3.6";
src = fetchPypi {
- inherit pname version;
- sha256 = "49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e";
+ pname = "typing_extensions";
+ inherit version;
+ hash = "sha256-TKCR3qFJ+UXsVq+0ja5xTyHoaS7yKjlSI7zTKJYbag4=";
};
- checkInputs = lib.optional (pythonOlder "3.5") typing;
-
- # Error for Python3.6: ImportError: cannot import name 'ann_module'
- # See https://github.com/python/typing/pull/280
- doCheck = pythonOlder "3.6";
+ nativeBuildInputs = [
+ flit-core
+ ];
- checkPhase = ''
- cd ${testDir}
- ${python.interpreter} -m unittest discover
+ postPatch = ''
+ # Remove metadata for README which are outdated
+ sed -i -e '11,24d' pyproject.toml
'';
+ # Tests are not part of PyPI releases. GitHub source can't be used
+ # as it ends with an infinite recursion
+ doCheck = false;
+
+ pythonImportsCheck = [
+ "typing_extensions"
+ ];
+
meta = with lib; {
description = "Backported and Experimental Type Hints for Python 3.5+";
homepage = "https://github.com/python/typing";
diff --git a/pkgs/development/python-modules/tzdata/default.nix b/pkgs/development/python-modules/tzdata/default.nix
index 7f1803d12c62e..cfc46a658d347 100644
--- a/pkgs/development/python-modules/tzdata/default.nix
+++ b/pkgs/development/python-modules/tzdata/default.nix
@@ -1,28 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
-, pythonOlder
-, pytestCheckHook
-, pytest-subtests
, importlib-resources
+, pytest-subtests
+, pytestCheckHook
+, pythonOlder
}:
buildPythonPackage rec {
pname = "tzdata";
- version = "2021.1";
+ version = "2021.5";
format = "pyproject";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-4ZxzUfiHUioaxznSEEHlkt3ebdG3ZP3vqPeys1UdPTg=";
+ hash = "sha256-aNvkGv0BuGeJS739VPoD9GjPpPAIa/tK3NjejyTz7iE=";
};
checkInputs = [
pytestCheckHook
pytest-subtests
- ] ++ lib.optional (pythonOlder "3.7") importlib-resources;
+ ] ++ lib.optional (pythonOlder "3.7") [
+ importlib-resources
+ ];
- pythonImportsCheck = [ "tzdata" ];
+ pythonImportsCheck = [
+ "tzdata"
+ ];
meta = with lib; {
description = "Provider of IANA time zone data";
diff --git a/pkgs/development/python-modules/unicodedata2/default.nix b/pkgs/development/python-modules/unicodedata2/default.nix
index 565f0f5572085..a14895fa7996c 100644
--- a/pkgs/development/python-modules/unicodedata2/default.nix
+++ b/pkgs/development/python-modules/unicodedata2/default.nix
@@ -1,18 +1,17 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest }:
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, isPy27 }:
buildPythonPackage rec {
pname = "unicodedata2";
- version = "13.0.0-2";
+ version = "14.0.0";
- src = fetchFromGitHub {
- owner = "mikekap";
- repo = pname;
- rev = version;
- sha256 = "0p9brbiwyg98q52y0gfyps52xv57fwqfpq0mn18p1xc1imip3h2b";
+ disabled = isPy27;
+
+ src = fetchPypi {
+ inherit version pname;
+ sha256 = "110nnvh02ssp92xbmswy39aa186jrmb7m41x4220wigl8c0dzxs1";
};
- checkInputs = [ pytest ];
- checkPhase = "pytest tests";
+ checkInputs = [ pytestCheckHook ];
meta = with lib; {
description = "Backport and updates for the unicodedata module";
diff --git a/pkgs/development/python-modules/unittest2/default.nix b/pkgs/development/python-modules/unittest2/default.nix
index ae8cab53b0c57..e044176242d55 100644
--- a/pkgs/development/python-modules/unittest2/default.nix
+++ b/pkgs/development/python-modules/unittest2/default.nix
@@ -3,6 +3,7 @@
, fetchPypi
, six
, traceback2
+, pythonAtLeast
}:
buildPythonPackage rec {
@@ -16,14 +17,14 @@ buildPythonPackage rec {
propagatedBuildInputs = [ six traceback2 ];
- # # 1.0.0 and up create a circle dependency with traceback2/pbr
+ # 1.0.0 and up create a circle dependency with traceback2/pbr
doCheck = false;
postPatch = ''
# argparse is needed for python < 2.7, which we do not support anymore.
substituteInPlace setup.py --replace "argparse" ""
- # # fixes a transient error when collecting tests, see https://bugs.launchpad.net/python-neutronclient/+bug/1508547
+ # fixes a transient error when collecting tests, see https://bugs.launchpad.net/python-neutronclient/+bug/1508547
sed -i '510i\ return None, False' unittest2/loader.py
# https://github.com/pypa/packaging/pull/36
sed -i 's/version=VERSION/version=str(VERSION)/' setup.py
@@ -31,8 +32,9 @@ buildPythonPackage rec {
meta = with lib; {
description = "A backport of the new features added to the unittest testing framework";
- homepage = "https://pypi.python.org/pypi/unittest2";
+ homepage = "https://pypi.org/project/unittest2/";
license = licenses.bsd0;
+ # AttributeError: module 'collections' has no attribute 'MutableMapping'
+ broken = pythonAtLeast "3.10";
};
-
}
diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix
index 91bc6e68eb365..4c1a61b09fc64 100644
--- a/pkgs/development/python-modules/urllib3/default.nix
+++ b/pkgs/development/python-modules/urllib3/default.nix
@@ -18,11 +18,12 @@
buildPythonPackage rec {
pname = "urllib3";
- version = "1.26.7";
+ version = "1.26.8";
+ format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-SYfGVVT3otvzDBj9SHeO8SSvb6t3GjdxA9oFheIzbs4=";
+ hash = "sha256-Dnwz2aY+fd/LhngKrIe+/C+930bFjbtIfghV987sKDw=";
};
propagatedBuildInputs = [
@@ -61,7 +62,9 @@ buildPythonPackage rec {
export CI # Increases LONG_TIMEOUT
'';
- pythonImportsCheck = [ "urllib3" ];
+ pythonImportsCheck = [
+ "urllib3"
+ ];
meta = with lib; {
description = "Powerful, sanity-friendly HTTP client for Python";
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 0e00a08145e66..9b354025feab6 100644
--- a/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "weconnect-mqtt";
- version = "0.21.0";
+ version = "0.22.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "tillsteinbach";
repo = "WeConnect-mqtt";
rev = "v${version}";
- sha256 = "sha256-wagFjVXTjYFryaUiVeqU+T9ya+NzUFMX3uPlRZGe1v0=";
+ sha256 = "sha256-cNEV9PNBv7mL7QG3p8GIwjz0pUhzz55QV6HmCkv6MSg=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index 70da78edb603e..6de4dca39489e 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "weconnect";
- version = "0.28.0";
+ version = "0.29.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "tillsteinbach";
repo = "WeConnect-python";
rev = "v${version}";
- sha256 = "sha256-J7T62L6wT9rkl/Ukf2y5kBbJEdzh2XnGgCgedkxVEmA=";
+ sha256 = "sha256-eAOEl7KBa7wZkoJxGPtK/6W2dq1n2X+APU2mHIlz9K0=";
};
propagatedBuildInputs = [
@@ -40,6 +40,8 @@ buildPythonPackage rec {
substituteInPlace setup.py \
--replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \
--replace "tests_require=TEST_REQUIRED," "tests_require=[],"
+ substituteInPlace requirements.txt \
+ --replace "pillow~=9.0.0" "pillow"
substituteInPlace pytest.ini \
--replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \
--replace "pytest-cov" ""
diff --git a/pkgs/development/python-modules/wrapt/default.nix b/pkgs/development/python-modules/wrapt/default.nix
index e567a8a672ef8..b53c52d6098a2 100644
--- a/pkgs/development/python-modules/wrapt/default.nix
+++ b/pkgs/development/python-modules/wrapt/default.nix
@@ -1,23 +1,33 @@
{ lib
, buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytestCheckHook
}:
buildPythonPackage rec {
pname = "wrapt";
version = "1.13.3";
+ format = "setuptools";
- # No tests in archive
- doCheck = false;
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185";
+ src = fetchFromGitHub {
+ owner = "GrahamDumpleton";
+ repo = pname;
+ rev = version;
+ hash = "sha256-kq3Ujkn4HzonzjuQfVnPNnQV+2Rnbr3ZfYmrnY3upxU=";
};
- meta = {
+ checkInputs = [
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [
+ "wrapt"
+ ];
+
+ meta = with lib; {
description = "Module for decorators, wrappers and monkey patching";
- license = lib.licenses.bsd2;
homepage = "https://github.com/GrahamDumpleton/wrapt";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix
index 9c759f3a2b7e9..2d6fc9520ccd2 100644
--- a/pkgs/development/python-modules/yapf/default.nix
+++ b/pkgs/development/python-modules/yapf/default.nix
@@ -6,11 +6,11 @@
buildPythonPackage rec {
pname = "yapf";
- version = "0.31.0";
+ version = "0.32.0";
src = fetchPypi {
inherit pname version;
- hash = "sha256-QI+5orJUwwL0nbg8WfmqC0sP0OwlvjpcURgTJ5Iv9j0=";
+ hash = "sha256-o/UIXTfvfj4ATEup+bPkDFT/GQHNER8FFFrjE6fGfRs=";
};
checkInputs = [
diff --git a/pkgs/development/tools/ashpd-demo/default.nix b/pkgs/development/tools/ashpd-demo/default.nix
index 9e24309d984a0..a52a6ca8179bc 100644
--- a/pkgs/development/tools/ashpd-demo/default.nix
+++ b/pkgs/development/tools/ashpd-demo/default.nix
@@ -86,6 +86,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Tool for playing with XDG desktop portals";
homepage = "https://github.com/bilelmoussaoui/ashpd/tree/master/ashpd-demo";
+ broken = true; # requires older libadwaita
license = licenses.mit;
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix
index 3b9f0add8796b..183548f5e31bd 100644
--- a/pkgs/development/tools/build-managers/gnumake/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
++ lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no";
outputs = [ "out" "man" "info" ];
+ separateDebugInfo = true;
meta = with lib; {
homepage = "https://www.gnu.org/software/make/";
diff --git a/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch b/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch
deleted file mode 100644
index 5b9020b3d5402..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 536108b10271f2f42d41c7d9ddb4ce2ea1851f4f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?=
-Date: Sat, 17 Oct 2020 19:27:08 +0200
-Subject: [PATCH] boost: Do not add system paths on nix
-
----
- mesonbuild/dependencies/boost.py | 17 +----------------
- 1 file changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
-index 907c0c275..ecaf11b18 100644
---- a/mesonbuild/dependencies/boost.py
-+++ b/mesonbuild/dependencies/boost.py
-@@ -643,22 +643,7 @@ class BoostDependency(ExternalDependency):
- roots += [x for x in candidates if x.name.lower().startswith('boost') and x.is_dir()]
- else:
- tmp = [] # type: T.List[Path]
--
-- # Homebrew
-- brew_boost = Path('/usr/local/Cellar/boost')
-- if brew_boost.is_dir():
-- tmp += [x for x in brew_boost.iterdir()]
--
-- # Add some default system paths
-- tmp += [Path('/opt/local')]
-- tmp += [Path('/usr/local/opt/boost')]
-- tmp += [Path('/usr/local')]
-- tmp += [Path('/usr')]
--
-- # Cleanup paths
-- tmp = [x for x in tmp if x.is_dir()]
-- tmp = [x.resolve() for x in tmp]
-- roots += tmp
-+ # Do not add any non-explicit paths on nix
-
- return roots
-
---
-2.25.4
-
diff --git a/pkgs/development/tools/build-managers/meson/0.57/default.nix b/pkgs/development/tools/build-managers/meson/0.57/default.nix
deleted file mode 100644
index 6fd93e8f86b15..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.57/default.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ lib
-, python3
-, writeTextDir
-, substituteAll
-, fetchpatch
-, installShellFiles
-}:
-
-python3.pkgs.buildPythonApplication rec {
- pname = "meson";
- version = "0.57.1";
-
- src = python3.pkgs.fetchPypi {
- inherit pname version;
- sha256 = "19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj";
- };
-
- patches = [
- # Upstream insists on not allowing bindir and other dir options
- # outside of prefix for some reason:
- # https://github.com/mesonbuild/meson/issues/2561
- # We remove the check so multiple outputs can work sanely.
- ./allow-dirs-outside-of-prefix.patch
-
- # Meson is currently inspecting fewer variables than autoconf does, which
- # makes it harder for us to use setup hooks, etc. Taken from
- # https://github.com/mesonbuild/meson/pull/6827
- ./more-env-vars.patch
-
- # Unlike libtool, vanilla Meson does not pass any information
- # about the path library will be installed to to g-ir-scanner,
- # breaking the GIR when path other than ${!outputLib}/lib is used.
- # We patch Meson to add a --fallback-library-path argument with
- # library install_dir to g-ir-scanner.
- ./gir-fallback-path.patch
-
- # In common distributions, RPATH is only needed for internal libraries so
- # meson removes everything else. With Nix, the locations of libraries
- # are not as predictable, therefore we need to keep them in the RPATH.
- # At the moment we are keeping the paths starting with /nix/store.
- # https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634
- (substituteAll {
- src = ./fix-rpath.patch;
- inherit (builtins) storeDir;
- })
-
- # When Meson removes build_rpath from DT_RUNPATH entry, it just writes
- # the shorter NUL-terminated new rpath over the old one to reduce
- # the risk of potentially breaking the ELF files.
- # But this can cause much bigger problem for Nix as it can produce
- # cut-in-half-by-\0 store path references.
- # Let’s just clear the whole rpath and hope for the best.
- ./clear-old-rpath.patch
-
- # Patch out default boost search paths to avoid impure builds on
- # unsandboxed non-NixOS builds, see:
- # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
- ./boost-Do-not-add-system-paths-on-nix.patch
- ];
-
- setupHook = ./setup-hook.sh;
-
- # 0.45 update enabled tests but they are failing
- doCheck = false;
- # checkInputs = [ ninja pkg-config ];
- # checkPhase = "python ./run_project_tests.py";
-
- postFixup = ''
- pushd $out/bin
- # undo shell wrapper as meson tools are called with python
- for i in *; do
- mv ".$i-wrapped" "$i"
- done
- popd
-
- # Do not propagate Python
- rm $out/nix-support/propagated-build-inputs
- '';
-
- nativeBuildInputs = [ installShellFiles ];
-
- postInstall = ''
- installShellCompletion --zsh data/shell-completions/zsh/_meson
- installShellCompletion --bash data/shell-completions/bash/meson
- '';
-
- meta = with lib; {
- homepage = "https://mesonbuild.com";
- description = "SCons-like build system that use python as a front-end language and Ninja as a building backend";
- license = licenses.asl20;
- maintainers = with maintainers; [ jtojnar mbe ];
- platforms = platforms.all;
- };
-}
diff --git a/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch b/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch
deleted file mode 100644
index 0c924bacf73f5..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/mesonbuild/modules/gnome.py
-+++ b/mesonbuild/modules/gnome.py
-@@ -807,6 +807,13 @@ class GnomeModule(ExtensionModule):
- if fatal_warnings:
- scan_command.append('--warn-error')
-
-+ if len(set([girtarget.get_custom_install_dir()[0] for girtarget in girtargets])) > 1:
-+ raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
-+
-+ fallback_libpath = girtargets[0].get_custom_install_dir()[0]
-+ if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
-+ scan_command += ['--fallback-library-path=' + fallback_libpath]
-+
- scan_target = self._make_gir_target(state, girfile, scan_command, depends, kwargs)
-
- typelib_output = '%s-%s.typelib' % (ns, nsversion)
diff --git a/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch b/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch
deleted file mode 100644
index 4b2606e2d694a..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 756dd8193..a5cc6ef8b 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -151,7 +151,7 @@ def _get_env_var(for_machine: MachineChoice, is_cross: bool, var_name: str) -> T
- # compiling we fall back on the unprefixed host version. This
- # allows native builds to never need to worry about the 'BUILD_*'
- # ones.
-- ([var_name + '_FOR_BUILD'] if is_cross else [var_name]),
-+ [var_name + '_FOR_BUILD'] + ([] if is_cross else [var_name]),
- # Always just the unprefixed host verions
- [var_name]
- )[for_machine]
diff --git a/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch b/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch
deleted file mode 100644
index 4eb292a2e529e..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/mesonbuild/coredata.py
-+++ b/mesonbuild/coredata.py
-@@ -506,7 +506,6 @@ class CoreData:
- return value
- if option.name.endswith('dir') and value.is_absolute() and \
- option not in BULITIN_DIR_NOPREFIX_OPTIONS:
-- # Value must be a subdir of the prefix
- # commonpath will always return a path in the native format, so we
- # must use pathlib.PurePath to do the same conversion before
- # comparing.
-@@ -518,7 +517,7 @@ class CoreData:
- try:
- value = value.relative_to(prefix)
- except ValueError:
-- raise MesonException(msg.format(option, value, prefix))
-+ pass
- if '..' in str(value):
- raise MesonException(msg.format(option, value, prefix))
- return value.as_posix()
diff --git a/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch b/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch
deleted file mode 100644
index f1e3c76e8b53b..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
-index 4176b9a03..faaabf616 100644
---- a/mesonbuild/scripts/depfixer.py
-+++ b/mesonbuild/scripts/depfixer.py
-@@ -336,6 +336,15 @@ class Elf(DataSizes):
- if not new_rpath:
- self.remove_rpath_entry(entrynum)
- else:
-+ # Clear old rpath to avoid stale references,
-+ # not heeding the warning above about de-duplication
-+ # since it does not seem to cause issues for us
-+ # and not doing so trips up Nix’s reference checker.
-+ # See https://github.com/NixOS/nixpkgs/pull/46020
-+ # and https://github.com/NixOS/nixpkgs/issues/95163
-+ self.bf.seek(rp_off)
-+ self.bf.write(b'\0'*len(old_rpath))
-+
- self.bf.seek(rp_off)
- self.bf.write(new_rpath)
- self.bf.write(b'\0')
diff --git a/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch b/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch
deleted file mode 100644
index d34b6c4c43457..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -456,6 +456,21 @@ class Backend:
- args.extend(self.environment.coredata.get_external_link_args(target.for_machine, lang))
- except Exception:
- pass
-+
-+ nix_ldflags = os.environ.get('NIX_LDFLAGS', '').split()
-+ next_is_path = False
-+ # Try to add rpaths set by user or ld-wrapper so that they are not removed.
-+ # Based on https://github.com/NixOS/nixpkgs/blob/69711a2f5ffe8cda208163be5258266172ff527f/pkgs/build-support/bintools-wrapper/ld-wrapper.sh#L148-L177
-+ for flag in nix_ldflags:
-+ if flag == '-rpath' or flag == '-L':
-+ next_is_path = True
-+ elif next_is_path or flag.startswith('-L/'):
-+ if flag.startswith('-L/'):
-+ flag = flag[2:]
-+ if flag.startswith('@storeDir@'):
-+ dirs.add(flag)
-+ next_is_path = False
-+
- # Match rpath formats:
- # -Wl,-rpath=
- # -Wl,-rpath,
diff --git a/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh b/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh
deleted file mode 100644
index 3d946fcffd522..0000000000000
--- a/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-mesonConfigurePhase() {
- runHook preConfigure
-
- if [ -z "${dontAddPrefix-}" ]; then
- mesonFlags="--prefix=$prefix $mesonFlags"
- fi
-
- # See multiple-outputs.sh and meson’s coredata.py
- mesonFlags="\
- --libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
- --bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
- --includedir=${!outputInclude}/include \
- --mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
- --localedir=${!outputLib}/share/locale \
- -Dauto_features=${mesonAutoFeatures:-enabled} \
- -Dwrap_mode=${mesonWrapMode:-nodownload} \
- $mesonFlags"
-
- mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-plain} $mesonFlags"
-
- echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}"
-
- meson build $mesonFlags "${mesonFlagsArray[@]}"
- cd build
-
- if ! [[ -v enableParallelBuilding ]]; then
- enableParallelBuilding=1
- echo "meson: enabled parallel building"
- fi
-
- runHook postConfigure
-}
-
-if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then
- setOutputFlags=
- configurePhase=mesonConfigurePhase
-fi
diff --git a/pkgs/development/tools/build-managers/meson/0.57/allow-dirs-outside-of-prefix.patch b/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.57/allow-dirs-outside-of-prefix.patch
rename to pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
diff --git a/pkgs/development/tools/build-managers/meson/0.60/boost-Do-not-add-system-paths-on-nix.patch b/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.60/boost-Do-not-add-system-paths-on-nix.patch
rename to pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch
diff --git a/pkgs/development/tools/build-managers/meson/0.57/clear-old-rpath.patch b/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.57/clear-old-rpath.patch
rename to pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
diff --git a/pkgs/development/tools/build-managers/meson/0.60/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
similarity index 95%
rename from pkgs/development/tools/build-managers/meson/0.60/default.nix
rename to pkgs/development/tools/build-managers/meson/default.nix
index a5efccfac9caf..aeddf457f48d4 100644
--- a/pkgs/development/tools/build-managers/meson/0.60/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -57,6 +57,10 @@ python3.pkgs.buildPythonApplication rec {
# unsandboxed non-NixOS builds, see:
# https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
./boost-Do-not-add-system-paths-on-nix.patch
+
+ # Meson tries to update ld.so.cache which breaks when the target architecture
+ # differs from the build host's.
+ ./do-not-update-ldconfig-cache.patch
];
setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch b/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch
new file mode 100644
index 0000000000000..884023aaa7eb4
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch
@@ -0,0 +1,12 @@
+diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
+index cb87faf5c..878ec4cd6 100644
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -551,7 +551,6 @@ class Installer:
+ self.install_emptydir(d, dm, destdir, fullprefix)
+ self.install_data(d, dm, destdir, fullprefix)
+ self.restore_selinux_contexts(destdir)
+- self.apply_ldconfig(dm, destdir)
+ self.run_install_script(d, destdir, fullprefix)
+ if not self.did_install_something:
+ self.log('Nothing to install.')
diff --git a/pkgs/development/tools/build-managers/meson/0.57/fix-rpath.patch b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.57/fix-rpath.patch
rename to pkgs/development/tools/build-managers/meson/fix-rpath.patch
diff --git a/pkgs/development/tools/build-managers/meson/0.60/gir-fallback-path.patch b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.60/gir-fallback-path.patch
rename to pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
diff --git a/pkgs/development/tools/build-managers/meson/0.60/more-env-vars.patch b/pkgs/development/tools/build-managers/meson/more-env-vars.patch
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.60/more-env-vars.patch
rename to pkgs/development/tools/build-managers/meson/more-env-vars.patch
diff --git a/pkgs/development/tools/build-managers/meson/0.57/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh
similarity index 100%
rename from pkgs/development/tools/build-managers/meson/0.57/setup-hook.sh
rename to pkgs/development/tools/build-managers/meson/setup-hook.sh
diff --git a/pkgs/development/tools/pandoc/default.nix b/pkgs/development/tools/pandoc/default.nix
index 475fa6a93e4e0..a61f39c15b67d 100644
--- a/pkgs/development/tools/pandoc/default.nix
+++ b/pkgs/development/tools/pandoc/default.nix
@@ -26,7 +26,7 @@ in
# This should ideally be fixed in haskellPackages (or even Cabal),
# but a minimal pandoc is important enough to patch it manually.
disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.HTTP ];
- postInstall = ''
+ postInstall = drv.postInstall or "" + ''
remove-references-to \
-t ${haskellPackages.pandoc-types} \
$out/bin/pandoc
diff --git a/pkgs/games/rogue/default.nix b/pkgs/games/rogue/default.nix
index 127d65ff362f6..4865b85bbe385 100644
--- a/pkgs/games/rogue/default.nix
+++ b/pkgs/games/rogue/default.nix
@@ -15,9 +15,6 @@ stdenv.mkDerivation rec {
buildInputs = [ ncurses ];
- # Fix build for recent ncurses versions
- NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
-
meta = with lib; {
homepage = "http://rogue.rogueforge.net/rogue-5-4/";
description = "The final version of the original Rogue game developed for the UNIX operating system";
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index 04f65cf793795..19397794649b9 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -12,7 +12,7 @@
, bullet
, curl
, gettext
-, writeTextFile
+, writeShellScriptBin
, data ? fetchsvn {
url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data";
@@ -54,21 +54,15 @@ let
};
};
wrappedName = "vdrift-${version}-with-data-${toString data.rev}";
-in writeTextFile {
+in
+(writeShellScriptBin "vdrift" ''
+ export VDRIFT_DATA_DIRECTORY="${data}"
+ exec ${bin}/bin/vdrift "$@"
+'').overrideAttrs (_: {
name = wrappedName;
- text = ''
- export VDRIFT_DATA_DIRECTORY="${data}"
- exec ${bin}/bin/vdrift "$@"
- '';
- destination = "/bin/vdrift";
- executable = true;
- checkPhase = ''
- ${stdenv.shell} -n $out/bin/vdrift
- '';
-} // {
meta = bin.meta // {
hydraPlatforms = [ ];
};
unwrapped = bin;
inherit bin data;
-}
+})
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index bbada33054d37..0e9977f564b19 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -28,14 +28,14 @@ stdenv.mkDerivation rec {
pname = "cups";
# After 2.2.6, CUPS requires headers only available in macOS 10.12+
- version = if stdenv.isDarwin then "2.2.6" else "2.3.3op2";
+ version = if stdenv.isDarwin then "2.2.6" else "2.4.0";
src = fetchurl (if stdenv.isDarwin then {
url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
sha256 = "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20";
} else {
url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
- sha256 = "1pwndz4gwkm7311wkhhzlw2diy7wbck7yy026jbaxh3rprdmgcyy";
+ sha256 = "1pm6lf08z8vgs62g5b5rjw32qy3vr0q3sgidpg2lfs6a530wxgls";
});
outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 5e27e5573c582..e80ad8a839fb4 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -30,22 +30,18 @@ let
in
stdenv.mkDerivation rec {
pname = "ghostscript";
- version = "9.53.3";
+ version = "9.55.0";
src = fetchurl {
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9${lib.versions.minor version}${lib.versions.patch version}/${pname}-${version}.tar.xz";
- sha512 = "2vif3vgxa5wma16yxvhhkymk4p309y5204yykarq94r5rk890556d2lj5w7acnaa2ymkym6y0zd4vq9sy9ca2346igg2c6dxqkjr0zb";
+ sha512 = "27g72152mlwlalg232jxdhaf3ykgmqwi2pccbkwfygql1h9iz40plfbwbs1n0fkvm4zwzg5r9cr8g7w2dxih4jldiidv7rflxdy1is2";
};
patches = [
(fetchpatch {
- url = "https://github.com/ArtifexSoftware/ghostpdl/commit/41ef9a0bc36b9db7115fbe9623f989bfb47bbade.patch";
- sha256 = "1qpc6q1fpxshqc0mqgg36kng47kgljk50bmr8p7wn21jgfkh7m8w";
- })
- (fetchpatch {
- url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=a9bd3dec9fde";
- name = "CVE-2021-3781.patch";
- sha256 = "FvbH7cb3ZDCbNRz9DF0kDmLdF7OWNYk90wv44pimU58=";
+ name = "fix-non-vendored-lcms2-typo.patch";
+ url = "https://github.com/ArtifexSoftware/ghostpdl/commit/830afae5454dea3bff903869d82022306890a96c.patch";
+ sha256 = "1w9yspsgxyabvrw9ld6pv6pb7708c44ihjqvag7qqh9v1lhm48j0";
})
./urw-font-files.patch
./doc-no-ref.diff
@@ -88,6 +84,7 @@ stdenv.mkDerivation rec {
configureFlags = [
"--with-system-libtiff"
"--enable-dynamic"
+ "--without-tesseract"
]
++ lib.optional x11Support "--with-x"
++ lib.optionals cupsSupport [
diff --git a/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh b/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
index 3c49337a937ce..acd90b7aa2f0e 100644
--- a/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
+++ b/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
@@ -3,4 +3,3 @@ getHostRole
export NIX_LDFLAGS${role_post}+=" -lnbcompat"
export NIX_CFLAGS_COMPILE${role_post}+=" -DHAVE_NBTOOL_CONFIG_H"
-export NIX_CFLAGS_COMPILE${role_post}+=" -include nbtool_config.h"
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
index beaa176dae157..25ac9ce451ccf 100644
--- a/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -120,7 +120,17 @@ in lib.makeScopeWithSplicing
} // lib.optionalAttrs (attrs.headersOnly or false) {
installPhase = "includesPhase";
dontBuild = true;
- } // attrs));
+ } // attrs // {
+ postPatch = lib.optionalString (!stdenv'.hostPlatform.isNetBSD) ''
+ # Files that use NetBSD-specific macros need to have nbtool_config.h
+ # included ahead of them on non-NetBSD platforms.
+ set +e
+ grep -Zlr "^__RCSID
+ ^__BEGIN_DECLS" | xargs -0r grep -FLZ nbtool_config.h |
+ xargs -0tr sed -i '0,/^#/s//#include \n\0/'
+ set -e
+ '' + attrs.postPatch or "";
+ }));
##
## START BOOTSTRAPPING
@@ -182,6 +192,12 @@ in lib.makeScopeWithSplicing
configurePlatforms = [ "build" "host" ];
configureFlags = [
"--cache-file=config.cache"
+ ] ++ lib.optionals stdenv.hostPlatform.isMusl [
+ # We include this header in our musl package only for legacy
+ # compatibility, and compat works fine without it (and having it
+ # know about sys/cdefs.h breaks packages like glib when built
+ # statically).
+ "ac_cv_header_sys_cdefs_h=no"
];
nativeBuildInputs = with buildPackages.netbsd; commonDeps ++ [
diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
index 879d3a7b5f79f..37830c0665e12 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security }:
+{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security
+, headersOnly ? false }:
appleDerivation' stdenv {
meta.broken = stdenv.cc.nativeLibc;
- nativeBuildInputs = [ bootstrap_cmds ];
- buildInputs = [ launchd ppp IOKit eap8021x ];
+ nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ];
+ buildInputs = lib.optionals (!headersOnly) [ launchd ppp IOKit eap8021x ];
- propagatedBuildInputs = [ Security ];
+ propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ];
- patchPhase = ''
+ patchPhase = lib.optionalString (!headersOnly) ''
HACK=$PWD/hack
mkdir $HACK
cp -r ${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/net $HACK
@@ -63,6 +64,8 @@ appleDerivation' stdenv {
EOF
'';
+ dontBuild = headersOnly;
+
buildPhase = ''
pushd SystemConfiguration.fproj >/dev/null
@@ -206,7 +209,7 @@ appleDerivation' stdenv {
installPhase = ''
mkdir -p $out/include
cp dnsinfo/*.h $out/include/
-
+ '' + lib.optionalString (!headersOnly) ''
mkdir -p $out/Library/Frameworks/
mv SystemConfiguration.fproj/SystemConfiguration.framework $out/Library/Frameworks
'';
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 5e098926d2968..90cb4a99bfc64 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -297,6 +297,12 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
top = applePackage "top" "osx-10.11.6" "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {};
PowerManagement = applePackage "PowerManagement" "osx-10.11.6" "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {};
+ # `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" {
+ headersOnly = true;
+ Security = null;
+ };
libutilHeaders = pkgs.darwin.libutil.override { headersOnly = true; };
hfsHeaders = pkgs.darwin.hfs.override { headersOnly = true; };
libresolvHeaders= pkgs.darwin.libresolv.override { headersOnly = true; };
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
index 53fc019768dd4..2a8a609472a20 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
@@ -1,9 +1,9 @@
-{ lib, appleDerivation', stdenv, stdenvNoCC, Libinfo, configd, mDNSResponder
+{ lib, appleDerivation', stdenv, stdenvNoCC, Libinfo, configdHeaders, mDNSResponder
, headersOnly ? false
}:
appleDerivation' (if headersOnly then stdenvNoCC else stdenv) {
- buildInputs = lib.optionals (!headersOnly) [ Libinfo configd mDNSResponder ];
+ buildInputs = lib.optionals (!headersOnly) [ Libinfo configdHeaders mDNSResponder ];
buildPhase = lib.optionalString (!headersOnly) ''
$CC -I. -c dns_util.c
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch b/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch
deleted file mode 100644
index b17df9a492e5b..0000000000000
--- a/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-diff --git a/src/control/control.c b/src/control/control.c
-index d66ed75..42cecad 100644
---- a/src/control/control.c
-+++ b/src/control/control.c
-@@ -838,6 +838,10 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- #ifndef PIC
- extern void *snd_control_open_symbols(void);
- #endif
-+
-+ snd_config_t *libs = NULL;
-+ const char *libs_lib = NULL;
-+
- if (snd_config_get_type(ctl_conf) != SND_CONFIG_TYPE_COMPOUND) {
- if (name)
- SNDERR("Invalid type for CTL %s definition", name);
-@@ -879,6 +883,19 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- SNDERR("Invalid type for %s", id);
- goto _err;
- }
-+
-+ continue;
-+ }
-+ // Handle an array of extra libs.
-+ if (strcmp(id, "libs") == 0) {
-+ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
-+ SNDERR("Invalid type for libs definition in CTL %s definition",
-+ str);
-+ goto _err;
-+ }
-+
-+ libs = n;
-+
- continue;
- }
- if (strcmp(id, "open") == 0) {
-@@ -903,7 +920,62 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- open_name = buf;
- sprintf(buf, "_snd_ctl_%s_open", str);
- }
-- if (!lib) {
-+
-+#ifndef PIC
-+ snd_control_open_symbols();
-+#endif
-+
-+ // Normal alsa behaviour when there is no libs array.
-+ if (!libs) {
-+ if (lib) {
-+ open_func = snd_dlobj_cache_get(lib, open_name,
-+ SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
-+ }
-+ }
-+ // Handle libs array.
-+ // Suppresses error messages if any function is loaded successfully.
-+ else {
-+ if (lib) {
-+ open_func = snd_dlobj_cache_get(lib, open_name,
-+ SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
-+ }
-+
-+ if (!open_func) {
-+ snd_config_for_each(i, next, libs) {
-+ snd_config_t *n = snd_config_iterator_entry(i);
-+
-+ err = snd_config_get_string(n, &libs_lib);
-+ if (err < 0) {
-+ SNDERR("Invalid entry in CTL %s libs definition", str);
-+ goto _err;
-+ }
-+
-+ if (!open_func) {
-+ open_func = snd_dlobj_cache_get(libs_lib, open_name,
-+ SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
-+ }
-+ }
-+ }
-+
-+ // Print error messages.
-+ if (!open_func) {
-+ if (lib) {
-+ SNDERR("Either %s cannot be opened or %s was not defined inside",
-+ lib, open_name);
-+ }
-+
-+ snd_config_for_each(i, next, libs) {
-+ snd_config_t *n = snd_config_iterator_entry(i);
-+
-+ snd_config_get_string(n, &libs_lib);
-+ SNDERR("Either %s cannot be opened or %s was not defined inside",
-+ libs_lib, open_name);
-+ }
-+ }
-+ }
-+
-+ // Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
-+ if (!lib && (!libs || !libs_lib)) {
- const char *const *build_in = build_in_ctls;
- while (*build_in) {
- if (!strcmp(*build_in, str))
-@@ -919,12 +991,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- lib = buf1;
- sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
- }
-- }
--#ifndef PIC
-- snd_control_open_symbols();
--#endif
-- open_func = snd_dlobj_cache_get(lib, open_name,
-+
-+ open_func = snd_dlobj_cache_get(lib, open_name,
- SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
-+ }
-+
- if (open_func) {
- err = open_func(ctlp, name, ctl_root, ctl_conf, mode);
- if (err >= 0) {
-diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
-index 2e24338..7f489f4 100644
---- a/src/pcm/pcm.c
-+++ b/src/pcm/pcm.c
-@@ -2116,6 +2116,10 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- #ifndef PIC
- extern void *snd_pcm_open_symbols(void);
- #endif
-+
-+ snd_config_t *libs = NULL;
-+ const char *libs_lib = NULL;
-+
- if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) {
- char *val;
- id = NULL;
-@@ -2160,6 +2164,19 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- SNDERR("Invalid type for %s", id);
- goto _err;
- }
-+
-+ continue;
-+ }
-+ // Handle an array of extra libs.
-+ if (strcmp(id, "libs") == 0) {
-+ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
-+ SNDERR("Invalid type for libs definition in PCM %s definition",
-+ str);
-+ goto _err;
-+ }
-+
-+ libs = n;
-+
- continue;
- }
- if (strcmp(id, "open") == 0) {
-@@ -2184,7 +2201,62 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- open_name = buf;
- sprintf(buf, "_snd_pcm_%s_open", str);
- }
-- if (!lib) {
-+
-+#ifndef PIC
-+ snd_pcm_open_symbols(); /* this call is for static linking only */
-+#endif
-+
-+ // Normal alsa behaviour when there is no libs array.
-+ if (!libs) {
-+ if (lib) {
-+ open_func = snd_dlobj_cache_get(lib, open_name,
-+ SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
-+ }
-+ }
-+ // Handle libs array.
-+ // Suppresses error messages if any function is loaded successfully.
-+ else {
-+ if (lib) {
-+ open_func = snd_dlobj_cache_get(lib, open_name,
-+ SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
-+ }
-+
-+ if (!open_func) {
-+ snd_config_for_each(i, next, libs) {
-+ snd_config_t *n = snd_config_iterator_entry(i);
-+
-+ err = snd_config_get_string(n, &libs_lib);
-+ if (err < 0) {
-+ SNDERR("Invalid entry in PCM %s libs definition", str);
-+ goto _err;
-+ }
-+
-+ if (!open_func) {
-+ open_func = snd_dlobj_cache_get(libs_lib, open_name,
-+ SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
-+ }
-+ }
-+ }
-+
-+ // Print error messages.
-+ if (!open_func) {
-+ if (lib) {
-+ SNDERR("Either %s cannot be opened or %s was not defined inside",
-+ lib, open_name);
-+ }
-+
-+ snd_config_for_each(i, next, libs) {
-+ snd_config_t *n = snd_config_iterator_entry(i);
-+
-+ snd_config_get_string(n, &libs_lib);
-+ SNDERR("Either %s cannot be opened or %s was not defined inside",
-+ libs_lib, open_name);
-+ }
-+ }
-+ }
-+
-+ // Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
-+ if (!lib && (!libs || !libs_lib)) {
- const char *const *build_in = build_in_pcms;
- while (*build_in) {
- if (!strcmp(*build_in, str))
-@@ -2200,12 +2272,11 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- lib = buf1;
- sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
- }
-- }
--#ifndef PIC
-- snd_pcm_open_symbols(); /* this call is for static linking only */
--#endif
-- open_func = snd_dlobj_cache_get(lib, open_name,
-+
-+ open_func = snd_dlobj_cache_get(lib, open_name,
- SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
-+ }
-+
- if (open_func) {
- err = open_func(pcmp, name, pcm_root, pcm_conf, stream, mode);
- if (err >= 0) {
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 a23502714827d..445d171d31fdd 100644
--- a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
@@ -7,24 +7,15 @@
stdenv.mkDerivation rec {
pname = "alsa-lib";
- version = "1.2.5.1";
+ version = "1.2.6.1";
src = fetchurl {
url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
- sha256 = "sha256-YoQh2VDOyvI03j+JnVIMCmkjMTyWStdR/6wIHfMxQ44=";
+ hash = "sha256-rVgpk9Us21+xWaC+q2CmrFfqsMwb34XcTbbWGX8CMz8=";
};
- patches = [
- ./alsa-plugin-conf-multilib.patch
- ];
-
enableParallelBuilding = true;
- # Fix pcm.h file in order to prevent some compilation bugs
- postPatch = ''
- sed -i -e 's|//int snd_pcm_mixer_element(snd_pcm_t \*pcm, snd_mixer_t \*mixer, snd_mixer_elem_t \*\*elem);|/\*int snd_pcm_mixer_element(snd_pcm_t \*pcm, snd_mixer_t \*mixer, snd_mixer_elem_t \*\*elem);\*/|' include/pcm.h
- '';
-
postInstall = ''
ln -s ${alsa-ucm-conf}/share/alsa/{ucm,ucm2} $out/share/alsa
ln -s ${alsa-topology-conf}/share/alsa/topology $out/share/alsa
@@ -43,5 +34,6 @@ stdenv.mkDerivation rec {
license = licenses.lgpl21Plus;
platforms = platforms.linux;
+ maintainers = with maintainers; [ l-as ];
};
}
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 9bbd6ddafedf4..434bdc624710e 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -24,12 +24,14 @@ stdenv.mkDerivation rec {
substituteInPlace tests/unit-utils-io.c --replace "| O_DIRECT" ""
'';
- NIX_LDFLAGS = "-lgcc_s";
+ NIX_LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.targetPlatform.isStatic) "-lgcc_s";
configureFlags = [
"--enable-cryptsetup-reencrypt"
"--with-crypto_backend=openssl"
"--disable-ssh-token"
+ ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+ "--enable-static-cryptsetup"
];
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix
index c949069885df4..0ca6d8aa187f3 100644
--- a/pkgs/os-specific/linux/iputils/default.nix
+++ b/pkgs/os-specific/linux/iputils/default.nix
@@ -6,7 +6,7 @@
}:
let
- version = "20210722";
+ version = "20211215";
sunAsIsLicense = {
fullName = "AS-IS, SUN MICROSYSTEMS license";
url = "https://github.com/iputils/iputils/blob/s${version}/rdisc.c";
@@ -19,14 +19,9 @@ in stdenv.mkDerivation rec {
owner = pname;
repo = pname;
rev = version;
- sha256 = "139fyifsjm0i012rhcx3ra3pxx2wxh77dfd551d8lgiv2mqd742j";
+ sha256 = "1vzdch1xi2x2j8mvnsr4wwwh7kdkgf926xafw5kkb74yy1wac5qv";
};
- postPatch = lib.optionalString (!doCheck) ''
- # There isn't a Meson option for this yet:
- sed -i '/##### TESTS #####/q' ping/meson.build
- '';
-
outputs = ["out" "apparmor"];
# We don't have the required permissions inside the build sandbox:
@@ -35,11 +30,10 @@ in stdenv.mkDerivation rec {
mesonFlags = [
"-DBUILD_RARPD=true"
- "-DBUILD_TRACEROUTE6=true"
- "-DBUILD_TFTPD=true"
"-DNO_SETCAP_OR_SUID=true"
"-Dsystemdunitdir=etc/systemd/system"
"-DINSTALL_SYSTEMD_UNITS=true"
+ "-DSKIP_TESTS=${lib.boolToString (!doCheck)}"
]
# Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111):
++ lib.optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false";
@@ -87,9 +81,7 @@ in stdenv.mkDerivation rec {
ping
rarpd
rdisc
- tftpd
tracepath
- traceroute6
'';
};
}
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 3c7e899cba71a..833598448878f 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -81,12 +81,12 @@ let
in {
inherit makeLinuxHeaders;
- linuxHeaders = let version = "5.15.5"; in
+ linuxHeaders = let version = "5.16"; in
makeLinuxHeaders {
inherit version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
- sha256 = "sha256-6VZaMBUlrIHBQs64MvkFPdVoXhB9vPdT0N5MWLyYhR8=";
+ sha256 = "1fq86dbx2p124vi4j8nan68gj4zyw4xnqh4jxq9aqsdvi24pwz82";
};
patches = [
./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index daee83e61dbc2..81e86fe77efc4 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -21,12 +21,16 @@ stdenv.mkDerivation rec {
sha256 = "sha256-/MLPflnfooe7Wjy8M3CTowAi5oYpscruSkDsaVzhmYQ=";
};
+ patches = [(fetchpatch {
+ url = "https://github.com/libbpf/libbpf/pull/41.diff";
+ sha256 = "sha256-pg5WARqh6z0nkTHMBhftxwdV2SyswC2lfaCXCpez0VA=";
+ })];
+
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libelf zlib ];
- sourceRoot = "source/src";
enableParallelBuilding = true;
- makeFlags = [ "PREFIX=$(out)" ];
+ makeFlags = [ "PREFIX=$(out)" "-C src" ];
passthru.tests = {
bpf = nixosTests.bpf;
@@ -34,7 +38,7 @@ stdenv.mkDerivation rec {
postInstall = ''
# install linux's libbpf-compatible linux/btf.h
- install -Dm444 ../include/uapi/linux/btf.h -t $out/include/linux
+ install -Dm444 include/uapi/linux/btf.h -t $out/include/linux
'';
# FIXME: Multi-output requires some fixes to the way the pkg-config file is
diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix
index 2c8014d700a0d..0749292531bb9 100644
--- a/pkgs/os-specific/linux/lvm2/common.nix
+++ b/pkgs/os-specific/linux/lvm2/common.nix
@@ -9,7 +9,8 @@
, libaio
, enableCmdlib ? false
, enableDmeventd ? false
-, udev ? null
+, udevSupport ? !stdenv.targetPlatform.isStatic, udev ? null
+, onlyLib ? stdenv.targetPlatform.isStatic
, nixosTests
}:
@@ -26,7 +27,13 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config ];
- buildInputs = [ udev libuuid libaio ];
+ buildInputs = [
+ libaio
+ ] ++ lib.optionals udevSupport [
+ udev
+ ] ++ lib.optionals (!onlyLib) [
+ libuuid
+ ];
configureFlags = [
"--disable-readline"
@@ -46,10 +53,11 @@ stdenv.mkDerivation rec {
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes"
- ] ++
- lib.optionals (udev != null) [
+ ] ++ lib.optionals udevSupport [
"--enable-udev_rules"
"--enable-udev_sync"
+ ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+ "--enable-static_link"
];
preConfigure = ''
@@ -58,9 +66,13 @@ stdenv.mkDerivation rec {
substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
--replace /usr/bin/udevadm /run/current-system/systemd/bin/udevadm
# https://github.com/lvmteam/lvm2/issues/36
+ '' + lib.optionalString (lib.versionOlder version "2.03.14") ''
+ substituteInPlace udev/69-dm-lvm-metad.rules.in \
+ --replace "(BINDIR)/systemd-run" /run/current-system/systemd/bin/systemd-run
+ '' + lib.optionalString (lib.versionAtLeast version "2.03.14") ''
substituteInPlace udev/69-dm-lvm.rules.in \
--replace "/usr/bin/systemd-run" /run/current-system/systemd/bin/systemd-run
-
+ '' + ''
substituteInPlace make.tmpl.in --replace "@systemdsystemunitdir@" "$out/lib/systemd/system"
'' + lib.optionalString (lib.versionAtLeast version "2.03") ''
substituteInPlace libdm/make.tmpl.in --replace "@systemdsystemunitdir@" "$out/lib/systemd/system"
@@ -78,30 +90,41 @@ stdenv.mkDerivation rec {
url = "https://git.alpinelinux.org/aports/plain/main/lvm2/mallinfo.patch?h=3.7-stable&id=31bd4a8c2dc00ae79a821f6fe0ad2f23e1534f50";
sha256 = "0g6wlqi215i5s30bnbkn8w7axrs27y3bnygbpbnf64wwx7rxxlj0";
})
+ ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+ ./no-shared.diff
];
doCheck = false; # requires root
- makeFlags = lib.optionals (udev != null) [
+ makeFlags = lib.optionals udevSupport [
"SYSTEMD_GENERATOR_DIR=$(out)/lib/systemd/system-generators"
+ ] ++ lib.optionals onlyLib [
+ "libdm.device-mapper"
];
# To prevent make install from failing.
installFlags = [ "OWNER=" "GROUP=" "confdir=$(out)/etc" ];
# Install systemd stuff.
- installTargets = [ "install" ] ++ lib.optionals (udev != null) [
+ installTargets = [ "install" ] ++ lib.optionals udevSupport [
"install_systemd_generators"
"install_systemd_units"
"install_tmpfiles_configuration"
];
+ installPhase = lib.optionalString onlyLib ''
+ install -D -t $out/lib libdm/ioctl/libdevmapper.${if stdenv.targetPlatform.isStatic then "a" else "so"}
+ make -C libdm install_include
+ make -C libdm install_pkgconfig
+ '';
+
# only split bin and lib out from out if cmdlib isn't enabled
outputs = [
"out"
+ ] ++ lib.optionals (!onlyLib) [
"dev"
"man"
- ] ++ lib.optionals (enableCmdlib != true) [
+ ] ++ lib.optionals (!onlyLib && !enableCmdlib) [
"bin"
"lib"
];
diff --git a/pkgs/os-specific/linux/lvm2/no-shared.diff b/pkgs/os-specific/linux/lvm2/no-shared.diff
new file mode 100644
index 0000000000000..d40dd85dfc626
--- /dev/null
+++ b/pkgs/os-specific/linux/lvm2/no-shared.diff
@@ -0,0 +1,25 @@
+diff --git a/libdm/Makefile.in b/libdm/Makefile.in
+index 66ec39513..ab7123dae 100644
+--- a/libdm/Makefile.in
++++ b/libdm/Makefile.in
+@@ -44,7 +44,6 @@ endif
+
+ LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
+ LIB_VERSION = $(LIB_VERSION_DM)
+-TARGETS = libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)
+
+ CFLOW_LIST = $(SOURCES)
+ CFLOW_LIST_TARGET = libdevmapper.cflow
+diff --git a/make.tmpl.in b/make.tmpl.in
+index e7780e8d4..ca4aa9fdd 100644
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -346,7 +346,7 @@ SUBDIRS.cflow := $(SUBDIRS:=.cflow)
+ SUBDIRS.clean := $(SUBDIRS:=.clean)
+ SUBDIRS.distclean := $(SUBDIRS:=.distclean)
+
+-TARGETS += $(LIB_SHARED) $(LIB_STATIC)
++TARGETS += $(LIB_STATIC)
+
+ all: $(SUBDIRS) $(TARGETS)
+
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index 12ff9f493a373..33ab4f784fcb2 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -23,18 +23,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
- postInstall = ''
- mv -v $out/sbin/unix_chkpwd{,.orig}
- ln -sv /run/wrappers/bin/unix_chkpwd $out/sbin/unix_chkpwd
- ''; /*
- rm -rf $out/etc
- mkdir -p $modules/lib
- mv $out/lib/security $modules/lib/
- '';*/
- # don't move modules, because libpam needs to (be able to) find them,
- # which is done by dlopening $out/lib/security/pam_foo.so
- # $out/etc was also missed: pam_env(login:session): Unable to open config file
-
preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
# export ac_cv_search_crypt=no
# (taken from Alpine linux, apparently insecure but also doesn't build O:))
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index e22b8f877bf68..813c255c5362a 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -415,7 +415,7 @@ stdenv.mkDerivation {
"-Dnetworkd=${lib.boolToString withNetworkd}"
"-Doomd=${lib.boolToString withOomd}"
"-Dpolkit=${lib.boolToString withPolkit}"
- "-Dcryptsetup=${lib.boolToString withCryptsetup}"
+ "-Dlibcryptsetup=${lib.boolToString withCryptsetup}"
"-Dportabled=${lib.boolToString withPortabled}"
"-Dhwdb=${lib.boolToString withHwdb}"
"-Dremote=${lib.boolToString withRemote}"
@@ -453,7 +453,6 @@ stdenv.mkDerivation {
"-Dsysvinit-path="
"-Dsysvrcnd-path="
- "-Dkill-path=${coreutils}/bin/kill"
"-Dkmod-path=${kmod}/bin/kmod"
"-Dsulogin-path=${util-linux}/bin/sulogin"
"-Dmount-path=${util-linux}/bin/mount"
@@ -471,7 +470,6 @@ stdenv.mkDerivation {
] ++ lib.optionals withEfi [
"-Defi-libdir=${toString gnu-efi}/lib"
"-Defi-includedir=${toString gnu-efi}/include/efi"
- "-Defi-ldsdir=${toString gnu-efi}/lib"
] ++ lib.optionals (withShellCompletions == false) [
"-Dbashcompletiondir=no"
"-Dzshcompletiondir=no"
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index f8eecf491693d..664d9ef9f753b 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -26,7 +26,7 @@
, # Whether to build only the library.
libOnly ? false
-, AudioUnit, Cocoa, CoreServices, Libc
+, AudioUnit, Cocoa, CoreServices
}:
stdenv.mkDerivation rec {
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
buildInputs =
[ libtool libsndfile soxr speexdsp fftwFloat ]
++ lib.optionals stdenv.isLinux [ glib dbus ]
- ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices Libc ]
+ ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices ]
++ lib.optionals (!libOnly) (
[ libasyncns webrtc-audio-processing ]
++ lib.optional jackaudioSupport libjack2
@@ -101,8 +101,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
- NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${Libc}";
-
installFlags =
[ "sysconfdir=${placeholder "out"}/etc"
"pulseconfdir=${placeholder "out"}/etc/pulse"
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 2001ae0052718..f70c33156c3aa 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -45,11 +45,11 @@ with lib;
stdenv.mkDerivation rec {
pname = "samba";
- version = "4.15.2";
+ version = "4.15.3";
src = fetchurl {
url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
- sha256 = "sha256-YoHXxqjEn3mQqfJJpmeEs1GA/iSVV+8RR82KbRZqIRM=";
+ sha256 = "sha256-UZOZQEORVQNFhGdo6k3Q/n/LBOIMK4kbXusC5VVBN9s=";
};
outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/stdenv/booter.nix b/pkgs/stdenv/booter.nix
index 51d617354e869..f1d07e6461a9c 100644
--- a/pkgs/stdenv/booter.nix
+++ b/pkgs/stdenv/booter.nix
@@ -124,7 +124,13 @@ stageFuns: let
if buildPackages.stdenv.hasCC
then
if buildPackages.stdenv.cc.isClang or false
- then buildPackages.clang
+ # buildPackages.clang checks targetPackages.stdenv.cc (i. e. this
+ # attribute) to get a sense of the its set's default compiler and
+ # chooses between libc++ and libstdc++ based on that. If we hit this
+ # code here, we'll cause an infinite recursion. Since a set with
+ # clang as its default compiler always means libc++, we can infer this
+ # decision statically.
+ then buildPackages.llvmPackages.libcxxClang
else buildPackages.gcc
else
# This will blow up if anything uses it, but that's OK. The `if
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index 613b8d5304c01..e01ac74599aeb 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -70,7 +70,7 @@ in lib.init bootStages ++ [
# when there is a C compiler and everything should be fine.
then throw "no C compiler provided for this platform"
else if crossSystem.isDarwin
- then buildPackages.llvmPackages.clang
+ then buildPackages.llvmPackages.libcxxClang
else if crossSystem.useLLVM or false
then buildPackages.llvmPackages.clangUseLLVM
else buildPackages.gcc;
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 24ad0cb6959f3..a6f927c287dac 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -399,6 +399,8 @@ rec {
persistent = self: super: with prevStage; {
cmake = super.cmakeMinimal;
+ curl = super.curlMinimal;
+
inherit pbzx cpio;
python3 = super.python3Minimal;
@@ -755,6 +757,9 @@ rec {
darwin.binutils
darwin.binutils.bintools
curl.out
+ zstd.out
+ libidn2.out
+ libunistring.out
openssl.out
libssh2.out
nghttp2.lib
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 49ebc67f854e4..4fb98e5e8013e 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -112,7 +112,7 @@ let
# are absolute unless we go out of our way to make them relative (like with CF)
# TODO: This really wants to be in stdenv/darwin but we don't have hostPlatform
# there (yet?) so it goes here until then.
- preHook = preHook+ lib.optionalString buildPlatform.isDarwin ''
+ preHook = preHook + lib.optionalString buildPlatform.isDarwin ''
export NIX_DONT_SET_RPATH_FOR_BUILD=1
'' + lib.optionalString (hostPlatform.isDarwin || (hostPlatform.parsed.kernel.execFormat != lib.systems.parse.execFormats.elf && hostPlatform.parsed.kernel.execFormat != lib.systems.parse.execFormats.macho)) ''
export NIX_DONT_SET_RPATH=1
@@ -168,6 +168,11 @@ let
inherit overrides;
inherit cc hasCC;
+
+ # Convenience for doing some very basic shell syntax checking by parsing a script
+ # without running any commands. Because this will also skip `shopt -s extglob`
+ # commands and extglob affects the Bash parser, we enable extglob always.
+ shellDryRun = "${stdenv.shell} -n -O extglob";
}
# Propagate any extra attributes. For instance, we use this to
diff --git a/pkgs/stdenv/linux/bootstrap-files/aarch64.nix b/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
index 592f8ee6bef53..aa81cbd84af31 100644
--- a/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
+++ b/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
@@ -1,11 +1,11 @@
{
busybox = import {
- url = "http://tarballs.nixos.org/stdenv-linux/aarch64/bb3ef8a95c9659596b8a34d27881cd30ffea2f9f/busybox";
- sha256 = "12qcml1l67skpjhfjwy7gr10nc86gqcwjmz9ggp7knss8gq8pv7f";
+ url = "http://tarballs.nixos.org/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/busybox";
+ sha256 = "sha256-4EN2vLvXUkelZZR2eKaAQA5kCEuHNvRZN6dcohxVY+c=";
executable = true;
};
bootstrapTools = import {
- url = "http://tarballs.nixos.org/stdenv-linux/aarch64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz";
- sha256 = "d3f1bf2a1495b97f45359d5623bdb1f8eb75db43d3bf2059fc127b210f059358";
+ url = "http://tarballs.nixos.org/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/bootstrap-tools.tar.xz";
+ sha256 = "sha256-AjOvmaW8JFVZaBSRUMKufr9kJozg/tsZr7PvUEBQyi4=";
};
}
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 1f9b4a505ac49..a3184f6d1edeb 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -7,17 +7,18 @@
# these need to be ran on the host, thus disable when cross-compiling
, buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform
, doCheck ? stdenv.hostPlatform == stdenv.buildPlatform
+, nix-update-script
}:
stdenv.mkDerivation rec {
pname = "zstd";
- version = "1.5.0";
+ version = "1.5.1";
src = fetchFromGitHub {
owner = "facebook";
repo = "zstd";
rev = "v${version}";
- sha256 = "0icc0x89c35rq5bxd4d241vqxnz2i1qj2wwy01xls63p0z93brj7";
+ sha256 = "sha256-D9+kuIjPYnmg5ht/ezIeYCpyiLkrtdiH3fwpmemIPGM=";
};
nativeBuildInputs = [ cmake ]
@@ -28,12 +29,6 @@ stdenv.mkDerivation rec {
# This patches makes sure we do not attempt to use the MD5 implementation
# of the host platform when running the tests
./playtests-darwin.patch
-
- # Fixes linking for static builds
- (fetchpatch {
- url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch";
- sha256 = "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
- })
];
postPatch = lib.optionalString (!static) ''
@@ -90,6 +85,12 @@ stdenv.mkDerivation rec {
++ lib.optional stdenv.hostPlatform.isUnix "man"
++ [ "out" ];
+ passthru = {
+ updateScript = nix-update-script {
+ attrPath = pname;
+ };
+ };
+
meta = with lib; {
description = "Zstandard real-time compression algorithm";
longDescription = ''
diff --git a/pkgs/tools/compression/zstd/playtests-darwin.patch b/pkgs/tools/compression/zstd/playtests-darwin.patch
index bcb895a697caf..454489a24a126 100644
--- a/pkgs/tools/compression/zstd/playtests-darwin.patch
+++ b/pkgs/tools/compression/zstd/playtests-darwin.patch
@@ -1,6 +1,6 @@
--- a/tests/playTests.sh
+++ b/tests/playTests.sh
-@@ -112,22 +112,12 @@ case "$OS" in
+@@ -112,29 +112,19 @@ case "$OS" in
esac
case "$UNAME" in
@@ -16,6 +16,13 @@
- Darwin | FreeBSD | OpenBSD | NetBSD) MTIME="stat -f %m" ;;
-esac
+ assertSameMTime() {
+ MT1=$($MTIME "$1")
+ MT2=$($MTIME "$2")
+ echo MTIME $MT1 $MT2
+ [ "$MT1" = "$MT2" ] || die "mtime on $1 doesn't match mtime on $2 ($MT1 != $MT2)"
+ }
+
GET_PERMS="stat -c %a"
-case "$UNAME" in
- Darwin | FreeBSD | OpenBSD | NetBSD) GET_PERMS="stat -f %Lp" ;;
diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix
index 491c362eed40d..d1244cc73c47d 100644
--- a/pkgs/tools/misc/wyrd/default.nix
+++ b/pkgs/tools/misc/wyrd/default.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
sha256 = "0zlrg602q781q8dij62lwdprpfliyy9j1rqfqcz8p2wgndpivddj";
};
- NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
-
preConfigure = ''
substituteInPlace curses/curses.ml --replace 'pp gcc' "pp $CC"
'';
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index a5abbc26a7414..bfd48893165cd 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,12 +1,8 @@
-{ stdenv, lib, fetchurl, pkg-config, perl
-, http2Support ? true, nghttp2
-, idnSupport ? false, libidn ? null
-, ldapSupport ? false, openldap ? null
-, zlibSupport ? true, zlib ? null
-, opensslSupport ? zlibSupport, openssl ? null
+{ lib, stdenv, fetchurl, pkg-config, perl
+, brotliSupport ? false, brotli ? null
+, c-aresSupport ? false, c-ares ? null
, gnutlsSupport ? false, gnutls ? null
-, wolfsslSupport ? false, wolfssl ? null
-, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
+, gsaslSupport ? false, gsasl ? null
, gssSupport ? with stdenv.hostPlatform; (
!isWindows &&
# disable gss becuase of: undefined reference to `k5_bcmp'
@@ -17,8 +13,17 @@
# not worth the effort.
!(isDarwin && (stdenv.buildPlatform != stdenv.hostPlatform))
), libkrb5 ? null
-, c-aresSupport ? false, c-ares ? null
-, brotliSupport ? false, brotli ? null
+, http2Support ? true, nghttp2 ? null
+, http3Support ? false, nghttp3, ngtcp2 ? null
+, idnSupport ? false, libidn2 ? null
+, ldapSupport ? false, openldap ? null
+, opensslSupport ? zlibSupport, openssl ? null
+, pslSupport ? false, libpsl ? null
+, rtmpSupport ? false, rtmpdump ? null
+, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
+, wolfsslSupport ? false, wolfssl ? null
+, zlibSupport ? true, zlib ? null
+, zstdSupport ? false, zstd ? null
}:
# Note: this package is used for bootstrapping fetchurl, and thus
@@ -26,31 +31,37 @@
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
-assert http2Support -> nghttp2 != null;
-assert idnSupport -> libidn != null;
-assert ldapSupport -> openldap != null;
-assert zlibSupport -> zlib != null;
-assert opensslSupport -> openssl != null;
assert !(gnutlsSupport && opensslSupport);
assert !(gnutlsSupport && wolfsslSupport);
assert !(opensslSupport && wolfsslSupport);
-assert gnutlsSupport -> gnutls != null;
-assert wolfsslSupport -> wolfssl != null;
-assert scpSupport -> libssh2 != null;
-assert c-aresSupport -> c-ares != null;
assert brotliSupport -> brotli != null;
+assert c-aresSupport -> c-ares != null;
+assert gnutlsSupport -> gnutls != null;
+assert gsaslSupport -> gsasl != null;
assert gssSupport -> libkrb5 != null;
+assert http2Support -> nghttp2 != null;
+assert http3Support -> nghttp3 != null;
+assert http3Support -> ngtcp2 != null;
+assert idnSupport -> libidn2 != null;
+assert ldapSupport -> openldap != null;
+assert opensslSupport -> openssl != null;
+assert pslSupport -> libpsl !=null;
+assert rtmpSupport -> rtmpdump !=null;
+assert scpSupport -> libssh2 != null;
+assert wolfsslSupport -> wolfssl != null;
+assert zlibSupport -> zlib != null;
+assert zstdSupport -> zstd != null;
stdenv.mkDerivation rec {
pname = "curl";
- version = "7.80.0";
+ version = "7.81.0";
src = fetchurl {
urls = [
"https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
"https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
];
- sha256 = "170qb2w2p5fga0vqhhnzi417z4h4vy764sz16pzhm5fd9471a3fx";
+ sha256 = "sha256-Hno41wGOwGDx8W34OYVPCInpThIsTPpdOjfC3Fbx4lg=";
};
patches = [
@@ -70,17 +81,22 @@ stdenv.mkDerivation rec {
# "-lz -lssl", which aren't necessary direct build inputs of
# applications that use Curl.
propagatedBuildInputs = with lib;
+ optional brotliSupport brotli ++
+ optional c-aresSupport c-ares ++
+ optional gnutlsSupport gnutls ++
+ optional gsaslSupport gsasl ++
+ optional gssSupport libkrb5 ++
optional http2Support nghttp2 ++
- optional idnSupport libidn ++
+ optionals http3Support [ nghttp3 ngtcp2 ] ++
+ optional idnSupport libidn2 ++
optional ldapSupport openldap ++
- optional zlibSupport zlib ++
- optional gssSupport libkrb5 ++
- optional c-aresSupport c-ares ++
optional opensslSupport openssl ++
- optional gnutlsSupport gnutls ++
- optional wolfsslSupport wolfssl ++
+ optional pslSupport libpsl ++
+ optional rtmpSupport rtmpdump ++
optional scpSupport libssh2 ++
- optional brotliSupport brotli;
+ optional wolfsslSupport wolfssl ++
+ optional zlibSupport zlib ++
+ optional zstdSupport zstd;
# for the second line see https://curl.haxx.se/mail/tracker-2014-03/0087.html
preConfigure = ''
@@ -89,23 +105,28 @@ stdenv.mkDerivation rec {
'';
configureFlags = [
+ # Build without manual
+ "--disable-manual"
# Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback
# to nss-cacert from the default profile.
"--without-ca-bundle"
"--without-ca-path"
+ (lib.enableFeature c-aresSupport "ares")
+ (lib.enableFeature ldapSupport "ldap")
+ (lib.enableFeature ldapSupport "ldaps")
# The build fails when using wolfssl with --with-ca-fallback
(lib.withFeature (!wolfsslSupport) "ca-fallback")
- "--disable-manual"
- (lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
+ (lib.withFeature http3Support "nghttp3")
+ (lib.withFeature http3Support "ngtcp2")
+ (lib.withFeature rtmpSupport "librtmp")
+ (lib.withFeature zstdSupport "zstd")
+ (lib.withFeatureAs brotliSupport "brotli" (lib.getDev brotli))
(lib.withFeatureAs gnutlsSupport "gnutls" (lib.getDev gnutls))
+ (lib.withFeatureAs idnSupport "libidn2" (lib.getDev libidn2))
+ (lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
(lib.withFeatureAs scpSupport "libssh2" (lib.getDev libssh2))
- (lib.enableFeature ldapSupport "ldap")
- (lib.enableFeature ldapSupport "ldaps")
- (lib.withFeatureAs idnSupport "libidn" (lib.getDev libidn))
- (lib.withFeature brotliSupport "brotli")
+ (lib.withFeatureAs wolfsslSupport "wolfssl" (lib.getDev wolfssl))
]
- ++ lib.optional wolfsslSupport "--with-wolfssl=${lib.getDev wolfssl}"
- ++ lib.optional c-aresSupport "--enable-ares=${c-ares}"
++ lib.optional gssSupport "--with-gssapi=${lib.getDev libkrb5}"
# For the 'urandom', maybe it should be a cross-system option
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
diff --git a/pkgs/tools/networking/gmrender-resurrect/default.nix b/pkgs/tools/networking/gmrender-resurrect/default.nix
index d4fc1b22e8f14..28125ce113dab 100644
--- a/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -4,9 +4,7 @@
let
version = "0.0.9";
- makePluginPath = plugins: builtins.concatStringsSep ":" (map (p: p + "/lib/gstreamer-1.0") plugins);
-
- pluginPath = makePluginPath [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ];
+ pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ];
in
stdenv.mkDerivation {
pname = "gmrender-resurrect";
diff --git a/pkgs/tools/package-management/pdm/check-update.patch b/pkgs/tools/package-management/pdm/check-update.patch
new file mode 100644
index 0000000000000..9bc216177e5b3
--- /dev/null
+++ b/pkgs/tools/package-management/pdm/check-update.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index d310d36..e15d398 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -252,6 +252,7 @@ def project_no_init(tmp_path, mocker):
+ old_config_map = Config._config_map.copy()
+ tmp_path.joinpath("caches").mkdir(parents=True)
+ p.global_config["cache_dir"] = tmp_path.joinpath("caches").as_posix()
++ p.global_config["check_update"] = False
+ do_use(p, getattr(sys, "_base_executable", sys.executable))
+ with temp_environ():
+ os.environ.pop("VIRTUAL_ENV", None)
diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix
new file mode 100644
index 0000000000000..04da33bb71274
--- /dev/null
+++ b/pkgs/tools/package-management/pdm/default.nix
@@ -0,0 +1,176 @@
+{ lib, python3Packages }:
+
+with python3Packages;
+buildPythonApplication rec {
+ pname = "pdm";
+ version = "1.12.6";
+ format = "pyproject";
+ disabled = pythonOlder "3.7";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "sha256-MXKER2ijU+2yPnsBFH0cu/hjHI4uNt++AqggH5rhnaU=";
+ };
+
+ # this patch allows us to run additional tests taht invoke pdm, which checks
+ # itself for an update on every invocation, drammatically slowing down test
+ # runs inside the sandbox
+ #
+ # the patch is necessary because the fixture itself is creating a project and
+ # doesn't appear to respect the settings in `$HOME`; possibly a bug upstream
+ patches = [ ./check-update.patch ];
+
+ propagatedBuildInputs = [
+ blinker
+ click
+ installer
+ packaging
+ pdm-pep517
+ pep517
+ pip
+ platformdirs
+ python-dotenv
+ pythonfinder
+ resolvelib
+ shellingham
+ tomli
+ tomlkit
+ ] ++ lib.optionals (pythonOlder "3.8") [
+ importlib-metadata
+ typing-extensions
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ pytest-mock
+ ];
+
+ preCheck = ''
+ set -euo pipefail
+
+ export HOME
+ HOME="$(mktemp -d)"
+ '';
+
+ disabledTests = [
+ # these may eventually succeed but are incredibly slow due to contacting
+ # the internet
+ "test_convert_requirements_file_without_name"
+ "test_add_dependency_from_multiple_parents"
+ "test_add_editable_package"
+ "test_add_package"
+ "test_add_package_with_mismatch_marker"
+ "test_add_with_dry_run"
+ "test_add_with_prerelease"
+ "test_build_src_package_by_include"
+ "test_editable_package_override_non_editable"
+ "test_find_candidates_from_find_links"
+ "test_freeze_dependencies_list"
+ "test_info_global_project"
+ "test_install_with_dry_run"
+ "test_install_with_lockfile"
+ "test_list_dependency_graph"
+ "test_list_dependency_graph_with_circular_forward"
+ "test_list_dependency_graph_with_circular_reverse"
+ "test_list_reverse_dependency_graph"
+ "test_load_multiple_plugings"
+ "test_old_entry_point_compatibility"
+ "test_parse_flit_project_metadata"
+ "test_parse_local_directory_metadata"
+ "test_parse_project_file_on_build_error"
+ "test_parse_project_file_on_build_error_no_dep"
+ "test_parse_project_file_on_build_error_with_extras"
+ "test_parse_vcs_metadata"
+ "test_post_lock_and_install_signals"
+ "test_remove_both_normal_and_editable_packages"
+ "test_remove_package"
+ "test_remove_package_exist_in_multi_groups"
+ "test_remove_package_no_sync"
+ "test_remove_package_not_exist"
+ "test_remove_package_with_dry_run"
+ "test_resolve_file_req_with_prerelease"
+ "test_resolve_local_and_named_requirement"
+ "test_resolve_two_extras_from_the_same_package"
+ "test_resolve_vcs_and_local_requirements"
+ "test_sync_clean_packages"
+ "test_sync_dry_run"
+ "test_sync_packages_with_group_all"
+ "test_sync_packages_with_groups"
+ "test_sync_production_packages"
+ "test_update_all_packages"
+ "test_update_dry_run"
+ "test_update_existing_package_with_prerelease"
+ "test_update_ignore_constraints"
+ "test_update_packages_with_top"
+ "test_update_top_packages_dry_run"
+ "test_update_with_package_and_groups_argument"
+ # requires the internet
+ "test_actual_list_freeze"
+ "test_add_cached_vcs_requirement"
+ "test_add_remote_package_url"
+ "test_basic_integration"
+ "test_build_distributions"
+ "test_build_ignoring_pip_environment"
+ "test_build_legacy_package"
+ "test_build_package"
+ "test_build_package_include"
+ "test_build_single_module"
+ "test_build_single_module_with_readme"
+ "test_build_src_package"
+ "test_build_with_config_settings"
+ "test_build_with_no_isolation"
+ "test_cache_egg_info_sdist"
+ "test_cache_vcs_immutable_revision"
+ "test_cli_build_with_config_settings"
+ "test_expand_project_root_in_url"
+ "test_extras_warning"
+ "test_hash_cache"
+ "test_install_wheel_with_cache"
+ "test_install_wheel_with_data_scripts"
+ "test_install_wheel_with_inconsistent_dist_info"
+ "test_install_with_file_existing"
+ "test_parse_abnormal_specifiers"
+ "test_parse_artifact_metadata"
+ "test_parse_metadata_with_extras"
+ "test_parse_remote_link_metadata"
+ "test_pep582_launcher_for_python_interpreter"
+ "test_rollback_after_commit"
+ "test_run_with_another_project_root"
+ "test_search_package"
+ "test_show_update_hint"
+ "test_sync_only_different"
+ "test_sync_with_index_change"
+ "test_uninstall_commit_rollback"
+ "test_uninstall_with_console_scripts"
+ "test_update_with_prerelease_without_package_argument"
+ "test_url_requirement_is_not_cached"
+ # sys.executable and expected executable are different
+ "test_set_non_exist_python_path"
+ # editable inside nixpkgs doesn't seem to be a thing
+ "test_vcs_candidate_in_subdirectory"
+ # pdm compares with what looks to be an older version of poetry
+ "test_parse_poetry_project_metadata"
+ # pythonfinder isn't aware of nix's python infrastructure
+ "test_auto_isolate_site_packages"
+ "test_use_invalid_wrapper_python"
+ "test_use_wrapper_python"
+ # broken but wouldn't succeed anyway because of the network
+ "test_sync_in_sequential_mode"
+ # tries to read/write files without proper permissions
+ "test_completion_command"
+ "test_plugin_add"
+ "test_plugin_list"
+ "test_plugin_remove"
+ # unknown breakage, but probably hitting the internet
+ "test_show_package_on_pypi"
+ # tries to treat a gzip file as a zipfile and fails
+ "test_resolve_local_artifacts"
+ ];
+
+ meta = with lib; {
+ homepage = "https://pdm.fming.dev";
+ description = "A modern Python package manager with PEP 582 support";
+ license = licenses.mit;
+ maintainers = with maintainers; [ cpcloud ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 31bc3a342387b..cc7f06b487748 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2553,6 +2553,8 @@ with pkgs;
comma = callPackage ../tools/package-management/comma { };
+ commitizen = python3Packages.callPackage ../applications/version-management/commitizen { };
+
common-licenses = callPackage ../data/misc/common-licenses {};
compactor = callPackage ../applications/networking/compactor { };
@@ -3388,9 +3390,7 @@ with pkgs;
merriweather-sans = callPackage ../data/fonts/merriweather-sans { };
- # TODO: call a sprintable to deprecate Meson 0.57 as soon as possible
- meson = callPackage ../development/tools/build-managers/meson/0.57 { };
- meson_0_60 = callPackage ../development/tools/build-managers/meson/0.60 { };
+ meson = callPackage ../development/tools/build-managers/meson { };
meson-tools = callPackage ../misc/meson-tools { };
@@ -4473,10 +4473,19 @@ with pkgs;
curlFull = curl.override {
ldapSupport = true;
+ gsaslSupport = true;
+ rtmpSupport = true;
+ pslSupport = true;
+ };
+
+ curlHTTP3 = curl.override {
+ openssl = quictls;
+ http3Support = true;
};
curl = curlMinimal.override ({
idnSupport = true;
+ zstdSupport = true;
} // lib.optionalAttrs (!stdenv.hostPlatform.isStatic) {
gssSupport = true;
brotliSupport = true;
@@ -7417,6 +7426,9 @@ with pkgs;
libpointmatcher = callPackage ../development/libraries/libpointmatcher { };
libportal = callPackage ../development/libraries/libportal { };
+ libportal-gtk3 = libportal.override { variant = "gtk3"; };
+ libportal-gtk4 = libportal.override { variant = "gtk4"; };
+ libportal-qt5 = libportal.override { variant = "qt5"; };
libmicrodns = callPackage ../development/libraries/libmicrodns { };
@@ -8676,6 +8688,8 @@ with pkgs;
pcapc = callPackage ../tools/networking/pcapc { };
+ pdm = callPackage ../tools/package-management/pdm { };
+
pdnsd = callPackage ../tools/networking/pdnsd { };
peco = callPackage ../tools/text/peco { };
@@ -12910,18 +12924,18 @@ with pkgs;
inherit (darwin) apple_sdk;
};
- rust_1_57 = callPackage ../development/compilers/rust/1_57.nix {
+ rust_1_58 = callPackage ../development/compilers/rust/1_58.nix {
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
llvm_13 = llvmPackages_13.libllvm;
};
- rust = rust_1_57;
+ rust = rust_1_58;
mrustc = callPackage ../development/compilers/mrustc { };
mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
- rustPackages_1_57 = rust_1_57.packages.stable;
- rustPackages = rustPackages_1_57;
+ rustPackages_1_58 = rust_1_58.packages.stable;
+ rustPackages = rustPackages_1_58;
inherit (rustPackages) cargo clippy rustc rustPlatform;
@@ -13269,7 +13283,11 @@ with pkgs;
# Others should instead delegate to the next stage's choice with
# `targetPackages.stdenv.cc.bintools`. This one is different just to
# provide the default choice, avoiding infinite recursion.
- bintools ? if stdenv.targetPlatform.isDarwin then darwin.binutils else binutils
+ # See the bintools attribute for the logic and reasoning. We need to provide
+ # a default here, since eval will hit this function when bootstrapping
+ # stdenv where the bintools attribute doesn't exist, but will never actually
+ # be evaluated -- callPackage ends up being too eager.
+ bintools ? pkgs.bintools
, libc ? bintools.libc
, # libc++ from the default LLVM version is bound at the top level, but we
# want the C++ library to be explicitly chosen by the caller, and null by
@@ -16962,7 +16980,7 @@ with pkgs;
gtkextra = callPackage ../development/libraries/gtkextra { };
gtk3 = callPackage ../development/libraries/gtk/3.x.nix {
- inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
+ inherit (darwin.apple_sdk.frameworks) AppKit Cocoa QuartzCore;
};
gtk4 = callPackage ../development/libraries/gtk/4.x.nix {
@@ -17880,6 +17898,9 @@ with pkgs;
libffcall = callPackage ../development/libraries/libffcall { };
libffi = callPackage ../development/libraries/libffi { };
+ libffiBoot = libffi.override {
+ doCheck = false;
+ };
libfreeaptx = callPackage ../development/libraries/libfreeaptx { };
@@ -17946,6 +17967,8 @@ with pkgs;
libhugetlbfs = callPackage ../development/libraries/libhugetlbfs { };
+ libhwy = callPackage ../development/libraries/libhwy { };
+
libHX = callPackage ../development/libraries/libHX { };
libibmad = callPackage ../development/libraries/libibmad { };
@@ -18470,9 +18493,7 @@ with pkgs;
libtiff = if stdenv.isDarwin && stdenv.isAarch64
then callPackage ../development/libraries/libtiff/aarch64-darwin.nix { }
- else callPackage ../development/libraries/libtiff {
- inherit (darwin.apple_sdk.frameworks) Cocoa GLUT;
- };
+ else callPackage ../development/libraries/libtiff { };
libtiger = callPackage ../development/libraries/libtiger { };
@@ -21354,7 +21375,6 @@ with pkgs;
};
pulseaudio = callPackage ../servers/pulseaudio ({
- inherit (darwin) Libc;
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
} // lib.optionalAttrs stdenv.isDarwin {
# Default autoreconfHook (2.70) fails on darwin,
@@ -22297,7 +22317,7 @@ with pkgs;
iproute_mptcp = callPackage ../os-specific/linux/iproute/mptcp.nix { };
iputils = hiPrio (callPackage ../os-specific/linux/iputils { });
- # hiPrio for collisions with inetutils (ping and tftpd.8.gz)
+ # hiPrio for collisions with inetutils (ping)
iptables = callPackage ../os-specific/linux/iptables { };
iptables-legacy = callPackage ../os-specific/linux/iptables { nftablesCompat = false; };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b177583f50d49..6187c1d1159da 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5841,6 +5841,8 @@ in {
pdfx = callPackage ../development/python-modules/pdfx { };
+ pdm-pep517 = callPackage ../development/python-modules/pdm-pep517 { };
+
pdoc3 = callPackage ../development/python-modules/pdoc3 { };
pebble = callPackage ../development/python-modules/pebble { };
@@ -6100,6 +6102,8 @@ in {
python-tado = callPackage ../development/python-modules/python-tado { };
+ pythonfinder = callPackage ../development/python-modules/pythonfinder { };
+
pyutil = callPackage ../development/python-modules/pyutil { };
pkutils = callPackage ../development/python-modules/pkutils { };
@@ -6584,6 +6588,8 @@ in {
pycryptodome = callPackage ../development/python-modules/pycryptodome { };
+ pycryptodome-test-vectors = callPackage ../development/python-modules/pycryptodome-test-vectors { };
+
pycryptodomex = callPackage ../development/python-modules/pycryptodomex { };
pyct = callPackage ../development/python-modules/pyct { };