aboutsummaryrefslogtreecommitdiff
/* GNU Guix --- Functional package management for GNU
   Copyright (C) 2016, 2017 Ludovic Courtès <ludo@gnu.org>

   This file is part of GNU Guix.

   GNU Guix is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or (at
   your option) any later version.

   GNU Guix is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.  */

/* Interface to built-in derivation builders.  */

#pragma once

#include <derivations.hh>
#include <map>
#include <string>

namespace nix {

    inline bool isBuiltin(const Derivation & drv)
    {
	return string(drv.builder, 0, 8) == "builtin:";
    }

    /* Build DRV, which lives at DRVPATH.  */
    typedef void (*derivationBuilder) (const Derivation &drv,
				       const std::string &drvPath,
				       const std::string &output);

    /* Return the built-in builder called BUILDER, or NULL if none was
       found.  */
    derivationBuilder lookupBuiltinBuilder(const std::string &builder);

    /* Return the list of supported built-in builder names.  */
    std::list<std::string> builtinBuilderNames();
}
le='2020-10-09 23:25:33 +0200'>2020-10-09system: hurd: Include 'guile-3.0-latest' in '%base-packages/hurd'....Jan (janneke) Nieuwenhuizen 2020-10-09system: hurd: Add PAM support with shadow and sudo....Jan (janneke) Nieuwenhuizen 2020-06-30system: hurd: Oops, have 'initrd' default to #f....Jan (janneke) Nieuwenhuizen 2020-06-18system: hurd: Add "/bin/sh" and "/usr/bin/env"....Jan (janneke) Nieuwenhuizen 2020-06-13system: hurd: Remove 'cross-hurd-image' hack....Jan (janneke) Nieuwenhuizen 2020-06-08system: hurd: Populate services....Jan (janneke) Nieuwenhuizen 2020-06-08system: examples: Add bare-hurd.tmpl....Jan (janneke) Nieuwenhuizen 2020-05-28system: hurd: Remove custom <manifest> gexp compiler....Ludovic Courtès 2020-05-01system: hurd: Add /etc/group....Jan (janneke) Nieuwenhuizen 2020-05-01system: hurd: Add less, which to %base-packages/hurd....Efraim Flashner 2020-04-11system: hurd: Add guile-candy....Ludovic Courtès 2020-04-11system: hurd: Add net-base and inetutils, and /etc/{services,protocols}....Jan (janneke) Nieuwenhuizen 2020-04-11system: hurd: Create a proper profile....Ludovic Courtès 2020-04-11system: hurd: Add root profile....Jan (janneke) Nieuwenhuizen 2020-04-11system: hurd: Create /etc/{hostname,motd,login} and /root....Ludovic Courtès 2020-04-11system: hurd: Add "/bin/sh" symlink....Jan (janneke) Nieuwenhuizen 2020-04-11system: hurd: Add /etc/{passwd,shadow}....Jan (janneke) Nieuwenhuizen 2020-04-11system: hurd: Add ttys symlink in "/etc/ttys"....Jan (janneke) Nieuwenhuizen 2020-04-11system: hurd: Add "/etc/fstab"....Jan (janneke) Nieuwenhuizen 2020-04-11Add (gnu system hurd)....Ludovic Courtès