Commit Graph

1859 Commits

Author SHA1 Message Date
Ludovic Courtès 59688fc4b5 derivations: 'derivation' and related procedures return a single value.
* guix/derivations.scm (derivation->output-path,
  derivation->output-paths): New procedures.
  (derivation-path->output-path): Use 'derivation->output-path'.
  (derivation-path->output-paths): Use 'derivation->output-paths'.
  (derivation): Accept 'derivation?' objects as inputs.  Return a single
  value.
  (build-derivations): New procedure.
  (compiled-modules): Use 'derivation->output-paths'.
  (build-expression->derivation)[source-path]: Add case for when the
  input matches 'derivation?'.
  [prologue]: Accept 'derivation?' objects in INPUTS.
  [mod-dir, go-dir]: Use 'derivation->output-path'.
* guix/download.scm (url-fetch): Adjust to the single-value return.
* guix/packages.scm (package-output): Use 'derivation->output-path'.
* guix/scripts/build.scm (guix-build): When the argument is
  'derivation-path?', pass it through 'read-derivation'.
  Use 'derivation-file-name' to print out the .drv file names, and to
  register them.  Use 'derivation->output-path' instead of
  'derivation-path->output-path'.
* guix/scripts/package.scm (roll-back): Adjust to the single-value
  return.
  (guix-package): Use 'derivation->output-path'.
* guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?'
  objects instead of .drv file names.
* gnu/system/grub.scm (grub-configuration-file): Use
  'derivation->output-path' instead of 'derivation-path->output-path'.
* gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise.
* tests/builders.scm, tests/derivations.scm, tests/packages.scm,
  tests/store.scm, tests/union.scm: Adjust to the new calling
  convention.
* doc/guix.texi (Defining Packages, The Store, Derivations): Adjust
  accordingly.
2013-09-18 18:49:53 +02:00
Ludovic Courtès 81b66f8567 tests: Clarify filtering of the "debug" output.
* tests/guix-package.sh: Clearly filter out the "debug" output of
  'gnu-make-boot0'.
2013-09-18 16:42:51 +02:00
Ludovic Courtès 07c86312ca derivations: Add a nicer printer.
* guix/derivations.scm (<derivation>): Add a printer.
2013-09-18 11:10:02 +02:00
Ludovic Courtès 6a446d5680 derivations: Keep the .drv file name in <derivation> objects.
* guix/derivations.scm (<derivation>): Add 'file-name' field.
  (%read-derivation): Use (port-filename DRV-PORT) as the file name for
  the result.
  (derivation): Set the 'file-name' field in the result.
* tests/derivations.scm ("build derivation with 1 source"): Assert that
  'derivation-file-name' returns the right thing.
2013-09-17 23:02:13 +02:00
Ludovic Courtès 803704418c gnu: dbus: Add dependency on libX11.
* gnu/packages/glib.scm: Use #:export instead of 'define-public'.
  (dbus): Add LIBX11 as an input.
2013-09-16 21:39:07 +02:00
Ludovic Courtès 692b93408f gnu: glibc: Fix 'ldd' on x86_64.
Reported by Cyril Roelandt at
<https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00136.html>.

* gnu/packages/patches/glibc-ldd-x86_64.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc): Use it.
2013-09-15 23:37:32 +02:00
Ludovic Courtès 66018f1c33 utils: 'find-files' returns a sorted list.
* guix/build/utils.scm (find-files): Sort the result lexicographically.
* guix/scripts/pull.scm (unpack): Don't sort the result of 'find-files'.
2013-09-15 23:21:30 +02:00
Andreas Enge aae4ead814 Merge branch 'python' 2013-09-14 10:45:01 +02:00
Ludovic Courtès 29479de565 substitute-binary: Add '--help'.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* guix/scripts/substitute-binary.scm (show-help): New procedure.
  (guix-substitute-binary): Add '--help'.
2013-09-13 23:42:36 +02:00
Ludovic Courtès 0cb9b45674 gnu: gnutls: Upgrade to 3.2.4.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.4; remove 'arguments'
  field, remove "patch/fix-tests" from the inputs.
* gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2013-09-13 16:26:59 +02:00
Andreas Enge 2875caf5b5 gnu: Add python2-mechanize.
* gnu/packages/python.scm (python2-mechanize): New variable.
2013-09-13 14:25:53 +02:00
Nikita Karetnikov 1b0a8212d1 guix package: Rename generation-related procedures.
* guix/scripts/package.scm (profile-numbers): Rename to 'generation-numbers'.
  (previous-profile-number): Rename to 'previous-generation-number'.
  (profile-number): Rename to 'generation-number'.
  (roll-back): Rename 'previous-profile' to 'previous-generation'.
2013-09-13 07:07:01 +00:00
Andreas Enge 1d08c01fcf gnu: Add python2-sqlite.
* gnu/packages/python.scm (python2-sqlite): New variable.
2013-09-12 15:31:45 +02:00
Ludovic Courtès 7763c538ad Thank Matthias and Yutaka. 2013-09-12 14:11:15 +02:00
Ludovic Courtès ea16738085 daemon: Use 'int' instead of the internal 'gcry_md_algo_t' type.
Fixes compilation with the forthcoming libgcrypt 1.6.x.
Reported by Matthias Wachs <wachs@net.in.tum.de>
and NIIBE Yutaka <gniibe@fsij.org>.

* nix/libutil/gcrypt-hash.cc (guix_hash_init, guix_hash_final): Use
  'int' as the type of the 'algo' parameter.
* nix/libutil/gcrypt-hash.hh: Update declarations accordingly.
2013-09-12 14:09:29 +02:00
Ludovic Courtès 8eaa8a3bf0 gnu: avahi, dbus: Use /var as $localstatedir.
* gnu/packages/avahi.scm (avahi): Pass '--localstatedir'; add
  'patch/localstatedir'.
* gnu/packages/glib.scm (dbus): Pass '--localstatedir' and
  '--with-session-socket-dir'; add 'patch/localstatedir'.
* gnu/packages/patches/avahi-localstatedir.patch,
  gnu/packages/patches/dbus-localstatedir.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
2013-09-11 23:37:57 +02:00
Andreas Enge e1804763d0 gnu: Update python-babel, python2-babel to 1.3.
* gnu/packages/python.scm (python-babel, python2-babel): Update to 1.3.
2013-09-11 22:56:52 +02:00
Ludovic Courtès 0ded70f37d gnu: Move helper code to (gnu system …) modules.
* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move
  to...
* gnu/system/grub.scm: ... here.  New file.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>,
  pam-service->configuration, pam-service->directory,
  %pam-other-services, unix-pam-service): Move to...
* gnu/system/linux.scm: ... here.  New file.
* gnu/system/vm.scm (passwd-file): Move to...
* gnu/system/shadow.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add
  gnu/system/{grub,linux,shadow}.scm.
2013-09-11 22:36:50 +02:00
Ludovic Courtès aedb72fbe0 gnu: vm: Remove potluck hacks.
* gnu/system/vm.scm (example1): Remove.
  (example2): Rename to...
  (system-qemu-image): ... this.  Add 'store' parameter, and remove call
  to 'open-connection'.
2013-09-11 20:27:36 +02:00
Andreas Enge fc50e9c694 gnu: Add python-dateutil, python2-dateutil.
* gnu/packages/python.scm (python-dateutil, python2-dateutil): New variables.
2013-09-11 15:51:13 +02:00
Andreas Enge 824af8cadc guix: python: Create module installation path and add it to PYTHONPATH during
the installation phase.

* guix/build/python-build-system.scm (get-python-version): New procedure.
* guix/build/python-build-system.scm (install): Create and add path.
* gnu/packages/python.scm (python-setuptools): Drop path creation code.
2013-09-11 15:47:34 +02:00
Ludovic Courtès a843fe2222 gnu: vm: Setup PAM.
* gnu/system/vm.scm (example2): Use 'pam-services->directory'.  Change
  POPULATE to create /etc/pam.d, /etc/login.defs, and /var/run.  Change
  BOOT to spawn syslogd; boot to Bash.  Add inputs.
2013-09-11 01:07:50 +02:00
Ludovic Courtès 3b07625ad6 gnu: vm: Create shadow files with the right format.
* gnu/system/vm.scm (passwd-file): When SHADOW? is true, use the right
  shadow(5) format.  Always add a trailing newline.
2013-09-11 01:07:50 +02:00
Ludovic Courtès 37c825eb79 linux-initrd: Create /dev/klog and /dev/kmsg.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/klog and /dev/kmsg.
2013-09-11 01:07:50 +02:00
Ludovic Courtès e0ba5fe5ab gnu: linux-initrd: Fix typo.
* gnu/packages/linux-initrd.scm (gnu-system-initrd): Add missing
  argument to 'format' call.
2013-09-11 01:07:50 +02:00
Ludovic Courtès c84d0eca05 gnu: linux-pam: Add declarative PAM service interface.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>): New record
  types.
  (pam-service->configuration, pam-services->directory,
  unix-pam-service): New procedures.
  (%pam-other-services): New variable.
2013-09-11 01:07:50 +02:00
Ludovic Courtès cfbf916045 store: The 'references' parameter of 'add-text-to-store' is now optional.
* guix/store.scm (add-text-to-store): Make 'references' optional.
* tests/store.scm ("dead-paths", "references"): Use 'add-text-to-store'
  with no optional argument.
* doc/guix.texi (The Store): Adjust accordingly.
2013-09-11 01:07:49 +02:00
Andreas Enge 73adf22037 gnu: Add python-setuptools, python2-setuptools.
* gnu/packages/python.scm (python-setuptools, python2-setuptools):
    New variables.
2013-09-10 21:08:12 +02:00
Andreas Enge e1a264f6fa guix: python: Do not import %standard-phases from gnu-build-system.
* guix/build-system/python.scm (python-build): Drop module gnu-build-system.
    Thanks to Ludovic Courtès <ludo@gnu.org>.
2013-09-10 20:32:50 +02:00
Andreas Enge 590a4904d2 gnu: isl: Update urls.
* gnu/packages/gcc.scm (isl): Update source and home page url.
2013-09-10 19:05:43 +02:00
Andreas Enge 1d1f939798 guix: python: Add parameter #:phases to build system.
* guix/build-system/python.scm (python-build): Use parameter #:phases.
2013-09-10 11:58:02 +02:00
Ludovic Courtès d34c0ac6e9 gnu: vm: Copy /etc/shadow to the guest.
* gnu/system/vm.scm (example2): Add SHADOW to #:inputs-to-copy.
2013-09-09 21:52:14 +02:00
Ludovic Courtès 98aeb06b41 gnu: vm: Create valid /etc/shadow and /etc/passwd.
* gnu/system/vm.scm (/etc/passwd): Rename to...
  (passwd-file): ... this. Add 'shadow?' keyword parameter.  Change
  format of ACCOUNTS, and fix CONTENTS.
  (example2): Adjust accordingly.  Create both /etc/shadow and
  /etc/passwd, the latter being used by getpwnam(3) & co. when nscd is
  not running.
2013-09-08 23:52:03 +02:00
Ludovic Courtès 8ab73e91d6 gnu: vm: Clear timestamps on the imported files, like in the store.
* gnu/system/vm.scm (qemu-image): Clear timestamps on the copied files.
2013-09-08 23:30:12 +02:00
Andreas Enge 11bb85a10d guix: python: Add package-with-python2, a procedure rewriting a package
to compile with Python 2 instead of the default Python 3.

* guix/build-system/python.scm (default-python2, package-with-explicit-python,
    package-with-python2): New procedures.
* guix/build-system/python.scm (python2-pytz, python2-babel): Use
    package-with-python2.
2013-09-08 16:57:37 +02:00
Ludovic Courtès 8ce3104e0e Merge branch 'master' into core-updates 2013-09-08 12:11:32 +02:00
Ludovic Courtès 6bf25b7b05 hydra: Support a 'subset' argument.
* build-aux/hydra/gnu-system.scm (%core-packages): New variable.
  (%packages-to-cross-build): Make an alias for %CORE-PACKAGES.
  (hydra-jobs): Check for the 'subset' argument, and honor it for values
  "all" and "core".
2013-09-08 12:10:25 +02:00
Ludovic Courtès 3409bc0188 gnu: glibc: Upgrade to 2.18.
* gnu/packages/base.scm (glibc): Upgrade to 2.18.
2013-09-08 12:01:33 +02:00
Ludovic Courtès e7b385008c gnu: linux-libre: Upgrade to 3.11.
* gnu/packages/linux.scm (linux-libre): Upgrade to 3.11.  Add bc as an
  input.
2013-09-08 01:30:54 +02:00
Ludovic Courtès 0e2ddecd8e gnu: grub: Add support for building configuration files.
* gnu/packages/grub.scm (<menu-entry>): New record type.
  (grub-configuration-file): New procedure.
* gnu/system/vm.scm (qemu-image): Remove parameters 'linux',
  'linux-arguments', and 'initrd'.  Add 'grub-configuration' parameter.
  Honor them, and remove grub.cfg generation code accordingly.
  (example2): Use `grub-configuration-file', and adjust accordingly.
2013-09-07 17:23:23 +02:00
Ludovic Courtès 2df74ac117 doc: Add "Data Types and Pattern Matching" to the Coding Style.
* HACKING (Data Types and Pattern Matching): New section.
2013-09-07 15:51:29 +02:00
Nikita Karetnikov a129e0d877 gnu: Add the 'license:' prefix.
* gnu/packages/glib.scm (itstool): Change 'gpl3+' to 'license:gpl3+'.
2013-09-07 07:47:24 +00:00
Cyril Roelandt 20a26ff546 gnu: Add itstool.
* gnu/packages/glib.scm (itstool): New variable.
2013-09-06 20:59:55 +02:00
Ludovic Courtès 785859d306 gnu: vm: Add /etc/shadow in the QEMU image.
* gnu/system/vm.scm (qemu-image): Add 'populate' keyword parameter and
  honor it; make it an input.
  (/etc/shadow): New procedure.
  (example2): Call it; build 'populate' script, and pass it to
  'qemu-image'.
2013-09-05 23:57:40 +02:00
Ludovic Courtès 002e5ba887 gnu: vm: Remove unused 'qemu-image' argument.
* gnu/system/vm.scm (qemu-image): Remove 'boot-expression' parameter,
  superseded by 'linux-arguments'.
2013-09-05 22:14:21 +02:00
Andreas Enge b191f88ee3 guix: python: Add build phase and factor out calls to setup.py.
* guix/build/python-build-system.scm (call-setuppy): New procedure.
* guix/build/python-build-system.scm (build): New procedure.
* guix/build/python-build-system.scm (check, install): Use call-setuppy.
* guix/build/python-build-system.scm (%standard-phases): Add call to build.
2013-09-05 20:25:08 +02:00
Andreas Enge 49b90a7539 gnu: python: Disable tests in python2-pytz and python2-babel.
* gnu/packages/python.scm (python2-pytz, python2-babel): Disable tests.
2013-09-05 19:07:28 +02:00
Andreas Enge 8498b8cfac gnu: python: Disable tests in pytz and babel.
* gnu/packages/python.scm (python-pytz, python-babel): Disable tests.
2013-09-05 18:55:27 +02:00
Andreas Enge 7b96bf82da gnu: python: Honour #:tests? and #:test-target in build system.
* guix/build/python-build-system.scm (check): Use named parameters tests?
    and test-target (default now: "test" instead of "check").
2013-09-05 18:43:18 +02:00
Andreas Enge d1f30e9943 gnu: git: Switch back to Python 2.
* gnu/packages/version-control.scm (git): Switch back to Python 2.
2013-09-05 18:13:23 +02:00