* TODO: Remove items about guix challenge & guix publish. Signed-off-by: Vincent Legoll <vincent.legoll@gmail.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
		
			
				
	
	
		
			85 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Org Mode
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Org Mode
		
	
	
	
	
	
-*- mode: org; coding: utf-8; -*-
 | 
						||
 | 
						||
#+TITLE: What's left to do?
 | 
						||
#+STARTUP: content hidestars
 | 
						||
 | 
						||
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 | 
						||
 | 
						||
  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.
 | 
						||
 |