From 79866be383814a8ab5e35436b43629c8486ec6a9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 1 Jul 2024 01:37:33 -0300 Subject: [PATCH 1/2] ed: a huge rewrite - delete `edUnstable` - migrate to `pkgs/by-name` - strictDeps - testVersion - meta.mainProgram --- pkgs/applications/editors/ed/default.nix | 14 ------ pkgs/applications/editors/ed/generic.nix | 32 ------------- pkgs/applications/editors/ed/sources.nix | 45 ------------------ pkgs/by-name/ed/ed/package.nix | 60 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 -- 5 files changed, 60 insertions(+), 94 deletions(-) delete mode 100644 pkgs/applications/editors/ed/default.nix delete mode 100644 pkgs/applications/editors/ed/generic.nix delete mode 100644 pkgs/applications/editors/ed/sources.nix create mode 100644 pkgs/by-name/ed/ed/package.nix diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix deleted file mode 100644 index c1f99de71057cc1..000000000000000 --- a/pkgs/applications/editors/ed/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, pkgs }: - -lib.makeScope pkgs.newScope (self: - let - inherit (self) callPackage; - in { - sources = import ./sources.nix { - inherit lib; - inherit (pkgs) fetchurl; - }; - - ed = callPackage (self.sources.ed) { }; - edUnstable = callPackage (self.sources.edUnstable) { }; - }) diff --git a/pkgs/applications/editors/ed/generic.nix b/pkgs/applications/editors/ed/generic.nix deleted file mode 100644 index 70ffdb4c4af9377..000000000000000 --- a/pkgs/applications/editors/ed/generic.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ pname -, version -, src -, patches ? [ ] -, meta -}: - -# Note: this package is used for bootstrapping fetchurl, and thus cannot use -# fetchpatch! All mutable patches (generated by GitHub or cgit) that are needed -# here should be included directly in Nixpkgs as files. - -{ lib -, stdenv -, fetchurl -, lzip -, runtimeShellPackage -}: - -stdenv.mkDerivation { - inherit pname version src patches; - - nativeBuildInputs = [ lzip ]; - buildInputs = [ runtimeShellPackage ]; - - configureFlags = [ - "CC=${stdenv.cc.targetPrefix}cc" - ]; - - doCheck = true; - - inherit meta; -} diff --git a/pkgs/applications/editors/ed/sources.nix b/pkgs/applications/editors/ed/sources.nix deleted file mode 100644 index 6601876c88b09ff..000000000000000 --- a/pkgs/applications/editors/ed/sources.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ lib -, fetchurl -}: - -let - meta = { - description = "GNU implementation of the standard Unix editor"; - longDescription = '' - GNU ed is a line-oriented text editor. It is used to create, display, - modify and otherwise manipulate text files, both interactively and via - shell scripts. A restricted version of ed, red, can only edit files in the - current directory and cannot execute shell commands. Ed is the 'standard' - text editor in the sense that it is the original editor for Unix, and thus - widely available. For most purposes, however, it is superseded by - full-screen editors such as GNU Emacs or GNU Moe. - ''; - license = lib.licenses.gpl3Plus; - homepage = "https://www.gnu.org/software/ed/"; - maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = lib.platforms.unix; - }; -in -{ - ed = let - pname = "ed"; - version = "1.20.2"; - src = fetchurl { - url = "mirror://gnu/ed/ed-${version}.tar.lz"; - hash = "sha256-Zf7HMY9IwsoX8zSsD0cD3v5iA3uxPMI5IN4He1+iRSM="; - }; - in import ./generic.nix { - inherit pname version src meta; - }; - - edUnstable = let - pname = "ed"; - version = "1.20-pre2"; - src = fetchurl { - url = "http://download.savannah.gnu.org/releases/ed/ed-${version}.tar.lz"; - hash = "sha256-bHTDeMhVNNo3qqDNoBNaBA+DHDa4WJpfQNcTvAUPgsY="; - }; - in import ./generic.nix { - inherit pname version src meta; - }; -} diff --git a/pkgs/by-name/ed/ed/package.nix b/pkgs/by-name/ed/ed/package.nix new file mode 100644 index 000000000000000..a4fe441ae083ddd --- /dev/null +++ b/pkgs/by-name/ed/ed/package.nix @@ -0,0 +1,60 @@ +{ + lib, + fetchurl, + lzip, + runtimeShellPackage, + stdenv, + testers, +}: + +# Note: this package is used for bootstrapping fetchurl, and thus cannot use +# fetchpatch! Any mutable patches (retrieved from GitHub, cgit or any other +# place) that are needed here should be directly included together as regular +# files. + +stdenv.mkDerivation (finalAttrs: { + pname = "ed"; + version = "1.20.2"; + + src = fetchurl { + url = "mirror://gnu/ed/ed-${finalAttrs.version}.tar.lz"; + hash = "sha256-Zf7HMY9IwsoX8zSsD0cD3v5iA3uxPMI5IN4He1+iRSM="; + }; + + nativeBuildInputs = [ lzip ]; + + buildInputs = [ runtimeShellPackage ]; + + configureFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + ]; + + strictDeps = true; + + doCheck = true; + + passthru = { + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "ed --version"; + }; + }; + + meta = { + homepage = "https://www.gnu.org/software/ed/"; + description = "GNU implementation of the standard Unix editor"; + longDescription = '' + GNU ed is a line-oriented text editor. It is used to create, display, + modify and otherwise manipulate text files, both interactively and via + shell scripts. A restricted version of ed, red, can only edit files in the + current directory and cannot execute shell commands. Ed is the 'standard' + text editor in the sense that it is the original editor for Unix, and thus + widely available. For most purposes, however, it is superseded by + full-screen editors such as GNU Emacs or GNU Moe. + ''; + license = lib.licenses.gpl3Plus; + mainProgram = "ed"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1659cfff2c8a0d1..a85ff2cd9c74bf0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30125,9 +30125,6 @@ with pkgs; ecs-agent = callPackage ../applications/virtualization/ecs-agent { }; - inherit (recurseIntoAttrs (callPackage ../applications/editors/ed { })) - ed edUnstable; - edlin = callPackage ../applications/editors/edlin { }; oed = callPackage ../applications/editors/oed { }; From d6666a90a273f8f979fcd4a5c831f32702271d7a Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 1 Jul 2024 09:16:23 -0300 Subject: [PATCH 2/2] edUnstable: convert to throw --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 2880cd20674bbfc..78019e8c54ac24f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -326,6 +326,7 @@ mapAliases ({ ec2_api_tools = ec2-api-tools; # Added 2021-10-08 ec2-utils = amazon-ec2-utils; # Added 2022-02-01 + edUnstable = throw "edUnstable was removed; use ed instead"; # Added 2024-07-01 elasticsearch7Plugins = elasticsearchPlugins; # Electron