aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Expand)AuthorAge
* build-system/gnu: Do not patch symlinks.•••This fixes location-aware scripts. * guix/build/gnu-build-system.scm (patch-shebangs)[list-of-files]: Use 'lstat' instead of 'stat'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Jan Nieuwenhuizen2016-02-09
* Add (guix build bournish) and use it in the initrd.•••* guix/build/bournish.scm: New file. * Makefile.am (MODULES): Add it. * gnu/system/linux-initrd.scm (base-initrd): Add (guix build bournish) and use it. Ludovic Courtès2016-02-08
* syscalls: 'all-network-interface-names' accepts non-alphanumeric characters.•••This fixes interfaces with a dash or other characters being ignored. Suggested by Jookia <166291@gmail.com>. * guix/build/syscalls.scm (%interface-line): Use [[:graph:]] instead of [[:alnum:]]. Ludovic Courtès2016-02-03
* build-system/haskell: Fix package.conf parsing.•••* guix/build/haskell-build-system.scm (register)[conf-depends]: Properly react to EOF while reading GHC package conf files. Eric Bavier2016-01-19
* Merge branch 'master' into core-updatesLudovic Courtès2016-01-13
|\
| * build: ruby: Remove cached gem after install.•••The .gem file stored in GEM_HOME after install is both redundant and an archive that stores timestamped files which makes builds non-deterministic, so delete it after 'gem install'. * guix/build/ruby-build-system.scm (install): Remove cached gem after install. Ben Woodcroft2016-01-06
| * build: pull: Compile .scm files in one process.•••* guix/build/pull.scm (call-with-process, report-build-progress) (p-for-each): Remove. (build-guix): Load and compile files in one process. Taylan Ulrich Bayırlı/Kammer2016-01-05
| * git-download: Correctly implement recursive checkouts.•••Previously, the 'git checkout' invocation would remove sub-modules that had been initialized by 'git clone --recursive'. * guix/build/git.scm (git-fetch): Never use "git clone --recursive". Invoke "git submodule update --init --recursive" after "git checkout". Remove '.git' directories as the last step. Ludovic Courtès2016-01-05
* | ruby: Abstract out path to GEM_HOME.•••Previously paths to the GEM_HOME of certain Ruby packages were hard-coded, so packages failed to build when Ruby was updated to 2.3.0. * guix/build/ruby-build-system.scm (gem-home): New procedure. * gnu/packages/ruby.scm (ruby-metaclass, ruby-instantiator, ruby-introspection, ruby-mocha, ruby-minitest-tu-shim): Use it. Ben Woodcroft2016-01-11
* | build-system/gnu: Add 'set-SOURCE-DATE-EPOCH' phase.•••This phase is inherited by other build systems, which ensures 'SOURCE_DATE_EPOCH' is always set in practice. * guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): Remove. (%standard-phases): Don't add it. * guix/build/gnu-build-system.scm (set-SOURCE-DATE-EPOCH): New procedure. (%standard-phases): Add it. (gnu-build): Remove 'setenv' call for "SOURCE_DATE_EPOCH". Ludovic Courtès2016-01-05
* | build-system/gnu: Use the long option name for deterministic archives.•••This is a followup to 3eb34c6. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Use "--enable-deterministic-archives" instead of "-D" to work around Binutils bug <https://sourceware.org/bugzilla/show_bug.cgi?id=17671>. * guix/build/gnu-build-system.scm (strip): Likewise. Ludovic Courtès2016-01-01
* | build-system/gnu: Always pass "-D" to strip/objcopy.•••* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Add "-D" to #:strip-flags. * guix/build/gnu-build-system.scm (strip): Likewise. Also pass "-D" to OBJCOPY-COMMAND. Ludovic Courtès2015-12-18
* | Merge branch 'master' into core-updatesLudovic Courtès2015-12-12
|\|
| * gnu: python: Set SOURCE_DATE_EPOCH to 1 instead of 0.•••* gnu/packages/python.scm (python-2)[arguments]: Set SOURCE_DATE_EPOCH to 1 to match what the daemon does. * guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): Likewise. Ludovic Courtès2015-11-29
| * gnu: python-2: Honor 'SOURCE_DATE_EPOCH'.•••* gnu/packages/patches/python-2.7-source-date-epoch.patch: New file. * gnu/packages/python.scm (python-2)[source]: Use it. [arguments]: Set SOURCE_DATE_EPOCH in 'patch-lib-shells' phase. * guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): New procedure. (%standard-phases): Add it. * gnu-system.am (dist_patch_DATA): Add patch. Ludovic Courtès2015-11-29
| * graft: Graft files in parallel.•••* guix/build/graft.scm (rewrite-directory): Use 'n-par-for-each' instead of 'for-each'. Ludovic Courtès2015-11-16
| * graft: Graft files in a deterministic order.•••* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Change to take a single parameter. Add call to 'lstat'. Factorize result of 'destination'. Use 'find-files' instead of 'file-system-fold'. Ludovic Courtès2015-11-16
| * download: Always use AI_ADDRCONFIG when resolving host names.•••* guix/build/download.scm (open-socket-for-uri): Always pass AI_ADDRCONFIG to 'getaddrinfo' as recommended in the fine Guile manual. * guix/ftp-client.scm (ftp-open): Ditto. Ludovic Courtès2015-11-12
| * download: Add timeout parameter for connections.•••* guix/build/download.scm (ensure-uri): New procedure. (current-http-proxy): New variable. (open-socket-for-uri): Copy from Guile commit aaea5b2, but add #:timeout parameter and use 'connect*' instead of 'connect'. (open-connection-for-uri): Add #:timeout parameter and pass it to 'open-socket-for-uri'. Ludovic Courtès2015-11-12
| * build-system/haskell: CONFIG_SHELL env variable.•••For Cabal packages with "build-type: Configure", a configure shell script is run to set up build parameters. These scripts need the CONFIG_SHELL environment variable to be set to function properly. * guix/build/haskell-build-system.scm (configure): Set CONFIG_SHELL if necessary. Paul van der Walt2015-10-26
* | build-system/gnu: Set 'SOURCE_DATE_EPOCH'.•••Suggested by Ludovic Courtès <ludo@gnu.org>. * guix/build/gnu-build-system.scm (gnu-build): Set SOURCE_DATE_EPOCH for deterministic builds. Alex Kost2015-11-14
* | gnu: ghc: Add GHC_PACKAGE_PATH native search path.•••Benefits include: 'guix environment' more useful for ghc libraries, more useful 'guix package --search-paths' for installed ghc libraries, cleaner package recipes: no longer need to propagate runtime package dependencies. * guix/build/haskell-build-system.scm (configure): Unset GHC_PACKAGE_PATH around cabal configure. (make-ghc-package-database): Use pattern directory search. (register): Install complete package database for the current package. * gnu/packages/haskell.scm (ghc): Add native-search-paths field. Eric Bavier2015-10-29
* | utils: Have search-path-as-list pattern search for directories.•••* guix/build/utils.scm (search-path-as-list)[pattern]: Check requested file type. Check pattern against directory names. * guix/search-paths.scm (evaluate-search-paths)[pattern]: Remove symlink hack. Eric Bavier2015-10-29
|/
* syscalls: Fix ABI mismatch for 'clone'.•••Fixes <http://bugs.gnu.org/21694>. * guix/build/syscalls.scm (clone): Change 'syscall' parameter types to LONG, UNSIGNED-LONG, or '*; make sure it has 6 parameters. Adjust caller accordingly. Ludovic Courtès2015-10-17
* Merge branch 'master' into core-updatesMark H Weaver2015-10-07
|\
| * download: Check whether HORIZONTAL ELLIPSIS can be encoded.•••* guix/build/download.scm (ellipsis): New procedure. (store-path-abbreviation): Use it. Ludovic Courtès2015-10-01
* | Use "normalized codesets" everywhere.•••In other words, change "xx_YY.UTF-8" to "xx_YY.utf8". * guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of "en_US.UTF-8". * guix/packages.scm (patch-and-repack): Likewise. * guix/build/gnu-build-system.scm (install-locale): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * gnu/packages/python.scm (python-ipython): Likewise. * gnu/packages/gawk.scm (gawk): Likewise. * build-aux/hydra/demo-os.scm: Likewise. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove 'change-locale' phase. Ludovic Courtès2015-10-04
* | utils: Add 'every*'.•••* guix/build/gnu-build-system.scm (every*): Move to... * guix/build/utils.scm (every*): ... here. New procedure. Ludovic Courtès2015-10-03
|/
* Merge branch 'master' into core-updatesLudovic Courtès2015-09-24
|\
| * download: Don't abbreviate things that are not store items.•••Fixes a regression introduced in a8be7b9a. * guix/build/download.scm (store-path-abbreviation): Return STORE-PATH if it's not an actual store path. Fixes an out-of-range exception when running tests/substitute.scm and tests/store.scm. Ludovic Courtès2015-09-24
| * download: Fix some minor progress-logging regressions.•••* guix/build/download.scm (string-pad-middle): Allow resulting padded string to overflow. (store-url-abbreviation): Remove unnecessary procedure. (progress-proc): Use BASENAME as default for parameter 'abbreviation'. (url-fetch): Display extra newlines for readability. Steve Sprang2015-09-23
* | emacs-build-system: Fix 'package-name-version->elpa-name-version'.•••Fixes a regression introduced in b7c7c03eb5e37fc3455e4e17b0898ffc4bca29c3. * guix/build/emacs-build-system.scm (package-name-version->elpa-name-version): Remove unused 'name' binding. Do not abuse 'strip-store-file-name' to remove the "emacs-" prefix, which worked before b7c7c03eb5 but not after. Mark H Weaver2015-09-23
* | Merge branch 'master' into core-updatesMark H Weaver2015-09-22
|\|
| * download: Only show hours in the elapsed time if necessary.•••* guix/build/download.scm (seconds->string): Conditionally include hours in timestamp. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Steve Sprang2015-09-17
| * substitute: Improve readability of download progress report.•••* guix/build/download.scm (string-pad-middle, store-url-abbreviation, store-path-abbreviation): New procedures. (progress-proc): Add #:abbreviation parameter and use it. Generate a better indeterminate progress string. * guix/scripts/substitute.scm (assert-valid-narinfo): Add newlines to output. (process-substitution): Use byte-count->string and store-path-abbreviation. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Steve Sprang2015-09-16
| * download: Avoid type errors when formatting download progress output.•••* guix/build/download.scm (nearest-exact-integer): New procedure. (seconds->string, byte-count->string): Use it. Steve Sprang2015-09-14
| * build: ruby: Add support for tarball and directory sources.•••Previously, the Ruby build system only knew how to work with gem archives, which made it difficult to build unreleased gems from a Git repository or released gems in tarball form. * gnu/build/ruby-build-system.scm (gnu:unpack, gem-archive?): New procedures. (unpack): Use GNU build system unpack phase for non-gem sources. (build): Rebuild the gemspec iff the source is a gem archive. * guix.texi ("ruby-build-system"): Mention that tarballs and directories are acceptable. David Thompson2015-09-14
* | Merge branch 'master' into core-updatesLudovic Courtès2015-09-13
|\|
| * build: Improve information density and appearance of download progress output.•••* guix/build/download.scm (seconds->string): New function. (byte-count->string): New function. (progress-bar): New function. (throughput->string): Remove function. (progress-proc): Display base file name, elapsed time, and progress bar. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Steve Sprang2015-09-08
| * build: container: Use the same clone flags as fork(3).•••The intent is to make 'clone' behave a lot more like 'primitive-fork', which calls clone(2) with SIGCHLD, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID flags. Notably, running 'clone' at the REPL without these flags would break the REPL beyond repair. * guix/build/syscalls.scm (CLONE_CHILD_CLEARTID, CLONE_CHILD_SETTID): New variables. * gnu/build/linux-container.scm (namespaces->bit-mask): Add CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID to bit mask. David Thompson2015-09-07
| * build: ruby: Avoid long build directory names.•••Having the hash of the source gem in the source directory file name proved to be problematic when running the test suite for the 'pg' gem that creates UNIX-domain sockets in the source directory and exceeded the 108 character limit on GNU/Linux systems. * guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to "gem". David Thompson2015-09-07
| * emacs-build-system: Fix a file name of info directory.•••* guix/build/emacs-build-system.scm (move-doc): Adjust to use "/share/info" instead of its sub-directory. Alex Kost2015-09-06
| * build: syscalls: Properly handle clone errors.•••* guix/build/syscalls.scm (clone): Catch -1 return value and throw error. David Thompson2015-09-05
| * build: Add R build system.•••* guix/build-system/r.scm: New file. * guix/build/r-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document r-build-system. Ricardo Wurmus2015-08-31
* | build-system/glib-or-gtk: Don't generate 'icon-theme.cache'.•••* guix/build-system/glib-or-gtk.scm (default-gtk+): Remove. (lower): Adjust accordingly. * guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Remove. (%standard-phases): Remove 'glib-or-gtk-icon-cache' phase. 宋文武2015-09-11
* | utils: find-files: Add DIRECTORIES? and FAIL-ON-ERROR? arguments.•••* guix/build/utils.scm (find-files): Add DIRECTORIES? and FAIL-ON-ERROR? keyword arguments. Mark H Weaver2015-09-06
* | utils: Move 'package-name->name+version' to (guix build utils).•••* guix/utils.scm (package-name->name+version): Move to... * guix/build/utils.scm (package-name->name+version): ... here. New procedure. * guix/build/emacs-build-system.scm (package-name->name+version): Remove. Ludovic Courtès2015-08-30
* | utils: Add 'strip-store-file-name'.•••* guix/build/utils.scm (strip-store-file-name): New procedure. * guix/build/emacs-build-system.scm (store-directory->name-version): Remove. Update callers to use 'strip-store-file-name'. * gnu/packages/gcc.scm (make-libstdc++-doc)[arguments]: Use 'strip-store-file-name' instead of 'string-drop'. Ludovic Courtès2015-08-30
* | build-system/gnu: Use monotic time to measure elapsed time.•••* guix/build/gnu-build-system.scm (gnu-build)[elapsed-time]: New procedure. Use it, and use (current-time time-monotonic) instead of (gettimeofday). Show one digit after the comma for the elapsed time. Ludovic Courtès2015-08-30
* | utils: Add 'install-file'.•••* guix/build/utils.scm (install-file): New procedure. Ludovic Courtès2015-08-29
|/