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();
}
scm (mig)[inputs]: Include perl. [arguments]: Substitute "perl" with full store file name in bin/mig. * gnu/packages/cross-base.scm (cross-kernel-headers): Adjust mig-cross accordingly. Jan (janneke) Nieuwenhuizen 2020-06-08gnu: services: Add %hurd-startup-service....This decouples startup of the Hurd from the "hurd" package, moving the RC script into SYSTEM. * gnu/packages/hurd.scm (hurd)[inputs]: Remove hurd-rc-script. [arguments]: Do not substitute it. Update "runsystem.sh" to parse kernel arguments and exec into --system=SYSTEM/rc. (hurd-rc-script): Move to... * gnu/services.scm (%hurd-rc-file): ...this new variable. (hurd-rc-entry): New procedure. (%hurd-startup-service): Use it in new variable. * gnu/system.scm (hurd-default-essential-services): Use it. Jan (janneke) Nieuwenhuizen 2020-06-08hurd-boot: Further cleanup of "rc"....* gnu/packages/hurd.scm (hurd-rc-script): Move implementation to ... * gnu/build/hurd-boot.scm (boot-hurd-system): ...here, new file. * gnu/build/linux-boot.scm (make-hurd-device-nodes): Move there likewise. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Jan (janneke) Nieuwenhuizen 2020-06-08gnu: hurd: Create minimal "runsystem" script to invoke "rc"....This moves towards a regular Guix startup, loading SYSTEM/boot to activate the system and start the shepherd. * gnu/packages/hurd.scm (hurd-rc-script): Update to handle "runsystem" tasks. Load system/boot to activate the system and start the shepherd. Create /hurd symlink. (hurd)[arguments]: Add 'create-runsystem' phase. Do not substitute now unused init.c, runsystem.hurd. Substitute "/hurd/" for the fixed 'out + "/hurd/"' in boot.c, console-run.c and startup.c. Also substitute _HURD_STARTUP ("/hurd/startup") to the fixed 'out + "/hurd/startup"' in libdiskfs/boot-start.c and libdiskfs/opts-std-startup.c. Jan (janneke) Nieuwenhuizen 2020-06-08gnu: hurd: Update to upstream Hurd-reserved xattr index....This enables setting (and reading) passive translators when preparing a Hurd file system from GNU/Linux. * gnu/packages/patches/hurd-xattr.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/hurd.scm (hurd): Use it. Jan (janneke) Nieuwenhuizen 2020-05-01gnu: hurd: Add NFS support....* gnu/packages/hurd.scm (hurd)[inputs]: Add libtirpc/hurd. [arguments]: Add configure flags to use libtirpc; add phase "find-tirpc" to find the RPC headers; add phase "fix-rpc-headers" to include missing headers. Ricardo Wurmus 2020-05-01gnu: hurd: Use default QEMU guest IP: 10.0.2.15....Specifying 10.0.2.77 also works -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:2228-10.0.2.77:22 but using this default allows us to use the widely advertised -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:2228-:22 * gnu/packages/hurd.scm (hurd-rc-script): Used from (hurd)[inputs]: Use 10.0.2.15; the default QEMU guest IP. Jan (janneke) Nieuwenhuizen 2020-05-01gnu: hurd: Fix references to /bin/w....* gnu/packages/hurd.scm (hurd): Use '/bin/w' from hurd package. Rene Saavedra 2020-04-26gnu: Add netdde....* gnu/packages/hurd.scm (netdde): New variable. Ricardo Wurmus 2020-04-26gnu: Add dde-sources....* gnu/packages/hurd.scm (dde-sources): New variable. (hurd)[native-inputs]: Add it. Ricardo Wurmus 2020-04-26gnu: hurd: Build DDE libraries....* gnu/packages/hurd.scm (hurd)[native-inputs]: Add "dde-sources". [inputs]: Add libpciaccess. [arguments]: Add phase "prepare-dde". Ricardo Wurmus 2020-04-11gnu: hurd: "/libexec/rc" spawns the console client....* gnu/packages/hurd.scm (hurd-rc-script): Start the console client. Ludovic Courtès 2020-04-11gnu: hurd: Install a BDF font....* gnu/packages/hurd.scm (unifont): New variable. (hurd)[arguments]: In 'install-goodies' phase, install OUT/share/hurd/vga-system.bdf. [inputs]: Add UNIFONT. Ludovic Courtès 2020-04-11gnu: hurd: Add dependency on libdaemon....* gnu/packages/hurd.scm (hurd)[inputs]: Add dependency on libdaemon. [native-inputs]: Add PKG-CONFIG. Ludovic Courtès 2020-04-11gnu: hurd: Add dependency on libgcrypt....* gnu/packages/hurd.scm (hurd)[inputs]: Add LIBGCRYPT. [native-inputs]: Likewise. Ludovic Courtès 2020-04-11gnu: hurd: Install the UTF-8 motd....* gnu/packages/hurd.scm (hurd)[arguments]: Add 'install-goodies' phase. Ludovic Courtès 2020-04-11gnu: hurd: Ensure startup scripts refer to the right programs....* gnu/packages/hurd.scm (hurd)[arguments]: In 'set-file-names' phase, patch startup.c, init.c, login.c, and daemons/runsystem/*. Add 'patch-libexec-shebangs' phase. Subtitute /libexec and /sbin, so that we may run RC. [inputs]: Add BASH-MINIMAL, COREUTILS, SED, GREP, and UTIL-LINUX. Ludovic Courtès 2020-04-11gnu: hurd: Record the right file name of 'login'....* gnu/packages/hurd.scm (hurd)[arguments]: Add 'set-file-names' phase. Ludovic Courtès 2020-04-11gnu: hurd: Use a 32-bit MiG when cross-compiling....* gnu/packages/hurd.scm (hurd)[native-inputs]: When '%current-target-system' is true, pass #:system "i686-linux" to 'mig'. Ludovic Courtès 2020-04-11gnu: hurd: Provide our own /libexec/rc script....* gnu/packages/hurd.scm (hurd-rc-script): New procedure. (hurd)[inputs]: Add (hurd-rc-script). Ludovic Courtès 2020-04-11gnu: gnumach: Enable kernel debugger (kbd)....* gnu/packages/hurd.scm (gnumach)[arguments]: Add "--enable-kdb". Ludovic Courtès 2020-04-08Merge branch 'master' into core-updates... Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm Marius Bakke 2020-04-01gnu: gnumach: Fix compilation....* gnu/packages/hurd.scm (gnumach)[arguments]: Inherit arguments from GNUMACH-HEADERS. [native-inputs]: Add AUTOCONF, AUTOMAKE, and TEXINFO-4. Ludovic Courtès 2020-03-26gnu: hurd: Update to hurd-headers version: 0.9-91a51672....* gnu/packages/patches/hurd-cross.patch: New file. * gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch: Remove unused file. * gnu/local.mk (dist_patch_DATA): Update admin. * gnu/packages/hurd.scm (hurd): Update to latest git master: version and source from hurd-headers; Add hurd-cross patch. Jan Nieuwenhuizen 2020-03-24gnu: hurd: Fix hurd-target?, add hurd-system?....* gnu/packages/hurd.scm (hurd-target?): Bugfix; the arguments to string-suffix? to test (%current-system) were transposed, always resulting in #f. Use hurd-triplet?. (hurd-system?): New exported variable. Jan Nieuwenhuizen 2020-02-16gnu: hurd-headers: Update snapshot....* gnu/packages/hurd.scm (hurd-headers): Update to 0.9-1.91a5167. [version]: Use GIT-VERSION. [arguments]: Add "--without-libcrypt" in #:configure-flags. Marius Bakke 2020-02-02gnu: gnumach: Update to 1.8-1.097f9cf....* gnu/packages/hurd.scm (gnumach-headers): Update to 1.8-1.097f9cf. [arguments]: Add host flag to configure-flags. [native-inputs]: Add autoconf, automake, texinfo-4. Efraim Flashner