aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Expand)AuthorAge
* 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
* 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
|/
* build: ruby: Rewrite build system to use gem archives.•••Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl> * guix/build-system/ruby.scm (lower): Remove git dependency. (rubygems-uri): New procedure. * guix/build/ruby-build-system (gitify): Delete. (unpack): Use 'gem unpack' utility. (check): Add docstring. (build): Repack modified gem. (install): Rebuild unpacked gem and install it. (%standard-phases): Remove gitify and build phases. * gnu/packages/ruby.scm (ruby-hoe, ruby-rake-compiler, ruby-i18n, ruby-rspec-support, ruby-rspec-core, ruby-diff-lcs-for-rspec, ruby-rspec-expectations, ruby-rspec-mocks, ruby-rspec, bundler, ruby-useragent, ruby-bacon, ruby-arel, ruby-connection-pool, ruby-net-http-persistent, ruby-minitest, ruby-minitest-sprint, ruby-minitest-bacon, ruby-daemons, ruby-git, ruby-slop, ruby-multipart-post): Convert to new build system. * doc/guix.texi (ruby-build-system): Document the gem archive requirement. David Thompson2015-08-18
* syscalls: setns: Skip binding if there is no such C function.•••On systems with a glibc prior to 2.14, the 'setns' function is not available. Thanks to Eric Bavier for reporting the issue. * guix/build/syscalls.scm (setns): Wrap with 'false-if-exception'. David Thompson2015-08-17
* python-build-system: Fix 'get-python-version'.•••* guix/build/python-build-system.scm (get-python-version): Rewrite to handle multiple-digit version number components. Mark H Weaver2015-08-06
* build: emacs: Fix bug and improvement robustness.•••* guix/build/emacs-build-system.scm (emacs-inputs): Fix matching pattern. (patch-el-files): Improve regexp pattern. Federico Beffa2015-08-01
* syscalls: Add 'network-interfaces', which wraps libc's 'getifaddrs'.•••Based on discussions with Rohan Prinja <rohan.prinja@gmail.com>. * guix/build/syscalls.scm (<interface>): New record type. (write-interface, values->interface, unfold-interface-list, network-interfaces, free-ifaddrs): New procedures. (ifaddrs): New C struct. (%struct-ifaddrs-type, %sizeof-ifaddrs): New macros. * tests/syscalls.scm ("network-interfaces returns one or more interfaces", "network-interfaces returns \"lo\""): New tests. Ludovic Courtès2015-07-25
* syscalls: 'define-c-struct' properly align reads.•••* guix/build/syscalls.scm (alignof*, align): New macros. (write-types, read-types): Use 'align' to compute the actual offset to read/write a value of TYPE0. Ludovic Courtès2015-07-25
* syscalls: 'read-socket-address' gracefully handles unsupported families.•••* guix/build/syscalls.scm (PF_PACKET, AF_PACKET): New variables. (read-socket-address): Make 'index' optional. Return (vector FAMILY) when FAMILY is neither AF_INET nor AF_INET6. Ludovic Courtès2015-07-25
* syscalls: 'define-c-struct' distinguishes pointers from integers.•••* guix/build/syscalls.scm (read-type): Add special-case for when TYPE is '*. Ludovic Courtès2015-07-25
* syscalls: Rename 'network-interfaces' and 'all-network-interfaces'.•••* guix/build/syscalls.scm (network-interfaces): Rename to... (network-interface-names): ... this. (all-network-interfaces): Rename to... (all-network-interface-names): ... this. * gnu/services/networking.scm (dhcp-client-service): Adjust accordingly. * tests/syscalls.scm ("all-network-interfaces"): Rename to... ("all-network-interface-names"): ... this, and adjust accordingly. ("network-interfaces"): Rename to... ("network-interface-names"): ... this, and adjust accordingly. Ludovic Courtès2015-07-25
* Merge branch 'master' into core-updatesMark H Weaver2015-07-19
|\
| * build-system/ruby: Add #:gem-flags parameter.•••* guix/build-system/ruby.scm (build): add 'gem-flags' key * guix/build/ruby-build-system.scm (build): use 'gem-flags' key * doc/guix.texi (Build Systems): Mention #:gem-flags. Co-authored-by: Ludovic Courtès <ludo@gnu.org> pjotrp2015-07-18
| * syscalls: Struct deserializer can now return arbitrary objects.•••* guix/build/syscalls.scm (read-types): Add RETURN and VALUES parameters. (define-c-struct): Add WRAP-FIELDS parameter and pass it to 'read-types'. (sockaddr-in, sockaddr-in6): Add first argument that uses 'make-socket-address'. (read-socket-address): Remove 'match' on the result of 'read-sockaddr-in' and 'read-sockaddr-in6'. Ludovic Courtès2015-07-17
| * download: Remove spurious warning about 'https_proxy'.•••* guix/build/download.scm (open-connection-for-uri)[with-https-proxy]: Warn about 'https_proxy' only when 'getenv' returns a non-empty string. Ludovic Courtès2015-07-17
* | python-build-system: Add 'ensure-no-mtimes-pre-1980' phase.•••* guix/build/python-build-system.scm (ensure-no-mtimes-pre-1980): New phase. (%standard-phases): Add it after 'unpack'. Mark H Weaver2015-07-16
* | build-system/gnu: Pass --build=<triplet> to configure by default.•••* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept #:build keyword argument. Pass it to 'gnu-build' on the build side. * guix/build/gnu-build-system.scm (configure): Accept #:build keyword argument. Unless it is false, pass --build to configure. Mark H Weaver2015-07-13
|/
* build: Add 'emacs-build-system'.•••* Makefile.am (MODULES): Add 'guix/build-system/emacs.scm' and 'guix/build/emacs-build-system.scm'. * guix/build-system/emacs.scm: New file. * guix/build/emacs-build-system.scm: New file. * doc/guix.texi (Build Systems): Document it. Federico Beffa2015-07-08
* build: emacs-utils: Add 'emacs-byte-compile-directory'.•••* guix/build/emacs-utils.scm (emacs-byte-compile-directory): New procedure. Federico Beffa2015-07-08
* build: syscalls: Add pivot-root.•••* guix/build/syscalls.scm (pivot-root): New procedure. * tests/syscalls.scm ("pivot-root"): New test. David Thompson2015-07-07
* build: syscalls: Add setns.•••* guix/build/syscalls.scm (setns): New procedure. * tests/syscalls.scm ("setns"): New test. squash: setns David Thompson2015-07-07
* build: syscalls: Add clone.•••* guix/build/syscalls.scm (clone): New procedure. (CLONE_NEWNS, CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNET): New variables. * tests/syscalls.scm ("clone"): New test. David Thompson2015-07-07
* build: syscalls: Add mkdtemp!•••* guix/build/syscalls.scm (mkdtemp!): New procedure. * tests/syscalls.scm ("mkdtemp!"): New test. David Thompson2015-07-07
* build: syscalls: Add unmount flags.•••* guix/build/syscalls.scm (MNT_FORCE, MNT_DETACH, MNT_EXPIRE) (UMOUNT_NOFOLLOW): New variables. David Thompson2015-07-07