Skip to content
Snippets Groups Projects
  • Ludovic Courtès's avatar
    f6919ebd
    daemon: Run 'guix substitute' directly and assume a single substituter. · f6919ebd
    Ludovic Courtès authored
    The daemon had a mechanism that allows it to handle a list of
    substituters and try them sequentially; this removes it.
    
    * nix/scripts/substitute.in: Remove.
    * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove.
    * config-daemon.ac: Don't output 'nix/scripts/substitute'.
    * nix/libstore/build.cc (SubstitutionGoal)[subs, sub, hasSubstitute]:
    Remove.
    [tryNext]: Make private.
    (SubstitutionGoal::SubstitutionGoal, SubstitutionGoal::init): Remove now
    unneeded initializers.
    (SubstitutionGoal::tryNext): Adjust to assume a single substituter: call
    'amDone' upfront when we couldn't find substitutes.
    (SubstitutionGoal::tryToRun): Adjust to run 'guix substitute' via
    'settings.guixProgram'.
    (SubstitutionGoal::finished): Call 'amDone(ecFailed)' upon failure
    instead of setting 'state' to 'tryNext'.
    * nix/libstore/globals.hh (Settings)[substituters]: Remove.
    * nix/libstore/local-store.cc (LocalStore::~LocalStore): Adjust to
    handle a single substituter.
    (LocalStore::startSubstituter): Remove 'path' parameter.  Adjust to
    invoke 'settings.guixProgram'.  Don't refer to 'run.program', which no
    longer exists.
    (LocalStore::querySubstitutablePaths): Adjust for 'runningSubstituters'
    being a singleton instead of a list.
    (LocalStore::querySubstitutablePathInfos): Likewise, and remove
    'substituter' parameter.
    * nix/libstore/local-store.hh (RunningSubstituter)[program]: Remove.
    (LocalStore)[runningSubstituters]: Remove.
    [runningSubstituter]: New field.
    [querySubstitutablePathInfos]: Remove 'substituter' parameter.
    [startSubstituter]: Remove 'substituter' parameter.
    * nix/nix-daemon/guix-daemon.cc (main): Remove references to
    'settings.substituters'.
    * nix/nix-daemon/nix-daemon.cc (performOp): Ignore the user's
    "build-use-substitutes" value when 'settings.useSubstitutes' is false.
    daemon: Run 'guix substitute' directly and assume a single substituter.
    Ludovic Courtès authored
    The daemon had a mechanism that allows it to handle a list of
    substituters and try them sequentially; this removes it.
    
    * nix/scripts/substitute.in: Remove.
    * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove.
    * config-daemon.ac: Don't output 'nix/scripts/substitute'.
    * nix/libstore/build.cc (SubstitutionGoal)[subs, sub, hasSubstitute]:
    Remove.
    [tryNext]: Make private.
    (SubstitutionGoal::SubstitutionGoal, SubstitutionGoal::init): Remove now
    unneeded initializers.
    (SubstitutionGoal::tryNext): Adjust to assume a single substituter: call
    'amDone' upfront when we couldn't find substitutes.
    (SubstitutionGoal::tryToRun): Adjust to run 'guix substitute' via
    'settings.guixProgram'.
    (SubstitutionGoal::finished): Call 'amDone(ecFailed)' upon failure
    instead of setting 'state' to 'tryNext'.
    * nix/libstore/globals.hh (Settings)[substituters]: Remove.
    * nix/libstore/local-store.cc (LocalStore::~LocalStore): Adjust to
    handle a single substituter.
    (LocalStore::startSubstituter): Remove 'path' parameter.  Adjust to
    invoke 'settings.guixProgram'.  Don't refer to 'run.program', which no
    longer exists.
    (LocalStore::querySubstitutablePaths): Adjust for 'runningSubstituters'
    being a singleton instead of a list.
    (LocalStore::querySubstitutablePathInfos): Likewise, and remove
    'substituter' parameter.
    * nix/libstore/local-store.hh (RunningSubstituter)[program]: Remove.
    (LocalStore)[runningSubstituters]: Remove.
    [runningSubstituter]: New field.
    [querySubstitutablePathInfos]: Remove 'substituter' parameter.
    [startSubstituter]: Remove 'substituter' parameter.
    * nix/nix-daemon/guix-daemon.cc (main): Remove references to
    'settings.substituters'.
    * nix/nix-daemon/nix-daemon.cc (performOp): Ignore the user's
    "build-use-substitutes" value when 'settings.useSubstitutes' is false.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.