Commit Graph

26852 Commits

Author SHA1 Message Date
Ludovic Courtès 34797d8afc
hydra: Invalidate derivation caches after each architecture evaluation.
This reduces max RSS from 1.3G to 1.0G.

* guix/derivations.scm (invalidate-derivation-caches!): New procedure.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use it.  Add 'format'
call.
2017-12-13 23:11:53 +01:00
Ludovic Courtès d1f01e4845
memoization: Add 'invalidate-memoization!.
* guix/memoization.scm (%make-hash-table*): When not profiling, add the
new table to %MEMOIZATION-TABLES.
(invalidate-memoization!): New procedure.
2017-12-13 23:11:53 +01:00
Ludovic Courtès 90354e34e3
derivations: Don't memoize 'derivation-hash'.
This has little or no run-time impact and slightly reduces the memory
footprint.

* guix/derivations.scm (derivation-hash): Replace 'mlambda' with
'lambda'.
2017-12-13 23:11:53 +01:00
Ludovic Courtès eb1150c22c
derivations: Split 'derivation-hash' in two procedures.
* guix/derivations.scm (derivation/masked-inputs): New procedure.
(derivation-hash): Use it instead of the inline code.
2017-12-13 23:11:53 +01:00
Arun Isaac d738f134e4
gnu: notmuch: Move elisp directory and generate autoloads.
* gnu/packages/mail.scm (notmuch)[arguments]: Move elisp files to
share/emacs/site-lisp/guix.d/notmuch-<version>.
Add make-autoloads phase.
2017-12-13 23:49:14 +05:30
Ludovic Courtès cc6a4b0386
pull: Add (guix profiling) to the build environment.
Reported by Ricardo Wurmus.

* build-aux/build-self.scm (build): Add (guix profiling).
2017-12-13 17:16:40 +01:00
Ludovic Courtès 22358bdb7c
Revert "derivations: 'derivation-hash' assumes inputs are coalesced."
This reverts commit 1d008d9f8c.
Reported by Rutger Helling <rhelling@mykolab.com>.
Fixes <https://bugs.gnu.org/29689>.
2017-12-13 15:13:38 +01:00
Tobias Geerinckx-Rice c2c5b115ab
gnu: polyml: Update to 5.7.1.
* gnu/packages/sml.scm (polyml): Update to 5.7.1.
2017-12-13 14:18:51 +01:00
Tobias Geerinckx-Rice 4168ddf689
gnu: guile-gdbm-ffi: Install documentation.
* gnu/packages/guile.scm (guile-gdbm-ffi)[arguments]: Install README.md and
some examples.  Tidy up MKDIR-P calls.
2017-12-13 13:15:47 +01:00
Tobias Geerinckx-Rice 57202f2e24
gnu: gtksourceview: Update to 3.24.6.
* gnu/packages/gtk.scm (gtksourceview): Update to 3.24.6
2017-12-13 13:15:47 +01:00
Mathieu Othacehe 7b307a21dd
vm: Use qemu drive device parameter.
* gnu/build/vm.scm (load-in-linux-vm): Use device parameter to define drive
  device.
2017-12-13 11:30:04 +01:00
Oleg Pykhalov 91b21ba9f7
gnu: cgit: Patch absolute file names.
* gnu/packages/version-control.scm (cgit): Patch absolute file names.
2017-12-13 05:15:21 +03:00
Mark Meyer 40761f57ad
gnu: Add krita.
* gnu/packages/kde.scm (krita): New variable.

Signed-off-by: Kei Kebreau <kkebreau@posteo.net>
2017-12-12 21:00:27 -05:00
Tobias Geerinckx-Rice 27c50d87f5
doc: Fix typo.
* doc/guix.texi: Add missing ‘@*’ to copyright headers.
2017-12-12 22:35:37 +01:00
Tobias Geerinckx-Rice a7ebe9dc39
gnu: xfig: Update to 3.2.6a.
* gnu/packages/xfig.scm (xfig): Update to 3.2.6a.
[native-inputs]: Remove groff, imake, makedepend.  Add desktop-file-utils.
[inputs]: Remove libxmu and zlib.
[arguments]: Remove custom phases.  Add a ‘strip-bogus-exec-prefix’ phase.
Run the rudimentary test suite.
2017-12-12 22:34:29 +01:00
nee 64bae7237c
gnu: services: Add php-fpm.
* gnu/services/web.scm (<php-fpm-configuration>,
  <php-fpm-process-manager-configuration>): New record types.
  (php-fpm-configuration?,
   php-fpm-process-manager-configuration?,
   php-fpm-service-type,
   nginx-php-location): New procedures.
* doc/guix.texi (Web-Services): Document php-fpm service.
* gnu/tests/web.scm: Add php-fpm system test.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-12-12 21:29:39 +00:00
Tobias Geerinckx-Rice e05cc6b802
gnu: meson: Update to 0.44.0.
* gnu/packages/build-tools.scm (meson): Update to 0.44.0
2017-12-12 20:30:19 +01:00
Tobias Geerinckx-Rice 1e000f176f
gnu: miniupnpc: Update to 2.0.20171212.
* gnu/packages/upnp.scm (miniupnpc): Update to 2.0.20171212.
2017-12-12 20:28:08 +01:00
Efraim Flashner cbf5eb84ef
gnu: global: Update to 6.6.
* gnu/packages/code.scm (global): Update to 6.6.
2017-12-12 20:47:17 +02:00
Ludovic Courtès 1d008d9f8c
derivations: 'derivation-hash' assumes inputs are coalesced.
* guix/derivations.scm (derivation-hash): Remove
redundant 'coalesce-duplicate-inputs' call.
2017-12-12 18:11:22 +01:00
Ludovic Courtès 3d19b7fbc2
derivations: Use 'define-immutable-record-type' as appropriate.
This is a followup to dc673fa113.

* guix/derivations.scm (<derivation-output>, <derivation-input>): Use
'define-immutable-record-type'.
2017-12-12 18:11:22 +01:00
Ludovic Courtès 6c80641d54
memoization: Profiling support keeps track of lookups and hits.
* guix/memoization.scm (<cache>): New record type.
(define-lookup-procedure, define-update-procedure): New macros.
(cache-ref, cacheq-ref, cache-set!, cacheq-set!): New procedures.
(cached/mv, cachedq/mv, cached, cachedq): Use them instead of 'hash-ref'
and 'hash-set!'.
(%make-hash-table*): When 'profiled?' returns true, return a <cache>
object.
(define-cache-procedure): Adjust to show cache lookups and hits.
2017-12-12 18:11:22 +01:00
Ludovic Courtès 252c408377
memoization: Add profiling support.
* guix/memoization.scm (%memoization-tables): New variable.
(%make-hash-table*, show-memoization-tables): New procedures.
(make-hash-table*): New macro.
Add top-level call to 'register-profiling-hook!'.
(memoize): Adjust to pass the resulting procedure to
'make-hash-table*'.
(%mlambda): Likewise.
2017-12-12 18:11:22 +01:00
Ludovic Courtès 03870da819
Add (guix profiling).
* guix/profiling.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/store.scm (record-operation): Use 'profiled?' and
'register-profiling-hook!'.
2017-12-12 18:11:22 +01:00
Tobias Geerinckx-Rice 6e119bad60
gnu: xfig, transfig: Update home pages.
* gnu/packages/xfig.scm (xfig, transfig)[home-page]: Use SourceForge.net.
2017-12-12 05:12:14 +01:00
Tobias Geerinckx-Rice cc3ac162c5
gnu: Add uthash.
* gnu/packages/datastructures.scm (uthash): New public variable.
2017-12-12 05:12:13 +01:00
Tobias Geerinckx-Rice 8d8d227bbb
gnu: Add fbcat.
* gnu/packages/linux.scm (fbcat): New public variable.
2017-12-12 05:12:13 +01:00
Tobias Geerinckx-Rice c1c8258443
gnu: Add snapscreenshot.
* gnu/packages/linux.scm (snapscreenshot): New public variable.
2017-12-12 05:12:13 +01:00
Mark H Weaver 111841c33e
gnu: linux-libre: Update to 4.14.5.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.14.5.
(%linux-libre-hash): Update hash.
2017-12-11 19:22:47 -05:00
Mark H Weaver 7dd51f2dd0
gnu: linux-libre@4.9: Update to 4.9.68.
* gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.68.
2017-12-11 19:22:12 -05:00
Mark H Weaver 3bbc6fae15
gnu: linux-libre@4.4: Update to 4.4.105.
* gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.105.
2017-12-11 19:21:35 -05:00
Marius Bakke eb6263f215
gnu: whois: Update to 5.2.19.
* gnu/packages/networking.scm (whois): Update to 5.2.19.
[arguments]: Don't set HAVE_LIBIDN in 'setenv' phase; this is now autodetected.
[native-inputs]: Add PKG-CONFIG.
2017-12-12 01:08:06 +01:00
Marius Bakke f419fe4ddb
gnu: Remove ffmpeg@3.3.
The reason this was required was because of a regression in ffmpeg 3.4; see
<https://trac.ffmpeg.org/ticket/6775>.

* gnu/packages/gstreamer.scm (gst-libav)[inputs]: Change FFMPEG-3.3 to FFMPEG.
* gnu/packages/video.scm (ffmpeg-3.3): Remove variable.
2017-12-12 01:08:06 +01:00
Marius Bakke 7f7419b56f
gnu: ffmpeg: Update to 3.4.1.
* gnu/packages/video.scm (ffmpeg): Update to 3.4.1.
2017-12-12 00:50:58 +01:00
Oleg Pykhalov adedbe95d4
gnu: Add cli-visualizer.
* gnu/packages/audio.scm (cli-visualizer): New variable.
2017-12-12 00:08:38 +03:00
Christopher Baines 472368a8ac
services: web: Switch nginx related functions to use match-record.
As this is less prone to mistakes than match.

* gnu/services/web.scm (default-nginx-config, nginx-activation,
  nginx-shepherd-service): Switch from using match-lambda to match-record.
2017-12-11 20:57:41 +00:00
Christopher Baines 2881f85220
services: web: Add support for configuring the nginx server names hash.
The nginx service can fail to start if the server names hash bucket size is
too small, which can happen on some systems, and when using QEMU, depending on
the CPU.

* gnu/services/web.scm (<nginx-configuration>): Add
  server-names-hash-bucket-size and server-names-hash-bucket-max-size.
  (default-nginx-config): Add support for the new hash bucket size parameters.
  (nginx-service, nginx-activation): Pass the new hash bucket size parameters
  through to the default-nginx-config procedure.
* doc/guix.texi (Web Services): Document the new hash bucket size parameters.
2017-12-11 20:57:34 +00:00
Christopher Baines c48aa70a9a
services: web: Remove default certificate and key files for nginx.
If nginx is configured with a ssl-certificate file, and ssl-certificate-key,
it will fail to start unless these exist. To avoid this happening, change the
default to #f.

* gnu/services/web.scm (<nginx-server-configuration>)
  [ssl-certificate,ssl-certificate-key]: Set the defaults to #f.
* gnu/tests/web.scm (%nginx-servers): Remove redundant
  nginx-server-configuration fields.
* doc/guix.texi (Web Services): Update examples and documentation.
2017-12-11 20:36:43 +00:00
Christopher Baines b7db2c63ed
web: Don't error about missing ssl related files.
Erroring here prevents doing things like building a system using nginx on a
different machine from where it's intended to be deployed, or creating
containers and VMs that use the ssl-certificate parts of the nginx
configuration, without also getting these files to exist.

* gnu/services/web.scm (emit-nginx-server-config): Don't error on missing ssl
  related files.
2017-12-11 20:36:35 +00:00
Efraim Flashner 0d57068333
gnu: cargo: Add file-name field to input sources.
* gnu/packages/rust.scm (cargo)[inputs]: Add 'file-name' field to all
source inputs.
2017-12-11 21:21:46 +02:00
Efraim Flashner e85d681cbf
gnu: rust: Add support for all platforms.
* gnu/packages/rust.scm (%rust-bootstrap-binaries): Add entries for all
platforms supported by Guix.
(rustc-bootstrap, cargo-bootstrap)[supported-systems]: Remove field.
2017-12-11 21:21:45 +02:00
Efraim Flashner fd3ddefa1f
gnu: %rust-bootstrap-binaries: Add missing catch-all entry.
* gnu/packages/rust.scm (%rust-bootstrap-binaries): Add missing
catch-all entry to prevent various errors in Guix.
2017-12-11 21:21:41 +02:00
Christopher Baines 9cf5f134d5
gnu: Switch to using the version-major procedure.
* gnu/packages/audio.scm (ardour)[arguments]: Switch to using version-major.
  (hmmer)[source]: Switch to using version-major.
  (pidgin)[native-search-paths]: Switch to using version-major.
  (r-minimal)[source]: Switch to using version-major.
2017-12-11 19:12:33 +00:00
nee 47dc9a0dae
guix: utils: Add version-major.
* guix/utils.scm (version-major): New procedure.
2017-12-11 19:12:23 +00:00
Arun Isaac 1e52fd83c2
gnu: Add afew.
* gnu/packages/mail.scm (afew): New variable.
2017-12-12 00:03:48 +05:30
Maxim Cournoyer 42e891c27b
gnu: Add emacs-diff-hl.
* gnu/packages/emacs.scm (emacs-diff-hl): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-12-11 17:14:36 +01:00
Z. Ren 73138fd146
gnu: skalibs: Fix non-reproducibility issue.
* gnu/packages/skarnet.scm (skalibs)[arguments]: In 'reproducible'
phase, insert a 'sort' call in "Makefile".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-12-11 17:14:36 +01:00
Maxim Cournoyer cdba3a8469
gnu: Add emacs-string-inflection.
* gnu/packages/emacs.scm (emacs-string-inflection): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-12-11 17:14:36 +01:00
Maxim Cournoyer fbc60db895
gnu: Add emacs-grep-a-lot.
* gnu/packages/emacs.scm (emacs-grep-a-lot): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-12-11 17:14:36 +01:00
Maxim Cournoyer 9faa46ee48
gnu: Add emacs-csv-mode.
* gnu/packages/emacs.scm (emacs-csv-mode): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-12-11 17:14:35 +01:00