Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions pkgs/by-name/uu/uutils-coreutils/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
python3Packages,
versionCheckHook,
nix-update-script,

withDocs ? true,
prefix ? "uutils-",
buildMulticallBinary ? true,
}:
Expand All @@ -23,16 +23,19 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-OZ9AsCJmQmn271OzEmqSZtt1OPn7zHTScQiiqvPhqB0=";
};

postPatch = ''
# don't enforce the building of the man page
substituteInPlace GNUmakefile \
--replace 'install: build' 'install:'
'';

cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "uutils-coreutils-${finalAttrs.version}";
hash = "sha256-DsVLp2Y15k+KQI7S6A4hylOhJN016MEdEWx9VQIQEgQ=";
};

nativeBuildInputs = [
rustPlatform.cargoSetupHook
python3Packages.sphinx
];
nativeBuildInputs = [ rustPlatform.cargoSetupHook ] ++ lib.optional withDocs python3Packages.sphinx;

makeFlags =
[
Expand All @@ -42,7 +45,11 @@ stdenv.mkDerivation (finalAttrs: {
"INSTALLDIR_MAN=${placeholder "out"}/share/man/man1"
]
++ lib.optionals (prefix != null) [ "PROG_PREFIX=${prefix}" ]
++ lib.optionals buildMulticallBinary [ "MULTICALL=y" ];
++ lib.optionals buildMulticallBinary [ "MULTICALL=y" ]
++ lib.optionals (!withDocs) [
"build-coreutils"
"build-pkgs"
];

# too many impure/platform-dependent tests
doCheck = false;
Expand All @@ -69,7 +76,6 @@ stdenv.mkDerivation (finalAttrs: {
CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
'';
homepage = "https://github.com/uutils/coreutils";
changelog = "https://github.com/uutils/coreutils/releases/tag/${finalAttrs.version}";
maintainers = with lib.maintainers; [ siraben ];
license = lib.licenses.mit;
platforms = lib.platforms.unix;
Expand Down
4 changes: 4 additions & 0 deletions pkgs/development/tools/misc/autoconf/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
hash = "sha256-uohcExlXjWyU1G6bDc60AUyq/iSQ5Deg28o/JwoiP1o=";
};

patches = [
./uutils-mkdirp.patch
];

strictDeps = true;
nativeBuildInputs = [
m4
Expand Down
14 changes: 14 additions & 0 deletions pkgs/development/tools/misc/autoconf/uutils-mkdirp.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4
index 8226a7c..3b231b9 100644
--- a/lib/autoconf/programs.m4
+++ b/lib/autoconf/programs.m4
@@ -701,7 +701,8 @@ if test -z "$MKDIR_P"; then
case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir ('*'coreutils) '* | \
*'BusyBox '* | \
- 'mkdir (fileutils) '4.1*)
+ 'mkdir (fileutils) '4.1* | \
+ 'mkdir 0.0.'*)
ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
break 3;;
esac
48 changes: 44 additions & 4 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,36 @@ with pkgs;
gccStdenvNoLibs = mkStdenvNoLibs gccStdenv;
clangStdenvNoLibs = mkStdenvNoLibs clangStdenv;

stdenvUutilsCoreutils =
let
uutils-coreutils = pkgs.uutils-coreutils-minimal;
bintools = wrapBintoolsWith {
bintools = stdenv.cc.bintools.bintools;
coreutils = uutils-coreutils;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
coreutils = uutils-coreutils;
coreutils = buildPackages.uutils-coreutils;

};
in
stdenv.override {
cc = stdenv.cc.override {
coreutils = uutils-coreutils;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
coreutils = uutils-coreutils;
coreutils = buildPackages.uutils-coreutils;

inherit bintools;
};

initialPath = (lib.remove coreutils stdenv.initialPath) ++ [ uutils-coreutils ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
initialPath = (lib.remove coreutils stdenv.initialPath) ++ [ uutils-coreutils ];
initialPath = (lib.remove buildPackages.coreutils stdenv.initialPath) ++ [ buildPackages.uutils-coreutils ];

allowedRequisites = lib.mapNullable (
rs:
(lib.remove [
bintools
expand-response-params
coreutils
] rs)
++ [
bintools
expand-response-params
uutils-coreutils
]
Comment on lines +111 to +120
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(lib.remove [
bintools
expand-response-params
coreutils
] rs)
++ [
bintools
expand-response-params
uutils-coreutils
]
(lib.remove [
buildPackages.bintools
buildPackages.expand-response-params
buildPackages.coreutils
] rs)
++ [
buildPackages.bintools
buildPackages.expand-response-params
buildPackages.uutils-coreutils
]

) (stdenv.allowedRequisites or null);
};

# For convenience, allow callers to get the path to Nixpkgs.
path = ../..;

Expand Down Expand Up @@ -2720,13 +2750,15 @@ with pkgs;
llvmPackages = llvmPackages_13;
};

coreutils = callPackage ../tools/misc/coreutils { };
coreutils =
if stdenv.hostPlatform.useUutilsCoreutils or false then uutils-coreutils else gnu-coreutils;
gnu-coreutils = callPackage ../tools/misc/coreutils { };

# The coreutils above are built with dependencies from
# bootstrapping. We cannot override it here, because that pulls in
# openssl from the previous stage as well.
coreutils-full = callPackage ../tools/misc/coreutils { minimal = false; };
coreutils-prefixed = coreutils.override {
coreutils-full = gnu-coreutils.override { minimal = false; };
coreutils-prefixed = gnu-coreutils.override {
withPrefix = true;
singleBinary = false;
};
Expand Down Expand Up @@ -2887,6 +2919,11 @@ with pkgs;

uutils-coreutils-noprefix = uutils-coreutils.override { prefix = null; };

uutils-coreutils-minimal = pkgs.uutils-coreutils.override {
prefix = null;
withDocs = false;
};

vorta = qt6Packages.callPackage ../applications/backup/vorta { };

xkcdpass = with python3Packages; toPythonApplication xkcdpass;
Expand Down Expand Up @@ -2987,7 +3024,10 @@ with pkgs;
inherit (windows) libgnurx;
};

findutils = callPackage ../tools/misc/findutils { };
findutils = callPackage ../tools/misc/findutils {
coreutils =
if stdenv.hostPlatform.useUutilsCoreutils or false then uutils-coreutils-minimal else gnu-coreutils;
};

bsd-fingerd = bsd-finger.override {
buildProduct = "daemon";
Expand Down
15 changes: 15 additions & 0 deletions pkgs/top-level/stage.nix
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,21 @@ let
else
throw "Musl libc only supports 64-bit Linux systems.";

pkgsUutils =
if stdenv.hostPlatform.isLinux && stdenv.buildPlatform.is64bit then
nixpkgsFun {
overlays = [
(self': super': {
pkgsUutils = super';
})
] ++ overlays;
${if stdenv.hostPlatform == stdenv.buildPlatform then "localSystem" else "crossSystem"} = {
config = lib.systems.parse.tripleFromSystem (makeMuslParsedPlatform stdenv.hostPlatform.parsed);
};
}
else
throw "uutils only supports 64-bit Linux systems.";

# All packages built for i686 Linux.
# Used by wine, firefox with debugging version of Flash, ...
pkgsi686Linux =
Expand Down
Loading