aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/builtins.hh
blob: 396ea14ebc08146fe62a13a293338b8e73767628 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* 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();
}
id=de3f86443837b7bd6e3bad11dbaeed2550d4207c'>teams: Add 宋文武 to the qt team....宋文武 2024-03-08teams: lxqt: Remove qt.scm from scope....宋文武 2024-03-08teams: Add entry for Adam Faiz....AwesomeAdam54321 2024-02-13teams: Add Sugar team....Ricardo Wurmus 2024-02-13teams: go: Add all related files to the scope....Sharlatan Hellseher 2024-02-05teams: mozilla: Add tor-browsers.scm....Clément Lassieur 2024-02-03teams: Add Mark H Weaver to the ‘mozilla’ team....Mark H Weaver 2024-01-30teams: go: Add golang-xyz.scm to scope....Sharlatan Hellseher 2024-01-28teams: go: Add more related files to the scope....Sharlatan Hellseher 2024-01-24teams: Remove Efraim Flashner from the science team....Efraim Flashner 2024-01-16teams: Add Wilko Meyer to kernel....Wilko Meyer 2024-01-14teams: Add Vivien Kraus....Vivien Kraus 2024-01-12teams: Add entry for Sharlatan Hellseher....Sharlatan Hellseher 2024-01-05teams: Add ‘core-packages’ team....Ludovic Courtès 2023-12-22teams: mozilla: Add icecat-extension.scm and browser-extensions.scm....Clément Lassieur 2023-12-20teams: Add entry for Clément Lassieur....Clément Lassieur 2023-11-20teams: Include golang-check.scm in the go team....Benjamin 2023-11-12teams: Add Ekaitz Zarraga to bootstrap and zig....Ekaitz Zarraga 2023-11-12teams: Add Zig team....Ekaitz Zarraga 2023-11-01teams.scm: Add file-local variable prop line for the mode....Maxim Cournoyer 2023-10-27teams: Add myself to audio team....Gabriel Wicki 2023-10-27teams: Add audio team....Gabriel Wicki 2023-10-22teams: Adjust shebang to use 'guix repl'....Maxim Cournoyer