From 56b204e3c4a9efe0d71bad9cb5f6307e8c01cd6f Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 19 Jul 2026 14:07:58 +0200 Subject: [PATCH 1/3] rc: add readline and editline variants to passthru.tests --- pkgs/by-name/rc/rc/package.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/rc/rc/package.nix b/pkgs/by-name/rc/rc/package.nix index 95d3d3050ebc..daac9aaf2753 100644 --- a/pkgs/by-name/rc/rc/package.nix +++ b/pkgs/by-name/rc/rc/package.nix @@ -4,6 +4,7 @@ fetchFromGitHub, fetchpatch2, pkgsStatic, + rc, byacc, ed, ncurses, @@ -88,7 +89,21 @@ stdenv.mkDerivation (finalAttrs: { passthru = { shellPath = "/bin/rc"; - tests.static = pkgsStatic.rc; + tests = { + static = pkgsStatic.rc; + readline = lib.optionalDrvAttr (!stdenv.hostPlatform.isDarwin) ( + rc.override { + readlineSupport = true; + lineEditingLibrary = "readline"; + } + ); + editline = lib.optionalDrvAttr (!stdenv.hostPlatform.isDarwin) ( + rc.override { + editlineSupport = true; + lineEditingLibrary = "editline"; + } + ); + }; }; meta = { From 77e12b7f34fa3bcf591a8b1760826993a29c7a4a Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Tue, 21 Jul 2026 12:47:23 +0000 Subject: [PATCH 2/3] rc: link ncurses for static readline builds Assisted-by: Claude --- pkgs/by-name/rc/rc/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/rc/rc/package.nix b/pkgs/by-name/rc/rc/package.nix index daac9aaf2753..4d2c11a3cf61 100644 --- a/pkgs/by-name/rc/rc/package.nix +++ b/pkgs/by-name/rc/rc/package.nix @@ -12,8 +12,7 @@ installShellFiles, historySupport ? true, readlineSupport ? true, - lineEditingLibrary ? - if (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isStatic) then "null" else "readline", + lineEditingLibrary ? if stdenv.hostPlatform.isDarwin then "null" else "readline", }: assert lib.elem lineEditingLibrary [ @@ -74,7 +73,9 @@ stdenv.mkDerivation (finalAttrs: { "MANPREFIX=${placeholder "man"}/share/man" "CPPFLAGS=\"-DSIGCLD=SIGCHLD\"" "EDIT=${lineEditingLibrary}" - ]; + ] + # Required to fix static build, harmless for dynamic builds. + ++ lib.optional (lineEditingLibrary == "readline") "LDLIBS=-lncurses"; buildFlags = [ "all" From 4f369389370895efc9836c3e9e85bb6375cc073b Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Sat, 21 Mar 2026 06:00:00 -0400 Subject: [PATCH 3/3] rc: fix build with "editline" library --- pkgs/by-name/rc/rc/package.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/rc/rc/package.nix b/pkgs/by-name/rc/rc/package.nix index 4d2c11a3cf61..c8697d6bf930 100644 --- a/pkgs/by-name/rc/rc/package.nix +++ b/pkgs/by-name/rc/rc/package.nix @@ -9,9 +9,11 @@ ed, ncurses, readline, + editline, installShellFiles, historySupport ? true, readlineSupport ? true, + editlineSupport ? false, lineEditingLibrary ? if stdenv.hostPlatform.isDarwin then "null" else "readline", }: @@ -25,10 +27,10 @@ assert lib.elem lineEditingLibrary [ assert !(lib.elem lineEditingLibrary [ "edit" - "editline" "vrl" ]); # broken assert (lineEditingLibrary == "readline") -> readlineSupport; +assert (lineEditingLibrary == "editline") -> editlineSupport; stdenv.mkDerivation (finalAttrs: { pname = "rc"; version = "unstable-2025-10-01"; @@ -61,9 +63,8 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ ncurses ] - ++ lib.optionals readlineSupport [ - readline - ]; + ++ lib.optional readlineSupport readline + ++ lib.optional editlineSupport editline; strictDeps = true;