aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* build-system/perl: Use Build.PL for builds if present.Eric Bavier2015-02-18
| | | | | | | | | | * guix/build/perl-build-system.scm (configure): Use Build.PL if present. (build, check, install): New procedures. (%standard-phases): Replace build, check, and install phases. * guix/build-system/perl (perl-build): Add make-maker? and module-build-flags arguments. * doc/guix.texi (Build Systems)[perl-build-system]: Document behavior rsp. Build.PL and new arguments.
* build: Add 'waf-build-system'.Ricardo Wurmus2015-02-08
| | | | | | | * guix/build-system/waf.scm, guix/build/waf-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document waf-build-system.
* Add support for 'cvs-fetch' method in origins.Mark H Weaver2015-02-04
| | | | | * guix/cvs-download.scm, guix/build/cvs.scm: New files. * Makefile.am (MODULES): Add them.
* build-system/glib-or-gtk: Add MIME directories to $XDG_DATA_DIRS.Ludovic Courtès2015-01-23
| | | | | | | Fixes an Evince regression introduced in commit 3d243e9. * guix/build/glib-or-gtk-build-system.scm (data-directories): Check the /mime sub-directory.
* Merge branch 'master' into core-updatesMark H Weaver2015-01-13
|\
| * build/glib-or-gtk-build-system: Fix 'generate-icon-cache'.Federico Beffa2015-01-13
| | | | | | | | | | | | | | Reported by Mark H Weaver <mhw@netris.org> * guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for existence of icons directory.
| * guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming.Federico Beffa2015-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/glib-or-gtk-build-system.scm (data-directories): Rename 'schemas-directories' to 'data-directories' and add support for XDG theming data. * guix/build/glib-or-gtk-build-system.scm (gio-module-directories): New function. * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Update names to reflect that we are dealing with more types of data and not only with schemas. Add handling of GIO modules. * guix/build-system/glib-or-gtk.scm (lower): Import the 'bin' output of GLib instead of 'out'. This was an error since we need the program 'glib-compile-schemas'. Update the description.
* | build-system/gnu: Patch /usr/bin/file in all 'configure' files.Ludovic Courtès2015-01-09
| | | | | | | | | | | | | | | | * guix/build/utils.scm (patch-/usr/bin/file): New procedure. * guix/build/gnu-build-system.scm (patch-usr-bin-file): Rewrite using it. Patch all the files returned by 'find-files' that are executable. * gnu/packages/gawk.scm (gawk)[arguments]: Remove use of 'substitute*' for 'extension/configure'.
* | Merge branch 'master' into core-updatesMark H Weaver2015-01-06
|\|
| * linux-boot: Make /etc/mtab a symlink to /proc/self/mounts.宋文武2015-01-05
| | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19491>. * gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab a symlink to /proc/self/mounts. * gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab. * guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to #f.
* | build-system/gnu: Use executables from the target inputs in 'patch-shebangs'.Ludovic Courtès2015-01-04
| | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18895>. * guix/build/gnu-build-system.scm (patch-shebangs): Add #:inputs parameter. Remove 'bindirs'. Add 'bin-directories', 'output-bindirs', and 'input-bindirs'. Use them instead of (getenv "PATH") to as the argument to 'patch-shebang'.
* | Merge branch 'master' into core-updatesMark H Weaver2014-12-30
|\|
| * download: Export 'maybe-expand-mirrors'.Ludovic Courtès2014-12-29
| | | | | | | | | | | | * guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New procedures. (url-fetch): Remove them from here.
| * lint: Add 'home-page' checker.Ludovic Courtès2014-12-28
| | | | | | | | | | | | * guix/build/download.scm (open-connection-for-uri): Export. * guix/scripts/lint.scm (probe-uri, check-home-page): New procedures. (%checkers): Add 'home-page' checker.
* | gnu: Revert use of '--strip-all'.Ludovic Courtès2014-12-29
| | | | | | | | | | | | | | | | This reverts commits f05bdc9412135f34a1c417edc203c35cd005d0d5 and 856ae5e6c71a1283a414d33e638051f95d3cce35. This broke all sorts of things. See <http://hydra.gnu.org/eval/102058>, for example.
* | gnu: Don't use --strip-all in cases where this is problematic.Ludovic Courtès2014-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to 856ae5e. See <http://hydra.gnu.org/build/180506> for an example of build failure. * guix/build/gnu-build-system.scm (strip): Add #:archive-strip-flags parameter. Use it when (ar-file? path). * guix/build-system/gnu.scm (gnu-build): Add #:archive-strip-flags parameter and pass it down. * gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add #:strip-flags. * gnu/packages/base.scm (glibc)[arguments]: Likewise.
* | utils: Export 'search-path-as-list'.Ludovic Courtès2014-12-27
| | | | | | | | | | * guix/build/utils.scm (search-path-as-list): Make public. * guix/scripts/environment.scm (for-each-search-path): Use it.
* | build-support/gnu: Add support for file patterns in search paths.Ludovic Courtès2014-12-27
| | | | | | | | | | | | | | | | | | * guix/build/utils.scm (search-path-as-list): Add #:pattern parameter and honor it. (set-path-environment-variable): Likewise, and pass it to 'search-path-as-list'. * guix/packages.scm (search-path-specification->sexp): Add PATTERN slot. * guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.
* | build-system/gnu: Strip with '--strip-all' instead of '--strip-debug'.Ludovic Courtès2014-12-27
| | | | | | | | | | | | | | | | | | | | This saves 19% on the 'bin' directory of Coreutils, and certainly helpful for things like Git's 'libexec' directory. * guix/build-system/gnu.scm (gnu-build): Change default value for #:strip-flags to '("--strip-all"). * guix/build/gnu-build-system.scm (strip): Ditto. * gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.
* | build-system/gnu: Add support for non-directory search paths.Ludovic Courtès2014-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/18033>. * guix/build/utils.scm (search-path-as-list): Rename 'sub-directories' parameter to 'files'. Add #:type parameter and honor it. (set-path-environment-variable): Likewise. Pass #:type to 'search-path-as-list'. * guix/packages.scm (search-path-specification->sexp): Add 'directory as the last item of the tuple. * guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path pattern. Pass #:type to 'set-path-environment-variable'.
* | Merge branch 'master' into core-updatesLudovic Courtès2014-12-26
|\|
| * syscalls: Add more procedures for network interfaces.Ludovic Courtès2014-12-19
| | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types, read-type, read-types, define-c-struct): New macros. (SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables. (sockaddr-in, sockaddr-in6): New C structs. (write-socket-address!, read-socket-address, set-network-interface-flags, set-network-interface-address, network-interface-address, configure-network-interface): New procedures.
| * build/python-build-system: Fix easy-install.pth collisions.Federico Beffa2014-12-18
| | | | | | | | | | * guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file phase and corresponding function.
* | Merge branch 'master' into 'core-updates'.Ludovic Courtès2014-12-14
|\|
| * build: emacs-utils: Add 'emacs-generate-autoloads'.Alex Kost2014-12-02
| | | | | | | | * guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
| * build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.Ludovic Courtès2014-12-01
| | | | | | | | | | | | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add #:glib-or-gtk-wrap-excluded-outputs parameter and honor it. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER. * doc/guix.texi (Build Systems): Mention it.
| * build-system/glib-or-gtk: Correctly handle multiple-output packages.Ludovic Courtès2014-12-01
| | | | | | | | | | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body to 'handle-output' inner procedure, and parametrize it by output name and directory. Call it for each element of OUTPUTS. (compile-glib-schemas): Likewise.
| * build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.Ludovic Courtès2014-12-01
| | | | | | | | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use 'for-each' instead of 'map' in for-effect contexts. Use 'cut' instead of 'lambda' when appropriate.
| * build-system/glib-or-gtk: Clean up whitespace.Ludovic Courtès2014-12-01
| | | | | | | | * guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.
* | utils: Change 'wrap-program' to preserve the original argv[0].Ludovic Courtès2014-12-14
| | | | | | | | | | | | | | | | Suggested by Mark H Weaver <mhw@netris.org> in <http://bugs.gnu.org/19138>. * guix/build/utils.scm (wrap-program): Change wrapper to use "exec -a PROG" instead of just "exec".
* | utils: Change 'patch-makefile-SHELL' to support ":=" assignments.Ludovic Courtès2014-12-13
| | | | | | | | | | | | | | Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/build/utils.scm (patch-makefile-SHELL): Update regexp to match ":=" assignments.
* | utils: Use 'which' to find the shell in 'patch-makefile-SHELL'.Ludovic Courtès2014-12-13
| | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'.
* | build-system/gnu: Add 'compress-documentation' phase.Ludovic Courtès2014-12-01
| | | | | | | | | | | | * guix/build/gnu-build-system.scm (compress-documentation): New procedure. (%standard-phases): Add it.
* | utils: Add 'symbolic-link?'.Ludovic Courtès2014-12-01
| | | | | | | | * guix/build/utils.scm (symbolic-link?): New procedure.
* | build-system/gnu: Add 'validate-documentation-location' phase.Ludovic Courtès2014-12-01
| | | | | | | | | | | | * guix/build/gnu-build-system.scm (validate-documentation-location): New procedure. (%standard-phases): Add it.
* | utils: Improve docstring of 'substitute*' & co.Taylan Ulrich Bayırlı/Kammer2014-11-26
| | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (substitute): Clarify first sentence of docstring and add warning to the docstring about using '$' to match an end of line. (substitute*): Add warning to the docstring about using '$' to match an end of line. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.Ludovic Courtès2014-11-24
| | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (strip): Check whether 'file-exists?' before calling 'elf-file?' and 'ar-file?'. This should fix build failures in the presence of dangling symlinks, as in <http://hydra.gnu.org/build/167521/nixlog/1/raw>.
* | utils: 'elf-file?' and 'ar-file?' return #f for directories.Ludovic Courtès2014-11-23
| | | | | | | | | | | | | | | | | | This avoids uncaught exceptions when the 'strip' phase would call these procedures on symlinks to directories, such as 'lib/terminfo' in ncurses (see <http://hydra.gnu.org/build/167310/nixlog/1/tail-reload>.) * guix/build/utils.scm (file-header-match): Catch 'system-error', and return #f upon EISDIR.
* | utils: Turn 'parallel-job-count' into a parameter.Ludovic Courtès2014-11-22
| | | | | | | | * guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter.
* | build-system/gnu: Strip 'ar' archives as well.Ludovic Courtès2014-11-22
| | | | | | | | | | * guix/build/gnu-build-system.scm (strip): Also strip when (ar-file? PATH) is true.
* | utils: Factorize magic bytes detection.Ludovic Courtès2014-11-22
| | | | | | | | | | | | * guix/build/utils.scm (file-header-match): New procedure. (%elf-magic-bytes): New variable. (elf-file?, ar-file?): Define using 'file-header-match'.
* | utils: Add 'ar-file?'.Ludovic Courtès2014-11-22
| | | | | | | | | | * guix/build/utils.scm (%ar-magic-bytes): New variable. (ar-file?): New procedure.
* | build-system/gnu: Strip only ELF files.Ludovic Courtès2014-11-22
| | | | | | | | | | | | | | | | Suggested by Mark H Weaver <mhw@netris.org> at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00395.html>. * guix/build/gnu-build-system.scm (strip)[strip-dir]: Strip only when (elf-file? PATH) is true.
* | utils: Add 'elf-file?'.Ludovic Courtès2014-11-22
| | | | | | | | * guix/build/utils.scm (elf-file?): New procedure.
* | utils: Export 'parallel-job-count'.Ludovic Courtès2014-11-22
|/ | | | | | * guix/build/utils.scm (parallel-job-count): New procedure. * guix/build/gnu-build-system.scm (%parallel-job-count): Remove. (build, check): Use 'parallel-job-count' instead.
* syscalls: Update /etc/mtab, not /etc/fstab.Ludovic Courtès2014-11-14
| | | | | * guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with "mtab".
* syscalls: Add 'mount-points'.Ludovic Courtès2014-11-10
| | | | | * guix/build/syscalls.scm (mount-points): New procedure. * tests/syscalls.scm ("mount-points"): New test.
* pull: Use the build procedure provided by the newly-downloaded Guix.Ludovic Courtès2014-11-09
| | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18534>. * guix/scripts/pull.scm (with-environment-variable, with-PATH): New macros. (temporary-directory, first-directory, interned-then-deleted): New procedures. (unpack): Rewrite to do the unpacking in the current process rather than as a separate derivation. (%self-build-file): New variable. (build-from-source): New procedure. (build-and-install): Use it. * guix/build/pull.scm (build-guix): Rename 'tarball' argument to 'source'. Remove #:tar and #:gzip parameters, as well as 'tar' invocation. Remove 'scandir' invocation. Wrap body in 'with-directory-excursion'. * build-aux/build-self.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
* download: Add "Accept: */*" to the headers.Ludovic Courtès2014-10-19
| | | | | | | Fixes downloads from https://alioth.debian.org. Reported by John Darrington <jmd@gnu.org>. * guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.
* gnu: Add the 'glib-or-gtk' build system.Federico Beffa2014-10-08
| | | | | | | | * guix/build-system/glib-or-gtk.scm, guix/build/glib-or-gtk-build-system.scm: New files. * Makefile.am (MODULES): Add them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>