tinyxxd: init at 1.3.5, use as default xxd (#335277)

This commit is contained in:
Emily 2024-08-30 16:49:54 +01:00 committed by GitHub
commit 322e57fa6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 55 additions and 3 deletions

View File

@ -425,6 +425,8 @@
- The `shadowstack` hardening flag has been added, though disabled by default.
- `xxd` is now provided by the `tinyxxd` package, rather than `vim.xxd`, to reduce closure size and vulnerability impact. Since it has the same options and semantics as Vim's `xxd` utility, there is no user impact. Vim's `xxd` remains available as the `vim.xxd` package.
- `restic` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep), available as [`services.restic.backups.<name>.inhibitsSleep`](#opt-services.restic.backups._name_.inhibitsSleep).
- Support for *runner registration tokens* has been [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/380872)

View File

@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
vim,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tinyxxd";
version = "1.3.5";
src = fetchFromGitHub {
repo = "tinyxxd";
owner = "xyproto";
rev = "v${finalAttrs.version}";
hash = "sha256-W7BrQga98ACrhTHF3UlGQMRmcdJaxgorDP6FpD5mr2A=";
};
nativeBuildInputs = [ installShellFiles ];
installFlags = [ "PREFIX=$(out)" ];
postInstall = ''
installManPage tinyxxd.1
# Allow using `tinyxxd` as `xxd`. This is similar to the Arch packaging.
# https://gitlab.archlinux.org/archlinux/packaging/packages/tinyxxd/-/blob/main/PKGBUILD
ln -s $out/bin/{tiny,}xxd
ln -s $out/share/man/man1/{tiny,}xxd.1.gz
'';
meta = {
homepage = "https://github.com/xyproto/tinyxxd";
description = "Drop-in replacement and standalone version of the hex dump utility that comes with ViM";
license = [
lib.licenses.mit # or
lib.licenses.gpl2Only
];
mainProgram = "tinyxxd";
maintainers = with lib.maintainers; [
emily
philiptaron
];
platforms = lib.platforms.unix;
# If the two `xxd` providers are present, choose this one.
priority = (vim.xxd.meta.priority or lib.meta.defaultPriority) - 1;
};
})

View File

@ -224,9 +224,9 @@ let
darwin = pkgs.darwin.basic_cmds;
};
xxd = {
linux = pkgs.vim.xxd;
darwin = pkgs.vim.xxd;
freebsd = pkgs.vim.xxd;
linux = pkgs.tinyxxd;
darwin = pkgs.tinyxxd;
freebsd = pkgs.tinyxxd;
};
};