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();
}
>2024-01-28home: Add home-dotfiles-service....Giacomo Leidi 2024-01-01nls: Update translations....Florian Pelz 2023-12-01nls: Update translations....Florian Pelz 2023-10-31nls: Update translations....Florian Pelz 2023-10-05doc: Fix channel name typo....Nikolaos Chatzikonstantinou 2023-09-30nls: Update translations.Florian Pelz 2023-08-31nls: Update translations.Florian Pelz 2023-07-31nls: Update translations.Florian Pelz 2023-06-30nls: Update translations....Florian Pelz 2023-06-18Add 'guix locate'....Ludovic Courtès 2023-05-31nls: Update translation keys for guix gc....Remco van 't Veer 2023-05-31nls: Update translations....Florian Pelz 2023-04-08nls: Make sure gnu/home/services/*.scm files are translatable....Ludovic Courtès 2023-03-16gnu: home: services: Add home-kodi-service-type....Jan (janneke) Nieuwenhuizen 2023-03-16gnu: home: services: Add home-znc-service-type....Jan (janneke) Nieuwenhuizen 2023-03-07nls: Fix more Texinfo Italiano....Julien Lepiller 2023-03-07nls: Update translations.Julien Lepiller 2023-02-26nls: Fix more Texinfo Italiano....Tobias Geerinckx-Rice 2023-02-26nls: Fix typo in Italian translation....Tobias Geerinckx-Rice 2023-02-03gnu: Remove key-mon.scm....Julien Lepiller 2023-01-05nls: Update translations....Julien Lepiller 2022-12-15doc: Use VM image file name consistently....Ludovic Courtès 2022-12-04nls: Update translations....Julien Lepiller 2022-11-20scripts: Use translations for guix.pot for service descriptions....pelzflorian (Florian Pelz) 2022-11-15installer: Report known-unsupported PCI devices....Ludovic Courtès 2022-11-04nls: Update translations....Julien Lepiller 2022-10-08po: Fix syntax error in French translation....Ricardo Wurmus 2022-10-08po: Fix syntax error in German translation....Ricardo Wurmus 2022-10-06nls: Update translations.Julien Lepiller 2022-10-06services: dhcp-client: Implement and use a configuration record....Alexey Abramov 2022-09-24services: Add samba service....Simon Streit 2022-09-04nls: Update translations.Julien Lepiller 2022-08-16ui: Describe package outputs....Liliana Marie Prikler 2022-08-11po: Add 'guix/read-print.scm'....Ludovic Courtès 2022-08-10nls: Update translations....Julien Lepiller