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="; }; })
This commit is contained in:
parent
ff377a7879
commit
7ada385af0
@ -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
|
let
|
||||||
version = "5.8";
|
version = "5.8";
|
||||||
|
|
||||||
documentation = fetchurl {
|
|
||||||
url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.xz";
|
|
||||||
sha256 = "1i6wdzq6rfjx5yjrpzan1jf50hk2pfzy5qib9mb7cnnbjfar6klv";
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@ -30,6 +37,8 @@ stdenv.mkDerivation {
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoreconfHook yodl perl groff util-linux texinfo ];
|
||||||
|
|
||||||
buildInputs = [ ncurses pcre ];
|
buildInputs = [ ncurses pcre ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
@ -47,9 +56,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
# XXX: think/discuss about this, also with respect to nixos vs nix-on-X
|
# XXX: think/discuss about this, also with respect to nixos vs nix-on-X
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share/info
|
make install.info install.html
|
||||||
tar xf ${documentation} -C $out/share
|
|
||||||
ln -s $out/share/zsh-*/Doc/zsh.info* $out/share/info/
|
|
||||||
|
|
||||||
mkdir -p $out/etc/
|
mkdir -p $out/etc/
|
||||||
cat > $out/etc/zprofile <<EOF
|
cat > $out/etc/zprofile <<EOF
|
||||||
|
Loading…
Reference in New Issue
Block a user