Update 'TODO'.

This commit is contained in:
Ludovic Courtès 2013-12-20 00:37:41 +01:00
parent 3476ded934
commit 971cb56dd0

49
TODO
View file

@ -48,17 +48,6 @@ package.el is quite monolithic, but we may be able to reuse/extend
** add guile-ncurses interface ** add guile-ncurses interface
* extend <origin>
** add OpenPGP signatures:
(origin
(method http-fetch)
(uri "http://.../foo.tgz")
(signature-uri (string-append uri ".sig"))
(signer-openpgp-fingerprint "..."))
** allow <origin> to be a derivation/package or a file
* extend <package> * extend <package>
** add recommends field ** add recommends field
@ -84,28 +73,45 @@ create a new dir.
("i3" ,p3))) ("i3" ,p3)))
#+END_SRC #+END_SRC
* MAYBE use HOP-like escapes to refer to inputs in build-side code
* synchronize package descriptions with GSRC and/or the [[http://directory.fsf.org][FSD]] Instead of doing things like:
#+BEGIN_SRC scheme
(inputs `(("foo" ,foo)))
(arguments '(#:configure-flags
(list (string-append "--with-foo="
(assoc-ref %build-inputs "foo")))))
#+END_SRC
Allow things like:
#+BEGIN_SRC scheme
(inputs (list foo))
(arguments ~(#:configure-flags
(list (string-append "--with-foo=" $foo))))
#+END_SRC
... where '~' is 'build-quote' and '$' is 'build-unquote'. Better yet,
automatically compute the list of references of an expression passed to
'derivation-expression'.
Use a [[http://dorophone.blogspot.fr/2011/09/scheme-syntax-is-monad.html][monad]] for the syntax.
* synchronize non-GNU package descriptions with the [[http://directory.fsf.org][FSD]]
Meta-data for GNU packages, including descriptions and synopses, can be Meta-data for GNU packages, including descriptions and synopses, can be
dumped from the FSD: dumped from the FSD:
http://directory.fsf.org/wiki?title=GNU/Export&action=purge . http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
We could periodically synchronize with that. We could periodically synchronize with that.
See http://lists.gnu.org/archive/html/bug-guix/2013-04/msg00120.html for info
on how to synchronize with GSRC's descriptions.
* add a guildhall build system * add a guildhall build system
The Guildhall is Guiles packaging system. It should be easy to add a The Guildhall is Guiles packaging system. It should be easy to add a
guildhall-build-system that does the right thing based on guildhall guildhall-build-system that does the right thing based on guildhall
recipes. recipes.
* build-expression->derivation: define `%system' in the builder
Would allow build expressions to have system-dependent code, like
`glibc-dynamic-linker'.
* add allowed-references in <package> * add allowed-references in <package>
[[file:~/src/nix/src/libstore/build.cc::if%20(drv.env.find("allowedReferences")%20!%3D%20drv.env.end())%20{][See how Nix implements that internally]]. [[file:~/src/nix/src/libstore/build.cc::if%20(drv.env.find("allowedReferences")%20!%3D%20drv.env.end())%20{][See how Nix implements that internally]].
@ -126,9 +132,6 @@ run when that is defined.
Would download a substitute, and compare its contents against a (hopefully Would download a substitute, and compare its contents against a (hopefully
locally-built) copy. locally-built) copy.
* guix package
** add --list-generations, and --delete-generations
* guix build utils * guix build utils
** MAYBE Change ld-wrapper to add RPATH for libs passed by file name ** MAYBE Change ld-wrapper to add RPATH for libs passed by file name