Age | Commit message (Expand) | Author |
2017-06-16 | syscalls: Add 'scandir*'....* guix/build/syscalls.scm (%struct-dirent-header): New C struct.
(string->pointer/utf-8, pointer->string/utf-8): New procedures.
(opendir*, closedir*, readdir*, scandir*): New procedures.
* tests/syscalls.scm ("scandir*, ENOENT")
("scandir*, ASCII file names", "scandir*, UTF-8 file names")
("scandir*, properties): New tests.
| Ludovic Courtès |
2017-06-15 | build-system: Add 'texlive-build-system'....* guix/build-system/texlive.scm: New file.
* guix/build/texlive-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables.
(texlife-ref): Remove procedure.
| Ricardo Wurmus |
2017-06-11 | build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2....Fixes <http://bugs.gnu.org/27303>.
Reported by Leo Famulari <leo@famulari.name>.
* guix/build/gnu-build-system.scm (time-monotonic) [guile-2.2]: Define.
| Ludovic Courtès |
2017-06-10 | Merge branch 'master' into core-updates | Marius Bakke |
2017-06-08 | build-system: emacs: Factorize include/exclude default arguments....The `install' phase of the emacs-build-system contained default arguments
duplicated from the host side `emacs-build' procedure. This change factorizes
them so that:
1. They are not duplicated.
2. They can be reused and extended easily when defining emacs packages.
* guix/build/emacs-build-system.scm (%default-include, %default-exclude): New
variables.
(install): Use %default-include and %default-exclude as default arguments.
* guix/build-system/emacs.scm: Use and re-export %default-include,
%default-exclude from (guix build emacs-build-system).
(emacs-build): Use %default-include and %default-exclude as default arguments.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Maxim Cournoyer |
2017-06-03 | Merge branch 'master' into core-updates... Conflicts:
gnu/packages/image.scm
(incorporated libtiff graft)
| Marius Bakke |
2017-06-02 | syscalls: Provide 'free-disk-space'....* guix/build/syscalls.scm (free-disk-space): New procedure.
* guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of
'statfs'.
| Ludovic Courtès |
2017-06-01 | utils: Add helper for invoking programs....* guix/build/utils.scm (invoke): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Danny Milosavljevic |
2017-05-31 | build: font: Support font collection files....* guix/build/font-build-system.scm (install): Support TrueType
Collection (TTC) and OpenType Collection (OTC) files.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Alex Griffin |
2017-05-30 | build-system/gnu: 'compress-documentation' phase handles double symlinks....The compress-documentation phase was breaking recursive symbolic links used
for manuals, which was made visible by the `find-files' call in the recently
added `manual-database' profile hook. See <http://bugs.gnu.org/26771>.
* guix/build/gnu-build-system.scm (compress-documentation)
[points-to-symbolic-link?]: New procedure.
[maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out
symbolic links that shouldn't be retargetted, and re-order the calls to
`retarget-symlink' and `documentation-compressor'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2017-05-30 | build-system/cmake: Add support for cross compilation....Fixes <https://bugs.gnu.org/26897>.
* guix/build-system/gnu.scm: Export standard-cross-packages.
* guix/build-system/cmake.scm (cmake-cross-build): New procedure.
(lower): Add support for cross-builds.
* guix/build/cmake-build-system.scm (configure): Handle "target" argument.
| Ricardo Wurmus |
2017-05-30 | download: Work around GnuTLS bug with UTF-8 certificate file names....Reported by Mark H Weaver <mhw@netris.org>
at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26948#17>.
* guix/build/download.scm (set-certificate-credentials-x509-trust-file!*):
New procedure.
(make-credendials-with-ca-trust-files): Use it instead of
'set-certificate-credentials-x509-trust-file!'.
| Ludovic Courtès |
2017-05-28 | syscalls: Add 'thread-name' and 'set-thread-name'....* guix/build/syscalls.scm (PR_SET_NAME, PR_GET_NAME)
(%max-thread-name-length): New variables.
(%prctl, set-thread-name, thread-name): New procedures.
* tests/syscalls.scm ("set-thread-name"): New test.
| Ludovic Courtès |
2017-05-28 | build-system: Add 'font-build-system'....* Makefile.am (MODULES): Add 'guix/build-system/font.scm' and
'guix/build/font-build-system.scm'.
* guix/build-system/font.scm: New file.
* guix/build/font-build-system.scm: New file.
* doc/guix.texi (Build Systems): Add 'font-build-system'.
| Arun Isaac |
2017-05-27 | Merge branch 'master' into core-updates | Mark H Weaver |
2017-05-26 | utils: Re-export 'delete'....* guix/build/utils.scm: Reexport 'delete' binding.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Sergei Trofimovich |
2017-05-25 | pull: Catch '&missing-dependency-error' raised by 'source-module-closure'....Fixes <http://bugs.gnu.org/26987>.
Reported by Mathieu Othacehe <m.othacehe@gmail.com>.
* guix/build/pull.scm (depends-on-guile-ssh?): Remove.
(has-all-its-dependencies?): New procedure.
(build-guix): Use it to filter source files.
| Ludovic Courtès |
2017-05-23 | build-system: emacs: Install only a subset of files....* guix/build/emacs-build-system.scm (install): Install files matching
#:include while excluding files matching #:exclude.
* guix/build-system/emacs.scm (emacs-build): Add keyword arguments #:include
and #:exclude.
| Arun Isaac |
2017-05-23 | build: emacs: Fix `store-file->elisp-source-file'....This prevents a ".el.el" extension for source files with no version number in
their file name.
* guix/build/emacs-build-system.scm (store-file->elisp-source-file): Remove
".el" extension from file name before splitting to name and version.
| Arun Isaac |
2017-05-18 | union: Gracefully handle dangling symlinks in the input....Fixes <http://bugs.gnu.org/26949>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
* guix/build/union.scm (file-is-directory?): Return #f when FILE does
not exist or is a dangling symlink.
(file=?): Pass #f as a second argument to 'stat'; return #f when both
ST1 or ST2 is #f.
* tests/profiles.scm (test-equalm): New macro.
("union vs. dangling symlink"): New test.
| Ludovic Courtès |
2017-05-16 | build-system/asdf: Handle tests defined in external systems....* guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument.
[builder]: Pass it to the build system.
(package-with-build-system)[transform]: Strip it from source systems' arguments.
* guix/build/asdf-build-system.scm (check): Pass the fully qualified path to
it on to the test-system procedure.
* guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of
the often used names for it, before running the tests. Adjust the docstring
accordingly.
| Andy Patterson |
2017-05-16 | build-system/asdf: Retain references to source files for binary outputs....In support of long-running programs in which the users would like to be able
to jump to the source of a definition of any of the dependencies (itself
included) of the program.
* guix/build/asdf-build-system.scm (library-outputs): Move from here ...
* guix/build/lisp-utils.scm (library-outputs): ... to here.
(build-program): Accept dependency-prefixes argument, to allow the caller to
specify references which should be retained. Default to the library's output.
(build-image): Likewise.
(generate-executable): Likewise.
* gnu/packages/lisp.scm (sbcl-stumpwm+slynk, sbcl-slynk, sbcl-stumpwm): Adjust
accordingly to the new interface.
(sbcl-stumpwm+slynk)[native-inputs]: Move to ...
[inputs]: ... here.
| Andy Patterson |
2017-05-16 | build-system/asdf: Simplify the use of lisp-eval-program....Accept a list of statements, each run within its own `--eval' argument. This
allows statements to use reader package namespacing after a package has been
loaded.
* guix/build/lisp-utils.scm (spread-statements): New procedure.
(lisp-invoke): Rename to ...
(lisp-invocation): ... this. Use spread-statements. Change interface to accept
list of statements instead of a single statement.
(asdf-load-all-systems): Simplify returned statements.
(compile-system): Simplify the program passed to `lisp-eval-program'.
(test-system): Likewise.
(generate-executable-for-system): Likewise. Accept the full symbol describing
the asdf operation to use.
(generate-executable): Document the change.
(build-program, build-image): Use the new interface.
| Andy Patterson |
2017-05-16 | build-system/asdf: Handle unusually-named systems....* guix/build/lisp-utils.scm (valid-char-set): New variable.
(normalize-string): New procedure.
(compiled-system): Truncate the name of a system which contains slashes.
(generate-system-definition, make-asd-file): Use `normalize-string' to alter
the names of the created system and its dependencies.
* guix/build/asdf-build-system.scm (create-asd-file): Normalize the name of
the asd file being created.
| Andy Patterson |
2017-05-16 | build-system/asdf: Always pre-load the system's definition file....* guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default
`#:asd-file' argument to the build procedure, using the system's name.
* guix/build/asdf-build-system.scm (build, check): Adjust to assume that
`asd-file' will always be a string.
* guix/build/lisp-utils.scm (compile-system, system-dependencies)
(test-system): Likewise.
| Andy Patterson |
2017-05-16 | build-system/asdf: Pass the system name as an argument to the builder....* guix/build-system/asdf.scm (asdf-build): Use the user-defined system name,
or calculate it from the package's full name.
[builder]: Pass the value along to the build procedure.
(package-with-build-system): Remove #:asd-system-name from source packages'
arguments.
* guix/build/asdf-build-system.scm: Adjust accordingly.
* guix/build/lisp-utils.scm (remove-lisp-from-name): Delete variable.
| Andy Patterson |
2017-05-16 | build-system/asdf: Parameterize the lisp type and implementation globally....* guix/build-system/asdf.scm (asdf-build)[builder]: Parameterize %lisp-type
and %lisp before invoking the build procedure. Don't pass #:lisp-type as an
argument to said procedure.
* guix/build/asdf-build-system.scm: Adjust accordingly.
(source-install-prefix): Rename to %lisp-source-install-prefix.
* guix/build/lisp-utils.scm: Adjust accordingly.
(%lisp-type): New parameter.
(bundle-install-prefix): Rename to %bundle-install-prefix.
* gnu/packages/lisp.scm: Adjust accordingly.
| Andy Patterson |
2017-05-16 | build-system/asdf: Make #:lisp a package argument....* guix/build-system/asdf.scm (lower): Change argument name to `lisp-type'.
(asdf-build): Change argument name to `lisp-type'. Remove `lisp' as an
argument to the returned procedure. Change the argument passed to build
phases to `lisp-type'.
* guix/build/asdf-build-system.scm (copy-source, build, check)
(create-asd-file, symlink-asd-files, cleanup-files, strip): Respect
`lisp-type` argument.
* gnu/packages/lisp.scm (sbcl-stumpwm, sbcl-stumpwm+slynk): Likewise.
| Andy Patterson |
2017-05-16 | build-system/asdf: Keep ecl's generated archive files....This may be necessary to produce programs or images with ecl.
* guix/build/asdf-build-system.scm (cleanup-files): Don't delete .a files.
| Andy Patterson |
2017-05-16 | build-system/asdf: Use asdf to determine dependencies....This removes the need for conventions to determine which inputs are run-time
dependencies, and also the need to specify "special" dependencies.
* guix/build/lisp-utils.scm (patch-asd-file, lisp-dependencies)
(wrap-perform-method): Remove them.
(inputs->asd-file-map, system-dependencies, generate-system-definition)
(generate-dependency-links, make-asd-file): New procedures.
(lisp-eval-program): Add an error if no lisp matches.
(compile-system): Don't use asdf's in-built asd-file generator.
| Andy Patterson |
2017-05-16 | build-system/asdf: Make it possible to use "lib" as the build output....* guix/build/asdf-build-system.scm (library-output): New procedure.
(copy-source, build, check, patch-asd-files, symlink-asd-files)
(cleanup-files): Use it.
(copy-files-to-output): Rework to take an output instead of an outputs and
string pair.
(install, copy-source): Use the new method.
| Andy Patterson |
2017-05-16 | build-system/asdf: Rename %install-prefix to %source-install-prefix....* guix/build/lisp-utils.scm (%install-prefix): Rename to
%source-install-prefix.
(build-install-prefix): Use it.
* guix/build/asdf-build-system.scm (source-install-prefix)
(%system-install-prefix, source-directory, copy-source): Likewise.
| Andy Patterson |
2017-05-13 | bournish: 'ls' adjusts the column width depending on the entries....* guix/build/bournish.scm (display-tabulated): Remove #:columns and
#:column-width parameters. Add #:terminal-width and #:column-gap.
Compute COLUMN-WIDTH and COLUMNS.
| Ludovic Courtès |
2017-05-13 | bournish: 'ls' lists directory contents....Suggested by Ricardo Wurmus.
* guix/build/bournish.scm (ls-command-implementation): When FILE is a
directory, list its contents rather than FILE itself.
| Ludovic Courtès |
2017-05-10 | guix: Add java-utils....* guix/build/java-utils.scm: New file.
* guix/build-system/ant.scm: Use it.
* Makefile.am (MODULES): Add it.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
| Hartmut Goebel |
2017-05-10 | ant-build-system: Add default "check" target....* guix/build-system/ant.scm (ant-build): Change default test target to
"check"; add "test-dir" argument.
* guix/build/ant-build-system.scm (default-build.xml): Add "test-dir"
argument; add ant targets "compile-tests" and "check".
(configure): Add "test-dir" argument; pass it to "default-build.xml".
| Ricardo Wurmus |
2017-05-10 | ant-build-system: Allow specifying source directory....* guix/build-system/ant.scm (ant-build),
guix/build/ant-build-system.scm (default-build.xml): Add parameter
source-dir.
* guix/build/ant-build-system.scm (configure): Pass source-dir on to
default-build.xml.
* doc/guix.texi (Build Systems): Document it.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
| Hartmut Goebel |
2017-05-09 | pull: Build package modules without optimizations on Guile 2.2....* guix/build/pull.scm (%default-optimizations)
(%lightweight-optimizations): New variables.
(optimization-options): New procedure. Taken from
build-aux/compile-all.scm.
(build-guix): Pass it to 'compile-file'.
| Ludovic Courtès |
2017-05-09 | pull: Build with the matching Guile major version....Previously, 'guix pull' would always build with Guile 2.0.
Now it builds with the Guile that matches (effective-version).
* build-aux/build-self.scm (false-if-wrong-guile)
(package-for-current-guile): New procedures.
(guile-json, guile-ssh): Use it.
(guile-for-build): New procedure.
(build): Use (effective-version) instead of the hard-coded "/2.0".
Add (guix modules) closure to #:modules argument. Pass
\#:guile-for-build argument to 'gexp->derivation'.
* guix/build/pull.scm (depends-on-guile-ssh?, all-scheme-files): New
procedures.
(build-guix): Show the output of (version). Use the above procedures.
Filter out files that match 'depends-on-guile-ssh?' when (ssh session)
is missing.
| Ludovic Courtès |
2017-05-02 | download: Continue handshake upon TLS warning alerts....This allows us to download from site such as
<https://fusionforge.int-evry.fr> where the server does not recognize
the server name passed via the 'server_name' extension.
* guix/build/download.scm (tls-wrap): Catch 'gnutls-error' around
'handshake'. Upon ERROR/WARNING-ALERT-RECEIVED, print a message and
call 'handshake'.
| Ludovic Courtès |
2017-04-22 | cache: Work around 'time-monotonic' bug in Guile 2.2.2....* guix/cache.scm (time-monotonic) [guile-2.2]: New variable.
* tests/cache.scm (time-monotonic) [guile-2.2]: Likewise.
* guix/build/download.scm (time-monotonic) [guile-2.2]: Adjust comment:
it's a 2.2.2 bug.
| Ludovic Courtès |
2017-04-22 | download: Work around Guile 2.2 bug with 'time-monotonic' objects....* guix/build/download.scm (time-monotonic) [guile-2.2]: New variable.
| Ludovic Courtès |
2017-04-14 | build-system/cargo: Remove store reference....* guix/build/cargo-build-system.scm (generate-checksums): Remove store
reference from comment. This comment was matching
assert-no-store-file-names regexp in Makefile.am.
Also, edit procedure docstring to precise that DIR-NAME is a store
directory.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Add load-linux-module....* guix/build/syscalls.scm (load-linux-module): New procedure. Reimplemented
from guile-linux-syscalls.patch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Use define-as-needed for network-interface syscalls....* guix/build/syscalls.scm (network-interface-flags): Use define-as-needed macro
and remove from export list.
(set-network-interface-flags): Ditto.
(set-network-interface-address): Ditto.
(IFF_UP, IFF_BROADCAST and IFF_LOOPBACK): Ditto.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Use define-as-needed for mount and umount....* guix/build/syscalls.scm (mount): Use define-as-needed macro
and remove from export list.
(umount): Ditto.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-11 | syscalls: Add reboot....* guix/build/syscalls.scm (define-as-needed): New macro.
(reboot): New procedure. Reimplemented from guile-linux-syscalls.patch.
(RB_AUTOBOOT, ..., RB_KEXEC): New flags copied from static Guile patch.
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-07 | syscalls: Allow mount and umount use from static Guile....* guix/build/syscalls.scm (mount): Use Guile core mount if called from
static Guile, otherwise use FFI based mount implementation.
(umount): Ditto.
This allows to use (guix build syscalls) from a module independently
of calling context.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-04-07 | profiles: Slightly improve the instructions in 'etc/profile'....* guix/build/profiles.scm (build-etc/profile): Fix typo in comment.
Add backslash in the generated shell comment.
| Ludovic Courtès |
2017-03-30 | Merge branch 'master' into core-updates...Most conflicts are from 6fd52309b8f52c9bb59fccffac53e029ce94b698.
| Marius Bakke |