Files
nixpkgs/pkgs/by-name/vi/visual-hexdiff/package.nix
Ihar Hrachyshka 567e8dfd8e treewide: clean up 'meta = with' pattern
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.

Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2025-12-10 18:09:49 +01:00

57 lines
1.6 KiB
Nix

{
stdenv,
lib,
fetchurl,
fetchpatch,
ncurses,
}:
stdenv.mkDerivation {
pname = "visual-hexdiff";
version = "0.0.53";
src = fetchurl {
url = "mirror://ubuntu/pool/universe/h/hexdiff/hexdiff_0.0.53.orig.tar.gz";
hash = "sha256-M1bmkW63pHlfl9zNWEq0EGN1rpVGo+BTUKM9ot4HWqo=";
};
patches = [
# Some changes the debian/ubuntu developers made over the original source code
# See https://changelogs.ubuntu.com/changelogs/pool/universe/h/hexdiff/hexdiff_0.0.53-0ubuntu4/changelog
(fetchpatch {
url = "mirror://ubuntu/pool/universe/h/hexdiff/hexdiff_0.0.53-0ubuntu4.diff.gz";
sha256 = "sha256-X5ONNp9jeACxsulyowDQJ6REX6bty6L4in0/+rq8Wz4=";
decode = "gunzip --stdout";
name = "hexdiff_0.0.53-0ubuntu4.diff";
stripLen = 1;
})
];
postPatch = ''
# Fix compiler error that wants a string literal as format string for `wprintw`
substituteInPlace sel_file.c \
--replace-fail 'wprintw(win, txt_aide_fs[foo]);' 'wprintw(win, "%s", txt_aide_fs[foo]);'
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Fix compiler error on Darwin: conflicting types for 'strdup'
substituteInPlace sel_file.c \
--replace-fail 'char *strdup(char *);' ' '
'';
buildInputs = [ ncurses ];
preInstall = ''
mkdir -p $out/bin/
'';
makeFlags = [ "PREFIX=$(out)" ];
meta = {
description = "Visual hexadecimal difference editor";
homepage = "http://tboudet.free.fr/hexdiff/";
license = lib.licenses.wtfpl;
maintainers = with lib.maintainers; [ erictapen ];
mainProgram = "hexdiff";
platforms = lib.platforms.unix;
};
}