gnu: Add ruby-sdoc. * gnu/packages/ruby.scm (ruby-sdoc): New variable.
gnu: Add ruby-pry-editline. * gnu/packages/ruby.scm (ruby-pry-editline): New variable.
gnu: Add ruby-ci-reporter. * gnu/packages/ruby.scm (ruby-ci-reporter): New variable.
gnu: Add ruby-atoulme-saikuro. * gnu/packages/ruby.scm (ruby-atoulme-saikuro): New variable.
gnu: Add ruby-simplecov. * gnu/packages/ruby.scm (ruby-simplecov): New variable.
gnu: Add sparsehash. * gnu/packages/crypto.scm (sparsehash): New variable.
gnu: Add cereal. * gnu/packages/serialization.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
gnu: xorriso: Update to 1.4.2. * gnu/packages/cdrom.scm (xorriso): Update to 1.4.2.
gnu: python: Move tkinter to "tk" output. * gnu/packages/python.scm (python-2)[outputs]: New field. [arguments]: Add 'move-tk-inter' phase. (python2-minimal, python-minimal, wrap-python3)[outputs]: New field.
gnu: python: Clarify and shorten the list of built-time modules. * gnu/packages/python.scm (python-2)[arguments]: Make the #:modules list shorter.
gnu: python: Do not record configure flags. This reduces the number of run-time dependencies of python-2 from 25 to 15, corresponding only to ~4 MiB. * gnu/packages/python.scm (python-2)[arguments]: Add 'do-not-record-configure-flags' phase.
gnu: python: Factorize configure flags with minimal variants. * gnu/packages/python.scm (python2-minimal, python-minimal)[arguments]: Reuse the inherited configure flags, and just add --without-system-ffi.
gnu: python: Make 'sys.version' deterministic. * gnu/packages/patches/python-2-deterministic-build-info.patch, gnu/packages/patches/python-3-deterministic-build-info.patch: New files. * gnu/packages/python.scm (python-2, python): Use them. * gnu-system.am (dist_patch_DATA): Add them.
gnu: python: Set SOURCE_DATE_EPOCH to 1 instead of 0. * gnu/packages/python.scm (python-2)[arguments]: Set SOURCE_DATE_EPOCH to 1 to match what the daemon does. * guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): Likewise.
gnu: python-2: Honor 'SOURCE_DATE_EPOCH'. * gnu/packages/patches/python-2.7-source-date-epoch.patch: New file. * gnu/packages/python.scm (python-2)[source]: Use it. [arguments]: Set SOURCE_DATE_EPOCH in 'patch-lib-shells' phase. * guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): New procedure. (%standard-phases): Add it. * gnu-system.am (dist_patch_DATA): Add patch.
gnu: tcl: Produce 'tclIndex' files deterministically. * gnu/packages/patches/tcl-mkindex-deterministic.patch: New patch. * gnu/packages/tcl.scm (tcl)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it.
tk: Hardcode path to TK_LIBRARY. Fixes <http://bugs.gnu.org/20889>. * gnu/packages/patches/tk-find-library.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/tcl.scm (tk)[source]: Add patch.
refresh: Check updater availability at run time. This is a followup to b68d2db, which added a check for updaters at macro-expansion time. The problem is that, when running 'guix pull', Guile-JSON is found, so the PyPi updater (say) is added to %UPDATERS, but then at run time Guile-JSON might be missing. Reported by orbea on #guix. * guix/scripts/refresh.scm (maybe-updater): Rewrite as 'syntax-rules'. Produce code that checks conditions at run time. (list-updaters): Update docstring.
gnu: Add perl-dbd-mysql. * gnu/packages/databases.scm (perl-dbd-mysql): New variable.
gnu: Add Rakarrack. * gnu/packages/audio.scm (rakarrack): New variable.