aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* build-system: Bags record their system and target.Ludovic Courtès2014-10-05
| | | | | | | | | | | | | | | | | | | | * guix/build-system.scm (<bag>)[system, target]: New fields. (make-bag): Add #:system parameter and pass it to LOWER. * gnu/packages/bootstrap.scm (make-raw-bag): Initialize 'system' field. * guix/build-system/cmake.scm (lower): Likewise. * guix/build-system/perl.scm (lower): Likewise. * guix/build-system/python.scm (lower): Likewise. * guix/build-system/ruby.scm (lower): Likewise. * guix/build-system/trivial.scm (lower): Likewise. * guix/build-system/gnu.scm (lower): Initialize 'system' and 'target' fields. * guix/packages.scm (bag->derivation, bag->cross-derivation): New procedures. (package-derivation, package-cross-derivation): Use 'bag->derivation'. * tests/packages.scm ("search paths"): Initialize 'system' and 'target' fields. ("package->bag", "package->bag, cross-compilation", "bag->derivation", "bag->derivation, cross-compilation"): New tests.
* build-system: Introduce "bags" as an intermediate representation.Ludovic Courtès2014-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system.scm (<build-system>)[build, cross-build]: Remove. [lower]: New field. (<bag>): New record type. (make-bag): New procedure. * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs, bag-transitive-host-inputs, bag-transitive-target-inputs, package->bag): New procedures. (package-derivation): Use it; use the bag, apply its build procedure, etc. (package-cross-derivation): Likewise. * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure. (%bootstrap-guile): Use them. * guix/build-system/trivial.scm (lower): New procedure. (trivial-build, trivial-cross-build): Remove 'source' parameter. Pass INPUTS as is. (trivial-build-system): Adjust accordingly. * guix/build-system/gnu.scm (%store, inputs-search-paths, standard-search-paths, expand-inputs, standard-inputs): Remove. (gnu-lower): New procedure. (gnu-build): Remove 'source' and #:implicit-inputs? parameters. Remove 'implicit-inputs' and 'implicit-search-paths' variables. Get the source from INPUT-DRVS. (gnu-cross-build): Likewise. (standard-cross-packages): Remove call to 'standard-packages'. (standard-cross-inputs, standard-cross-search-paths): Remove. (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'. * guix/build-system/cmake.scm (lower): New procedure. (cmake-build): Remove 'source' and #:cmake parameters. Use INPUTS and SEARCH-PATHS as is. Get the source from INPUTS. * guix/build-system/perl.scm: Likewise. * guix/build-system/python.scm: Likewise. * guix/build-system/ruby.scm: Likewise. * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers" to "linux-headers". (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f. Likewise. In 'propagated-inputs', change "cross-linux-headers" to "linux-headers". * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of 'standard-inputs'. * tests/builders.scm ("gnu-build-system"): Remove use of 'build-system-builder'. ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to 'gnu-build'. * tests/packages.scm ("search paths"): Adjust to new build system API. ("package-cross-derivation, no cross builder"): Likewise. * doc/guix.texi (Build Systems): Add paragraph on bags.
* build-system: Remove irrelevant special case.Ludovic Courtès2014-10-05
| | | | | | | | | | | * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove comment about case where GUILE is a derivation path. * guix/build-system/cmake.scm (cmake-build): Remove case where GUILE is a derivation path. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise.
* utils: Add 'strip-keyword-arguments'.Ludovic Courtès2014-10-05
| | | | | * guix/utils.scm (strip-keyword-arguments): New procedure. * tests/utils.scm ("strip-keyword-arguments"): New test.
* guix package: Export generation procedures.Alex Kost2014-10-05
| | | | | | | | | | | * guix/scripts/package.scm: Export 'roll-back', 'delete-generation', 'delete-generations'. (link-to-empty-profile, roll-back): Add 'store' argument. (delete-generations): New procedure. (guix-package): Adjust accordingly. [delete-generation]: Move to the top level. Add 'store' and 'profile' arguments. [display-and-delete]: Move to 'delete-generation'.
* build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".Ludovic Courtès2014-10-04
| | | | | | | | | * guix/build-system/cmake.scm (cmake-build): Add #:build-type. Pass it in BUILDER. * guix/build/cmake-build-system.scm (configure): Add #:build-type parameter and honor it. * doc/guix.texi (Build Systems): Document #:configure-flags and #:build-type for CMake.
* ui: Recognize the same size units as Coreutils.Ludovic Courtès2014-10-03
| | | | | | | | | * guix/ui.scm (size->number): Add a bunch of large units. Recognize one-letter unit names. Change "KB" to "kB". * tests/ui.scm ("size->number, 1T"): New test. * doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size" in the Coreutils manual. (Invoking guix system): Likewise.
* download: Allow raw file names or file:// URLs.Ludovic Courtès2014-10-03
| | | | | | | * 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.
* pull: Add dependency on Guile-JSON.Ludovic Courtès2014-09-30
| | | | | | | Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>. * guix/scripts/pull.scm (unpack): Add Guile-JSON to %load-path and %load-compiled-path.
* import: Add PyPI importer.David Thompson2014-09-29
| | | | | | | | | | | | | | | | | | | * guix/snix.scm: Delete. * guix/import/snix.scm: New file. * guix/import/pypi.scm: New file. * guix/import/utils.scm: New file. * guix/scripts/import/nix.scm: New file. * guix/scripts/import/pypi.scm: New file. * tests/pypi.scm: New file. * tests/snix.scm: Import (guix import snix) module. * guix/scripts/import.scm (%default-options, %options): Delete. (%standard-import-options, importers): New variables. (show-help): List importers. (guix-import): Factor out Nix-specific logic. Delegate to correct importer based upon first argument. * configure.ac (HAVE_GUILE_JSON): New conditional. * Makefile.am (MODULES): Add new files and remove 'guix/snix.scm'. (SCM_TESTS): Add 'tests/pypi.scm' if guile-json is installed.
* build: Add ruby build system.David Thompson2014-09-28
| | | | | | | * guix/build-system/ruby.scm: New file. * guix/build/ruby-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document ruby-build-system.
* gnu: Add ruby.Pjotr Prins2014-09-28
| | | | | | | | Co-authored-by: David Thompson <davet@gnu.org> * gnu/packages/ruby.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * guix/licenses.scm (ruby): New variable.
* gnupg: Correctly parse current 'SIG_ID' lines.Ludovic Courtès2014-09-24
| | | | | * guix/gnupg.scm (gnupg-verify)[sigid-rx]: Adjust to handle current signature ID encoding.
* packages: Allow use of origins as patches.Ludovic Courtès2014-09-24
| | | | | | * guix/packages.scm (patch-and-repack)[patch-inputs]: Use 'add-to-store' only if the PATCH is a file name, and 'package-source-derivation' if PATCH is an origin.
* guix build: Add -L/--load-path as a common option.Ludovic Courtès2014-09-24
| | | | | | * guix/scripts/build.scm (show-build-options-help): Document -L. (%standard-build-options): Add -L/--load-path. * tests/guix-package.sh: Test it.
* Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.Mark H Weaver2014-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Merge branch 'core-updates'Ludovic Courtès2014-09-22
|\
| * utils: Import (ice-9 format).Mark H Weaver2014-09-14
| | | | | | | | * guix/build/utils.scm: Import (ice-9 format).
| * utils: Allow wrap-program to be called multiple times.Eric Bavier2014-09-13
| | | | | | | | | | | | | | | | * guix/build/utils.scm (wrap-program): Multiple invocations of wrap-program for the same file create successive wrappers. Adjust docstring. * tests/build-utils.scm: Test new wrap-program behavior. (%store): New variable.
| * Merge branch 'master' into core-updatesMark H Weaver2014-09-13
| |\ | | | | | | | | | | | | Conflicts: gnu-system.am
| * \ Merge branch 'master' into core-updatesMark H Weaver2014-09-11
| |\ \ | | | | | | | | | | | | | | | | Conflicts: gnu/packages/image.scm
| * \ \ Merge branch 'master' into core-updatesMark H Weaver2014-09-08
| |\ \ \
| * | | | utils: Clean trailing whitespace at end of SHELLEric Bavier2014-09-05
| | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL): Remove trailing whitespace.
| * | | | Merge branch 'master' into core-updatesMark H Weaver2014-08-28
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/base.scm
| * | | | | utils: Preserve makefile shell arguments during patch.Eric Bavier2014-08-28
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL): Preserve shell arguments.
| * | | | | Merge branch 'master' into core-updatesMark H Weaver2014-08-26
| |\ \ \ \ \
| * | | | | | gnu-build-system: Add 'patch-usr-bin-file' to %standard-phases.Mark H Weaver2014-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (patch-usr-bin-file): New procedure. (%standard-phases): Add it.
* | | | | | | syscalls: Adjust /proc/net/dev parser for old kernels.Ludovic Courtès2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (%interface-line): Remove whitespace in rest pattern. (There's no extra whitespace after the colon with Linux 2.6.32.)
* | | | | | | download: Use the 'SERVER NAME' TLS extension when possible.Ludovic Courtès2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18526>. Reported by Mark H. Weaver. * guix/build/download.scm (tls-wrap): Add 'server' parameter. Call 'set-session-server-name!' when (gnutls) defines it. (open-connection-for-uri): Adjust 'tls-wrap' call accordingly.
* | | | | | | guix package: Use 'profile-generations'.Alex Kost2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/package.scm (guix-package)[process-actions]: Use 'profile-generations' instead of the equivalent code.
* | | | | | | profiles: Add 'profile-generations'.Alex Kost2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/profiles.scm (profile-generations): New procedure.
* | | | | | | offload: Use a total order when sorting available machines.Ludovic Courtès2014-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (machine-less-loaded?, machine-faster?): Remove. (machine-power-factor): New procedure. (machine-less-loaded-or-faster?): Use it.
* | | | | | | offload: Try another machine when the "best" machine is overloaded.Ludovic Courtès2014-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (choose-build-machine): When BEST is overloaded, try the other machines.
* | | | | | | syscalls: Add 'swapon' and 'swapoff'.Ludovic Courtès2014-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (swapon, swapoff): New procedures. * tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"): New tests.
* | | | | | | pull: Rewrite using gexps.Ludovic Courtès2014-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (unpack): Remove 'store' parameter. Rewrite using 'gexp->derivation'. (what-to-build, indirect-root-added, build-and-install): New procedures. (guix-pull): Use it.
* | | | | | | utils: Create temporary files in $TMPDIR or /tmp.Ludovic Courtès2014-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Federico Beffa <beffa@ieee.org>. * guix/utils.scm (call-with-temporary-output-file): Prepend $TMPDIR or /tmp to TEMPLATE.
* | | | | | | syscalls: Add 'all-network-interfaces'.Ludovic Courtès2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (network-interfaces): Update docstring. (%interface-line): New variable. (all-network-interfaces): New procedure. * tests/syscalls.scm ("all-network-interfaces"): New test. ("network-interfaces"): Change to make sure the result is a subset of (all-network-interfaces).
* | | | | | | syscalls: Add 'network-interface-flags'.Ludovic Courtès2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST, IFF_LOOPBACK, IF_NAMESIZE): New variables. (network-interface-flags, loopback-network-interface?): New procedures. * tests/syscalls.scm ("network-interface-flags", "loopback-network-interface?"): New tests.
* | | | | | | syscalls: Add 'network-interfaces'.Ludovic Courtès2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct, ifreq-struct-size): New variables. (%ioctl, bytevector->string-list, network-interfaces): New procedures. * tests/syscalls.scm ("network-interfaces"): New test.
* | | | | | | pull: Create ~/.config/guix if needed instead of bailing out gracelessly.Ludovic Courtès2014-09-14
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously 'guix pull' would just fail with "No such file or directory" if ~/.config didn't already exist. * guix/ui.scm (config-directory): Use 'mkdir-p' instead of 'mkdir'. Change the 'catch' handler to expect errors different from EEXIST.
* | | | | | activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.Ludovic Courtès2014-09-12
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/build/activation.scm (activate-current-system): Honor $GUIX_NEW_SYSTEM by default. * guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM before loading SCRIPT.
* | | | | profiles: Adjust for compatibility with Guile 2.0.5.Ludovic Courtès2014-09-10
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/profiles.scm (right-arrow): Use 'set-port-conversion-strategy!' instead of '%default-port-conversion-strategy'. The latter is only available in Guile 2.0.5.
* | | | gexp: 'gexp->script' returns a script that can easily be compiled.Ludovic Courtès2014-09-08
| | | | | | | | | | | | | | | | | | | | * guix/gexp.scm (gexp->script): Produce an 'eval-when' form around assignments of %load-path and %load-compiled-path.
* | | | gexp: Allow use of high-level objects in #:references-graphs.Ludovic Courtès2014-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/gexp.scm (lower-reference-graphs): New procedure. (gexp->derivation)[graphs-file-names]: New procedure. Use 'lower-reference-graphs', and augment #:inputs argument as a function of #:references-graphs. * doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation accordingly. * tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to TWO in BUILD-DRV. Use TWO directly in #:references-graphs argument. ("gexp->derivation #:references-graphs"): New test. * gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as the #:references-graphs argument to 'expression->derivation-in-linux-vm'.
* | | | pull: Add a compilation progress report.Ludovic Courtès2014-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/pull.scm (report-build-progress): New procedure. (p-for-each): Add #:progress parameter. [loop]: Keep track of the number of completed processes. Tail-call PROGRESS at each loop iteration. (build-guix): Add #:debug-port parameter. Use it for verbose messages. Change 'tar' flags to 'xf'. Around 'compile-file' call, bind CURRENT-WARNING-PORT to DEBUG-PORT. * guix/scripts/pull.scm (unpack): Add #:verbose? parameter. [builder]: Pass #:debug-port to 'build-guix'. (guix-pull): Leave CURRENT-BUILD-OUTPUT-PORT unchanged. Pass #:verbose? to 'unpack'.
* | | | vm: Move store copy handling to (guix build store-copy).Ludovic Courtès2014-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/build/vm.scm (read-reference-graph, populate-store): Move to... * guix/build/store-copy.scm: ... here. New file. * Makefile.am (MODULES): Add it. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust default #:modules values accordingly. * tests/gexp.scm ("gexp->derivation, store copy"): New test.
* | | | profiles: Use a real arrow to denote upgrades in ASCII.Ludovic Courtès2014-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Alex Kost. * guix/profiles.scm (right-arrow): Fall back to "->". * tests/profiles.scm ("manifest-show-transaction"): Adjust accordingly.
* | | | Move operating system helpers from (guix build …) to (gnu build …).Ludovic Courtès2014-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/activation.scm, guix/build/install.scm, guix/build/linux-initrd.scm, guix/build/vm.scm: Move to... * gnu/build: ... here. * Makefile.am (MODULES): Remove the above guix/build/ files. * gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files here. * gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm, gnu/system/vm.scm, guix/scripts/system.scm: Adjust to the new module names.
* | | | guix lint: Remove "guix lint: " prefix from warnings.Ludovic Courtès2014-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows editors to parse warnings correctly. * guix/scripts/lint.scm (emit-warning): Use 'format' instead of 'warning', to avoid the "guix lint: " prefix in messages. * tests/lint.scm (call-with-warnings): Indent.
* | | | scripts: add guix lintCyril Roelandt2014-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages. * tests/lint.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * po/guix/Makevars: Update appropriately. * po/guix/POTFILES.in: Update appropriately. * doc/guix.texi: Document "guix lint".