<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/nix/libstore/build.cc, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2019-06-12T22:44:01Z</updated>
<entry>
<title>daemon: Replace "illegal" by "invalid" in error messages.</title>
<updated>2019-06-12T22:44:01Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-06-12T21:11:37Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=76533c52c06de4823738b32e450a1a06522018d1'/>
<id>urn:sha1:76533c52c06de4823738b32e450a1a06522018d1</id>
<content type='text'>
* nix/libstore/build.cc (parseReferenceSpecifiers): Replace "illegal" by
"invalid".
* nix/libstore/globals.cc (Settings::pack): Likewise.
* nix/libstore/store-api.cc (checkStoreName): Likewise.
</content>
</entry>
<entry>
<title>daemon: Emit a 'build-succeeded' event in check mode.</title>
<updated>2019-02-06T22:06:18Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-02-05T21:58:13Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=d59124280851c5d62b6ecf5aa07f6b4f6520a0e5'/>
<id>urn:sha1:d59124280851c5d62b6ecf5aa07f6b4f6520a0e5</id>
<content type='text'>
Until now, something like "guix build sed -v1 --check" would not get a
'build-succeeded' event, which in turn meant that the spinner would not
be erased upon build completion.

* nix/libstore/build.cc (DerivationGoal::registerOutputs): When
'buildMode' is bmCheck and 'settings.printBuildTrace' emit a
"@ build-succeeded" trace upon success.
* tests/store.scm ("build-succeeded trace in check mode"): New test.
</content>
</entry>
<entry>
<title>daemon: Use unbranded phrases in comments and messages.</title>
<updated>2018-12-16T15:28:07Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-12-15T22:50:24Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=8327e733966cc4a93dfaadd1a761ca1088078baa'/>
<id>urn:sha1:8327e733966cc4a93dfaadd1a761ca1088078baa</id>
<content type='text'>
* nix/libstore/build.cc, nix/libstore/globals.cc,
nix/libstore/gc.cc, nix/libstore/local-store.cc,
nix/libstore/optimise-store.cc, nix/libstore/store-api.cc,
nix/libutil/archive.cc, nix/nix-daemon/nix-daemon.cc: Replace "Nix
store" by "store", and "Nix daemon" by "build daemon".
</content>
</entry>
<entry>
<title>daemon: Support multiplexed build output.</title>
<updated>2018-10-15T20:40:35Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-10-15T20:40:35Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=6ef61cc4c30e94acbd7437f19c893f63a7112267'/>
<id>urn:sha1:6ef61cc4c30e94acbd7437f19c893f63a7112267</id>
<content type='text'>
This allows clients to tell whether output comes from the daemon or, if
it comes from a builder, from which builder it comes.  The latter is
particularly useful when MAX-BUILD-JOBS &gt; 1.

* nix/libstore/build.cc (DerivationGoal::tryBuildHook)
(DerivationGoal::startBuilder): Print the child's PID in "@ build-started"
traces.
(DerivationGoal::handleChildOutput): Define 'prefix', pass it to
'writeToStderr'.
* nix/libstore/globals.cc (Settings:Settings): Initialize
'multiplexedBuildOutput'.
(Settings::update): Likewise.
* nix/libstore/globals.hh (Settings)[multiplexedBuildOutput]: New field.
Update 'printBuildTrace' documentation.
* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0.163.
* nix/nix-daemon/nix-daemon.cc (performOp) &lt;wopSetOptions&gt;: Special-case
"multiplexed-build-output" and remove "use-ssh-substituter".
* guix/store.scm (set-build-options): Add #:multiplexed-build-output?
and honor it.
(%protocol-version): Bump to #x163.
* tests/store.scm ("multiplexed-build-output"): New test.

fixlet
</content>
</entry>
<entry>
<title>Add (guix status) and use it for pretty colored output.</title>
<updated>2018-09-27T21:21:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-01-18T22:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=dc0f74e5fc26977a3ee6c4f2aa74a141f4359982'/>
<id>urn:sha1:dc0f74e5fc26977a3ee6c4f2aa74a141f4359982</id>
<content type='text'>
* guix/progress.scm (progress-reporter/trace): New procedure.
(%progress-interval): New variable.
(progress-reporter/file): Use it.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:print-extended-build-trace?.
(%default-options): Add 'print-extended-build-trace?'.
(guix-build): Parameterize CURRENT-TERMINAL-COLUMNS.  Use
'build-status-updater'.
* guix/scripts/environment.scm (%default-options): Add
'print-extended-build-trace?'.
(guix-environment): Wrap body in 'with-status-report'.
* guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and
'print-extended-build-trace?'.
(guix-pack): Wrap body in 'with-status-report'.
* guix/scripts/package.scm (%default-options, guix-package): Likewise.
* guix/scripts/system.scm (%default-options, guix-system): Likewise.
* guix/scripts/pull.scm (%default-options, guix-pull): Likewise.
* guix/scripts/substitute.scm (progress-report-port): Don't call STOP
when TOTAL is zero.
(process-substitution): Add #:print-build-trace? and honor it.
(guix-substitute)[print-build-trace?]: New variable.
Pass #:print-build-trace? to 'process-substitution'.
* guix/status.scm: New file.
* guix/store.scm (set-build-options): Add #:print-extended-build-trace?;
pass it into PAIRS.
(%protocol-version): Bump.
(protocol-version, nix-server-version): New procedures.
(current-store-protocol-version): New variable.
(with-store, build-things): Parameterize it.
* guix/ui.scm (build-output-port): Remove.
(colorize-string): Export.
* po/guix/POTFILES.in: Add guix/status.scm.
* tests/status.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162.
* nix/libstore/build.cc (DerivationGoal::registerOutputs)
(SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before
throwing.
</content>
</entry>
<entry>
<title>daemon: Allow building for armhf-linux on aarch64-linux.</title>
<updated>2018-05-17T17:37:27Z</updated>
<author>
<name>Efraim Flashner</name>
<email>efraim@flashner.co.il</email>
</author>
<published>2018-05-16T12:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=162825f9653f1ba050e40f0ca96d1eb3491a9207'/>
<id>urn:sha1:162825f9653f1ba050e40f0ca96d1eb3491a9207</id>
<content type='text'>
* nix/libstore/build.cc (canBuildLocally): Allow building armhf-linux
builds on aarch64-linux.
(DerivationGoal::runChild) Throw error if attempting to build for
armhf-linux on an unsupported platform.
* doc/guix.texi (Invoking guix build): Document how to build natively
for armhf-linux on aarch64-linux.  Add note that on some aarch64
machines this is unsupported.
</content>
</entry>
<entry>
<title>daemon: Always try to execute the builder regardless of the platform.</title>
<updated>2018-01-11T09:25:06Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-09T16:04:02Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=7bf2a70a4ffd976d50638d3b9f2ec409763157df'/>
<id>urn:sha1:7bf2a70a4ffd976d50638d3b9f2ec409763157df</id>
<content type='text'>
* nix/libstore/build.cc (runChild): Move platform check after 'execve'
call.  Check specifically for ENOEXEC.
</content>
</entry>
<entry>
<title>daemon: Make libbz2 an optional dependency.</title>
<updated>2018-01-07T22:47:22Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-05T16:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f997137d0e2eba27bb1e2b282ee19ea474c41e12'/>
<id>urn:sha1:f997137d0e2eba27bb1e2b282ee19ea474c41e12</id>
<content type='text'>
* config-daemon.ac: Don't bail out when libbz2 is missing.  Define
'HAVE_LIBBZ2' Automake conditional.
* nix/libstore/build.cc: Wrap relevant bits in '#if HAVE_BZLIB_H'.
* nix/libstore/globals.cc (Settings::Settings): 'logCompression'
defaults to COMPRESSION_GZIP when HAVE_BZLIB_H is false.
* nix/libstore/globals.hh (CompressionType): Make 'COMPRESSION_BZIP2'
conditional on HAVE_BZLIB_H.
* nix/local.mk (guix_register_LDADD, guix_daemon_LDADD): Add -lbz2 only
when HAVE_LIBBZ2.
* nix/nix-daemon/guix-daemon.cc (parse_opt): Ignore "bzip2" when not
HAVE_BZLIB_H.
</content>
</entry>
<entry>
<title>daemon: Add gzip log compression.</title>
<updated>2018-01-07T22:47:22Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-05T16:15:41Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=29a686688674dc875775305312513405fa396a06'/>
<id>urn:sha1:29a686688674dc875775305312513405fa396a06</id>
<content type='text'>
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LOG_COMPRESSION): New macro.
(options): Mark "disable-log-compression" as hidden and add
"log-compression".
(parse_opt): Handle GUIX_OPT_LOG_COMPRESSION.
* nix/libstore/build.cc (DerivationGoal): Add 'gzLogFile'.
(openLogFile): Initialize it when 'logCompression' is COMPRESSION_GZIP.
(closeLogFile, handleChildOutput): Honor 'gzLogFile'.
* nix/libstore/globals.hh (Settings)[compressLog]: Remove.
[logCompression]: New field.
(CompressionType): New enum.
* nix/libstore/globals.cc (Settings::Settings): Initialize it.
(update): Remove '_get' call for 'compressLog'.
* nix/local.mk (guix_daemon_LDADD, guix_register_LDADD): Add -lz.
* guix/store.scm (log-file): Handle '.gz' log files.
* tests/guix-daemon.sh: Add test with '--log-compression=gzip'.
* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.
* config-daemon.ac: Check for libz and zlib.h.
</content>
</entry>
<entry>
<title>Simplify remouting with MS_PRIVATE in sandbox build</title>
<updated>2017-08-18T09:31:17Z</updated>
<author>
<name>Jörg Thalheim</name>
<email>joerg@higgsboson.tk</email>
</author>
<published>2016-11-24T23:08:34Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=842e0e439a22081be1b4fed7ddc21d6d228afd10'/>
<id>urn:sha1:842e0e439a22081be1b4fed7ddc21d6d228afd10</id>
<content type='text'>
also fix race condition if mounts are added after mountinfo is read.
</content>
</entry>
</feed>
