aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* derivations: 'derivation' sorts items in the resulting object.Ludovic Courtès2016-05-21
| | | | | | | | | | | | * guix/derivations.scm (derivation-input<?): New procedure. (write-derivation)[coalesce-duplicate-inputs]: Remove. Remove calls to 'sort'. (coalesce-duplicate-inputs): New procedure. (derivation-hash): Sort INPUTS and use 'coalesce-duplicate-inputs'. (derivation)[input->derivation-input] [coalesce-duplicate-inputs]: New procedures. Sort OUTPUTS, INPUTS, and ENV-VARS. * tests/derivations.scm ("read-derivation vs. derivation"): New test.
* graph: Use absolute file name canonicalization.Ludovic Courtès2016-05-21
| | | | * guix/scripts/graph.scm (guix-graph): Wrap in 'with-fluids'.
* ant-build-system: Add unpack phase.Ricardo Wurmus2016-05-20
| | | | | * guix/build/ant-build-system.scm (unpack): New procedure. (%standard-phases): Use it.
* lint: Honor 'cpe-name' and 'cpe-version' package properties.Ludovic Courtès2016-05-17
| | | | | | | | | | * guix/scripts/lint.scm (package-name->cpe-name): Remove. (package-vulnerabilities): Honor 'cpe-name' and 'cpe-version' properties. * gnu/packages/grub.scm (grub)[properties]: New field. * gnu/packages/gnuzilla.scm (icecat)[properties]: Add 'cpe-name' and 'cpe-version'. * doc/guix.texi (Invoking guix lint): Mention 'cpe-name'.
* store: Clarify 'query-path-hash' docstring.Ludovic Courtès2016-05-17
| | | | * guix/store.scm (query-path-hash): Clarify docstring.
* import: Gracefully report import failures.Ludovic Courtès2016-05-17
| | | | | | | | | | | | Previously, something like 'guix import gnu which' would spit out a backtrace if, say, the 'which' tarball could not be authenticated. * guix/upstream.scm (download-tarball): Mention failure modes in docstring. * guix/import/gnu.scm (gnu-package->sexp): Return #f when 'download-tarball' returns #f. * guix/scripts/import.scm (guix-import): Call 'leave' when IMPORTER does not return a (package ...) sexp.
* import: Exit with non-zero when an unknown importer is asked.Ludovic Courtès2016-05-17
| | | | | * guix/scripts/import.scm (guix-import): Use 'leave' instead of 'format' when IMPORTER is unknown.
* import cran: latest-bioconductor-release: Wrap Bioconductor URL in list.Ricardo Wurmus2016-05-16
| | | | | * guix/import/cran.scm (latest-bioconductor-release): Wrap Bioconductor URL in list in the "urls" field of the "upstream-source" value.
* import cran: Use URL for Bioconductor 3.3.Ricardo Wurmus2016-05-16
| | | | | * guix/import/cran.scm (%bioconductor-svn-url): Update to release URL for version 3.3.
* build: Accept dates with space-padded hour field.Ricardo Wurmus2016-05-16
| | | | | * guix/build/download.scm: Replace "parse-rfc-822-date" from the (web http) module.
* download: Update debian mirrors.Efraim Flashner2016-05-16
| | | | | * guix/download.scm (mirrors)[debian]: Add Debian's archive to the Debian mirror list.
* download: Support content-addressed mirrors.Ludovic Courtès2016-05-14
| | | | | | | | | | | | | * guix/download.scm (%content-addressed-mirrors) (%content-addressed-mirror-file): New variables. * guix/download.scm (url-fetch)[builder]: Define 'value-from-environment. Pass #:hashes and #:content-addressed-mirrors to 'url-fetch'. Define "guix download hashes" environment variable. * guix/build/download.scm (url-fetch): Add #:content-addressed-mirrors and #:hashes. [content-addressed-urls]: New variable. Use it.
* guix build: Catch 'getaddrinfo-error' for '--log-file'.Ludovic Courtès2016-05-14
| | | | | * guix/scripts/build.scm (log-url)[valid-url?]: Catch 'getaddrinfo-error'.
* guix build: Do not show what to build when '-d' is used.Ludovic Courtès2016-05-14
| | | | | * guix/scripts/build.scm (guix-build): Don't call 'show-what-to-build' when OPTS contains 'derivations-only?'.
* Merge branch 'master' into gnome-updatesMark H Weaver2016-05-11
|\
| * guix: utils: Re-export 'memoize'.Alex Kost2016-05-09
| | | | | | | | | | | | | | | | | | Suggested by Ludovic Courtès <ludo@gnu.org>. * guix/utils.scm: Re-export 'memoize' to avoid a potential breakage of emacs interface. See <http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00146.html> for details.
* | Merge branch 'master' into gnome-updates宋文武2016-05-08
|\|
| * syscalls: Use 'define-c-struct' for 'fcntl-flock'.Ludovic Courtès2016-05-06
| | | | | | | | | | | | * guix/build/syscalls.scm (%struct-flock): Use 'define-c-struct'. (fcntl-flock): Use 'write-flock!' and 'make-bytevector' instead of 'make-c-struct'.
| * utils: Move 'fcntl-flock' to (guix build syscalls).Ludovic Courtès2016-05-06
| | | | | | | | | | | | | | | | | | | | | | * guix/utils.scm (%struct-flock, F_SETLKW, F_SETLK, F_xxLCK) (fcntl-flock): Move to... * guix/build/syscalls.scm: ... here. New variables. * guix/nar.scm: Adjust imports accordingly. * tests/utils.scm ("fcntl-flock wait", "fcntl-flock non-blocking"): Move to... * tests/syscalls.scm: ... here. New tests. (temp-file): New variable.
| * utils: Move combinators to (guix combinators).Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
| * utils: Remove 'split'.Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | This procedure was redundant with SRFI-1's 'break'. * guix/utils.scm (split): Remove. * tests/utils.scm ("split, element is in list") ("split, element is not in list"): Remove.
| * environment: Use 'break' instead of 'split'.Ludovic Courtès2016-05-04
| | | | | | | | | | * guix/scripts/environment.scm (parse-args): Use 'break' instead of 'split'.
| * services: herd: Move UI handling to 'guix system'.Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes (gnu services herd) independent of (guix ui). * gnu/services/herd.scm (&shepherd-error, &service-not-found-error) (&action-not-found-error, &action-exception-error) (&unknown-shepherd-error): New error condition types. (report-action-error): Remove. (raise-shepherd-error): New procedure. (display-message): Do not use 'info' and '_'. (invoke-action): Use 'raise-shepherd-error' instead of 'report-action-error'. Do not use 'warning'. (current-services): Do not use 'warning'. * guix/scripts/system.scm (with-shepherd-error-handling): New macro. (report-shepherd-error, call-with-service-upgrade-info): New procedures. (upgrade-shepherd-services): Use it.
* | Merge branch 'master' into gnome-updatesMark H Weaver2016-05-04
|\|
| * syscalls: Wrap TCSA* constants in 'tcsetattr-action' macro.Ludovic Courtès2016-05-03
| | | | | | | | | | | | | | * guix/build/syscalls.scm (tcsetattr-action): New macro. (TCSANOW, TCSADRAIN, TCSAFLUSH): Remove. (tcsetattr): Adjust docstring accordingly. * tests/syscalls.scm ("tcsetattr"): Adjust accordingly.
| * 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-04-30
| | | | | | | | * guix/build/syscalls.scm (statfs): Explicitly bind "statfs64".
| * syscalls: statfs: Add missing 'mount-flags' field of 'struct statfs'.Ludovic Courtès2016-04-30
| | | | | | | | | | | | * guix/build/syscalls.scm (<file-system>)[mount-flags]: New field. [spare2]: Remove. (%statfs): Likewise.
* | profiles: Factor out 'manifest-lookup-package'.宋文武2016-05-02
| | | | | | | | | | * guix/profiles.scm (manifest-lookup-package): New procedure. (gtk-icon-themes, xdg-desktop-database, xdg-mime-database): Use it.
* | profiles: Add xdg-mime-database hook.宋文武2016-05-02
| | | | | | | | | | * guix/profiles.scm (xdg-mime-database): New function. (%default-profile-hooks): Add it.
* | profiles: Add xdg-desktop-database hook.宋文武2016-05-02
| | | | | | | | | | * guix/profiles.scm (xdg-desktop-database): New function. (%default-profile-hooks): Add it.
* | 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.