summaryrefslogtreecommitdiff
path: root/guix/packages.scm
Commit message (Collapse)AuthorAge
* packages: Add `package-output'.Ludovic Courtès2013-02-16
| | | | | * guix/packages.scm (package-output): New procedure. * tests/packages.scm ("package-output"): New test.
* Re-export `%current-system' from (guix packages).Ludovic Courtès2013-02-10
| | | | | | | | | | | | * guix/packages.scm: Re-export `%current-system'. * gnu/packages/bdw-gc.scm, gnu/packages/gawk.scm, gnu/packages/gperf.scm, gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm, gnu/packages/lout.scm, gnu/packages/m4.scm, gnu/packages/multiprecision.scm, gnu/packages/ncurses.scm, gnu/packages/perl.scm, gnu/packages/pkg-config.scm, gnu/packages/readline.scm, gnu/packages/recutils.scm, gnu/packages/scheme.scm: Remove (guix utils) import.
* store: Remove the `fixed?' parameter from `add-to-store'.Ludovic Courtès2013-01-30
| | | | | | | | * guix/store.scm (add-to-store): Remove the `fixed?' parameter from the public interface. * gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm, guix/packages.scm, tests/derivations.scm: Update all callers accordingly.
* packages: Mark the `inputs' field of <package> as thunked.Ludovic Courtès2013-01-24
| | | | | | | | | | | * guix/packages.scm (<package>)[inputs]: Mark as thunked. (package-derivation)[expand-input]: Remove case where the input is a procedure. * tests/packages.scm ("trivial with system-dependent input"): Remove `lambda', and use (%current-system). * gnu/packages/bootstrap.scm (package-from-tarball): Likewise for `inputs'. (%bootstrap-glibc, %bootstrap-gcc): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise.
* packages: Mark the `arguments' field of <package> as thunked.Ludovic Courtès2013-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (<package>): Mark `arguments' as thunked. (package-derivation): Adjust accordingly. Parameterize %CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it. * guix/build-system/gnu.scm (package-with-explicit-inputs): Expect `package-arguments' to always return a list, and return a list. (package-with-extra-configure-variable): Likewise. (static-package): Likewise. * gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0, gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper, static-bash-for-glibc, binutils-final, gcc-final): Change `arguments' from a lambda to a list, and use (%current-system) as needed. (nix-system->gnu-triplet, boot-triplet): Have the first argument default to (%current-system). * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system' default to (%current-system). (%bootstrap-gcc): Change `arguments' to a list. * gnu/packages/gawk.scm (gawk): Likewise. * gnu/packages/m4.scm (m4): Likewise. * gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and expect `package-arguments' to return a list. (%static-inputs, %gcc-static, tarball-package): Likewise. * gnu/packages/ncurses.scm (ncurses): Likewise.
* packages: Remove redundant test for inputs-as-procedures.Ludovic Courtès2013-01-22
| | | | | * guix/packages.scm (package-derivation)[expand-input]: Remove redundant test when the input is a procedure.
* packages: Have `package-derivation' return a <derivation> as a second value.Ludovic Courtès2013-01-20
| | | | | | | | | * guix/packages.scm (cache): Change the `drv' argument to `thunk'. Memoize all the return values of THUNK. (cached-derivation): Remove. (cached): New macro. (package-derivation): Use `cached' instead of `(or (cached-derivation) …)'. * doc/guix.texi (Defining Packages): Update accordingly.
* packages: Change `base32' to allow non-literal strings.Ludovic Courtès2013-01-17
| | | | * guix/packages.scm (base32): Allow arguments that are not literal strings.
* Update license headers.Ludovic Courtès2013-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually.
* packages: Add missing export.Ludovic Courtès2012-11-25
| | | | * guix/packages.scm: Export `package-home-page'.
* Move base32 code to (guix base32).Ludovic Courtès2012-11-11
| | | | | | | | | | | | | | | | | | | | | | * guix/utils.scm (bytevector-quintet-ref, bytevector-quintet-ref-right, bytevector-quintet-length, bytevector-quintet-fold, bytevector-quintet-fold-right, make-bytevector->base32-string, %nix-base32-chars, %rfc4648-base32-chars, bytevector->base32-string, bytevector->nix-base32-string, bytevector-quintet-set!, bytevector-quintet-set-right!, base32-string-unfold, base32-string-unfold-right, make-base32-string->bytevector, base32-string->bytevector, nix-base32-string->bytevector): Move to... * guix/base32.scm: ... here. New file. * tests/utils.scm (%nix-hash, "bytevector->base32-string", "base32-string->bytevector", "nix-base32-string->bytevector", "sha256 & bytevector->base32-string"): Move to... * tests/base32.scm: ... here. New file * guix-download.in, guix/derivations.scm, guix/packages.scm, guix/snix.scm, tests/builders.scm, tests/derivations.scm: Adjust accordingly. * guix.scm (%public-modules): Add `base32'.
* packages: `description' → `synopsis', `long-description' → `description'.Ludovic Courtès2012-11-04
| | | | | | | | | * guix/packages.scm (<package>): Rename `description' to `synopsis', and `long-description' to `description'. * tests/packages.scm, distro/packages/base.scm, distro/packages/databases.scm, distro/packages/guile.scm, distro/packages/typesetting.scm: Update accordingly. * po/Makevars (XGETTEXT_OPTIONS): Update `--keyword' flags accordingly.
* guix-build: Gracefully handle `&package-input-error' conditions.Ludovic Courtès2012-10-27
| | | | | | * guix/packages.scm: Export `package-error?' and `package-input-error?'. * guix-build.in (guix-build): Catch `&package-input-error' conditions, print a human-readable message, and exit.
* packages: Pass `system' around.Ludovic Courtès2012-10-25
| | | | | | | | | | * guix/packages.scm (package-source-derivation): Add `system' parameter. Pass it to METHOD. (package-derivation)[expand-input]: Pass SYSTEM to `package-derivation' and `package-source-derivation'. * distro/packages/base.scm (package-with-bootstrap-guile)[boot]: Pass SYSTEM to FETCH.
* packages: Add support for system-dependent inputs.Ludovic Courtès2012-10-21
| | | | | | | | | | | * guix/packages.scm (package-derivation)[intern]: New procedure. Pass #t as the `recursive?' argument, instead of #f. [expand-input]: New procedure, with code formerly in the body. Support inputs where the input is a procedure returning a file name or an <origin>. Use `expand-input' in the body. * tests/packages.scm ("trivial with system-dependent input"): New test.
* packages: Fix and optimize memoization of `package-derivation'.Ludovic Courtès2012-10-08
| | | | | | * guix/packages.scm (%derivation-cache): Pass an initial size of 100. (cache): Use `hashq-set!', and use a SYSTEM/DRV pair as the value. (cached-derivation): Update accordingly.
* packages: Micro-optimize `package-derivation'.Ludovic Courtès2012-10-08
| | | | | * guix/packages.scm (package-derivation): Move `cache' call before the traversal of PACKAGE's inputs.
* Add (guix build-system trivial).Ludovic Courtès2012-09-10
| | | | | | | | * guix/build-system/trivial.scm: New file. * Makefile.am (MODULES): Add it. * tests/packages.scm ("trivial"): New test. * guix/packages.scm (package-derivation): Allow SOURCE to be #f.
* packages: Accept <origin> as package inputs.Ludovic Courtès2012-09-06
| | | | | * guix/packages.scm (package-derivation): Accept use of an <origin> as an input.
* packages: Add `package-full-name'.Ludovic Courtès2012-09-05
| | | | | * guix/packages.scm (package-full-name): New procedure. (package-derivation): Use it.
* Move <location> to (guix utils).Ludovic Courtès2012-09-03
| | | | | * guix/packages.scm (<location>, location): Move to... * guix/utils.scm: ... here.
* packages: Add `package-transitive-propagated-inputs'.Ludovic Courtès2012-09-02
| | | | | | * guix/packages.scm (transitive-inputs): New procedure. (package-transitive-inputs): Rewrite in terms of `transitive-inputs'. (package-transitive-propagated-inputs): New procedure.
* packages: Cache the result of `package-derivation'.Ludovic Courtès2012-09-02
| | | | | | * guix/packages.scm (%derivation-cache): New variable. (cache, cached-derivation): New procedures. (package-derivation): Use them.
* packages: Add a printer for <package>.Ludovic Courtès2012-09-02
| | | | * guix/packages.scm (<package>): Add record printer.
* packages: Raise an error condition upon invalid input.Ludovic Courtès2012-08-23
| | | | | | | * guix/packages.scm (&package-error, &package-input-error): New condition types. (package-derivation): Raise a `&package-input-error' when no match is made.
* packages: Add all non-derivation paths to the store.Ludovic Courtès2012-08-16
| | | | | * guix/packages.scm (package-derivation): Add all non-derivation paths to the store.
* packages: Allow store paths as inputs.Ludovic Courtès2012-08-16
| | | | | * guix/packages.scm (package-derivation): Allow non-derivation store paths as inputs.
* Add `package-transitive-inputs'; use it to honor propagated inputs.Ludovic Courtès2012-07-07
| | | | | | | | * guix/packages.scm (package-transitive-inputs): New procedure. (package-derivation): Use it to compute INPUTS. * tests/packages.scm (dummy-package): New macro. ("package-transitive-inputs"): New test.
* packages: Allow inputs that are local files.Ludovic Courtès2012-07-05
| | | | | * guix/packages.scm (package-derivation): Add to the store inputs that are local files.
* packages: Add a `self-native-input?' field.Ludovic Courtès2012-07-05
| | | | | * guix/packages.scm (<package>)[self-native-input?]: New field. (package-derivation): Update/fix pattern.
* Rename <package-source> to <origin>; use the `letrec*' behavior in packages.Ludovic Courtès2012-07-03
| | | | | | | | * guix/packages.scm (<package-source>): Rename to... (<origin>): ... this. Update users. * distro/base.scm (libsigsegv, gawk, hello): Adjust to renaming; refer to VERSION to build the URL.
* Add a `base32' macro, for convenience.Ludovic Courtès2012-07-02
| | | | | | * guix/packages.scm (base32): New macro. * distro/base.scm (libsigsegv, gawk, hello): Use it.
* packages: Allow the `arguments' field to be a procedure.Ludovic Courtès2012-07-02
| | | | | | | | * guix/packages.scm (package-derivation): When ARGS is a procedure, call (ARGS SYSTEM). * distro/base.scm (gawk)[arguments]: Turn into a procedure, to disable tests on Cygwin.
* Add `propagated-inputs' and `properties' to <package>.Ludovic Courtès2012-07-02
| | | | | | * guix/packages.scm (<package>)[propagated-inputs, properties]: New fields. (package-derivation): Update `match' clause.
* distro: Add libsigsegv and GNU Awk.Ludovic Courtès2012-06-29
| | | | | | | * guix/packages.scm (<package>)[arguments]: Default to '(). * distro/base.scm (libsigsegv, gawk): New packages. (hello): Use GAWK instead of (nixpkgs-derivation "gawk").
* packages: Add a `home-page' field.Ludovic Courtès2012-06-28
| | | | | | * guix/packages.scm (<package>)[home-page]: New field. * distro/base.scm (hello)[home-page]: Initialize.
* Track the source location of packages.Ludovic Courtès2012-06-28
| | | | | | | | * guix/packages.scm (<location>): New record type. (location, source-properties->location): New procedures. (<package>)[location]: New field. * tests/packages.scm ("GNU Hello"): Test `package-location'.
* Add a declarative packaging layer.Ludovic Courtès2012-06-28
* Makefile.am (MODULES): Add `guix/packages.scm' and `distro/base.scm'. (TESTS): Add `tests/packages.scm'. (EXTRA_DIST): New variable. * guix/packages.scm, distro/base.scm, tests/packages.scm: New files. * guix/http.scm (http-fetch): Make `name' an optional argument, to match the expectations of `package-source-derivation'.