Add ‘shell.nix’ defining Autoconf’s build dependencies in NixOS terms.

Like the existing ‘manifest.scm’, which does the same job for GNU Guix,
the point of this file is to facilitate testing Autoconf itself on NixOS:
‘nix-shell --pure shell.nix’ gives you an interactive shell with all
the necessary tools in $PATH, and nothing else.
This commit is contained in:
Zack Weinberg 2024-06-23 15:11:35 -04:00
parent b025a3cc37
commit 8b13394605

43
shell.nix Normal file
View File

@ -0,0 +1,43 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# included by default (since we're not using mkShellNoCC) are:
# bash coreutils file findutils gawk gnugrep gnused
# gnutar gzip bzip2 xz diffutils patch
# binutils gcc glibc gnumake
packages = with pkgs;
# custom texliveBasic - metafont and ectt are required to build PDF documentation
let
texliveCustom = texliveBasic.withPackages (ps: [ps.metafont ps.ec]);
in [
# Additional requirements for building and running Autoconf itself
m4
perl
# Additional requirements for building from a pristine git checkout
automake
git
help2man
texinfo
texliveCustom
# Needed only to run the test suite comprehensively
# TODO: Make a variant that uses mkShellNoCC and *doesn't* install any
# of this and ensure that every test that probes some of them is
# skipped, rather than failing, when run in that environment.
# Currently lots of tests fail in the absence of a C compiler.
# Compilers and tools that Autoconf is capable of probing
bison
erlang
flex
gccgo
gfortran
libtool
# Objective-C compiler seems not to be available
# shtool is not available
# Needed to test AC_CHECK_LIB and AC_SEARCH_LIBS
zlib
];
}