Commit Graph

26402 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