aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* syscalls: Add 'tcgetattr' and 'tcsetattr' bindings.Ludovic Courtès2016-05-02
| | | | | | | | | | | * guix/build/syscalls.scm (bits->symbols-body, define-bits) (local-flags): New macros. (TCSANOW, TCSADRAIN, TCSAFLUSH): New variables. (<termios>): New record type. (%termios): New C structure. (tcgetattr, tcsetattr): New procedures. * tests/syscalls.scm ("tcgetattr ENOTTY", "tcgetattr") ("tcsetattr"): New tests.
* syscalls: Implement arrays in 'define-c-struct' and use it.Ludovic Courtès2016-05-02
| | | | | | | | | | * guix/build/syscalls.scm (sizeof*, alignof*, write-type, read-type): Add support for (array ...) forms. * guix/build/syscalls.scm (<file-system>)[spare0, spare1]: Remove. [spare]: New field. * guix/build/syscalls.scm (%statfs)[identifier]: Change to (array int 2). [spare0, spare1]: Remove. [spare]: New field.
* syscalls: 'statfs' explicitly binds 'statfs64'.Ludovic Courtès2016-05-02
| | | | * guix/build/syscalls.scm (statfs): Explicitly bind "statfs64".
* syscalls: statfs: Add missing 'mount-flags' field of 'struct statfs'.Ludovic Courtès2016-05-02
| | | | | | * guix/build/syscalls.scm (<file-system>)[mount-flags]: New field. [spare2]: Remove. (%statfs): Likewise.
* guix system: Reduce size of image produced for 'vm' action.Ludovic Courtès2016-04-29
| | | | | | | | | | | This reduces the size of the image produced by 'guix system vm' from 26 MiB to 9 MiB. * gnu/system/vm.scm (system-qemu-image/shared-store): (system-qemu-image/shared-store-script): Change the default value of #:disk-image-size to 30 MiB when not FULL-BOOT?. * guix/scripts/system.scm (system-derivation-for-action): Likewise for the 'vm' action.
* lint: 'check-vulnerabilities' follows package replacements.Ludovic Courtès2016-04-28
| | | | | | * guix/scripts/lint.scm (check-vulnerabilities): Check the replacement of PACKAGE. * tests/lint.scm ("cve: patched vulnerability in replacement"): New test.
* challenge: Use exit code 2 when discrepancies are found.Ludovic Courtès2016-04-27
| | | | | | | | Suggested by John Darrington <john@darrington.wattle.id.au>. * guix/scripts/challenge.scm (guix-challenge): Exit with 2 when MISSING is not empty. * doc/guix.texi (Invoking guix challenge): Document it.
* lint: Report synopses/descriptions that are not strings.Ludovic Courtès2016-04-27
| | | | | | | | | | | Suggested by John Darrington. * guix/scripts/lint.scm (check-description-style): Emit a warning when DESCRIPTION is not a string. (check-synopsis-style): Likewise. (check-gnu-synopsis+description): Likewise. * tests/lint.scm ("description: not a string", "synopsis: not a string"): New tests.
* import: cpan: check version bounds on core modules.Eric Bavier2016-04-25
| | | | | | | | Modules may be removed from Perl's core, so we must check for a removal version. * guix/import/cpan.scm (cpan-module->sexp)[core-module?]: Also check version upper bound.
* syscalls: 'terminal-columns' catches EINVAL on the TIOCGWINSZ ioctl.Ludovic Courtès2016-04-25
| | | | | | | Reported by Mark H Weaver <mhw@netris.org>. * guix/build/syscalls.scm (terminal-columns): Tolerate EINVAL. * tests/syscalls.scm ("terminal-window-size ENOTTY"): Likewise.
* guix gc: Add '--free-space'.Ludovic Courtès2016-04-25
| | | | | | * guix/scripts/gc.scm (show-help, %options): Add '--free-space'. (guix-gc)[ensure-free-space]: New procedure. Handle '--free-space'.
* syscalls: Add 'statfs'.Ludovic Courtès2016-04-25
| | | | | | | * guix/build/syscalls.scm (<file-system>): New record type. (fsword): New macro. (%statfs): New C struct. (statfs): New procedure.
* syscalls: 'define-c-struct' computes the struct size.Ludovic Courtès2016-04-25
| | | | | | | | * guix/build/syscalls.scm (struct-alignment, struct-size): New macros. (define-c-struct): Add 'size' parameter and honor it. (sockaddr-in, sockaddr-in6, ifaddrs, winsize): Adjust accordingly. (%struct-ifaddrs-type, %sizeof-ifaddrs, winsize-struct): Remove. (terminal-window-size): Use 'make-bytevector' instead of 'make-c-struct'.
* syscalls: Second argument of packed-struct read is now optional.Ludovic Courtès2016-04-25
| | | | | | * guix/build/syscalls.scm (define-c-struct)[read]: OFFSET defaults to 0. (unfold-interface-list): Remove second argument to 'read-ifaddrs'. (terminal-window-size): Remove second argument to 'read-winsize'.
* syscalls: Move code around [NFC].Ludovic Courtès2016-04-25
| | | | * guix/build/syscalls.scm: Move packed structure handling to the top.
* build: Move 'Makefile' fragments to subdirectories.Mathieu Lirzin2016-04-21
| | | | | | | | | | | | | | | | | | This follows a convention used by some other GNU packages like Autoconf, Bison, Coreutils, and Gnulib. * doc.am: Rename to ... * doc/local.mk: ... this. * emacs.am: Rename to ... * emacs/local.mk: ... this. * gnu-system.am: Rename to ... * gnu/local.mk: ... this. * daemon.am: Rename to ... * nix/local.mk: ... this. * Makefile.am: Adapt to them. * doc/guix.texi (Porting to a New Platform): Adapt documentation. * guix/config.scm.in (%state-directory, %config-directory): Adapt comments. * emacs/guix-config.el.in (guix-config-state-directory): Likewise.
* substitute: Sanitize the client-provided column number.Ludovic Courtès2016-04-20
| | | | | * guix/scripts/substitute.scm (client-terminal-columns): Sanitize the client's column number.
* substitute: Install the client's locale.Ludovic Courtès2016-04-20
| | | | | | | * guix/store.scm (set-build-options): Add #:locale parameter and honor it. * guix/scripts/substitute.scm (guix-substitute): Install the client's locale.
* substitute: Internationalize signature and download messages.Ludovic Courtès2016-04-20
| | | | | * guix/scripts/substitute.scm (assert-valid-narinfo): Use gettext for messages.
* substitute: Better abbreviate substitute URL in progress report.Ludovic Courtès2016-04-20
| | | | | | | | Suggested by Danny Milosavljevic <dannym@scratchpost.org>. * guix/build/download.scm (nar-uri-abbreviation): New procedure. * guix/scripts/substitute.scm (process-substitution): Use it instead of 'store-path-abbreviation'.
* download: 'uri-abbreviation' can abbreviate the URI's basename.Ludovic Courtès2016-04-20
| | | | | * guix/build/download.scm (uri-abbreviation): Use 'ellipsis' instead of "...". Abbreviate the basename of PATH if needed.
* download: Add "%COMPAT" to the priority string.Ludovic Courtès2016-04-20
| | | | | | Fixes <http://bugs.gnu.org/23311>. * guix/build/download.scm (tls-wrap): Add 'set-session-priorities!' call.
* syscalls: If a syscall is not available, defer the error.Mark H Weaver2016-04-18
| | | | | | | | * guix/build/syscalls.scm (syscall->procedure): New procedure. (mount, umount, swapon, swapoff, clone, pivot-root): Use it. (clone): Add case for nonexistent syscall id. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* utils: 'cache-directory' gracefully deals with unset 'HOME'.Ludovic Courtès2016-04-18
| | | | | | Fixes <http://bugs.gnu.org/23165>. * guix/utils.scm (cache-directory): Use 'getpwuid' when 'HOME' is unset.
* syscalls: 'terminal-columns' ignores non-file ports.Ludovic Courtès2016-04-16
| | | | | | * guix/build/syscalls.scm (terminal-columns): Call 'terminal-window-size' only when PORT is a file port. * tests/syscalls.scm ("terminal-columns non-file port"): New test.
* substitute: Honor the number of columns of the client terminal.Ludovic Courtès2016-04-15
| | | | | | | * guix/store.scm (set-build-options): Add #:terminal-columns parameter and honor it. * guix/scripts/substitute.scm (client-terminal-columns): New procedure. (guix-substitute): Use it to parameterize 'current-terminal-columns'.
* guix download: Honor the number of columns of the terminal.Ludovic Courtès2016-04-15
| | | | | * guix/scripts/download.scm (guix-download): Parameterize 'current-terminal-columns'.
* ui: Use 'terminal-columns'.Ludovic Courtès2016-04-15
| | | | * guix/ui.scm (%text-width): Default to (terminal-columns).
* ui: 'package->recutils' accurately honors the number of columns.Ludovic Courtès2016-04-15
| | | | | * guix/ui.scm (package->recutils)[width*]: New variable. Use it instead of WIDTH.
* syscalls: Add TIOCGWINSZ bindings.Ludovic Courtès2016-04-15
| | | | | | | | * guix/build/syscalls.scm (TIOCGWINSZ): New macro. (<window-size>): New record type. (winsize): New C struct. (winsize-struct): New variable. (terminal-window-size, terminal-columns): New procedures.
* download: Add 'current-terminal-columns' parameter.Ludovic Courtès2016-04-15
| | | | | * guix/build/download.scm (current-terminal-columns): New variable. (progress-proc): Use it instead of the hard-coded "80".
* download: Send an ANSI erase-in-line sequence in addition to CR.Ludovic Courtès2016-04-15
| | | | | | | | Partly fixes <http://bugs.gnu.org/22536>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * guix/build/download.scm (progress-proc): Send an ANSI erase-in-line sequence.
* gnu-maintenance: Move FTP directory info to 'properties' fields.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | | | | | | | * guix/gnu-maintenance.scm (ftp-server/directory): Rewrite to honor PACKAGE's properties. Remove list of quirks. (releases): Add #:server and #:directory parameters. Remove call to 'ftp-server/directory'. (latest-release): Likewise. (latest-release*): Add call to 'ftp-server/directory'. Honor 'upstream-name' property of PACKAGE. * gnu/packages/fonts.scm (font-gnu-freefont-ttf): Add 'properties' field. * gnu/packages/gnupg.scm (libgpg-error, libgcrypt, libassuan): (libksba, gnupg): Likewise. * gnu/packages/gnuzilla.scm (icecat): Likewise. * gnu/packages/package-management.scm (guix-0.10.0): Likewise. * gnu/packages/pretty-print.scm (source-highlight): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise. * gnu/packages/telephony.scm (ucommon): Likewise. * gnu/packages/tls.scm (gnutls): Likewise.
* gnu-maintenance: Recognize source tarball with "-src" in their name.Ludovic Courtès2016-04-15
| | | | | * guix/gnu-maintenance.scm (tarball->version): Add special case for tarball names containing "-src".
* upstream: Pass a package object to updaters.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | * guix/upstream.scm (package-update-path): Pass PACKAGE to 'latest-release'. * guix/gnu-maintenance.scm (latest-release*) (latest-gnome-release, latest-xorg-release): Adjust accordingly. * guix/import/cran.scm (latest-cran-release): (latest-bioconductor-release): Likewise. * guix/import/elpa.scm (latest-release): Likewise. * guix/import/gem.scm (latest-release): Likewise. * guix/import/github.scm (latest-release): Likewise. * guix/import/hackage.scm (latest-release): Likewise. * guix/import/pypi.scm (latest-release): Likewise.
* lint: Emit an ANSI erase-in-line sequence.Danny Milosavljevic2016-04-14
| | | | | | | * guix/scripts/lint.scm (run-checkers): Add '\x1b[K' to progress messages and after 'for-each'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* download: Follow HTTP 307 "Temporary Redirection".Alex Kost2016-04-14
| | | | | | | | Fixes <http://bugs.gnu.org/23275>. Reported by Albin Söderqvist <albin@fripost.org>. * guix/build/download.scm (http-fetch): Follow redirections upon 307. This is what 'binaries.openttd.org' does.
* gnu-maintenance: update-package-source: Only update the desired package.宋文武2016-04-13
| | | | | | | Fixes <http://bugs.gnu.org/22693>. Suggested by Andy Wingo. * guix/upstream.scm (update-package-source): Rewrite in terms of 'edit-expression'.
* utils: Add 'location->source-properties'.宋文武2016-04-13
| | | | * guix/utils (location-source->properties): New procedure.
* utils: Add 'edit-expression'.宋文武2016-04-13
| | | | | * guix/utils.scm (edit-expression): New procedure. * tests/utils.scm (edit-expression): New test.
* environment: container: Work around read-only /etc/resolv.conf issue.David Thompson2016-04-07
| | | | | * guix/scripts/environment.scm (launch-environment/container): Mount /etc/resolv.conf as a writable file.
* challenge: Really exit with non-zero upon hash mismatch.Ludovic Courtès2016-04-06
| | | | | | | | | | Reported by John Darrington. * guix/scripts/challenge.scm (guix-challenge): Add an explicit 'exit' call when ISSUES is empty. * scripts/guix.in: Add comment about 'exit'. * doc/guix.texi (Invoking guix challenge): Mention the behavior and exit code.
* emacs: Use 'build-and-use-profile' from (guix scripts package).Alex Kost2016-04-04
| | | | | * guix/scripts/package.scm: Export 'build-and-use-profile'. * emacs/guix-main.scm (process-package-actions): Use it.
* graph: Edges are colored based on their source node.Ludovic Courtès2016-04-02
| | | | | | * guix/graph.scm (%colors): New variable. (pop-color): New procedure. (emit-edge): Use it.
* cvs: Disable compression.Ludovic Courtès2016-04-01
| | | | | | Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * guix/build/cvs.scm (cvs-fetch): Use -z0.
* cvs: Allow checkouts when /tmp is a different device.Jan Nieuwenhuizen2016-04-01
| | | | | | | * guix/build/cvs.scm (cvs-fetch): Use 'copy-recursively' instead of 'rename-file'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* profiles: Use the right 'package-name->name+version'.Ludovic Courtès2016-04-01
| | | | | * guix/profiles.scm: Use 'package-name->name+version' from (guix build utils). Fixes 'find-among-store-items' in 'gtk-icon-themes'.
* ant-build-system: Keep jar manifest.Ricardo Wurmus2016-03-31
| | | | | | * guix/build/ant-build-system.scm (default-build.xml): Generate default manifest. (strip-jar-timestamps): Repack jar archive with zip.
* build-system/ant: Add zip.Ricardo Wurmus2016-03-31
| | | | | * guix/build-system/ant.scm (default-zip): New variable. (lower): Add zip to native inputs.
* build-system/r: Support "substitutable?" flag.Ricardo Wurmus2016-03-31
| | | | * guix/build-system/r.scm (r-build): Support the "substitutable?" flag.