{
  fetchurl,
  lib,
  stdenv,
  libxcrypt,
}:

stdenv.mkDerivation rec {
  pname = "pies";
  version = "1.3";

  src = fetchurl {
    url = "mirror://gnu/pies/${pname}-${version}.tar.bz2";
    sha256 = "12r7rjjyibjdj08dvwbp0iflfpzl4s0zhn6cr6zj3hwf9gbzgl1g";
  };

  buildInputs = [ libxcrypt ];

  configureFlags = [ "--sysconfdir=/etc" ];

  hardeningDisable = [ "format" ];

  doCheck = true;

  meta = {
    description = "Program invocation and execution supervisor";

    longDescription = ''
      The name Pies (pronounced "p-yes") stands for Program Invocation and
      Execution Supervisor.  This utility starts and controls execution of
      external programs, called components.  Each component is a
      stand-alone program, which is executed in the foreground.  Upon
      startup, pies reads the list of components from its configuration
      file, starts them, and remains in the background, controlling their
      execution.  If any of the components terminates, the default action
      of Pies is to restart it.  However, it can also be programmed to
      perform a variety of another actions such as, e.g., sending mail
      notifications to the system administrator, invoking another external
      program, etc.

      Pies can be used for a wide variety of tasks.  Its most obious use
      is to put in backgound a program which normally cannot detach itself
      from the controlling terminal, such as, e.g., minicom.  It can
      launch and control components of some complex system, such as
      Jabberd or MeTA1 (and it offers much more control over them than the
      native utilities).  Finally, it can replace the inetd utility!
    '';

    license = lib.licenses.gpl3Plus;

    homepage = "https://www.gnu.org/software/pies/";

    platforms = lib.platforms.gnu ++ lib.platforms.linux;
    maintainers = [ ];
  };
}