diff --git a/pkgs/applications/file-managers/ytree/default.nix b/pkgs/applications/file-managers/ytree/default.nix deleted file mode 100644 index 4ba320919ef3..000000000000 --- a/pkgs/applications/file-managers/ytree/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, stdenv -, fetchurl -, ncurses -, readline -}: - -stdenv.mkDerivation rec { - pname = "ytree"; - version = "2.05"; - - src = fetchurl { - url = "https://han.de/~werner/${pname}-${version}.tar.gz"; - sha256 = "sha256-jPixUeSRO1t/epHf/VxzBhBqQkd+xE5x1ix19mq2Glc="; - }; - - buildInputs = [ - ncurses - readline - ]; - - # don't save timestamp, in order to improve reproducibility - postPatch = '' - substituteInPlace Makefile --replace 'gzip' 'gzip -n' - ''; - - installFlags = [ "DESTDIR=${placeholder "out"}" ]; - - preInstall = '' - mkdir -p $out/bin $out/share/man/man1 - ''; - - meta = with lib; { - description = "A curses-based file manager similar to DOS Xtree(TM)"; - homepage = "https://www.han.de/~werner/ytree.html"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = with platforms; unix; - }; -} -# TODO: X11 support diff --git a/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff new file mode 100644 index 000000000000..7a682ce7e4c6 --- /dev/null +++ b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff @@ -0,0 +1,39 @@ +diff -Naur ytree-2.06-old/Makefile ytree-2.06-new/Makefile +--- ytree-2.06-old/Makefile 2023-11-26 06:15:34.000000000 -0300 ++++ ytree-2.06-new/Makefile 2023-12-01 12:25:36.641958285 -0300 +@@ -11,13 +11,13 @@ + # ADD_CFLAGS: Add -DVI_KEYS if you want vi-cursor-keys + # + +-DESTDIR = /usr ++PREFIX = /usr + + ADD_CFLAGS = -O # -DVI_KEYS + +-BINDIR = $(DESTDIR)/bin +-MANDIR = $(DESTDIR)/share/man/man1 +-MANESDIR = $(DESTDIR)/share/man/es/man1 ++BINDIR = $(DESTDIR)$(PREFIX)/bin ++MANDIR = $(DESTDIR)$(PREFIX)/share/man/man1 ++MANESDIR = $(DESTDIR)$(PREFIX)/share/man/es/man1 + + + # Uncomment the lines for your system (default is linux) +@@ -224,14 +224,14 @@ + + install: $(MAIN) + install $(MAIN) $(BINDIR) +- gzip -9c ytree.1 > ytree.1.gz ++ gzip -n -9c ytree.1 > ytree.1.gz + if [ -d $(MANDIR) ]; then install -m 0644 ytree.1.gz $(MANDIR)/; fi +- gzip -9c ytree.1.es > ytree.1.es.gz ++ gzip -n -9c ytree.1.es > ytree.1.es.gz + if [ -d $(MANESDIR) ]; then install -m 0644 ytree.1.es.gz $(MANESDIR)/; fi + + clean: + rm -f core *.o *~ *.orig *.bak +- ++ + clobber: clean + rm -f $(MAIN) ytree.1.es.gz ytree.1.gz + diff --git a/pkgs/by-name/yt/ytree/package.nix b/pkgs/by-name/yt/ytree/package.nix new file mode 100644 index 000000000000..6307d39b6629 --- /dev/null +++ b/pkgs/by-name/yt/ytree/package.nix @@ -0,0 +1,46 @@ +{ lib +, stdenv +, fetchurl +, ncurses +, readline +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ytree"; + version = "2.06"; + + src = fetchurl { + url = "https://han.de/~werner/ytree-${finalAttrs.version}.tar.gz"; + hash = "sha256-QRqI779ZnnytVUC7A7Zt0zyWexRwBnp+CVQcNvnvWeY="; + }; + + patches = [ + # Two fixups (because diff files can't be smaller): + # - Create PREFIX instead of using DESTDIR + # - use gzip without timestamp, to improve reproducibility + ./0001-use-prefix-and-gzip-n.diff + ]; + + buildInputs = [ + ncurses + readline + ]; + + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + + installFlags = [ "PREFIX=${placeholder "out"}" ]; + + preInstall = '' + mkdir -p $out/bin $out/share/man/man1 + ''; + + meta = { + homepage = "https://www.han.de/~werner/ytree.html"; + description = "A curses-based file manager similar to DOS Xtree(TM)"; + license = with lib.licenses; [ gpl2Plus ]; + mainProgram = "ytree"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; + }; +}) +# TODO: X11 support diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d450d8d13e51..35602fac3d7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3027,8 +3027,6 @@ with pkgs; xplorer = callPackage ../applications/file-managers/xplorer { }; - ytree = callPackage ../applications/file-managers/ytree { }; - johnny-reborn-engine = callPackage ../applications/misc/johnny-reborn { }; johnny-reborn = callPackage ../applications/misc/johnny-reborn/with-data.nix { };