aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* import: cpan: Use our mirrors for 'https' URLs.Alex Sassmannshausen2016-07-03
| | | | | | | | * guix/import/cpan.scm (fix-source-url): New procedure. (cpan-module->sexp): Use it to construct our source-url. * tests/cpan.scm: Add tests for fix-source-url. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix: Support authentication when fetching from SVN.Ricardo Wurmus2016-07-03
| | | | | | | | * guix/svn-download.scm (<svn-reference>): Add fields for optional credentials. (svn-fetch): Pass credentials to build-side "svn-fetch". * guix/build/svn.scm (svn-fetch): Pass optional credentials to svn command.
* download: Update CPAN mirrors.Ludovic Courtès2016-07-02
| | | | | * guix/download.scm (%mirrors)[cpan]: Remove enstimac.fr, which seems dead; add ibcp.fr.
* download: Use basic authentication when userinfo is present in URI.David Thompson2016-06-29
| | | | | | | * guix/download.scm (url-fetch): Include (guix base64) module on the build-side. * guix/build/download.scm (http-fetch): Add "Authorization" header when userinfo is present in the URI.
* daemon: Rename 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'.David Craven2016-06-26
| | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/22459>. Reported by Jeff Mickey <j@codemac.net> and David Craven <david@craven.ch>. * nix/libstore/globals.cc (Settings::processEnvironment()): Change 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'. * nix/local.mk (libstore_a_CPPFLAGS): Likewise. * guix/config.scm.in (%config-directory): Likewise. * build-aux/test-env.in: Likewise. * gnu/packages/patches/hydra-automake-1.15.patch: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: pypi: do not fail when 'run_requires' is missing from the metadata.Cyril Roelandt2016-06-25
| | | | | * guix/import/pypi.scm (read-wheel-metadata): do not crash when 'run_requires' is missing from the metadata.
* guix: python-build-system: Change pypi-uri to use https://pypi.io.宋文武2016-06-25
| | | | | * guix/build-system/python.scm (pypi-uri): Use https://pypi.io. * gnu/packages/python.scm (python-twisted)[uri]: Remove https://pypi.io.
* utils: 'cache-directory' always appends "/guix".Ludovic Courtès2016-06-25
| | | | | | | | Fixes <http://bugs.gnu.org/23836>. Fixes a regression introduced in f10dcbf1a92c147a2fedba6f774afa6a7013fcdf. Reported by myglc2 <myglc2@gmail.com>. * guix/utils.scm (cache-directory): Always append "/guix".
* bournish: Add 'wc' command.Efraim Flashner2016-06-23
| | | | | | | | | * guix/build/bournish.scm (lines+chars, file-exists?*, wc-print) (wc-l-print, wc-c-print, wc-command, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): New procedures. (%commands): Add 'wc'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* substitute: Use ~/.cache when invoked by an unprivileged user.Ludovic Courtès2016-06-22
| | | | | | | | This is a followup to ea0c6e0507a6997f12a4f29d0445b51cf53bd81e. * guix/scripts/substitute.scm (%narinfo-cache-directory): Use 'cache-directory' when (getuid) returns non-zero. (cache-narinfo!): Remove 'catch'.
* utils: 'cache-directory' honors 'XDG_CACHE_HOME'.Ludovic Courtès2016-06-22
| | | | | * guix/utils.scm (cache-directory): Honor 'XDG_CACHE_HOME', not 'XDG_CONFIG_HOME'.
* build: emacs: Search for elisp in "share/emacs/site-lisp".Alex Kost2016-06-22
| | | | | | * guix/build/emacs-build-system.scm (emacs-inputs-el-directories): Add ".../share/emacs/site-lisp" directory to the returned result as elisp files can also be placed there.
* gexp: Use a relative file name.Ludovic Courtès2016-06-20
| | | | | | | This is a followup to cbbbb7be0fbaa11ff75bce92f2d82131ff8db104. * guix/gexp.scm (%utils-module): Use a file name relative to this file instead of using 'search-path'.
* utils: 'current-source-directory' gracefully handles lack of source info.Ludovic Courtès2016-06-20
| | | | | * guix/utils.scm (current-source-directory): Add case for when FILE-NAME is #f.
* utils: 'current-source-directory' resolves relative file names at run time.Ludovic Courtès2016-06-20
| | | | | | * guix/utils.scm (absolute-dirname): New procedure. (current-source-directory): Emit code to use it instead of calling 'search-path'.
* store: 'register-path' no longer swallows 'system-error' exceptions.Ludovic Courtès2016-06-20
| | | | * guix/store.scm (register-path): Do not catch 'system-error'.
* utils: 'current-source-directory' returns the absolute directory name.Ludovic Courtès2016-06-16
| | | | | * guix/utils.scm (current-source-directory): When FILE-NAME is relative, use 'search-path' to determine the absolute file name.
* utils: 'current-source-directory' is now purely an expansion-time thing.Ludovic Courtès2016-06-16
| | | | | * guix/utils.scm (extract-directory): Remove. (current-source-directory): Rewrite as a 'syntax-case' macro.
* packages: Disambiguate 'modules' and 'imported-modules' in <origin>.Ludovic Courtès2016-06-16
| | | | | | | | | | | | | The two mistakes made here (confusion between 'modules' and 'imported-modules') were canceling each other. * guix/packages.scm (patch-and-repack): Use IMPORTED-MODULES, not MODULES, as the base of the module list passed as #:modules to 'gexp->derivation'. (origin->derivation): Pass IMPORTED-MODULES, not MODULES, as the #:imported-modules argument of 'patch-and-repack'. * gnu/packages/engineering.scm (fastcap)[source]: Add 'imported-modules' field.
* gexp: Add #:select? parameter to 'local-file'.Ludovic Courtès2016-06-16
| | | | | | | | | * guix/gexp.scm (<local-file>)[select?]: New field. (true): New procedure. (%local-file): Add #:select? and honor it. (local-file): Likewise. * tests/gexp.scm ("local-file, #:select?"): New test. * doc/guix.texi (G-Expressions): Adjust accordingly.
* gexp: Move 'current-source-directory' to (guix utils).Ludovic Courtès2016-06-16
| | | | | | * guix/gexp.scm (extract-directory, current-source-directory): Move to... * guix/utils.scm (extract-directory, current-source-directory): ... here. New procedures.
* guix: Add downloader for Mercurial repositories.Ricardo Wurmus2016-06-15
| | | | | | * guix/build/hg.scm: New file. * guix/hg-download.scm: New file. * Makefile.am (MODULES): Add them.
* store: Add #:select? parameter to 'add-to-store'.Ludovic Courtès2016-06-15
| | | | | | | | | | * guix/store.scm (write-arg): Remove 'file' case. (true): New procedure. (add-to-store): Add #:select? parameter and honor it. Use hand-coded stub instead of 'operation'. (interned-file): Add #:select? parameter and honor it. * doc/guix.texi (The Store Monad): Adjust 'interned-file' documentation accordingly.
* packages: The 'source' can be any lowerable object.Ludovic Courtès2016-06-15
| | | | | | | | | | | * guix/packages.scm (expand-input): Use 'struct?' instead of 'origin?' when matching SOURCE. (package-source-derivation): Use 'lower-object' instead of 'origin->derivation'. * tests/packages.scm ("package-source-derivation, local-file"): New test. * doc/guix.texi (package Reference): Update 'source' documentation accordingly.
* packages: 'origin->derivation' expects an origin and nothing else.Ludovic Courtès2016-06-15
| | | | | | * guix/packages.scm (origin->derivation): Rename 'source' parameter to 'origin'. Move cases where SOURCE is a string to... (package-source-derivation): ... here.
* packages: Recognize the '.Z' extension.Ludovic Courtès2016-06-15
| | | | | | Reported by thomasd on #guix. * guix/packages.scm (patch-and-repack)[decompression-type]: Add "Z".
* import: pypi: read requirements from wheels.Cyril Roelandt2016-06-14
| | | | | | | | * doc/guix.tex (Invoking guix import): Mention that the pypi importer works better with "unzip". * guix/import/pypi.scm (latest-wheel-release, wheel-url->extracted-directory): New procedures. * tests/pypi.scm (("pypi->guix-package, wheels"): New test.
* utils: 'with-atomic-file-output' closes the port upon exception.Ludovic Courtès2016-06-13
| | | | | | Previously it could have left the file descriptor open. * guix/utils.scm (with-atomic-file-output): Call 'close-port' in handler.
* syscalls: Use 'syscall->procedure' everywhere.Ludovic Courtès2016-06-13
| | | | | * guix/build/syscalls.scm (mkdtemp!, setns, %ioctl, network-interfaces): (free-ifaddrs): Use 'syscall->procedure'.
* utils: 'with-atomic-file-output' calls 'fdatasync'.Ludovic Courtès2016-06-13
| | | | | | | | | Suggested by Danny Milosavljevic <dannym@scratchpost.org> at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00456.html>. * guix/build/syscalls.scm (fdatasync): New procedure. * guix/utils.scm (with-atomic-file-output): Use it. Use 'close-port' instead of 'close'.
* serialization: Add #:select? parameter to 'write-file'.Ludovic Courtès2016-06-12
| | | | | * guix/serialization.scm (write-file): Add #:select? parameter and honor it. * tests/nar.scm ("write-file #:select? + restore-file"): New test.
* profiles: Make sure hook derivations fail upon error.Ludovic Courtès2016-06-12
| | | | | | | | | | | Reported at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00368.html>. * guix/profiles.scm (info-dir-file)[build]: Add explicit call to 'exit'. * guix/profiles.scm (ghc-package-cache-file)[build]: Likewise. * guix/profiles.scm (xdg-desktop-database)[build]: Likewise. * guix/profiles.scm (xdg-mime-database)[build]: Likewise.
* profiles: manifest-lookup-package: Correctly handle package entries.宋文武2016-06-11
| | | | | * guix/profiles.scm (manifest-lookup-package): Consider the package entry in addition to its 'package-transitive-inputs'.
* profiles: xdg-mime-database: Union the "share/mime/packages" directory.宋文武2016-06-11
| | | | | * guix/profiles.scm (xdg-mime-database): Call 'union-build' for the "share/mime/packages" directory of inputs.
* publish: Add '--ttl'.Ludovic Courtès2016-06-09
| | | | | | | | * guix/scripts/publish.scm (show-help, %options): Add --ttl. (render-narinfo): Add #:ttl and honor it. (make-request-handler): Add #:narinfo-ttl and honor it. (run-publish-server): Likewise. (guix-publish): Honor --ttl, pass it to 'run-publish-server'.
* ui: 'string->duration' supports hours and seconds.Ludovic Courtès2016-06-09
| | | | | * guix/ui.scm (string->duration): Add seconds and hours. * tests/ui.scm ("duration, 1 second"): New test.
* publish: Encore URIs that appear in narinfos.Ludovic Courtès2016-06-08
| | | | | | | | | | Fixes <http://bugs.gnu.org/21888>. Reported by iyzsong@member.fsf.org (宋文武). * guix/scripts/publish.scm (narinfo-string): Use 'encode-and-join-uri-path' instead of 'string-append' to compute URL. * tests/publish.scm ("/*.narinfo with properly encoded '+' sign"): ("/nar/ with properly encoded '+' sign"): New tests.
* gnu-maintenance: Replace 'find-packages' with 'find-package' (singular).Ludovic Courtès2016-06-08
| | | | | | | | | | Fixes <http://bugs.gnu.org/23718>. Reported by Efraim Flashner <efraim@flashner.co.il>. * guix/gnu-maintenance.scm (find-packages): Remove. (find-package): New procedure. * guix/import/gnu.scm (gnu->guix-package): Use 'find-package' instead of 'find-packages' and adjust accordingly.
* bournish: Allow compilation of multiple expressions.Ludovic Courtès2016-06-06
| | | | | | | * guix/build/bournish.scm (%bournish-language): Add a joiner to SCHEME. Compile only to Scheme. * tests/bournish.scm: New file. * Makefile.am (SCM_TESTS): Add it.
* bournish: Handle EOF in the reader.Ludovic Courtès2016-06-06
| | | | * guix/build/bournish.scm (read-bournish): Add case for EOF.
* profiles: 'profile-derivation' now honors #:system.Ludovic Courtès2016-06-05
| | | | | | | | | Fixes <http://bugs.gnu.org/23682>. Reported by Ander GM <anthk@openmailbox.org>. * guix/profiles.scm (profile-derivation): Pass #:system to 'gexp->derivation'. * tests/guix-environment.sh: Add 'guix environment -s' test.
* import: github: Tiny cosmetic change.Ludovic Courtès2016-05-31
| | | | * guix/import/github.scm (find-extension): Use a one-argument lambda.
* import github: Add to extension list.Efraim Flashner2016-05-31
| | | | * guix/import/github.scm (find-extension): Add '.tgz' extension.
* offload: Use (guix build syscalls).Ludovic Courtès2016-05-31
| | | | | | This is a followup to 4e0ea3eb288c2143b44bf324c64047762c72d3b3. * guix/scripts/offload.scm: Use (guix build syscalls).
* download: Update CPAN mirrors.Efraim Flashner2016-05-31
| | | | * guix/download.scm (mirrors)[cpan]: Add to mirror list.
* build: emacs: Handle sources that are a single elisp file.David Thompson2016-05-30
| | | | | | * guix/build/emacs-build-system.scm (gnu:unpack) (store-file->elisp-source-file, unpack): New procedures. (%standard-phases): Use the new unpack procedure.
* download: Update Sourceforge mirrors.Efraim Flashner2016-05-30
| | | | * guix/download.scm (mirrors)[sourceforge]: Update mirror list.
* cve: Use a more compact format for the list of package/versions.Ludovic Courtès2016-05-28
| | | | | | | | | | | | | | | | On a warm cache, "guix lint -c cve vorbis-tools" goes down from 6.5s to 2.4s. * guix/cve.scm (cpe->package-name): Change to return two values instead of a pair. (cpe->product-alist): New procedure. (%parse-vulnerability-feed): Use it instead of 'filter-map'. (fetch-vulnerabilities): Bump sexp format version to 1. (vulnerabilities->lookup-proc): Adjust accordingly. When #:version is omitted, return a list of vulnerabilities instead of a list of version/vulnerability pairs. * tests/cve.scm (%expected-vulnerabilities) ("vulnerabilities->lookup-proc): Adjust accordingly.
* guix package: Inherit the transformed version number.Ludovic Courtès2016-05-27
| | | | | | | | | | | Previously, 'guix package -i emacs --with-source=./emacs-42.tar.gz' would fail to use "42" as the version number in the manifest entry. Reported by piyo on #guix. * guix/scripts/package.scm (process-actions)[transform-entry]: Inherit the version number from the result of TRANSFORM when it's a package. * tests/guix-package.sh: Test it.
* download: Default to a 10s connection establishment timeout.Ludovic Courtès2016-05-27
| | | | | | | | * guix/build/download.scm (ftp-fetch): Add #:timeout and pass it to 'ftp-open'. (http-fetch): Add #:timeout and pass it to 'open-connection-for-uri' and in recursive calls. (url-fetch): Add #:timeout and pass it to 'http-fetch' and 'ftp-fetch'.