From 7ada385af0b5ca1ce6ed865a7b2fc7ce603e8831 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Sun, 9 Jan 2022 22:56:36 +1100 Subject: [PATCH] zsh: Support building from Git checkouts A pregenerated `./configure` script is included with `zsh` release tarballs which makes it so that `zsh` won't build Git checkouts without `autoreconfHook`. There are also other files that were pregenerated and included in releases so a few other tools are necessary to successfully build `zsh`. We can also build the docs ourselves instead of using the `docs` tarball. This means that users can now easily override the `zsh` derivation: pkgs.zsh.overrideAttrs (old: { src = fetchgit { url = "https://git.code.sf.net/p/zsh/code.git"; rev = "zsh-5.8"; sha256 = "sha256-Gou2UgafLHnZnG2X8DulidOTO1idTQpnZ3DicZuhCZc="; }; }) --- pkgs/shells/zsh/default.nix | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index e0fd68f13b60..821247535050 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -1,12 +1,19 @@ -{ lib, stdenv, fetchurl, fetchpatch, ncurses, pcre, buildPackages }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, autoreconfHook +, yodl +, perl +, groff +, util-linux +, texinfo +, ncurses +, pcre +, buildPackages }: let version = "5.8"; - - documentation = fetchurl { - url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.xz"; - sha256 = "1i6wdzq6rfjx5yjrpzan1jf50hk2pfzy5qib9mb7cnnbjfar6klv"; - }; in stdenv.mkDerivation { @@ -30,6 +37,8 @@ stdenv.mkDerivation { }) ]; + nativeBuildInputs = [ autoreconfHook yodl perl groff util-linux texinfo ]; + buildInputs = [ ncurses pcre ]; configureFlags = [ @@ -47,9 +56,7 @@ stdenv.mkDerivation { # XXX: think/discuss about this, also with respect to nixos vs nix-on-X postInstall = '' - mkdir -p $out/share/info - tar xf ${documentation} -C $out/share - ln -s $out/share/zsh-*/Doc/zsh.info* $out/share/info/ + make install.info install.html mkdir -p $out/etc/ cat > $out/etc/zprofile <