From 25334ec8036247caee5713d988aac49758863be0 Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Fri, 13 Nov 2020 00:58:56 -0800 Subject: [PATCH 001/162] lcms: Fix fetch URL --- pkgs/development/libraries/lcms/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix index 01ec659a95b..8fe2484faca 100644 --- a/pkgs/development/libraries/lcms/default.nix +++ b/pkgs/development/libraries/lcms/default.nix @@ -1,10 +1,11 @@ {stdenv, fetchurl}: -stdenv.mkDerivation { - name = "lcms-1.19"; +stdenv.mkDerivation rec { + pname = "lcms"; + version = "1.19"; src = fetchurl { - url = "http://www.littlecms.com/lcms-1.19.tar.gz"; + url = "mirror://sourceforge/lcms/${pname}-${version}.tar.gz"; sha256 = "1abkf8iphwyfs3z305z3qczm3z1i9idc1lz4gvfg92jnkz5k5bl0"; }; From 35aea2bff587b681754f90d6ba5b39d62ae0f96d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Thu, 17 Dec 2020 08:01:03 +0100 Subject: [PATCH 002/162] libdatrie: 0.2.12 -> 2019-12-20 The last official release is currently blocking pango on cross-compiles, also the package has moved to autotools. --- .../libraries/libdatrie/default.nix | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/libdatrie/default.nix b/pkgs/development/libraries/libdatrie/default.nix index 0d3faf69e3b..168773662f6 100644 --- a/pkgs/development/libraries/libdatrie/default.nix +++ b/pkgs/development/libraries/libdatrie/default.nix @@ -1,23 +1,40 @@ -{ stdenv, fetchurl, makeWrapper, installShellFiles, pkg-config, libiconv }: +{ stdenv, fetchFromGitHub, makeWrapper +, autoreconfHook, autoconf-archive +, installShellFiles, libiconv }: stdenv.mkDerivation rec { - pname = "libdatrie"; - version = "0.2.12"; - src = fetchurl { - url = "https://github.com/tlwg/libdatrie/releases/download/v${version}/libdatrie-${version}.tar.xz"; - sha256 = "0jdi01pcxv0b24zbjy7zahawsqqqw4mv94f2yy01zh4n796wqba5"; + pname = "libdatrie"; + version = "2019-12-20"; + + src = fetchFromGitHub { + owner = "tlwg"; + repo = "libdatrie"; + rev = "d1db08ac1c76f54ba23d63665437473788c999f3"; + sha256 = "03dc363259iyiidrgadzc7i03mmfdj8h78j82vk6z53w6fxq5zxc"; }; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + installShellFiles + ]; buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv; + preAutoreconf = let + reports = "https://github.com/tlwg/libdatrie/issues"; + in + '' + sed -i -e "/AC_INIT/,+3d" configure.ac + sed -i "5iAC_INIT(${pname},${version},[${reports}])" configure.ac + ''; + postInstall = '' installManPage man/trietool.1 ''; - meta = with stdenv.lib;{ + meta = with stdenv.lib; { homepage = "https://linux.thai.net/~thep/datrie/datrie.html"; description = "This is an implementation of double-array structure for representing trie"; license = licenses.lgpl21Plus; From a9385a730be60b6caf83c6d10ddebcd12981f977 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 3 Dec 2020 19:47:53 +0100 Subject: [PATCH 003/162] mesa: 20.2.4 -> 20.3.0 --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 578763478f5..65287e95416 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -31,7 +31,7 @@ with stdenv.lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "20.2.4"; + version = "20.3.0"; branch = versions.major version; in @@ -46,7 +46,7 @@ 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 = "14m09bk7akj0k02lg8fhvvzbdsashlbdsgl2cw7wbqfj2mhdqwh5"; + sha256 = "0c6697ls7fkayjblszfdl87cqrkmlfgm29rbsqf56cc7i2777699"; }; prePatch = "patchShebangs ."; From 3106113c9e3af3d4120865e33bc0fbcca7a3c0d2 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 3 Dec 2020 20:00:06 +0100 Subject: [PATCH 004/162] mesa: Drop all old patches There's no need to keep the expressions for old patches around. Also: Apply the musl patch unconditionally to ensure that it doesn't break after future updates. --- pkgs/development/libraries/mesa/default.nix | 34 +++++---------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 65287e95416..0cb123e83ce 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -58,34 +58,14 @@ stdenv.mkDerivation { ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl ./opencl-install-dir.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch - ] - ++ lib.optionals stdenv.hostPlatform.isMusl [ - # Fix `-Werror=int-conversion` pthread warnings on musl. - # TODO: Remove when https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 is merged and available - (fetchpatch { - name = "nine_debug-Make-tid-more-type-correct"; - url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch"; - sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q"; - }) - ] - # do not prefix user provided dri-drivers-path - ++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch { - url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch"; - sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9"; + # Fix `-Werror=int-conversion` pthread warnings on musl. + # TODO: Remove when https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 is merged and available + (fetchpatch { + name = "nine_debug-Make-tid-more-type-correct"; + url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch"; + sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q"; }) - ++ lib.optionals (lib.versionOlder version "19.1.0") [ - # do not prefix user provided d3d-drivers-path - (fetchpatch { - url = "https://gitlab.freedesktop.org/mesa/mesa/commit/dcc48664197c7e44684ccfb970a4ae083974d145.patch"; - sha256 = "1nhs0xpx3hiy8zfb5gx1zd7j7xha6h0hr7yingm93130a5902lkb"; - }) - - # don't build libGLES*.so with GLVND - (fetchpatch { - url = "https://gitlab.freedesktop.org/mesa/mesa/commit/b01524fff05eef66e8cd24f1c5aacefed4209f03.patch"; - sha256 = "1pszr6acx2xw469zq89n156p3bf3xf84qpbjw5fr1sj642lbyh7c"; - }) - ]; + ]; postPatch = '' substituteInPlace meson.build --replace \ From 886e497f5d44df4198dd6470afe09685ad233985 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sat, 5 Dec 2020 13:18:27 +0100 Subject: [PATCH 005/162] mesa: Switch from LLVM 9 to llvmPackages_latest The radeonsi and radv (without ACO) drivers requires LLVM 11 for GFX 10.3 [0],[1]. E.g. Arch Linux also compiles Mesa with LLVM 11 so this should be fine. [0]: https://docs.mesa3d.org/relnotes/20.2.0.html [1]: https://github.com/NixOS/nixpkgs/pull/105817#issuecomment-738888102 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdae67c9821..95d5994233e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14962,7 +14962,7 @@ in libGLU = mesa_glu; mesa = callPackage ../development/libraries/mesa { - llvmPackages = llvmPackages_9; + llvmPackages = llvmPackages_latest; inherit (darwin.apple_sdk.frameworks) OpenGL; inherit (darwin.apple_sdk.libs) Xplugin; }; From af9f917ce1fa5bbe0800cfaf2dd91cd2674543d3 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 17 Dec 2020 11:58:38 +0100 Subject: [PATCH 006/162] mesa: 20.3.0 -> 20.3.1 --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 0cb123e83ce..0e18164e6f2 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -31,7 +31,7 @@ with stdenv.lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "20.3.0"; + version = "20.3.1"; branch = versions.major version; in @@ -46,7 +46,7 @@ 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 = "0c6697ls7fkayjblszfdl87cqrkmlfgm29rbsqf56cc7i2777699"; + sha256 = "03vqm9kqrcpijg6bxldj0bg360z8d7c767n3b16jdc1apd4inxdg"; }; prePatch = "patchShebangs ."; From c434c60b3957f8599c4bfd59b56f24326492d8c9 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 12:46:33 +0000 Subject: [PATCH 007/162] autoconf270: init at 2.70 Fixes: https://github.com/NixOS/nixpkgs/pull/106642 ("autoconf: 2.69 -> 2.70") --- pkgs/development/tools/misc/autoconf/2.70.nix | 54 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/tools/misc/autoconf/2.70.nix diff --git a/pkgs/development/tools/misc/autoconf/2.70.nix b/pkgs/development/tools/misc/autoconf/2.70.nix new file mode 100644 index 00000000000..57a92cee737 --- /dev/null +++ b/pkgs/development/tools/misc/autoconf/2.70.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchurl, m4, perl }: + +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + +stdenv.mkDerivation rec { + name = "autoconf-2.70"; + + src = fetchurl { + url = "mirror://gnu/autoconf/${name}.tar.xz"; + sha256 = "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps"; + }; + + nativeBuildInputs = [ m4 perl ]; + buildInputs = [ m4 ]; + + # Work around a known issue in Cygwin. See + # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for + # details. + # There are many test failures on `i386-pc-solaris2.11'. + doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS)); + + # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the + # "fixed" path in generated files! + dontPatchShebangs = true; + + enableParallelBuilding = true; + + # Make the Autotest test suite run in parallel. + preCheck ='' + export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" + ''; + + meta = { + homepage = "https://www.gnu.org/software/autoconf/"; + description = "Part of the GNU Build System"; + + longDescription = '' + GNU Autoconf is an extensible package of M4 macros that produce + shell scripts to automatically configure software source code + packages. These scripts can adapt the packages to many kinds of + UNIX-like systems without manual user intervention. Autoconf + creates a configuration script for a package from a template + file that lists the operating system features that the package + can use, in the form of M4 macro calls. + ''; + + license = stdenv.lib.licenses.gpl3Plus; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af3acb1dea8..a8cda5270ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11004,6 +11004,7 @@ in autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { }; autoconf264 = callPackage ../development/tools/misc/autoconf/2.64.nix { }; + autoconf270 = callPackage ../development/tools/misc/autoconf/2.70.nix { }; autocutsel = callPackage ../tools/X11/autocutsel{ }; From 3f42dfe7d9b0e2cc1485cede6e82b59b09d60838 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 12:47:00 +0000 Subject: [PATCH 008/162] autoconf: 2.69 -> 2.70 --- .../tools/misc/autoconf/{2.70.nix => 2.69.nix} | 16 +++++++--------- pkgs/development/tools/misc/autoconf/default.nix | 11 ++++------- pkgs/top-level/all-packages.nix | 9 +++++++-- 3 files changed, 18 insertions(+), 18 deletions(-) rename pkgs/development/tools/misc/autoconf/{2.70.nix => 2.69.nix} (76%) diff --git a/pkgs/development/tools/misc/autoconf/2.70.nix b/pkgs/development/tools/misc/autoconf/2.69.nix similarity index 76% rename from pkgs/development/tools/misc/autoconf/2.70.nix rename to pkgs/development/tools/misc/autoconf/2.69.nix index 57a92cee737..500d80d4bb8 100644 --- a/pkgs/development/tools/misc/autoconf/2.70.nix +++ b/pkgs/development/tools/misc/autoconf/2.69.nix @@ -1,16 +1,11 @@ { stdenv, fetchurl, m4, perl }: -# Note: this package is used for bootstrapping fetchurl, and thus -# cannot use fetchpatch! All mutable patches (generated by GitHub or -# cgit) that are needed here should be included directly in Nixpkgs as -# files. - stdenv.mkDerivation rec { - name = "autoconf-2.70"; + name = "autoconf-2.69"; src = fetchurl { url = "mirror://gnu/autoconf/${name}.tar.xz"; - sha256 = "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps"; + sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"; }; nativeBuildInputs = [ m4 perl ]; @@ -20,7 +15,8 @@ stdenv.mkDerivation rec { # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for # details. # There are many test failures on `i386-pc-solaris2.11'. - doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS)); + #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS)); + doCheck = false; # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the # "fixed" path in generated files! @@ -33,6 +29,8 @@ stdenv.mkDerivation rec { export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" ''; + doInstallCheck = false; # fails + meta = { homepage = "https://www.gnu.org/software/autoconf/"; description = "Part of the GNU Build System"; @@ -47,7 +45,7 @@ stdenv.mkDerivation rec { can use, in the form of M4 macro calls. ''; - license = stdenv.lib.licenses.gpl3Plus; + license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index 93add837290..57a92cee737 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -6,11 +6,11 @@ # files. stdenv.mkDerivation rec { - name = "autoconf-2.69"; + name = "autoconf-2.70"; src = fetchurl { url = "mirror://gnu/autoconf/${name}.tar.xz"; - sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"; + sha256 = "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps"; }; nativeBuildInputs = [ m4 perl ]; @@ -20,8 +20,7 @@ stdenv.mkDerivation rec { # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for # details. # There are many test failures on `i386-pc-solaris2.11'. - #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS)); - doCheck = false; + doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS)); # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the # "fixed" path in generated files! @@ -34,8 +33,6 @@ stdenv.mkDerivation rec { export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" ''; - doInstallCheck = false; # fails - meta = { homepage = "https://www.gnu.org/software/autoconf/"; description = "Part of the GNU Build System"; @@ -50,7 +47,7 @@ stdenv.mkDerivation rec { can use, in the form of M4 macro calls. ''; - license = stdenv.lib.licenses.gpl2Plus; + license = stdenv.lib.licenses.gpl3Plus; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8cda5270ed..baad686af12 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -120,6 +120,10 @@ in { deps = [ autoconf264 automake111x gettext libtool ]; } ../build-support/setup-hooks/autoreconf.sh; + autoreconfHook269 = makeSetupHook + { deps = [ autoconf269 automake gettext libtool ]; } + ../build-support/setup-hooks/autoreconf.sh; + autoPatchelfHook = makeSetupHook { name = "auto-patchelf-hook"; } ../build-support/setup-hooks/auto-patchelf.sh; @@ -10998,13 +11002,14 @@ in autobuild = callPackage ../development/tools/misc/autobuild { }; - autoconf = callPackage ../development/tools/misc/autoconf { }; + autoconf = autoconf270; autoconf-archive = callPackage ../development/tools/misc/autoconf-archive { }; autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { }; autoconf264 = callPackage ../development/tools/misc/autoconf/2.64.nix { }; - autoconf270 = callPackage ../development/tools/misc/autoconf/2.70.nix { }; + autoconf269 = callPackage ../development/tools/misc/autoconf/2.69.nix { }; + autoconf270 = callPackage ../development/tools/misc/autoconf { }; autocutsel = callPackage ../tools/X11/autocutsel{ }; From ab5c9bdcc2ef417974297993d8d1312c88c19ff4 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 12:47:24 +0000 Subject: [PATCH 009/162] ruby: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index baad686af12..5a0ddbdc316 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10774,6 +10774,7 @@ in inherit (callPackage ../development/interpreters/ruby { inherit (darwin) libiconv libobjc libunwind; inherit (darwin.apple_sdk.frameworks) Foundation; + autoreconfHook = autoreconfHook269; bison = buildPackages.bison_3_5; }) ruby_2_5 From a777d82a50bd02e848d13fabed85866a61df2256 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 12:47:35 +0000 Subject: [PATCH 010/162] libbfd: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5a0ddbdc316..d30f4758020 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12455,7 +12455,9 @@ in belle-sip = callPackage ../development/libraries/belle-sip { }; - libbfd = callPackage ../development/libraries/libbfd { }; + libbfd = callPackage ../development/libraries/libbfd { + autoreconfHook = autoreconfHook269; + }; libopcodes = callPackage ../development/libraries/libopcodes { }; From cb87a87ec96673e18d19de9028220eab39a3fae0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 12:47:48 +0000 Subject: [PATCH 011/162] hidapi: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d30f4758020..bd9ebc8499e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13441,6 +13441,7 @@ in hidapi = callPackage ../development/libraries/hidapi { # TODO: remove once `udev` is `systemdMinimal` everywhere. udev = systemdMinimal; + autoreconfHook = autoreconfHook269; }; highfive = callPackage ../development/libraries/highfive { }; From 3f803a5a7c50111ee87227c598e951ea70891175 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 12:54:35 +0000 Subject: [PATCH 012/162] fswatch: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd9ebc8499e..7c7047ca413 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11500,6 +11500,7 @@ in fswatch = callPackage ../development/tools/misc/fswatch { inherit (darwin.apple_sdk.frameworks) CoreServices; + autoreconfHook = autoreconfHook269; }; fujprog = callPackage ../development/tools/misc/fujprog { From c3172bf1d440591e597bbb763756e6f56b715130 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 13:01:01 +0000 Subject: [PATCH 013/162] duff: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c7047ca413..70d22b9f2bd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3495,7 +3495,9 @@ in duc = callPackage ../tools/misc/duc { }; - duff = callPackage ../tools/filesystems/duff { }; + duff = callPackage ../tools/filesystems/duff { + autoreconfHook = autoreconfHook269; + }; dumptorrent = callPackage ../tools/misc/dumptorrent { }; From 76078d569199054a05812448a4e4b9ce1d35245a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 13:26:01 +0000 Subject: [PATCH 014/162] gsmlib: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70d22b9f2bd..a8180c3c3cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4503,7 +4503,9 @@ in gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { }; - gsmlib = callPackage ../development/libraries/gsmlib { }; + gsmlib = callPackage ../development/libraries/gsmlib { + autoreconfHook = autoreconfHook269; + }; gssdp = callPackage ../development/libraries/gssdp { }; From 926175b3cfeb0bd34f0dbdf8742636678d967b1a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 14:57:04 +0000 Subject: [PATCH 015/162] libopcodes: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8180c3c3cd..e61720203b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12464,7 +12464,9 @@ in autoreconfHook = autoreconfHook269; }; - libopcodes = callPackage ../development/libraries/libopcodes { }; + libopcodes = callPackage ../development/libraries/libopcodes { + autoreconfHook = autoreconfHook269; + }; bicpl = callPackage ../development/libraries/science/biology/bicpl { }; From afe1cdbfd42931be8bc2024122ad0aa59224c2a7 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 15:00:55 +0000 Subject: [PATCH 016/162] libeatmydata: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e61720203b2..90e693430c1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14006,7 +14006,9 @@ in libe57format = callPackage ../development/libraries/libe57format { }; - libeatmydata = callPackage ../development/libraries/libeatmydata { }; + libeatmydata = callPackage ../development/libraries/libeatmydata { + autoreconfHook = autoreconfHook269; + }; libeb = callPackage ../development/libraries/libeb { }; From d7f71a57eccd2fe36ddded3185bd59819844d141 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 15:03:43 +0000 Subject: [PATCH 017/162] libcoap: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90e693430c1..acf0dc218da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5172,7 +5172,9 @@ in libcloudproviders = callPackage ../development/libraries/libcloudproviders { }; - libcoap = callPackage ../applications/networking/libcoap {}; + libcoap = callPackage ../applications/networking/libcoap { + autoconf = autoconf269; + }; libcryptui = callPackage ../development/libraries/libcryptui { }; From 174e99d51cff4e0888b0771941b9e9ccef8e6121 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 16:02:32 +0000 Subject: [PATCH 018/162] kallisto: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index acf0dc218da..2c27c7907a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26663,7 +26663,9 @@ in neuron-version = neuron.version; }; - kallisto = callPackage ../applications/science/biology/kallisto { }; + kallisto = callPackage ../applications/science/biology/kallisto { + autoconf = autoconf269; + }; kssd = callPackage ../applications/science/biology/kssd { }; From 0b4cac7d0954beaf235f78bdebe2ee902b120066 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 23:05:33 +0000 Subject: [PATCH 019/162] openocd: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2c27c7907a9..055c44d6c4f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11866,7 +11866,9 @@ in opengrok = callPackage ../development/tools/misc/opengrok { }; - openocd = callPackage ../development/tools/misc/openocd { }; + openocd = callPackage ../development/tools/misc/openocd { + autoreconfHook = autoreconfHook269; + }; oprofile = callPackage ../development/tools/profiling/oprofile { libiberty_static = libiberty.override { staticBuild = true; }; From ba860aea018c73a5e3cfc18e0ca5fda083adcebc Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 11 Dec 2020 23:05:42 +0000 Subject: [PATCH 020/162] hivex: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 055c44d6c4f..bb6cc19c60d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13465,7 +13465,9 @@ in hiredis-vip = callPackage ../development/libraries/hiredis-vip { }; - hivex = callPackage ../development/libraries/hivex { }; + hivex = callPackage ../development/libraries/hivex { + autoreconfHook = autoreconfHook269; + }; hound = callPackage ../development/tools/misc/hound { }; From a25cfd537f2ea1b303fd73ca8014920dfd77cd10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Dec 2020 12:15:09 +0100 Subject: [PATCH 021/162] libarchive: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb6cc19c60d..950b2bd7db1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13780,7 +13780,9 @@ in libayatana-appindicator-gtk3 = libayatana-appindicator.override { gtkVersion = "3"; }; libayatana-appindicator = callPackage ../development/libraries/libayatana-appindicator { }; - libarchive = callPackage ../development/libraries/libarchive { }; + libarchive = callPackage ../development/libraries/libarchive { + autoreconfHook = autoreconfHook269; + }; libasr = callPackage ../development/libraries/libasr { }; From 0be679eabaf9997c3070ea946f58b7de73e158bf Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 12 Dec 2020 12:47:27 +0000 Subject: [PATCH 022/162] elinks: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 950b2bd7db1..bc249e48c47 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21019,7 +21019,9 @@ in elf-dissector = libsForQt5.callPackage ../applications/misc/elf-dissector { }; - elinks = callPackage ../applications/networking/browsers/elinks { }; + elinks = callPackage ../applications/networking/browsers/elinks { + autoreconfHook = autoreconfHook269; + }; elvis = callPackage ../applications/editors/elvis { }; From 7787b860b99391f3cd18e2c9c1bf892682cc21ad Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 12 Dec 2020 13:28:38 +0000 Subject: [PATCH 023/162] libcryptui: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc249e48c47..477d0f990fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5176,7 +5176,9 @@ in autoconf = autoconf269; }; - libcryptui = callPackage ../development/libraries/libcryptui { }; + libcryptui = callPackage ../development/libraries/libcryptui { + autoreconfHook = autoreconfHook269; + }; libsmi = callPackage ../development/libraries/libsmi { }; From 7ea2c6c9fbd69b835979cd78b68677e0c5f1efb9 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 12 Dec 2020 13:28:50 +0000 Subject: [PATCH 024/162] parcellite: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 477d0f990fe..269f7b497f8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6428,7 +6428,9 @@ in parastoo-fonts = callPackage ../data/fonts/parastoo-fonts { }; - parcellite = callPackage ../tools/misc/parcellite { }; + parcellite = callPackage ../tools/misc/parcellite { + autoreconfHook = autoreconfHook269; + }; patchutils = callPackage ../tools/text/patchutils { }; From 7a14f9914fac3c70c9bfdaad32ed0323d080a8e4 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:54:16 +0000 Subject: [PATCH 025/162] digitalbitbox: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 269f7b497f8..22dc98df473 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -247,7 +247,9 @@ in archiver = callPackage ../applications/misc/archiver { }; # It segfaults if it uses qt5.15 - digitalbitbox = libsForQt514.callPackage ../applications/misc/digitalbitbox { }; + digitalbitbox = libsForQt514.callPackage ../applications/misc/digitalbitbox { + autoreconfHook = autoreconfHook269; + }; gretl = callPackage ../applications/science/math/gretl { }; From 4cf137a3d322f076f9492cb5c3811386474099da Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:54:24 +0000 Subject: [PATCH 026/162] ttfautohint: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22dc98df473..675cabc37cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7889,7 +7889,9 @@ in ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; - ttfautohint = libsForQt5.callPackage ../tools/misc/ttfautohint { }; + ttfautohint = libsForQt5.callPackage ../tools/misc/ttfautohint { + autoreconfHook = autoreconfHook269; + }; ttfautohint-nox = ttfautohint.override { enableGUI = false; }; tty-clock = callPackage ../tools/misc/tty-clock { }; From e1cac2f70682c2f51dc0d9e2b98a14c1dfeef9b5 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:54:39 +0000 Subject: [PATCH 027/162] dee: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 675cabc37cf..0584603ece3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12738,7 +12738,9 @@ in inherit suidHelper serviceDirectories apparmor; }; - dee = callPackage ../development/libraries/dee { }; + dee = callPackage ../development/libraries/dee { + autoreconfHook = autoreconfHook269; + }; dhex = callPackage ../applications/editors/dhex { }; From 55fd7b0c512d272d2759063c0ebd5f5e4d273450 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:54:49 +0000 Subject: [PATCH 028/162] heimdal: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0584603ece3..4100cb71965 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13438,6 +13438,7 @@ in heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; + autoreconfHook = autoreconfHook269; }; libheimdal = heimdal; From dad614d4b0b7becc87a6de0b78c910a8345b40ee Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:55:21 +0000 Subject: [PATCH 029/162] tpm2-tss: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4100cb71965..dea0722c185 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16326,7 +16326,9 @@ in totem-pl-parser = callPackage ../development/libraries/totem-pl-parser { }; - tpm2-tss = callPackage ../development/libraries/tpm2-tss { }; + tpm2-tss = callPackage ../development/libraries/tpm2-tss { + autoreconfHook = autoreconfHook269; + }; tremor = callPackage ../development/libraries/tremor { }; From 85e47c89045f35b994a8d7195c493c6787e42955 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:55:28 +0000 Subject: [PATCH 030/162] fsv: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dea0722c185..0e6bb0580fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21278,7 +21278,9 @@ in fritzing = libsForQt5.callPackage ../applications/science/electronics/fritzing { }; - fsv = callPackage ../applications/misc/fsv { }; + fsv = callPackage ../applications/misc/fsv { + autoreconfHook = autoreconfHook269; + }; ft2-clone = callPackage ../applications/audio/ft2-clone { }; From 8b299b13aa441b3558e941c088428dc357451b7e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:55:35 +0000 Subject: [PATCH 031/162] mhwaveedit: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0e6bb0580fa..3f75a96ff58 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22738,7 +22738,9 @@ in metersLv2 = callPackage ../applications/audio/meters_lv2 { }; - mhwaveedit = callPackage ../applications/audio/mhwaveedit {}; + mhwaveedit = callPackage ../applications/audio/mhwaveedit { + autoreconfHook = autoreconfHook269; + }; michabo = libsForQt5.callPackage ../applications/misc/michabo { }; From 029e852acb43ece6fb5b1687a090c7bafc46f2b1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:55:49 +0000 Subject: [PATCH 032/162] msmtp: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3f75a96ff58..889df4cc37c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23157,6 +23157,7 @@ in msmtp = callPackage ../applications/networking/msmtp { inherit (darwin.apple_sdk.frameworks) Security; + autoreconfHook = autoreconfHook269; }; imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix { From d2b3b485f99f357e06e2fcc40b095c0de872e1a1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:55:56 +0000 Subject: [PATCH 033/162] rofi: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 889df4cc37c..2f529ae6a71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23858,7 +23858,9 @@ in rkdeveloptool = callPackage ../misc/rkdeveloptool { }; - rofi-unwrapped = callPackage ../applications/misc/rofi { }; + rofi-unwrapped = callPackage ../applications/misc/rofi { + autoreconfHook = autoreconfHook269; + }; rofi = callPackage ../applications/misc/rofi/wrapper.nix { }; rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { }; From baf93e470d7c6b965f6bce289fa46a296cf79c08 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:56:05 +0000 Subject: [PATCH 034/162] ssr: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2f529ae6a71..5c131c1b482 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24166,7 +24166,9 @@ in sslyze = with python3Packages; toPythonApplication sslyze; - ssr = callPackage ../applications/audio/soundscape-renderer {}; + ssr = callPackage ../applications/audio/soundscape-renderer { + autoreconfHook = autoreconfHook269; + }; ssrc = callPackage ../applications/audio/ssrc { }; From 9caa2bafd79ec526beabef0e6bd2719922221bfe Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:56:14 +0000 Subject: [PATCH 035/162] x11basic: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c131c1b482..534384dda85 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25006,7 +25006,9 @@ in gtk = gtk2; }; - x11basic = callPackage ../development/compilers/x11basic { }; + x11basic = callPackage ../development/compilers/x11basic { + autoconf = autoconf269; + }; x11vnc = callPackage ../tools/X11/x11vnc { }; From c71a8dd7a95c3e987969f9ac908efcdf6f1f9f75 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:56:20 +0000 Subject: [PATCH 036/162] freeciv: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 534384dda85..860a640dac2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25715,7 +25715,10 @@ in freecell-solver = callPackage ../games/freecell-solver { }; - freeciv = callPackage ../games/freeciv { qt5 = qt514; }; + freeciv = callPackage ../games/freeciv { + autoreconfHook = autoreconfHook269; + qt5 = qt514; + }; freeciv_gtk = freeciv.override { gtkClient = true; From 64d6d29e9b69e1ea97efa7c61889490ec83fcaf6 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 13:56:30 +0000 Subject: [PATCH 037/162] celestia: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 860a640dac2..b43ff89ef96 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27417,6 +27417,7 @@ in boinc = callPackage ../applications/science/misc/boinc { }; celestia = callPackage ../applications/science/astronomy/celestia { + autoreconfHook = autoreconfHook269; lua = lua5_1; inherit (pkgs.gnome2) gtkglext; }; From 5b54c2451a91a4a449b35ea130236e63031e97bf Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 14:04:28 +0000 Subject: [PATCH 038/162] libgpod: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b43ff89ef96..8e9200cc6ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14208,7 +14208,9 @@ in libgpiod = callPackage ../development/libraries/libgpiod { }; - libgpod = callPackage ../development/libraries/libgpod { }; + libgpod = callPackage ../development/libraries/libgpod { + autoreconfHook = autoreconfHook269; + }; libgssglue = callPackage ../development/libraries/libgssglue { }; From 5397cbf79f83d44158f8ae27c7f584b3d58989d7 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 14:06:26 +0000 Subject: [PATCH 039/162] apt-dater: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8e9200cc6ed..be0d4b026d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1023,7 +1023,9 @@ in apg = callPackage ../tools/security/apg { }; - apt-dater = callPackage ../tools/package-management/apt-dater { }; + apt-dater = callPackage ../tools/package-management/apt-dater { + autoreconfHook = autoreconfHook269; + }; autorevision = callPackage ../tools/misc/autorevision { }; From bee550014f3498af81f368b3e82949090fcf9b6b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 15:38:38 +0000 Subject: [PATCH 040/162] erlang: use autoconf 2.69 Each erlang package is given autoconf269 seperately so that when a new version comes out that supports 2.70, it can use it and not be stuck on the old version just because older erlangs need it. --- pkgs/top-level/beam-packages.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 14399d7ac95..542c721e215 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -1,4 +1,4 @@ -{ callPackage, wxGTK30, openssl_1_0_2 }: +{ callPackage, wxGTK30, openssl_1_0_2, autoconf269 }: rec { lib = callPackage ../development/beam-modules/lib.nix {}; @@ -20,6 +20,7 @@ rec { wxGTK = wxGTK30; # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 parallelBuild = true; + autoconf = autoconf269; }; erlangR23_odbc = erlangR23.override { odbcSupport = true; }; erlangR23_javac = erlangR23.override { javacSupport = true; }; @@ -33,6 +34,7 @@ rec { wxGTK = wxGTK30; # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 parallelBuild = true; + autoconf = autoconf269; }; erlangR22_odbc = erlangR22.override { odbcSupport = true; }; erlangR22_javac = erlangR22.override { javacSupport = true; }; @@ -44,6 +46,7 @@ rec { # R21 erlangR21 = lib.callErlang ../development/interpreters/erlang/R21.nix { wxGTK = wxGTK30; + autoconf = autoconf269; }; erlangR21_odbc = erlangR21.override { odbcSupport = true; }; erlangR21_javac = erlangR21.override { javacSupport = true; }; @@ -55,6 +58,7 @@ rec { # R20 erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix { wxGTK = wxGTK30; + autoconf = autoconf269; }; erlangR20_odbc = erlangR20.override { odbcSupport = true; }; erlangR20_javac = erlangR20.override { javacSupport = true; }; @@ -67,6 +71,7 @@ rec { erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix { wxGTK = wxGTK30; openssl = openssl_1_0_2; + autoconf = autoconf269; }; erlangR19_odbc = erlangR19.override { odbcSupport = true; }; erlangR19_javac = erlangR19.override { javacSupport = true; }; @@ -79,6 +84,7 @@ rec { erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix { wxGTK = wxGTK30; openssl = openssl_1_0_2; + autoconf = autoconf269; }; erlangR18_odbc = erlangR18.override { odbcSupport = true; }; erlangR18_javac = erlangR18.override { javacSupport = true; }; @@ -89,6 +95,7 @@ rec { # Basho fork, using custom builder. erlang_basho_R16B02 = lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix { + autoconf = autoconf269; }; erlang_basho_R16B02_odbc = erlang_basho_R16B02.override { odbcSupport = true; From 3e6001f9ef134b6b8682a74bfdf51e42689a25e6 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 13 Dec 2020 21:13:16 +0000 Subject: [PATCH 041/162] gdal: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be0d4b026d2..738802e6678 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13040,6 +13040,7 @@ in gdal = callPackage ../development/libraries/gdal { pythonPackages = python3Packages; + autoreconfHook = autoreconfHook269; }; gdal_1_11 = callPackage ../development/libraries/gdal/gdal-1_11.nix { }; From e27774e9df3ae87cf1654cc1d391288032fd39dd Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:51:03 +0000 Subject: [PATCH 042/162] linuxPackages.zfs: use autoconf 2.69 I bring in autoreconfHook269 instead of overriding it in all-packages.nix, so that when an unstable version of ZFS comes out that supports autoconf 2.70, it can use the latest autoconf even if stable ZFS still needs the old version. --- pkgs/os-specific/linux/zfs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index a2464aeb586..8bdf9efd445 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch -, autoreconfHook, util-linux, nukeReferences, coreutils +, autoreconfHook269, util-linux, nukeReferences, coreutils , perl, buildPackages , configFile ? "all" @@ -89,7 +89,7 @@ let "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" ''; - nativeBuildInputs = [ autoreconfHook nukeReferences ] + nativeBuildInputs = [ autoreconfHook269 nukeReferences ] ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) ++ optional buildUser pkgconfig; buildInputs = optionals buildUser [ zlib libuuid attr libtirpc ] From 5ad04f827785acea535b2f57305d00e6efe8cfdc Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:52:23 +0000 Subject: [PATCH 043/162] gnash: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 738802e6678..27c07525be6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4271,7 +4271,9 @@ in gmvault = callPackage ../tools/networking/gmvault { }; - gnash = callPackage ../misc/gnash { }; + gnash = callPackage ../misc/gnash { + autoreconfHook = autoreconfHook269; + }; gnirehtet = callPackage ../tools/networking/gnirehtet { }; From a5083f74b94be0a17d92bb3ad227261b28ffe314 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:52:32 +0000 Subject: [PATCH 044/162] lxc: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 27c07525be6..427d33f7116 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5602,7 +5602,9 @@ in lv = callPackage ../tools/text/lv { }; - lxc = callPackage ../os-specific/linux/lxc { }; + lxc = callPackage ../os-specific/linux/lxc { + autoreconfHook = autoreconfHook269; + }; lxcfs = callPackage ../os-specific/linux/lxcfs { }; lxd = callPackage ../tools/admin/lxd { }; From 25113b8213b11bc9a626985052768a4b67588684 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:53:02 +0000 Subject: [PATCH 045/162] charybdis: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 427d33f7116..0179d2f6820 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17008,7 +17008,9 @@ in cayley = callPackage ../servers/cayley { }; - charybdis = callPackage ../servers/irc/charybdis { }; + charybdis = callPackage ../servers/irc/charybdis { + autoreconfHook = autoreconfHook269; + }; clamsmtp = callPackage ../servers/mail/clamsmtp { }; From e7f1b25df5164cd8f34fe086d6bc81966acc1781 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:53:10 +0000 Subject: [PATCH 046/162] gimp: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0179d2f6820..42d528617cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21637,6 +21637,7 @@ in getxbook = callPackage ../applications/misc/getxbook { }; gimp = callPackage ../applications/graphics/gimp { + autoreconfHook = autoreconfHook269; gegl = gegl_0_4; lcms = lcms2; inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; From 0e214cbcc78a04e4218a0c73a232020c47ce3086 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:53:19 +0000 Subject: [PATCH 047/162] mup: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42d528617cd..5d301f12d9a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22975,7 +22975,9 @@ in else null; }; - mup = callPackage ../applications/audio/mup { }; + mup = callPackage ../applications/audio/mup { + autoreconfHook = autoreconfHook269; + }; # TODO: we should probably merge these 2 musescore = From 5586017246edebf348cf0e3e120318138a94f04e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:53:38 +0000 Subject: [PATCH 048/162] eid-mw: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d301f12d9a..11ab7a57feb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3565,7 +3565,9 @@ in eflite = callPackage ../applications/audio/eflite {}; - eid-mw = callPackage ../tools/security/eid-mw { }; + eid-mw = callPackage ../tools/security/eid-mw { + autoreconfHook = autoreconfHook269; + }; epubcheck = callPackage ../tools/text/epubcheck { }; From ce822a62782bc4ce2c37eb82e664687ebee5fb72 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:54:01 +0000 Subject: [PATCH 049/162] libmatheval: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11ab7a57feb..0ad5727bc92 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14465,6 +14465,7 @@ in libmatchbox = callPackage ../development/libraries/libmatchbox { }; libmatheval = callPackage ../development/libraries/libmatheval { + autoconf = autoconf269; guile = guile_2_0; }; From a9c1964746d7ec0781fcf1febd234c17c503b0db Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 15:54:46 +0000 Subject: [PATCH 050/162] farstream: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ad5727bc92..cf2550f6042 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12852,6 +12852,7 @@ in inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav; + autoreconfHook = autoreconfHook269; }; fcgi = callPackage ../development/libraries/fcgi { }; From e2367872c2bb195912c74cd52b461231128e3ed2 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:13:01 +0000 Subject: [PATCH 051/162] system-config-printer: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cf2550f6042..74953269cf5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7613,8 +7613,9 @@ in sysbench = callPackage ../development/tools/misc/sysbench {}; system-config-printer = callPackage ../tools/misc/system-config-printer { + autoreconfHook = autoreconfHook269; libxml2 = libxml2Python; - }; + }; systembus-notify = callPackage ../applications/misc/systembus-notify { }; From 047d6d0bf84a020c3a11f24778a948bd9130c133 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:13:20 +0000 Subject: [PATCH 052/162] spek: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 74953269cf5..8548a0b50ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24153,7 +24153,9 @@ in soxr = callPackage ../applications/misc/audio/soxr { }; - spek = callPackage ../applications/audio/spek { }; + spek = callPackage ../applications/audio/spek { + autoreconfHook = autoreconfHook269; + }; spotify-unwrapped = callPackage ../applications/audio/spotify { libgcrypt = libgcrypt_1_5; From 080d634714700cd4335d780e691ef2a4160242a4 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:15:40 +0000 Subject: [PATCH 053/162] schroedinger: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8548a0b50ed..97e9b93eae3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15924,7 +15924,9 @@ in sbc = callPackage ../development/libraries/sbc { }; - schroedinger = callPackage ../development/libraries/schroedinger { }; + schroedinger = callPackage ../development/libraries/schroedinger { + autoreconfHook = autoreconfHook269; + }; SDL = callPackage ../development/libraries/SDL ({ inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa; From 9889d51cb69c43f09dcd712c230ca5febdf3f8fe Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:23:30 +0000 Subject: [PATCH 054/162] xbursttools: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 97e9b93eae3..bad8d375b26 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8484,6 +8484,7 @@ in # It needs a cross compiler for mipsel to build the firmware it will # load into the Ben Nanonote gccCross = pkgsCross.ben-nanonote.buildPackages.gccCrossStageStatic; + autoconf = autoconf269; }; clipnotify = callPackage ../tools/misc/clipnotify { }; From 187dc40bbfa91bc1edab87b68c130570786957bd Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:23:45 +0000 Subject: [PATCH 055/162] zexy: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bad8d375b26..c3a3fb73f03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25337,7 +25337,9 @@ in zeronet = callPackage ../applications/networking/p2p/zeronet { }; - zexy = callPackage ../applications/audio/pd-plugins/zexy { }; + zexy = callPackage ../applications/audio/pd-plugins/zexy { + autoconf = autoconf269; + }; zgrviewer = callPackage ../applications/graphics/zgrviewer {}; From 48f26584bec206c796bdec039ff89168ca2a907b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:38:51 +0000 Subject: [PATCH 056/162] zbar: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c3a3fb73f03..5cec6107a81 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8612,7 +8612,9 @@ in zbackup = callPackage ../tools/backup/zbackup {}; - zbar = libsForQt5.callPackage ../tools/graphics/zbar { }; + zbar = libsForQt5.callPackage ../tools/graphics/zbar { + autoreconfHook = autoreconfHook269; + }; zdelta = callPackage ../tools/compression/zdelta { }; From 2968a9ffe58e126cc9a5dd98a67df56be2205403 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:39:12 +0000 Subject: [PATCH 057/162] watchman: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5cec6107a81..015a25638b5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8168,6 +8168,7 @@ in watchman = callPackage ../development/tools/watchman { inherit (darwin.apple_sdk.frameworks) CoreServices; + autoconf = autoconf269; }; wavefunctioncollapse = callPackage ../tools/graphics/wavefunctioncollapse {}; From d94842b9e7cd9829b013d54b0b35dc1619ab9ba1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:39:29 +0000 Subject: [PATCH 058/162] verilog: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 015a25638b5..0eeb775ce24 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8059,7 +8059,9 @@ in verilator = callPackage ../applications/science/electronics/verilator {}; - verilog = callPackage ../applications/science/electronics/verilog {}; + verilog = callPackage ../applications/science/electronics/verilog { + autoconf = autoconf269; + }; versus = callPackage ../applications/networking/versus { }; From 045995fe804a64edc4db34a37633c580fbfa8ed3 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 16:43:37 +0000 Subject: [PATCH 059/162] souffle: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0eeb775ce24..ee7f8fc2a35 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10241,7 +10241,9 @@ in solc = callPackage ../development/compilers/solc { }; - souffle = callPackage ../development/compilers/souffle { }; + souffle = callPackage ../development/compilers/souffle { + autoreconfHook = autoreconfHook269; + }; spasm-ng = callPackage ../development/compilers/spasm-ng { }; From d0811643561a4685e3d8d94c93417a13d04be52a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 17:10:23 +0000 Subject: [PATCH 060/162] uim: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee7f8fc2a35..b6c045c8d29 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8293,7 +8293,9 @@ in uhttpmock = callPackage ../development/libraries/uhttpmock { }; - uim = callPackage ../tools/inputmethods/uim { }; + uim = callPackage ../tools/inputmethods/uim { + autoconf = autoconf269; + }; uhub = callPackage ../servers/uhub { }; From 523f844fd5bb617e8283f02e681de8ec91ef9c59 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 17:10:30 +0000 Subject: [PATCH 061/162] torque: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b6c045c8d29..c8ab6c9b513 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17843,7 +17843,9 @@ in tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; - torque = callPackage ../servers/computing/torque { }; + torque = callPackage ../servers/computing/torque { + autoreconfHook = autoreconfHook269; + }; tt-rss = callPackage ../servers/tt-rss { }; tt-rss-plugin-ff-instagram = callPackage ../servers/tt-rss/plugin-ff-instagram { }; From 1b631198ae38587fce7e2f62ce27efb67fd51a83 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 17:53:29 +0000 Subject: [PATCH 062/162] gnome3.gnome-panel: use autoconf 2.69 --- pkgs/desktops/gnome-3/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 302ad2c21aa..2bc825d8149 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -264,7 +264,9 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-flashback = callPackage ./misc/gnome-flashback { }; - gnome-panel = callPackage ./misc/gnome-panel { }; + gnome-panel = callPackage ./misc/gnome-panel { + autoreconfHook = pkgs.autoreconfHook269; + }; gnome-tweaks = callPackage ./misc/gnome-tweaks { }; From ab6ac9b40e56f7f7e624df56e91d8c2f9ddcba03 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 17:55:11 +0000 Subject: [PATCH 063/162] orangefs: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8ab6c9b513..5c83bfcdb81 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6366,7 +6366,9 @@ in opn2bankeditor = callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { }; - orangefs = callPackage ../tools/filesystems/orangefs { }; + orangefs = callPackage ../tools/filesystems/orangefs { + autoreconfHook = autoreconfHook269; + }; os-prober = callPackage ../tools/misc/os-prober {}; From 1dec1f399a3b857100709227fa67248bd782cf0a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 17:55:30 +0000 Subject: [PATCH 064/162] vcprompt: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c83bfcdb81..858e2ac7313 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24588,7 +24588,9 @@ in vbindiff = callPackage ../applications/editors/vbindiff { }; - vcprompt = callPackage ../applications/version-management/vcprompt { }; + vcprompt = callPackage ../applications/version-management/vcprompt { + autoconf = autoconf269; + }; vcs = callPackage ../applications/video/vcs { }; From e7998a2c5ba7d292fa2c765084f8b36958301890 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 15 Dec 2020 18:06:50 +0000 Subject: [PATCH 065/162] pivxd: use autoconf 2.69 --- pkgs/top-level/all-packages.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 858e2ac7313..9e27a0e9fc2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25478,7 +25478,10 @@ in nbxplorer = callPackage ../applications/blockchains/nbxplorer { }; pivx = libsForQt5.callPackage ../applications/blockchains/pivx.nix { withGui = true; }; - pivxd = callPackage ../applications/blockchains/pivx.nix { withGui = false; }; + pivxd = callPackage ../applications/blockchains/pivx.nix { + withGui = false; + autoreconfHook = autoreconfHook269; + }; ethabi = callPackage ../applications/blockchains/ethabi.nix { }; From cfc4f6347f58f357dfd6b9dbb824cda934c15416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 10:23:19 +0100 Subject: [PATCH 066/162] wafHook: Don't wrap python2 --- nixos/doc/manual/release-notes/rl-2103.xml | 6 ++++++ pkgs/development/tools/build-managers/wafHook/default.nix | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index 2b0144a69c2..2cc96ea86a5 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -287,6 +287,12 @@ This avoids that the password gets exposed in the nix store. + + + The wafHook hook does not wrap Python anymore. + Packages depending on wafHook need to include any Python into their nativeBuildInputs. + + diff --git a/pkgs/development/tools/build-managers/wafHook/default.nix b/pkgs/development/tools/build-managers/wafHook/default.nix index 4184bd5fe8c..2131caede3c 100644 --- a/pkgs/development/tools/build-managers/wafHook/default.nix +++ b/pkgs/development/tools/build-managers/wafHook/default.nix @@ -1,7 +1,6 @@ -{ lib, stdenv, pkgs, python, makeSetupHook, waf }: +{ lib, stdenv, pkgs, makeSetupHook, waf }: makeSetupHook { - deps = [ python ]; substitutions = { inherit waf; crossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) From c71fd1848b22269bd8b38de6e84e8fc853311a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 10:37:06 +0100 Subject: [PATCH 067/162] simutrans: Fix hash --- pkgs/games/simutrans/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix index b75b67e0528..5d33ae99149 100644 --- a/pkgs/games/simutrans/default.nix +++ b/pkgs/games/simutrans/default.nix @@ -52,7 +52,7 @@ let "pak128.german" = { url = "mirror://sourceforge/simutrans/PAK128.german/" + "pak128.german_1.2_for_ST_121.0/PAK128.german_1.2_for_ST_121-0.zip"; - sha256 = "1jxjckz4b02yv1mv1zc3pmajpq740dfnlvhr0x762lbrybymvagi"; + sha256 = "1cv1rzl1a3i5dvk476zq094wawk9hhdh2f0y4xrdny5gn17mb2xi"; }; /* This release contains accented filenames that prevent unzipping. From 125502298eac0e9c8fc46764c0ab1872bbc46e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 10:37:49 +0100 Subject: [PATCH 068/162] gaia: Add Python 2 for wafHook --- pkgs/development/libraries/gaia/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gaia/default.nix b/pkgs/development/libraries/gaia/default.nix index b154f80c1dd..46ed3626d2a 100644 --- a/pkgs/development/libraries/gaia/default.nix +++ b/pkgs/development/libraries/gaia/default.nix @@ -5,6 +5,7 @@ , swig , eigen , pkgconfig +, python2 , wafHook , makeWrapper , qt4 @@ -38,9 +39,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - wafHook pkgconfig + python2 # For wafHook swig + wafHook ] # The gaiafusion binary inside $out/bin needs a shebangs patch, and # wrapping with the appropriate $PYTHONPATH From a903f8f111186bfa8e1e468da7d8f0d110db8518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 10:56:02 +0100 Subject: [PATCH 069/162] mda_lv2: Add Python 3 for wafHook --- pkgs/applications/audio/mda-lv2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix index 2464abb6585..6e96bf45294 100644 --- a/pkgs/applications/audio/mda-lv2/default.nix +++ b/pkgs/applications/audio/mda-lv2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, wafHook }: +{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, wafHook, python3 }: stdenv.mkDerivation rec { pname = "mda-lv2"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1a3cv6w5xby9yn11j695rbh3c4ih7rxfxmkca9s1324ljphh06m8"; }; - nativeBuildInputs = [ pkgconfig wafHook ]; + nativeBuildInputs = [ pkgconfig wafHook python3 ]; buildInputs = [ fftwSinglePrec lv2 ]; meta = with stdenv.lib; { From 2d505c9051fc6d2cb16f0b70411f7bff51bfb3a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 10:58:44 +0100 Subject: [PATCH 070/162] ams-lv2: Add Python 3 for wafHook --- pkgs/applications/audio/ams-lv2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix index 34f5667bfca..a978b67c5dc 100644 --- a/pkgs/applications/audio/ams-lv2/default.nix +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig -, wafHook }: +, wafHook, python3 }: stdenv.mkDerivation rec { pname = "ams-lv2"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"; }; - nativeBuildInputs = [ pkgconfig wafHook ]; + nativeBuildInputs = [ pkgconfig wafHook python3 ]; buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ]; meta = with stdenv.lib; { From c1baf6549f2e360cdf05075131833dc9666df9fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 12:17:51 +0100 Subject: [PATCH 071/162] ntdb: Add Python 2 for wafHook --- pkgs/development/libraries/ntdb/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix index de0db887d4b..d0a9a2e5b49 100644 --- a/pkgs/development/libraries/ntdb/default.nix +++ b/pkgs/development/libraries/ntdb/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchurl +, python2 , python3 , pkg-config , readline @@ -26,6 +27,7 @@ stdenv.mkDerivation rec { docbook-xsl-nons docbook_xml_dtd_42 wafHook + python2 # For wafHook ]; buildInputs = [ From 0e7903738a3828be54b42ca63daf31bb4a85db5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 10 Dec 2020 14:09:03 +0100 Subject: [PATCH 072/162] saldl: Add Python3 for wafHook --- pkgs/tools/networking/saldl/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/networking/saldl/default.nix b/pkgs/tools/networking/saldl/default.nix index d51e5515bd6..9c2b4915bf1 100644 --- a/pkgs/tools/networking/saldl/default.nix +++ b/pkgs/tools/networking/saldl/default.nix @@ -2,6 +2,7 @@ , fetchFromGitHub , pkgconfig , wafHook +, python3 , asciidoc , docbook_xml_dtd_45 , docbook_xsl @@ -25,6 +26,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig wafHook + python3 asciidoc docbook_xml_dtd_45 docbook_xsl From 279c5943fe4b664cea610d5703cc9c2cbd941f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Sat, 12 Dec 2020 19:23:45 +0100 Subject: [PATCH 073/162] talloc: Remove python from wafHook's inputs --- pkgs/top-level/all-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af3acb1dea8..998bccd751b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16203,9 +16203,7 @@ in taglib-sharp = callPackage ../development/libraries/taglib-sharp { }; - talloc = callPackage ../development/libraries/talloc { - wafHook = wafHook.override { python = python3; }; - }; + talloc = callPackage ../development/libraries/talloc { }; tclap = callPackage ../development/libraries/tclap {}; From e8f4028f85589e25a328bc298c8bc7b38811d538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Sat, 19 Dec 2020 19:25:36 +0100 Subject: [PATCH 074/162] gtk3: build with broadway backend The GDK Broadway backend provides support for displaying GTK+ applications in a web browser, using HTML5 and web sockets. https://developer.gnome.org/gtk3/stable/gtk-broadway.html --- pkgs/development/libraries/gtk/3.x.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index aee846ccfcd..8b16148957a 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -43,6 +43,7 @@ , cups ? null , AppKit , Cocoa +, broadwaySupport ? true }: assert cupsSupport -> cups != null; @@ -94,6 +95,7 @@ stdenv.mkDerivation rec { "-Dgtk_doc=${boolToString withGtkDoc}" "-Dtests=false" "-Dtracker3=${boolToString trackerSupport}" + "-Dbroadway_backend=${boolToString broadwaySupport}" ]; # These are the defines that'd you'd get with --enable-debug=minimum (default). From 4454fecc85b0959d38fa6bef06521e597b7f75a5 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Mon, 21 Dec 2020 14:31:12 +0100 Subject: [PATCH 075/162] cargo-c: 0.6.18 -> 0.7.0 --- pkgs/development/tools/rust/cargo-c/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix index ee0074f7d83..ce57194bc49 100644 --- a/pkgs/development/tools/rust/cargo-c/default.nix +++ b/pkgs/development/tools/rust/cargo-c/default.nix @@ -5,7 +5,7 @@ rustPlatform.buildRustPackage rec { pname = "cargo-c"; - version = "0.6.18"; + version = "0.7.0"; src = stdenv.mkDerivation rec { name = "${pname}-source-${version}"; @@ -14,11 +14,11 @@ rustPlatform.buildRustPackage rec { owner = "lu-zero"; repo = pname; rev = "v${version}"; - sha256 = "1dh5z210nl8grjxb8zxch8h7799w61bah7r2j0s07091rcpfsrsb"; + sha256 = "0pd1vnpy29fxmf47pvkyxd6bydar8cykfjx0f1bbw3gfk7vychbj"; }; cargoLock = fetchurl { url = "https://github.com/lu-zero/${pname}/releases/download/v${version}/Cargo.lock"; - sha256 = "1h5wmfmm2a2ilyw3ar88rqm7yvdc2vhyx4pgg781615ax52fhjli"; + sha256 = "10xhd5m63r928gfvr4djmis30mra8wdsx55kgin9kiig2kylx69h"; }; installPhase = '' @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoSha256 = "0ll9p2rbnw46zd9m2bmdmn99v9jjjf8i33xpkvd1rx42ki7sys62"; + cargoSha256 = "1axg0kr8xsb5fm3r8qgc7s3g70pa8g9vc68d6icm7ms77phczx4r"; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] From 21bb0f56c5ad09272aaeb5c311e36ce6076ce647 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Mon, 21 Dec 2020 15:22:56 +0100 Subject: [PATCH 076/162] iproute2: 5.9.0 -> 5.10.0 (#107319) --- pkgs/os-specific/linux/iproute/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index b3de7ceedaa..291630032f0 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -5,19 +5,19 @@ stdenv.mkDerivation rec { pname = "iproute2"; - version = "5.9.0"; + version = "5.10.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1kys6dmhrl43iaq95n5sh02p39d7bq8i5y672qrzgwnwpjaaqpd2"; + sha256 = "15pfijbiyv0adrchj3v379w898gxsji33q4ly0k7s22vd93wj20m"; }; preConfigure = '' # Don't try to create /var/lib/arpd: sed -e '/ARPDDIR/d' -i Makefile - # TODO: Drop temporary version fix for 5.9 once 5.10 is out: + # TODO: Drop temporary version fix once 5.11 is out (hopefully :D): substituteInPlace include/version.h \ - --replace "5.8.0" "${version}" + --replace "5.9.0" "${version}" ''; outputs = [ "out" "dev" ]; From b9ede6493f7871d0cd7df6a666fdaf37762ba0f3 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Mon, 21 Dec 2020 22:22:30 +0100 Subject: [PATCH 077/162] iproute2: Update the source hash A new archive was uploaded to fix the version string. --- pkgs/os-specific/linux/iproute/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 291630032f0..55fa6b36de2 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -9,15 +9,12 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; - sha256 = "15pfijbiyv0adrchj3v379w898gxsji33q4ly0k7s22vd93wj20m"; + sha256 = "1sakmhvh40gh4x55vzgy6cyvizqkhqalcfpvs6r0c14w62p38jm5"; }; preConfigure = '' # Don't try to create /var/lib/arpd: sed -e '/ARPDDIR/d' -i Makefile - # TODO: Drop temporary version fix once 5.11 is out (hopefully :D): - substituteInPlace include/version.h \ - --replace "5.9.0" "${version}" ''; outputs = [ "out" "dev" ]; From de075d25c7f72c830e5f05bbacebc8d52929e49d Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Wed, 23 Dec 2020 16:31:05 +0100 Subject: [PATCH 078/162] linux: omit build id (#106648) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't include an ​NT_GNU_BUILD_ID (that is randomly generated at build time). This improves the kernel reproducibility: when also disabling the MOUDLE_SIG and SECURITY_LOCKDOWN_LSM options the build is bit-by-bit reproducible. --- pkgs/os-specific/linux/kernel/manual-config.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 3bdb8c4f297..9edc0ced412 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -113,6 +113,13 @@ let sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g' done sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|' + + # Don't include a (random) NT_GNU_BUILD_ID, to make the build more deterministic. + # This way kernels can be bit-by-bit reproducible depending on settings + # (e.g. MODULE_SIG and SECURITY_LOCKDOWN_LSM need to be disabled). + # See also https://kernelnewbies.org/BuildId + sed -i Makefile -e 's|--build-id|--build-id=none|' + sed -i scripts/ld-version.sh -e "s|/usr/bin/awk|${buildPackages.gawk}/bin/awk|" ''; From d703c1ef25775dbe94e9120fe988db24c2df48c3 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Fri, 18 Dec 2020 21:22:10 -0500 Subject: [PATCH 079/162] pam: 1.3.1 -> 1.5.1 --- pkgs/os-specific/linux/pam/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index fb969d7574a..e6fbc9aa097 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "linux-pam"; - version = "1.3.1"; + version = "1.5.1"; src = fetchurl { - url = "https://github.com/linux-pam/linux-pam/releases/download/v1.3.1/Linux-PAM-${version}.tar.xz"; - sha256 = "1nyh9kdi3knhxcbv5v4snya0g3gff0m671lnvqcbygw3rm77mx7g"; + url = "https://github.com/linux-pam/linux-pam/releases/download/v${version}/Linux-PAM-${version}.tar.xz"; + sha256 = "sha256-IB1AcwsRNbGzzeoJ8sKKxjTXMYHM0Bcs7d7jZJxXkvw="; }; patches = stdenv.lib.optionals (stdenv.hostPlatform.libc == "musl") [ From 1bf598874faf12791607cfa25d1067d35dc6ca32 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 22 Dec 2020 16:45:06 -0800 Subject: [PATCH 080/162] meson: install shell completions meson ships with both bash and zsh completions, the zsh completions are more complete than the bash ones. --- pkgs/development/tools/build-managers/meson/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index cd506b970f6..890c457da05 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -4,6 +4,7 @@ , writeTextDir , substituteAll , fetchpatch +, installShellFiles }: python3.pkgs.buildPythonApplication rec { @@ -77,6 +78,13 @@ python3.pkgs.buildPythonApplication rec { rm $out/nix-support/propagated-build-inputs ''; + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --zsh data/shell-completions/zsh/_meson + installShellCompletion --bash data/shell-completions/bash/meson + ''; + meta = with lib; { homepage = "https://mesonbuild.com"; description = "SCons-like build system that use python as a front-end language and Ninja as a building backend"; From c9161fb11a99f0cc35ca86cc14f4cc073d683ea5 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Wed, 23 Dec 2020 21:35:19 +0100 Subject: [PATCH 081/162] treewide: use GST_PLUGIN_SYSTEM_PATH_1_0 instead of GST_PLUGIN_SYSTEM_PATH When GST_PLUGIN_SYSTEM_PATH_1_0 is set, gstreamer ignores GST_PLUGIN_SYSTEM_PATH. --- pkgs/applications/audio/mopidy/mopidy.nix | 4 ---- pkgs/applications/office/libreoffice/default.nix | 2 -- pkgs/development/libraries/gstreamer/core/default.nix | 2 +- pkgs/tools/cd-dvd/brasero/default.nix | 2 +- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/audio/mopidy/mopidy.nix b/pkgs/applications/audio/mopidy/mopidy.nix index eb5672fe135..f2f3734ec2e 100644 --- a/pkgs/applications/audio/mopidy/mopidy.nix +++ b/pkgs/applications/audio/mopidy/mopidy.nix @@ -38,10 +38,6 @@ pythonPackages.buildPythonApplication rec { # There are no tests doCheck = false; - preFixup = '' - gappsWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH") - ''; - meta = with stdenv.lib; { homepage = "https://www.mopidy.com/"; description = '' diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index a8c0d4117a3..6d8983179dc 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -300,8 +300,6 @@ in (mkDrv rec { cp -r sysui/desktop/icons "$out/share" sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop - qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH") - mkdir -p $dev cp -r include $dev '' + lib.optionalString kdeIntegration '' diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 3ea0bd8903a..9c644986eab 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { postInstall = '' for prog in "$dev/bin/"*; do # We can't use --suffix here due to quoting so we craft the export command by hand - wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH=$GST_PLUGIN_SYSTEM_PATH''${GST_PLUGIN_SYSTEM_PATH:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")' + wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")' done ''; diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix index cdc19887333..c9c71a99deb 100644 --- a/pkgs/tools/cd-dvd/brasero/default.nix +++ b/pkgs/tools/cd-dvd/brasero/default.nix @@ -36,7 +36,7 @@ in stdenv.mkDerivation rec { ]; preFixup = '' - gappsWrapperArgs+=(--prefix PATH : "${binpath}" --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH") + gappsWrapperArgs+=(--prefix PATH : "${binpath}") ''; meta = with stdenv.lib; { From dfb2a526e34ee46da80ecab6f34ee341b5f66a83 Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Fri, 25 Dec 2020 16:46:47 +0100 Subject: [PATCH 082/162] cmake: 3.19.1 -> 3.19.2 --- .../tools/build-managers/cmake/default.nix | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 385cb990c46..d38f42e4b33 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, pkgconfig, fetchpatch +{ stdenv, lib, fetchurl, pkgconfig , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash , buildPackages # darwin attributes @@ -20,12 +20,12 @@ stdenv.mkDerivation rec { + lib.optionalString useNcurses "-cursesUI" + lib.optionalString withQt5 "-qt5UI" + lib.optionalString useQt4 "-qt4UI"; - version = "3.19.1"; + version = "3.19.2"; src = fetchurl { url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt - sha256 = "1fisi9rlijw9wd0yjzk1c6j7ljnb2yiq5iqnrz6m1xkflyinw9hx"; + sha256 = "1w67w0ak6vf37501dlz9yhnzlvvpw1w10n2nm3hi7yxp4cxzvq73"; }; patches = [ @@ -38,12 +38,6 @@ stdenv.mkDerivation rec { # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d ./libuv-application-services.patch - # Fix namelink failures, can be removed in 3.19.2+ - (fetchpatch { - url = "https://gitlab.kitware.com/cmake/cmake/-/commit/38bcb5c0a3accd2dd29fb7632c6b3bf31b990d82.patch"; - sha256 = "17yr66wrayhmavsz46b37zfwp2jcwab1zig2xqps39ysndf74qjc"; - }) - ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch; outputs = [ "out" ]; From 3db04334e3eb57839b397c6d0de94d55dd18a812 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 24 Dec 2020 07:58:53 -0600 Subject: [PATCH 083/162] Revert "fetch-kde-qt.sh: get hashes from metadata" This reverts commit 4b7d9dc86800fa7b861f47ae0e6e3a8f097f9ce7. The KDE project has changed their source index pages so that the links to package metadata files are generated by JavaScript after the page loads. As a result, wget is no longer able to recursively fetch the package metadata automatically. --- maintainers/scripts/fetch-kde-qt.sh | 9 ++++----- pkgs/applications/kde/fetch.sh | 2 +- pkgs/desktops/plasma-5/fetch.sh | 2 +- pkgs/development/libraries/kde-frameworks/fetch.sh | 2 +- pkgs/development/libraries/qt-5/5.12/fetch.sh | 3 ++- pkgs/development/libraries/qt-5/5.14/fetch.sh | 3 ++- pkgs/development/libraries/qt-5/5.15/fetch.sh | 3 ++- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/maintainers/scripts/fetch-kde-qt.sh b/maintainers/scripts/fetch-kde-qt.sh index c6c980dd0cb..22d78151978 100755 --- a/maintainers/scripts/fetch-kde-qt.sh +++ b/maintainers/scripts/fetch-kde-qt.sh @@ -14,13 +14,12 @@ fi tmp=$(mktemp -d) pushd $tmp >/dev/null -wget -nH -r -c --no-parent "${WGET_ARGS[@]}" -A '*.tar.xz.sha256' -A '*.mirrorlist' >/dev/null -find -type f -name '*.mirrorlist' -delete +wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null csv=$(mktemp) find . -type f | while read src; do # Sanitize file name - filename=$(gawk '{ print $2 }' "$src" | tr '@' '_') + filename=$(basename "$src" | tr '@' '_') nameVersion="${filename%.tar.*}" name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,' | sed -e 's,-everywhere-src$,,') version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') @@ -40,8 +39,8 @@ gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do latestVersion=$(echo "$versions" | sort -rV | head -n 1) src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" $csv) filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" $csv) - url="$(dirname "${src:2}")/$filename" - sha256=$(gawk '{ print $1 }' "$src") + url="${src:2}" + sha256=$(nix-hash --type sha256 --base32 --flat "$src") cat >>"$SRCS" < Date: Thu, 24 Dec 2020 08:17:37 -0600 Subject: [PATCH 084/162] kdeApplications: 20.08.2 -> 20.08.3 --- pkgs/applications/kde/fetch.sh | 2 +- pkgs/applications/kde/srcs.nix | 1728 ++++++++++++++++---------------- 2 files changed, 865 insertions(+), 865 deletions(-) diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh index 8a1f611bc95..e3bba77f972 100644 --- a/pkgs/applications/kde/fetch.sh +++ b/pkgs/applications/kde/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( http://download.kde.org/stable/release-service/20.08.2/src -A '*.tar.xz' ) +WGET_ARGS=( http://download.kde.org/stable/release-service/20.08.3/src -A '*.tar.xz' ) diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix index 6966c07ec0a..5ff13eaf240 100644 --- a/pkgs/applications/kde/srcs.nix +++ b/pkgs/applications/kde/srcs.nix @@ -4,1731 +4,1731 @@ { akonadi = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-20.08.2.tar.xz"; - sha256 = "d3a4b3b3f543734ad5428ca0e573b8dbf9e05f42d51e1aab39b5b5266c16be7d"; - name = "akonadi-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-20.08.3.tar.xz"; + sha256 = "1hwaan45cyw2nmfmdp5pbhvm00xdxy9la68ms3sa8a67zcsfljhl"; + name = "akonadi-20.08.3.tar.xz"; }; }; akonadi-calendar = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-calendar-20.08.2.tar.xz"; - sha256 = "20173d00dc764f6a1e8e0b433d96b982ceadcb17e9bd067caf2967fd5440eb51"; - name = "akonadi-calendar-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-calendar-20.08.3.tar.xz"; + sha256 = "18rwvn5i6i4ng335rxpwx3a2m4vyq96w9m3fa1gvmr8ls7vkaqrk"; + name = "akonadi-calendar-20.08.3.tar.xz"; }; }; akonadi-calendar-tools = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-calendar-tools-20.08.2.tar.xz"; - sha256 = "2069cc3a12f0da3f10181c13d19b1048d8f2e0c0f4a4e14309a7e6f08aa74ab9"; - name = "akonadi-calendar-tools-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-calendar-tools-20.08.3.tar.xz"; + sha256 = "1pnm3xi26bnbjmnv9zwi9w5rkr1pdry50hzy3gxw7b0g11zz036w"; + name = "akonadi-calendar-tools-20.08.3.tar.xz"; }; }; akonadiconsole = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadiconsole-20.08.2.tar.xz"; - sha256 = "dc03a1986b6e7af0d26af927009d567da1e1835cc2bb5cc1b5732ffca3ecde9d"; - name = "akonadiconsole-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadiconsole-20.08.3.tar.xz"; + sha256 = "061r0p9pj22x0hiz6piz4vramll3w5xy92sx8nfhcp2gmnvj9890"; + name = "akonadiconsole-20.08.3.tar.xz"; }; }; akonadi-contacts = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-contacts-20.08.2.tar.xz"; - sha256 = "e4a2696e0e0cf69926d34f160a4581131a1da8244355787564b75dec06db1b30"; - name = "akonadi-contacts-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-contacts-20.08.3.tar.xz"; + sha256 = "18n9x41fmh4q9q9lfv882iwk6j1hvgpl11y4qn873vwr9sdrcf4s"; + name = "akonadi-contacts-20.08.3.tar.xz"; }; }; akonadi-import-wizard = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-import-wizard-20.08.2.tar.xz"; - sha256 = "639d72ae3d32f681ddb046a87d625871b485785602cf35b817e89004def4dc5e"; - name = "akonadi-import-wizard-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-import-wizard-20.08.3.tar.xz"; + sha256 = "0gny0rxvyks5w4rdb73ly06lyvz7kcfvff1268bn6i96xr83kmim"; + name = "akonadi-import-wizard-20.08.3.tar.xz"; }; }; akonadi-mime = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-mime-20.08.2.tar.xz"; - sha256 = "5699a1d44a9812c9530bc61af5822ff34a573b168d72230cd8261c05065c06e3"; - name = "akonadi-mime-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-mime-20.08.3.tar.xz"; + sha256 = "12ps633y64mj72iryd9z2nmrf7lxbkqj7xnzj28549cvg6jizgl7"; + name = "akonadi-mime-20.08.3.tar.xz"; }; }; akonadi-notes = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-notes-20.08.2.tar.xz"; - sha256 = "4897ca92d6b68f75254e1c419438275a94fa678c9f062dcd91c0267129886ca7"; - name = "akonadi-notes-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-notes-20.08.3.tar.xz"; + sha256 = "1z90r37lqc7ydmily730idd4s8rcbr6i3a8x9m647snbala16z36"; + name = "akonadi-notes-20.08.3.tar.xz"; }; }; akonadi-search = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akonadi-search-20.08.2.tar.xz"; - sha256 = "618400950fa44f0c578ab51c3b311a47e0b2df47203f754e50bcc363201a9fc7"; - name = "akonadi-search-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akonadi-search-20.08.3.tar.xz"; + sha256 = "0izpkvjybp6r79rai0p5j74bm0f8ksgsl3z34ggb51j6vj9rla7h"; + name = "akonadi-search-20.08.3.tar.xz"; }; }; akregator = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/akregator-20.08.2.tar.xz"; - sha256 = "4de4bd31dede5c09e0eb9e14d1da1d1979409eb1e28df5f95963086d4a49edc9"; - name = "akregator-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/akregator-20.08.3.tar.xz"; + sha256 = "1gqh820s5by3r9lz7r16r0krh916idsks6sgy26hcrwfmva45wn5"; + name = "akregator-20.08.3.tar.xz"; }; }; analitza = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/analitza-20.08.2.tar.xz"; - sha256 = "2fad01bf48199e3671559ec9a619f0d590af331922899c793f96fc90860ec487"; - name = "analitza-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/analitza-20.08.3.tar.xz"; + sha256 = "16s6kjyclj73lq8z8mvrbsl75h1nrnv7syp6wpip6gvfs5ynai90"; + name = "analitza-20.08.3.tar.xz"; }; }; ark = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ark-20.08.2.tar.xz"; - sha256 = "ec061ac07687b5a3541af293e3bc2aa7bedcfe0ef38ba6e57e2704068a726ffc"; - name = "ark-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ark-20.08.3.tar.xz"; + sha256 = "03kwjp2nj570k9ph8bgj042sjj4x0h9jwv8nwx0pfpcxkgxv5pzy"; + name = "ark-20.08.3.tar.xz"; }; }; artikulate = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/artikulate-20.08.2.tar.xz"; - sha256 = "66545d85e25aa67816deea4b2b89b485181458a5bc117dad9588671d8b48b41c"; - name = "artikulate-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/artikulate-20.08.3.tar.xz"; + sha256 = "0bx97qi6zi7jmlzm3g7qamnzg0966g4w9xpskbxbr4cgjr312x19"; + name = "artikulate-20.08.3.tar.xz"; }; }; audiocd-kio = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/audiocd-kio-20.08.2.tar.xz"; - sha256 = "5f38c549fe8c3a4659ac8291c223327b765834e7668bc15a96047e20cdb11f01"; - name = "audiocd-kio-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/audiocd-kio-20.08.3.tar.xz"; + sha256 = "01n4nyda7l7by1nyx2sgxdl8qkdfndk0w6hj0qc6a7fllcfj5cpb"; + name = "audiocd-kio-20.08.3.tar.xz"; }; }; baloo-widgets = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/baloo-widgets-20.08.2.tar.xz"; - sha256 = "e1d14b8dba911ebc1cee76dbcd44fa200418ba959d86ce567093b5fc3b700a07"; - name = "baloo-widgets-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/baloo-widgets-20.08.3.tar.xz"; + sha256 = "0ciidrsvwc3ppxhw7w5116q4lfbsvij9jsvyzm292pmjln2vikrg"; + name = "baloo-widgets-20.08.3.tar.xz"; }; }; blinken = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/blinken-20.08.2.tar.xz"; - sha256 = "c6e74033ab8ece83618c5cda0ab3cf327514b8e2e6b0e9daf484ce88f671a65e"; - name = "blinken-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/blinken-20.08.3.tar.xz"; + sha256 = "1gfw0w66nm3sx81bnr0p0yz1bhjj63lvd3cr86x3b2pny5rcw1da"; + name = "blinken-20.08.3.tar.xz"; }; }; bomber = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/bomber-20.08.2.tar.xz"; - sha256 = "27c226b31bcdbbda0c9e304e428ca7451614c397a038e830f8052c381dae7215"; - name = "bomber-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/bomber-20.08.3.tar.xz"; + sha256 = "1nw1a9cf0nqgk00hvzcqch3bl97lx6bih0wsax5q0z1kzwlz0kgr"; + name = "bomber-20.08.3.tar.xz"; }; }; bovo = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/bovo-20.08.2.tar.xz"; - sha256 = "936cab24a13900765f0c5a5afb6f155cb5a05bdb067f86b77e33af5f0e4c37d2"; - name = "bovo-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/bovo-20.08.3.tar.xz"; + sha256 = "06pbivyvfgjx6zkadvwfwnrg9vjy4rf52k2a74qjcnl2ms16sr1g"; + name = "bovo-20.08.3.tar.xz"; }; }; calendarsupport = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/calendarsupport-20.08.2.tar.xz"; - sha256 = "83bcdd36689f762363a95b688b9377a3335b4fd58ad1d5efad36ad2b0cf7cc10"; - name = "calendarsupport-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/calendarsupport-20.08.3.tar.xz"; + sha256 = "09w06n745764fs440nh0piy5sahfn50kh3zrljhgzadcij6165vd"; + name = "calendarsupport-20.08.3.tar.xz"; }; }; cantor = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/cantor-20.08.2.tar.xz"; - sha256 = "aca92b6e40a9e05282eae2b55f7cc6bf88612ffa9b3dde1a239648be8e5bdc59"; - name = "cantor-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/cantor-20.08.3.tar.xz"; + sha256 = "1njqycx0v3zq5mdcvfdfgxs8vgl01v80s27qgapsxxrgr9hgxbhl"; + name = "cantor-20.08.3.tar.xz"; }; }; cervisia = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/cervisia-20.08.2.tar.xz"; - sha256 = "b3444ecd1078b92fad9b00297496dd3d92366a9c0bb56cfa138f28cc15db1389"; - name = "cervisia-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/cervisia-20.08.3.tar.xz"; + sha256 = "1bsc72kxcmzx25408ngzqzj4a0168vqfr3a2gvmm6d8klbgpm3gv"; + name = "cervisia-20.08.3.tar.xz"; }; }; dolphin = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/dolphin-20.08.2.tar.xz"; - sha256 = "bd13574610fc2108b9b04249cff70ca99958fe57a42fbf260ed16e5e377071bc"; - name = "dolphin-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/dolphin-20.08.3.tar.xz"; + sha256 = "107n763qix95b1hgy86hddpj9x2clzhaiw8q8yjn9lzj1rz5facx"; + name = "dolphin-20.08.3.tar.xz"; }; }; dolphin-plugins = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/dolphin-plugins-20.08.2.tar.xz"; - sha256 = "7eabeb295ae2932958992bf7273afcb8164fbe90a2574064983fb2ecbc57eeaf"; - name = "dolphin-plugins-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/dolphin-plugins-20.08.3.tar.xz"; + sha256 = "0fmay0sycfj9s7zyxbldgcal5lj2psi0n9zrgq812s5qr4rb5c8c"; + name = "dolphin-plugins-20.08.3.tar.xz"; }; }; dragon = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/dragon-20.08.2.tar.xz"; - sha256 = "cf7cce288fdeb12a0c86739741c6b901859e9b36d8fc9e7478c46f53cc74dd6c"; - name = "dragon-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/dragon-20.08.3.tar.xz"; + sha256 = "14qsb7h8w58i9jsh1gpcj8pwjgy7y3mqfy51hca82yrd82z5b9rn"; + name = "dragon-20.08.3.tar.xz"; }; }; elisa = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/elisa-20.08.2.tar.xz"; - sha256 = "6c04377dfd5e82b2b67b3a43cc3ffd3b206f24ab75c3fe18298ec80876dcc268"; - name = "elisa-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/elisa-20.08.3.tar.xz"; + sha256 = "0893nbj0jsapnfd09cp961k2m7lq6sjvzynpa4hfp9ch1jbc912c"; + name = "elisa-20.08.3.tar.xz"; }; }; eventviews = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/eventviews-20.08.2.tar.xz"; - sha256 = "ecac9ac6e6a6ed835b28048d8bfc09bac9a1e7a57c5dd0eba6f4360301b32af9"; - name = "eventviews-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/eventviews-20.08.3.tar.xz"; + sha256 = "158j5g3i0wbbxpg9jmr50dvbpms4c4vgcnpmn3b3vfbszzwsy6rg"; + name = "eventviews-20.08.3.tar.xz"; }; }; ffmpegthumbs = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ffmpegthumbs-20.08.2.tar.xz"; - sha256 = "af5b3de86487d3ddccda34c5165a34427ef97fe1090108781eb38babc101740f"; - name = "ffmpegthumbs-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ffmpegthumbs-20.08.3.tar.xz"; + sha256 = "186hpq949r3xx2a64nqjy4pcn67d6kdvsy80zr238lgb9qqcqygi"; + name = "ffmpegthumbs-20.08.3.tar.xz"; }; }; filelight = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/filelight-20.08.2.tar.xz"; - sha256 = "65f5f90d56d3449722647286324f8aae54754ec2a46c9aaa2e3bad92bae3433e"; - name = "filelight-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/filelight-20.08.3.tar.xz"; + sha256 = "1jljsnjdhnqphh1kanj6hi2rswq3i9119iah1j33jy5pladcyf5q"; + name = "filelight-20.08.3.tar.xz"; }; }; granatier = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/granatier-20.08.2.tar.xz"; - sha256 = "bb79b84b485bb194bf4edaa833e7705ec9fc0275301c70df78498b872de9ee57"; - name = "granatier-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/granatier-20.08.3.tar.xz"; + sha256 = "195bc2rcz11v76c0cwa9mb7rfixjn7sb0a52wrzz0sf9624m0rcs"; + name = "granatier-20.08.3.tar.xz"; }; }; grantlee-editor = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/grantlee-editor-20.08.2.tar.xz"; - sha256 = "353b2c58d169e8b3c91367a7ce8939ede39c289036e3617da019ae1045a81c7b"; - name = "grantlee-editor-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/grantlee-editor-20.08.3.tar.xz"; + sha256 = "1k2rdicd68jdk3pazyn3q0vj99n0vnkpzkrnacpymkjy85cjgrv9"; + name = "grantlee-editor-20.08.3.tar.xz"; }; }; grantleetheme = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/grantleetheme-20.08.2.tar.xz"; - sha256 = "8cb4d2f698cf7f44bf70322669809f07900021f215175c8db120abc0f2debf62"; - name = "grantleetheme-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/grantleetheme-20.08.3.tar.xz"; + sha256 = "07b7v5v2vyz3vyj1jjzryzaak8bbqg8a2caxwb6s7cwhy19y6my5"; + name = "grantleetheme-20.08.3.tar.xz"; }; }; gwenview = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/gwenview-20.08.2.tar.xz"; - sha256 = "580df49eb6852db4b1229f0326372dc7da7a08140d552da59a62ece08b03cc9d"; - name = "gwenview-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/gwenview-20.08.3.tar.xz"; + sha256 = "09mwp3z97hgd7c15w0hz8k61qn5icb81rj27nxzy877ph1xnrixc"; + name = "gwenview-20.08.3.tar.xz"; }; }; incidenceeditor = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/incidenceeditor-20.08.2.tar.xz"; - sha256 = "e9c24390b5951ef9f504a4dc432fea52ed7487288c424f073446e6c07e70c69a"; - name = "incidenceeditor-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/incidenceeditor-20.08.3.tar.xz"; + sha256 = "15kkl8z1nig9qyxfrq54c3sqh1xs1lzlbm5rphj34y0yb8dbn8kx"; + name = "incidenceeditor-20.08.3.tar.xz"; }; }; juk = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/juk-20.08.2.tar.xz"; - sha256 = "b19f59ad8c80c4c335469fbddde6db92112e286b1699964eab39a3d826c7ec60"; - name = "juk-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/juk-20.08.3.tar.xz"; + sha256 = "1jvj0r4grm55cnck4apnh4fh44mv1ycm0pprrkh57iwj1dlf7kif"; + name = "juk-20.08.3.tar.xz"; }; }; k3b = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/k3b-20.08.2.tar.xz"; - sha256 = "6370be558e93fed4605b7870b1d7ea324713c5a52370eab9c05d85fc3b76acd5"; - name = "k3b-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/k3b-20.08.3.tar.xz"; + sha256 = "0qg2p6gdg0clgv6qab5vr0i451m9hqqmpwq335w8m9nwb6wg30cx"; + name = "k3b-20.08.3.tar.xz"; }; }; kaccounts-integration = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kaccounts-integration-20.08.2.tar.xz"; - sha256 = "6678ee7d394b69a37e6a220a6cba3804f999997da5803da4bab1d8f329ff30fe"; - name = "kaccounts-integration-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kaccounts-integration-20.08.3.tar.xz"; + sha256 = "006cglw5ai274a1r5jbk109mdrvw8v6fp3cdyi1kbrq7lp3123a2"; + name = "kaccounts-integration-20.08.3.tar.xz"; }; }; kaccounts-providers = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kaccounts-providers-20.08.2.tar.xz"; - sha256 = "c719d7840ab118ff591e75e12869afc3118e5cdeb5c0415eba5b1f6993664c90"; - name = "kaccounts-providers-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kaccounts-providers-20.08.3.tar.xz"; + sha256 = "1vpv366bzj0sk7dqyxrq06a8ixgaaqi125mf2gmybvhj5yvrn3fp"; + name = "kaccounts-providers-20.08.3.tar.xz"; }; }; kaddressbook = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kaddressbook-20.08.2.tar.xz"; - sha256 = "8d2e5849dd8878806e8566ce43c139633c37f027f677603600c8acc0d0d41198"; - name = "kaddressbook-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kaddressbook-20.08.3.tar.xz"; + sha256 = "00mia1jh2c5rcnsyx3wizjdg65pvpazfb8ayppjzv4rrc2nhr9nn"; + name = "kaddressbook-20.08.3.tar.xz"; }; }; kajongg = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kajongg-20.08.2.tar.xz"; - sha256 = "1eb534ac6d1d3ca14b73bd6e5b626b988acafc30b168f54d48a493adc715ecde"; - name = "kajongg-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kajongg-20.08.3.tar.xz"; + sha256 = "0wr045xqm1q03vy0jbgrldpdc9k3lgnhd39yhi574la367ayffpa"; + name = "kajongg-20.08.3.tar.xz"; }; }; kalarm = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kalarm-20.08.2.tar.xz"; - sha256 = "e783c041ac4b162cf5254e37e53854835eda6c61ef3ae2358466000a8650a4da"; - name = "kalarm-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kalarm-20.08.3.tar.xz"; + sha256 = "0194rapyvnpmhkba0rgclrai1ywx9anr8dski0j6z1yg0kgav8df"; + name = "kalarm-20.08.3.tar.xz"; }; }; kalarmcal = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kalarmcal-20.08.2.tar.xz"; - sha256 = "0398a37f412eb03b5cbf2488ce7e0c38a069f1806bda4ea9bfce4fc67311a9a6"; - name = "kalarmcal-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kalarmcal-20.08.3.tar.xz"; + sha256 = "1i9hi3y4j2pmdmlj13kl13vfplxrh8w23fxz0mmawi1wn533fp66"; + name = "kalarmcal-20.08.3.tar.xz"; }; }; kalgebra = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kalgebra-20.08.2.tar.xz"; - sha256 = "c934dc8d92917e31c17efa5b64dbec4795439a5f26762e2f214b49028bfe264d"; - name = "kalgebra-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kalgebra-20.08.3.tar.xz"; + sha256 = "0k7miil5ilrw68j6xl9g6cf3zfw7g52h0gfwd5j248nx2nxr150c"; + name = "kalgebra-20.08.3.tar.xz"; }; }; kalzium = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kalzium-20.08.2.tar.xz"; - sha256 = "474f74cbb478d3f5f69b5785711ed969ac15d5e92aee5308c6118a9d12611016"; - name = "kalzium-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kalzium-20.08.3.tar.xz"; + sha256 = "1r80bnpdrybsdwcblpj7cg32dv90l79gs0i42gpm6inilfr3vp5n"; + name = "kalzium-20.08.3.tar.xz"; }; }; kamera = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kamera-20.08.2.tar.xz"; - sha256 = "ba28cab34267ce203b4b70f4a2c2b6a75849aec83dd2d73f6903894c5c125fdf"; - name = "kamera-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kamera-20.08.3.tar.xz"; + sha256 = "06fwxdgbyywdrf1r0w17w3chfr0s8jhqswz9chmdfds9f2bb45cr"; + name = "kamera-20.08.3.tar.xz"; }; }; kamoso = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kamoso-20.08.2.tar.xz"; - sha256 = "e7d0af2781ff077261886a1683aff1d518a17f9b6d83f84fa95a7633a00f1516"; - name = "kamoso-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kamoso-20.08.3.tar.xz"; + sha256 = "0zhl3va65ajz3hdggg0jvvgvj14s461pjw9adw9bnfcbs4jzkl2y"; + name = "kamoso-20.08.3.tar.xz"; }; }; kanagram = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kanagram-20.08.2.tar.xz"; - sha256 = "3f3f961aa847f26ac875104e82b8e7e73bbc049f20460117f849df91ba9b42e2"; - name = "kanagram-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kanagram-20.08.3.tar.xz"; + sha256 = "1cyx8yq03xaw34ic69ghz9gafk8l30qinp0kkp9a1wh4pry8rnxf"; + name = "kanagram-20.08.3.tar.xz"; }; }; kapman = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kapman-20.08.2.tar.xz"; - sha256 = "932bd697f2ca0e44af6be983dae3e13df9435642b91f0e1ebba7fd50291c2cbd"; - name = "kapman-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kapman-20.08.3.tar.xz"; + sha256 = "0nh1f0v026rib5ahj1mhvs99yabrgdq71bis465vfpm4favnirzy"; + name = "kapman-20.08.3.tar.xz"; }; }; kapptemplate = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kapptemplate-20.08.2.tar.xz"; - sha256 = "3bda6d9f6127e19357f071ca6f9f05890c35a6aaf86e54bce39381f0045b6b0c"; - name = "kapptemplate-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kapptemplate-20.08.3.tar.xz"; + sha256 = "1r98ym9sazjzknxfw58hjiyxhmi49fyhrdn02v0b8fm711vprxab"; + name = "kapptemplate-20.08.3.tar.xz"; }; }; kate = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kate-20.08.2.tar.xz"; - sha256 = "718e8230edfa16f93f54380c4e214a0f25f8a398fe74ad23f12b7dcffae419d0"; - name = "kate-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kate-20.08.3.tar.xz"; + sha256 = "1m7ximinknc0l9zqv4p25ybn6zysz59l4vvdb9xkhjp53aqskdz9"; + name = "kate-20.08.3.tar.xz"; }; }; katomic = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/katomic-20.08.2.tar.xz"; - sha256 = "bb94e81cb1122b57d2601f701bc51ff8fa27ac07a5de34e5c49928d50d46ed85"; - name = "katomic-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/katomic-20.08.3.tar.xz"; + sha256 = "1v31x6371r9ccvc676vq5dlpkp4829xf0r37dnvdxlfm22mgsdnk"; + name = "katomic-20.08.3.tar.xz"; }; }; kbackup = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kbackup-20.08.2.tar.xz"; - sha256 = "bb97dd10a64c42ae80c9c87442d3a06d3c18f4f5997bd3b6d1460dec655b3e0a"; - name = "kbackup-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kbackup-20.08.3.tar.xz"; + sha256 = "1sayzvj46ckhn5zgp7qi6zmrmd7bjh5mg05mcl5pfwv4dcvxkrng"; + name = "kbackup-20.08.3.tar.xz"; }; }; kblackbox = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kblackbox-20.08.2.tar.xz"; - sha256 = "714a8749a49d1a7938b74372138ae3e5bafef50de61207e63a6d2c60b6bfded2"; - name = "kblackbox-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kblackbox-20.08.3.tar.xz"; + sha256 = "0vka2pswbza1z8f97nhxcjrczx4w1x0qyjpzs9ycn9a14smqpsrh"; + name = "kblackbox-20.08.3.tar.xz"; }; }; kblocks = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kblocks-20.08.2.tar.xz"; - sha256 = "c82f8b6e722308a236d0057028d644ebf8105c9c902d799bc2fb3e1c1ff7c188"; - name = "kblocks-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kblocks-20.08.3.tar.xz"; + sha256 = "1jc063xn6dphydf49kv0izzy0nv06dr412xxjvkp7vccwv9qd5gf"; + name = "kblocks-20.08.3.tar.xz"; }; }; kbounce = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kbounce-20.08.2.tar.xz"; - sha256 = "371fbaf7c1faeacf1c74441ec1a58f1ced862f741e67123d2eb105f1d4f9b8e2"; - name = "kbounce-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kbounce-20.08.3.tar.xz"; + sha256 = "0863vlirljvf101mdv6jxprj9axs4cikrnld3wvxrcqw3w2dy6wy"; + name = "kbounce-20.08.3.tar.xz"; }; }; kbreakout = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kbreakout-20.08.2.tar.xz"; - sha256 = "b58b9dd26eff3960bc664076ddf4d0c81c7dfd5380be1d058b86de2d3f55d2ef"; - name = "kbreakout-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kbreakout-20.08.3.tar.xz"; + sha256 = "14nd1dnbdyxv59y8iildhydhxgal38hvj7bk6544glwl8yalak8z"; + name = "kbreakout-20.08.3.tar.xz"; }; }; kbruch = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kbruch-20.08.2.tar.xz"; - sha256 = "54c5997a8d6405439448dd929bf16017c9e5db052b30c9bf144c656c6d8b9e0b"; - name = "kbruch-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kbruch-20.08.3.tar.xz"; + sha256 = "03s1hl4h8rsx0gn7wqfssi1ga4igx48jb47gpw6f9rfjm8f199vb"; + name = "kbruch-20.08.3.tar.xz"; }; }; kcachegrind = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kcachegrind-20.08.2.tar.xz"; - sha256 = "e6b84a323a21ae7975ccc07154bcdc6eef1bc92818b800cfc5d546ada7f0387c"; - name = "kcachegrind-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kcachegrind-20.08.3.tar.xz"; + sha256 = "17j06z9cpj5qhfbp1xgw4qmhi4jckf2i99c9brys4ifb3p0rkbrs"; + name = "kcachegrind-20.08.3.tar.xz"; }; }; kcalc = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kcalc-20.08.2.tar.xz"; - sha256 = "76b6c8e44c789090c0155f79878df8f27c96d2df4273443b0f05a42ec81902cf"; - name = "kcalc-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kcalc-20.08.3.tar.xz"; + sha256 = "1mk30fkv51w3fqlpkzgm1yj5sp98h26kkphplqkjva5v6s1jzmjy"; + name = "kcalc-20.08.3.tar.xz"; }; }; kcalutils = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kcalutils-20.08.2.tar.xz"; - sha256 = "fccae5166b627f654412344d0090000ecd270af54b0cedb8648e35af26369cae"; - name = "kcalutils-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kcalutils-20.08.3.tar.xz"; + sha256 = "1i2yh4gvdwlylj7f7p32g1z7lzh3p19rrbd96l1gqhy700f2whpw"; + name = "kcalutils-20.08.3.tar.xz"; }; }; kcharselect = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kcharselect-20.08.2.tar.xz"; - sha256 = "9438e723469b6bf0d87b23965c6d925800ff35b2cc2214a7eeb5fb41009489e0"; - name = "kcharselect-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kcharselect-20.08.3.tar.xz"; + sha256 = "1p6rijjfa2jk4vr0ivjn6p5qf2ys5kvhw0cwfyjs45ff7zg0s2ga"; + name = "kcharselect-20.08.3.tar.xz"; }; }; kcolorchooser = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kcolorchooser-20.08.2.tar.xz"; - sha256 = "f314c31932704e7136b5fff89efe95e84e4215f3902089f9d838411f0fbc0c72"; - name = "kcolorchooser-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kcolorchooser-20.08.3.tar.xz"; + sha256 = "1874qa04whiivyydxfcn0f1xch515ga1af4ym42zqz64j3kq7i47"; + name = "kcolorchooser-20.08.3.tar.xz"; }; }; kcron = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kcron-20.08.2.tar.xz"; - sha256 = "ce72bb7c48606b0611cfe46a545224cca131d34a4b678c86d9ac473071833f83"; - name = "kcron-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kcron-20.08.3.tar.xz"; + sha256 = "1piwssyg9fvah25gql6w0n8xf634f6gy475cz52gb1bl7rp72q6j"; + name = "kcron-20.08.3.tar.xz"; }; }; kdebugsettings = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdebugsettings-20.08.2.tar.xz"; - sha256 = "78502b1a52f9f81ff848e5b210b37a3a74da7c0032de2513f23c1d25cf801283"; - name = "kdebugsettings-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdebugsettings-20.08.3.tar.xz"; + sha256 = "11xnvr9qib3hnp48whsw659c724s2114p5dr3fswvhm3hkw1aky7"; + name = "kdebugsettings-20.08.3.tar.xz"; }; }; kdeconnect-kde = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdeconnect-kde-20.08.2.tar.xz"; - sha256 = "6d43e38620987de1ddcfdfa7d4e6e31ff383b806139ba02e69a99c3ddfb4ee67"; - name = "kdeconnect-kde-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdeconnect-kde-20.08.3.tar.xz"; + sha256 = "0x10ga81qlsahavmv356xzjxyds41y2b4v338rqcyqkxvfmxj01k"; + name = "kdeconnect-kde-20.08.3.tar.xz"; }; }; kde-dev-scripts = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kde-dev-scripts-20.08.2.tar.xz"; - sha256 = "ff1a819991903b09bef3637b579d215e087310e39b98a1a6928e15f193aec056"; - name = "kde-dev-scripts-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kde-dev-scripts-20.08.3.tar.xz"; + sha256 = "0x8ba4mlxx17vk674738xln2dy696b148fa3s87za4yb4jj9gc5n"; + name = "kde-dev-scripts-20.08.3.tar.xz"; }; }; kde-dev-utils = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kde-dev-utils-20.08.2.tar.xz"; - sha256 = "21a4a11e102cbbd9fed955720966d7be2f7a615f57c9bf1dfc94ce973d25ffc3"; - name = "kde-dev-utils-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kde-dev-utils-20.08.3.tar.xz"; + sha256 = "0k7zb1km89nnqfi2p1mhp6dvwkhmgbcgw89301acag34yy954dvn"; + name = "kde-dev-utils-20.08.3.tar.xz"; }; }; kdeedu-data = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdeedu-data-20.08.2.tar.xz"; - sha256 = "9030c39b92a7500254e8303ce246d2535cd66a203bb96b2670defd5288294ad1"; - name = "kdeedu-data-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdeedu-data-20.08.3.tar.xz"; + sha256 = "1k164h4n8r4yjlll5900fz764lr0qiy3q1fpcpkr8f1n7qs7f797"; + name = "kdeedu-data-20.08.3.tar.xz"; }; }; kdegraphics-mobipocket = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdegraphics-mobipocket-20.08.2.tar.xz"; - sha256 = "8972079756633abe8cbfaa39cdff9d56f89958861e6e418738311bcdc52771a5"; - name = "kdegraphics-mobipocket-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdegraphics-mobipocket-20.08.3.tar.xz"; + sha256 = "0ifxbwn7pmxr7y4ri617a303b27nqwqa418isgfrfk11jc4yyxhq"; + name = "kdegraphics-mobipocket-20.08.3.tar.xz"; }; }; kdegraphics-thumbnailers = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdegraphics-thumbnailers-20.08.2.tar.xz"; - sha256 = "977cf6c40ba00a8a391a951aab80c55d9615927a1ef4a7bb5eea2f6a83373532"; - name = "kdegraphics-thumbnailers-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdegraphics-thumbnailers-20.08.3.tar.xz"; + sha256 = "0mbzkw7pxcfmkpb8ivhahnxkkrkjhmbjqy2l9gqx35gp5855gmxf"; + name = "kdegraphics-thumbnailers-20.08.3.tar.xz"; }; }; kdenetwork-filesharing = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdenetwork-filesharing-20.08.2.tar.xz"; - sha256 = "f909ee8433baf906b6c23af4747d83ae3e151e213585abe01282213012228b3a"; - name = "kdenetwork-filesharing-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdenetwork-filesharing-20.08.3.tar.xz"; + sha256 = "0id19wmiivdrx10r1hwbwi7bx6g1v9g5lpbhlmfrapvy82ijfmbg"; + name = "kdenetwork-filesharing-20.08.3.tar.xz"; }; }; kdenlive = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdenlive-20.08.2.tar.xz"; - sha256 = "535df45a148f0f94271e045ef0c93575fded83da7a2b727aeaf90e61e1d7c418"; - name = "kdenlive-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdenlive-20.08.3.tar.xz"; + sha256 = "187d5khqq9ckmqp8amd7ghlvig1z97w2jzm9s4zsfhjzyqv3d3wz"; + name = "kdenlive-20.08.3.tar.xz"; }; }; kdepim-addons = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdepim-addons-20.08.2.tar.xz"; - sha256 = "f7ab0d9ee2b9351959199f8903c447c6cb82fd58d642b7039cd2b8e324038b01"; - name = "kdepim-addons-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdepim-addons-20.08.3.tar.xz"; + sha256 = "17m8pwiig46pc6x4ylvymb3b6c7xcm2df3vjma665kcir1dr0q7p"; + name = "kdepim-addons-20.08.3.tar.xz"; }; }; kdepim-apps-libs = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdepim-apps-libs-20.08.2.tar.xz"; - sha256 = "8c3ebdf7072d3a5a6ea2921697b28aa27e51ba43db152ea83a07b4b13c282434"; - name = "kdepim-apps-libs-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdepim-apps-libs-20.08.3.tar.xz"; + sha256 = "08iw1p9mv4jic7pk6skxc5anp7k46lhcdqxpq1i6wlhbrk6bpsvg"; + name = "kdepim-apps-libs-20.08.3.tar.xz"; }; }; kdepim-runtime = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdepim-runtime-20.08.2.tar.xz"; - sha256 = "3b475dfd394d5c09991eb4e1f0ddb3e2aa1f586ed75aa7961b159ef712d80132"; - name = "kdepim-runtime-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdepim-runtime-20.08.3.tar.xz"; + sha256 = "0zz2zwq3gr177vgkwz6b70q4n2ra4ym58f167pgvi9kxv3884fib"; + name = "kdepim-runtime-20.08.3.tar.xz"; }; }; kdesdk-kioslaves = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdesdk-kioslaves-20.08.2.tar.xz"; - sha256 = "5e79532675d717d906f6b43eea1cac20fe1513bcf497696251c00fe74e2f0f58"; - name = "kdesdk-kioslaves-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdesdk-kioslaves-20.08.3.tar.xz"; + sha256 = "1kwzms0qha058cm92d4f8pr89r3bqaqx5zfw6gz05s6lg892j5in"; + name = "kdesdk-kioslaves-20.08.3.tar.xz"; }; }; kdesdk-thumbnailers = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdesdk-thumbnailers-20.08.2.tar.xz"; - sha256 = "0b6809e2469d7057b6d674d5950fd4f6243a1d3d185452212522880c714c1c63"; - name = "kdesdk-thumbnailers-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdesdk-thumbnailers-20.08.3.tar.xz"; + sha256 = "10fc0agpvzpqdxqynd70vzya0g1nbdw0ylbnl9w35n9jhww42jff"; + name = "kdesdk-thumbnailers-20.08.3.tar.xz"; }; }; kdf = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdf-20.08.2.tar.xz"; - sha256 = "b33c043c18ae7b80b40e73c0a34759540724fa81815a6afa1e91e3ad44aec27e"; - name = "kdf-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdf-20.08.3.tar.xz"; + sha256 = "02k5nhsf1zzkx9cl3r2500pj2zfmvjhlfsb3smgpka6in7iivxyp"; + name = "kdf-20.08.3.tar.xz"; }; }; kdialog = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdialog-20.08.2.tar.xz"; - sha256 = "1bb808c2d01680e2396f282b798d9e22d2c1722f992c672eaf7451bf83a5d459"; - name = "kdialog-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdialog-20.08.3.tar.xz"; + sha256 = "0knl6176bjazjiacg1qqaldlqcjlb3bi829sliq1sdh4lzzwrbzk"; + name = "kdialog-20.08.3.tar.xz"; }; }; kdiamond = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kdiamond-20.08.2.tar.xz"; - sha256 = "7bfc2b24d86c663bff719156ba20cd36017f1df647ee6769b5101aa6ab3e3e21"; - name = "kdiamond-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kdiamond-20.08.3.tar.xz"; + sha256 = "0ls1kg3wank1al46knq12jilmp8gaa4rn7zbgflcrhgy5gw8l5px"; + name = "kdiamond-20.08.3.tar.xz"; }; }; keditbookmarks = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/keditbookmarks-20.08.2.tar.xz"; - sha256 = "87d72e78c907e7829a642364f3a49dd0f0dea0c76e7a5c524a67f957dca94b9b"; - name = "keditbookmarks-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/keditbookmarks-20.08.3.tar.xz"; + sha256 = "0m8ap5hvjgldj9hdk6shpkv8xylhhjla2xn1zs86pvj4la3zh4f8"; + name = "keditbookmarks-20.08.3.tar.xz"; }; }; kfind = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kfind-20.08.2.tar.xz"; - sha256 = "2381bbe7793a666fa9463aead1246dc4244409f68375f6d75e1423be15b42d74"; - name = "kfind-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kfind-20.08.3.tar.xz"; + sha256 = "10i5mw6q2parq5w7pi955kgfvdlw8hwis2p7r9vkvabjdk69nkdr"; + name = "kfind-20.08.3.tar.xz"; }; }; kfloppy = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kfloppy-20.08.2.tar.xz"; - sha256 = "7f624d03dc3dc5099ac1479148800043195fa6c0e3bb6d7efcb452a76e99e191"; - name = "kfloppy-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kfloppy-20.08.3.tar.xz"; + sha256 = "1cp0pwgldscc7va508gk43im3fv0lsxd5sbhpw8kxlzjlpbwlp8v"; + name = "kfloppy-20.08.3.tar.xz"; }; }; kfourinline = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kfourinline-20.08.2.tar.xz"; - sha256 = "aed2ecdb40b2e3d5452b183a1817216373d32a0aab4eff02f6c823a6f8d801eb"; - name = "kfourinline-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kfourinline-20.08.3.tar.xz"; + sha256 = "0h1n44dncr2siw447n7b0gkx3380vajvqjsgjvapkg7m7bmz7nsv"; + name = "kfourinline-20.08.3.tar.xz"; }; }; kgeography = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kgeography-20.08.2.tar.xz"; - sha256 = "82c4798f3184c77d0be63aeb5e86c84240c9cb0aa0e66ff57f92c0b5c3748f19"; - name = "kgeography-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kgeography-20.08.3.tar.xz"; + sha256 = "1mk5cip55chc8pmh8wfl7an5x076ywisr0i7isqcjaij2cv54283"; + name = "kgeography-20.08.3.tar.xz"; }; }; kget = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kget-20.08.2.tar.xz"; - sha256 = "42993095d6325e921b6ed36f4b0a2153ffd5d68cfa3e6d3ced2db09e2a6aabb8"; - name = "kget-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kget-20.08.3.tar.xz"; + sha256 = "144ydk8bbfirph464mkkvwpnynj465i2ynhm8n9d330kcrhnaxd0"; + name = "kget-20.08.3.tar.xz"; }; }; kgoldrunner = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kgoldrunner-20.08.2.tar.xz"; - sha256 = "4bbcfcf5cf810e0b1f78e1a88d222631c07401187fb327deaa5ab6658483d351"; - name = "kgoldrunner-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kgoldrunner-20.08.3.tar.xz"; + sha256 = "101cdl04wb6xbq95b51ax36570y9ahkcy5gccqsyvc307ij9yg7r"; + name = "kgoldrunner-20.08.3.tar.xz"; }; }; kgpg = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kgpg-20.08.2.tar.xz"; - sha256 = "fc4ec5c38c3bdb02a399f0eb1e75da356a523ada369d5410c2f4e7f5f14a508f"; - name = "kgpg-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kgpg-20.08.3.tar.xz"; + sha256 = "1ip21yal37yxg5i5sfy6lgfb3sz9lld0dwa7a1w4lbddf9w3akd6"; + name = "kgpg-20.08.3.tar.xz"; }; }; khangman = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/khangman-20.08.2.tar.xz"; - sha256 = "7ff30ecbab7c9e8f44b7e8c3887ec78a918c919ce902005aeb7fb969ac995b28"; - name = "khangman-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/khangman-20.08.3.tar.xz"; + sha256 = "1zwdd2gpjkld3vkawp0lj83il257ryxf8wpmbgzn1wz8sxxi01jj"; + name = "khangman-20.08.3.tar.xz"; }; }; khelpcenter = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/khelpcenter-20.08.2.tar.xz"; - sha256 = "36051a4352a05dd9b74b4e325c0e16e30d6bd8b48d6c3d13980b39a77aab4e2d"; - name = "khelpcenter-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/khelpcenter-20.08.3.tar.xz"; + sha256 = "1xan4awwgs08k7ksfy80rfcxqd6bi8i1fjdgy55hh7wshv76zf5r"; + name = "khelpcenter-20.08.3.tar.xz"; }; }; kidentitymanagement = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kidentitymanagement-20.08.2.tar.xz"; - sha256 = "17a1fd47d91289519cafb12c0d917b4775496ada447cb6f4ba56dc42446152ec"; - name = "kidentitymanagement-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kidentitymanagement-20.08.3.tar.xz"; + sha256 = "0vkydvf4yw3qlqrg9m1zdm6j0c1crxdvc7l24yls9fjbj957vbls"; + name = "kidentitymanagement-20.08.3.tar.xz"; }; }; kig = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kig-20.08.2.tar.xz"; - sha256 = "401832d384e47ea6daf310f7e823ae6b8a55bc117b7570bd4bf36261d01587f5"; - name = "kig-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kig-20.08.3.tar.xz"; + sha256 = "1dvizdfkvl7p7hr4xm4zh51lpr8qr3s5j5zz162s7arr7sws4w8h"; + name = "kig-20.08.3.tar.xz"; }; }; kigo = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kigo-20.08.2.tar.xz"; - sha256 = "b9e6edd2e35e57edb3d89bb76f1d7e4a9e7f8fb64644b58012543a367834aa60"; - name = "kigo-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kigo-20.08.3.tar.xz"; + sha256 = "0sx3klivzn8h96mpnbkiv2nbi2l6w0j6fclj7q3ql3cm81jh6n15"; + name = "kigo-20.08.3.tar.xz"; }; }; killbots = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/killbots-20.08.2.tar.xz"; - sha256 = "332ebd24be6ea62c8621aeaa5b200d6ebf03ae0198a06693b36b2c80cac89d95"; - name = "killbots-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/killbots-20.08.3.tar.xz"; + sha256 = "1j41my0brpqpvd8xibv39z4x4kmw1sqz7wy7ibhh0zir3jh64n83"; + name = "killbots-20.08.3.tar.xz"; }; }; kimagemapeditor = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kimagemapeditor-20.08.2.tar.xz"; - sha256 = "fd8272978a7c3a1d95b20a5ec57ccf00d740a8d6eb483f0a204d03669215309c"; - name = "kimagemapeditor-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kimagemapeditor-20.08.3.tar.xz"; + sha256 = "1m9mrksdl08ijmpmx3lhdysnm70mrnqz9rlbcn1h95p2sq0bk8cg"; + name = "kimagemapeditor-20.08.3.tar.xz"; }; }; kimap = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kimap-20.08.2.tar.xz"; - sha256 = "bda4f4b4e94481b70cec270655c0fd2888da51106d80c0388ae5c0dc5d36e092"; - name = "kimap-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kimap-20.08.3.tar.xz"; + sha256 = "16paglkqgnyzwjydhn02qw7zg0d4casir4bsfch15wdmqv389mrg"; + name = "kimap-20.08.3.tar.xz"; }; }; kio-extras = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kio-extras-20.08.2.tar.xz"; - sha256 = "9d4b9cb5a4002ad2127c5c5c4d25ff95d53de32ea08348e8dc40fe83d950076e"; - name = "kio-extras-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kio-extras-20.08.3.tar.xz"; + sha256 = "0i7k9asc97r9z4lfk5hyf7mcbx0za7j6v4dhqn43j5v4x2i0201c"; + name = "kio-extras-20.08.3.tar.xz"; }; }; kio-gdrive = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kio-gdrive-20.08.2.tar.xz"; - sha256 = "71047e9f8e5ad9317cc3dbf1de2d121f322b5d968d3685351ef0d2aabe2f46ca"; - name = "kio-gdrive-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kio-gdrive-20.08.3.tar.xz"; + sha256 = "0pp0nvsnfdm8vskw194qjfac4agnlsjm44w1704b5sqx6i27dafy"; + name = "kio-gdrive-20.08.3.tar.xz"; }; }; kipi-plugins = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kipi-plugins-20.08.2.tar.xz"; - sha256 = "89de8f75dd01e2130c1e651bd04717ce4d35768202ae3e825c93c75c8312e583"; - name = "kipi-plugins-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kipi-plugins-20.08.3.tar.xz"; + sha256 = "1pplhv8yjfl1ifx9ykf4w2lgma8jvshihmd5c5mz9liqk3lawq15"; + name = "kipi-plugins-20.08.3.tar.xz"; }; }; kirigami-gallery = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kirigami-gallery-20.08.2.tar.xz"; - sha256 = "0b4a5cec32bdfaef42b790f1d249d227c9daf56e0f3c1e302d33ccaa485c28e5"; - name = "kirigami-gallery-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kirigami-gallery-20.08.3.tar.xz"; + sha256 = "0l100ng8ai55s0vl8nkpq4vysy2nc6sk1dbisc2mp7br74ykyfp9"; + name = "kirigami-gallery-20.08.3.tar.xz"; }; }; kiriki = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kiriki-20.08.2.tar.xz"; - sha256 = "42081e39c045bd830c6a79938a83690ea5641aa9e5437645234441da2d29b053"; - name = "kiriki-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kiriki-20.08.3.tar.xz"; + sha256 = "1gddjii84cbz1dg8k0pnd3dyzar4lvj03j9v84vabggjjjbpir0f"; + name = "kiriki-20.08.3.tar.xz"; }; }; kiten = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kiten-20.08.2.tar.xz"; - sha256 = "a7285d5880611da2202d0e3f8f2bf860f275932d3da54ff7aecc793225f7ad7d"; - name = "kiten-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kiten-20.08.3.tar.xz"; + sha256 = "0n9mq86gcl6s2f45l8lbp4gsdj356l78xjkdvm14f6qlh81vsqlc"; + name = "kiten-20.08.3.tar.xz"; }; }; kitinerary = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kitinerary-20.08.2.tar.xz"; - sha256 = "69d8b5f64774860e5098c1dbfb06d274da4379c04383c4f0f0e412481c48fa27"; - name = "kitinerary-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kitinerary-20.08.3.tar.xz"; + sha256 = "169pmy5fyjkbya8r2kdkd9s83sim0jplc3lx8bv2xh6r10mvzgm6"; + name = "kitinerary-20.08.3.tar.xz"; }; }; kjumpingcube = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kjumpingcube-20.08.2.tar.xz"; - sha256 = "0edba227e24b8aeda4e75bc6c25ad25b50ac624b5319a64ce20d6c3f7691a48a"; - name = "kjumpingcube-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kjumpingcube-20.08.3.tar.xz"; + sha256 = "19246jwwd686x8i0jrvz2c8mpkf6qhm7rnskzin59dqzr76xrpgz"; + name = "kjumpingcube-20.08.3.tar.xz"; }; }; kldap = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kldap-20.08.2.tar.xz"; - sha256 = "dfc8bd59d837766e741b33cf8486256b7bd5ffc33ff2aab240d47b4766ec8489"; - name = "kldap-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kldap-20.08.3.tar.xz"; + sha256 = "1ihaazsnb9r30m2qhzcp2ns9f5fs7l3agsc9f9wxi4cyw73bq0n3"; + name = "kldap-20.08.3.tar.xz"; }; }; kleopatra = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kleopatra-20.08.2.tar.xz"; - sha256 = "70ffa2d1549b6b4674a9cd92052174002d81fb236cfbf872187c6e3616191ba2"; - name = "kleopatra-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kleopatra-20.08.3.tar.xz"; + sha256 = "1r879g7hw3c5cww58z0kvqj47pgzbiq1vpgxz847smrylqajcpyi"; + name = "kleopatra-20.08.3.tar.xz"; }; }; klettres = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/klettres-20.08.2.tar.xz"; - sha256 = "9cef7dea479d27644e4812157d4cf3993dc3ee84b847377a17cec305a03a3156"; - name = "klettres-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/klettres-20.08.3.tar.xz"; + sha256 = "0irc0f7vjznlsczan30zzprbnvgnbg19vabr97cw9rkkfa28azx9"; + name = "klettres-20.08.3.tar.xz"; }; }; klickety = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/klickety-20.08.2.tar.xz"; - sha256 = "90665c5aeda52f55af8dcf3936e557ba431d9e48c6be361eaeb82117b6213a33"; - name = "klickety-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/klickety-20.08.3.tar.xz"; + sha256 = "1qsm9grmy0bnalpdghg48xi68zzk6ysmg6n0d74ldmmnirv3r0zf"; + name = "klickety-20.08.3.tar.xz"; }; }; klines = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/klines-20.08.2.tar.xz"; - sha256 = "8e8b897cdc3c31fada1dd2635da211def507f47c8062c6458f559283ae470edb"; - name = "klines-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/klines-20.08.3.tar.xz"; + sha256 = "1l95ph1sjp3r1q065k3rj18lm36krl7bh41zgqh021p692ywc48c"; + name = "klines-20.08.3.tar.xz"; }; }; kmag = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmag-20.08.2.tar.xz"; - sha256 = "8e933e8ebbf0ab956e2a251312e3d4e027848dc2f2b4e8a7c7250b8fdf10ca05"; - name = "kmag-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmag-20.08.3.tar.xz"; + sha256 = "0y44gz3qn91vl840xz25l5kc5jj82k5qqxkgsvvyld2s99rif84k"; + name = "kmag-20.08.3.tar.xz"; }; }; kmahjongg = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmahjongg-20.08.2.tar.xz"; - sha256 = "98e34794560a062bd22950acc583b77a6f8d1d28aceb863604f5a6c98c6cc80d"; - name = "kmahjongg-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmahjongg-20.08.3.tar.xz"; + sha256 = "0wgp9m7xzf5ysmrrnyng4p4jypvzfnqkyw62gknl0qhk531cgq3h"; + name = "kmahjongg-20.08.3.tar.xz"; }; }; kmail = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmail-20.08.2.tar.xz"; - sha256 = "ff179b89836236174cd587ce4ea2a4320e58345d45582cb157186cfbb01e58f2"; - name = "kmail-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmail-20.08.3.tar.xz"; + sha256 = "0g59s7wl0n4bp8kw559rdlamlqxl47qvwfms9kr9ign35rvs0ghg"; + name = "kmail-20.08.3.tar.xz"; }; }; kmail-account-wizard = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmail-account-wizard-20.08.2.tar.xz"; - sha256 = "7cdb9b60b1a646f0c5c0d0e7dfbe357a9f66bb305afbccbb4b421ee6f6941df8"; - name = "kmail-account-wizard-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmail-account-wizard-20.08.3.tar.xz"; + sha256 = "0vama5a02dfgxrl4iz88lbi8dvq3d9b055xil770d90pwp0sljcz"; + name = "kmail-account-wizard-20.08.3.tar.xz"; }; }; kmailtransport = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmailtransport-20.08.2.tar.xz"; - sha256 = "8b12836b1ca0243819680cba73c809c491c5e7a8d1ea9d9dc23e7338aed69a0c"; - name = "kmailtransport-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmailtransport-20.08.3.tar.xz"; + sha256 = "07552qj3ngwvyss7f8cy87c0gmzc47agn54wk85qq0v1fwr73n6z"; + name = "kmailtransport-20.08.3.tar.xz"; }; }; kmbox = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmbox-20.08.2.tar.xz"; - sha256 = "4fa1ad98368130dcdc8ad71dba3084c489130b1e8fc4a2b119ffc6f56595ba73"; - name = "kmbox-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmbox-20.08.3.tar.xz"; + sha256 = "0ipmwcicn3qklybqy9v41lh7byn7j62ja8b0xf06z9nliwkk4b0b"; + name = "kmbox-20.08.3.tar.xz"; }; }; kmime = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmime-20.08.2.tar.xz"; - sha256 = "9f23e2814e62ae6c4a67fd3223315ef875776f9d098b4d11c7d06a726a725435"; - name = "kmime-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmime-20.08.3.tar.xz"; + sha256 = "1ndbx712vm4v0fi7p8j28d8z35h3bmsixc97z5r9dg03v1kzd36v"; + name = "kmime-20.08.3.tar.xz"; }; }; kmines = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmines-20.08.2.tar.xz"; - sha256 = "6b07a812497a665505b6b1e3a84ac0818f1a5e5757146cdbceec55e94bb41753"; - name = "kmines-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmines-20.08.3.tar.xz"; + sha256 = "1mn5hip3vnzmkk1hy14glsplp7f5pm56yv0d5mz25icfgw0xa6lp"; + name = "kmines-20.08.3.tar.xz"; }; }; kmix = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmix-20.08.2.tar.xz"; - sha256 = "73453f02a72384382fd7449215189e22b5e1600e9ef0c9cc910f3fddd09beb85"; - name = "kmix-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmix-20.08.3.tar.xz"; + sha256 = "00gm93faqmqx0hhkxi3k2pn6sq82k2f622vqgk7mwznkpg66mf4k"; + name = "kmix-20.08.3.tar.xz"; }; }; kmousetool = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmousetool-20.08.2.tar.xz"; - sha256 = "c1f70c172dc2ad7d937db5e6355522082f924ba45e7aac1bbb1c04e230f1d406"; - name = "kmousetool-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmousetool-20.08.3.tar.xz"; + sha256 = "09qznykysr42rzz5cmqvhvz91cr8dbzwjd73hwaib2lfs3c2cgbl"; + name = "kmousetool-20.08.3.tar.xz"; }; }; kmouth = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmouth-20.08.2.tar.xz"; - sha256 = "d206afecdbe5f063dfbf805956f475e95c7b0fd548fd5f1b4fd7376ea6747e96"; - name = "kmouth-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmouth-20.08.3.tar.xz"; + sha256 = "0ajhnl1sjllfb42nyafpirmlgcs6waqp8qxvgsz5dk5zkb8daqmr"; + name = "kmouth-20.08.3.tar.xz"; }; }; kmplot = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kmplot-20.08.2.tar.xz"; - sha256 = "c3bc34a2d1bf4620745009b49b6541a16ac64eb3d1e6cf1ba936b14aa5d02e2b"; - name = "kmplot-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kmplot-20.08.3.tar.xz"; + sha256 = "0cv7q1wmbb3fkf4s6ns4q1il5zr4q02b3xghpp661ma82d8jhjcy"; + name = "kmplot-20.08.3.tar.xz"; }; }; knavalbattle = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/knavalbattle-20.08.2.tar.xz"; - sha256 = "2cd91ee61193810eee62e47f38f590e81b03287083f31564e0ebfd893d339ac9"; - name = "knavalbattle-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/knavalbattle-20.08.3.tar.xz"; + sha256 = "1028i8zl5ynm3vvqajsms2hq8gmmjmjc5dc6r3jyh6r964vxq3nq"; + name = "knavalbattle-20.08.3.tar.xz"; }; }; knetwalk = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/knetwalk-20.08.2.tar.xz"; - sha256 = "4a97f4b1af463e5e50698e8ac089cf6933fb66f25dd9b0fae3f1b1a51cbca3c0"; - name = "knetwalk-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/knetwalk-20.08.3.tar.xz"; + sha256 = "13pspvi2p68irpbr3f2ck78qmvfl3vahm5qjw2fwhidhpindf9nl"; + name = "knetwalk-20.08.3.tar.xz"; }; }; knights = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/knights-20.08.2.tar.xz"; - sha256 = "b62dda6e8b5bb85cc814f7244e39806e38c266be1bf3090eb6de59c8141fc1d4"; - name = "knights-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/knights-20.08.3.tar.xz"; + sha256 = "0zqb87mr2x085hi3r9cvdrx2kvxmclh4ffi1ajcb8v1f79wiwzin"; + name = "knights-20.08.3.tar.xz"; }; }; knotes = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/knotes-20.08.2.tar.xz"; - sha256 = "1e61f2c8b5fe9075f07be16543e3a7310bf533b6c2446f162f7196b41e3e6ecb"; - name = "knotes-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/knotes-20.08.3.tar.xz"; + sha256 = "0ysw8js2s6njilg4v4vqrl1bzcmqvk42l68pzvyflr112zviqz28"; + name = "knotes-20.08.3.tar.xz"; }; }; kolf = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kolf-20.08.2.tar.xz"; - sha256 = "834c1c6cdc62e650c7b0d36db26387cc4ebe2bb4b2e8fa06c0bf461e3a1e8c64"; - name = "kolf-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kolf-20.08.3.tar.xz"; + sha256 = "1ywyny8iq2sxglsvpgw6p3w3w567k6cw6waywfcfy0lcnfarg1n0"; + name = "kolf-20.08.3.tar.xz"; }; }; kollision = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kollision-20.08.2.tar.xz"; - sha256 = "9b6829f49d9baa89596ef8649996724db72c3c8eb793b9b6afc80dc0d07c0421"; - name = "kollision-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kollision-20.08.3.tar.xz"; + sha256 = "1l8a32bni40jz5jna0ip9ggbx7zp1hhiw2mip7v8f6qc4arbknl8"; + name = "kollision-20.08.3.tar.xz"; }; }; kolourpaint = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kolourpaint-20.08.2.tar.xz"; - sha256 = "fbcd875a4a407d9b1e5a637d4947bacfb50f39e10af3327f30fdbb953528aae0"; - name = "kolourpaint-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kolourpaint-20.08.3.tar.xz"; + sha256 = "0d64gnnb553rxscr8710h5bx8ijxd87jrbix07k41y79i5x60irh"; + name = "kolourpaint-20.08.3.tar.xz"; }; }; kompare = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kompare-20.08.2.tar.xz"; - sha256 = "4e52cb2c9e35e90fe77bfb23bd10c1931c56b11e3fec06c215730d60c47e8550"; - name = "kompare-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kompare-20.08.3.tar.xz"; + sha256 = "0r9m2vcw9hbdkfdy24pfpqs2b5r0jyxh1ma2h66hfv4ycd470ilc"; + name = "kompare-20.08.3.tar.xz"; }; }; konqueror = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/konqueror-20.08.2.tar.xz"; - sha256 = "f0622aa67ad0028e28bd6129688aab8946fb49492f0b335f6624ab7d4ef239d7"; - name = "konqueror-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/konqueror-20.08.3.tar.xz"; + sha256 = "1ssjj83jcbcq8i7wx5zd12z7crh2zg6awbpy38maq3c7747nqz7k"; + name = "konqueror-20.08.3.tar.xz"; }; }; konquest = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/konquest-20.08.2.tar.xz"; - sha256 = "cf97a6961b15b39f5bcdf541e52c137f1d67d0fa5ee259922b4e762edc4491eb"; - name = "konquest-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/konquest-20.08.3.tar.xz"; + sha256 = "1wq0j02dzdah6yhx8r2cg191617hid9fs780yr317fprkwkgb8cb"; + name = "konquest-20.08.3.tar.xz"; }; }; konsole = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/konsole-20.08.2.tar.xz"; - sha256 = "af08ac7666f1ba7c407205f32aaaf015329621247502e80d8df4abe103148951"; - name = "konsole-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/konsole-20.08.3.tar.xz"; + sha256 = "0jjidy756x8n456qbm977a73l8229kk8i489jh52296k8pkh6yjx"; + name = "konsole-20.08.3.tar.xz"; }; }; kontact = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kontact-20.08.2.tar.xz"; - sha256 = "232d9880df74ce0c7697f08b53ef9512ac9c11c3b04142ba7ba4b95091cb5396"; - name = "kontact-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kontact-20.08.3.tar.xz"; + sha256 = "0qasgxvq7xps0zxk4hf2sizmy90mxyq70m2pq49pq17ij2pa9ynl"; + name = "kontact-20.08.3.tar.xz"; }; }; kontactinterface = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kontactinterface-20.08.2.tar.xz"; - sha256 = "72d53dbea9db0b1f5654e13c18b4da3d256c6b9d08dfe4581cdf73e3552d2a07"; - name = "kontactinterface-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kontactinterface-20.08.3.tar.xz"; + sha256 = "1ah2814js08sm49ykarqdw7z03w4fbym5cc4vwmzimcvh2bc78j3"; + name = "kontactinterface-20.08.3.tar.xz"; }; }; kopete = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kopete-20.08.2.tar.xz"; - sha256 = "05f5d6236d4c96b9ce7ba5f24f4e06d7263a78cac27368a7e6b3e5075d42fbb1"; - name = "kopete-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kopete-20.08.3.tar.xz"; + sha256 = "1lsab66k0xq1g0w0cxcpadmf9kkc09x8wwbv4i8y3aj2mn7849gh"; + name = "kopete-20.08.3.tar.xz"; }; }; korganizer = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/korganizer-20.08.2.tar.xz"; - sha256 = "4f719ec12c52fc313997a187439dc6888fd030a4a1b2357db000abc0a19527b2"; - name = "korganizer-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/korganizer-20.08.3.tar.xz"; + sha256 = "112h6vn2y9d3q3z62cwg3zrak3xgx9affibc9cvr6fzhp4z0x9ps"; + name = "korganizer-20.08.3.tar.xz"; }; }; kpat = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kpat-20.08.2.tar.xz"; - sha256 = "e4aaed4e876212a926a05d252dab9d01f240d829e383c6072e168a4f78e6d446"; - name = "kpat-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kpat-20.08.3.tar.xz"; + sha256 = "1id4b9jkphi8pp29gc2vb3n9f0g8kl9yy5v8cnyv3jq673aj0fs9"; + name = "kpat-20.08.3.tar.xz"; }; }; kpimtextedit = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kpimtextedit-20.08.2.tar.xz"; - sha256 = "2dfbcdd53669c812234346b4d31b61af9c510bb4cb0b9912decea8d3c4d406a6"; - name = "kpimtextedit-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kpimtextedit-20.08.3.tar.xz"; + sha256 = "1m4r5zbhbjvj3za78xfp3dibyf7mp9gan5ir5zd0k2p7adp3i652"; + name = "kpimtextedit-20.08.3.tar.xz"; }; }; kpkpass = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kpkpass-20.08.2.tar.xz"; - sha256 = "ed699c75128ef299f06d699c80c69ac9529fa044db6f18a39d54a5e70d85108c"; - name = "kpkpass-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kpkpass-20.08.3.tar.xz"; + sha256 = "0zw3xx5mi38za0xbvld97f5bqvwwgyz47kybyrdm7jrhvmmiiiis"; + name = "kpkpass-20.08.3.tar.xz"; }; }; kqtquickcharts = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kqtquickcharts-20.08.2.tar.xz"; - sha256 = "2ba593a65c143cb56a3030f7ee0cced2df7c7e9431cebf1ae93be51c68b4c3b4"; - name = "kqtquickcharts-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kqtquickcharts-20.08.3.tar.xz"; + sha256 = "0l7v8vrc7by0w0yshnh21jaqhspmhkvm5cd0hpay6jc9v2azkcf3"; + name = "kqtquickcharts-20.08.3.tar.xz"; }; }; krdc = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/krdc-20.08.2.tar.xz"; - sha256 = "52ddd68bdb1b356be341cf3bc5405cb965f4e4f3da8bf4b28bfb62c7db21ac5f"; - name = "krdc-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/krdc-20.08.3.tar.xz"; + sha256 = "1g9lxdldljh5a2s4g7g9b98lij168l99ah0vr6nvdl53n35pfr8n"; + name = "krdc-20.08.3.tar.xz"; }; }; kreversi = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kreversi-20.08.2.tar.xz"; - sha256 = "22824dca9c8f07145a6fd9b7386867d8a8efff0fda6752f377230381a1cc71c2"; - name = "kreversi-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kreversi-20.08.3.tar.xz"; + sha256 = "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi"; + name = "kreversi-20.08.3.tar.xz"; }; }; krfb = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/krfb-20.08.2.tar.xz"; - sha256 = "5e90fb4f3bcf2c48b15ec33634d61464323ab5ce1c156a499f089d862dd041d4"; - name = "krfb-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/krfb-20.08.3.tar.xz"; + sha256 = "13nypbcdhh53wq72w59z5q46a09g1w4yyi1pmsjwa8r7jnk8cafk"; + name = "krfb-20.08.3.tar.xz"; }; }; kross-interpreters = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kross-interpreters-20.08.2.tar.xz"; - sha256 = "82da0302d2d292e86fa924c8bd1d4effb21f763c42c57affaddeff4777c43951"; - name = "kross-interpreters-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kross-interpreters-20.08.3.tar.xz"; + sha256 = "0mr5vpbbcv66s6dyrrypy1ai6ba744z8cn4r0iwys35p6am075qj"; + name = "kross-interpreters-20.08.3.tar.xz"; }; }; kruler = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kruler-20.08.2.tar.xz"; - sha256 = "ede45d9cdf1b514fb20ed3a97877689ec75904438b94735706eb638ba01ca778"; - name = "kruler-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kruler-20.08.3.tar.xz"; + sha256 = "1vhl8acccdqfdj7lci8r2mig9qf1js4f8v7b4fqljpnc3gdg8749"; + name = "kruler-20.08.3.tar.xz"; }; }; kshisen = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kshisen-20.08.2.tar.xz"; - sha256 = "d11030b101a409324661adf664d4298f34cc320abff80dba72d112cc3ae2d25d"; - name = "kshisen-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kshisen-20.08.3.tar.xz"; + sha256 = "1vy8qh8s60a4ikyw3sh4cbr3p3fk35d4dwdqc263gn4skyrsb1l9"; + name = "kshisen-20.08.3.tar.xz"; }; }; ksirk = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ksirk-20.08.2.tar.xz"; - sha256 = "b7766f0976b3cc112d4c599d91c07d321829c9b1e8ef34d3d21ec4964026854a"; - name = "ksirk-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ksirk-20.08.3.tar.xz"; + sha256 = "1kxc1b05r8x6pvaiwpvjpgrr88qkm5qs4d3s1ym8rki60c724qpl"; + name = "ksirk-20.08.3.tar.xz"; }; }; ksmtp = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ksmtp-20.08.2.tar.xz"; - sha256 = "5f51e0c025b192719709ae763feeac94df893007b62b5a69b7b95ae9f2fdd8ee"; - name = "ksmtp-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ksmtp-20.08.3.tar.xz"; + sha256 = "1p9clzvmsym2fijwvs3s0zqx57bk82mlks52j5ni3il6lvklaayc"; + name = "ksmtp-20.08.3.tar.xz"; }; }; ksnakeduel = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ksnakeduel-20.08.2.tar.xz"; - sha256 = "b6f0f51f8fad795cd134f9426b1f1ba8ccceb72e304e8ba55e60af471ad282cc"; - name = "ksnakeduel-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ksnakeduel-20.08.3.tar.xz"; + sha256 = "03ydbwknn20gadjpwcw0z8zw777hgj8j10w4gvp2dwpb07rdg1pn"; + name = "ksnakeduel-20.08.3.tar.xz"; }; }; kspaceduel = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kspaceduel-20.08.2.tar.xz"; - sha256 = "62b9526c031662c049aa90b06ed3e5e2ce8ae774f271e1f29430f23c1f6cd787"; - name = "kspaceduel-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kspaceduel-20.08.3.tar.xz"; + sha256 = "1ii3lnxd11d3ihl8j1abh9qn9q0qq8ra9hbrwjs5df2kk36bnirj"; + name = "kspaceduel-20.08.3.tar.xz"; }; }; ksquares = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ksquares-20.08.2.tar.xz"; - sha256 = "e1f9fdfa9a4a8348a65e66d48b7389784a1db6c8799cea453d6da3a2a57aca59"; - name = "ksquares-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ksquares-20.08.3.tar.xz"; + sha256 = "1ch7lbylzb9ngdzvpzqq5f30gkm2l4rzk6iqa8xm53rawr7jjqcy"; + name = "ksquares-20.08.3.tar.xz"; }; }; ksudoku = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ksudoku-20.08.2.tar.xz"; - sha256 = "6fed393f734eb27d6c36ad7516bf29ff648d319f08d9f8bdc17a8030842d8e33"; - name = "ksudoku-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ksudoku-20.08.3.tar.xz"; + sha256 = "0hnqbd3krxi3zwj8p4n9ydhwfwhw8wljhjdfv0llv0nhj1wb89p9"; + name = "ksudoku-20.08.3.tar.xz"; }; }; ksystemlog = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ksystemlog-20.08.2.tar.xz"; - sha256 = "63c6a520b63f148de2e3996250a2fef22e1a3ce18e744a699ae21de96a2c4e53"; - name = "ksystemlog-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ksystemlog-20.08.3.tar.xz"; + sha256 = "11fc2mn4hkcibpxp7s2gihpp05yix7ws84a0bm6vjiqlidmrk192"; + name = "ksystemlog-20.08.3.tar.xz"; }; }; kteatime = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kteatime-20.08.2.tar.xz"; - sha256 = "d8e69fdb124e8689c72e4b9fe39226cc49b1ca990478fbb68e02b37f0cd861ac"; - name = "kteatime-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kteatime-20.08.3.tar.xz"; + sha256 = "1vj738s2a7nnrvxi847mdmn1vg79kh9k8gqaflcwnvyxanf6n4f7"; + name = "kteatime-20.08.3.tar.xz"; }; }; ktimer = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktimer-20.08.2.tar.xz"; - sha256 = "69293b7296643c6543d0646d14f9c75479f29f129924258957a407b77539a4c2"; - name = "ktimer-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktimer-20.08.3.tar.xz"; + sha256 = "1rc1z93s24b7p2ixr4xbpg0sj8ls90gzfijwj9f8b0lrwd905ysv"; + name = "ktimer-20.08.3.tar.xz"; }; }; ktnef = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktnef-20.08.2.tar.xz"; - sha256 = "ab73736e386c2b52a14fb56f1184479ed1c83c0571e9e8518d2b94b1dcd2e47d"; - name = "ktnef-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktnef-20.08.3.tar.xz"; + sha256 = "1lj93sqyi522k91jiyf7d26vx5sgn5njhyaf8plsfz5rj82dw1m4"; + name = "ktnef-20.08.3.tar.xz"; }; }; ktouch = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktouch-20.08.2.tar.xz"; - sha256 = "1b073a92343c9a2c772cfaac4e9fa7b6e85750586e3a57da413e33cdba34b5f4"; - name = "ktouch-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktouch-20.08.3.tar.xz"; + sha256 = "1ssxd7f75866rn5k192bnm016d8674q13ibcgmaxqsmr7wqkyd39"; + name = "ktouch-20.08.3.tar.xz"; }; }; ktp-accounts-kcm = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-accounts-kcm-20.08.2.tar.xz"; - sha256 = "df709ee612ff4c71a43197762b8a9d296b5a43f6e0afe4d9c8d0bd88eef81465"; - name = "ktp-accounts-kcm-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-accounts-kcm-20.08.3.tar.xz"; + sha256 = "0039svbzx7fphyk6cw4hb8k4h7l6q31pbwvp6pvls450rycz8i8y"; + name = "ktp-accounts-kcm-20.08.3.tar.xz"; }; }; ktp-approver = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-approver-20.08.2.tar.xz"; - sha256 = "054db02db679d0a4600632700cdd57cae539159a0a8f01f479ea337d33d8a6bd"; - name = "ktp-approver-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-approver-20.08.3.tar.xz"; + sha256 = "1kqsdw7vkcd0ka98y2r7qz7dp5hsrr2m8k1xlh3gpj7fdxpla2bh"; + name = "ktp-approver-20.08.3.tar.xz"; }; }; ktp-auth-handler = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-auth-handler-20.08.2.tar.xz"; - sha256 = "a61557efa800d42fd8ed14efdb09d43310212976d737a4fd5272f502bacbc371"; - name = "ktp-auth-handler-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-auth-handler-20.08.3.tar.xz"; + sha256 = "0wbhg458ysipwma8sygimasq71sbrzmx3vwqi51ai8y5hwrx04j4"; + name = "ktp-auth-handler-20.08.3.tar.xz"; }; }; ktp-call-ui = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-call-ui-20.08.2.tar.xz"; - sha256 = "ecd38d8b9f24cf620b8c9c1935328af3142199c6aa87e69c734e43096e492ac5"; - name = "ktp-call-ui-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-call-ui-20.08.3.tar.xz"; + sha256 = "1fh8bz9kc6f8v28x12xp3vw19swgcq07zyjzhd6qcnwf1bv6gl7i"; + name = "ktp-call-ui-20.08.3.tar.xz"; }; }; ktp-common-internals = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-common-internals-20.08.2.tar.xz"; - sha256 = "807fcd6f9c415a0799057435f997e143e9584a94577f9afaa7fcc6a4197e7cb0"; - name = "ktp-common-internals-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-common-internals-20.08.3.tar.xz"; + sha256 = "193yx4g1fwlwysy5scb7m24wqmvwmfyyb9sv7arw7zn5czlg480z"; + name = "ktp-common-internals-20.08.3.tar.xz"; }; }; ktp-contact-list = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-contact-list-20.08.2.tar.xz"; - sha256 = "214d73532dc855a8a4b68730adf5cbd046aae89f2ee2ad5d9a4c25b4eff6acb0"; - name = "ktp-contact-list-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-contact-list-20.08.3.tar.xz"; + sha256 = "0093z17r1xqlb1zlgxfayrnrkyl8zmnnasfd8i97dx712wmbbxxa"; + name = "ktp-contact-list-20.08.3.tar.xz"; }; }; ktp-contact-runner = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-contact-runner-20.08.2.tar.xz"; - sha256 = "8e40e4ab7ce2c1c382b109a15f88f5e1c7d147c76ed36ca05ef6d9f3f58d3d45"; - name = "ktp-contact-runner-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-contact-runner-20.08.3.tar.xz"; + sha256 = "063jylnq3gm0s0jh1xs6b591a161sb6gdi840l40mqlhhg7i8x55"; + name = "ktp-contact-runner-20.08.3.tar.xz"; }; }; ktp-desktop-applets = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-desktop-applets-20.08.2.tar.xz"; - sha256 = "b0884360be80f89dee3852b023055220e3cdab2f422cc3812eda31169fba6298"; - name = "ktp-desktop-applets-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-desktop-applets-20.08.3.tar.xz"; + sha256 = "1i69qzfa455phjnd5ycflyggcbq7ycn2cc7a3ni5195isjzq6r6s"; + name = "ktp-desktop-applets-20.08.3.tar.xz"; }; }; ktp-filetransfer-handler = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-filetransfer-handler-20.08.2.tar.xz"; - sha256 = "c2ec5fd2a5746dd8ce1371c503c51feee206d8dfe7ca8cdaa71b8e925636a97c"; - name = "ktp-filetransfer-handler-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-filetransfer-handler-20.08.3.tar.xz"; + sha256 = "0a26ziacl3fkd0a0h1579jnwjzjlsz0zymj9k4da4sb60zad5y72"; + name = "ktp-filetransfer-handler-20.08.3.tar.xz"; }; }; ktp-kded-module = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-kded-module-20.08.2.tar.xz"; - sha256 = "307285b2d4e04c244691a6f2a285aec8ada26e0b01eb1fdbf2bc1da57b05828a"; - name = "ktp-kded-module-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-kded-module-20.08.3.tar.xz"; + sha256 = "105vh6b7a0v02arksbwxn30slpcg11cpvb7dqmvf041iyr13sqsv"; + name = "ktp-kded-module-20.08.3.tar.xz"; }; }; ktp-send-file = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-send-file-20.08.2.tar.xz"; - sha256 = "6c3fb09112d439ce2f0db3acdbc766e8a914d4dc7cbb6ab709922f8e95f2f0e1"; - name = "ktp-send-file-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-send-file-20.08.3.tar.xz"; + sha256 = "08pp3029jplc6rcbav40cgy787gn3jjl312gbgvnwzglxaqvcg4b"; + name = "ktp-send-file-20.08.3.tar.xz"; }; }; ktp-text-ui = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktp-text-ui-20.08.2.tar.xz"; - sha256 = "0f10612e08bc1ee04fb0a538337d760d7b79b5dac37bb58275998d16dbb5415c"; - name = "ktp-text-ui-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktp-text-ui-20.08.3.tar.xz"; + sha256 = "1anxl9wa5ndyi9r9w0kpivx8nv1xpx28xjvkdplkc75cc1wl88sw"; + name = "ktp-text-ui-20.08.3.tar.xz"; }; }; ktuberling = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/ktuberling-20.08.2.tar.xz"; - sha256 = "f9e4a0de3b92d015f8e7b862badf4bbf11b3ce2727aa607384a009247e7b7fad"; - name = "ktuberling-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/ktuberling-20.08.3.tar.xz"; + sha256 = "0q6ynmn6w5q65a77fq8n9vxqswrimln22b1zfgxmb2i3qwnhkrmz"; + name = "ktuberling-20.08.3.tar.xz"; }; }; kturtle = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kturtle-20.08.2.tar.xz"; - sha256 = "ca9bf47b2ec34744492f218c922b10d613b19fbbd2c75b6ddba157eef21337c7"; - name = "kturtle-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kturtle-20.08.3.tar.xz"; + sha256 = "0riv76vwvz94zixqhhwkxw8sz2r2xqai39yh9hr31d28q9rza384"; + name = "kturtle-20.08.3.tar.xz"; }; }; kubrick = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kubrick-20.08.2.tar.xz"; - sha256 = "02fed26a7246feffd668fbda939893295557c0571da64fdf195db93474653224"; - name = "kubrick-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kubrick-20.08.3.tar.xz"; + sha256 = "03k73gr33dr3va69vc70fsfcdwkqz70bg87yk2l2j33x8wsgl4wx"; + name = "kubrick-20.08.3.tar.xz"; }; }; kwalletmanager = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kwalletmanager-20.08.2.tar.xz"; - sha256 = "7950e250c5351a9b8e3b36165fa2003baa044bb2d3553a32360000a322bddad8"; - name = "kwalletmanager-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kwalletmanager-20.08.3.tar.xz"; + sha256 = "1l07vxl2x3jl8553rbvr3p0k3rc95nmrw4vhxxynl3102xshrg5i"; + name = "kwalletmanager-20.08.3.tar.xz"; }; }; kwave = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kwave-20.08.2.tar.xz"; - sha256 = "6e15a67022ef96f07b9825139cc7aaacbc6f60729570c31ce6cb25184602b434"; - name = "kwave-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kwave-20.08.3.tar.xz"; + sha256 = "0zk8ik03qcc6y0vhpih8sk2jpkxwxalmqmaan2767k9h92grdpc8"; + name = "kwave-20.08.3.tar.xz"; }; }; kwordquiz = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/kwordquiz-20.08.2.tar.xz"; - sha256 = "57aa012f3aad128579f067668db1344306e2e23d6a89b47d413d6eee0da0e238"; - name = "kwordquiz-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/kwordquiz-20.08.3.tar.xz"; + sha256 = "1kiqk3xyd0l7kqdxqjqs8mw4drcdbdri9xxi5gcav57ndcinknqb"; + name = "kwordquiz-20.08.3.tar.xz"; }; }; libgravatar = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libgravatar-20.08.2.tar.xz"; - sha256 = "4c0a2eb073ef42a26813b93bd76aaa9e26a040a966329e6e3cf371d7de1e55f7"; - name = "libgravatar-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libgravatar-20.08.3.tar.xz"; + sha256 = "09dvx2rb1j7q4r0gkbhz0vjk8ya3njqprpjqdhwcq7xwc2j9h0hr"; + name = "libgravatar-20.08.3.tar.xz"; }; }; libkcddb = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkcddb-20.08.2.tar.xz"; - sha256 = "545cf54ac454845c524ba7cd7ec289ac952fa1ce2bbae01411ba71c66a5ed08a"; - name = "libkcddb-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkcddb-20.08.3.tar.xz"; + sha256 = "0r36hs79hmq0znsds0d04lj7ffs6l2d866kyn1z1fdwr9b3crirg"; + name = "libkcddb-20.08.3.tar.xz"; }; }; libkcompactdisc = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkcompactdisc-20.08.2.tar.xz"; - sha256 = "37534f67af69775d6f786917920d2810a5d20f28df57e1a17aee9a7b30bbe302"; - name = "libkcompactdisc-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkcompactdisc-20.08.3.tar.xz"; + sha256 = "1nglk3kbx5czqla3cnpnf1fk71pf2cl9h6rgb40ak1xw4z31d456"; + name = "libkcompactdisc-20.08.3.tar.xz"; }; }; libkdcraw = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkdcraw-20.08.2.tar.xz"; - sha256 = "6fbf1a5ca5a439fabb01648cde4b57e1f3de2372b7f3b56ccae03f653490f1b2"; - name = "libkdcraw-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkdcraw-20.08.3.tar.xz"; + sha256 = "1806i99qsrmixdg5b0hyi8h55fk00q6wxsnrblbwcmsb268jddp7"; + name = "libkdcraw-20.08.3.tar.xz"; }; }; libkdegames = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkdegames-20.08.2.tar.xz"; - sha256 = "d9f0ab87dc4671a55ad8d2b7d3a54cbc444201c11ebae436e0107fe7067fb983"; - name = "libkdegames-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkdegames-20.08.3.tar.xz"; + sha256 = "1ccbcwwqb53bgqlr1rq9plpw21mipxp8rsi1f7l0p1jzpw054p08"; + name = "libkdegames-20.08.3.tar.xz"; }; }; libkdepim = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkdepim-20.08.2.tar.xz"; - sha256 = "3558c9af95c22bb4ce0ceeec483fada9e8e9f27de4ac34ffe44a4eb3b6d21101"; - name = "libkdepim-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkdepim-20.08.3.tar.xz"; + sha256 = "1v77g02v5sdqprh8psx5xpjgf8v91il60ca59yivm5jvc3hdf3f6"; + name = "libkdepim-20.08.3.tar.xz"; }; }; libkeduvocdocument = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkeduvocdocument-20.08.2.tar.xz"; - sha256 = "ef8e0b359e3cf1b3303da3795add1ced405d230f51895abe10d5a7989be03923"; - name = "libkeduvocdocument-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkeduvocdocument-20.08.3.tar.xz"; + sha256 = "0ghkx6x5sn5fl934ybhl32knwv9zky0n1vkjw2w93lpms45xmw76"; + name = "libkeduvocdocument-20.08.3.tar.xz"; }; }; libkexiv2 = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkexiv2-20.08.2.tar.xz"; - sha256 = "793c4d11bb1b60beca7b25a2427650b3f358364c55be022dfd4a7ccfd889578d"; - name = "libkexiv2-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkexiv2-20.08.3.tar.xz"; + sha256 = "1lh3947w6xgzl2r1wm6m4kd478q6bv89f0c3c38ldv30imfw7rfl"; + name = "libkexiv2-20.08.3.tar.xz"; }; }; libkgapi = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkgapi-20.08.2.tar.xz"; - sha256 = "f3fb015e8b8ac92c138e8a59e8e8b9333500e0ea314180cc1ad14e31248312df"; - name = "libkgapi-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkgapi-20.08.3.tar.xz"; + sha256 = "1kmgf9v9rvb67l7aw5xsx7v44l4pz8rl6p09lk26irq7gd4k68la"; + name = "libkgapi-20.08.3.tar.xz"; }; }; libkgeomap = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkgeomap-20.08.2.tar.xz"; - sha256 = "7149095aa0df4e3a184bb2a6fb8322e27e3a34eb3bc40cf370a09b21fb2a6ea0"; - name = "libkgeomap-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkgeomap-20.08.3.tar.xz"; + sha256 = "14ipksxnvgk2s1sw7a70153iy9aik9mf4i7k8y3pzdr3l3155ayk"; + name = "libkgeomap-20.08.3.tar.xz"; }; }; libkipi = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkipi-20.08.2.tar.xz"; - sha256 = "87ffa30b23779313a94953afe57d1b19515c3a2f311a2dea6449c9d96b09e5b1"; - name = "libkipi-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkipi-20.08.3.tar.xz"; + sha256 = "1b5qby7xm926qnzrf1zpb89fwx1a2syhqnznmdjxifj499p1jqjb"; + name = "libkipi-20.08.3.tar.xz"; }; }; libkleo = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkleo-20.08.2.tar.xz"; - sha256 = "34537b35e22cef85650ae6f9bf197518bb5a59e9614d6d86ba86f085fddd97c4"; - name = "libkleo-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkleo-20.08.3.tar.xz"; + sha256 = "1d6dal4qnrikg6ma2ird4b2sdivqqkkhamvd3s1srcxppc3aiq79"; + name = "libkleo-20.08.3.tar.xz"; }; }; libkmahjongg = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkmahjongg-20.08.2.tar.xz"; - sha256 = "032ac6d9e96cd9156f5153c01f881d0e442fda9de90398df320846095ba2c40a"; - name = "libkmahjongg-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkmahjongg-20.08.3.tar.xz"; + sha256 = "0xabp1vzbzs52m3bb9nzm1d9md1n4j4pr13izn6nv28ja7477nnm"; + name = "libkmahjongg-20.08.3.tar.xz"; }; }; libkomparediff2 = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libkomparediff2-20.08.2.tar.xz"; - sha256 = "91b0b72d5c4e2ddd863636cca299660bfbb5b7a55773cbc51000fe9c1ca91a98"; - name = "libkomparediff2-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libkomparediff2-20.08.3.tar.xz"; + sha256 = "0nk0jkf0jwaz1yqzzp44c6xyjgw42gclkcvw8w61w1f8sdl40wb8"; + name = "libkomparediff2-20.08.3.tar.xz"; }; }; libksane = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libksane-20.08.2.tar.xz"; - sha256 = "21bb577d78e020281dfc6c993ab7fe286d648e72c851e45463a32969fbb35aa6"; - name = "libksane-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libksane-20.08.3.tar.xz"; + sha256 = "0d2cnmvk16g1vnx9jd7jvp3bpw07ss54khmhqip8iskkvcfll9j0"; + name = "libksane-20.08.3.tar.xz"; }; }; libksieve = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/libksieve-20.08.2.tar.xz"; - sha256 = "589e4dc27d1d91d8c16879fa99aab45f3847a74e3e9357e3e037503e5515ee2e"; - name = "libksieve-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/libksieve-20.08.3.tar.xz"; + sha256 = "0bhpdqynazssql2iivvpb9l8npa441345gcn59fc0va6barl9sam"; + name = "libksieve-20.08.3.tar.xz"; }; }; lokalize = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/lokalize-20.08.2.tar.xz"; - sha256 = "c11616bc02763fb1f3b1abf0b2ba70d0c6c550435c94ff25c5096f9a90375e23"; - name = "lokalize-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/lokalize-20.08.3.tar.xz"; + sha256 = "0iab8sd1qh7h0zna7lc3v43z6rcmxba9v4nynhl5miiac4r6ddr8"; + name = "lokalize-20.08.3.tar.xz"; }; }; lskat = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/lskat-20.08.2.tar.xz"; - sha256 = "78f152f7af46345f65c3800f9c591fb204e917595c1f803c9c15148ef39c42b8"; - name = "lskat-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/lskat-20.08.3.tar.xz"; + sha256 = "1rcmh592w5gd5b69czfxycypidj74y2d91cw92rccariadz9vnjz"; + name = "lskat-20.08.3.tar.xz"; }; }; mailcommon = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/mailcommon-20.08.2.tar.xz"; - sha256 = "a4170ab9ff7680fb26c61474f42d5424716f4e91c1a5e9275cc1222491c9564d"; - name = "mailcommon-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/mailcommon-20.08.3.tar.xz"; + sha256 = "0bhs60cz4qcrqkmw2sm6cd2laq8lzj9vcwi8kjqkajsidh342wdv"; + name = "mailcommon-20.08.3.tar.xz"; }; }; mailimporter = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/mailimporter-20.08.2.tar.xz"; - sha256 = "a255b60378c1cf77e517919d072cb44bd8c25e8ed8f07429763bb7915b3cc711"; - name = "mailimporter-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/mailimporter-20.08.3.tar.xz"; + sha256 = "0w6yfgqx0adlkwx32vmb23kl6n50737jiabmad3pnhqw8rv41h80"; + name = "mailimporter-20.08.3.tar.xz"; }; }; marble = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/marble-20.08.2.tar.xz"; - sha256 = "f44ac10de33dc31ce1cb99635131fe2c7bf3f60f09204b2061f81042a725475c"; - name = "marble-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/marble-20.08.3.tar.xz"; + sha256 = "1xpxgy724z97k063fdk0l3mrl8i6nvnhj35b4987jqji76i92ffb"; + name = "marble-20.08.3.tar.xz"; }; }; mbox-importer = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/mbox-importer-20.08.2.tar.xz"; - sha256 = "3b3bee33683c534974255616f3b2f3baebf85363b2c24bbee9cc195ddf35ca9a"; - name = "mbox-importer-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/mbox-importer-20.08.3.tar.xz"; + sha256 = "1qh0f93df228cqlcqdwc7g6im3g0gkfmzir3ccsmb5iv0ygvjl6f"; + name = "mbox-importer-20.08.3.tar.xz"; }; }; messagelib = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/messagelib-20.08.2.tar.xz"; - sha256 = "5cf3a3f2b6473e60a7c2af10aa4eb1cfba25a4786132ee87b657b0dafb9f5028"; - name = "messagelib-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/messagelib-20.08.3.tar.xz"; + sha256 = "16amni6qrq96h8jr313gc7k9frwr20d4pk9y2i61a1xm2w3xsqd4"; + name = "messagelib-20.08.3.tar.xz"; }; }; minuet = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/minuet-20.08.2.tar.xz"; - sha256 = "24383168e2a0b7b319ecb37e2b1f3b039ad790a7e0f49385657f049565f1ef84"; - name = "minuet-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/minuet-20.08.3.tar.xz"; + sha256 = "1l45g7labnyz0pkwcfhjl5a3ypr7cy3bsshr06ab85364yjwazvi"; + name = "minuet-20.08.3.tar.xz"; }; }; okular = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/okular-20.08.2.tar.xz"; - sha256 = "6f1885ed8050a55bb2cbf05089b452f555852e003ec7fe89fe472c0dbc92e65b"; - name = "okular-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/okular-20.08.3.tar.xz"; + sha256 = "1q59ikcwsfgjc0202daingxv15iarnzba6szdncznzcafd6hhk9z"; + name = "okular-20.08.3.tar.xz"; }; }; palapeli = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/palapeli-20.08.2.tar.xz"; - sha256 = "a31b0db2f3e77eac8f527d26f8ed0400fe5bcdb3a3970b925f14886bd1bcd63e"; - name = "palapeli-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/palapeli-20.08.3.tar.xz"; + sha256 = "107z3izfznrq7g5aqb5a7r8a4ibaia90g334d7wwvd7prm7hdgfp"; + name = "palapeli-20.08.3.tar.xz"; }; }; parley = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/parley-20.08.2.tar.xz"; - sha256 = "cf2f00925730d8baec66d422f058e4b3e979678e79c57898ceffd8650720bda6"; - name = "parley-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/parley-20.08.3.tar.xz"; + sha256 = "0wli09zkk5z50y1gzp5wc9k056xjaadlq97j09lf6lqyg6kb56ya"; + name = "parley-20.08.3.tar.xz"; }; }; picmi = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/picmi-20.08.2.tar.xz"; - sha256 = "35f2bf3d8375618f97aee01c8f2421521b2cd5c11d7b14fc9a376026d74c82a5"; - name = "picmi-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/picmi-20.08.3.tar.xz"; + sha256 = "1lkpazsi9dyb2y9q5bk56d80x7x035rf4hdap25i8qfj3ilykv3w"; + name = "picmi-20.08.3.tar.xz"; }; }; pimcommon = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/pimcommon-20.08.2.tar.xz"; - sha256 = "cba9e66153d36debe3f046363af7ff40a4ba263f33bfe20c7ec10b5bf9183deb"; - name = "pimcommon-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/pimcommon-20.08.3.tar.xz"; + sha256 = "0mpl7li2y5xjzk4hdb85d1x7cz15cicd91c1krlw74q7pbrjinlq"; + name = "pimcommon-20.08.3.tar.xz"; }; }; pim-data-exporter = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/pim-data-exporter-20.08.2.tar.xz"; - sha256 = "54b09a3f763004c805cc0dce8ab2e665116b7ef29419f22ad413aa250dcb4ac0"; - name = "pim-data-exporter-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/pim-data-exporter-20.08.3.tar.xz"; + sha256 = "0f08c16d3730fbdsbrwlr9w5c4l9xcmd1bdbv5m38h5r2ddlkvzr"; + name = "pim-data-exporter-20.08.3.tar.xz"; }; }; pim-sieve-editor = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/pim-sieve-editor-20.08.2.tar.xz"; - sha256 = "e8c590a0fddc5292172115b11fb75c5f847347079100617dbf321875642d7098"; - name = "pim-sieve-editor-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/pim-sieve-editor-20.08.3.tar.xz"; + sha256 = "1falzw2a2v912fdzlyljsw9rcy1whrn9ys9ccrskkpvjn8y444x4"; + name = "pim-sieve-editor-20.08.3.tar.xz"; }; }; poxml = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/poxml-20.08.2.tar.xz"; - sha256 = "67d260349489e92ebce20253f9a3ccde5bb75eb13eb4d1a08a86c18c82e4a2a9"; - name = "poxml-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/poxml-20.08.3.tar.xz"; + sha256 = "0gzg3vbsjrfhs1jg59g7b3gf3b4qajiffkb94njkz8v1f0fadlxp"; + name = "poxml-20.08.3.tar.xz"; }; }; print-manager = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/print-manager-20.08.2.tar.xz"; - sha256 = "de21f8c428198b906f4ae438d6ced8d707b12c15578409c2aa2f7b2f73feb990"; - name = "print-manager-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/print-manager-20.08.3.tar.xz"; + sha256 = "18nl9gpmzz4g9fqzyvbh858nxz23b2vyi505qacqvcrz13r0l78z"; + name = "print-manager-20.08.3.tar.xz"; }; }; rocs = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/rocs-20.08.2.tar.xz"; - sha256 = "2d8efd62b89dd36033bb3d818c82fee67e6efa2d2bb98dda0d4eab13baaee485"; - name = "rocs-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/rocs-20.08.3.tar.xz"; + sha256 = "0bd9x7kh2s4z79ff9byd3ly7k040c574zwrrgi8sq21yd531hxhj"; + name = "rocs-20.08.3.tar.xz"; }; }; signon-kwallet-extension = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/signon-kwallet-extension-20.08.2.tar.xz"; - sha256 = "a271f4d09511171dcf1ebcdaf0b7205f9ee6a75b20ef0801f36d136f7b4a70dd"; - name = "signon-kwallet-extension-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/signon-kwallet-extension-20.08.3.tar.xz"; + sha256 = "1s0syq9aw2q34k1wxrpjqqi12xay1h0vc4s2d8l184hzzg8qq71i"; + name = "signon-kwallet-extension-20.08.3.tar.xz"; }; }; spectacle = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/spectacle-20.08.2.tar.xz"; - sha256 = "9a467ea3b05981d588d39573cca375636b825ad8cab8a36ce48dbbc12425ab0d"; - name = "spectacle-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/spectacle-20.08.3.tar.xz"; + sha256 = "16dwbsk9hik7gmz9s4x78hibz4x9d1fpx8x2i2giry5hwzknfcw4"; + name = "spectacle-20.08.3.tar.xz"; }; }; step = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/step-20.08.2.tar.xz"; - sha256 = "a52e4b6f281ba1a7afd4ab3ac7307080464147c4052ee222399135fe61ac7958"; - name = "step-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/step-20.08.3.tar.xz"; + sha256 = "05ljsmgpra1az64yddy8idi46cv3afaf2v4n7d5j81a8vvlz7fj1"; + name = "step-20.08.3.tar.xz"; }; }; svgpart = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/svgpart-20.08.2.tar.xz"; - sha256 = "3a46b5bd9acf5372f73b602d155517f0dff47f3337bd8a46a580aae7480dd771"; - name = "svgpart-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/svgpart-20.08.3.tar.xz"; + sha256 = "0wwq576dblqmfknr0qs8kskw7nar6hah95fqicdn97xdy4nvzhc6"; + name = "svgpart-20.08.3.tar.xz"; }; }; sweeper = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/sweeper-20.08.2.tar.xz"; - sha256 = "0c255ef15c1e32eb561b26f5b73a6c154730be583efbc5ee713aaed17de14091"; - name = "sweeper-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/sweeper-20.08.3.tar.xz"; + sha256 = "0i4zvbljdzkj47vh8kizam7vsc9k7mvf8dqd2j6ixr4p0cqvw5a8"; + name = "sweeper-20.08.3.tar.xz"; }; }; umbrello = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/umbrello-20.08.2.tar.xz"; - sha256 = "0357b44646c750253e3e7ee323b9e49e854c4c8cdf340eb5a11b2d42edfc4cd7"; - name = "umbrello-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/umbrello-20.08.3.tar.xz"; + sha256 = "1hh5gyggb4f3pjip8dfvx00hi83gj65c92jgzkzahj7p35mkplgl"; + name = "umbrello-20.08.3.tar.xz"; }; }; yakuake = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/yakuake-20.08.2.tar.xz"; - sha256 = "8a0aa3a97a9fdc781887a6cb6480cba5079cf8aacd3345b63f5eb6be4d91665a"; - name = "yakuake-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/yakuake-20.08.3.tar.xz"; + sha256 = "05zd2xm5vgrgz0bxbkh1mpiknlqzpzk5jb74lnd5x7wn5b80ngv0"; + name = "yakuake-20.08.3.tar.xz"; }; }; zeroconf-ioslave = { - version = "20.08.2"; + version = "20.08.3"; src = fetchurl { - url = "${mirror}/stable/release-service/20.08.2/src/zeroconf-ioslave-20.08.2.tar.xz"; - sha256 = "0ad34f8361ee3ecd669e396265135b534239994d3bec5e9e6a43b7b7bf5c04e4"; - name = "zeroconf-ioslave-20.08.2.tar.xz"; + url = "${mirror}/stable/release-service/20.08.3/src/zeroconf-ioslave-20.08.3.tar.xz"; + sha256 = "1afga0liiy9n98kb0gmxzbb6ckhdgbrdc4ig1x9pwp98wr1fzmcg"; + name = "zeroconf-ioslave-20.08.3.tar.xz"; }; }; } From 4aa5c8141d24ae23521bfdb5e63ba36050c12eb5 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 24 Dec 2020 09:29:36 -0600 Subject: [PATCH 085/162] kdeconnect-kde: remove obsolete patch --- pkgs/applications/kde/kdeconnect-kde.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/applications/kde/kdeconnect-kde.nix b/pkgs/applications/kde/kdeconnect-kde.nix index 83e54d1fa80..da2d1db5c79 100644 --- a/pkgs/applications/kde/kdeconnect-kde.nix +++ b/pkgs/applications/kde/kdeconnect-kde.nix @@ -28,14 +28,6 @@ mkDerivation { name = "kdeconnect-kde"; - patches = [ - # https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/328 - (fetchpatch { - url = "https://invent.kde.org/network/kdeconnect-kde/-/commit/6101ef3ad07d865958d58a3d2736f5536f1c5719.diff"; - sha256 = "17mr7k13226vzcgxlmfs6q2mdc5j7vwp4iri9apmh6xlf6r591ac"; - }) - ]; - buildInputs = [ kcmutils kconfigwidgets From 3ade46172db7ce3498ff080857e970d320a4ea85 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 24 Dec 2020 15:11:20 -0600 Subject: [PATCH 086/162] kaddressbook: patch for Qt 5.15.2 --- pkgs/applications/kde/kaddressbook.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix index b4b0450e78b..de4f1f5aa82 100644 --- a/pkgs/applications/kde/kaddressbook.nix +++ b/pkgs/applications/kde/kaddressbook.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, kdepimTeam, + mkDerivation, lib, kdepimTeam, fetchpatch, extra-cmake-modules, kdoctools, akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion, kcrash, kdbusaddons, kdepim-apps-libs, ki18n, kontactinterface, kparts, @@ -13,6 +13,13 @@ mkDerivation { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; }; + patches = [ + # Patch for Qt 5.15.2 until version 20.12.0 + (fetchpatch { + url = "https://invent.kde.org/pim/kaddressbook/-/commit/8aee8d40ae2a1c920d3520163d550d3b49720226.patch"; + sha256 = "sha256:0dsy119cd5w9khiwgk6fb7xnjzmj94rfphf327k331lf15zq4853"; + }) + ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ akonadi akonadi-search grantlee grantleetheme kcmutils kcompletion kcrash From 672e363795a0ea868b523e78fdbcc1fceae54178 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 24 Dec 2020 16:24:57 -0600 Subject: [PATCH 087/162] calendarsupport: patch for Qt 5.15.2 --- pkgs/applications/kde/calendarsupport.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/kde/calendarsupport.nix b/pkgs/applications/kde/calendarsupport.nix index 1537bd25d55..0364291994f 100644 --- a/pkgs/applications/kde/calendarsupport.nix +++ b/pkgs/applications/kde/calendarsupport.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, kdepimTeam, + mkDerivation, lib, kdepimTeam, fetchpatch, extra-cmake-modules, kdoctools, akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils, kdepim-apps-libs, kholidays, kidentitymanagement, kmime, pimcommon, qttools, @@ -11,6 +11,13 @@ mkDerivation { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; }; + patches = [ + # Patch for Qt 5.15.2 until version 20.12.0 + (fetchpatch { + url = "https://invent.kde.org/pim/calendarsupport/-/commit/b4193facb223bd5b73a65318dec8ced51b66adf7.patch"; + sha256 = "sha256:1da11rqbxxrl06ld3avc41p064arz4n6w5nxq8r008v8ws3s64dy"; + }) + ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ akonadi akonadi-mime akonadi-notes kcalutils kdepim-apps-libs kholidays pimcommon qttools From 8851c97ae9c1e28f7c3a24917d172ce520c7ed27 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 24 Dec 2020 17:05:07 -0600 Subject: [PATCH 088/162] kdeApplications: fix derivation names --- pkgs/applications/kde/akonadi-calendar.nix | 2 +- pkgs/applications/kde/akonadi-contacts.nix | 2 +- pkgs/applications/kde/akonadi-import-wizard.nix | 2 +- pkgs/applications/kde/akonadi-mime.nix | 2 +- pkgs/applications/kde/akonadi-notes.nix | 2 +- pkgs/applications/kde/akonadi-search.nix | 2 +- pkgs/applications/kde/akonadi/default.nix | 2 +- pkgs/applications/kde/akonadiconsole.nix | 2 +- pkgs/applications/kde/akregator.nix | 2 +- pkgs/applications/kde/ark/default.nix | 2 +- pkgs/applications/kde/baloo-widgets.nix | 2 +- pkgs/applications/kde/bomber.nix | 2 +- pkgs/applications/kde/bovo.nix | 2 +- pkgs/applications/kde/calendarsupport.nix | 2 +- pkgs/applications/kde/default.nix | 8 +++----- pkgs/applications/kde/dolphin-plugins.nix | 2 +- pkgs/applications/kde/dolphin.nix | 2 +- pkgs/applications/kde/dragon.nix | 2 +- pkgs/applications/kde/elisa.nix | 2 +- pkgs/applications/kde/eventviews.nix | 2 +- pkgs/applications/kde/ffmpegthumbs.nix | 2 +- pkgs/applications/kde/filelight.nix | 2 +- pkgs/applications/kde/granatier.nix | 2 +- pkgs/applications/kde/grantleetheme/default.nix | 2 +- pkgs/applications/kde/gwenview.nix | 2 +- pkgs/applications/kde/incidenceeditor.nix | 2 +- pkgs/applications/kde/k3b.nix | 2 +- pkgs/applications/kde/kaddressbook.nix | 2 +- pkgs/applications/kde/kalarm.nix | 2 +- pkgs/applications/kde/kalarmcal.nix | 2 +- pkgs/applications/kde/kalzium.nix | 2 +- pkgs/applications/kde/kapman.nix | 2 +- pkgs/applications/kde/kapptemplate.nix | 2 +- pkgs/applications/kde/kate.nix | 2 +- pkgs/applications/kde/katomic.nix | 2 +- pkgs/applications/kde/kblackbox.nix | 2 +- pkgs/applications/kde/kblocks.nix | 2 +- pkgs/applications/kde/kbounce.nix | 2 +- pkgs/applications/kde/kbreakout.nix | 2 +- pkgs/applications/kde/kcachegrind.nix | 2 +- pkgs/applications/kde/kcalc.nix | 2 +- pkgs/applications/kde/kcalutils.nix | 2 +- pkgs/applications/kde/kcharselect.nix | 2 +- pkgs/applications/kde/kcolorchooser.nix | 2 +- pkgs/applications/kde/kdebugsettings.nix | 2 +- pkgs/applications/kde/kdeconnect-kde.nix | 2 +- pkgs/applications/kde/kdegraphics-mobipocket.nix | 2 +- pkgs/applications/kde/kdegraphics-thumbnailers.nix | 2 +- pkgs/applications/kde/kdenetwork-filesharing.nix | 2 +- pkgs/applications/kde/kdenlive.nix | 2 +- pkgs/applications/kde/kdepim-addons.nix | 2 +- pkgs/applications/kde/kdepim-apps-libs/default.nix | 2 +- pkgs/applications/kde/kdepim-runtime/default.nix | 2 +- pkgs/applications/kde/kdf.nix | 2 +- pkgs/applications/kde/kdialog.nix | 2 +- pkgs/applications/kde/kdiamond.nix | 2 +- pkgs/applications/kde/keditbookmarks.nix | 2 +- pkgs/applications/kde/kfind.nix | 2 +- pkgs/applications/kde/kfloppy.nix | 2 +- pkgs/applications/kde/kgeography.nix | 2 +- pkgs/applications/kde/kget.nix | 2 +- pkgs/applications/kde/kgpg.nix | 2 +- pkgs/applications/kde/khelpcenter.nix | 2 +- pkgs/applications/kde/kidentitymanagement.nix | 2 +- pkgs/applications/kde/kig.nix | 2 +- pkgs/applications/kde/kigo.nix | 2 +- pkgs/applications/kde/killbots.nix | 2 +- pkgs/applications/kde/kimap.nix | 2 +- pkgs/applications/kde/kio-extras.nix | 2 +- pkgs/applications/kde/kipi-plugins.nix | 2 +- pkgs/applications/kde/kitinerary.nix | 2 +- pkgs/applications/kde/kldap.nix | 2 +- pkgs/applications/kde/kleopatra.nix | 2 +- pkgs/applications/kde/klettres.nix | 2 +- pkgs/applications/kde/klines.nix | 2 +- pkgs/applications/kde/kmag.nix | 2 +- pkgs/applications/kde/kmahjongg.nix | 2 +- pkgs/applications/kde/kmail-account-wizard.nix | 2 +- pkgs/applications/kde/kmail.nix | 2 +- pkgs/applications/kde/kmailtransport.nix | 2 +- pkgs/applications/kde/kmbox.nix | 2 +- pkgs/applications/kde/kmime.nix | 2 +- pkgs/applications/kde/kmines.nix | 2 +- pkgs/applications/kde/kmix.nix | 2 +- pkgs/applications/kde/kmplot.nix | 2 +- pkgs/applications/kde/knavalbattle.nix | 2 +- pkgs/applications/kde/knetwalk.nix | 2 +- pkgs/applications/kde/knights.nix | 2 +- pkgs/applications/kde/knotes.nix | 2 +- pkgs/applications/kde/kolf.nix | 2 +- pkgs/applications/kde/kollision.nix | 2 +- pkgs/applications/kde/kolourpaint.nix | 2 +- pkgs/applications/kde/kompare.nix | 2 +- pkgs/applications/kde/konqueror.nix | 2 +- pkgs/applications/kde/konquest.nix | 2 +- pkgs/applications/kde/konsole.nix | 2 +- pkgs/applications/kde/kontact.nix | 2 +- pkgs/applications/kde/kontactinterface.nix | 2 +- pkgs/applications/kde/korganizer.nix | 2 +- pkgs/applications/kde/kpat.nix | 2 +- pkgs/applications/kde/kpimtextedit.nix | 2 +- pkgs/applications/kde/kpkpass.nix | 2 +- pkgs/applications/kde/kqtquickcharts.nix | 2 +- pkgs/applications/kde/krdc.nix | 2 +- pkgs/applications/kde/kreversi.nix | 2 +- pkgs/applications/kde/krfb.nix | 2 +- pkgs/applications/kde/kruler.nix | 2 +- pkgs/applications/kde/kshisen.nix | 2 +- pkgs/applications/kde/ksmtp/default.nix | 2 +- pkgs/applications/kde/kspaceduel.nix | 4 ++-- pkgs/applications/kde/ksquares.nix | 2 +- pkgs/applications/kde/ksudoku.nix | 2 +- pkgs/applications/kde/ksystemlog.nix | 2 +- pkgs/applications/kde/kteatime.nix | 2 +- pkgs/applications/kde/ktimer.nix | 2 +- pkgs/applications/kde/ktnef.nix | 2 +- pkgs/applications/kde/ktouch.nix | 2 +- pkgs/applications/kde/kturtle.nix | 2 +- pkgs/applications/kde/kwalletmanager.nix | 2 +- pkgs/applications/kde/kwave.nix | 2 +- pkgs/applications/kde/libgravatar.nix | 2 +- pkgs/applications/kde/libkcddb.nix | 2 +- pkgs/applications/kde/libkdcraw.nix | 2 +- pkgs/applications/kde/libkdegames.nix | 2 +- pkgs/applications/kde/libkdepim.nix | 2 +- pkgs/applications/kde/libkexiv2.nix | 2 +- pkgs/applications/kde/libkgapi.nix | 2 +- pkgs/applications/kde/libkipi.nix | 2 +- pkgs/applications/kde/libkleo.nix | 2 +- pkgs/applications/kde/libkmahjongg.nix | 2 +- pkgs/applications/kde/libkomparediff2.nix | 2 +- pkgs/applications/kde/libksane.nix | 2 +- pkgs/applications/kde/libksieve.nix | 2 +- pkgs/applications/kde/mailcommon.nix | 2 +- pkgs/applications/kde/mailimporter.nix | 2 +- pkgs/applications/kde/marble.nix | 2 +- pkgs/applications/kde/mbox-importer.nix | 2 +- pkgs/applications/kde/messagelib.nix | 2 +- pkgs/applications/kde/minuet.nix | 2 +- pkgs/applications/kde/okular.nix | 2 +- pkgs/applications/kde/picmi.nix | 2 +- pkgs/applications/kde/pim-data-exporter.nix | 2 +- pkgs/applications/kde/pim-sieve-editor.nix | 2 +- pkgs/applications/kde/pimcommon.nix | 2 +- pkgs/applications/kde/print-manager.nix | 2 +- pkgs/applications/kde/rocs.nix | 2 +- pkgs/applications/kde/spectacle.nix | 2 +- pkgs/applications/kde/yakuake.nix | 2 +- 148 files changed, 151 insertions(+), 153 deletions(-) diff --git a/pkgs/applications/kde/akonadi-calendar.nix b/pkgs/applications/kde/akonadi-calendar.nix index 121e93d3f5c..474672dfd7d 100644 --- a/pkgs/applications/kde/akonadi-calendar.nix +++ b/pkgs/applications/kde/akonadi-calendar.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "akonadi-calendar"; + pname = "akonadi-calendar"; meta = { license = with lib.licenses; [ gpl2 lgpl21 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix index b09058b60be..2076723a372 100644 --- a/pkgs/applications/kde/akonadi-contacts.nix +++ b/pkgs/applications/kde/akonadi-contacts.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "akonadi-contacts"; + pname = "akonadi-contacts"; meta = { license = with lib.licenses; [ gpl2 lgpl21 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadi-import-wizard.nix b/pkgs/applications/kde/akonadi-import-wizard.nix index cc1acbc6dd0..26b373fb330 100644 --- a/pkgs/applications/kde/akonadi-import-wizard.nix +++ b/pkgs/applications/kde/akonadi-import-wizard.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "akonadi-import-wizard"; + pname = "akonadi-import-wizard"; meta = { license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadi-mime.nix b/pkgs/applications/kde/akonadi-mime.nix index 0ed958b4e77..fbd028b1ec2 100644 --- a/pkgs/applications/kde/akonadi-mime.nix +++ b/pkgs/applications/kde/akonadi-mime.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "akonadi-mime"; + pname = "akonadi-mime"; meta = { license = with lib.licenses; [ gpl2 lgpl21 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadi-notes.nix b/pkgs/applications/kde/akonadi-notes.nix index 72c4d799239..6db7e00be9b 100644 --- a/pkgs/applications/kde/akonadi-notes.nix +++ b/pkgs/applications/kde/akonadi-notes.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "akonadi-notes"; + pname = "akonadi-notes"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadi-search.nix b/pkgs/applications/kde/akonadi-search.nix index 23ee6b1b9cc..495b63abd44 100644 --- a/pkgs/applications/kde/akonadi-search.nix +++ b/pkgs/applications/kde/akonadi-search.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "akonadi-search"; + pname = "akonadi-search"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix index 6ffe1e2de8a..3c6ed88aa9b 100644 --- a/pkgs/applications/kde/akonadi/default.nix +++ b/pkgs/applications/kde/akonadi/default.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "akonadi"; + pname = "akonadi"; meta = { license = [ lib.licenses.lgpl21 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akonadiconsole.nix b/pkgs/applications/kde/akonadiconsole.nix index a02400847bb..76e5ca480b4 100644 --- a/pkgs/applications/kde/akonadiconsole.nix +++ b/pkgs/applications/kde/akonadiconsole.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "akonadiconsole"; + pname = "akonadiconsole"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/akregator.nix b/pkgs/applications/kde/akregator.nix index 98d53bc8083..5cacfe0c04f 100644 --- a/pkgs/applications/kde/akregator.nix +++ b/pkgs/applications/kde/akregator.nix @@ -10,7 +10,7 @@ }: mkDerivation { - name = "akregator"; + pname = "akregator"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix index 76cc423f546..69a56254d65 100644 --- a/pkgs/applications/kde/ark/default.nix +++ b/pkgs/applications/kde/ark/default.nix @@ -20,7 +20,7 @@ let in mkDerivation { - name = "ark"; + pname = "ark"; meta = { description = "Graphical file compression/decompression utility"; license = with lib.licenses; diff --git a/pkgs/applications/kde/baloo-widgets.nix b/pkgs/applications/kde/baloo-widgets.nix index 3479b6600fc..887e7ea2986 100644 --- a/pkgs/applications/kde/baloo-widgets.nix +++ b/pkgs/applications/kde/baloo-widgets.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "baloo-widgets"; + pname = "baloo-widgets"; meta = { license = [ lib.licenses.lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/bomber.nix b/pkgs/applications/kde/bomber.nix index f42a6a01871..c2a5329ee2a 100644 --- a/pkgs/applications/kde/bomber.nix +++ b/pkgs/applications/kde/bomber.nix @@ -4,7 +4,7 @@ }: mkDerivation { - name = "bomber"; + pname = "bomber"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.bomber"; description = "A single player arcade game"; diff --git a/pkgs/applications/kde/bovo.nix b/pkgs/applications/kde/bovo.nix index 4bd3113a051..989a80aa29f 100644 --- a/pkgs/applications/kde/bovo.nix +++ b/pkgs/applications/kde/bovo.nix @@ -4,7 +4,7 @@ }: mkDerivation { - name = "bovo"; + pname = "bovo"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.bovo"; description = "Five in a row application"; diff --git a/pkgs/applications/kde/calendarsupport.nix b/pkgs/applications/kde/calendarsupport.nix index 0364291994f..b316ab4e568 100644 --- a/pkgs/applications/kde/calendarsupport.nix +++ b/pkgs/applications/kde/calendarsupport.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "calendarsupport"; + pname = "calendarsupport"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 1f0f7b5ace3..f60ac76653d 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -35,15 +35,13 @@ let mkDerivation = args: let - inherit (args) name; - sname = args.sname or name; - inherit (srcs.${sname}) src version; + inherit (args) pname; + inherit (srcs.${pname}) src version; mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; in mkDerivation (args // { - pname = name; - inherit src version; + inherit pname version src; outputs = args.outputs or [ "out" ]; diff --git a/pkgs/applications/kde/dolphin-plugins.nix b/pkgs/applications/kde/dolphin-plugins.nix index 5580952f40a..37613f86a7f 100644 --- a/pkgs/applications/kde/dolphin-plugins.nix +++ b/pkgs/applications/kde/dolphin-plugins.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "dolphin-plugins"; + pname = "dolphin-plugins"; meta = { license = [ lib.licenses.gpl2 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix index 76d4e989e8c..3774c7e00b6 100644 --- a/pkgs/applications/kde/dolphin.nix +++ b/pkgs/applications/kde/dolphin.nix @@ -9,7 +9,7 @@ }: mkDerivation { - name = "dolphin"; + pname = "dolphin"; meta = { license = with lib.licenses; [ gpl2 fdl12 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/dragon.nix b/pkgs/applications/kde/dragon.nix index 9dd55ec4b9c..0ce6459e3f6 100644 --- a/pkgs/applications/kde/dragon.nix +++ b/pkgs/applications/kde/dragon.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "dragon"; + pname = "dragon"; meta = { license = with lib.licenses; [ gpl2 fdl12 ]; description = "A simple media player for KDE"; diff --git a/pkgs/applications/kde/elisa.nix b/pkgs/applications/kde/elisa.nix index 5a77cfec2f5..6252e53078f 100644 --- a/pkgs/applications/kde/elisa.nix +++ b/pkgs/applications/kde/elisa.nix @@ -19,7 +19,7 @@ }: mkDerivation rec { - name = "elisa"; + pname = "elisa"; buildInputs = [ libvlc ]; diff --git a/pkgs/applications/kde/eventviews.nix b/pkgs/applications/kde/eventviews.nix index 495491f6d3c..1a6cc9442b9 100644 --- a/pkgs/applications/kde/eventviews.nix +++ b/pkgs/applications/kde/eventviews.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "eventviews"; + pname = "eventviews"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix index 225efba3768..2a8b82352b4 100644 --- a/pkgs/applications/kde/ffmpegthumbs.nix +++ b/pkgs/applications/kde/ffmpegthumbs.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "ffmpegthumbs"; + pname = "ffmpegthumbs"; meta = { license = with lib.licenses; [ gpl2 bsd3 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix index a3be5be7f0a..1aeff531862 100644 --- a/pkgs/applications/kde/filelight.nix +++ b/pkgs/applications/kde/filelight.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "filelight"; + pname = "filelight"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ fridh vcunat ]; diff --git a/pkgs/applications/kde/granatier.nix b/pkgs/applications/kde/granatier.nix index c02fa0fef2e..b4aa2168e0d 100644 --- a/pkgs/applications/kde/granatier.nix +++ b/pkgs/applications/kde/granatier.nix @@ -4,7 +4,7 @@ }: mkDerivation { - name = "granatier"; + pname = "granatier"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.granatier"; description = "Clone of the classic Bomberman game"; diff --git a/pkgs/applications/kde/grantleetheme/default.nix b/pkgs/applications/kde/grantleetheme/default.nix index 92a0f1cde49..517cb072f74 100644 --- a/pkgs/applications/kde/grantleetheme/default.nix +++ b/pkgs/applications/kde/grantleetheme/default.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "grantleetheme"; + pname = "grantleetheme"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/gwenview.nix b/pkgs/applications/kde/gwenview.nix index 3d03d1dea3e..0cd884d5401 100644 --- a/pkgs/applications/kde/gwenview.nix +++ b/pkgs/applications/kde/gwenview.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "gwenview"; + pname = "gwenview"; meta = { license = with lib.licenses; [ gpl2 fdl12 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/incidenceeditor.nix b/pkgs/applications/kde/incidenceeditor.nix index 30955d1c274..981c184d151 100644 --- a/pkgs/applications/kde/incidenceeditor.nix +++ b/pkgs/applications/kde/incidenceeditor.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "incidenceeditor"; + pname = "incidenceeditor"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/k3b.nix b/pkgs/applications/kde/k3b.nix index 35d55787ec7..cc9763961f8 100644 --- a/pkgs/applications/kde/k3b.nix +++ b/pkgs/applications/kde/k3b.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "k3b"; + pname = "k3b"; meta = with lib; { license = with licenses; [ gpl2Plus ]; maintainers = with maintainers; [ sander phreedom ]; diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix index de4f1f5aa82..452c5142157 100644 --- a/pkgs/applications/kde/kaddressbook.nix +++ b/pkgs/applications/kde/kaddressbook.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "kaddressbook"; + pname = "kaddressbook"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix index a1dec1179cc..70ee3f74185 100644 --- a/pkgs/applications/kde/kalarm.nix +++ b/pkgs/applications/kde/kalarm.nix @@ -16,7 +16,7 @@ }: mkDerivation { - name = "kalarm"; + pname = "kalarm"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.rittelle ]; diff --git a/pkgs/applications/kde/kalarmcal.nix b/pkgs/applications/kde/kalarmcal.nix index 356c1e4812d..5671174e9b1 100644 --- a/pkgs/applications/kde/kalarmcal.nix +++ b/pkgs/applications/kde/kalarmcal.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kalarmcal"; + pname = "kalarmcal"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kalzium.nix b/pkgs/applications/kde/kalzium.nix index cf579caa9cc..3f51f068815 100644 --- a/pkgs/applications/kde/kalzium.nix +++ b/pkgs/applications/kde/kalzium.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, avogadro, qtscript, kparts, kplotting, kunitconversion }: mkDerivation { - name = "kalzium"; + pname = "kalzium"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.kalzium"; description = "Program that shows you the Periodic Table of Elements"; diff --git a/pkgs/applications/kde/kapman.nix b/pkgs/applications/kde/kapman.nix index 5f4cc40138c..01fa984e593 100644 --- a/pkgs/applications/kde/kapman.nix +++ b/pkgs/applications/kde/kapman.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "kapman"; + pname = "kapman"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kapman"; description = "Clone of the well known game Pac-Man"; diff --git a/pkgs/applications/kde/kapptemplate.nix b/pkgs/applications/kde/kapptemplate.nix index a5e211318a2..7251648be09 100644 --- a/pkgs/applications/kde/kapptemplate.nix +++ b/pkgs/applications/kde/kapptemplate.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "kapptemplate"; + pname = "kapptemplate"; nativeBuildInputs = [ extra-cmake-modules cmake ]; diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix index e0d0273efde..1cc16496d12 100644 --- a/pkgs/applications/kde/kate.nix +++ b/pkgs/applications/kde/kate.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "kate"; + pname = "kate"; meta = { license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/katomic.nix b/pkgs/applications/kde/katomic.nix index 2690cfc0589..aa00d58c417 100644 --- a/pkgs/applications/kde/katomic.nix +++ b/pkgs/applications/kde/katomic.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }: mkDerivation { - name = "katomic"; + pname = "katomic"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.katomic"; description = "Fun educational game built around molecular geometry"; diff --git a/pkgs/applications/kde/kblackbox.nix b/pkgs/applications/kde/kblackbox.nix index ce0d8e36b91..9f2f652f558 100644 --- a/pkgs/applications/kde/kblackbox.nix +++ b/pkgs/applications/kde/kblackbox.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "kblackbox"; + pname = "kblackbox"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kblackbox"; description = "Game of hide and seek played on a grid of boxes"; diff --git a/pkgs/applications/kde/kblocks.nix b/pkgs/applications/kde/kblocks.nix index a11a6e25744..971901687f0 100644 --- a/pkgs/applications/kde/kblocks.nix +++ b/pkgs/applications/kde/kblocks.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "kblocks"; + pname = "kblocks"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kblocks"; description = "Classic falling blocks game"; diff --git a/pkgs/applications/kde/kbounce.nix b/pkgs/applications/kde/kbounce.nix index b67e3ce0217..d96c0f7f827 100644 --- a/pkgs/applications/kde/kbounce.nix +++ b/pkgs/applications/kde/kbounce.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kio, ki18n }: mkDerivation { - name = "kbounce"; + pname = "kbounce"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kbounce"; description = "Single player arcade game with the elements of puzzle"; diff --git a/pkgs/applications/kde/kbreakout.nix b/pkgs/applications/kde/kbreakout.nix index fbcddd46ca8..cf60ada3c00 100644 --- a/pkgs/applications/kde/kbreakout.nix +++ b/pkgs/applications/kde/kbreakout.nix @@ -10,7 +10,7 @@ }: mkDerivation { - name = "kbreakout"; + pname = "kbreakout"; meta.license = with lib.licenses; [ lgpl21 gpl3 ]; outputs = [ "out" "dev" ]; nativeBuildInputs = [ diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix index 16fc6c51777..308ed35dc4e 100644 --- a/pkgs/applications/kde/kcachegrind.nix +++ b/pkgs/applications/kde/kcachegrind.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kcachegrind"; + pname = "kcachegrind"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ orivej ]; diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix index 4e2a308b17f..b24046df5f5 100644 --- a/pkgs/applications/kde/kcalc.nix +++ b/pkgs/applications/kde/kcalc.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kcalc"; + pname = "kcalc"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.fridh ]; diff --git a/pkgs/applications/kde/kcalutils.nix b/pkgs/applications/kde/kcalutils.nix index 2e389ec4ac7..1fce68e7f46 100644 --- a/pkgs/applications/kde/kcalutils.nix +++ b/pkgs/applications/kde/kcalutils.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kcalutils"; + pname = "kcalutils"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kcharselect.nix b/pkgs/applications/kde/kcharselect.nix index 4af712b1d5a..d35ee5ee670 100644 --- a/pkgs/applications/kde/kcharselect.nix +++ b/pkgs/applications/kde/kcharselect.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kcharselect"; + pname = "kcharselect"; meta = { license = lib.licenses.gpl2Plus; maintainers = [ lib.maintainers.schmittlauch ]; diff --git a/pkgs/applications/kde/kcolorchooser.nix b/pkgs/applications/kde/kcolorchooser.nix index 45b32fbe832..87ab2271561 100644 --- a/pkgs/applications/kde/kcolorchooser.nix +++ b/pkgs/applications/kde/kcolorchooser.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kcolorchooser"; + pname = "kcolorchooser"; meta = { license = with lib.licenses; [ mit ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/kdebugsettings.nix b/pkgs/applications/kde/kdebugsettings.nix index a58e1b25a2e..f4dd7ec145d 100644 --- a/pkgs/applications/kde/kdebugsettings.nix +++ b/pkgs/applications/kde/kdebugsettings.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kdebugsettings"; + pname = "kdebugsettings"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.rittelle ]; diff --git a/pkgs/applications/kde/kdeconnect-kde.nix b/pkgs/applications/kde/kdeconnect-kde.nix index da2d1db5c79..8c7b2b635c0 100644 --- a/pkgs/applications/kde/kdeconnect-kde.nix +++ b/pkgs/applications/kde/kdeconnect-kde.nix @@ -26,7 +26,7 @@ }: mkDerivation { - name = "kdeconnect-kde"; + pname = "kdeconnect-kde"; buildInputs = [ kcmutils diff --git a/pkgs/applications/kde/kdegraphics-mobipocket.nix b/pkgs/applications/kde/kdegraphics-mobipocket.nix index e5f5b88ec44..bdfe5102c01 100644 --- a/pkgs/applications/kde/kdegraphics-mobipocket.nix +++ b/pkgs/applications/kde/kdegraphics-mobipocket.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kdegraphics-mobipocket"; + pname = "kdegraphics-mobipocket"; meta = { license = [ lib.licenses.gpl2Plus ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers.nix b/pkgs/applications/kde/kdegraphics-thumbnailers.nix index 2e7887582f9..10280be3c30 100644 --- a/pkgs/applications/kde/kdegraphics-thumbnailers.nix +++ b/pkgs/applications/kde/kdegraphics-thumbnailers.nix @@ -4,7 +4,7 @@ }: mkDerivation { - name = "kdegraphics-thumbnailers"; + pname = "kdegraphics-thumbnailers"; meta = { license = [ lib.licenses.lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/kdenetwork-filesharing.nix b/pkgs/applications/kde/kdenetwork-filesharing.nix index d251eb74f27..94656b02671 100644 --- a/pkgs/applications/kde/kdenetwork-filesharing.nix +++ b/pkgs/applications/kde/kdenetwork-filesharing.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kdenetwork-filesharing"; + pname = "kdenetwork-filesharing"; meta = { license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix index b2abee57939..47afcd0a67e 100644 --- a/pkgs/applications/kde/kdenlive.nix +++ b/pkgs/applications/kde/kdenlive.nix @@ -35,7 +35,7 @@ }: mkDerivation { - name = "kdenlive"; + pname = "kdenlive"; nativeBuildInputs = [ extra-cmake-modules kdoctools diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix index e47aae89e60..0939b0ecd26 100644 --- a/pkgs/applications/kde/kdepim-addons.nix +++ b/pkgs/applications/kde/kdepim-addons.nix @@ -9,7 +9,7 @@ }: mkDerivation { - name = "kdepim-addons"; + pname = "kdepim-addons"; meta = { license = with lib.licenses; [ gpl2Plus lgpl21Plus ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kdepim-apps-libs/default.nix b/pkgs/applications/kde/kdepim-apps-libs/default.nix index 57c02ea4e84..19f476fd781 100644 --- a/pkgs/applications/kde/kdepim-apps-libs/default.nix +++ b/pkgs/applications/kde/kdepim-apps-libs/default.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kdepim-apps-libs"; + pname = "kdepim-apps-libs"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kdepim-runtime/default.nix b/pkgs/applications/kde/kdepim-runtime/default.nix index e0a5d43e654..335284aa6c4 100644 --- a/pkgs/applications/kde/kdepim-runtime/default.nix +++ b/pkgs/applications/kde/kdepim-runtime/default.nix @@ -9,7 +9,7 @@ }: mkDerivation { - name = "kdepim-runtime"; + pname = "kdepim-runtime"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kdf.nix b/pkgs/applications/kde/kdf.nix index eef94fd5eb2..5c196d6a3b1 100644 --- a/pkgs/applications/kde/kdf.nix +++ b/pkgs/applications/kde/kdf.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kdf"; + pname = "kdf"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.peterhoeg ]; diff --git a/pkgs/applications/kde/kdialog.nix b/pkgs/applications/kde/kdialog.nix index df301af0cba..192bfda4c27 100644 --- a/pkgs/applications/kde/kdialog.nix +++ b/pkgs/applications/kde/kdialog.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kdialog"; + pname = "kdialog"; meta = { license = with lib.licenses; [ gpl2 fdl12 ]; diff --git a/pkgs/applications/kde/kdiamond.nix b/pkgs/applications/kde/kdiamond.nix index 6c124f9450e..040806fd08e 100644 --- a/pkgs/applications/kde/kdiamond.nix +++ b/pkgs/applications/kde/kdiamond.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, kconfig, knotifyconfig }: mkDerivation { - name = "kdiamond"; + pname = "kdiamond"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kdiamond"; description = "A single player puzzle game"; diff --git a/pkgs/applications/kde/keditbookmarks.nix b/pkgs/applications/kde/keditbookmarks.nix index efe247df737..9deb1a3c015 100644 --- a/pkgs/applications/kde/keditbookmarks.nix +++ b/pkgs/applications/kde/keditbookmarks.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "keditbookmarks"; + pname = "keditbookmarks"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kio kparts kwindowsystem ]; meta = with lib; { diff --git a/pkgs/applications/kde/kfind.nix b/pkgs/applications/kde/kfind.nix index 10932b38032..fa0ef1c9220 100644 --- a/pkgs/applications/kde/kfind.nix +++ b/pkgs/applications/kde/kfind.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kfind"; + pname = "kfind"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.iblech ]; diff --git a/pkgs/applications/kde/kfloppy.nix b/pkgs/applications/kde/kfloppy.nix index a8747047f42..a88fd9283e0 100644 --- a/pkgs/applications/kde/kfloppy.nix +++ b/pkgs/applications/kde/kfloppy.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, kcompletion, kxmlgui }: mkDerivation { - name = "kfloppy"; + pname = "kfloppy"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.kfloppy"; description = "Utility to format 3.5\" and 5.25\" floppy disks"; diff --git a/pkgs/applications/kde/kgeography.nix b/pkgs/applications/kde/kgeography.nix index c96c198cca9..7a5d5516b5e 100644 --- a/pkgs/applications/kde/kgeography.nix +++ b/pkgs/applications/kde/kgeography.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kgeography"; + pname = "kgeography"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.globin ]; diff --git a/pkgs/applications/kde/kget.nix b/pkgs/applications/kde/kget.nix index 6a50f1d08d1..b03246eacd5 100644 --- a/pkgs/applications/kde/kget.nix +++ b/pkgs/applications/kde/kget.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kget"; + pname = "kget"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix index 944cff47e0d..32ba95231cd 100644 --- a/pkgs/applications/kde/kgpg.nix +++ b/pkgs/applications/kde/kgpg.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kgpg"; + pname = "kgpg"; nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; buildInputs = [ akonadi-contacts gnupg karchive kcodecs kcontacts kcoreaddons kcrash diff --git a/pkgs/applications/kde/khelpcenter.nix b/pkgs/applications/kde/khelpcenter.nix index 69b629bbeb9..77f30d8e69b 100644 --- a/pkgs/applications/kde/khelpcenter.nix +++ b/pkgs/applications/kde/khelpcenter.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "khelpcenter"; + pname = "khelpcenter"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ grantlee kcmutils kconfig kcoreaddons kdbusaddons kdelibs4support khtml diff --git a/pkgs/applications/kde/kidentitymanagement.nix b/pkgs/applications/kde/kidentitymanagement.nix index 92fcc238779..789206a1639 100644 --- a/pkgs/applications/kde/kidentitymanagement.nix +++ b/pkgs/applications/kde/kidentitymanagement.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kidentitymanagement"; + pname = "kidentitymanagement"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kig.nix b/pkgs/applications/kde/kig.nix index 7b858907795..1ca57d91c19 100644 --- a/pkgs/applications/kde/kig.nix +++ b/pkgs/applications/kde/kig.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kig"; + pname = "kig"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ raskin ]; diff --git a/pkgs/applications/kde/kigo.nix b/pkgs/applications/kde/kigo.nix index 6585f943f2a..238158b524b 100644 --- a/pkgs/applications/kde/kigo.nix +++ b/pkgs/applications/kde/kigo.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }: mkDerivation { - name = "kigo"; + pname = "kigo"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kigo"; description = "An open-source implementation of the popular Go game"; diff --git a/pkgs/applications/kde/killbots.nix b/pkgs/applications/kde/killbots.nix index ec9b6de82c9..ef81c3b5ec1 100644 --- a/pkgs/applications/kde/killbots.nix +++ b/pkgs/applications/kde/killbots.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "killbots"; + pname = "killbots"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.killbots"; description = "A game where you avoid robots"; diff --git a/pkgs/applications/kde/kimap.nix b/pkgs/applications/kde/kimap.nix index 9e42c571058..e93804bd885 100644 --- a/pkgs/applications/kde/kimap.nix +++ b/pkgs/applications/kde/kimap.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kimap"; + pname = "kimap"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix index a803ba72982..fdc531d5d12 100644 --- a/pkgs/applications/kde/kio-extras.nix +++ b/pkgs/applications/kde/kio-extras.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kio-extras"; + pname = "kio-extras"; meta = { license = with lib.licenses; [ gpl2 lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/kipi-plugins.nix b/pkgs/applications/kde/kipi-plugins.nix index 180d066a87c..d79980a3a6f 100644 --- a/pkgs/applications/kde/kipi-plugins.nix +++ b/pkgs/applications/kde/kipi-plugins.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kipi-plugins"; + pname = "kipi-plugins"; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ diff --git a/pkgs/applications/kde/kitinerary.nix b/pkgs/applications/kde/kitinerary.nix index 303ea6162ba..cc71307f1ac 100644 --- a/pkgs/applications/kde/kitinerary.nix +++ b/pkgs/applications/kde/kitinerary.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kitinerary"; + pname = "kitinerary"; meta = { license = with lib.licenses; [ lgpl21 ]; maintainers = [ lib.maintainers.bkchr ]; diff --git a/pkgs/applications/kde/kldap.nix b/pkgs/applications/kde/kldap.nix index 14a8aea5e67..888ac59ddfb 100644 --- a/pkgs/applications/kde/kldap.nix +++ b/pkgs/applications/kde/kldap.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kldap"; + pname = "kldap"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kleopatra.nix b/pkgs/applications/kde/kleopatra.nix index c15c6eb78d6..f1f8ae9b375 100644 --- a/pkgs/applications/kde/kleopatra.nix +++ b/pkgs/applications/kde/kleopatra.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kleopatra"; + pname = "kleopatra"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/klettres.nix b/pkgs/applications/kde/klettres.nix index aaddceb7bd6..ca63c4f456e 100644 --- a/pkgs/applications/kde/klettres.nix +++ b/pkgs/applications/kde/klettres.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, phonon, knewstuff }: mkDerivation { - name = "klettres"; + pname = "klettres"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.klettres"; description = "An application specially designed to help the user to learn an alphabet"; diff --git a/pkgs/applications/kde/klines.nix b/pkgs/applications/kde/klines.nix index 7fadf409bd3..336ea9a2506 100644 --- a/pkgs/applications/kde/klines.nix +++ b/pkgs/applications/kde/klines.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "klines"; + pname = "klines"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.klines"; description = "A simple but highly addictive one player game"; diff --git a/pkgs/applications/kde/kmag.nix b/pkgs/applications/kde/kmag.nix index fdac690cf22..ba1bb8d1851 100644 --- a/pkgs/applications/kde/kmag.nix +++ b/pkgs/applications/kde/kmag.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }: mkDerivation { - name = "kmag"; + pname = "kmag"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.kmag"; description = "A small Linux utility to magnify a part of the screen"; diff --git a/pkgs/applications/kde/kmahjongg.nix b/pkgs/applications/kde/kmahjongg.nix index 93588b241e1..285cf8adff5 100644 --- a/pkgs/applications/kde/kmahjongg.nix +++ b/pkgs/applications/kde/kmahjongg.nix @@ -9,7 +9,7 @@ }: mkDerivation { - name = "kmahjongg"; + pname = "kmahjongg"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kdeclarative libkmahjongg knewstuff libkdegames ]; meta = { diff --git a/pkgs/applications/kde/kmail-account-wizard.nix b/pkgs/applications/kde/kmail-account-wizard.nix index f380315cce9..c0ab4ff947e 100644 --- a/pkgs/applications/kde/kmail-account-wizard.nix +++ b/pkgs/applications/kde/kmail-account-wizard.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kmail-account-wizard"; + pname = "kmail-account-wizard"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix index d225eba8223..fa3fe033035 100644 --- a/pkgs/applications/kde/kmail.nix +++ b/pkgs/applications/kde/kmail.nix @@ -11,7 +11,7 @@ }: mkDerivation { - name = "kmail"; + pname = "kmail"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kmailtransport.nix b/pkgs/applications/kde/kmailtransport.nix index d5832db570c..5efdc959afb 100644 --- a/pkgs/applications/kde/kmailtransport.nix +++ b/pkgs/applications/kde/kmailtransport.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kmailtransport"; + pname = "kmailtransport"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kmbox.nix b/pkgs/applications/kde/kmbox.nix index c1348edf3f6..6f3db970b94 100644 --- a/pkgs/applications/kde/kmbox.nix +++ b/pkgs/applications/kde/kmbox.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kmbox"; + pname = "kmbox"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kmime.nix b/pkgs/applications/kde/kmime.nix index ac877d85228..51e78b5f649 100644 --- a/pkgs/applications/kde/kmime.nix +++ b/pkgs/applications/kde/kmime.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kmime"; + pname = "kmime"; meta = { license = [ lib.licenses.lgpl21 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kmines.nix b/pkgs/applications/kde/kmines.nix index edf3114244b..66131df26c1 100644 --- a/pkgs/applications/kde/kmines.nix +++ b/pkgs/applications/kde/kmines.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kdoctools, ki18n, kio }: mkDerivation { - name = "kmines"; + pname = "kmines"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kmines"; description = "A classic Minesweeper game"; diff --git a/pkgs/applications/kde/kmix.nix b/pkgs/applications/kde/kmix.nix index 8010c57d927..207fba8e77b 100644 --- a/pkgs/applications/kde/kmix.nix +++ b/pkgs/applications/kde/kmix.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kmix"; + pname = "kmix"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = [ lib.maintainers.rongcuid ]; diff --git a/pkgs/applications/kde/kmplot.nix b/pkgs/applications/kde/kmplot.nix index c0c00f21340..04ccb809c79 100644 --- a/pkgs/applications/kde/kmplot.nix +++ b/pkgs/applications/kde/kmplot.nix @@ -3,7 +3,7 @@ }: mkDerivation { - name = "kmplot"; + pname = "kmplot"; meta = { license = with lib.licenses; [ gpl2Plus fdl12 ]; maintainers = [ lib.maintainers.orivej ]; diff --git a/pkgs/applications/kde/knavalbattle.nix b/pkgs/applications/kde/knavalbattle.nix index 669f9961a49..155faf4e539 100644 --- a/pkgs/applications/kde/knavalbattle.nix +++ b/pkgs/applications/kde/knavalbattle.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, kdnssd }: mkDerivation { - name = "knavalbattle"; + pname = "knavalbattle"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.knavalbattle"; description = "Naval Battle is a ship sinking game"; diff --git a/pkgs/applications/kde/knetwalk.nix b/pkgs/applications/kde/knetwalk.nix index f34bb84f0a0..3a863b40a1c 100644 --- a/pkgs/applications/kde/knetwalk.nix +++ b/pkgs/applications/kde/knetwalk.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "knetwalk"; + pname = "knetwalk"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.knetwalk"; description = "A single player logic game"; diff --git a/pkgs/applications/kde/knights.nix b/pkgs/applications/kde/knights.nix index 8b71493ff18..084a2349fc1 100644 --- a/pkgs/applications/kde/knights.nix +++ b/pkgs/applications/kde/knights.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, kplotting, plasma-framework, libkdegames }: mkDerivation { - name = "knights"; + pname = "knights"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.knights"; description = "A chess game"; diff --git a/pkgs/applications/kde/knotes.nix b/pkgs/applications/kde/knotes.nix index 2dc2f48c149..75b92eb07bb 100644 --- a/pkgs/applications/kde/knotes.nix +++ b/pkgs/applications/kde/knotes.nix @@ -13,7 +13,7 @@ }: mkDerivation { - name = "knotes"; + pname = "knotes"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kcompletion kconfig kconfigwidgets kcoreaddons kcrash diff --git a/pkgs/applications/kde/kolf.nix b/pkgs/applications/kde/kolf.nix index f9fa31b665b..2f1189855be 100644 --- a/pkgs/applications/kde/kolf.nix +++ b/pkgs/applications/kde/kolf.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kolf"; + pname = "kolf"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ libkdegames kio ktextwidgets ]; meta = { diff --git a/pkgs/applications/kde/kollision.nix b/pkgs/applications/kde/kollision.nix index 6cb9995459a..806b2f59233 100644 --- a/pkgs/applications/kde/kollision.nix +++ b/pkgs/applications/kde/kollision.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: mkDerivation { - name = "kollision"; + pname = "kollision"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kollision"; description = "A casual game"; diff --git a/pkgs/applications/kde/kolourpaint.nix b/pkgs/applications/kde/kolourpaint.nix index 4501324a871..66746cf466d 100644 --- a/pkgs/applications/kde/kolourpaint.nix +++ b/pkgs/applications/kde/kolourpaint.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kolourpaint"; + pname = "kolourpaint"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kdelibs4support libkexiv2 ]; meta = { diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix index 3a264e40257..a449a1e4f51 100644 --- a/pkgs/applications/kde/kompare.nix +++ b/pkgs/applications/kde/kompare.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "kompare"; + pname = "kompare"; meta = { license = with lib.licenses; [ gpl2 ]; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ diff --git a/pkgs/applications/kde/konqueror.nix b/pkgs/applications/kde/konqueror.nix index 62ed3db063e..72fcf8ff220 100644 --- a/pkgs/applications/kde/konqueror.nix +++ b/pkgs/applications/kde/konqueror.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "konqueror"; + pname = "konqueror"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kdelibs4support kcmutils khtml kdesu diff --git a/pkgs/applications/kde/konquest.nix b/pkgs/applications/kde/konquest.nix index cfef018de6c..7802b9c66c3 100644 --- a/pkgs/applications/kde/konquest.nix +++ b/pkgs/applications/kde/konquest.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "konquest"; + pname = "konquest"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kdelibs4support libkdegames qtquickcontrols ]; meta = { diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix index ed26dc08bb6..b49507e0b8e 100644 --- a/pkgs/applications/kde/konsole.nix +++ b/pkgs/applications/kde/konsole.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "konsole"; + pname = "konsole"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = with lib.maintainers; [ ttuegel turion ]; diff --git a/pkgs/applications/kde/kontact.nix b/pkgs/applications/kde/kontact.nix index eb28458392c..3dfa28e9dfe 100644 --- a/pkgs/applications/kde/kontact.nix +++ b/pkgs/applications/kde/kontact.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "kontact"; + pname = "kontact"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kontactinterface.nix b/pkgs/applications/kde/kontactinterface.nix index f2df628f301..b7e033deb0a 100644 --- a/pkgs/applications/kde/kontactinterface.nix +++ b/pkgs/applications/kde/kontactinterface.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kontactinterface"; + pname = "kontactinterface"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/korganizer.nix b/pkgs/applications/kde/korganizer.nix index 2f37a1bac0f..f28e0406b13 100644 --- a/pkgs/applications/kde/korganizer.nix +++ b/pkgs/applications/kde/korganizer.nix @@ -11,7 +11,7 @@ }: mkDerivation { - name = "korganizer"; + pname = "korganizer"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix index 9ee57353237..d1e47af6b72 100644 --- a/pkgs/applications/kde/kpat.nix +++ b/pkgs/applications/kde/kpat.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "kpat"; + pname = "kpat"; nativeBuildInputs = [ extra-cmake-modules shared-mime-info diff --git a/pkgs/applications/kde/kpimtextedit.nix b/pkgs/applications/kde/kpimtextedit.nix index 6f79a46202b..2948075f696 100644 --- a/pkgs/applications/kde/kpimtextedit.nix +++ b/pkgs/applications/kde/kpimtextedit.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "kpimtextedit"; + pname = "kpimtextedit"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kpkpass.nix b/pkgs/applications/kde/kpkpass.nix index f31b37de931..e7b81477122 100644 --- a/pkgs/applications/kde/kpkpass.nix +++ b/pkgs/applications/kde/kpkpass.nix @@ -4,7 +4,7 @@ }: mkDerivation { - name = "kpkpass"; + pname = "kpkpass"; meta = { license = with lib.licenses; [ lgpl21 ]; maintainers = [ lib.maintainers.bkchr ]; diff --git a/pkgs/applications/kde/kqtquickcharts.nix b/pkgs/applications/kde/kqtquickcharts.nix index 2b3dc5313d9..669a38e37ca 100644 --- a/pkgs/applications/kde/kqtquickcharts.nix +++ b/pkgs/applications/kde/kqtquickcharts.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kqtquickcharts"; + pname = "kqtquickcharts"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/krdc.nix b/pkgs/applications/kde/krdc.nix index 2b0a1a5c514..01cc39d9895 100644 --- a/pkgs/applications/kde/krdc.nix +++ b/pkgs/applications/kde/krdc.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "krdc"; + pname = "krdc"; nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; buildInputs = [ kcmutils kcompletion kconfig kdnssd knotifyconfig kwallet kwidgetsaddons diff --git a/pkgs/applications/kde/kreversi.nix b/pkgs/applications/kde/kreversi.nix index 9f4be46738b..351555b5f33 100644 --- a/pkgs/applications/kde/kreversi.nix +++ b/pkgs/applications/kde/kreversi.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, libkdegames, kdeclarative }: mkDerivation { - name = "kreversi"; + pname = "kreversi"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kreversi"; description = "A simple one player strategy game played against the computer"; diff --git a/pkgs/applications/kde/krfb.nix b/pkgs/applications/kde/krfb.nix index d2b96bf6100..aa280d019b1 100644 --- a/pkgs/applications/kde/krfb.nix +++ b/pkgs/applications/kde/krfb.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "krfb"; + pname = "krfb"; meta = { license = with lib.licenses; [ gpl2 fdl12 ]; maintainers = with lib.maintainers; [ jerith666 ]; diff --git a/pkgs/applications/kde/kruler.nix b/pkgs/applications/kde/kruler.nix index 2018245cfcb..460675e8cb1 100644 --- a/pkgs/applications/kde/kruler.nix +++ b/pkgs/applications/kde/kruler.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "kruler"; + pname = "kruler"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.vandenoever ]; diff --git a/pkgs/applications/kde/kshisen.nix b/pkgs/applications/kde/kshisen.nix index 5be17bb8ee0..791e95af690 100644 --- a/pkgs/applications/kde/kshisen.nix +++ b/pkgs/applications/kde/kshisen.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, libkmahjongg }: mkDerivation { - name = "kshisen"; + pname = "kshisen"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.kshisen"; description = "A solitaire-like game played using the standard set of Mahjong tiles"; diff --git a/pkgs/applications/kde/ksmtp/default.nix b/pkgs/applications/kde/ksmtp/default.nix index 6a5f51a17bf..3bf80f4abf5 100644 --- a/pkgs/applications/kde/ksmtp/default.nix +++ b/pkgs/applications/kde/ksmtp/default.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "ksmtp"; + pname = "ksmtp"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/kspaceduel.nix b/pkgs/applications/kde/kspaceduel.nix index b18a3e7cf8f..49ef76151ea 100644 --- a/pkgs/applications/kde/kspaceduel.nix +++ b/pkgs/applications/kde/kspaceduel.nix @@ -10,10 +10,10 @@ }: mkDerivation { - name = "kspaceduel"; + pname = "kspaceduel"; meta.license = with lib.licenses; [ lgpl21 gpl3 ]; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ + nativeBuildInputs = [ cmake extra-cmake-modules ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/kde/ksquares.nix b/pkgs/applications/kde/ksquares.nix index 12d989befe1..b48ee473523 100644 --- a/pkgs/applications/kde/ksquares.nix +++ b/pkgs/applications/kde/ksquares.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, libkdegames, kconfig, kcrash, kxmlgui }: mkDerivation { - name = "ksquares"; + pname = "ksquares"; meta = with lib; { homepage = "https://kde.org/applications/en/games/org.kde.ksquares"; description = "A game of Dots and Boxes"; diff --git a/pkgs/applications/kde/ksudoku.nix b/pkgs/applications/kde/ksudoku.nix index 678c21d5870..bf59c6e94c3 100644 --- a/pkgs/applications/kde/ksudoku.nix +++ b/pkgs/applications/kde/ksudoku.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "ksudoku"; + pname = "ksudoku"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ libGLU kdeclarative libkdegames ]; meta = { diff --git a/pkgs/applications/kde/ksystemlog.nix b/pkgs/applications/kde/ksystemlog.nix index bec92d55966..08f7ffb7e05 100644 --- a/pkgs/applications/kde/ksystemlog.nix +++ b/pkgs/applications/kde/ksystemlog.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "ksystemlog"; + pname = "ksystemlog"; nativeBuildInputs = [ extra-cmake-modules gettext kdoctools ]; propagatedBuildInputs = [ karchive kconfig kio ]; diff --git a/pkgs/applications/kde/kteatime.nix b/pkgs/applications/kde/kteatime.nix index 812a13aa118..639bd933103 100644 --- a/pkgs/applications/kde/kteatime.nix +++ b/pkgs/applications/kde/kteatime.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kconfig, kcrash, kiconthemes, knotifyconfig }: mkDerivation { - name = "kteatime"; + pname = "kteatime"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.kteatime"; description = "A handy timer for steeping tea"; diff --git a/pkgs/applications/kde/ktimer.nix b/pkgs/applications/kde/ktimer.nix index bdb8f2c687b..7eab059f1a7 100644 --- a/pkgs/applications/kde/ktimer.nix +++ b/pkgs/applications/kde/ktimer.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }: mkDerivation { - name = "ktimer"; + pname = "ktimer"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.ktimer"; description = "A little tool to execute programs after some time"; diff --git a/pkgs/applications/kde/ktnef.nix b/pkgs/applications/kde/ktnef.nix index 61f8672e47d..c264e0b53ca 100644 --- a/pkgs/applications/kde/ktnef.nix +++ b/pkgs/applications/kde/ktnef.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "ktnef"; + pname = "ktnef"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/ktouch.nix b/pkgs/applications/kde/ktouch.nix index 7e300ea7157..9d31d4ec62b 100644 --- a/pkgs/applications/kde/ktouch.nix +++ b/pkgs/applications/kde/ktouch.nix @@ -9,7 +9,7 @@ mkDerivation { - name = "ktouch"; + pname = "ktouch"; meta = { license = lib.licenses.gpl2; maintainers = [ lib.maintainers.schmittlauch ]; diff --git a/pkgs/applications/kde/kturtle.nix b/pkgs/applications/kde/kturtle.nix index c495b16fef7..d178f651545 100644 --- a/pkgs/applications/kde/kturtle.nix +++ b/pkgs/applications/kde/kturtle.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, knewstuff }: mkDerivation { - name = "kturtle"; + pname = "kturtle"; meta = with lib; { homepage = "https://kde.org/applications/en/utilities/org.kde.kturtle"; description = "An educational programming environment for learning how to program"; diff --git a/pkgs/applications/kde/kwalletmanager.nix b/pkgs/applications/kde/kwalletmanager.nix index e39e7e5157d..b5799a24e36 100644 --- a/pkgs/applications/kde/kwalletmanager.nix +++ b/pkgs/applications/kde/kwalletmanager.nix @@ -13,7 +13,7 @@ }: mkDerivation { - name = "kwalletmanager"; + pname = "kwalletmanager"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ fridh ]; diff --git a/pkgs/applications/kde/kwave.nix b/pkgs/applications/kde/kwave.nix index 1a831c7c8dd..125e79c2c3c 100644 --- a/pkgs/applications/kde/kwave.nix +++ b/pkgs/applications/kde/kwave.nix @@ -3,7 +3,7 @@ , libogg, libmad, libopus, libvorbis, fftw, librsvg, qtbase }: mkDerivation { - name = "kwave"; + pname = "kwave"; meta = with lib; { homepage = "https://kde.org/applications/en/multimedia/org.kde.kwave"; diff --git a/pkgs/applications/kde/libgravatar.nix b/pkgs/applications/kde/libgravatar.nix index 69a1b9e99cb..51e3391b8e7 100644 --- a/pkgs/applications/kde/libgravatar.nix +++ b/pkgs/applications/kde/libgravatar.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "libgravatar"; + pname = "libgravatar"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/libkcddb.nix b/pkgs/applications/kde/libkcddb.nix index 3fd48605654..3dde4960502 100644 --- a/pkgs/applications/kde/libkcddb.nix +++ b/pkgs/applications/kde/libkcddb.nix @@ -3,7 +3,7 @@ , libmusicbrainz5 }: mkDerivation { - name = "libkcddb"; + pname = "libkcddb"; meta = with lib; { license = with licenses; [ gpl2 lgpl21 bsd3 ]; maintainers = with maintainers; [ peterhoeg ]; diff --git a/pkgs/applications/kde/libkdcraw.nix b/pkgs/applications/kde/libkdcraw.nix index 70e3cb0e195..1419fb0e980 100644 --- a/pkgs/applications/kde/libkdcraw.nix +++ b/pkgs/applications/kde/libkdcraw.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, libraw, qtbase }: mkDerivation { - name = "libkdcraw"; + pname = "libkdcraw"; meta = { license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/libkdegames.nix b/pkgs/applications/kde/libkdegames.nix index 494b193b832..830837756b8 100644 --- a/pkgs/applications/kde/libkdegames.nix +++ b/pkgs/applications/kde/libkdegames.nix @@ -13,7 +13,7 @@ }: mkDerivation { - name = "libkdegames"; + pname = "libkdegames"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kdelibs4support qtdeclarative kdeclarative kdnssd knewstuff openal libsndfile diff --git a/pkgs/applications/kde/libkdepim.nix b/pkgs/applications/kde/libkdepim.nix index 92716e40a34..cc0c15a9e06 100644 --- a/pkgs/applications/kde/libkdepim.nix +++ b/pkgs/applications/kde/libkdepim.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "libkdepim"; + pname = "libkdepim"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/libkexiv2.nix b/pkgs/applications/kde/libkexiv2.nix index 8c8d244d6f6..8d9b3a82032 100644 --- a/pkgs/applications/kde/libkexiv2.nix +++ b/pkgs/applications/kde/libkexiv2.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, exiv2, extra-cmake-modules, qtbase }: mkDerivation { - name = "libkexiv2"; + pname = "libkexiv2"; meta = { license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/libkgapi.nix b/pkgs/applications/kde/libkgapi.nix index 0e1d71d2745..979ca7e2f45 100644 --- a/pkgs/applications/kde/libkgapi.nix +++ b/pkgs/applications/kde/libkgapi.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "libkgapi"; + pname = "libkgapi"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/libkipi.nix b/pkgs/applications/kde/libkipi.nix index c70d8407fc7..e94f0e6c4a8 100644 --- a/pkgs/applications/kde/libkipi.nix +++ b/pkgs/applications/kde/libkipi.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, kconfig, ki18n, kservice, kxmlgui }: mkDerivation { - name = "libkipi"; + pname = "libkipi"; meta = { license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/libkleo.nix b/pkgs/applications/kde/libkleo.nix index 0958a0e605f..dd17345c5f1 100644 --- a/pkgs/applications/kde/libkleo.nix +++ b/pkgs/applications/kde/libkleo.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "libkleo"; + pname = "libkleo"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/libkmahjongg.nix b/pkgs/applications/kde/libkmahjongg.nix index 295b9784268..b14e50f32bc 100644 --- a/pkgs/applications/kde/libkmahjongg.nix +++ b/pkgs/applications/kde/libkmahjongg.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "libkmahjongg"; + pname = "libkmahjongg"; meta = { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ ]; diff --git a/pkgs/applications/kde/libkomparediff2.nix b/pkgs/applications/kde/libkomparediff2.nix index cae2aec5668..93ac12d97d6 100644 --- a/pkgs/applications/kde/libkomparediff2.nix +++ b/pkgs/applications/kde/libkomparediff2.nix @@ -1,7 +1,7 @@ { mkDerivation, extra-cmake-modules, ki18n, kxmlgui, kcodecs, kio }: mkDerivation { - name = "libkomparediff2"; + pname = "libkomparediff2"; nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ kcodecs ki18n kxmlgui kio ]; } diff --git a/pkgs/applications/kde/libksane.nix b/pkgs/applications/kde/libksane.nix index f92f21de7fb..33a2ef48f90 100644 --- a/pkgs/applications/kde/libksane.nix +++ b/pkgs/applications/kde/libksane.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "libksane"; + pname = "libksane"; meta = with lib; { license = licenses.gpl2; maintainers = with maintainers; [ pshendry ]; diff --git a/pkgs/applications/kde/libksieve.nix b/pkgs/applications/kde/libksieve.nix index dd33f759c31..209647a4791 100644 --- a/pkgs/applications/kde/libksieve.nix +++ b/pkgs/applications/kde/libksieve.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "libksieve"; + pname = "libksieve"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/mailcommon.nix b/pkgs/applications/kde/mailcommon.nix index 44edea8f55e..c3a8659a735 100644 --- a/pkgs/applications/kde/mailcommon.nix +++ b/pkgs/applications/kde/mailcommon.nix @@ -7,7 +7,7 @@ }: mkDerivation { - name = "mailcommon"; + pname = "mailcommon"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/mailimporter.nix b/pkgs/applications/kde/mailimporter.nix index 5de58658777..b1e0461a959 100644 --- a/pkgs/applications/kde/mailimporter.nix +++ b/pkgs/applications/kde/mailimporter.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "mailimporter"; + pname = "mailimporter"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/marble.nix b/pkgs/applications/kde/marble.nix index f690e453361..525289bdc3b 100644 --- a/pkgs/applications/kde/marble.nix +++ b/pkgs/applications/kde/marble.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "marble"; + pname = "marble"; meta.license = with lib.licenses; [ lgpl21 gpl3 ]; outputs = [ "out" "dev" ]; nativeBuildInputs = [ extra-cmake-modules kdoctools perl ]; diff --git a/pkgs/applications/kde/mbox-importer.nix b/pkgs/applications/kde/mbox-importer.nix index 0704003353a..eadb27f05bc 100644 --- a/pkgs/applications/kde/mbox-importer.nix +++ b/pkgs/applications/kde/mbox-importer.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "mbox-importer"; + pname = "mbox-importer"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/messagelib.nix b/pkgs/applications/kde/messagelib.nix index e31e61d35ca..d47a5504417 100644 --- a/pkgs/applications/kde/messagelib.nix +++ b/pkgs/applications/kde/messagelib.nix @@ -9,7 +9,7 @@ }: mkDerivation { - name = "messagelib"; + pname = "messagelib"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/minuet.nix b/pkgs/applications/kde/minuet.nix index 2c0f0a5092d..ca7d6124ed5 100644 --- a/pkgs/applications/kde/minuet.nix +++ b/pkgs/applications/kde/minuet.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "minuet"; + pname = "minuet"; meta = with lib; { license = with licenses; [ lgpl21 gpl3 ]; maintainers = with maintainers; [ peterhoeg HaoZeke ]; diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix index 288b2ceb807..12537eba270 100644 --- a/pkgs/applications/kde/okular.nix +++ b/pkgs/applications/kde/okular.nix @@ -9,7 +9,7 @@ }: mkDerivation { - name = "okular"; + pname = "okular"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ breeze-icons discount djvulibre ebook_tools kactivities karchive kbookmarks diff --git a/pkgs/applications/kde/picmi.nix b/pkgs/applications/kde/picmi.nix index dd09e8f9cd8..25734e318ab 100644 --- a/pkgs/applications/kde/picmi.nix +++ b/pkgs/applications/kde/picmi.nix @@ -4,7 +4,7 @@ }: mkDerivation { - name = "picmi"; + pname = "picmi"; meta = with lib; { description = "Nonogram game"; longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or diff --git a/pkgs/applications/kde/pim-data-exporter.nix b/pkgs/applications/kde/pim-data-exporter.nix index 82cdf19df94..746bb2aec2a 100644 --- a/pkgs/applications/kde/pim-data-exporter.nix +++ b/pkgs/applications/kde/pim-data-exporter.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "pim-data-exporter"; + pname = "pim-data-exporter"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/pim-sieve-editor.nix b/pkgs/applications/kde/pim-sieve-editor.nix index c83df2e0e49..1f3f1542cdb 100644 --- a/pkgs/applications/kde/pim-sieve-editor.nix +++ b/pkgs/applications/kde/pim-sieve-editor.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "pim-sieve-editor"; + pname = "pim-sieve-editor"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/pimcommon.nix b/pkgs/applications/kde/pimcommon.nix index 2e74f528aeb..dff5e883cb5 100644 --- a/pkgs/applications/kde/pimcommon.nix +++ b/pkgs/applications/kde/pimcommon.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "pimcommon"; + pname = "pimcommon"; meta = { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; diff --git a/pkgs/applications/kde/print-manager.nix b/pkgs/applications/kde/print-manager.nix index f0501ffadee..2ea662419b1 100644 --- a/pkgs/applications/kde/print-manager.nix +++ b/pkgs/applications/kde/print-manager.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "print-manager"; + pname = "print-manager"; meta = { license = [ lib.licenses.gpl2 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/applications/kde/rocs.nix b/pkgs/applications/kde/rocs.nix index feae7ca81de..45362d556a7 100644 --- a/pkgs/applications/kde/rocs.nix +++ b/pkgs/applications/kde/rocs.nix @@ -6,7 +6,7 @@ }: mkDerivation { - name = "rocs"; + pname = "rocs"; meta = with lib; { homepage = "https://edu.kde.org/rocs/"; diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix index b980ea21df2..c6861b218de 100644 --- a/pkgs/applications/kde/spectacle.nix +++ b/pkgs/applications/kde/spectacle.nix @@ -8,7 +8,7 @@ }: mkDerivation { - name = "spectacle"; + pname = "spectacle"; meta = with lib; { maintainers = with maintainers; [ ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ diff --git a/pkgs/applications/kde/yakuake.nix b/pkgs/applications/kde/yakuake.nix index cb7f7070b24..492c00fcb49 100644 --- a/pkgs/applications/kde/yakuake.nix +++ b/pkgs/applications/kde/yakuake.nix @@ -5,7 +5,7 @@ }: mkDerivation { - name = "yakuake"; + pname = "yakuake"; buildInputs = [ karchive kcrash kdbusaddons ki18n kiconthemes knewstuff knotifications From 8ca03822ca17cae8a3293cd6319e5747a439d448 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 4 Nov 2020 08:55:32 +0100 Subject: [PATCH 089/162] poppler: 20.08.0 -> 20.12.1 - 20.09.0: https://lists.freedesktop.org/archives/poppler/2020-September/014432.html - 20.10.0: https://lists.freedesktop.org/archives/poppler/2020-October/014467.html - 20.11.0: https://lists.freedesktop.org/archives/poppler/2020-November/014499.html - 20.12.0: https://lists.freedesktop.org/archives/poppler/2020-December/014546.html - 20.12.1: https://lists.freedesktop.org/archives/poppler/2020-December/014562.html --- pkgs/development/libraries/poppler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 074868251d0..e7b9a26f19f 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { name = "poppler-${suffix}-${version}"; - version = "20.08.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! + version = "20.12.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! src = fetchurl { url = "${meta.homepage}/poppler-${version}.tar.xz"; - sha256 = "19gchq6fpa00ic5rn1zmjzxx85cif4hbdrsjcfd2aqxz9gqgwrdf"; + sha256 = "0dbv1y9i5ahg6namz6gw2d0njnmrigr4a80dbxvnqad4q232banh"; }; outputs = [ "out" "dev" ]; From 8cedad3fe60cc1350ffd639a283a480a8563757e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 24 Dec 2020 17:07:34 +0000 Subject: [PATCH 090/162] gtk-doc: 1.33.0 -> 1.33.1 --- pkgs/development/tools/documentation/gtk-doc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index 4645c63e71d..10b48d51191 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec { pname = "gtk-doc"; - version = "1.33.0"; + version = "1.33.1"; format = "other"; @@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec { owner = "GNOME"; repo = pname; rev = version; - sha256 = "ahOTEWwVVwHt8TDWBnPKHIAUq0GXllEvMRmaKul1Tq0="; + sha256 = "L9CjhZ60F42xbo50x7cdKfJrav/9mf38pff8S4xkEVo="; }; patches = [ From e8854bd7fb66446ef8699005069840cf1993fcec Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 22 Dec 2020 22:43:20 +0000 Subject: [PATCH 091/162] glib: 2.66.3 -> 2.66.4 --- pkgs/development/libraries/glib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 3382af17c35..57f05d410fb 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.66.3"; + version = "2.66.4"; src = fetchurl { url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1cdmyyycw2mf5s0f5sfd59q91223s4smcqi8n2fwrccwm5ji7wvr"; + sha256 = "l9+GcOMvn9T3OSsJgOZh3WJQEgFdWDUNoeWOND9K+YQ="; }; patches = optionals stdenv.isDarwin [ From 0fb4e8c4c3429399431ba90bf89f51422f3f80a3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 28 Dec 2020 02:19:17 +0100 Subject: [PATCH 092/162] gdk-pixbuf: enable debug info --- pkgs/development/libraries/gdk-pixbuf/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index f95818b399c..ad92bf13c4c 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -109,6 +109,8 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; + separateDebugInfo = stdenv.isLinux; + passthru = { updateScript = gnome3.updateScript { packageName = pname; From af802654b91e150fdaa8e32c29a0eefbdf953597 Mon Sep 17 00:00:00 2001 From: luc65r Date: Sun, 7 Jun 2020 21:29:56 +0200 Subject: [PATCH 093/162] use gcc10 instead of gcc9 --- pkgs/top-level/all-packages.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f6cdd5bf2a7..f7ec87355e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9145,10 +9145,9 @@ in gccFun = callPackage (if (with stdenv.targetPlatform; isVc4 || libc == "relibc") then ../development/compilers/gcc/6 - else ../development/compilers/gcc/9); + else ../development/compilers/gcc/10); gcc = if (with stdenv.targetPlatform; isVc4 || libc == "relibc") - then gcc6 else gcc9; - + then gcc6 else gcc10; gcc-unwrapped = gcc.cc; gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override { From b1b3ca79073ba82b551906fd11cc0ca086f81894 Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 8 Jun 2020 12:12:21 +0200 Subject: [PATCH 094/162] gcc: make -fcommon default on gcc10 --- pkgs/development/compilers/gcc/common/configure-flags.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix index 7e0d691412b..e6f3da0fd03 100644 --- a/pkgs/development/compilers/gcc/common/configure-flags.nix +++ b/pkgs/development/compilers/gcc/common/configure-flags.nix @@ -194,6 +194,9 @@ let ++ lib.optionals (langD) [ "--with-target-system-zlib=yes" ] + # Make -fcommon default on gcc10 + # TODO: fix all packages (probably 100+) and remove that + ++ lib.optional (version >= "10.1.0") "--with-specs=%{!fno-common:%{!fcommon:-fcommon}}" ; in configureFlags From 9544382a41cee3a032cc8a7c21163a8399520197 Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 8 Jun 2020 12:14:17 +0200 Subject: [PATCH 095/162] libomxil-bellagio: fix build with gcc10 --- pkgs/development/libraries/libomxil-bellagio/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libomxil-bellagio/default.nix b/pkgs/development/libraries/libomxil-bellagio/default.nix index 5f583d53abf..854c2732c12 100644 --- a/pkgs/development/libraries/libomxil-bellagio/default.nix +++ b/pkgs/development/libraries/libomxil-bellagio/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { # Fix for #40213, probably permanent, because upstream doesn't seem to be # developed anymore. Alternatively, gcc7Stdenv could be used. - NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds"; + NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds -Wno-error=stringop-overflow=8"; meta = with stdenv.lib; { homepage = "https://sourceforge.net/projects/omxil/"; From 2fba99c47cfbf57b2ca1faeea7e57d4bac223194 Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 8 Jun 2020 13:07:37 +0200 Subject: [PATCH 096/162] game-music-emu: 0.6.1 -> 0.6.3 --- pkgs/applications/audio/game-music-emu/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/game-music-emu/default.nix b/pkgs/applications/audio/game-music-emu/default.nix index 51f895ea2d5..7cc431583ed 100644 --- a/pkgs/applications/audio/game-music-emu/default.nix +++ b/pkgs/applications/audio/game-music-emu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, cmake }: stdenv.mkDerivation rec { - version = "0.6.1"; + version = "0.6.3"; pname = "game-music-emu"; src = fetchurl { - url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${pname}-${version}.tar.bz2"; - sha256 = "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw"; + url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${pname}-${version}.tar.xz"; + sha256 = "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb"; }; buildInputs = [ cmake ]; @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { description = "A collection of video game music file emulators"; license = licenses.lgpl21Plus; platforms = platforms.all; - maintainers = [ ]; + maintainers = with maintainers; [ luc65r ]; }; } From 5a25e3e7e9a27e7195289d954c24b42640bc9567 Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 8 Jun 2020 14:21:49 +0200 Subject: [PATCH 097/162] dhcp: fix build with gcc10 --- pkgs/tools/networking/dhcp/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix index 5222f731efb..f0d465a40e9 100644 --- a/pkgs/tools/networking/dhcp/default.nix +++ b/pkgs/tools/networking/dhcp/default.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation rec { "-Wno-error=format-truncation" "-Wno-error=stringop-truncation" "-Wno-error=format-overflow" + "-Wno-error=stringop-overflow=8" ]; installFlags = [ "DESTDIR=\${out}" ]; From 3205b32bf6967f224f6dd55d1c98fdbe7fdde3df Mon Sep 17 00:00:00 2001 From: luc65r Date: Sat, 14 Nov 2020 17:35:53 +0100 Subject: [PATCH 098/162] Revert commits on binutils for OpenRISC 1000 This reverts commits ebd89f6de1894f3c3d22e4bb8cb879be7e9556b3 c6f6db77ac53e84006353396283d271cb1b22460 257fb62387f1324a9cb75465dceb3d84eefc2b4d dbe556af9cb9d00c6c50d76a1c1abade5455ab2f --- pkgs/development/libraries/libbfd/default.nix | 2 +- .../libraries/libopcodes/default.nix | 2 +- ...OPERTY_X86_ISA_1_USED-note-if-needed.patch | 0 ...operly-add-X86_ISA_1_NEEDED-property.patch | 0 ...ly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch | 0 .../2.31 => }/always-search-rpath.patch | 0 .../build-components-separately.patch | 0 .../tools/misc/binutils/default.nix | 83 ++++----- .../{patches/2.31 => }/deterministic.patch | 0 .../2.31 => }/disambiguate-arm-targets.patch | 0 .../2.31 => }/gold-symbol-visibility.patch | 0 .../{patches/2.31 => }/no-plugins.patch | 0 .../patches/2.34/always-search-rpath.patch | 14 -- .../2.34/build-components-separately.patch | 164 ------------------ .../binutils/patches/2.34/deterministic.patch | 12 -- .../2.34/disambiguate-arm-targets.patch | 23 --- .../binutils/patches/2.34/no-plugins.patch | 21 --- 17 files changed, 31 insertions(+), 290 deletions(-) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/always-search-rpath.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/build-components-separately.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/deterministic.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/disambiguate-arm-targets.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/gold-symbol-visibility.patch (100%) rename pkgs/development/tools/misc/binutils/{patches/2.31 => }/no-plugins.patch (100%) delete mode 100644 pkgs/development/tools/misc/binutils/patches/2.34/always-search-rpath.patch delete mode 100644 pkgs/development/tools/misc/binutils/patches/2.34/build-components-separately.patch delete mode 100644 pkgs/development/tools/misc/binutils/patches/2.34/deterministic.patch delete mode 100644 pkgs/development/tools/misc/binutils/patches/2.34/disambiguate-arm-targets.patch delete mode 100644 pkgs/development/tools/misc/binutils/patches/2.34/no-plugins.patch diff --git a/pkgs/development/libraries/libbfd/default.nix b/pkgs/development/libraries/libbfd/default.nix index e622cc6be68..75db780b7bb 100644 --- a/pkgs/development/libraries/libbfd/default.nix +++ b/pkgs/development/libraries/libbfd/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; patches = binutils-unwrapped.patches ++ [ - (binutils-unwrapped.patchesDir + "/build-components-separately.patch") + ../../tools/misc/binutils/build-components-separately.patch (fetchpatch { url = "https://raw.githubusercontent.com/mxe/mxe/e1d4c144ee1994f70f86cf7fd8168fe69bd629c6/src/bfd-1-disable-subdir-doc.patch"; sha256 = "0pzb3i74d1r7lhjan376h59a7kirw15j7swwm8pz3zy9lkdqkj6q"; diff --git a/pkgs/development/libraries/libopcodes/default.nix b/pkgs/development/libraries/libopcodes/default.nix index f596ddfafc4..8db034683dc 100644 --- a/pkgs/development/libraries/libopcodes/default.nix +++ b/pkgs/development/libraries/libopcodes/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { outputs = [ "out" "dev" ]; patches = binutils-unwrapped.patches ++ [ - (binutils-unwrapped.patchesDir + "/build-components-separately.patch") + ../../tools/misc/binutils/build-components-separately.patch ]; # We just want to build libopcodes diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch b/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch rename to pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch b/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch rename to pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch b/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch rename to pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/always-search-rpath.patch b/pkgs/development/tools/misc/binutils/always-search-rpath.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/always-search-rpath.patch rename to pkgs/development/tools/misc/binutils/always-search-rpath.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/build-components-separately.patch b/pkgs/development/tools/misc/binutils/build-components-separately.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/build-components-separately.patch rename to pkgs/development/tools/misc/binutils/build-components-separately.patch diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 978ec3f2f99..8359983fd66 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -8,7 +8,6 @@ , bison ? null , flex , texinfo -, perl }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -22,10 +21,7 @@ let # Remove gold-symbol-visibility patch when updating, the proper fix # is now upstream. # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3 - version = "${minorVersion}${patchVersion}"; - minorVersion = if stdenv.targetPlatform.isOr1k then "2.34" else "2.31"; - patchVersion = if stdenv.targetPlatform.isOr1k then "" else ".1"; - + version = "2.31.1"; basename = "binutils"; # The targetPrefix prepended to binary names to allow multiple binuntils on the # PATH to both be usable. @@ -37,49 +33,33 @@ let rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36"; sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63"; }; - - # binutils sources not part of the bootstrap. - non-boot-src = (fetchurl { - url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2"; - sha256 = { - "2.31.1" = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z"; - "2.34" = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49"; - }.${version}; - }); - # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM - normal-src = stdenv.__bootPackages.binutils-unwrapped.src or non-boot-src; - - # Platforms where we directly use the final source. - # Generally for cross-compiled platforms, where the boot source won't compile. - skipBootSrc = stdenv.targetPlatform.isOr1k; - - # Select the specific source according to the platform in use. - src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src - else if skipBootSrc then non-boot-src - else normal-src; - - patchesDir = ./patches + "/${minorVersion}"; + normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl { + url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2"; + sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z"; + }); in stdenv.mkDerivation { pname = targetPrefix + basename; - inherit src version; + inherit version; + + src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src; patches = [ # Make binutils output deterministic by default. - "${patchesDir}/deterministic.patch" + ./deterministic.patch # Bfd looks in BINDIR/../lib for some plugins that don't # exist. This is pointless (since users can't install plugins # there) and causes a cycle between the lib and bin outputs, so # get rid of it. - "${patchesDir}/no-plugins.patch" + ./no-plugins.patch # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and # elf32-littlearm-vxworks in favor of the first. # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766 - "${patchesDir}/disambiguate-arm-targets.patch" + ./disambiguate-arm-targets.patch # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's # not clear why this behavior was decided upon but it has the unfortunate @@ -87,38 +67,33 @@ stdenv.mkDerivation { # shared objects when cross-compiling. Consequently, we are forced to # override this behavior, forcing ld to search DT_RPATH even when # cross-compiling. - "${patchesDir}/always-search-rpath.patch" - ] - # For version 2.31 exclusively - ++ lib.optionals (!stdenv.targetPlatform.isVc4 && minorVersion == "2.31") [ + ./always-search-rpath.patch + + ] ++ lib.optionals (!stdenv.targetPlatform.isVc4) + [ # https://sourceware.org/bugzilla/show_bug.cgi?id=22868 - ./patches/2.31/gold-symbol-visibility.patch + ./gold-symbol-visibility.patch # https://sourceware.org/bugzilla/show_bug.cgi?id=23428 # un-break features so linking against musl doesn't produce crash-only binaries - ./patches/2.31/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch - ./patches/2.31/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch - ./patches/2.31/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch - ] - ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch - ++ # This patch was suggested by Nick Clifton to fix - # https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - # It can be removed when that 7-year-old bug is closed. - # This binutils bug causes GHC to emit broken binaries on armv7, and - # indeed GHC will refuse to compile with a binutils suffering from it. See - # this comment for more information: - # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333 - lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch - ; + ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch + ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch + ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch + ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch + ++ # This patch was suggested by Nick Clifton to fix + # https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + # It can be removed when that 7-year-old bug is closed. + # This binutils bug causes GHC to emit broken binaries on armv7, and + # indeed GHC will refuse to compile with a binutils suffering from it. See + # this comment for more information: + # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333 + lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch; outputs = [ "out" "info" "man" ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison - ] ++ lib.optionals (lib.versionAtLeast version "2.34") [ - perl - texinfo ] ++ (lib.optionals stdenv.targetPlatform.isiOS [ autoreconfHook ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ]; @@ -182,7 +157,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; passthru = { - inherit targetPrefix patchesDir; + inherit targetPrefix; }; meta = with lib; { diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/deterministic.patch b/pkgs/development/tools/misc/binutils/deterministic.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/deterministic.patch rename to pkgs/development/tools/misc/binutils/deterministic.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/disambiguate-arm-targets.patch b/pkgs/development/tools/misc/binutils/disambiguate-arm-targets.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/disambiguate-arm-targets.patch rename to pkgs/development/tools/misc/binutils/disambiguate-arm-targets.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/gold-symbol-visibility.patch b/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/gold-symbol-visibility.patch rename to pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.31/no-plugins.patch b/pkgs/development/tools/misc/binutils/no-plugins.patch similarity index 100% rename from pkgs/development/tools/misc/binutils/patches/2.31/no-plugins.patch rename to pkgs/development/tools/misc/binutils/no-plugins.patch diff --git a/pkgs/development/tools/misc/binutils/patches/2.34/always-search-rpath.patch b/pkgs/development/tools/misc/binutils/patches/2.34/always-search-rpath.patch deleted file mode 100644 index 2e9956e6b6e..00000000000 --- a/pkgs/development/tools/misc/binutils/patches/2.34/always-search-rpath.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/ld/genscripts.sh b/ld/genscripts.sh -index b6940d376d..0feb1adfd0 100755 ---- a/ld/genscripts.sh -+++ b/ld/genscripts.sh -@@ -125,6 +125,9 @@ if test "x$NATIVE" = "xyes" ; then - USE_LIBPATH=yes - fi - -+# TODO: why is this needed? -+USE_LIBPATH=yes -+ - # Set the library search path, for libraries named by -lfoo. - # If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used. - # Otherwise, the default is set here. diff --git a/pkgs/development/tools/misc/binutils/patches/2.34/build-components-separately.patch b/pkgs/development/tools/misc/binutils/patches/2.34/build-components-separately.patch deleted file mode 100644 index 38fa4934a28..00000000000 --- a/pkgs/development/tools/misc/binutils/patches/2.34/build-components-separately.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff --git a/bfd/configure.ac b/bfd/configure.ac -index c5bfbd5d..45ad4c26 100644 ---- a/bfd/configure.ac -+++ b/bfd/configure.ac -@@ -278,31 +278,19 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, - - LT_LIB_M - --# When building a shared libbfd, link against the pic version of libiberty --# so that apps that use libbfd won't need libiberty just to satisfy any --# libbfd references. --# We can't do that if a pic libiberty is unavailable since including non-pic --# code would insert text relocations into libbfd. - SHARED_LIBADD= --SHARED_LDFLAGS= -+SHARED_LDFLAGS=-liberty - if test "$enable_shared" = "yes"; then --changequote(,)dnl -- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` --changequote([,])dnl -- if test -n "$x"; then -- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" -- fi -- - case "${host}" in - # More hacks to build DLLs on Windows. - *-*-cygwin*) - SHARED_LDFLAGS="-no-undefined" -- SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32" -+ SHARED_LIBADD="-liberty -lintl -lcygwin -lkernel32" - ;; - - # Use built-in libintl on macOS, since it is not provided by libc. - *-*-darwin*) -- SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl" -+ SHARED_LIBADD="-liberty -lintl" - ;; - esac - -diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am -index 4f06074a..6836c589 100644 ---- a/opcodes/Makefile.am -+++ b/opcodes/Makefile.am -@@ -51,7 +51,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir) - endif - - # This is where bfd.h lives. --BFD_H = ../bfd/bfd.h -+BFD_H = $(BFDDIR)/bfd.h - - BUILD_LIBS = @BUILD_LIBS@ - BUILD_LIB_DEPS = @BUILD_LIB_DEPS@ -@@ -301,7 +301,7 @@ OFILES = @BFD_MACHINES@ - # development.sh is used to determine -Werror default. - CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh - --AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@ -+AM_CPPFLAGS = -I. -I$(srcdir) -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@ - - disassemble.lo: disassemble.c - if am__fastdepCC -@@ -322,12 +322,21 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c - # old version of libbfd, or to pick up libbfd for the wrong architecture - # if host != build. So for building with shared libraries we use a - # hardcoded path to libbfd.so instead of relying on the entries in libbfd.la. --libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ -+libopcodes_la_DEPENDENCIES = $(OFILES) @SHARED_DEPENDENCIES@ libtool-soversion - libopcodes_la_LIBADD = $(OFILES) @SHARED_LIBADD@ --libopcodes_la_LDFLAGS += -release `cat ../bfd/libtool-soversion` @SHARED_LDFLAGS@ -+libopcodes_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@ - # Allow dependency tracking to work on all the source files. - EXTRA_libopcodes_la_SOURCES = $(LIBOPCODES_CFILES) - -+libtool-soversion: -+ @echo "creating $@" -+ bfd_soversion="$(VERSION)" ;\ -+ . $(BFDDIR)/development.sh ;\ -+ if test "$$development" = true ; then \ -+ bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ -+ fi ;\ -+ echo "$${bfd_soversion}" > $@ -+ - # libtool will build .libs/libopcodes.a. We create libopcodes.a in - # the build directory so that we don't have to convert all the - # programs that use libopcodes.a simultaneously. This is a hack which -diff --git a/opcodes/configure.ac b/opcodes/configure.ac -index 00be9c88..6e589ae4 100644 ---- a/opcodes/configure.ac -+++ b/opcodes/configure.ac -@@ -86,6 +86,7 @@ AC_PROG_INSTALL - - AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h) - ACX_HEADER_STRING -+GCC_HEADER_STDINT(bfd_stdint.h) - - AC_CHECK_DECLS([basename, stpcpy]) - -@@ -137,61 +138,27 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, - - LT_LIB_M - --#Libs for generator progs --if test "x$cross_compiling" = "xno"; then -- BUILD_LIBS=../libiberty/libiberty.a -- BUILD_LIB_DEPS=$BUILD_LIBS --else -- # if cross-compiling, assume that the system provides -liberty -- # and that the version is compatible with new headers. -- BUILD_LIBS=-liberty -- BUILD_LIB_DEPS= --fi --BUILD_LIBS="$BUILD_LIBS $LIBINTL" --BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP" -+BUILD_LIBS="-liberty $LIBINTL" -+BUILD_LIB_DEPS="$LIBINTL_DEP" - - AC_SUBST(BUILD_LIBS) - AC_SUBST(BUILD_LIB_DEPS) - - # Horrible hacks to build DLLs on Windows and a shared library elsewhere. - SHARED_LDFLAGS= --SHARED_LIBADD= -+SHARED_LIBADD=-liberty - SHARED_DEPENDENCIES= - if test "$enable_shared" = "yes"; then --# When building a shared libopcodes, link against the pic version of libiberty --# so that apps that use libopcodes won't need libiberty just to satisfy any --# libopcodes references. --# We can't do that if a pic libiberty is unavailable since including non-pic --# code would insert text relocations into libopcodes. - # Note that linking against libbfd as we do here, which is itself linked - # against libiberty, may not satisfy all the libopcodes libiberty references - # since libbfd may not pull in the entirety of libiberty. --changequote(,)dnl -- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` --changequote([,])dnl -- if test -n "$x"; then -- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" -- fi -- - case "${host}" in - *-*-cygwin*) - SHARED_LDFLAGS="-no-undefined" -- SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin" -+ SHARED_LIBADD="-lbfd -liberty -lintl -lcygwin" - ;; -- *-*-darwin*) -- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}" -- SHARED_DEPENDENCIES="../bfd/libbfd.la" -- ;; - *) -- case "$host_vendor" in -- hp) -- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}" -- ;; -- *) -- SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}" -- ;; -- esac -- SHARED_DEPENDENCIES="../bfd/libbfd.la" -+ SHARED_LIBADD="-lbfd ${SHARED_LIBADD}" - ;; - esac - diff --git a/pkgs/development/tools/misc/binutils/patches/2.34/deterministic.patch b/pkgs/development/tools/misc/binutils/patches/2.34/deterministic.patch deleted file mode 100644 index 736e0aca6ce..00000000000 --- a/pkgs/development/tools/misc/binutils/patches/2.34/deterministic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur orig/binutils-2.23.1/ld/ldlang.c binutils-2.23.1/ld/ldlang.c ---- orig/ld/ldlang.c -+++ new/ld/ldlang.c -@@ -3095,6 +3095,8 @@ - ldfile_output_machine)) - einfo (_("%P%F:%s: can not set architecture: %E\n"), name); - -+ link_info.output_bfd->flags |= BFD_DETERMINISTIC_OUTPUT; -+ - link_info.hash = bfd_link_hash_table_create (link_info.output_bfd); - if (link_info.hash == NULL) - einfo (_("%P%F: can not create hash table: %E\n")); diff --git a/pkgs/development/tools/misc/binutils/patches/2.34/disambiguate-arm-targets.patch b/pkgs/development/tools/misc/binutils/patches/2.34/disambiguate-arm-targets.patch deleted file mode 100644 index abbfa73da05..00000000000 --- a/pkgs/development/tools/misc/binutils/patches/2.34/disambiguate-arm-targets.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c -index 9f956d3..f5b61f1 100644 ---- a/bfd/elf32-arm.c -+++ b/bfd/elf32-arm.c -@@ -19585,7 +19585,10 @@ elf32_arm_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker) - #undef ELF_MAXPAGESIZE - #define ELF_MAXPAGESIZE 0x1000 - -+/* Prioritize elf32-*arm (priority 1) over elf32-*arm-vxworks (priority 2) */ -+#define elf_match_priority 2 - #include "elf32-target.h" -+#undef elf_match_priority - - - /* Merge backend specific data from an object file to the output -@@ -19974,4 +19977,7 @@ elf32_arm_symbian_plt_sym_val (bfd_vma i, const asection *plt, - #undef ELF_MAXPAGESIZE - #define ELF_MAXPAGESIZE 0x8000 - -+/* Prioritize elf32-*arm (priority 1) over elf32-*arm-symbian (priority 2) */ -+#define elf_match_priority 2 - #include "elf32-target.h" -+#undef elf_match_priority diff --git a/pkgs/development/tools/misc/binutils/patches/2.34/no-plugins.patch b/pkgs/development/tools/misc/binutils/patches/2.34/no-plugins.patch deleted file mode 100644 index 68cf51b7dd3..00000000000 --- a/pkgs/development/tools/misc/binutils/patches/2.34/no-plugins.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/bfd/plugin.c b/bfd/plugin.c -index 537ab60311..bfe7957f96 100644 ---- a/bfd/plugin.c -+++ b/bfd/plugin.c -@@ -386,6 +386,7 @@ load_plugin (bfd *abfd) - if (plugin_program_name == NULL) - return found; - -+#if 0 - /* Try not to search the same dir twice, by looking at st_dev and - st_ino for the dir. If we are on a file system that always sets - st_ino to zero or the actual st_ino is zero we might waste some -@@ -437,7 +438,7 @@ load_plugin (bfd *abfd) - if (found) - break; - } -- -+#endif - return found; - } - From dde943e5356b3c26cad31bfe5379e880007643e4 Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 8 Jun 2020 23:01:59 +0200 Subject: [PATCH 099/162] Revert "Revert "Merge pull request #86954 from lovesegfault/binutils-2.34"" This reverts commit 24c96b92595e18e73645715427bba32adbaf7677. --- pkgs/development/libraries/glibc/common.nix | 2 +- ...OPERTY_X86_ISA_1_USED-note-if-needed.patch | 517 ---------------- ...operly-add-X86_ISA_1_NEEDED-property.patch | 137 ---- ...ly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch | 583 ------------------ .../tools/misc/binutils/default.nix | 22 +- .../binutils/gold-symbol-visibility.patch | 79 --- .../tools/misc/binutils/no-plugins.patch | 26 +- 7 files changed, 21 insertions(+), 1345 deletions(-) delete mode 100644 pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch delete mode 100644 pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch delete mode 100644 pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch delete mode 100644 pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index dd76745e1fe..74f8329788a 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -214,7 +214,7 @@ stdenv.mkDerivation ({ configureScript="`pwd`/../$sourceRoot/configure" ${lib.optionalString (stdenv.cc.libc != null) - ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"'' + ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib OBJDUMP=${stdenv.cc.bintools.bintools}/bin/objdump"'' } diff --git a/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch b/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch deleted file mode 100644 index 5a047b0f070..00000000000 --- a/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch +++ /dev/null @@ -1,517 +0,0 @@ -From 6737a6b34f4823deb7142f27b4074831a37ac1e1 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Fri, 20 Jul 2018 09:18:47 -0700 -Subject: [PATCH] x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed - -When -z separate-code, which is enabled by default for Linux/x86, is -used to create executable, ld won't place any data in the code-only -PT_LOAD segment. If there are no data sections placed before the -code-only PT_LOAD segment, the program headers won't be mapped into -any PT_LOAD segment. When the executable tries to access it (based -on the program header address passed in AT_PHDR), it will lead to -segfault. This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if -there may be no data sections before the text section so that the -first PT_LOAD segment won't be code-only and will contain the program -header. - -Testcases are adjusted to either pass "-z noseparate-code" to ld or -discard the .note.gnu.property section. A Linux/x86 run-time test is -added. - -bfd/ - - PR ld/23428 - * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the - separate code program header is needed, make sure that the first - read-only PT_LOAD segment has no code by adding a - GNU_PROPERTY_X86_ISA_1_USED note. - -ld/ - - PR ld/23428 - * testsuite/ld-elf/linux-x86.S: New file. - * testsuite/ld-elf/linux-x86.exp: Likewise. - * testsuite/ld-elf/pr23428.c: Likewise. - * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld - for Linux/x86 targets. - * testsuite/ld-i386/abs-iamcu.d: Likewise. - * testsuite/ld-i386/abs.d: Likewise. - * testsuite/ld-i386/pr12718.d: Likewise. - * testsuite/ld-i386/pr12921.d: Likewise. - * testsuite/ld-x86-64/abs-k1om.d: Likewise. - * testsuite/ld-x86-64/abs-l1om.d: Likewise. - * testsuite/ld-x86-64/abs.d: Likewise. - * testsuite/ld-x86-64/pr12718.d: Likewise. - * testsuite/ld-x86-64/pr12921.d: Likewise. - * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property - section. - * testsuite/ld-scripts/print-memory-usage.t: Likewise. - * testsuite/ld-scripts/size-2.t: Likewise. - * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld - to create executable if language is "asm". - -(cherry picked from commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5) ---- - bfd/elfxx-x86.c | 60 ++++++++++++++----- - ld/testsuite/ld-elf/linux-x86.S | 63 ++++++++++++++++++++ - ld/testsuite/ld-elf/linux-x86.exp | 46 ++++++++++++++ - ld/testsuite/ld-elf/pr23428.c | 43 +++++++++++++ - ld/testsuite/ld-elf/sec64k.exp | 2 + - ld/testsuite/ld-i386/abs-iamcu.d | 2 +- - ld/testsuite/ld-i386/abs.d | 2 +- - ld/testsuite/ld-i386/pr12718.d | 2 +- - ld/testsuite/ld-i386/pr12921.d | 2 +- - ld/testsuite/ld-linkonce/zeroeh.ld | 1 + - ld/testsuite/ld-scripts/print-memory-usage.t | 2 + - ld/testsuite/ld-scripts/size-2.t | 1 + - ld/testsuite/ld-x86-64/abs-k1om.d | 2 +- - ld/testsuite/ld-x86-64/abs-l1om.d | 2 +- - ld/testsuite/ld-x86-64/abs.d | 2 +- - ld/testsuite/ld-x86-64/pr12718.d | 2 +- - ld/testsuite/ld-x86-64/pr12921.d | 2 +- - ld/testsuite/lib/ld-lib.exp | 5 +- - 20 files changed, 248 insertions(+), 25 deletions(-) - create mode 100644 ld/testsuite/ld-elf/linux-x86.S - create mode 100644 ld/testsuite/ld-elf/linux-x86.exp - create mode 100644 ld/testsuite/ld-elf/pr23428.c - -diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c -index a2497aab86..2e4ff88f1f 100644 ---- a/bfd/elfxx-x86.c -+++ b/bfd/elfxx-x86.c -@@ -2524,6 +2524,7 @@ _bfd_x86_elf_link_setup_gnu_properties - const struct elf_backend_data *bed; - unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2; - unsigned int got_align; -+ bfd_boolean has_text = FALSE; - - features = 0; - if (info->ibt) -@@ -2538,24 +2539,59 @@ _bfd_x86_elf_link_setup_gnu_properties - if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour - && bfd_count_sections (pbfd) != 0) - { -+ if (!has_text) -+ { -+ /* Check if there is no non-empty text section. */ -+ sec = bfd_get_section_by_name (pbfd, ".text"); -+ if (sec != NULL && sec->size != 0) -+ has_text = TRUE; -+ } -+ - ebfd = pbfd; - - if (elf_properties (pbfd) != NULL) - break; - } - -- if (ebfd != NULL && features) -+ bed = get_elf_backend_data (info->output_bfd); -+ -+ htab = elf_x86_hash_table (info, bed->target_id); -+ if (htab == NULL) -+ return pbfd; -+ -+ if (ebfd != NULL) - { -- /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and -- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ -- prop = _bfd_elf_get_property (ebfd, -- GNU_PROPERTY_X86_FEATURE_1_AND, -- 4); -- prop->u.number |= features; -- prop->pr_kind = property_number; -+ prop = NULL; -+ if (features) -+ { -+ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and -+ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ -+ prop = _bfd_elf_get_property (ebfd, -+ GNU_PROPERTY_X86_FEATURE_1_AND, -+ 4); -+ prop->u.number |= features; -+ prop->pr_kind = property_number; -+ } -+ else if (has_text -+ && elf_properties (ebfd) == NULL -+ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL -+ && !htab->elf.dynamic_sections_created -+ && !info->traditional_format -+ && (info->output_bfd->flags & D_PAGED) != 0 -+ && info->separate_code) -+ { -+ /* If the separate code program header is needed, make sure -+ that the first read-only PT_LOAD segment has no code by -+ adding a GNU_PROPERTY_X86_ISA_1_USED note. */ -+ prop = _bfd_elf_get_property (ebfd, -+ GNU_PROPERTY_X86_ISA_1_USED, -+ 4); -+ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; -+ prop->pr_kind = property_number; -+ } - - /* Create the GNU property note section if needed. */ -- if (pbfd == NULL) -+ if (prop != NULL && pbfd == NULL) - { - sec = bfd_make_section_with_flags (ebfd, - NOTE_GNU_PROPERTY_SECTION_NAME, -@@ -2581,12 +2617,6 @@ error_alignment: - - pbfd = _bfd_elf_link_setup_gnu_properties (info); - -- bed = get_elf_backend_data (info->output_bfd); -- -- htab = elf_x86_hash_table (info, bed->target_id); -- if (htab == NULL) -- return pbfd; -- - htab->r_info = init_table->r_info; - htab->r_sym = init_table->r_sym; - -diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S -new file mode 100644 -index 0000000000..bdf40c6e01 ---- /dev/null -+++ b/ld/testsuite/ld-elf/linux-x86.S -@@ -0,0 +1,63 @@ -+ .text -+ .globl _start -+ .type _start,@function -+ .p2align 4 -+_start: -+ xorl %ebp, %ebp -+#ifdef __LP64__ -+ popq %rdi -+ movq %rsp, %rsi -+ andq $~15, %rsp -+#elif defined __x86_64__ -+ mov (%rsp),%edi -+ addl $4,%esp -+ movl %esp, %esi -+ andl $~15, %esp -+#else -+ popl %esi -+ movl %esp, %ecx -+ andl $~15, %esp -+ -+ subl $8,%esp -+ pushl %ecx -+ pushl %esi -+#endif -+ -+ call main -+ -+ hlt -+ -+ .type syscall, @function -+ .globl syscall -+ .p2align 4 -+syscall: -+#ifdef __x86_64__ -+ movq %rdi, %rax /* Syscall number -> rax. */ -+ movq %rsi, %rdi /* shift arg1 - arg5. */ -+ movq %rdx, %rsi -+ movq %rcx, %rdx -+ movq %r8, %r10 -+ movq %r9, %r8 -+ movq 8(%rsp),%r9 /* arg6 is on the stack. */ -+ syscall /* Do the system call. */ -+#else -+ push %ebp -+ push %edi -+ push %esi -+ push %ebx -+ mov 0x2c(%esp),%ebp -+ mov 0x28(%esp),%edi -+ mov 0x24(%esp),%esi -+ mov 0x20(%esp),%edx -+ mov 0x1c(%esp),%ecx -+ mov 0x18(%esp),%ebx -+ mov 0x14(%esp),%eax -+ int $0x80 -+ pop %ebx -+ pop %esi -+ pop %edi -+ pop %ebp -+#endif -+ ret /* Return to caller. */ -+ .size syscall, .-syscall -+ .section .note.GNU-stack,"",@progbits -diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp -new file mode 100644 -index 0000000000..36217c6fb4 ---- /dev/null -+++ b/ld/testsuite/ld-elf/linux-x86.exp -@@ -0,0 +1,46 @@ -+# Expect script for simple native Linux/x86 tests. -+# Copyright (C) 2018 Free Software Foundation, Inc. -+# -+# This file is part of the GNU Binutils. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, -+# MA 02110-1301, USA. -+# -+ -+# Test very simple native Linux/x86 programs with linux-x86.S. -+if { ![isnative] || [which $CC] == 0 \ -+ || (![istarget "i?86-*-linux*"] \ -+ && ![istarget "x86_64-*-linux*"] \ -+ && ![istarget "amd64-*-linux*"]) } { -+ return -+} -+ -+# Add $PLT_CFLAGS if PLT is expected. -+global PLT_CFLAGS -+# Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if non-PIE is required. -+global NOPIE_CFLAGS NOPIE_LDFLAGS -+ -+run_ld_link_exec_tests [list \ -+ [list \ -+ "Run PR ld/23428 test" \ -+ "--no-dynamic-linker -z separate-code" \ -+ "" \ -+ { linux-x86.S pr23428.c } \ -+ "pr23428" \ -+ "pass.out" \ -+ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ -+ "asm" \ -+ ] \ -+] -diff --git a/ld/testsuite/ld-elf/pr23428.c b/ld/testsuite/ld-elf/pr23428.c -new file mode 100644 -index 0000000000..3631ed7926 ---- /dev/null -+++ b/ld/testsuite/ld-elf/pr23428.c -@@ -0,0 +1,43 @@ -+#include -+#include -+#include -+ -+#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1) -+ -+int -+main (int argc, char **argv) -+{ -+ char **ev = &argv[argc + 1]; -+ char **evp = ev; -+ ElfW(auxv_t) *av; -+ const ElfW(Phdr) *phdr = NULL; -+ size_t phnum = 0; -+ size_t loadnum = 0; -+ int fd = STDOUT_FILENO; -+ size_t i; -+ -+ while (*evp++ != NULL) -+ ; -+ -+ av = (ElfW(auxv_t) *) evp; -+ -+ for (; av->a_type != AT_NULL; ++av) -+ switch (av->a_type) -+ { -+ case AT_PHDR: -+ phdr = (const void *) av->a_un.a_val; -+ break; -+ case AT_PHNUM: -+ phnum = av->a_un.a_val; -+ break; -+ } -+ -+ for (i = 0; i < phnum; i++, phdr++) -+ if (phdr->p_type == PT_LOAD) -+ loadnum++; -+ -+ syscall (SYS_write, fd, STRING_COMMA_LEN ("PASS\n")); -+ -+ syscall (SYS_exit, !loadnum); -+ return 0; -+} -diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp -index b58139e9dd..3909c0eaa1 100644 ---- a/ld/testsuite/ld-elf/sec64k.exp -+++ b/ld/testsuite/ld-elf/sec64k.exp -@@ -177,6 +177,8 @@ if { ![istarget "d10v-*-*"] - foreach sfile $sfiles { puts $ofd "#source: $sfile" } - if { [istarget spu*-*-*] } { - puts $ofd "#ld: --local-store 0:0" -+ } elseif { [istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"] } { -+ puts $ofd "#ld: -z noseparate-code" - } else { - puts $ofd "#ld:" - } -diff --git a/ld/testsuite/ld-i386/abs-iamcu.d b/ld/testsuite/ld-i386/abs-iamcu.d -index ac9beff2e5..aba7d6b03f 100644 ---- a/ld/testsuite/ld-i386/abs-iamcu.d -+++ b/ld/testsuite/ld-i386/abs-iamcu.d -@@ -2,7 +2,7 @@ - #source: abs.s - #source: zero.s - #as: --32 -march=iamcu --#ld: -m elf_iamcu -+#ld: -m elf_iamcu -z noseparate-code - #objdump: -rs -j .text - - .*: file format .* -diff --git a/ld/testsuite/ld-i386/abs.d b/ld/testsuite/ld-i386/abs.d -index e660aca524..191ee4456a 100644 ---- a/ld/testsuite/ld-i386/abs.d -+++ b/ld/testsuite/ld-i386/abs.d -@@ -2,7 +2,7 @@ - #as: --32 - #source: abs.s - #source: zero.s --#ld: -melf_i386 -+#ld: -melf_i386 -z noseparate-code - #objdump: -rs - - .*: file format .* -diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d -index ec51540a42..7eba52d95e 100644 ---- a/ld/testsuite/ld-i386/pr12718.d -+++ b/ld/testsuite/ld-i386/pr12718.d -@@ -1,6 +1,6 @@ - #name: PR ld/12718 - #as: --32 --#ld: -melf_i386 -+#ld: -melf_i386 -z noseparate-code - #readelf: -S - - There are 5 section headers, starting at offset 0x[0-9a-f]+: -diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d -index e49079b3c8..ea2da3eb51 100644 ---- a/ld/testsuite/ld-i386/pr12921.d -+++ b/ld/testsuite/ld-i386/pr12921.d -@@ -1,6 +1,6 @@ - #name: PR ld/12921 - #as: --32 --#ld: -melf_i386 -+#ld: -melf_i386 -z noseparate-code - #readelf: -S --wide - - There are 7 section headers, starting at offset 0x[0-9a-f]+: -diff --git a/ld/testsuite/ld-linkonce/zeroeh.ld b/ld/testsuite/ld-linkonce/zeroeh.ld -index b22eaa12c9..f89855a08f 100644 ---- a/ld/testsuite/ld-linkonce/zeroeh.ld -+++ b/ld/testsuite/ld-linkonce/zeroeh.ld -@@ -2,4 +2,5 @@ SECTIONS { - .text 0xa00 : { *(.text); *(.gnu.linkonce.t.*) } - .gcc_except_table 0x2000 : { *(.gcc_except_table) } - .eh_frame 0x4000 : { *(.eh_frame) } -+ /DISCARD/ : { *(.note.gnu.property) } - } -diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t -index 5ff057a5e3..6eda1d2dc4 100644 ---- a/ld/testsuite/ld-scripts/print-memory-usage.t -+++ b/ld/testsuite/ld-scripts/print-memory-usage.t -@@ -11,4 +11,6 @@ SECTIONS - *(.data) - *(.rw) - } -+ -+ /DISCARD/ : { *(.note.gnu.property) } - } -diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t -index 723863995e..c3c4eddab4 100644 ---- a/ld/testsuite/ld-scripts/size-2.t -+++ b/ld/testsuite/ld-scripts/size-2.t -@@ -18,4 +18,5 @@ SECTIONS - LONG (SIZEOF (.tdata)) - LONG (SIZEOF (.tbss)) - } :image -+ /DISCARD/ : { *(.note.gnu.property) } - } -diff --git a/ld/testsuite/ld-x86-64/abs-k1om.d b/ld/testsuite/ld-x86-64/abs-k1om.d -index 2c26639fc0..6b0fde0eed 100644 ---- a/ld/testsuite/ld-x86-64/abs-k1om.d -+++ b/ld/testsuite/ld-x86-64/abs-k1om.d -@@ -2,7 +2,7 @@ - #source: ../ld-i386/abs.s - #source: ../ld-i386/zero.s - #as: --64 -march=k1om --#ld: -m elf_k1om -+#ld: -m elf_k1om -z noseparate-code - #objdump: -rs -j .text - - .*: file format .* -diff --git a/ld/testsuite/ld-x86-64/abs-l1om.d b/ld/testsuite/ld-x86-64/abs-l1om.d -index 1fb96d44b7..f87869f9d0 100644 ---- a/ld/testsuite/ld-x86-64/abs-l1om.d -+++ b/ld/testsuite/ld-x86-64/abs-l1om.d -@@ -2,7 +2,7 @@ - #source: ../ld-i386/abs.s - #source: ../ld-i386/zero.s - #as: --64 -march=l1om --#ld: -m elf_l1om -+#ld: -m elf_l1om -z noseparate-code - #objdump: -rs -j .text - #target: x86_64-*-linux* - -diff --git a/ld/testsuite/ld-x86-64/abs.d b/ld/testsuite/ld-x86-64/abs.d -index b24b018639..d99ab4685d 100644 ---- a/ld/testsuite/ld-x86-64/abs.d -+++ b/ld/testsuite/ld-x86-64/abs.d -@@ -1,7 +1,7 @@ - #name: Absolute non-overflowing relocs - #source: ../ld-i386/abs.s - #source: ../ld-i386/zero.s --#ld: -+#ld: -z noseparate-code - #objdump: -rs - - .*: file format .* -diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d -index 07d17325d0..2c503ffbaa 100644 ---- a/ld/testsuite/ld-x86-64/pr12718.d -+++ b/ld/testsuite/ld-x86-64/pr12718.d -@@ -1,6 +1,6 @@ - #name: PR ld/12718 - #as: --64 --#ld: -melf_x86_64 -+#ld: -melf_x86_64 -z noseparate-code - #readelf: -S --wide - - There are 5 section headers, starting at offset 0x[0-9a-f]+: -diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d -index 6fe6abee09..1162d55818 100644 ---- a/ld/testsuite/ld-x86-64/pr12921.d -+++ b/ld/testsuite/ld-x86-64/pr12921.d -@@ -1,6 +1,6 @@ - #name: PR ld/12921 - #as: --64 --#ld: -melf_x86_64 -+#ld: -melf_x86_64 -z noseparate-code - #readelf: -S --wide - - There are 7 section headers, starting at offset 0x[0-9a-f]+: -diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp -index cfbefe9028..1095091882 100644 ---- a/ld/testsuite/lib/ld-lib.exp -+++ b/ld/testsuite/lib/ld-lib.exp -@@ -1482,7 +1482,10 @@ proc run_ld_link_exec_tests { ldtests args } { - continue - } - -- if { [ string match "c++" $lang ] } { -+ if { [ string match "asm" $lang ] } { -+ set link_proc ld_link -+ set link_cmd $ld -+ } elseif { [ string match "c++" $lang ] } { - set link_proc ld_link - set link_cmd $CXX - } else { --- -2.20.1 - diff --git a/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch b/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch deleted file mode 100644 index ca50d9a57cd..00000000000 --- a/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 28a27bdbb9500797e6767f80c8128b09112aeed5 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Sat, 11 Aug 2018 06:41:33 -0700 -Subject: [PATCH] x86: Properly add X86_ISA_1_NEEDED property - -Existing properties may be removed during property merging. We avoid -adding X86_ISA_1_NEEDED property only if existing properties won't be -removed. - -bfd/ - - PR ld/23428 - * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't - add X86_ISA_1_NEEDED property only if existing properties won't - be removed. - -ld/ - - PR ld/23428 - * testsuite/ld-elf/dummy.s: New file. - * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property. - * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428. - -(cherry picked from commit ab9e342807d132182892de1be1a92d6e91a5c1da) ---- - bfd/elfxx-x86.c | 28 ++++++++++++++++++++++------ - ld/testsuite/ld-elf/dummy.s | 1 + - ld/testsuite/ld-elf/linux-x86.S | 28 ++++++++++++++++++++++++++++ - ld/testsuite/ld-elf/linux-x86.exp | 2 +- - 6 files changed, 66 insertions(+), 7 deletions(-) - create mode 100644 ld/testsuite/ld-elf/dummy.s - -diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c -index 7ccfd25815..2d8f7b640b 100644 ---- a/bfd/elfxx-x86.c -+++ b/bfd/elfxx-x86.c -@@ -2588,7 +2588,6 @@ _bfd_x86_elf_link_setup_gnu_properties - prop->pr_kind = property_number; - } - else if (has_text -- && elf_properties (ebfd) == NULL - && elf_tdata (info->output_bfd)->o->build_id.sec == NULL - && !htab->elf.dynamic_sections_created - && !info->traditional_format -@@ -2598,11 +2597,28 @@ _bfd_x86_elf_link_setup_gnu_properties - /* If the separate code program header is needed, make sure - that the first read-only PT_LOAD segment has no code by - adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ -- prop = _bfd_elf_get_property (ebfd, -- GNU_PROPERTY_X86_ISA_1_NEEDED, -- 4); -- prop->u.number = GNU_PROPERTY_X86_ISA_1_486; -- prop->pr_kind = property_number; -+ elf_property_list *list; -+ bfd_boolean need_property = TRUE; -+ -+ for (list = elf_properties (ebfd); list; list = list->next) -+ switch (list->property.pr_type) -+ { -+ case GNU_PROPERTY_STACK_SIZE: -+ case GNU_PROPERTY_NO_COPY_ON_PROTECTED: -+ case GNU_PROPERTY_X86_ISA_1_NEEDED: -+ /* These properties won't be removed during merging. */ -+ need_property = FALSE; -+ break; -+ } -+ -+ if (need_property) -+ { -+ prop = _bfd_elf_get_property (ebfd, -+ GNU_PROPERTY_X86_ISA_1_NEEDED, -+ 4); -+ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; -+ prop->pr_kind = property_number; -+ } - } - - /* Create the GNU property note section if needed. */ -diff --git a/ld/testsuite/ld-elf/dummy.s b/ld/testsuite/ld-elf/dummy.s -new file mode 100644 -index 0000000000..403f98000d ---- /dev/null -+++ b/ld/testsuite/ld-elf/dummy.s -@@ -0,0 +1 @@ -+# Dummy -diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S -index bdf40c6e01..d94abc1106 100644 ---- a/ld/testsuite/ld-elf/linux-x86.S -+++ b/ld/testsuite/ld-elf/linux-x86.S -@@ -61,3 +61,31 @@ syscall: - ret /* Return to caller. */ - .size syscall, .-syscall - .section .note.GNU-stack,"",@progbits -+ -+ .section ".note.gnu.property", "a" -+#ifdef __LP64__ -+ .p2align 3 -+#else -+ .p2align 2 -+#endif -+ .long 1f - 0f /* name length */ -+ .long 5f - 2f /* data length */ -+ .long 5 /* note type */ -+0: .asciz "GNU" /* vendor name */ -+1: -+#ifdef __LP64__ -+ .p2align 3 -+#else -+ .p2align 2 -+#endif -+2: .long 0xc0000002 /* pr_type. */ -+ .long 4f - 3f /* pr_datasz. */ -+3: -+ .long 0x2 -+4: -+#ifdef __LP64__ -+ .p2align 3 -+#else -+ .p2align 2 -+#endif -+5: -diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp -index 36217c6fb4..f6f5a80853 100644 ---- a/ld/testsuite/ld-elf/linux-x86.exp -+++ b/ld/testsuite/ld-elf/linux-x86.exp -@@ -37,7 +37,7 @@ run_ld_link_exec_tests [list \ - "Run PR ld/23428 test" \ - "--no-dynamic-linker -z separate-code" \ - "" \ -- { linux-x86.S pr23428.c } \ -+ { linux-x86.S pr23428.c dummy.s } \ - "pr23428" \ - "pass.out" \ - "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ --- -2.20.1 - diff --git a/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch b/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch deleted file mode 100644 index 866d6db8ce2..00000000000 --- a/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch +++ /dev/null @@ -1,583 +0,0 @@ -From d55c3e36094f06bb1fb02f5eac19fdccf1d91f7e Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Wed, 8 Aug 2018 06:09:15 -0700 -Subject: [PATCH] x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used. -If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the -corresponding x86 instruction set isn’t used. When merging properties -from 2 input files and one input file doesn't have the -GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have -it neither. This patch removes the GNU_PROPERTY_X86_ISA_1_USED -property if an input file doesn't have it. - -This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the -GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA -requirement. - -bfd/ - - PR ld/23486 - * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove - GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it. - (_bfd_x86_elf_link_setup_gnu_properties): Adding the - GNU_PROPERTY_X86_ISA_1_NEEDED, instead of - GNU_PROPERTY_X86_ISA_1_USED, property. - -ld/ - - PR ld/23486 - * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - * testsuite/ld-i386/pr23486a.d: New file. - * testsuite/ld-i386/pr23486b.d: Likewise. - * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. - * testsuite/ld-x86-64/pr23486a.d: Likewise. - * testsuite/ld-x86-64/pr23486a.s: Likewise. - * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. - * testsuite/ld-x86-64/pr23486b.d: Likewise. - * testsuite/ld-x86-64/pr23486b.s: Likewise. - * testsuite/ld-i386/property-3.r: Remove "x86 ISA used". - * testsuite/ld-i386/property-4.r: Likewise. - * testsuite/ld-i386/property-5.r: Likewise. - * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. - * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. - * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. - * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. - * testsuite/ld-x86-64/property-3.r: Likewise. - * testsuite/ld-x86-64/property-4.r: Likewise. - * testsuite/ld-x86-64/property-5.r: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. - -(cherry picked from commit f7309df20c4e787041cedc4a6aced89c15259e54) ---- - bfd/elfxx-x86.c | 25 ++++++++++++--- - ld/testsuite/ld-i386/i386.exp | 2 ++ - ld/testsuite/ld-i386/pr23486a.d | 10 ++++++ - ld/testsuite/ld-i386/pr23486b.d | 10 ++++++ - ld/testsuite/ld-i386/property-3.r | 1 - - ld/testsuite/ld-i386/property-4.r | 1 - - ld/testsuite/ld-i386/property-5.r | 1 - - ld/testsuite/ld-i386/property-x86-ibt3a.d | 5 ++- - ld/testsuite/ld-i386/property-x86-ibt3b.d | 5 ++- - ld/testsuite/ld-i386/property-x86-shstk3a.d | 5 ++- - ld/testsuite/ld-i386/property-x86-shstk3b.d | 5 ++- - ld/testsuite/ld-x86-64/pr23486a-x32.d | 10 ++++++ - ld/testsuite/ld-x86-64/pr23486a.d | 10 ++++++ - ld/testsuite/ld-x86-64/pr23486a.s | 30 +++++++++++++++++ - ld/testsuite/ld-x86-64/pr23486b-x32.d | 10 ++++++ - ld/testsuite/ld-x86-64/pr23486b.d | 10 ++++++ - ld/testsuite/ld-x86-64/pr23486b.s | 30 +++++++++++++++++ - ld/testsuite/ld-x86-64/property-3.r | 1 - - ld/testsuite/ld-x86-64/property-4.r | 1 - - ld/testsuite/ld-x86-64/property-5.r | 1 - - .../ld-x86-64/property-x86-ibt3a-x32.d | 5 ++- - ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 5 ++- - .../ld-x86-64/property-x86-ibt3b-x32.d | 5 ++- - ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 5 ++- - .../ld-x86-64/property-x86-shstk3a-x32.d | 5 ++- - ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 5 ++- - .../ld-x86-64/property-x86-shstk3b-x32.d | 5 ++- - ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 5 ++- - ld/testsuite/ld-x86-64/x86-64.exp | 4 +++ - 31 files changed, 211 insertions(+), 47 deletions(-) - create mode 100644 ld/testsuite/ld-i386/pr23486a.d - create mode 100644 ld/testsuite/ld-i386/pr23486b.d - create mode 100644 ld/testsuite/ld-x86-64/pr23486a-x32.d - create mode 100644 ld/testsuite/ld-x86-64/pr23486a.d - create mode 100644 ld/testsuite/ld-x86-64/pr23486a.s - create mode 100644 ld/testsuite/ld-x86-64/pr23486b-x32.d - create mode 100644 ld/testsuite/ld-x86-64/pr23486b.d - create mode 100644 ld/testsuite/ld-x86-64/pr23486b.s - ---- a/bfd/elfxx-x86.c -+++ b/bfd/elfxx-x86.c -@@ -2407,12 +2407,27 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, - switch (pr_type) - { - case GNU_PROPERTY_X86_ISA_1_USED: -+ if (aprop == NULL || bprop == NULL) -+ { -+ /* Only one of APROP and BPROP can be NULL. */ -+ if (aprop != NULL) -+ { -+ /* Remove this property since the other input file doesn't -+ have it. */ -+ aprop->pr_kind = property_remove; -+ updated = TRUE; -+ } -+ break; -+ } -+ goto or_property; -+ - case GNU_PROPERTY_X86_ISA_1_NEEDED: - if (aprop != NULL && bprop != NULL) - { -+or_property: - number = aprop->u.number; - aprop->u.number = number | bprop->u.number; -- /* Remove the property if ISA bits are empty. */ -+ /* Remove the property if all bits are empty. */ - if (aprop->u.number == 0) - { - aprop->pr_kind = property_remove; -@@ -2428,14 +2443,14 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, - { - if (aprop->u.number == 0) - { -- /* Remove APROP if ISA bits are empty. */ -+ /* Remove APROP if all bits are empty. */ - aprop->pr_kind = property_remove; - updated = TRUE; - } - } - else - { -- /* Return TRUE if APROP is NULL and ISA bits of BPROP -+ /* Return TRUE if APROP is NULL and all bits of BPROP - aren't empty to indicate that BPROP should be added - to ABFD. */ - updated = bprop->u.number != 0; -@@ -2582,9 +2597,9 @@ _bfd_x86_elf_link_setup_gnu_properties - { - /* If the separate code program header is needed, make sure - that the first read-only PT_LOAD segment has no code by -- adding a GNU_PROPERTY_X86_ISA_1_USED note. */ -+ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ - prop = _bfd_elf_get_property (ebfd, -- GNU_PROPERTY_X86_ISA_1_USED, -+ GNU_PROPERTY_X86_ISA_1_NEEDED, - 4); - prop->u.number = GNU_PROPERTY_X86_ISA_1_486; - prop->pr_kind = property_number; -diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp -index 6d794fe653..78dad02579 100644 ---- a/ld/testsuite/ld-i386/i386.exp -+++ b/ld/testsuite/ld-i386/i386.exp -@@ -462,6 +462,8 @@ run_dump_test "pr23189" - run_dump_test "pr23194" - run_dump_test "pr23372a" - run_dump_test "pr23372b" -+run_dump_test "pr23486a" -+run_dump_test "pr23486b" - - if { !([istarget "i?86-*-linux*"] - || [istarget "i?86-*-gnu*"] -diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d -new file mode 100644 -index 0000000000..41a6dcf7d5 ---- /dev/null -+++ b/ld/testsuite/ld-i386/pr23486a.d -@@ -0,0 +1,10 @@ -+#source: ../ld-x86-64/pr23486a.s -+#source: ../ld-x86-64/pr23486b.s -+#as: --32 -+#ld: -r -m elf_i386 -+#readelf: -n -+ -+Displaying notes found in: .note.gnu.property -+ Owner Data size Description -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586 -diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d -new file mode 100644 -index 0000000000..08019b7274 ---- /dev/null -+++ b/ld/testsuite/ld-i386/pr23486b.d -@@ -0,0 +1,10 @@ -+#source: ../ld-x86-64/pr23486b.s -+#source: ../ld-x86-64/pr23486a.s -+#as: --32 -+#ld: -r -m elf_i386 -+#readelf: -n -+ -+Displaying notes found in: .note.gnu.property -+ Owner Data size Description -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586 -diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r -index 0ed91f5922..d03203c1e5 100644 ---- a/ld/testsuite/ld-i386/property-3.r -+++ b/ld/testsuite/ld-i386/property-3.r -@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property - Owner Data size Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: stack size: 0x800000 -- x86 ISA used: 586, SSE - x86 ISA needed: i486, 586 - #pass -diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r -index cb2bc15d9a..da295eb6c7 100644 ---- a/ld/testsuite/ld-i386/property-4.r -+++ b/ld/testsuite/ld-i386/property-4.r -@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property - Owner Data size Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: stack size: 0x800000 -- x86 ISA used: i486, 586, SSE - x86 ISA needed: i486, 586, SSE - #pass -diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r -index 552965058c..e4141594b3 100644 ---- a/ld/testsuite/ld-i386/property-5.r -+++ b/ld/testsuite/ld-i386/property-5.r -@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property - Owner Data size Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: stack size: 0x900000 -- x86 ISA used: i486, 586, SSE - x86 ISA needed: i486, 586, SSE - #pass -diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d -index 4bb35b00fb..0aedea1614 100644 ---- a/ld/testsuite/ld-i386/property-x86-ibt3a.d -+++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: i486, 586, SSE2, SSE3 -- x86 ISA needed: 586, SSE, SSE3, SSE4_1 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 -diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d -index 418d58a8f7..bd69ac6478 100644 ---- a/ld/testsuite/ld-i386/property-x86-ibt3b.d -+++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: i486, 586, SSE2, SSE3 -- x86 ISA needed: 586, SSE, SSE3, SSE4_1 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 -diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d -index e261038f60..76d2a39f2c 100644 ---- a/ld/testsuite/ld-i386/property-x86-shstk3a.d -+++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: i486, 586, SSE2, SSE3 -- x86 ISA needed: 586, SSE, SSE3, SSE4_1 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 -diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d -index 25f3d2361e..e770ecffa5 100644 ---- a/ld/testsuite/ld-i386/property-x86-shstk3b.d -+++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: i486, 586, SSE2, SSE3 -- x86 ISA needed: 586, SSE, SSE3, SSE4_1 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 -diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d -new file mode 100644 -index 0000000000..6d9fa68cdb ---- /dev/null -+++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d -@@ -0,0 +1,10 @@ -+#source: pr23486a.s -+#source: pr23486b.s -+#as: --x32 -+#ld: -r -m elf32_x86_64 -+#readelf: -n -+ -+Displaying notes found in: .note.gnu.property -+ Owner Data size Description -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586 -diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d -new file mode 100644 -index 0000000000..dc2b7bf760 ---- /dev/null -+++ b/ld/testsuite/ld-x86-64/pr23486a.d -@@ -0,0 +1,10 @@ -+#source: pr23486a.s -+#source: pr23486b.s -+#as: --64 -defsym __64_bit__=1 -+#ld: -r -m elf_x86_64 -+#readelf: -n -+ -+Displaying notes found in: .note.gnu.property -+ Owner Data size Description -+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586 -diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s -new file mode 100644 -index 0000000000..a07d0c7ced ---- /dev/null -+++ b/ld/testsuite/ld-x86-64/pr23486a.s -@@ -0,0 +1,30 @@ -+ .section ".note.gnu.property", "a" -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+ .long 1f - 0f /* name length. */ -+ .long 4f - 1f /* data length. */ -+ /* NT_GNU_PROPERTY_TYPE_0 */ -+ .long 5 /* note type. */ -+0: -+ .asciz "GNU" /* vendor name. */ -+1: -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+ /* GNU_PROPERTY_X86_ISA_1_USED */ -+ .long 0xc0000000 /* pr_type. */ -+ .long 3f - 2f /* pr_datasz. */ -+2: -+ .long 0xa -+3: -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+4: -diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d -new file mode 100644 -index 0000000000..0445e69d82 ---- /dev/null -+++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d -@@ -0,0 +1,10 @@ -+#source: pr23486b.s -+#source: pr23486a.s -+#as: --x32 -+#ld: -r -m elf32_x86_64 -+#readelf: -n -+ -+Displaying notes found in: .note.gnu.property -+ Owner Data size Description -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586 -diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d -new file mode 100644 -index 0000000000..dc2b7bf760 ---- /dev/null -+++ b/ld/testsuite/ld-x86-64/pr23486b.d -@@ -0,0 +1,10 @@ -+#source: pr23486a.s -+#source: pr23486b.s -+#as: --64 -defsym __64_bit__=1 -+#ld: -r -m elf_x86_64 -+#readelf: -n -+ -+Displaying notes found in: .note.gnu.property -+ Owner Data size Description -+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586 -diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s -new file mode 100644 -index 0000000000..c5167eeb65 ---- /dev/null -+++ b/ld/testsuite/ld-x86-64/pr23486b.s -@@ -0,0 +1,30 @@ -+ .section ".note.gnu.property", "a" -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+ .long 1f - 0f /* name length. */ -+ .long 4f - 1f /* data length. */ -+ /* NT_GNU_PROPERTY_TYPE_0 */ -+ .long 5 /* note type. */ -+0: -+ .asciz "GNU" /* vendor name. */ -+1: -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+ /* GNU_PROPERTY_X86_ISA_1_NEEDED */ -+ .long 0xc0000001 /* pr_type. */ -+ .long 3f - 2f /* pr_datasz. */ -+2: -+ .long 0x3 -+3: -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+4: -diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r -index 0ed91f5922..d03203c1e5 100644 ---- a/ld/testsuite/ld-x86-64/property-3.r -+++ b/ld/testsuite/ld-x86-64/property-3.r -@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property - Owner Data size Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: stack size: 0x800000 -- x86 ISA used: 586, SSE - x86 ISA needed: i486, 586 - #pass -diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r -index cb2bc15d9a..da295eb6c7 100644 ---- a/ld/testsuite/ld-x86-64/property-4.r -+++ b/ld/testsuite/ld-x86-64/property-4.r -@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property - Owner Data size Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: stack size: 0x800000 -- x86 ISA used: i486, 586, SSE - x86 ISA needed: i486, 586, SSE - #pass -diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r -index 552965058c..e4141594b3 100644 ---- a/ld/testsuite/ld-x86-64/property-5.r -+++ b/ld/testsuite/ld-x86-64/property-5.r -@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property - Owner Data size Description - GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: stack size: 0x900000 -- x86 ISA used: i486, 586, SSE - x86 ISA needed: i486, 586, SSE - #pass -diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d -index 011426f5a4..4cec728dc7 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d -+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d -index 1b4229a037..a8df49a351 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d -+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d -index 290ed6abf1..c112626711 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d -+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d -index 1142e03272..f10dffdc2c 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d -+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d -index 819542d181..0147a3c7b6 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d -+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d -index 4c5d0e0a18..1f8c2dc929 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d -+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d -index ba181e0bc5..7ca2539ca5 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d -+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d -index 5216f385dd..f66a40e449 100644 ---- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d -+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d -@@ -6,6 +6,5 @@ - - Displaying notes found in: .note.gnu.property - Owner Data size Description -- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 -- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 -- x86 ISA needed: i486, 586, SSE2, SSE3 -+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 -+ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 -diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp -index 6edb9e86f4..ae21e554ad 100644 ---- a/ld/testsuite/ld-x86-64/x86-64.exp -+++ b/ld/testsuite/ld-x86-64/x86-64.exp -@@ -403,6 +403,10 @@ run_dump_test "pr23372a" - run_dump_test "pr23372a-x32" - run_dump_test "pr23372b" - run_dump_test "pr23372b-x32" -+run_dump_test "pr23486a" -+run_dump_test "pr23486a-x32" -+run_dump_test "pr23486b" -+run_dump_test "pr23486b-x32" - - if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { - return --- -2.20.1 - diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 8359983fd66..fb3293aee44 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -8,6 +8,7 @@ , bison ? null , flex , texinfo +, perl }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -18,10 +19,7 @@ let reuseLibs = enableShared && withAllTargets; - # Remove gold-symbol-visibility patch when updating, the proper fix - # is now upstream. - # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3 - version = "2.31.1"; + version = "2.34"; basename = "binutils"; # The targetPrefix prepended to binary names to allow multiple binuntils on the # PATH to both be usable. @@ -36,7 +34,7 @@ let # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl { url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2"; - sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z"; + sha256 = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49"; }); in @@ -69,16 +67,6 @@ stdenv.mkDerivation { # cross-compiling. ./always-search-rpath.patch - ] ++ lib.optionals (!stdenv.targetPlatform.isVc4) - [ - # https://sourceware.org/bugzilla/show_bug.cgi?id=22868 - ./gold-symbol-visibility.patch - - # https://sourceware.org/bugzilla/show_bug.cgi?id=23428 - # un-break features so linking against musl doesn't produce crash-only binaries - ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch - ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch - ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch ++ # This patch was suggested by Nick Clifton to fix # https://sourceware.org/bugzilla/show_bug.cgi?id=16177 @@ -94,9 +82,11 @@ stdenv.mkDerivation { depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison + perl + texinfo ] ++ (lib.optionals stdenv.targetPlatform.isiOS [ autoreconfHook - ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ]; + ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ flex ]; buildInputs = [ zlib gettext ]; inherit noSysDirs; diff --git a/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch b/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch deleted file mode 100644 index 0fb05a482d1..00000000000 --- a/pkgs/development/tools/misc/binutils/gold-symbol-visibility.patch +++ /dev/null @@ -1,79 +0,0 @@ -commit 8564af037f5c4c6d2744a89497691359205b2bbc -Author: Shea Levy -Date: Mon Mar 19 10:52:40 2018 -0400 - - Revert "Allow multiply-defined absolute symbols when they have the same value." - - This reverts commit 5dc824ed42cd173c1525f5abc76f4091f11a4dbc. - -diff --git a/gold/ChangeLog-2017 b/gold/ChangeLog-2017 -index b2a47710b5..d7ca1b48c0 100644 ---- a/gold/ChangeLog-2017 -+++ b/gold/ChangeLog-2017 -@@ -114,11 +114,6 @@ - (localedir): Define as @localedir@. - (gnulocaledir, gettextsrcdir): Use @datarootdir@. - --2017-11-28 Cary Coutant -- -- * resolve.cc (Symbol_table::resolve): Allow multiply-defined absolute -- symbols when they have the same value. -- - 2017-11-28 Cary Coutant - - * object.h (class Sized_relobj_file): Remove discarded_eh_frame_shndx_. -diff --git a/gold/resolve.cc b/gold/resolve.cc -index 4a5784cf8b..803576bfed 100644 ---- a/gold/resolve.cc -+++ b/gold/resolve.cc -@@ -247,28 +247,18 @@ Symbol_table::resolve(Sized_symbol* to, - Object* object, const char* version, - bool is_default_version) - { -- bool to_is_ordinary; -- const unsigned int to_shndx = to->shndx(&to_is_ordinary); -- - // It's possible for a symbol to be defined in an object file - // using .symver to give it a version, and for there to also be - // a linker script giving that symbol the same version. We - // don't want to give a multiple-definition error for this - // harmless redefinition. -+ bool to_is_ordinary; - if (to->source() == Symbol::FROM_OBJECT - && to->object() == object -- && to->is_defined() - && is_ordinary -+ && to->is_defined() -+ && to->shndx(&to_is_ordinary) == st_shndx - && to_is_ordinary -- && to_shndx == st_shndx -- && to->value() == sym.get_st_value()) -- return; -- -- // Likewise for an absolute symbol defined twice with the same value. -- if (!is_ordinary -- && st_shndx == elfcpp::SHN_ABS -- && !to_is_ordinary -- && to_shndx == elfcpp::SHN_ABS - && to->value() == sym.get_st_value()) - return; - -@@ -360,8 +350,8 @@ Symbol_table::resolve(Sized_symbol* to, - && (sym.get_st_bind() == elfcpp::STB_WEAK - || to->binding() == elfcpp::STB_WEAK) - && orig_st_shndx != elfcpp::SHN_UNDEF -+ && to->shndx(&to_is_ordinary) != elfcpp::SHN_UNDEF - && to_is_ordinary -- && to_shndx != elfcpp::SHN_UNDEF - && sym.get_st_size() != 0 // Ignore weird 0-sized symbols. - && to->symsize() != 0 - && (sym.get_st_type() != to->type() -@@ -372,7 +362,7 @@ Symbol_table::resolve(Sized_symbol* to, - { - Symbol_location fromloc - = { object, orig_st_shndx, static_cast(sym.get_st_value()) }; -- Symbol_location toloc = { to->object(), to_shndx, -+ Symbol_location toloc = { to->object(), to->shndx(&to_is_ordinary), - static_cast(to->value()) }; - this->candidate_odr_violations_[to->name()].insert(fromloc); - this->candidate_odr_violations_[to->name()].insert(toloc); diff --git a/pkgs/development/tools/misc/binutils/no-plugins.patch b/pkgs/development/tools/misc/binutils/no-plugins.patch index 9624b7976b7..68cf51b7dd3 100644 --- a/pkgs/development/tools/misc/binutils/no-plugins.patch +++ b/pkgs/development/tools/misc/binutils/no-plugins.patch @@ -1,19 +1,21 @@ -diff -ru binutils-2.27-orig/bfd/plugin.c binutils-2.27/bfd/plugin.c ---- binutils-2.27-orig/bfd/plugin.c 2016-10-14 17:46:30.791315555 +0200 -+++ binutils-2.27/bfd/plugin.c 2016-10-14 17:46:38.583298765 +0200 -@@ -333,6 +333,7 @@ +diff --git a/bfd/plugin.c b/bfd/plugin.c +index 537ab60311..bfe7957f96 100644 +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -386,6 +386,7 @@ load_plugin (bfd *abfd) if (plugin_program_name == NULL) return found; +#if 0 - plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL); - p = make_relative_prefix (plugin_program_name, - BINDIR, -@@ -364,6 +365,7 @@ - free (p); - if (d) - closedir (d); + /* Try not to search the same dir twice, by looking at st_dev and + st_ino for the dir. If we are on a file system that always sets + st_ino to zero or the actual st_ino is zero we might waste some +@@ -437,7 +438,7 @@ load_plugin (bfd *abfd) + if (found) + break; + } +- +#endif - return found; } + From 968805c37b83dee736b868ee84d0b7451714115f Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 8 Jun 2020 23:02:54 +0200 Subject: [PATCH 100/162] Revert "Revert "Revert "Revert "libbfd: fix build"""" This reverts commit 5c2b59d63afe75d6735790ca9232a1445091bf53. --- .../build-components-separately.patch | 38 ++++++------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/pkgs/development/tools/misc/binutils/build-components-separately.patch b/pkgs/development/tools/misc/binutils/build-components-separately.patch index d3cd0d2131c..38fa4934a28 100644 --- a/pkgs/development/tools/misc/binutils/build-components-separately.patch +++ b/pkgs/development/tools/misc/binutils/build-components-separately.patch @@ -1,19 +1,8 @@ -From bc09a9236f67e710d545ac11bcdac7b55dbcc1a0 Mon Sep 17 00:00:00 2001 -From: John Ericson -Date: Thu, 12 Oct 2017 11:16:57 -0400 -Subject: [PATCH] Build components separately - ---- - bfd/configure.ac | 18 +++--------------- - opcodes/Makefile.am | 17 +++++++++++++---- - opcodes/configure.ac | 45 ++++++--------------------------------------- - 3 files changed, 22 insertions(+), 58 deletions(-) - diff --git a/bfd/configure.ac b/bfd/configure.ac -index 9a183c1628..8728837384 100644 +index c5bfbd5d..45ad4c26 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac -@@ -241,31 +241,19 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, +@@ -278,31 +278,19 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, LT_LIB_M @@ -33,26 +22,26 @@ index 9a183c1628..8728837384 100644 - SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" - fi - - # More hacks to build DLLs on Windows. case "${host}" in + # More hacks to build DLLs on Windows. *-*-cygwin*) SHARED_LDFLAGS="-no-undefined" - SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32" + SHARED_LIBADD="-liberty -lintl -lcygwin -lkernel32" ;; - # Hack to build or1k-src on OSX - or1k*-*-darwin*) + # Use built-in libintl on macOS, since it is not provided by libc. + *-*-darwin*) - SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl" + SHARED_LIBADD="-liberty -lintl" ;; esac diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am -index 925e7ff651..47b395c195 100644 +index 4f06074a..6836c589 100644 --- a/opcodes/Makefile.am +++ b/opcodes/Makefile.am -@@ -52,7 +52,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir) +@@ -51,7 +51,7 @@ libopcodes_la_LDFLAGS += -rpath $(rpath_bfdlibdir) endif # This is where bfd.h lives. @@ -61,7 +50,7 @@ index 925e7ff651..47b395c195 100644 BUILD_LIBS = @BUILD_LIBS@ BUILD_LIB_DEPS = @BUILD_LIB_DEPS@ -@@ -303,7 +303,7 @@ OFILES = @BFD_MACHINES@ +@@ -301,7 +301,7 @@ OFILES = @BFD_MACHINES@ # development.sh is used to determine -Werror default. CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh @@ -70,7 +59,7 @@ index 925e7ff651..47b395c195 100644 disassemble.lo: disassemble.c if am__fastdepCC -@@ -324,12 +324,21 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c +@@ -322,12 +322,21 @@ libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c # old version of libbfd, or to pick up libbfd for the wrong architecture # if host != build. So for building with shared libraries we use a # hardcoded path to libbfd.so instead of relying on the entries in libbfd.la. @@ -95,10 +84,10 @@ index 925e7ff651..47b395c195 100644 # the build directory so that we don't have to convert all the # programs that use libopcodes.a simultaneously. This is a hack which diff --git a/opcodes/configure.ac b/opcodes/configure.ac -index b9f5eb8a4f..ef2c2152b7 100644 +index 00be9c88..6e589ae4 100644 --- a/opcodes/configure.ac +++ b/opcodes/configure.ac -@@ -89,6 +89,7 @@ AC_PROG_INSTALL +@@ -86,6 +86,7 @@ AC_PROG_INSTALL AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h) ACX_HEADER_STRING @@ -106,7 +95,7 @@ index b9f5eb8a4f..ef2c2152b7 100644 AC_CHECK_DECLS([basename, stpcpy]) -@@ -134,61 +135,27 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, +@@ -137,61 +138,27 @@ AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, LT_LIB_M @@ -173,6 +162,3 @@ index b9f5eb8a4f..ef2c2152b7 100644 ;; esac --- -2.14.2 - From b271d8baed928ea411b1b063911f4fac1e8767f4 Mon Sep 17 00:00:00 2001 From: luc65r Date: Tue, 24 Nov 2020 17:44:53 +0100 Subject: [PATCH 101/162] liblangtag: 0.6.1 -> 0.6.3 --- pkgs/development/libraries/liblangtag/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/liblangtag/default.nix b/pkgs/development/libraries/liblangtag/default.nix index 1c5c39ac898..b724789188c 100644 --- a/pkgs/development/libraries/liblangtag/default.nix +++ b/pkgs/development/libraries/liblangtag/default.nix @@ -1,22 +1,22 @@ -{stdenv, fetchurl, fetchFromBitbucket, autoreconfHook, gtk-doc, gettext +{ stdenv, fetchurl, fetchFromBitbucket, autoreconfHook, gtk-doc, gettext , pkgconfig, glib, libxml2, gobject-introspection, gnome-common, unzip }: stdenv.mkDerivation rec { pname = "liblangtag"; - version = "0.6.1"; + version = "0.6.3"; src = fetchFromBitbucket { owner = "tagoh"; repo = pname; rev = version; - sha256 = "19dk2qsg7f3ig9xz8d73jvikmf5kvrwi008wrz2psxinbdml442g"; + sha256 = "10rycs8xrxzf9frzalv3qx8cs1jcildhrr4imzxdmr9f4l585z96"; }; core_zip = fetchurl { # please update if an update is available - url = "http://www.unicode.org/Public/cldr/33.1/core.zip"; - sha256 = "0f195aald02ng3ch2q1wf59b5lwp2bi1cd8ia7572pbyy2w8w8cp"; + url = "http://www.unicode.org/Public/cldr/37/core.zip"; + sha256 = "0myswkvvaxvrz9zwq4zh65sygfd9n72cd5rk4pwacqba4nxgb4xs"; }; language_subtag_registry = fetchurl { From 760bb86156afaba267759483f407e1064dea950b Mon Sep 17 00:00:00 2001 From: luc65r Date: Thu, 11 Jun 2020 15:00:37 +0200 Subject: [PATCH 102/162] perlPackages.ExtUtilsPkgConfig: disable checks --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 330abc91db2..1a308328faf 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7489,6 +7489,7 @@ let }; nativeBuildInputs = [ buildPackages.pkgconfig ]; propagatedBuildInputs = [ pkgs.pkgconfig ]; + doCheck = false; # expects test_glib-2.0.pc in PKG_CONFIG_PATH meta = { homepage = "http://gtk2-perl.sourceforge.net"; description = "Simplistic interface to pkg-config"; From c4c1b328c75623197ce743e32343e96d79a08c96 Mon Sep 17 00:00:00 2001 From: luc65r Date: Thu, 11 Jun 2020 15:01:34 +0200 Subject: [PATCH 103/162] pythonPackages.coveralls: delete restrictions for coverage version --- pkgs/development/python-modules/coveralls/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/coveralls/default.nix b/pkgs/development/python-modules/coveralls/default.nix index 68cf993a5a8..55032864c3f 100644 --- a/pkgs/development/python-modules/coveralls/default.nix +++ b/pkgs/development/python-modules/coveralls/default.nix @@ -36,6 +36,10 @@ buildPythonPackage rec { pytestrunner ]; + postPatch = '' + sed -i "s/'coverage>=\([^,]\+\),.*',$/'coverage>=\1',/" setup.py + ''; + # FIXME: tests requires .git directory to be present doCheck = false; From a95fc9ff1687c32a5018f4ab003b7b39b5884728 Mon Sep 17 00:00:00 2001 From: luc65r Date: Tue, 7 Jul 2020 15:45:11 +0200 Subject: [PATCH 104/162] syslinux: build with gcc9 build fails with "undefined reference to `strlen'" on gcc10 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7ec87355e0..32cfe9c8542 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19326,7 +19326,9 @@ in sysklogd = callPackage ../os-specific/linux/sysklogd { }; - syslinux = callPackage ../os-specific/linux/syslinux { }; + syslinux = callPackage ../os-specific/linux/syslinux { + stdenv = gcc9Stdenv; # Fails with "undefined reference to `strlen'" on gcc10 + }; sysstat = callPackage ../os-specific/linux/sysstat { }; From decbe0dc9c5329421d5cc4392dea8ceeecb30ab1 Mon Sep 17 00:00:00 2001 From: luc65r Date: Tue, 7 Jul 2020 15:45:42 +0200 Subject: [PATCH 105/162] vsftpd: fix build with gcc10 --- pkgs/servers/ftp/vsftpd/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix index 1ef624f2a41..d5766b8d19e 100644 --- a/pkgs/servers/ftp/vsftpd/default.nix +++ b/pkgs/servers/ftp/vsftpd/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { ''; NIX_LDFLAGS = "-lcrypt -lssl -lcrypto -lpam -lcap"; + NIX_CFLAGS_COMPILE = "-Wno-error=enum-conversion"; enableParallelBuilding = true; From e52f7881ef188ca308e904e8283dff27b10f3b61 Mon Sep 17 00:00:00 2001 From: luc65r Date: Tue, 7 Jul 2020 15:46:02 +0200 Subject: [PATCH 106/162] searx: fix build --- pkgs/servers/web-apps/searx/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix index dc87acddd88..b56e430d995 100644 --- a/pkgs/servers/web-apps/searx/default.nix +++ b/pkgs/servers/web-apps/searx/default.nix @@ -22,7 +22,7 @@ buildPythonApplication rec { pyyaml lxml grequests flaskbabel flask requests gevent speaklater Babel pytz dateutil pygments pyasn1 pyasn1-modules ndg-httpsclient certifi pysocks - jinja2 + jinja2 werkzeug ]; checkInputs = [ From f6fceb321b567b1e5a710c084e6fca2a6b4d5b04 Mon Sep 17 00:00:00 2001 From: luc65r Date: Mon, 26 Oct 2020 15:19:52 +0100 Subject: [PATCH 107/162] Remove trailing whitespaces and fix indentation --- pkgs/development/compilers/gcc/common/configure-flags.nix | 6 +++--- pkgs/development/python-modules/jinja2/default.nix | 2 +- pkgs/tools/networking/dhcp/default.nix | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix index e6f3da0fd03..12d3f5d8987 100644 --- a/pkgs/development/compilers/gcc/common/configure-flags.nix +++ b/pkgs/development/compilers/gcc/common/configure-flags.nix @@ -73,7 +73,7 @@ let "--enable-libssp" "--disable-nls" # To keep ABI compatibility with upstream mingw-w64 - "--enable-fully-dynamic-string" + "--enable-fully-dynamic-string" ] ++ lib.optionals (crossMingw && targetPlatform.isx86_32) [ # See Note [Windows Exception Handling] "--enable-sjlj-exceptions" @@ -187,10 +187,10 @@ let "--disable-symvers" "libat_cv_have_ifunc=no" "--disable-gnu-indirect-function" - ] + ] ++ lib.optionals langJit [ "--enable-host-shared" - ] + ] ++ lib.optionals (langD) [ "--with-target-system-zlib=yes" ] diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix index 45178377026..33d6003cae7 100644 --- a/pkgs/development/python-modules/jinja2/default.nix +++ b/pkgs/development/python-modules/jinja2/default.nix @@ -4,7 +4,7 @@ , fetchPypi , pytest , markupsafe -, setuptools +, setuptools }: buildPythonPackage rec { diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix index f0d465a40e9..4a6eca89624 100644 --- a/pkgs/tools/networking/dhcp/default.nix +++ b/pkgs/tools/networking/dhcp/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { '' substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file" sed -i "includes/dhcpd.h" \ - -"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g" + -e "s|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g" export AR='${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar' ''; From 188f1375d869c92c97be88ec110e913deec0c40e Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Mon, 21 Dec 2020 18:03:17 +0100 Subject: [PATCH 108/162] cpython: fix ctypes.util.find_library --- .../python/cpython/3.7/find_library.patch | 105 ++++++++++++++++++ .../interpreters/python/cpython/default.nix | 3 + 2 files changed, 108 insertions(+) create mode 100644 pkgs/development/interpreters/python/cpython/3.7/find_library.patch diff --git a/pkgs/development/interpreters/python/cpython/3.7/find_library.patch b/pkgs/development/interpreters/python/cpython/3.7/find_library.patch new file mode 100644 index 00000000000..97fb66662d0 --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/3.7/find_library.patch @@ -0,0 +1,105 @@ +From 9b5a023a5dc3127da15253f7acad71019395ebe1 Mon Sep 17 00:00:00 2001 +From: Pablo Galindo +Date: Thu, 8 Oct 2020 19:50:37 +0100 +Subject: [PATCH] [3.7] bpo-41976: Fix the fallback to gcc of + ctypes.util.find_library when using gcc>9 (GH-22598). (GH-22601) + +(cherry picked from commit 27ac19cca2c639caaf6fedf3632fe6beb265f24f) + +Co-authored-by: Pablo Galindo +--- + Lib/ctypes/test/test_find.py | 12 ++++++- + Lib/ctypes/util.py | 32 +++++++++++++++---- + .../2020-10-08-18-22-28.bpo-41976.Svm0wb.rst | 3 ++ + 3 files changed, 39 insertions(+), 8 deletions(-) + create mode 100644 Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst + +diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py +index b99fdcba7b28f..92ac1840ad7d4 100644 +--- a/Lib/ctypes/test/test_find.py ++++ b/Lib/ctypes/test/test_find.py +@@ -1,4 +1,5 @@ + import unittest ++import unittest.mock + import os.path + import sys + import test.support +@@ -72,7 +73,7 @@ def test_shell_injection(self): + + @unittest.skipUnless(sys.platform.startswith('linux'), + 'Test only valid for Linux') +-class LibPathFindTest(unittest.TestCase): ++class FindLibraryLinux(unittest.TestCase): + def test_find_on_libpath(self): + import subprocess + import tempfile +@@ -111,6 +112,15 @@ def test_find_on_libpath(self): + # LD_LIBRARY_PATH) + self.assertEqual(find_library(libname), 'lib%s.so' % libname) + ++ def test_find_library_with_gcc(self): ++ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): ++ self.assertNotEqual(find_library('c'), None) ++ ++ def test_find_library_with_ld(self): ++ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ ++ unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): ++ self.assertNotEqual(find_library('c'), None) ++ + + if __name__ == "__main__": + unittest.main() +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 97973bce001d9..0c2510e1619c8 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -93,6 +93,12 @@ def find_library(name): + # Andreas Degert's find functions, using gcc, /sbin/ldconfig, objdump + import re, tempfile + ++ def _is_elf(filename): ++ "Return True if the given file is an ELF file" ++ elf_header = b'\x7fELF' ++ with open(filename, 'br') as thefile: ++ return thefile.read(4) == elf_header ++ + def _findLib_gcc(name): + # Run GCC's linker with the -t (aka --trace) option and examine the + # library name it prints out. The GCC command will fail because we +@@ -299,17 +312,22 @@ def _findLib_ld(name): + stderr=subprocess.PIPE, + universal_newlines=True) + out, _ = p.communicate() +- res = re.search(expr, os.fsdecode(out)) +- if res: +- result = res.group(0) +- except Exception as e: ++ res = re.findall(expr, os.fsdecode(out)) ++ for file in res: ++ # Check if the given file is an elf file: gcc can report ++ # some files that are linker scripts and not actual ++ # shared objects. See bpo-41976 for more details ++ if not _is_elf(file): ++ continue ++ return os.fsdecode(file) ++ except Exception: + pass # result will be None + return result + + def find_library(name): + # See issue #9998 + return _findSoname_ldconfig(name) or \ +- _get_soname(_findLib_gcc(name) or _findLib_ld(name)) ++ _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name)) + + ################################################################ + # test code +diff --git a/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst b/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst +new file mode 100644 +index 0000000000000..c8b3fc771845e +--- /dev/null ++++ b/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst +@@ -0,0 +1,3 @@ ++Fixed a bug that was causing :func:`ctypes.util.find_library` to return ++``None`` when triying to locate a library in an environment when gcc>=9 is ++available and ``ldconfig`` is not. Patch by Pablo Galindo diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index cd06c2b6367..c67ede82003 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -165,6 +165,9 @@ in with passthru; stdenv.mkDerivation { ] ++ [ # LDSHARED now uses $CC instead of gcc. Fixes cross-compilation of extension modules. ./3.8/0001-On-all-posix-systems-not-just-Darwin-set-LDSHARED-if.patch + ] ++ optionals (isPy37 || isPy38) [ + # Backport a fix for ctypes.util.find_library. + ./3.7/find_library.patch ]; postPatch = '' From 1c89832fd5cb1c3be4a5bb9b483e219b06db0f25 Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Mon, 21 Dec 2020 18:53:01 +0100 Subject: [PATCH 109/162] refind: fix build on gcc10 --- .../0001-Fix-GCC-10-compile-problem.patch | 25 +++++++++++++++++++ pkgs/tools/bootloaders/refind/default.nix | 1 + 2 files changed, 26 insertions(+) create mode 100644 pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch diff --git a/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch b/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch new file mode 100644 index 00000000000..90b60235aad --- /dev/null +++ b/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch @@ -0,0 +1,25 @@ +From e34a16301f425f273a67ed3abbc45840bc82d892 Mon Sep 17 00:00:00 2001 +From: srs5694 +Date: Fri, 15 May 2020 12:34:14 -0400 +Subject: [PATCH] Fix GCC 10 compile problem + +--- + Make.common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Make.common b/Make.common +index 3f0b919..95a3a97 100644 +--- a/Make.common ++++ b/Make.common +@@ -60,7 +60,7 @@ endif + # + + # ...for both GNU-EFI and TianoCore.... +-OPTIMFLAGS = -Os -fno-strict-aliasing ++OPTIMFLAGS = -Os -fno-strict-aliasing -fno-tree-loop-distribute-patterns + CFLAGS = $(OPTIMFLAGS) -fno-stack-protector -fshort-wchar -Wall + + # ...for GNU-EFI.... +-- +2.29.2 + diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix index 5c7c68d9d9e..76786c26d81 100644 --- a/pkgs/tools/bootloaders/refind/default.nix +++ b/pkgs/tools/bootloaders/refind/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { patches = [ ./0001-toolchain.patch + ./0001-Fix-GCC-10-compile-problem.patch ]; buildInputs = [ gnu-efi ]; From 7fd60b3c97f043ab60b5c8a6dc3bc13efe427d77 Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Mon, 21 Dec 2020 19:01:38 +0100 Subject: [PATCH 110/162] p7zip: fix build on gcc10 --- pkgs/tools/archivers/p7zip/default.nix | 4 +++ pkgs/tools/archivers/p7zip/gcc10.patch | 40 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 pkgs/tools/archivers/p7zip/gcc10.patch diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix index a155c1717eb..610e89c2fc3 100644 --- a/pkgs/tools/archivers/p7zip/default.nix +++ b/pkgs/tools/archivers/p7zip/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { } ; + patches = [ + ./gcc10.patch + ]; + # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional postPatch = '' sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits diff --git a/pkgs/tools/archivers/p7zip/gcc10.patch b/pkgs/tools/archivers/p7zip/gcc10.patch new file mode 100644 index 00000000000..9361249af93 --- /dev/null +++ b/pkgs/tools/archivers/p7zip/gcc10.patch @@ -0,0 +1,40 @@ +From 1b7d2c73f01b2d2b6a3d2d16840e96e92afdcd61 Mon Sep 17 00:00:00 2001 +From: jinfeihan57 +Date: Tue, 9 Jun 2020 16:48:25 +0800 +Subject: [PATCH] gix gcc10 compiler error + +--- + CPP/Windows/ErrorMsg.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CPP/Windows/ErrorMsg.cpp b/CPP/Windows/ErrorMsg.cpp +index 99684ae..90a7e20 100644 +--- a/CPP/Windows/ErrorMsg.cpp ++++ b/CPP/Windows/ErrorMsg.cpp +@@ -13,7 +13,7 @@ UString MyFormatMessage(DWORD errorCode) + const char * txt = 0; + AString msg; + +- switch(errorCode) { ++ switch(HRESULT(errorCode)) { + case ERROR_NO_MORE_FILES : txt = "No more files"; break ; + case E_NOTIMPL : txt = "E_NOTIMPL"; break ; + case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ; +@@ -22,7 +22,7 @@ UString MyFormatMessage(DWORD errorCode) + case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ; + case E_OUTOFMEMORY : txt = "E_OUTOFMEMORY"; break ; + case E_INVALIDARG : txt = "E_INVALIDARG"; break ; +- case ERROR_DIRECTORY : txt = "Error Directory"; break ; ++ case ERROR_DIRECTORY : txt = "Error Directory"; break ; + default: + txt = strerror(errorCode); + } +@@ -43,7 +43,7 @@ bool MyFormatMessage(DWORD messageID, CSysString &message) + const char * txt = 0; + AString msg; + +- switch(messageID) { ++ switch(HRESULT(messageID)) { + case ERROR_NO_MORE_FILES : txt = "No more files"; break ; + case E_NOTIMPL : txt = "E_NOTIMPL"; break ; + case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ; From f21b93c362e4ae6b6d790bd0dea548646837e121 Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Mon, 21 Dec 2020 19:23:36 +0100 Subject: [PATCH 111/162] range-v3: fix build on gcc10 --- .../libraries/range-v3/default.nix | 4 + .../libraries/range-v3/gcc10.patch | 133 ++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 pkgs/development/libraries/range-v3/gcc10.patch diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix index a583239b52e..3799ccbb59c 100644 --- a/pkgs/development/libraries/range-v3/default.nix +++ b/pkgs/development/libraries/range-v3/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"; }; + patches = [ + ./gcc10.patch + ]; + nativeBuildInputs = [ cmake ]; # Building the tests currently fails on AArch64 due to internal compiler diff --git a/pkgs/development/libraries/range-v3/gcc10.patch b/pkgs/development/libraries/range-v3/gcc10.patch new file mode 100644 index 00000000000..caebf0a6316 --- /dev/null +++ b/pkgs/development/libraries/range-v3/gcc10.patch @@ -0,0 +1,133 @@ +From a91f0e1be27a31c446452a753001d4518ef83a6b Mon Sep 17 00:00:00 2001 +From: Eric Niebler +Date: Mon, 17 Aug 2020 17:48:09 -0700 +Subject: [PATCH] work around premature instantiation problem on gcc; fixes + #1545 + +--- + include/range/v3/view/chunk.hpp | 6 +++--- + include/range/v3/view/split.hpp | 26 +++++++++++++------------- + 2 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/include/range/v3/view/chunk.hpp b/include/range/v3/view/chunk.hpp +index 0c03cf1eb..b8df13303 100644 +--- a/include/range/v3/view/chunk.hpp ++++ b/include/range/v3/view/chunk.hpp +@@ -313,8 +313,8 @@ namespace ranges + + public: + inner_view() = default; +- constexpr explicit inner_view(chunk_view_ & view) noexcept +- : rng_{&view} ++ constexpr explicit inner_view(chunk_view_ * view) noexcept ++ : rng_{view} + {} + CPP_auto_member + constexpr auto CPP_fun(size)()( +@@ -338,7 +338,7 @@ namespace ranges + constexpr inner_view read() const + { + RANGES_EXPECT(!done()); +- return inner_view{*rng_}; ++ return inner_view{rng_}; + } + constexpr bool done() const + { +diff --git a/include/range/v3/view/split.hpp b/include/range/v3/view/split.hpp +index facf1b37f..496220e4a 100644 +--- a/include/range/v3/view/split.hpp ++++ b/include/range/v3/view/split.hpp +@@ -389,19 +389,19 @@ namespace ranges + split_outer_iterator() = default; + + CPP_member +- constexpr explicit CPP_ctor(split_outer_iterator)(Parent & parent)( ++ constexpr explicit CPP_ctor(split_outer_iterator)(Parent * parent)( + /// \pre + requires (!forward_range)) +- : parent_(&parent) ++ : parent_(parent) + {} + + CPP_member +- constexpr CPP_ctor(split_outer_iterator)(Parent & parent, ++ constexpr CPP_ctor(split_outer_iterator)(Parent * parent, + iterator_t current)( + /// \pre + requires forward_range) + : Current{std::move(current)} +- , parent_(&parent) ++ , parent_(parent) + {} + + template(bool Other)( +@@ -519,7 +519,7 @@ namespace ranges + ranges::equal_to> && + (forward_range || detail::tiny_range) + #endif +- struct RANGES_EMPTY_BASES split_view ++ struct RANGES_EMPTY_BASES split_view + : view_interface, is_finite::value ? finite : unknown> + , private detail::split_view_base> + { +@@ -537,17 +537,17 @@ namespace ranges + #if RANGES_CXX_IF_CONSTEXPR < RANGES_CXX_IF_CONSTEXPR_17 + outer_iterator()> begin_(std::true_type) + { +- return outer_iterator()>{*this, ranges::begin(base_)}; ++ return outer_iterator()>{this, ranges::begin(base_)}; + } + outer_iterator begin_(std::false_type) + { + this->curr_ = ranges::begin(base_); +- return outer_iterator{*this}; ++ return outer_iterator{this}; + } + + outer_iterator()> end_(std::true_type) const + { +- return outer_iterator{*this, ranges::end(base_)}; ++ return outer_iterator{this, ranges::end(base_)}; + } + default_sentinel_t end_(std::false_type) const + { +@@ -580,11 +580,11 @@ namespace ranges + { + #if RANGES_CXX_IF_CONSTEXPR >= RANGES_CXX_IF_CONSTEXPR_17 + if constexpr(forward_range) +- return outer_iterator()>{*this, ranges::begin(base_)}; ++ return outer_iterator()>{this, ranges::begin(base_)}; + else + { + this->curr_ = ranges::begin(base_); +- return outer_iterator{*this}; ++ return outer_iterator{this}; + } + #else + return begin_(meta::bool_>{}); +@@ -596,7 +596,7 @@ namespace ranges + /// \pre + requires forward_range && forward_range) + { +- return {*this, ranges::begin(base_)}; ++ return {this, ranges::begin(base_)}; + } + CPP_member + constexpr auto end() // +@@ -604,14 +604,14 @@ namespace ranges + /// \pre + requires forward_range && common_range) + { +- return outer_iterator()>{*this, ranges::end(base_)}; ++ return outer_iterator()>{this, ranges::end(base_)}; + } + constexpr auto end() const + { + #if RANGES_CXX_IF_CONSTEXPR >= RANGES_CXX_IF_CONSTEXPR_17 + if constexpr(forward_range && forward_range && + common_range) +- return outer_iterator{*this, ranges::end(base_)}; ++ return outer_iterator{this, ranges::end(base_)}; + else + return default_sentinel; + #else From 31ed763ea048e12fafd7c85efe11efbcd889b9b6 Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Tue, 22 Dec 2020 17:38:55 +0100 Subject: [PATCH 112/162] libreoffice-still: build with gcc9 Fails in multiple ways when building with gcc10. Moving to a newer version may solve this. --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 32cfe9c8542..96d4027e6a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22638,6 +22638,7 @@ in libreoffice-still = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix { libreoffice = callPackage ../applications/office/libreoffice (libreoffice-args // { + stdenv = gcc9Stdenv; # Fails in multiple ways with gcc10 icu = icu64; variant = "still"; jdk = jdk8; From a909a45e04e5e520fa22f9f960dcc72371132bcd Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Wed, 23 Dec 2020 14:56:49 +0100 Subject: [PATCH 113/162] libopus: disable tests on i686 test_unit_LPC_inv_pred_gain fails --- pkgs/development/libraries/libopus/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix index 9f4d6275ad6..e8d3682b8b3 100644 --- a/pkgs/development/libraries/libopus/default.nix +++ b/pkgs/development/libraries/libopus/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point" ++ stdenv.lib.optional withCustomModes "--enable-custom-modes"; - doCheck = true; + doCheck = !stdenv.isi686; # test_unit_LPC_inv_pred_gain fails meta = with stdenv.lib; { description = "Open, royalty-free, highly versatile audio codec"; From 2cb2a5348e187a877175976ffd5c1a141f523b8f Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Thu, 24 Dec 2020 14:01:24 +0100 Subject: [PATCH 114/162] nixUnstable: fix build on gcc10 --- pkgs/tools/package-management/nix/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index bfc67ccac63..e30b712c5fa 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, fetchFromGitHub, callPackage +{ lib, fetchurl, fetchpatch, fetchFromGitHub, callPackage , storeDir ? "/nix/store" , stateDir ? "/nix/var" , confDir ? "/etc" @@ -23,13 +23,13 @@ common = , withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp , withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp , enableStatic ? false - , name, suffix ? "", src + , name, suffix ? "", src, patches ? [] }: let sh = busybox-sandbox-shell; nix = stdenv.mkDerivation rec { - inherit name src; + inherit name src patches; version = lib.getVersion name; is24 = lib.versionAtLeast version "2.4pre"; @@ -208,6 +208,13 @@ in rec { sha256 = "0qhd3nxvqzszzsfvh89xhd239ycqb0kq2n0bzh9br78pcb60vj3g"; }; + patches = [ + (fetchpatch { # Fix build on gcc10 + url = "https://github.com/NixOS/nix/commit/d4870462f8f539adeaa6dca476aff6f1f31e1981.patch"; + sha256 = "mTvLvuxb2QVybRDgntKMq+b6da/s3YgM/ll2rWBeY/Y="; + }) + ]; + inherit storeDir stateDir confDir boehmgc; }); From 6274a5bbb35d0a119c2f7a6935922e42f602743a Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Fri, 25 Dec 2020 21:14:43 +0100 Subject: [PATCH 115/162] wine: re-enable stripping --- pkgs/misc/emulators/wine/base.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 0be36daac9f..cb46bc2bfe2 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -91,14 +91,6 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { # elements specified above. dontPatchELF = true; - # Disable stripping to avoid breaking placeholder DLLs/EXEs. - # Symptoms of broken placeholders are: when the wineprefix is created - # drive_c/windows/system32 will only contain a few files instead of - # hundreds, there will be an error about winemenubuilder and MountMgr - # on startup of Wine, and the Drives tab in winecfg will show an error. - # TODO: binutils 2.34 contains a fix for this bug, re-enable stripping once available. - dontStrip = true; - ## FIXME # Add capability to ignore known failing tests # and enable doCheck From 97a279c71df591debd077a497196e672707d642b Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Sat, 26 Dec 2020 11:27:37 +0100 Subject: [PATCH 116/162] libgcrypt: force noexecstack --- pkgs/development/libraries/libgcrypt/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 2290d2fa07d..cd529cb06ee 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -34,6 +34,11 @@ stdenv.mkDerivation rec { # aarch64 configurePlatforms = [ "host" "build" ]; + postConfigure = '' + sed -i configure \ + -e 's/NOEXECSTACK_FLAGS=$/NOEXECSTACK_FLAGS="-Wa,--noexecstack"/' + ''; + # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config postFixup = '' From 68a4db344659bec2bd6d7b4286165dd92ec2f29d Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Sun, 27 Dec 2020 10:39:41 +0100 Subject: [PATCH 117/162] syslinux: fix build on gcc10 --- pkgs/os-specific/linux/syslinux/default.nix | 1 + pkgs/os-specific/linux/syslinux/gcc10.patch | 33 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +-- 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 pkgs/os-specific/linux/syslinux/gcc10.patch diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix index 28681aed564..559fb6219b4 100644 --- a/pkgs/os-specific/linux/syslinux/default.nix +++ b/pkgs/os-specific/linux/syslinux/default.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation { url = mkURL "26f0e7b2" "0018-prevent-pow-optimization.patch"; sha256 = "1c8g0jz5yj9a0rsmryx9vdjsw4hw8mjfcg05c9pmyjg85w3dfp3m"; }) + ./gcc10.patch ]; postPatch = '' diff --git a/pkgs/os-specific/linux/syslinux/gcc10.patch b/pkgs/os-specific/linux/syslinux/gcc10.patch new file mode 100644 index 00000000000..f4893a91231 --- /dev/null +++ b/pkgs/os-specific/linux/syslinux/gcc10.patch @@ -0,0 +1,33 @@ +diff --git a/dos/string.h b/dos/string.h +index f648de2..a502132 100644 +--- a/dos/string.h ++++ b/dos/string.h +@@ -5,12 +5,13 @@ + #ifndef _STRING_H + #define _STRING_H + ++#include ++ + /* Standard routines */ + #define memcpy(a,b,c) __builtin_memcpy(a,b,c) + #define memmove(a,b,c) __builtin_memmove(a,b,c) + #define memset(a,b,c) __builtin_memset(a,b,c) + #define strcpy(a,b) __builtin_strcpy(a,b) +-#define strlen(a) __builtin_strlen(a) + + /* This only returns true or false */ + static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n) +@@ -21,6 +22,13 @@ static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n) + return rv; + } + ++static inline size_t strlen(const char *s) ++{ ++ size_t len = 0; ++ while (*s++) len++; ++ return len; ++} ++ + extern char *strchr(const char *s, int c); + + #endif /* _STRING_H */ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 96d4027e6a5..452468e2435 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19326,9 +19326,7 @@ in sysklogd = callPackage ../os-specific/linux/sysklogd { }; - syslinux = callPackage ../os-specific/linux/syslinux { - stdenv = gcc9Stdenv; # Fails with "undefined reference to `strlen'" on gcc10 - }; + syslinux = callPackage ../os-specific/linux/syslinux { }; sysstat = callPackage ../os-specific/linux/sysstat { }; From 22daf1c8ff31dc203bb71c2920fc43fe03af7075 Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Sun, 27 Dec 2020 12:55:17 +0100 Subject: [PATCH 118/162] mp4v2: fix build on gcc10 --- pkgs/development/libraries/mp4v2/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix index 9601ae1eea3..3a036fcf6fb 100644 --- a/pkgs/development/libraries/mp4v2/default.nix +++ b/pkgs/development/libraries/mp4v2/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { }) ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ]; + # `faac' expects `mp4.h'. postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h"; From 55eaa559223da5b6cfd5bd6cd0e51b667d6865c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 20 May 2020 16:39:39 +0100 Subject: [PATCH 119/162] nixos/redis: set TimeoutStartSec/TimeoutStopSec --- nixos/modules/services/databases/redis.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index 6b8853ae390..aeb1a0c22a4 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -242,6 +242,8 @@ in ExecStart = "${cfg.package}/bin/redis-server /run/redis/redis.conf"; RuntimeDirectory = "redis"; StateDirectory = "redis"; + TimeoutStartSec = "infinity"; + TimeoutStopSec = "infinity"; Type = "notify"; User = "redis"; Group = "redis"; From 8a6c765832bfa23b42e3baa7b6a3802aa805cea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 14 Dec 2019 08:01:00 +0000 Subject: [PATCH 120/162] command-not-found: rewrite in Rust - drops perl + libraries dependencies --- .../command-not-found/command-not-found.nix | 11 +- .../command-not-found/command-not-found.pl | 51 ------- .../programs/command-not-found/default.nix | 18 +++ .../command-not-found/rust/Cargo.lock | 131 ++++++++++++++++++ .../command-not-found/rust/Cargo.toml | 10 ++ .../command-not-found/rust/src/main.rs | 52 +++++++ 6 files changed, 212 insertions(+), 61 deletions(-) delete mode 100644 nixos/modules/programs/command-not-found/command-not-found.pl create mode 100644 nixos/modules/programs/command-not-found/default.nix create mode 100644 nixos/modules/programs/command-not-found/rust/Cargo.lock create mode 100644 nixos/modules/programs/command-not-found/rust/Cargo.toml create mode 100644 nixos/modules/programs/command-not-found/rust/src/main.rs diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index 656c255fcb1..da09488d82c 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -9,17 +9,9 @@ with lib; let cfg = config.programs.command-not-found; - commandNotFound = pkgs.substituteAll { - name = "command-not-found"; - dir = "bin"; - src = ./command-not-found.pl; - isExecutable = true; - inherit (pkgs) perl; + commandNotFound = pkgs.callPackage ./. { inherit (cfg) dbPath; - perlFlags = concatStrings (map (path: "-I ${path}/${pkgs.perl.libPrefix} ") - [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]); }; - in { @@ -91,5 +83,4 @@ in environment.systemPackages = [ commandNotFound ]; }; - } diff --git a/nixos/modules/programs/command-not-found/command-not-found.pl b/nixos/modules/programs/command-not-found/command-not-found.pl deleted file mode 100644 index ab7aa204653..00000000000 --- a/nixos/modules/programs/command-not-found/command-not-found.pl +++ /dev/null @@ -1,51 +0,0 @@ -#! @perl@/bin/perl -w @perlFlags@ - -use strict; -use DBI; -use DBD::SQLite; -use String::ShellQuote; -use Config; - -my $program = $ARGV[0]; - -my $dbPath = "@dbPath@"; - -my $dbh = DBI->connect("dbi:SQLite:dbname=$dbPath", "", "") - or die "cannot open database `$dbPath'"; -$dbh->{RaiseError} = 0; -$dbh->{PrintError} = 0; - -my $system = $ENV{"NIX_SYSTEM"} // $Config{myarchname}; - -my $res = $dbh->selectall_arrayref( - "select package from Programs where system = ? and name = ?", - { Slice => {} }, $system, $program); - -if (!defined $res || scalar @$res == 0) { - print STDERR "$program: command not found\n"; -} elsif (scalar @$res == 1) { - my $package = @$res[0]->{package}; - if ($ENV{"NIX_AUTO_INSTALL"} // "") { - print STDERR <{package}\n" foreach @$res; -} - -exit 127; diff --git a/nixos/modules/programs/command-not-found/default.nix b/nixos/modules/programs/command-not-found/default.nix new file mode 100644 index 00000000000..bbe949fa86a --- /dev/null +++ b/nixos/modules/programs/command-not-found/default.nix @@ -0,0 +1,18 @@ +{ stdenv, rustPlatform, pkgconfig, sqlite +, dbPath ? "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite" }: + +rustPlatform.buildRustPackage { + name = "command-not-found"; + src = ./rust; + + DB_PATH = dbPath; + NIX_SYSTEM = stdenv.system; + + postInstall = '' + strip $out/bin/command-not-found + ''; + + buildInputs = [ sqlite ]; + nativeBuildInputs = [ pkgconfig ]; + cargoSha256 = "13q61bb4b1q40g424pbssyp3ln79q1a33vmyz9s9wlqnac34cibd"; +} diff --git a/nixos/modules/programs/command-not-found/rust/Cargo.lock b/nixos/modules/programs/command-not-found/rust/Cargo.lock new file mode 100644 index 00000000000..ce3a9358c5c --- /dev/null +++ b/nixos/modules/programs/command-not-found/rust/Cargo.lock @@ -0,0 +1,131 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "command-not-found" +version = "0.1.0" +dependencies = [ + "rusqlite 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.70" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libsqlite3-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "linked-hash-map 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "memchr" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "pkg-config" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rusqlite" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fallible-streaming-iterator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libsqlite3-sys 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "smallvec" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "vcpkg" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +"checksum fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +"checksum fallible-streaming-iterator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +"checksum libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" +"checksum libsqlite3-sys 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e704a02bcaecd4a08b93a23f6be59d0bd79cd161e0963e9499165a0a35df7bd" +"checksum linked-hash-map 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" +"checksum lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +"checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" +"checksum rusqlite 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)" = "45d0fd62e1df63d254714e6cb40d0a0e82e7a1623e7a27f679d851af092ae58b" +"checksum smallvec 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" +"checksum time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/nixos/modules/programs/command-not-found/rust/Cargo.toml b/nixos/modules/programs/command-not-found/rust/Cargo.toml new file mode 100644 index 00000000000..f965c7df76a --- /dev/null +++ b/nixos/modules/programs/command-not-found/rust/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "command-not-found" +version = "0.1.0" +edition = "2018" + +[dependencies] +rusqlite = "0.*.*" + +[profile.release] +lto = true diff --git a/nixos/modules/programs/command-not-found/rust/src/main.rs b/nixos/modules/programs/command-not-found/rust/src/main.rs new file mode 100644 index 00000000000..b0af2871cc2 --- /dev/null +++ b/nixos/modules/programs/command-not-found/rust/src/main.rs @@ -0,0 +1,52 @@ +use rusqlite::{params, Connection, Result}; +use std::env; +use std::process::exit; + +const NIX_SYSTEM: &str = env!("NIX_SYSTEM"); +const DB_PATH: &str = env!("DB_PATH"); + +fn query_packages(system: &str, program: &str) -> Result> { + Ok(Connection::open(DB_PATH)? + .prepare("select package from Programs where system = ? and name = ?;")? + .query_map(params![system, program], |row| row.get("package"))? + .collect::>>()?) +} + +fn run_app() -> i32 { + let args: Vec<_> = env::args().collect(); + if args.len() < 2 { + eprintln!("USAGE: {} PROGRAMNAME", args[0]); + return 1; + } + let program = &args[1]; + let system = env::var("NIX_SYSTEM").unwrap_or_else(|_| NIX_SYSTEM.to_string()); + let packages = match query_packages(&system, program) { + Ok(packages) => packages, + Err(err) => { + eprintln!("Failed to query package database: {}", err); + return 1; + } + }; + if packages.is_empty() { + eprintln!("{}: command not found", program); + } else { + let advice = if packages.len() > 1 { + "It is provided by several packages. You can install it by typing on of the of following commands:" + } else { + "You can install it by typing:" + }; + eprintln!( + "The program '{}' is currently not installed. {}", + program, advice + ); + for pkg in packages { + eprintln!(" nix-env -iA nixos.{}", pkg); + } + } + + 127 +} + +fn main() { + exit(run_app()); +} From 9c6f9c4068a883727aa3d52acd3745b724ec03f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 30 May 2020 10:32:17 +0100 Subject: [PATCH 121/162] redis: fix redis service --- nixos/modules/services/databases/redis.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index aeb1a0c22a4..9988f382a1b 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -12,7 +12,7 @@ let ${condOption "bind" cfg.bind} ${condOption "unixsocket" cfg.unixSocket} daemonize no - supervised systemd + #supervised systemd loglevel ${cfg.logLevel} logfile ${cfg.logfile} syslog-enabled ${redisBool cfg.syslog} @@ -244,7 +244,7 @@ in StateDirectory = "redis"; TimeoutStartSec = "infinity"; TimeoutStopSec = "infinity"; - Type = "notify"; + Type = "simple"; User = "redis"; Group = "redis"; }; From 8420dc923e7076eb94fb4bf2c3e1eb9aa337af87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 29 May 2020 22:55:38 +0100 Subject: [PATCH 122/162] homeassistant: support for python_script automation --- .../modules/services/misc/home-assistant.nix | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 1f2e13f3732..16fff215e61 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -62,6 +62,17 @@ let lovelace.mode = "yaml"; }; + #pythonScripts = pkgs.runCommand "python_scripts" { + # nativeBuildInputs = [ pkgs.python3 ]; + # scripts = cfg.pythonScripts; + #} '' + # mkdir $out + # for s in $scripts; do + # echo "checking syntax of $s" + # python -m py_compile "$s" + # ln -s "$s" "$out/$(basename $s" + # done + #''; in { meta.maintainers = with maintainers; [ dotlambda ]; @@ -214,6 +225,17 @@ in { ''; }; + pythonScripts = mkOption { + #default = []; + #type = types.listOf types.path; + default = null; + type = types.nullOr types.path; + description = '' + List of python scripts to use in the python_scripts integration. + Also see in the Homeassistant documentation + ''; + }; + openFirewall = mkOption { default = false; type = types.bool; @@ -224,6 +246,12 @@ in { config = mkIf cfg.enable { networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ]; + systemd.tmpfiles.rules = mkIf (cfg.pythonScripts != null) [ + "L+ ${cfg.configDir}/python_scripts - - - - ${cfg.pythonScripts}" + ]; + + services.home-assistant.config.python_script = mkIf (cfg.pythonScripts != null) {}; + systemd.services.home-assistant = { description = "Home Assistant"; after = [ "network.target" ]; From ce025026ac145680ed06a77ef9b20fbfb60e4953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 22 Jun 2020 11:51:00 +0100 Subject: [PATCH 123/162] homeassistant: add package substitute for feedparser --- pkgs/servers/home-assistant/component-packages.nix | 2 +- pkgs/servers/home-assistant/parse-requirements.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 9135ea549f3..429f140f738 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -243,7 +243,7 @@ "familyhub" = ps: with ps; [ ]; # missing inputs: python-family-hub-local "fan" = ps: with ps; [ ]; "fastdotcom" = ps: with ps; [ ]; # missing inputs: fastdotcom - "feedreader" = ps: with ps; [ ]; # missing inputs: feedparser-homeassistant + "feedreader" = ps: with ps; [ feedparser]; "ffmpeg" = ps: with ps; [ ha-ffmpeg ]; "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ]; "ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ]; diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index 4fa4b8a48ee..3d25dfeaf84 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -41,6 +41,10 @@ PKG_PREFERENCES = { "tensorflow-build_2": "tensorflow", } +# packages we have a different name for or we want to replace +PKG_SUBSTITUTES = { + "feedparser-homeassistant": "feedparser" +} def run_mypy() -> None: cmd = ["mypy", "--ignore-missing-imports", __file__] @@ -156,6 +160,8 @@ def main() -> None: # Therefore, if there's a "#" in the line, only take the part after it req = req[req.find("#") + 1 :] name = req.split("==")[0] + name = PKG_SUBSTITUTES.get(name, name) + attr_path = name_to_attr_path(name, packages) if attr_path is not None: # Add attribute path without "python3Packages." prefix From 2ed6fbfaf12454b596e8b0a8b3ede28e3a88a798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 30 May 2020 03:32:55 +0100 Subject: [PATCH 124/162] iina: init at 1.1.2 --- pkgs/applications/video/iina/default.nix | 26 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/applications/video/iina/default.nix diff --git a/pkgs/applications/video/iina/default.nix b/pkgs/applications/video/iina/default.nix new file mode 100644 index 00000000000..f0abed2d93d --- /dev/null +++ b/pkgs/applications/video/iina/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, undmg }: + +stdenv.mkDerivation { + pname = "iina"; + version = "1.1.2"; + + src = fetchurl { + url = "https://github.com/iina/iina/releases/download/v1.0.7-beta2/IINA.v1.0.7-beta2.dmg"; + sha256 = "1w0l3b1kar9zglqkildcqhlwara6zy2p3x79kqa2d0b43nqka82n"; + }; + + buildInputs = [ undmg ]; + installPhase = '' + mkdir -p "$out/Applications/IINA.app" + cp -R . "$out/Applications/IINA.app" + chmod +x "$out/Applications/IINA.app/Contents/MacOS/IINA" + ''; + + meta = with stdenv.lib; { + description = "The modern video player for macOS."; + homepage = "http://https://iina.io/"; + license = licenses.gpl3; + platforms = platforms.darwin; + maintainers = with maintainers; [ mic92 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 312b1292245..1a24d918e0a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21236,6 +21236,8 @@ in icesl = callPackage ../applications/misc/icesl { }; + iina = callPackage ../applications/video/iina { }; + keepassx = callPackage ../applications/misc/keepassx { }; keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; keepassxc = libsForQt5.callPackage ../applications/misc/keepassx/community.nix { }; From e1e412215df70c45063f5c1bc6afcff7d3c1c0ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Aug 2020 06:52:05 +0100 Subject: [PATCH 125/162] nixos-rebuild: document all nix flags --- nixos/doc/manual/man-nixos-rebuild.xml | 30 ++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index d0ff81c1dbb..2ab5f006b06 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -112,6 +112,15 @@ path + + + + + + + + + @@ -130,6 +139,18 @@ number + + + + + + + + + + + + @@ -567,9 +588,14 @@ In addition, nixos-rebuild accepts various Nix-related - flags, including / , + flags: , / , , , - , , and / + , , and / + , , + , , + / , + / , + / and / . See the Nix manual for details. From b8a19ca2bcff1de182bc7d161afe54de8985b31f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Aug 2020 06:52:32 +0100 Subject: [PATCH 126/162] nixos-rebuild: add --impure flag There are two use case for this flag: 1. NixOS developer usually use a nixpkgs checkout for development. Copying nixpkgs everytime when rebuilding NixOS is way to slow, even with NVME disks. 2. Folks migrating from impure configuration in a sufficient complex infrastructure need this flag to gradually migrate to NixOS flakes. --- nixos/doc/manual/man-nixos-rebuild.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index 2ab5f006b06..4510fdd4422 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -121,6 +121,9 @@ + + + @@ -597,6 +600,10 @@ / , / and / . See the Nix manual for details. + + The following Nix flags that are support by the upcoming nix 2.4 version: + , , , + , . See nix --help or nix build --help for details. From 19bf53f143040b87d39538e265ccc0933d7c1929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 14 Aug 2020 07:25:07 +0100 Subject: [PATCH 127/162] nixos/filesystems: faster nonEmtpyStr check regexes should be faster than nix functions --- nixos/modules/tasks/filesystems.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index a055072f9c9..96f57fc80b0 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -8,7 +8,7 @@ let addCheckDesc = desc: elemType: check: types.addCheck elemType check // { description = "${elemType.description} (with check: ${desc})"; }; nonEmptyStr = addCheckDesc "non-empty" types.str - (x: x != "" && ! (all (c: c == " " || c == "\t") (stringToCharacters x))); + (s: (builtins.match ".*[^ \t]+.*" s) != null); fileSystems' = toposort fsBefore (attrValues config.fileSystems); From f536901693ef6128cc61030ee74eb4433793b174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 14 Aug 2020 07:25:50 +0100 Subject: [PATCH 128/162] nixos/filesystems: don't allow mountpoints with trailing slash They are semantically the same as the non-slash version and therefore are potential source of duplicates. Also fixes https://github.com/NixOS/nixpkgs/issues/78951 --- nixos/modules/tasks/filesystems.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 96f57fc80b0..5388fc738e3 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -7,8 +7,9 @@ let addCheckDesc = desc: elemType: check: types.addCheck elemType check // { description = "${elemType.description} (with check: ${desc})"; }; - nonEmptyStr = addCheckDesc "non-empty" types.str - (s: (builtins.match ".*[^ \t]+.*" s) != null); + + isNonEmpty = s: (builtins.match ".*[^ \t]+.*" s) != null; + nonEmptyStr = addCheckDesc "non-empty" types.str isNonEmpty; fileSystems' = toposort fsBefore (attrValues config.fileSystems); @@ -28,10 +29,10 @@ let coreFileSystemOpts = { name, config, ... }: { options = { - mountPoint = mkOption { example = "/mnt/usb"; - type = nonEmptyStr; + type = addCheckDesc "non-empty without trailing slash" types.str + (s: isNonEmpty s && (builtins.match "(/|/.*[^/])" s) != null); description = "Location of the mounted the file system."; }; From a34aa811bdd00312409f875bd3483528dc7dbcc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 20 Sep 2020 22:00:49 +0200 Subject: [PATCH 129/162] sysdig: enable aarch64 --- pkgs/os-specific/linux/sysdig/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 0f8702eb6e0..5f4d638dfec 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)"; license = with licenses; [ asl20 gpl2 mit ]; maintainers = [maintainers.raskin]; - platforms = ["x86_64-linux"] ++ platforms.darwin; + platforms = [ "x86_64-linux" "aarch64-linux" ] ++ platforms.darwin; broken = kernel != null && versionOlder kernel.version "4.14"; homepage = "https://sysdig.com/opensource/"; downloadPage = "https://github.com/draios/sysdig/releases"; From f84f71e1e0a51f3693be019f069149ef05b7b1ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 25 Oct 2020 07:21:00 +0100 Subject: [PATCH 130/162] nixos/nginx: add streamConfig option --- .../services/web-servers/nginx/default.nix | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 62671e9d748..2bde2a68a6b 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -179,6 +179,12 @@ let ${cfg.httpConfig} }''} + ${optionalString (cfg.streamConfig != "") '' + stream { + ${cfg.streamConfig} + } + ''} + ${cfg.appendConfig} ''; @@ -452,6 +458,21 @@ in "; }; + streamConfig = mkOption { + type = types.lines; + default = ""; + example = '' + server { + listen 127.0.0.1:53 udp reuseport; + proxy_timeout 20s; + proxy_pass 192.168.0.1:53535; + } + ''; + description = " + Configuration lines to be set inside the stream block. + "; + }; + eventsConfig = mkOption { type = types.lines; default = ""; From 003c48411a02cc3083e2073508189599952d17fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 12 Nov 2020 14:14:24 +0100 Subject: [PATCH 131/162] weechatScripts.wee-slack: switch to master --- .../0001-hardcode-json-file-path.patch | 35 +++++++++++++++++++ .../irc/weechat/scripts/wee-slack/default.nix | 8 ++--- .../wee-slack/hardcode-json-file-path.patch | 12 ------- 3 files changed, 39 insertions(+), 16 deletions(-) create mode 100644 pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch delete mode 100644 pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch new file mode 100644 index 00000000000..45e620db258 --- /dev/null +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch @@ -0,0 +1,35 @@ +From 5dd2593369645b11a9dc03e1930617d2f5dbd039 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= +Date: Wed, 11 Nov 2020 11:48:49 +0100 +Subject: [PATCH] hardcode json file path +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jörg Thalheim +--- + wee_slack.py | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/wee_slack.py b/wee_slack.py +index a3d779c..5942289 100644 +--- a/wee_slack.py ++++ b/wee_slack.py +@@ -5136,13 +5136,7 @@ def create_slack_debug_buffer(): + + def load_emoji(): + try: +- weechat_dir = w.info_get('weechat_dir', '') +- weechat_sharedir = w.info_get('weechat_sharedir', '') +- local_weemoji, global_weemoji = ('{}/weemoji.json'.format(path) +- for path in (weechat_dir, weechat_sharedir)) +- path = (global_weemoji if os.path.exists(global_weemoji) and +- not os.path.exists(local_weemoji) else local_weemoji) +- with open(path, 'r') as ef: ++ with open('@out@/share/wee-slack/weemoji.json', 'r') as ef: + emojis = json.loads(ef.read()) + if 'emoji' in emojis: + print_error('The weemoji.json file is in an old format. Please update it.') +-- +2.29.0 + diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix index 9650f903ed6..4be611eb71f 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "wee-slack"; - version = "2.6.0"; + version = "8bd734c8e9a6b133a65548672f8a11ee3b3ce677"; src = fetchFromGitHub { repo = "wee-slack"; owner = "wee-slack"; - rev = "v${version}"; - sha256 = "0s4qd1z40c1bczkvc840jwjmzbv7nyj06xqs1si9v54qmkh4gaq4"; + rev = version; + sha256 = "0p48cpaqfqja9i68dqyladwif7x8c19ii8v27p9cxz5y9impc9qk"; }; patches = [ @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { paths = with python3Packages; [ websocket_client six ]; }}/${python3Packages.python.sitePackages}"; }) - ./hardcode-json-file-path.patch + ./0001-hardcode-json-file-path.patch ]; postPatch = '' diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch deleted file mode 100644 index 7413a9229ce..00000000000 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/wee_slack.py -+++ b/wee_slack.py -@@ -4560,8 +4560,7 @@ - - def load_emoji(): - try: -- DIR = w.info_get('weechat_dir', '') -- with open('{}/weemoji.json'.format(DIR), 'r') as ef: -+ with open('@out@/share/wee-slack/weemoji.json', 'r') as ef: - emojis = json.loads(ef.read()) - if 'emoji' in emojis: - print_error('The weemoji.json file is in an old format. Please update it.') From 2070c6a11b8799db25d105c4826ba6f1249faaf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 15 Nov 2020 03:06:46 +0100 Subject: [PATCH 132/162] openafs_1_8: add version constraints --- pkgs/servers/openafs/1.8/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix index c26f8d3a23c..1f475d7440f 100644 --- a/pkgs/servers/openafs/1.8/default.nix +++ b/pkgs/servers/openafs/1.8/default.nix @@ -100,6 +100,7 @@ in stdenv.mkDerivation { homepage = "https://www.openafs.org"; license = licenses.ipl10; platforms = platforms.linux; + broken = with kernel; kernelOlder "3.18" || isHardened; maintainers = [ maintainers.maggesi maintainers.spacefrogg ]; }; } From 64a7e509d7569de376f5446991f543e3344f37b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 19 Nov 2020 11:47:29 +0100 Subject: [PATCH 133/162] nixos/nix-daemon: fix unknown sandbox warnings --- nixos/modules/services/misc/nix-daemon.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 0eeff31d6c4..b0763c8d0de 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -11,6 +11,7 @@ let nixVersion = getVersion nix; isNix23 = versionAtLeast nixVersion "2.3pre"; + isNix24 = versionAtLeast nixVersion "2.4pre"; makeNixBuildUser = nr: { name = "nixbld${toString nr}"; @@ -40,7 +41,11 @@ let max-jobs = ${toString (cfg.maxJobs)} cores = ${toString (cfg.buildCores)} sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox} - extra-sandbox-paths = ${toString cfg.sandboxPaths} + + ${optionalString (!isNix24) '' + extra-sandbox-paths = ${toString cfg.sandboxPaths} + ''} + substituters = ${toString cfg.binaryCaches} trusted-substituters = ${toString cfg.trustedBinaryCaches} trusted-public-keys = ${toString cfg.binaryCachePublicKeys} From f438013ac4d1c064d3a3c88bd6401c8dcff1c851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 5 Dec 2020 10:28:11 +0100 Subject: [PATCH 134/162] python3.pkgs.pyworld: init at 0.2.12 --- .../python-modules/pyworld/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/python-modules/pyworld/default.nix diff --git a/pkgs/development/python-modules/pyworld/default.nix b/pkgs/development/python-modules/pyworld/default.nix new file mode 100644 index 00000000000..92a91f766be --- /dev/null +++ b/pkgs/development/python-modules/pyworld/default.nix @@ -0,0 +1,31 @@ +{ lib +, buildPythonPackage +, fetchPypi +, numpy +, cython +}: + +buildPythonPackage rec { + pname = "pyworld"; + version = "0.2.12"; + + src = fetchPypi { + inherit pname version; + sha256 = "896c910696975855578d855f490f94d7a57119e0a75f7f15e11fdf58ba891627"; + }; + + nativeBuildInputs = [ + cython + ]; + + propagatedBuildInputs = [ + numpy + ]; + + meta = with lib; { + description = "PyWorld is a Python wrapper for WORLD vocoder"; + homepage = https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder; + license = licenses.mit; + maintainers = [ maintainers.mic92 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 80f5f6cab1c..46ebc85dd00 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6208,6 +6208,8 @@ in { }); in if isPy3k then pyxattr' else pyxattr_2; + pyworld = callPackage ../development/python-modules/pyworld { }; + pyx = callPackage ../development/python-modules/pyx { }; pyxdg = callPackage ../development/python-modules/pyxdg { }; From f730926a6c23139c99f0614ba2b1e5b900bb07f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 5 Dec 2020 10:28:31 +0100 Subject: [PATCH 135/162] tts: better text expansion patches --- pkgs/tools/audio/tts/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index 770e898f2ee..338bbad19e4 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -61,6 +61,18 @@ python3Packages.buildPythonApplication rec { url = "https://github.com/mozilla/TTS/commit/36fee428b9f3f4ec1914b090a2ec9d785314d9aa.patch"; sha256 = "sha256-pP0NxiyrsvQ0A7GEleTdT87XO08o7WxPEpb6Bmj66dc="; }) + (fetchpatch { + url = "https://github.com/Mic92/TTS/commit/5bf62009e8c19e8c1627d1f7aa54e11bc5fa91d7.patch"; + sha256 = "sha256-ZxDytieD0zoP0/RXzG0bbVnl0oE+DF8iUVpHb8+2TqM="; + }) + (fetchpatch { + url = "https://github.com/mozilla/TTS/commit/3000647e542fce9773f4c5da082630befa5525f1.patch"; + sha256 = "sha256-dl8Zy0dEw9z4ZZFcuP1WHzCVh2+nn0jDKOncoCK+syM="; + }) + (fetchpatch { + url = "https://github.com/mozilla/TTS/commit/fe86a076bb1c7e18078718be0aa36da427f325bd.patch"; + sha256 = "sha256-cT5HYkLFzmSMwAHLOHgpG+v9HGKIbUxwS8Dt9SKHm+8="; + }) ]; preBuild = '' From 7a86a9505c06e7020f072463b343f0a83262f0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 5 Dec 2020 10:28:54 +0100 Subject: [PATCH 136/162] tts: add pyworld dependency this will become a dependency in the next version --- pkgs/tools/audio/tts/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index 338bbad19e4..1634bfa5b30 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -107,6 +107,7 @@ python3Packages.buildPythonApplication rec { inflect gdown pysbd + pyworld ]; postInstall = '' From 4caaec36ddbc9f12a91c4b01c1f4924ede2e0c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 6 Dec 2020 06:04:58 +0100 Subject: [PATCH 137/162] amazon-ec2-utils: 0.5.1 -> 1.3 --- nixos/modules/virtualisation/amazon-image.nix | 2 +- .../amazon-ec2-utils/default.nix | 42 +++++++++++++++++ .../virtualization/ec2-utils/default.nix | 47 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 45 insertions(+), 49 deletions(-) create mode 100644 pkgs/tools/virtualization/amazon-ec2-utils/default.nix delete mode 100644 pkgs/tools/virtualization/ec2-utils/default.nix diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 26297a7d0f1..4f83d72901c 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -137,7 +137,7 @@ in services.openssh.permitRootLogin = "prohibit-password"; # Creates symlinks for block device names. - services.udev.packages = [ pkgs.ec2-utils ]; + services.udev.packages = [ pkgs.amazon-ec2-utils ]; # Force getting the hostname from EC2. networking.hostName = mkDefault ""; diff --git a/pkgs/tools/virtualization/amazon-ec2-utils/default.nix b/pkgs/tools/virtualization/amazon-ec2-utils/default.nix new file mode 100644 index 00000000000..d7dd6ad0b1e --- /dev/null +++ b/pkgs/tools/virtualization/amazon-ec2-utils/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, fetchFromGitHub, python3, installShellFiles }: + +stdenv.mkDerivation rec { + pname = "amazon-ec2-utils"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "aws"; + repo = "amazon-ec2-utils"; + rev = version; + sha256 = "sha256-uxKnbdKGhS32kY3mA7YYtDRwKcEjNZPJUYQExZTqtxE="; + }; + + buildInputs = [ python3 ]; + # TODO next version will have manpages + #nativeBuildInputs = [ installShellFiles ]; + + installPhase = '' + # https://github.com/aws/amazon-ec2-utils/blob/8eb2effb1aea2280264d66ae58b3e156e6d429f9/amazon-ec2-utils.spec#L74 + install -D --target $out/etc/udev/rules.d *.rules + install -D --target $out/bin ec2-metadata ebsnvme-id ec2udev-vbd ec2udev-vcpu + install -D --target $out/lib/udev/ ec2nvme-nsid + # TODO next version will have manpages + #installManPage doc/* + ''; + + postFixup = '' + for i in $out/etc/udev/rules.d/*.rules; do + substituteInPlace "$i" \ + --replace '/sbin' "$out/bin" + done + substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ + --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" + ''; + + meta = { + description = "A set of tools for running in EC2"; + homepage = "https://aws.amazon.com/amazon-linux-ami/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ thefloweringash ]; + }; +} diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix deleted file mode 100644 index 1605bcfa43b..00000000000 --- a/pkgs/tools/virtualization/ec2-utils/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, lib, rpmextract, fetchurl, python2, tree }: - -stdenv.mkDerivation { - name = "ec2-utils"; - version = "0.5.1"; - - # The url can be determined by booting an "Amazon Linux 2" and running: - # > yumdownloader --urls ec2-utils - src = fetchurl { - url = "http://amazonlinux.ap-northeast-1.amazonaws.com/blobstore/a3b4d2c35c2300518fe10381a05b3bd7936ff5cdd3d351143a11bf84073d9e00/ec2-utils-0.5-1.amzn2.0.1.noarch.rpm"; - sha256 = "004y7l3q9gqi78a53lykrpsnz4yp7dds1083w67m2013bk1x5d53"; - }; - - nativeBuildInputs = [ rpmextract ]; - - buildInputs = [ python2 ]; - - unpackPhase = '' - mkdir source - cd source - rpmextract "$src" - ''; - - installPhase = '' - mkdir $out - - mv --target-directory $out \ - etc sbin usr/bin usr/lib - ''; - - postFixup = '' - for i in $out/etc/udev/rules.d/*.rules; do - substituteInPlace "$i" \ - --replace '/sbin' "$out/bin" - done - - substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ - --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" - ''; - - meta = { - description = "A set of tools for running in EC2"; - homepage = "https://aws.amazon.com/amazon-linux-ami/"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ thefloweringash ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 6e5da1bf34e..793b58ac46d 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -138,6 +138,7 @@ mapAliases ({ draftsight = throw "draftsight has been removed, no longer available as freeware"; # added 2020-08-14 dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03 dwarf_fortress = dwarf-fortress; # added 2016-01-23 + ec2-utils = amazon-ec2-utils; # added 2020-12-06 emacsPackagesGen = emacsPackagesFor; # added 2018-08-18 emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18 emacsPackagesNgFor = emacsPackagesFor; # added 2019-08-07 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1a24d918e0a..c77170369aa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -997,7 +997,7 @@ in ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { }; - ec2-utils = callPackage ../tools/virtualization/ec2-utils { }; + amazon-ec2-utils = callPackage ../tools/virtualization/amazon-ec2-utils { }; exoscale-cli = callPackage ../tools/admin/exoscale-cli { }; From d55bd2de7005b505debffe6f262e99869a0838b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 6 Dec 2020 12:19:36 +0100 Subject: [PATCH 138/162] rubyPackages: remove problematic packages Those packages block regenerating the lock file. Bundler loops forever --- pkgs/development/ruby-modules/with-packages/Gemfile | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile index 3454ce3df74..dda0f69c35c 100644 --- a/pkgs/development/ruby-modules/with-packages/Gemfile +++ b/pkgs/development/ruby-modules/with-packages/Gemfile @@ -14,13 +14,9 @@ source 'https://rubygems.org' do gem 'cocoapods' gem 'cocoapods-acknowledgements' gem 'cocoapods-art' - gem 'cocoapods-bin' gem 'cocoapods-browser' - gem 'cocoapods-bugsnag' - gem 'cocoapods-check' gem 'cocoapods-clean' gem 'cocoapods-clean_build_phases_scripts' - gem 'cocoapods-core' gem 'cocoapods-coverage' gem 'cocoapods-deintegrate' gem 'cocoapods-dependencies' @@ -31,18 +27,9 @@ source 'https://rubygems.org' do gem 'cocoapods-generate' gem 'cocoapods-git_url_rewriter' gem 'cocoapods-keys' - gem 'cocoapods-no-dev-schemes' gem 'cocoapods-open' - gem 'cocoapods-packager' - gem 'cocoapods-playgrounds' gem 'cocoapods-plugins' - gem 'cocoapods-prune-localizations' - gem 'cocoapods-rome' gem 'cocoapods-search' - gem 'cocoapods-sorted-search' - gem 'cocoapods-static-swift-framework' - gem 'cocoapods-stats' - gem 'cocoapods-tdfire-binary' gem 'cocoapods-testing' gem 'cocoapods-trunk' gem 'cocoapods-try' From 6722232b96cae9d56e90ecfdc02572ca460da67f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 6 Dec 2020 12:31:18 +0100 Subject: [PATCH 139/162] rubyPackages: update --- pkgs/top-level/ruby-packages.nix | 930 +++++++++++++++---------------- 1 file changed, 454 insertions(+), 476 deletions(-) diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix index ef82be30b62..33a50e232d0 100644 --- a/pkgs/top-level/ruby-packages.nix +++ b/pkgs/top-level/ruby-packages.nix @@ -1,14 +1,36 @@ { + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y3aa0965cdsqamxk8ac6brcvijl1zv4pvqils6xy3pbcrv0ljid"; + type = "gem"; + }; + version = "6.0.3.4"; + }; + actionmailbox = { + dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10vb9s4frq22h5j6gyw2598k1jc29lg2czm95hf284l3mi4qly6a"; + type = "gem"; + }; + version = "6.0.3.4"; + }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18wwlj4f7jffv3vxm80d2z36nwza95l5xfcqc401hvvrls4xzhsy"; + sha256 = "1ykn5qkwdlcv5aa1gjhhmrxpjccwa7df6n4amvkmvxv5lggyma52"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -16,21 +38,32 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rmldsk3a4lwxk0lrp6x1nz1v1r2xmbm3300l4ghgfygv3grdwjh"; + sha256 = "0fbjpnh5hrihc9l35q9why6ip0hcdj42axzbp6b4j1xcy1v1bicj"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; }; - actionview = { - dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; + actiontext = { + dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x7vjn8q6blzyf7j3kwg0ciy7vnfh28bjdkd1mp9k4ghp9jn0g9p"; + sha256 = "0r0j0m76ynjspmvj5qbzl06kl9i920v269iz62y62009xydv6rqz"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gdz31cq08nrqq6bxqim2qcbzv0fr34z6ycl73dmawpafj33wdkj"; + type = "gem"; + }; + version = "6.0.3.4"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -38,43 +71,54 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jy1c1r6syjqpa0sh9f1p4iaxzvp6qg4n6zs774j9z27q7h407mj"; + sha256 = "0d0p8gjplrgym38dmchyzhv7lrrxngz0yrxl6xyvwxfxm1hgdk2k"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; }; activemodel = { - dependencies = ["activesupport" "builder"]; + dependencies = ["activesupport"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c1x0rd6wnk1f0gsmxs6x3gx7yf6fs9qqkdv7r4hlbcdd849in33"; + sha256 = "00jj8namy5niq7grl5lrsr4y351rxpj1b69k1i9gvb1hnpghl099"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; }; activerecord = { - dependencies = ["activemodel" "activesupport" "arel"]; + dependencies = ["activemodel" "activesupport"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07ixiwi0zzs9skqarvpfamsnay7npfswymrn28ngxaf8hi279q5p"; + sha256 = "06qvvp73z8kq9sd2mhw6p9124q5pfkswjga2fidz4c73zbr79r3g"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; + }; + activestorage = { + dependencies = ["actionpack" "activejob" "activerecord" "marcel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q734331wb7cfsh4jahj3lphpxvglzb17yvibwss1ml4g01xxm52"; + type = "gem"; + }; + version = "6.0.3.4"; }; activesupport = { - dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; + sha256 = "1axidc4mikgi4yxs0ynw2c54jyrs5lxprxmzv6m3aayi9rg6rk5j"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; }; addressable = { dependencies = ["public_suffix"]; @@ -87,36 +131,15 @@ }; version = "2.7.0"; }; - algoliasearch = { - dependencies = ["httpclient" "json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1ayg8j3819ay2d8618jv32ca16fh8qsgjsiq9j32yd016c170nkj"; - type = "gem"; - }; - version = "1.27.1"; - }; - arel = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4"; - type = "gem"; - }; - version = "6.0.4"; - }; ast = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; + sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a"; type = "gem"; }; - version = "2.4.0"; + version = "2.4.1"; }; atk = { dependencies = ["glib2"]; @@ -124,10 +147,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0a8q9a1f6x4gy55p8cf52a22bnpjgn18ad9n959x0f4gybbhs948"; + sha256 = "05brc25pfvak610mdwgjsc64di29yff9i9g72m6hyc21pdjwfy3n"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; atomos = { groups = ["default"]; @@ -174,10 +197,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mmkls9n56l4gx2k0dnyianwz36z2zgpxli5bpsbr7jbw7hn2x6j"; + sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; type = "gem"; }; - version = "11.0.1"; + version = "11.1.3"; }; cairo = { dependencies = ["native-package-installer" "pkg-config"]; @@ -185,10 +208,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yvv2lcbsybzbw1nrmfivmln23da4rndrs3av6ymjh0x3ww5h7p8"; + sha256 = "00hiy6anibkjq9w77hg0lpgnkkbcxrfbz8wxv44jfzqbab8910wb"; type = "gem"; }; - version = "1.16.4"; + version = "1.16.6"; }; cairo-gobject = { dependencies = ["cairo" "glib2"]; @@ -196,10 +219,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gkxdfslcvrwrs48giilji3bgxd5bwijwq33p9h00r10jzfg2028"; + sha256 = "136aa800dgq6bmr0lb59mfj5q72r712wwp5wy5qxnp48adjw1k2h"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; camping = { dependencies = ["mab" "rack"]; @@ -217,10 +240,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf"; + sha256 = "0ia09r8bj3bjhcfiyr3vlk9zx7vahfypbs2lyrxix9x1jx3lfzq4"; type = "gem"; }; - version = "3.0.2"; + version = "3.0.3"; }; charlock_holmes = { groups = ["default"]; @@ -247,10 +270,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dka8f3hwzz7p558kiyyrdabljvwp71cbzk46akb3kvnvhcyjx89"; + sha256 = "08m0syh06bhx8dqn560ivjg96l5cs5s3l9jh2szsnlcdcyl9jsjg"; type = "gem"; }; - version = "1.3.1"; + version = "1.3.2"; }; cld3 = { dependencies = ["ffi"]; @@ -258,53 +281,42 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06p4jgrr0zixqnflmg5dcrbmhlnmll85j7vxkrjmnng293cwvzgw"; + sha256 = "04hwr44m7x7vv55lc4vk5zcd6zq98c2asvzl3dh2adg1fhpk29nr"; type = "gem"; }; - version = "3.2.4"; + version = "3.3.0"; }; cocoapods = { - dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; + dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored" "escape" "fourflusher" "molinillo" "nap" "xcodeproj"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc"; + sha256 = "0rnxjwrfk3yz34xx11hh61j7p57l6vwh8b86jvjivzlgrj4a025r"; type = "gem"; }; - version = "1.8.4"; + version = "1.0.1"; }; cocoapods-acknowledgements = { - dependencies = ["activesupport" "redcarpet"]; + dependencies = ["cocoapods" "redcarpet" "xcodeproj"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07n638ijlc4y5vfzs5ykzhmwwsng7njb2nnwn4ravydqqxqgv13m"; + sha256 = "04gaijs4djjkynan06wyaxxz48db0czzfrhh95jn3r201k2ypa7k"; type = "gem"; }; - version = "1.1.3"; + version = "1.3.0"; }; cocoapods-art = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vkcpwjp7hzby60hq0pxn9zdiz7snf7siq02bckkmd84n27hlz3w"; + sha256 = "0ljsx1inbbzj8njpk4sb40kdis6pjwpgcpy3677dm45bxw21dmkv"; type = "gem"; }; - version = "1.0.4"; - }; - cocoapods-bin = { - dependencies = ["cocoapods" "cocoapods-generate" "parallel"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0dzbv7bfyw8a0iyi4nqw8a74wrdhf3absnpdb3i46rpbkanxw7hy"; - type = "gem"; - }; - version = "0.1.24"; + version = "1.0.5"; }; cocoapods-browser = { dependencies = ["cocoapods"]; @@ -317,28 +329,6 @@ }; version = "0.1.5"; }; - cocoapods-bugsnag = { - dependencies = ["cocoapods"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1r34h66rqswsyhanx69qnhhr02xsqy2y1zp5265gl6m76nyqq5wa"; - type = "gem"; - }; - version = "2.0.1"; - }; - cocoapods-check = { - dependencies = ["cocoapods"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "17wb5xzhjvrqllsjqqbm00w8gnsrwcb6k7wsb36ykbcp0aiagvaf"; - type = "gem"; - }; - version = "1.1.0"; - }; cocoapods-clean = { groups = ["default"]; platforms = []; @@ -360,15 +350,15 @@ version = "0.0.2"; }; cocoapods-core = { - dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"]; + dependencies = ["activesupport" "fuzzy_match" "nap"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad"; + sha256 = "1bh69sbljlf3hvg98y2zssx0ch51lllz1k1lc8xysn43dm3ahaa5"; type = "gem"; }; - version = "1.8.4"; + version = "1.0.1"; }; cocoapods-coverage = { dependencies = ["cocoapods-testing" "slather"]; @@ -427,10 +417,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54"; + sha256 = "1j03hxvz3m82fwgx3jayw0y2iqm7zpacn88r6nfj2arkbjxmvjwz"; type = "gem"; }; - version = "1.3.0"; + version = "1.4.0"; }; cocoapods-expert-difficulty = { groups = ["default"]; @@ -458,10 +448,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17nqdhdjjg3919h3sz7jkqqhxsi6nyqgfyd7y4ci6fvb7pz79pdh"; + sha256 = "0324y1fm93ri54c5015rh81zqakjmzh15v969ipg0p0xinfpv7ki"; type = "gem"; }; - version = "1.6.0"; + version = "2.0.1"; }; cocoapods-git_url_rewriter = { groups = ["default"]; @@ -479,20 +469,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14jmfibzvhqxhvhphj3g83d70ya16p7s4i43wir48hnaxkaqrm85"; + sha256 = "153cxxsi77dygc4qrij6qs44dbvc7dw31jx06cmf0ajrhv9qjnxl"; type = "gem"; }; - version = "2.1.0"; - }; - cocoapods-no-dev-schemes = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "14w8yqs3r6pg06zpv58mc9vzfxhp3ka4mfhnc2p7vmyhy4nmcdza"; - type = "gem"; - }; - version = "1.0.1"; + version = "2.2.1"; }; cocoapods-open = { groups = ["default"]; @@ -504,39 +484,6 @@ }; version = "0.0.8"; }; - cocoapods-packager = { - dependencies = ["cocoapods"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1083zv9pyqyqal6dk3kvfxdmylbll6078z5zw03m4j5jcz3m8nbm"; - type = "gem"; - }; - version = "1.5.0"; - }; - cocoapods-packager-pro = { - dependencies = ["cocoapods"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1sjnlnqrc3fvc33c3lg3h6y8n969isjswxg2jdc1kfc3x0cakawl"; - type = "gem"; - }; - version = "1.5.4"; - }; - cocoapods-playgrounds = { - dependencies = ["cocoapods"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0jsc489j6dh3mczzs880vc6jvzd8yjqrszmbbnkz9azndak3mhln"; - type = "gem"; - }; - version = "1.2.2"; - }; cocoapods-plugins = { dependencies = ["nap"]; groups = ["default"]; @@ -548,27 +495,6 @@ }; version = "1.0.0"; }; - cocoapods-prune-localizations = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1hvpl56rnblmdbj40sysvk56j5hx5kdpqry00raw2p184sb5k4cf"; - type = "gem"; - }; - version = "0.3.1"; - }; - cocoapods-rome = { - dependencies = ["cocoapods" "fourflusher"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1z5z49m5aww7q301bn5dzb6fzq6lcj6fvqibpg5ys1r0c41lsj0l"; - type = "gem"; - }; - version = "1.0.1"; - }; cocoapods-search = { groups = ["default"]; platforms = []; @@ -579,28 +505,6 @@ }; version = "1.0.0"; }; - cocoapods-sorted-search = { - dependencies = ["cocoapods" "hashie" "osx_keychain" "ruby-progressbar" "typhoeus"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1da86mjq4spfsx6xjk7qylvj5423ai9y39g9xxfl9r6h8i54dmpp"; - type = "gem"; - }; - version = "0.2.4"; - }; - cocoapods-static-swift-framework = { - dependencies = ["cocoapods"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "12hhh25bj5dyz6rwc5jgarlld35vmgn43qk5lq9kfrpcli2ynhp2"; - type = "gem"; - }; - version = "0.5"; - }; cocoapods-stats = { groups = ["default"]; platforms = []; @@ -611,17 +515,6 @@ }; version = "1.1.0"; }; - cocoapods-tdfire-binary = { - dependencies = ["cocoapods" "cocoapods-bin" "cocoapods-packager-pro"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "10idp7yr2zni6zhpj1pqkj4wkk5g48f5iizjb20i8minj52l64m0"; - type = "gem"; - }; - version = "2.0.9"; - }; cocoapods-testing = { dependencies = ["xctasks"]; groups = ["default"]; @@ -639,20 +532,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vrwsgaq3nf7v3pwksgqy0mhswrp3ipczrc96vl3ii2pcc9ilwkw"; + sha256 = "12c6028bmdwrbqcb49mr5qj1p3vcijnjqbsbzywfx1isp44j9mv5"; type = "gem"; }; - version = "1.4.1"; + version = "1.5.0"; }; cocoapods-try = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gf2zjmcjhh9psq15yfy82wz5jnlihf5bcw79f8hlv4cnqyspncj"; + sha256 = "1znyp625rql37ivb5rk9fk9564cmax8icxfr041ysivpdrn98nql"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.0"; }; cocoapods-try-release-fix = { groups = ["default"]; @@ -700,10 +593,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; - version = "1.1.2"; + version = "1.1.3"; }; colorator = { groups = ["default"]; @@ -715,6 +608,16 @@ }; version = "1.1.0"; }; + colored = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; + type = "gem"; + }; + version = "1.2"; + }; colored2 = { groups = ["default"]; platforms = []; @@ -730,30 +633,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; + sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; type = "gem"; }; - version = "1.1.5"; + version = "1.1.7"; }; crass = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f"; + sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; - version = "1.0.5"; + version = "1.0.6"; }; curb = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s27g4nkdf8wipzyxx87nnw43ps8xqg30sqz86ay7dvmmpkd786k"; + sha256 = "1q7kqswm780vx1fannnrprbfbsp166smgyszgip5q7b859mk89wp"; type = "gem"; }; - version = "0.9.10"; + version = "0.9.11"; }; curses = { groups = ["default"]; @@ -791,20 +694,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nff0nai8h8786xix92f3k5wjb51gqd9gkibmah2bvrcwyn9qiw5"; + sha256 = "09frwp3np5c64y8g5rnbl46n7riknmdjprhndsh6zzajkjr9m3xj"; type = "gem"; }; - version = "1.3.1"; + version = "1.3.5"; }; diff-lcs = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; type = "gem"; }; - version = "1.3"; + version = "1.4.4"; }; digest-sha3 = { groups = ["default"]; @@ -853,10 +756,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17hkd62ig9b0czv192kqdfq7gw0a8hgq07yclri6myc8y5lmfin5"; + sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; type = "gem"; }; - version = "2.7.5"; + version = "2.7.6"; }; em-websocket = { dependencies = ["eventmachine" "http_parser.rb"]; @@ -864,20 +767,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3"; + sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb"; type = "gem"; }; - version = "0.5.1"; + version = "0.5.2"; }; - erubis = { + erubi = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l"; type = "gem"; }; - version = "2.7.0"; + version = "1.10.0"; }; escape = { groups = ["default"]; @@ -915,31 +818,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nn8wk7j22ly4lzdp5pnm7qsrjxbgspiyxkw70g1qf9bn6pslmxr"; + sha256 = "16ij8617v3js03yj1zd32mmrf7kpi9l96bid5mpqk30c4mzai55r"; type = "gem"; }; - version = "0.71.1"; + version = "0.78.1"; }; faraday = { - dependencies = ["multipart-post"]; + dependencies = ["multipart-post" "ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gggz3vvvkdrxil2fwpaaslv1z5bxzwra4wnybf20np58v1iv9w8"; + sha256 = "16dapwi5pivrl25r4lkr1mxjrzkznj4wlcb08fzkmxnj4g5c6y35"; type = "gem"; }; - version = "0.17.1"; + version = "1.1.0"; }; ffi = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; + sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd"; type = "gem"; }; - version = "1.10.0"; + version = "1.11.3"; }; ffi-compiler = { dependencies = ["ffi" "rake"]; @@ -969,10 +872,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1s1jxlrbq4jhwkiy5gq429v87m1l602b2gppw0ikbax7rnv30s9x"; + sha256 = "0bwqm9n69y5y0a5iickr358z7w4hml3flqwfz8b7cnj1ldabhnjn"; type = "gem"; }; - version = "2.2.0"; + version = "2.2.3"; }; fog-dnsimple = { dependencies = ["fog-core" "fog-json"]; @@ -1021,10 +924,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v"; + sha256 = "0yp0pxj6xsd84h2barwh3z5w289p1a6lqib309m7sbzh643qx3zz"; type = "gem"; }; - version = "2.3.1"; + version = "0.3.2"; }; fuzzy_match = { groups = ["default"]; @@ -1042,20 +945,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0194gzn0kialfh0j7crllvp808r64sg6dh297x69b0av21ar5pam"; + sha256 = "0hslcfns2ysvjyj21hjvp4hghrafw1sdl627fm0nj0wsncs94m67"; type = "gem"; }; - version = "3.4.1"; - }; - gh_inspector = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; - type = "gem"; - }; - version = "1.1.3"; + version = "3.4.3"; }; gio2 = { dependencies = ["gobject-introspection"]; @@ -1063,20 +956,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l3jpgbdvb55xhcmpkcqgwx5068dfyi8kijfvzhbqh96ng0p1m7g"; + sha256 = "1l30xsr1dgnzqfmln17arnqi8iga97ldf6zgbqrfby6a94v3ammd"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; gitlab-markup = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rqf3jmyn78r3ysy3bjyx7s4yv3xipxlmqlmbyrbksna19rrx08d"; + sha256 = "0xnlra517pfj3hx07kasbqlcw51ix4xajr6bsd3mwg8bc92dlwy7"; type = "gem"; }; - version = "1.7.0"; + version = "1.7.1"; }; glib2 = { dependencies = ["native-package-installer" "pkg-config"]; @@ -1084,10 +977,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18clyn0fp0h5alnkf9i2bqd6wvl78h468pdbzs1csqnba8vw4q1c"; + sha256 = "0l46ymdf7azpd137xq4rarbaq54hxs9rgfry0r6b0ywj74rmw9ih"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; globalid = { dependencies = ["activesupport"]; @@ -1106,10 +999,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a3x8qiisbax3x0izj8l5w66r53ba5ma53ax2jhdbhbvaxx3d02n"; + sha256 = "11gas9hzq36a2bwqi7h5c6p6jihanbhsarwhv5fw53dxap4iwj25"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; gpgme = { dependencies = ["mini_portile2"]; @@ -1117,10 +1010,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jbqajngi5ndqfarw9dxkhbphva0j71jav5wfym3fsiisvk5gg6p"; + sha256 = "0xbgh9d8nbvsvyzqnd0mzhz0nr9hx4qn025kmz6d837lry4lc6gw"; type = "gem"; }; - version = "2.0.19"; + version = "2.0.20"; }; gtk2 = { dependencies = ["atk" "gdk_pixbuf2" "pango"]; @@ -1128,20 +1021,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17az8g0n1yzz90kdbjg2hpabi04qccda7v6lin76bs637ivfg2md"; + sha256 = "0v1ag6irp52asm0yaxa7s533czy7yzhanhgn1v0cndqpzqk8icfz"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; hashie = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0drkv8a70akprcnbxvd08hzp2bgd5g4s5g752f8599ks1g6a7wj1"; + sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q"; type = "gem"; }; - version = "4.0.0"; + version = "4.1.0"; }; highline = { groups = ["default"]; @@ -1230,10 +1123,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; + sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; type = "gem"; }; - version = "0.9.5"; + version = "1.8.5"; }; iconv = { groups = ["default"]; @@ -1255,26 +1148,16 @@ }; version = "0.1.0"; }; - jaro_winkler = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh"; - type = "gem"; - }; - version = "1.5.4"; - }; jbuilder = { dependencies = ["activesupport"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03adzsc2hfd0lvprm45s52bkxpnpnw8r9prcx8zx1aw2a8lzp9r7"; + sha256 = "02llgsg30jz9kpxs8jzv6rvzaylw7948xj2grp4vsfg54z20cwbm"; type = "gem"; }; - version = "2.9.1"; + version = "2.10.1"; }; jekyll = { dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; @@ -1282,10 +1165,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; + sha256 = "192k1ggw99slpqpxb4xamcvcm2pdahgnmygl746hmkrar0i3xa5r"; type = "gem"; }; - version = "4.0.0"; + version = "4.1.1"; }; jekyll-sass-converter = { dependencies = ["sassc"]; @@ -1293,10 +1176,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3"; + sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv"; type = "gem"; }; - version = "2.0.1"; + version = "2.1.0"; }; jekyll-watch = { dependencies = ["listen"]; @@ -1324,30 +1207,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; + sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz"; type = "gem"; }; - version = "2.3.0"; + version = "2.3.1"; }; jwt = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01zg1vp3lyl3flyjdkrcc93ghf833qgfgh2p1biqfhkzz11r129c"; + sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n"; type = "gem"; }; - version = "2.2.1"; + version = "2.2.2"; }; kramdown = { + dependencies = ["rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; + sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7"; type = "gem"; }; - version = "2.1.0"; + version = "2.3.0"; }; kramdown-parser-gfm = { dependencies = ["kramdown"]; @@ -1365,20 +1249,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jivcckillfvd4n2jnsnnlf93z3gpvqbwsczs0fvv9hc90zpj7yh"; + sha256 = "0317sr3nrl51sp844bps71smkrwim3fjn47wdfpbycixnbxspivm"; type = "gem"; }; - version = "7.3.492.27.1"; + version = "8.4.255.0"; }; libxml-ruby = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r7m7zipkpam8ns4ys4qyh7yj3is3dy7ky6qwnw557pvpgx0aqrd"; + sha256 = "0w2pw08b6pc9pm51ix7413jcllaisc06dvwzq0191ag1jsysv220"; type = "gem"; }; - version = "3.1.0"; + version = "3.2.1"; }; liquid = { groups = ["default"]; @@ -1396,10 +1280,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi"; + sha256 = "1zpcgha7g33wvy2xbbc663cbjyvg9l1325lg3gzgcn3baydr9rha"; type = "gem"; }; - version = "3.2.1"; + version = "3.3.3"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1407,10 +1291,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g7ps9m3s14cajhxrfgbzahv9i3gy47s4hqrv3mpybpj5cyr0srn"; + sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh"; type = "gem"; }; - version = "2.4.0"; + version = "2.8.0"; }; mab = { groups = ["default"]; @@ -1444,6 +1328,17 @@ }; version = "2.7.1"; }; + marcel = { + dependencies = ["mimemagic"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"; + type = "gem"; + }; + version = "0.3.3"; + }; markaby = { dependencies = ["builder"]; groups = ["default"]; @@ -1460,20 +1355,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; + sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj"; type = "gem"; }; - version = "0.3.6"; + version = "0.4.0"; }; method_source = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; + sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; type = "gem"; }; - version = "0.9.2"; + version = "1.0.0"; }; mime-types = { dependencies = ["mime-types-data"]; @@ -1491,20 +1386,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh"; + sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag"; type = "gem"; }; - version = "3.2019.1009"; + version = "3.2020.1104"; + }; + mimemagic = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qfqb9w76kmpb48frbzbyvjc0dfxh5qiw1kxdbv2y2kp6fxpa1kf"; + type = "gem"; + }; + version = "0.3.5"; }; mini_magick = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4"; + sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; type = "gem"; }; - version = "4.9.5"; + version = "4.11.0"; }; mini_mime = { groups = ["default"]; @@ -1531,40 +1436,40 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; + sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v"; type = "gem"; }; - version = "5.13.0"; + version = "5.14.2"; }; molinillo = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hh40z1adl4lw16dj4hxgabx4rr28mgqycih1y1d91bwww0jjdg6"; + sha256 = "0msabpxiyhlbgayrvr01316alaxrxwh6h8yzqz6p36v1zhqgddw4"; type = "gem"; }; - version = "0.6.6"; + version = "0.4.5"; }; msgpack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qr2mkm2i3m76zarvy7qgjl9596hmvjrg7x6w42vx8cfsbf5p0y1"; + sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih"; type = "gem"; }; - version = "1.3.1"; + version = "1.3.3"; }; multi_json = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; + sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; - version = "1.14.1"; + version = "1.15.0"; }; multipart-post = { groups = ["default"]; @@ -1576,6 +1481,17 @@ }; version = "2.1.1"; }; + mustermann = { + dependencies = ["ruby2_keywords"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a"; + type = "gem"; + }; + version = "1.1.1"; + }; mysql2 = { groups = ["default"]; platforms = []; @@ -1591,10 +1507,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ajfyaqjw3dzykk612yw8sm21savfqy292hgps8h8l4lvxww1lz6"; + sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma"; type = "gem"; }; - version = "0.2.6"; + version = "0.3.0"; }; nap = { groups = ["default"]; @@ -1632,20 +1548,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nkf3my587f0izqw0dl3zl24c3lnrw9y5xrq9vb0lhgymmgcav9g"; + sha256 = "0b4h3ip8d1gkrc0znnw54hbxillk73mdnaf5pz330lmrcl1wiilg"; type = "gem"; }; - version = "2.0.0"; + version = "3.0.0"; }; net-ssh = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40"; + sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9"; type = "gem"; }; - version = "5.2.0"; + version = "6.1.0"; }; netrc = { groups = ["default"]; @@ -1662,10 +1578,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c"; + sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk"; type = "gem"; }; - version = "2.5.2"; + version = "2.5.4"; }; nokogiri = { dependencies = ["mini_portile2"]; @@ -1673,10 +1589,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln"; + sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2"; type = "gem"; }; - version = "1.10.7"; + version = "1.10.10"; }; opus-ruby = { dependencies = ["ffi"]; @@ -1706,10 +1622,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09lb0a9y4q7946jaf53li1v4cb6ksfb5bq5wb15yn8ja6wf9n427"; + sha256 = "1zlk3bksiwrdvb7j0r5av7w280kigl7947wa7w4kbwqz3snaxl3m"; type = "gem"; }; - version = "4.3.0"; + version = "4.4.0"; }; pango = { dependencies = ["cairo-gobject" "gobject-introspection"]; @@ -1717,20 +1633,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d0cn50qgpifrcv8qx72wi6l9xalw3ryngbfmm9xpg9vx5rl1qbp"; + sha256 = "05smxn2jank7wqih59lhr30ab8f4qxdsdiiag5v7a0gjgzkmbi7f"; type = "gem"; }; - version = "3.4.1"; + version = "3.4.3"; }; parallel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2"; + sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd"; type = "gem"; }; - version = "1.19.1"; + version = "1.20.1"; }; parser = { dependencies = ["ast"]; @@ -1738,10 +1654,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10siyp14d88jwcfj45kkk3nwl4wyr2r5ajb7vy4iwh1gxmhvi727"; + sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z"; type = "gem"; }; - version = "2.7.0.0"; + version = "2.7.2.0"; }; pathutil = { dependencies = ["forwardable-extended"]; @@ -1779,20 +1695,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15pa9qy7ngig21zgnvzwaxiy4rc7wbibna5050jjpgal9drgvpyy"; + sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj"; type = "gem"; }; - version = "1.2.0"; + version = "1.2.3"; }; pkg-config = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cxdpr2wlz9b587avlq04a1da5fz1vdw8jvr6lx23mcq7mqh2xcx"; + sha256 = "068sf963n2zk47kqcckj624g5pxmk68mm76h02piphfyh9x4zmi3"; type = "gem"; }; - version = "1.4.0"; + version = "1.4.4"; }; polyglot = { groups = ["default"]; @@ -1810,10 +1726,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; + sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk"; type = "gem"; }; - version = "0.12.2"; + version = "0.13.1"; }; pry-byebug = { dependencies = ["byebug" "pry"]; @@ -1821,10 +1737,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1aqz4gz8z44k6svpvcsfrqbigcpjd2kwvfm77yq3v8yzkhjrx0zi"; + sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv"; type = "gem"; }; - version = "3.7.0"; + version = "3.9.0"; }; pry-doc = { dependencies = ["pry" "yard"]; @@ -1832,20 +1748,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14lwb5dxfibcqbjygzvnf8ry0mayx48fk20qhg06214sll0sp0kv"; + sha256 = "1xrf2whjycv4sd7qvf5m6zdpk0lhf1p63v66w9ha146fc7rcjkc1"; type = "gem"; }; - version = "1.0.0"; + version = "1.1.0"; }; public_suffix = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ww6577yhgszvc0p33qg9nb7n03fyadvl14v2kbpm4rpf0q4i6gz"; + sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; type = "gem"; }; - version = "4.0.2"; + version = "4.0.6"; }; puma = { dependencies = ["nio4r"]; @@ -1853,20 +1769,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v6zai6sinw5r1lchm278mm3dr8x5vi8pwmybwv9lz1kz02fk2g3"; + sha256 = "1fl2bgw1lh1712qpzl5m5vi4cc1bcw336bh1dbp28fkmss9yysma"; type = "gem"; }; - version = "4.3.1"; + version = "5.1.0"; }; rack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1riq0z408dwvqcqrpq05bp2w879l4sjxzb4cbrbx55kpi6h2g1cj"; + sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16"; type = "gem"; }; - version = "1.6.12"; + version = "2.2.3"; }; rack-protection = { dependencies = ["rack"]; @@ -1874,10 +1790,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; + sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz"; type = "gem"; }; - version = "1.5.5"; + version = "2.1.0"; }; rack-test = { dependencies = ["rack"]; @@ -1885,43 +1801,32 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; type = "gem"; }; - version = "0.6.3"; + version = "1.1.0"; }; rails = { - dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ywvis59dd3v8qapi9ix6743zgk07l21x1cd6nb1ddpahxhm7dml"; + sha256 = "0vs4kfgp5pr5032nnhdapq60ga6karann06ilq1yjx8qck87cfxg"; type = "gem"; }; - version = "4.2.11.1"; - }; - rails-deprecated_sanitizer = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; - type = "gem"; - }; - version = "1.0.3"; + version = "6.0.3.4"; }; rails-dom-testing = { - dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"]; + dependencies = ["activesupport" "nokogiri"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6"; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; type = "gem"; }; - version = "1.0.9"; + version = "2.0.3"; }; rails-html-sanitizer = { dependencies = ["loofah"]; @@ -1935,15 +1840,15 @@ version = "1.3.0"; }; railties = { - dependencies = ["actionpack" "activesupport" "rake" "thor"]; + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bjf21z9maiiazc1if56nnh9xmgbkcqlpznv34f40a1hsvgk1d1m"; + sha256 = "0x28620cvfja8r06lk6f90pw5lvijz9qi4bjsa4z1d1rkr3v4r3w"; type = "gem"; }; - version = "4.2.11.1"; + version = "6.0.3.4"; }; rainbow = { groups = ["default"]; @@ -1970,10 +1875,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87"; type = "gem"; }; - version = "0.10.3"; + version = "0.10.4"; }; rb-inotify = { dependencies = ["ffi"]; @@ -2002,20 +1907,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lvz1vk2l3chnz6zdp4xmh6w2z75rndhgbravbxgvw8ff4snsxa7"; + sha256 = "0y8yzianlkc9w6sbqy8iy8l0yym0y6x7p5rjflkfixq76fqmhvzk"; type = "gem"; }; - version = "7.1.0"; + version = "7.1.1"; }; re2 = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00wf9k1hkv3z3nfkrnfyyfq9ah0l7k14awqys3h2hqz4c21pqd2i"; + sha256 = "16q71cc9wx342c697q18pkz19ym4ncjd97hcw4v6f1mgflkdv400"; type = "gem"; }; - version = "1.1.1"; + version = "1.2.0"; }; redcarpet = { groups = ["default"]; @@ -2032,10 +1937,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh"; + sha256 = "15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48"; type = "gem"; }; - version = "4.1.3"; + version = "4.2.5"; }; redis-rack = { dependencies = ["rack" "redis-store"]; @@ -2043,10 +1948,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pa19ydbk0l6wilwbxcjn6knfs4ffgj0rhaaldrlhf76pjgkaiqb"; + sha256 = "1nblbxg1f051dn83jp92lz3lc1wxm18nviglrabv2l0vz6rd0pkb"; type = "gem"; }; - version = "2.0.6"; + version = "2.1.3"; }; redis-store = { dependencies = ["redis"]; @@ -2054,10 +1959,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1isqzzds9kszc2nn8jiy8ikry01qspn7637ba9z2k6sk7vky46d9"; + sha256 = "0cpzbf2svnk4j5awb24ncl0mih45zkbdrd7q23jdg1r8k3q7mdg6"; type = "gem"; }; - version = "1.8.1"; + version = "1.9.0"; + }; + regexp_parser = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1racz3w9s4w0ls32bvjypfifk4a7qxngm2cv1rh16jyz0c1wjd70"; + type = "gem"; + }; + version = "2.0.0"; }; rest-client = { dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; @@ -2070,25 +1985,35 @@ }; version = "2.1.0"; }; + rexml = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; + type = "gem"; + }; + version = "3.2.4"; + }; rmagick = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06ya2zpz2g3g4c90bmd1z11qkajls3srq5b7cswrjq8ima568ja0"; + sha256 = "0ajn6aisf9hh3x5zrs7n02pg5xy3m8x38gh9cn7b3klzgp3djla5"; type = "gem"; }; - version = "4.0.0"; + version = "4.1.2"; }; rouge = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k5jrp0qc9p61mfcwyn1a7dajmkw04z6y76wa8a0axh1v2wrw8ld"; + sha256 = "0yvcv901lrh5rfnk1h4h56hf2m6n9pd6w8n96vag74aakgz3gaxn"; type = "gem"; }; - version = "3.14.0"; + version = "3.25.0"; }; rpam2 = { groups = ["default"]; @@ -2106,10 +2031,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h"; + sha256 = "1dwai7jnwmdmd7ajbi2q0k0lx1dh88knv5wl7c34wjmf94yv8w5q"; type = "gem"; }; - version = "3.9.0"; + version = "3.10.0"; }; rspec-core = { dependencies = ["rspec-support"]; @@ -2117,10 +2042,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gppalb2ynj0xk7vp8kk5pwzihmiqc8l4prpy4n9spclq7iqkspq"; + sha256 = "0n2rdv8f26yw8c6asymc0mgddyr5d2b5n6mfvpd3n6lnpf1jdyv2"; type = "gem"; }; - version = "3.9.0"; + version = "3.10.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2128,10 +2053,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gjqfb39da6gywdcp4h77738r7khbrn2v4y45589z25bj4z9paf0"; + sha256 = "0j37dvnvfbjwj8dqx27yfvz0frl7f2jc1abqg99h0ppriz9za6dc"; type = "gem"; }; - version = "3.9.0"; + version = "3.10.0"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2139,52 +2064,64 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0q9f8nrxhs4k2vl3bnm3pi5s44v9pnvjwirjnwji3sxzf68c2xjf"; + sha256 = "1pz89y1522i6f8wzrg72ykmch3318ih87nlpl0y1ghsrs5hqymw3"; type = "gem"; }; - version = "3.9.0"; + version = "3.10.0"; }; rspec-support = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18080h06kqayyr6dpw4c62l0wav09ihkd6skinsln13kmq0cv0mx"; + sha256 = "0j0n28i6zci5j7gg370bdy87dy43hlwx6dw428d9kamf5a0i2klz"; type = "gem"; }; - version = "3.9.0"; + version = "3.10.0"; }; rubocop = { - dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1p1bhsfscasp57l5di9hsx8jl325kfjswhd2mlzq74hj3gdws4x0"; - type = "gem"; - }; - version = "0.78.0"; - }; - rubocop-performance = { - dependencies = ["rubocop"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fk9nd3b24avgsqp726hy2pl1iyfjrh6jni97wkky6kqy0lq6zq2"; + sha256 = "0k246mahr4737rlvazll5vfvq1307b0z9pmhlnp5ynknl31fclp5"; type = "gem"; }; version = "1.5.2"; }; - ruby-graphviz = { + rubocop-ast = { + dependencies = ["parser"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jzbs0jhaz77azsc30gsfg89fy44vsr565jcj4axhc65n1fmhs90"; + sha256 = "1z9253d7hwdlqr3g7rwx6x6n0qwv8niq6r2ppgry2lbfvb4czypm"; type = "gem"; }; - version = "1.2.4"; + version = "1.3.0"; + }; + rubocop-performance = { + dependencies = ["rubocop" "rubocop-ast"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zfc0wvx4jw0apn86jbz5za8pjmb7k0j58ndap3kwarkznxk2ad1"; + type = "gem"; + }; + version = "1.9.1"; + }; + ruby-graphviz = { + dependencies = ["rexml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "010m283gk4qgzxkgrldlnrglh8d5fn6zvrzm56wf5abd7x7b8aqw"; + type = "gem"; + }; + version = "1.2.5"; }; ruby-libvirt = { groups = ["default"]; @@ -2206,16 +2143,6 @@ }; version = "1.2.3"; }; - ruby-macho = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lhdjn91jkifsy2hzq2hgcm0pp8pbik87m58zmw1ifh6hkp9adjb"; - type = "gem"; - }; - version = "1.4.0"; - }; ruby-progressbar = { groups = ["default"]; platforms = []; @@ -2242,10 +2169,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14hzfsbx7n0jsm6bxif99kbhlmxr4s7g6xvml6xbqphlqbmy5d43"; + sha256 = "0lk124dixshf8mmrjpsy9avnaygni3cwki25g8nm5py4d2f5fwwa"; type = "gem"; }; - version = "2.0.16"; + version = "2.0.17"; + }; + ruby2_keywords = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l"; + type = "gem"; + }; + version = "0.0.2"; }; RubyInline = { dependencies = ["ZenTest"]; @@ -2263,20 +2200,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gz0ri0pa2xr7b6bf66yjc2wfvk51f4gi6yk7bklwl1nr65zc4gz"; + sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji"; type = "gem"; }; - version = "2.0.0"; + version = "2.3.0"; }; rugged = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx"; + sha256 = "04aq913plcxjw71l5r62qgz3bx3466p0wvgyfqahg5n3nybmcwqy"; type = "gem"; }; - version = "0.28.4.1"; + version = "1.1.0"; }; safe_yaml = { groups = ["default"]; @@ -2294,10 +2231,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"; + sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c"; type = "gem"; }; - version = "2.2.1"; + version = "2.4.0"; }; scrypt = { dependencies = ["ffi-compiler"]; @@ -2315,20 +2252,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wxkmgjnb8nskvqqwxihhbc1x8dhbbrcq70zxwqbyy5hvf4dh88f"; + sha256 = "1yz6pqdr8p5dv5qkza5kqn6il6m4vcl5hvry6k108axc12zf6hrb"; type = "gem"; }; - version = "0.10.0"; + version = "0.10.6"; }; sequel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vrbwwxvmdb7q1sdc0jnhlf826l74n9880xy5li1qabr0hyrmf1j"; + sha256 = "0k4ybmzrf79j9hgcl4m0hiaibf6m8apll99hml9rdjxvkprw51in"; type = "gem"; }; - version = "5.27.0"; + version = "5.39.0"; }; sequel_pg = { dependencies = ["pg" "sequel"]; @@ -2336,42 +2273,52 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y010rfdgpkw1yspqchjqdp7n8yahscyw98g3l2pw56nzbqipjb8"; + sha256 = "0mkbnc96bfpl5wqacblzwiwqywbx4vqrvkz57fj1h2f0bn635nk6"; type = "gem"; }; - version = "1.12.2"; + version = "1.14.0"; }; simplecov = { - dependencies = ["docile" "json" "simplecov-html"]; + dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw"; + sha256 = "1mm20dvd64w46l5k11il9z5sjgdpp0bknml76glcngvl2w03k3cb"; type = "gem"; }; - version = "0.17.1"; + version = "0.20.0"; }; simplecov-html = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; + sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; type = "gem"; }; - version = "0.10.2"; + version = "0.12.3"; }; - sinatra = { - dependencies = ["rack" "rack-protection" "tilt"]; + simplecov_json_formatter = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; + sha256 = "0cl3j7p3b5q7sxsx1va63c8imc5x6g99xablz08qrmqhpi0d6g6j"; type = "gem"; }; - version = "1.4.8"; + version = "0.1.2"; + }; + sinatra = { + dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dd53rzpkxgs697pycbhhgc9vcnxra4ly4xar8ni6aiydx2f88zk"; + type = "gem"; + }; + version = "2.1.0"; }; slather = { dependencies = ["CFPropertyList" "activesupport" "clamp" "nokogiri" "xcodeproj"]; @@ -2379,30 +2326,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v4wll10mwmynj2v2g71kgr1psck3qglhz2mnrw2n281v30jxyyn"; + sha256 = "0nqyam74izmbczwb406bsmgdzjz5r91d4lywlvdbxx5sl4g4256a"; type = "gem"; }; - version = "2.4.7"; + version = "2.6.0"; }; slop = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hv64fpbdwyswqhnq8bia66vlsz72yjqm00lvlhh4dnjjivdjcy5"; + sha256 = "05d1xv8r9cmd0mmlqpa853yzd7xhcyha063w1g8dpf84scxbxmd3"; type = "gem"; }; - version = "4.7.0"; + version = "4.8.2"; }; snappy = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00zzs25sm78zs3rifc02z54cp3f03r9dq5ilzykyq1ykvbv65vw4"; + sha256 = "1x0r1dnavg3skyp7b1nkiwd5qrrkvp9zwgfls3i2rzybq8ahx4lb"; type = "gem"; }; - version = "0.0.17"; + version = "0.1.0"; }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; @@ -2410,10 +2357,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jm37zpvvm1arxjwrd6am0wrdbfhrhc5y0l4p2i3p11z04bsvgap"; + sha256 = "0ikgwbl6jv3frfiy3xhg5yxw9d0064rgzghar1rg391xmrc4gm38"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.2"; }; sprockets-rails = { dependencies = ["actionpack" "activesupport" "sprockets"]; @@ -2421,10 +2368,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; + sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2"; type = "gem"; }; - version = "3.2.1"; + version = "3.2.2"; }; sqlite3 = { groups = ["default"]; @@ -2441,10 +2388,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r8g7zdncc6243d000jn0grc1n70rn9mx16vggy3q7c4wgsa37xi"; + sha256 = "1g7398sn8syybz3nbf3dqwa8q8v3s3s444i24xl5q9pzx4g4nkf1"; type = "gem"; }; - version = "0.7.1"; + version = "1.0.1"; }; terminal-table = { dependencies = ["unicode-display_width"]; @@ -2482,10 +2429,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv"; + sha256 = "08076cmdx0g51yrkd7dlxlr45nflink3jhdiq7006ljc2pc3212q"; type = "gem"; }; - version = "0.11.0.0"; + version = "0.13.0"; }; tilt = { groups = ["default"]; @@ -2502,10 +2449,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z2n1qwad86zkcmmq883bw8rgidjsqjphrbqf1mwyfi5y22jhxfp"; + sha256 = "0hy3kbcb6nwydy312rhjm4b30yavmayszzzyjpfdv6p0s8d9mfvb"; type = "gem"; }; - version = "2.1.2"; + version = "2.1.3"; }; treetop = { dependencies = ["polyglot"]; @@ -2513,10 +2460,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7"; + sha256 = "0697qz1akblf8r3wi0s2dsjh468hfsd57fb0mrp93z35y2ni6bhh"; type = "gem"; }; - version = "1.6.10"; + version = "1.6.11"; }; typhoeus = { dependencies = ["ethon"]; @@ -2524,10 +2471,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; + sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz"; type = "gem"; }; - version = "1.3.1"; + version = "1.4.0"; }; tzinfo = { dependencies = ["thread_safe"]; @@ -2535,10 +2482,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp"; + sha256 = "0skr6ih9cr3pwp8l84f0z7fy3q9kiq8hw0sg3zqw0hpbbyj05743"; type = "gem"; }; - version = "1.2.6"; + version = "1.2.8"; }; unf = { dependencies = ["unf_ext"]; @@ -2556,20 +2503,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; + sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4"; type = "gem"; }; - version = "0.0.7.6"; + version = "0.0.7.7"; }; unicode-display_width = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; + sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; type = "gem"; }; - version = "1.6.0"; + version = "1.7.0"; }; uuid4r = { groups = ["default"]; @@ -2581,15 +2528,36 @@ }; version = "0.2.0"; }; + websocket-driver = { + dependencies = ["websocket-extensions"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh"; + type = "gem"; + }; + version = "0.7.3"; + }; + websocket-extensions = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; + type = "gem"; + }; + version = "0.1.5"; + }; whois = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "177qbah62yhy2q7znlrs49jwabw7vpd9frv6hw6mm0bxj5fn7prg"; + sha256 = "0ch19amq0spj5dc240mv6s8hh245w7nis2h070qr3jm15r4jb21m"; type = "gem"; }; - version = "5.0.0"; + version = "5.0.1"; }; xcodeproj = { dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; @@ -2597,10 +2565,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb"; + sha256 = "1411j6sfnz0cx4fiw52f0yqx4bgcn8cmpgi3i5rwmmahayyjz2fn"; type = "gem"; }; - version = "1.14.0"; + version = "1.19.0"; }; xctasks = { dependencies = ["nokogiri" "rake"]; @@ -2618,10 +2586,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rxqwry3h2hjz069f0kfr140wgx1khgljnqf112dk5x9rm4l0xny"; + sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd"; type = "gem"; }; - version = "0.9.20"; + version = "0.9.25"; + }; + zeitwerk = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; + type = "gem"; + }; + version = "2.4.2"; }; ZenTest = { groups = ["default"]; From c56fbe4e095ee71e557b56993c591088bc3d2118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 8 Dec 2020 12:10:47 +0100 Subject: [PATCH 140/162] buildFhsUserenv: don't downgrade root user --- .../build-fhs-userenv/chrootenv/chrootenv.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c index dcb2e97aa93..a438b80e182 100644 --- a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c +++ b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c @@ -43,6 +43,7 @@ const gchar *create_tmpdir() { void pivot_host(const gchar *guest) { g_autofree gchar *point = g_build_filename(guest, "host", NULL); fail_if(g_mkdir(point, 0755)); + fail_if(mount(0, "/", 0, MS_PRIVATE | MS_REC, 0)); fail_if(pivot_root(guest, point)); } @@ -56,6 +57,7 @@ void bind_mount_item(const gchar *host, const gchar *guest, const gchar *name) { void bind(const gchar *host, const gchar *guest) { mount_tmpfs(guest); + pivot_host(guest); g_autofree gchar *host_dir = g_build_filename("/host", host, NULL); @@ -105,7 +107,11 @@ int main(gint argc, gchar **argv) { uid_t uid = getuid(); gid_t gid = getgid(); - if (unshare(CLONE_NEWNS | CLONE_NEWUSER) < 0) { + int namespaces = CLONE_NEWNS; + if (uid != 0) { + namespaces |= CLONE_NEWUSER; + } + if (unshare(namespaces) < 0) { int unshare_errno = errno; g_message("Requires Linux version >= 3.19 built with CONFIG_USER_NS"); @@ -116,9 +122,11 @@ int main(gint argc, gchar **argv) { fail("unshare", unshare_errno); } - spit("/proc/self/setgroups", "deny"); - spit("/proc/self/uid_map", "%d %d 1", uid, uid); - spit("/proc/self/gid_map", "%d %d 1", gid, gid); + if (uid != 0) { + spit("/proc/self/setgroups", "deny"); + spit("/proc/self/uid_map", "%d %d 1", uid, uid); + spit("/proc/self/gid_map", "%d %d 1", gid, gid); + } // If there is a /host directory, assume this is nested chrootenv and use it as host instead. gboolean nested_host = g_file_test("/host", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR); From 330218e69abaec3377cfe6537827542610a18069 Mon Sep 17 00:00:00 2001 From: h0m1 Date: Tue, 19 Nov 2019 20:41:56 +0100 Subject: [PATCH 141/162] stage-1: create temporary secrets directory in /tmp and not in cwd --- nixos/modules/system/boot/stage-1.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 86bfde6349c..e133a357bb7 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -366,7 +366,7 @@ let } trap cleanup EXIT - tmp=$(mktemp -d initrd-secrets.XXXXXXXXXX) + tmp=$(mktemp -d ''${TMPDIR:-/tmp}/initrd-secrets.XXXXXXXXXX) ${lib.concatStringsSep "\n" (mapAttrsToList (dest: source: let source' = if source == null then dest else toString source; in From 1024571d35ac1d3329e8475c7b5e78c345230dab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 7 Dec 2020 20:59:03 +0100 Subject: [PATCH 142/162] nixos/nscd: start in early boot Services that have dynamic users require nscd to resolve users via pam_systemd. Those services might not even create their own dynamic users itself i.e. iptables. To make sure nscd is always started when this is happening we move nscd to sysinit.target and make sure that it is always started before starting/reloading/restarting any other service. --- nixos/modules/services/system/nscd.nix | 41 +++++++++++-------- .../activation/switch-to-configuration.pl | 11 ++++- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index d720f254b81..43b05c5b14d 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -50,10 +50,20 @@ in systemd.services.nscd = { description = "Name Service Cache Daemon"; - wantedBy = [ "nss-lookup.target" "nss-user-lookup.target" ]; - environment = { LD_LIBRARY_PATH = nssModulesPath; }; + # We need system users to be resolveable in late-boot. nscd is the proxy between + # nss-modules in NixOS and thus if you have nss-modules providing system users + # (e.g. when using DynamicUser) then nscd needs to be available before late-boot is ready + # We add a dependency of sysinit.target to nscd to ensure + # these units are started after nscd is fully started. + unitConfig.DefaultDependencies = false; + wantedBy = [ "sysinit.target" ]; + before = [ "sysinit.target" "shutdown.target" ]; + conflicts = [ "shutdown.target" ]; + wants = [ "local-fs.target" ]; + after = [ "local-fs.target" ]; + restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source @@ -66,20 +76,19 @@ in # privileges after all the NSS modules have read their configuration # files. So prefix the ExecStart command with "!" to prevent systemd # from dropping privileges early. See ExecStart in systemd.service(5). - serviceConfig = - { ExecStart = "!@${nscd}/sbin/nscd nscd"; - Type = "forking"; - DynamicUser = true; - RuntimeDirectory = "nscd"; - PIDFile = "/run/nscd/nscd.pid"; - Restart = "always"; - ExecReload = - [ "${nscd}/sbin/nscd --invalidate passwd" - "${nscd}/sbin/nscd --invalidate group" - "${nscd}/sbin/nscd --invalidate hosts" - ]; - }; + serviceConfig = { + ExecStart = "!@${nscd}/sbin/nscd nscd"; + Type = "forking"; + DynamicUser = true; + RuntimeDirectory = "nscd"; + PIDFile = "/run/nscd/nscd.pid"; + Restart = "always"; + ExecReload = [ + "${nscd}/sbin/nscd --invalidate passwd" + "${nscd}/sbin/nscd --invalidate group" + "${nscd}/sbin/nscd --invalidate hosts" + ]; + }; }; - }; } diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index b82d69b3bb8..c774be2ec54 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -346,10 +346,11 @@ sub filterUnits { return @res; } +my $startNscd = delete $unitsToStart{"nscd.service"}; + my @unitsToStopFiltered = filterUnits(\%unitsToStop); my @unitsToStartFiltered = filterUnits(\%unitsToStart); - # Show dry-run actions. if ($action eq "dry-activate") { print STDERR "would stop the following units: ", join(", ", @unitsToStopFiltered), "\n" @@ -359,6 +360,7 @@ if ($action eq "dry-activate") { print STDERR "would restart systemd\n" if $restartSystemd; print STDERR "would restart the following units: ", join(", ", sort(keys %unitsToRestart)), "\n" if scalar(keys %unitsToRestart) > 0; + print STDERR "would start nscd\n" if $startNscd; print STDERR "would start the following units: ", join(", ", @unitsToStartFiltered), "\n" if scalar @unitsToStartFiltered; print STDERR "would reload the following units: ", join(", ", sort(keys %unitsToReload)), "\n" @@ -418,6 +420,13 @@ close $listActiveUsers; print STDERR "setting up tmpfiles\n"; system("@systemd@/bin/systemd-tmpfiles", "--create", "--remove", "--exclude-prefix=/dev") == 0 or $res = 3; +# We need to start nscd before any other service, since they might need +# to resolve users/groups only exposed by nss modules (i.e. DynamicUser via nss_systemd) +if ($startNscd) { + print STDERR "starting nscd\n"; + system("@systemd@/bin/systemctl", "start", "nscd.service") == 0 or $res = 4; +} + # Reload units that need it. This includes remounting changed mount # units. if (scalar(keys %unitsToReload) > 0) { From 54f104bf25cefd2bc3c132e36d8b536232526c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 17 Dec 2020 16:57:52 +0100 Subject: [PATCH 143/162] python3.pkgs.keystone: init at 0.9.2 This is used in a couple of reverse engineering tools i.e. [gef](https://github.com/hugsy/gef). --- .../python-modules/keystone/default.nix | 16 ++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/python-modules/keystone/default.nix diff --git a/pkgs/development/python-modules/keystone/default.nix b/pkgs/development/python-modules/keystone/default.nix new file mode 100644 index 00000000000..c98af6ea4d7 --- /dev/null +++ b/pkgs/development/python-modules/keystone/default.nix @@ -0,0 +1,16 @@ +{ lib +, buildPythonPackage +, keystone +}: + +buildPythonPackage rec { + inherit (keystone) pname src version buildInputs nativeBuildInputs; + + dontUseCmakeConfigure = 1; + preBuild = "cd bindings/python"; + + meta = with lib; { + inherit (keystone.meta) description license homepage; + maintainers = [ maintainers.mic92 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 46ebc85dd00..0e0e075171e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3308,6 +3308,10 @@ in { keyrings-alt = callPackage ../development/python-modules/keyrings-alt { }; + keystone = callPackage ../development/python-modules/keystone { + inherit (pkgs) keystone; + }; + keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; }; kicad = disabledIf isPy27 (toPythonModule (pkgs.kicad.override { python3 = python; }).src); From 35c4d1d0795ed02cec20849765a00db1475ff241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 17 Dec 2020 21:51:10 +0100 Subject: [PATCH 144/162] texlive: use python3 by default There is one python helper script still written for: Utility for writing Bengali in Rapid Roman Format. But this one does not seem super relevant --- pkgs/tools/typesetting/tex/texlive/bin.nix | 6 +++--- pkgs/tools/typesetting/tex/texlive/combine.nix | 2 +- pkgs/tools/typesetting/tex/texlive/default.nix | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 030ac1b43aa..4df486a2511 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -2,7 +2,7 @@ , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext -, perl, perlPackages, python2Packages, pkgconfig +, perl, perlPackages, python3Packages, pkgconfig , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr , brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash , makeWrapper, shortenPerlShebang @@ -321,13 +321,13 @@ latexindent = perlPackages.buildPerlPackage rec { }; -pygmentex = python2Packages.buildPythonApplication rec { +pygmentex = python3Packages.buildPythonApplication rec { pname = "pygmentex"; inherit (src) version; src = stdenv.lib.head (builtins.filter (p: p.tlType == "run") texlive.pygmentex.pkgs); - propagatedBuildInputs = with python2Packages; [ pygments chardet ]; + propagatedBuildInputs = with python3Packages; [ pygments chardet ]; dontBuild = true; diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 0625fe16090..33633433575 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -27,7 +27,7 @@ let [ "de-macro" "pythontex" "dviasm" "texliveonfly" ]; pkgNeedsRuby = pkg: pkg.tlType == "run" && pkg.pname == "match-parens"; extraInputs = - lib.optional (lib.any pkgNeedsPython splitBin.wrong) python + lib.optional (lib.any pkgNeedsPython splitBin.wrong) python3 ++ lib.optional (lib.any pkgNeedsRuby splitBin.wrong) ruby; }; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index c2e6399ab86..0c7dadc150b 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -4,7 +4,7 @@ */ { stdenv, lib, fetchurl, runCommand, writeText, buildEnv , callPackage, ghostscriptX, harfbuzz, poppler_min -, makeWrapper, python, ruby, perl +, makeWrapper, python3, ruby, perl , useFixedHashes ? true , recurseIntoAttrs }: @@ -25,7 +25,7 @@ let # function for creating a working environment from a set of TL packages combine = import ./combine.nix { inherit bin combinePkgs buildEnv lib makeWrapper writeText - stdenv python ruby perl; + stdenv python3 ruby perl; ghostscript = ghostscriptX; # could be without X, probably, but we use X above }; @@ -110,7 +110,7 @@ let #"ftp://tug.org/texlive/historic/2019/tlnet-final/archive" # Daily snapshots hosted by one of the texlive release managers - https://texlive.info/tlnet-archive/2020/10/09/tlnet/archive + "https://texlive.info/tlnet-archive/2020/10/09/tlnet/archive" ]; src = fetchurl { inherit urls sha512; }; From 88665763001b1e3b2a7bce8b4c89f2d94c5fead1 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Fri, 11 Sep 2020 07:46:59 +0200 Subject: [PATCH 145/162] nixos/tor: improve type-checking and hardening Fixes #77395. Fixes #82790. --- nixos/modules/services/networking/privoxy.nix | 7 +- nixos/modules/services/security/tor.nix | 1392 ++++++++++------- nixos/tests/tor.nix | 2 +- pkgs/tools/security/tor/default.nix | 16 + 4 files changed, 851 insertions(+), 566 deletions(-) diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index e3b34cb0c61..7caae328203 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -16,7 +16,7 @@ let ${concatMapStrings (f: "actionsfile ${f}\n") cfg.actionsFiles} ${concatMapStrings (f: "filterfile ${f}\n") cfg.filterFiles} '' + optionalString cfg.enableTor '' - forward-socks4a / ${config.services.tor.client.socksListenAddressFaster} . + forward-socks5t / 127.0.0.1:9063 . toggle 1 enable-remote-toggle 0 enable-edit-actions 0 @@ -123,6 +123,11 @@ in serviceConfig.ProtectSystem = "full"; }; + services.tor.settings.SOCKSPort = mkIf cfg.enableTor [ + # Route HTTP traffic over a faster port (without IsolateDestAddr). + { addr = "127.0.0.1"; port = 9063; IsolateDestAddr = false; } + ]; + }; meta.maintainers = with lib.maintainers; [ rnhmjoj ]; diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 1cceee065b1..ececb633983 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1,297 +1,300 @@ { config, lib, pkgs, ... }: +with builtins; with lib; let cfg = config.services.tor; - torDirectory = "/var/lib/tor"; - torRunDirectory = "/run/tor"; - - opt = name: value: optionalString (value != null) "${name} ${value}"; - optint = name: value: optionalString (value != null && value != 0) "${name} ${toString value}"; - - isolationOptions = { - type = types.listOf (types.enum [ - "IsolateClientAddr" - "IsolateSOCKSAuth" - "IsolateClientProtocol" - "IsolateDestPort" - "IsolateDestAddr" + stateDir = "/var/lib/tor"; + runDir = "/run/tor"; + descriptionGeneric = option: '' + See torrc manual. + ''; + bindsPrivilegedPort = + any (p0: + let p1 = if p0 ? "port" then p0.port else p0; in + if p1 == "auto" then false + else let p2 = if isInt p1 then p1 else toInt p1; in + p1 != null && 0 < p2 && p2 < 1024) + (flatten [ + cfg.settings.ORPort + cfg.settings.DirPort + cfg.settings.DNSPort + cfg.settings.ExtORPort + cfg.settings.HTTPTunnelPort + cfg.settings.NATDPort + cfg.settings.SOCKSPort + cfg.settings.TransPort ]); + optionBool = optionName: mkOption { + type = with types; nullOr bool; + default = null; + description = descriptionGeneric optionName; + }; + optionInt = optionName: mkOption { + type = with types; nullOr int; + default = null; + description = descriptionGeneric optionName; + }; + optionString = optionName: mkOption { + type = with types; nullOr str; + default = null; + description = descriptionGeneric optionName; + }; + optionStrings = optionName: mkOption { + type = with types; listOf str; default = []; - example = [ - "IsolateClientAddr" - "IsolateSOCKSAuth" - "IsolateClientProtocol" - "IsolateDestPort" - "IsolateDestAddr" + description = descriptionGeneric optionName; + }; + optionAddress = mkOption { + type = with types; nullOr str; + default = null; + example = "0.0.0.0"; + description = '' + IPv4 or IPv6 (if between brackets) address. + ''; + }; + optionUnix = mkOption { + type = with types; nullOr path; + default = null; + description = '' + Unix domain socket path to use. + ''; + }; + optionPort = mkOption { + type = with types; nullOr (oneOf [port (enum ["auto"])]); + default = null; + }; + optionPorts = optionName: mkOption { + type = with types; listOf port; + default = []; + description = descriptionGeneric optionName; + }; + optionIsolablePort = with types; oneOf [ + port (enum ["auto"]) + (submodule ({config, ...}: { + options = { + addr = optionAddress; + port = optionPort; + flags = optionFlags; + SessionGroup = mkOption { type = nullOr int; default = null; }; + } // genAttrs isolateFlags (name: mkOption { type = types.bool; default = false; }); + config = { + flags = filter (name: config.${name} == true) isolateFlags ++ + optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; + }; + })) + ]; + optionIsolablePorts = optionName: mkOption { + default = []; + type = with types; either optionIsolablePort (listOf optionIsolablePort); + description = descriptionGeneric optionName; + }; + isolateFlags = [ + "IsolateClientAddr" + "IsolateClientProtocol" + "IsolateDestAddr" + "IsolateDestPort" + "IsolateSOCKSAuth" + "KeepAliveIsolateSOCKSAuth" + ]; + optionSOCKSPort = doConfig: let + flags = [ + "CacheDNS" "CacheIPv4DNS" "CacheIPv6DNS" "GroupWritable" "IPv6Traffic" + "NoDNSRequest" "NoIPv4Traffic" "NoOnionTraffic" "OnionTrafficOnly" + "PreferIPv6" "PreferIPv6Automap" "PreferSOCKSNoAuth" "UseDNSCache" + "UseIPv4Cache" "UseIPv6Cache" "WorldWritable" + ] ++ isolateFlags; + in with types; oneOf [ + port (submodule ({config, ...}: { + options = { + unix = optionUnix; + addr = optionAddress; + port = optionPort; + flags = optionFlags; + SessionGroup = mkOption { type = nullOr int; default = null; }; + } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); + config = mkIf doConfig { # Only add flags in SOCKSPort to avoid duplicates + flags = filter (name: config.${name} == true) flags ++ + optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; + }; + })) ]; - description = "Tor isolation options"; + optionFlags = mkOption { + type = with types; listOf str; + default = []; + }; + optionORPort = optionName: mkOption { + default = []; + example = 443; + type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [ + port + (enum ["auto"]) + (submodule ({config, ...}: + let flags = [ "IPv4Only" "IPv6Only" "NoAdvertise" "NoListen" ]; + in { + options = { + addr = optionAddress; + port = optionPort; + flags = optionFlags; + } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); + config = { + flags = filter (name: config.${name} == true) flags; + }; + })) + ]))]; + description = descriptionGeneric optionName; + }; + optionBandwith = optionName: mkOption { + type = with types; nullOr (either int str); + default = null; + description = descriptionGeneric optionName; + }; + optionPath = optionName: mkOption { + type = with types; nullOr path; + default = null; + description = descriptionGeneric optionName; }; - - torRc = '' - User tor - DataDirectory ${torDirectory} - ${optionalString cfg.enableGeoIP '' - GeoIPFile ${cfg.package.geoip}/share/tor/geoip - GeoIPv6File ${cfg.package.geoip}/share/tor/geoip6 - ''} - - ${optint "ControlPort" cfg.controlPort} - ${optionalString cfg.controlSocket.enable "ControlPort unix:${torRunDirectory}/control GroupWritable RelaxDirModeCheck"} - '' - # Client connection config - + optionalString cfg.client.enable '' - SOCKSPort ${cfg.client.socksListenAddress} ${toString cfg.client.socksIsolationOptions} - SOCKSPort ${cfg.client.socksListenAddressFaster} - ${opt "SocksPolicy" cfg.client.socksPolicy} - - ${optionalString cfg.client.transparentProxy.enable '' - TransPort ${cfg.client.transparentProxy.listenAddress} ${toString cfg.client.transparentProxy.isolationOptions} - ''} - - ${optionalString cfg.client.dns.enable '' - DNSPort ${cfg.client.dns.listenAddress} ${toString cfg.client.dns.isolationOptions} - AutomapHostsOnResolve 1 - AutomapHostsSuffixes ${concatStringsSep "," cfg.client.dns.automapHostsSuffixes} - ''} - '' - # Explicitly disable the SOCKS server if the client is disabled. In - # particular, this makes non-anonymous hidden services possible. - + optionalString (! cfg.client.enable) '' - SOCKSPort 0 - '' - # Relay config - + optionalString cfg.relay.enable '' - ORPort ${toString cfg.relay.port} - ${opt "Address" cfg.relay.address} - ${opt "Nickname" cfg.relay.nickname} - ${opt "ContactInfo" cfg.relay.contactInfo} - - ${optint "RelayBandwidthRate" cfg.relay.bandwidthRate} - ${optint "RelayBandwidthBurst" cfg.relay.bandwidthBurst} - ${opt "AccountingMax" cfg.relay.accountingMax} - ${opt "AccountingStart" cfg.relay.accountingStart} - - ${if (cfg.relay.role == "exit") then - opt "ExitPolicy" cfg.relay.exitPolicy - else - "ExitPolicy reject *:*"} - - ${optionalString (elem cfg.relay.role ["bridge" "private-bridge"]) '' - BridgeRelay 1 - ServerTransportPlugin ${concatStringsSep "," cfg.relay.bridgeTransports} exec ${pkgs.obfs4}/bin/obfs4proxy managed - ExtORPort auto - ${optionalString (cfg.relay.role == "private-bridge") '' - ExtraInfoStatistics 0 - PublishServerDescriptor 0 - ''} - ''} - '' - # Hidden services - + concatStrings (flip mapAttrsToList cfg.hiddenServices (n: v: '' - HiddenServiceDir ${torDirectory}/onion/${v.name} - ${optionalString (v.version != null) "HiddenServiceVersion ${toString v.version}"} - ${flip concatMapStrings v.map (p: '' - HiddenServicePort ${toString p.port} ${p.destination} - '')} - ${optionalString (v.authorizeClient != null) '' - HiddenServiceAuthorizeClient ${v.authorizeClient.authType} ${concatStringsSep "," v.authorizeClient.clientNames} - ''} - '')) - + cfg.extraConfig; - - torRcFile = pkgs.writeText "torrc" torRc; - + mkValueString = k: v: + if v == null then "" + else if isBool v then + (if v then "1" else "0") + else if v ? "unix" && v.unix != null then + "unix:"+v.unix + + optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) + else if v ? "port" && v.port != null then + optionalString (v ? "addr" && v.addr != null) "${v.addr}:" + + toString v.port + + optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) + else if k == "ServerTransportPlugin" then + optionalString (v.transports != []) "${concatStringsSep "," v.transports} exec ${v.exec}" + else if k == "HidServAuth" then + concatMapStringsSep "\n${k} " (settings: settings.onion + " " settings.auth) v + else generators.mkValueStringDefault {} v; + genTorrc = settings: + generators.toKeyValue { + listsAsDuplicateKeys = true; + mkKeyValue = k: generators.mkKeyValueDefault { mkValueString = mkValueString k; } " " k; + } + (lib.mapAttrs (k: v: + # Not necesssary, but prettier rendering + if elem k [ "AutomapHostsSuffixes" "DirPolicy" "ExitPolicy" "SocksPolicy" ] + && v != [] + then concatStringsSep "," v + else v) + (lib.filterAttrs (k: v: !(v == null || v == "")) + settings)); + torrc = pkgs.writeText "torrc" ( + genTorrc cfg.settings + + concatStrings (mapAttrsToList (name: onion: + "HiddenServiceDir ${onion.path}\n" + + genTorrc onion.settings) cfg.relay.onionServices) + ); in { imports = [ - (mkRemovedOptionModule [ "services" "tor" "client" "privoxy" "enable" ] '' - Use services.privoxy.enable and services.privoxy.enableTor instead. - '') - (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ]) + (mkRenamedOptionModule [ "services" "tor" "client" "dns" "automapHostsSuffixes" ] [ "services" "tor" "settings" "AutomapHostsSuffixes" ]) + (mkRemovedOptionModule [ "services" "tor" "client" "dns" "isolationOptions" ] "Use services.tor.settings.DNSPort instead.") + (mkRemovedOptionModule [ "services" "tor" "client" "dns" "listenAddress" ] "Use services.tor.settings.DNSPort instead.") + (mkRemovedOptionModule [ "services" "tor" "client" "privoxy" "enable" ] "Use services.privoxy.enable and services.privoxy.enableTor instead.") + (mkRemovedOptionModule [ "services" "tor" "client" "socksIsolationOptions" ] "Use services.tor.settings.SOCKSPort instead.") + (mkRemovedOptionModule [ "services" "tor" "client" "socksListenAddressFaster" ] "Use services.tor.settings.SOCKSPort instead.") + (mkRenamedOptionModule [ "services" "tor" "client" "socksPolicy" ] [ "services" "tor" "settings" "SocksPolicy" ]) + (mkRemovedOptionModule [ "services" "tor" "client" "transparentProxy" "isolationOptions" ] "Use services.tor.settings.TransPort instead.") + (mkRemovedOptionModule [ "services" "tor" "client" "transparentProxy" "listenAddress" ] "Use services.tor.settings.TransPort instead.") + (mkRenamedOptionModule [ "services" "tor" "controlPort" ] [ "services" "tor" "settings" "ControlPort" ]) + (mkRemovedOptionModule [ "services" "tor" "extraConfig" ] "Plese use services.tor.settings instead.") + (mkRenamedOptionModule [ "services" "tor" "hiddenServices" ] [ "services" "tor" "relay" "onionServices" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "accountingMax" ] [ "services" "tor" "settings" "AccountingMax" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "accountingStart" ] [ "services" "tor" "settings" "AccountingStart" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "address" ] [ "services" "tor" "settings" "Address" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "bandwidthBurst" ] [ "services" "tor" "settings" "BandwidthBurst" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "bandwidthRate" ] [ "services" "tor" "settings" "BandwidthRate" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "bridgeTransports" ] [ "services" "tor" "settings" "ServerTransportPlugin" "transports" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "contactInfo" ] [ "services" "tor" "settings" "ContactInfo" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "exitPolicy" ] [ "services" "tor" "settings" "ExitPolicy" ]) (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.") (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.") + (mkRenamedOptionModule [ "services" "tor" "relay" "nickname" ] [ "services" "tor" "settings" "Nickname" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "port" ] [ "services" "tor" "settings" "ORPort" ]) + (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "settings" "ORPort" ]) ]; options = { services.tor = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Enable the Tor daemon. By default, the daemon is run without - relay, exit, bridge or client connectivity. - ''; - }; + enable = mkEnableOption ''Tor daemon. + By default, the daemon is run without + relay, exit, bridge or client connectivity''; + + openFirewall = mkEnableOption "opening of the relay port(s) in the firewall"; package = mkOption { type = types.package; default = pkgs.tor; defaultText = "pkgs.tor"; example = literalExample "pkgs.tor"; - description = '' - Tor package to use - ''; + description = "Tor package to use."; }; - enableGeoIP = mkOption { - type = types.bool; - default = true; - description = '' - Whenever to configure Tor daemon to use GeoIP databases. + enableGeoIP = mkEnableOption ''use of GeoIP databases. + Disabling this will disable by-country statistics for bridges and relays + and some client and third-party software functionality'' // { default = true; }; - Disabling this will disable by-country statistics for - bridges and relays and some client and third-party software - functionality. - ''; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - description = '' - Extra configuration. Contents will be added verbatim to the - configuration file at the end. - ''; - }; - - controlPort = mkOption { - type = types.nullOr (types.either types.int types.str); - default = null; - example = 9051; - description = '' - If set, Tor will accept connections on the specified port - and allow them to control the tor process. - ''; - }; - - controlSocket = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Tor control socket. Control socket is created - in ${torRunDirectory}/control - ''; - }; - }; + controlSocket.enable = mkEnableOption ''control socket, + created in ${runDir}/control''; client = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Tor daemon to route application - connections. You might want to disable this if you plan - running a dedicated Tor relay. - ''; - }; + enable = mkEnableOption ''the routing of application connections. + You might want to disable this if you plan running a dedicated Tor relay''; + + transparentProxy.enable = mkEnableOption "transparent proxy"; + dns.enable = mkEnableOption "DNS resolver"; socksListenAddress = mkOption { - type = types.str; - default = "127.0.0.1:9050"; - example = "192.168.0.1:9100"; + type = optionSOCKSPort false; + default = {addr = "127.0.0.1"; port = 9050; IsolateDestAddr = true;}; + example = {addr = "192.168.0.1"; port = 9090; IsolateDestAddr = true;}; description = '' Bind to this address to listen for connections from - Socks-speaking applications. Provides strong circuit - isolation, separate circuit per IP address. + Socks-speaking applications. ''; }; - socksListenAddressFaster = mkOption { - type = types.str; - default = "127.0.0.1:9063"; - example = "192.168.0.1:9101"; - description = '' - Bind to this address to listen for connections from - Socks-speaking applications. Same as - but uses weaker - circuit isolation to provide performance suitable for a - web browser. - ''; - }; - - socksPolicy = mkOption { - type = types.nullOr types.str; - default = null; - example = "accept 192.168.0.0/16, reject *"; - description = '' - Entry policies to allow/deny SOCKS requests based on IP - address. First entry that matches wins. If no SocksPolicy - is set, we accept all (and only) requests from - . - ''; - }; - - socksIsolationOptions = mkOption (isolationOptions // { - default = ["IsolateDestAddr"]; - }); - - transparentProxy = { - enable = mkOption { - type = types.bool; - default = false; - description = "Whether to enable tor transparent proxy"; - }; - - listenAddress = mkOption { - type = types.str; - default = "127.0.0.1:9040"; - example = "192.168.0.1:9040"; - description = '' - Bind transparent proxy to this address. - ''; - }; - - isolationOptions = mkOption isolationOptions; - }; - - dns = { - enable = mkOption { - type = types.bool; - default = false; - description = "Whether to enable tor dns resolver"; - }; - - listenAddress = mkOption { - type = types.str; - default = "127.0.0.1:9053"; - example = "192.168.0.1:9053"; - description = '' - Bind tor dns to this address. - ''; - }; - - isolationOptions = mkOption isolationOptions; - - automapHostsSuffixes = mkOption { - type = types.listOf types.str; - default = [".onion" ".exit"]; - example = [".onion"]; - description = "List of suffixes to use with automapHostsOnResolve"; + onionServices = mkOption { + description = descriptionGeneric "HiddenServiceDir"; + default = {}; + example = { + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" = { + clientAuthorizations = ["/run/keys/tor/alice.prv.x25519"]; + }; }; + type = types.attrsOf (types.submodule ({name, config, ...}: { + options.clientAuthorizations = mkOption { + description = '' + Clients' authorizations for a v3 hidden service, + as a list of files containing each one private key, in the format: + descriptor:x25519:<base32-private-key> + '' + descriptionGeneric "_client_authorization"; + type = with types; listOf path; + default = []; + example = ["/run/keys/tor/alice.prv.x25519"]; + }; + })); }; }; relay = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable relaying TOR traffic for others. + enable = mkEnableOption ''relaying of Tor traffic for others. - See - for details. + See + for details. - Setting this to true requires setting - - and - - options. - ''; - }; + Setting this to true requires setting + + and + + options''; role = mkOption { type = types.enum [ "exit" "relay" "bridge" "private-bridge" ]; @@ -310,13 +313,13 @@ in Running an exit relay may expose you to abuse complaints. See - + for more info. You can specify which services Tor users may access via - your exit relay using option. + your exit relay using option. @@ -369,15 +372,14 @@ in WARNING: THE FOLLOWING PARAGRAPH IS NOT LEGAL ADVICE. - Consult with your lawer when in doubt. + Consult with your lawyer when in doubt. This role should be safe to use in most situations (unless the act of forwarding traffic for others is a punishable offence under your local laws, which - would be pretty insane as it would make ISP - illegal). + would be pretty insane as it would make ISP illegal). @@ -404,7 +406,7 @@ in Use this if you want to run a private bridge, for - example because you'll give out your bridge address + example because you'll give out your bridge addr manually to your friends. @@ -426,269 +428,393 @@ in ''; }; - bridgeTransports = mkOption { - type = types.listOf types.str; - default = ["obfs4"]; - example = ["obfs2" "obfs3" "obfs4" "scramblesuit"]; - description = "List of pluggable transports"; - }; - - nickname = mkOption { - type = types.str; - default = "anonymous"; - description = '' - A unique handle for your TOR relay. - ''; - }; - - contactInfo = mkOption { - type = types.nullOr types.str; - default = null; - example = "admin@relay.com"; - description = '' - Contact information for the relay owner (e.g. a mail - address and GPG key ID). - ''; - }; - - accountingMax = mkOption { - type = types.nullOr types.str; - default = null; - example = "450 GBytes"; - description = '' - Specify maximum bandwidth allowed during an accounting period. This - allows you to limit overall tor bandwidth over some time period. - See the AccountingMax option by looking at the - tor manual tor - 1 for more. - - Note this limit applies individually to upload and - download; if you specify "500 GBytes" - here, then you may transfer up to 1 TBytes of overall - bandwidth (500 GB upload, 500 GB download). - ''; - }; - - accountingStart = mkOption { - type = types.nullOr types.str; - default = null; - example = "month 1 1:00"; - description = '' - Specify length of an accounting period. This allows you to limit - overall tor bandwidth over some time period. See the - AccountingStart option by looking at the tor - manual tor - 1 for more. - ''; - }; - - bandwidthRate = mkOption { - type = types.nullOr types.int; - default = null; - example = 100; - description = '' - Specify this to limit the bandwidth usage of relayed (server) - traffic. Your own traffic is still unthrottled. Units: bytes/second. - ''; - }; - - bandwidthBurst = mkOption { - type = types.nullOr types.int; - default = cfg.relay.bandwidthRate; - example = 200; - description = '' - Specify this to allow bursts of the bandwidth usage of relayed (server) - traffic. The average usage will still be as specified in relayBandwidthRate. - Your own traffic is still unthrottled. Units: bytes/second. - ''; - }; - - address = mkOption { - type = types.nullOr types.str; - default = null; - example = "noname.example.com"; - description = '' - The IP address or full DNS name for advertised address of your relay. - Leave unset and Tor will guess. - ''; - }; - - port = mkOption { - type = types.either types.int types.str; - example = 143; - description = '' - What port to advertise for Tor connections. This corresponds to the - ORPort section in the Tor manual; see - tor - 1 for more details. - - At a minimum, you should just specify the port for the - relay to listen on; a common one like 143, 22, 80, or 443 - to help Tor users who may have very restrictive port-based - firewalls. - ''; - }; - - exitPolicy = mkOption { - type = types.nullOr types.str; - default = null; - example = "accept *:6660-6667,reject *:*"; - description = '' - A comma-separated list of exit policies. They're - considered first to last, and the first match wins. If you - want to _replace_ the default exit policy, end this with - either a reject *:* or an accept *:*. Otherwise, you're - _augmenting_ (prepending to) the default exit policy. - Leave commented to just use the default, which is - available in the man page or at - . - - Look at - - for issues you might encounter if you use the default - exit policy. - - If certain IPs and ports are blocked externally, e.g. by - your firewall, you should update your exit policy to - reflect this -- otherwise Tor users will be told that - those destinations are down. - ''; + onionServices = mkOption { + description = descriptionGeneric "HiddenServiceDir"; + default = {}; + example = { + "example.org/www" = { + map = [ 80 ]; + authorizedClients = [ + "descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + ]; + }; + }; + type = types.attrsOf (types.submodule ({name, config, ...}: { + options.path = mkOption { + type = types.path; + description = '' + Path where to store the data files of the hidden service. + If the is null + this defaults to ${stateDir}/onion/$onion, + otherwise to ${runDir}/onion/$onion. + ''; + }; + options.secretKey = mkOption { + type = with types; nullOr path; + default = null; + example = "/run/keys/tor/onion/expyuzz4wqqyqhjn/hs_ed25519_secret_key"; + description = '' + Secret key of the onion service. + If null, Tor reuses any preexisting secret key (in ) + or generates a new one. + The associated public key and hostname are deterministically regenerated + from this file if they do not exist. + ''; + }; + options.authorizeClient = mkOption { + description = descriptionGeneric "HiddenServiceAuthorizeClient"; + default = null; + type = types.nullOr (types.submodule ({...}: { + options = { + authType = mkOption { + type = types.enum [ "basic" "stealth" ]; + description = '' + Either "basic" for a general-purpose authorization protocol + or "stealth" for a less scalable protocol + that also hides service activity from unauthorized clients. + ''; + }; + clientNames = mkOption { + type = with types; nonEmptyListOf (strMatching "[A-Za-z0-9+-_]+"); + description = '' + Only clients that are listed here are authorized to access the hidden service. + Generated authorization data can be found in ${stateDir}/onion/$name/hostname. + Clients need to put this authorization data in their configuration file using + . + ''; + }; + }; + })); + }; + options.authorizedClients = mkOption { + description = '' + Authorized clients for a v3 hidden service, + as a list of public key, in the format: + descriptor:x25519:<base32-public-key> + '' + descriptionGeneric "_client_authorization"; + type = with types; listOf str; + default = []; + example = ["descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]; + }; + options.map = mkOption { + description = descriptionGeneric "HiddenServicePort"; + type = with types; listOf (oneOf [ + port (submodule ({...}: { + options = { + port = optionPort; + target = mkOption { + default = null; + type = nullOr (submodule ({...}: { + options = { + unix = optionUnix; + addr = optionAddress; + port = optionPort; + }; + })); + }; + }; + })) + ]); + apply = map (v: if isInt v then {port=v; target=null;} else v); + }; + options.version = mkOption { + description = descriptionGeneric "HiddenServiceVersion"; + type = with types; nullOr (enum [2 3]); + default = null; + }; + options.settings = mkOption { + description = '' + Settings of the onion service. + '' + descriptionGeneric "_hidden_service_options"; + default = {}; + type = types.submodule { + freeformType = with types; + (attrsOf (nullOr (oneOf [str int bool (listOf str)]))) // { + description = "settings option"; + }; + options.HiddenServiceAllowUnknownPorts = optionBool "HiddenServiceAllowUnknownPorts"; + options.HiddenServiceDirGroupReadable = optionBool "HiddenServiceDirGroupReadable"; + options.HiddenServiceExportCircuitID = mkOption { + description = descriptionGeneric "HiddenServiceExportCircuitID"; + type = with types; nullOr (enum ["haproxy"]); + default = null; + }; + options.HiddenServiceMaxStreams = mkOption { + description = descriptionGeneric "HiddenServiceMaxStreams"; + type = with types; nullOr (ints.between 0 65535); + default = null; + }; + options.HiddenServiceMaxStreamsCloseCircuit = optionBool "HiddenServiceMaxStreamsCloseCircuit"; + options.HiddenServiceNumIntroductionPoints = mkOption { + description = descriptionGeneric "HiddenServiceNumIntroductionPoints"; + type = with types; nullOr (ints.between 0 20); + default = null; + }; + options.HiddenServiceSingleHopMode = optionBool "HiddenServiceSingleHopMode"; + options.RendPostPeriod = optionString "RendPostPeriod"; + }; + }; + config = { + path = mkDefault ((if config.secretKey == null then stateDir else runDir) + "/onion/${name}"); + settings.HiddenServiceVersion = config.version; + settings.HiddenServiceAuthorizeClient = + if config.authorizeClient != null then + config.authorizeClient.authType + " " + + concatStringsSep "," config.authorizeClient.clientNames + else null; + settings.HiddenServicePort = map (p: mkValueString "" p.port + " " + mkValueString "" p.target) config.map; + }; + })); }; }; - hiddenServices = mkOption { + settings = mkOption { description = '' - A set of static hidden services that terminate their Tor - circuits at this node. - - Every element in this set declares a virtual onion host. - - You can specify your onion address by putting corresponding - private key to an appropriate place in ${torDirectory}. - - For services without private keys in ${torDirectory} Tor - daemon will generate random key pairs (which implies random - onion addresses) on restart. The latter could take a while, - please be patient. - - - Hidden services can be useful even if you don't intend to - actually hide them, since they can - also be seen as a kind of NAT traversal mechanism. - - E.g. the example will make your sshd, whatever runs on - "8080" and your mail server available from anywhere where - the Tor network is available (which, with the help from - bridges, is pretty much everywhere), even if both client - and server machines are behind NAT you have no control - over. - + See torrc manual + for documentation. ''; default = {}; - example = literalExample '' - { "my-hidden-service-example".map = [ - { port = 22; } # map ssh port to this machine's ssh - { port = 80; toPort = 8080; } # map http port to whatever runs on 8080 - { port = "sip"; toHost = "mail.example.com"; toPort = "imap"; } # because we can - ]; - } - ''; - type = types.attrsOf (types.submodule ({name, ...}: { - options = { - - name = mkOption { - type = types.str; - description = '' - Name of this tor hidden service. - - This is purely descriptive. - - After restarting Tor daemon you should be able to - find your .onion address in - ${torDirectory}/onion/$name/hostname. - ''; - }; - - map = mkOption { - default = []; - description = "Port mapping for this hidden service."; - type = types.listOf (types.submodule ({config, ...}: { - options = { - - port = mkOption { - type = types.either types.int types.str; - example = 80; - description = '' - Hidden service port to "bind to". - ''; - }; - - destination = mkOption { - internal = true; - type = types.str; - description = "Forward these connections where?"; - }; - - toHost = mkOption { - type = types.str; - default = "127.0.0.1"; - description = "Mapping destination host."; - }; - - toPort = mkOption { - type = types.either types.int types.str; - example = 8080; - description = "Mapping destination port."; - }; - - }; - - config = { - toPort = mkDefault config.port; - destination = mkDefault "${config.toHost}:${toString config.toPort}"; - }; - })); - }; - - authorizeClient = mkOption { - default = null; - description = "If configured, the hidden service is accessible for authorized clients only."; - type = types.nullOr (types.submodule ({...}: { - - options = { - - authType = mkOption { - type = types.enum [ "basic" "stealth" ]; - description = '' - Either "basic" for a general-purpose authorization protocol - or "stealth" for a less scalable protocol - that also hides service activity from unauthorized clients. - ''; - }; - - clientNames = mkOption { - type = types.nonEmptyListOf (types.strMatching "[A-Za-z0-9+-_]+"); - description = '' - Only clients that are listed here are authorized to access the hidden service. - Generated authorization data can be found in ${torDirectory}/onion/$name/hostname. - Clients need to put this authorization data in their configuration file using HidServAuth. - ''; - }; - }; - })); - }; - - version = mkOption { - default = null; - description = "Rendezvous service descriptor version to publish for the hidden service. Currently, versions 2 and 3 are supported. (Default: 2)"; - type = types.nullOr (types.enum [ 2 3 ]); - }; + type = types.submodule { + freeformType = with types; + (attrsOf (nullOr (oneOf [str int bool (listOf str)]))) // { + description = "settings option"; + }; + options.Address = optionString "Address"; + options.AssumeReachable = optionBool "AssumeReachable"; + options.AccountingMax = optionBandwith "AccountingMax"; + options.AccountingStart = optionString "AccountingStart"; + options.AuthDirHasIPv6Connectivity = optionBool "AuthDirHasIPv6Connectivity"; + options.AuthDirListBadExits = optionBool "AuthDirListBadExits"; + options.AuthDirPinKeys = optionBool "AuthDirPinKeys"; + options.AuthDirSharedRandomness = optionBool "AuthDirSharedRandomness"; + options.AuthDirTestEd25519LinkKeys = optionBool "AuthDirTestEd25519LinkKeys"; + options.AuthoritativeDirectory = optionBool "AuthoritativeDirectory"; + options.AutomapHostsOnResolve = optionBool "AutomapHostsOnResolve"; + options.AutomapHostsSuffixes = optionStrings "AutomapHostsSuffixes" // { + default = [".onion" ".exit"]; + example = [".onion"]; }; - - config = { - name = mkDefault name; + options.BandwidthBurst = optionBandwith "BandwidthBurst"; + options.BandwidthRate = optionBandwith "BandwidthRate"; + options.BridgeAuthoritativeDir = optionBool "BridgeAuthoritativeDir"; + options.BridgeRecordUsageByCountry = optionBool "BridgeRecordUsageByCountry"; + options.BridgeRelay = optionBool "BridgeRelay" // { default = false; }; + options.CacheDirectory = optionPath "CacheDirectory"; + options.CacheDirectoryGroupReadable = optionBool "CacheDirectoryGroupReadable"; # default is null and like "auto" + options.CellStatistics = optionBool "CellStatistics"; + options.ClientAutoIPv6ORPort = optionBool "ClientAutoIPv6ORPort"; + options.ClientDNSRejectInternalAddresses = optionBool "ClientDNSRejectInternalAddresses"; + options.ClientOnionAuthDir = mkOption { + description = descriptionGeneric "ClientOnionAuthDir"; + default = null; + type = with types; nullOr path; }; - })); + options.ClientPreferIPv6DirPort = optionBool "ClientPreferIPv6DirPort"; # default is null and like "auto" + options.ClientPreferIPv6ORPort = optionBool "ClientPreferIPv6ORPort"; # default is null and like "auto" + options.ClientRejectInternalAddresses = optionBool "ClientRejectInternalAddresses"; + options.ClientUseIPv4 = optionBool "ClientUseIPv4"; + options.ClientUseIPv6 = optionBool "ClientUseIPv6"; + options.ConnDirectionStatistics = optionBool "ConnDirectionStatistics"; + options.ConstrainedSockets = optionBool "ConstrainedSockets"; + options.ContactInfo = optionString "ContactInfo"; + options.ControlPort = mkOption rec { + description = descriptionGeneric "ControlPort"; + default = []; + example = [{port = 9051;}]; + type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [ + port (enum ["auto"]) (submodule ({config, ...}: let + flags = ["GroupWritable" "RelaxDirModeCheck" "WorldWritable"]; + in { + options = { + unix = optionUnix; + flags = optionFlags; + addr = optionAddress; + port = optionPort; + } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); + config = { + flags = filter (name: config.${name} == true) flags; + }; + })) + ]))]; + }; + options.ControlPortFileGroupReadable= optionBool "ControlPortFileGroupReadable"; + options.ControlPortWriteToFile = optionPath "ControlPortWriteToFile"; + options.ControlSocket = optionPath "ControlSocket"; + options.ControlSocketsGroupWritable = optionBool "ControlSocketsGroupWritable"; + options.CookieAuthFile = optionPath "CookieAuthFile"; + options.CookieAuthFileGroupReadable = optionBool "CookieAuthFileGroupReadable"; + options.CookieAuthentication = optionBool "CookieAuthentication"; + options.DataDirectory = optionPath "DataDirectory" // { default = stateDir; }; + options.DataDirectoryGroupReadable = optionBool "DataDirectoryGroupReadable"; + options.DirPortFrontPage = optionPath "DirPortFrontPage"; + options.DirAllowPrivateAddresses = optionBool "DirAllowPrivateAddresses"; + options.DormantCanceledByStartup = optionBool "DormantCanceledByStartup"; + options.DormantOnFirstStartup = optionBool "DormantOnFirstStartup"; + options.DormantTimeoutDisabledByIdleStreams = optionBool "DormantTimeoutDisabledByIdleStreams"; + options.DirCache = optionBool "DirCache"; + options.DirPolicy = mkOption { + description = descriptionGeneric "DirPolicy"; + type = with types; listOf str; + default = []; + example = ["accept *:*"]; + }; + options.DirPort = optionORPort "DirPort"; + options.DirReqStatistics = optionBool "DirReqStatistics"; + options.DisableAllSwap = optionBool "DisableAllSwap"; + options.DisableDebuggerAttachment = optionBool "DisableDebuggerAttachment"; + options.DisableNetwork = optionBool "DisableNetwork"; + options.DisableOOSCheck = optionBool "DisableOOSCheck"; + options.DNSPort = optionIsolablePorts "DNSPort"; + options.DoSCircuitCreationEnabled = optionBool "DoSCircuitCreationEnabled"; + options.DoSConnectionEnabled = optionBool "DoSConnectionEnabled"; # default is null and like "auto" + options.DoSRefuseSingleHopClientRendezvous = optionBool "DoSRefuseSingleHopClientRendezvous"; + options.DownloadExtraInfo = optionBool "DownloadExtraInfo"; + options.EnforceDistinctSubnets = optionBool "EnforceDistinctSubnets"; + options.EntryStatistics = optionBool "EntryStatistics"; + options.ExitPolicy = optionStrings "ExitPolicy" // { + default = ["reject *:*"]; + example = ["accept *:*"]; + }; + options.ExitPolicyRejectLocalInterfaces = optionBool "ExitPolicyRejectLocalInterfaces"; + options.ExitPolicyRejectPrivate = optionBool "ExitPolicyRejectPrivate"; + options.ExitPortStatistics = optionBool "ExitPortStatistics"; + options.ExitRelay = optionBool "ExitRelay"; # default is null and like "auto" + options.ExtORPort = mkOption { + description = descriptionGeneric "ExtORPort"; + default = null; + type = with types; nullOr (oneOf [ + port (enum ["auto"]) (submodule ({...}: { + options = { + addr = optionAddress; + port = optionPort; + }; + })) + ]); + apply = p: if isInt p || isString p then { port = p; } else p; + }; + options.ExtORPortCookieAuthFile = optionPath "ExtORPortCookieAuthFile"; + options.ExtORPortCookieAuthFileGroupReadable = optionBool "ExtORPortCookieAuthFileGroupReadable"; + options.ExtendAllowPrivateAddresses = optionBool "ExtendAllowPrivateAddresses"; + options.ExtraInfoStatistics = optionBool "ExtraInfoStatistics"; + options.FascistFirewall = optionBool "FascistFirewall"; + options.FetchDirInfoEarly = optionBool "FetchDirInfoEarly"; + options.FetchDirInfoExtraEarly = optionBool "FetchDirInfoExtraEarly"; + options.FetchHidServDescriptors = optionBool "FetchHidServDescriptors"; + options.FetchServerDescriptors = optionBool "FetchServerDescriptors"; + options.FetchUselessDescriptors = optionBool "FetchUselessDescriptors"; + options.ReachableAddresses = optionStrings "ReachableAddresses"; + options.ReachableDirAddresses = optionStrings "ReachableDirAddresses"; + options.ReachableORAddresses = optionStrings "ReachableORAddresses"; + options.GeoIPFile = optionPath "GeoIPFile"; + options.GeoIPv6File = optionPath "GeoIPv6File"; + options.GuardfractionFile = optionPath "GuardfractionFile"; + options.HidServAuth = mkOption { + description = descriptionGeneric "HidServAuth"; + default = []; + type = with types; listOf (oneOf [ + (submodule { + options = { + onion = mkOption { + type = strMatching "[a-z2-7]{16}(\\.onion)?"; + description = "Onion address."; + example = "xxxxxxxxxxxxxxxx.onion"; + }; + auth = mkOption { + type = strMatching "[A-Za-z0-9+/]{22}"; + description = "Authentication cookie."; + }; + }; + }) + ]); + }; + options.HiddenServiceNonAnonymousMode = optionBool "HiddenServiceNonAnonymousMode"; + options.HiddenServiceStatistics = optionBool "HiddenServiceStatistics"; + options.HSLayer2Nodes = optionStrings "HSLayer2Nodes"; + options.HSLayer3Nodes = optionStrings "HSLayer3Nodes"; + options.HTTPTunnelPort = optionIsolablePorts "HTTPTunnelPort"; + options.IPv6Exit = optionBool "IPv6Exit"; + options.KeyDirectory = optionPath "KeyDirectory"; + options.KeyDirectoryGroupReadable = optionBool "KeyDirectoryGroupReadable"; + options.LogMessageDomains = optionBool "LogMessageDomains"; + options.LongLivedPorts = optionPorts "LongLivedPorts"; + options.MainloopStats = optionBool "MainloopStats"; + options.MaxAdvertisedBandwidth = optionBandwith "MaxAdvertisedBandwidth"; + options.MaxCircuitDirtiness = optionInt "MaxCircuitDirtiness"; + options.MaxClientCircuitsPending = optionInt "MaxClientCircuitsPending"; + options.NATDPort = optionIsolablePorts "NATDPort"; + options.NewCircuitPeriod = optionInt "NewCircuitPeriod"; + options.Nickname = optionString "Nickname"; + options.ORPort = optionORPort "ORPort"; + options.OfflineMasterKey = optionBool "OfflineMasterKey"; + options.OptimisticData = optionBool "OptimisticData"; # default is null and like "auto" + options.PaddingStatistics = optionBool "PaddingStatistics"; + options.PerConnBWBurst = optionBandwith "PerConnBWBurst"; + options.PerConnBWRate = optionBandwith "PerConnBWRate"; + options.PidFile = optionPath "PidFile"; + options.ProtocolWarnings = optionBool "ProtocolWarnings"; + options.PublishHidServDescriptors = optionBool "PublishHidServDescriptors"; + options.PublishServerDescriptor = mkOption { + description = descriptionGeneric "PublishServerDescriptor"; + type = with types; nullOr (enum [false true 0 1 "0" "1" "v3" "bridge"]); + default = null; + }; + options.ReducedExitPolicy = optionBool "ReducedExitPolicy"; + options.RefuseUnknownExits = optionBool "RefuseUnknownExits"; # default is null and like "auto" + options.RejectPlaintextPorts = optionPorts "RejectPlaintextPorts"; + options.RelayBandwidthBurst = optionBandwith "RelayBandwidthBurst"; + options.RelayBandwidthRate = optionBandwith "RelayBandwidthRate"; + #options.RunAsDaemon + options.Sandbox = optionBool "Sandbox"; + options.ServerDNSAllowBrokenConfig = optionBool "ServerDNSAllowBrokenConfig"; + options.ServerDNSAllowNonRFC953Hostnames = optionBool "ServerDNSAllowNonRFC953Hostnames"; + options.ServerDNSDetectHijacking = optionBool "ServerDNSDetectHijacking"; + options.ServerDNSRandomizeCase = optionBool "ServerDNSRandomizeCase"; + options.ServerDNSResolvConfFile = optionPath "ServerDNSResolvConfFile"; + options.ServerDNSSearchDomains = optionBool "ServerDNSSearchDomains"; + options.ServerTransportPlugin = mkOption { + description = descriptionGeneric "ServerTransportPlugin"; + default = null; + type = with types; nullOr (submodule ({...}: { + options = { + transports = mkOption { + description = "List of pluggable transports."; + type = listOf str; + example = ["obfs2" "obfs3" "obfs4" "scramblesuit"]; + }; + exec = mkOption { + type = types.str; + description = "Command of pluggable transport."; + }; + }; + })); + }; + options.SocksPolicy = optionStrings "SocksPolicy" // { + example = ["accept *:*"]; + }; + options.SOCKSPort = mkOption { + description = descriptionGeneric "SOCKSPort"; + default = if cfg.settings.HiddenServiceNonAnonymousMode == true then [{port = 0;}] else []; + example = [{port = 9090;}]; + type = types.listOf (optionSOCKSPort true); + }; + options.TestingTorNetwork = optionBool "TestingTorNetwork"; + options.TransPort = optionIsolablePorts "TransPort"; + options.TransProxyType = mkOption { + description = descriptionGeneric "TransProxyType"; + type = with types; nullOr (enum ["default" "TPROXY" "ipfw" "pf-divert"]); + default = null; + }; + #options.TruncateLogFile + options.UnixSocksGroupWritable = optionBool "UnixSocksGroupWritable"; + options.UseDefaultFallbackDirs = optionBool "UseDefaultFallbackDirs"; + options.UseMicrodescriptors = optionBool "UseMicrodescriptors"; + options.V3AuthUseLegacyKey = optionBool "V3AuthUseLegacyKey"; + options.V3AuthoritativeDirectory = optionBool "V3AuthoritativeDirectory"; + options.VersioningAuthoritativeDirectory = optionBool "VersioningAuthoritativeDirectory"; + options.VirtualAddrNetworkIPv4 = optionString "VirtualAddrNetworkIPv4"; + options.VirtualAddrNetworkIPv6 = optionString "VirtualAddrNetworkIPv6"; + options.WarnPlaintextPorts = optionPorts "WarnPlaintextPorts"; + }; }; }; }; @@ -696,79 +822,217 @@ in config = mkIf cfg.enable { # Not sure if `cfg.relay.role == "private-bridge"` helps as tor # sends a lot of stats - warnings = optional (cfg.relay.enable && cfg.hiddenServices != {}) + warnings = optional (cfg.settings.BridgeRelay && + flatten (mapAttrsToList (n: o: o.map) cfg.relay.onionServices) != []) '' Running Tor hidden services on a public relay makes the presence of hidden services visible through simple statistical analysis of publicly available data. + See https://trac.torproject.org/projects/tor/ticket/8742 You can safely ignore this warning if you don't intend to actually hide your hidden services. In either case, you can always create a container/VM with a separate Tor daemon instance. - ''; + '' ++ + flatten (mapAttrsToList (n: o: + optional (o.settings.HiddenServiceVersion == 2) [ + (optional (o.settings.HiddenServiceExportCircuitID != null) '' + HiddenServiceExportCircuitID is used in the HiddenService: ${n} + but this option is only for v3 hidden services. + '') + ] ++ + optional (o.settings.HiddenServiceVersion != 2) [ + (optional (o.settings.HiddenServiceAuthorizeClient != null) '' + HiddenServiceAuthorizeClient is used in the HiddenService: ${n} + but this option is only for v2 hidden services. + '') + (optional (o.settings.RendPostPeriod != null) '' + RendPostPeriod is used in the HiddenService: ${n} + but this option is only for v2 hidden services. + '') + ] + ) cfg.relay.onionServices); users.groups.tor.gid = config.ids.gids.tor; users.users.tor = { description = "Tor Daemon User"; createHome = true; - home = torDirectory; + home = stateDir; group = "tor"; uid = config.ids.uids.tor; }; - # We have to do this instead of using RuntimeDirectory option in - # the service below because systemd has no way to set owners of - # RuntimeDirectory and putting this into the service below - # requires that service to relax it's sandbox since this needs - # writable /run - systemd.services.tor-init = - { description = "Tor Daemon Init"; - wantedBy = [ "tor.service" ]; - script = '' - install -m 0700 -o tor -g tor -d ${torDirectory} ${torDirectory}/onion - install -m 0750 -o tor -g tor -d ${torRunDirectory} - ''; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - }; - - systemd.services.tor = - { description = "Tor Daemon"; - path = [ pkgs.tor ]; - - wantedBy = [ "multi-user.target" ]; - after = [ "tor-init.service" "network.target" ]; - restartTriggers = [ torRcFile ]; - - serviceConfig = - { Type = "simple"; - # Translated from the upstream contrib/dist/tor.service.in - ExecStartPre = "${cfg.package}/bin/tor -f ${torRcFile} --verify-config"; - ExecStart = "${cfg.package}/bin/tor -f ${torRcFile}"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - KillSignal = "SIGINT"; - TimeoutSec = 30; - Restart = "on-failure"; - LimitNOFILE = 32768; - - # Hardening - # this seems to unshare /run despite what systemd.exec(5) says - PrivateTmp = mkIf (!cfg.controlSocket.enable) "yes"; - PrivateDevices = "yes"; - ProtectHome = "yes"; - ProtectSystem = "strict"; - InaccessiblePaths = "/home"; - ReadOnlyPaths = "/"; - ReadWritePaths = [ torDirectory torRunDirectory ]; - NoNewPrivileges = "yes"; - - # tor.service.in has this in, but this line it fails to spawn a namespace when using hidden services - #CapabilityBoundingSet = "CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE"; - }; + services.tor.settings = mkMerge [ + (mkIf cfg.enableGeoIP { + GeoIPFile = "${cfg.package.geoip}/share/tor/geoip"; + GeoIPv6File = "${cfg.package.geoip}/share/tor/geoip6"; + }) + (mkIf cfg.controlSocket.enable { + ControlPort = [ { unix = runDir + "/control"; GroupWritable=true; RelaxDirModeCheck=true; } ]; + }) + (mkIf cfg.relay.enable ( + optionalAttrs (cfg.relay.role != "exit") { + ExitPolicy = mkForce ["reject *:*"]; + } // + optionalAttrs (elem cfg.relay.role ["bridge" "private-bridge"]) { + BridgeRelay = true; + ExtORPort.port = mkDefault "auto"; + ServerTransportPlugin.transports = mkDefault ["obfs4"]; + ServerTransportPlugin.exec = mkDefault "${pkgs.obfs4}/bin/obfs4proxy managed"; + } // optionalAttrs (cfg.relay.role == "private-bridge") { + ExtraInfoStatistics = false; + PublishServerDescriptor = false; + } + )) + (mkIf (!cfg.relay.enable) { + # Avoid surprises when leaving ORPort/DirPort configurations in cfg.settings, + # because it would still enable Tor as a relay, + # which can trigger all sort of problems when not carefully done, + # like the blocklisting of the machine's IP addresses + # by some hosting providers... + DirPort = mkForce []; + ORPort = mkForce []; + PublishServerDescriptor = mkForce false; + }) + (mkIf cfg.client.enable ( + { SOCKSPort = [ cfg.client.socksListenAddress ]; + } // optionalAttrs cfg.client.transparentProxy.enable { + TransPort = [{ addr = "127.0.0.1"; port = 9040; }]; + } // optionalAttrs cfg.client.dns.enable { + DNSPort = [{ addr = "127.0.0.1"; port = 9053; }]; + AutomapHostsOnResolve = true; + AutomapHostsSuffixes = cfg.client.dns.automapHostsSuffixes; + } // optionalAttrs (flatten (mapAttrsToList (n: o: o.clientAuthorizations) cfg.client.onionServices) != []) { + ClientOnionAuthDir = runDir + "/ClientOnionAuthDir"; + } + )) + ]; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = + concatMap (o: optional (isInt o && o > 0 || o ? "port" && isInt o.port && o.port > 0) o.port) + (flatten [ + cfg.settings.ORPort + cfg.settings.DirPort + ]); + }; + + systemd.services.tor = { + description = "Tor Daemon"; + path = [ pkgs.tor ]; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + restartTriggers = [ torrc ]; + + serviceConfig = { + Type = "simple"; + User = "tor"; + Group = "tor"; + ExecStartPre = [ + "${cfg.package}/bin/tor -f ${torrc} --verify-config" + # DOC: Appendix G of https://spec.torproject.org/rend-spec-v3 + ("+" + pkgs.writeShellScript "ExecStartPre" (concatStringsSep "\n" (flatten (["set -eu"] ++ + mapAttrsToList (name: onion: + optional (onion.authorizedClients != []) '' + rm -rf ${escapeShellArg onion.path}/authorized_clients + install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} ${escapeShellArg onion.path}/authorized_clients + '' ++ + imap0 (i: pubKey: '' + echo ${pubKey} | + install -o tor -g tor -m 0400 /dev/stdin ${escapeShellArg onion.path}/authorized_clients/${toString i}.auth + '') onion.authorizedClients ++ + optional (onion.secretKey != null) '' + install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} + key="$(cut -f1 -d: ${escapeShellArg onion.secretKey})" + case "$key" in + ("== ed25519v"*"-secret") + install -o tor -g tor -m 0400 ${escapeShellArg onion.secretKey} ${escapeShellArg onion.path}/hs_ed25519_secret_key;; + (*) echo >&2 "NixOS does not (yet) support secret key type for onion: ${name}"; exit 1;; + esac + '' + ) cfg.relay.onionServices ++ + mapAttrsToList (name: onion: imap0 (i: prvKeyPath: + let hostname = removeSuffix ".onion" name; in '' + printf "%s:" ${escapeShellArg hostname} | cat - ${escapeShellArg prvKeyPath} | + install -o tor -g tor -m 0700 /dev/stdin \ + ${runDir}/ClientOnionAuthDir/${escapeShellArg hostname}.${toString i}.auth_private + '') onion.clientAuthorizations) + cfg.client.onionServices + )))) + ]; + ExecStart = "${cfg.package}/bin/tor -f ${torrc}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + KillSignal = "SIGINT"; + TimeoutSec = 30; + Restart = "on-failure"; + LimitNOFILE = 32768; + RuntimeDirectory = [ + # g+x allows access to the control socket + "tor" + "tor/root" + # g+x can't be removed in ExecStart=, but will be removed by Tor + "tor/ClientOnionAuthDir" + ]; + RuntimeDirectoryMode = "0710"; + StateDirectoryMode = "0700"; + StateDirectory = [ + "tor" + "tor/onion" + ] ++ + flatten (mapAttrsToList (name: onion: + optional (onion.secretKey == null) "tor/onion/${name}" + ) cfg.relay.onionServices); + # The following options are only to optimize: + # systemd-analyze security tor + RootDirectory = runDir + "/root"; + RootDirectoryStartOnly = true; + #InaccessiblePaths = [ "-+${runDir}/root" ]; + UMask = "0066"; + BindPaths = [ stateDir ]; + BindReadOnlyPaths = [ storeDir "/etc" ]; + AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; + CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; + # ProtectClock= adds DeviceAllow=char-rtc r + DeviceAllow = ""; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateNetwork = mkDefault false; + PrivateTmp = true; + # Tor cannot currently bind privileged port when PrivateUsers=true, + # see https://gitlab.torproject.org/legacy/trac/-/issues/20930 + PrivateUsers = !bindsPrivilegedPort; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + # See also the finer but experimental option settings.Sandbox + SystemCallFilter = [ + "@system-service" + # Groups in @system-service which do not contain a syscall listed by: + # perf stat -x, 2>perf.log -e 'syscalls:sys_enter_*' tor + # in tests, and seem likely not necessary for tor. + "~@aio" "~@chown" "~@keyring" "~@memlock" "~@resources" "~@setuid" "~@timer" + ]; + SystemCallArchitectures = "native"; + SystemCallErrorNumber = "EPERM"; }; + }; environment.systemPackages = [ cfg.package ]; }; + + meta.maintainers = with lib.maintainers; [ julm ]; } diff --git a/nixos/tests/tor.nix b/nixos/tests/tor.nix index ad07231557c..c061f59226c 100644 --- a/nixos/tests/tor.nix +++ b/nixos/tests/tor.nix @@ -17,7 +17,7 @@ rec { environment.systemPackages = with pkgs; [ netcat ]; services.tor.enable = true; services.tor.client.enable = true; - services.tor.controlPort = 9051; + services.tor.settings.ControlPort = 9051; }; testScript = '' diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 04bf598d132..e46fd4790a3 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, pkgconfig, libevent, openssl, zlib, torsocks , libseccomp, systemd, libcap, lzma, zstd, scrypt, nixosTests +, writeShellScript # for update.nix , writeScript @@ -12,7 +13,21 @@ , gnused , nix }: +let + tor-client-auth-gen = writeShellScript "tor-client-auth-gen" '' + PATH="${stdenv.lib.makeBinPath [coreutils gnugrep openssl]}" + pem="$(openssl genpkey -algorithm x25519)" + printf private_key=descriptor:x25519: + echo "$pem" | grep -v " PRIVATE KEY" | + base64 -d | tail --bytes=32 | base32 | tr -d = + + printf public_key=descriptor:x25519: + echo "$pem" | openssl pkey -in /dev/stdin -pubout | + grep -v " PUBLIC KEY" | + base64 -d | tail --bytes=32 | base32 | tr -d = + ''; +in stdenv.mkDerivation rec { pname = "tor"; version = "0.4.4.6"; @@ -52,6 +67,7 @@ stdenv.mkDerivation rec { mkdir -p $geoip/share/tor mv $out/share/tor/geoip{,6} $geoip/share/tor rm -rf $out/share/tor + ln -s ${tor-client-auth-gen} $out/bin/tor-client-auth-gen ''; passthru = { From 7a580a12196e63eb665de6eb4db8bb3b6da142f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 30 Dec 2020 06:58:57 +0100 Subject: [PATCH 146/162] cntr: 1.2.1 -> 1.4.1 --- pkgs/applications/virtualization/cntr/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/virtualization/cntr/default.nix b/pkgs/applications/virtualization/cntr/default.nix index e3ab1c6c2f8..ab9b63eb79b 100644 --- a/pkgs/applications/virtualization/cntr/default.nix +++ b/pkgs/applications/virtualization/cntr/default.nix @@ -2,23 +2,22 @@ rustPlatform.buildRustPackage rec { pname = "cntr"; - version = "1.2.1"; + version = "1.4.1"; src = fetchFromGitHub { owner = "Mic92"; repo = "cntr"; rev = version; - sha256 = "0dhfz7aj3cqi974ybf0axchih40rzrs9m8bxhwz1hgig57aisfc0"; + sha256 = "sha256-4ogyOKuz6702/sOQNvE+UP+cvQrPPU3VjL4b0FUfRNw="; }; - cargoSha256 = "088drkpkgq8psv5j6igxyhfvvbalzg6nd98r9z0nxkawck5i2clz"; + cargoSha256 = "sha256-lblvun2T1qpFiowld77Ti2MFPzhs5pOWWRbErORXYCM="; meta = with stdenv.lib; { description = "A container debugging tool based on FUSE"; homepage = "https://github.com/Mic92/cntr"; license = licenses.mit; - # aarch64 support will be fixed soon - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; maintainers = [ maintainers.mic92 ]; }; } From 027c952090e5fda9badeff944b6b81ca25168f6e Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 30 Dec 2020 10:46:35 +0100 Subject: [PATCH 147/162] Revert "libjpeg_turbo: apply cmake patch for darwin" cmake is now on 3.19.2 solving the bug that required this patch. This reverts commit 5524c43f2c0cc246de33d6eff378dcad843b2617. --- pkgs/top-level/all-packages.nix | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 29320170bcb..c92c54c21fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14509,18 +14509,7 @@ in libjpeg_original = callPackage ../development/libraries/libjpeg { }; # also known as libturbojpeg - libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo (lib.optionalAttrs stdenv.isDarwin { - # cmake 3.19.1 has a bug. So far only noticed with this package. - # https://github.com/NixOS/nixpkgs/issues/105854 - cmake = cmake.overrideAttrs(oldAttrs: { - patches = oldAttrs.patches ++ [ - (fetchpatch { - url = "https://gitlab.kitware.com/cmake/cmake/-/commit/fcabf4a47e0c441ff80fad8f34e388b16738bd33.patch"; - sha256 = "bVrjY8omtAEKe8G76hGtmO54LKJvhx3RTW6OF6Y7rsU="; - }) - ]; - }); - }); + libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; libjpeg = libjpeg_turbo; libjreen = callPackage ../development/libraries/libjreen { }; From 572a864d024b0c91ac39133f35364362b2376c07 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Wed, 30 Dec 2020 11:49:28 -0800 Subject: [PATCH 148/162] xfce.xfce4-namebar-plugin: fix build --- pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix index fcd40462f6d..5575bf585fc 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgconfig, fetchFromGitHub, python2, vala_0_46 +{ stdenv, pkgconfig, fetchFromGitHub, python3, vala_0_46 , gtk3, libwnck3, libxfce4util, xfce4-panel, wafHook, xfce }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0l70f6mzkscsj4wr43wp5c0l2qnf85vj24cv02bjrh3bzz6wkak8"; }; - nativeBuildInputs = [ pkgconfig vala_0_46 wafHook ]; + nativeBuildInputs = [ pkgconfig vala_0_46 wafHook python3 ]; buildInputs = [ gtk3 libwnck3 libxfce4util xfce4-panel ]; postPatch = '' From c2fca99f975c6656f7a7d1355ca098606380f2be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 31 Dec 2020 08:49:13 +0100 Subject: [PATCH 149/162] Revert "Merge branch 'master' into staging-next" This reverts commit f19b7b03a03b7f1d5beb44471eb9298de4b9e186, reversing changes made to 572a864d024b0c91ac39133f35364362b2376c07. Sorry. I pushed the wrong staging-next (the one that had my master merged in). This was not intended. --- nixos/doc/manual/man-nixos-rebuild.xml | 37 +- .../command-not-found/command-not-found.nix | 11 +- .../command-not-found/command-not-found.pl | 51 + .../programs/command-not-found/default.nix | 18 - .../command-not-found/rust/Cargo.lock | 131 -- .../command-not-found/rust/Cargo.toml | 10 - .../command-not-found/rust/src/main.rs | 52 - nixos/modules/services/databases/redis.nix | 6 +- .../modules/services/misc/home-assistant.nix | 28 - nixos/modules/services/misc/nix-daemon.nix | 7 +- nixos/modules/services/networking/privoxy.nix | 7 +- nixos/modules/services/security/tor.nix | 1398 +++++++---------- nixos/modules/services/system/nscd.nix | 41 +- .../services/web-servers/nginx/default.nix | 21 - .../activation/switch-to-configuration.pl | 11 +- nixos/modules/system/boot/stage-1.nix | 2 +- nixos/modules/tasks/filesystems.nix | 9 +- nixos/modules/virtualisation/amazon-image.nix | 2 +- nixos/tests/tor.nix | 2 +- .../0001-hardcode-json-file-path.patch | 35 - .../irc/weechat/scripts/wee-slack/default.nix | 8 +- .../wee-slack/hardcode-json-file-path.patch | 12 + pkgs/applications/video/iina/default.nix | 26 - .../python-modules/keystone/default.nix | 16 - .../python-modules/pyworld/default.nix | 31 - .../ruby-modules/with-packages/Gemfile | 13 + pkgs/os-specific/linux/sysdig/default.nix | 2 +- .../home-assistant/component-packages.nix | 2 +- .../home-assistant/parse-requirements.py | 6 - pkgs/servers/openafs/1.8/default.nix | 1 - pkgs/tools/audio/tts/default.nix | 13 - pkgs/tools/security/tor/default.nix | 16 - pkgs/tools/typesetting/tex/texlive/bin.nix | 6 +- .../tools/typesetting/tex/texlive/combine.nix | 2 +- .../tools/typesetting/tex/texlive/default.nix | 6 +- .../amazon-ec2-utils/default.nix | 42 - .../virtualization/ec2-utils/default.nix | 47 + pkgs/top-level/aliases.nix | 1 - pkgs/top-level/all-packages.nix | 4 +- pkgs/top-level/python-packages.nix | 6 - pkgs/top-level/ruby-packages.nix | 924 +++++------ 41 files changed, 1217 insertions(+), 1846 deletions(-) create mode 100644 nixos/modules/programs/command-not-found/command-not-found.pl delete mode 100644 nixos/modules/programs/command-not-found/default.nix delete mode 100644 nixos/modules/programs/command-not-found/rust/Cargo.lock delete mode 100644 nixos/modules/programs/command-not-found/rust/Cargo.toml delete mode 100644 nixos/modules/programs/command-not-found/rust/src/main.rs delete mode 100644 pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch create mode 100644 pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch delete mode 100644 pkgs/applications/video/iina/default.nix delete mode 100644 pkgs/development/python-modules/keystone/default.nix delete mode 100644 pkgs/development/python-modules/pyworld/default.nix delete mode 100644 pkgs/tools/virtualization/amazon-ec2-utils/default.nix create mode 100644 pkgs/tools/virtualization/ec2-utils/default.nix diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index 4510fdd4422..d0ff81c1dbb 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -112,18 +112,6 @@ path - - - - - - - - - - - - @@ -142,18 +130,6 @@ number - - - - - - - - - - - - @@ -591,19 +567,10 @@ In addition, nixos-rebuild accepts various Nix-related - flags: , / , + flags, including / , , , - , , and / - , , - , , - / , - / , - / and / + , , and / . See the Nix manual for details. - - The following Nix flags that are support by the upcoming nix 2.4 version: - , , , - , . See nix --help or nix build --help for details. diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index da09488d82c..656c255fcb1 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -9,9 +9,17 @@ with lib; let cfg = config.programs.command-not-found; - commandNotFound = pkgs.callPackage ./. { + commandNotFound = pkgs.substituteAll { + name = "command-not-found"; + dir = "bin"; + src = ./command-not-found.pl; + isExecutable = true; + inherit (pkgs) perl; inherit (cfg) dbPath; + perlFlags = concatStrings (map (path: "-I ${path}/${pkgs.perl.libPrefix} ") + [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]); }; + in { @@ -83,4 +91,5 @@ in environment.systemPackages = [ commandNotFound ]; }; + } diff --git a/nixos/modules/programs/command-not-found/command-not-found.pl b/nixos/modules/programs/command-not-found/command-not-found.pl new file mode 100644 index 00000000000..ab7aa204653 --- /dev/null +++ b/nixos/modules/programs/command-not-found/command-not-found.pl @@ -0,0 +1,51 @@ +#! @perl@/bin/perl -w @perlFlags@ + +use strict; +use DBI; +use DBD::SQLite; +use String::ShellQuote; +use Config; + +my $program = $ARGV[0]; + +my $dbPath = "@dbPath@"; + +my $dbh = DBI->connect("dbi:SQLite:dbname=$dbPath", "", "") + or die "cannot open database `$dbPath'"; +$dbh->{RaiseError} = 0; +$dbh->{PrintError} = 0; + +my $system = $ENV{"NIX_SYSTEM"} // $Config{myarchname}; + +my $res = $dbh->selectall_arrayref( + "select package from Programs where system = ? and name = ?", + { Slice => {} }, $system, $program); + +if (!defined $res || scalar @$res == 0) { + print STDERR "$program: command not found\n"; +} elsif (scalar @$res == 1) { + my $package = @$res[0]->{package}; + if ($ENV{"NIX_AUTO_INSTALL"} // "") { + print STDERR <{package}\n" foreach @$res; +} + +exit 127; diff --git a/nixos/modules/programs/command-not-found/default.nix b/nixos/modules/programs/command-not-found/default.nix deleted file mode 100644 index bbe949fa86a..00000000000 --- a/nixos/modules/programs/command-not-found/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, rustPlatform, pkgconfig, sqlite -, dbPath ? "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite" }: - -rustPlatform.buildRustPackage { - name = "command-not-found"; - src = ./rust; - - DB_PATH = dbPath; - NIX_SYSTEM = stdenv.system; - - postInstall = '' - strip $out/bin/command-not-found - ''; - - buildInputs = [ sqlite ]; - nativeBuildInputs = [ pkgconfig ]; - cargoSha256 = "13q61bb4b1q40g424pbssyp3ln79q1a33vmyz9s9wlqnac34cibd"; -} diff --git a/nixos/modules/programs/command-not-found/rust/Cargo.lock b/nixos/modules/programs/command-not-found/rust/Cargo.lock deleted file mode 100644 index ce3a9358c5c..00000000000 --- a/nixos/modules/programs/command-not-found/rust/Cargo.lock +++ /dev/null @@ -1,131 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "bitflags" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "command-not-found" -version = "0.1.0" -dependencies = [ - "rusqlite 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.70" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libsqlite3-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "linked-hash-map 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "memchr" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pkg-config" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rusqlite" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fallible-streaming-iterator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "libsqlite3-sys 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "smallvec" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "time" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "vcpkg" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[metadata] -"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" -"checksum fallible-streaming-iterator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" -"checksum libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" -"checksum libsqlite3-sys 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e704a02bcaecd4a08b93a23f6be59d0bd79cd161e0963e9499165a0a35df7bd" -"checksum linked-hash-map 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" -"checksum lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -"checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" -"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" -"checksum rusqlite 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)" = "45d0fd62e1df63d254714e6cb40d0a0e82e7a1623e7a27f679d851af092ae58b" -"checksum smallvec 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" -"checksum time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" -"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" -"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/nixos/modules/programs/command-not-found/rust/Cargo.toml b/nixos/modules/programs/command-not-found/rust/Cargo.toml deleted file mode 100644 index f965c7df76a..00000000000 --- a/nixos/modules/programs/command-not-found/rust/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "command-not-found" -version = "0.1.0" -edition = "2018" - -[dependencies] -rusqlite = "0.*.*" - -[profile.release] -lto = true diff --git a/nixos/modules/programs/command-not-found/rust/src/main.rs b/nixos/modules/programs/command-not-found/rust/src/main.rs deleted file mode 100644 index b0af2871cc2..00000000000 --- a/nixos/modules/programs/command-not-found/rust/src/main.rs +++ /dev/null @@ -1,52 +0,0 @@ -use rusqlite::{params, Connection, Result}; -use std::env; -use std::process::exit; - -const NIX_SYSTEM: &str = env!("NIX_SYSTEM"); -const DB_PATH: &str = env!("DB_PATH"); - -fn query_packages(system: &str, program: &str) -> Result> { - Ok(Connection::open(DB_PATH)? - .prepare("select package from Programs where system = ? and name = ?;")? - .query_map(params![system, program], |row| row.get("package"))? - .collect::>>()?) -} - -fn run_app() -> i32 { - let args: Vec<_> = env::args().collect(); - if args.len() < 2 { - eprintln!("USAGE: {} PROGRAMNAME", args[0]); - return 1; - } - let program = &args[1]; - let system = env::var("NIX_SYSTEM").unwrap_or_else(|_| NIX_SYSTEM.to_string()); - let packages = match query_packages(&system, program) { - Ok(packages) => packages, - Err(err) => { - eprintln!("Failed to query package database: {}", err); - return 1; - } - }; - if packages.is_empty() { - eprintln!("{}: command not found", program); - } else { - let advice = if packages.len() > 1 { - "It is provided by several packages. You can install it by typing on of the of following commands:" - } else { - "You can install it by typing:" - }; - eprintln!( - "The program '{}' is currently not installed. {}", - program, advice - ); - for pkg in packages { - eprintln!(" nix-env -iA nixos.{}", pkg); - } - } - - 127 -} - -fn main() { - exit(run_app()); -} diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index 9988f382a1b..6b8853ae390 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -12,7 +12,7 @@ let ${condOption "bind" cfg.bind} ${condOption "unixsocket" cfg.unixSocket} daemonize no - #supervised systemd + supervised systemd loglevel ${cfg.logLevel} logfile ${cfg.logfile} syslog-enabled ${redisBool cfg.syslog} @@ -242,9 +242,7 @@ in ExecStart = "${cfg.package}/bin/redis-server /run/redis/redis.conf"; RuntimeDirectory = "redis"; StateDirectory = "redis"; - TimeoutStartSec = "infinity"; - TimeoutStopSec = "infinity"; - Type = "simple"; + Type = "notify"; User = "redis"; Group = "redis"; }; diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 16fff215e61..1f2e13f3732 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -62,17 +62,6 @@ let lovelace.mode = "yaml"; }; - #pythonScripts = pkgs.runCommand "python_scripts" { - # nativeBuildInputs = [ pkgs.python3 ]; - # scripts = cfg.pythonScripts; - #} '' - # mkdir $out - # for s in $scripts; do - # echo "checking syntax of $s" - # python -m py_compile "$s" - # ln -s "$s" "$out/$(basename $s" - # done - #''; in { meta.maintainers = with maintainers; [ dotlambda ]; @@ -225,17 +214,6 @@ in { ''; }; - pythonScripts = mkOption { - #default = []; - #type = types.listOf types.path; - default = null; - type = types.nullOr types.path; - description = '' - List of python scripts to use in the python_scripts integration. - Also see in the Homeassistant documentation - ''; - }; - openFirewall = mkOption { default = false; type = types.bool; @@ -246,12 +224,6 @@ in { config = mkIf cfg.enable { networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ]; - systemd.tmpfiles.rules = mkIf (cfg.pythonScripts != null) [ - "L+ ${cfg.configDir}/python_scripts - - - - ${cfg.pythonScripts}" - ]; - - services.home-assistant.config.python_script = mkIf (cfg.pythonScripts != null) {}; - systemd.services.home-assistant = { description = "Home Assistant"; after = [ "network.target" ]; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index b0763c8d0de..0eeff31d6c4 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -11,7 +11,6 @@ let nixVersion = getVersion nix; isNix23 = versionAtLeast nixVersion "2.3pre"; - isNix24 = versionAtLeast nixVersion "2.4pre"; makeNixBuildUser = nr: { name = "nixbld${toString nr}"; @@ -41,11 +40,7 @@ let max-jobs = ${toString (cfg.maxJobs)} cores = ${toString (cfg.buildCores)} sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox} - - ${optionalString (!isNix24) '' - extra-sandbox-paths = ${toString cfg.sandboxPaths} - ''} - + extra-sandbox-paths = ${toString cfg.sandboxPaths} substituters = ${toString cfg.binaryCaches} trusted-substituters = ${toString cfg.trustedBinaryCaches} trusted-public-keys = ${toString cfg.binaryCachePublicKeys} diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index 7caae328203..e3b34cb0c61 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -16,7 +16,7 @@ let ${concatMapStrings (f: "actionsfile ${f}\n") cfg.actionsFiles} ${concatMapStrings (f: "filterfile ${f}\n") cfg.filterFiles} '' + optionalString cfg.enableTor '' - forward-socks5t / 127.0.0.1:9063 . + forward-socks4a / ${config.services.tor.client.socksListenAddressFaster} . toggle 1 enable-remote-toggle 0 enable-edit-actions 0 @@ -123,11 +123,6 @@ in serviceConfig.ProtectSystem = "full"; }; - services.tor.settings.SOCKSPort = mkIf cfg.enableTor [ - # Route HTTP traffic over a faster port (without IsolateDestAddr). - { addr = "127.0.0.1"; port = 9063; IsolateDestAddr = false; } - ]; - }; meta.maintainers = with lib.maintainers; [ rnhmjoj ]; diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index ececb633983..1cceee065b1 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1,300 +1,297 @@ { config, lib, pkgs, ... }: -with builtins; with lib; let cfg = config.services.tor; - stateDir = "/var/lib/tor"; - runDir = "/run/tor"; - descriptionGeneric = option: '' - See torrc manual. - ''; - bindsPrivilegedPort = - any (p0: - let p1 = if p0 ? "port" then p0.port else p0; in - if p1 == "auto" then false - else let p2 = if isInt p1 then p1 else toInt p1; in - p1 != null && 0 < p2 && p2 < 1024) - (flatten [ - cfg.settings.ORPort - cfg.settings.DirPort - cfg.settings.DNSPort - cfg.settings.ExtORPort - cfg.settings.HTTPTunnelPort - cfg.settings.NATDPort - cfg.settings.SOCKSPort - cfg.settings.TransPort + torDirectory = "/var/lib/tor"; + torRunDirectory = "/run/tor"; + + opt = name: value: optionalString (value != null) "${name} ${value}"; + optint = name: value: optionalString (value != null && value != 0) "${name} ${toString value}"; + + isolationOptions = { + type = types.listOf (types.enum [ + "IsolateClientAddr" + "IsolateSOCKSAuth" + "IsolateClientProtocol" + "IsolateDestPort" + "IsolateDestAddr" ]); - optionBool = optionName: mkOption { - type = with types; nullOr bool; - default = null; - description = descriptionGeneric optionName; - }; - optionInt = optionName: mkOption { - type = with types; nullOr int; - default = null; - description = descriptionGeneric optionName; - }; - optionString = optionName: mkOption { - type = with types; nullOr str; - default = null; - description = descriptionGeneric optionName; - }; - optionStrings = optionName: mkOption { - type = with types; listOf str; default = []; - description = descriptionGeneric optionName; - }; - optionAddress = mkOption { - type = with types; nullOr str; - default = null; - example = "0.0.0.0"; - description = '' - IPv4 or IPv6 (if between brackets) address. - ''; - }; - optionUnix = mkOption { - type = with types; nullOr path; - default = null; - description = '' - Unix domain socket path to use. - ''; - }; - optionPort = mkOption { - type = with types; nullOr (oneOf [port (enum ["auto"])]); - default = null; - }; - optionPorts = optionName: mkOption { - type = with types; listOf port; - default = []; - description = descriptionGeneric optionName; - }; - optionIsolablePort = with types; oneOf [ - port (enum ["auto"]) - (submodule ({config, ...}: { - options = { - addr = optionAddress; - port = optionPort; - flags = optionFlags; - SessionGroup = mkOption { type = nullOr int; default = null; }; - } // genAttrs isolateFlags (name: mkOption { type = types.bool; default = false; }); - config = { - flags = filter (name: config.${name} == true) isolateFlags ++ - optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; - }; - })) - ]; - optionIsolablePorts = optionName: mkOption { - default = []; - type = with types; either optionIsolablePort (listOf optionIsolablePort); - description = descriptionGeneric optionName; - }; - isolateFlags = [ - "IsolateClientAddr" - "IsolateClientProtocol" - "IsolateDestAddr" - "IsolateDestPort" - "IsolateSOCKSAuth" - "KeepAliveIsolateSOCKSAuth" - ]; - optionSOCKSPort = doConfig: let - flags = [ - "CacheDNS" "CacheIPv4DNS" "CacheIPv6DNS" "GroupWritable" "IPv6Traffic" - "NoDNSRequest" "NoIPv4Traffic" "NoOnionTraffic" "OnionTrafficOnly" - "PreferIPv6" "PreferIPv6Automap" "PreferSOCKSNoAuth" "UseDNSCache" - "UseIPv4Cache" "UseIPv6Cache" "WorldWritable" - ] ++ isolateFlags; - in with types; oneOf [ - port (submodule ({config, ...}: { - options = { - unix = optionUnix; - addr = optionAddress; - port = optionPort; - flags = optionFlags; - SessionGroup = mkOption { type = nullOr int; default = null; }; - } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); - config = mkIf doConfig { # Only add flags in SOCKSPort to avoid duplicates - flags = filter (name: config.${name} == true) flags ++ - optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; - }; - })) + example = [ + "IsolateClientAddr" + "IsolateSOCKSAuth" + "IsolateClientProtocol" + "IsolateDestPort" + "IsolateDestAddr" ]; - optionFlags = mkOption { - type = with types; listOf str; - default = []; - }; - optionORPort = optionName: mkOption { - default = []; - example = 443; - type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [ - port - (enum ["auto"]) - (submodule ({config, ...}: - let flags = [ "IPv4Only" "IPv6Only" "NoAdvertise" "NoListen" ]; - in { - options = { - addr = optionAddress; - port = optionPort; - flags = optionFlags; - } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); - config = { - flags = filter (name: config.${name} == true) flags; - }; - })) - ]))]; - description = descriptionGeneric optionName; - }; - optionBandwith = optionName: mkOption { - type = with types; nullOr (either int str); - default = null; - description = descriptionGeneric optionName; - }; - optionPath = optionName: mkOption { - type = with types; nullOr path; - default = null; - description = descriptionGeneric optionName; + description = "Tor isolation options"; }; - mkValueString = k: v: - if v == null then "" - else if isBool v then - (if v then "1" else "0") - else if v ? "unix" && v.unix != null then - "unix:"+v.unix + - optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) - else if v ? "port" && v.port != null then - optionalString (v ? "addr" && v.addr != null) "${v.addr}:" + - toString v.port + - optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) - else if k == "ServerTransportPlugin" then - optionalString (v.transports != []) "${concatStringsSep "," v.transports} exec ${v.exec}" - else if k == "HidServAuth" then - concatMapStringsSep "\n${k} " (settings: settings.onion + " " settings.auth) v - else generators.mkValueStringDefault {} v; - genTorrc = settings: - generators.toKeyValue { - listsAsDuplicateKeys = true; - mkKeyValue = k: generators.mkKeyValueDefault { mkValueString = mkValueString k; } " " k; - } - (lib.mapAttrs (k: v: - # Not necesssary, but prettier rendering - if elem k [ "AutomapHostsSuffixes" "DirPolicy" "ExitPolicy" "SocksPolicy" ] - && v != [] - then concatStringsSep "," v - else v) - (lib.filterAttrs (k: v: !(v == null || v == "")) - settings)); - torrc = pkgs.writeText "torrc" ( - genTorrc cfg.settings + - concatStrings (mapAttrsToList (name: onion: - "HiddenServiceDir ${onion.path}\n" + - genTorrc onion.settings) cfg.relay.onionServices) - ); + + torRc = '' + User tor + DataDirectory ${torDirectory} + ${optionalString cfg.enableGeoIP '' + GeoIPFile ${cfg.package.geoip}/share/tor/geoip + GeoIPv6File ${cfg.package.geoip}/share/tor/geoip6 + ''} + + ${optint "ControlPort" cfg.controlPort} + ${optionalString cfg.controlSocket.enable "ControlPort unix:${torRunDirectory}/control GroupWritable RelaxDirModeCheck"} + '' + # Client connection config + + optionalString cfg.client.enable '' + SOCKSPort ${cfg.client.socksListenAddress} ${toString cfg.client.socksIsolationOptions} + SOCKSPort ${cfg.client.socksListenAddressFaster} + ${opt "SocksPolicy" cfg.client.socksPolicy} + + ${optionalString cfg.client.transparentProxy.enable '' + TransPort ${cfg.client.transparentProxy.listenAddress} ${toString cfg.client.transparentProxy.isolationOptions} + ''} + + ${optionalString cfg.client.dns.enable '' + DNSPort ${cfg.client.dns.listenAddress} ${toString cfg.client.dns.isolationOptions} + AutomapHostsOnResolve 1 + AutomapHostsSuffixes ${concatStringsSep "," cfg.client.dns.automapHostsSuffixes} + ''} + '' + # Explicitly disable the SOCKS server if the client is disabled. In + # particular, this makes non-anonymous hidden services possible. + + optionalString (! cfg.client.enable) '' + SOCKSPort 0 + '' + # Relay config + + optionalString cfg.relay.enable '' + ORPort ${toString cfg.relay.port} + ${opt "Address" cfg.relay.address} + ${opt "Nickname" cfg.relay.nickname} + ${opt "ContactInfo" cfg.relay.contactInfo} + + ${optint "RelayBandwidthRate" cfg.relay.bandwidthRate} + ${optint "RelayBandwidthBurst" cfg.relay.bandwidthBurst} + ${opt "AccountingMax" cfg.relay.accountingMax} + ${opt "AccountingStart" cfg.relay.accountingStart} + + ${if (cfg.relay.role == "exit") then + opt "ExitPolicy" cfg.relay.exitPolicy + else + "ExitPolicy reject *:*"} + + ${optionalString (elem cfg.relay.role ["bridge" "private-bridge"]) '' + BridgeRelay 1 + ServerTransportPlugin ${concatStringsSep "," cfg.relay.bridgeTransports} exec ${pkgs.obfs4}/bin/obfs4proxy managed + ExtORPort auto + ${optionalString (cfg.relay.role == "private-bridge") '' + ExtraInfoStatistics 0 + PublishServerDescriptor 0 + ''} + ''} + '' + # Hidden services + + concatStrings (flip mapAttrsToList cfg.hiddenServices (n: v: '' + HiddenServiceDir ${torDirectory}/onion/${v.name} + ${optionalString (v.version != null) "HiddenServiceVersion ${toString v.version}"} + ${flip concatMapStrings v.map (p: '' + HiddenServicePort ${toString p.port} ${p.destination} + '')} + ${optionalString (v.authorizeClient != null) '' + HiddenServiceAuthorizeClient ${v.authorizeClient.authType} ${concatStringsSep "," v.authorizeClient.clientNames} + ''} + '')) + + cfg.extraConfig; + + torRcFile = pkgs.writeText "torrc" torRc; + in { imports = [ - (mkRenamedOptionModule [ "services" "tor" "client" "dns" "automapHostsSuffixes" ] [ "services" "tor" "settings" "AutomapHostsSuffixes" ]) - (mkRemovedOptionModule [ "services" "tor" "client" "dns" "isolationOptions" ] "Use services.tor.settings.DNSPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "dns" "listenAddress" ] "Use services.tor.settings.DNSPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "privoxy" "enable" ] "Use services.privoxy.enable and services.privoxy.enableTor instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "socksIsolationOptions" ] "Use services.tor.settings.SOCKSPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "socksListenAddressFaster" ] "Use services.tor.settings.SOCKSPort instead.") - (mkRenamedOptionModule [ "services" "tor" "client" "socksPolicy" ] [ "services" "tor" "settings" "SocksPolicy" ]) - (mkRemovedOptionModule [ "services" "tor" "client" "transparentProxy" "isolationOptions" ] "Use services.tor.settings.TransPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "transparentProxy" "listenAddress" ] "Use services.tor.settings.TransPort instead.") - (mkRenamedOptionModule [ "services" "tor" "controlPort" ] [ "services" "tor" "settings" "ControlPort" ]) - (mkRemovedOptionModule [ "services" "tor" "extraConfig" ] "Plese use services.tor.settings instead.") - (mkRenamedOptionModule [ "services" "tor" "hiddenServices" ] [ "services" "tor" "relay" "onionServices" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "accountingMax" ] [ "services" "tor" "settings" "AccountingMax" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "accountingStart" ] [ "services" "tor" "settings" "AccountingStart" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "address" ] [ "services" "tor" "settings" "Address" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "bandwidthBurst" ] [ "services" "tor" "settings" "BandwidthBurst" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "bandwidthRate" ] [ "services" "tor" "settings" "BandwidthRate" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "bridgeTransports" ] [ "services" "tor" "settings" "ServerTransportPlugin" "transports" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "contactInfo" ] [ "services" "tor" "settings" "ContactInfo" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "exitPolicy" ] [ "services" "tor" "settings" "ExitPolicy" ]) + (mkRemovedOptionModule [ "services" "tor" "client" "privoxy" "enable" ] '' + Use services.privoxy.enable and services.privoxy.enableTor instead. + '') + (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ]) (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.") (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.") - (mkRenamedOptionModule [ "services" "tor" "relay" "nickname" ] [ "services" "tor" "settings" "Nickname" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "port" ] [ "services" "tor" "settings" "ORPort" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "settings" "ORPort" ]) ]; options = { services.tor = { - enable = mkEnableOption ''Tor daemon. - By default, the daemon is run without - relay, exit, bridge or client connectivity''; - - openFirewall = mkEnableOption "opening of the relay port(s) in the firewall"; + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the Tor daemon. By default, the daemon is run without + relay, exit, bridge or client connectivity. + ''; + }; package = mkOption { type = types.package; default = pkgs.tor; defaultText = "pkgs.tor"; example = literalExample "pkgs.tor"; - description = "Tor package to use."; + description = '' + Tor package to use + ''; }; - enableGeoIP = mkEnableOption ''use of GeoIP databases. - Disabling this will disable by-country statistics for bridges and relays - and some client and third-party software functionality'' // { default = true; }; + enableGeoIP = mkOption { + type = types.bool; + default = true; + description = '' + Whenever to configure Tor daemon to use GeoIP databases. - controlSocket.enable = mkEnableOption ''control socket, - created in ${runDir}/control''; + Disabling this will disable by-country statistics for + bridges and relays and some client and third-party software + functionality. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration. Contents will be added verbatim to the + configuration file at the end. + ''; + }; + + controlPort = mkOption { + type = types.nullOr (types.either types.int types.str); + default = null; + example = 9051; + description = '' + If set, Tor will accept connections on the specified port + and allow them to control the tor process. + ''; + }; + + controlSocket = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Tor control socket. Control socket is created + in ${torRunDirectory}/control + ''; + }; + }; client = { - enable = mkEnableOption ''the routing of application connections. - You might want to disable this if you plan running a dedicated Tor relay''; - - transparentProxy.enable = mkEnableOption "transparent proxy"; - dns.enable = mkEnableOption "DNS resolver"; - - socksListenAddress = mkOption { - type = optionSOCKSPort false; - default = {addr = "127.0.0.1"; port = 9050; IsolateDestAddr = true;}; - example = {addr = "192.168.0.1"; port = 9090; IsolateDestAddr = true;}; + enable = mkOption { + type = types.bool; + default = false; description = '' - Bind to this address to listen for connections from - Socks-speaking applications. + Whether to enable Tor daemon to route application + connections. You might want to disable this if you plan + running a dedicated Tor relay. ''; }; - onionServices = mkOption { - description = descriptionGeneric "HiddenServiceDir"; - default = {}; - example = { - "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" = { - clientAuthorizations = ["/run/keys/tor/alice.prv.x25519"]; - }; + socksListenAddress = mkOption { + type = types.str; + default = "127.0.0.1:9050"; + example = "192.168.0.1:9100"; + description = '' + Bind to this address to listen for connections from + Socks-speaking applications. Provides strong circuit + isolation, separate circuit per IP address. + ''; + }; + + socksListenAddressFaster = mkOption { + type = types.str; + default = "127.0.0.1:9063"; + example = "192.168.0.1:9101"; + description = '' + Bind to this address to listen for connections from + Socks-speaking applications. Same as + but uses weaker + circuit isolation to provide performance suitable for a + web browser. + ''; + }; + + socksPolicy = mkOption { + type = types.nullOr types.str; + default = null; + example = "accept 192.168.0.0/16, reject *"; + description = '' + Entry policies to allow/deny SOCKS requests based on IP + address. First entry that matches wins. If no SocksPolicy + is set, we accept all (and only) requests from + . + ''; + }; + + socksIsolationOptions = mkOption (isolationOptions // { + default = ["IsolateDestAddr"]; + }); + + transparentProxy = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable tor transparent proxy"; + }; + + listenAddress = mkOption { + type = types.str; + default = "127.0.0.1:9040"; + example = "192.168.0.1:9040"; + description = '' + Bind transparent proxy to this address. + ''; + }; + + isolationOptions = mkOption isolationOptions; + }; + + dns = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable tor dns resolver"; + }; + + listenAddress = mkOption { + type = types.str; + default = "127.0.0.1:9053"; + example = "192.168.0.1:9053"; + description = '' + Bind tor dns to this address. + ''; + }; + + isolationOptions = mkOption isolationOptions; + + automapHostsSuffixes = mkOption { + type = types.listOf types.str; + default = [".onion" ".exit"]; + example = [".onion"]; + description = "List of suffixes to use with automapHostsOnResolve"; }; - type = types.attrsOf (types.submodule ({name, config, ...}: { - options.clientAuthorizations = mkOption { - description = '' - Clients' authorizations for a v3 hidden service, - as a list of files containing each one private key, in the format: - descriptor:x25519:<base32-private-key> - '' + descriptionGeneric "_client_authorization"; - type = with types; listOf path; - default = []; - example = ["/run/keys/tor/alice.prv.x25519"]; - }; - })); }; }; relay = { - enable = mkEnableOption ''relaying of Tor traffic for others. + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable relaying TOR traffic for others. - See - for details. + See + for details. - Setting this to true requires setting - - and - - options''; + Setting this to true requires setting + + and + + options. + ''; + }; role = mkOption { type = types.enum [ "exit" "relay" "bridge" "private-bridge" ]; @@ -313,13 +310,13 @@ in Running an exit relay may expose you to abuse complaints. See - + for more info. You can specify which services Tor users may access via - your exit relay using option. + your exit relay using option. @@ -372,14 +369,15 @@ in WARNING: THE FOLLOWING PARAGRAPH IS NOT LEGAL ADVICE. - Consult with your lawyer when in doubt. + Consult with your lawer when in doubt. This role should be safe to use in most situations (unless the act of forwarding traffic for others is a punishable offence under your local laws, which - would be pretty insane as it would make ISP illegal). + would be pretty insane as it would make ISP + illegal). @@ -406,7 +404,7 @@ in Use this if you want to run a private bridge, for - example because you'll give out your bridge addr + example because you'll give out your bridge address manually to your friends. @@ -428,393 +426,269 @@ in ''; }; - onionServices = mkOption { - description = descriptionGeneric "HiddenServiceDir"; - default = {}; - example = { - "example.org/www" = { - map = [ 80 ]; - authorizedClients = [ - "descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - ]; - }; - }; - type = types.attrsOf (types.submodule ({name, config, ...}: { - options.path = mkOption { - type = types.path; - description = '' - Path where to store the data files of the hidden service. - If the is null - this defaults to ${stateDir}/onion/$onion, - otherwise to ${runDir}/onion/$onion. - ''; - }; - options.secretKey = mkOption { - type = with types; nullOr path; - default = null; - example = "/run/keys/tor/onion/expyuzz4wqqyqhjn/hs_ed25519_secret_key"; - description = '' - Secret key of the onion service. - If null, Tor reuses any preexisting secret key (in ) - or generates a new one. - The associated public key and hostname are deterministically regenerated - from this file if they do not exist. - ''; - }; - options.authorizeClient = mkOption { - description = descriptionGeneric "HiddenServiceAuthorizeClient"; - default = null; - type = types.nullOr (types.submodule ({...}: { - options = { - authType = mkOption { - type = types.enum [ "basic" "stealth" ]; - description = '' - Either "basic" for a general-purpose authorization protocol - or "stealth" for a less scalable protocol - that also hides service activity from unauthorized clients. - ''; - }; - clientNames = mkOption { - type = with types; nonEmptyListOf (strMatching "[A-Za-z0-9+-_]+"); - description = '' - Only clients that are listed here are authorized to access the hidden service. - Generated authorization data can be found in ${stateDir}/onion/$name/hostname. - Clients need to put this authorization data in their configuration file using - . - ''; - }; - }; - })); - }; - options.authorizedClients = mkOption { - description = '' - Authorized clients for a v3 hidden service, - as a list of public key, in the format: - descriptor:x25519:<base32-public-key> - '' + descriptionGeneric "_client_authorization"; - type = with types; listOf str; - default = []; - example = ["descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]; - }; - options.map = mkOption { - description = descriptionGeneric "HiddenServicePort"; - type = with types; listOf (oneOf [ - port (submodule ({...}: { - options = { - port = optionPort; - target = mkOption { - default = null; - type = nullOr (submodule ({...}: { - options = { - unix = optionUnix; - addr = optionAddress; - port = optionPort; - }; - })); - }; - }; - })) - ]); - apply = map (v: if isInt v then {port=v; target=null;} else v); - }; - options.version = mkOption { - description = descriptionGeneric "HiddenServiceVersion"; - type = with types; nullOr (enum [2 3]); - default = null; - }; - options.settings = mkOption { - description = '' - Settings of the onion service. - '' + descriptionGeneric "_hidden_service_options"; - default = {}; - type = types.submodule { - freeformType = with types; - (attrsOf (nullOr (oneOf [str int bool (listOf str)]))) // { - description = "settings option"; - }; - options.HiddenServiceAllowUnknownPorts = optionBool "HiddenServiceAllowUnknownPorts"; - options.HiddenServiceDirGroupReadable = optionBool "HiddenServiceDirGroupReadable"; - options.HiddenServiceExportCircuitID = mkOption { - description = descriptionGeneric "HiddenServiceExportCircuitID"; - type = with types; nullOr (enum ["haproxy"]); - default = null; - }; - options.HiddenServiceMaxStreams = mkOption { - description = descriptionGeneric "HiddenServiceMaxStreams"; - type = with types; nullOr (ints.between 0 65535); - default = null; - }; - options.HiddenServiceMaxStreamsCloseCircuit = optionBool "HiddenServiceMaxStreamsCloseCircuit"; - options.HiddenServiceNumIntroductionPoints = mkOption { - description = descriptionGeneric "HiddenServiceNumIntroductionPoints"; - type = with types; nullOr (ints.between 0 20); - default = null; - }; - options.HiddenServiceSingleHopMode = optionBool "HiddenServiceSingleHopMode"; - options.RendPostPeriod = optionString "RendPostPeriod"; - }; - }; - config = { - path = mkDefault ((if config.secretKey == null then stateDir else runDir) + "/onion/${name}"); - settings.HiddenServiceVersion = config.version; - settings.HiddenServiceAuthorizeClient = - if config.authorizeClient != null then - config.authorizeClient.authType + " " + - concatStringsSep "," config.authorizeClient.clientNames - else null; - settings.HiddenServicePort = map (p: mkValueString "" p.port + " " + mkValueString "" p.target) config.map; - }; - })); + bridgeTransports = mkOption { + type = types.listOf types.str; + default = ["obfs4"]; + example = ["obfs2" "obfs3" "obfs4" "scramblesuit"]; + description = "List of pluggable transports"; + }; + + nickname = mkOption { + type = types.str; + default = "anonymous"; + description = '' + A unique handle for your TOR relay. + ''; + }; + + contactInfo = mkOption { + type = types.nullOr types.str; + default = null; + example = "admin@relay.com"; + description = '' + Contact information for the relay owner (e.g. a mail + address and GPG key ID). + ''; + }; + + accountingMax = mkOption { + type = types.nullOr types.str; + default = null; + example = "450 GBytes"; + description = '' + Specify maximum bandwidth allowed during an accounting period. This + allows you to limit overall tor bandwidth over some time period. + See the AccountingMax option by looking at the + tor manual tor + 1 for more. + + Note this limit applies individually to upload and + download; if you specify "500 GBytes" + here, then you may transfer up to 1 TBytes of overall + bandwidth (500 GB upload, 500 GB download). + ''; + }; + + accountingStart = mkOption { + type = types.nullOr types.str; + default = null; + example = "month 1 1:00"; + description = '' + Specify length of an accounting period. This allows you to limit + overall tor bandwidth over some time period. See the + AccountingStart option by looking at the tor + manual tor + 1 for more. + ''; + }; + + bandwidthRate = mkOption { + type = types.nullOr types.int; + default = null; + example = 100; + description = '' + Specify this to limit the bandwidth usage of relayed (server) + traffic. Your own traffic is still unthrottled. Units: bytes/second. + ''; + }; + + bandwidthBurst = mkOption { + type = types.nullOr types.int; + default = cfg.relay.bandwidthRate; + example = 200; + description = '' + Specify this to allow bursts of the bandwidth usage of relayed (server) + traffic. The average usage will still be as specified in relayBandwidthRate. + Your own traffic is still unthrottled. Units: bytes/second. + ''; + }; + + address = mkOption { + type = types.nullOr types.str; + default = null; + example = "noname.example.com"; + description = '' + The IP address or full DNS name for advertised address of your relay. + Leave unset and Tor will guess. + ''; + }; + + port = mkOption { + type = types.either types.int types.str; + example = 143; + description = '' + What port to advertise for Tor connections. This corresponds to the + ORPort section in the Tor manual; see + tor + 1 for more details. + + At a minimum, you should just specify the port for the + relay to listen on; a common one like 143, 22, 80, or 443 + to help Tor users who may have very restrictive port-based + firewalls. + ''; + }; + + exitPolicy = mkOption { + type = types.nullOr types.str; + default = null; + example = "accept *:6660-6667,reject *:*"; + description = '' + A comma-separated list of exit policies. They're + considered first to last, and the first match wins. If you + want to _replace_ the default exit policy, end this with + either a reject *:* or an accept *:*. Otherwise, you're + _augmenting_ (prepending to) the default exit policy. + Leave commented to just use the default, which is + available in the man page or at + . + + Look at + + for issues you might encounter if you use the default + exit policy. + + If certain IPs and ports are blocked externally, e.g. by + your firewall, you should update your exit policy to + reflect this -- otherwise Tor users will be told that + those destinations are down. + ''; }; }; - settings = mkOption { + hiddenServices = mkOption { description = '' - See torrc manual - for documentation. + A set of static hidden services that terminate their Tor + circuits at this node. + + Every element in this set declares a virtual onion host. + + You can specify your onion address by putting corresponding + private key to an appropriate place in ${torDirectory}. + + For services without private keys in ${torDirectory} Tor + daemon will generate random key pairs (which implies random + onion addresses) on restart. The latter could take a while, + please be patient. + + + Hidden services can be useful even if you don't intend to + actually hide them, since they can + also be seen as a kind of NAT traversal mechanism. + + E.g. the example will make your sshd, whatever runs on + "8080" and your mail server available from anywhere where + the Tor network is available (which, with the help from + bridges, is pretty much everywhere), even if both client + and server machines are behind NAT you have no control + over. + ''; default = {}; - type = types.submodule { - freeformType = with types; - (attrsOf (nullOr (oneOf [str int bool (listOf str)]))) // { - description = "settings option"; - }; - options.Address = optionString "Address"; - options.AssumeReachable = optionBool "AssumeReachable"; - options.AccountingMax = optionBandwith "AccountingMax"; - options.AccountingStart = optionString "AccountingStart"; - options.AuthDirHasIPv6Connectivity = optionBool "AuthDirHasIPv6Connectivity"; - options.AuthDirListBadExits = optionBool "AuthDirListBadExits"; - options.AuthDirPinKeys = optionBool "AuthDirPinKeys"; - options.AuthDirSharedRandomness = optionBool "AuthDirSharedRandomness"; - options.AuthDirTestEd25519LinkKeys = optionBool "AuthDirTestEd25519LinkKeys"; - options.AuthoritativeDirectory = optionBool "AuthoritativeDirectory"; - options.AutomapHostsOnResolve = optionBool "AutomapHostsOnResolve"; - options.AutomapHostsSuffixes = optionStrings "AutomapHostsSuffixes" // { - default = [".onion" ".exit"]; - example = [".onion"]; + example = literalExample '' + { "my-hidden-service-example".map = [ + { port = 22; } # map ssh port to this machine's ssh + { port = 80; toPort = 8080; } # map http port to whatever runs on 8080 + { port = "sip"; toHost = "mail.example.com"; toPort = "imap"; } # because we can + ]; + } + ''; + type = types.attrsOf (types.submodule ({name, ...}: { + options = { + + name = mkOption { + type = types.str; + description = '' + Name of this tor hidden service. + + This is purely descriptive. + + After restarting Tor daemon you should be able to + find your .onion address in + ${torDirectory}/onion/$name/hostname. + ''; + }; + + map = mkOption { + default = []; + description = "Port mapping for this hidden service."; + type = types.listOf (types.submodule ({config, ...}: { + options = { + + port = mkOption { + type = types.either types.int types.str; + example = 80; + description = '' + Hidden service port to "bind to". + ''; + }; + + destination = mkOption { + internal = true; + type = types.str; + description = "Forward these connections where?"; + }; + + toHost = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Mapping destination host."; + }; + + toPort = mkOption { + type = types.either types.int types.str; + example = 8080; + description = "Mapping destination port."; + }; + + }; + + config = { + toPort = mkDefault config.port; + destination = mkDefault "${config.toHost}:${toString config.toPort}"; + }; + })); + }; + + authorizeClient = mkOption { + default = null; + description = "If configured, the hidden service is accessible for authorized clients only."; + type = types.nullOr (types.submodule ({...}: { + + options = { + + authType = mkOption { + type = types.enum [ "basic" "stealth" ]; + description = '' + Either "basic" for a general-purpose authorization protocol + or "stealth" for a less scalable protocol + that also hides service activity from unauthorized clients. + ''; + }; + + clientNames = mkOption { + type = types.nonEmptyListOf (types.strMatching "[A-Za-z0-9+-_]+"); + description = '' + Only clients that are listed here are authorized to access the hidden service. + Generated authorization data can be found in ${torDirectory}/onion/$name/hostname. + Clients need to put this authorization data in their configuration file using HidServAuth. + ''; + }; + }; + })); + }; + + version = mkOption { + default = null; + description = "Rendezvous service descriptor version to publish for the hidden service. Currently, versions 2 and 3 are supported. (Default: 2)"; + type = types.nullOr (types.enum [ 2 3 ]); + }; }; - options.BandwidthBurst = optionBandwith "BandwidthBurst"; - options.BandwidthRate = optionBandwith "BandwidthRate"; - options.BridgeAuthoritativeDir = optionBool "BridgeAuthoritativeDir"; - options.BridgeRecordUsageByCountry = optionBool "BridgeRecordUsageByCountry"; - options.BridgeRelay = optionBool "BridgeRelay" // { default = false; }; - options.CacheDirectory = optionPath "CacheDirectory"; - options.CacheDirectoryGroupReadable = optionBool "CacheDirectoryGroupReadable"; # default is null and like "auto" - options.CellStatistics = optionBool "CellStatistics"; - options.ClientAutoIPv6ORPort = optionBool "ClientAutoIPv6ORPort"; - options.ClientDNSRejectInternalAddresses = optionBool "ClientDNSRejectInternalAddresses"; - options.ClientOnionAuthDir = mkOption { - description = descriptionGeneric "ClientOnionAuthDir"; - default = null; - type = with types; nullOr path; + + config = { + name = mkDefault name; }; - options.ClientPreferIPv6DirPort = optionBool "ClientPreferIPv6DirPort"; # default is null and like "auto" - options.ClientPreferIPv6ORPort = optionBool "ClientPreferIPv6ORPort"; # default is null and like "auto" - options.ClientRejectInternalAddresses = optionBool "ClientRejectInternalAddresses"; - options.ClientUseIPv4 = optionBool "ClientUseIPv4"; - options.ClientUseIPv6 = optionBool "ClientUseIPv6"; - options.ConnDirectionStatistics = optionBool "ConnDirectionStatistics"; - options.ConstrainedSockets = optionBool "ConstrainedSockets"; - options.ContactInfo = optionString "ContactInfo"; - options.ControlPort = mkOption rec { - description = descriptionGeneric "ControlPort"; - default = []; - example = [{port = 9051;}]; - type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [ - port (enum ["auto"]) (submodule ({config, ...}: let - flags = ["GroupWritable" "RelaxDirModeCheck" "WorldWritable"]; - in { - options = { - unix = optionUnix; - flags = optionFlags; - addr = optionAddress; - port = optionPort; - } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); - config = { - flags = filter (name: config.${name} == true) flags; - }; - })) - ]))]; - }; - options.ControlPortFileGroupReadable= optionBool "ControlPortFileGroupReadable"; - options.ControlPortWriteToFile = optionPath "ControlPortWriteToFile"; - options.ControlSocket = optionPath "ControlSocket"; - options.ControlSocketsGroupWritable = optionBool "ControlSocketsGroupWritable"; - options.CookieAuthFile = optionPath "CookieAuthFile"; - options.CookieAuthFileGroupReadable = optionBool "CookieAuthFileGroupReadable"; - options.CookieAuthentication = optionBool "CookieAuthentication"; - options.DataDirectory = optionPath "DataDirectory" // { default = stateDir; }; - options.DataDirectoryGroupReadable = optionBool "DataDirectoryGroupReadable"; - options.DirPortFrontPage = optionPath "DirPortFrontPage"; - options.DirAllowPrivateAddresses = optionBool "DirAllowPrivateAddresses"; - options.DormantCanceledByStartup = optionBool "DormantCanceledByStartup"; - options.DormantOnFirstStartup = optionBool "DormantOnFirstStartup"; - options.DormantTimeoutDisabledByIdleStreams = optionBool "DormantTimeoutDisabledByIdleStreams"; - options.DirCache = optionBool "DirCache"; - options.DirPolicy = mkOption { - description = descriptionGeneric "DirPolicy"; - type = with types; listOf str; - default = []; - example = ["accept *:*"]; - }; - options.DirPort = optionORPort "DirPort"; - options.DirReqStatistics = optionBool "DirReqStatistics"; - options.DisableAllSwap = optionBool "DisableAllSwap"; - options.DisableDebuggerAttachment = optionBool "DisableDebuggerAttachment"; - options.DisableNetwork = optionBool "DisableNetwork"; - options.DisableOOSCheck = optionBool "DisableOOSCheck"; - options.DNSPort = optionIsolablePorts "DNSPort"; - options.DoSCircuitCreationEnabled = optionBool "DoSCircuitCreationEnabled"; - options.DoSConnectionEnabled = optionBool "DoSConnectionEnabled"; # default is null and like "auto" - options.DoSRefuseSingleHopClientRendezvous = optionBool "DoSRefuseSingleHopClientRendezvous"; - options.DownloadExtraInfo = optionBool "DownloadExtraInfo"; - options.EnforceDistinctSubnets = optionBool "EnforceDistinctSubnets"; - options.EntryStatistics = optionBool "EntryStatistics"; - options.ExitPolicy = optionStrings "ExitPolicy" // { - default = ["reject *:*"]; - example = ["accept *:*"]; - }; - options.ExitPolicyRejectLocalInterfaces = optionBool "ExitPolicyRejectLocalInterfaces"; - options.ExitPolicyRejectPrivate = optionBool "ExitPolicyRejectPrivate"; - options.ExitPortStatistics = optionBool "ExitPortStatistics"; - options.ExitRelay = optionBool "ExitRelay"; # default is null and like "auto" - options.ExtORPort = mkOption { - description = descriptionGeneric "ExtORPort"; - default = null; - type = with types; nullOr (oneOf [ - port (enum ["auto"]) (submodule ({...}: { - options = { - addr = optionAddress; - port = optionPort; - }; - })) - ]); - apply = p: if isInt p || isString p then { port = p; } else p; - }; - options.ExtORPortCookieAuthFile = optionPath "ExtORPortCookieAuthFile"; - options.ExtORPortCookieAuthFileGroupReadable = optionBool "ExtORPortCookieAuthFileGroupReadable"; - options.ExtendAllowPrivateAddresses = optionBool "ExtendAllowPrivateAddresses"; - options.ExtraInfoStatistics = optionBool "ExtraInfoStatistics"; - options.FascistFirewall = optionBool "FascistFirewall"; - options.FetchDirInfoEarly = optionBool "FetchDirInfoEarly"; - options.FetchDirInfoExtraEarly = optionBool "FetchDirInfoExtraEarly"; - options.FetchHidServDescriptors = optionBool "FetchHidServDescriptors"; - options.FetchServerDescriptors = optionBool "FetchServerDescriptors"; - options.FetchUselessDescriptors = optionBool "FetchUselessDescriptors"; - options.ReachableAddresses = optionStrings "ReachableAddresses"; - options.ReachableDirAddresses = optionStrings "ReachableDirAddresses"; - options.ReachableORAddresses = optionStrings "ReachableORAddresses"; - options.GeoIPFile = optionPath "GeoIPFile"; - options.GeoIPv6File = optionPath "GeoIPv6File"; - options.GuardfractionFile = optionPath "GuardfractionFile"; - options.HidServAuth = mkOption { - description = descriptionGeneric "HidServAuth"; - default = []; - type = with types; listOf (oneOf [ - (submodule { - options = { - onion = mkOption { - type = strMatching "[a-z2-7]{16}(\\.onion)?"; - description = "Onion address."; - example = "xxxxxxxxxxxxxxxx.onion"; - }; - auth = mkOption { - type = strMatching "[A-Za-z0-9+/]{22}"; - description = "Authentication cookie."; - }; - }; - }) - ]); - }; - options.HiddenServiceNonAnonymousMode = optionBool "HiddenServiceNonAnonymousMode"; - options.HiddenServiceStatistics = optionBool "HiddenServiceStatistics"; - options.HSLayer2Nodes = optionStrings "HSLayer2Nodes"; - options.HSLayer3Nodes = optionStrings "HSLayer3Nodes"; - options.HTTPTunnelPort = optionIsolablePorts "HTTPTunnelPort"; - options.IPv6Exit = optionBool "IPv6Exit"; - options.KeyDirectory = optionPath "KeyDirectory"; - options.KeyDirectoryGroupReadable = optionBool "KeyDirectoryGroupReadable"; - options.LogMessageDomains = optionBool "LogMessageDomains"; - options.LongLivedPorts = optionPorts "LongLivedPorts"; - options.MainloopStats = optionBool "MainloopStats"; - options.MaxAdvertisedBandwidth = optionBandwith "MaxAdvertisedBandwidth"; - options.MaxCircuitDirtiness = optionInt "MaxCircuitDirtiness"; - options.MaxClientCircuitsPending = optionInt "MaxClientCircuitsPending"; - options.NATDPort = optionIsolablePorts "NATDPort"; - options.NewCircuitPeriod = optionInt "NewCircuitPeriod"; - options.Nickname = optionString "Nickname"; - options.ORPort = optionORPort "ORPort"; - options.OfflineMasterKey = optionBool "OfflineMasterKey"; - options.OptimisticData = optionBool "OptimisticData"; # default is null and like "auto" - options.PaddingStatistics = optionBool "PaddingStatistics"; - options.PerConnBWBurst = optionBandwith "PerConnBWBurst"; - options.PerConnBWRate = optionBandwith "PerConnBWRate"; - options.PidFile = optionPath "PidFile"; - options.ProtocolWarnings = optionBool "ProtocolWarnings"; - options.PublishHidServDescriptors = optionBool "PublishHidServDescriptors"; - options.PublishServerDescriptor = mkOption { - description = descriptionGeneric "PublishServerDescriptor"; - type = with types; nullOr (enum [false true 0 1 "0" "1" "v3" "bridge"]); - default = null; - }; - options.ReducedExitPolicy = optionBool "ReducedExitPolicy"; - options.RefuseUnknownExits = optionBool "RefuseUnknownExits"; # default is null and like "auto" - options.RejectPlaintextPorts = optionPorts "RejectPlaintextPorts"; - options.RelayBandwidthBurst = optionBandwith "RelayBandwidthBurst"; - options.RelayBandwidthRate = optionBandwith "RelayBandwidthRate"; - #options.RunAsDaemon - options.Sandbox = optionBool "Sandbox"; - options.ServerDNSAllowBrokenConfig = optionBool "ServerDNSAllowBrokenConfig"; - options.ServerDNSAllowNonRFC953Hostnames = optionBool "ServerDNSAllowNonRFC953Hostnames"; - options.ServerDNSDetectHijacking = optionBool "ServerDNSDetectHijacking"; - options.ServerDNSRandomizeCase = optionBool "ServerDNSRandomizeCase"; - options.ServerDNSResolvConfFile = optionPath "ServerDNSResolvConfFile"; - options.ServerDNSSearchDomains = optionBool "ServerDNSSearchDomains"; - options.ServerTransportPlugin = mkOption { - description = descriptionGeneric "ServerTransportPlugin"; - default = null; - type = with types; nullOr (submodule ({...}: { - options = { - transports = mkOption { - description = "List of pluggable transports."; - type = listOf str; - example = ["obfs2" "obfs3" "obfs4" "scramblesuit"]; - }; - exec = mkOption { - type = types.str; - description = "Command of pluggable transport."; - }; - }; - })); - }; - options.SocksPolicy = optionStrings "SocksPolicy" // { - example = ["accept *:*"]; - }; - options.SOCKSPort = mkOption { - description = descriptionGeneric "SOCKSPort"; - default = if cfg.settings.HiddenServiceNonAnonymousMode == true then [{port = 0;}] else []; - example = [{port = 9090;}]; - type = types.listOf (optionSOCKSPort true); - }; - options.TestingTorNetwork = optionBool "TestingTorNetwork"; - options.TransPort = optionIsolablePorts "TransPort"; - options.TransProxyType = mkOption { - description = descriptionGeneric "TransProxyType"; - type = with types; nullOr (enum ["default" "TPROXY" "ipfw" "pf-divert"]); - default = null; - }; - #options.TruncateLogFile - options.UnixSocksGroupWritable = optionBool "UnixSocksGroupWritable"; - options.UseDefaultFallbackDirs = optionBool "UseDefaultFallbackDirs"; - options.UseMicrodescriptors = optionBool "UseMicrodescriptors"; - options.V3AuthUseLegacyKey = optionBool "V3AuthUseLegacyKey"; - options.V3AuthoritativeDirectory = optionBool "V3AuthoritativeDirectory"; - options.VersioningAuthoritativeDirectory = optionBool "VersioningAuthoritativeDirectory"; - options.VirtualAddrNetworkIPv4 = optionString "VirtualAddrNetworkIPv4"; - options.VirtualAddrNetworkIPv6 = optionString "VirtualAddrNetworkIPv6"; - options.WarnPlaintextPorts = optionPorts "WarnPlaintextPorts"; - }; + })); }; }; }; @@ -822,217 +696,79 @@ in config = mkIf cfg.enable { # Not sure if `cfg.relay.role == "private-bridge"` helps as tor # sends a lot of stats - warnings = optional (cfg.settings.BridgeRelay && - flatten (mapAttrsToList (n: o: o.map) cfg.relay.onionServices) != []) + warnings = optional (cfg.relay.enable && cfg.hiddenServices != {}) '' Running Tor hidden services on a public relay makes the presence of hidden services visible through simple statistical analysis of publicly available data. - See https://trac.torproject.org/projects/tor/ticket/8742 You can safely ignore this warning if you don't intend to actually hide your hidden services. In either case, you can always create a container/VM with a separate Tor daemon instance. - '' ++ - flatten (mapAttrsToList (n: o: - optional (o.settings.HiddenServiceVersion == 2) [ - (optional (o.settings.HiddenServiceExportCircuitID != null) '' - HiddenServiceExportCircuitID is used in the HiddenService: ${n} - but this option is only for v3 hidden services. - '') - ] ++ - optional (o.settings.HiddenServiceVersion != 2) [ - (optional (o.settings.HiddenServiceAuthorizeClient != null) '' - HiddenServiceAuthorizeClient is used in the HiddenService: ${n} - but this option is only for v2 hidden services. - '') - (optional (o.settings.RendPostPeriod != null) '' - RendPostPeriod is used in the HiddenService: ${n} - but this option is only for v2 hidden services. - '') - ] - ) cfg.relay.onionServices); + ''; users.groups.tor.gid = config.ids.gids.tor; users.users.tor = { description = "Tor Daemon User"; createHome = true; - home = stateDir; + home = torDirectory; group = "tor"; uid = config.ids.uids.tor; }; - services.tor.settings = mkMerge [ - (mkIf cfg.enableGeoIP { - GeoIPFile = "${cfg.package.geoip}/share/tor/geoip"; - GeoIPv6File = "${cfg.package.geoip}/share/tor/geoip6"; - }) - (mkIf cfg.controlSocket.enable { - ControlPort = [ { unix = runDir + "/control"; GroupWritable=true; RelaxDirModeCheck=true; } ]; - }) - (mkIf cfg.relay.enable ( - optionalAttrs (cfg.relay.role != "exit") { - ExitPolicy = mkForce ["reject *:*"]; - } // - optionalAttrs (elem cfg.relay.role ["bridge" "private-bridge"]) { - BridgeRelay = true; - ExtORPort.port = mkDefault "auto"; - ServerTransportPlugin.transports = mkDefault ["obfs4"]; - ServerTransportPlugin.exec = mkDefault "${pkgs.obfs4}/bin/obfs4proxy managed"; - } // optionalAttrs (cfg.relay.role == "private-bridge") { - ExtraInfoStatistics = false; - PublishServerDescriptor = false; - } - )) - (mkIf (!cfg.relay.enable) { - # Avoid surprises when leaving ORPort/DirPort configurations in cfg.settings, - # because it would still enable Tor as a relay, - # which can trigger all sort of problems when not carefully done, - # like the blocklisting of the machine's IP addresses - # by some hosting providers... - DirPort = mkForce []; - ORPort = mkForce []; - PublishServerDescriptor = mkForce false; - }) - (mkIf cfg.client.enable ( - { SOCKSPort = [ cfg.client.socksListenAddress ]; - } // optionalAttrs cfg.client.transparentProxy.enable { - TransPort = [{ addr = "127.0.0.1"; port = 9040; }]; - } // optionalAttrs cfg.client.dns.enable { - DNSPort = [{ addr = "127.0.0.1"; port = 9053; }]; - AutomapHostsOnResolve = true; - AutomapHostsSuffixes = cfg.client.dns.automapHostsSuffixes; - } // optionalAttrs (flatten (mapAttrsToList (n: o: o.clientAuthorizations) cfg.client.onionServices) != []) { - ClientOnionAuthDir = runDir + "/ClientOnionAuthDir"; - } - )) - ]; - - networking.firewall = mkIf cfg.openFirewall { - allowedTCPPorts = - concatMap (o: optional (isInt o && o > 0 || o ? "port" && isInt o.port && o.port > 0) o.port) - (flatten [ - cfg.settings.ORPort - cfg.settings.DirPort - ]); - }; - - systemd.services.tor = { - description = "Tor Daemon"; - path = [ pkgs.tor ]; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - restartTriggers = [ torrc ]; - - serviceConfig = { - Type = "simple"; - User = "tor"; - Group = "tor"; - ExecStartPre = [ - "${cfg.package}/bin/tor -f ${torrc} --verify-config" - # DOC: Appendix G of https://spec.torproject.org/rend-spec-v3 - ("+" + pkgs.writeShellScript "ExecStartPre" (concatStringsSep "\n" (flatten (["set -eu"] ++ - mapAttrsToList (name: onion: - optional (onion.authorizedClients != []) '' - rm -rf ${escapeShellArg onion.path}/authorized_clients - install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} ${escapeShellArg onion.path}/authorized_clients - '' ++ - imap0 (i: pubKey: '' - echo ${pubKey} | - install -o tor -g tor -m 0400 /dev/stdin ${escapeShellArg onion.path}/authorized_clients/${toString i}.auth - '') onion.authorizedClients ++ - optional (onion.secretKey != null) '' - install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} - key="$(cut -f1 -d: ${escapeShellArg onion.secretKey})" - case "$key" in - ("== ed25519v"*"-secret") - install -o tor -g tor -m 0400 ${escapeShellArg onion.secretKey} ${escapeShellArg onion.path}/hs_ed25519_secret_key;; - (*) echo >&2 "NixOS does not (yet) support secret key type for onion: ${name}"; exit 1;; - esac - '' - ) cfg.relay.onionServices ++ - mapAttrsToList (name: onion: imap0 (i: prvKeyPath: - let hostname = removeSuffix ".onion" name; in '' - printf "%s:" ${escapeShellArg hostname} | cat - ${escapeShellArg prvKeyPath} | - install -o tor -g tor -m 0700 /dev/stdin \ - ${runDir}/ClientOnionAuthDir/${escapeShellArg hostname}.${toString i}.auth_private - '') onion.clientAuthorizations) - cfg.client.onionServices - )))) - ]; - ExecStart = "${cfg.package}/bin/tor -f ${torrc}"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - KillSignal = "SIGINT"; - TimeoutSec = 30; - Restart = "on-failure"; - LimitNOFILE = 32768; - RuntimeDirectory = [ - # g+x allows access to the control socket - "tor" - "tor/root" - # g+x can't be removed in ExecStart=, but will be removed by Tor - "tor/ClientOnionAuthDir" - ]; - RuntimeDirectoryMode = "0710"; - StateDirectoryMode = "0700"; - StateDirectory = [ - "tor" - "tor/onion" - ] ++ - flatten (mapAttrsToList (name: onion: - optional (onion.secretKey == null) "tor/onion/${name}" - ) cfg.relay.onionServices); - # The following options are only to optimize: - # systemd-analyze security tor - RootDirectory = runDir + "/root"; - RootDirectoryStartOnly = true; - #InaccessiblePaths = [ "-+${runDir}/root" ]; - UMask = "0066"; - BindPaths = [ stateDir ]; - BindReadOnlyPaths = [ storeDir "/etc" ]; - AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; - CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; - # ProtectClock= adds DeviceAllow=char-rtc r - DeviceAllow = ""; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateMounts = true; - PrivateNetwork = mkDefault false; - PrivateTmp = true; - # Tor cannot currently bind privileged port when PrivateUsers=true, - # see https://gitlab.torproject.org/legacy/trac/-/issues/20930 - PrivateUsers = !bindsPrivilegedPort; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - # See also the finer but experimental option settings.Sandbox - SystemCallFilter = [ - "@system-service" - # Groups in @system-service which do not contain a syscall listed by: - # perf stat -x, 2>perf.log -e 'syscalls:sys_enter_*' tor - # in tests, and seem likely not necessary for tor. - "~@aio" "~@chown" "~@keyring" "~@memlock" "~@resources" "~@setuid" "~@timer" - ]; - SystemCallArchitectures = "native"; - SystemCallErrorNumber = "EPERM"; + # We have to do this instead of using RuntimeDirectory option in + # the service below because systemd has no way to set owners of + # RuntimeDirectory and putting this into the service below + # requires that service to relax it's sandbox since this needs + # writable /run + systemd.services.tor-init = + { description = "Tor Daemon Init"; + wantedBy = [ "tor.service" ]; + script = '' + install -m 0700 -o tor -g tor -d ${torDirectory} ${torDirectory}/onion + install -m 0750 -o tor -g tor -d ${torRunDirectory} + ''; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + + systemd.services.tor = + { description = "Tor Daemon"; + path = [ pkgs.tor ]; + + wantedBy = [ "multi-user.target" ]; + after = [ "tor-init.service" "network.target" ]; + restartTriggers = [ torRcFile ]; + + serviceConfig = + { Type = "simple"; + # Translated from the upstream contrib/dist/tor.service.in + ExecStartPre = "${cfg.package}/bin/tor -f ${torRcFile} --verify-config"; + ExecStart = "${cfg.package}/bin/tor -f ${torRcFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + KillSignal = "SIGINT"; + TimeoutSec = 30; + Restart = "on-failure"; + LimitNOFILE = 32768; + + # Hardening + # this seems to unshare /run despite what systemd.exec(5) says + PrivateTmp = mkIf (!cfg.controlSocket.enable) "yes"; + PrivateDevices = "yes"; + ProtectHome = "yes"; + ProtectSystem = "strict"; + InaccessiblePaths = "/home"; + ReadOnlyPaths = "/"; + ReadWritePaths = [ torDirectory torRunDirectory ]; + NoNewPrivileges = "yes"; + + # tor.service.in has this in, but this line it fails to spawn a namespace when using hidden services + #CapabilityBoundingSet = "CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE"; + }; }; - }; environment.systemPackages = [ cfg.package ]; }; - - meta.maintainers = with lib.maintainers; [ julm ]; } diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index 43b05c5b14d..d720f254b81 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -50,19 +50,9 @@ in systemd.services.nscd = { description = "Name Service Cache Daemon"; - environment = { LD_LIBRARY_PATH = nssModulesPath; }; + wantedBy = [ "nss-lookup.target" "nss-user-lookup.target" ]; - # We need system users to be resolveable in late-boot. nscd is the proxy between - # nss-modules in NixOS and thus if you have nss-modules providing system users - # (e.g. when using DynamicUser) then nscd needs to be available before late-boot is ready - # We add a dependency of sysinit.target to nscd to ensure - # these units are started after nscd is fully started. - unitConfig.DefaultDependencies = false; - wantedBy = [ "sysinit.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - wants = [ "local-fs.target" ]; - after = [ "local-fs.target" ]; + environment = { LD_LIBRARY_PATH = nssModulesPath; }; restartTriggers = [ config.environment.etc.hosts.source @@ -76,19 +66,20 @@ in # privileges after all the NSS modules have read their configuration # files. So prefix the ExecStart command with "!" to prevent systemd # from dropping privileges early. See ExecStart in systemd.service(5). - serviceConfig = { - ExecStart = "!@${nscd}/sbin/nscd nscd"; - Type = "forking"; - DynamicUser = true; - RuntimeDirectory = "nscd"; - PIDFile = "/run/nscd/nscd.pid"; - Restart = "always"; - ExecReload = [ - "${nscd}/sbin/nscd --invalidate passwd" - "${nscd}/sbin/nscd --invalidate group" - "${nscd}/sbin/nscd --invalidate hosts" - ]; - }; + serviceConfig = + { ExecStart = "!@${nscd}/sbin/nscd nscd"; + Type = "forking"; + DynamicUser = true; + RuntimeDirectory = "nscd"; + PIDFile = "/run/nscd/nscd.pid"; + Restart = "always"; + ExecReload = + [ "${nscd}/sbin/nscd --invalidate passwd" + "${nscd}/sbin/nscd --invalidate group" + "${nscd}/sbin/nscd --invalidate hosts" + ]; + }; }; + }; } diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 2bde2a68a6b..62671e9d748 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -179,12 +179,6 @@ let ${cfg.httpConfig} }''} - ${optionalString (cfg.streamConfig != "") '' - stream { - ${cfg.streamConfig} - } - ''} - ${cfg.appendConfig} ''; @@ -458,21 +452,6 @@ in "; }; - streamConfig = mkOption { - type = types.lines; - default = ""; - example = '' - server { - listen 127.0.0.1:53 udp reuseport; - proxy_timeout 20s; - proxy_pass 192.168.0.1:53535; - } - ''; - description = " - Configuration lines to be set inside the stream block. - "; - }; - eventsConfig = mkOption { type = types.lines; default = ""; diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index c774be2ec54..b82d69b3bb8 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -346,11 +346,10 @@ sub filterUnits { return @res; } -my $startNscd = delete $unitsToStart{"nscd.service"}; - my @unitsToStopFiltered = filterUnits(\%unitsToStop); my @unitsToStartFiltered = filterUnits(\%unitsToStart); + # Show dry-run actions. if ($action eq "dry-activate") { print STDERR "would stop the following units: ", join(", ", @unitsToStopFiltered), "\n" @@ -360,7 +359,6 @@ if ($action eq "dry-activate") { print STDERR "would restart systemd\n" if $restartSystemd; print STDERR "would restart the following units: ", join(", ", sort(keys %unitsToRestart)), "\n" if scalar(keys %unitsToRestart) > 0; - print STDERR "would start nscd\n" if $startNscd; print STDERR "would start the following units: ", join(", ", @unitsToStartFiltered), "\n" if scalar @unitsToStartFiltered; print STDERR "would reload the following units: ", join(", ", sort(keys %unitsToReload)), "\n" @@ -420,13 +418,6 @@ close $listActiveUsers; print STDERR "setting up tmpfiles\n"; system("@systemd@/bin/systemd-tmpfiles", "--create", "--remove", "--exclude-prefix=/dev") == 0 or $res = 3; -# We need to start nscd before any other service, since they might need -# to resolve users/groups only exposed by nss modules (i.e. DynamicUser via nss_systemd) -if ($startNscd) { - print STDERR "starting nscd\n"; - system("@systemd@/bin/systemctl", "start", "nscd.service") == 0 or $res = 4; -} - # Reload units that need it. This includes remounting changed mount # units. if (scalar(keys %unitsToReload) > 0) { diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index e133a357bb7..86bfde6349c 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -366,7 +366,7 @@ let } trap cleanup EXIT - tmp=$(mktemp -d ''${TMPDIR:-/tmp}/initrd-secrets.XXXXXXXXXX) + tmp=$(mktemp -d initrd-secrets.XXXXXXXXXX) ${lib.concatStringsSep "\n" (mapAttrsToList (dest: source: let source' = if source == null then dest else toString source; in diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 5388fc738e3..a055072f9c9 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -7,9 +7,8 @@ let addCheckDesc = desc: elemType: check: types.addCheck elemType check // { description = "${elemType.description} (with check: ${desc})"; }; - - isNonEmpty = s: (builtins.match ".*[^ \t]+.*" s) != null; - nonEmptyStr = addCheckDesc "non-empty" types.str isNonEmpty; + nonEmptyStr = addCheckDesc "non-empty" types.str + (x: x != "" && ! (all (c: c == " " || c == "\t") (stringToCharacters x))); fileSystems' = toposort fsBefore (attrValues config.fileSystems); @@ -29,10 +28,10 @@ let coreFileSystemOpts = { name, config, ... }: { options = { + mountPoint = mkOption { example = "/mnt/usb"; - type = addCheckDesc "non-empty without trailing slash" types.str - (s: isNonEmpty s && (builtins.match "(/|/.*[^/])" s) != null); + type = nonEmptyStr; description = "Location of the mounted the file system."; }; diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 4f83d72901c..26297a7d0f1 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -137,7 +137,7 @@ in services.openssh.permitRootLogin = "prohibit-password"; # Creates symlinks for block device names. - services.udev.packages = [ pkgs.amazon-ec2-utils ]; + services.udev.packages = [ pkgs.ec2-utils ]; # Force getting the hostname from EC2. networking.hostName = mkDefault ""; diff --git a/nixos/tests/tor.nix b/nixos/tests/tor.nix index c061f59226c..ad07231557c 100644 --- a/nixos/tests/tor.nix +++ b/nixos/tests/tor.nix @@ -17,7 +17,7 @@ rec { environment.systemPackages = with pkgs; [ netcat ]; services.tor.enable = true; services.tor.client.enable = true; - services.tor.settings.ControlPort = 9051; + services.tor.controlPort = 9051; }; testScript = '' diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch deleted file mode 100644 index 45e620db258..00000000000 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5dd2593369645b11a9dc03e1930617d2f5dbd039 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= -Date: Wed, 11 Nov 2020 11:48:49 +0100 -Subject: [PATCH] hardcode json file path -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Jörg Thalheim ---- - wee_slack.py | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/wee_slack.py b/wee_slack.py -index a3d779c..5942289 100644 ---- a/wee_slack.py -+++ b/wee_slack.py -@@ -5136,13 +5136,7 @@ def create_slack_debug_buffer(): - - def load_emoji(): - try: -- weechat_dir = w.info_get('weechat_dir', '') -- weechat_sharedir = w.info_get('weechat_sharedir', '') -- local_weemoji, global_weemoji = ('{}/weemoji.json'.format(path) -- for path in (weechat_dir, weechat_sharedir)) -- path = (global_weemoji if os.path.exists(global_weemoji) and -- not os.path.exists(local_weemoji) else local_weemoji) -- with open(path, 'r') as ef: -+ with open('@out@/share/wee-slack/weemoji.json', 'r') as ef: - emojis = json.loads(ef.read()) - if 'emoji' in emojis: - print_error('The weemoji.json file is in an old format. Please update it.') --- -2.29.0 - diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix index 4be611eb71f..9650f903ed6 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "wee-slack"; - version = "8bd734c8e9a6b133a65548672f8a11ee3b3ce677"; + version = "2.6.0"; src = fetchFromGitHub { repo = "wee-slack"; owner = "wee-slack"; - rev = version; - sha256 = "0p48cpaqfqja9i68dqyladwif7x8c19ii8v27p9cxz5y9impc9qk"; + rev = "v${version}"; + sha256 = "0s4qd1z40c1bczkvc840jwjmzbv7nyj06xqs1si9v54qmkh4gaq4"; }; patches = [ @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { paths = with python3Packages; [ websocket_client six ]; }}/${python3Packages.python.sitePackages}"; }) - ./0001-hardcode-json-file-path.patch + ./hardcode-json-file-path.patch ]; postPatch = '' diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch new file mode 100644 index 00000000000..7413a9229ce --- /dev/null +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch @@ -0,0 +1,12 @@ +--- a/wee_slack.py ++++ b/wee_slack.py +@@ -4560,8 +4560,7 @@ + + def load_emoji(): + try: +- DIR = w.info_get('weechat_dir', '') +- with open('{}/weemoji.json'.format(DIR), 'r') as ef: ++ with open('@out@/share/wee-slack/weemoji.json', 'r') as ef: + emojis = json.loads(ef.read()) + if 'emoji' in emojis: + print_error('The weemoji.json file is in an old format. Please update it.') diff --git a/pkgs/applications/video/iina/default.nix b/pkgs/applications/video/iina/default.nix deleted file mode 100644 index f0abed2d93d..00000000000 --- a/pkgs/applications/video/iina/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchurl, undmg }: - -stdenv.mkDerivation { - pname = "iina"; - version = "1.1.2"; - - src = fetchurl { - url = "https://github.com/iina/iina/releases/download/v1.0.7-beta2/IINA.v1.0.7-beta2.dmg"; - sha256 = "1w0l3b1kar9zglqkildcqhlwara6zy2p3x79kqa2d0b43nqka82n"; - }; - - buildInputs = [ undmg ]; - installPhase = '' - mkdir -p "$out/Applications/IINA.app" - cp -R . "$out/Applications/IINA.app" - chmod +x "$out/Applications/IINA.app/Contents/MacOS/IINA" - ''; - - meta = with stdenv.lib; { - description = "The modern video player for macOS."; - homepage = "http://https://iina.io/"; - license = licenses.gpl3; - platforms = platforms.darwin; - maintainers = with maintainers; [ mic92 ]; - }; -} diff --git a/pkgs/development/python-modules/keystone/default.nix b/pkgs/development/python-modules/keystone/default.nix deleted file mode 100644 index c98af6ea4d7..00000000000 --- a/pkgs/development/python-modules/keystone/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ lib -, buildPythonPackage -, keystone -}: - -buildPythonPackage rec { - inherit (keystone) pname src version buildInputs nativeBuildInputs; - - dontUseCmakeConfigure = 1; - preBuild = "cd bindings/python"; - - meta = with lib; { - inherit (keystone.meta) description license homepage; - maintainers = [ maintainers.mic92 ]; - }; -} diff --git a/pkgs/development/python-modules/pyworld/default.nix b/pkgs/development/python-modules/pyworld/default.nix deleted file mode 100644 index 92a91f766be..00000000000 --- a/pkgs/development/python-modules/pyworld/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, numpy -, cython -}: - -buildPythonPackage rec { - pname = "pyworld"; - version = "0.2.12"; - - src = fetchPypi { - inherit pname version; - sha256 = "896c910696975855578d855f490f94d7a57119e0a75f7f15e11fdf58ba891627"; - }; - - nativeBuildInputs = [ - cython - ]; - - propagatedBuildInputs = [ - numpy - ]; - - meta = with lib; { - description = "PyWorld is a Python wrapper for WORLD vocoder"; - homepage = https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder; - license = licenses.mit; - maintainers = [ maintainers.mic92 ]; - }; -} diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile index dda0f69c35c..3454ce3df74 100644 --- a/pkgs/development/ruby-modules/with-packages/Gemfile +++ b/pkgs/development/ruby-modules/with-packages/Gemfile @@ -14,9 +14,13 @@ source 'https://rubygems.org' do gem 'cocoapods' gem 'cocoapods-acknowledgements' gem 'cocoapods-art' + gem 'cocoapods-bin' gem 'cocoapods-browser' + gem 'cocoapods-bugsnag' + gem 'cocoapods-check' gem 'cocoapods-clean' gem 'cocoapods-clean_build_phases_scripts' + gem 'cocoapods-core' gem 'cocoapods-coverage' gem 'cocoapods-deintegrate' gem 'cocoapods-dependencies' @@ -27,9 +31,18 @@ source 'https://rubygems.org' do gem 'cocoapods-generate' gem 'cocoapods-git_url_rewriter' gem 'cocoapods-keys' + gem 'cocoapods-no-dev-schemes' gem 'cocoapods-open' + gem 'cocoapods-packager' + gem 'cocoapods-playgrounds' gem 'cocoapods-plugins' + gem 'cocoapods-prune-localizations' + gem 'cocoapods-rome' gem 'cocoapods-search' + gem 'cocoapods-sorted-search' + gem 'cocoapods-static-swift-framework' + gem 'cocoapods-stats' + gem 'cocoapods-tdfire-binary' gem 'cocoapods-testing' gem 'cocoapods-trunk' gem 'cocoapods-try' diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 5f4d638dfec..0f8702eb6e0 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)"; license = with licenses; [ asl20 gpl2 mit ]; maintainers = [maintainers.raskin]; - platforms = [ "x86_64-linux" "aarch64-linux" ] ++ platforms.darwin; + platforms = ["x86_64-linux"] ++ platforms.darwin; broken = kernel != null && versionOlder kernel.version "4.14"; homepage = "https://sysdig.com/opensource/"; downloadPage = "https://github.com/draios/sysdig/releases"; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 429f140f738..9135ea549f3 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -243,7 +243,7 @@ "familyhub" = ps: with ps; [ ]; # missing inputs: python-family-hub-local "fan" = ps: with ps; [ ]; "fastdotcom" = ps: with ps; [ ]; # missing inputs: fastdotcom - "feedreader" = ps: with ps; [ feedparser]; + "feedreader" = ps: with ps; [ ]; # missing inputs: feedparser-homeassistant "ffmpeg" = ps: with ps; [ ha-ffmpeg ]; "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ]; "ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ]; diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index 3d25dfeaf84..4fa4b8a48ee 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -41,10 +41,6 @@ PKG_PREFERENCES = { "tensorflow-build_2": "tensorflow", } -# packages we have a different name for or we want to replace -PKG_SUBSTITUTES = { - "feedparser-homeassistant": "feedparser" -} def run_mypy() -> None: cmd = ["mypy", "--ignore-missing-imports", __file__] @@ -160,8 +156,6 @@ def main() -> None: # Therefore, if there's a "#" in the line, only take the part after it req = req[req.find("#") + 1 :] name = req.split("==")[0] - name = PKG_SUBSTITUTES.get(name, name) - attr_path = name_to_attr_path(name, packages) if attr_path is not None: # Add attribute path without "python3Packages." prefix diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix index 1f475d7440f..c26f8d3a23c 100644 --- a/pkgs/servers/openafs/1.8/default.nix +++ b/pkgs/servers/openafs/1.8/default.nix @@ -100,7 +100,6 @@ in stdenv.mkDerivation { homepage = "https://www.openafs.org"; license = licenses.ipl10; platforms = platforms.linux; - broken = with kernel; kernelOlder "3.18" || isHardened; maintainers = [ maintainers.maggesi maintainers.spacefrogg ]; }; } diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index 1634bfa5b30..770e898f2ee 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -61,18 +61,6 @@ python3Packages.buildPythonApplication rec { url = "https://github.com/mozilla/TTS/commit/36fee428b9f3f4ec1914b090a2ec9d785314d9aa.patch"; sha256 = "sha256-pP0NxiyrsvQ0A7GEleTdT87XO08o7WxPEpb6Bmj66dc="; }) - (fetchpatch { - url = "https://github.com/Mic92/TTS/commit/5bf62009e8c19e8c1627d1f7aa54e11bc5fa91d7.patch"; - sha256 = "sha256-ZxDytieD0zoP0/RXzG0bbVnl0oE+DF8iUVpHb8+2TqM="; - }) - (fetchpatch { - url = "https://github.com/mozilla/TTS/commit/3000647e542fce9773f4c5da082630befa5525f1.patch"; - sha256 = "sha256-dl8Zy0dEw9z4ZZFcuP1WHzCVh2+nn0jDKOncoCK+syM="; - }) - (fetchpatch { - url = "https://github.com/mozilla/TTS/commit/fe86a076bb1c7e18078718be0aa36da427f325bd.patch"; - sha256 = "sha256-cT5HYkLFzmSMwAHLOHgpG+v9HGKIbUxwS8Dt9SKHm+8="; - }) ]; preBuild = '' @@ -107,7 +95,6 @@ python3Packages.buildPythonApplication rec { inflect gdown pysbd - pyworld ]; postInstall = '' diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index e46fd4790a3..04bf598d132 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,6 +1,5 @@ { stdenv, fetchurl, pkgconfig, libevent, openssl, zlib, torsocks , libseccomp, systemd, libcap, lzma, zstd, scrypt, nixosTests -, writeShellScript # for update.nix , writeScript @@ -13,21 +12,7 @@ , gnused , nix }: -let - tor-client-auth-gen = writeShellScript "tor-client-auth-gen" '' - PATH="${stdenv.lib.makeBinPath [coreutils gnugrep openssl]}" - pem="$(openssl genpkey -algorithm x25519)" - printf private_key=descriptor:x25519: - echo "$pem" | grep -v " PRIVATE KEY" | - base64 -d | tail --bytes=32 | base32 | tr -d = - - printf public_key=descriptor:x25519: - echo "$pem" | openssl pkey -in /dev/stdin -pubout | - grep -v " PUBLIC KEY" | - base64 -d | tail --bytes=32 | base32 | tr -d = - ''; -in stdenv.mkDerivation rec { pname = "tor"; version = "0.4.4.6"; @@ -67,7 +52,6 @@ stdenv.mkDerivation rec { mkdir -p $geoip/share/tor mv $out/share/tor/geoip{,6} $geoip/share/tor rm -rf $out/share/tor - ln -s ${tor-client-auth-gen} $out/bin/tor-client-auth-gen ''; passthru = { diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 4df486a2511..030ac1b43aa 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -2,7 +2,7 @@ , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext -, perl, perlPackages, python3Packages, pkgconfig +, perl, perlPackages, python2Packages, pkgconfig , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr , brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash , makeWrapper, shortenPerlShebang @@ -321,13 +321,13 @@ latexindent = perlPackages.buildPerlPackage rec { }; -pygmentex = python3Packages.buildPythonApplication rec { +pygmentex = python2Packages.buildPythonApplication rec { pname = "pygmentex"; inherit (src) version; src = stdenv.lib.head (builtins.filter (p: p.tlType == "run") texlive.pygmentex.pkgs); - propagatedBuildInputs = with python3Packages; [ pygments chardet ]; + propagatedBuildInputs = with python2Packages; [ pygments chardet ]; dontBuild = true; diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 33633433575..0625fe16090 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -27,7 +27,7 @@ let [ "de-macro" "pythontex" "dviasm" "texliveonfly" ]; pkgNeedsRuby = pkg: pkg.tlType == "run" && pkg.pname == "match-parens"; extraInputs = - lib.optional (lib.any pkgNeedsPython splitBin.wrong) python3 + lib.optional (lib.any pkgNeedsPython splitBin.wrong) python ++ lib.optional (lib.any pkgNeedsRuby splitBin.wrong) ruby; }; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index 0c7dadc150b..c2e6399ab86 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -4,7 +4,7 @@ */ { stdenv, lib, fetchurl, runCommand, writeText, buildEnv , callPackage, ghostscriptX, harfbuzz, poppler_min -, makeWrapper, python3, ruby, perl +, makeWrapper, python, ruby, perl , useFixedHashes ? true , recurseIntoAttrs }: @@ -25,7 +25,7 @@ let # function for creating a working environment from a set of TL packages combine = import ./combine.nix { inherit bin combinePkgs buildEnv lib makeWrapper writeText - stdenv python3 ruby perl; + stdenv python ruby perl; ghostscript = ghostscriptX; # could be without X, probably, but we use X above }; @@ -110,7 +110,7 @@ let #"ftp://tug.org/texlive/historic/2019/tlnet-final/archive" # Daily snapshots hosted by one of the texlive release managers - "https://texlive.info/tlnet-archive/2020/10/09/tlnet/archive" + https://texlive.info/tlnet-archive/2020/10/09/tlnet/archive ]; src = fetchurl { inherit urls sha512; }; diff --git a/pkgs/tools/virtualization/amazon-ec2-utils/default.nix b/pkgs/tools/virtualization/amazon-ec2-utils/default.nix deleted file mode 100644 index d7dd6ad0b1e..00000000000 --- a/pkgs/tools/virtualization/amazon-ec2-utils/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, python3, installShellFiles }: - -stdenv.mkDerivation rec { - pname = "amazon-ec2-utils"; - version = "1.3"; - - src = fetchFromGitHub { - owner = "aws"; - repo = "amazon-ec2-utils"; - rev = version; - sha256 = "sha256-uxKnbdKGhS32kY3mA7YYtDRwKcEjNZPJUYQExZTqtxE="; - }; - - buildInputs = [ python3 ]; - # TODO next version will have manpages - #nativeBuildInputs = [ installShellFiles ]; - - installPhase = '' - # https://github.com/aws/amazon-ec2-utils/blob/8eb2effb1aea2280264d66ae58b3e156e6d429f9/amazon-ec2-utils.spec#L74 - install -D --target $out/etc/udev/rules.d *.rules - install -D --target $out/bin ec2-metadata ebsnvme-id ec2udev-vbd ec2udev-vcpu - install -D --target $out/lib/udev/ ec2nvme-nsid - # TODO next version will have manpages - #installManPage doc/* - ''; - - postFixup = '' - for i in $out/etc/udev/rules.d/*.rules; do - substituteInPlace "$i" \ - --replace '/sbin' "$out/bin" - done - substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ - --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" - ''; - - meta = { - description = "A set of tools for running in EC2"; - homepage = "https://aws.amazon.com/amazon-linux-ami/"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ thefloweringash ]; - }; -} diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix new file mode 100644 index 00000000000..1605bcfa43b --- /dev/null +++ b/pkgs/tools/virtualization/ec2-utils/default.nix @@ -0,0 +1,47 @@ +{ stdenv, lib, rpmextract, fetchurl, python2, tree }: + +stdenv.mkDerivation { + name = "ec2-utils"; + version = "0.5.1"; + + # The url can be determined by booting an "Amazon Linux 2" and running: + # > yumdownloader --urls ec2-utils + src = fetchurl { + url = "http://amazonlinux.ap-northeast-1.amazonaws.com/blobstore/a3b4d2c35c2300518fe10381a05b3bd7936ff5cdd3d351143a11bf84073d9e00/ec2-utils-0.5-1.amzn2.0.1.noarch.rpm"; + sha256 = "004y7l3q9gqi78a53lykrpsnz4yp7dds1083w67m2013bk1x5d53"; + }; + + nativeBuildInputs = [ rpmextract ]; + + buildInputs = [ python2 ]; + + unpackPhase = '' + mkdir source + cd source + rpmextract "$src" + ''; + + installPhase = '' + mkdir $out + + mv --target-directory $out \ + etc sbin usr/bin usr/lib + ''; + + postFixup = '' + for i in $out/etc/udev/rules.d/*.rules; do + substituteInPlace "$i" \ + --replace '/sbin' "$out/bin" + done + + substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ + --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" + ''; + + meta = { + description = "A set of tools for running in EC2"; + homepage = "https://aws.amazon.com/amazon-linux-ami/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ thefloweringash ]; + }; +} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 793b58ac46d..6e5da1bf34e 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -138,7 +138,6 @@ mapAliases ({ draftsight = throw "draftsight has been removed, no longer available as freeware"; # added 2020-08-14 dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03 dwarf_fortress = dwarf-fortress; # added 2016-01-23 - ec2-utils = amazon-ec2-utils; # added 2020-12-06 emacsPackagesGen = emacsPackagesFor; # added 2018-08-18 emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18 emacsPackagesNgFor = emacsPackagesFor; # added 2019-08-07 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 97468633718..dd9a1006775 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1005,7 +1005,7 @@ in ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { }; - amazon-ec2-utils = callPackage ../tools/virtualization/amazon-ec2-utils { }; + ec2-utils = callPackage ../tools/virtualization/ec2-utils { }; exoscale-cli = callPackage ../tools/admin/exoscale-cli { }; @@ -21305,8 +21305,6 @@ in icesl = callPackage ../applications/misc/icesl { }; - iina = callPackage ../applications/video/iina { }; - keepassx = callPackage ../applications/misc/keepassx { }; keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; keepassxc = libsForQt5.callPackage ../applications/misc/keepassx/community.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5a9a58d1b26..7ba80903ccd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3312,10 +3312,6 @@ in { keyrings-alt = callPackage ../development/python-modules/keyrings-alt { }; - keystone = callPackage ../development/python-modules/keystone { - inherit (pkgs) keystone; - }; - keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; }; kicad = disabledIf isPy27 (toPythonModule (pkgs.kicad.override { python3 = python; }).src); @@ -6220,8 +6216,6 @@ in { }); in if isPy3k then pyxattr' else pyxattr_2; - pyworld = callPackage ../development/python-modules/pyworld { }; - pyx = callPackage ../development/python-modules/pyx { }; pyxdg = callPackage ../development/python-modules/pyxdg { }; diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix index 33a50e232d0..ef82be30b62 100644 --- a/pkgs/top-level/ruby-packages.nix +++ b/pkgs/top-level/ruby-packages.nix @@ -1,36 +1,14 @@ { - actioncable = { - dependencies = ["actionpack" "nio4r" "websocket-driver"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0y3aa0965cdsqamxk8ac6brcvijl1zv4pvqils6xy3pbcrv0ljid"; - type = "gem"; - }; - version = "6.0.3.4"; - }; - actionmailbox = { - dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "10vb9s4frq22h5j6gyw2598k1jc29lg2czm95hf284l3mi4qly6a"; - type = "gem"; - }; - version = "6.0.3.4"; - }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ykn5qkwdlcv5aa1gjhhmrxpjccwa7df6n4amvkmvxv5lggyma52"; + sha256 = "18wwlj4f7jffv3vxm80d2z36nwza95l5xfcqc401hvvrls4xzhsy"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -38,32 +16,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fbjpnh5hrihc9l35q9why6ip0hcdj42axzbp6b4j1xcy1v1bicj"; + sha256 = "0rmldsk3a4lwxk0lrp6x1nz1v1r2xmbm3300l4ghgfygv3grdwjh"; type = "gem"; }; - version = "6.0.3.4"; - }; - actiontext = { - dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0r0j0m76ynjspmvj5qbzl06kl9i920v269iz62y62009xydv6rqz"; - type = "gem"; - }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; actionview = { - dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gdz31cq08nrqq6bxqim2qcbzv0fr34z6ycl73dmawpafj33wdkj"; + sha256 = "0x7vjn8q6blzyf7j3kwg0ciy7vnfh28bjdkd1mp9k4ghp9jn0g9p"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -71,54 +38,43 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d0p8gjplrgym38dmchyzhv7lrrxngz0yrxl6xyvwxfxm1hgdk2k"; + sha256 = "0jy1c1r6syjqpa0sh9f1p4iaxzvp6qg4n6zs774j9z27q7h407mj"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; activemodel = { - dependencies = ["activesupport"]; + dependencies = ["activesupport" "builder"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00jj8namy5niq7grl5lrsr4y351rxpj1b69k1i9gvb1hnpghl099"; + sha256 = "1c1x0rd6wnk1f0gsmxs6x3gx7yf6fs9qqkdv7r4hlbcdd849in33"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; activerecord = { - dependencies = ["activemodel" "activesupport"]; + dependencies = ["activemodel" "activesupport" "arel"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06qvvp73z8kq9sd2mhw6p9124q5pfkswjga2fidz4c73zbr79r3g"; + sha256 = "07ixiwi0zzs9skqarvpfamsnay7npfswymrn28ngxaf8hi279q5p"; type = "gem"; }; - version = "6.0.3.4"; - }; - activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "marcel"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0q734331wb7cfsh4jahj3lphpxvglzb17yvibwss1ml4g01xxm52"; - type = "gem"; - }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; + dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1axidc4mikgi4yxs0ynw2c54jyrs5lxprxmzv6m3aayi9rg6rk5j"; + sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; addressable = { dependencies = ["public_suffix"]; @@ -131,15 +87,36 @@ }; version = "2.7.0"; }; + algoliasearch = { + dependencies = ["httpclient" "json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ayg8j3819ay2d8618jv32ca16fh8qsgjsiq9j32yd016c170nkj"; + type = "gem"; + }; + version = "1.27.1"; + }; + arel = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4"; + type = "gem"; + }; + version = "6.0.4"; + }; ast = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a"; + sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; type = "gem"; }; - version = "2.4.1"; + version = "2.4.0"; }; atk = { dependencies = ["glib2"]; @@ -147,10 +124,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05brc25pfvak610mdwgjsc64di29yff9i9g72m6hyc21pdjwfy3n"; + sha256 = "0a8q9a1f6x4gy55p8cf52a22bnpjgn18ad9n959x0f4gybbhs948"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; atomos = { groups = ["default"]; @@ -197,10 +174,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; + sha256 = "1mmkls9n56l4gx2k0dnyianwz36z2zgpxli5bpsbr7jbw7hn2x6j"; type = "gem"; }; - version = "11.1.3"; + version = "11.0.1"; }; cairo = { dependencies = ["native-package-installer" "pkg-config"]; @@ -208,10 +185,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00hiy6anibkjq9w77hg0lpgnkkbcxrfbz8wxv44jfzqbab8910wb"; + sha256 = "0yvv2lcbsybzbw1nrmfivmln23da4rndrs3av6ymjh0x3ww5h7p8"; type = "gem"; }; - version = "1.16.6"; + version = "1.16.4"; }; cairo-gobject = { dependencies = ["cairo" "glib2"]; @@ -219,10 +196,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "136aa800dgq6bmr0lb59mfj5q72r712wwp5wy5qxnp48adjw1k2h"; + sha256 = "0gkxdfslcvrwrs48giilji3bgxd5bwijwq33p9h00r10jzfg2028"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; camping = { dependencies = ["mab" "rack"]; @@ -240,10 +217,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ia09r8bj3bjhcfiyr3vlk9zx7vahfypbs2lyrxix9x1jx3lfzq4"; + sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf"; type = "gem"; }; - version = "3.0.3"; + version = "3.0.2"; }; charlock_holmes = { groups = ["default"]; @@ -270,10 +247,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08m0syh06bhx8dqn560ivjg96l5cs5s3l9jh2szsnlcdcyl9jsjg"; + sha256 = "0dka8f3hwzz7p558kiyyrdabljvwp71cbzk46akb3kvnvhcyjx89"; type = "gem"; }; - version = "1.3.2"; + version = "1.3.1"; }; cld3 = { dependencies = ["ffi"]; @@ -281,42 +258,53 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04hwr44m7x7vv55lc4vk5zcd6zq98c2asvzl3dh2adg1fhpk29nr"; + sha256 = "06p4jgrr0zixqnflmg5dcrbmhlnmll85j7vxkrjmnng293cwvzgw"; type = "gem"; }; - version = "3.3.0"; + version = "3.2.4"; }; cocoapods = { - dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored" "escape" "fourflusher" "molinillo" "nap" "xcodeproj"]; + dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rnxjwrfk3yz34xx11hh61j7p57l6vwh8b86jvjivzlgrj4a025r"; + sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc"; type = "gem"; }; - version = "1.0.1"; + version = "1.8.4"; }; cocoapods-acknowledgements = { - dependencies = ["cocoapods" "redcarpet" "xcodeproj"]; + dependencies = ["activesupport" "redcarpet"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04gaijs4djjkynan06wyaxxz48db0czzfrhh95jn3r201k2ypa7k"; + sha256 = "07n638ijlc4y5vfzs5ykzhmwwsng7njb2nnwn4ravydqqxqgv13m"; type = "gem"; }; - version = "1.3.0"; + version = "1.1.3"; }; cocoapods-art = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ljsx1inbbzj8njpk4sb40kdis6pjwpgcpy3677dm45bxw21dmkv"; + sha256 = "0vkcpwjp7hzby60hq0pxn9zdiz7snf7siq02bckkmd84n27hlz3w"; type = "gem"; }; - version = "1.0.5"; + version = "1.0.4"; + }; + cocoapods-bin = { + dependencies = ["cocoapods" "cocoapods-generate" "parallel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dzbv7bfyw8a0iyi4nqw8a74wrdhf3absnpdb3i46rpbkanxw7hy"; + type = "gem"; + }; + version = "0.1.24"; }; cocoapods-browser = { dependencies = ["cocoapods"]; @@ -329,6 +317,28 @@ }; version = "0.1.5"; }; + cocoapods-bugsnag = { + dependencies = ["cocoapods"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r34h66rqswsyhanx69qnhhr02xsqy2y1zp5265gl6m76nyqq5wa"; + type = "gem"; + }; + version = "2.0.1"; + }; + cocoapods-check = { + dependencies = ["cocoapods"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17wb5xzhjvrqllsjqqbm00w8gnsrwcb6k7wsb36ykbcp0aiagvaf"; + type = "gem"; + }; + version = "1.1.0"; + }; cocoapods-clean = { groups = ["default"]; platforms = []; @@ -350,15 +360,15 @@ version = "0.0.2"; }; cocoapods-core = { - dependencies = ["activesupport" "fuzzy_match" "nap"]; + dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bh69sbljlf3hvg98y2zssx0ch51lllz1k1lc8xysn43dm3ahaa5"; + sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad"; type = "gem"; }; - version = "1.0.1"; + version = "1.8.4"; }; cocoapods-coverage = { dependencies = ["cocoapods-testing" "slather"]; @@ -417,10 +427,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1j03hxvz3m82fwgx3jayw0y2iqm7zpacn88r6nfj2arkbjxmvjwz"; + sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54"; type = "gem"; }; - version = "1.4.0"; + version = "1.3.0"; }; cocoapods-expert-difficulty = { groups = ["default"]; @@ -448,10 +458,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0324y1fm93ri54c5015rh81zqakjmzh15v969ipg0p0xinfpv7ki"; + sha256 = "17nqdhdjjg3919h3sz7jkqqhxsi6nyqgfyd7y4ci6fvb7pz79pdh"; type = "gem"; }; - version = "2.0.1"; + version = "1.6.0"; }; cocoapods-git_url_rewriter = { groups = ["default"]; @@ -469,10 +479,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "153cxxsi77dygc4qrij6qs44dbvc7dw31jx06cmf0ajrhv9qjnxl"; + sha256 = "14jmfibzvhqxhvhphj3g83d70ya16p7s4i43wir48hnaxkaqrm85"; type = "gem"; }; - version = "2.2.1"; + version = "2.1.0"; + }; + cocoapods-no-dev-schemes = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14w8yqs3r6pg06zpv58mc9vzfxhp3ka4mfhnc2p7vmyhy4nmcdza"; + type = "gem"; + }; + version = "1.0.1"; }; cocoapods-open = { groups = ["default"]; @@ -484,6 +504,39 @@ }; version = "0.0.8"; }; + cocoapods-packager = { + dependencies = ["cocoapods"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1083zv9pyqyqal6dk3kvfxdmylbll6078z5zw03m4j5jcz3m8nbm"; + type = "gem"; + }; + version = "1.5.0"; + }; + cocoapods-packager-pro = { + dependencies = ["cocoapods"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sjnlnqrc3fvc33c3lg3h6y8n969isjswxg2jdc1kfc3x0cakawl"; + type = "gem"; + }; + version = "1.5.4"; + }; + cocoapods-playgrounds = { + dependencies = ["cocoapods"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jsc489j6dh3mczzs880vc6jvzd8yjqrszmbbnkz9azndak3mhln"; + type = "gem"; + }; + version = "1.2.2"; + }; cocoapods-plugins = { dependencies = ["nap"]; groups = ["default"]; @@ -495,6 +548,27 @@ }; version = "1.0.0"; }; + cocoapods-prune-localizations = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hvpl56rnblmdbj40sysvk56j5hx5kdpqry00raw2p184sb5k4cf"; + type = "gem"; + }; + version = "0.3.1"; + }; + cocoapods-rome = { + dependencies = ["cocoapods" "fourflusher"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z5z49m5aww7q301bn5dzb6fzq6lcj6fvqibpg5ys1r0c41lsj0l"; + type = "gem"; + }; + version = "1.0.1"; + }; cocoapods-search = { groups = ["default"]; platforms = []; @@ -505,6 +579,28 @@ }; version = "1.0.0"; }; + cocoapods-sorted-search = { + dependencies = ["cocoapods" "hashie" "osx_keychain" "ruby-progressbar" "typhoeus"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1da86mjq4spfsx6xjk7qylvj5423ai9y39g9xxfl9r6h8i54dmpp"; + type = "gem"; + }; + version = "0.2.4"; + }; + cocoapods-static-swift-framework = { + dependencies = ["cocoapods"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12hhh25bj5dyz6rwc5jgarlld35vmgn43qk5lq9kfrpcli2ynhp2"; + type = "gem"; + }; + version = "0.5"; + }; cocoapods-stats = { groups = ["default"]; platforms = []; @@ -515,6 +611,17 @@ }; version = "1.1.0"; }; + cocoapods-tdfire-binary = { + dependencies = ["cocoapods" "cocoapods-bin" "cocoapods-packager-pro"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10idp7yr2zni6zhpj1pqkj4wkk5g48f5iizjb20i8minj52l64m0"; + type = "gem"; + }; + version = "2.0.9"; + }; cocoapods-testing = { dependencies = ["xctasks"]; groups = ["default"]; @@ -532,20 +639,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12c6028bmdwrbqcb49mr5qj1p3vcijnjqbsbzywfx1isp44j9mv5"; + sha256 = "0vrwsgaq3nf7v3pwksgqy0mhswrp3ipczrc96vl3ii2pcc9ilwkw"; type = "gem"; }; - version = "1.5.0"; + version = "1.4.1"; }; cocoapods-try = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1znyp625rql37ivb5rk9fk9564cmax8icxfr041ysivpdrn98nql"; + sha256 = "1gf2zjmcjhh9psq15yfy82wz5jnlihf5bcw79f8hlv4cnqyspncj"; type = "gem"; }; - version = "1.2.0"; + version = "1.1.0"; }; cocoapods-try-release-fix = { groups = ["default"]; @@ -593,10 +700,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.2"; }; colorator = { groups = ["default"]; @@ -608,16 +715,6 @@ }; version = "1.1.0"; }; - colored = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; - type = "gem"; - }; - version = "1.2"; - }; colored2 = { groups = ["default"]; platforms = []; @@ -633,30 +730,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.1.7"; + version = "1.1.5"; }; crass = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; + sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f"; type = "gem"; }; - version = "1.0.6"; + version = "1.0.5"; }; curb = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q7kqswm780vx1fannnrprbfbsp166smgyszgip5q7b859mk89wp"; + sha256 = "0s27g4nkdf8wipzyxx87nnw43ps8xqg30sqz86ay7dvmmpkd786k"; type = "gem"; }; - version = "0.9.11"; + version = "0.9.10"; }; curses = { groups = ["default"]; @@ -694,20 +791,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09frwp3np5c64y8g5rnbl46n7riknmdjprhndsh6zzajkjr9m3xj"; + sha256 = "1nff0nai8h8786xix92f3k5wjb51gqd9gkibmah2bvrcwyn9qiw5"; type = "gem"; }; - version = "1.3.5"; + version = "1.3.1"; }; diff-lcs = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; type = "gem"; }; - version = "1.4.4"; + version = "1.3"; }; digest-sha3 = { groups = ["default"]; @@ -756,10 +853,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; + sha256 = "17hkd62ig9b0czv192kqdfq7gw0a8hgq07yclri6myc8y5lmfin5"; type = "gem"; }; - version = "2.7.6"; + version = "2.7.5"; }; em-websocket = { dependencies = ["eventmachine" "http_parser.rb"]; @@ -767,20 +864,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb"; + sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3"; type = "gem"; }; - version = "0.5.2"; + version = "0.5.1"; }; - erubi = { + erubis = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l"; + sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; type = "gem"; }; - version = "1.10.0"; + version = "2.7.0"; }; escape = { groups = ["default"]; @@ -818,31 +915,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16ij8617v3js03yj1zd32mmrf7kpi9l96bid5mpqk30c4mzai55r"; + sha256 = "0nn8wk7j22ly4lzdp5pnm7qsrjxbgspiyxkw70g1qf9bn6pslmxr"; type = "gem"; }; - version = "0.78.1"; + version = "0.71.1"; }; faraday = { - dependencies = ["multipart-post" "ruby2_keywords"]; + dependencies = ["multipart-post"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16dapwi5pivrl25r4lkr1mxjrzkznj4wlcb08fzkmxnj4g5c6y35"; + sha256 = "1gggz3vvvkdrxil2fwpaaslv1z5bxzwra4wnybf20np58v1iv9w8"; type = "gem"; }; - version = "1.1.0"; + version = "0.17.1"; }; ffi = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd"; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; type = "gem"; }; - version = "1.11.3"; + version = "1.10.0"; }; ffi-compiler = { dependencies = ["ffi" "rake"]; @@ -872,10 +969,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bwqm9n69y5y0a5iickr358z7w4hml3flqwfz8b7cnj1ldabhnjn"; + sha256 = "1s1jxlrbq4jhwkiy5gq429v87m1l602b2gppw0ikbax7rnv30s9x"; type = "gem"; }; - version = "2.2.3"; + version = "2.2.0"; }; fog-dnsimple = { dependencies = ["fog-core" "fog-json"]; @@ -924,10 +1021,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yp0pxj6xsd84h2barwh3z5w289p1a6lqib309m7sbzh643qx3zz"; + sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v"; type = "gem"; }; - version = "0.3.2"; + version = "2.3.1"; }; fuzzy_match = { groups = ["default"]; @@ -945,10 +1042,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hslcfns2ysvjyj21hjvp4hghrafw1sdl627fm0nj0wsncs94m67"; + sha256 = "0194gzn0kialfh0j7crllvp808r64sg6dh297x69b0av21ar5pam"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; + }; + gh_inspector = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; + type = "gem"; + }; + version = "1.1.3"; }; gio2 = { dependencies = ["gobject-introspection"]; @@ -956,20 +1063,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l30xsr1dgnzqfmln17arnqi8iga97ldf6zgbqrfby6a94v3ammd"; + sha256 = "1l3jpgbdvb55xhcmpkcqgwx5068dfyi8kijfvzhbqh96ng0p1m7g"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; gitlab-markup = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xnlra517pfj3hx07kasbqlcw51ix4xajr6bsd3mwg8bc92dlwy7"; + sha256 = "0rqf3jmyn78r3ysy3bjyx7s4yv3xipxlmqlmbyrbksna19rrx08d"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.0"; }; glib2 = { dependencies = ["native-package-installer" "pkg-config"]; @@ -977,10 +1084,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l46ymdf7azpd137xq4rarbaq54hxs9rgfry0r6b0ywj74rmw9ih"; + sha256 = "18clyn0fp0h5alnkf9i2bqd6wvl78h468pdbzs1csqnba8vw4q1c"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; globalid = { dependencies = ["activesupport"]; @@ -999,10 +1106,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11gas9hzq36a2bwqi7h5c6p6jihanbhsarwhv5fw53dxap4iwj25"; + sha256 = "1a3x8qiisbax3x0izj8l5w66r53ba5ma53ax2jhdbhbvaxx3d02n"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; gpgme = { dependencies = ["mini_portile2"]; @@ -1010,10 +1117,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xbgh9d8nbvsvyzqnd0mzhz0nr9hx4qn025kmz6d837lry4lc6gw"; + sha256 = "0jbqajngi5ndqfarw9dxkhbphva0j71jav5wfym3fsiisvk5gg6p"; type = "gem"; }; - version = "2.0.20"; + version = "2.0.19"; }; gtk2 = { dependencies = ["atk" "gdk_pixbuf2" "pango"]; @@ -1021,20 +1128,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v1ag6irp52asm0yaxa7s533czy7yzhanhgn1v0cndqpzqk8icfz"; + sha256 = "17az8g0n1yzz90kdbjg2hpabi04qccda7v6lin76bs637ivfg2md"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; hashie = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q"; + sha256 = "0drkv8a70akprcnbxvd08hzp2bgd5g4s5g752f8599ks1g6a7wj1"; type = "gem"; }; - version = "4.1.0"; + version = "4.0.0"; }; highline = { groups = ["default"]; @@ -1123,10 +1230,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; + sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; type = "gem"; }; - version = "1.8.5"; + version = "0.9.5"; }; iconv = { groups = ["default"]; @@ -1148,16 +1255,26 @@ }; version = "0.1.0"; }; + jaro_winkler = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh"; + type = "gem"; + }; + version = "1.5.4"; + }; jbuilder = { dependencies = ["activesupport"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02llgsg30jz9kpxs8jzv6rvzaylw7948xj2grp4vsfg54z20cwbm"; + sha256 = "03adzsc2hfd0lvprm45s52bkxpnpnw8r9prcx8zx1aw2a8lzp9r7"; type = "gem"; }; - version = "2.10.1"; + version = "2.9.1"; }; jekyll = { dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; @@ -1165,10 +1282,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "192k1ggw99slpqpxb4xamcvcm2pdahgnmygl746hmkrar0i3xa5r"; + sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; type = "gem"; }; - version = "4.1.1"; + version = "4.0.0"; }; jekyll-sass-converter = { dependencies = ["sassc"]; @@ -1176,10 +1293,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv"; + sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3"; type = "gem"; }; - version = "2.1.0"; + version = "2.0.1"; }; jekyll-watch = { dependencies = ["listen"]; @@ -1207,31 +1324,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz"; + sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; type = "gem"; }; - version = "2.3.1"; + version = "2.3.0"; }; jwt = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n"; + sha256 = "01zg1vp3lyl3flyjdkrcc93ghf833qgfgh2p1biqfhkzz11r129c"; type = "gem"; }; - version = "2.2.2"; + version = "2.2.1"; }; kramdown = { - dependencies = ["rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7"; + sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; type = "gem"; }; - version = "2.3.0"; + version = "2.1.0"; }; kramdown-parser-gfm = { dependencies = ["kramdown"]; @@ -1249,20 +1365,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0317sr3nrl51sp844bps71smkrwim3fjn47wdfpbycixnbxspivm"; + sha256 = "1jivcckillfvd4n2jnsnnlf93z3gpvqbwsczs0fvv9hc90zpj7yh"; type = "gem"; }; - version = "8.4.255.0"; + version = "7.3.492.27.1"; }; libxml-ruby = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w2pw08b6pc9pm51ix7413jcllaisc06dvwzq0191ag1jsysv220"; + sha256 = "1r7m7zipkpam8ns4ys4qyh7yj3is3dy7ky6qwnw557pvpgx0aqrd"; type = "gem"; }; - version = "3.2.1"; + version = "3.1.0"; }; liquid = { groups = ["default"]; @@ -1280,10 +1396,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zpcgha7g33wvy2xbbc663cbjyvg9l1325lg3gzgcn3baydr9rha"; + sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi"; type = "gem"; }; - version = "3.3.3"; + version = "3.2.1"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1291,10 +1407,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh"; + sha256 = "1g7ps9m3s14cajhxrfgbzahv9i3gy47s4hqrv3mpybpj5cyr0srn"; type = "gem"; }; - version = "2.8.0"; + version = "2.4.0"; }; mab = { groups = ["default"]; @@ -1328,17 +1444,6 @@ }; version = "2.7.1"; }; - marcel = { - dependencies = ["mimemagic"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"; - type = "gem"; - }; - version = "0.3.3"; - }; markaby = { dependencies = ["builder"]; groups = ["default"]; @@ -1355,20 +1460,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj"; + sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; type = "gem"; }; - version = "0.4.0"; + version = "0.3.6"; }; method_source = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; type = "gem"; }; - version = "1.0.0"; + version = "0.9.2"; }; mime-types = { dependencies = ["mime-types-data"]; @@ -1386,30 +1491,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag"; + sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh"; type = "gem"; }; - version = "3.2020.1104"; - }; - mimemagic = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1qfqb9w76kmpb48frbzbyvjc0dfxh5qiw1kxdbv2y2kp6fxpa1kf"; - type = "gem"; - }; - version = "0.3.5"; + version = "3.2019.1009"; }; mini_magick = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; + sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4"; type = "gem"; }; - version = "4.11.0"; + version = "4.9.5"; }; mini_mime = { groups = ["default"]; @@ -1436,40 +1531,40 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v"; + sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; type = "gem"; }; - version = "5.14.2"; + version = "5.13.0"; }; molinillo = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0msabpxiyhlbgayrvr01316alaxrxwh6h8yzqz6p36v1zhqgddw4"; + sha256 = "1hh40z1adl4lw16dj4hxgabx4rr28mgqycih1y1d91bwww0jjdg6"; type = "gem"; }; - version = "0.4.5"; + version = "0.6.6"; }; msgpack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih"; + sha256 = "1qr2mkm2i3m76zarvy7qgjl9596hmvjrg7x6w42vx8cfsbf5p0y1"; type = "gem"; }; - version = "1.3.3"; + version = "1.3.1"; }; multi_json = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; + sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; type = "gem"; }; - version = "1.15.0"; + version = "1.14.1"; }; multipart-post = { groups = ["default"]; @@ -1481,17 +1576,6 @@ }; version = "2.1.1"; }; - mustermann = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a"; - type = "gem"; - }; - version = "1.1.1"; - }; mysql2 = { groups = ["default"]; platforms = []; @@ -1507,10 +1591,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma"; + sha256 = "0ajfyaqjw3dzykk612yw8sm21savfqy292hgps8h8l4lvxww1lz6"; type = "gem"; }; - version = "0.3.0"; + version = "0.2.6"; }; nap = { groups = ["default"]; @@ -1548,20 +1632,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b4h3ip8d1gkrc0znnw54hbxillk73mdnaf5pz330lmrcl1wiilg"; + sha256 = "0nkf3my587f0izqw0dl3zl24c3lnrw9y5xrq9vb0lhgymmgcav9g"; type = "gem"; }; - version = "3.0.0"; + version = "2.0.0"; }; net-ssh = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9"; + sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40"; type = "gem"; }; - version = "6.1.0"; + version = "5.2.0"; }; netrc = { groups = ["default"]; @@ -1578,10 +1662,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk"; + sha256 = "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c"; type = "gem"; }; - version = "2.5.4"; + version = "2.5.2"; }; nokogiri = { dependencies = ["mini_portile2"]; @@ -1589,10 +1673,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2"; + sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln"; type = "gem"; }; - version = "1.10.10"; + version = "1.10.7"; }; opus-ruby = { dependencies = ["ffi"]; @@ -1622,10 +1706,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zlk3bksiwrdvb7j0r5av7w280kigl7947wa7w4kbwqz3snaxl3m"; + sha256 = "09lb0a9y4q7946jaf53li1v4cb6ksfb5bq5wb15yn8ja6wf9n427"; type = "gem"; }; - version = "4.4.0"; + version = "4.3.0"; }; pango = { dependencies = ["cairo-gobject" "gobject-introspection"]; @@ -1633,20 +1717,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05smxn2jank7wqih59lhr30ab8f4qxdsdiiag5v7a0gjgzkmbi7f"; + sha256 = "1d0cn50qgpifrcv8qx72wi6l9xalw3ryngbfmm9xpg9vx5rl1qbp"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.1"; }; parallel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd"; + sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2"; type = "gem"; }; - version = "1.20.1"; + version = "1.19.1"; }; parser = { dependencies = ["ast"]; @@ -1654,10 +1738,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z"; + sha256 = "10siyp14d88jwcfj45kkk3nwl4wyr2r5ajb7vy4iwh1gxmhvi727"; type = "gem"; }; - version = "2.7.2.0"; + version = "2.7.0.0"; }; pathutil = { dependencies = ["forwardable-extended"]; @@ -1695,20 +1779,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj"; + sha256 = "15pa9qy7ngig21zgnvzwaxiy4rc7wbibna5050jjpgal9drgvpyy"; type = "gem"; }; - version = "1.2.3"; + version = "1.2.0"; }; pkg-config = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "068sf963n2zk47kqcckj624g5pxmk68mm76h02piphfyh9x4zmi3"; + sha256 = "1cxdpr2wlz9b587avlq04a1da5fz1vdw8jvr6lx23mcq7mqh2xcx"; type = "gem"; }; - version = "1.4.4"; + version = "1.4.0"; }; polyglot = { groups = ["default"]; @@ -1726,10 +1810,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk"; + sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; type = "gem"; }; - version = "0.13.1"; + version = "0.12.2"; }; pry-byebug = { dependencies = ["byebug" "pry"]; @@ -1737,10 +1821,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv"; + sha256 = "1aqz4gz8z44k6svpvcsfrqbigcpjd2kwvfm77yq3v8yzkhjrx0zi"; type = "gem"; }; - version = "3.9.0"; + version = "3.7.0"; }; pry-doc = { dependencies = ["pry" "yard"]; @@ -1748,20 +1832,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xrf2whjycv4sd7qvf5m6zdpk0lhf1p63v66w9ha146fc7rcjkc1"; + sha256 = "14lwb5dxfibcqbjygzvnf8ry0mayx48fk20qhg06214sll0sp0kv"; type = "gem"; }; - version = "1.1.0"; + version = "1.0.0"; }; public_suffix = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; + sha256 = "0ww6577yhgszvc0p33qg9nb7n03fyadvl14v2kbpm4rpf0q4i6gz"; type = "gem"; }; - version = "4.0.6"; + version = "4.0.2"; }; puma = { dependencies = ["nio4r"]; @@ -1769,20 +1853,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fl2bgw1lh1712qpzl5m5vi4cc1bcw336bh1dbp28fkmss9yysma"; + sha256 = "0v6zai6sinw5r1lchm278mm3dr8x5vi8pwmybwv9lz1kz02fk2g3"; type = "gem"; }; - version = "5.1.0"; + version = "4.3.1"; }; rack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16"; + sha256 = "1riq0z408dwvqcqrpq05bp2w879l4sjxzb4cbrbx55kpi6h2g1cj"; type = "gem"; }; - version = "2.2.3"; + version = "1.6.12"; }; rack-protection = { dependencies = ["rack"]; @@ -1790,10 +1874,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz"; + sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; type = "gem"; }; - version = "2.1.0"; + version = "1.5.5"; }; rack-test = { dependencies = ["rack"]; @@ -1801,32 +1885,43 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; type = "gem"; }; - version = "1.1.0"; + version = "0.6.3"; }; rails = { - dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vs4kfgp5pr5032nnhdapq60ga6karann06ilq1yjx8qck87cfxg"; + sha256 = "1ywvis59dd3v8qapi9ix6743zgk07l21x1cd6nb1ddpahxhm7dml"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; + }; + rails-deprecated_sanitizer = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; + type = "gem"; + }; + version = "1.0.3"; }; rails-dom-testing = { - dependencies = ["activesupport" "nokogiri"]; + dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6"; type = "gem"; }; - version = "2.0.3"; + version = "1.0.9"; }; rails-html-sanitizer = { dependencies = ["loofah"]; @@ -1840,15 +1935,15 @@ version = "1.3.0"; }; railties = { - dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + dependencies = ["actionpack" "activesupport" "rake" "thor"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x28620cvfja8r06lk6f90pw5lvijz9qi4bjsa4z1d1rkr3v4r3w"; + sha256 = "1bjf21z9maiiazc1if56nnh9xmgbkcqlpznv34f40a1hsvgk1d1m"; type = "gem"; }; - version = "6.0.3.4"; + version = "4.2.11.1"; }; rainbow = { groups = ["default"]; @@ -1875,10 +1970,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87"; + sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; type = "gem"; }; - version = "0.10.4"; + version = "0.10.3"; }; rb-inotify = { dependencies = ["ffi"]; @@ -1907,20 +2002,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y8yzianlkc9w6sbqy8iy8l0yym0y6x7p5rjflkfixq76fqmhvzk"; + sha256 = "0lvz1vk2l3chnz6zdp4xmh6w2z75rndhgbravbxgvw8ff4snsxa7"; type = "gem"; }; - version = "7.1.1"; + version = "7.1.0"; }; re2 = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16q71cc9wx342c697q18pkz19ym4ncjd97hcw4v6f1mgflkdv400"; + sha256 = "00wf9k1hkv3z3nfkrnfyyfq9ah0l7k14awqys3h2hqz4c21pqd2i"; type = "gem"; }; - version = "1.2.0"; + version = "1.1.1"; }; redcarpet = { groups = ["default"]; @@ -1937,10 +2032,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48"; + sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh"; type = "gem"; }; - version = "4.2.5"; + version = "4.1.3"; }; redis-rack = { dependencies = ["rack" "redis-store"]; @@ -1948,10 +2043,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nblbxg1f051dn83jp92lz3lc1wxm18nviglrabv2l0vz6rd0pkb"; + sha256 = "1pa19ydbk0l6wilwbxcjn6knfs4ffgj0rhaaldrlhf76pjgkaiqb"; type = "gem"; }; - version = "2.1.3"; + version = "2.0.6"; }; redis-store = { dependencies = ["redis"]; @@ -1959,20 +2054,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cpzbf2svnk4j5awb24ncl0mih45zkbdrd7q23jdg1r8k3q7mdg6"; + sha256 = "1isqzzds9kszc2nn8jiy8ikry01qspn7637ba9z2k6sk7vky46d9"; type = "gem"; }; - version = "1.9.0"; - }; - regexp_parser = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1racz3w9s4w0ls32bvjypfifk4a7qxngm2cv1rh16jyz0c1wjd70"; - type = "gem"; - }; - version = "2.0.0"; + version = "1.8.1"; }; rest-client = { dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; @@ -1985,35 +2070,25 @@ }; version = "2.1.0"; }; - rexml = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; - type = "gem"; - }; - version = "3.2.4"; - }; rmagick = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ajn6aisf9hh3x5zrs7n02pg5xy3m8x38gh9cn7b3klzgp3djla5"; + sha256 = "06ya2zpz2g3g4c90bmd1z11qkajls3srq5b7cswrjq8ima568ja0"; type = "gem"; }; - version = "4.1.2"; + version = "4.0.0"; }; rouge = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yvcv901lrh5rfnk1h4h56hf2m6n9pd6w8n96vag74aakgz3gaxn"; + sha256 = "0k5jrp0qc9p61mfcwyn1a7dajmkw04z6y76wa8a0axh1v2wrw8ld"; type = "gem"; }; - version = "3.25.0"; + version = "3.14.0"; }; rpam2 = { groups = ["default"]; @@ -2031,10 +2106,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dwai7jnwmdmd7ajbi2q0k0lx1dh88knv5wl7c34wjmf94yv8w5q"; + sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h"; type = "gem"; }; - version = "3.10.0"; + version = "3.9.0"; }; rspec-core = { dependencies = ["rspec-support"]; @@ -2042,10 +2117,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n2rdv8f26yw8c6asymc0mgddyr5d2b5n6mfvpd3n6lnpf1jdyv2"; + sha256 = "0gppalb2ynj0xk7vp8kk5pwzihmiqc8l4prpy4n9spclq7iqkspq"; type = "gem"; }; - version = "3.10.0"; + version = "3.9.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2053,10 +2128,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j37dvnvfbjwj8dqx27yfvz0frl7f2jc1abqg99h0ppriz9za6dc"; + sha256 = "1gjqfb39da6gywdcp4h77738r7khbrn2v4y45589z25bj4z9paf0"; type = "gem"; }; - version = "3.10.0"; + version = "3.9.0"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2064,64 +2139,52 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pz89y1522i6f8wzrg72ykmch3318ih87nlpl0y1ghsrs5hqymw3"; + sha256 = "0q9f8nrxhs4k2vl3bnm3pi5s44v9pnvjwirjnwji3sxzf68c2xjf"; type = "gem"; }; - version = "3.10.0"; + version = "3.9.0"; }; rspec-support = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j0n28i6zci5j7gg370bdy87dy43hlwx6dw428d9kamf5a0i2klz"; + sha256 = "18080h06kqayyr6dpw4c62l0wav09ihkd6skinsln13kmq0cv0mx"; type = "gem"; }; - version = "3.10.0"; + version = "3.9.0"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k246mahr4737rlvazll5vfvq1307b0z9pmhlnp5ynknl31fclp5"; + sha256 = "1p1bhsfscasp57l5di9hsx8jl325kfjswhd2mlzq74hj3gdws4x0"; + type = "gem"; + }; + version = "0.78.0"; + }; + rubocop-performance = { + dependencies = ["rubocop"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fk9nd3b24avgsqp726hy2pl1iyfjrh6jni97wkky6kqy0lq6zq2"; type = "gem"; }; version = "1.5.2"; }; - rubocop-ast = { - dependencies = ["parser"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1z9253d7hwdlqr3g7rwx6x6n0qwv8niq6r2ppgry2lbfvb4czypm"; - type = "gem"; - }; - version = "1.3.0"; - }; - rubocop-performance = { - dependencies = ["rubocop" "rubocop-ast"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0zfc0wvx4jw0apn86jbz5za8pjmb7k0j58ndap3kwarkznxk2ad1"; - type = "gem"; - }; - version = "1.9.1"; - }; ruby-graphviz = { - dependencies = ["rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "010m283gk4qgzxkgrldlnrglh8d5fn6zvrzm56wf5abd7x7b8aqw"; + sha256 = "1jzbs0jhaz77azsc30gsfg89fy44vsr565jcj4axhc65n1fmhs90"; type = "gem"; }; - version = "1.2.5"; + version = "1.2.4"; }; ruby-libvirt = { groups = ["default"]; @@ -2143,6 +2206,16 @@ }; version = "1.2.3"; }; + ruby-macho = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lhdjn91jkifsy2hzq2hgcm0pp8pbik87m58zmw1ifh6hkp9adjb"; + type = "gem"; + }; + version = "1.4.0"; + }; ruby-progressbar = { groups = ["default"]; platforms = []; @@ -2169,20 +2242,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lk124dixshf8mmrjpsy9avnaygni3cwki25g8nm5py4d2f5fwwa"; + sha256 = "14hzfsbx7n0jsm6bxif99kbhlmxr4s7g6xvml6xbqphlqbmy5d43"; type = "gem"; }; - version = "2.0.17"; - }; - ruby2_keywords = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l"; - type = "gem"; - }; - version = "0.0.2"; + version = "2.0.16"; }; RubyInline = { dependencies = ["ZenTest"]; @@ -2200,20 +2263,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji"; + sha256 = "1gz0ri0pa2xr7b6bf66yjc2wfvk51f4gi6yk7bklwl1nr65zc4gz"; type = "gem"; }; - version = "2.3.0"; + version = "2.0.0"; }; rugged = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04aq913plcxjw71l5r62qgz3bx3466p0wvgyfqahg5n3nybmcwqy"; + sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx"; type = "gem"; }; - version = "1.1.0"; + version = "0.28.4.1"; }; safe_yaml = { groups = ["default"]; @@ -2231,10 +2294,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c"; + sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"; type = "gem"; }; - version = "2.4.0"; + version = "2.2.1"; }; scrypt = { dependencies = ["ffi-compiler"]; @@ -2252,20 +2315,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yz6pqdr8p5dv5qkza5kqn6il6m4vcl5hvry6k108axc12zf6hrb"; + sha256 = "0wxkmgjnb8nskvqqwxihhbc1x8dhbbrcq70zxwqbyy5hvf4dh88f"; type = "gem"; }; - version = "0.10.6"; + version = "0.10.0"; }; sequel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k4ybmzrf79j9hgcl4m0hiaibf6m8apll99hml9rdjxvkprw51in"; + sha256 = "0vrbwwxvmdb7q1sdc0jnhlf826l74n9880xy5li1qabr0hyrmf1j"; type = "gem"; }; - version = "5.39.0"; + version = "5.27.0"; }; sequel_pg = { dependencies = ["pg" "sequel"]; @@ -2273,52 +2336,42 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mkbnc96bfpl5wqacblzwiwqywbx4vqrvkz57fj1h2f0bn635nk6"; + sha256 = "1y010rfdgpkw1yspqchjqdp7n8yahscyw98g3l2pw56nzbqipjb8"; type = "gem"; }; - version = "1.14.0"; + version = "1.12.2"; }; simplecov = { - dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; + dependencies = ["docile" "json" "simplecov-html"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mm20dvd64w46l5k11il9z5sjgdpp0bknml76glcngvl2w03k3cb"; + sha256 = "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw"; type = "gem"; }; - version = "0.20.0"; + version = "0.17.1"; }; simplecov-html = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; + sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; type = "gem"; }; - version = "0.12.3"; - }; - simplecov_json_formatter = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0cl3j7p3b5q7sxsx1va63c8imc5x6g99xablz08qrmqhpi0d6g6j"; - type = "gem"; - }; - version = "0.1.2"; + version = "0.10.2"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; + dependencies = ["rack" "rack-protection" "tilt"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dd53rzpkxgs697pycbhhgc9vcnxra4ly4xar8ni6aiydx2f88zk"; + sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; type = "gem"; }; - version = "2.1.0"; + version = "1.4.8"; }; slather = { dependencies = ["CFPropertyList" "activesupport" "clamp" "nokogiri" "xcodeproj"]; @@ -2326,30 +2379,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nqyam74izmbczwb406bsmgdzjz5r91d4lywlvdbxx5sl4g4256a"; + sha256 = "0v4wll10mwmynj2v2g71kgr1psck3qglhz2mnrw2n281v30jxyyn"; type = "gem"; }; - version = "2.6.0"; + version = "2.4.7"; }; slop = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05d1xv8r9cmd0mmlqpa853yzd7xhcyha063w1g8dpf84scxbxmd3"; + sha256 = "0hv64fpbdwyswqhnq8bia66vlsz72yjqm00lvlhh4dnjjivdjcy5"; type = "gem"; }; - version = "4.8.2"; + version = "4.7.0"; }; snappy = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x0r1dnavg3skyp7b1nkiwd5qrrkvp9zwgfls3i2rzybq8ahx4lb"; + sha256 = "00zzs25sm78zs3rifc02z54cp3f03r9dq5ilzykyq1ykvbv65vw4"; type = "gem"; }; - version = "0.1.0"; + version = "0.0.17"; }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; @@ -2357,10 +2410,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ikgwbl6jv3frfiy3xhg5yxw9d0064rgzghar1rg391xmrc4gm38"; + sha256 = "0jm37zpvvm1arxjwrd6am0wrdbfhrhc5y0l4p2i3p11z04bsvgap"; type = "gem"; }; - version = "4.0.2"; + version = "4.0.0"; }; sprockets-rails = { dependencies = ["actionpack" "activesupport" "sprockets"]; @@ -2368,10 +2421,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2"; + sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; type = "gem"; }; - version = "3.2.2"; + version = "3.2.1"; }; sqlite3 = { groups = ["default"]; @@ -2388,10 +2441,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g7398sn8syybz3nbf3dqwa8q8v3s3s444i24xl5q9pzx4g4nkf1"; + sha256 = "0r8g7zdncc6243d000jn0grc1n70rn9mx16vggy3q7c4wgsa37xi"; type = "gem"; }; - version = "1.0.1"; + version = "0.7.1"; }; terminal-table = { dependencies = ["unicode-display_width"]; @@ -2429,10 +2482,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08076cmdx0g51yrkd7dlxlr45nflink3jhdiq7006ljc2pc3212q"; + sha256 = "02p107kwx7jnkh6fpdgvaji0xdg6xkaarngkqjml6s4zny4m8slv"; type = "gem"; }; - version = "0.13.0"; + version = "0.11.0.0"; }; tilt = { groups = ["default"]; @@ -2449,10 +2502,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hy3kbcb6nwydy312rhjm4b30yavmayszzzyjpfdv6p0s8d9mfvb"; + sha256 = "0z2n1qwad86zkcmmq883bw8rgidjsqjphrbqf1mwyfi5y22jhxfp"; type = "gem"; }; - version = "2.1.3"; + version = "2.1.2"; }; treetop = { dependencies = ["polyglot"]; @@ -2460,10 +2513,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0697qz1akblf8r3wi0s2dsjh468hfsd57fb0mrp93z35y2ni6bhh"; + sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7"; type = "gem"; }; - version = "1.6.11"; + version = "1.6.10"; }; typhoeus = { dependencies = ["ethon"]; @@ -2471,10 +2524,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz"; + sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; type = "gem"; }; - version = "1.4.0"; + version = "1.3.1"; }; tzinfo = { dependencies = ["thread_safe"]; @@ -2482,10 +2535,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0skr6ih9cr3pwp8l84f0z7fy3q9kiq8hw0sg3zqw0hpbbyj05743"; + sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp"; type = "gem"; }; - version = "1.2.8"; + version = "1.2.6"; }; unf = { dependencies = ["unf_ext"]; @@ -2503,20 +2556,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4"; + sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; type = "gem"; }; - version = "0.0.7.7"; + version = "0.0.7.6"; }; unicode-display_width = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; + sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; type = "gem"; }; - version = "1.7.0"; + version = "1.6.0"; }; uuid4r = { groups = ["default"]; @@ -2528,36 +2581,15 @@ }; version = "0.2.0"; }; - websocket-driver = { - dependencies = ["websocket-extensions"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh"; - type = "gem"; - }; - version = "0.7.3"; - }; - websocket-extensions = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; - type = "gem"; - }; - version = "0.1.5"; - }; whois = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ch19amq0spj5dc240mv6s8hh245w7nis2h070qr3jm15r4jb21m"; + sha256 = "177qbah62yhy2q7znlrs49jwabw7vpd9frv6hw6mm0bxj5fn7prg"; type = "gem"; }; - version = "5.0.1"; + version = "5.0.0"; }; xcodeproj = { dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; @@ -2565,10 +2597,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1411j6sfnz0cx4fiw52f0yqx4bgcn8cmpgi3i5rwmmahayyjz2fn"; + sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb"; type = "gem"; }; - version = "1.19.0"; + version = "1.14.0"; }; xctasks = { dependencies = ["nokogiri" "rake"]; @@ -2586,20 +2618,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd"; + sha256 = "0rxqwry3h2hjz069f0kfr140wgx1khgljnqf112dk5x9rm4l0xny"; type = "gem"; }; - version = "0.9.25"; - }; - zeitwerk = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; - type = "gem"; - }; - version = "2.4.2"; + version = "0.9.20"; }; ZenTest = { groups = ["default"]; From d6e3307291bc93dcccd99d476efefe4ed59ffe2b Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Wed, 30 Dec 2020 19:10:54 -0800 Subject: [PATCH 150/162] llvmPackages_8.llvm: fix build with gcc 10 --- pkgs/development/compilers/llvm/8/llvm.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/compilers/llvm/8/llvm.nix b/pkgs/development/compilers/llvm/8/llvm.nix index 0f6179c2d31..fb928b67ad5 100644 --- a/pkgs/development/compilers/llvm/8/llvm.nix +++ b/pkgs/development/compilers/llvm/8/llvm.nix @@ -1,5 +1,6 @@ { stdenv , fetch +, fetchpatch , cmake , python3 , libffi @@ -55,6 +56,14 @@ in stdenv.mkDerivation ({ propagatedBuildInputs = [ ncurses zlib ]; + patches = [ + # Fix missing includes for GCC 10 + (fetchpatch { + url = "https://bugs.gentoo.org/attachment.cgi?id=612792"; + sha256 = "0rwx6jpqq4xnf4mvfm8v2d4r34y1yi05am0mx5k2d5bha9j64lqg"; + }) + ]; + postPatch = optionalString stdenv.isDarwin '' substituteInPlace cmake/modules/AddLLVM.cmake \ --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ From 7115040e19fa4cd20028f8b4a37ba44a993029af Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Wed, 30 Dec 2020 19:00:32 -0800 Subject: [PATCH 151/162] mesa: fix build on darwin Latest mesa requires macOS SDK 10.13 - this applies an upstream patch for compatibility with 10.13 Applied on darwin only to avoid linux rebuilds in staging-next - left a note that this can be done unconditionally as it has no effect on non-darwin platforms, if this would be considered more robust. --- pkgs/development/libraries/mesa/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 0e18164e6f2..c96d1edfadf 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -65,6 +65,13 @@ stdenv.mkDerivation { url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch"; sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q"; }) + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + # Fix for pre macOS SDK 10.13 + # TODO(r-burns) can be applied unconditionally, at the cost of a mass linux rebuild + (fetchpatch { + url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/f4403f70fe5bf2ec41af5546122f0d78caffa984.patch"; + sha256 = "03j2aj255m7ms848nkb41vj3s3yb72zb5rz3w3fzp5l9wzzargw5"; + }) ]; postPatch = '' From f6514239ee9b0739a6e884ba28e9302c0102f8c0 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Thu, 31 Dec 2020 09:30:44 +0100 Subject: [PATCH 152/162] hidapi: fix cross build --- pkgs/development/libraries/hidapi/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix index c42a3528223..80f7aa150c4 100644 --- a/pkgs/development/libraries/hidapi/default.nix +++ b/pkgs/development/libraries/hidapi/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, libusb1 -, darwin }: +, darwin +, gnum4 +}: stdenv.mkDerivation rec { pname = "hidapi"; @@ -12,7 +14,13 @@ stdenv.mkDerivation rec { sha256 = "1nr4z4b10vpbh3ss525r7spz4i43zim2ba5qzfl15dgdxshxxivb"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # Could be added always, but added conditionally here to avoid large rebuild + gnum4 + ]; buildInputs = [ ] ++ stdenv.lib.optionals stdenv.isLinux [ libusb1 udev ]; From 08668447e2f07e1bc92a0a6278102507d3d703a9 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Thu, 31 Dec 2020 15:32:37 +0100 Subject: [PATCH 153/162] Revert "hidapi: fix cross build" Not needed when using buildPackages.autoreconfHook This reverts commit f6514239ee9b0739a6e884ba28e9302c0102f8c0. --- pkgs/development/libraries/hidapi/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix index 80f7aa150c4..c42a3528223 100644 --- a/pkgs/development/libraries/hidapi/default.nix +++ b/pkgs/development/libraries/hidapi/default.nix @@ -1,7 +1,5 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, libusb1 -, darwin -, gnum4 -}: +, darwin }: stdenv.mkDerivation rec { pname = "hidapi"; @@ -14,13 +12,7 @@ stdenv.mkDerivation rec { sha256 = "1nr4z4b10vpbh3ss525r7spz4i43zim2ba5qzfl15dgdxshxxivb"; }; - nativeBuildInputs = [ - autoreconfHook - pkgconfig - ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # Could be added always, but added conditionally here to avoid large rebuild - gnum4 - ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ ] ++ stdenv.lib.optionals stdenv.isLinux [ libusb1 udev ]; From bf46afde6b22942ea605983f66ee23038986ba07 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Thu, 31 Dec 2020 15:55:01 +0100 Subject: [PATCH 154/162] autoreconfHook: use buildPackages when using older version Fixes cross --- pkgs/top-level/all-packages.nix | 88 ++++++++++++++++----------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 158be57f604..8d38ef414bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -252,7 +252,7 @@ in # It segfaults if it uses qt5.15 digitalbitbox = libsForQt514.callPackage ../applications/misc/digitalbitbox { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; gretl = callPackage ../applications/science/math/gretl { }; @@ -1028,7 +1028,7 @@ in apg = callPackage ../tools/security/apg { }; apt-dater = callPackage ../tools/package-management/apt-dater { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; autorevision = callPackage ../tools/misc/autorevision { }; @@ -3525,7 +3525,7 @@ in duc = callPackage ../tools/misc/duc { }; duff = callPackage ../tools/filesystems/duff { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; dumptorrent = callPackage ../tools/misc/dumptorrent { }; @@ -3591,7 +3591,7 @@ in eflite = callPackage ../applications/audio/eflite {}; eid-mw = callPackage ../tools/security/eid-mw { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; epubcheck = callPackage ../tools/text/epubcheck { }; @@ -4305,7 +4305,7 @@ in gmvault = callPackage ../tools/networking/gmvault { }; gnash = callPackage ../misc/gnash { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; gnirehtet = callPackage ../tools/networking/gnirehtet { }; @@ -4543,7 +4543,7 @@ in gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { }; gsmlib = callPackage ../development/libraries/gsmlib { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; gssdp = callPackage ../development/libraries/gssdp { }; @@ -5220,7 +5220,7 @@ in }; libcryptui = callPackage ../development/libraries/libcryptui { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; libsmartcols = callPackage ../development/libraries/libsmartcols { }; @@ -5648,7 +5648,7 @@ in lv = callPackage ../tools/text/lv { }; lxc = callPackage ../os-specific/linux/lxc { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; lxcfs = callPackage ../os-specific/linux/lxcfs { }; lxd = callPackage ../tools/admin/lxd { }; @@ -6423,7 +6423,7 @@ in opn2bankeditor = callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { }; orangefs = callPackage ../tools/filesystems/orangefs { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; os-prober = callPackage ../tools/misc/os-prober {}; @@ -6499,7 +6499,7 @@ in parastoo-fonts = callPackage ../data/fonts/parastoo-fonts { }; parcellite = callPackage ../tools/misc/parcellite { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; patchutils = callPackage ../tools/text/patchutils { }; @@ -7680,7 +7680,7 @@ in sysbench = callPackage ../development/tools/misc/sysbench {}; system-config-printer = callPackage ../tools/misc/system-config-printer { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; libxml2 = libxml2Python; }; @@ -7968,7 +7968,7 @@ in ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; ttfautohint = libsForQt5.callPackage ../tools/misc/ttfautohint { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; ttfautohint-nox = ttfautohint.override { enableGUI = false; }; @@ -8689,7 +8689,7 @@ in zbackup = callPackage ../tools/backup/zbackup {}; zbar = libsForQt5.callPackage ../tools/graphics/zbar { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; zdelta = callPackage ../tools/compression/zdelta { }; @@ -10320,7 +10320,7 @@ in solc = callPackage ../development/compilers/solc { }; souffle = callPackage ../development/compilers/souffle { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; spasm-ng = callPackage ../development/compilers/spasm-ng { }; @@ -10880,7 +10880,7 @@ in inherit (callPackage ../development/interpreters/ruby { inherit (darwin) libiconv libobjc libunwind; inherit (darwin.apple_sdk.frameworks) Foundation; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; bison = buildPackages.bison_3_5; }) ruby_2_5 @@ -11599,7 +11599,7 @@ in fswatch = callPackage ../development/tools/misc/fswatch { inherit (darwin.apple_sdk.frameworks) CoreServices; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; fujprog = callPackage ../development/tools/misc/fujprog { @@ -11960,7 +11960,7 @@ in opengrok = callPackage ../development/tools/misc/opengrok { }; openocd = callPackage ../development/tools/misc/openocd { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; oprofile = callPackage ../development/tools/profiling/oprofile { @@ -12560,11 +12560,11 @@ in belle-sip = callPackage ../development/libraries/belle-sip { }; libbfd = callPackage ../development/libraries/libbfd { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; libopcodes = callPackage ../development/libraries/libopcodes { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; bicpl = callPackage ../development/libraries/science/biology/bicpl { }; @@ -12827,7 +12827,7 @@ in }; dee = callPackage ../development/libraries/dee { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; dhex = callPackage ../applications/editors/dhex { }; @@ -12938,7 +12938,7 @@ in inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; fcgi = callPackage ../development/libraries/fcgi { }; @@ -13133,7 +13133,7 @@ in gdal = callPackage ../development/libraries/gdal { pythonPackages = python3Packages; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; gdal_1_11 = callPackage ../development/libraries/gdal/gdal-1_11.nix { }; @@ -13534,7 +13534,7 @@ in heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; libheimdal = heimdal; @@ -13559,7 +13559,7 @@ in hidapi = callPackage ../development/libraries/hidapi { # TODO: remove once `udev` is `systemdMinimal` everywhere. udev = systemdMinimal; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; highfive = callPackage ../development/libraries/highfive { }; @@ -13573,7 +13573,7 @@ in hiredis-vip = callPackage ../development/libraries/hiredis-vip { }; hivex = callPackage ../development/libraries/hivex { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; hound = callPackage ../development/tools/misc/hound { }; @@ -13890,7 +13890,7 @@ in libayatana-appindicator = callPackage ../development/libraries/libayatana-appindicator { }; libarchive = callPackage ../development/libraries/libarchive { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; libasr = callPackage ../development/libraries/libasr { }; @@ -14126,7 +14126,7 @@ in libe57format = callPackage ../development/libraries/libe57format { }; libeatmydata = callPackage ../development/libraries/libeatmydata { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; libeb = callPackage ../development/libraries/libeb { }; @@ -14309,7 +14309,7 @@ in libgpiod = callPackage ../development/libraries/libgpiod { }; libgpod = callPackage ../development/libraries/libgpod { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; libgssglue = callPackage ../development/libraries/libgssglue { }; @@ -16020,7 +16020,7 @@ in sbc = callPackage ../development/libraries/sbc { }; schroedinger = callPackage ../development/libraries/schroedinger { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; SDL = callPackage ../development/libraries/SDL ({ @@ -16435,7 +16435,7 @@ in totem-pl-parser = callPackage ../development/libraries/totem-pl-parser { }; tpm2-tss = callPackage ../development/libraries/tpm2-tss { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; tremor = callPackage ../development/libraries/tremor { }; @@ -17108,7 +17108,7 @@ in cayley = callPackage ../servers/cayley { }; charybdis = callPackage ../servers/irc/charybdis { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; clamsmtp = callPackage ../servers/mail/clamsmtp { }; @@ -17928,7 +17928,7 @@ in tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; torque = callPackage ../servers/computing/torque { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; tt-rss = callPackage ../servers/tt-rss { }; @@ -21164,7 +21164,7 @@ in elf-dissector = libsForQt5.callPackage ../applications/misc/elf-dissector { }; elinks = callPackage ../applications/networking/browsers/elinks { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; elvis = callPackage ../applications/editors/elvis { }; @@ -21410,7 +21410,7 @@ in fritzing = libsForQt5.callPackage ../applications/science/electronics/fritzing { }; fsv = callPackage ../applications/misc/fsv { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; ft2-clone = callPackage ../applications/audio/ft2-clone { }; @@ -21757,7 +21757,7 @@ in getxbook = callPackage ../applications/misc/getxbook { }; gimp = callPackage ../applications/graphics/gimp { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; gegl = gegl_0_4; lcms = lcms2; inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; @@ -22877,7 +22877,7 @@ in metersLv2 = callPackage ../applications/audio/meters_lv2 { }; mhwaveedit = callPackage ../applications/audio/mhwaveedit { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; michabo = libsForQt5.callPackage ../applications/misc/michabo { }; @@ -23102,7 +23102,7 @@ in }; mup = callPackage ../applications/audio/mup { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; # TODO: we should probably merge these 2 @@ -23301,7 +23301,7 @@ in msmtp = callPackage ../applications/networking/msmtp { inherit (darwin.apple_sdk.frameworks) Security; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix { @@ -24009,7 +24009,7 @@ in rkdeveloptool = callPackage ../misc/rkdeveloptool { }; rofi-unwrapped = callPackage ../applications/misc/rofi { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; rofi = callPackage ../applications/misc/rofi/wrapper.nix { }; @@ -24285,7 +24285,7 @@ in soxr = callPackage ../applications/misc/audio/soxr { }; spek = callPackage ../applications/audio/spek { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; spotify-unwrapped = callPackage ../applications/audio/spotify { @@ -24319,7 +24319,7 @@ in sslyze = with python3Packages; toPythonApplication sslyze; ssr = callPackage ../applications/audio/soundscape-renderer { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; ssrc = callPackage ../applications/audio/ssrc { }; @@ -25612,7 +25612,7 @@ in pivx = libsForQt5.callPackage ../applications/blockchains/pivx.nix { withGui = true; }; pivxd = callPackage ../applications/blockchains/pivx.nix { withGui = false; - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; }; ethabi = callPackage ../applications/blockchains/ethabi.nix { }; @@ -25897,7 +25897,7 @@ in freecell-solver = callPackage ../games/freecell-solver { }; freeciv = callPackage ../games/freeciv { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; qt5 = qt514; }; @@ -27596,7 +27596,7 @@ in boinc = callPackage ../applications/science/misc/boinc { }; celestia = callPackage ../applications/science/astronomy/celestia { - autoreconfHook = autoreconfHook269; + autoreconfHook = buildPackages.autoreconfHook269; lua = lua5_1; inherit (pkgs.gnome2) gtkglext; }; From 136c0d01d25b030c0d103e989de2d5340904dc51 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Fri, 1 Jan 2021 10:48:32 +0100 Subject: [PATCH 155/162] autoconf: use buildPackages when overriding version to fix cross Like bf46afde6b22942ea605983f66ee23038986ba07 --- pkgs/top-level/all-packages.nix | 22 +++++++++++----------- pkgs/top-level/beam-packages.nix | 16 ++++++++-------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d57e7a6edd2..6a9bec8247f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5222,7 +5222,7 @@ in libcloudproviders = callPackage ../development/libraries/libcloudproviders { }; libcoap = callPackage ../applications/networking/libcoap { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; libcryptui = callPackage ../development/libraries/libcryptui { @@ -8141,7 +8141,7 @@ in verilator = callPackage ../applications/science/electronics/verilator {}; verilog = callPackage ../applications/science/electronics/verilog { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; versus = callPackage ../applications/networking/versus { }; @@ -8251,7 +8251,7 @@ in watchman = callPackage ../development/tools/watchman { inherit (darwin.apple_sdk.frameworks) CoreServices; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; wavefunctioncollapse = callPackage ../tools/graphics/wavefunctioncollapse {}; @@ -8377,7 +8377,7 @@ in uhttpmock = callPackage ../development/libraries/uhttpmock { }; uim = callPackage ../tools/inputmethods/uim { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; uhub = callPackage ../servers/uhub { }; @@ -8572,7 +8572,7 @@ in # It needs a cross compiler for mipsel to build the firmware it will # load into the Ben Nanonote gccCross = pkgsCross.ben-nanonote.buildPackages.gccCrossStageStatic; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; clipnotify = callPackage ../tools/misc/clipnotify { }; @@ -11119,7 +11119,7 @@ in autobuild = callPackage ../development/tools/misc/autobuild { }; - autoconf = autoconf270; + autoconf = buildPackages.autoconf270; autoconf-archive = callPackage ../development/tools/misc/autoconf-archive { }; @@ -14564,7 +14564,7 @@ in libmatchbox = callPackage ../development/libraries/libmatchbox { }; libmatheval = callPackage ../development/libraries/libmatheval { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; guile = guile_2_0; }; @@ -24740,7 +24740,7 @@ in vbindiff = callPackage ../applications/editors/vbindiff { }; vcprompt = callPackage ../applications/version-management/vcprompt { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; vcs = callPackage ../applications/video/vcs { }; @@ -25207,7 +25207,7 @@ in }; x11basic = callPackage ../development/compilers/x11basic { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; x11vnc = callPackage ../tools/X11/x11vnc { }; @@ -25516,7 +25516,7 @@ in zeronet = callPackage ../applications/networking/p2p/zeronet { }; zexy = callPackage ../applications/audio/pd-plugins/zexy { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; zgrviewer = callPackage ../applications/graphics/zgrviewer {}; @@ -26909,7 +26909,7 @@ in }; kallisto = callPackage ../applications/science/biology/kallisto { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; kssd = callPackage ../applications/science/biology/kssd { }; diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 542c721e215..52268276a03 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -1,4 +1,4 @@ -{ callPackage, wxGTK30, openssl_1_0_2, autoconf269 }: +{ callPackage, wxGTK30, openssl_1_0_2, buildPackages }: rec { lib = callPackage ../development/beam-modules/lib.nix {}; @@ -20,7 +20,7 @@ rec { wxGTK = wxGTK30; # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 parallelBuild = true; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlangR23_odbc = erlangR23.override { odbcSupport = true; }; erlangR23_javac = erlangR23.override { javacSupport = true; }; @@ -34,7 +34,7 @@ rec { wxGTK = wxGTK30; # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508 parallelBuild = true; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlangR22_odbc = erlangR22.override { odbcSupport = true; }; erlangR22_javac = erlangR22.override { javacSupport = true; }; @@ -46,7 +46,7 @@ rec { # R21 erlangR21 = lib.callErlang ../development/interpreters/erlang/R21.nix { wxGTK = wxGTK30; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlangR21_odbc = erlangR21.override { odbcSupport = true; }; erlangR21_javac = erlangR21.override { javacSupport = true; }; @@ -58,7 +58,7 @@ rec { # R20 erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix { wxGTK = wxGTK30; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlangR20_odbc = erlangR20.override { odbcSupport = true; }; erlangR20_javac = erlangR20.override { javacSupport = true; }; @@ -71,7 +71,7 @@ rec { erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix { wxGTK = wxGTK30; openssl = openssl_1_0_2; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlangR19_odbc = erlangR19.override { odbcSupport = true; }; erlangR19_javac = erlangR19.override { javacSupport = true; }; @@ -84,7 +84,7 @@ rec { erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix { wxGTK = wxGTK30; openssl = openssl_1_0_2; - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlangR18_odbc = erlangR18.override { odbcSupport = true; }; erlangR18_javac = erlangR18.override { javacSupport = true; }; @@ -95,7 +95,7 @@ rec { # Basho fork, using custom builder. erlang_basho_R16B02 = lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix { - autoconf = autoconf269; + autoconf = buildPackages.autoconf269; }; erlang_basho_R16B02_odbc = erlang_basho_R16B02.override { odbcSupport = true; From b095078f44302d1ad9dfc85369b39a81e99983d8 Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Thu, 31 Dec 2020 15:41:51 -0800 Subject: [PATCH 156/162] gnutls: fix build on darwin Incompatible with staged update to autoconf 2.70. No effect on linux as autoconf is only needed on darwin. --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6a9bec8247f..326335cba11 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13371,6 +13371,7 @@ in gnutls = callPackage ../development/libraries/gnutls/default.nix { inherit (darwin.apple_sdk.frameworks) Security; util-linux = util-linuxMinimal; # break the cyclic dependency + autoconf = buildPackages.autoconf269; }; gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix { From 4f087a608eb7f4778c1c20d7089be83b33e2a625 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 Jan 2021 22:06:07 +0100 Subject: [PATCH 157/162] polkit: don't build with gobject-introspection when cross-compiling gobject-introspection doesn't currently cross-compile (see https://github.com/NixOS/nixpkgs/pull/88222), but polkit is somewhat essential for many system components. By disabling gobject-introspection when cross-compiling, we get it to build. --- pkgs/development/libraries/polkit/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 6aea7053014..2ec49a2d3c0 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -2,7 +2,8 @@ , intltool, spidermonkey_78, gobject-introspection, libxslt, docbook_xsl, dbus , docbook_xml_dtd_412, gtk-doc, coreutils , useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind -, withIntrospection ? true +# needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222) +, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault). # Not yet investigated; it may be due to the "Make netgroup support optional" # patch not updating the tests correctly yet, or doing something wrong, From 033cfcce150fb295274a08c1e18dbdfd4ec110c5 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 Jan 2021 22:08:35 +0100 Subject: [PATCH 158/162] alsa-plugins: don't build with libjack2 support when cross-compiling libjack2 doesn't cross-compile, see https://github.com/NixOS/nixpkgs/issues/96548. The pulseaudio NixOS module uses pkgs.alsaPlugins to create its asound.conf, so let's make sure that one can be built when cross-compiling. --- pkgs/os-specific/linux/alsa-plugins/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index a69d86c5c4d..54d7ce6222a 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -15,13 +15,14 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib libogg ] ++ lib.optional (libpulseaudio != null) libpulseaudio - ++ lib.optional (libjack2 != null) libjack2; + # https://github.com/NixOS/nixpkgs/issues/96548 + ++ lib.optional (libjack2 != null && (stdenv.buildPlatform == stdenv.hostPlatform)) libjack2; meta = with lib; { description = "Various plugins for ALSA"; homepage = "http://alsa-project.org/"; license = licenses.lgpl21; - maintainers = [maintainers.marcweber]; + maintainers = [ maintainers.marcweber ]; platforms = platforms.linux; }; } From 767252d232503a56c64e6f71fbb7c9bb8e030be4 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 Jan 2021 22:11:29 +0100 Subject: [PATCH 159/162] pulseaudio: fix cross compilation by disabling gsettings when cross-compiling When cross-compiling, pulseaudio seems to not find some m4 macro providing GSETTINGS_RULES. However, apart from the obviously missing gsettings support, this works just fine. --- pkgs/servers/pulseaudio/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 70a964039fc..625e2e0e8ca 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -93,7 +93,8 @@ stdenv.mkDerivation rec { ] ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack" ++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/" - ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"; + ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user" + ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--disable-gsettings"; enableParallelBuilding = true; @@ -118,7 +119,7 @@ stdenv.mkDerivation rec { rm -f $out/bin/qpaeq # this is packaged by the "qpaeq" package now, because of missing deps ''; - preFixup = lib.optionalString stdenv.isLinux '' + preFixup = lib.optionalString (stdenv.isLinux && (stdenv.hostPlatform == stdenv.buildPlatform)) '' wrapProgram $out/libexec/pulse/gsettings-helper \ --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \ --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" From e9fe0c1f04c7c4e5ca8da22d4f301f3cb968156a Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Fri, 1 Jan 2021 11:24:42 -0800 Subject: [PATCH 160/162] pulseaudio: fix build on darwin Needs pin to older autoconf 2.69 --- pkgs/top-level/all-packages.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22d4039cf78..8944f33fc94 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17523,9 +17523,13 @@ in inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa; }; - pulseaudio = callPackage ../servers/pulseaudio { + pulseaudio = callPackage ../servers/pulseaudio ({ inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa; - }; + } // stdenv.lib.optionalAttrs stdenv.isDarwin { + # Default autoreconfHook (2.70) fails on darwin, + # with "configure: error: *** Compiler does not support -std=gnu11" + autoreconfHook = buildPackages.autoreconfHook269; + }); qpaeq = libsForQt5.callPackage ../servers/pulseaudio/qpaeq.nix { }; From 22f1c746dfbd9f83f63002f5ad79bc48dec21189 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 2 Jan 2021 08:59:22 +0100 Subject: [PATCH 161/162] stdenv: use gcc9 for aarch64 Several aarch64 builds fail with is referenced by DSO followed by bin/ld: final link failed: bad value. This seems related to libgcc_s.so. https://github.com/NixOS/nixpkgs/issues/108111 --- pkgs/top-level/all-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c243db14c12..b35bf893e02 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9180,7 +9180,8 @@ in then ../development/compilers/gcc/6 else ../development/compilers/gcc/10); gcc = if (with stdenv.targetPlatform; isVc4 || libc == "relibc") - then gcc6 else gcc10; + then gcc6 else + if stdenv.targetPlatform.isAarch64 then gcc9 else gcc10; gcc-unwrapped = gcc.cc; gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override { From b9330fe4ebb5f424919a2e88096859742f05954d Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 2 Jan 2021 17:46:40 +0100 Subject: [PATCH 162/162] autoconf: remove buildPackages from main attribute This was accidentally added in 136c0d01d25b030c0d103e989de2d5340904dc51 when doing a search & replace. --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9594ea710e5..1b1bc018615 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11128,7 +11128,7 @@ in autobuild = callPackage ../development/tools/misc/autobuild { }; - autoconf = buildPackages.autoconf270; + autoconf = autoconf270; autoconf-archive = callPackage ../development/tools/misc/autoconf-archive { };