From a12343d42659a62688e673b115b6ccfa84cbaa35 Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Wed, 19 Mar 2025 18:11:35 -0700 Subject: [PATCH 1/2] editline: use finalAttrs --- pkgs/by-name/ed/editline/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ed/editline/package.nix b/pkgs/by-name/ed/editline/package.nix index c8f7558f62f7..248e416bf9d8 100644 --- a/pkgs/by-name/ed/editline/package.nix +++ b/pkgs/by-name/ed/editline/package.nix @@ -7,13 +7,13 @@ fetchpatch, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "editline"; version = "1.17.1"; src = fetchFromGitHub { owner = "troglobit"; repo = "editline"; - rev = version; + rev = finalAttrs.version; sha256 = "sha256-0FeDUVCUahbweH24nfaZwa7j7lSfZh1TnQK7KYqO+3g="; }; @@ -53,4 +53,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ oxalica ]; platforms = platforms.all; }; -} +}) From 477b55586a24f80c6c732858c8025fdee3c4a887 Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Wed, 19 Mar 2025 18:11:47 -0700 Subject: [PATCH 2/2] editline: enable building with ncurses `editline` is useful without `ncurses`, but if built with `ncurses` it gains the ability to query the user's terminal size. This configuration is used by Lix, so let's add an option to enable this. --- pkgs/by-name/ed/editline/package.nix | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ed/editline/package.nix b/pkgs/by-name/ed/editline/package.nix index 248e416bf9d8..e37b9401d0a7 100644 --- a/pkgs/by-name/ed/editline/package.nix +++ b/pkgs/by-name/ed/editline/package.nix @@ -5,8 +5,16 @@ autoreconfHook, nix-update-script, fetchpatch, + ncurses ? null, + + # Enable `termcap` (`ncurses`) support. + enableTermcap ? false, }: +assert lib.assertMsg ( + enableTermcap -> ncurses != null +) "`ncurses` must be provided when `enableTermcap` is enabled"; + stdenv.mkDerivation (finalAttrs: { pname = "editline"; version = "1.17.1"; @@ -33,10 +41,19 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - configureFlags = [ (lib.enableFeature true "sigstop") ]; + configureFlags = [ + # Enable SIGSTOP (Ctrl-Z) behavior. + (lib.enableFeature true "sigstop") + # Enable ANSI arrow keys. + (lib.enableFeature true "arrow-keys") + # Use termcap library to query terminal size. + (lib.enableFeature enableTermcap "termcap") + ]; nativeBuildInputs = [ autoreconfHook ]; + propagatedBuildInputs = lib.optional enableTermcap ncurses; + outputs = [ "out" "dev"