···32 patchesSrc = base.upstreamPatchTarball;
3334 srcs = [ mainSrc ] ++ lib.optional enableCopyDevicesPatch patchesSrc;
35- patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"
36- ++ base.extraPatches;
3738 buildInputs = [ libiconv zlib popt ]
39 ++ lib.optional enableACLs acl
···49 # disable the included zlib explicitly as it otherwise still compiles and
50 # links them even.
51 "--with-included-zlib=no"
52- ]
53- # Work around issue with cross-compilation:
54- # configure.sh: error: cannot run test program while cross compiling
55- # Remove once 3.2.4 or more recent is released.
56- # The following PR should fix the cross-compilation issue.
57- # Test using `nix-build -A pkgsCross.aarch64-multiplatform.rsync`.
58- # https://github.com/WayneD/rsync/commit/b7fab6f285ff0ff3816b109a8c3131b6ded0b484
59- ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--enable-simd=no"
60- ;
6162 passthru.tests = { inherit (nixosTests) rsyncd; };
63
···32 patchesSrc = base.upstreamPatchTarball;
3334 srcs = [ mainSrc ] ++ lib.optional enableCopyDevicesPatch patchesSrc;
35+ patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
03637 buildInputs = [ libiconv zlib popt ]
38 ++ lib.optional enableACLs acl
···48 # disable the included zlib explicitly as it otherwise still compiles and
49 # links them even.
50 "--with-included-zlib=no"
51+ ];
000000005253 passthru.tests = { inherit (nixosTests) rsyncd; };
54
···3stdenv.mkDerivation {
4 name = "expand-response-params";
5 src = ./expand-response-params.c;
006 # Work around "stdenv-darwin-boot-2 is not allowed to refer to path
7 # /nix/store/...-expand-response-params.c"
8 unpackPhase = ''
···3stdenv.mkDerivation {
4 name = "expand-response-params";
5 src = ./expand-response-params.c;
6+ strictDeps = true;
7+ enableParallelBuilding = true;
8 # Work around "stdenv-darwin-boot-2 is not allowed to refer to path
9 # /nix/store/...-expand-response-params.c"
10 unpackPhase = ''
···67 sha256 = "sha256-KZ5VrzDxVpGwFdjc+OyuckEkElaeWy7OIDYXU6RW8vk=";
68 };
69070 # perl is used for testing go vet
71 nativeBuildInputs = [ perl which pkg-config procps ];
72 buildInputs = [ cacert pcre ]
···67 sha256 = "sha256-KZ5VrzDxVpGwFdjc+OyuckEkElaeWy7OIDYXU6RW8vk=";
68 };
6970+ strictDeps = true;
71 # perl is used for testing go vet
72 nativeBuildInputs = [ perl which pkg-config procps ];
73 buildInputs = [ cacert pcre ]
+1
pkgs/development/compilers/go/1.18.nix
···67 sha256 = "sha256-LETQPqLDQJITerkZumAvLCYaA40I60aFKKPzoo5WZ+I=";
68 };
69070 # perl is used for testing go vet
71 nativeBuildInputs = [ perl which pkg-config procps ];
72 buildInputs = [ cacert pcre ]
···67 sha256 = "sha256-LETQPqLDQJITerkZumAvLCYaA40I60aFKKPzoo5WZ+I=";
68 };
6970+ strictDeps = true;
71 # perl is used for testing go vet
72 nativeBuildInputs = [ perl which pkg-config procps ];
73 buildInputs = [ cacert pcre ]
-64
pkgs/development/compilers/rust/1_60.nix
···1-# New rust versions should first go to staging.
2-# Things to check after updating:
3-# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
4-# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
5-# This testing can be also done by other volunteers as part of the pull
6-# request review, in case platforms cannot be covered.
7-# 2. The LLVM version used for building should match with rust upstream.
8-# Check the version number in the src/llvm-project git submodule in:
9-# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
10-# 3. Firefox and Thunderbird should still build on x86_64-linux.
11-12-{ stdenv, lib
13-, buildPackages
14-, newScope, callPackage
15-, CoreFoundation, Security, SystemConfiguration
16-, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
17-, makeRustPlatform
18-, llvmPackages_11
19-, llvmPackages_14, llvm_14
20-} @ args:
21-22-import ./default.nix {
23- rustcVersion = "1.60.0";
24- rustcSha256 = "1drqr0a26x1rb2w3kj0i6abhgbs3jx5qqkrcwbwdlx7n3inq5ji0";
25-26- llvmSharedForBuild = pkgsBuildBuild.llvmPackages_14.libllvm.override { enableSharedLibraries = true; };
27- llvmSharedForHost = pkgsBuildHost.llvmPackages_14.libllvm.override { enableSharedLibraries = true; };
28- llvmSharedForTarget = pkgsBuildTarget.llvmPackages_14.libllvm.override { enableSharedLibraries = true; };
29-30- llvmBootstrapForDarwin = llvmPackages_11;
31-32- # For use at runtime
33- llvmShared = llvm_14.override { enableSharedLibraries = true; };
34-35- # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox
36- llvmPackages = llvmPackages_14;
37-38- # Note: the version MUST be one version prior to the version we're
39- # building
40- bootstrapVersion = "1.59.0";
41-42- # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
43- bootstrapHashes = {
44- i686-unknown-linux-gnu = "f57ebfafed1e857b2b1dc1a22cf1133766f68a0759dc2f717dec54a8d4385dec";
45- x86_64-unknown-linux-gnu = "0c1c2da3fa26372e5178123aa5bb0fdcd4933fbad9bfb268ffbd71807182ecae";
46- x86_64-unknown-linux-musl = "c0ae76fa4bb0f1c85b86b9f7637db0fddf5084ce4c8f86c4d4acc3c41813201f";
47- arm-unknown-linux-gnueabihf = "f934ddd8533d5df922e3397a5d30404930c5992c6c91c72d3e1475e2978e8793";
48- armv7-unknown-linux-gnueabihf = "acb0f793c517de927b17e1c85135f6d58ae7430a8bd094a92009bcf0d4bbb8eb";
49- aarch64-unknown-linux-gnu = "ab5da30a3de5433e26cbc74c56b9d97b569769fc2e456fc54378adc8baaee4f0";
50- aarch64-unknown-linux-musl = "a3f8afdf23c98e6d25bf3b4bfcf5e9a4712f4c425f3754500931232d946204a9";
51- x86_64-apple-darwin = "d82204f536af0c7bfd2ea2213dc46b99911860cfc5517f7321244412ae96f159";
52- aarch64-apple-darwin = "5449ae915982967bae97746ce8bea30844f9ab40b4ee4da392b9997e0e7b2926";
53- powerpc64le-unknown-linux-gnu = "6892a706ea8118344a4f4624b57a99460a784b5b30cccd9df430c33008d341f3";
54- riscv64gc-unknown-linux-gnu = "e0cb22c2383d73b3928c17a630ae8d37f6787ddcea7871c9b3e21fd4560226b2";
55- mips64el-unknown-linux-gnuabi64 = "2e2c404741b1dd02b5d73361f187568a91a8531997ade41bd855eca3972e2a5b";
56- };
57-58- selectRustPackage = pkgs: pkgs.rust_1_60;
59-60- rustcPatches = [
61- ];
62-}
63-64-(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_14" "llvm_14"])
···1+# New rust versions should first go to staging.
2+# Things to check after updating:
3+# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
4+# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
5+# This testing can be also done by other volunteers as part of the pull
6+# request review, in case platforms cannot be covered.
7+# 2. The LLVM version used for building should match with rust upstream.
8+# Check the version number in the src/llvm-project git submodule in:
9+# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
10+# 3. Firefox and Thunderbird should still build on x86_64-linux.
11+12+{ stdenv, lib
13+, buildPackages
14+, newScope, callPackage
15+, CoreFoundation, Security, SystemConfiguration
16+, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
17+, makeRustPlatform
18+, llvmPackages_11
19+, llvmPackages_14, llvm_14
20+} @ args:
21+22+import ./default.nix {
23+ rustcVersion = "1.61.0";
24+ rustcSha256 = "1vfs05hkf9ilk19b2vahqn8l6k17pl9nc1ky9kgspaascx8l62xd";
25+26+ llvmSharedForBuild = pkgsBuildBuild.llvmPackages_14.libllvm.override { enableSharedLibraries = true; };
27+ llvmSharedForHost = pkgsBuildHost.llvmPackages_14.libllvm.override { enableSharedLibraries = true; };
28+ llvmSharedForTarget = pkgsBuildTarget.llvmPackages_14.libllvm.override { enableSharedLibraries = true; };
29+30+ llvmBootstrapForDarwin = llvmPackages_11;
31+32+ # For use at runtime
33+ llvmShared = llvm_14.override { enableSharedLibraries = true; };
34+35+ # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox
36+ llvmPackages = llvmPackages_14;
37+38+ # Note: the version MUST be one version prior to the version we're
39+ # building
40+ bootstrapVersion = "1.60.0";
41+42+ # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
43+ bootstrapHashes = {
44+ i686-unknown-linux-gnu = "2a635269dc9ad8f7bbdf168cdf120e1ec803d36adc832c0804f38e0acc3e2357";
45+ x86_64-unknown-linux-gnu = "b8a4c3959367d053825e31f90a5eb86418eb0d80cacda52bfa80b078e18150d5";
46+ x86_64-unknown-linux-musl = "f0feefcb1985c5c894ad9b0f44e6f09900b31c0eb5f49827da9f37d332a63894";
47+ arm-unknown-linux-gnueabihf = "161b2b97d4512080350cc6656b0765ebae870335e86c2896bed08b32c66fbdf4";
48+ armv7-unknown-linux-gnueabihf = "f2d76e9458949675bab8fcae44f600d30d91f62bf93c127b6b1fe3130e67d5d9";
49+ aarch64-unknown-linux-gnu = "99c419c2f35d4324446481c39402c7baecd7a8baed7edca9f8d6bbd33c05550c";
50+ aarch64-unknown-linux-musl = "fe7e9bad8beea84973f7ffa39879929de4ac8afad872650fb0af6b068f05faa6";
51+ x86_64-apple-darwin = "0b10dc45cddc4d2355e38cac86d71a504327cb41d41d702d4050b9847ad4258c";
52+ aarch64-apple-darwin = "b532672c278c25683ca63d78e82bae829eea1a32308e844954fb66cfe34ad222";
53+ powerpc64le-unknown-linux-gnu = "80125e90285b214c2b1f56ab86a09c8509aa17aec9d7127960a86a7008e8f7de";
54+ riscv64gc-unknown-linux-gnu = "9cc7c6804bcbbecb9c35232035fc488dbcc8487606cc6be3da553cc446bf0fcd";
55+ mips64el-unknown-linux-gnuabi64 = "d413681c22511259f7cd15414a00050cf151d46ac0f9282e765faeb86688deac";
56+ };
57+58+ selectRustPackage = pkgs: pkgs.rust_1_61;
59+60+ rustcPatches = [
61+ ];
62+}
63+64+(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_14" "llvm_14"])
···8# `glibc` needs to be overridden here because it's still needed to `./configure` the source in order
9# to have a build environment where we can call the needed make target.
1011-glibc.overrideAttrs ({ meta ? {}, ... }: {
12 pname = "glibc-mtrace";
1314 buildPhase = ''
···25 mv malloc/mtrace $out/bin/
26 '';
2728- # Perl interpreter used for `mtrace`.
29- buildInputs = [ perl ];
003031 # Reset a few things declared by `pkgs.glibc`.
32 outputs = [ "out" ];
33 separateDebugInfo = false;
3435- meta = meta // {
36 description = "Perl script used to interpret and provide human readable output of the trace log contained in the file mtracedata, whose contents were produced by mtrace(3).";
37 };
38})
···8# `glibc` needs to be overridden here because it's still needed to `./configure` the source in order
9# to have a build environment where we can call the needed make target.
1011+glibc.overrideAttrs (oldAttrs: {
12 pname = "glibc-mtrace";
1314 buildPhase = ''
···25 mv malloc/mtrace $out/bin/
26 '';
2728+ # Perl checked during configure
29+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ perl ];
30+ # Perl shebang used for `mtrace`.
31+ buildInputs = oldAttrs.buildInputs ++ [ perl ];
3233 # Reset a few things declared by `pkgs.glibc`.
34 outputs = [ "out" ];
35 separateDebugInfo = false;
3637+ meta = oldAttrs.meta // {
38 description = "Perl script used to interpret and provide human readable output of the trace log contained in the file mtracedata, whose contents were produced by mtrace(3).";
39 };
40})
···23 ./preprocessor-warnings.patch
24 ];
250026 doCheck = true;
2728 configureFlags = []
···33 # on Darwin, so disable NLS for now.
34 ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-nls";
35036 nativeBuildInputs =
37 if stdenv.hostPlatform.isNetBSD then [ netbsd.gencat ] else [ gettext ]
38 # Need to regenerate configure script with newer version in order to pass
···23 ./preprocessor-warnings.patch
24 ];
2526+ enableParallelBuilding = true;
27+28 doCheck = true;
2930 configureFlags = []
···35 # on Darwin, so disable NLS for now.
36 ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-nls";
3738+ strictDeps = true;
39 nativeBuildInputs =
40 if stdenv.hostPlatform.isNetBSD then [ netbsd.gencat ] else [ gettext ]
41 # Need to regenerate configure script with newer version in order to pass
+3
pkgs/development/libraries/libffi/default.nix
···2324 patches = [];
25026 outputs = [ "out" "dev" "man" "info" ];
002728 configureFlags = [
29 "--with-gcc-arch=generic" # no detection of -march= or -mtune=
···11}:
1213stdenv.mkDerivation rec {
14- # Note the revision needs to be adjusted.
15- version = "6.3";
00016 pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat";
1718- # We cannot use fetchFromGitHub (which calls fetchzip)
19- # because we need to be able to use fetchurlBoot.
20- src = let
21- # Note the version needs to be adjusted.
22- rev = "v${version}";
23- in fetchurl {
24- url = "https://github.com/mirror/ncurses/archive/${rev}.tar.gz";
25- sha256 = "1mawdjhzl2na2j0dylwc37f5w95rhgyvlwnfhww5rz2r7fgkvayv";
26 };
2728 outputs = [ "out" "dev" "man" ];
···11}:
1213stdenv.mkDerivation rec {
14+ ver = "6.3";
15+ # We pick fresh intermediate release to get a fix for CVE-2022-29458
16+ # which was fixed in 20220416 patchset.
17+ patchver = "20220507";
18+ version = "${ver}-p${patchver}";
19 pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat";
2021+ src = fetchurl {
22+ url = "https://invisible-island.net/archives/ncurses/current/ncurses-${ver}-${patchver}.tgz";
23+ sha256 = "02y4n4my5qqhw3fdhdjv1zc9xpyglzlzmzjwq2zcwbwv738255ja";
0000024 };
2526 outputs = [ "out" "dev" "man" ];
+3-3
pkgs/development/libraries/nspr/default.nix
···78stdenv.mkDerivation rec {
9 pname = "nspr";
10- version = "4.33";
1112 src = fetchurl {
13 url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
14- sha256 = "1mwklrsx05ga30crr9xi6nl4d49d5mzx2x533bxw4l0fpqay6gmj";
15 };
1617 patches = [
···47 meta = with lib; {
48 homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions";
49 description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
50- maintainers = with maintainers; [ ];
51 platforms = platforms.all;
52 license = licenses.mpl20;
53 };
···78stdenv.mkDerivation rec {
9 pname = "nspr";
10+ version = "4.34";
1112 src = fetchurl {
13 url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
14+ sha256 = "177rxcf3lglabs7sgwcvf72ww4v56qa71lc495wl13sxs4f03vxy";
15 };
1617 patches = [
···47 meta = with lib; {
48 homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions";
49 description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
50+ maintainers = with maintainers; [ ajs124 hexa ];
51 platforms = platforms.all;
52 license = licenses.mpl20;
53 };
···90 "test_comparison_invalid"
91 # AssertionError: Regex pattern '"quotechar" must be string, not int'
92 "python-kwargs2"
000093 ] ++ lib.optionals stdenv.isDarwin [
94 "test_locale"
95 "test_clipboard"
···90 "test_comparison_invalid"
91 # AssertionError: Regex pattern '"quotechar" must be string, not int'
92 "python-kwargs2"
93+ # Tests for rounding errors and fails if we have better precision
94+ # than expected, e.g. on amd64 with FMA or on arm64
95+ # https://github.com/pandas-dev/pandas/issues/38921
96+ "test_rolling_var_numerical_issues"
97 ] ++ lib.optionals stdenv.isDarwin [
98 "test_locale"
99 "test_clipboard"
···18 # Otherwise tests fail due to incorrect unicode symbol oconversion.
19 configurePlatforms = [ "build" "host" ];
2021+ # there's a /bin/sh shebang in bin/yacc which when no strictDeps is patched with the build stdenv shell
22+ # however when cross-compiling it would still be patched with the build stdenv shell which would be wrong
23+ # cannot add bash to buildInputs due to infinite recursion
24+ strictDeps = stdenv.hostPlatform != stdenv.buildPlatform;
25+26 nativeBuildInputs = [ m4 perl ] ++ lib.optional stdenv.isSunOS help2man;
27 propagatedBuildInputs = [ m4 ];
28
···1415 ARCH = stdenvNoCC.hostPlatform.linuxArch;
1600017 # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc.
18 # We do this so we have a build->build, not build->host, C compiler.
19 depsBuildBuild = [ buildPackages.stdenv.cc ];
···1415 ARCH = stdenvNoCC.hostPlatform.linuxArch;
1617+ strictDeps = true;
18+ enableParallelBuilding = true;
19+20 # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc.
21 # We do this so we have a build->build, not build->host, C compiler.
22 depsBuildBuild = [ buildPackages.stdenv.cc ];
···1-From e8b56ebd536e82b15542a00c888109471936bfda Mon Sep 17 00:00:00 2001
2-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
3-Date: Fri, 24 Sep 2021 20:57:41 +0100
4-Subject: [PATCH] chmod: fix exit status when ignoring symlinks
5-6-* src/chmod.c: Reorder enum so CH_NOT_APPLIED
7-can be treated as a non error.
8-* tests/chmod/ignore-symlink.sh: A new test.
9-* tests/local.mk: Reference the new test.
10-* NEWS: Mention the bug fix.
11-Fixes https://bugs.gnu.org/50784
12----
13- NEWS | 6 ++++++
14- src/chmod.c | 4 ++--
15- tests/chmod/ignore-symlink.sh | 31 +++++++++++++++++++++++++++++++
16- tests/local.mk | 1 +
17- 4 files changed, 40 insertions(+), 2 deletions(-)
18- create mode 100755 tests/chmod/ignore-symlink.sh
19-20-diff --git a/NEWS b/NEWS
21-index a1470a7d7..1cb3c28a1 100644
22---- a/NEWS
23-+++ b/NEWS
24-@@ -2,6 +2,12 @@ GNU coreutils NEWS -*- outline -*-
25-26- * Noteworthy changes in release ?.? (????-??-??) [?]
27-28-+** Bug fixes
29-+
30-+ chmod -R no longer exits with error status when encountering symlinks.
31-+ All files would be processed correctly, but the exit status was incorrect.
32-+ [bug introduced in coreutils-9.0]
33-+
34-35- * Noteworthy changes in release 9.0 (2021-09-24) [stable]
36-37-diff --git a/src/chmod.c b/src/chmod.c
38-index 37b04f500..57ac47f33 100644
39---- a/src/chmod.c
40-+++ b/src/chmod.c
41-@@ -44,8 +44,8 @@ struct change_status
42- enum
43- {
44- CH_NO_STAT,
45-- CH_NOT_APPLIED,
46- CH_FAILED,
47-+ CH_NOT_APPLIED,
48- CH_NO_CHANGE_REQUESTED,
49- CH_SUCCEEDED
50- }
51-@@ -322,7 +322,7 @@ process_file (FTS *fts, FTSENT *ent)
52- if ( ! recurse)
53- fts_set (fts, ent, FTS_SKIP);
54-55-- return CH_NO_CHANGE_REQUESTED <= ch.status;
56-+ return CH_NOT_APPLIED <= ch.status;
57- }
58-59- /* Recursively change the modes of the specified FILES (the last entry
60-diff --git a/tests/chmod/ignore-symlink.sh b/tests/chmod/ignore-symlink.sh
61-new file mode 100755
62-index 000000000..5ce3de816
63---- /dev/null
64-+++ b/tests/chmod/ignore-symlink.sh
65-@@ -0,0 +1,31 @@
66-+#!/bin/sh
67-+# Test for proper exit code of chmod on a processed symlink.
68-+
69-+# Copyright (C) 2021 Free Software Foundation, Inc.
70-+
71-+# This program is free software: you can redistribute it and/or modify
72-+# it under the terms of the GNU General Public License as published by
73-+# the Free Software Foundation, either version 3 of the License, or
74-+# (at your option) any later version.
75-+
76-+# This program is distributed in the hope that it will be useful,
77-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
78-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
79-+# GNU General Public License for more details.
80-+
81-+# You should have received a copy of the GNU General Public License
82-+# along with this program. If not, see <https://www.gnu.org/licenses/>.
83-+
84-+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
85-+print_ver_ chmod
86-+
87-+mkdir dir || framework_failure_
88-+touch dir/f || framework_failure_
89-+ln -s f dir/l || framework_failure_
90-+
91-+# This operation ignores symlinks but should succeed.
92-+chmod u+w -R dir 2> out || fail=1
93-+
94-+compare /dev/null out || fail=1
95-+
96-+Exit $fail
97-diff --git a/tests/local.mk b/tests/local.mk
98-index 228d0e368..b5b893fb7 100644
99---- a/tests/local.mk
100-+++ b/tests/local.mk
101-@@ -456,6 +456,7 @@ all_tests = \
102- tests/chmod/c-option.sh \
103- tests/chmod/equal-x.sh \
104- tests/chmod/equals.sh \
105-+ tests/chmod/ignore-symlink.sh \
106- tests/chmod/inaccessible.sh \
107- tests/chmod/octal.sh \
108- tests/chmod/setgid.sh \