From 709cd5ed8fbc25361f985a51fa342aa848461d29 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 1 Dec 2023 14:51:22 +0000 Subject: [PATCH 1/3] ytree: 2.05 -> 2.06 --- pkgs/applications/file-managers/ytree/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/file-managers/ytree/default.nix b/pkgs/applications/file-managers/ytree/default.nix index 4ba320919ef3..a99fd2f42c9c 100644 --- a/pkgs/applications/file-managers/ytree/default.nix +++ b/pkgs/applications/file-managers/ytree/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "ytree"; - version = "2.05"; + version = "2.06"; src = fetchurl { url = "https://han.de/~werner/${pname}-${version}.tar.gz"; - sha256 = "sha256-jPixUeSRO1t/epHf/VxzBhBqQkd+xE5x1ix19mq2Glc="; + sha256 = "sha256-QRqI779ZnnytVUC7A7Zt0zyWexRwBnp+CVQcNvnvWeY="; }; buildInputs = [ From bb595d0a8a9058e4140e7cc11254a13197f2f543 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 1 Dec 2023 12:38:49 -0300 Subject: [PATCH 2/3] ytree: use finalAttrs desin pattern Ans also a file patch instead of postPatch. --- .../ytree/0001-use-prefix-and-gzip-n.diff | 39 +++++++++++++++++++ .../file-managers/ytree/default.nix | 36 ++++++++++------- 2 files changed, 60 insertions(+), 15 deletions(-) create mode 100644 pkgs/applications/file-managers/ytree/0001-use-prefix-and-gzip-n.diff diff --git a/pkgs/applications/file-managers/ytree/0001-use-prefix-and-gzip-n.diff b/pkgs/applications/file-managers/ytree/0001-use-prefix-and-gzip-n.diff new file mode 100644 index 000000000000..7a682ce7e4c6 --- /dev/null +++ b/pkgs/applications/file-managers/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/applications/file-managers/ytree/default.nix b/pkgs/applications/file-managers/ytree/default.nix index a99fd2f42c9c..6307d39b6629 100644 --- a/pkgs/applications/file-managers/ytree/default.nix +++ b/pkgs/applications/file-managers/ytree/default.nix @@ -1,40 +1,46 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl , ncurses , readline }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ytree"; version = "2.06"; src = fetchurl { - url = "https://han.de/~werner/${pname}-${version}.tar.gz"; - sha256 = "sha256-QRqI779ZnnytVUC7A7Zt0zyWexRwBnp+CVQcNvnvWeY="; + 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 ]; - # don't save timestamp, in order to improve reproducibility - postPatch = '' - substituteInPlace Makefile --replace 'gzip' 'gzip -n' - ''; + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; - installFlags = [ "DESTDIR=${placeholder "out"}" ]; + installFlags = [ "PREFIX=${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)"; + meta = { homepage = "https://www.han.de/~werner/ytree.html"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = with platforms; unix; + 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 From e6ab988be0c19258652dca0c81c6964725bba324 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 1 Dec 2023 12:41:06 -0300 Subject: [PATCH 3/3] ytree: migrate to by-name --- .../yt}/ytree/0001-use-prefix-and-gzip-n.diff | 0 .../ytree/default.nix => by-name/yt/ytree/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{applications/file-managers => by-name/yt}/ytree/0001-use-prefix-and-gzip-n.diff (100%) rename pkgs/{applications/file-managers/ytree/default.nix => by-name/yt/ytree/package.nix} (100%) diff --git a/pkgs/applications/file-managers/ytree/0001-use-prefix-and-gzip-n.diff b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff similarity index 100% rename from pkgs/applications/file-managers/ytree/0001-use-prefix-and-gzip-n.diff rename to pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff diff --git a/pkgs/applications/file-managers/ytree/default.nix b/pkgs/by-name/yt/ytree/package.nix similarity index 100% rename from pkgs/applications/file-managers/ytree/default.nix rename to pkgs/by-name/yt/ytree/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5a971c26f4b6..3009eddf94f7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3008,8 +3008,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 { };