summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Expand)Author
2016-03-17download: Add 'close-connection'....Partially fixes <http://bugs.gnu.org/20145>. * guix/build/download.scm (add-weak-reference): Remove. (%tls-ports): New variable. (register-tls-record-port): New procedure. (tls-wrap): Use it instead of 'add-weak-reference'. (close-connection): New procedure. Ludovic Courtès
2016-03-14build: Add Ant build system....* guix/build-system/ant.scm: New file. * guix/build/ant-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document ant-build-system. Ricardo Wurmus
2016-02-27grafts: Make sure files are not created world-writable....* guix/build/graft.scm (rewrite-directory): Add 'umask' call. Ludovic Courtès
2016-02-08Add (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ès
2016-02-03syscalls: '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ès
2016-01-19build-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 Bavier
2016-01-13Merge branch 'master' into core-updatesLudovic Courtès
2016-01-11ruby: 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 Woodcroft
2016-01-06build: 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 Woodcroft
2016-01-05build: 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ı/Kammer
2016-01-05build-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ès
2016-01-05git-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ès
2016-01-01build-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ès
2015-12-18build-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ès
2015-12-12Merge branch 'master' into core-updatesLudovic Courtès
2015-11-29gnu: 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ès
2015-11-29gnu: 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ès
2015-11-16graft: Graft files in parallel....* guix/build/graft.scm (rewrite-directory): Use 'n-par-for-each' instead of 'for-each'. Ludovic Courtès
2015-11-16graft: 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ès
2015-11-14build-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 Kost
2015-11-12download: 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ès
2015-11-12download: 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ès
2015-10-29gnu: 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 Bavier
2015-10-29utils: 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 Bavier
2015-10-26build-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 Walt
2015-10-17syscalls: 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ès
2015-10-07Merge branch 'master' into core-updatesMark H Weaver
2015-10-04Use "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ès
2015-10-03utils: Add 'every*'....* guix/build/gnu-build-system.scm (every*): Move to... * guix/build/utils.scm (every*): ... here. New procedure. Ludovic Courtès
2015-10-01download: Check whether HORIZONTAL ELLIPSIS can be encoded....* guix/build/download.scm (ellipsis): New procedure. (store-path-abbreviation): Use it. Ludovic Courtès
2015-09-24Merge branch 'master' into core-updatesLudovic Courtès
2015-09-24download: 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ès
2015-09-23download: 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 Sprang
2015-09-23emacs-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 Weaver
2015-09-22Merge branch 'master' into core-updatesMark H Weaver
2015-09-17download: 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 Sprang
2015-09-16substitute: 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 Sprang
2015-09-14download: 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 Sprang
2015-09-14build: 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 Thompson
2015-09-13Merge branch 'master' into core-updatesLudovic Courtès
2015-09-11build-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-08build: 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 Sprang
2015-09-07build: 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 Thompson
2015-09-07build: 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 Thompson
2015-09-06utils: 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 Weaver
2015-09-06emacs-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 Kost
2015-09-05build: syscalls: Properly handle clone errors....* guix/build/syscalls.scm (clone): Catch -1 return value and throw error. David Thompson
2015-08-31build: 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 Wurmus
2015-08-30utils: 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ès
2015-08-30utils: 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ès