123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- -*- mode: org; coding: utf-8; -*-
- #+TITLE: What's left to do?
- #+STARTUP: content hidestars
- Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
- Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved.
- * MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
- Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
- rather libswift (since DHTs aren’t suited for large payloads). Guix users
- would sign their binaries, and define which binaries they trust.
- Use UPnP and similar to traverse NAT, like ‘filegive’ does.
- * user interface
- ** add guile-ncurses interface
- * extend <package>
- ** add ‘recommends’ field
- For instance, glibc, binutils, gcc, and ld-wrapper would recommend each other.
- ‘guix package -i’ could ask interactively (?), or allow users to follow all or
- none of the recommendations.
- ** add a ‘user-environment-hook’
- This should specify builder code to be run when building a user
- environment with ‘guix-package’. For instance, Texinfo’s hook would
- create a new ‘dir’.
- ** extend ‘propagated-build-inputs’ with support for multiple outputs
- #+BEGIN_SRC scheme
- (outputs '("out" "include"))
- (propagated-build-inputs
- `(((("i1" ,p1 "o1")
- ("i2" ,p2))
- => "include")
- ("i3" ,p3)))
- #+END_SRC
- * synchronize non-GNU package descriptions with the [[http://directory.fsf.org][FSD]]
- Meta-data for GNU packages, including descriptions and synopses, can be
- dumped from the FSD:
- http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
- We could periodically synchronize with that.
- * add a guildhall build system
- The Guildhall is Guile’s packaging system. It should be easy to add a
- ‘guildhall-build-system’ that does the right thing based on guildhall
- recipes.
- * union
- Support sophisticated collision handling when building a union: honor
- per-package priorities, etc.
- * add GUIX_ALLOW_EXPENSIVE_TESTS
- Tests that need to download stuff or otherwise take a long time would only be
- run when that is defined.
- * guix build utils
- ** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name
- ** MAYBE Add equivalent to chrpath that uses [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
- ** MAYBE Add a hash-rewriting thing for deep dependency replacement without rebuild
- See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]].
- * distro
- ** port to GNU/Hurd, aka. ‘i686-gnu’
- Problems include that current glibc releases do not build on GNU/Hurd.
- In addition, there haven’t been stable releases of GNU Mach, MiG, and
- Hurd, which would be a pre-condition.
- * Installer
- ** Fix impossibility to restart on error after cow-store has been started
- See https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
- - Force reboot upon installer failure
- - Unshare the installer process
- - Run the installer process in a separate namespace
- ** Partitioning
- *** Add RAID support
- *** Add more partitioning schemes
- The actual schemes are taken from Debian Installer but some are not
- implemented yet: like "Separate partitions for /home /var and /tmp".
- *** Replace wait page "Partition formating is in progress, please wait"
- Create a new waiting page describing what's being done:
- [ 20% ]
- Running mkfs.ext4 on /dev/sda2 ...
- [ 40% ]
- Running mkfs.ext4 on /dev/sda3 ...
- *** Add a confirmation page before formating/partitioning
- ** Desktop environments
- *** Allow for no desktop environments
- Propose to choose between "headless server" and "lightweight X11" in a new
- page.
- *** Add services selection feature
- Add a services page to the configuration. Ask for services to be installed
- like SSH, bluetooth, TLP in a checkbox list?
- ** Locale and keymap
- *** Try to guess user locale and keymap by probing BIOS or HW (dmidecode)
- ** Timezone
- *** Regroup everything in one single page
- Under the form:
- (UTC + 1) Europe/Paris
- (UTC + 2) Africa/Cairo
- ...
- ** Display issue
- *** Investigate display issue described here:
- https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00305.html
|