Unverified Commit a75d28a5 authored by Kerstin's avatar Kerstin Committed by GitHub
Browse files

visual-hexdiff: init at 0.0.53 (#327172)

parents 930a52aa aef06146
Loading
Loading
Loading
Loading
+57 −0
Original line number Diff line number Diff line
{
  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 = with lib; {
    description = "Visual hexadecimal difference editor";
    homepage = "http://tboudet.free.fr/hexdiff/";
    license = licenses.wtfpl;
    maintainers = with maintainers; [ erictapen ];
    mainProgram = "hexdiff";
    platforms = platforms.unix;
  };
}