Commit Graph

1072 Commits

Author SHA1 Message Date
Ludovic Courtès cdf2022052 substitute-binary: Implement `--substitute'.
This allows build outputs to be transparently downloaded from
http://hydra.gnu.org, for example.

* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
  (<narinfo>): Change `url' to `uri'.
  (make-narinfo): Rename to...
  (narinfo-maker): ... this.  Handle relative URLs.
  (fetch-narinfo): Adjust accordingly.
  (filtered-port, decompressed-port): New procedures.
  (guix-substitute-binary): Implement the `--substitute' case.
* tests/store.scm ("substitute query"): Use (%store-prefix) instead
  of (getenv "NIX_STORE_DIR").
  ("substitute"): New test.
2013-04-12 21:58:47 +02:00
Ludovic Courtès f03f0c9a86 substitute-binary: Correctly handle missing narinfos in `--query' mode.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
  "info"): Filter SUBSTITUTABLE through `narinfo?'.
2013-04-12 21:58:47 +02:00
Ludovic Courtès c7b62db614 nar: Add support for symlinks.
* guix/nar.scm (write-file): Add case for type `symlink'.
  (restore-file): Likewise.
* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
  with-file-tree, file-tree-equal?, make-random-bytevector,
  populate-file): New procedures.
  (%test-dir): New variable.
  ("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
  ("write-file + restore-file with symlinks"): New test.
2013-04-12 21:58:47 +02:00
Ludovic Courtès 6f80c9d8f3 ui: Add a `warning' macro.
* guix/ui.scm (program-name, guix-warning-port): New variables.
  (warning): New macro.
  (guix-main): Parametrize PROGRAM-NAME.
* guix/scripts/build.scm, guix/scripts/download.scm,
  guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
  and `warning' consistently.
2013-04-12 21:58:46 +02:00
Ludovic Courtès ca877f5a3a nar: Implement restoration from Nar.
* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
  (dump): New procedure.
  (write-contents)[dump]: Remove.  Use the one above instead.
  (read-contents, write-file, restore-file): New procedures.
  (%archive-version-1): New variable.
2013-04-12 21:58:46 +02:00
Nikita Karetnikov 865c4ef33c gnu: shishi: Update to 1.0.2.
* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
* Makefile.am (dist_patch_DATA): Adjust accordingly.
2013-04-12 21:58:46 +02:00
Cyril Roelandt 3fdc99da19 gnu: Python: fix the compilation of some modules from the standard library.
This commit enables the bz2, dbm, readline, ssl and zlib modules.

* gnu/packages/gdbm.scm: Enable the compatibility mode.
* gnu/packages/python.scm: Enable a few modules from the standard library.
* gnu/packages/patches/python-fix-dbm.patch: New file.
* Makefile.am: Add it.
2013-04-12 21:58:46 +02:00
Ludovic Courtès f0cd71f21e Add (guix nar) and (guix serialization).
* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
  write-padding, write-string, read-string, read-latin1-string,
  write-string-list, read-string-list, write-store-path,
  read-store-path, write-store-path-list, read-store-path-list): Move to
  serialization.scm.
  (write-contents, write-file): Move to nar.scm.
* guix/nar.scm, guix/serialization.scm: New files.
* Makefile.am (MODULES): Add them.
2013-04-12 21:57:58 +02:00
Ludovic Courtès 7ce1f2160f substitute-binary: Fix communication of several store paths to the daemon.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
  Emit blank lines only after the complete list of store paths has been
  returned.
2013-04-12 21:57:58 +02:00
Ludovic Courtès 419fffa2e8 Add preliminary binary substituter.
* guix/scripts/substitute-binary.scm: New file.
* Makefile.am (MODULES): Add it.
* nix/scripts/substitute-binary.in: New file.
* config-daemon.ac: Produce nix/scripts/substitute-binary.
* daemon.am (nodist_pkglibexec_SCRIPTS): Add
  nix/scripts/substitute-binary.
* guix/store.scm (substitutable-path-info): Use the
  `query-substitutable-path-infos' RPC.
* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
  `GUIX_BINARY_SUBSTITUTE_URL, and create
  $NIX_STATE_DIR/substituter-data.
  Run `guix-daemon' within `./pre-inst-env'.
* tests/store.scm ("substitute query"): New test.
2013-04-12 21:57:58 +02:00
Ludovic Courtès 04151253e3 gnu: bigloo: Add dependencies on Avahi and libphidget.
* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
  and pkg-config as a native input.
2013-04-12 21:57:58 +02:00
Ludovic Courtès f14d6b697e gnu: Add libphidget.
* gnu/packages/libphidget.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-12 21:57:57 +02:00
Ludovic Courtès afb49942e0 store: Add `store-path-hash-part'.
* guix/store.scm (store-path-hash-part): New procedure.
* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
  New tests.
2013-04-12 21:57:57 +02:00
Ludovic Courtès 5477e0342f gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
  'http-get*', or 'http-get' as a last resort.  Check whether DATA is
  #f, a string, or an input port.
2013-04-12 21:57:57 +02:00
Ludovic Courtès bdf06d8922 pull: Switch to the cgit URL.
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
  that the Hydra one is not currently available.
2013-04-12 21:57:57 +02:00
Ludovic Courtès 7a88ad6bff tests: Adjust `gnu-build' test to search path mechanism.
Fixes a regression introduced in a18eda2.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* tests/builders.scm (%bootstrap-search-paths): New variable.
  ("gnu-build"): Pass #:search-paths.
2013-04-11 22:56:39 +02:00
Cyril Roelandt 1010e530d3 gnu: Add dwm.
* gnu/packages/dwm.scm: New file.
* Makefile.am: Add it.
2013-04-11 21:08:31 +02:00
Ludovic Courtès 068cdcd07c build-system/gnu: Fix search path computation with implicit inputs.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/build-system/gnu.scm (standard-packages): New procedure.
  (standard-inputs): Use it instead of resolving things locally.
  (gnu-build)[implicit-search-paths]: Map over (standard-packages), not
  over STANDARD-INPUTS.
2013-04-09 19:01:21 +02:00
Andreas Enge 6be960c7f7 Merge branch 'xorg' into core-updates 2013-04-04 18:49:28 +02:00
Andreas Enge 8dc5d0cf7e gnu: xorg: Re-enable tests for xorg-server.
* gnu/packages/xorg.scm (xorg-server): Re-enable (failing) tests.
2013-04-02 12:47:39 +02:00
Andreas Enge c7f9993146 gnu: xorg: Remove inputs already available through propagation.
* gnu/packages/xorg.scm: Remove inputs that are available through propagation.
2013-03-31 21:16:50 +02:00
Andreas Enge 14ecc0effc gnu: Add xpdf.
* gnu/packages/pdf.scm (xpdf): New variable.
* gnu/packages/patches/xpdf-constchar.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-31 17:27:37 +02:00
Andreas Enge 141ccae8a7 gnu: lesstif: Make package usable by adding propagated input.
* gnu/packages/lesstif.scm (lesstif): Add propagated input printproto;
     include/Xm/Print.h from lesstif includes X11/extensions/Print.h from
     printproto.
2013-03-31 14:58:01 +02:00
Andreas Enge 0a92b5b30a gnu: freetype: Make include file ft2build.h work without changing the CPATH
of dependent packages.

* gnu/packages/fontutils.scm (freetype): Add link include/freetype to
     include/freetype2/freetype.
2013-03-31 14:50:10 +02:00
Andreas Enge bd8c5d5b02 gnu: xorg: Add libxp and printproto, not included in X11R7.7.
* gnu/packages/xorg.scm (libxp, printproto): New variables.
2013-03-31 14:33:33 +02:00
Ludovic Courtès 9be8d7c8cb gnu: Define `native-search-paths' for Automake, Guile, and Python.
* gnu/packages/autotools.scm (automake)[native-search-paths]: New field.
* gnu/packages/guile.scm (guile-1.8)[native-search-paths]: New field.
  (guile-2.0)[native-search-paths]: New field.
* gnu/packages/python.scm (python)[native-search-paths]: New field.
2013-03-30 22:57:05 +01:00
Ludovic Courtès a18eda2747 packages: Add `native-search-paths' field and honor it.
* guix/packages.scm (<search-path-specification>): New record type.
  (search-path-specification->sexp): New procedure.
  (<package>)[native-search-paths]: New field.
  (package-derivation): Accumulate the search paths, and pass them
  as #:search-paths toe BUILDER.
* guix/build-system/gnu.scm (gnu-build): Add #:search-paths.  Compute
  `implicit-search-paths'.  Pass #:search-paths in BUILDER.
* guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it
  to BUILDER with the search paths of PERL.
* guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it
  to BUILDER.
* guix/build-system/trivial.scm (trivial-build): Add #:search-paths,
  ignore it.
* guix/build/gnu-build-system.scm (set-paths): Add #:search-paths.
  Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH.
  Instead, walk SEARCH-PATHS and call `set-path-environment-variable'
  for them.
* guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting.
* tests/packages.scm ("search paths"): New test.
* gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add
  #:search-paths.
  (%bootstrap-gcc): Add `native-search-paths' field.
* gnu/packages/perl.scm (perl): Likewise.
* gnu/packages/pkg-config.scm (pkg-config): Likewise.
* gnu/packages/glib.scm (intltool): Remove `arguments'.
* gnu/packages/avahi.scm (avahi): Remove #:phases.
2013-03-30 22:57:03 +01:00
Ludovic Courtès 5cfdb4bcac build: Pass the appropriate flags when building `libstore.a'.
* daemon.am (libstore_a_CFLAGS): Rename to...
  (libstore_a_CXXFLAGS): ... this.
2013-03-30 21:49:17 +01:00
Ludovic Courtès a96748bb46 build-system/gnu: Remove #:path-exclusions parameter.
* guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions'
  parameter.  Replace `relevant-input-directories' by
  `input-directories'.
* guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions'
  parameter; don't pass it in BUILDER.
* guix/build-system/cmake.scm (cmake-build): Likewise.
2013-03-30 21:46:59 +01:00
Andreas Enge bc3073c8e3 gnu: xorg: Make font-adobe75dpi and font-adobe100dpi compile (not install).
* gnu/packages/xorg/scm (font-adobe75dpi, font-adobe100dpi): Add inputs
     bdftopcf, font-util and mkfontdir.
2013-03-30 10:13:23 +01:00
Andreas Enge 84419dfd25 gnu: xorg: Add mtdev and make xf86-input-synaptics compile (not install).
* gnu/packages/xorg.scm (mtdev): New variable.
* gnu/packages/xorg.scm (xf86-input-synaptics): Add inputs libx11, libxi
     and mtdev.
* gnu/packages/xorg.scm (libxi): Propagate input libxext.
2013-03-30 10:05:08 +01:00
Andreas Enge 7e2ec42b1a gnu: xorg: Disable not compiling xf86-video-geode.
* gnu/packages/xorg.scm (xf86-video-geode): Comment out since not compiling
     (assembler errors).
2013-03-30 09:42:11 +01:00
Andreas Enge 3a5d958570 gnu: xorg: Fix compilation of xorg-server.
* gnu/packages/xorg.scm (mesa): Propagate input libxxf86vm.
2013-03-30 09:19:24 +01:00
Andreas Enge 1f44111f83 gnu: xorg: Disable xf86-video-glide.
* gnu/packages/xorg.scm (xf86-video-glide): Comment variable; driver for
     obsolete graphics cards, depends on libglide, last updated in 2003,
     and which does not compile out of the box any more.
2013-03-30 09:00:25 +01:00
Andreas Enge 6706269ed4 gnu: xorg: Disable xf86-video-wsfb.
* gnu/packages/xorg.scm (xf86-video-wsfb): Comment variable, only relevant
     for the frame buffer on BSD systems.
2013-03-30 08:54:53 +01:00
Andreas Enge 47038b76b2 gnu: xorg: Make xgamma compile.
* gnu/packages/xorg.scm (libxxf86vm): Propagate inputs libxext and
     xf86vidmodeproto.
2013-03-30 08:50:39 +01:00
Andreas Enge 979bc0f49b gnu: xorg: Make xvinfo compile.
* gnu/packages/xorg.scm (libxv): Propagate input videoproto.
2013-03-30 08:43:47 +01:00
Ludovic Courtès 4928e50033 Merge branch 'master' into core-updates
Conflicts:
	Makefile.am
	gnu/packages/base.scm
2013-03-29 21:44:31 +01:00
Andreas Enge 73274a8ae7 gnu: Really add lesstif.
* Makefile.am (MODULES): Commit the module addition.
2013-03-29 10:51:41 +01:00
Andreas Enge 13f5ea6f46 gnu: Add lesstif.
* gnu/packages/lesstif.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-29 10:49:30 +01:00
Ludovic Courtès 3f5a932eea snix: Adjust import to current Nixpkgs input attribute names.
* guix/snix.scm (snix-derivation->guix-package): Use the new names
  `nativeBuildInputs' and `propagatedNativeBuildInputs'.
2013-03-29 00:16:58 +01:00
Andreas Enge 917748dd6d gnu: xorg: Make most xserver related packages compile.
* gnu/packages/xorg.scm (xf86-*): Add input xorg-server.
* gnu/packages/xorg.scm (xf86-video-glint, xf86-video-neomagic,
     xf86-video-tga, xf86-video-trident, xf86-video-voodoo):
     Add input xf86dgaproto.
* gnu/packages/xorg.scm (xf86-video-ati, xf86-video-mach64,
     xf86-video-mga, xf86-video-r128, xf86-video-savage, xf86-video-tdfx):
     Add inputs mesa and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-i128): Add inputs libdrm and libx11.
* gnu/packages/xorg.scm (xf86-video-openchrome): Add inputs libx11, libxext,
     libxvmc, mesa and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-siliconmotion): Add inputs mesa,
     xf86dgaproto and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-vmware): Add inputs libx11 and libxext.
* gnu/packages/xorg.scm (libxvmc): Propagate input libxv.
* gnu/packages/xorg.scm (mesa): Propagate input glproto.
* gnu/packages/xorg.scm (xf86-video-geode): Correct source hash.
2013-03-28 23:54:58 +01:00
Nikita Karetnikov f9bbf2a819 gnu-maintenance: Improve 'official-gnu-packages'; add related procedures.
* guix/gnu-maintenance.scm (http-fetch): Return an input port.
  (<gnu-package-descriptor>): Add it.
  (official-gnu-packages): Use <gnu-package-descriptor>.
  (find-packages): Add it.
  (gnu-package?): Adjust accordingly.
2013-03-28 22:00:10 +00:00
Cyril Roelandt c6bded8a29 Add (guix build-system cmake).
* guix/build/cmake-build-system.scm, guix/build-system/cmake.scm: New files.
* Makefile.am (MODULES): Add them.
2013-03-28 21:04:54 +01:00
Ludovic Courtès bb90ad83b1 build: Set `%fresh-auto-compile' in `hydra.scm'.
* hydra.scm: Set `%fresh-auto-compile' to #t.
2013-03-28 00:14:38 +01:00
Ludovic Courtès c415f14538 gnu: make-bootstrap: Import (gnu packages gcc).
* gnu/packages/make-bootstrap.scm: Import (gnu packages gcc).
2013-03-27 23:47:54 +01:00
Ludovic Courtès c9f94132ca download: Remove unreliable GNU mirror.
* guix/download.scm (%mirrors)[gnu]: Remove ftp.chg.ru.
2013-03-27 15:50:18 +01:00
Ludovic Courtès 5c126b645e gnu: Add libelf.
* gnu/packages/gcc.scm (libelf): New variable.
2013-03-27 15:47:48 +01:00
Ludovic Courtès 832abc7687 gnu: Add ISL and CLooG.
* gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables.
2013-03-27 15:37:27 +01:00
Ludovic Courtès e9c0b9446b gnu: Move GCC to its own module.
* gnu/packages/base.scm (gcc-4.7): Move to...
* gnu/packages/gcc.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
2013-03-27 15:13:25 +01:00