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
Andreas Enge
d57b88bed5
Update gnupg mirrors.
...
* guix/download.scm (%mirrors): Update mirror list for gnupg.
2014-11-26 19:52:11 +01:00
Ludovic Courtès
e0ea3f8a0d
download: Append (effective-version) to '%load-path' for GnuTLS.
...
* guix/download.scm (url-fetch)[builder]: Append (effective-version) to
%load-path, as discussed at
<http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00398.html >.
This fixes a regression introduced in b94ae0b.
2014-10-30 15:46:36 +01:00
Ludovic Courtès
347e17b474
download: Allow use of substitutes.
...
See <https://bugs.gnu.org/18747 > for the original report.
* guix/download.scm (url-fetch): Comment out #:local-build? argument.
* guix/git-download.scm (git-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
2014-10-16 23:40:10 +02:00
Ludovic Courtès
882383a9aa
download: Allow raw file names or file:// URLs.
...
* guix/download.scm (url-fetch): When URL is a string, if it's not a URI
or if it's a URI with 'file' or #f scheme, use 'add-to-store'.
* tests/builders.scm ("url-fetch, file", "url-fetch, file URI"): New
tests.
2014-10-03 18:03:09 +02:00
Mark H Weaver
b5b73a8269
Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.
...
* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
gnu/packages/boost.scm, gnu/packages/compression.scm,
gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
gnu/packages/indent.scm, gnu/packages/inkscape.scm,
gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
gnu/packages/yasm.scm, gnu/packages/zip.scm,
guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
#:renamer and 'symbol-prefix-proc' with #:prefix.
2014-09-23 18:52:29 -04:00
Ludovic Courtès
bdb36958fb
gnu: Split (gnu packages base), adding (gnu packages commencement).
...
* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
%boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
* gnu/packages/commencement.scm: ... here. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/gnu.scm (standard-packages, gnu-build,
gnu-cross-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* guix/download.scm (url-fetch): Likewise.
* guix/gexp.scm (default-guile): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/monads.scm (run-with-store): Likewise.
* guix/packages.scm (default-guile): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
Likewise.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh: Likewise.
* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
* gnu/services/xorg.scm: Likewise.
* gnu/system/vm.scm: Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
2014-08-28 09:21:54 +02:00
Ludovic Courtès
6119ebf194
git-download: Rewrite using gexps.
...
* guix/git-download.scm (git-package): New procedure.
(git-fetch): Use it. Remove 'git-for-build'.
Use a gexp and 'gexp->derivation'.
* guix/download.scm (gnutls-package): Fix docstring.
2014-08-23 22:58:09 +02:00
David Thompson
734939a5f3
Remove ftp.sunet.se mirror.
...
* guix/download.scm (%mirrors): Remove ftp.sunet.se URIs.
2014-08-12 22:17:44 -04:00
Andreas Enge
6d763bdddb
guix: download: Update imagemagick mirrors.
...
* guix/download.scm (%mirrors)[imagemagick]: Update and add the legacy
subdirectory of the main site as a last resort.
2014-05-22 22:07:07 +02:00
Ludovic Courtès
6f8f8ccb5b
download: Rewrite using gexps.
...
* guix/download.scm (gnutls-derivation): Remove.
(gnutls-package): New procedure.
(url-fetch): Rewrite using 'gexp->derivation'.
2014-05-01 22:31:36 +02:00
Ludovic Courtès
d91a879121
download: 'download-to-store' accepts plain file names.
...
* guix/download.scm (download-to-store): When URI is #f, assume that URL
is a file name, and handle it.
2014-03-11 22:09:42 +01:00
Ludovic Courtès
56c72822a8
download: Perform derivations locally.
...
* guix/download.scm (url-fetch): Pass #:local-build? #t to
'build-expression->derivation'.
* guix/git-download.scm (git-fetch): Likewise.
2014-03-06 21:42:24 +01:00
Ludovic Courtès
f06afd4da2
download: Add archive.apache.org to the Apache mirrors.
...
* guix/download.scm (%mirrors)[apache]: Add archive.apache.org as a last
resort.
2014-01-27 23:31:28 +01:00
Ludovic Courtès
dd1a5a152c
derivations: Use more keyword parameters for 'build-expression->derivation'.
...
* guix/derivations.scm (build-expression->derivation): Turn 'system' and
'inputs' into keyword parameters.
Adjust callers accordingly.
* gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm,
guix/build-system/gnu.scm, guix/build-system/perl.scm,
guix/build-system/python.scm, guix/build-system/trivial.scm,
guix/download.scm, guix/packages.scm, guix/profiles.scm,
guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh,
tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of
'build-expression->derivation' and 'derivation-expression'
accordingly.
* doc/guix.texi (Derivations): Adjust 'build-expression->derivation'
documentation accordingly.
(The Store Monad): Likewise for 'derivation-expression'.
2013-12-04 16:07:53 +01:00
Ludovic Courtès
d8907ac43f
download: Support 'file://' URLs.
...
* guix/download.scm (download-to-store): When URL has a 'file' scheme or
no scheme, use 'add-to-store' directly.
2013-10-12 22:29:31 +02:00
Ludovic Courtès
e0029b745a
download: Add Debian mirrors.
...
* guix/download.scm (%mirrors)[debian]: New set of mirrors.
2013-10-05 16:45:39 +02:00
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
5d9cd70721
download: Add kernel.org mirrors.
...
Fixes <http://bugs.gnu.org/15182 >.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/download.scm (%mirrors)[kernel.org]: Add ftp.be.debian.org and
mirror.linux.org.au.
2013-08-25 20:49:03 +02:00
Ludovic Courtès
3bba7b0a8f
download: Add Savannah's master site.
...
* guix/download.scm (%mirrors): Add the "-noredirect" version of
Savannah.
2013-06-27 22:36:23 +02:00
Ludovic Courtès
7fa37abca0
gnu: Add ImageMagick.
...
* gnu/packages/imagemagick.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/download.scm (%mirrors): Add `imagemagick' entry.
2013-06-19 19:27:23 +02:00
Ludovic Courtès
a9db7d10b6
Merge branch 'master' into core-updates
...
Conflicts:
Makefile.am
gnu/packages/autotools.scm
gnu/packages/guile.scm
gnu/packages/python.scm
gnu/packages/shishi.scm
guix/gnu-maintenance.scm
guix/scripts/build.scm
guix/scripts/gc.scm
guix/scripts/package.scm
guix/scripts/substitute-binary.scm
guix/ui.scm
nix/nix-daemon/guix-daemon.cc
test-env.in
tests/nar.scm
tests/store.scm
2013-04-26 16:43:08 +02:00
Ludovic Courtès
861693f3e7
Factorize `download-and-store'.
...
* guix/download.scm (download-to-store): New procedure.
* guix/scripts/download.scm (fetch-and-store): Remove.
(guix-download): Use `download-to-store' instead.
* guix/ui.scm (call-with-temporary-output-file): Move to...
* guix/utils.scm (call-with-temporary-output-file): ... here.
2013-04-21 22:40:40 +02:00
Andreas Enge
6be960c7f7
Merge branch 'xorg' into core-updates
2013-04-04 18:49:28 +02: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
Andreas Enge
0820a58b3c
gnu: xorg: Fix http mirror and uncomment xcb packages.
...
* guix/download.scm (%mirrors): Fix main http mirror address.
* gnu/packages/xorg.scm (libpthread-stubs, libxcb, xcb-proto): Uncomment
and add licenses.
2013-03-06 13:28:01 +01:00
Ludovic Courtès
71eb5c1067
gnu: Add intltool.
...
* guix/download.scm (%mirrors): Add `gnome' mirrors.
* gnu/packages/glib.scm (intltool): New variable.
2013-03-05 19:09:53 +01:00
Ludovic Courtès
6af3101999
download: Add CPAN mirrors.
...
* guix/download.scm (%mirrors)[cpan]: New URLs.
2013-03-04 00:48:00 +01:00
Andreas Enge
149acc2981
download: Add X.org mirrors.
...
* guix/download.scm (%mirrors): Add `xorg'.
2013-02-23 19:01:19 +01:00
Ludovic Courtès
47f9db4128
download: Add Apache mirrors.
...
* guix/download.scm (%mirrors): Add `apache'.
2013-01-25 21:52:08 +01:00
Ludovic Courtès
483f11589e
download: Add HTTPS support.
...
* guix/build/download.scm: Autoload (gnutls).
(tls-wrap): New procedure.
(open-connection-for-uri): Add support for `https'. Wrap the socket
with `tls-wrap' in that case.
(url-fetch): Add `https'.
* guix/download.scm (gnutls-derivation): New procedure.
(url-fetch)[need-gnutls?]: New variable.
Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output
to the `GUILE_LOAD_PATH' env. var. in that case.
2013-01-20 22:54:36 +01:00
Ludovic Courtès
1ffa7090b9
distro: Change the module name space to (gnu ...).
...
* distro: Rename to...
* gnu: ... this. Update module names accordingly.
* Makefile.am: Adjust accordingly.
* po/POTFILES.in: Likewise.
* distro.scm: Search for files under /gnu/packages instead of
/distro/packages.
* gnu/packages/base.scm (ld-wrapper-boot3): Likewise.
2013-01-18 01:07:31 +01:00
Ludovic Courtès
233e76769a
Update license headers.
...
Change all license headers, except guix/build/* and ld-wrapper.scm, with
this code:
(use-modules (guix build utils)
(srfi srfi-1))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (remove (lambda (f)
(or (string-contains f ".tar.")
(string-contains f ".git/")
(string-contains f ".so")
(string-suffix? ".o" f)
(string-suffix? ".a" f)
(string-suffix? ".go" f)
(string-suffix? ".pdf" f)
(string-suffix? ".png" f)
(string-suffix? ".info" f)
(equal? (basename f) "guix-daemon")
(equal? (basename f) "nix-setuid-helper")
(string-contains f "nix-upstream/")
(string-contains f "distro/packages/bootstrap/")))
(find-files "." "\\.[a-z]+$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
Change headers using C-style comments manually.
2013-01-06 00:47:50 +01:00
Ludovic Courtès
c43e006164
download: Remove unreachable SourceForge mirror.
...
* guix/download.scm (%mirrors)[sourceforge]: Remove kent.dl.*, which is
unreachable.
2012-12-17 00:18:15 +01:00
Ludovic Courtès
a4eabecd11
download: Fix the primary Savannah URL.
...
* guix/download.scm (%mirrors)[savannah]: Use
"http://download.savannah.gnu.org/releases/ " as the primary URL.
2012-12-07 22:32:03 +01:00
Ludovic Courtès
b40b259f12
download: Add kernel.org mirrors.
...
* guix/download.scm (%mirrors): Add `kernel.org' mirrors.
2012-11-27 21:55:53 +01:00
Ludovic Courtès
ec4d308a9e
guix-download: Use code from (guix build download).
...
* guix-download.in (http-fetch, ftp-fetch): Remove.
(fetch-and-store): Replace `uri' parameter with `name', for the output
file name. Redirect the output of `fetch' to the error port.
(guix-download): Call `url-fetch' for all URI schemes except `file'.
Handle PATH equal to #f.
* guix/download.scm: Export `%mirrors'.
* tests/guix-download.sh: Change erroneous URL, because URLs at
example.com are all valid redirections.
2012-11-13 23:04:21 +01:00
Ludovic Courtès
94d222ad97
download: Add support for mirror:// URLs.
...
* guix/download.scm (%mirrors): New variable. Mirror lists taken from
Nixpkgs.
(url-fetch): New `mirrors' keyword parameter.
[builder]: Pass it.
* guix/build/download.scm (url-fetch): New `mirrors' keyword parameter.
[maybe-expand-mirrors]: New procedure.
[uri]: Use it.
2012-11-13 00:23:43 +01:00
Ludovic Courtès
62cab99c32
Add (guix download) and (guix build download).
...
* guix/download.scm, guix/build/download.scm: New files.
* Makefile.am (MODULES): Add them.
* tests/builders.scm ("url-fetch"): New test.
* distro/packages/bootstrap.scm (bootstrap-origin): Support
`url-fetch'.
* guix/snix.scm (snix-derivation->guix-package): Use `url-fetch' instead
of `http-fetch'.
2012-11-12 23:35:04 +01:00