summaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* gnu: Consistently Write ‘file system(s)’.Tobias Geerinckx-Rice2018-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | It is the GNU way. * doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’. * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): Likewise. * gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise. * gnu/packages/check.scm (python-testpath)[description]: Likewise. * gnu/packages/disk.scm (pydf)[description]: Likewise. * gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise. (glusterfs)[description]: Likewise. * gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap) (ghc-system-fileio)[synopsis]: Likewise. (ghc-fsnotify)[description]: Likewise. * gnu/packages/linux.scm (proot)[description]: Likewise. (jmtpfs)[synopsis, description]: Likewise. * gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise. * gnu/packages/storage.scm (ceph)[description]: Likewise. * gnu/packages/sync.scm (lsyncd)[description]: Likewise. * gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise. (go-github-com-zillode-notify)[description]: Likewise. * gnu/services/nfs.scm (pipefs-service-type): Likewise. * guix/scripts/system.scm (perform-action): Likewise.
* ruby-build-system: Fix build error.Danny Milosavljevic2018-01-15
| | | | | | * gnu/build/ruby-build-system.scm: Import (ice-9 rdelim). Follow-up to d9df4bf055f2bef8c2c428db34c5fa056bdeba73.
* ruby-build-system: Add a new wrap phase.Christopher Baines2018-01-14
| | | | | | | | | | | | | Wrap files in bin/ and sbin/ with the location of the gem itself and the location of any other gems in use (GEM_PATH). This ensures that the bin files will run with the right environment when executed. It does however mean that native-inputs will also get wrapped up in any binaries, which is not good, as it increases the size of the closure, and risks this code being used at runtime. * guix/build/ruby-build-system.scm (wrap): New procedure. (%standard-phases): Add the wrap phase.
* ruby-build-system: Add wrap-ruby-program.Christopher Baines2018-01-14
| | | | | | | | | | | | | | | | A modified copy of wrap-program from (guix build utils). The wrap-program procedure doesn't work well for Ruby scripts, as it breaks using the -S flag with ruby to execute the script, as when -S is passed to ruby, it expects the script on the PATH to use ruby in the shebang, and not bash. Therefore, to wrap the program, but keep the shebang as ruby, wrap it with a ruby script instead. wrap-ruby-program uses .real/foo rather than .foo-real, as this might be neater. This procedure also includes a call to Gem.clear_paths to make it possible to set the GEM_PATH through this method, and for it to take effect. * gnu/build/ruby-build-system.scm (wrap-ruby-program): New procedure.
* guix: build: ruby-build-system: Install to the vendor directoryChristopher Baines2018-01-14
| | | | | | | | | | | | | | | | | | | * guix/build/ruby-build-system.scm (install): Install gems to the vendor directory, rather than the GEM_HOME. The vendor directory does not include the version of ruby used to install the gem in the path, which makes it easier to add it to the GEM_PATH for all versions of ruby to use. (gem-home): Remove procedure. * gnu/packages/ruby.scm (ruby, ruby-2.1)[native-search-paths]: Switch to lib/ruby/vendor_ruby. (ruby-1.8)[native-search-paths]: Remove native-search-paths. (gem-directory): Remove procedure. (ruby-ansi, ruby-ae)[arguments]: Remove use of gem-directory. (ruby-metaclass, ruby-instantiator, ruby-introspection, ruby-mocha, ruby-nokogiri, ruby-minitest-tu-shim, ruby-redcloth)[arguments]: Remove use of gem-home. (ruby-git, ruby-httpclient)[arguments]: Remove use of GEM_HOME. * gnu/packages/databases.scm (es-dump-restore)[arguments]: Remove use of GEM_HOME.
* build: dub-build-system: Make builds reproducible.Danny Milosavljevic2017-12-31
| | | | | * guix/build/dub-build-system.scm (build): Make reproducible. (check): Make reproducible.
* guix: ant-build-system: Do not compress jars.Ricardo Wurmus2017-12-15
| | | | | | | Fixes <https://bugs.gnu.org/29700>. * guix/build/ant-build-system.scm (strip-jar-timestamps): Do not compress jar when repacking.
* utils: Fix cond-expand for Guile 2.0.Eric Bavier2017-12-10
| | | | * guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
* syscalls: Define 'input-flags' for 'tcgetattr' and friends.Ludovic Courtès2017-12-06
| | | | * guix/build/syscalls.scm (input-flags): New macro.
* build-system: Add scons-build-system.Arun Isaac2017-11-30
| | | | | | | * guix/build-system/scons.scm: New file. * guix/build/scons-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add scons-build-system.
* union: Parametrize the symlink procedure .Ludovic Courtès2017-11-21
| | | | | * guix/gexp.scm (directory-union): Add #:hard-links and honor it. * guix/build/union.scm (union-build): Add #:symlink parameter.
* compile: Put an upper bound on the number of workers.Ludovic Courtès2017-11-20
| | | | * guix/build/compile.scm (compile-files): Don't use more than 8 workers.
* Add semicolon in commands that set GUIX_PROFILE.Ludovic Courtès2017-11-20
| | | | | | | | | | | Fixes <https://bugs.gnu.org/28223>. Reported by Rosebud Uplink <Uplink.Introversion@outlook.com>. * doc/guix.texi (Binary Installation): Add missing semicolon after 'GUIX_PROFILE=' line. (Invoking guix package): Likewise. * gnu/system.scm (operating-system-etc-service)[profile]: Likewise. * guix/build/profiles.scm (build-etc/profile): Likewise.
* build-system: texlive: Only make a union of directories.Ricardo Wurmus2017-11-18
| | | | | * guix/build/texlive-build-system.scm (configure): Filter the input directories to ensure that source tarballs are excluded.
* build-system/go: Don't let Go executables refer to the Go compiler.Leo Famulari2017-11-17
| | | | | | | * guix/build/go-build-system.scm (remove-store-reference, remove-go-references): New procedures. (%standard-phases): Add 'remove-go-references' phase. * guix/build-system/go.scm (go-build): Add allow-go-reference? key.
* download: Improve efficiency of 'write-request' over TLS.Ludovic Courtès2017-11-16
| | | | | | | | This is another instance of <https://bugs.gnu.org/22966>. The Microsoft-IIS/7.5 server at static.nvd.nist.gov would sometimes hang when receiving our requests byte by byte. * guix/build/download.scm (tls-wrap) [!guile-2.0]: Add 'setvbuf' call.
* download: Pass the timeout to 'ftp-retr'.Ludovic Courtès2017-11-14
| | | | | | | | | | This ensures the timeout applies when connecting to the port returned by PASV. * guix/ftp-client.scm (ftp-list): Add #:timeout parameter. Use 'connect*' instead of 'connect' and pass TIMEOUT. (ftp-retr): Likewise. * guix/build/download.scm (ftp-fetch): Pass TIMEOUT to 'ftp-retr'.
* grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.Leo Famulari2017-11-14
| | | | * guix/build/graft.scm (mkdir-p*): Annotate.
* download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès2017-11-11
| | | | | | | | Reported by Mark H Weaver <mhw@netris.org> at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00190.html>. * guix/build/download.scm (guile-2.2) [write-request-line]: Backport Guile commit 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143.
* download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès2017-11-10
| | | | | | | | Reported by Konrad Hinsen <konrad.hinsen@fastmail.net> at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>. * guix/build/download.scm (write-request-line) [guile-2.2]: New procedure.
* compile: Fix VPATH builds.Ludovic Courtès2017-11-07
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/29091>. Reported by Eric Bavier <bavier@cray.com>. * guix/build/compile.scm (relative-file): New procedure. (load-files): Use it before calling 'file-name->module-name'. (compile-files): Likewise before calling 'scm->go'. * guix/build/pull.scm (build-guix): Remove 'with-directory-excursion' and file name hack from ce33c3af76b0e5c68cc42dddf2b9c4b017386fd8. Pass OUT to 'all-scheme-files'.
* build-system/go: Fix installation path of executable files.Leo Famulari2017-10-26
| | | | * guix/build/go-build-system.scm (setup-environment): Set GOBIN correctly.
* build-system/go: Parameterize installing the source code.Leo Famulari2017-10-24
| | | | | | * guix/build-system/go.scm (go-build): Add install-source? key. * guix/build/go-build-system.scm (install-source): Check if install-source? is true.
* build-system/go: Strip the Go binaries with the native tool.Leo Famulari2017-10-24
| | | | | * guix/build/go-build-system.scm (build): Tell the Go linker to strip some symbol tables and debugging information.
* pull: Hide compilation warnings.Ludovic Courtès2017-10-23
| | | | | * guix/build/pull.scm (build-guix): Bind 'current-warning-port' to a void port.
* pull: Add (guix build compile) to the mix.Ludovic Courtès2017-10-23
| | | | | | | | | | | Fixes <https://bugs.gnu.org/28956>. Reported by Leo Famulari <leo@famulari.name>. * build-aux/build-self.scm (build): Add (guix build compile) to #:modules. * guix/build/pull.scm (build-guix): Wrap 'compile-files' call in 'with-directory-excursion'. Strip "./" from FILES when passing it to 'compile-files'.
* discovery: Move 'file-name->module-name' to (guix modules).Ludovic Courtès2017-10-22
| | | | | | * guix/discovery.scm (file-name->module-name): Move to... * guix/modules.scm (file-name->module-name): ... here. * guix/build/compile.scm: Use (guix modules) instead of (guix discovery).
* build: Factorize module compilation in (guix build compile).Ludovic Courtès2017-10-22
| | | | | | | | | | | | | | * guix/build/compile.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/compile-all.scm: Use it. (warnings, file->module, load-module-file) (%default-optimizations, %lightweight-optimizations) (optimization-options, compile-file*): Remove. <top level>: Use 'compile-files'. * guix/build/pull.scm (%default-optimizations) (%lightweight-optimizations, optimization-options): Remove. (build-guix): Rewrite as a call to 'compile-files'. * guix/discovery.scm (file-name->module-name): Export.
* download: Download a nar when a VCS checkout fails.Ludovic Courtès2017-10-19
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/28709>. * guix/build/download-nar.scm: New file. * Makefile.am (MODULES): Add it. * guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New variables. [build]: Use MODULES. Add call to 'download-nar'. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise.
* Add (guix progress).Ludovic Courtès2017-10-19
| | | | | | | | | | | | | | | | | | Among other things, this removes (guix utils), (guix ui), (guix config), etc. from the closure of (guix build download), as was the case since 798648515b77507c242752457b4dc17c155bad6e. * guix/utils.scm (<progress-reporter>, call-with-progress-reporter): Move to... * guix/progress.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build/download.scm (current-terminal-columns) (nearest-exact-integer, duration->seconds, seconds->string) (byte-count->string, progress-bar, string-pad-middle) (rate-limited, progress-reporter/file, dump-port*) (time-monotonic): Move to progress.scm. * guix/scripts/download.scm: Adjust accordingly. * guix/scripts/substitute.scm: Likewise.
* download: Make 'http-fetch' public.Ludovic Courtès2017-10-19
| | | | | | * guix/build/download.scm (http-fetch): Remove 'file' parameter. Change to return an input port and the content-length. Make public. (url-fetch): Adjust accordingly.
* download: Remove old-Guile leftovers.Ludovic Courtès2017-10-19
| | | | | | | This is a followup to 36626c556ed75219bce196ac93d148f6b9af984c. * guix/build/download.scm (http-fetch): Rename 'port-or-bv' to 'port'. Assume (port? port) is always true, and remove other branch.
* emacs-build-system: Change how patch-el-files substitutes commands.Christopher Baines2017-10-15
| | | | | | | | | | | | | | | | Previously the regex would match from /bin/ to a closing quote. However, this is greedy, so will match up until the last ". This causes problems when there are several quotes on the same line, for example: org-effectiveness.el: 196: (call-process "/bin/bash" nil t nil "-c" strplot) Therefore, change . to \S so that it doesn't include whitespace characters. Changing to a lazy quantifier would be an option, if that were supported. * guix/build/emacs-build-system.scm (patch-el-files): Change the regular expression used.
* emacs-build-system: Handle missing programs when patching.Christopher Baines2017-10-15
| | | | | | | | | Previously the string-append here would error, which isn't useful as it doesn't tell you which command couldn't be found. To make the error actionable, catch it earlier, and explicitly error. * guix/build/emacs-build-system.scm (patch-el-files): Handle (which cmd) returning #f.
* build: Add the Go build system.Leo Famulari2017-10-12
| | | | | | | * guix/build-system/go.scm, guix/build/go-build-system.scm: New files. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document the go-build-system.
* syscalls: clone: Define syscall-id for aarch64.Eric Bavier2017-10-09
| | | | * guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines.
* pull: Honor 'parallel-job-count'.Ludovic Courtès2017-10-07
| | | | | * guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'.
* guix: ant-build-system: Add #:test-include and #:test-exclude arguments.Julien Lepiller2017-10-03
| | | | | | | * guix/build-system/ant.scm: Add #:test-include and #:test-exclude arguments. * guix/build/ant-build-system.scm: Generate test list from arguments. * doc/guix.texi (Build Systems): Document it.
* guix: ant-build-system: Add main-class support.Julien Lepiller2017-10-03
| | | | | | | * guix/build-system/ant.scm: New #:main-class argument * guix/build/ant-build-system.scm: Generate a manifest file with additional properties. * doc/guix.texi (Build Systems): Document it.
* download: Don't report the progress too fast.宋文武2017-09-20
| | | | | | | | | | | | * guix/utils.scm (<progress-reporter>): New record type. (call-with-progress-reporter): New procedure. * guix/build/download.scm (dump-port*, rate-limited, progress-reporter/file): New procedures. (ftp-fetch, http-fetch): Use 'dump-port*'. (progress-proc): Remove procedure. * guix/scripts/substitute.scm (progress-report-port): Rewrite in terms of <progress-reporter>. (process-substitution): Adjust accordingly.
* build-system: Add 'meson-build-system'.Peter Mikkelsen2017-09-16
| | | | | | | | | | * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and 'guix/build/meson-build-system.scm'. * guix/build-system/meson.scm: New file. * guix/build/meson-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'meson-build-system'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Handle the same HTTP redirects everywhere.Tobias Geerinckx-Rice2017-09-05
| | | | | | | * guix/build/download.scm (http-fetch): Complete the hard-coded list of HTTP redirection status codes. * guix/http-client.scm (http-fetch): Likewise. * guix/scripts/lint.scm (probe-uri): Likewise.
* build: Fix helpful output for emacs-build-system install phase.Christopher Baines2017-09-03
| | | | | | | | Detecting when no files were installed was broken when switching to use cond. Test with (not (null? ...)) to fix this. * guix/build/emacs-build-system.scm (install): Fix detecting when no files were installed.
* build: emacs-build-system: Make the install phase more helpful.Christopher Baines2017-09-01
| | | | | | | | | | | | | Modify the install phase to detect when nothing has been installed, and error if this happens. This is preferable to continuing, and allowing the next phase to fail. Also, when nothing can be found to be installed, print out each file that was considered, along with the regular expressions that were used to include and exclude it. * gnu/build/emacs-build-system.scm (install-file?): Add additional error checking and logging.
* Merge branch 'core-updates'Marius Bakke2017-08-26
|\
| * Merge branch 'master' into core-updatesMark H Weaver2017-08-06
| |\
| * \ Merge branch 'master' into core-updatesLeo Famulari2017-07-23
| |\ \
| * | | syscalls: Delay resolution of "scm_set_automatic_finalization_enabled".Ludovic Courtès2017-07-18
| | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (%set-automatic-finalization-enabled?!) [guile-2.2]: Wrap in 'delay'.
| * | | Merge branch 'master' into core-updatesLeo Famulari2017-07-10
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesLudovic Courtès2017-06-30
| |\ \ \ \