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();
}
f='/guix/commit/gnu/ci.scm?id=2ccb715ab3ebef5ddbc53d706cbc42b3b765d613'>ci: tarball: Use "current-guix" as profile name....Mathieu Othacehe 2021-04-12ci: Fix system-tests subset....Mathieu Othacehe 2021-04-08ci: Introduce new subsets....Mathieu Othacehe 2021-04-08ci: Remove the job period argument....Mathieu Othacehe 2021-03-23ci: %cross-targets: Add powerpc64le-linux-gnu....Chris Marusich 2021-03-23ci: Change manifest argument type....Mathieu Othacehe 2021-03-14ci: Support packages with multiple channels....Mathieu Othacehe 2021-03-14ci: Add channel subset support....Mathieu Othacehe 2021-03-10ci: Remove hydra support....Mathieu Othacehe 2021-01-31ci: Remove the package version from the job name....Mathieu Othacehe 2021-01-29ci: Raise max-silent-time to 3600....Mathieu Othacehe 2020-12-03ci: Build novena-barebones-raw-image....Danny Milosavljevic 2020-12-01Revert "ci: Temporarily disable image-jobs."...Mathieu Othacehe 2020-11-29ci: Temporarily disable image-jobs....Mathieu Othacehe 2020-11-25ci: Limit image and system tests jobs periodicity....Mathieu Othacehe 2020-11-20image: Add pinebook-pro support....Mathieu Othacehe 2020-11-02ci: Restore license handling....Mathieu Othacehe 2020-11-02ci: Convert license to text....Mathieu Othacehe 2020-11-02ci: Ignore package license....Mathieu Othacehe 2020-10-06images: Add pine64-barebones-raw-image....Mathieu Othacehe 2020-10-01ci: Add log and outputs keys....Mathieu Othacehe 2020-10-01ci: Add nix-name and system keys....Mathieu Othacehe 2020-09-29ci: Build hurd-barebones-qcow2-image....Mathieu Othacehe 2020-09-25ci: Remove native-system restriction from "hello" and "list" jobsets....Jan (janneke) Nieuwenhuizen 2020-09-03ci: In the 'core' subset, build GCC >= 7....Ludovic Courtès 2020-09-03gnu: ci: Truncate git commit in ISO label....Julien Lepiller 2020-08-31gnu: ci: Set label in iso9660 jobs....Julien Lepiller 2020-06-29ci: Do not limit disk-image size....Mathieu Othacehe 2020-06-25ci: Build Guix System images....Mathieu Othacehe 2020-06-25Revert "ci: Build Guix System images."...Ludovic Courtès 2020-06-24ci: Build Guix System images.Mathieu Othacehe 2020-05-29image: Do not use VM to create disk-images....Mathieu Othacehe 2020-05-05Merge branch 'master' into core-updatesMarius Bakke 2020-05-05image: Add a new API....Mathieu Othacehe 2020-04-08Merge branch 'master' into core-updates...Marius Bakke 2020-04-07ci: Remove "mips64el-linux-gnuabi64" from '%cross-targets'....Ludovic Courtès