Skip to content
Snippets Groups Projects
  1. May 17, 2014
  2. Apr 24, 2014
  3. Jan 23, 2014
    • Ludovic Courtès's avatar
      Add 'guix offload' as a daemon build hook. · 49e6291a
      Ludovic Courtès authored
      * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro.
        (options): Add '--no-build-hook'.
        (parse_opt): Handle it.
        (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default.
        Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified.
        [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'.
      * pre-inst-env.in: Set and export NIX_BUILD_HOOK.
      * nix/scripts/offload.in, guix/scripts/offload.scm: New files.
      * guix/ui.scm (show-guix-help)[internal?]: Add "offload".
      * config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'.
        Instantiate 'nix/scripts/offload'.  Set 'BUILD_DAEMON_OFFLOAD'
        conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp
        macro.
      * daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it.
      * Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add
        'guix/scripts/offload.scm'.
        (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise.
      * m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro.
      * doc/guix.texi (Setting Up the Daemon): Move most of the body to...
        (Build Environment Setup): ... this.  New subsection.
        (Daemon Offload Setup): New subsection.
      49e6291a
  4. Dec 20, 2013
    • Ludovic Courtès's avatar
      daemon: Implement signed archive import/export. · 526382ff
      Ludovic Courtès authored
      * guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
        tests/signing-key.pub, tests/signing-key.sec: New files.
      * po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
      * guix/store.scm (dump-port): New procedure.
        (process-stderr): Add 'user-port' optional parameter.  Handle
        the %STDERR-WRITE and %STDERR-READ cases as expected.
        (import-paths, export-path, export-paths): New procedures.
      * tests/store.scm ("export/import several paths", "import corrupt
        path"): New tests.
      * Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
        (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
      * daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
        to .../guix.  Change 'OPENSSL_PATH' to 'guix-authenticate'.
      * config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
      * nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
        'settings.nixLibexecDir'.
      * test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'.  Populate
        $NIX_CONF_DIR.
      526382ff
  5. May 12, 2013
  6. Apr 12, 2013
    • Ludovic Courtès's avatar
      substitute-binary: Implement `--substitute'. · cdf20220
      Ludovic Courtès authored
      This allows build outputs to be transparently downloaded from
      http://hydra.gnu.org, for example.
      
      * config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
      * guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
      * guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
        (<narinfo>): Change `url' to `uri'.
        (make-narinfo): Rename to...
        (narinfo-maker): ... this.  Handle relative URLs.
        (fetch-narinfo): Adjust accordingly.
        (filtered-port, decompressed-port): New procedures.
        (guix-substitute-binary): Implement the `--substitute' case.
      * tests/store.scm ("substitute query"): Use (%store-prefix) instead
        of (getenv "NIX_STORE_DIR").
        ("substitute"): New test.
      cdf20220
    • Ludovic Courtès's avatar
      Add preliminary binary substituter. · 419fffa2
      Ludovic Courtès authored
      * guix/scripts/substitute-binary.scm: New file.
      * Makefile.am (MODULES): Add it.
      * nix/scripts/substitute-binary.in: New file.
      * config-daemon.ac: Produce nix/scripts/substitute-binary.
      * daemon.am (nodist_pkglibexec_SCRIPTS): Add
        nix/scripts/substitute-binary.
      * guix/store.scm (substitutable-path-info): Use the
        `query-substitutable-path-infos' RPC.
      * nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
      * pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
      * test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
        `GUIX_BINARY_SUBSTITUTE_URL, and create
        $NIX_STATE_DIR/substituter-data.
        Run `guix-daemon' within `./pre-inst-env'.
      * tests/store.scm ("substitute query"): New test.
      419fffa2
    • Ludovic Courtès's avatar
      substitute-binary: Implement `--substitute'. · fe0cff14
      Ludovic Courtès authored
      This allows build outputs to be transparently downloaded from
      http://hydra.gnu.org, for example.
      
      * config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
      * guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
      * guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
        (<narinfo>): Change `url' to `uri'.
        (make-narinfo): Rename to...
        (narinfo-maker): ... this.  Handle relative URLs.
        (fetch-narinfo): Adjust accordingly.
        (filtered-port, decompressed-port): New procedures.
        (guix-substitute-binary): Implement the `--substitute' case.
      * tests/store.scm ("substitute query"): Use (%store-prefix) instead
        of (getenv "NIX_STORE_DIR").
        ("substitute"): New test.
      fe0cff14
  7. Apr 03, 2013
    • Ludovic Courtès's avatar
      Add preliminary binary substituter. · f65cf81a
      Ludovic Courtès authored
      * guix/scripts/substitute-binary.scm: New file.
      * Makefile.am (MODULES): Add it.
      * nix/scripts/substitute-binary.in: New file.
      * config-daemon.ac: Produce nix/scripts/substitute-binary.
      * daemon.am (nodist_pkglibexec_SCRIPTS): Add
        nix/scripts/substitute-binary.
      * guix/store.scm (substitutable-path-info): Use the
        `query-substitutable-path-infos' RPC.
      * nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
      * pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
      * test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
        `GUIX_BINARY_SUBSTITUTE_URL, and create
        $NIX_STATE_DIR/substituter-data.
        Run `guix-daemon' within `./pre-inst-env'.
      * tests/store.scm ("substitute query"): New test.
      f65cf81a
  8. Dec 12, 2012
  9. Dec 05, 2012
    • Ludovic Courtès's avatar
      build: Run all the tests against the just-built daemon. · 69cfce50
      Ludovic Courtès authored
      * test-env.in: New file.
      * configure.ac: Add it to `AC_CONFIG_FILES' and `commands-exec'.
      * config-daemon.ac: Set and substitute `GUIX_TEST_ROOT'.
      * Makefile.am (SCM_LOG_COMPILER, SH_LOG_COMPILER): Use it in lieu of
        `pre-inst-env'.
      * daemon.am (test_root): Remove
        (AM_TESTS_ENVIRONMENT): Remove `TEST_ROOT'.
        (clean-local): Use $(GUIX_TEST_ROOT); make files writable before
        removing them.guix_test_root
      * tests/guix-daemon.sh: Remove `NIX_' variable settings; don't launch
        `guix-daemon'.
      69cfce50
    • Ludovic Courtès's avatar
      daemon: Add `list-runtime-roots' script. · f5c82e15
      Ludovic Courtès authored
      * nix/scripts/list-runtime-roots.in: New file.
      * config-daemon.ac: Add `AC_CONFIG_FILES' invocation for it.
      * daemon.am (nodist_pkglibexec_SCRIPTS): New variable.
        (AM_TESTS_ENVIRONMENT): Define `top_builddir'.
      * tests/guix-daemon.sh: Export `NIX_ROOT_FINDER'.
      * nix/sync-with-upstream: Substitute the path to the root finder in
        libstore/gc.cc.
      f5c82e15
  10. Dec 04, 2012
  11. Dec 03, 2012
    • Ludovic Courtès's avatar
      build: Include a copy of Nix's libstore and daemon; build it. · c2033df4
      Ludovic Courtès authored
      * configure.ac: Call `AC_USE_SYSTEM_EXTENSIONS', and
        `GUIX_SYSTEM_TYPE'.  Add `--with-store-dir' option, and substitute
        `storedir'.  Include `config-daemon.ac'.
      * config-daemon.ac: New file.
      * Makefile.am [BUILD_DAEMON]: Include `daemon.am'.
      * daemon.am: New file.
      * m4/guix.m4 (GUIX_SYSTEM_TYPE): New macro.
      
      * nix/libutil/gcrypt-hash.cc, nix/libutil/gcrypt-hash.hh,
        nix/libutil/md5.h, nix/libutil/sha1.h, nix/libutil/sha256.h,
        nix/nix-daemon/guix-daemon.cc, nix/nix-daemon/shared.hh: New files.
      c2033df4
Loading