diff options
152 files changed, 2727 insertions, 1930 deletions
diff --git a/doc/using/overlays.chapter.md b/doc/using/overlays.chapter.md index df152bc14e7..a51aa9ee8fc 100644 --- a/doc/using/overlays.chapter.md +++ b/doc/using/overlays.chapter.md @@ -77,7 +77,7 @@ In Nixpkgs, we have multiple implementations of the BLAS/LAPACK numerical linear The Nixpkgs attribute is `openblas` for ILP64 (integer width = 64 bits) and `openblasCompat` for LP64 (integer width = 32 bits). `openblasCompat` is the default. -- [LAPACK reference](http://www.netlib.org/lapack/) (also provides BLAS) +- [LAPACK reference](http://www.netlib.org/lapack/) (also provides BLAS and CBLAS) The Nixpkgs attribute is `lapack-reference`. @@ -117,7 +117,23 @@ $ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH n Intel MKL requires an `openmp` implementation when running with multiple processors. By default, `mkl` will use Intel's `iomp` implementation if no other is specified, but this is a runtime-only dependency and binary compatible with the LLVM implementation. To use that one instead, Intel recommends users set it with `LD_PRELOAD`. Note that `mkl` is only available on `x86_64-linux` and `x86_64-darwin`. Moreover, Hydra is not building and distributing pre-compiled binaries using it. -For BLAS/LAPACK switching to work correctly, all packages must depend on `blas` or `lapack`. This ensures that only one BLAS/LAPACK library is used at one time. There are two versions of BLAS/LAPACK currently in the wild, `LP64` (integer size = 32 bits) and `ILP64` (integer size = 64 bits). Some software needs special flags or patches to work with `ILP64`. You can check if `ILP64` is used in Nixpkgs with `blas.isILP64` and `lapack.isILP64`. Some software does NOT work with `ILP64`, and derivations need to specify an assertion to prevent this. You can prevent `ILP64` from being used with the following: +To override `blas` and `lapack` with its reference implementations (i.e. for development purposes), one can use the following overlay: + +```nix +self: super: + +{ + blas = super.blas.override { + blasProvider = self.lapack-reference; + }; + + lapack = super.lapack.override { + lapackProvider = self.lapack-reference; + }; +} +``` + +For BLAS/LAPACK switching to work correctly, all packages must depend on `blas` or `lapack`. This ensures that only one BLAS/LAPACK library is used at one time. There are two versions of BLAS/LAPACK currently in the wild, `LP64` (integer size = 32 bits) and `ILP64` (integer size = 64 bits). The attributes `blas` and `lapack` are `LP64` by default. Their `ILP64` version are provided through the attributes `blas-ilp64` and `lapack-ilp64`. Some software needs special flags or patches to work with `ILP64`. You can check if `ILP64` is used in Nixpkgs with `blas.isILP64` and `lapack.isILP64`. Some software does NOT work with `ILP64`, and derivations need to specify an assertion to prevent this. You can prevent `ILP64` from being used with the following: ```nix { stdenv, blas, lapack, ... }: diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix new file mode 100644 index 00000000000..e7794175ac9 --- /dev/null +++ b/pkgs/applications/audio/furnace/default.nix @@ -0,0 +1,99 @@ +{ stdenv +, lib +, nix-update-script +, fetchFromGitHub +, fetchpatch +, cmake +, pkg-config +, makeWrapper +, fmt_8 +, libsndfile +, SDL2 +, zlib +, withJACK ? stdenv.hostPlatform.isUnix +, libjack2 +, withGUI ? true +, Cocoa +}: + +stdenv.mkDerivation rec { + pname = "furnace"; + version = "0.5.6"; + + src = fetchFromGitHub { + owner = "tildearrow"; + repo = "furnace"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "sha256-BcaPQuDFkAaxFQKwoI6xdSWcyHo5VsqZcwf++JISqRs="; + }; + + patches = [ + (fetchpatch { + name = "0001-furnace-fix-wrong-include-path.patch"; + url = "https://github.com/tildearrow/furnace/commit/456db22f9d9f0ed40d74fe50dde492e69e901fcc.patch"; + sha256 = "17ikb1z9ldm7kdj00m4swsrq1qx94vlzhc6h020x3ryzwnglc8d3"; + }) + ]; + + postPatch = '' + # rtmidi is not used yet + sed -i -e '/add_subdirectory(extern\/rtmidi/d' -e '/DEPENDENCIES_LIBRARIES rtmidi/d' CMakeLists.txt + ''; + + nativeBuildInputs = [ + cmake + pkg-config + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeWrapper + ]; + + buildInputs = [ + fmt_8 + libsndfile + SDL2 + zlib + ] ++ lib.optionals withJACK [ + libjack2 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; + + cmakeFlags = [ + "-DBUILD_GUI=${if withGUI then "ON" else "OFF"}" + "-DSYSTEM_FMT=ON" + "-DSYSTEM_LIBSNDFILE=ON" + "-DSYSTEM_ZLIB=ON" + "-DSYSTEM_SDL2=ON" + "-DWITH_JACK=${if withJACK then "ON" else "OFF"}" + "-DWARNINGS_ARE_ERRORS=ON" + ]; + + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Normal CMake install phase on Darwin only installs the binary, the user is expected to use CPack to build a + # bundle. That adds alot of overhead for not much benefit (CPack is currently abit broken, and needs impure access + # to /usr/bin/hdiutil). So we'll manually assemble & install everything instead. + + mkdir -p $out/{Applications/Furnace.app/Contents/{MacOS,Resources},share/{,doc,licenses}/furnace} + mv $out/{bin,Applications/Furnace.app/Contents/MacOS}/furnace + makeWrapper $out/{Applications/Furnace.app/Contents/MacOS,bin}/furnace + + install -m644 {../res,$out/Applications/Furnace.app/Contents}/Info.plist + install -m644 ../res/icon.icns $out/Applications/Furnace.app/Contents/Resources/Furnace.icns + install -m644 {..,$out/share/licenses/furnace}/LICENSE + cp -r ../papers $out/share/doc/furnace/ + cp -r ../demos $out/share/furnace/ + ''; + + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + + meta = with lib; { + description = "Multi-system chiptune tracker compatible with DefleMask modules"; + homepage = "https://github.com/tildearrow/furnace"; + license = with licenses; [ gpl2Plus ]; + maintainers = with maintainers; [ OPNA2608 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index a6ab483a7b0..f5ed28cedf6 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (rec { pname = "ed"; - version = "1.17"; + version = "1.18"; src = fetchurl { url = "mirror://gnu/ed/${pname}-${version}.tar.lz"; - sha256 = "0m2yrkfjjraakxr98nsiakqrn351h99n706x9asgmdi57j43kpki"; + sha256 = "sha256-rKjvrZgAxYdySiC5eqj8R+a1pH34Fgb+q6gxsHRGK08="; }; nativeBuildInputs = [ lzip ]; diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 0cb09814c0f..13c5c49db48 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,12 +1,12 @@ { lib, fetchFromGitHub }: rec { - version = "8.2.4227"; + version = "8.2.4350"; src = fetchFromGitHub { owner = "vim"; repo = "vim"; rev = "v${version}"; - sha256 = "sha256-Xj4ymkrWY5GWpQhEDYtPtaRovBa6j19dW9GWg9WSdig="; + sha256 = "sha256-+fCyLZi9+9r7tYoRQsVESkcoHHtM7vrVuOGdJi/9iF0="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch b/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch deleted file mode 100644 index 871e494c362..00000000000 --- a/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py -index 8a455b69b0..a93e1c9e04 100644 ---- a/src/sage/repl/interface_magic.py -+++ b/src/sage/repl/interface_magic.py -@@ -260,7 +260,7 @@ class InterfaceMagic(object): - 2 - 120 - sage: shell.run_cell('%%gap foo\n1+1;\n') -- ...File "<string>", line unknown -+ ...File...<string>... - SyntaxError: Interface magics have no options, got "foo" - <BLANKLINE> - sage: shell.run_cell('%%gap?') -diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py -index 71dbe429fd..36b1d986d6 100644 ---- a/src/sage/repl/interpreter.py -+++ b/src/sage/repl/interpreter.py -@@ -70,25 +70,6 @@ that shell. The bulk of this functionality is provided through - - TESTS: - --Check that Cython source code appears in tracebacks:: -- -- sage: from sage.repl.interpreter import get_test_shell -- sage: shell = get_test_shell() -- sage: print("dummy line"); shell.run_cell('1/0') # see #25320 for the reason of the `...` and the dummy line in this test -- dummy line -- ... -- ZeroDivisionError...Traceback (most recent call last) -- <ipython-input-...> in <module>... -- ----> 1 Integer(1)/Integer(0) -- .../sage/rings/integer.pyx in sage.rings.integer.Integer...div... -- ... -- -> ... raise ZeroDivisionError("rational division by zero") -- ....: x = <Rational> Rational.__new__(Rational) -- ....: mpq_div_zz(x.value, ....value, (<Integer>right).value) -- <BLANKLINE> -- ZeroDivisionError: rational division by zero -- sage: shell.quit() -- - Test prompt transformer:: - - sage: from sage.repl.interpreter import SagePromptTransformer -@@ -423,7 +404,7 @@ def SagePreparseTransformer(lines): - sage: from sage.repl.interpreter import get_test_shell - sage: shell = get_test_shell() - sage: shell.run_cell(bad_syntax) -- File "<string>", line unknown -+ File...<string>... - SyntaxError: Mismatched ']' - <BLANKLINE> - sage: shell.quit() diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 73a5881d214..8c7ff663d7c 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -119,15 +119,13 @@ stdenv.mkDerivation rec { # https://trac.sagemath.org/ticket/32959 ./patches/linbox-1.7-upgrade.patch - # To emit better tracebacks, IPython 8 parses Python files using the ast - # module (via the stack_data package). Since Cython is a superset of Python, - # this results in no Cython code being printed in tracebacks. Fixing this - # properly is tracked in https://github.com/alexmojaki/stack_data/issues/21, - # but for now we just disable the corresponding test. An alternative would - # be to revert IPython's IPython/core/ultratb.py, but this would need to be - # Sage-specific (since it would worsen tracebacks for pure Python code). - # Sage tracks this at https://trac.sagemath.org/ticket/33170 - ./patches/no-cython-sources-in-tracebacks-on-ipython8.patch + # https://trac.sagemath.org/ticket/33170 + (fetchSageDiff { + base = "9.5.rc1"; + name = "ipython-8-update.patch"; + rev = "a90a314616d86d6be9c0d5233f0d36c4bfe06231"; + sha256 = "sha256-pXdtokTo84xNCnV+HyAKEzG562z8FjzJ7hczOja0dRw="; + }) # https://trac.sagemath.org/ticket/32968 (fetchSageDiff { diff --git a/pkgs/build-support/alternatives/blas/default.nix b/pkgs/build-support/alternatives/blas/default.nix index 8917784bc6c..7186675a5c6 100644 --- a/pkgs/build-support/alternatives/blas/default.nix +++ b/pkgs/build-support/alternatives/blas/default.nix @@ -1,7 +1,7 @@ { lib, stdenv -, lapack-reference, openblasCompat, openblas +, lapack-reference, openblas , isILP64 ? false -, blasProvider ? if isILP64 then openblas else openblasCompat }: +, blasProvider ? openblas }: let blasFortranSymbols = [ @@ -32,10 +32,13 @@ let blasImplementation = lib.getName blasProvider; + blasProvider' = if blasImplementation == "mkl" + then blasProvider + else blasProvider.override { blas64 = isILP64; }; in -assert isILP64 -> (blasImplementation == "openblas" && blasProvider.blas64) || blasImplementation == "mkl"; +assert isILP64 -> blasImplementation == "mkl" || blasProvider'.blas64; stdenv.mkDerivation { pname = "blas"; @@ -43,13 +46,13 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; - meta = (blasProvider.meta or {}) // { + meta = (blasProvider'.meta or {}) // { description = "${lib.getName blasProvider} with just the BLAS C and FORTRAN ABI"; }; passthru = { inherit isILP64; - provider = blasProvider; + provider = blasProvider'; implementation = blasImplementation; }; @@ -62,10 +65,10 @@ stdenv.mkDerivation { installPhase = ('' mkdir -p $out/lib $dev/include $dev/lib/pkgconfig - libblas="${lib.getLib blasProvider}/lib/libblas${canonicalExtension}" + libblas="${lib.getLib blasProvider'}/lib/libblas${canonicalExtension}" if ! [ -e "$libblas" ]; then - echo "$libblas does not exist, ${blasProvider.name} does not provide libblas." + echo "$libblas does not exist, ${blasProvider'.name} does not provide libblas." exit 1 fi @@ -79,11 +82,11 @@ stdenv.mkDerivation { '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then '' patchelf --set-soname libblas${canonicalExtension} $out/lib/libblas${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider}/lib" $out/lib/libblas${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libblas${canonicalExtension} '' else if stdenv.hostPlatform.isDarwin then '' install_name_tool \ -id $out/lib/libblas${canonicalExtension} \ - -add_rpath ${lib.getLib blasProvider}/lib \ + -add_rpath ${lib.getLib blasProvider'}/lib \ $out/lib/libblas${canonicalExtension} '' else "") + '' @@ -99,10 +102,10 @@ Libs: -L$out/lib -lblas Cflags: -I$dev/include EOF - libcblas="${lib.getLib blasProvider}/lib/libcblas${canonicalExtension}" + libcblas="${lib.getLib blasProvider'}/lib/libcblas${canonicalExtension}" if ! [ -e "$libcblas" ]; then - echo "$libcblas does not exist, ${blasProvider.name} does not provide libcblas." + echo "$libcblas does not exist, ${blasProvider'.name} does not provide libcblas." exit 1 fi @@ -111,11 +114,11 @@ EOF '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then '' patchelf --set-soname libcblas${canonicalExtension} $out/lib/libcblas${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider}/lib" $out/lib/libcblas${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libcblas${canonicalExtension} '' else if stdenv.hostPlatform.isDarwin then '' install_name_tool \ -id $out/lib/libcblas${canonicalExtension} \ - -add_rpath ${lib.getLib blasProvider}/lib \ + -add_rpath ${lib.getLib blasProvider'}/lib \ $out/lib/libcblas${canonicalExtension} '' else "") + '' if [ "$out/lib/libcblas${canonicalExtension}" != "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then @@ -135,6 +138,6 @@ EOF mkdir -p $out/nix-support echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook ln -s $out/lib/libblas${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} - ln -sf ${blasProvider}/include/* $dev/include + ln -sf ${blasProvider'}/include/* $dev/include ''); } diff --git a/pkgs/build-support/alternatives/lapack/default.nix b/pkgs/build-support/alternatives/lapack/default.nix index 61da183c835..80fb7be8c1e 100644 --- a/pkgs/build-support/alternatives/lapack/default.nix +++ b/pkgs/build-support/alternatives/lapack/default.nix @@ -1,7 +1,7 @@ { lib, stdenv -, lapack-reference, openblasCompat, openblas +, lapack-reference, openblas , isILP64 ? false -, lapackProvider ? if isILP64 then openblas else openblasCompat }: +, lapackProvider ? openblas }: let @@ -11,10 +11,13 @@ let else stdenv.hostPlatform.extensions.sharedLibrary; lapackImplementation = lib.getName lapackProvider; + lapackProvider' = if lapackImplementation == "mkl" + then lapackProvider + else lapackProvider.override { blas64 = isILP64; }; in -assert isILP64 -> (lapackImplementation == "openblas" && lapackProvider.blas64) || lapackImplementation == "mkl"; +assert isILP64 -> lapackImplementation == "mkl" || lapackProvider'.blas64; stdenv.mkDerivation { pname = "lapack"; @@ -22,13 +25,13 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; - meta = (lapackProvider.meta or {}) // { - description = "${lib.getName lapackProvider} with just the LAPACK C and FORTRAN ABI"; + meta = (lapackProvider'.meta or {}) // { + description = "${lib.getName lapackProvider'} with just the LAPACK C and FORTRAN ABI"; }; passthru = { inherit isILP64; - provider = lapackProvider; + provider = lapackProvider'; implementation = lapackImplementation; }; @@ -41,10 +44,10 @@ stdenv.mkDerivation { installPhase = ('' mkdir -p $out/lib $dev/include $dev/lib/pkgconfig - liblapack="${lib.getLib lapackProvider}/lib/liblapack${canonicalExtension}" + liblapack="${lib.getLib lapackProvider'}/lib/liblapack${canonicalExtension}" if ! [ -e "$liblapack" ]; then - echo "$liblapack does not exist, ${lapackProvider.name} does not provide liblapack." + echo "$liblapack does not exist, ${lapackProvider'.name} does not provide liblapack." exit 1 fi @@ -53,7 +56,7 @@ stdenv.mkDerivation { '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then '' patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider}/lib" $out/lib/liblapack${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider'}/lib" $out/lib/liblapack${canonicalExtension} '' else "") + '' if [ "$out/lib/liblapack${canonicalExtension}" != "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then @@ -70,10 +73,10 @@ Cflags: -I$dev/include Libs: -L$out/lib -llapack EOF - liblapacke="${lib.getLib lapackProvider}/lib/liblapacke${canonicalExtension}" + liblapacke="${lib.getLib lapackProvider'}/lib/liblapacke${canonicalExtension}" if ! [ -e "$liblapacke" ]; then - echo "$liblapacke does not exist, ${lapackProvider.name} does not provide liblapacke." + echo "$liblapacke does not exist, ${lapackProvider'.name} does not provide liblapacke." exit 1 fi @@ -82,7 +85,7 @@ EOF '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then '' patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider}/lib" $out/lib/liblapacke${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider'}/lib" $out/lib/liblapacke${canonicalExtension} '' else "") + '' if [ -f "$out/lib/liblapacke.so.3" ]; then @@ -102,6 +105,6 @@ EOF mkdir -p $out/nix-support echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook ln -s $out/lib/liblapack${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} - ln -sf ${lapackProvider}/include/* $dev/include + ln -sf ${lapackProvider'}/include/* $dev/include ''); } diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh index a6e991914e6..c59118d6c09 100644 --- a/pkgs/build-support/cc-wrapper/add-flags.sh +++ b/pkgs/build-support/cc-wrapper/add-flags.sh @@ -33,6 +33,20 @@ NIX_CFLAGS_COMPILE_@suffixSalt@="-B@out@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@" # Export and assign separately in order that a failing $(..) will fail # the script. +# Currently bootstrap-tools does not split glibc, and gcc files into +# separate directories. As a workaround we want resulting cflags to be +# ordered as: crt1-cflags libc-cflags cc-cflags. Otherwise we mix crt/libc.so +# from different libc as seen in +# https://github.com/NixOS/nixpkgs/issues/158042 +# +# Note that below has reverse ordering as we prepend flags one-by-one. +# Once bootstrap-tools is split into different directories we can stop +# relying on flag ordering below. + +if [ -e @out@/nix-support/cc-cflags ]; then + NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" +fi + if [[ "$cInclude" = 1 ]] && [ -e @out@/nix-support/libc-cflags ]; then NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" fi @@ -49,10 +63,6 @@ if [ -e @out@/nix-support/libcxx-ldflags ]; then NIX_CXXSTDLIB_LINK_@suffixSalt@+=" $(< @out@/nix-support/libcxx-ldflags)" fi -if [ -e @out@/nix-support/cc-cflags ]; then - NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" -fi - if [ -e @out@/nix-support/gnat-cflags ]; then NIX_GNATFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/gnat-cflags) $NIX_GNATFLAGS_COMPILE_@suffixSalt@" fi diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.py b/pkgs/build-support/setup-hooks/auto-patchelf.py new file mode 100644 index 00000000000..26fd623e3da --- /dev/null +++ b/pkgs/build-support/setup-hooks/auto-patchelf.py @@ -0,0 +1,329 @@ +#!/usr/bin/env python3 + +from collections import defaultdict +from contextlib import contextmanager +from dataclasses import dataclass +from elftools.common.exceptions import ELFError # type: ignore +from elftools.elf.dynamic import DynamicSection # type: ignore +from elftools.elf.elffile import ELFFile # type: ignore +from elftools.elf.enums import ENUM_E_TYPE, ENUM_EI_OSABI # type: ignore +from itertools import chain +from pathlib import Path, PurePath + +from typing import Tuple, Optional, Iterator, List, DefaultDict, Set + +import argparse +import os +import pprint +import subprocess +import sys + + + +@contextmanager +def open_elf(path: Path) -> Iterator[ELFFile]: + with path.open('rb') as stream: + yield ELFFile(stream) + + +def is_static_executable(elf: ELFFile) -> bool: + # Statically linked executables have an ELF type of EXEC but no INTERP. + return (elf.header["e_type"] == 'ET_EXEC' + and not elf.get_section_by_name(".interp")) + + +def is_dynamic_executable(elf: ELFFile) -> bool: + # We do not require an ELF type of EXEC. This also catches + # position-independent executables, as they typically have an INTERP + # section but their ELF type is DYN. + return bool(elf.get_section_by_name(".interp")) + + +def get_dependencies(elf: ELFFile) -> List[str]: + dependencies = [] + # This convoluted code is here on purpose. For some reason, using + # elf.get_section_by_name(".dynamic") does not always return an + # instance of DynamicSection, but that is required to call iter_tags + for section in elf.iter_sections(): + if isinstance(section, DynamicSection): + for tag in section.iter_tags('DT_NEEDED'): + dependencies.append(tag.needed) + break # There is only one dynamic section + + return dependencies + + +def get_rpath(elf: ELFFile) -> List[str]: + # This convoluted code is here on purpose. For some reason, using + # elf.get_section_by_name(".dynamic") does not always return an + # instance of DynamicSection, but that is required to call iter_tags + for section in elf.iter_sections(): + if isinstance(section, DynamicSection): + for tag in section.iter_tags('DT_RUNPATH'): + return tag.runpath.split(':') + + for tag in section.iter_tags('DT_RPATH'): + return tag.rpath.split(':') + + break # There is only one dynamic section + + return [] + + +def get_arch(elf: ELFFile) -> str: + return elf.get_machine_arch() + + +def get_osabi(elf: ELFFile) -> str: + return elf.header["e_ident"]["EI_OSABI"] + + +def osabi_are_compatible(wanted: str, got: str) -> bool: + """ + Tests whether two OS ABIs are compatible, taking into account the + generally accepted compatibility of SVR4 ABI with other ABIs. + """ + if not wanted or not got: + # One of the types couldn't be detected, so as a fallback we'll + # assume they're compatible. + return True + + # Generally speaking, the base ABI (0x00), which is represented by + # readelf(1) as "UNIX - System V", indicates broad compatibility + # with other ABIs. + # + # TODO: This isn't always true. For example, some OSes embed ABI + # compatibility into SHT_NOTE sections like .note.tag and + # .note.ABI-tag. It would be prudent to add these to the detection + # logic to produce better ABI information. + if wanted == 'ELFOSABI_SYSV': + return True + + # Similarly here, we should be able to link against a superset of + # features, so even if the target has another ABI, this should be + # fine. + if got == 'ELFOSABI_SYSV': + return True + + # Otherwise, we simply return whether the ABIs are identical. + return wanted == got + + +def glob(path: Path, pattern: str, recursive: bool) -> Iterator[Path]: + return path.rglob(pattern) if recursive else path.glob(pattern) + + +cached_paths: Set[Path] = set() +soname_cache: DefaultDict[Tuple[str, str], List[Tuple[Path, str]]] = defaultdict(list) + + +def populate_cache(initial: List[Path], recursive: bool =False) -> None: + lib_dirs = list(initial) + + while lib_dirs: + lib_dir = lib_dirs.pop(0) + + if lib_dir in cached_paths: + continue + + cached_paths.add(lib_dir) + + for path in glob(lib_dir, "*.so*", recursive): + if not path.is_file(): + continue + + resolved = path.resolve() + try: + with open_elf(path) as elf: + osabi = get_osabi(elf) + arch = get_arch(elf) + rpath = [Path(p) for p in get_rpath(elf) + if p and '$ORIGIN' not in p] + lib_dirs += rpath + soname_cache[(path.name, arch)].append((resolved.parent, osabi)) + + except ELFError: + # Not an ELF file in the right format + pass + + +def find_dependency(soname: str, soarch: str, soabi: str) -> Optional[Path]: + for lib, libabi in soname_cache[(soname, soarch)]: + if osabi_are_compatible(soabi, libabi): + return lib + return None + + +@dataclass +class Dependency: + file: Path # The file that contains the dependency + name: Path # The name of the dependency + found: bool = False # Whether it was found somewhere + + +def auto_patchelf_file(path: Path, runtime_deps: list[Path]) -> list[Dependency]: + try: + with open_elf(path) as elf: + + if is_static_executable(elf): + # No point patching these + print(f"skipping {path} because it is statically linked") + return [] + + if elf.num_segments() == 0: + # no segment (e.g. object file) + print(f"skipping {path} because it contains no segment") + return [] + + file_arch = get_arch(elf) + if interpreter_arch != file_arch: + # Our target architecture is different than this file's + # architecture, so skip it. + print(f"skipping {path} because its architecture ({file_arch})" + f" differs from target ({interpreter_arch})") + return [] + + file_osabi = get_osabi(elf) + if not osabi_are_compatible(interpreter_osabi, file_osabi): + print(f"skipping {path} because its OS ABI ({file_osabi}) is" + f" not compatible with target ({interpreter_osabi})") + return [] + + file_is_dynamic_executable = is_dynamic_executable(elf) + + file_dependencies = map(Path, get_dependencies(elf)) + + except ELFError: + return [] + + rpath = [] + if file_is_dynamic_executable: + print("setting interpreter of", path) + subprocess.run( + ["patchelf", "--set-interpreter", interpreter_path.as_posix(), path.as_posix()], + check=True) + rpath += runtime_deps + + print("searching for dependencies of", path) + dependencies = [] + # Be sure to get the output of all missing dependencies instead of + # failing at the first one, because it's more useful when working + # on a new package where you don't yet know the dependencies. + for dep in file_dependencies: + if dep.is_absolute() and dep.is_file(): + # This is an absolute path. If it exists, just use it. + # Otherwise, we probably want this to produce an error when + # checked (because just updating the rpath won't satisfy + # it). + continue + elif (libc_lib / dep).is_file(): + # This library exists in libc, and will be correctly + # resolved by the linker. + continue + + if found_dependency := find_dependency(dep.name, file_arch, file_osabi): + rpath.append(found_dependency) + dependencies.append(Dependency(path, dep, True)) + print(f" {dep} -> found: {found_dependency}") + else: + dependencies.append(Dependency(path, dep, False)) + print(f" {dep} -> not found!") + + # Dedup the rpath + rpath_str = ":".join(dict.fromkeys(map(Path.as_posix, rpath))) + + if rpath: + print("setting RPATH to:", rpath_str) + subprocess.run( + ["patchelf", "--set-rpath", rpath_str, path.as_posix()], + check=True) + + return dependencies + + +def auto_patchelf( + paths_to_patch: List[Path], + lib_dirs: List[Path], + runtime_deps: List[Path], + recursive: bool =True, + ignore_missing: bool =False) -> None: + + if not paths_to_patch: + sys.exit("No paths to patch, stopping.") + + # Add all shared objects of the current output path to the cache, + # before lib_dirs, so that they are chosen first in find_dependency. + populate_cache(paths_to_patch, recursive) + populate_cache(lib_dirs) + + dependencies = [] + for path in chain.from_iterable(glob(p, '*', recursive) for p in paths_to_patch): + if not path.is_symlink() and path.is_file(): + dependencies += auto_patchelf_file(path, runtime_deps) + + missing = [dep for dep in dependencies if not dep.found] + + # Print a summary of the missing dependencies at the end + for dep in missing: + print(f"auto-patchelf could not satisfy dependency {dep.name} wanted by {dep.file}") + + if missing and not ignore_missing: + sys.exit('auto-patchelf failed to find all the required dependencies.\n' + 'Add the missing dependencies to --libs or use --ignore-missing.') + + +def main() -> None: + parser = argparse.ArgumentParser( + prog="auto-patchelf", + description='auto-patchelf tries as hard as possible to patch the' + ' provided binary files by looking for compatible' + 'libraries in the provided paths.') + parser.add_argument( + "--ignore-missing", + action="store_true", + help="Do not fail when some dependencies are not found.") + parser.add_argument( + "--no-recurse", + dest="recursive", + action="store_false", + help="Patch only the provided paths, and ignore their children") + parser.add_argument( + "--paths", nargs="*", type=Path, + help="Paths whose content needs to be patched.") + parser.add_argument( + "--libs", nargs="*", type=Path, + help="Paths where libraries are searched for.") + parser.add_argument( + "--runtime-dependencies", nargs="*", type=Path, + help="Paths to prepend to the runtime path of executable binaries.") + + print("automatically fixing dependencies for ELF files") + args = parser.parse_args() + pprint.pprint(vars(args)) + + auto_patchelf( + args.paths, + args.libs, + args.runtime_dependencies, + args.recursive, + args.ignore_missing) + + +interpreter_path: Path = None # type: ignore +interpreter_osabi: str = None # type: ignore +interpreter_arch: str = None # type: ignore +libc_lib: Path = None # type: ignore + +if __name__ == "__main__": + nix_support = Path(os.environ['NIX_BINTOOLS']) / 'nix-support' + interpreter_path = Path((nix_support / 'dynamic-linker').read_text().strip()) + libc_lib = Path((nix_support / 'orig-libc').read_text().strip()) / 'lib' + + with open_elf(interpreter_path) as interpreter: + interpreter_osabi = get_osabi(interpreter) + interpreter_arch = get_arch(interpreter) + + if interpreter_arch and interpreter_osabi and interpreter_path and libc_lib: + main() + else: + sys.exit("Failed to parse dynamic linker (ld) properties.") diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh index 4b3a1c5c390..9822674196a 100644 --- a/pkgs/build-support/setup-hooks/auto-patchelf.sh +++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh @@ -1,289 +1,21 @@ #!/usr/bin/env bash declare -a autoPatchelfLibs -declare -Ag autoPatchelfFailedDeps +declare -a extraAutoPatchelfLibs gatherLibraries() { autoPatchelfLibs+=("$1/lib") } -# wrapper around patchelf to raise proper error messages -# containing the tried file name and command -runPatchelf() { - patchelf "$@" || (echo "Command failed: patchelf $*" && exit 1) -} - # shellcheck disable=SC2154 # (targetOffset is referenced but not assigned.) addEnvHooks "$targetOffset" gatherLibraries -isExecutable() { - # For dynamically linked ELF files it would be enough to check just for the - # INTERP section. However, we won't catch statically linked executables as - # they only have an ELF type of EXEC but no INTERP. - # - # So what we do here is just check whether *either* the ELF type is EXEC - # *or* there is an INTERP section. This also catches position-independent - # executables, as they typically have an INTERP section but their ELF type - # is DYN. - isExeResult="$(LANG=C $READELF -h -l "$1" 2> /dev/null \ - | grep '^ *Type: *EXEC\>\|^ *INTERP\>')" - # not using grep -q, because it can cause Broken pipe - # https://unix.stackexchange.com/questions/305547/broken-pipe-when-grepping-output-but-only-with-i-flag - [ -n "$isExeResult" ] -} - -# We cache dependencies so that we don't need to search through all of them on -# every consecutive call to findDependency. -declare -Ag autoPatchelfCachedDepsAssoc -declare -ag autoPatchelfCachedDeps - -addToDepCache() { - if [[ ${autoPatchelfCachedDepsAssoc[$1]+f} ]]; then return; fi - - # store deps in an assoc. array for efficient lookups - # otherwise findDependency would have quadratic complexity - autoPatchelfCachedDepsAssoc["$1"]="" - - # also store deps in normal array to maintain their order - autoPatchelfCachedDeps+=("$1") -} - -declare -gi depCacheInitialised=0 -declare -gi doneRecursiveSearch=0 -declare -g foundDependency - -getDepsFromElfBinary() { - # NOTE: This does not use runPatchelf because it may encounter non-ELF - # files. Caller is expected to check the return code if needed. - patchelf --print-needed "$1" 2> /dev/null -} - -getRpathFromElfBinary() { - # NOTE: This does not use runPatchelf because it may encounter non-ELF - # files. Caller is expected to check the return code if needed. - local rpath - IFS=':' read -ra rpath < <(patchelf --print-rpath "$1" 2> /dev/null) || return $? - - printf "%s\n" "${rpath[@]}" -} - -populateCacheForDep() { - local so="$1" - local rpath found - rpath="$(getRpathFromElfBinary "$so")" || return 1 - - for found in $(getDepsFromElfBinary "$so"); do - local rpathElem - for rpathElem in $rpath; do - # Ignore empty element or $ORIGIN magic variable which should be - # deterministically resolved by adding this package's library - # files early anyway. - # - # shellcheck disable=SC2016 - # (Expressions don't expand in single quotes, use double quotes for - # that.) - if [[ -z "$rpathElem" || "$rpathElem" == *'$ORIGIN'* ]]; then - continue - fi - - local soname="${found%.so*}" - local foundso= - for foundso in "$rpathElem/$soname".so*; do - addToDepCache "$foundso" - done - - # Found in this element of the rpath, no need to check others. - if [ -n "$foundso" ]; then - break - fi - done - done - - # Not found in any rpath element. - return 1 -} - -populateCacheWithRecursiveDeps() { - # Dependencies may add more to the end of this array, so we use a counter - # with while instead of a regular for loop here. - local -i i=0 - while [ $i -lt ${#autoPatchelfCachedDeps[@]} ]; do - populateCacheForDep "${autoPatchelfCachedDeps[$i]}" - i=$i+1 - done -} - -getBinArch() { - $OBJDUMP -f "$1" 2> /dev/null | sed -ne 's/^architecture: *\([^,]\+\).*/\1/p' -} - -# Returns the specific OS ABI for an ELF file in the format produced by -# readelf(1), like "UNIX - System V" or "UNIX - GNU". -getBinOsabi() { - $READELF -h "$1" 2> /dev/null | sed -ne 's/^[ \t]*OS\/ABI:[ \t]*\(.*\)/\1/p' -} - -# Tests whether two OS ABIs are compatible, taking into account the generally -# accepted compatibility of SVR4 ABI with other ABIs. -areBinOsabisCompatible() { - local wanted="$1" - local got="$2" - - if [[ -z "$wanted" || -z "$got" ]]; then - # One of the types couldn't be detected, so as a fallback we'll assume - # they're compatible. - return 0 - fi - - # Generally speaking, the base ABI (0x00), which is represented by - # readelf(1) as "UNIX - System V", indicates broad compatibility with other - # ABIs. - # - # TODO: This isn't always true. For example, some OSes embed ABI - # compatibility into SHT_NOTE sections like .note.tag and .note.ABI-tag. - # It would be prudent to add these to the detection logic to produce better - # ABI information. - if [[ "$wanted" == "UNIX - System V" ]]; then - return 0 - fi - - # Similarly here, we should be able to link against a superset of features, - # so even if the target has another ABI, this should be fine. - if [[ "$got" == "UNIX - System V" ]]; then - return 0 - fi - - # Otherwise, we simply return whether the ABIs are identical. - if [[ "$wanted" == "$got" ]]; then - return 0 - fi - - return 1 -} - -# NOTE: If you want to use this function outside of the autoPatchelf function, -# keep in mind that the dependency cache is only valid inside the subshell -# spawned by the autoPatchelf function, so invoking this directly will possibly -# rebuild the dependency cache. See the autoPatchelf function below for more -# information. -findDependency() { - local filename="$1" - local arch="$2" - local osabi="$3" - local lib dep - - if [ $depCacheInitialised -eq 0 ]; then - for lib in "${autoPatchelfLibs[@]}"; do - for so in "$lib/"*.so*; do addToDepCache "$so"; done - done - depCacheInitialised=1 - fi - - for dep in "${autoPatchelfCachedDeps[@]}"; do - if [ "$filename" = "${dep##*/}" ]; then - if [ "$(getBinArch "$dep")" = "$arch" ] && areBinOsabisCompatible "$osabi" "$(getBinOsabi "$dep")"; then - foundDependency="$dep" - return 0 - fi - fi - done - - # Populate the dependency cache with recursive dependencies *only* if we - # didn't find the right dependency so far and afterwards run findDependency - # again, but this time with $doneRecursiveSearch set to 1 so that it won't - # recurse again (and thus infinitely). - if [ $doneRecursiveSearch -eq 0 ]; then - populateCacheWithRecursiveDeps - doneRecursiveSearch=1 - findDependency "$filename" "$arch" || return 1 - return 0 - fi - return 1 -} - -autoPatchelfFile() { - local dep rpath="" toPatch="$1" - - local interpreter - interpreter="$(< "$NIX_BINTOOLS/nix-support/dynamic-linker")" - - local interpreterArch interpreterOsabi toPatchArch toPatchOsabi - interpreterArch="$(getBinArch "$interpreter")" - interpreterOsabi="$(getBinOsabi "$interpreter")" - toPatchArch="$(getBinArch "$toPatch")" - toPatchOsabi="$(getBinOsabi "$toPatch")" - - if [ "$interpreterArch" != "$toPatchArch" ]; then - # Our target architecture is different than this file's architecture, - # so skip it. - echo "skipping $toPatch because its architecture ($toPatchArch) differs from target ($interpreterArch)" >&2 - return 0 - elif ! areBinOsabisCompatible "$interpreterOsabi" "$toPatchOsabi"; then - echo "skipping $toPatch because its OS ABI ($toPatchOsabi) is not compatible with target ($interpreterOsabi)" >&2 - return 0 - fi - - if isExecutable "$toPatch"; then - runPatchelf --set-interpreter "$interpreter" "$toPatch" - # shellcheck disable=SC2154 - # (runtimeDependencies is referenced but not assigned.) - if [ -n "$runtimeDependencies" ]; then - for dep in $runtimeDependencies; do - rpath="$rpath${rpath:+:}$dep/lib" - done - fi - fi - - local libcLib - libcLib="$(< "$NIX_BINTOOLS/nix-support/orig-libc")/lib" - - echo "searching for dependencies of $toPatch" >&2 - - local missing - missing="$(getDepsFromElfBinary "$toPatch")" || return 0 - - # This ensures that we get the output of all missing dependencies instead - # of failing at the first one, because it's more useful when working on a - # new package where you don't yet know its dependencies. - - for dep in $missing; do - if [[ "$dep" == /* ]]; then - # This is an absolute path. If it exists, just use it. Otherwise, - # we probably want this to produce an error when checked (because - # just updating the rpath won't satisfy it). - if [ -f "$dep" ]; then - continue - fi - elif [ -f "$libcLib/$dep" ]; then - # This library exists in libc, and will be correctly resolved by - # the linker. - continue - fi - - echo -n " $dep -> " >&2 - if findDependency "$dep" "$toPatchArch" "$toPatchOsabi"; then - rpath="$rpath${rpath:+:}${foundDependency%/*}" - echo "found: $foundDependency" >&2 - else - echo "not found!" >&2 - autoPatchelfFailedDeps["$dep"]="$toPatch" - fi - done - - if [ -n "$rpath" ]; then - echo "setting RPATH to: $rpath" >&2 - runPatchelf --set-rpath "$rpath" "$toPatch" - fi -} - # Can be used to manually add additional directories with shared object files # to be included for the next autoPatchelf invocation. addAutoPatchelfSearchPath() { local -a findOpts=() - # XXX: Somewhat similar to the one in the autoPatchelf function, maybe make - # it DRY someday... while [ $# -gt 0 ]; do case "$1" in --) shift; break;; @@ -296,15 +28,19 @@ addAutoPatchelfSearchPath() { esac done - while IFS= read -r -d '' file; do - addToDepCache "$file" + local dir= + while IFS= read -r -d '' dir; do + extraAutoPatchelfLibs+=("$dir") done < <(find "$@" "${findOpts[@]}" \! -type d \ - \( -name '*.so' -o -name '*.so.*' \) -print0) + \( -name '*.so' -o -name '*.so.*' \) -print0 \ + | sed -z 's#/[^/]*$##' \ + | uniq -z + ) } + autoPatchelf() { local norecurse= - while [ $# -gt 0 ]; do case "$1" in --) shift; break;; @@ -317,47 +53,14 @@ autoPatchelf() { esac done - if [ $# -eq 0 ]; then - echo "autoPatchelf: No paths to patch specified." >&2 - return 1 - fi - - echo "automatically fixing dependencies for ELF files" >&2 - - # Add all shared objects of the current output path to the start of - # autoPatchelfCachedDeps so that it's chosen first in findDependency. - addAutoPatchelfSearchPath ${norecurse:+--no-recurse} -- "$@" - - while IFS= read -r -d $'\0' file; do - isELF "$file" || continue - segmentHeaders="$(LANG=C $READELF -l "$file")" - # Skip if the ELF file doesn't have segment headers (eg. object files). - # not using grep -q, because it can cause Broken pipe - grep -q '^Program Headers:' <<<"$segmentHeaders" || continue - if isExecutable "$file"; then - # Skip if the executable is statically linked. - grep -q "^ *INTERP\\>" <<<"$segmentHeaders" || continue - fi - # Jump file if patchelf is unable to parse it - # Some programs contain binary blobs for testing, - # which are identified as ELF but fail to be parsed by patchelf - patchelf "$file" || continue - autoPatchelfFile "$file" - done < <(find "$@" ${norecurse:+-maxdepth 1} -type f -print0) - - # fail if any dependencies were not found and - # autoPatchelfIgnoreMissingDeps is not set - local depsMissing=0 - for failedDep in "${!autoPatchelfFailedDeps[@]}"; do - echo "autoPatchelfHook could not satisfy dependency $failedDep wanted by ${autoPatchelfFailedDeps[$failedDep]}" - depsMissing=1 - done - # shellcheck disable=SC2154 - # (autoPatchelfIgnoreMissingDeps is referenced but not assigned.) - if [[ $depsMissing == 1 && -z "$autoPatchelfIgnoreMissingDeps" ]]; then - echo "Add the missing dependencies to the build inputs or set autoPatchelfIgnoreMissingDeps=true" - exit 1 - fi + local runtimeDependenciesArray=($runtimeDependencies) + @pythonInterpreter@ @autoPatchelfScript@ \ + ${norecurse:+--no-recurse} \ + ${autoPatchelfIgnoreMissingDeps:+--ignore-missing} \ + --paths "$@" \ + --libs "${autoPatchelfLibs[@]}" \ + "${extraAutoPatchelfLibs[@]}" \ + --runtime-dependencies "${runtimeDependenciesArray[@]/%//lib}" } # XXX: This should ultimately use fixupOutputHooks but we currently don't have diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 604096135c2..fa606583289 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -51,7 +51,19 @@ makeWrapper() { local varName="$2" # name of list variable to add to local separator="$3" # character used to separate elements of list local value="$4" # one value, or multiple values separated by `separator`, to add to list - if test -n "$value"; then + + # Disable file globbing, since bash will otherwise try to find + # filenames matching the the value to be prefixed/suffixed if + # it contains characters considered wildcards, such as `?` and + # `*`. We want the value as is, except we also want to split + # it on on the separator; hence we can't quote it. + local reenableGlob=0 + if [[ ! -o noglob ]]; then + reenableGlob=1 + fi + set -o noglob + + if [[ -n "$value" ]]; then local old_ifs=$IFS IFS=$separator @@ -86,6 +98,10 @@ makeWrapper() { done IFS=$old_ifs fi + + if (( reenableGlob )); then + set +o noglob + fi } mkdir -p "$(dirname "$wrapper")" diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 52662b190a7..78c93b05033 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { "BINDIR=$(bin)/bin" "ZICDIR=$(bin)/bin" "ETCDIR=$(TMPDIR)/etc" - "TZDEFAULT=$(TMPDIR)/etc" + "TZDEFAULT=tzdefault-to-remove" "LIBDIR=$(dev)/lib" "MANDIR=$(man)/share/man" "AWK=awk" @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { postInstall = '' rm $out/share/zoneinfo-posix + rm $out/share/zoneinfo/tzdefault-to-remove mkdir $out/share/zoneinfo/posix ( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix ) mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh index b0e706602b6..44b96e8beb9 100644 --- a/pkgs/desktops/plasma-5/fetch.sh +++ b/pkgs/desktops/plasma-5/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/plasma/5.23.5/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.0/ -A '*.tar.xz' ) diff --git a/pkgs/desktops/plasma-5/kdecoration.nix b/pkgs/desktops/plasma-5/kdecoration.nix index 9b67d7bc529..b26c73c1c79 100644 --- a/pkgs/desktops/plasma-5/kdecoration.nix +++ b/pkgs/desktops/plasma-5/kdecoration.nix @@ -1,8 +1,8 @@ -{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n }: +{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n, kcoreaddons }: mkDerivation { name = "kdecoration"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase ki18n ]; + buildInputs = [ qtbase ki18n kcoreaddons ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch index e6ab62caf71..9bade4eab6a 100644 --- a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch +++ b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch @@ -63,11 +63,11 @@ index 0000000..726065d + +}// namespace + -+#endif // SERVICE_UTILS_H -diff --git a/src/service_utils.h b/src/service_utils.h ++#endif // NIXOS_UTILS_H +diff --git a/src/utils/serviceutils.h b/src/utils/serviceutils.h index 8a70c1f..475b15d 100644 ---- a/src/service_utils.h -+++ b/src/service_utils.h +--- a/src/utils/serviceutils.h ++++ b/src/utils/serviceutils.h @@ -19,6 +19,7 @@ #include <QLoggingCategory> //KF diff --git a/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch index cda82e08442..ec4a34037dc 100644 --- a/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch +++ b/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch @@ -11,11 +11,10 @@ diff --git a/processui/scripting.cpp b/processui/scripting.cpp index efed8ff..841761a 100644 --- a/processui/scripting.cpp +++ b/processui/scripting.cpp -@@ -167,7 +167,7 @@ void Scripting::loadContextMenu() { - QStringList scripts; +@@ -293,7 +293,7 @@ void Scripting::loadContextMenu() const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("ksysguard/scripts/"), QStandardPaths::LocateDirectory); - Q_FOREACH (const QString &dir, dirs) { + for (const QString &dir : dirs) { - QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories); + QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); while (it.hasNext()) { diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch index 508d3949884..e00d8b4a5c9 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch +++ b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch @@ -14,33 +14,33 @@ diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/start index 270744053..356160e96 100644 --- a/startkde/plasma-session/startup.cpp +++ b/startkde/plasma-session/startup.cpp -@@ -143,7 +143,7 @@ Startup::Startup(QObject *parent) - const AutoStart autostart; +@@ -179,7 +179,7 @@ Startup::Startup(QObject *parent) + } // Keep for KF5; remove in KF6 (KInit will be gone then) - QProcess::execute(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), QStringList()); + QProcess::execute(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), QStringList()); - KJob *windowManagerJob = nullptr; - if (qEnvironmentVariable("XDG_SESSION_TYPE") != QLatin1String("wayland")) { -diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp + KJob *phase1 = nullptr; + m_lock.reset(new QEventLoopLocker); +diff --git a/startkde/startplasma-wayland.cpp b/startkde/startplasma-wayland.cpp index 3a054a04f..b2e7ab3fb 100644 ---- a/startkde/startplasma-waylandsession.cpp -+++ b/startkde/startplasma-waylandsession.cpp -@@ -33,7 +33,7 @@ int main(int argc, char **argv) - out << "startplasma-waylandsession: Shutting down...\n"; +--- a/startkde/startplasma-wayland.cpp ++++ b/startkde/startplasma-wayland.cpp +@@ -91,7 +91,7 @@ int main(int argc, char **argv) + out << "startplasma-wayland: Shutting down...\n"; // Keep for KF5; remove in KF6 (KInit will be gone then) - runSync(QStringLiteral("kdeinit5_shutdown"), {}); + runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {}); - out << "startplasma-waylandsession: Done.\n"; - + out << "startplasmacompositor: Shutting down...\n"; + cleanupPlasmaEnvironment(oldSystemdEnvironment); diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp index d6b2c5439..534eeb0e5 100644 --- a/startkde/startplasma-x11.cpp +++ b/startkde/startplasma-x11.cpp -@@ -90,7 +90,7 @@ int main(int argc, char **argv) +@@ -89,7 +89,7 @@ int main(int argc, char **argv) out << "startkde: Shutting down...\n"; // Keep for KF5; remove in KF6 (KInit will be gone then) @@ -53,7 +53,7 @@ diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp index 008fdfcaf..72468f21c 100644 --- a/startkde/startplasma.cpp +++ b/startkde/startplasma.cpp -@@ -39,7 +39,7 @@ QTextStream out(stderr); +@@ -50,7 +50,7 @@ QTextStream out(stderr); void messageBox(const QString &text) { out << text; @@ -62,7 +62,7 @@ index 008fdfcaf..72468f21c 100644 } QStringList allServices(const QLatin1String &prefix) -@@ -340,7 +340,7 @@ void setupX11() +@@ -412,7 +412,7 @@ void setupX11() // If the user has overwritten fonts, the cursor font may be different now // so don't move this up. @@ -70,17 +70,8 @@ index 008fdfcaf..72468f21c 100644 + runSync(QStringLiteral(NIXPKGS_XSETROOT), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")}); } - void cleanupPlasmaEnvironment(const std::optional<QStringList> &oldSystemdEnvironment) -@@ -403,7 +403,7 @@ void setupFontDpi() - // TODO port to c++? - const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0)); - QProcess p; -- p.start(QStringLiteral("xrdb"), {QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp")}); -+ p.start(QStringLiteral(NIXPKGS_XRDB), {QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp")}); - p.setProcessChannelMode(QProcess::ForwardedChannels); - p.write(input); - p.closeWriteChannel(); -@@ -425,7 +425,7 @@ QProcess *setupKSplash() + void cleanupPlasmaEnvironment(const std::optional<QProcessEnvironment> &oldSystemdEnvironment) +@@ -500,7 +500,7 @@ QProcess *setupKSplash() KConfigGroup ksplashCfg = cfg.group("KSplash"); if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) { p = new QProcess; diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch b/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch index 633551f6e3c..211316e2473 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch +++ b/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch @@ -15,8 +15,8 @@ index a560da3..f723c1e 100644 type=image color=#1d99f3 fontSize=10 --background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.png -+background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.png +-background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.jpg ++background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.jpg needsFullUserModel=false -- 2.30.0 diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix index 9de087f10e8..c5da337d10d 100644 --- a/pkgs/desktops/plasma-5/srcs.nix +++ b/pkgs/desktops/plasma-5/srcs.nix @@ -4,427 +4,435 @@ { bluedevil = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/bluedevil-5.23.5.tar.xz"; - sha256 = "1nbnmfdaisqngygyz1478fswsm1xp28v9l78xlw70yvvyjk2kc6v"; - name = "bluedevil-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/bluedevil-5.24.0.tar.xz"; + sha256 = "128br83hkxxrb6wca3d1racygdnfgk3r5md1gcjvgwb0gpy6bnzp"; + name = "bluedevil-5.24.0.tar.xz"; }; }; breeze = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/breeze-5.23.5.tar.xz"; - sha256 = "1pyw7rhzkbd9kwsm8l7iz867jhwlbmkarc5iihg0bkbcg1ds18ic"; - name = "breeze-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/breeze-5.24.0.tar.xz"; + sha256 = "08b3hihz98z7kdybb0y1b74q1dn511ga81qqqxzlfirgpp8c9f9q"; + name = "breeze-5.24.0.tar.xz"; }; }; breeze-grub = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/breeze-grub-5.23.5.tar.xz"; - sha256 = "12rm9a3vrmb3sm04l2c4vcj8psfyjxplp9wgh87q3k1rcyqz7fqk"; - name = "breeze-grub-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/breeze-grub-5.24.0.tar.xz"; + sha256 = "0p0pzmsd6scssyxcm9n58mp7fc9vz1lg4n7c1ch4bqragih1gnlr"; + name = "breeze-grub-5.24.0.tar.xz"; }; }; breeze-gtk = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/breeze-gtk-5.23.5.tar.xz"; - sha256 = "1ynbvfgy2nlxg5svjqazj70m7py58ixxa7xyj13dcj6i2ikbcjld"; - name = "breeze-gtk-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/breeze-gtk-5.24.0.tar.xz"; + sha256 = "090cczxc1ciic6wghz3p21gpfdwnc8pjcvq6wn7bfkp1i3r5mihp"; + name = "breeze-gtk-5.24.0.tar.xz"; }; }; breeze-plymouth = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/breeze-plymouth-5.23.5.tar.xz"; - sha256 = "1sllcrhz8hniqkgybk5bbb36fzjcdp5drjbf7v7jn4ih4wvybwmk"; - name = "breeze-plymouth-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/breeze-plymouth-5.24.0.tar.xz"; + sha256 = "1qqpwgp1yy3p1s0z21xwds6wx4z8daibkgk1bynj73cx7a2wch9g"; + name = "breeze-plymouth-5.24.0.tar.xz"; }; }; discover = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/discover-5.23.5.tar.xz"; - sha256 = "1kzp7jpw2kgml2yc3cx9n5syln3kyd9fxa5klh3sa1xn6bz9f8zr"; - name = "discover-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/discover-5.24.0.tar.xz"; + sha256 = "0dbfvqana31wqharsbyb8rcrw1w6l9x1g6p02aqwiph0inkrz20q"; + name = "discover-5.24.0.tar.xz"; }; }; drkonqi = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/drkonqi-5.23.5.tar.xz"; - sha256 = "08jjh52r6dmgp7dyxjxvavb4cxhmvzirwdn7hnmfhdbwkm09fqm5"; - name = "drkonqi-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/drkonqi-5.24.0.tar.xz"; + sha256 = "1ismgg7rcxijkprn4sci15wn4w2gmdn0fdbgvzxdcrqaf4g6qc3s"; + name = "drkonqi-5.24.0.tar.xz"; }; }; kactivitymanagerd = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kactivitymanagerd-5.23.5.tar.xz"; - sha256 = "09v6pia34a694g0amj0miqi0j42yqvhfcv6yr9zfix4gf1qcdidn"; - name = "kactivitymanagerd-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kactivitymanagerd-5.24.0.tar.xz"; + sha256 = "12dvgm3ilyqlxzm8209b7g42nfk0ahfzizs3pbmi18zapjszcsps"; + name = "kactivitymanagerd-5.24.0.tar.xz"; }; }; kde-cli-tools = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kde-cli-tools-5.23.5.tar.xz"; - sha256 = "1203z87i4dmhq1vlrfj4kiw157i5zkccd2bwc7p7qwhgbddaw5jd"; - name = "kde-cli-tools-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kde-cli-tools-5.24.0.tar.xz"; + sha256 = "0l8a4ysz1cqwdh3c20q51qamwh58vvs8yzb5jdvbp8bahsyyc4mr"; + name = "kde-cli-tools-5.24.0.tar.xz"; }; }; kde-gtk-config = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kde-gtk-config-5.23.5.tar.xz"; - sha256 = "14qqxy2vz9004kfam9biv6q0601sn9yhrkx0i8y0958a58s5z3hp"; - name = "kde-gtk-config-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kde-gtk-config-5.24.0.tar.xz"; + sha256 = "024pglycz2kbp9npnvbx5qpkz9381wyyp6xkalqynzr9gy58syrx"; + name = "kde-gtk-config-5.24.0.tar.xz"; }; }; kdecoration = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kdecoration-5.23.5.tar.xz"; - sha256 = "1kqj8l95wy46kfsw3f1crxwba9zwdlbgi7345mamhyks74wj1628"; - name = "kdecoration-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kdecoration-5.24.0.tar.xz"; + sha256 = "0xl8892w49z11k9mxgh7lp8a4l1x8wldmaij82kd1vnh9sxvb3f3"; + name = "kdecoration-5.24.0.tar.xz"; }; }; kdeplasma-addons = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kdeplasma-addons-5.23.5.tar.xz"; - sha256 = "0cq0g8nqrkwv12010rsrmzqvxsa5arjpa87gvws8pah3v9k1xnkq"; - name = "kdeplasma-addons-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kdeplasma-addons-5.24.0.tar.xz"; + sha256 = "0q8yf0gz4gjn1kyf545i8fpsn2dpy48qhjpm8ssp3ywv6s2abjxn"; + name = "kdeplasma-addons-5.24.0.tar.xz"; }; }; kgamma5 = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kgamma5-5.23.5.tar.xz"; - sha256 = "17j0kv00ibs2g9jxfvflk965221iznm0ydgj3i05i6j2bd8301zn"; - name = "kgamma5-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kgamma5-5.24.0.tar.xz"; + sha256 = "07w7l25snpi98j5bxg3zri5lsymabnli6h9d5w0qx0c19wzjwayl"; + name = "kgamma5-5.24.0.tar.xz"; }; }; khotkeys = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/khotkeys-5.23.5.tar.xz"; - sha256 = "13562p0bv0jkamx9q07wi5vs78bdrhd0h3qg5rxajc5s36gyh63a"; - name = "khotkeys-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/khotkeys-5.24.0.tar.xz"; + sha256 = "0gjdwdzg5vybalima8jnwrprqj0rnxmzds0x8w707nb9ypz4k7k6"; + name = "khotkeys-5.24.0.tar.xz"; }; }; kinfocenter = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kinfocenter-5.23.5.tar.xz"; - sha256 = "0f7ik3gg1pimjlc94dp6psk0sha8k7pinx50nvmgsglap4k1xbk7"; - name = "kinfocenter-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kinfocenter-5.24.0.tar.xz"; + sha256 = "09fq69q4300ppi1y9pp8s4h1bbai1p5qsz384bb445pjvwsyn6nf"; + name = "kinfocenter-5.24.0.tar.xz"; }; }; kmenuedit = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kmenuedit-5.23.5.tar.xz"; - sha256 = "0k3dbip98zwia6m8nlgiw4mz09pkw7bik4cn3j73v2x3n7y3c542"; - name = "kmenuedit-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kmenuedit-5.24.0.tar.xz"; + sha256 = "0bjiqdw4wqi5vpkn98wjjz23x6k47lvxac8nyxs8ddd9i8mlklij"; + name = "kmenuedit-5.24.0.tar.xz"; }; }; kscreen = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kscreen-5.23.5.tar.xz"; - sha256 = "0j5rgzj132j7qy1pgi12mhihf1a89a3xh8j5f7dp5s1f8kyjq0yi"; - name = "kscreen-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kscreen-5.24.0.tar.xz"; + sha256 = "19kqvvgj209ri035ldzn1k5l36l54rvagsnfzhw61v8rd9r6r02x"; + name = "kscreen-5.24.0.tar.xz"; }; }; kscreenlocker = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kscreenlocker-5.23.5.tar.xz"; - sha256 = "07vhwvcyz9ynjzh44zny1f6di2knzy3fkiji3bhrki8p3zc9vjpm"; - name = "kscreenlocker-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kscreenlocker-5.24.0.tar.xz"; + sha256 = "0d827h5br27sdd925brljb1mwnkzj739g5q0k8xkw9f9q9bxk8l8"; + name = "kscreenlocker-5.24.0.tar.xz"; }; }; ksshaskpass = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/ksshaskpass-5.23.5.tar.xz"; - sha256 = "0p8aka60mc8p96v3bx954jy99n9lf0a4b09sig307clwinfr23if"; - name = "ksshaskpass-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/ksshaskpass-5.24.0.tar.xz"; + sha256 = "1xiw25imhmkcikp746q9s393djmkdpkh9jb7h1diwwhambnimy6d"; + name = "ksshaskpass-5.24.0.tar.xz"; }; }; ksystemstats = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/ksystemstats-5.23.5.tar.xz"; - sha256 = "1xmr0yk5xynja6z7xc6l1zd529q5si5qs71f72dba2zna22hb7hb"; - name = "ksystemstats-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/ksystemstats-5.24.0.tar.xz"; + sha256 = "1182dfcg1av9329g9p9ll64yiwyxm46kczakxb3vj4d2ajaclzm1"; + name = "ksystemstats-5.24.0.tar.xz"; }; }; kwallet-pam = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kwallet-pam-5.23.5.tar.xz"; - sha256 = "1cha41wiqsfgyrqb8di5qnnz0mnvmchprxay48czrn3r5mz49pw9"; - name = "kwallet-pam-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kwallet-pam-5.24.0.tar.xz"; + sha256 = "0jzi2rcwxxjp3lg8cywp96ysnwm51a0m9pdwk8z7n3v1ncr2p38q"; + name = "kwallet-pam-5.24.0.tar.xz"; }; }; kwayland-integration = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kwayland-integration-5.23.5.tar.xz"; - sha256 = "0gs68v4rriknn59fv0yjcgrmcryv7wxgskswdgi1xx18v0rlc4ag"; - name = "kwayland-integration-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kwayland-integration-5.24.0.tar.xz"; + sha256 = "1yq9cjb8xcvqr747p5hm8xxg4rn6mahchd5c2camv3qrjbqm8ll6"; + name = "kwayland-integration-5.24.0.tar.xz"; }; }; kwayland-server = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kwayland-server-5.23.5.tar.xz"; - sha256 = "0b8c1mkh36cgxhx18v9j23n9gnvzy22x50gpiw3dbkjzsmr1n7by"; - name = "kwayland-server-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kwayland-server-5.24.0.tar.xz"; + sha256 = "1zbi4c14zvjwkxxqlg80mv749ybnkmcdvn72irmrzbbf4g1z7k32"; + name = "kwayland-server-5.24.0.tar.xz"; }; }; kwin = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kwin-5.23.5.tar.xz"; - sha256 = "00azqmdgkh72bg4d8868cin984vxxk6s6pk5x4dfvlaknzlyfjgp"; - name = "kwin-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kwin-5.24.0.tar.xz"; + sha256 = "19q5pphqnr1xc1c4z0sd3yr60jsiq190llwllfmlj4acjlbcbbn6"; + name = "kwin-5.24.0.tar.xz"; }; }; kwrited = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/kwrited-5.23.5.tar.xz"; - sha256 = "0aj911kfzd100jq1k1sg7i1nhiixnl7qiphc2bczn47f1jj64iqv"; - name = "kwrited-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/kwrited-5.24.0.tar.xz"; + sha256 = "018wvkkqzg4qyjd0w1h2d3ms72ghlq8mg79rrsj518l7hhlv6rsg"; + name = "kwrited-5.24.0.tar.xz"; }; }; layer-shell-qt = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/layer-shell-qt-5.23.5.tar.xz"; - sha256 = "1ah66z9hiricw6h3j7x2k7d49y7g4l2s9w2658wjrava2qng9bsr"; - name = "layer-shell-qt-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/layer-shell-qt-5.24.0.tar.xz"; + sha256 = "0y3z2xr9vpxnm84gs1zpa1apma341wza7pjcpwibaqd6aiz9vpqv"; + name = "layer-shell-qt-5.24.0.tar.xz"; }; }; libkscreen = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/libkscreen-5.23.5.tar.xz"; - sha256 = "08wgg96clp685fl5lflrfd4kmf5c2p5ms7n1q2izvg0n6qr37m1i"; - name = "libkscreen-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/libkscreen-5.24.0.tar.xz"; + sha256 = "0h6sycib940gbw2rf6ax3v7mg77pzga36xzwzbyz9h49fba3dpjk"; + name = "libkscreen-5.24.0.tar.xz"; }; }; libksysguard = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/libksysguard-5.23.5.tar.xz"; - sha256 = "1gy1grkkz7vwglby52vv4gr8zbzsv8rbvwbp6rqvvhmqg7ascc1h"; - name = "libksysguard-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/libksysguard-5.24.0.tar.xz"; + sha256 = "1f0hwk2kzmgpjxmsjfd4g25sr91qyazp4hysyfjdhrrs2ajdkm0b"; + name = "libksysguard-5.24.0.tar.xz"; }; }; milou = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/milou-5.23.5.tar.xz"; - sha256 = "05bc6hc5pn5rz4zp6b2akjdbssv7xppvzsw3pidkqb8pincl01gh"; - name = "milou-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/milou-5.24.0.tar.xz"; + sha256 = "0sxsisrzfancxwk8lsxhj2b85sgjdb9gzy4l0nax4fp942ygiirs"; + name = "milou-5.24.0.tar.xz"; }; }; oxygen = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/oxygen-5.23.5.tar.xz"; - sha256 = "1vvy9yqllqq9dx2riwv4bmxfq13wph5wagy84f1hhl7zxnbcyv0c"; - name = "oxygen-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/oxygen-5.24.0.tar.xz"; + sha256 = "0ym74q29c2f32l1xm3kd0s2p7zzbg6a96g7d39fkp5paxicx5fb7"; + name = "oxygen-5.24.0.tar.xz"; }; }; plasma-browser-integration = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-browser-integration-5.23.5.tar.xz"; - sha256 = "0jw9jircgbilig4pryyjxhby8qc7nag9a1s5nk1zdsnlaqr08jyp"; - name = "plasma-browser-integration-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-browser-integration-5.24.0.tar.xz"; + sha256 = "1gp9m7drwxflb0ms0vbvk7qydm1bghhzalc00lpcjh4nrf0bgh33"; + name = "plasma-browser-integration-5.24.0.tar.xz"; }; }; plasma-desktop = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-desktop-5.23.5.tar.xz"; - sha256 = "0ym8cssw351ygw2vy27cyxql05y0gaflnqnq4fwkdgidldvmi45k"; - name = "plasma-desktop-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-desktop-5.24.0.tar.xz"; + sha256 = "1brnm6yivjy2piy88ncmclv4g2rxkaiyi923c557dmiipah2bx7z"; + name = "plasma-desktop-5.24.0.tar.xz"; }; }; plasma-disks = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-disks-5.23.5.tar.xz"; - sha256 = "0197zyj5p7j8y80g0vvf5d9bq86qxkhwpa9dzb5l3is50y8lkj6p"; - name = "plasma-disks-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-disks-5.24.0.tar.xz"; + sha256 = "1c3pwnyhdmj7grk3gjh4kw5437m5cxhp70qsbhnfsaacps3mdv5d"; + name = "plasma-disks-5.24.0.tar.xz"; }; }; plasma-firewall = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-firewall-5.23.5.tar.xz"; - sha256 = "0fhycjrb89blh6wf24rvq7bafqqrxj37ir0daj5jlph9f1w4laq0"; - name = "plasma-firewall-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-firewall-5.24.0.tar.xz"; + sha256 = "1jjw414547qksjxg2x5n666iq6qildbn9k9c8hqipmwnlkprpbb1"; + name = "plasma-firewall-5.24.0.tar.xz"; }; }; plasma-integration = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-integration-5.23.5.tar.xz"; - sha256 = "03c0cqvr5cdpvxgm145sqpbbr8wv0qv4pqjl69v3bs010pd755lg"; - name = "plasma-integration-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-integration-5.24.0.tar.xz"; + sha256 = "17dqf6j1za3q8hzk7jfc5wc7s4kr28slrkq5iqvzqgyqjqy3z7rv"; + name = "plasma-integration-5.24.0.tar.xz"; + }; + }; + plasma-mobile = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.24.0/plasma-mobile-5.24.0.tar.xz"; + sha256 = "0g9mbb8dzqcngc1sq43knwyc3kr81w3vl359wyrgvnr8r1qikv2z"; + name = "plasma-mobile-5.24.0.tar.xz"; }; }; plasma-nano = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-nano-5.23.5.tar.xz"; - sha256 = "1yh67bh1smk7zx35hd72pafjbjdv7wwwhm76ga5sj251m61ncxim"; - name = "plasma-nano-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-nano-5.24.0.tar.xz"; + sha256 = "0i8lsp83g2i3c88djkmxawwbwa6lr0w89lzxj73fr6az6vdcrypj"; + name = "plasma-nano-5.24.0.tar.xz"; }; }; plasma-nm = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-nm-5.23.5.tar.xz"; - sha256 = "14sknzy4v4xx1ihjn1s6x0lv5difnp4gi24zsdqvnkxkmxzhcij3"; - name = "plasma-nm-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-nm-5.24.0.tar.xz"; + sha256 = "17pmyklmr46qg21w4ql9q5nhfdjw1xmmv1qz7lyhlww7qa6mz1ny"; + name = "plasma-nm-5.24.0.tar.xz"; }; }; plasma-pa = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-pa-5.23.5.tar.xz"; - sha256 = "1pcnf59qj7rgmcbc5xhad5zl487r48i2kyp6nc3yrlgj1xcfpfxg"; - name = "plasma-pa-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-pa-5.24.0.tar.xz"; + sha256 = "19n2plbk455qwgq0lcpb7rj2ck78ck64fpvlldmh53j9vxyzcasl"; + name = "plasma-pa-5.24.0.tar.xz"; }; }; plasma-phone-components = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-phone-components-5.23.5.tar.xz"; - sha256 = "08c03pycvv7ald21d8ckxpv6d25qlxs28gjm99hdn6x8m74j7frn"; - name = "plasma-phone-components-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-phone-components-5.24.0.tar.xz"; + sha256 = "0g9mbb8dzqcngc1sq43knwyc3kr81w3vl359wyrgvnr8r1qikv2z"; + name = "plasma-phone-components-5.24.0.tar.xz"; }; }; plasma-sdk = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-sdk-5.23.5.tar.xz"; - sha256 = "1s0l09lgqipks0w0jplaaipcs4a1ny4iclkz9hkfx4xjgcvk5m2j"; - name = "plasma-sdk-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-sdk-5.24.0.tar.xz"; + sha256 = "16fn98rv4qaci3b5whzjs6csbbxyrnmnr9gngn5dirdpla8cffld"; + name = "plasma-sdk-5.24.0.tar.xz"; }; }; plasma-systemmonitor = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-systemmonitor-5.23.5.tar.xz"; - sha256 = "1snzabxgja9rsk000h97qjadb9fs8zdbqpr4zqa9sk0jjgm011lf"; - name = "plasma-systemmonitor-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-systemmonitor-5.24.0.tar.xz"; + sha256 = "0zkvbgwm2rpyisbx72a75ywy45d2primjjpnmw76x6924j8sp7pd"; + name = "plasma-systemmonitor-5.24.0.tar.xz"; }; }; plasma-tests = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-tests-5.23.5.tar.xz"; - sha256 = "125b0sf7h0ibjl7msw1sc3cccms8nrrkx6cgwd46a9xi5svrsfg2"; - name = "plasma-tests-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-tests-5.24.0.tar.xz"; + sha256 = "1q95mrrb0p9ah4dg3bhkc9yh2ydasdmyd87jclraybcsfl6fi9kf"; + name = "plasma-tests-5.24.0.tar.xz"; }; }; plasma-thunderbolt = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-thunderbolt-5.23.5.tar.xz"; - sha256 = "1ich92w479llvq1vjlfyvxh3dvqc4pgycfi97hz4sfhn7dnaw3vr"; - name = "plasma-thunderbolt-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-thunderbolt-5.24.0.tar.xz"; + sha256 = "1vsb3wf2sgbfbm2wk8kj18qhv4z9l4yzxaf8g30zpz4d1sva7jdc"; + name = "plasma-thunderbolt-5.24.0.tar.xz"; }; }; plasma-vault = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-vault-5.23.5.tar.xz"; - sha256 = "1gf531q29qnvvsdxqgb1zyxwh5ck25kb0h1kk0d95pjkkylgyv0d"; - name = "plasma-vault-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-vault-5.24.0.tar.xz"; + sha256 = "1vk38iarhsr6rdrmhbcyjziw3dn8yjmgyn4dy2xdr0l4yqpq7qzz"; + name = "plasma-vault-5.24.0.tar.xz"; }; }; plasma-workspace = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-workspace-5.23.5.tar.xz"; - sha256 = "0x950nb56xmmdf7hfpbrd9hvgq1a8vca0x8g1qsvrjhh5ymydgif"; - name = "plasma-workspace-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-workspace-5.24.0.tar.xz"; + sha256 = "0jnksl2i2viw5aaqv38b371z4lxrxah6p1bjp40a1zfa68vr8dz3"; + name = "plasma-workspace-5.24.0.tar.xz"; }; }; plasma-workspace-wallpapers = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plasma-workspace-wallpapers-5.23.5.tar.xz"; - sha256 = "0nr631yz8v671a87vh9f2a5kfjhn4f9147b339p09fwgfpx06vfx"; - name = "plasma-workspace-wallpapers-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plasma-workspace-wallpapers-5.24.0.tar.xz"; + sha256 = "0329ks3q32nb9k3dxddlmxccjilgyxx5jplwbpln5b0p4plkn77k"; + name = "plasma-workspace-wallpapers-5.24.0.tar.xz"; }; }; plymouth-kcm = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/plymouth-kcm-5.23.5.tar.xz"; - sha256 = "0ynyqfm6az8yj3d30yxza5mjcsgfw6mmdkcgr3v95r6db112hqbx"; - name = "plymouth-kcm-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/plymouth-kcm-5.24.0.tar.xz"; + sha256 = "1pcvfrv8vmk43s14209iv8gngi3al9g4za74yz2l79nxscyppzh5"; + name = "plymouth-kcm-5.24.0.tar.xz"; }; }; polkit-kde-agent = { - version = "1-5.23.5"; + version = "1-5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/polkit-kde-agent-1-5.23.5.tar.xz"; - sha256 = "1wgpgbq987qa6fdayw4155fwym6rcn2z7w66s8faqv94x78njzln"; - name = "polkit-kde-agent-1-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/polkit-kde-agent-1-5.24.0.tar.xz"; + sha256 = "1qayxff5hl8qr9p5bsfrq0cz3x1jlwc8f0nx66rkbngphdm7085n"; + name = "polkit-kde-agent-1-5.24.0.tar.xz"; }; }; powerdevil = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/powerdevil-5.23.5.tar.xz"; - sha256 = "1lxjqd4w3jvnffcn9751j9k1fzsyasd1z8b1gm2iaf38iys21116"; - name = "powerdevil-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/powerdevil-5.24.0.tar.xz"; + sha256 = "06mrahlrqibvgfhcxywh72h6jblqq6sjsxqjzbq7zbq61vgc3jg3"; + name = "powerdevil-5.24.0.tar.xz"; }; }; qqc2-breeze-style = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/qqc2-breeze-style-5.23.5.tar.xz"; - sha256 = "15i9h2md54a1h7isvma4x9pni3iy0bk84z8ibn3a36ydimyq5hra"; - name = "qqc2-breeze-style-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/qqc2-breeze-style-5.24.0.tar.xz"; + sha256 = "11kwrqsq5i1y1kvhg75hvax7bz122cjdsvb66f6hvni09yfcgyci"; + name = "qqc2-breeze-style-5.24.0.tar.xz"; }; }; sddm-kcm = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/sddm-kcm-5.23.5.tar.xz"; - sha256 = "0csj1gml8w29dzv62zpbia9g10qz5k1nzv1yywsvay1q8rbqccxv"; - name = "sddm-kcm-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/sddm-kcm-5.24.0.tar.xz"; + sha256 = "011b68vca8nnmj9rxlyl5gl3xrrbysmcrx8szyfhha0wl9rgy2hx"; + name = "sddm-kcm-5.24.0.tar.xz"; }; }; systemsettings = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/systemsettings-5.23.5.tar.xz"; - sha256 = "0shsqancxbxy6f4fd9m2a30x7gnjmd6gb8kq4nhlj6rramcwn3jh"; - name = "systemsettings-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/systemsettings-5.24.0.tar.xz"; + sha256 = "1jx1kllfd5561fq11d90r7m68736rsdlyzb109yq8awdwrl1vkp3"; + name = "systemsettings-5.24.0.tar.xz"; }; }; xdg-desktop-portal-kde = { - version = "5.23.5"; + version = "5.24.0"; src = fetchurl { - url = "${mirror}/stable/plasma/5.23.5/xdg-desktop-portal-kde-5.23.5.tar.xz"; - sha256 = "09s3fpjdrnxqvnyxmxva0rx612d6pxv28qqvm00hzrb23nxz6qgb"; - name = "xdg-desktop-portal-kde-5.23.5.tar.xz"; + url = "${mirror}/stable/plasma/5.24.0/xdg-desktop-portal-kde-5.24.0.tar.xz"; + sha256 = "0f5wv4557avzcn7gf2hjqpn2p9r0d16k1iqcijzcfdmnvh2cp69d"; + name = "xdg-desktop-portal-kde-5.24.0.tar.xz"; }; }; } diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix index 46591d2369d..d503cf50ae9 100644 --- a/pkgs/development/compilers/go/1.16.nix +++ b/pkgs/development/compilers/go/1.16.nix @@ -168,6 +168,7 @@ stdenv.mkDerivation rec { ./creds-test.patch ./go-1.9-skip-flaky-19608.patch ./go-1.9-skip-flaky-20072.patch + ./skip-chown-tests-1.16.patch ./skip-external-network-tests-1.16.patch ./skip-nohup-tests.patch ./skip-cgo-tests-1.15.patch diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix index 4b2a3d39a98..a7259358749 100644 --- a/pkgs/development/compilers/go/1.17.nix +++ b/pkgs/development/compilers/go/1.17.nix @@ -168,6 +168,7 @@ stdenv.mkDerivation rec { ./creds-test.patch ./go-1.9-skip-flaky-19608.patch ./go-1.9-skip-flaky-20072.patch + ./skip-chown-tests-1.16.patch ./skip-external-network-tests-1.16.patch ./skip-nohup-tests.patch ./skip-cgo-tests-1.15.patch diff --git a/pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch b/pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch new file mode 100644 index 00000000000..8007ba05f6e --- /dev/null +++ b/pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch @@ -0,0 +1,18 @@ +diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp +index 94a7553e273b..8a1d455950b2 100644 +--- a/lib/Driver/Driver.cpp ++++ b/lib/Driver/Driver.cpp +@@ -412,6 +412,13 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const { + } + #endif + ++ { ++ Arg *A = DAL->MakeFlagArg(/*BaseArg=*/nullptr, ++ Opts.getOption(options::OPT_nostdlibinc)); ++ A->claim(); ++ DAL->append(A); ++ } ++ + return DAL; + } + diff --git a/pkgs/development/compilers/llvm/13/clang/default.nix b/pkgs/development/compilers/llvm/13/clang/default.nix index 6c227f1ae72..62b9e0470a6 100644 --- a/pkgs/development/compilers/llvm/13/clang/default.nix +++ b/pkgs/development/compilers/llvm/13/clang/default.nix @@ -42,6 +42,7 @@ let # mis-compilation in firefox. # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1741454 ./revert-malloc-alignment-assumption.patch + ./add-nostdlibinc-flag.patch (substituteAll { src = ../../clang-11-12-LLVMgold-path.patch; libllvmLibdir = "${libllvm.lib}/lib"; @@ -51,10 +52,6 @@ let postPatch = '' (cd tools && ln -s ../../clang-tools-extra extra) - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ - lib/Driver/ToolChains/*.cpp - # Patch for standalone doc building sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt '' + lib.optionalString stdenv.hostPlatform.isMusl '' diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix index be5e9404cdd..874be111ade 100644 --- a/pkgs/development/compilers/llvm/13/default.nix +++ b/pkgs/development/compilers/llvm/13/default.nix @@ -18,7 +18,7 @@ }: let - release_version = "13.0.0"; + release_version = "13.0.1"; candidate = ""; # empty or "rcN" dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; rev = ""; # When using a Git commit @@ -30,7 +30,7 @@ let owner = "llvm"; repo = "llvm-project"; rev = if rev != "" then rev else "llvmorg-${version}"; - sha256 = "0cjl0vssi4y2g4nfr710fb6cdhxmn5r0vis15sf088zsc5zydfhw"; + sha256 = "06dv6h5dmvzdxbif2s8njki6h32796v368dyb5945x8gjj72xh7k"; }; llvm_meta = { diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 1dc910c6222..72512a1202f 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -90,8 +90,8 @@ in rec { }; vala_0_54 = generic { - version = "0.54.6"; - sha256 = "SdYNlqP99sQoc5dEK8bW2Vv0CqffZ47kkSjEsRum5Gk="; + version = "0.54.7"; + sha256 = "Ygecof8C5dF65yqppa3GGuav3P67DZ8GBjo2776soMc="; }; vala = vala_0_54; diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 1bcbd2bb4b5..02ecf8d25b1 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -191,7 +191,6 @@ in with passthru; stdenv.mkDerivation { prePatch = optionalString stdenv.isDarwin '' substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' - substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' '' + optionalString (pythonOlder "3.9" && stdenv.isDarwin && x11Support) '' # Broken on >= 3.9; replaced with ./3.9/darwin-tcl-tk.patch substituteInPlace setup.py --replace /Library/Frameworks /no-such-path @@ -342,8 +341,6 @@ in with passthru; stdenv.mkDerivation { substituteInPlace ./setup.py --replace $i /no-such-path done '' + optionalString stdenv.isDarwin '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2" - export MACOSX_DEPLOYMENT_TARGET=10.6 # Override the auto-detection in setup.py, which assumes a universal build export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.isAarch64 then "uint128" else "x64"} '' + optionalString (isPy3k && pythonOlder "3.7") '' diff --git a/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch b/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch deleted file mode 100644 index 1be600bedb3..00000000000 --- a/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a31d1f1683ef2e9c063c3fa1db79d111cca99414 Mon Sep 17 00:00:00 2001 -From: David Redondo <kde@david-redondo.de> -Date: Fri, 10 Dec 2021 16:22:34 +0100 -Subject: [PATCH] Fix build against wayland 1.20 - -Fixes #5088 - -(cherry picked from commit e2ade2bfc46d915cd306c63c830b81d800b2575f) ---- - src/video/wayland/SDL_waylanddyn.h | 2 ++ - src/video/wayland/SDL_waylandsym.h | 4 ++++ - 2 files changed, 6 insertions(+) - -diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h -index 485a9c19f..37070e946 100644 ---- a/src/video/wayland/SDL_waylanddyn.h -+++ b/src/video/wayland/SDL_waylanddyn.h -@@ -81,6 +81,8 @@ void SDL_WAYLAND_UnloadSymbols(void); - #define wl_proxy_add_listener (*WAYLAND_wl_proxy_add_listener) - #define wl_proxy_marshal_constructor (*WAYLAND_wl_proxy_marshal_constructor) - #define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned) -+#define wl_proxy_marshal_flags (*WAYLAND_wl_proxy_marshal_flags) -+#define wl_proxy_marshal_array_flags (*WAYLAND_wl_proxy_marshal_array_flags) - - #define wl_seat_interface (*WAYLAND_wl_seat_interface) - #define wl_surface_interface (*WAYLAND_wl_surface_interface) -diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h -index c4c189d3c..789f49e27 100644 ---- a/src/video/wayland/SDL_waylandsym.h -+++ b/src/video/wayland/SDL_waylandsym.h -@@ -71,6 +71,10 @@ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor, (struct wl_prox - SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_10) - SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor_versioned, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, ...)) - -+SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_20) -+SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interfac, uint32_t version, uint32_t flags, ...)) -+SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_array_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, uint32_t flags, union wl_argument *args)) -+ - SDL_WAYLAND_INTERFACE(wl_seat_interface) - SDL_WAYLAND_INTERFACE(wl_surface_interface) - SDL_WAYLAND_INTERFACE(wl_shm_pool_interface) --- -2.33.1 diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 95022211d2f..d1086de3718 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -1,20 +1,50 @@ -{ lib, stdenv, config, fetchurl, pkg-config +{ lib +, stdenv +, config +, fetchurl +, pkg-config , libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms -, openglSupport ? libGLSupported, libGL -, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, alsa-lib +, openglSupport ? libGLSupported +, libGL +, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid +, alsa-lib , x11Support ? !stdenv.targetPlatform.isWindows && !stdenv.hostPlatform.isAndroid -, libX11, xorgproto, libICE, libXi, libXScrnSaver, libXcursor -, libXinerama, libXext, libXxf86vm, libXrandr +, libX11 +, xorgproto +, libICE +, libXi +, libXScrnSaver +, libXcursor +, libXinerama +, libXext +, libXxf86vm +, libXrandr , waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, wayland, wayland-protocols, libxkbcommon -, dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, dbus -, udevSupport ? false, udev -, ibusSupport ? false, ibus -, fcitxSupport ? false, fcitx +, wayland +, wayland-protocols +, libxkbcommon +, dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid +, dbus +, udevSupport ? false +, udev +, ibusSupport ? false +, ibus +, fcitxSupport ? false +, fcitx +, libdecorSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid +, libdecor +, pipewireSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid +, pipewire # NOTE: must be built with SDL2 without pipewire support , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid , libpulseaudio -, AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL -, audiofile, libiconv +, AudioUnit +, Cocoa +, CoreAudio +, CoreServices +, ForceFeedback +, OpenGL +, audiofile +, libiconv , withStatic ? false }: @@ -25,32 +55,16 @@ with lib; stdenv.mkDerivation rec { pname = "SDL2"; - version = "2.0.14"; + version = "2.0.20"; src = fetchurl { url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; - sha256 = "1g1jahknv5r4yhh1xq5sf0md20ybdw1zh1i15lry26sq39bmn8fq"; + sha256 = "sha256-xWq6HXtbDn6Znkp2mMcLY6M5T/lwS19uHFfgwW8E3QY="; }; dontDisableStatic = withStatic; outputs = [ "out" "dev" ]; outputBin = "dev"; # sdl-config - patches = [ - ./find-headers.patch - # To fix the build with wayland 1.20.0: - ./Fix-build-against-wayland-1.20.patch - ]; - - # Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797 - postPatch = '' - substituteInPlace include/SDL_opengl_glext.h \ - --replace "typedef ptrdiff_t GLsizeiptr;" "typedef signed long int khronos_ssize_t; typedef khronos_ssize_t GLsizeiptr;" \ - --replace "typedef ptrdiff_t GLintptr;" "typedef signed long int khronos_intptr_t; typedef khronos_intptr_t GLintptr;" - - substituteInPlace configure \ - --replace 'WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`' 'WAYLAND_SCANNER=`pkg-config --variable=wayland_scanner wayland-scanner`' - ''; - depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ]; @@ -63,18 +77,19 @@ stdenv.mkDerivation rec { # Propagated for #include <X11/Xlib.h> and <X11/Xatom.h> in SDL_syswm.h. ++ optionals x11Support [ libX11 xorgproto ]; - dlopenBuildInputs = [ ] - ++ optionals alsaSupport [ alsa-lib audiofile ] - ++ optional dbusSupport dbus - ++ optional pulseaudioSupport libpulseaudio - ++ optional udevSupport udev + dlopenBuildInputs = optionals alsaSupport [ alsa-lib audiofile ] + ++ optional dbusSupport dbus + ++ optional libdecorSupport libdecor + ++ optional pipewireSupport pipewire + ++ optional pulseaudioSupport libpulseaudio + ++ optional udevSupport udev ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ]; buildInputs = [ libiconv ] ++ dlopenBuildInputs - ++ optional ibusSupport ibus - ++ optional fcitxSupport fcitx + ++ optional ibusSupport ibus + ++ optional fcitxSupport fcitx ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ]; enableParallelBuilding = true; @@ -82,9 +97,9 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-oss" ] ++ optional (!x11Support) "--without-x" - ++ optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib" - ++ optional stdenv.targetPlatform.isWindows "--disable-video-opengles" - ++ optional stdenv.isDarwin "--disable-sdltest"; + ++ optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib" + ++ optional stdenv.targetPlatform.isWindows "--disable-video-opengles" + ++ optional stdenv.isDarwin "--disable-sdltest"; # We remove libtool .la files when static libs are requested, # because they make the builds of downstream libs like `SDL_tff` @@ -117,15 +132,17 @@ stdenv.mkDerivation rec { # # You can grep SDL sources with `grep -rE 'SDL_(NAME|.*_SYM)'` to # list the symbols used in this way. - postFixup = let - rpath = makeLibraryPath (dlopenPropagatedBuildInputs ++ dlopenBuildInputs); - in optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") '' - for lib in $out/lib/*.so* ; do - if ! [[ -L "$lib" ]]; then - patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib" - fi - done - ''; + postFixup = + let + rpath = makeLibraryPath (dlopenPropagatedBuildInputs ++ dlopenBuildInputs); + in + optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") '' + for lib in $out/lib/*.so* ; do + if ! [[ -L "$lib" ]]; then + patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib" + fi + done + ''; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/libraries/SDL2/find-headers.patch b/pkgs/development/libraries/SDL2/find-headers.patch deleted file mode 100644 index a2e0c483703..00000000000 --- a/pkgs/development/libraries/SDL2/find-headers.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -ru3 SDL2-2.0.14/sdl2-config.cmake.in SDL2-2.0.14-new/sdl2-config.cmake.in ---- SDL2-2.0.14/sdl2-config.cmake.in 2020-12-21 18:44:36.000000000 +0100 -+++ SDL2-2.0.14-new/sdl2-config.cmake.in 2021-01-16 23:53:40.721121792 +0100 -@@ -6,7 +6,8 @@ - set(SDL2_PREFIX "@prefix@") - set(SDL2_EXEC_PREFIX "@prefix@") - set(SDL2_LIBDIR "@libdir@") --set(SDL2_INCLUDE_DIRS "@includedir@/SDL2") -+set(SDL2_INCLUDE_DIRS "@includedir@/SDL2" $ENV{SDL2_PATH}) -+separate_arguments(SDL2_INCLUDE_DIRS) - set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@") - string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES) - -@@ -20,14 +21,14 @@ - - add_library(SDL2::SDL2 SHARED IMPORTED) - set_target_properties(SDL2::SDL2 PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "@includedir@/SDL2" -+ INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_LOCATION "@libdir@/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}" - INTERFACE_LINK_LIBRARIES "${SDL2_EXTRA_LINK_FLAGS}") - - add_library(SDL2::SDL2-static STATIC IMPORTED) - set_target_properties(SDL2::SDL2-static PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "@includedir@/SDL2" -+ INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_LOCATION "@libdir@/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2${CMAKE_STATIC_LIBRARY_SUFFIX}" - INTERFACE_LINK_LIBRARIES "${SDL2_EXTRA_LINK_FLAGS_STATIC}") -diff -ru3 SDL2-2.0.14/sdl2-config.in SDL2-2.0.14-new/sdl2-config.in ---- SDL2-2.0.14/sdl2-config.in 2020-12-21 18:44:36.000000000 +0100 -+++ SDL2-2.0.14-new/sdl2-config.in 2021-01-16 23:57:11.940353171 +0100 -@@ -42,7 +42,11 @@ - echo @SDL_VERSION@ - ;; - --cflags) -- echo -I@includedir@/SDL2 @SDL_CFLAGS@ -+ SDL_CFLAGS="" -+ for i in @includedir@/SDL2 $SDL2_PATH; do -+ SDL_CFLAGS="$SDL_CFLAGS -I$i" -+ done -+ echo $SDL_CFLAGS @SDL_CFLAGS@ - ;; - @ENABLE_SHARED_TRUE@ --libs) - @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ diff --git a/pkgs/development/libraries/aws-checksums/default.nix b/pkgs/development/libraries/aws-checksums/default.nix index 9042dc56154..058e4ea6a5f 100644 --- a/pkgs/development/libraries/aws-checksums/default.nix +++ b/pkgs/development/libraries/aws-checksums/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "aws-checksums"; - version = "0.1.11"; + version = "0.1.12"; src = fetchFromGitHub { owner = "awslabs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-fXu7GI2UR9QiBGP2n2pEFRjz9ZwA+BAK9zxhNnoYWt4="; + sha256 = "sha256-k3hIGk92HncRAktpuvNcZnaBZiLj63/wQBz2WScUjhQ="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 49069303570..bad87fba8c6 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -127,7 +127,14 @@ stdenv.mkDerivation { extraPrefix = "libs/context/"; }) ++ optional (and (versionAtLeast version "1.70") (!versionAtLeast version "1.73")) ./cmake-paths.patch - ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch; + ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch + ++ optional (version == "1.77.0") (fetchpatch { + url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch"; + sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4="; + stripLen = 2; + extraPrefix = ""; + includes = [ "boost/math/special_functions/detail/bernoulli_details.hpp" ]; + }); meta = { homepage = "http://boost.org/"; diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index 322c6ecebbf..a6f1bbd25e0 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "expat"; - version = "2.4.4"; + version = "2.4.6"; src = fetchurl { url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-tdJdbjczUcLtGbVitHMtAdJYmsjI6eeWLY3xIHzDEbg="; + sha256 = "sha256-3lV5S3qbwhSFL9wHW+quzYVO/hNhWX5iaO6HlGlRKJs="; }; outputs = [ "out" "dev" ]; # TODO: fix referrers diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix index cd971b291b9..7ea8ce6d29b 100644 --- a/pkgs/development/libraries/gd/default.nix +++ b/pkgs/development/libraries/gd/default.nix @@ -5,10 +5,11 @@ , pkg-config , zlib , libpng -, libjpeg ? null -, libwebp ? null -, libtiff ? null -, libXpm ? null +, libjpeg +, libwebp +, libtiff +, libXpm +, libavif , fontconfig , freetype }: @@ -41,8 +42,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ zlib fontconfig freetype ]; - propagatedBuildInputs = [ libpng libjpeg libwebp libtiff libXpm ]; + buildInputs = [ zlib fontconfig freetype libpng libjpeg libwebp libtiff libXpm libavif ]; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix index 83df37f236b..e1a3def0ba4 100644 --- a/pkgs/development/libraries/gdbm/default.nix +++ b/pkgs/development/libraries/gdbm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gdbm"; - version = "1.20"; + version = "1.23"; src = fetchurl { url = "mirror://gnu/gdbm/${pname}-${version}.tar.gz"; - sha256 = "sha256-OurAVkizSCoQotqYa586OAoprWUL6AuYF6Q1+4EUopI="; + sha256 = "sha256-dLEIHSH/8TrkvXwW5dblBKTCb3zeHcoNljpIQXS7ys0="; }; doCheck = true; # not cross; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 30f43c00a05..c98058768b2 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -45,11 +45,11 @@ in stdenv.mkDerivation rec { pname = "glib"; - version = "2.70.2"; + version = "2.70.3"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "BVFFnIXNPaPVjdyQFv0ovlr1A/XhYVpxultRKslFgG8="; + sha256 = "Iz+khBweGeOW23YH1Y9rdbozE8UL8Pzgey41MtXrfUY="; }; patches = optionals stdenv.isDarwin [ diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz index 49ffd4a7441..777e94e2b2e 100644 --- a/pkgs/development/libraries/glibc/2.33-master.patch.gz +++ b/pkgs/development/libraries/glibc/2.33-master.patch.gz Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 9a84a5f8167..ffec9972d28 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -44,7 +44,7 @@ let version = "2.33"; - patchSuffix = "-108"; + patchSuffix = "-117"; 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-108-g3e2a15c666 + glibc-2.33-117-g55446dd8a2 $ 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/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix index a08997ea2cd..0b765019992 100644 --- a/pkgs/development/libraries/gnu-config/default.nix +++ b/pkgs/development/libraries/gnu-config/default.nix @@ -20,6 +20,8 @@ in stdenv.mkDerivation { mkdir -p $out cp ${configGuess} $out/config.guess cp ${configSub} $out/config.sub + + chmod +x $out/config.* ''; meta = with lib; { diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 263807c2fc1..405814e19a9 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,28 +1,37 @@ -{ lib, stdenv, fetchurl, fetchpatch -, autoreconfHook, libgpg-error, gnupg, pkg-config, glib, pth, libassuan -, file, which, ncurses +{ lib +, stdenv +, fetchurl +, fetchpatch +, autoreconfHook +, libgpg-error +, gnupg +, pkg-config +, glib +, pth +, libassuan +, file +, which +, ncurses , texinfo , buildPackages , qtbase ? null -, pythonSupport ? false, swig2 ? null, python ? null +, pythonSupport ? false +, swig2 ? null +, python ? null }: - let inherit (stdenv.hostPlatform) system; in - stdenv.mkDerivation rec { pname = "gpgme"; - version = "1.16.0"; + version = "1.17.0"; src = fetchurl { url = "mirror://gnupg/gpgme/${pname}-${version}.tar.bz2"; - sha256 = "1l4yw9fqc1blvx1sq1jnfvp1jijla3ca2jw90p4x9m8hvfpc933c"; + sha256 = "1xb9k88rrafdi0n95nzx0d6bz7hcn9b44hciqbigrqkvxc6gblsf"; }; patches = [ - # probably included in > 1.16.0 - ./test_t-edit-sign.diff # https://dev.gnupg.org/rMc4cf527ea227edb468a84bf9b8ce996807bd6992 ./fix_gpg_list_keys.diff # https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html @@ -31,22 +40,48 @@ stdenv.mkDerivation rec { url = "https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20200415/f7be62d1/attachment.obj"; sha256 = "00d4sxq63601lzdp2ha1i8fvybh7dzih4531jh8bx07fab3sw65g"; }) + # Support Python 3.10 version detection without distutils, https://dev.gnupg.org/D545 + ./python-310-detection-without-distutils.patch + # Find correct version string for Python >= 3.10, https://dev.gnupg.org/D546 + ./python-find-version-string-above-310.patch # Disable python tests on Darwin as they use gpg (see configureFlags below) ] ++ lib.optional stdenv.isDarwin ./disable-python-tests.patch - # Fix _AC_UNDECLARED_WARNING for autoconf≥2.70. See https://lists.gnupg.org/pipermail/gnupg-devel/2020-November/034643.html + # Fix _AC_UNDECLARED_WARNING for autoconf>=2.70 + # See https://lists.gnupg.org/pipermail/gnupg-devel/2020-November/034643.html ++ lib.optional stdenv.cc.isClang ./fix-clang-autoconf-undeclared-warning.patch; outputs = [ "out" "dev" "info" ]; + outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool - propagatedBuildInputs = - [ libgpg-error glib libassuan pth ] - ++ lib.optional (qtbase != null) qtbase; + nativeBuildInputs = [ + autoreconfHook + gnupg + pkg-config + texinfo + ] ++ lib.optionals pythonSupport [ + ncurses + python + swig2 + which + ]; - nativeBuildInputs = [ pkg-config gnupg texinfo autoreconfHook ] - ++ lib.optionals pythonSupport [ python swig2 which ncurses ]; + propagatedBuildInputs = [ + glib + libassuan + libgpg-error + pth + ] ++ lib.optional (qtbase != null) [ + qtbase + ]; - depsBuildBuild = [ buildPackages.stdenv.cc ]; + checkInputs = [ + which + ]; + + depsBuildBuild = [ + buildPackages.stdenv.cc + ]; dontWrapQtApps = true; @@ -59,16 +94,15 @@ stdenv.mkDerivation rec { # which has a path length limit. Nix on darwin is using a build directory # that already has quite a long path and the resulting socket path doesn't # fit in the limit. https://github.com/NixOS/nix/pull/1085 - ++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ]; + ++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ]; NIX_CFLAGS_COMPILE = toString ( # qgpgme uses Q_ASSERT which retains build inputs at runtime unless # debugging is disabled lib.optional (qtbase != null) "-DQT_NO_DEBUG" # https://www.gnupg.org/documentation/manuals/gpgme/Largefile-Support-_0028LFS_0029.html - ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64"); - - checkInputs = [ which ]; + ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64" + ); doCheck = true; diff --git a/pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch b/pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch new file mode 100644 index 00000000000..e0eea9ff042 --- /dev/null +++ b/pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch @@ -0,0 +1,273 @@ +diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4 +--- a/m4/ax_python_devel.m4 ++++ b/m4/ax_python_devel.m4 +@@ -1,5 +1,5 @@ + # =========================================================================== +-# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html ++# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html + # =========================================================================== + # + # SYNOPSIS +@@ -12,8 +12,8 @@ + # in your configure.ac. + # + # This macro checks for Python and tries to get the include path to +-# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS) +-# output variables. It also exports $(PYTHON_EXTRA_LIBS) and ++# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output ++# variables. It also exports $(PYTHON_EXTRA_LIBS) and + # $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code. + # + # You can search for some particular version of Python by passing a +@@ -67,7 +67,7 @@ + # modified version of the Autoconf Macro, you may extend this special + # exception to the GPL to apply to your modified version as well. + +-#serial 17 ++#serial 23 + + AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) + AC_DEFUN([AX_PYTHON_DEVEL],[ +@@ -99,7 +99,7 @@ + This version of the AC@&t@_PYTHON_DEVEL macro + doesn't work properly with versions of Python before + 2.1.0. You may need to re-run configure, setting the +-variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG, ++variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG, + PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. + Moreover, to disable this check, set PYTHON_NOVERSIONCHECK + to something else than an empty string. +@@ -135,16 +135,25 @@ + # + # Check if you have distutils, else fail + # +- AC_MSG_CHECKING([for the distutils Python package]) +- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ AC_MSG_CHECKING([for the sysconfig Python package]) ++ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1` ++ if test $? -eq 0; then + AC_MSG_RESULT([yes]) ++ IMPORT_SYSCONFIG="import sysconfig" + else + AC_MSG_RESULT([no]) +- AC_MSG_ERROR([cannot import Python module "distutils". ++ ++ AC_MSG_CHECKING([for the distutils Python package]) ++ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1` ++ if test $? -eq 0; then ++ AC_MSG_RESULT([yes]) ++ IMPORT_SYSCONFIG="from distutils import sysconfig" ++ else ++ AC_MSG_ERROR([cannot import Python module "distutils". + Please check your Python installation. The error was: +-$ac_distutils_result]) +- PYTHON_VERSION="" ++$ac_sysconfig_result]) ++ PYTHON_VERSION="" ++ fi + fi + + # +@@ -152,10 +161,19 @@ + # + AC_MSG_CHECKING([for Python include path]) + if test -z "$PYTHON_CPPFLAGS"; then +- python_path=`$PYTHON -c "import distutils.sysconfig; \ +- print (distutils.sysconfig.get_python_inc ());"` +- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \ +- print (distutils.sysconfig.get_python_inc (plat_specific=1));"` ++ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then ++ # sysconfig module has different functions ++ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_path ('include'));"` ++ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_path ('platinclude'));"` ++ else ++ # old distutils way ++ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_python_inc ());"` ++ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_python_inc (plat_specific=1));"` ++ fi + if test -n "${python_path}"; then + if test "${plat_python_path}" != "${python_path}"; then + python_path="-I$python_path -I$plat_python_path" +@@ -172,14 +190,14 @@ + # Check for Python library path + # + AC_MSG_CHECKING([for Python library path]) +- if test -z "$PYTHON_LDFLAGS"; then ++ if test -z "$PYTHON_LIBS"; then + # (makes two attempts to ensure we've got a version number + # from the interpreter) + ac_python_version=`cat<<EOD | $PYTHON - + + # join all versioning strings, on some systems + # major/minor numbers could be in different list elements +-from distutils.sysconfig import * ++from sysconfig import * + e = get_config_var('VERSION') + if e is not None: + print(e) +@@ -197,7 +215,7 @@ + # Make the versioning information available to the compiler + + # JW: We don't need it and it interferes with the hack +- # to detect multiple Pyhton versions ++ # to detect multiple Python versions + #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"], + # [If available, contains the Python version number currently in use.]) + +@@ -205,8 +223,8 @@ + ac_python_libdir=`cat<<EOD | $PYTHON - + + # There should be only one +-import distutils.sysconfig +-e = distutils.sysconfig.get_config_var('LIBDIR') ++$IMPORT_SYSCONFIG ++e = sysconfig.get_config_var('LIBDIR') + if e is not None: + print (e) + EOD` +@@ -214,8 +232,8 @@ + # Now, for the library: + ac_python_library=`cat<<EOD | $PYTHON - + +-import distutils.sysconfig +-c = distutils.sysconfig.get_config_vars() ++$IMPORT_SYSCONFIG ++c = sysconfig.get_config_vars() + if 'LDVERSION' in c: + print ('python'+c[['LDVERSION']]) + else: +@@ -230,44 +248,67 @@ + then + # use the official shared library + ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"` +- PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library" ++ PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library" + else + # old way: use libpython from python_configdir + ac_python_libdir=`$PYTHON -c \ +- "from distutils.sysconfig import get_python_lib as f; \ ++ "from sysconfig import get_python_lib as f; \ + import os; \ + print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"` +- PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version" ++ PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version" + fi + +- if test -z "PYTHON_LDFLAGS"; then ++ if test -z "PYTHON_LIBS"; then + AC_MSG_ERROR([ + Cannot determine location of your Python DSO. Please check it was installed with +- dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand. ++ dynamic libraries enabled, or try setting PYTHON_LIBS by hand. + ]) + fi + fi +- AC_MSG_RESULT([$PYTHON_LDFLAGS]) +- AC_SUBST([PYTHON_LDFLAGS]) ++ AC_MSG_RESULT([$PYTHON_LIBS]) ++ AC_SUBST([PYTHON_LIBS]) + + # + # Check for site packages + # + AC_MSG_CHECKING([for Python site-packages path]) + if test -z "$PYTHON_SITE_PKG"; then +- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \ +- print (distutils.sysconfig.get_python_lib(0,0));"` ++ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then ++ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_path('purelib'));"` ++ else ++ # distutils.sysconfig way ++ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_python_lib(0,0));"` ++ fi + fi + AC_MSG_RESULT([$PYTHON_SITE_PKG]) + AC_SUBST([PYTHON_SITE_PKG]) + ++ # ++ # Check for platform-specific site packages ++ # ++ AC_MSG_CHECKING([for Python platform specific site-packages path]) ++ if test -z "$PYTHON_SITE_PKG"; then ++ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then ++ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_path('platlib'));"` ++ else ++ # distutils.sysconfig way ++ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ print (sysconfig.get_python_lib(1,0));"` ++ fi ++ fi ++ AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG]) ++ AC_SUBST([PYTHON_PLATFORM_SITE_PKG]) ++ + # + # libraries which must be linked in when embedding + # + AC_MSG_CHECKING(python extra libraries) + if test -z "$PYTHON_EXTRA_LIBS"; then +- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \ +- conf = distutils.sysconfig.get_config_var; \ ++ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ conf = sysconfig.get_config_var; \ + print (conf('LIBS') + ' ' + conf('SYSLIBS'))"` + fi + AC_MSG_RESULT([$PYTHON_EXTRA_LIBS]) +@@ -278,8 +319,8 @@ + # + AC_MSG_CHECKING(python extra linking flags) + if test -z "$PYTHON_EXTRA_LDFLAGS"; then +- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \ +- conf = distutils.sysconfig.get_config_var; \ ++ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \ ++ conf = sysconfig.get_config_var; \ + print (conf('LINKFORSHARED'))"` + fi + AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS]) +@@ -291,8 +332,10 @@ + AC_MSG_CHECKING([consistency of all components of python development environment]) + # save current global flags + ac_save_LIBS="$LIBS" ++ ac_save_LDFLAGS="$LDFLAGS" + ac_save_CPPFLAGS="$CPPFLAGS" +- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS" ++ LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS" ++ LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS" + CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS" + AC_LANG_PUSH([C]) + AC_LINK_IFELSE([ +@@ -303,15 +346,17 @@ + # turn back to default flags + CPPFLAGS="$ac_save_CPPFLAGS" + LIBS="$ac_save_LIBS" ++ LDFLAGS="$ac_save_LDFLAGS" + + AC_MSG_RESULT([$pythonexists]) + + if test ! "x$pythonexists" = "xyes"; then ++ # gpgme: only warn here, no error, as we are looking for multiple versions + AC_MSG_WARN([ + Could not link test program to Python. Maybe the main Python library has been + installed in some non-standard library path. If so, pass it to configure, +- via the LDFLAGS environment variable. +- Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib" ++ via the LIBS environment variable. ++ Example: ./configure LIBS="-L/usr/non-standard-path/python/lib" + ============================================================================ + You probably have to install the development version of the Python package + for your distribution. The exact name of this package varies among them. +@@ -323,4 +368,4 @@ + # + # all done! + # +-]) ++]) +\ No newline at end of file + diff --git a/pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch b/pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch new file mode 100644 index 00000000000..3d8191c9929 --- /dev/null +++ b/pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch @@ -0,0 +1,373 @@ +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -425,11 +425,12 @@ + if test "$found_py" = "1" -o "$found_py3" = "1"; then + # Reset everything, so that we can look for another Python. + m4_foreach([mym4pythonver], +- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[all]], ++ [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[3.10],[all]], + [unset PYTHON + unset PYTHON_VERSION + unset PYTHON_CPPFLAGS + unset PYTHON_LDFLAGS ++ unset PYTHON_LIBS + unset PYTHON_SITE_PKG + unset PYTHON_EXTRA_LIBS + unset PYTHON_EXTRA_LDFLAGS +diff --git a/m4/python.m4 b/m4/python.m4 +--- a/m4/python.m4 ++++ b/m4/python.m4 +@@ -1,10 +1,10 @@ + ## ------------------------ -*- Autoconf -*- + ## Python file handling + ## From Andrew Dalke +-## Updated by James Henstridge ++## Updated by James Henstridge and other contributors. + ## Updated by Werner Koch 2018-10-17 +-## --------------------------------- +-# Copyright (C) 1999-2017 Free Software Foundation, Inc. ++## ------------------------ ++# Copyright (C) 1999-2021 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -36,13 +36,12 @@ + # numbers and dots only. + AC_DEFUN([AM_PATH_PYTHON], + [ +- dnl Find a Python interpreter. Python versions prior to 2.0 are not +- dnl supported. (2.0 was released on October 16, 2000). Python 3.0 +- dnl through to Python 3.9 are also not supported. ++ dnl Find a Python interpreter. Python versions prior to 2.7 are not ++ dnl supported. Python 3.0 through to Python 3.3 are also not supported. + m4_define_default([_AM_PYTHON_INTERPRETER_LIST], + [python2 python2.7 dnl + python dnl +- python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 ++ python3 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 + ]) + + AC_ARG_VAR([PYTHON], [the Python interpreter]) +@@ -85,34 +84,141 @@ + ]) + + if test "$PYTHON" = :; then +- dnl Run any user-specified action, or abort. ++ dnl Run any user-specified action, or abort. + m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) + else + +- dnl Query Python for its version number. Getting [:3] seems to be +- dnl the best way to do this; it's what "site.py" does in the standard +- dnl library. +- ++ dnl Query Python for its version number. Although site.py simply uses ++ dnl sys.version[:3], printing that failed with Python 3.10, since the ++ dnl trailing zero was eliminated. So now we output just the major ++ dnl and minor version numbers, as numbers. Apparently the tertiary ++ dnl version is not of interest. ++ dnl + AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], +- [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) ++ [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`]) + AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) + +- dnl Use the values of $prefix and $exec_prefix for the corresponding +- dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made +- dnl distinct variables so they can be overridden if need be. However, +- dnl general consensus is that you shouldn't need this ability. +- +- AC_SUBST([PYTHON_PREFIX], ['${prefix}']) +- AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) +- +- dnl At times (like when building shared libraries) you may want ++ dnl At times, e.g., when building shared libraries, you may want + dnl to know which OS platform Python thinks this is. +- ++ dnl + AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], + [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) + AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) + +- # Just factor out some code duplication. ++ dnl emacs-page ++ dnl If --with-python-sys-prefix is given, use the values of sys.prefix ++ dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX ++ dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and ++ dnl ${exec_prefix} variables. ++ dnl ++ dnl The two are made distinct variables so they can be overridden if ++ dnl need be, although general consensus is that you shouldn't need ++ dnl this separation. ++ dnl ++ dnl Also allow directly setting the prefixes via configure options, ++ dnl overriding any default. ++ dnl ++ if test "x$prefix" = xNONE; then ++ am__usable_prefix=$ac_default_prefix ++ else ++ am__usable_prefix=$prefix ++ fi ++ ++ # Allow user to request using sys.* values from Python, ++ # instead of the GNU $prefix values. ++ AC_ARG_WITH([python-sys-prefix], ++ [AS_HELP_STRING([--with-python-sys-prefix], ++ [use Python's sys.prefix and sys.exec_prefix values])], ++ [am_use_python_sys=:], ++ [am_use_python_sys=false]) ++ ++ # Allow user to override whatever the default Python prefix is. ++ AC_ARG_WITH([python_prefix], ++ [AS_HELP_STRING([--with-python_prefix], ++ [override the default PYTHON_PREFIX])], ++ [am_python_prefix_subst=$withval ++ am_cv_python_prefix=$withval ++ AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix]) ++ AC_MSG_RESULT([$am_cv_python_prefix])], ++ [ ++ if $am_use_python_sys; then ++ # using python sys.prefix value, not GNU ++ AC_CACHE_CHECK([for python default $am_display_PYTHON prefix], ++ [am_cv_python_prefix], ++ [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`]) ++ ++ dnl If sys.prefix is a subdir of $prefix, replace the literal value of ++ dnl $prefix with a variable reference so it can be overridden. ++ case $am_cv_python_prefix in ++ $am__usable_prefix*) ++ am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` ++ am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` ++ ;; ++ *) ++ am_python_prefix_subst=$am_cv_python_prefix ++ ;; ++ esac ++ else # using GNU prefix value, not python sys.prefix ++ am_python_prefix_subst='${prefix}' ++ am_python_prefix=$am_python_prefix_subst ++ AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix]) ++ AC_MSG_RESULT([$am_python_prefix]) ++ fi]) ++ # Substituting python_prefix_subst value. ++ AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst]) ++ ++ # emacs-page Now do it all over again for Python exec_prefix, but with yet ++ # another conditional: fall back to regular prefix if that was specified. ++ AC_ARG_WITH([python_exec_prefix], ++ [AS_HELP_STRING([--with-python_exec_prefix], ++ [override the default PYTHON_EXEC_PREFIX])], ++ [am_python_exec_prefix_subst=$withval ++ am_cv_python_exec_prefix=$withval ++ AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix]) ++ AC_MSG_RESULT([$am_cv_python_exec_prefix])], ++ [ ++ # no explicit --with-python_exec_prefix, but if ++ # --with-python_prefix was given, use its value for python_exec_prefix too. ++ AS_IF([test -n "$with_python_prefix"], ++ [am_python_exec_prefix_subst=$with_python_prefix ++ am_cv_python_exec_prefix=$with_python_prefix ++ AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix]) ++ AC_MSG_RESULT([$am_cv_python_exec_prefix])], ++ [ ++ # Set am__usable_exec_prefix whether using GNU or Python values, ++ # since we use that variable for pyexecdir. ++ if test "x$exec_prefix" = xNONE; then ++ am__usable_exec_prefix=$am__usable_prefix ++ else ++ am__usable_exec_prefix=$exec_prefix ++ fi ++ # ++ if $am_use_python_sys; then # using python sys.exec_prefix, not GNU ++ AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix], ++ [am_cv_python_exec_prefix], ++ [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`]) ++ dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the ++ dnl literal value of $exec_prefix with a variable reference so it can ++ dnl be overridden. ++ case $am_cv_python_exec_prefix in ++ $am__usable_exec_prefix*) ++ am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` ++ am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` ++ ;; ++ *) ++ am_python_exec_prefix_subst=$am_cv_python_exec_prefix ++ ;; ++ esac ++ else # using GNU $exec_prefix, not python sys.exec_prefix ++ am_python_exec_prefix_subst='${exec_prefix}' ++ am_python_exec_prefix=$am_python_exec_prefix_subst ++ AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix]) ++ AC_MSG_RESULT([$am_python_exec_prefix]) ++ fi])]) ++ # Substituting python_exec_prefix_subst. ++ AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst]) ++ ++ # Factor out some code duplication into this shell variable. + am_python_setup_sysconfig="\ + import sys + # Prefer sysconfig over distutils.sysconfig, for better compatibility +@@ -132,96 +238,95 @@ + except ImportError: + pass" + +- dnl Set up 4 directories: ++ dnl emacs-page Set up 4 directories: + +- dnl pythondir -- where to install python scripts. This is the +- dnl site-packages directory, not the python standard library +- dnl directory like in previous automake betas. This behavior +- dnl is more consistent with lispdir.m4 for example. ++ dnl 1. pythondir: where to install python scripts. This is the ++ dnl site-packages directory, not the python standard library ++ dnl directory like in previous automake betas. This behavior ++ dnl is more consistent with lispdir.m4 for example. + dnl Query distutils for this directory. +- AC_CACHE_CHECK([for $am_display_PYTHON script directory], +- [am_cv_python_pythondir], +- [if test "x$prefix" = xNONE +- then +- am_py_prefix=$ac_default_prefix +- else +- am_py_prefix=$prefix +- fi +- am_cv_python_pythondir=`$PYTHON -c " ++ dnl ++ AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)], ++ [am_cv_python_pythondir], ++ [if test "x$am_cv_python_prefix" = x; then ++ am_py_prefix=$am__usable_prefix ++ else ++ am_py_prefix=$am_cv_python_prefix ++ fi ++ am_cv_python_pythondir=`$PYTHON -c " + $am_python_setup_sysconfig + if can_use_sysconfig: +- sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) ++ sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + else: +- from distutils import sysconfig +- sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') ++ from distutils import sysconfig ++ sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') + sys.stdout.write(sitedir)"` +- case $am_cv_python_pythondir in +- $am_py_prefix*) +- am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` +- am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` +- ;; +- *) +- case $am_py_prefix in +- /usr|/System*) ;; +- *) +- am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages +- ;; +- esac +- ;; ++ # ++ case $am_cv_python_pythondir in ++ $am_py_prefix*) ++ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` ++ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` ++ ;; ++ *) ++ case $am_py_prefix in ++ /usr|/System*) ;; ++ *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" ++ ;; + esac +- ]) ++ ;; ++ esac ++ ]) + AC_SUBST([pythondir], [$am_cv_python_pythondir]) + +- dnl pkgpythondir -- $PACKAGE directory under pythondir. Was +- dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is +- dnl more consistent with the rest of automake. +- ++ dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was ++ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is ++ dnl more consistent with the rest of automake. ++ dnl + AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) + +- dnl pyexecdir -- directory for installing python extension modules +- dnl (shared libraries) ++ dnl 3. pyexecdir: directory for installing python extension modules ++ dnl (shared libraries). + dnl Query distutils for this directory. +- AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], +- [am_cv_python_pyexecdir], +- [if test "x$exec_prefix" = xNONE +- then +- am_py_exec_prefix=$am_py_prefix +- else +- am_py_exec_prefix=$exec_prefix +- fi +- am_cv_python_pyexecdir=`$PYTHON -c " ++ dnl ++ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)], ++ [am_cv_python_pyexecdir], ++ [if test "x$am_cv_python_exec_prefix" = x; then ++ am_py_exec_prefix=$am__usable_exec_prefix ++ else ++ am_py_exec_prefix=$am_cv_python_exec_prefix ++ fi ++ am_cv_python_pyexecdir=`$PYTHON -c " + $am_python_setup_sysconfig + if can_use_sysconfig: +- sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) ++ sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) + else: +- from distutils import sysconfig +- sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') ++ from distutils import sysconfig ++ sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') + sys.stdout.write(sitedir)"` +- case $am_cv_python_pyexecdir in +- $am_py_exec_prefix*) +- am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` +- am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` +- ;; +- *) +- case $am_py_exec_prefix in +- /usr|/System*) ;; +- *) +- am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages +- ;; +- esac +- ;; ++ # ++ case $am_cv_python_pyexecdir in ++ $am_py_exec_prefix*) ++ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` ++ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` ++ ;; ++ *) ++ case $am_py_exec_prefix in ++ /usr|/System*) ;; ++ *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" ++ ;; + esac +- ]) ++ ;; ++ esac ++ ]) + AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) + +- dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) +- ++ dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE) ++ dnl + AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) + + dnl Run any user-specified action. + $2 + fi +- + ]) + + + diff --git a/pkgs/development/libraries/gpgme/test_t-edit-sign.diff b/pkgs/development/libraries/gpgme/test_t-edit-sign.diff deleted file mode 100644 index 55075b9eb12..00000000000 --- a/pkgs/development/libraries/gpgme/test_t-edit-sign.diff +++ /dev/null @@ -1,125 +0,0 @@ -From 81a33ea5e1b86d586b956e893a5b25c4cd41c969 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de> -Date: Sat, 26 Jun 2021 18:02:47 +0200 -Subject: [PATCH] core: Fix use-after-free issue in test - -* tests/gpg/t-edit-sign.c (sign_key, verify_key_signature): New. -(main): Factored out signing and verifying the result. --- - -Factoring the two steps of the test into different functions fixes the -use-after-free issue that was caused by accidentaly using a variable -of the first step in the second step. - -GnuPG-bug-id: 5509 ---- - tests/gpg/t-edit-sign.c | 54 ++++++++++++++++++++++++++++------------- - 1 file changed, 37 insertions(+), 17 deletions(-) - -diff --git a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c -index 2f983622..e0494c54 100644 ---- a/tests/gpg/t-edit-sign.c -+++ b/tests/gpg/t-edit-sign.c -@@ -107,31 +107,19 @@ interact_fnc (void *opaque, const char *status, const char *args, int fd) - } - - --int --main (int argc, char **argv) -+void -+sign_key (const char *key_fpr, const char *signer_fpr) - { - gpgme_ctx_t ctx; - gpgme_error_t err; - gpgme_data_t out = NULL; -- const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */ - gpgme_key_t signing_key = NULL; -- const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */ - gpgme_key_t key = NULL; -- gpgme_key_t signed_key = NULL; -- gpgme_user_id_t signed_uid = NULL; -- gpgme_key_sig_t key_sig = NULL; - char *agent_info; -- int mode; -- -- (void)argc; -- (void)argv; -- -- init_gpgme (GPGME_PROTOCOL_OpenPGP); - - err = gpgme_new (&ctx); - fail_if_err (err); - -- /* Sign the key */ - agent_info = getenv("GPG_AGENT_INFO"); - if (!(agent_info && strchr (agent_info, ':'))) - gpgme_set_passphrase_cb (ctx, passphrase_cb, 0); -@@ -159,8 +147,23 @@ main (int argc, char **argv) - gpgme_data_release (out); - gpgme_key_unref (key); - gpgme_key_unref (signing_key); -+ gpgme_release (ctx); -+} -+ -+ -+void -+verify_key_signature (const char *key_fpr, const char *signer_keyid) -+{ -+ gpgme_ctx_t ctx; -+ gpgme_error_t err; -+ gpgme_key_t signed_key = NULL; -+ gpgme_user_id_t signed_uid = NULL; -+ gpgme_key_sig_t key_sig = NULL; -+ int mode; -+ -+ err = gpgme_new (&ctx); -+ fail_if_err (err); - -- /* Verify the key signature */ - mode = gpgme_get_keylist_mode (ctx); - mode |= GPGME_KEYLIST_MODE_SIGS; - err = gpgme_set_keylist_mode (ctx, mode); -@@ -168,7 +171,7 @@ main (int argc, char **argv) - err = gpgme_get_key (ctx, key_fpr, &signed_key, 0); - fail_if_err (err); - -- signed_uid = key->uids; -+ signed_uid = signed_key->uids; - if (!signed_uid) - { - fprintf (stderr, "Signed key has no user IDs\n"); -@@ -180,7 +183,7 @@ main (int argc, char **argv) - exit (1); - } - key_sig = signed_uid->signatures->next; -- if (strcmp ("2D727CC768697734", key_sig->keyid)) -+ if (strcmp (signer_keyid, key_sig->keyid)) - { - fprintf (stderr, "Unexpected key ID in second user ID sig: %s\n", - key_sig->keyid); -@@ -196,6 +199,23 @@ main (int argc, char **argv) - - gpgme_key_unref (signed_key); - gpgme_release (ctx); -+} -+ -+ -+int -+main (int argc, char **argv) -+{ -+ const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */ -+ const char *signer_keyid = signer_fpr + strlen(signer_fpr) - 16; -+ const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */ -+ -+ (void)argc; -+ (void)argv; -+ -+ init_gpgme (GPGME_PROTOCOL_OpenPGP); -+ -+ sign_key (key_fpr, signer_fpr); -+ verify_key_signature (key_fpr, signer_keyid); - - return 0; - } --- -2.32.0 diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 1e36f1e7f0f..e47b18252e9 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -24,7 +24,7 @@ }: let - version = "3.2.0"; + version = "3.3.2"; inherit (lib) optional optionals optionalString; mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}"; @@ -39,7 +39,7 @@ stdenv.mkDerivation { owner = "harfbuzz"; repo = "harfbuzz"; rev = version; - sha256 = "sha256-iNYp/hyJTaaF6e09YpUL7ktBhq2wRN9zKiEH59WLbYU="; + sha256 = "sha256-UbYqV7Ch9ugTIwSsCpjnS8H7tcv4P3OVpFDFDZtQCk0="; }; postPatch = '' diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh index 50204bc0ec0..cb4e4cc2629 100644 --- a/pkgs/development/libraries/kde-frameworks/fetch.sh +++ b/pkgs/development/libraries/kde-frameworks/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/frameworks/5.90/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/frameworks/5.91/ -A '*.tar.xz' ) diff --git a/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch b/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch index 07da70092dc..1379707f02f 100644 --- a/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch +++ b/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch @@ -13,18 +13,18 @@ diff --git a/src/client.cpp b/src/client.cpp index 44fbacd..6b5abf5 100644 --- a/src/client.cpp +++ b/src/client.cpp -@@ -378,11 +378,14 @@ int KDEsuClient::stopServer() +@@ -384,11 +384,14 @@ int KDEsuClient::stopServer() static QString findDaemon() { -- QString daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud"); +- QString daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF "/kdesud"); - if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH - daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud")); - if (daemon.isEmpty()) { - qCWarning(KSU_LOG) << "kdesud daemon not found."; + QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud"); + if (!QFile::exists(daemon)) { // if not in wrappers -+ daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud"); ++ daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF "/kdesud"); + if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH + daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud")); + if (daemon.isEmpty()) { diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix index 1ffc5df68c3..2b3983a892c 100644 --- a/pkgs/development/libraries/kde-frameworks/srcs.nix +++ b/pkgs/development/libraries/kde-frameworks/srcs.nix @@ -4,667 +4,667 @@ { attica = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/attica-5.90.0.tar.xz"; - sha256 = "0zs37qyh9biafk76ps2xfc41hbd1n4dq42qqqcvbqcrwfgqz2wlk"; - name = "attica-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/attica-5.91.0.tar.xz"; + sha256 = "0svvy7qflidwxns12y2lra54gg6lhglcddzmrw7ccvbdyqcy2pn0"; + name = "attica-5.91.0.tar.xz"; }; }; baloo = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/baloo-5.90.0.tar.xz"; - sha256 = "1nnfys8dyiivd2if81qrgrmpprfni77an9l3wff0l5k85ac86i56"; - name = "baloo-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/baloo-5.91.0.tar.xz"; + sha256 = "1cqjbaiwqba707xaz9zsrdz9cms2mdrhv6jpwsq8q7f4g4rxcx3m"; + name = "baloo-5.91.0.tar.xz"; }; }; bluez-qt = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/bluez-qt-5.90.0.tar.xz"; - sha256 = "056i5ndrg5fqm1bx49a0plfhlladphha128wi766zdhcm6np11z3"; - name = "bluez-qt-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/bluez-qt-5.91.0.tar.xz"; + sha256 = "0p37jrmppwahh4vaq3wkw6xn0ms8dxcxpfd4glzjlnw426zrwnjr"; + name = "bluez-qt-5.91.0.tar.xz"; }; }; breeze-icons = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/breeze-icons-5.90.0.tar.xz"; - sha256 = "06dfh571rf8gp4gnnqn13xqgc1bpc4ycn6bmxf38x53fxxfl3fnn"; - name = "breeze-icons-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/breeze-icons-5.91.0.tar.xz"; + sha256 = "0aj24gn48c17n9jzrj0az04ph4hpx7zf2rj4vgwl19iip69vfzf1"; + name = "breeze-icons-5.91.0.tar.xz"; }; }; extra-cmake-modules = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/extra-cmake-modules-5.90.0.tar.xz"; - sha256 = "1c5wza7srib3mdkf29ygmyj5b6jq322s6h7k5hlljqm5xhy7q07k"; - name = "extra-cmake-modules-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/extra-cmake-modules-5.91.0.tar.xz"; + sha256 = "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp"; + name = "extra-cmake-modules-5.91.0.tar.xz"; }; }; frameworkintegration = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/frameworkintegration-5.90.0.tar.xz"; - sha256 = "1v7vlq2gk7j5b6gzbawgnpii7csh2zclp5v24qhx4qrmpfssylan"; - name = "frameworkintegration-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/frameworkintegration-5.91.0.tar.xz"; + sha256 = "1176ql8f96ap4gzjaj8vm4cr6f2rsx9z93gpc4hx4jcqjhxqrg3z"; + name = "frameworkintegration-5.91.0.tar.xz"; }; }; kactivities = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kactivities-5.90.0.tar.xz"; - sha256 = "0wf7nnf3bjz2iq2wqxnyay1100ks0zscsh7sa8xfcijrl7pp305w"; - name = "kactivities-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kactivities-5.91.0.tar.xz"; + sha256 = "03y4hx7jgrhac12ys8pm22h0f49kms8b71gck4xv577p3ywi3j60"; + name = "kactivities-5.91.0.tar.xz"; }; }; kactivities-stats = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kactivities-stats-5.90.0.tar.xz"; - sha256 = "0qamy8xggjlnm8pkv6vxbaagcp1hg9vgi2ws2yb9xpqk8mdlfbvp"; - name = "kactivities-stats-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kactivities-stats-5.91.0.tar.xz"; + sha256 = "0864qfljh20723djfzdv8h6nipw01825lhiknyqz17aj2x2ymzcq"; + name = "kactivities-stats-5.91.0.tar.xz"; }; }; kapidox = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kapidox-5.90.0.tar.xz"; - sha256 = "16jl519sx7pirjp5x57x5gbgv477457063rrbwpvyf2ldb6lc29p"; - name = "kapidox-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kapidox-5.91.0.tar.xz"; + sha256 = "1xxpl8rn49d2cr7ld94j3wsg21019l2kq14p5bvilisnj3salka3"; + name = "kapidox-5.91.0.tar.xz"; }; }; karchive = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/karchive-5.90.0.tar.xz"; - sha256 = "0411rpgr9dy0zf9mmhj7n7ax0afrn7zvkpzpnjvpvvqsrfkz7qm6"; - name = "karchive-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/karchive-5.91.0.tar.xz"; + sha256 = "1kjc47zzdd9jhcmynq6zw6y6zaj2c1i8pxvszx3d9x5asaz2qq53"; + name = "karchive-5.91.0.tar.xz"; }; }; kauth = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kauth-5.90.0.tar.xz"; - sha256 = "1g4i1prspcczpx25wvd8lgdk8c3my7kp3wv489gvcci40rl5z913"; - name = "kauth-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kauth-5.91.0.tar.xz"; + sha256 = "001svdyvs8qc6h8zkb9x072npkz6xabz6j0djjb380gl9h9wnrgq"; + name = "kauth-5.91.0.tar.xz"; }; }; kbookmarks = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kbookmarks-5.90.0.tar.xz"; - sha256 = "1svc1i9zxbxf65crfhnv6sz5gknb7x87lzjd8cn11y5lwnsw36kx"; - name = "kbookmarks-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kbookmarks-5.91.0.tar.xz"; + sha256 = "0iqfngsvpbgxk6h8l68idcp97df28sa2zwj707zs0mf2bl9k68m4"; + name = "kbookmarks-5.91.0.tar.xz"; }; }; kcalendarcore = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcalendarcore-5.90.0.tar.xz"; - sha256 = "0qbds2ysjv9rqwpvrhisvdd6wyhq5qwhbw5xcbj7ndxwpf8lpa8w"; - name = "kcalendarcore-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcalendarcore-5.91.0.tar.xz"; + sha256 = "0gkn0mzk3za86pjrpi8gd9d71bfv0ihzkgn8yy1ik3dw1rf9gxip"; + name = "kcalendarcore-5.91.0.tar.xz"; }; }; kcmutils = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcmutils-5.90.0.tar.xz"; - sha256 = "04crq3j48xwlvp047p3waqrv1gg5sv1950jh02w85q00yjjh0qxk"; - name = "kcmutils-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcmutils-5.91.0.tar.xz"; + sha256 = "009r9r7fz1588g2cnqw585d2fz170x8j8bip1zqr7i4jl21ms68s"; + name = "kcmutils-5.91.0.tar.xz"; }; }; kcodecs = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcodecs-5.90.0.tar.xz"; - sha256 = "0kwqyhjs63pqslqcmv3sngyqvl6ah8iaa6nn045sb8a58xb09inh"; - name = "kcodecs-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcodecs-5.91.0.tar.xz"; + sha256 = "0qkwvbp4vp3w57f3fyjknxd66qac77hl77mf042c7jxjl5vq7h1y"; + name = "kcodecs-5.91.0.tar.xz"; }; }; kcompletion = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcompletion-5.90.0.tar.xz"; - sha256 = "0hd3nsixibw5z846mpib2lap3ar65rqvasifdnlmqsrvxfmw0ggk"; - name = "kcompletion-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcompletion-5.91.0.tar.xz"; + sha256 = "1l6z85a4rh3vrf4x5g3pqvp0q36gwmw0fbp9ny1iaqyy21dlh8i4"; + name = "kcompletion-5.91.0.tar.xz"; }; }; kconfig = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kconfig-5.90.0.tar.xz"; - sha256 = "0yqs3ydxzhhb7rrl01swjc9xw8j1bs3n204bf9slb2bs7lfz56rn"; - name = "kconfig-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kconfig-5.91.0.tar.xz"; + sha256 = "0axdnqipa8xgx864zylxllnzchlp50q59bbfw3c98svvvkm3yg56"; + name = "kconfig-5.91.0.tar.xz"; }; }; kconfigwidgets = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kconfigwidgets-5.90.0.tar.xz"; - sha256 = "1sm1x64x2v3xfcz9ia6qk8d8y1q02fggrc2q0yy5ag5xh1yr9zwq"; - name = "kconfigwidgets-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kconfigwidgets-5.91.0.tar.xz"; + sha256 = "01mvv01hv64wadjh8xk3hhp1vbs04cvbrjpfl1g9cv2sa6hr7102"; + name = "kconfigwidgets-5.91.0.tar.xz"; }; }; kcontacts = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcontacts-5.90.0.tar.xz"; - sha256 = "0vv2136da5a6lwdj2x38jx2qwrk96hgn8iwaad4yynvc2csx6dim"; - name = "kcontacts-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcontacts-5.91.0.tar.xz"; + sha256 = "1c839c9rvys3jwmi3fzw06r1nhgvrb4z8sdh8gda0w03vqh7h1hv"; + name = "kcontacts-5.91.0.tar.xz"; }; }; kcoreaddons = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcoreaddons-5.90.0.tar.xz"; - sha256 = "02m4h4r0kdy94zq8c6d2fhnd8qwrp4a0v5i4wf6khk4yf4fqy5kf"; - name = "kcoreaddons-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcoreaddons-5.91.0.tar.xz"; + sha256 = "16vimllvcs6rnb1ccbv9zg8hxbzacisgrlffyvwm608f4q1xmqyz"; + name = "kcoreaddons-5.91.0.tar.xz"; }; }; kcrash = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kcrash-5.90.0.tar.xz"; - sha256 = "0634jqzbvr8xkv53n2q3fcqlkcmq843w7g455v3swnlaqi92l04f"; - name = "kcrash-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kcrash-5.91.0.tar.xz"; + sha256 = "0gdknmp5a36ipvzms4jhxywyxpjh0vy26861c54jfsk13yircjal"; + name = "kcrash-5.91.0.tar.xz"; }; }; kdav = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kdav-5.90.0.tar.xz"; - sha256 = "0181ray8vigmwlamx4j5dinw10al0g4l965kyx4wjq9k59nxxgbi"; - name = "kdav-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kdav-5.91.0.tar.xz"; + sha256 = "026w3bk2lmc7lqzra8w9jq8i2l1hvqsxz36r1jzj9p01skhdm32v"; + name = "kdav-5.91.0.tar.xz"; }; }; kdbusaddons = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kdbusaddons-5.90.0.tar.xz"; - sha256 = "0g609bymfixwaic30y7i0q96anf7pi3galipmjbbfg85ghj9rsa4"; - name = "kdbusaddons-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kdbusaddons-5.91.0.tar.xz"; + sha256 = "18qhpj0s4abypkb8ix2d84wv1kqv6qxyblninn2f9hjkl2dnlwis"; + name = "kdbusaddons-5.91.0.tar.xz"; }; }; kdeclarative = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kdeclarative-5.90.0.tar.xz"; - sha256 = "1z7zyj6pw2ym3izi19kpgy12mqpar6mbdbsn6jpxy36l6m3jld1y"; - name = "kdeclarative-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kdeclarative-5.91.0.tar.xz"; + sha256 = "183df5c0xyjqsip0izqvvk4wy2bjb973900s1wqsldhhvc7gpf7z"; + name = "kdeclarative-5.91.0.tar.xz"; }; }; kded = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kded-5.90.0.tar.xz"; - sha256 = "094g6p87nd5cxcars71315w6zrxjgiw2080p6cf6g72ww54k7sps"; - name = "kded-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kded-5.91.0.tar.xz"; + sha256 = "1zi0sixlzaxvw4lfil2r36i3xrav3vfwxp2r1lp4n65dpl7nv7p5"; + name = "kded-5.91.0.tar.xz"; }; }; kdelibs4support = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kdelibs4support-5.90.0.tar.xz"; - sha256 = "0zxc11jbg06qz79ljrd6wl36jp73hafcmbk29d0hcvxnkscg3k29"; - name = "kdelibs4support-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kdelibs4support-5.91.0.tar.xz"; + sha256 = "1373fi9vi7ki8frr0lsw6yp335i95v8yq2j41s7ip003dpy4hr2g"; + name = "kdelibs4support-5.91.0.tar.xz"; }; }; kdesignerplugin = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kdesignerplugin-5.90.0.tar.xz"; - sha256 = "18gsy8f32hjadzjnavi3dsknc6hflcnfpr0107lwfc735fd2x2iq"; - name = "kdesignerplugin-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kdesignerplugin-5.91.0.tar.xz"; + sha256 = "07lvvryc3k418hd0j7ddlqhid26c51isa8mvk7g6gd0v2x3gp76q"; + name = "kdesignerplugin-5.91.0.tar.xz"; }; }; kdesu = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kdesu-5.90.0.tar.xz"; - sha256 = "1q8k2q7c41fzw9gwx9nq4zjpjdwvh29zyh3zd0w3r2kxf6vhf1wp"; - name = "kdesu-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kdesu-5.91.0.tar.xz"; + sha256 = "1wj099w810dabqn43pqis4sism3zwq3d1qa9mvcdyjafqbl7xnjm"; + name = "kdesu-5.91.0.tar.xz"; }; }; kdewebkit = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kdewebkit-5.90.0.tar.xz"; - sha256 = "19dqlxy2sl822aldqy1jj7fvxabmg97a0av7d5ayzhnbhhy5izx1"; - name = "kdewebkit-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kdewebkit-5.91.0.tar.xz"; + sha256 = "1mln0w1dzrbpm373vfpcyss4xxnrfgwh9nhzr8wmzs8965bn3wqq"; + name = "kdewebkit-5.91.0.tar.xz"; }; }; kdnssd = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kdnssd-5.90.0.tar.xz"; - sha256 = "17szlqsafz6p4h7s9wascaggn5909c1ig452wy6y4z4402s2lsrr"; - name = "kdnssd-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kdnssd-5.91.0.tar.xz"; + sha256 = "1smzwh7lvz8g7vydxnd2kkh0ymg7yp6akc7k2vg8q65pa6pxqn3g"; + name = "kdnssd-5.91.0.tar.xz"; }; }; kdoctools = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kdoctools-5.90.0.tar.xz"; - sha256 = "1l2a9mlcm8np3s8myq0hj08l82284r90yhx3z2gn7h68b8fzyx0s"; - name = "kdoctools-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kdoctools-5.91.0.tar.xz"; + sha256 = "02lr4l4n5gnv7ffzml8lbrdwgfpq6m7ayhz3bdqqijdfvw6h283n"; + name = "kdoctools-5.91.0.tar.xz"; }; }; kemoticons = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kemoticons-5.90.0.tar.xz"; - sha256 = "08mgk56dafj3q9gs69qcx17qfc45s8ifkjrpzg44p8zs0q51q6cb"; - name = "kemoticons-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kemoticons-5.91.0.tar.xz"; + sha256 = "1jznkiq87rkndv10xs6974b5k0v82ly32agy5acxc2xy9wq7la0h"; + name = "kemoticons-5.91.0.tar.xz"; }; }; kfilemetadata = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kfilemetadata-5.90.0.tar.xz"; - sha256 = "18y4bn6hz8xa68m0nxv88a1f3xkkks7c7pbiqb1vkrp9bbh52yax"; - name = "kfilemetadata-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kfilemetadata-5.91.0.tar.xz"; + sha256 = "1z030irzcvmjq329nwfk3h8cd51dwy9mppnwbgcd0lw6y3bka0rq"; + name = "kfilemetadata-5.91.0.tar.xz"; }; }; kglobalaccel = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kglobalaccel-5.90.0.tar.xz"; - sha256 = "04qd1fcc22x70jacqzrv44q1jg5ldzynlfpw5cg2679409r0wnxw"; - name = "kglobalaccel-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kglobalaccel-5.91.0.tar.xz"; + sha256 = "09wscg6f19sh314ywpxp47pdr1xf1wzpjchg9rcjg207zrfhqqf0"; + name = "kglobalaccel-5.91.0.tar.xz"; }; }; kguiaddons = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kguiaddons-5.90.0.tar.xz"; - sha256 = "0m9l8xyc7xyj29fzxwp8ahr2l1rzs5rw1c26x446kb7smxvy8awx"; - name = "kguiaddons-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kguiaddons-5.91.0.tar.xz"; + sha256 = "0gn8lvpm4i11s5vavlpm162bizjkmh5cb4dhj3p34dlp4vcc4mky"; + name = "kguiaddons-5.91.0.tar.xz"; }; }; kholidays = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kholidays-5.90.0.tar.xz"; - sha256 = "1p1kgy110ijk5a3ix4g9y1i7w0gsnzf82jdkwbdza95vibm82iz8"; - name = "kholidays-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kholidays-5.91.0.tar.xz"; + sha256 = "165vfmi5y8l00ng494469w5s1gjnf9zkggqrzmq65dfkdis3amdm"; + name = "kholidays-5.91.0.tar.xz"; }; }; khtml = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/khtml-5.90.0.tar.xz"; - sha256 = "1bi839x4dhlkqxmv98pq01725b8i8szdxf9b1hf1jv37fk468mja"; - name = "khtml-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/khtml-5.91.0.tar.xz"; + sha256 = "1ldkk1f954mmgz30vqa895z1nw2jaknnb53lsd5vqxzxi3cmc054"; + name = "khtml-5.91.0.tar.xz"; }; }; ki18n = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/ki18n-5.90.0.tar.xz"; - sha256 = "13k8kbkmgdywclcdbfj5ri3gmdblv8yzalmvqd0hn7sym6pkdqfw"; - name = "ki18n-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/ki18n-5.91.0.tar.xz"; + sha256 = "11gdd2gvzsz3r8zvqbxxwbpwjvjwnzzhzyrd4spbpdy0w7j8n6ly"; + name = "ki18n-5.91.0.tar.xz"; }; }; kiconthemes = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kiconthemes-5.90.0.tar.xz"; - sha256 = "0w3wi4xy1yy2s1a927cj4my63q0fqhw06ghy9zjw830m31xwpx1k"; - name = "kiconthemes-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kiconthemes-5.91.0.tar.xz"; + sha256 = "1khh4ngivwdj9rxxcpx08ka8anskc9i1z9n2zijp4m5ix8mmj3c2"; + name = "kiconthemes-5.91.0.tar.xz"; }; }; kidletime = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kidletime-5.90.0.tar.xz"; - sha256 = "1xzwmk0aqv1lcdi51nl1k0lyiinnqxwla6w0xxmsh6193qa3fpvq"; - name = "kidletime-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kidletime-5.91.0.tar.xz"; + sha256 = "12qmiwc8p3izj1y5h0rndj2s496ckm1p85dv4g51zbpg7m8a48qv"; + name = "kidletime-5.91.0.tar.xz"; }; }; kimageformats = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kimageformats-5.90.0.tar.xz"; - sha256 = "0r3ihkly0hf20aqbn7b9171mzqjna078rksdp96z6f7f1qy99v1v"; - name = "kimageformats-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kimageformats-5.91.0.tar.xz"; + sha256 = "0df8in33xwajqay487w0hjfsplz8y51w9sjb75na7yqsn75p38xb"; + name = "kimageformats-5.91.0.tar.xz"; }; }; kinit = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kinit-5.90.0.tar.xz"; - sha256 = "0z65hfhj68ahjm558p2pj7dlrczcww8f2xyw9f44w10bp3p5hf1a"; - name = "kinit-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kinit-5.91.0.tar.xz"; + sha256 = "1y62k24mwzbg4gchvjb8wn6ygq57wc72clb3jgyipw034czdihvi"; + name = "kinit-5.91.0.tar.xz"; }; }; kio = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kio-5.90.0.tar.xz"; - sha256 = "0ds6465fyzjj2azwdghrkxr9wvih0m96lv4kp6syqwii8nv2w7rs"; - name = "kio-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kio-5.91.0.tar.xz"; + sha256 = "14v28qilb5ayv9shw86hb88k60nr4bbd2pa4vwsqij9xkwlympgj"; + name = "kio-5.91.0.tar.xz"; }; }; kirigami2 = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kirigami2-5.90.0.tar.xz"; - sha256 = "0r48n11pv3yqsf11phl19cs52ph5ldabrfmq3xmsvxsknm6c4f9b"; - name = "kirigami2-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kirigami2-5.91.0.tar.xz"; + sha256 = "0ifljwa6hli2rndfadpzs30dpwc99nnvcm3yi9j5dim2bdf6glwc"; + name = "kirigami2-5.91.0.tar.xz"; }; }; kitemmodels = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kitemmodels-5.90.0.tar.xz"; - sha256 = "0f7zlif7kskbwpw8yrzlfyl954b623icdd9qn0algjcc2i9gqbzi"; - name = "kitemmodels-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kitemmodels-5.91.0.tar.xz"; + sha256 = "189kgrw2vjr9067mqr4f2sv06xmnjaapry0bf8s41v6r9v7py708"; + name = "kitemmodels-5.91.0.tar.xz"; }; }; kitemviews = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kitemviews-5.90.0.tar.xz"; - sha256 = "10s285vxaaxjcy3am4bvch5wd7wv64wwcjvj7lqk2866aql9hmzp"; - name = "kitemviews-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kitemviews-5.91.0.tar.xz"; + sha256 = "16cm4zmv1ngrsmy6k0ybv5wxd0g8cc8zwq6ab7jvs7a04sykv238"; + name = "kitemviews-5.91.0.tar.xz"; }; }; kjobwidgets = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kjobwidgets-5.90.0.tar.xz"; - sha256 = "1jv3c68mlsxhnd6jgqw5d4qqd66jf8bh6zbcs6bq0bad52ad2r8d"; - name = "kjobwidgets-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kjobwidgets-5.91.0.tar.xz"; + sha256 = "14pkyd6j78kignr62xfkvpyi2fwvzcvcsdnn23h8jxkhwm2ri42v"; + name = "kjobwidgets-5.91.0.tar.xz"; }; }; kjs = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kjs-5.90.0.tar.xz"; - sha256 = "1z5d1ixzvaq6x9x0jhmh5bdrdqpsl1x7mh3s8wnycfxwmln6bawv"; - name = "kjs-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kjs-5.91.0.tar.xz"; + sha256 = "0jbwlnmf8whzgjkrbnsvdsnn3kv0h44ghf63m2qcgg2l9wb0j8rj"; + name = "kjs-5.91.0.tar.xz"; }; }; kjsembed = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kjsembed-5.90.0.tar.xz"; - sha256 = "0ydrsg7z1b5hkskjvkb0b9lhx60aqcby2alhfbmkac197sf2frn4"; - name = "kjsembed-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kjsembed-5.91.0.tar.xz"; + sha256 = "124y7518jhjg3y2x7bcyl6b3c0bfxfbgd2sz6dwk45y4byx7rl60"; + name = "kjsembed-5.91.0.tar.xz"; }; }; kmediaplayer = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kmediaplayer-5.90.0.tar.xz"; - sha256 = "010m5qrn41hcxsmxsq72m83qxikfvn3mgibkgy4bn2x8kxibzmlq"; - name = "kmediaplayer-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kmediaplayer-5.91.0.tar.xz"; + sha256 = "0rn9azrj8k1m67y9ni0f3nwl9ldf1ksiqv6dgnzrx6xh0rxfm2h1"; + name = "kmediaplayer-5.91.0.tar.xz"; }; }; knewstuff = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/knewstuff-5.90.0.tar.xz"; - sha256 = "0q30p7z5zg3p24gp8q83i7my5bg4yfcdwsblmhl230kih8aap2cg"; - name = "knewstuff-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/knewstuff-5.91.0.tar.xz"; + sha256 = "0akaxi9klmpwn4pyr6ys5sxcapdspldq1f64im7vd6byzqrgpnax"; + name = "knewstuff-5.91.0.tar.xz"; }; }; knotifications = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/knotifications-5.90.0.tar.xz"; - sha256 = "15qb3jh5y1z84dp6wddwid4bk3ks05knkxlwv79hb9cdj8m4m7gi"; - name = "knotifications-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/knotifications-5.91.0.tar.xz"; + sha256 = "1207rimq8si1zxnn827631a1hskrd3m3ilgaj3wj859qrbkqmxzm"; + name = "knotifications-5.91.0.tar.xz"; }; }; knotifyconfig = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/knotifyconfig-5.90.0.tar.xz"; - sha256 = "1qss40sr7az9x4yvl59mblzzgjm3hd8nvxgqmqlylargvggw496c"; - name = "knotifyconfig-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/knotifyconfig-5.91.0.tar.xz"; + sha256 = "07m5mphd8mrak5sdqlldbcd51946v49xpcwi9fhn7w0kx29hknyf"; + name = "knotifyconfig-5.91.0.tar.xz"; }; }; kpackage = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kpackage-5.90.0.tar.xz"; - sha256 = "1rig9aws8530sav0pmginqmdcrnz10qjbxfc5lw6mmb3sfig53z0"; - name = "kpackage-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kpackage-5.91.0.tar.xz"; + sha256 = "12w8lfwifa107wlrld3zz774hczn9mkib6wqxw24yxxmzfw9lc2i"; + name = "kpackage-5.91.0.tar.xz"; }; }; kparts = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kparts-5.90.0.tar.xz"; - sha256 = "1x8kxd8kgzabd9dyqx2yx1qrrzl1mms4hm3lyg3f1nxki7xl6ra2"; - name = "kparts-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kparts-5.91.0.tar.xz"; + sha256 = "10ni6b114acjnmrahvvqw75iqkc10ii97y3z7lirj2727a3qmzzj"; + name = "kparts-5.91.0.tar.xz"; }; }; kpeople = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kpeople-5.90.0.tar.xz"; - sha256 = "1632k365bn9n3n8babq620v0px2hmapk8fprx28xpfp27zakhfgw"; - name = "kpeople-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kpeople-5.91.0.tar.xz"; + sha256 = "09l2q8cg9p8g7zkd1mjx6x08bqkr4ykxjibskc184asff7v47gvp"; + name = "kpeople-5.91.0.tar.xz"; }; }; kplotting = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kplotting-5.90.0.tar.xz"; - sha256 = "0i5ganvpzkpkd2p1avw0fpbp3mgbbifg8mmpvdf28ayh75dvrh9y"; - name = "kplotting-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kplotting-5.91.0.tar.xz"; + sha256 = "0rgmmliw9cfi0j2miszqz2kphqm04r5nfs8dqq6pnvclk1k9kss6"; + name = "kplotting-5.91.0.tar.xz"; }; }; kpty = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kpty-5.90.0.tar.xz"; - sha256 = "1p5ny9ry0wwwprhpj9s9xg96h9476rldly7mawvfp5q3ihys8c4a"; - name = "kpty-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kpty-5.91.0.tar.xz"; + sha256 = "1yy1k96kikvvnlyd00krc08ifiqbrz0x5vwv3pgdbpnwgl8p580d"; + name = "kpty-5.91.0.tar.xz"; }; }; kquickcharts = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kquickcharts-5.90.0.tar.xz"; - sha256 = "1vf9vwrb03z6f19xyc1dc50s3kz21s4mkrv85mmyia0by4qvq5fi"; - name = "kquickcharts-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kquickcharts-5.91.0.tar.xz"; + sha256 = "1ghiymm257b8xgmkibb7s7bwb28x3zhnrgrrsya47q5njb87h0ck"; + name = "kquickcharts-5.91.0.tar.xz"; }; }; kross = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kross-5.90.0.tar.xz"; - sha256 = "1gs7h03j753pq78q0fmajgd5pw8j3mc105rsph1c22l23vccya3z"; - name = "kross-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kross-5.91.0.tar.xz"; + sha256 = "06f8220jmvjsfbzjkr2ybwicwjffbi3yw9sr3bcyrilchrrpgqal"; + name = "kross-5.91.0.tar.xz"; }; }; krunner = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/krunner-5.90.0.tar.xz"; - sha256 = "1q3hsml5274v8dy8rnqpnwxliad2q7a8mbs8k6kpqzih9z94crgi"; - name = "krunner-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/krunner-5.91.0.tar.xz"; + sha256 = "17iaw55rkzyfpgkbw2an6pa4wid79b0dnb3310vfaq0xkm0gjxq6"; + name = "krunner-5.91.0.tar.xz"; }; }; kservice = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kservice-5.90.0.tar.xz"; - sha256 = "121y8bbq3m4pv5m9pj753v2nk914216a86ksmdqbgffw217qckdd"; - name = "kservice-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kservice-5.91.0.tar.xz"; + sha256 = "0m4j7djiyapi1hm23lz9nd238rrlldxlggzkqq056z486v2137bp"; + name = "kservice-5.91.0.tar.xz"; }; }; ktexteditor = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/ktexteditor-5.90.0.tar.xz"; - sha256 = "1g1dky9bgr2zjr0rw9c730shz588ykyw7qw3sgf0dr3sh8aq222n"; - name = "ktexteditor-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/ktexteditor-5.91.0.tar.xz"; + sha256 = "1bkz6v1y5vyxav398a6224ldqa9pqhbad3vmhxrjb2hxcbha2cpm"; + name = "ktexteditor-5.91.0.tar.xz"; }; }; ktextwidgets = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/ktextwidgets-5.90.0.tar.xz"; - sha256 = "02g85zahh6hfsw3fcac7hp8kv4d1ha2asmmhnknqd054yl0adxjg"; - name = "ktextwidgets-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/ktextwidgets-5.91.0.tar.xz"; + sha256 = "0xmzrak5mwg1l4v38g14i7j1yr3j6sj13q2iqa433hs5agl6l6n4"; + name = "ktextwidgets-5.91.0.tar.xz"; }; }; kunitconversion = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kunitconversion-5.90.0.tar.xz"; - sha256 = "1vrvbsd8limfsmgjcv5kvzyf7g62rv1a0rvbdyq15z23zf4rsmf3"; - name = "kunitconversion-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kunitconversion-5.91.0.tar.xz"; + sha256 = "0n2v0f08s71z2imhn41jkm2knjvk7bkwmcz70gs8h97ykrj6niap"; + name = "kunitconversion-5.91.0.tar.xz"; }; }; kwallet = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kwallet-5.90.0.tar.xz"; - sha256 = "06ffg84jvrc8xhymg1g5j311vq3ajfqg3arx2cxa98aqld213akl"; - name = "kwallet-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kwallet-5.91.0.tar.xz"; + sha256 = "1z1qb6a2b5rqj7js88ms8n67fbs885pw6djbf1l86na2zhf0adip"; + name = "kwallet-5.91.0.tar.xz"; }; }; kwayland = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kwayland-5.90.0.tar.xz"; - sha256 = "0n7f4rx695q889j8g4sdpdi3jhk29z8zc4wrk5srs2diqi4y0qqi"; - name = "kwayland-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kwayland-5.91.0.tar.xz"; + sha256 = "1a03ckacp39lpsqyykkm6lxajxm71s6ifpzgj8q0a37v75jzmz9y"; + name = "kwayland-5.91.0.tar.xz"; }; }; kwidgetsaddons = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kwidgetsaddons-5.90.0.tar.xz"; - sha256 = "1c17iq0q2w80p7v7k32db0pc5sbzqhvh0w5d145a1nkgr3nbnk6a"; - name = "kwidgetsaddons-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kwidgetsaddons-5.91.0.tar.xz"; + sha256 = "03pj98sgybkcz487vr774x05w46imnipq2794nkv426nnhyxrd73"; + name = "kwidgetsaddons-5.91.0.tar.xz"; }; }; kwindowsystem = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kwindowsystem-5.90.0.tar.xz"; - sha256 = "0fj7a86dk833ld76c3b1s4ri47bhpvjsi6ryfgdv5q7h2fwh6ia5"; - name = "kwindowsystem-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kwindowsystem-5.91.0.tar.xz"; + sha256 = "1yy02fvfabrsvdpmrkdnjdsdd3d2crxavsl47si6ry8fdxb90y95"; + name = "kwindowsystem-5.91.0.tar.xz"; }; }; kxmlgui = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/kxmlgui-5.90.0.tar.xz"; - sha256 = "1q8v1wrx67c37jnd874ilkk8kfk3zvf3f86qg51k16ml0nrwjysg"; - name = "kxmlgui-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/kxmlgui-5.91.0.tar.xz"; + sha256 = "1qww2isx99lx0mn1dv0vzrvmr2xdp8zgikyvgw1wf8hfay3v2s1g"; + name = "kxmlgui-5.91.0.tar.xz"; }; }; kxmlrpcclient = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/portingAids/kxmlrpcclient-5.90.0.tar.xz"; - sha256 = "0mq2wgi4qnvscjdkis7jhs004k3s1b3wg0vijjai7xzy772kvclc"; - name = "kxmlrpcclient-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/portingAids/kxmlrpcclient-5.91.0.tar.xz"; + sha256 = "1bnymf5wq4apjsgshvbhcggdw7jc0yxv4jag3k19ff9820lskhph"; + name = "kxmlrpcclient-5.91.0.tar.xz"; }; }; modemmanager-qt = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/modemmanager-qt-5.90.0.tar.xz"; - sha256 = "08nlvg5lwvl3rspi848gp2b2b5pki6sy8c3ww9nn4afy4lk7p609"; - name = "modemmanager-qt-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/modemmanager-qt-5.91.0.tar.xz"; + sha256 = "15l46lkh8nkal1nai494dabaysy581jzi8nwrv4kjvc6qwc3yrx2"; + name = "modemmanager-qt-5.91.0.tar.xz"; }; }; networkmanager-qt = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/networkmanager-qt-5.90.0.tar.xz"; - sha256 = "0i9wvrxbkbil21zndiq4cmnldbqsrdp9gnhmp2ns78xdih8wysa7"; - name = "networkmanager-qt-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/networkmanager-qt-5.91.0.tar.xz"; + sha256 = "0f27qin2ks3q7rin53sk9vjjnadjnax99d9k245sjr6fjpczy81f"; + name = "networkmanager-qt-5.91.0.tar.xz"; }; }; oxygen-icons5 = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/oxygen-icons5-5.90.0.tar.xz"; - sha256 = "1izfh6cxivmwiymy7lwbmf9j1hxy2skv6z1lbjr0c4snmx6pqx1g"; - name = "oxygen-icons5-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/oxygen-icons5-5.91.0.tar.xz"; + sha256 = "0j3j2lyxr2iz68vasvpjqkix4bnnj6wc4sr97i6x6z06zq0kawai"; + name = "oxygen-icons5-5.91.0.tar.xz"; }; }; plasma-framework = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/plasma-framework-5.90.0.tar.xz"; - sha256 = "1msqjnwvb815kii0rjhn1lvsnvq5wr8iprdjzsviw67va6gaz4p1"; - name = "plasma-framework-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/plasma-framework-5.91.0.tar.xz"; + sha256 = "0ydhhpnwf7lfl3kdjsw92mgsza5gy292f7v6kyby4ygjnir1hizl"; + name = "plasma-framework-5.91.0.tar.xz"; }; }; prison = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/prison-5.90.0.tar.xz"; - sha256 = "0z2k2hyjj86va5rqgd8qrvhflfppcl2d3f9smxb5w9pp19ashvyk"; - name = "prison-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/prison-5.91.0.tar.xz"; + sha256 = "0k1zp3jzh8gjsji6wh5g8k41zdl8s1vd58ipm0lxy670a71wcqcg"; + name = "prison-5.91.0.tar.xz"; }; }; purpose = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/purpose-5.90.0.tar.xz"; - sha256 = "182196hj3mdy1k7wfgadfxy7m1kbqzk6kksn7yd681h2gpky82l1"; - name = "purpose-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/purpose-5.91.0.tar.xz"; + sha256 = "1z6wpz7d9byx4n5zx6chmyy9k1jkmghdgahsvkqsc33z6hnh2b4m"; + name = "purpose-5.91.0.tar.xz"; }; }; qqc2-desktop-style = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/qqc2-desktop-style-5.90.0.tar.xz"; - sha256 = "05g1rydx0innmiz28mslix4bjsrhsnci227gadngzijncp2v288r"; - name = "qqc2-desktop-style-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/qqc2-desktop-style-5.91.0.tar.xz"; + sha256 = "0rd9rvffhif8yckwr7axjcv5iqn5b0jdviij7f9y8vjpkzyjvm8i"; + name = "qqc2-desktop-style-5.91.0.tar.xz"; }; }; solid = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/solid-5.90.0.tar.xz"; - sha256 = "10hk4mh426dhi7is5hxa1varn15ijzra5a420zk297pzkphvx0ip"; - name = "solid-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/solid-5.91.0.tar.xz"; + sha256 = "1a4k0amyg8mvfr2ld7v8zyphhxv33yybh55vqcshwv4a0jm1wmjg"; + name = "solid-5.91.0.tar.xz"; }; }; sonnet = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/sonnet-5.90.0.tar.xz"; - sha256 = "0d4xxm9vw1rc2mypv4z0yihcn679sab0afxr2kbzq01wr6p759y7"; - name = "sonnet-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/sonnet-5.91.0.tar.xz"; + sha256 = "067xj5mllpzl0gnxxljhfi9y4xdgrpqbckm7pykczzqrklrrx8dx"; + name = "sonnet-5.91.0.tar.xz"; }; }; syndication = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/syndication-5.90.0.tar.xz"; - sha256 = "0a9j443w42jwvlzjh5mfxn25kwjrz1ya6sgy0c4y3n5xbg031zmx"; - name = "syndication-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/syndication-5.91.0.tar.xz"; + sha256 = "1f2kb6mh1xc1k1bn536lq9gq0j2lb65qw4vpp4ixynlfij4zq1gy"; + name = "syndication-5.91.0.tar.xz"; }; }; syntax-highlighting = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/syntax-highlighting-5.90.0.tar.xz"; - sha256 = "19mckdfdxb5i26y75cgmda91s864jbh1wmf98bv8xa1iqxwkwj5z"; - name = "syntax-highlighting-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/syntax-highlighting-5.91.0.tar.xz"; + sha256 = "0fprqi2z8issh3jkql6labszkwd3cpvd6qadsg9fi46vfjr4a2ip"; + name = "syntax-highlighting-5.91.0.tar.xz"; }; }; threadweaver = { - version = "5.90.0"; + version = "5.91.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.90/threadweaver-5.90.0.tar.xz"; - sha256 = "1frhzlzmnrp5y3lrl0ahzxh8syj4vlkjvaypsmbm2bkkn4akizg3"; - name = "threadweaver-5.90.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.91/threadweaver-5.91.0.tar.xz"; + sha256 = "1900kqglkwzkjc24mvl0j7jf7xcx6cr6b1g78s5b5m18rw050j12"; + name = "threadweaver-5.91.0.tar.xz"; }; }; } diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix index b600a2ca4c3..14579bc5915 100644 --- a/pkgs/development/libraries/lcms2/default.nix +++ b/pkgs/development/libraries/lcms2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "lcms2"; - version = "2.12"; + version = "2.13.1"; src = fetchurl { url = "mirror://sourceforge/lcms/${pname}-${version}.tar.gz"; - sha256 = "sha256-GGY5hehkEARVrD5QdiXEOMNxA1TYXly7fNQEPhH+EPU="; + sha256 = "sha256-1HPnlueyfFrwG9bRVS1CtFtDRX5xgs6ZA/OLt0ggO4g="; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix index 82e44033313..3a3866911b8 100644 --- a/pkgs/development/libraries/libaom/default.nix +++ b/pkgs/development/libraries/libaom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libaom"; - version = "3.2.0"; + version = "3.3.0"; src = fetchzip { url = "https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"; - sha256 = "0fmnbzpl481i7kchx4hbvb507r5pfgyrzfrlrs7jk3bicycm75qv"; + sha256 = "sha256-g6QkKLrk+SH1s5fRmseAQMmM6y4QwmKmVDPxdbqGmwg="; stripRoot = false; }; diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix index 2a1d53e6ee0..1cc6fe6f521 100644 --- a/pkgs/development/libraries/libarchive/default.nix +++ b/pkgs/development/libraries/libarchive/default.nix @@ -12,13 +12,13 @@ assert xarSupport -> libxml2 != null; stdenv.mkDerivation rec { pname = "libarchive"; - version = "3.5.2"; + version = "3.6.0"; src = fetchFromGitHub { owner = "libarchive"; repo = "libarchive"; rev = "v${version}"; - sha256 = "sha256-H00UJ+ON1kBc19BgWBBKmO8f23oAg2mk7o9hhDhn50Q="; + sha256 = "sha256-u6Zeu9yTjhx5U7KZVUkuuUsQPjWN71mE5egG4T+FGfY="; }; outputs = [ "out" "lib" "dev" ]; diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix index 745b34226e2..8c8e47b98a4 100644 --- a/pkgs/development/libraries/libbsd/default.nix +++ b/pkgs/development/libraries/libbsd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libbsd"; - version = "0.11.3"; + version = "0.11.5"; src = fetchurl { url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "18a2bcl9z0zyxhrm1lfv4yhhz0589s6jz0s78apaq78mhj0wz5gz"; + sha256 = "sha256-GpyVJSVjXBu2dwyyLpabk42Oap15EjYrmO6DcFmbDv0="; }; outputs = [ "out" "dev" "man" ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Common functions found on BSD systems"; homepage = "https://libbsd.freedesktop.org/"; - license = licenses.bsd3; + license = with licenses; [ beerware bsd2 bsd3 bsdOriginal isc mit ]; platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ matthewbauer ]; }; diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix index fdcc2ae0081..c634892944c 100644 --- a/pkgs/development/libraries/libclc/default.nix +++ b/pkgs/development/libraries/libclc/default.nix @@ -27,6 +27,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja python3 ]; buildInputs = [ llvm clang-unwrapped ]; strictDeps = true; + cmakeFlags = [ + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ]; meta = with lib; { homepage = "http://libclc.llvm.org/"; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 731039e26a0..e08a4673248 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "libdrm"; - version = "2.4.109"; + version = "2.4.110"; src = fetchurl { url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz"; - sha256 = "09kzrdsd14zr0i3izvi5mck4vqccl3c9hr84r9i4is0zikh554v2"; + sha256 = "0dwpry9m5l27dlhq48j4bsiqwm0247cxdqwv3b7ddmkynk2f9kpf"; }; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/libgee/default.nix b/pkgs/development/libraries/libgee/default.nix index 1a40d1f17b4..b34790d59c7 100644 --- a/pkgs/development/libraries/libgee/default.nix +++ b/pkgs/development/libraries/libgee/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libgee"; - version = "0.20.4"; + version = "0.20.5"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "03nyf8n7i7f67fsh220g52slmihdk1lv4iwspm7xmkgrj3rink2j"; + sha256 = "MYY6iVfVpyf5BnSVyr8KCIn6XT1EYm5UCUMxGI1cFRg="; }; doCheck = true; diff --git a/pkgs/development/libraries/libnfs/default.nix b/pkgs/development/libraries/libnfs/default.nix index 4e12553b00b..dd442b2cd4b 100644 --- a/pkgs/development/libraries/libnfs/default.nix +++ b/pkgs/development/libraries/libnfs/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libnfs"; - version = "4.0.0"; + version = "5.0.1"; src = fetchFromGitHub { owner = "sahlberg"; repo = "libnfs"; rev = "libnfs-${version}"; - sha256 = "0i27wd4zvhjz7620q043p4d4mkx8zv2yz9adm1byin47dynahyda"; + sha256 = "sha256-5jyY7hqEhBPiQ8pNd+mRTEc4brht4ID7PoV7O2RFNQA="; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index aeb3fcba06f..2293dfc00a0 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -11,7 +11,7 @@ let whenPatched = lib.optionalString apngSupport; in stdenv.mkDerivation rec { - name = "libpng" + whenPatched "-apng" + "-${version}"; + pname = "libpng" + whenPatched "-apng"; version = "1.6.37"; src = fetchurl { diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index c3c9bf6947e..0906d7b967c 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "libqmi"; - version = "1.30.2"; + version = "1.30.4"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz"; - sha256 = "sha256-vgHs4OosIZTL6ldEv1qvBsBLpft+x4h6ExFsdtEU/t0="; + sha256 = "sha256-ANfaMKT40RhfN8uiic+vHfzQSljy921qz99bhTEtbtY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 1de6090b146..81cad37351a 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation rec { pname = "librsvg"; - version = "2.52.5"; + version = "2.52.6"; outputs = [ "out" "dev" "installedTests" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "QHy7q1GBN+oYo/MiC+oYD77nXz5b1roQp6hiwab3TYI="; + sha256 = "o/k5oeajpgQIJEYy0DI/jDsg60t7AAU24uW9k7jv+q0="; }; cargoVendorDir = "vendor"; diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix index bc36a12eea8..84c2f19e5e2 100644 --- a/pkgs/development/libraries/libsigsegv/default.nix +++ b/pkgs/development/libraries/libsigsegv/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "libsigsegv"; - version = "2.13"; + version = "2.14"; src = fetchurl { url = "mirror://gnu/libsigsegv/libsigsegv-${version}.tar.gz"; - sha256 = "sha256-vnjuQXawX3x1/wMpjYSHTbkPS2ydVQPw2hIms6PEgRk="; + sha256 = "sha256-zaw5QYAzZM+BqQhJm+t5wgDq1gtrW0DK0ST9HgbKopU="; }; patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null; diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index 5f34a80d253..1371345ddd7 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchurl +, fetchpatch , autoreconfHook , pkg-config @@ -27,6 +28,21 @@ stdenv.mkDerivation rec { # libc++abi 11 has an `#include <version>`, this picks up files name # `version` in the project's include paths ./rename-version.patch + (fetchpatch { + name = "CVE-2022-22844.patch"; + url = "https://gitlab.com/libtiff/libtiff/-/commit/03047a26952a82daaa0792957ce211e0aa51bc64.patch"; + sha256 = "0cfih55f5qpc84mvlwsffik80bgz6drkflkhrdyqq8m84jw3mbwb"; + }) + (fetchpatch { + name = "CVE-2022-0561.patch"; + url = "https://gitlab.com/libtiff/libtiff/-/commit/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch"; + sha256 = "0m57fdxyvhhr9cc260lvkkn2g4zr4n4v9nricc6lf9h6diagd7mk"; + }) + (fetchpatch { + name = "CVE-2022-0562.patch"; + url = "https://gitlab.com/libtiff/libtiff/-/commit/561599c99f987dc32ae110370cfdd7df7975586b.patch"; + sha256 = "0ycirjjc1vigj03kwjb92n6jszsl9p17ccw5hry7lli9gxyyr0an"; + }) ]; postPatch = '' diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 03d0e17cb4c..41e4d2d88c8 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -94,6 +94,12 @@ stdenv.mkDerivation rec { patches = [ ./0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch ./0002-meson-patch-ch-install-prefix.patch + + # Fix building docs with latest libxslt. + (fetchpatch { + url = "https://gitlab.com/libvirt/libvirt/-/commit/54814c87f3706cc8eb894634ebef0f9cf7dabae6.patch"; + sha256 = "1k1mGyxyofYzXr3cVtM8ZYsb6tDCzidCRKwKoNS0ocA="; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix index 2f9afff56d8..1517cf97078 100644 --- a/pkgs/development/libraries/libwacom/default.nix +++ b/pkgs/development/libraries/libwacom/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { pname = "libwacom"; - version = "1.99.1"; + version = "2.0.0"; outputs = [ "out" "dev" ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { owner = "linuxwacom"; repo = "libwacom"; rev = "libwacom-${version}"; - sha256 = "sha256-WGW/4m+BTe6dEigUcuUIZjoTeamInW6zrtrlaqKM6Js="; + sha256 = "sha256-k8pEgEu+oWNa0rI47osVPKaZGxgwX/ENaz9jPrQXy0E="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix index c78cc192a7c..9f92ed5fd45 100644 --- a/pkgs/development/libraries/libwnck/default.nix +++ b/pkgs/development/libraries/libwnck/default.nix @@ -21,14 +21,14 @@ stdenv.mkDerivation rec { pname = "libwnck"; - version = "40.0"; + version = "40.1"; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "MMt5qDn5DNZvPiAvP5jLUWb6DNm5LrVxrZxHCkMCHYM="; + sha256 = "AxNPoRTvP740B1qoNnj1iqLevp/O9OojwHeeKGAdZhE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix index 25d2d89add0..7bcc62af6ec 100644 --- a/pkgs/development/libraries/libxkbcommon/default.nix +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { pname = "libxkbcommon"; - version = "1.3.1"; + version = "1.4.0"; src = fetchurl { url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz"; - sha256 = "0d4jzq0zv1xmng0z0q5lb4rz03ikgxdwi68k3r70ac16gb911ixk"; + sha256 = "0ca00awfzvxiznvd4mgwgxyqxiwvi07j5xxmg5z0l47rcd9fqv0h"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index bc11c9cfea1..3b7cae36a0e 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,20 +1,37 @@ -{ stdenv, lib, fetchurl, fetchpatch -, zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs +{ stdenv +, lib +, fetchurl +, zlib +, pkg-config +, autoreconfHook +, xz +, libintl +, python +, gettext +, ncurses +, findXMLCatalogs , libiconv , pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform -, icuSupport ? false, icu ? null +, icuSupport ? false +, icu , enableShared ? stdenv.hostPlatform.libc != "msvcrt" && !stdenv.hostPlatform.isStatic , enableStatic ? !enableShared +, gnome }: stdenv.mkDerivation rec { pname = "libxml2"; - version = "2.9.12"; + version = "2.9.13"; + + outputs = [ "bin" "dev" "out" "man" "doc" ] + ++ lib.optional pythonSupport "py" + ++ lib.optional (enableStatic && enableShared) "static"; src = fetchurl { - url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz"; - sha256 = "14hxwzmf5xqppx77z7i0ni9lpzg1a84dqpf8j8l1fvy570g6imn8"; + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "J2EwYC0S/khOzANEfuXnWdBGVVj7yda9FE43RTBuvw4="; }; + patches = [ # Upstream bugs: # https://bugzilla.gnome.org/show_bug.cgi?id=789714 @@ -28,62 +45,65 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/pull/63174 # https://github.com/NixOS/nixpkgs/pull/72342 ./utf8-xmlErrorFuncHandler.patch - - # Work around lxml API misuse. - # https://gitlab.gnome.org/GNOME/libxml2/issues/255 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/libxml2/commit/85b1792e37b131e7a51af98a37f92472e8de5f3f.patch"; - sha256 = "epqlNs2S0Zczox3KyCB6R2aJKh87lXydlZ0x6tLHweE="; - }) ]; - outputs = [ "bin" "dev" "out" "man" "doc" ] - ++ lib.optional pythonSupport "py" - ++ lib.optional (enableStatic && enableShared) "static"; - strictDeps = true; - buildInputs = lib.optional pythonSupport python - ++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext - ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses - ++ lib.optional (stdenv.isDarwin && - pythonSupport && python?isPy2 && python.isPy2) libintl + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + + buildInputs = lib.optionals pythonSupport [ + python + ] ++ lib.optionals (pythonSupport && python?isPy2 && python.isPy2) [ + gettext + ] ++ lib.optionals (pythonSupport && python?isPy3 && python.isPy3) [ + ncurses + ] ++ lib.optionals (stdenv.isDarwin && pythonSupport && python?isPy2 && python.isPy2) [ + libintl + ] ++ lib.optionals stdenv.isFreeBSD [ # Libxml2 has an optional dependency on liblzma. However, on impure # platforms, it may end up using that from /usr/lib, and thus lack a # RUNPATH for that, leading to undefined references for its users. - ++ lib.optional stdenv.isFreeBSD xz; + xz + ]; - propagatedBuildInputs = [ zlib findXMLCatalogs ] - ++ lib.optional stdenv.isDarwin libiconv - ++ lib.optional icuSupport icu; + propagatedBuildInputs = [ + zlib + findXMLCatalogs + ] ++ lib.optionals stdenv.isDarwin [ + libiconv + ] ++ lib.optionals icuSupport [ + icu + ]; configureFlags = [ - "--exec_prefix=$dev" + "--exec-prefix=${placeholder "dev"}" (lib.enableFeature enableStatic "static") (lib.enableFeature enableShared "shared") (lib.withFeature icuSupport "icu") (lib.withFeatureAs pythonSupport "python" python) ]; - preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' - MACOSX_DEPLOYMENT_TARGET=10.16 - ''; + installFlags = lib.optionals pythonSupport [ + "pythondir=\"${placeholder "py"}/${python.sitePackages}\"" + ]; enableParallelBuilding = true; - # disable test that's problematic with newer pythons: see - # https://mail.gnome.org/archives/xml/2017-August/msg00014.html - preCheck = lib.optionalString (pythonSupport && !(python?pythonOlder && python.pythonOlder "3.5")) '' - echo "" > python/tests/tstLastError.py - ''; - - doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin && + doCheck = + (stdenv.hostPlatform == stdenv.buildPlatform) && + !stdenv.isDarwin && stdenv.hostPlatform.libc != "musl"; - preInstall = lib.optionalString pythonSupport - ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"''; - installFlags = lib.optional pythonSupport - "pythondir=\"${placeholder "py"}/lib/${python.libPrefix}/site-packages\""; + preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' + MACOSX_DEPLOYMENT_TARGET=10.16 + ''; + + preInstall = lib.optionalString pythonSupport '' + substituteInPlace python/libxml2mod.la --replace "$dev/${python.sitePackages}" "$py/${python.sitePackages}" + ''; postFixup = '' moveToOutput bin/xml2-config "$dev" @@ -93,13 +113,21 @@ stdenv.mkDerivation rec { moveToOutput lib/libxml2.a "$static" ''; - passthru = { inherit version; pythonSupport = pythonSupport; }; + passthru = { + inherit version; + pythonSupport = pythonSupport; + + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "none"; + }; + }; - meta = { + meta = with lib; { homepage = "http://xmlsoft.org/"; - description = "An XML parsing library for C"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - maintainers = [ lib.maintainers.eelco ]; + description = "XML parsing library for C"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ eelco jtojnar ]; }; } diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 3993b3f73e1..ac4dd749233 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -1,38 +1,60 @@ -{ lib, stdenv, fetchurl +{ lib +, stdenv +, fetchurl , pkg-config -, libxml2, findXMLCatalogs, gettext, python, libgcrypt +, autoreconfHook +, libxml2 +, findXMLCatalogs +, gettext +, python +, ncurses +, libgcrypt , cryptoSupport ? false , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform +, gnome }: stdenv.mkDerivation rec { pname = "libxslt"; - version = "1.1.34"; + version = "1.1.35"; + + outputs = [ "bin" "dev" "out" "man" "doc" ] ++ lib.optional pythonSupport "py"; src = fetchurl { - url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz"; - sha256 = "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq"; + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "gkfzPpqHLGrIWapFAYvExNALl+L+rJ7rwQyTzh803Xk="; }; - outputs = [ "bin" "dev" "out" "man" "doc" ] ++ lib.optional pythonSupport "py"; - nativeBuildInputs = [ pkg-config + autoreconfHook ]; - buildInputs = [ libxml2.dev ] - ++ lib.optional stdenv.isDarwin gettext - ++ lib.optionals pythonSupport [ libxml2.py python ] - ++ lib.optionals cryptoSupport [ libgcrypt ]; + buildInputs = [ + libxml2.dev + ] ++ lib.optional stdenv.isDarwin [ + gettext + ] ++ lib.optionals pythonSupport [ + libxml2.py + python + ncurses + ] ++ lib.optionals cryptoSupport [ + libgcrypt + ]; - propagatedBuildInputs = [ findXMLCatalogs ]; + propagatedBuildInputs = [ + findXMLCatalogs + ]; configureFlags = [ "--without-debug" "--without-mem-debug" "--without-debugger" - ] ++ lib.optional pythonSupport "--with-python=${python}" - ++ lib.optional (!cryptoSupport) "--without-crypto"; + ] ++ lib.optionals pythonSupport [ + "--with-python=${python}" + ] ++ lib.optionals (!cryptoSupport) [ + "--without-crypto" + ]; postFixup = '' moveToOutput bin/xslt-config "$dev" @@ -46,6 +68,11 @@ stdenv.mkDerivation rec { passthru = { inherit pythonSupport; + + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "none"; + }; }; meta = with lib; { @@ -53,7 +80,7 @@ stdenv.mkDerivation rec { description = "A C library and tools to do XSL transformations"; license = licenses.mit; platforms = platforms.all; - maintainers = [ maintainers.eelco ]; - broken = !(pythonSupport -> libxml2.pythonSupport); # see #73102 for why this is not an assert + maintainers = with maintainers; [ eelco jtojnar ]; + broken = pythonSupport && !libxml2.pythonSupport; # see #73102 for why this is not an assert }; } diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 1fb573931b6..23163763ed9 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -33,7 +33,7 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "21.3.5"; + version = "21.3.7"; branch = versions.major version; self = stdenv.mkDerivation { @@ -47,18 +47,13 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "0k2ary16ixsrp65m2n5djpr51nbwdgzpv81pfrnqbvk44jfjlfyr"; + sha256 = "0ggw3s514z6szasbiy4dv5mdi689121yy2xly2g21gv1mavrvyml"; }; # TODO: # revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved # ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog patches = [ - # To fix flickering on Intel GPUs (iris), see https://github.com/NixOS/nixpkgs/issues/153377: - (fetchpatch { - url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/07dc3d4238e57901ccf98e0b506d9aad2c86b9d9.diff"; - sha256 = "sha256-3fa1qHJes3x1/iXsxfjgy9HnEGlOyFtJatSkU1a3XDI="; - }) # fixes pkgsMusl.mesa build ./musl.patch (fetchpatch { diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index efab246bb1f..2740b95986c 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { # Note the revision needs to be adjusted. version = "6.3"; - name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat"; + pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat"; # We cannot use fetchFromGitHub (which calls fetchzip) # because we need to be able to use fetchurlBoot. diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix index a39ece28aae..1521c1a6389 100644 --- a/pkgs/development/libraries/neon/default.nix +++ b/pkgs/development/libraries/neon/default.nix @@ -14,12 +14,12 @@ let in stdenv.mkDerivation rec { - version = "0.31.2"; + version = "0.32.2"; pname = "neon"; src = fetchurl { url = "https://notroj.github.io/${pname}/${pname}-${version}.tar.gz"; - sha256 = "0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng"; + sha256 = "sha256-mGVmRoxilfxdD7FBpZgeMcn4LuOOk4N0q+2Ece8vsoY="; }; patches = optionals stdenv.isDarwin [ ./darwin-fix-configure.patch ]; diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix index 348faf56b56..44afdf45513 100644 --- a/pkgs/development/libraries/nettle/generic.nix +++ b/pkgs/development/libraries/nettle/generic.nix @@ -5,9 +5,9 @@ }: stdenv.mkDerivation { - name = "nettle-${version}"; + pname = "nettle"; - inherit src; + inherit version src; outputs = [ "out" "dev" ]; outputBin = "dev"; diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index e92b3dec07b..d17f4c4a783 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.74"; + version = "3.75"; 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 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8"; + sha256 = "10l5qn68gly2l4ifv0v6by1qc8nsmhra08nm9m7n913jh83iamzx"; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/libraries/openh264/default.nix b/pkgs/development/libraries/openh264/default.nix index 93fc495d385..42ae370cd90 100644 --- a/pkgs/development/libraries/openh264/default.nix +++ b/pkgs/development/libraries/openh264/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "openh264"; - version = "2.1.1"; + version = "2.2.0"; src = fetchFromGitHub { owner = "cisco"; repo = pname; rev = "v${version}"; - sha256 = "0ffav46pz3sbj92nipd62z03fibyqgclfq9w8lgr80s6za6zdk5s"; + sha256 = "sha256-l64xP39Uaislqh4D7oSxJiQGhXkklol4LgS9BVPbaGk="; }; nativeBuildInputs = [ nasm ]; diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 964a3640871..3033b7df4e3 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.3"; + version = "1.50.4"; outputs = [ "bin" "out" "dev" ] ++ lib.optionals withDocs [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "St0F7fUcH7N1oczedJiRQSDiPLKA3XOVsa60QfGDikw="; + sha256 = "9K1j6H3CsUUwBUKk+wBNB6n5GzQVL64N2+UOzdhRwWI="; }; strictDeps = !withIntrospection; diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index 79682d7ace8..fc5f6608ed2 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -20,7 +20,6 @@ , udev , libva , libsndfile -, SDL2 , vulkan-headers , vulkan-loader , webrtc-audio-processing @@ -129,7 +128,6 @@ let vulkan-headers vulkan-loader webrtc-audio-processing - SDL2 systemd ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] ++ lib.optionals libcameraSupport [ libcamera libdrm ] @@ -139,7 +137,7 @@ let ++ lib.optional zeroconfSupport avahi ++ lib.optional raopSupport openssl ++ lib.optional rocSupport roc-toolkit - ++ lib.optionals x11Support [ libcanberra xorg.libxcb ]; + ++ lib.optionals x11Support [ libcanberra xorg.libX11 ]; # Valgrind binary is required for running one optional test. checkInputs = lib.optional withValgrind valgrind; @@ -169,6 +167,7 @@ let "-Dsession-managers=" "-Dvulkan=enabled" "-Dx11=${mesonEnableFeature x11Support}" + "-Dsdl2=disabled" # required only to build examples, causes dependency loop ]; # Fontconfig error: Cannot load default config file diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix index fe148368b49..082702ec46f 100644 --- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix +++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix @@ -7,11 +7,11 @@ mkDerivation rec { pname = "plasma-wayland-protocols"; - version = "1.5.0"; + version = "1.6.0"; src = fetchurl { url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-zMn8INehMO2/sjPDOxMldArAGyZAqjelxUTtv7oYqDM="; + sha256 = "sha256-t0/6yWnvBn5HGA50imejoYFrcVf/TqYg7UQy9Ztw8B8="; }; nativeBuildInputs = [ extra-cmake-modules ]; diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 3a3199cbd7a..72907f7aedc 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -65,6 +65,12 @@ stdenv.mkDerivation rec { url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/a2bf5c9c83b6ae46cbd5c779d3055bff81ded683.patch"; sha256 = "162jkpg2myq0rb0s5k3nfr4pqwv9im13jf6vzj8p5l39nazg5i4s"; }) + # File descriptor leak allows an unprivileged user to cause a crash (CVE-2021-4115) + (fetchpatch { + name = "CVE-2021-4115.patch"; + url = "https://src.fedoraproject.org/rpms/polkit/raw/0a203bd46a1e2ec8cc4b3626840e2ea9d0d13a9a/f/CVE-2021-4115.patch"; + sha256 = "sha256-BivHVVpYB4Ies1YbBDyKwUmNlqq2D1MpMipH9/dZM54="; + }) ] ++ lib.optionals stdenv.hostPlatform.isMusl [ # Make netgroup support optional (musl does not have it) # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10 diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json index 76c4237dcaf..8bf6386c4c6 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json +++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json @@ -1,8 +1,8 @@ { "qt3d": { "url": "https://invent.kde.org/qt/qt/qt3d.git", - "rev": "7edec6e014de27b9dd03f63875c471aac606a918", - "sha256": "0qv4vhciigqd8bnqzrs7y71ls7jx1p9cal2rh78m42qgskk1ci59" + "rev": "dba14d48611b9e9d59576172658779ab4a39b416", + "sha256": "1w2m1rm6mhj9qbanak36rqvc30x495zvj7mh2syy1yd29by0g5i8" }, "qtactiveqt": { "url": "https://invent.kde.org/qt/qt/qtactiveqt.git", @@ -16,8 +16,8 @@ }, "qtbase": { "url": "https://invent.kde.org/qt/qt/qtbase.git", - "rev": "c9fde86b0a2440133bc08f4811b6ca793be47f0a", - "sha256": "1fqhdkv3sp3nbzqi2a5wvxn5d4v0xcrq2bl609bdyj4nx367a8wp" + "rev": "d16bf02a11953dcac01dca73e6f3778f293adefe", + "sha256": "0rpyd5r60707lzfmfi3y501c7is1gzhh30bframsy8bwglck2hjj" }, "qtcharts": { "url": "https://invent.kde.org/qt/qt/qtcharts.git", @@ -26,8 +26,8 @@ }, "qtconnectivity": { "url": "https://invent.kde.org/qt/qt/qtconnectivity.git", - "rev": "69a87a9b831e36a578594a0a13130c384ad03121", - "sha256": "0ph07rdf9qfxnw3z2nqbmh6na65z0p2snmlzdw80amd7s0g255kw" + "rev": "5e9ca5d36d65dadb98ef90013a1dcf15fbd7ae26", + "sha256": "1lpiq3svlnj8f8apd12if11sng7k0l8y6vhr317srzz4dd77cfry" }, "qtdatavis3d": { "url": "https://invent.kde.org/qt/qt/qtdatavis3d.git", @@ -36,8 +36,8 @@ }, "qtdeclarative": { "url": "https://invent.kde.org/qt/qt/qtdeclarative.git", - "rev": "55324650f9e759a43dce927f823c9858574106c3", - "sha256": "0cxz4pqvb8l0wqpc4hr0xmc72csqf7dpbbzdqgil9nyyg21ihkz0" + "rev": "1d49a5b678957adde7e2db23a485a3f48157bc8f", + "sha256": "1wdpgh23mdn0nny9c837iyg9kszc3m4cdmaanf8glymkzn0rkd8w" }, "qtdoc": { "url": "https://invent.kde.org/qt/qt/qtdoc.git", @@ -101,8 +101,8 @@ }, "qtquickcontrols2": { "url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git", - "rev": "be66bf9a5618c745d2a6ee2262967af6307b3b07", - "sha256": "11h3f3rb2kqgsw7njzhjwazw1k03v12i83irjndylafiaqw6c6ks" + "rev": "d8d6b14b9907adbc6ce307d52be34aaa761a58fa", + "sha256": "15c7nrvvn7qc3l7kdbl5wdpazqwv8zvg1aij2jvcrhbymn0zl3mc" }, "qtquicktimeline": { "url": "https://invent.kde.org/qt/qt/qtquicktimeline.git", @@ -146,8 +146,8 @@ }, "qtsvg": { "url": "https://invent.kde.org/qt/qt/qtsvg.git", - "rev": "24128cdf8bef53eddf31a5709bbbc46293006b1c", - "sha256": "0vinjcbq4saxhlmvb5i93bzgg30qc3j8r2qfwrzaxc4vmfhfgi56" + "rev": "728012f7762ecd5762d493f8796907c6456f31e7", + "sha256": "1ldizgybl4fp95xlzf103hqmsqdmr3jbx048jyxcb5gjd3pbwh7p" }, "qttools": { "url": "https://invent.kde.org/qt/qt/qttools.git", @@ -161,18 +161,18 @@ }, "qtvirtualkeyboard": { "url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git", - "rev": "353b75b2e34bdae901625bbddf5c5e3f3e6c0de5", - "sha256": "12nv773zc05yrbai1z6i481yinih0kxcjzgm9pa0580qz69gd9a5" + "rev": "98d1fd864cbb6c7c012c4139118808af110fb8f0", + "sha256": "07xjmhca7z5bva03zk73d948qz0a3wnn4kvyy6j4cnp3w5giz5kc" }, "qtwayland": { "url": "https://invent.kde.org/qt/qt/qtwayland.git", - "rev": "992833ca741efe8f533c61abfaf129a1d8bfcfee", - "sha256": "1w8mq38k6s0fncqv113bw1pc7g10ysfmsbyg23hxh9fr5q4ia4q7" + "rev": "214f7ab9d3384a4123f14d9f6cd0205cf0aaa794", + "sha256": "1qd64w5c16gmpgi936dfjc0pn1a1rbs752k8lfqv2xwysx7qkqwi" }, "qtwebchannel": { "url": "https://invent.kde.org/qt/qt/qtwebchannel.git", - "rev": "47be9a51b01d9fd9e7f6dca81e98d4eedcec6d38", - "sha256": "167rp43c86xr4grzxs4bl46y6sf1q9xa0641mgp4r94g2ipxyc1d" + "rev": "fa8b07105b5e274daaa8adcc129fa4aa0447f9f7", + "sha256": "0mggqa8kixknbm1p5i5lkrmkj1na3b2xflj011dkjbj8wb78i42n" }, "qtwebglplugin": { "url": "https://invent.kde.org/qt/qt/qtwebglplugin.git", @@ -181,8 +181,8 @@ }, "qtwebsockets": { "url": "https://invent.kde.org/qt/qt/qtwebsockets.git", - "rev": "e7883bc64440b1ff4666272ac6eb710ee4bc221b", - "sha256": "1rj99y1f0wn6g1m2k53xkni5v79zgq25yv8b9wx2bz0n2r9iasca" + "rev": "b13b56904b76e96ea52d0efe56395acc94b17d96", + "sha256": "047asrq7c44v7cn2d7c5zba47qzpsb6nidba77i2xn7gqlfv6z3b" }, "qtwebview": { "url": "https://invent.kde.org/qt/qt/qtwebview.git", diff --git a/pkgs/development/libraries/readline/readline-8.1-patches.nix b/pkgs/development/libraries/readline/readline-8.1-patches.nix index b8019fb3350..b2aaadf0e9b 100644 --- a/pkgs/development/libraries/readline/readline-8.1-patches.nix +++ b/pkgs/development/libraries/readline/readline-8.1-patches.nix @@ -1,4 +1,6 @@ # Automatically generated by `update-patch-set.sh'; do not edit. patch: [ +(patch "001" "0i4ikdqgcjnb40y2ss3lm09rq56zih5rzma3bib50dk3d1d4cak8") +(patch "002" "1p15sfx5xg5k4lam12lyd0givk7dfjddqpnb1jdp3c4clray0nz5") ] diff --git a/pkgs/development/libraries/readline/update-patch-set.sh b/pkgs/development/libraries/readline/update-patch-set.sh new file mode 120000 index 00000000000..d4f5cd2f312 --- /dev/null +++ b/pkgs/development/libraries/readline/update-patch-set.sh @@ -0,0 +1 @@ +../../../shells/bash/update-patch-set.sh \ No newline at end of file diff --git a/pkgs/development/libraries/science/math/amd-blis/default.nix b/pkgs/development/libraries/science/math/amd-blis/default.nix index cba9c28164a..f0408730282 100644 --- a/pkgs/development/libraries/science/math/amd-blis/default.nix +++ b/pkgs/development/libraries/science/math/amd-blis/default.nix @@ -64,7 +64,7 @@ in stdenv.mkDerivation rec { description = "BLAS-compatible library optimized for AMD CPUs"; homepage = "https://developer.amd.com/amd-aocl/blas-library/"; license = licenses.bsd3; - maintainers = [ ]; + maintainers = [ maintainers.markuskowa ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/development/libraries/science/math/amd-libflame/default.nix b/pkgs/development/libraries/science/math/amd-libflame/default.nix index b28fa43a226..a5b65737941 100644 --- a/pkgs/development/libraries/science/math/amd-libflame/default.nix +++ b/pkgs/development/libraries/science/math/amd-libflame/default.nix @@ -6,8 +6,12 @@ , amd-blis , withOpenMP ? true +, blas64 ? false }: +# right now only LP64 is supported +assert !blas64; + stdenv.mkDerivation rec { pname = "amd-libflame"; version = "3.0"; @@ -26,6 +30,8 @@ stdenv.mkDerivation rec { ./add-lapacke.diff ]; + passthru = { inherit blas64; }; + nativeBuildInputs = [ gfortran python3 ]; buildInputs = [ amd-blis ]; diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix index cfdc102e044..acb737836c0 100644 --- a/pkgs/development/libraries/science/math/blas/default.nix +++ b/pkgs/development/libraries/science/math/blas/default.nix @@ -1,4 +1,7 @@ -{ lib, stdenv, fetchurl, gfortran }: +{ lib, stdenv, fetchurl, cmake, gfortran +# Wether to build with ILP64 interface +, blas64 ? false +}: stdenv.mkDerivation rec { pname = "blas"; @@ -9,50 +12,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-LjYNmcm9yEB6YYiMQKqFP7QhlCDruCZNtIbLiGBGirM="; }; - nativeBuildInputs = [ gfortran ]; + passthru = { inherit blas64; }; - configurePhase = '' - echo >make.inc "SHELL = ${stdenv.shell}" - echo >>make.inc "PLAT = _LINUX" - echo >>make.inc "FORTRAN = gfortran" - echo >>make.inc "OPTS = -O2 -fPIC" - echo >>make.inc "DRVOPTS = $$(OPTS)" - echo >>make.inc "NOOPT = -O0 -fPIC" - echo >>make.inc "LOADER = gfortran" - echo >>make.inc "LOADOPTS =" - echo >>make.inc "AR = gfortran" - echo >>make.inc "ARFLAGS = -shared -o" - echo >>make.inc "RANLIB = echo" - echo >>make.inc "BLASLIB = libblas.so.${version}" - ''; + nativeBuildInputs = [ cmake gfortran ]; - buildPhase = '' - make - echo >>make.inc "ARFLAGS = " - echo >>make.inc "BLASLIB = libblas.a" - echo >>make.inc "AR = ar rcs" - echo >>make.inc "RANLIB = ranlib" - make - ''; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] + ++ lib.optional blas64 "-DBUILD_INDEX64=ON"; - installPhase = - # FreeBSD's stdenv doesn't use Coreutils. - let dashD = if stdenv.isFreeBSD then "" else "-D"; in - (lib.optionalString stdenv.isFreeBSD "mkdir -p $out/lib ;") - + '' - install ${dashD} -m755 libblas.a "$out/lib/libblas.a" - install ${dashD} -m755 libblas.so.${version} "$out/lib/libblas.so.${version}" - ln -s libblas.so.${version} "$out/lib/libblas.so.3" - ln -s libblas.so.${version} "$out/lib/libblas.so" - # Write pkg-config alias. - # See also openblas/default.nix - mkdir $out/lib/pkgconfig - cat <<EOF > $out/lib/pkgconfig/blas.pc -Name: blas -Version: ${version} -Description: blas provided by the BLAS package. -Libs: -L$out/lib -lblas -EOF + postInstall = let + canonicalExtension = if stdenv.hostPlatform.isLinux + then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}" + else stdenv.hostPlatform.extensions.sharedLibrary; + in lib.optionalString blas64 '' + ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension} ''; preFixup = lib.optionalString stdenv.isDarwin '' @@ -62,10 +34,11 @@ EOF done ''; - meta = { + meta = with lib; { description = "Basic Linear Algebra Subprograms"; - license = lib.licenses.publicDomain; + license = licenses.publicDomain; + maintainers = [ maintainers.markuskowa ]; homepage = "http://www.netlib.org/blas/"; - platforms = lib.platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix index f2a50cb2d3d..9f481961e5b 100644 --- a/pkgs/development/libraries/science/math/liblapack/default.nix +++ b/pkgs/development/libraries/science/math/liblapack/default.nix @@ -5,6 +5,8 @@ , gfortran , cmake , shared ? true +# Compile with ILP64 interface +, blas64 ? false }: stdenv.mkDerivation rec { @@ -36,7 +38,19 @@ stdenv.mkDerivation rec { "-DLAPACKE=ON" "-DCBLAS=ON" "-DBUILD_TESTING=ON" - ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON"; + ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON" + ++ lib.optional blas64 "-DBUILD_INDEX64=ON"; + + passthru = { inherit blas64; }; + + postInstall = let + canonicalExtension = if stdenv.hostPlatform.isLinux + then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}" + else stdenv.hostPlatform.extensions.sharedLibrary; + in lib.optionalString blas64 '' + ln -s $out/lib/liblapack64${canonicalExtension} $out/lib/liblapack${canonicalExtension} + ln -s $out/lib/liblapacke64${canonicalExtension} $out/lib/liblapacke${canonicalExtension} + ''; doCheck = true; @@ -63,7 +77,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Linear Algebra PACKage"; homepage = "http://www.netlib.org/lapack/"; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ markuskowa ]; license = licenses.bsd3; platforms = platforms.all; }; diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index d61b6ee3acb..8e5d7180115 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.19"; + version = "0.3.20"; outputs = [ "out" "dev" ]; @@ -137,7 +137,7 @@ stdenv.mkDerivation rec { owner = "xianyi"; repo = "OpenBLAS"; rev = "v${version}"; - sha256 = "sha256-EqA6oFM2theuvvuDOWeOx0Bv6AEFffmpWHJBzp23br0="; + sha256 = "sha256-FLPVcepf7tv/es+4kur9Op7o3iVAAayuYN4hY/P4mmQ="; }; inherit blas64; diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index a7d4aa97074..5509be7822d 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }: +{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, fftw, speexdsp }: stdenv.mkDerivation rec { pname = "speex"; @@ -13,6 +13,14 @@ stdenv.mkDerivation rec { sed -i '/AC_CONFIG_MACRO_DIR/i PKG_PROG_PKG_CONFIG' configure.ac ''; + patches = [ + (fetchpatch { + name = "CVE-2020-23903.patch"; + url = "https://github.com/xiph/speex/commit/870ff845b32f314aec0036641ffe18aba4916887.patch"; + sha256 = "sha256-uEMDhDTw/LIWNPPCXW6kF+udBmNO88G/jJTojAA9fs8="; + }) + ]; + outputs = [ "out" "dev" "doc" ]; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix index 6aa67bf274d..fd4f3dea375 100644 --- a/pkgs/development/libraries/tk/generic.nix +++ b/pkgs/development/libraries/tk/generic.nix @@ -3,7 +3,8 @@ , ... }: tcl.mkTclDerivation { - name = "tk-${tcl.version}"; + pname = "tk"; + version = tcl.version; inherit src patches; diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix deleted file mode 100644 index cab0197c939..00000000000 --- a/pkgs/development/libraries/wxwidgets/3.1/default.nix +++ /dev/null @@ -1,138 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchurl -, pkg-config -, libXinerama -, libSM -, libXxf86vm -, libXtst -, gtk2 -, GConf ? null -, gtk3 -, xorgproto -, gst_all_1 -, setfile -, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms -, withMesa ? libGLSupported -, libGLU ? null -, libGL ? null -, compat28 ? false -, compat30 ? true -, unicode ? true -, withGtk2 ? true -, withWebKit ? false -, webkitgtk ? null -, AGL ? null -, Carbon ? null -, Cocoa ? null -, Kernel ? null -, QTKit ? null -}: - -with lib; - -assert withMesa -> libGLU != null && libGL != null; -assert withWebKit -> webkitgtk != null; - -assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2."; - -stdenv.mkDerivation rec { - version = "3.1.4"; - pname = "wxwidgets"; - - src = fetchFromGitHub { - owner = "wxWidgets"; - repo = "wxWidgets"; - rev = "v${version}"; - sha256 = "1fwzrk6w5k0vs8kqdq5lpzdbp5c09hx740wg6mi6vgmc1r67dv67"; - fetchSubmodules = true; - }; - - buildInputs = [ - libXinerama - libSM - libXxf86vm - libXtst - xorgproto - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - ] ++ optionals withGtk2 [ gtk2 GConf ] - ++ optional (!withGtk2) gtk3 - ++ optional withMesa libGLU - ++ optional withWebKit webkitgtk - ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ]; - - nativeBuildInputs = [ pkg-config ]; - - propagatedBuildInputs = optional stdenv.isDarwin AGL; - - patches = [ - (fetchurl { - # https://trac.wxwidgets.org/ticket/17942 - url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/" - + "fix_assertion_using_hide_in_destroy.diff"; - sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy"; - }) - ]; - - configureFlags = - [ - "--disable-precomp-headers" - "--enable-mediactrl" - (if compat28 then "--enable-compat28" else "--disable-compat28") - (if compat30 then "--enable-compat30" else "--disable-compat30") - ] - ++ optional unicode "--enable-unicode" - ++ optional withMesa "--with-opengl" - ++ optionals stdenv.isDarwin - # allow building on 64-bit - [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ] - ++ optionals withWebKit - [ "--enable-webview" "--enable-webviewwebkit" ]; - - SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib "; - - preConfigure = " - substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' - substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB=' - substituteInPlace configure --replace /usr /no-such-path - " + optionalString stdenv.isDarwin '' - substituteInPlace configure --replace \ - 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \ - 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"' - substituteInPlace configure --replace \ - "-framework System" \ - -lSystem - ''; - - postInstall = " - (cd $out/include && ln -s wx-*/* .) - "; - - passthru = { - inherit compat28 compat30 unicode; - gtk = if withGtk2 then gtk2 else gtk3; - }; - - enableParallelBuilding = true; - - meta = { - platforms = with platforms; darwin ++ linux; - license = licenses.wxWindows; - homepage = "https://www.wxwidgets.org/"; - description = "A C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base"; - longDescription = '' - WxWidgets gives you a single, easy-to-use API for - writing GUI applications on multiple platforms that still utilize the - native platform's controls and utilities. Link with the appropriate library - for your platform and compiler, and your application will adopt the look - and feel appropriate to that platform. On top of great GUI functionality, - wxWidgets gives you: online help, network programming, streams, clipboard - and drag and drop, multithreading, image loading and saving in a variety of - popular formats, database support, HTML viewing and printing, and much - more. - ''; - badPlatforms = [ "x86_64-darwin" ]; - maintainers = with maintainers; [ tfmoraes ]; - }; -} diff --git a/pkgs/development/libraries/wxwidgets/2.8/default.nix b/pkgs/development/libraries/wxwidgets/wxGTK28.nix index 19a57d68e15..19a57d68e15 100644 --- a/pkgs/development/libraries/wxwidgets/2.8/default.nix +++ b/pkgs/development/libraries/wxwidgets/wxGTK28.nix diff --git a/pkgs/development/libraries/wxwidgets/2.9/default.nix b/pkgs/development/libraries/wxwidgets/wxGTK29.nix index 34d76e53ff6..34d76e53ff6 100644 --- a/pkgs/development/libraries/wxwidgets/2.9/default.nix +++ b/pkgs/development/libraries/wxwidgets/wxGTK29.nix diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/wxGTK30.nix index 628d8bd0237..b54f2851e39 100644 --- a/pkgs/development/libraries/wxwidgets/3.0/default.nix +++ b/pkgs/development/libraries/wxwidgets/wxGTK30.nix @@ -12,8 +12,8 @@ , pkg-config , xorgproto , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms -, compat24 ? false -, compat26 ? true +, compat26 ? false +, compat28 ? true , unicode ? true , withGtk2 ? true , withWebKit ? false, webkitgtk @@ -75,8 +75,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-precomp-headers" "--enable-mediactrl" - (if compat24 then "--enable-compat24" else "--disable-compat24") (if compat26 then "--enable-compat26" else "--disable-compat26") + (if compat28 then "--enable-compat28" else "--disable-compat28") ] ++ lib.optional unicode "--enable-unicode" ++ lib.optional withMesa "--with-opengl" @@ -136,6 +136,6 @@ stdenv.mkDerivation rec { passthru = { inherit gtk; - inherit compat24 compat26 unicode; + inherit compat26 compat28 unicode; }; } diff --git a/pkgs/development/libraries/wxwidgets/wxGTK31.nix b/pkgs/development/libraries/wxwidgets/wxGTK31.nix new file mode 100644 index 00000000000..ae6f3e6a0c9 --- /dev/null +++ b/pkgs/development/libraries/wxwidgets/wxGTK31.nix @@ -0,0 +1,149 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchurl +, gnome2 +, gst_all_1 +, gtk2 +, gtk3 +, libGL +, libGLU +, libSM +, libXinerama +, libXtst +, libXxf86vm +, pkg-config +, xorgproto +, compat28 ? false +, compat30 ? true +, unicode ? true +, withGtk2 ? true +, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms +, withWebKit ? false, webkitgtk +, darwin +}: + +assert withMesa -> libGLU != null && libGL != null; +assert withWebKit -> webkitgtk != null; + +assert withGtk2 -> (!withWebKit); + +let + inherit (darwin.stubs) setfile; + inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; + inherit (gnome2) GConf; + inherit (gst_all_1) gst-plugins-base gstreamer; + gtk = if withGtk2 then gtk2 else gtk3; +in +stdenv.mkDerivation rec { + pname = "wxwidgets"; + version = "3.1.5"; + + src = fetchFromGitHub { + owner = "wxWidgets"; + repo = "wxWidgets"; + rev = "v${version}"; + hash = "sha256-2zMvcva0GUDmSYK0Wk3/2Y6R3F7MgdqGBrOhmWgVA6g="; + fetchSubmodules = true; + }; + + patches = [ + # https://github.com/wxWidgets/wxWidgets/issues/17942 + ./0001-fix-assertion-using-hide-in-destroy.patch + ]; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + gst-plugins-base + gstreamer + gtk + libSM + libXinerama + libXtst + libXxf86vm + xorgproto + ] + ++ lib.optionals withGtk2 [ + GConf + ] + ++ lib.optional withMesa libGLU + ++ lib.optional withWebKit webkitgtk + ++ lib.optionals stdenv.isDarwin [ + Carbon + Cocoa + Kernel + QTKit + setfile + ]; + + propagatedBuildInputs = lib.optional stdenv.isDarwin AGL; + + configureFlags = [ + "--disable-precomp-headers" + "--enable-mediactrl" + (if compat28 then "--enable-compat28" else "--disable-compat28") + (if compat30 then "--enable-compat30" else "--disable-compat30") + ] + ++ lib.optional unicode "--enable-unicode" + ++ lib.optional withMesa "--with-opengl" + ++ lib.optionals stdenv.isDarwin [ + # allow building on 64-bit + "--enable-universal-binaries" + "--with-cocoa" + "--with-macosx-version-min=10.7" + ] + ++ lib.optionals withWebKit [ + "--enable-webview" + "--enable-webviewwebkit" + ]; + + SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib "; + + preConfigure = '' + substituteInPlace configure --replace \ + 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' + substituteInPlace configure --replace \ + 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB=' + substituteInPlace configure --replace \ + /usr /no-such-path + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace configure --replace \ + 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \ + 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"' + substituteInPlace configure --replace \ + "-framework System" "-lSystem" + ''; + + postInstall = " + pushd $out/include + ln -s wx-*/* . + popd + "; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://www.wxwidgets.org/"; + description = "A Cross-Platform C++ GUI Library"; + longDescription = '' + wxWidgets gives you a single, easy-to-use API for writing GUI applications + on multiple platforms that still utilize the native platform's controls + and utilities. Link with the appropriate library for your platform and + compiler, and your application will adopt the look and feel appropriate to + that platform. On top of great GUI functionality, wxWidgets gives you: + online help, network programming, streams, clipboard and drag and drop, + multithreading, image loading and saving in a variety of popular formats, + database support, HTML viewing and printing, and much more. + ''; + license = licenses.wxWindows; + maintainers = with maintainers; [ AndersonTorres tfmoraes ]; + platforms = platforms.unix; + badPlatforms = platforms.darwin; # ofBorg is failing, don't know if internal + }; + + passthru = { + inherit gtk; + inherit compat28 compat30 unicode; + }; +} diff --git a/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/pkgs/development/libraries/wxwidgets/wxmac30.nix index e1f732929ce..e1f732929ce 100644 --- a/pkgs/development/libraries/wxwidgets/3.0/mac.nix +++ b/pkgs/development/libraries/wxwidgets/wxmac30.nix diff --git a/pkgs/development/libraries/xdg-dbus-proxy/default.nix b/pkgs/development/libraries/xdg-dbus-proxy/default.nix index 21d6b6fa73e..95373934a47 100644 --- a/pkgs/development/libraries/xdg-dbus-proxy/default.nix +++ b/pkgs/development/libraries/xdg-dbus-proxy/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "xdg-dbus-proxy"; - version = "0.1.2"; + version = "0.1.3"; src = fetchurl { url = "https://github.com/flatpak/xdg-dbus-proxy/releases/download/${version}/${pname}-${version}.tar.xz"; - sha256 = "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p"; + sha256 = "sha256-A7XSjKh5JT3bvOMQmJCb7MoUleqBGmN3pJLijxbAm5s="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index f96fa882038..f6d9b5d97ec 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -92,7 +92,10 @@ buildPythonPackage rec { # Probably because we run `python -m pytest` instead of `pytest` in the hook. preCheck = '' cd tests - ''; + '' + lib.optionalString stdenv.isDarwin '' + # Work around "OSError: AF_UNIX path too long" + export TMPDIR="/tmp" + ''; meta = with lib; { description = "Asynchronous HTTP Client/Server for Python and asyncio"; diff --git a/pkgs/development/python-modules/aiosignal/default.nix b/pkgs/development/python-modules/aiosignal/default.nix index 1fd619a846a..9d815dfac05 100644 --- a/pkgs/development/python-modules/aiosignal/default.nix +++ b/pkgs/development/python-modules/aiosignal/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "aiosignal"; - version = "1.2.0"; # re-enable tests after 1.2.0 + version = "1.2.0"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { @@ -23,8 +23,6 @@ buildPythonPackage rec { frozenlist ]; - # not compatible w ith latest asyncio - doCheck = false; checkInputs = [ pytest-asyncio pytestCheckHook @@ -32,6 +30,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pytest.ini \ + --replace "filterwarnings = error" "" \ --replace "--cov=aiosignal" "" ''; diff --git a/pkgs/development/python-modules/async_generator/default.nix b/pkgs/development/python-modules/async_generator/default.nix index fb7dec6d6ed..6f6da10a87f 100644 --- a/pkgs/development/python-modules/async_generator/default.nix +++ b/pkgs/development/python-modules/async_generator/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy35, pytest, pytest-asyncio }: +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, pytest-asyncio +, pytestCheckHook +}: buildPythonPackage rec { pname = "async-generator"; @@ -12,17 +18,17 @@ buildPythonPackage rec { sha256 = "6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"; }; - # no longer compatible with pytest-asyncio - doCheck = false; - checkInputs = [ pytest pytest-asyncio ]; + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; - checkPhase = '' - pytest -W error -ra -v --pyargs async_generator - ''; + pythonImportsCheck = [ "async_generator" ]; meta = with lib; { description = "Async generators and context managers for Python 3.5+"; homepage = "https://github.com/python-trio/async_generator"; license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix index 13f05fa6136..064fe8187ed 100644 --- a/pkgs/development/python-modules/black/default.nix +++ b/pkgs/development/python-modules/black/default.nix @@ -1,8 +1,12 @@ -{ stdenv, lib -, buildPythonPackage, fetchPypi, pythonOlder, setuptools-scm, pytestCheckHook +{ stdenv +, lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +, pytestCheckHook , aiohttp , aiohttp-cors -, attrs , click , colorama , dataclasses @@ -19,13 +23,13 @@ buildPythonPackage rec { pname = "black"; - version = "21.12b0"; + version = "22.1.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM="; + hash = "sha256-p8AZLTVjX2/BF0vldct5FekuXdYp7nn9rw3PpBqAr7U="; }; nativeBuildInputs = [ setuptools-scm ]; @@ -61,17 +65,15 @@ buildPythonPackage rec { propagatedBuildInputs = [ aiohttp aiohttp-cors - attrs click colorama mypy-extensions pathspec platformdirs tomli - typed-ast # required for tests and python2 extra uvloop - ] ++ lib.optional (pythonOlder "3.7") dataclasses - ++ lib.optional (pythonOlder "3.8") typing-extensions; + ] ++ lib.optional (pythonOlder "3.8") typed-ast + ++ lib.optional (pythonOlder "3.10") typing-extensions; meta = with lib; { description = "The uncompromising Python code formatter"; diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix index e1c27d9e4fb..587d0d1f6c1 100644 --- a/pkgs/development/python-modules/cchardet/default.nix +++ b/pkgs/development/python-modules/cchardet/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildPythonPackage , fetchPypi , python @@ -20,9 +21,14 @@ buildPythonPackage rec { checkInputs = [ nose ]; + # on non x86-64 some charsets are identified as their superset, so we skip these tests (last checked with version 2.1.7) preCheck = '' cp -R src/tests $TMPDIR pushd $TMPDIR + '' + lib.optionalString (stdenv.hostPlatform.system != "x86_64-linux") '' + rm $TMPDIR/tests/testdata/th/tis-620.txt # identified as iso-8859-11, which is fine for all practical purposes + rm $TMPDIR/tests/testdata/ga/iso-8859-1.txt # identified as windows-1252, which is fine for all practical purposes + rm $TMPDIR/tests/testdata/fi/iso-8859-1.txt # identified as windows-1252, which is fine for all practical purposes ''; checkPhase = '' diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix index ba7dd1db3b9..d406ea15fbd 100644 --- a/pkgs/development/python-modules/charset-normalizer/default.nix +++ b/pkgs/development/python-modules/charset-normalizer/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "charset-normalizer"; - version = "2.0.10"; + version = "2.0.12"; format = "setuptools"; disabled = pythonOlder "3.5"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "Ousret"; repo = "charset_normalizer"; rev = version; - hash = "sha256-QsUqrC2oycvyCbOzGmHahgNi40YZ0sujb3Cj8EnsGS8="; + hash = "sha256-d5vWnZtFR669l1Meg4ZSsYIyBlJZya7SpXJMx2AP8NU="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix index 608f3a0cac6..d55f5155b45 100644 --- a/pkgs/development/python-modules/check-manifest/default.nix +++ b/pkgs/development/python-modules/check-manifest/default.nix @@ -8,22 +8,21 @@ , pep517 , pytestCheckHook , toml +, pythonOlder }: buildPythonPackage rec { pname = "check-manifest"; version = "0.47"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "56dadd260a9c7d550b159796d2894b6d0bcc176a94cbc426d9bb93e5e48d12ce"; + hash = "sha256-VtrdJgqcfVULFZeW0olLbQvMF2qUy8Qm2buT5eSNEs4="; }; - # Test requires filesystem access - postPatch = '' - substituteInPlace tests.py --replace "test_build_sdist" "no_test_build_sdist" - ''; - propagatedBuildInputs = [ build pep517 @@ -37,11 +36,18 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "check_manifest" ]; + disabledTests = [ + # Test wants to setup a venv + "test_build_sdist_pep517_isolated" + ]; + + pythonImportsCheck = [ + "check_manifest" + ]; meta = with lib; { - homepage = "https://github.com/mgedmin/check-manifest"; description = "Check MANIFEST.in in a Python source package for completeness"; + homepage = "https://github.com/mgedmin/check-manifest"; license = licenses.mit; maintainers = with maintainers; [ lewo ]; }; diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix index c4df27beaaa..727bf304fdb 100644 --- a/pkgs/development/python-modules/django/2.nix +++ b/pkgs/development/python-modules/django/2.nix @@ -5,13 +5,14 @@ }: buildPythonPackage rec { - pname = "Django"; + pname = "django"; version = "2.2.27"; disabled = !isPy3k; src = fetchPypi { - inherit pname version; + pname = "Django"; + inherit version; sha256 = "sha256-HuNwRrC/K2HoOzoB0GcyNRbsO28rF81JsTJt1LqdyRM="; }; diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix index 3ed7024c349..1538b8a82b4 100644 --- a/pkgs/development/python-modules/django/3.nix +++ b/pkgs/development/python-modules/django/3.nix @@ -12,13 +12,14 @@ }: buildPythonPackage rec { - pname = "Django"; + pname = "django"; version = "3.2.12"; disabled = pythonOlder "3.7"; src = fetchPypi { - inherit pname version; + pname = "Django"; + inherit version; sha256 = "sha256-l3Lmk1cD5Z6ZOWCDLWamFM8CM6HFEjvGIk7MataeQeI="; }; diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix index 7c8f520647e..096279b3453 100644 --- a/pkgs/development/python-modules/eventlet/default.nix +++ b/pkgs/development/python-modules/eventlet/default.nix @@ -57,6 +57,8 @@ buildPythonPackage rec { "test_hosts_no_network" "test_leakage_from_tracebacks" "test_patcher_existing_locks_locked" + # broken with pyopenssl 22.0.0 + "test_sendall_timeout" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/frozenlist/default.nix b/pkgs/development/python-modules/frozenlist/default.nix index 34660645b59..1bc295fbe33 100644 --- a/pkgs/development/python-modules/frozenlist/default.nix +++ b/pkgs/development/python-modules/frozenlist/default.nix @@ -8,14 +8,16 @@ buildPythonPackage rec { pname = "frozenlist"; - version = "1.2.0"; - disabled = pythonOlder "3.6"; + version = "1.3.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "aio-libs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-rTbekdceC5QK0aiySi/4QUwaEoDfTlLrx2t6Kb9bH7U="; + hash = "sha256-cHKqkvsBUN7If+8swbd6aafFrSgnop3YlweBLPOHzyU="; }; nativeBuildInputs = [ @@ -35,7 +37,9 @@ buildPythonPackage rec { cython frozenlist/_frozenlist.pyx ''; - pythonImportsCheck = [ "frozenlist" ]; + pythonImportsCheck = [ + "frozenlist" + ]; meta = with lib; { description = "Python module for list-like structure"; diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix index 13b26e337ac..3917742a55a 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.10.1"; - format = "setuptools"; + version = "4.11.0"; + format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { pname = "importlib_metadata"; inherit version; - hash = "sha256-lR8NiltyYOnbXkHUKShbX0UekoR58Z2AgYh4Un026V4="; + hash = "sha256-nl5VO7uhhDy0oAgjAUuQdha+Ru5QPSuboAHSFKjaIY8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/iniconfig/default.nix b/pkgs/development/python-modules/iniconfig/default.nix index 90761f76f9d..a8a4a611fee 100644 --- a/pkgs/development/python-modules/iniconfig/default.nix +++ b/pkgs/development/python-modules/iniconfig/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib, buildPythonPackage, fetchPypi, setuptools-scm }: buildPythonPackage rec { pname = "iniconfig"; @@ -9,12 +9,14 @@ buildPythonPackage rec { sha256 = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"; }; + nativeBuildInputs = [ setuptools-scm ]; + doCheck = false; # avoid circular import with pytest pythonImportsCheck = [ "iniconfig" ]; meta = with lib; { description = "brain-dead simple parsing of ini files"; - homepage = "https://github.com/RonnyPfannschmidt/iniconfig"; + homepage = "https://github.com/pytest-dev/iniconfig"; license = licenses.mit; maintainers = with maintainers; [ jonringer ]; }; diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix index cee9868cfac..c1c0b049dc8 100644 --- a/pkgs/development/python-modules/ipython/default.nix +++ b/pkgs/development/python-modules/ipython/default.nix @@ -76,6 +76,11 @@ buildPythonPackage rec { testpath ]; + disabledTests = lib.optionals (stdenv.isDarwin) [ + # FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste' + "test_clipboard_get" + ]; + meta = with lib; { description = "IPython: Productive Interactive Computing"; homepage = "http://ipython.org/"; diff --git a/pkgs/development/python-modules/jedi/default.nix b/pkgs/development/python-modules/jedi/default.nix index d9884ab3d9f..f271920706f 100644 --- a/pkgs/development/python-modules/jedi/default.nix +++ b/pkgs/development/python-modules/jedi/default.nix @@ -3,9 +3,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub -, colorama , django -, docopt , pytestCheckHook , parso }: @@ -26,9 +24,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ parso ]; checkInputs = [ - colorama django - docopt pytestCheckHook ]; @@ -50,7 +46,7 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://github.com/davidhalter/jedi"; description = "An autocompletion tool for Python that can be used for text editors"; - license = licenses.lgpl3Plus; + license = licenses.mit; maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix index a998e7b74b4..1d9d0774379 100644 --- a/pkgs/development/python-modules/moto/default.nix +++ b/pkgs/development/python-modules/moto/default.nix @@ -264,6 +264,8 @@ buildPythonPackage rec { "test_state_machine_creation_fails_with_invalid_names" # needs graphql "test_get_schema_creation_status" + # only appears in aarch64 currently, but best to be safe + "test_state_machine_list_executions_with_filter" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix index 8775faa53c2..7a03226b4dd 100644 --- a/pkgs/development/python-modules/pbr/default.nix +++ b/pkgs/development/python-modules/pbr/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "pbr"; - version = "5.8.0"; + version = "5.8.1"; src = fetchPypi { inherit pname version; - sha256 = "672d8ebee84921862110f23fcec2acea191ef58543d34dfe9ef3d9f13c31cddf"; + sha256 = "sha256-ZrxaNJEvQIuzklvyEjHLb1kgYme39j81A++GXBopLiU="; }; propagatedBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/pbr/tests.nix b/pkgs/development/python-modules/pbr/tests.nix index b31334589f5..aacb726d6a1 100644 --- a/pkgs/development/python-modules/pbr/tests.nix +++ b/pkgs/development/python-modules/pbr/tests.nix @@ -1,8 +1,8 @@ { buildPythonPackage +, build , git , gnupg , pbr -, mock , sphinx , stestr , testresources @@ -27,9 +27,9 @@ buildPythonPackage rec { checkInputs = [ pbr + build git gnupg - mock sphinx stestr testresources diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix index 57b085a5405..4ecb138615c 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 = "9.0.0"; + version = "9.0.1"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "0gjry0yqryd2678sm47jhdnbghzxn5wk8pgyaqwr4qi7x5ijjvpf"; + sha256 = "bIvII4p9/a96dfXsWmY/QXP4w2flo5+H5yBJXh7tdfo="; }; meta = with lib; { diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix index f2e86599148..2be8928f630 100644 --- a/pkgs/development/python-modules/platformdirs/default.nix +++ b/pkgs/development/python-modules/platformdirs/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "platformdirs"; - version = "2.4.1"; + version = "2.5.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = version; - sha256 = "sha256-Ce1dwE2g/7o91NPkmlM0uv0eMB7WzFCExV/8ZCAn22Y="; + sha256 = "sha256-fppwtY8VX8IQ96H930xItO7mS8LlxxHgBcKlwIL5P2E="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix index 44e7ed0ad4a..e3e4e6c3a03 100644 --- a/pkgs/development/python-modules/pycryptodome/default.nix +++ b/pkgs/development/python-modules/pycryptodome/default.nix @@ -6,13 +6,12 @@ buildPythonPackage rec { pname = "pycryptodome"; - version = "3.12.0"; + version = "3.14.1"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-Esc0OuxaOz31xHJlKBsSthHybsk2e2EpGZ1n2lS3aME="; - extension = "zip"; + hash = "sha256-4E5Ap/jBZpGVU2o3l53YfaLDLb3HPW/jXwB3sMF8gDs="; }; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix index c9f622d6c69..934c021ed90 100644 --- a/pkgs/development/python-modules/pycryptodomex/default.nix +++ b/pkgs/development/python-modules/pycryptodomex/default.nix @@ -6,13 +6,12 @@ buildPythonPackage rec { pname = "pycryptodomex"; - version = "3.12.0"; + version = "3.14.1"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-ki6drAFm5GF+XHmA0s/2kSputctcE+fs4iJDhlC9f2Y="; - extension = "zip"; + hash = "sha256-LOdu0Agf1qyMdO3HW50U7KIGQXOveYQ8JPpiVzJjwfI="; }; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 16bfddc8340..e4655082af9 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -6,17 +6,50 @@ , cryptography , pyasn1 , idna -, pytest +, pytestCheckHook , pretend , flaky , glibcLocales , six }: -let - # https://github.com/pyca/pyopenssl/issues/791 - # These tests, we disable in the case that libressl is passed in as openssl. - failingLibresslTests = [ +buildPythonPackage rec { + pname = "pyopenssl"; + version = "22.0.0"; + + src = fetchPypi { + pname = "pyOpenSSL"; + inherit version; + sha256 = "sha256-ZgsbFCWqxKG+odlBaKhdmfCzFEyGndQ5DSdinQCH8b8="; + }; + + outputs = [ "out" "dev" ]; + + # Seems to fail unpredictably on Darwin. See https://hydra.nixos.org/build/49877419/nixlog/1 + # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail. + doCheck = !stdenv.isDarwin; + + nativeBuildInputs = [ openssl ]; + propagatedBuildInputs = [ cryptography pyasn1 idna six ]; + + checkInputs = [ pytestCheckHook pretend flaky glibcLocales ]; + + preCheck = '' + export LANG="en_US.UTF-8" + ''; + + disabledTests = [ + # https://github.com/pyca/pyopenssl/issues/692 + # These tests, we disable always. + "test_set_default_verify_paths" + "test_fallback_default_verify_paths" + # https://github.com/pyca/pyopenssl/issues/768 + "test_wantWriteError" + # https://github.com/pyca/pyopenssl/issues/1043 + "test_alpn_call_failure" + ] ++ lib.optionals (lib.hasPrefix "libressl" openssl.meta.name) [ + # https://github.com/pyca/pyopenssl/issues/791 + # These tests, we disable in the case that libressl is passed in as openssl. "test_op_no_compression" "test_npn_advertise_error" "test_npn_select_error" @@ -29,66 +62,21 @@ let "test_verify_with_revoked" "test_set_notAfter" "test_set_notBefore" - ]; - - # these tests are extremely tightly wed to the exact output of the openssl cli tool, - # including exact punctuation. - failingOpenSSL_1_1Tests = [ + ] ++ lib.optionals (lib.versionAtLeast (lib.getVersion openssl.name) "1.1") [ + # these tests are extremely tightly wed to the exact output of the openssl cli tool, including exact punctuation. "test_dump_certificate" "test_dump_privatekey_text" "test_dump_certificate_request" "test_export_text" - ]; - - disabledTests = [ - # https://github.com/pyca/pyopenssl/issues/692 - # These tests, we disable always. - "test_set_default_verify_paths" - "test_fallback_default_verify_paths" - # https://github.com/pyca/pyopenssl/issues/768 - "test_wantWriteError" - # https://github.com/pyca/pyopenssl/issues/1043 - "test_alpn_call_failure" - ] ++ ( - lib.optionals (lib.hasPrefix "libressl" openssl.meta.name) failingLibresslTests - ) ++ ( - lib.optionals (lib.versionAtLeast (lib.getVersion openssl.name) "1.1") failingOpenSSL_1_1Tests - ) ++ ( + ] ++ lib.optionals stdenv.is32bit [ # https://github.com/pyca/pyopenssl/issues/974 - lib.optionals stdenv.is32bit [ "test_verify_with_time" ] - ); - - # Compose the final string expression, including the "-k" and the single quotes. - testExpression = lib.optionalString (disabledTests != []) - "-k 'not ${lib.concatStringsSep " and not " disabledTests}'"; - -in - -buildPythonPackage rec { - pname = "pyopenssl"; - version = "21.0.0"; + "test_verify_with_time" + ]; - src = fetchPypi { - pname = "pyOpenSSL"; - inherit version; - sha256 = "5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3"; + meta = with lib; { + description = "Python wrapper around the OpenSSL library"; + homepage = "https://github.com/pyca/pyopenssl"; + license = licenses.asl20; + maintainers = with maintainers; [ SuperSandro2000 ]; }; - - outputs = [ "out" "dev" ]; - - checkPhase = '' - runHook preCheck - export LANG="en_US.UTF-8" - py.test tests ${testExpression} - runHook postCheck - ''; - - # Seems to fail unpredictably on Darwin. See https://hydra.nixos.org/build/49877419/nixlog/1 - # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail. - doCheck = !stdenv.isDarwin; - - nativeBuildInputs = [ openssl ]; - propagatedBuildInputs = [ cryptography pyasn1 idna six ]; - - checkInputs = [ pytest pretend flaky glibcLocales ]; } diff --git a/pkgs/development/python-modules/pytest-aiohttp/default.nix b/pkgs/development/python-modules/pytest-aiohttp/default.nix index 4e45477c8ca..794bbce74e0 100644 --- a/pkgs/development/python-modules/pytest-aiohttp/default.nix +++ b/pkgs/development/python-modules/pytest-aiohttp/default.nix @@ -1,20 +1,45 @@ -{ lib, buildPythonPackage, fetchPypi, pytest, aiohttp }: +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, setuptools-scm +, aiohttp +, pytest +, pytest-asyncio +, pytestCheckHook +}: buildPythonPackage rec { pname = "pytest-aiohttp"; - version = "0.3.0"; + version = "1.0.3"; src = fetchPypi { inherit pname version; - sha256 = "0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9"; + hash = "sha256-DI/rSNyOuAhw4rFTrK9iu7zCB5d+vLdDZf/P4WrcnxU="; }; - buildInputs = [ pytest ]; + patches = [ + # https://github.com/aio-libs/pytest-aiohttp/pull/26 + (fetchpatch { + name = "fix-tests-with-pytest-asyncio-0.18.0.patch"; + url = "https://github.com/aio-libs/pytest-aiohttp/commit/97152c2dfdd368f799ec6bcb5fc315736a726f53.patch"; + hash = "sha256-g7MTyCKUHnufOfrbhVV58WtfbGt1uXx8F7U9U+EaXfg="; + }) + ]; - propagatedBuildInputs = [ aiohttp ]; + nativeBuildInputs = [ + setuptools-scm + ]; - # There are no tests - doCheck = false; + propagatedBuildInputs = [ + aiohttp + pytest + pytest-asyncio + ]; + + checkInputs = [ + pytestCheckHook + ]; meta = with lib; { homepage = "https://github.com/aio-libs/pytest-aiohttp/"; diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix index 6401e1ce2c9..b8d3dffa3b0 100644 --- a/pkgs/development/python-modules/pytest-asyncio/default.nix +++ b/pkgs/development/python-modules/pytest-asyncio/default.nix @@ -11,16 +11,16 @@ buildPythonPackage rec { pname = "pytest-asyncio"; - version = "0.17.2"; + version = "0.18.0"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "pytest-dev"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4wDXvO6pDK0dQLnyfJTTa+GXf9Qtsi6ywYDUIdhkgGo="; + hash = "sha256-PE66ogjfzj6cW3+UD5nZHSt6zg7b+j6Q4ACznE4j0j8="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; @@ -36,6 +36,7 @@ buildPythonPackage rec { checkInputs = [ flaky hypothesis + flaky pytestCheckHook ]; @@ -44,9 +45,9 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "library for testing asyncio code with pytest"; + description = "Library for testing asyncio code with pytest"; homepage = "https://github.com/pytest-dev/pytest-asyncio"; license = licenses.asl20; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix index 7f07ed2b6dd..94db409be91 100644 --- a/pkgs/development/python-modules/pytest-mock/default.nix +++ b/pkgs/development/python-modules/pytest-mock/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, pytest , pytest-asyncio , pytestCheckHook , setuptools-scm @@ -8,15 +9,19 @@ buildPythonPackage rec { pname = "pytest-mock"; - version = "3.6.1"; + version = "3.7.0"; src = fetchPypi { inherit pname version; - sha256 = "40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62"; + hash = "sha256-URK9ksyfGG7pbhqS78hJaepJSTnDrq05xQ9CHEzGlTQ="; }; nativeBuildInputs = [ setuptools-scm ]; + propagatedBuildInputs = [ + pytest + ]; + checkInputs = [ pytest-asyncio pytestCheckHook @@ -34,6 +39,6 @@ buildPythonPackage rec { description = "Thin-wrapper around the mock package for easier use with pytest"; homepage = "https://github.com/pytest-dev/pytest-mock"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/pyyaml/default.nix b/pkgs/development/python-modules/pyyaml/default.nix index 2c0e893b9c5..10f78ab5e14 100644 --- a/pkgs/development/python-modules/pyyaml/default.nix +++ b/pkgs/development/python-modules/pyyaml/default.nix @@ -8,7 +8,7 @@ }: buildPythonPackage rec { - pname = "PyYAML"; + pname = "pyyaml"; version = "6.0"; disabled = pythonOlder "3.6"; diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix index b96c7ca8995..86e591eaf14 100644 --- a/pkgs/development/python-modules/regex/default.nix +++ b/pkgs/development/python-modules/regex/default.nix @@ -2,25 +2,28 @@ , buildPythonPackage , fetchPypi , python -, isPy27 +, pythonOlder }: buildPythonPackage rec { pname = "regex"; - version = "2021.11.10"; + version = "2022.1.18"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-80HuLfCZm/33qV5EgHXv/g2yEqWTh94acGkOSssD1MY="; + hash = "sha256-l/MtwDqAVKTEpatddh7Uhh6CiywgD+vU5GhXBppIORY="; }; - # Sources for different Python releases are located in same folder checkPhase = '' - rm -r ${if !isPy27 then "regex_2" else "regex_3"} ${python.interpreter} -m unittest ''; - pythonImportsCheck = [ "regex" ]; + pythonImportsCheck = [ + "regex" + ]; meta = with lib; { description = "Alternative regular expression module, to replace re"; diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix index 86e37419c72..95861bda181 100644 --- a/pkgs/development/python-modules/responses/default.nix +++ b/pkgs/development/python-modules/responses/default.nix @@ -5,25 +5,23 @@ , pytestCheckHook , pythonOlder , requests -, six , urllib3 }: buildPythonPackage rec { pname = "responses"; - version = "0.17.0"; + version = "0.18.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-7GdeCA0Gv40fteWmih5c0N9GsJx4IwMV9lCvXkA2vsc="; + hash = "sha256-OAytTBwdyULl6KjqrgtNTt9wj08BDbi3vPr60fzSVP8="; }; propagatedBuildInputs = [ requests - six urllib3 ]; diff --git a/pkgs/development/python-modules/ruamel-yaml/default.nix b/pkgs/development/python-modules/ruamel-yaml/default.nix index 79f21ba6aab..31d76d78ac7 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.20"; + version = "0.17.21"; src = fetchPypi { pname = "ruamel.yaml"; inherit version; - sha256 = "sha256-S4ozwe+ytEOpP8qvz6TS5EX46MKcUo2fXNr7fMnkAEw="; + sha256 = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68="; }; # Tests use relative paths diff --git a/pkgs/development/python-modules/semantic-version/default.nix b/pkgs/development/python-modules/semantic-version/default.nix index e939142fd82..d3ca4459619 100644 --- a/pkgs/development/python-modules/semantic-version/default.nix +++ b/pkgs/development/python-modules/semantic-version/default.nix @@ -1,20 +1,35 @@ -{ lib, fetchPypi, buildPythonPackage }: +{ lib +, fetchPypi +, buildPythonPackage +, pythonOlder +, pytestCheckHook +}: buildPythonPackage rec { - pname = "semantic_version"; - version = "2.8.5"; + pname = "semantic-version"; + version = "2.9.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { - inherit pname version; - sha256 = "d2cb2de0558762934679b9a104e82eca7af448c9f4974d1f3eeccff651df8a54"; + pname = "semantic_version"; + inherit version; + sha256 = "sha256-q/VIc1U+Xgem/U1fZTt4H1rkEpekk2ZrWdzyFABqErI="; }; - # ModuleNotFoundError: No module named 'tests' - doCheck = false; + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "semantic_version" + ]; meta = with lib; { description = "A library implementing the 'SemVer' scheme"; - license = licenses.bsdOriginal; + homepage = "https://github.com/rbarrois/python-semanticversion/"; + license = licenses.bsd2; maintainers = with maintainers; [ layus makefu ]; }; } diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix index 293b8069b58..1b7bd7341eb 100644 --- a/pkgs/development/python-modules/snitun/default.nix +++ b/pkgs/development/python-modules/snitun/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "snitun"; - version = "0.30.0"; + version = "0.31.0"; src = fetchFromGitHub { owner = "NabuCasa"; repo = pname; rev = version; - sha256 = "sha256-IjdgxX6ed9IWMFaMXIXQWZWoODrZBzXtMAcMOIhPFVQ="; + hash = "sha256-Ehafb35H462Ffn6omGh/MDJKQX5qJJZeiIBO3n0IGlA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/stack-data/default.nix b/pkgs/development/python-modules/stack-data/default.nix index cbbd3a878d7..eb9879a4bf0 100644 --- a/pkgs/development/python-modules/stack-data/default.nix +++ b/pkgs/development/python-modules/stack-data/default.nix @@ -1,5 +1,6 @@ { asttokens , buildPythonPackage +, cython , executing , fetchFromGitHub , git @@ -15,13 +16,13 @@ buildPythonPackage rec { pname = "stack-data"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "alexmojaki"; repo = "stack_data"; rev = "v${version}"; - sha256 = "sha256-dRIRDMq0tc1QuBHvppPwJA5PVGHyVRhoBlX5BsdDzec="; + sha256 = "sha256-brXFrk1UU5hxCVeRvGK7wzRA0Hoj9fgqoxTIwInPrEc="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; @@ -39,6 +40,7 @@ buildPythonPackage rec { ]; checkInputs = [ + cython littleutils pygments pytestCheckHook diff --git a/pkgs/development/python-modules/typed-ast/default.nix b/pkgs/development/python-modules/typed-ast/default.nix index c4977ab0829..87116017063 100644 --- a/pkgs/development/python-modules/typed-ast/default.nix +++ b/pkgs/development/python-modules/typed-ast/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "typed-ast"; - version = "1.5.1"; + version = "1.5.2"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "python"; repo = "typed_ast"; rev = version; - hash = "sha256-qfXMT+rSf/WcWHpkg4VZXZMYj/5IKQWAKRsxQ0TRzPU="; + hash = "sha256-Ul1FIS1a1f8l3tX+m8Bj/LsLQW1sXJv6XzEZ9zh8rfI="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix index 790aaec3ce3..13cc5b89c2a 100644 --- a/pkgs/development/python-modules/xmltodict/default.nix +++ b/pkgs/development/python-modules/xmltodict/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchPypi , coverage -, nose +, pytestCheckHook }: buildPythonPackage rec { @@ -14,11 +14,13 @@ buildPythonPackage rec { sha256 = "50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21"; }; - checkInputs = [ coverage nose ]; + checkInputs = [ coverage pytestCheckHook ]; - checkPhase = '' - nosetests - ''; + disabledTests = [ + # incompatibilities with security fixes: https://github.com/martinblech/xmltodict/issues/289 + "test_namespace_collapse" + "test_namespace_support" + ]; meta = { description = "Makes working with XML feel like you are working with JSON"; diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix index dc36028332f..4ff990ca0ed 100644 --- a/pkgs/development/tools/misc/autoconf/2.13.nix +++ b/pkgs/development/tools/misc/autoconf/2.13.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, m4, perl, xz }: +{ lib, stdenv, fetchurl, m4, perl }: stdenv.mkDerivation rec { pname = "autoconf"; @@ -9,7 +9,6 @@ stdenv.mkDerivation rec { sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh"; }; - nativebuildInputs = [ xz ]; buildInputs = [ m4 perl ]; doCheck = true; diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix index fde7307b27d..dc6ee481523 100644 --- a/pkgs/development/tools/misc/ctags/default.nix +++ b/pkgs/development/tools/misc/ctags/default.nix @@ -1,12 +1,12 @@ { lib, stdenv, fetchsvn, autoreconfHook }: stdenv.mkDerivation rec { - name = "ctags-${revision}"; - revision = "816"; + pname = "ctags"; + version = "816"; src = fetchsvn { url = "https://svn.code.sf.net/p/ctags/code/trunk"; - rev = revision; + rev = version; sha256 = "0jmbkrmscbl64j71qffcc39x005jrmphx8kirs1g2ws44wil39hf"; }; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index c173b96f6eb..5bb5bc0652f 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -27,11 +27,11 @@ assert pythonSupport -> python3 != null; stdenv.mkDerivation rec { pname = targetPrefix + basename; - version = "11.1"; + version = "11.2"; src = fetchurl { url = "mirror://gnu/gdb/${basename}-${version}.tar.xz"; - sha256 = "151z6d0265hv9cgx9zqqa4bd6vbp20hrljhd6bxl7lr0gd0crkyc"; + hash = "sha256-FJfDanGIG4ZxqahKDuQPqreIyjDXuhnYRjw8x4cVLjI="; }; postPatch = if stdenv.isDarwin then '' diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 4521eee95a2..f7d1667dfa2 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "help2man"; - version = "1.48.5"; + version = "1.49.1"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-ZznkyqQuau0zmb5Dh8p5OZZAlnM06RcohjuOqpIlgr4="; + sha256 = "sha256-/ZmmZOxL6ahqDdiXGZifFPNnqcB5110OHXHhinu1GwM="; }; strictDeps = true; diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix index 58f0bb54fb1..8991c1419f2 100644 --- a/pkgs/development/tools/parsing/flex/default.nix +++ b/pkgs/development/tools/parsing/flex/default.nix @@ -47,6 +47,10 @@ stdenv.mkDerivation rec { dontDisableStatic = stdenv.buildPlatform != stdenv.hostPlatform; + postInstall = '' + ln -s $out/bin/flex $out/bin/lex + ''; + meta = with lib; { homepage = "https://github.com/westes/flex"; description = "A fast lexical analyser generator"; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 2d0129e21c5..af43c55072c 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -26,14 +26,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.4.0"; + version = if stdenv.isDarwin then "2.2.6" else "2.4.1"; 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 = "1pm6lf08z8vgs62g5b5rjw32qy3vr0q3sgidpg2lfs6a530wxgls"; + sha256 = "sha256-xzOfdfjU8t7FDGczQaRfwGtohbttQ2bWv1mk5sEK4Xg="; }); outputs = [ "out" "lib" "dev" "man" ]; diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix index 9fd24eea6d9..de71b7d8c3e 100644 --- a/pkgs/os-specific/linux/audit/default.nix +++ b/pkgs/os-specific/linux/audit/default.nix @@ -3,11 +3,10 @@ runCommand, autoreconfHook, autoconf, automake, libtool, - enablePython ? false, python ? null, + enablePython ? true, python3, swig, + linuxHeaders ? stdenv.cc.libc.linuxHeaders }: -assert enablePython -> python != null; - stdenv.mkDerivation rec { pname = "audit"; version = "2.8.5"; # at the next release, remove the patches below! @@ -21,7 +20,7 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = lib.optional enablePython python; + buildInputs = lib.optionals enablePython [ python3 swig ]; configureFlags = [ # z/OS plugin is not useful on Linux, @@ -69,8 +68,11 @@ stdenv.mkDerivation rec { }) ]; - prePatch = '' + postPatch = '' sed -i 's,#include <sys/poll.h>,#include <poll.h>\n#include <limits.h>,' audisp/audispd.c + substituteInPlace bindings/swig/src/auditswig.i \ + --replace "/usr/include/linux/audit.h" \ + "${linuxHeaders}/include/linux/audit.h" '' # According to https://stackoverflow.com/questions/13089166 # --whole-archive linker flag is required to be sure that linker diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 5e81cf6b2c1..fb75b99f03d 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -22,11 +22,11 @@ ]; in stdenv.mkDerivation rec { pname = "bluez"; - version = "5.62"; + version = "5.63"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz"; - sha256 = "sha256-OAkKW3UOF/wI0+UheO2NMlTF9L0sSIMNXBlVuI47wMI="; + sha256 = "sha256-k0nhHoFguz1yCDXScSUNinQk02kPUonm22/gfMZsbXY="; }; buildInputs = [ diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 34e1b10b32a..9dc7b829961 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -218,6 +218,11 @@ let # Kernel TLS TLS = whenAtLeast "4.13" module; TLS_DEVICE = whenAtLeast "4.18" yes; + + # infiniband + INFINIBAND = module; + INFINIBAND_IPOIB = module; + INFINIBAND_IPOIB_CM = yes; }; wireless = { @@ -722,7 +727,12 @@ let HID_ACRUX_FF = yes; DRAGONRISE_FF = yes; + GREENASIA_FF = yes; HOLTEK_FF = yes; + JOYSTICK_PSXPAD_SPI_FF = whenAtLeast "4.14" yes; + LOGIG940_FF = yes; + NINTENDO_FF = whenAtLeast "5.16" yes; + PLAYSTATION_FF = whenAtLeast "5.12" yes; SONY_FF = yes; SMARTJOYPLUS_FF = yes; THRUSTMASTER_FF = yes; diff --git a/pkgs/os-specific/linux/libpsm2/default.nix b/pkgs/os-specific/linux/libpsm2/default.nix index aeb261aaaca..070a18f6984 100644 --- a/pkgs/os-specific/linux/libpsm2/default.nix +++ b/pkgs/os-specific/linux/libpsm2/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "libpsm2"; - version = "11.2.203"; + version = "11.2.206"; preConfigure= '' export UDEVDIR=$out/etc/udev @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { owner = "intel"; repo = "opa-psm2"; rev = "PSM2_${version}"; - sha256 = "sha256-W5Mg5ATUARMFAy1VVpMKPar0VpbKfrkxa6bDhqVYpoc="; + sha256 = "sha256-HsM2OaoX+SdbIednX1MWw1M4kkkPwUs5Dm32q2H7Mg4="; }; postInstall = '' diff --git a/pkgs/os-specific/linux/lvm2/2_03.nix b/pkgs/os-specific/linux/lvm2/2_03.nix index 555ff6b0dc1..73f1e9fbdee 100644 --- a/pkgs/os-specific/linux/lvm2/2_03.nix +++ b/pkgs/os-specific/linux/lvm2/2_03.nix @@ -1,4 +1,4 @@ import ./common.nix { - version = "2.03.14"; - sha256 = "0p5077h3z7mrr0b49ikmhlhrs4v4qb530raypk3y72ja125bqqsa"; + version = "2.03.15"; + sha256 = "17n9xl01by7dcbjwjnr6b4rrkp2frz8hwnjl59svsyp13sjq6llk"; } diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix index 0749292531b..0f2e6efe3a2 100644 --- a/pkgs/os-specific/linux/lvm2/common.nix +++ b/pkgs/os-specific/linux/lvm2/common.nix @@ -63,6 +63,7 @@ stdenv.mkDerivation rec { preConfigure = '' sed -i /DEFAULT_SYS_DIR/d Makefile.in sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in + '' + lib.optionalString (lib.versionOlder version "2.03.15") '' 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 @@ -82,7 +83,7 @@ stdenv.mkDerivation rec { sed -i 's|^#define LVM_CONFIGURE_LINE.*$|#define LVM_CONFIGURE_LINE "<removed>"|g' ./include/configure.h ''; - patches = [ + patches = lib.optionals (lib.versionOlder version "2.03.15") [ # Musl fixes from Alpine. ./fix-stdio-usage.patch (fetchpatch { diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 8485565e0a8..bedd2417e7e 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "util-linux"; - version = "2.37.3"; + version = "2.37.4"; src = fetchurl { url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-WQxZLljNa/OFGctGevBc5qGrGAQOPjQY8kvPsvVfl3Y="; + sha256 = "sha256-Y05pFq2RM2bDU2tkaOeER2lUm5mnsr+AMU3nirVlW4M="; }; patches = [ diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index 90a052fdef9..3fdd9e791bd 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -12,11 +12,11 @@ let # we need to use stdenv.mkDerivation in order not to pollute the libv4l’s closure with Qt in stdenv.mkDerivation rec { pname = "v4l-utils"; - version = "1.20.0"; + version = "1.22.1"; src = fetchurl { url = "https://linuxtv.org/downloads/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "1xr66y6w422hil6s7n8d61a2vhwh4im8l267amf41jvw7xqihqcm"; + hash = "sha256-Zcb76DCkTKEFxEOwJxgsGyyQU6kdHnKthJ36s4i5TjE="; }; outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ]; @@ -40,14 +40,16 @@ in stdenv.mkDerivation rec { propagatedBuildInputs = [ libjpeg ]; postPatch = '' - patchShebangs utils/cec-ctl/msg2ctl.pl - patchShebangs utils/libcecutil/cec-gen.pl + patchShebangs utils/ ''; + enableParallelBuilding = true; + meta = with lib; { description = "V4L utils and libv4l, provide common image formats regardless of the v4l device"; homepage = "https://linuxtv.org/projects.php"; - license = licenses.lgpl21Plus; + changelog = "https://git.linuxtv.org/v4l-utils.git/plain/ChangeLog?h=v4l-utils-${version}"; + license = with licenses; [ lgpl21Plus gpl2Plus ]; maintainers = with maintainers; [ codyopel ]; platforms = platforms.linux; }; diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 0af47ccca83..0998ddb573d 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -202,9 +202,9 @@ let in self: { postgresql_10 = self.callPackage generic { - version = "10.19"; + version = "10.20"; psqlSchema = "10.0"; # should be 10, but changing it is invasive - sha256 = "sha256-brgwtCi2DoSuh+IENrzmecTZ0CAr567A5BsMZ9kTQjk="; + sha256 = "sha256-h94W1ZvP5C+mBcMSxZvl4pToo+astlXdetR8u5MKZZ8="; this = self.postgresql_10; thisAttr = "postgresql_10"; inherit self; @@ -212,36 +212,36 @@ in self: { }; postgresql_11 = self.callPackage generic { - version = "11.14"; + version = "11.15"; psqlSchema = "11.1"; # should be 11, but changing it is invasive - sha256 = "sha256-llx/S+lvtk+VgYUsWMTwXDgS1K2CPA8+K9/nd8Fi+Zk="; + sha256 = "sha256-yPWOjr1PRWf0+boQMus+meAlHYfL4+VktIVZDjeoeeM="; this = self.postgresql_11; thisAttr = "postgresql_11"; inherit self; }; postgresql_12 = self.callPackage generic { - version = "12.9"; + version = "12.10"; psqlSchema = "12"; - sha256 = "sha256-if2i3jPtBKmFSOQ/PuXxW4gr4XUF1jH+DdGlQKK1bc4="; + sha256 = "sha256-g90ZLmA0lRGSuahtwZzzcXqLghIOLxGgo2cjyCDSslc="; this = self.postgresql_12; thisAttr = "postgresql_12"; inherit self; }; postgresql_13 = self.callPackage generic { - version = "13.5"; + version = "13.6"; psqlSchema = "13"; - sha256 = "sha256-m4EGelXtuqvEGKrO9FfdhHdkKCdJlWCwBhWm6mwT9rM="; + sha256 = "sha256-uvx/o9nU2o/nG4TGO6i9/oCSk1wwwKqFwkssCFCPZ/w="; this = self.postgresql_13; thisAttr = "postgresql_13"; inherit self; }; postgresql_14 = self.callPackage generic { - version = "14.1"; + version = "14.2"; psqlSchema = "14"; - sha256 = "sha256-TTwQHqeuOJgvBr3HN1i1Nyf7ZALs2TggBvpezHwspB8="; + sha256 = "sha256-LPeLLkaJEvgQHWldtTQM8xPC6faKYS+3FCdSToyal3o="; this = self.postgresql_14; thisAttr = "postgresql_14"; inherit self; diff --git a/pkgs/shells/bash/bash-5.1-patches.nix b/pkgs/shells/bash/bash-5.1-patches.nix index e6e9461bcbe..41eb9271058 100644 --- a/pkgs/shells/bash/bash-5.1-patches.nix +++ b/pkgs/shells/bash/bash-5.1-patches.nix @@ -13,4 +13,8 @@ patch: [ (patch "010" "0amfmvbzsand7bdypylkjdpcp88fa3cplfshn7vyzv2ff2rdgj52") (patch "011" "0yq24abb4fzfxqnwl20b330sxl9lr9ds0nc4yi30f81l94b1y6aq") (patch "012" "165bff97ffih49vfs4mkr5w3z5gn1w6zfyrf773iajkw6v48kw8h") +(patch "013" "1bfmgv3lagbk3aq9a831d29xv7jz4sjq7jhn9hq89limyinvdb67") +(patch "014" "1l43dw4kpddn7l41i8wmj406z9abxky1wb3rk8krcys33g4f0kka") +(patch "015" "1w40vzadzx019v0zhs4q6yqycrk04x1k8xs6qb73vk7ny4p6jdqv") +(patch "016" "0krqqljz4bkp9wrdnwfx51bxkb8rkwf8ivc93as1znx5fr7i96c8") ] diff --git a/pkgs/test/make-wrapper/default.nix b/pkgs/test/make-wrapper/default.nix index 6e70945ee19..62ccd272adf 100644 --- a/pkgs/test/make-wrapper/default.nix +++ b/pkgs/test/make-wrapper/default.nix @@ -64,6 +64,7 @@ runCommand "make-wrapper-test" (mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; }) (mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" ]; wrapped = wrappedBinaryArgs; }) (mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; }) + (mkWrapperBinary { name = "test-prefix-noglob"; args = [ "--prefix" "VAR" ":" "./*" ]; }) (mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; }) (mkWrapperBinary { name = "test-prefix-and-suffix"; args = [ "--prefix" "VAR" ":" "foo" "--suffix" "VAR" ":" "bar" ]; }) (mkWrapperBinary { name = "test-prefix-multi"; args = [ "--prefix" "VAR" ":" "abc:foo:foo" ]; }) @@ -112,6 +113,8 @@ runCommand "make-wrapper-test" # Only append the value once when given multiple times in a parameter # to makeWrapper + mkTest "test-prefix" "VAR=abc" + # --prefix doesn't expand globs + + mkTest "VAR=f?oo test-prefix-noglob" "VAR=./*:f?oo" # --suffix works diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix index 936555f93a4..72a869b08e6 100644 --- a/pkgs/tools/filesystems/btrfs-progs/default.nix +++ b/pkgs/tools/filesystems/btrfs-progs/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "btrfs-progs"; - version = "5.16"; + version = "5.16.1"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "0cqqlcq9bywfi3cpg5ivxiv7p9v6z1r6k4nnmin24mj1kp8krarq"; + sha256 = "sha256-PaTaU2HPhr3dqA7bTE8w6gdstOvsKZBPoIr8kw754ag="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index 8c8b8c7b2b4..3746c4b4657 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "findutils"; - version = "4.8.0"; + version = "4.9.0"; src = fetchurl { url = "mirror://gnu/findutils/${pname}-${version}.tar.xz"; - sha256 = "0r3i72hnw0a30khlczi9k2c51aamaj6kfmp5mk3844nrjxz7n4jp"; + sha256 = "sha256-or+4wJ1DZ3DtxZ9Q+kg+eFsWGjt7nVR1c8sIBl/UYv4="; }; postPatch = '' diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix index d495c912f59..7263e4de336 100644 --- a/pkgs/tools/misc/man-db/default.nix +++ b/pkgs/tools/misc/man-db/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "man-db"; - version = "2.9.4"; + version = "2.10.1"; src = fetchurl { url = "mirror://savannah/man-db/man-db-${version}.tar.xz"; - sha256 = "sha256-tmyZ7frRatkoyIn4fPdjgCY8FgkyPCgLOp5pY/2xZ1Y="; + sha256 = "sha256-L/2PLoASL+cuYMdAyFHmo+FcmnkhGF60dSwcZygkvtY="; }; outputs = [ "out" "doc" ]; diff --git a/pkgs/tools/security/gnupg/23.nix b/pkgs/tools/security/gnupg/23.nix index ef7a5cf85e7..e80804cd002 100644 --- a/pkgs/tools/security/gnupg/23.nix +++ b/pkgs/tools/security/gnupg/23.nix @@ -15,11 +15,11 @@ assert guiSupport -> pinentry != null && enableMinimal == false; stdenv.mkDerivation rec { pname = "gnupg"; - version = "2.3.3"; + version = "2.3.4"; src = fetchurl { url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2"; - sha256 = "0dz9x0r5021bhk1kjh29m1q13xbslwb8yn9qzcp7b9m1lrnvi2ap"; + sha256 = "sha256-80aOyvsdf5rXtR/R23rr8XzridLvqKBc8vObTUBUAq4="; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -34,19 +34,9 @@ stdenv.mkDerivation rec { ./tests-add-test-cases-for-import-without-uid.patch ./allow-import-of-previously-known-keys-even-without-UI.patch ./accept-subkeys-with-a-good-revocation-but-no-self-sig.patch - ] ++ lib.optional stdenv.isDarwin [ - # Remove an innocent warning printed on systems without procfs - # https://dev.gnupg.org/T5656 - (fetchpatch { - url = "https://raw.githubusercontent.com/Homebrew/formula-patches/890be5f6af88e7913d177af87a50129049e681bb/gnupg/2.3.3-proc-error.patch"; - sha256 = "sha256-oiTa7Nf+AEmhZ683CJEaCb559PXJ6RpSSgRLpxz4CKU="; - }) ]; postPatch = '' - sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' configure doc/dirmngr.texi doc/gnupg.info-1 - # Fix broken SOURCE_DATE_EPOCH usage - remove on the next upstream update - sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.am - sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in + sed -i 's,\(hkps\|https\)://keyserver.ubuntu.com,hkps://keys.openpgp.org,g' configure configure.ac doc/dirmngr.texi doc/gnupg.info-1 '' + lib.optionalString (stdenv.isLinux && pcsclite != null) '' sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1102d18a20e..853b2a1e247 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -147,9 +147,14 @@ with pkgs; autorestic = callPackage ../tools/backup/autorestic { }; - autoPatchelfHook = makeSetupHook - { name = "auto-patchelf-hook"; deps = [ bintools ]; } - ../build-support/setup-hooks/auto-patchelf.sh; + autoPatchelfHook = makeSetupHook { + name = "auto-patchelf-hook"; + deps = [ bintools ]; + substitutions = { + pythonInterpreter = "${python3.withPackages (ps: [ ps.pyelftools ])}/bin/python"; + autoPatchelfScript = ../build-support/setup-hooks/auto-patchelf.py; + }; + } ../build-support/setup-hooks/auto-patchelf.sh; appflowy = callPackage ../applications/office/appflowy { }; @@ -13952,8 +13957,18 @@ with pkgs; pipenv = callPackage ../development/tools/pipenv {}; - pipewire = callPackage ../development/libraries/pipewire {}; + pipewire = callPackage ../development/libraries/pipewire { + # ffmpeg depends on SDL2 which depends on pipewire by default. + # Break the cycle by disabling pipewire support in our ffmpeg. + ffmpeg = ffmpeg.override { + SDL2 = SDL2.override { + pipewireSupport = false; + }; + }; + }; + pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix {}; + pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix {}; wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix {}; @@ -20511,41 +20526,27 @@ with pkgs; wxformbuilder = callPackage ../development/tools/wxformbuilder { }; wxGTK = wxGTK28; - wxGTK30 = wxGTK30-gtk2; - wxGTK31 = wxGTK31-gtk2; - wxGTK28 = callPackage ../development/libraries/wxwidgets/2.8 { }; + wxGTK28 = callPackage ../development/libraries/wxwidgets/wxGTK28.nix { }; - wxGTK29 = callPackage ../development/libraries/wxwidgets/2.9 { + wxGTK29 = callPackage ../development/libraries/wxwidgets/wxGTK29.nix { inherit (darwin.stubs) setfile; inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime; }; - wxGTK30-gtk2 = callPackage ../development/libraries/wxwidgets/3.0 { + wxGTK30 = callPackage ../development/libraries/wxwidgets/wxGTK30.nix { withGtk2 = true; inherit (darwin.stubs) setfile; inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; }; + wxGTK30-gtk2 = wxGTK30.override { withGtk2 = true; }; + wxGTK30-gtk3 = wxGTK30.override { withGtk2 = false; }; - wxGTK30-gtk3 = callPackage ../development/libraries/wxwidgets/3.0 { - withGtk2 = false; - inherit (darwin.stubs) setfile; - inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; - }; + wxmac = callPackage ../development/libraries/wxwidgets/wxmac30.nix { }; - wxGTK31-gtk2 = callPackage ../development/libraries/wxwidgets/3.1 { - withGtk2 = true; - inherit (darwin.stubs) setfile; - inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; - }; - - wxGTK31-gtk3 = callPackage ../development/libraries/wxwidgets/3.1 { - withGtk2 = false; - inherit (darwin.stubs) setfile; - inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; - }; - - wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix { }; + wxGTK31 = callPackage ../development/libraries/wxwidgets/wxGTK31.nix { }; + wxGTK31-gtk2 = wxGTK31.override { withGtk2 = true; }; + wxGTK31-gtk3 = wxGTK31.override { withGtk2 = false; }; wxSVG = callPackage ../development/libraries/wxSVG { wxGTK = wxGTK30-gtk3; @@ -25354,6 +25355,10 @@ with pkgs; fnott = callPackage ../applications/misc/fnott { }; + furnace = callPackage ../applications/audio/furnace { + inherit (darwin.apple_sdk.frameworks) Cocoa; + }; + gg-scm = callPackage ../applications/version-management/git-and-tools/gg { }; gigalixir = with python3Packages; toPythonApplication gigalixir; @@ -32083,6 +32088,8 @@ with pkgs; blas = callPackage ../build-support/alternatives/blas { }; + blas-ilp64 = blas.override { isILP64 = true; }; + blas-reference = callPackage ../development/libraries/science/math/blas { }; brial = callPackage ../development/libraries/science/math/brial { }; @@ -32105,6 +32112,8 @@ with pkgs; lapack = callPackage ../build-support/alternatives/lapack { }; + lapack-ilp64 = lapack.override { isILP64 = true; }; + lapack-reference = callPackage ../development/libraries/science/math/liblapack { }; liblapack = lapack-reference; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 44c5c11ceb9..4e0f922e168 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -85,6 +85,7 @@ mapAliases ({ pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20 pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04 pysmart-smartx = pysmart; # added 2021-10-22 + pytest_6 = pytest; # added 2022-02-10 pytestcov = pytest-cov; # added 2021-01-04 pytest-pep8 = pytestpep8; # added 2021-01-04 pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3250eb630dd..ed7845962cc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -135,16 +135,6 @@ in { venvShellHook wheelUnpackHook; - # Not all packages are compatible with the latest pytest yet. - # We need to override the hook to select an older pytest, however, - # it should not override the version of pytest that is used for say - # Python 2. This is an ugly hack that is needed now because the hook - # propagates the package. - pytestCheckHook_6_1 = if isPy3k then - self.pytestCheckHook.override { pytest = self.pytest_6_1; } - else - self.pytestCheckHook; - # helpers # We use build packages because we are making a setup hook to be used as a @@ -2212,7 +2202,7 @@ in { distutils_extra = callPackage ../development/python-modules/distutils_extra { }; - django = self.django_2; + django = self.django_3; # Current LTS django_2 = callPackage ../development/python-modules/django/2.nix { }; @@ -7745,28 +7735,12 @@ in { pytesseract = callPackage ../development/python-modules/pytesseract { }; - pytest = self.pytest_6; - - pytest_6 = - callPackage ../development/python-modules/pytest { - # hypothesis tests require pytest that causes dependency cycle - hypothesis = self.hypothesis.override { - doCheck = false; - }; + pytest = callPackage ../development/python-modules/pytest { + # hypothesis tests require pytest that causes dependency cycle + hypothesis = self.hypothesis.override { + doCheck = false; }; - - pytest_6_1 = self.pytest_6.overridePythonAttrs (oldAttrs: rec { - version = "6.1.2"; - src = oldAttrs.src.override { - inherit version; - sha256 = "c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e"; - }; - - postPatch = '' - substituteInPlace setup.cfg \ - --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0" - ''; - }); + }; pytest-aio = callPackage ../development/python-modules/pytest-aio { }; |