Commit Graph

4803 Commits

Author SHA1 Message Date
Ludovic Courtès e87f0591f3 monads: Move '%store-monad' and related procedures where they belong.
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.

* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file, package-file, package->derivation,
  package->cross-derivation, origin->derivation, imported-modules,
  compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file): ... here.
  (%guile-for-build): New variable.
  (run-with-store): Moved from monads.scm.  Remove default value for
  #:guile-for-build.
* guix/packages.scm (default-guile): Export.
  (set-guile-for-build): New procedure.
  (package-file, package->derivation, package->cross-derivation,
  origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
  (imported-modules): Rename to...
  (%imported-modules): ... this.
  (compiled-modules): Rename to...
  (%compiled-modules): ... this.
  (built-derivations, imported-modules, compiled-modules): New
  procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
  gnu/services/dmd.scm, gnu/services/networking.scm,
  gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
  gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
  guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
  guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
  (store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
  'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Ludovic Courtès 1ed194646b doc: Move 'text-file*' to the gexp section.
This is a follow-up to commit 462a3fa.

* doc/guix.texi (The Store Monad): Move 'text-file*'...
  (G-Expressions): ... to here.
2015-01-14 11:22:51 +01:00
Ludovic Courtès 1c975f60b1 gnu: Add zerofree.
* gnu/packages/linux.scm (zerofree): New variable.
2015-01-13 22:20:12 +01:00
Ludovic Courtès 7c594a2c2f gnu: e2fsprogs: Install libext2fs.
* gnu/packages/linux.scm (e2fsprogs)[source]: Add 'snippet'.
  [arguments]: Add --enable-elf-shlibs to #:configure-flags.
  Add #:make-flags.
2015-01-13 22:14:30 +01:00
Ludovic Courtès 524f4becff gnu: Add GLEW.
* gnu/packages/gl.scm (glew): New variable.
2015-01-13 18:16:35 +01:00
Ludovic Courtès 7bed4df49a services: user-processes: Really honor the grace delay.
* gnu/services/base.scm (user-processes-service): Change #:grace-delay
  default value to 4.  Define 'sleep*' and use it.
2015-01-13 18:16:35 +01:00
Ludovic Courtès be68177368 system: Add iw to '%base-packages'.
* gnu/system.scm (%base-packages): Add IW.
2015-01-13 18:16:35 +01:00
Ludovic Courtès fb9b7ce258 gnu: wireless-tools: Describe it as deprecated.
* gnu/packages/linux.scm (wireless-tools)[description]: Explain that it
  is deprecated in favor of 'iw'.
2015-01-13 18:16:35 +01:00
Ludovic Courtès 2e69dd8c1d gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update snapshot.
  Remove now-unneeded sub-module stuff in the 'bootstrap' phase.
2015-01-13 18:16:35 +01:00
Ricardo Wurmus 765f0ac8f9 gnu: Add QPDF.
* gnu/packages/pdf.scm (qpdf): New variable.
2015-01-13 16:51:52 +01:00
Ludovic Courtès 4655005e24 tests: Properly synchronize threads in the 'home-page' lint tests.
* tests/lint.scm (%http-server-lock, %http-server-ready): New
  variables.
  (http-open): New procedure.
  (stub-http-server): Use it.
  (call-with-http-server): Wrap body in 'with-mutex'.  Call
  'wait-condition-variable' after 'make-thread'.
2015-01-13 11:09:05 +01:00
Ludovic Courtès 35ed9306b9 doc: Change some occurrences of "the GNU system" to "Guixotic".
* doc/guix.texi (GNU Distribution): Explain what "Guixotic" is.
  (System Installation): Replace "the GNU system" by "Guixotic".
  (System Configuration): Likewise.
  (Invoking guix system): Likewise.
2015-01-13 11:09:05 +01:00
Federico Beffa f5895dab8a build/glib-or-gtk-build-system: Fix 'generate-icon-cache'.
Reported by Mark H Weaver <mhw@netris.org>

* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for
  existence of icons directory.
2015-01-13 09:16:47 +01:00
Mark H Weaver 65cd77db20 gnu: Add iw.
* gnu/packages/linux.scm (iw): New variable.
2015-01-12 18:37:16 -05:00
Mark H Weaver bdac3d4bf7 gnu: libnl: Update to 3.2.25.
* gnu/packages/linux.scm (libnl): Update to 3.2.25.
2015-01-12 18:37:16 -05:00
Ludovic Courtès abebac4601 monads: Remove 'derivation-expression'.
* guix/monads.scm (lower-inputs, derivation-expression): Remove.
* tests/monads.scm (derivation-expression, "mlet* +
  derivation-expression"): Remove.
2015-01-12 23:33:08 +01:00
Ludovic Courtès 462a3fa36c monads: Rewrite 'text-file*' using gexps.
* guix/monads.scm (text-file*): Move to...
* guix/gexp.scm (text-file*): ... here.  Rewrite using gexps.
* tests/monads.scm ("text-file*"): Move to...
* tests/gexp.scm ("text-file*"): ... here.
2015-01-12 23:33:08 +01:00
Ludovic Courtès 4a4dd5d89d services: user-processes: Write debugging messages to the output port.
* gnu/services/base.scm (user-processes-service): Write "sending all
  processes..." message to the current output port, not to /dev/console.
2015-01-12 23:33:08 +01:00
Ludovic Courtès ab69d9ac86 gnu: Move xlockmore to (gnu packages xdisorg).
* gnu/packages/xlockmore.scm: Remove.
* gnu/packages/xdisorg.scm (xlockmore): New variable, from
  xlockmore.scm.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove xlockmore.scm.
2015-01-12 23:33:08 +01:00
Ludovic Courtès bb54c8ff05 gnu: xlockmore: Update to 5.45.
* gnu/packages/xlockmore.scm (xlockmore): Update to 5.45.
  [arguments]: Add #:configure-flags.
2015-01-12 23:33:08 +01:00
Federico Beffa 3d243e9c45 gnu: evince: Add inputs.
* gnu/packages/gnome.scm (evince): Add 'dconf' and 'libcanberra' inputs.
  Remove custom phase 'set-mime-search-path which is now handled by
  glib-or-gtk-build-system.
2015-01-12 18:00:08 +01:00
Federico Beffa beb8dc0007 gnu: libcanberra: Add default sounds support.
* gnu/packages/libcanberra.scm (libcanberra): Add input
  'sound-theme-freedesktop'.  Add "libcanberra-sound-theme-freedesktop.patch"
  and related phase 'patch-default-sounds-directory to patch the default
  sounds directory.
2015-01-12 18:00:08 +01:00
Federico Beffa b47e1b20bd gnu: dconf: Add dconf.
* gnu/packages/gnome.scm (dconf): New variable.
2015-01-12 18:00:08 +01:00
Federico Beffa 61771a79ab guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming.
* guix/build/glib-or-gtk-build-system.scm (data-directories): Rename
  'schemas-directories' to 'data-directories' and add support for XDG theming
  data.

* guix/build/glib-or-gtk-build-system.scm (gio-module-directories): New
  function.

* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Update names to
  reflect that we are dealing with more types of data and not only with
  schemas.  Add handling of GIO modules.

* guix/build-system/glib-or-gtk.scm (lower): Import the 'bin' output of GLib
  instead of 'out'.  This was an error since we need the program
  'glib-compile-schemas'.  Update the description.
2015-01-12 18:00:08 +01:00
Jason Self 9f496d430b gnu: ffmpeg: Update to 2.5.3
* gnu/packages/video.scm (ffmpeg): Update to version 2.5.3.
2015-01-12 08:00:21 -08:00
Jason Self 7d05f76956 gnu: ffmpeg-2.2: Update to 2.2.11
* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.11.
2015-01-12 07:59:17 -08:00
Andreas Enge a63ffe03d4 gnu: gp2c: Update to 0.0.9pl2.
* gnu/packages/algebra.scm (gp2c): Update to 0.0.9pl2.
2015-01-12 13:31:35 +01:00
Andreas Enge bbea956575 gnu: pari-gp: Update to 2.7.2.
* gnu/packages/algebra.scm (pari-gp): Update to 2.7.2.
2015-01-12 13:27:59 +01:00
Ludovic Courtès c06d140c03 derivations: Use a set for 'substitution-oracle'.
* guix/derivations.scm (substitution-oracle): Use sets instead of lists.
2015-01-11 23:50:01 +01:00
Ludovic Courtès ed3592a980 derivations: Use sets for 'derivations-prerequisites'.
This yields a 46% improvement in 'derivation-prerequisites' invocations
on the Emacs derivation.

* guix/derivations.scm (derivation-prerequisites): Add 'input-set'
  variable, and use it in iterations.
2015-01-11 23:50:01 +01:00
Ludovic Courtès d326767e64 Add (guix sets).
* guix/sets.scm, tests/sets.scm: New files.sets
* Makefile.am (MODULES, SCM_TESTS): Add them.
2015-01-11 23:50:01 +01:00
宋文武 0009ed71ad gnu: qt: Add more inputs.
* gnu/packages/qt.scm (qt): Add expat, pciutils, libxcomposite, libxcursor,
  libxfixes, libxinerama, libxml2, libxrandr, libxslt, libxtst, mtdev, nss,
  pcre, sqlite, eudev to 'inputs'.
  Add bison, flex, gperf, ninja, python-2, ruby, which to 'native-inputs'.
2015-01-11 19:51:51 +08:00
宋文武 5b490ab52f gnu: qt: Update to 5.4.0.
* gnu/packages/qt.scm (qt): Update to 5.4.0.
  [origin]: Add snippet.
2015-01-11 19:37:33 +08:00
宋文武 cd287ba162 gnu: Add ninja.
* gnu/packages/ninja.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2015-01-11 19:19:03 +08:00
宋文武 1aaaff1a7b gnu: Add nss.
* gnu/packages/patches/nss-pkgconfig.patch: New file.
* gnu-system.scm (dist_patch_DATA): Add it.
* gnu/packages/gnuzilla.scm (nss): New variable.
2015-01-11 19:15:34 +08:00
宋文武 4923e06f21 gnu: Move mozjs and nspr to (gnu packages gnuzilla).
* gnu/packages/polkit.scm (mozjs, nspr): Move to...
* gnu/packages/gnuzilla.scm (mozjs, nspr): ... here. New variables.
2015-01-11 19:14:53 +08:00
Jason Self c2d9355c36 gnu: linux-libre: Update to 3.18.2
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.2.
2015-01-09 21:19:43 -08:00
Ludovic Courtès e9651e39b3 derivations: Add 'substitution-oracle' and use it.
This makes 'guix environment PACKAGE' significantly faster when
substitutes are enabled.  Before that, it would lead to many invocations
of 'guix substitute-binary', one per 'derivation-prerequisites-to-build'
call.  Now, all these are replaced by a single invocation.

* guix/derivations.scm (derivation-output-paths, substitution-oracle):
  New procedures.
  (derivation-prerequisites-to-build): Replace #:use-substitutes? with
  #:substitutable?.  Remove the local 'derivation-output-paths' and
  'substitutable?'.
* guix/ui.scm (show-what-to-build): Add 'substitutable?'.  Pass it to
  'derivation-prerequisites-to-build'.
  [built-or-substitutable?]: Use it instead of 'has-substitutes?'.
* tests/derivations.scm ("derivation-prerequisites-to-build and
  substitutes"): Use #:substitutable? instead of #:use-substitutes?.
2015-01-10 00:39:59 +01:00
Ludovic Courtès 0b6af195fe derivations: Add 'derivation-output-names'.
* guix/derivations.scm (derivation-output-names): New procedure.
  (derivation-prerequisites-to-build): Use it for #:outputs.
  (map-derivation): Likewise.
* tests/derivations.scm ("derivation-output-names"): New test.
2015-01-09 23:36:24 +01:00
Ludovic Courtès eb9dfcb3c4 nls: Update 'eo' translation. 2015-01-09 23:33:05 +01:00
Eric Bavier d45dc6da5c import: Add CPAN importer.
* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
  New files.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
* guix/scripts/import.scm (importers): Add cpan.
* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
  of guile-json.
  (Invoking guix import): Document new `guix import cpan` command.
2015-01-09 10:38:26 -06:00
Eric Bavier 694b317c2d tests: import: Factorize utility function.
* tests/pypi.scm (mock): Move this...
* guix/tests.scm: to here.
2015-01-09 10:38:25 -06:00
Eric Bavier 1ff2619bc1 import: Factorize utility functions.
* guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*,
  url-fetch, json-fetch): Pull procedures from here into...
* guix/import/utils.scm: Here and...
* guix/import/json.scm: Here.  New file.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it.
* guix/import/gnu.scm (file-sha256): Move from here to...
* guix/hash.scm: Here.
* tests/pypi.scm (pypi->guix-package): Update mock module reference.
2015-01-09 10:33:24 -06:00
Eric Bavier c6cb82f5d5 import: gnu: Propagate the key-download argument.
* guix/import/gnu.scm (gnu->guix-package): Pass the key-download
  argument on to gnu-package->sexp.
2015-01-09 10:33:24 -06:00
Ricardo Wurmus 927d4d9bd8 gnu: poppler: build with openjpeg and lcms
* gnu/packages/pdf.scm (poppler): build poppler with openjpeg 1.5 and lcms.
2015-01-09 14:24:14 +01:00
Ricardo Wurmus da2021bca1 gnu: openjpeg: Update to 2.0.1.
* gnu/packages/image.scm (openjpeg): Update to 2.0.1.
2015-01-09 14:24:07 +01:00
Ricardo Wurmus 6140b9d875 gnu: Add openjpeg-1.
* gnu/packages/image.scm (openjpeg-1): New variable.
2015-01-09 14:23:57 +01:00
Ricardo Wurmus 4100fe9d33 gnu: openjpeg: update home page URL.
* gnu/packages/image.scm (openjpeg)[home-page]: Update URL.
2015-01-09 14:23:46 +01:00
Ludovic Courtès 8234fcf21a substitute-binary: Micro-optimize 'narinfo-sha256'.
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
  Change "~a" to "~s" in error message.
  (%signature-line-rx): Remove.
  (narinfo-sha256): Use 'string-contains' instead of 'regexp-exec', and
  'string-take' instead of 'match:substring'.
2015-01-09 01:10:31 +01:00
Ludovic Courtès fb519bd831 records: Optimize 'recutils->alist' by avoiding regexps.
* guix/records.scm (%recutils-field-rx, %recutils-comment-rx,
  %recutils-plus-rx): Remove.
  (%recutils-field-charset): New variable.
  (recutils->alist): Adjust to use tests (string-ref line 0) instead of
  regexps.
2015-01-09 01:08:10 +01:00