Commit Graph

36339 Commits

Author SHA1 Message Date
Ludovic Courtès f9a8fce10f
status: Build upon multiplexed build output.
This allows for more accurate status tracking and parsing of extended
build traces.

* guix/status.scm (multiplexed-output-supported?): New procedure.
(print-build-event): Don't print \r when PRINT-LOG? is true.
Adjust 'build-log' handling for when 'multiplexed-output-supported?'
returns true.
(bytevector-index, split-lines): New procedures.
(build-event-output-port)[%build-output-pid, %build-output]
[%build-output-left]: New variables.
[process-line]: Handle "@ build-output" traces.
[process-build-output]: New procedure.
[write!]: Add case for when %BUILD-OUTPUT-PID is true.  Use
'bytevector-index' rather than 'string-index'.
(compute-status): Add #:derivation-path->output-path.  Use it.
* tests/status.scm ("compute-status, multiplexed build output"):
New test.
("build-output-port, UTF-8")
("current-build-output-port, UTF-8 + garbage"): Adjust to new
'build-log' output.
* guix/scripts/build.scm (set-build-options-from-command-line):
Pass #:multiplexed-build-output?.
(%default-options): Add 'multiplexed-build-output?'.
* guix/scripts/environment.scm (%default-options): Likewise.
* guix/scripts/pack.scm (%default-options): Likewise.
* guix/scripts/package.scm (%default-options): Likewise.
* guix/scripts/pull.scm (%default-options): Likewise.
* guix/scripts/system.scm (%default-options): Likewise.
2018-10-15 23:06:55 +02:00
Ludovic Courtès 6ef61cc4c3
daemon: Support multiplexed build output.
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 > 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) <wopSetOptions>: 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
2018-10-15 22:40:35 +02:00
Efraim Flashner 1a2d8d06b5
* gnu: clang-runtime: Fix typo in patch name.
This is a follow-up to 0627f93db6.

* gnu/packages/patches/libsantitizer-ustat-fix.patch: Rename to
gnu/packages/patches/libsanitizer-ustat-fix.patch.
* gnu/packages/llvm.scm (clang-runtime@3.7, clang-runtime@3.8,
clang-runtime@3.9)[patches]: Fix patch name.
2018-10-15 21:51:26 +03:00
Efraim Flashner 0627f93db6
gnu: clang-runtime: Adapt for glibc@2.28.
* gnu/packages/llvm.scm (clang-runtime@3.7, clang-runtime@3.8,
clang-runtime@3.9)[patches]: Add patch to work around removed ustat.h.
* gnu/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2018-10-15 21:45:32 +03:00
Efraim Flashner 2ab321ca37
gnu: go@1.4: Add support for aarch64-linux.
* gnu/packages/golang.scm (go@1.4)[arguments]: Build for armhf-linux
when building for aarch64-linux.
[supported-systems]: Add aarch64-linux.
2018-10-15 14:21:07 +03:00
Rutger Helling 2c89b4b550
gnu: wine-staging: Update to 3.18.
* gnu/packages/wine.scm (wine-staging-patchset-data): Update to 3.18.
* gnu/packages/wine.scm (wine-staging): Update to 3.18.
2018-10-15 10:50:48 +02:00
Efraim Flashner b7028a16e6
gnu: x265: Fix building on armhf-linux and aarch64-linux.
* gnu/packages/video.scm (x265)[source]: Update list of patches.
[arguments]: Change configure flag to ensure PIC for all architectures.
* gnu/packages/patches/x265-arm-asm-primitives.patch: Remove file.
* gnu/packages/patches/x265-detect512-all-arches.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update patch registry.
2018-10-15 11:40:34 +03:00
Ludovic Courtès 68b0226b2a
gnu: gcal: Apply Gnulib fixes.
* gnu/packages/gcal.scm (gcal)[modules, snippet]: New fields.
2018-10-15 10:39:45 +02:00
Ludovic Courtès f1a9c6e581
gnu: lsof: Fix builds on glibc 2.28.
* gnu/packages/lsof.scm (lsof)[arguments]: In 'disable-failing-tests',
add 'substitute*' use for "tests/LTlib.c".
2018-10-15 10:31:24 +02:00
Tobias Geerinckx-Rice 2d5fa80e83
gnu: audacity: Update home page.
* gnu/packages/audio.scm (audacity)[home-page]: Update.
2018-10-15 06:19:38 +02:00
Tobias Geerinckx-Rice e02013b7de
gnu: hexchat: Use HTTPS home page.
* gnu/packages/messaging.scm (hexchat)[home-page]: Use HTTPS.
2018-10-15 06:19:38 +02:00
Tobias Geerinckx-Rice 4a147986a0
gnu: haveged: Teach the controversy.
* gnu/packages/linux.scm (haveged)[description]: Suggest adding
additional entropy sources.
2018-10-15 06:19:38 +02:00
Tobias Geerinckx-Rice dfe05297f3
gnu: x265: Update to 2.9.
* gnu/packages/video.scm (x265): Update to 2.9.
[source]: Remove x265-fix-ppc64le-build.patch.
* gnu/packages/patches/x265-fix-ppc64le-build.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2018-10-15 06:19:37 +02:00
Tobias Geerinckx-Rice 4702d45280
gnu: opensm: Update to 3.3.21.
* gnu/packages/fabric-management.scm (opensm): Update to 3.3.21.
[source]: Update tarball URI.
[native-inputs]: Add autoconf, automake, and libtool.
[arguments]: Rename 'doc' phase to 'install-doc'.
Omit AUTHORS and ChangeLog files. They are more than a decade old.
2018-10-15 06:19:37 +02:00
Tobias Geerinckx-Rice 9cac043cc0
gnu: restic: Update to 0.9.3.
* gnu/packages/backup.scm (restic): Update to 0.9.3.
[arguments]: Disable 'restic self-update'.
2018-10-15 06:19:37 +02:00
Tobias Geerinckx-Rice 3a6e1fe8c8
gnu: perl-xml-feed: Update to 0.55.
* gnu/packages/xml.scm (perl-xml-feed): Update to 0.55.
2018-10-15 06:19:36 +02:00
Maxim Cournoyer 66a9f08bb9
gnu: Add python-falcon-cors.
* gnu/packages/python-web.scm (python-falcon-cors): New variable.
2018-10-14 22:50:27 -04:00
Maxim Cournoyer bb840999c8
gnu: Add python-falcon.
* gnu/packages/python-web.scm (python-falcon): New variable.
2018-10-14 22:02:40 -04:00
Maxim Cournoyer 0731fc1ce7
gnu: python-mimeparse: Update to 1.6.0.
* gnu/packages/python.scm (python-mimeparse): Update to 1.6.0.
[phases]: Enable tests with a custom check phase.
2018-10-14 22:02:40 -04:00
Mark H Weaver 614f49c49a
gnu: linux-libre: Update to 4.18.14.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.18.14.
(%linux-libre-hash): Update hash.
2018-10-14 19:27:46 -04:00
Mark H Weaver b0fe6b5785
gnu: linux-libre@4.14: Update to 4.14.76.
* gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.76.
(%linux-libre-4.14-hash): Update hash.
2018-10-14 19:13:56 -04:00
Mark H Weaver f266e82ad2
gnu: linux-libre@4.9: Update to 4.9.133.
* gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.133.
2018-10-14 19:09:24 -04:00
Mark H Weaver 2dd1bfcb58
gnu: linux-libre@4.4: Update to 4.4.161.
* gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.161.
2018-10-14 19:07:35 -04:00
Ludovic Courtès 38a2f5eafb
status: Avoid "sucessfully built" messages when in quiet mode.
* guix/status.scm (print-build-event): Print "successfully built"
messages only when PRINT-LOG? is true, like we do for
'substituter-started' events.
2018-10-14 23:48:49 +02:00
Ludovic Courtès 2510bd8756
guix-install.sh: Recognize armhf-linux.
* etc/guix-install.sh (chk_sys_arch): Add "armv7l" case.
2018-10-14 23:48:49 +02:00
Ludovic Courtès e0caff9ed0
describe: Canonicalize the profile.
Fixes a regression introduced in
795d430d90 whereby 'guix describe' would
no longer display the generation number of ~/.config/guix/current.

* guix/scripts/describe.scm (guix-describe): Call 'canonicalize-profile'.
2018-10-14 23:48:49 +02:00
Efraim Flashner c2397a8695
gnu: gdk-pixbuf: Increase test timeout.
* gnu/packages/gtk.scm (gdk-pixbuf)[arguments]: Increase test timeout.
2018-10-14 11:04:40 +03:00
Efraim Flashner 89f9df6cfd
gnu: icecat: Build with rust-1.24.
* gnu/packages/gnuzilla.scm (icecat)[native-inputs]: Use the oldest
compatable rust over newer releases when building icecat.
2018-10-14 09:42:54 +03:00
Brett Gilio 40f856fae8
gnu: csound: Update to 6.11.0.
* gnu/packages/audio.scm (csound): Update to 6.11.0.
[home-page]: Change to "https://csound.com/".

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2018-10-14 10:52:12 +08:00
Leo Famulari d7814696b8
gnu: python-configargparse: Use pypi-uri.
* gnu/packages/python.scm (python-configargparse,
python2-configargparse)[source]: Use pypi-uri.
2018-10-12 23:42:43 -04:00
Leo Famulari f1be3735db
gnu: khal: Update to 0.9.10.
* gnu/packages/calendar.scm (khal): Update to 0.9.10.
2018-10-12 23:42:43 -04:00
Leo Famulari 3c4d307e86
gnu: python-icalendar: Update to 4.0.2.
* gnu/packages/python.scm (python-icalendar: Update to 4.0.2.
2018-10-12 23:42:43 -04:00
Leo Famulari 3584eeb9a1
gnu: ImageMagick: Update to 6.9.10-12.
* gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.10-12.
2018-10-12 23:42:39 -04:00
Leo Famulari a60e868629
gnu: Wireshark: Update to 2.6.4 [fixes CVE-2018-{12086,18225,18226,18227}].
* gnu/packages/networking.scm (wireshark): Update to 2.6.4.
2018-10-12 22:18:22 -04:00
Ludovic Courtès aa227b3be3
pull: Fix target of /var/guix/profiles/per-user/USER/current-guix.
This is a followup to 8155a20907.

* guix/scripts/pull.scm (migrate-generations): Compute the right target
for /var/guix/profiles/per-user/USER/current-guix.  Previously we'd
return "current-N-link" instead of "current-guix-N-link'.
2018-10-12 16:45:34 +02:00
宋文武 6826f1e1ed
gnu: Add libpd.
* gnu/packages/music.scm (libpd): New variable.
2018-10-12 22:23:58 +08:00
Ludovic Courtès 8036b0942b
pull: Don't use rename(2) across potentially different devices.
Reported by Formbi on #guix.

* guix/scripts/pull.scm (migrate-generations): Use 'symlink' and
'delete-file' instead of 'rename-file'.  The latter could lead to EXDEV
when $HOME and /var were different partitions.
2018-10-12 15:18:41 +02:00
Ludovic Courtès dde49cfe53
build: Fine-tune the forbidden M4 patterns.
* configure.ac: Forbid "^GUILE_P", allow "^GUILE_PKG_ERRORS".
2018-10-12 15:18:41 +02:00
Ludovic Courtès 28f436a904
build: Remove obsolete reference to 'GUIX_ASSERT_LIBGCRYPT_USABLE'.
Reported by Mark H Weaver <mhw@netris.org>.
Fixes <https://bugs.gnu.org/33023>.

* configure.ac: Remove use of 'GUIX_ASSERT_LIBGCRYPT_USABLE'.
Add "^GUIX_" to the forbidden M4 patterns.
2018-10-12 15:18:41 +02:00
Christopher Baines 50135ff896
gnu: Remove duplicate ruby-yard package definition.
* gnu/packages/ruby.scm (ruby-yard): Remove one of the two package
definitions, and update the other to the latest release.
2018-10-12 08:23:17 +01:00
Christopher Baines e9ab649e1e
gnu: Remove duplicate ruby-concurrent package definition.
* gnu/packages/ruby.scm (ruby-concurrent): Remove one of the two definitions
for this variable.
2018-10-12 08:23:15 +01:00
Ludovic Courtès 1c795c4fd2
profiles: 'user-friendly-profile' now recognizes ~/.config/guix/current.
* guix/profiles.scm (%known-shorthand-profiles): New variable.
(user-friendly-profile): Use it.
2018-10-12 00:13:14 +02:00
Ludovic Courtès 8155a20907
pull: Create /var/guix/profiles/per-user/USER/current-guix.
Previously the migration code would fail to create that file, so
~/.config/guix/current would be dangling.

* guix/scripts/pull.scm (migrate-generations): Create
/var/guix/profiles/per-user/USER/current-guix.
2018-10-12 00:13:14 +02:00
Vagrant Cascadian e1d1ec1435
gnu: u-boot: Update to 2018.09.
* gnu/packages/bootloaders.scm (u-boot): Update to 2018.09.
(u-boot-tools)[arguments]: Substitute "coverage" for "python-coverage". Update
workaround for only 99% test coverage.

Signed-off-by: Leo Famulari <leo@famulari.name>
2018-10-11 17:28:53 -04:00
Brett Gilio fc346e30a0
gnu: godot: Update to 3.0.6.
* gnu/packages/game-development.scm (godot): Update to 3.0.6.
2018-10-11 16:42:04 -04:00
Efraim Flashner 0ea6af996b
gnu: python-testtools: Fix regression in test suite.
* gnu/packages/check.scm (python-testtools)[source]: Add patch.
* gnu/packages/patches/python-testtools.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2018-10-11 22:34:20 +03:00
Efraim Flashner fd15eb286e
gnu: python-more-itertools: Fix building on 32-bit architectures.
* gnu/packages/python.scm (python-more-itertools)[arguments]: Add a
custom phase to prevent overflowing on 32-bit architectures.
2018-10-11 20:55:44 +03:00
Leo Famulari 3bee949b03
gnu: Krita: Update to 4.1.5.
* gnu/packages/kde.scm (krita): Update to 4.1.5.
2018-10-11 13:10:50 -04:00
Ludovic Courtès ed9d7cb4d9
gnu: guix-daemon: Run 'guix' from /var/guix/profiles/per-user/root.
Fixes <https://bugs.gnu.org/32183>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>
and Konrad Hinsen <konrad.hinsen@fastmail.net>.

* gnu/packages/package-management.scm (guix-daemon)[arguments]: Execute
/var/guix/profiles/per-user/root/current-guix/bin/guix instead of ~root/….
2018-10-11 18:29:11 +02:00
Ludovic Courtès 795d430d90
pull: Turn ~/.config/guix/current into a symlink to /var/guix/profiles.
This is more consistent with what 'guix package' does, more pleasant for
users (we no longer clobber ~/.config/guix), and more
cluster-friendly (since /var/guix/profiles is usually an NFS share
already.)

* guix/scripts/pull.scm (%current-profile, %user-profile-directory): New
variables.
(migrate-generations, ensure-default-profile): New procedures.
(guix-pull): Use %CURRENT-PROFILE by default.  Call
'ensure-default-profile'.
* doc/guix.texi (Invoking guix pull): Adjust 'guix package -p
~/.config/guix/current' example.
* guix/scripts.scm (warn-about-old-distro): Check %PROFILE-DIRECTORY
"/current-guix".
2018-10-11 18:29:11 +02:00