summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2016-11-15lint: more packages to probably be a native input.Hartmut Goebel
* guix/scripts/lint.scm (check-inputs-should-be-native package): Add python packages which are typically used for testing or for building the documentation.
2016-11-15guix: Add lint-checker for packages which should be no inputs at all.Hartmut Goebel
Also refactor some common code into a new function. Examples for these pacakges are python(2)-setuptools and python(2)-pip, which are installed together with python itself. * guix/scripts/lint.scm (warn-if-package-has-input): New procedure. (check-inputs-should-be-native package): Use it; rename and clean-up variables. (check-inputs-should-not-be-an-input-at-all): New procedure. (%checkers) Add it. * doc/guix.texi (Python Modules): Document it. * tests/lint.scm: ("inputs: python-setuptools should not be an input at all (input)", "inputs: python-setuptools should not be an input at all (native-input)" "inputs: python-setuptools should not be an input at all (propagated-input)"): Add tests.
2016-11-15guix: python-build-system: Add background about Python installation methods.Hartmut Goebel
2016-11-15guix: python-build-system: Delete .egg-info file created in phase check.Hartmut Goebel
* guix/build/python-build-system.scm (check): Delete .egg-info dirs which did not exist prior to calling setup.py but afterwards.
2016-11-15guix: python-build-system: Add helpers for getting and setting PYTHONPATH.Hartmut Goebel
* guix/build/python-build-system.scm (add-installed-pythonpath, site-packages): New exported procedures.
2016-11-15guix: python-build-system: Add option "#:use-setuptools?" (default true).Hartmut Goebel
* guix/build-system/python.scm (python-build): New keyword argument "#:use-setuptools?", defaulting to #t. * guix/build/python-build-system.scm (call-setup-py): New positional parameter "use-setuptools?". If false, do not use the shim-wrapper for addin setuptools. (build, check): accept keyword- parameter, and pass to call-setuppy. (install): same; if "use-setuptools?" is false, do not use options "--root" and "--single-version-externally-managed" for setup.py. * doc/guix.texi (Build Systems): Document it.
2016-11-15guix: python-build-system: Import setuptools before calling `setup.py'.Marius Bakke
This is needed for packages using "distutils" instead of "setuptools" since the former does not understand the "--single-version-externally-managed" flag. Also export __file__ since it will be unset when setup.py is called from python "exec". * guix/build/python-build-system.scm (call-setuppy): extend "python setup.py" call to import setuptools, export __file__, and call setup.py from setuptools python environment. Co-Authored-By: Hartmut Goebel <h.goebel@crazy-compilers.com>
2016-11-15guix: build all Python packages with --single-version-externally-managed.Hartmut Goebel
This requires setuptools to be installed together with python, which is the case for Python 3 anyway and which we do for our build of Python 2 (see last commit). * guix/build/python-build-system.scm (install): Add "--single-version-externally-managed" and "--root=/" to params to be passed to call-setuppy. Remove thus needless manipulation of PYTHONPATH. Remove now unused argument "inputs".
2016-11-15guix: python-build-system: Fix an outdated comment.Hartmut Goebel
2016-11-14import/cpan: Maybe coerce version to string.Alex Sassmannshausen
* guix/import/cpan.scm (cpan-module->sexp) <version>: Test if version in meta is string or number. If it is number, coerce to string.
2016-11-13Merge branch 'core-updates'Ludovic Courtès
2016-11-12substitute: Disable HTTPS certificate verification.Ludovic Courtès
Fixes a regression introduced in 9e4e431e049fae3f1121c3be22cf13b174404ba8 as a consequence of bc3c41ce36349ed4ec758c70b48a7059e363043a. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/scripts/substitute.scm (fetch): Pass #:verify-certificate? #f to 'open-connection-for-uri' and 'http-fetch'. (download-cache-info): Likewise. (http-multiple-get): Add #:verify-certificate? and honor it. (fetch-narinfos): Pass #:verify-certificate? #f.
2016-11-12http-client: Add #:verify-certificate? to 'http-fetch'.Ludovic Courtès
* guix/http-client.scm (http-fetch): Add #:verify-certificate? parameter and pass it to 'open-connection-for-uri'.
2016-11-10container: Pass a list of <file-system> objects as things to mount.Ludovic Courtès
* gnu/build/linux-container.scm (mount-file-systems): 'mounts' is now a list of <file-system> objects instead of a list of lists ("specs"). Add call to 'file-system->spec' as the argument to 'mount-file-system'. (run-container, call-with-container): Adjust docstring accordingly. * gnu/system/file-systems.scm (spec->file-system): New procedure. * gnu/system/linux-container.scm (container-script)[script]: Call 'spec->file-system' inside gexp. * guix/scripts/environment.scm (launch-environment/container): Remove call to 'file-system->spec'. * tests/containers.scm ("call-with-container, mnt namespace") ("call-with-container, mnt namespace, wrong bind mount"): Pass a list of <file-system> objects.
2016-11-09lint: 'cve' checker catches 'tls-certificate-error'.Ludovic Courtès
Reported by Frederick Muriithi <fredmanglis@gmail.com>. * guix/scripts/lint.scm (tls-certificate-error-string): New procedure. (validate-uri): Use it. (current-vulnerabilities*): Catch 'tls-certificate-error' and print a warning.
2016-11-08system: Use grub from bootloader configuration.Marius Bakke
* gnu/system/grub.scm (gnu): Export grub-configuration-grub. * guix/scripts/system.scm (perform-action): Use it. (define-module): Don't import (gnu packages grub). Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
2016-11-07guix download: Add '--no-check-certificate' option.Ludovic Courtès
* guix/download.scm (download-to-store): Add #:verify-certificate? parameter and honor it. * guix/scripts/download.scm (%default-options): Add 'verify-certificate?' key. (show-help, %options): Add '--no-check-certificate'. (guix-download): Pass #:verify-certificate to 'download-to-store'. * doc/guix.texi (Invoking guix download): Document it.
2016-11-07download: Verify TLS certificates unless asked not to.Ludovic Courtès
Fixes <http://bugs.gnu.org/24466>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/download.scm (%x509-certificate-directory): New variable. (make-credendials-with-ca-trust-files, peer-certificate) (assert-valid-server-certificate, print-tls-certificate-error): New procedures. Add 'print-tls-certificate-error' as an exception printer for 'tls-certificate-error'. (tls-wrap): Add #:verify-certificate? parameter and honor it. (open-connection-for-uri): Likewise. (http-fetch): Likewise. (url-fetch): Likewise. * guix/download.scm (url-fetch)[builder]: Pass #:verify-certificate? #f. * guix/scripts/lint.scm (probe-uri): Add case for 'tls-certificate-error'. (validate-uri): Likewise. * doc/guix.texi (Invoking guix download): Mention 'SSL_CERT_DIR'.
2016-11-07Merge branch 'master' into core-updatesMark H Weaver
2016-11-06system: Add 'guix system' actions: switch-generation and roll-back.Chris Marusich
* guix/scripts/system.scm (roll-back-system, switch-to-system-generation): new actions. (reinstall-grub): New procedure, used by switch-to-system-generation. (show-help, process-command, guix-system): Honor the new actions. * doc/guix.texi (Invoking guix system) <switch-generation, roll-back>: Add the new actions. <reconfigure>: In the footnote, mention that the new actions also only work on GuixSD. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06system: Optionally limit the entries returned by profile-grub-entries.Chris Marusich
* guix/scripts/system.scm (profile-grub-entries): Add an optional parameter which allows the caller to limit the number of returned grub entries. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06system: Rename previous-grub-entries to profile-grub-entries.Chris Marusich
* guix/scripts/system.scm (previous-grub-entries, profile-grub-entries): Rename previous-grub-entries to profile-grub-entries to indicate that it is stateful and returns the entries for all profile generations, not just the previous ones. Update all callers. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06profiles: Extract a procedure for getting relative generation numbers.Chris Marusich
* guix/profiles.scm (relative-generation-spec->number): New procedure. * guix/scripts/package.scm (switch-generation-action): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06Merge branch 'master' into core-updatesMark H Weaver
2016-11-03import: cran: Fix off-by-one error.Ricardo Wurmus
* guix/import/cran.scm (package->upstream-name): Do not include leading slash in upstream name URL.
2016-11-02Merge branch 'master' into core-updatesLeo Famulari
2016-11-01guix: Update hackage mirror.Efraim Flashner
* guix/download.scm (%mirrors)[hackage]: Don't use https.
2016-11-01licenses: Export fdl1.2+.Marius Bakke
This is a follow-up to 59b2034787909cf7efa4e8d672a815b466d7d09d. * guix/licenses.scm (define-module): Export fdl1.2+.
2016-10-31download: Add Hackage mirrors.Federico Beffa
* guix/download.scm [%mirrors]: Add Hackage mirrors.
2016-10-30Merge branch 'master' into core-updatesLeo Famulari
2016-10-30system: Record store file system info in each generation.Chris Marusich
* gnu/system.scm (<boot-parameters>)[store-device, store-mount-point]: New fields. (read-boot-parameters): Initialize them. (operating-system-grub.cfg): Likewise. Remove STORE-FS argument from call to 'grub-configuration-file'. (operating-system-parameters-file): Add 'store' element in 'boot-parameters'. * gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter by 'mount-point'; adjust accordingly. Adjust callers. (<menu-entry>)[device, device-mount-point]: New fields. (eye-candy): Replace 'root-fs' parameter by 'store-device'; add 'store-mount-point'. Use keyword arguments for 'system' and 'port'. (grub-root-search): Remove 'root-fs' by 'device' and adjust accordingly. (grub-configuration-file): Remove 'store-fs' parameter. Adjust accordingly. * guix/scripts/system.scm (previous-grub-entries): Initialize 'device' and 'device-mount-point' fields from PARAMS. * doc/guix.texi (GRUB Configuration): Document 'device' and 'device-mount-point'. Explain that 'linux' can be prefixed by a GRUB device name. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-30profiles: manifest-lookup-package: Cosmetic changes.Ricardo Wurmus
* guix/profiles.scm (manifest-lookup-package): Rename variables; use "string=?" instead of "equal?".
2016-10-29Merge branch 'master' into core-updatesLeo Famulari
2016-10-28guix hash: Interpret '-' as standard input.Ludovic Courtès
* guix/scripts/hash.scm (guix-hash)[file-hash]: Special-case "-". * tests/guix-hash.sh: Add test. * doc/guix.texi (Invoking guix hash): Document it.
2016-10-26Merge branch 'master' into core-updatesLeo Famulari
2016-10-26guix package: Display generation diffs.Roel Janssen
* guix/ui.scm (display-profile-content-diff): New variable. * guix/scripts/package.scm (process-query): Use display-profile-content-diff. In collaboration with Benz Schenk.
2016-10-26import cran: Use URL for Bioconductor 3.4.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-svn-url): Update to release URL for version 3.4.
2016-10-23Merge branch 'master' into core-updatesMark H Weaver
2016-10-23import: pypi: All inputs are propagated-inputs by default.Hartmut Goebel
* guix/import/pypi.scm (maybe-inputs): Return inputs as "propagated-inputs".
2016-10-20gnu-maintenance: GNOME updater honors 'upstream-name' package property.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-gnome-release)[upstream-name]: New variable. Use it as the first argument to 'latest-ftp-release' and when constructing #:directory. * gnu/packages/gnome.scm (gconf)[properties]: New field. (network-manager)[properties]: New field.
2016-10-19Merge branch 'master' into core-updatesMark H Weaver
2016-10-19Use (ice-9 binary-ports) instead of (rnrs io ports).Ludovic Courtès
This reduces the closure of (guix ui) from 123 to 106 modules. * guix/derivations.scm: Use (ice-9 binary-ports) instead of (rnrs io ports). (map-derivation)[substitute-file]: Use 'read-string' instead of 'get-string-all'. * guix/ftp-client.scm: Likewise. * guix/hash.scm: Likewise. * guix/http-client.scm: Likewise. * guix/pki.scm (ensure-acl, current-acl): Likewise. * guix/scripts/archive.scm (authorize-key)[read-key]: Likewise. * guix/scripts/authenticate.scm (read-canonical-sexp) (read-hash-data): Likewise. * guix/scripts/download.scm: Likewise. * guix/scripts/offload.scm (register-gc-root, remove-gc-roots) (send-files): Likewise. * guix/scripts/publish.scm (lazy-read-file-sexp): Likewise. * guix/scripts/refresh.scm: Likewise. * guix/scripts/substitute.scm (check-acl-initialized): Likewise. * guix/serialization.scm (read-maybe-utf8-string): Likewise. * guix/scripts/hash.scm (guix-hash): Use 'force-output' instead of 'flush-output-port'. * guix/store.scm (process-stderr): Likewise. * guix/tests.scm: Likewise. * guix/utils.scm: Use (ice-9 binary-ports) and autoload (rnrs io ports) for 'make-custom-binary-input-port'.
2016-10-19lint: Suggest @code instead of quotes.Ludovic Courtès
* guix/scripts/lint.scm (%quoted-identifier-rx): New variable. (check-description-style)[check-quotes]: New procedure. Use it. * tests/lint.scm ("description: suggest ornament instead of quotes"): New test.
2016-10-17grafts: Remove unnecessary 'umask' call.Ludovic Courtès
This is a followup to d72267863382041b84a9712eea354882be72ef55. * guix/build/graft.scm (rewrite-directory): Remove 'umask' call.
2016-10-17grafts: Apply the right grafts in the presence of multiple outputs.Ludovic Courtès
Fixes <http://bugs.gnu.org/24712>. * guix/grafts.scm (cumulative-grafts): Add grafts for all the outputs of DRV. * tests/grafts.scm ("graft-derivation, replaced derivation has multiple outputs"): New test.
2016-10-17guix build: Add '--with-graft'.Ludovic Courtès
* guix/scripts/build.scm (transform-package-inputs/graft): New procedure. (%transformations): Add 'with-graft'. (%transformation-options): Likewise. (show-transformation-options-help): Document it. * tests/scripts-build.scm ("options->transformation, with-graft"): New test. * doc/guix.texi (Package Transformation Options): Document it.
2016-10-17guix build: Factorize transformation option parsing.Ludovic Courtès
* guix/scripts/build.scm (%transformation-options): Introduce 'parser' procedure and use it.
2016-10-17guix build: Extract '--with-input' replacement spec parsing.Ludovic Courtès
* guix/scripts/build.scm (evaluate-replacement-specs): New procedure. (transform-package-inputs)[not-equal]: Remove. [replacements]: Define in terms of 'evaluate-replacement-specs'.
2016-10-17Merge branch 'master' into core-updatesMark H Weaver
2016-10-16import: utils: Remove dependency on (json) module.Alex Kost
This fixes a regression introduced by commit fbe9c1012820ab72f022a6ec958c35b431ae7a74. * guix/import/utils.scm: Remove unused (json) module.