Commit Graph

5059 Commits

Author SHA1 Message Date
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
Mark H Weaver 798e004538 gnu: sqlite: Update to 3.8.7.4.
* gnu/packages/patches/sqlite-large-page-size-fix.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/databases.scm (sqlite): Update to 3.8.7.4.  Remove patch.
2015-01-11 15:28:41 -05:00
Mark H Weaver 74d72608b3 gnu: curl: Update to 7.40.0.
* gnu/packages/patches/curl-gss-api-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/curl.scm (curl): Update to 7.40.0.  Add patch.
2015-01-11 11:12:27 -05:00
Mark H Weaver 7744885731 Merge branch 'master' into core-updates 2015-01-11 09:38:49 -05: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
Mark H Weaver 62c155c0bc gnu: libtool: Add m4 to propagated-inputs.
* gnu/packages/autotools.scm (libtool)[propagated-inputs]: Add m4.
2015-01-10 19:19:34 -05:00
Mark H Weaver b2363f6551 gnu: file: Update to 5.22.
* gnu/packages/file.scm (file): Update to 5.22.
2015-01-10 19:12:49 -05: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
Ludovic Courtès 4eb01e5442 build-system/gnu: Patch /usr/bin/file in all 'configure' files.
* guix/build/utils.scm (patch-/usr/bin/file): New procedure.
* guix/build/gnu-build-system.scm (patch-usr-bin-file): Rewrite using
  it.  Patch all the files returned by 'find-files' that are executable.
* gnu/packages/gawk.scm (gawk)[arguments]: Remove use of 'substitute*'
  for 'extension/configure'.
2015-01-09 23:29:20 +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
Ludovic Courtès b2ad9d9b08 base64: Inline arithmetic operations.
* guix/base64.scm (define-alias): New macro.
  (fxbit-field, fxarithmetic-shift, fxarithmetic-shift-left, fxand,
  fxior, fxxor): New aliases.
2015-01-09 01:01:04 +01:00
Mark H Weaver aa1e19477b gnu: Add bootstrap binaries for 'armhf-linux'.
* gnu/packages/bootstrap/armhf-linux/bash,
  gnu/packages/bootstrap/armhf-linux/mkdir,
  gnu/packages/bootstrap/armhf-linux/tar,
  gnu/packages/bootstrap/armhf-linux/xz: New files.

* gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA)
  (nodist_bootstrap_armhf_linux_DATA): New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA).
  (gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target.
* build-aux/download.scm (file-name->uri): Use newer date in URI for
  armhf-linux.
* gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on
  armhf-linux.
  (glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils)
  (%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases.

* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case.
  (GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of
  supported systems.
* doc/guix.texi (GNU Distribution): Add armhf-linux to the list of
  supported systems.
2015-01-07 21:47:51 -05:00
Mark H Weaver b58b7dbb75 gnu: libtool: Skip nopic test on ARM and MIPS systems.
* gnu/packages/patches/libtool-skip-tests.patch: Skip nopic test on ARM and
  MIPS systems.
2015-01-07 18:00:49 -05:00
Ludovic Courtès 05f0607bfc tests: Add missing copyright line.
* tests/lint.scm: Add missing copyright line for commit 907c98ac and
  others.
2015-01-07 22:33:21 +01:00
Mark H Weaver 3f00ff8b43 gnu: Add toolchain support for 'armhf-linux'.
Based on preliminary work by John Darrington <john@darrington.wattle.id.au>.

* gnu/packages/cross-base.scm (xgcc-armhf): New variable.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case.
  (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list
  of files in which to patch GLIBC_DYNAMIC_LINKER.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case.
* guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet):
  Add armhf cases.
2015-01-07 16:27:55 -05:00
Mark H Weaver f7d2b496b9 gnu: patchelf: On ARM, apply experimental patch to get it working.
* gnu/packages/patches/patchelf-rework-for-arm.patch: New file.
* gnu-system.am: Add it.
* gnu/packages/elf.scm: Apply patch when the target is ARM.
2015-01-07 12:38:11 -05:00
Mark H Weaver 24aaf2f257 gnu: gmp: Apply fixes for armhf.
* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/multiprecision.scm (gmp): Add patch.  Include --build triplet
  in configure args when building natively.
* gnu/packages/commencement.scm (gcc-final): Use bootstrap guile to
  build gmp-source.
2015-01-07 12:34:19 -05:00
Mark H Weaver 76e639a00f gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it.
  (gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure
  for all builds, including native ones.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of
  'gcc-configure-flags-for-triplet' here, since it is now included in the
  configure-flags inherited from gcc-4.8.
2015-01-07 12:34:13 -05:00
Mark H Weaver 8eb8048432 Move 'nix-system->gnu-triplet' to (guix utils) and export it.
* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to...
* guix/utils.scm (nix-system->gnu-triplet): ... here.  Fix docstring typo.
2015-01-07 12:34:10 -05:00
Mark H Weaver 270b501ee2 gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'remove-lgcc_s
  phase.
* gnu/packages/gcc.scm (gcc-4.7): Add comment.
2015-01-07 12:33:38 -05:00
Mark H Weaver 84cbe39c5a gnu: bootstrap: Fix egrep and fgrep after unpacking bootstrap binaries.
* gnu/packages/bootstrap.scm (%bootstrap-coreutils&co): Add #:snippet argument
  to 'package-from-tarball' that calls 'patch-shebang' on egrep and fgrep
  after unpacking.  Test 'fgrep' instead of 'true'.
2015-01-07 12:33:32 -05:00
Mark H Weaver 2959dbe935 gnu: bootstrap: Add support for snippets to 'package-from-tarball'.
* gnu/packages/bootstrap.scm (package-from-tarball): Add new keyword
  argument #:snippet.
2015-01-07 12:33:27 -05:00
Mark H Weaver c9a4655553 gnu: tcl: Pass --mandir to configure.
This partially reverts 9b1bf33081.
"gnu: Remove a bunch of now unneeded '--mandir' configure flags."

* gnu/packages/tcl.scm (tcl)[arguments]: Put back the --mandir configure flag,
  with a comment explaining why it's still needed.
2015-01-07 12:05:16 -05:00
Ludovic Courtès 3246cc9185 gnu: Make libtool and libltdl completely separate.
* gnu/packages/autotools.scm (libtool)[outputs]: Remove.
  [arguments]: Remove 'if' around arguments.  Add #:configure-flags.
* gnu/packages/apr.scm (apr)[inputs]: Change libtool to libltdl.
* gnu/packages/fontutils.scm (libuninameslist)[native-inputs]: Remove
  "libtool-bin".
* gnu/packages/global.scm (global): Change libtool to libltdl.
* gnu/packages/gnunet.scm (libextractor, gnunet): Likewise.
* gnu/packages/graphviz.scm (graphviz): Likewise.
* gnu/packages/libcanberra.scm (libcanberra): Likewise.
* gnu/packages/libevent.scm (libuv)[native-inputs]: Remove "bin" part
  for libtool.
* gnu/packages/mail.scm (mailutils): Change libtool to libltdl.
  (libetpan): Remove "bin" part for libtool.
* gnu/packages/mp3.scm (libmp3splt): Change libtool to libltdl.
* gnu/packages/openldap.scm (openldap): Remove "bin" part of libtool.
  Move it from 'inputs' to 'native-inputs'.
* gnu/packages/photo.scm (libgphoto2): Change libtool to libltdl.
* gnu/packages/pulseaudio.scm (pulseaudio): Likewise.
* gnu/packages/ssh.scm (guile-ssh): Remove "bin" part of libtool.
* gnu/packages/web.scm (libpsl): Likewise.
* gnu/packages/weechat.scm (weechat): Move libtool to 'native-inputs'
  and add libltdl to 'inputs'.
2015-01-07 16:48:50 +01:00
Ludovic Courtès c154e1ea81 gnu: libtool: Update to 2.4.4.
* gnu/packages/patches/libtool-2.4-skip-tests.patch: Rename to...
* gnu/packages/patches/libtool-skip-tests.patch: ... this.
* gnu/packages/patches/libtool-skip-tests-for-mips.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/autotools.scm (libtool): Update to 2.4.4.
  (libtool-2.4.4): Remove.
2015-01-07 16:48:50 +01:00
Ludovic Courtès be11b10244 gnu: guile: Depend on 'libltdl' rather than 'libtool'.
* gnu/packages/guile.scm (guile-1.8, guile-2.0): Replace LIBTOOL with
  LIBLTDL.
2015-01-07 16:48:50 +01:00
Ludovic Courtès 3cbb3f9c55 gnu: libtool: Add libltdl as a separate package.
* gnu/packages/autotools.scm (libltdl): New variable.
2015-01-07 16:48:50 +01:00
Ludovic Courtès 5d65ad80b5 gnu: libtool: Use 'parallel-job-count' to get the argument for '-j'.
* gnu/packages/autotools.scm (libtool)[arguments] <check>:
  Use (parallel-job-count) instead of hand-written code.
2015-01-07 16:48:50 +01:00
Mark H Weaver fa1e2f3d0d Revert "gnu: gcc: Add '-lgcc_s' only when '-pthread' is given."
This reverts commit 9097e666d4.

This turned out not to be a good strategy.  Some build system, e.g. tcl's, do
not pass -pthread on GNU/Linux by default, but merely link with -lpthread.
Also, Ludovic found other cases where libgcc_s is dlopened by libc that have
nothing to do with pthreads, e.g. to walk the stack.
2015-01-07 09:51:23 -05:00
Mark H Weaver b515822de1 gnu: guile: Apply fixes for arm.
* gnu/packages/patches/guile-arm-fixes.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/guile.scm (guile-2.0): Add patch.
2015-01-06 19:47:09 -05:00
Mark H Weaver 9097e666d4 gnu: gcc: Add '-lgcc_s' only when '-pthread' is given.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* gnu/packages/gcc.scm (gcc-4.7): In our modified GNU_USER_TARGET_LIB_SPEC,
  add '-lgcc_s' only when '-pthread' is given.
2015-01-06 19:46:48 -05:00
Mark H Weaver 91c47befb8 gnu: gcc: Improve dynamic linker patching code.
* gnu/packages/gcc.scm (gcc-4.7): Join multi-line definitions of
  GLIBC_DYNAMIC_LINKER* before attempting substitutions.
  (gcc-4.9)[arguments]: Remove arguments override.
2015-01-06 19:37:04 -05:00
Mark H Weaver fd19df7252 gnu: patchelf: Update to 0.8.
* gnu/packages/elf.scm (patchelf): Update to 0.8.
* gnu/packages/patches/patchelf-page-size.patch: Adapt to new version.
2015-01-06 18:40:42 -05:00