summaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* Merge branch 'master' into core-updatesLudovic Courtès2015-05-01
|\
| * download: Simplify 'open-connection-for-uri' to support HTTP proxies.Ludovic Courtès2015-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/20402>. Reported by Joshua Randall <jcrandall@alum.mit.edu>. * guix/build/download.scm (open-connection-for-uri): Rewrite to be a small wrapper around 'open-socket-for-uri'. This procedure was initially introduced in d14ecda to work around the lack of NSS modules during bootstrap but that has become unnecessary since 0621349, which introduced a bootstrap Guile that uses static NSS modules (from commit d3b5972.) On Guile >= 2.0.10, this allows the 'http_proxy' environment variable to be used.
* | build-system/gnu: #:validate-runpath? now defaults to #t.Ludovic Courtès2015-04-23
| | | | | | | | | | * guix/build/gnu-build-system.scm (validate-runpath): Change default value of VALIDATE-RUNPATH? to #t.
* | build-system/gnu: Gracefully handle dangling symlinks.Ludovic Courtès2015-04-23
| | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/20081>. Reported by Tomáš Čech <tcech@suse.cz>. * guix/build/gnu-build-system.scm (patch-source-shebangs): Remove files that don't pass 'file-exists?'. (patch-generated-file-shebangs): Likewise.
* | gremlin: Add support for the expansion of $ORIGIN in RUNPATH.Ludovic Courtès2015-04-23
|/ | | | | | | | * guix/build/gremlin.scm (expand-variable, expand-origin): New procedures. (validate-needed-in-runpath): Map 'expand-origin' to the RUNPATH field of DYNINFO. * tests/gremlin.scm ("expand-origin"): New test.
* build-system/haskell: Adjust to new 'modify-phases' syntax.Ludovic Courtès2015-04-16
| | | | | * guix/build/haskell-build-system.scm (%standard-phases): Add missing quotes, as needed since commit f8503e2.
* Merge branch 'master' into core-updatesLudovic Courtès2015-04-09
|\
| * build-system/haskell: Update configure flags, 'haddock' and %standard-phases.Federico Beffa2015-04-08
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/haskell-build-system.scm (%standard-phases): move 'haddock phase before 'install phase. * guix/build/haskell-build-system.scm (haddock): Simplify it as the 'install phase takes care of copying files. * guix/build/haskell-build-system.scm (configure): Add '--libsubdir' flag. Fix use of '--extra-include-dirs' and '--extra-lib-dirs' flags. Use 'doc', 'bin' and 'lib' outputs if they are defined. * guix/build/haskell-build-system.scm (make-ghc-package-database, register): Aligh location of 'package.conf.d' directory with '--libsubdir' flag.
* | Merge branch 'master' into core-updates宋文武2015-04-08
|\|
| * build-system: Add haskell-build-system.Federico Beffa2015-04-04
| | | | | | | | | | | | * guix/build-system/haskell.scm: New file. * guix/build/haskell-build-system.scm: New file. * doc/guix.texi: Add section on 'haskell-build-system'.
| * build-system/glib-or-gtk: Wrap libexec programs.Andy Wingo2015-04-03
| | | | | | | | | | | | | | * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Also wrap binaries in libexec/, such as those launched by dbus services. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | utils: 'find-files' does not follow symlinks by default.Ludovic Courtès2015-04-06
| | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/20081>. Reported by Tomáš Čech <sleep_walker@suse.cz>. * guix/build/utils.scm (find-files): Add #:stat parameter. Pass it as last argument to 'file-system-fold'.
* | build-system/gnu: Add docstring to 'delete-info-dir-file'.Federico Beffa2015-04-06
| | | | | | | | * guix/build/gnu-build-system.scm (delete-info-dir-file): Add docstring.
* | build-system/gnu: Add 'delete-info-dir-file' phase.Federico Beffa2015-04-06
| | | | | | | | | | * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it.
* | gremlin: Ignore non-store file names in RUNPATH and warn about them.Ludovic Courtès2015-04-05
| | | | | | | | | | | | | | | | | | * guix/build/gremlin.scm (validate-needed-in-runpath)[runpath]: Add (filter absolute-file-name? ...). Emit a warning when RUNPATH file names that do not match 'store-file-name?'. Change format of error message to begin with file name. * guix/build/utils.scm (store-file-name?): New procedure.
* | build-system/gnu: Add 'validate-runpath' phase.Ludovic Courtès2015-04-01
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (every*, validate-runpath): New procedures. (%standard-phases): Add 'validate-runpath'. * guix/build-system/gnu.scm (%gnu-build-system-modules): Add (guix build gremlin) and (guix elf). (gnu-build): Add #:validate-runpath?. [builder]: Pass it. (gnu-cross-build): Likewise. * gnu/packages/base.scm (glibc)[arguments]: Add #:validate-runpath? #f.
* | utils: Make the second 'find-files' argument optional.Ludovic Courtès2015-04-01
| | | | | | | | * guix/build/utils.scm (find-files): Make 'pred' optional.
* | gremlin: Guard against invalid ELF segments.Ludovic Courtès2015-04-01
| | | | | | | | | | | | | | | | * guix/build/gremlin.scm (&elf-error, &invalid-segment-size): New error condition types. (dynamic-link-segment): Compare SEGMENT's offset + size to ELF's total size. (validate-needed-in-runpath): Wrap body in 'guard' form.
* | gremlin: Add libnsl to libc's library list.Ludovic Courtès2015-04-01
| | | | | | | | * guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".
* | utils: 'find-files' takes an arbitrary predicate as its second argument.Ludovic Courtès2015-03-31
| | | | | | | | | | | | | | * guix/build/utils.scm (file-name-predicate): New procedure. (find-files): Rename second parameter to 'pred'. When 'pred' is not a procedure, call 'file-name-predicate'. Use PRED instead of 'regexp-exec' in the leaf procedure.
* | utils: 'modify-phases' no longer introduces quotes.Ludovic Courtès2015-03-31
|/ | | | | | | | | | | | | | | | | | | Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>. * guix/build/utils.scm (%modify-phases): Remove quotes. * guix/build/cmake-build-system.scm (%standard-phases): Adjust accordingly. * guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise. * guix/build/gnu-dist.scm (%dist-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/graphics.scm, gnu/packages/image.scm, gnu/packages/key-mon.scm, gnu/packages/ocr.scm, gnu/packages/plotutils.scm, gnu/packages/search.scm, gnu/packages/video.scm: Likewise.
* Add (guix build gremlin).Ludovic Courtès2015-03-31
| | | | | | * guix/build/gremlin.scm, tests/gremlin.scm: New files. * Makefile.am (MODULES): Add guix/build/gremlin.scm. (SCM_TESTS): Add tests/gremlin.scm.
* build: ruby: Set $GEM_HOME that matches Ruby's $GEM_PATH.David Thompson2015-03-17
| | | | | * guix/build/ruby-build-system.scm (install): Ignore the Ruby patch version when creating $GEM_HOME.
* gnu: cmake: Add CMAKE_PREFIX_PATH as a native search path, and dropAndreas Enge2015-03-14
| | | | | | | | CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH from the cmake build system. * gnu/packages/cmake.scm (cmake)[native-search-paths]: New field. * guix/build/cmake-build-system.scm (configure): Drop environment variables CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH.
* Merge branch 'core-updates'.Ludovic Courtès2015-03-04
|\
| * Revert "build-system/gnu: Keep the sloppy conversion strategy during bootstrap."Ludovic Courtès2015-03-01
| | | | | | | | | | | | This reverts commit b479c3ddaf85c831e34888229849bc1ce34419de. This commit was the result of an incorrect characterization of the problem; see the log of commit 87c8b92 for details.
| * build-system/gnu: Keep the sloppy conversion strategy during bootstrap.Ludovic Courtès2015-03-01
| | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (gnu-build): Leave %DEFAULT-PORT-CONVERSION-STRATEGY unchanged when 'string->bytevector' fails to convert to ISO-8859-1. This is an attempt to work around the build failures at <http://hydra.gnu.org/build/263002>.
| * utils: Treat 'configure' and Makefiles with an 8-bit encoding.Ludovic Courtès2015-02-28
| | | | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL, patch-/usr/bin/file): Wrap 'substitute*' in 'with-fluids'. Fixes <http://hydra.gnu.org/build/262895>.
| * packages: Set the port conversion strategy to 'error'.Ludovic Courtès2015-02-28
| | | | | | | | | | | | | | | | Suggested by Mark H Weaver. * guix/build/gnu-build-system.scm (gnu-build): Set %DEFAULT-PORT-CONVERSION-STRATEGY to 'error. * guix/packages.scm (patch-and-repack)[builder]: Likewise.
| * utils: Change 'patch-shebangs' to use binary input.Ludovic Courtès2015-02-28
| | | | | | | | | | | | | | * guix/build/utils.scm (get-char*): New procedure. (patch-shebang): Use it instead of 'read-char'. (fold-port-matches): Remove local 'get-char' and use 'get-char*' instead.
| * download: Comment on lack of progress report with chunked encoding.Ludovic Courtès2015-02-27
| | | | | | | | * guix/build/download.scm (progress-proc): Add comment.
| * download: Measure and display the throughput.Ludovic Courtès2015-02-27
| | | | | | | | | | | | * guix/build/download.scm (duration->seconds, throughput->string): New procedures. (progress-proc): Measure and display the throughput.
| * download: Abstract the receive buffer size.Ludovic Courtès2015-02-27
| | | | | | | | | | * guix/build/download.scm (%http-receive-buffer-size): New variable. (progress-proc, tls-wrap, http-fetch): Use it.
| * utils: Call the progress-report proc when 'dump-port' starts.Ludovic Courtès2015-02-27
| | | | | | | | | | * guix/build/utils.scm (dump-port): Add call to PROGRESS at the beginning.
| * build-system/gnu: Set $LC_ALL (or similar) to the chosen locale.Ludovic Courtès2015-02-27
| | | | | | | | | | | | | | Suggested by Mark H Weaver. * guix/build/utils.scm (locale-category->string): New procedure. * guix/build/gnu-build-system.scm (install-locale): Add 'setenv' call.
| * build-system/cmake: Enable verbose output from Makefile builds.宋文武2015-02-27
| | | | | | | | | | * guix/build/cmake-build-system.scm (configure): Pass -DCMAKE_VERBOSE_MAKEFILE=ON to cmake.
| * build-system/gnu: Add 'install-locale' phase.Ludovic Courtès2015-02-26
| | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (install-locale): New procedure. (%standard-phases): Add it. * guix/build-system/gnu.scm (gnu-build): Add #:locale and pass it to the build script. (gnu-cross-build): Likewise.
| * build-system: Use 'modify-phases'.Ludovic Courtès2015-02-26
| | | | | | | | | | | | | | | | | | | | | | * guix/build/cmake-build-system.scm (%standard-phases): Use 'modify-phases' instead of alist-*. * guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise. * guix/build/gnu-dist.scm (%dist-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise.
| * utils: Add 'modify-phases'.Ludovic Courtès2015-02-26
| | | | | | | | * guix/build/utils.scm (modify-phases): New macro.
| * build-system/gnu: Add support for zip archives.Ludovic Courtès2015-02-26
| | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19866>. Reported by Andreas Enge <andreas@enge.fr>. * guix/build/gnu-build-system.scm (unpack): Use 'unzip' when SOURCE ends in '.zip'.
| * Merge branch 'master' into core-updatesLudovic Courtès2015-02-26
| |\
| * | utils: Preserve symbolic links in 'wrap-program'.Andreas Enge2015-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (wrap-program): Preserve symbolic links instead of copying the contents of the link. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19743>.
| * | utils: Use $0 instead of absolute path to original program in 'wrap-program'.Andreas Enge2015-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (wrap-program): Create scripts that use $0 (which is usually just the base name) instead of the absolute path to the original program. Alternative implementation of 2ed11b3. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19742>.
| * | utils: Strip duplicates from search path.Eric Bavier2015-02-10
| | | | | | | | | | | | | | | * guix/build/utils.scm (search-path-as-list): Delete duplicate input directories before searching.
* | | build: ruby: Install executables in /bin.David Thompson2015-03-02
| | | | | | | | | | | | | | | * guix/build/ruby-build-system.scm (install): Add '--bindir' flag to gem command.
* | | build: ruby: Add gitify phase.David Thompson2015-03-02
| |/ |/| | | | | | | | | * guix/build-system/ruby.scm (lower): Add git as implicit input. * guix/build/ruby-build-system.scm (gitify): New procedure. (%standard-phases): Add gitify phase.
* | download: Cope with Guile 2.0.6 or earlier.Mark H Weaver2015-02-24
| | | | | | | | | | | | * guix/build/download.scm: Do not attempt to support relative URIs in "Location" headers if 'declare-relative-uri-header!' is not present. This is the case for Guile 2.0.6 or earlier.
* | download: Handle HTTP redirects to relative URI references.Mark H Weaver2015-02-19
| | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19840>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/build/download.scm: On Guile 2.0.11 or earlier, redefine the http "Location" header to accept relative URIs. (resolve-uri-reference): New exported procedure. (http-fetch): Use 'resolve-uri-reference' to resolve redirections. * guix/http-client.scm (http-fetch): Use 'resolve-uri-reference'
* | 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.