aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: 3a8a77b14578198cf34bda053528005fa766cae5 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
-*- 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.

Return #t from pre-configure phase....* gnu/packages/base.scm (glibc/linux)[arguments]: Return #t from the pre-configure phase. Mark H Weaver 2018-03-22gnu: make: End phase on #t....* gnu/packages/base.scm (gnu-make)[arguments]: Return #t from 'set-default-shell' phase. Marius Bakke 2018-03-22gnu: make: Fix compatibility with glibc 2.27....* gnu/packages/patches/make-glibc-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/base.scm (gnu-make)[source](patches): Use it. Marius Bakke 2018-03-22gnu: glibc: Update to 2.27....* gnu/packages/base.scm (glibc/linux): Update to 2.27. [source](patches): Add 'glibc-hidden-visibility-ldconfig.patch' and 'glibc-2.27-git-fixes.patch'. [native-inputs]: Add BISON. [arguments]: Remove deprecated "--enable-add-ons" from #:configure-flags. Also remove unneeded "libc_cv_ssp=no" and "libcv_ssp_strong=no". (glibc-2.26): New public variable. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]: Add BISON-BOOT0. * gnu/packages/patches/glibc-2.27-git-fixes.patch, gnu/packages/patches/glibc-hidden-visibility-ldconfig.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. Marius Bakke 2018-03-21gnu: tzdata-for-tests: Update to 2018c....* gnu/packages/base.scm (tzdata-for-tests): Replace with a simple hidden copy of 'tzdata'. Mark H Weaver 2018-03-20Merge branch 'master' into core-updatesMark H Weaver 2018-03-16gnu: glibc: Don't apply upstreamed patch in newer glibc versions....* gnu/packages/base.scm (glibc/linux, glibc-2.25, glibc-2.24, glibc-2.23)[source](patches): Remove 'glibc-o-largefile.patch'. (glibc-2.22)[source](patches): Add it. Marius Bakke 2018-03-16gnu: binutils: Update to 2.30....* gnu/packages/patches/binutils-ld-new-dtags.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/base.scm (binutils): Update to 2.30. [source](patches): Remove obsolete patch. [arguments]: Add "--enable-new-dtags" in #:configure-flags. Marius Bakke 2018-03-16gnu: tar: Fix sparse file detection on Btrfs file systems....* gnu/packages/patches/tar-remove-wholesparse-check.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (tar)[source]: Add patch. Mark H Weaver 2018-03-16gnu: All snippets report errors using exceptions, else return #t....* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t. Mark H Weaver 2018-03-16gnu: tzdata: Use invoke instead of system*....* gnu/packages/base.scm (tzdata)[arguments]: Use invoke. Return a boolean from all phase procedures. Mark H Weaver 2018-03-16gnu: glibc/hurd: Use invoke instead of system*....* gnu/packages/base.scm (glibc/hurd)[arguments]: In the build phase procedure, use 'invoke' instead of 'system*' and remove the vestigial result code plumbing. Change the local macro 'make' into a normal procedure. Mark H Weaver 2018-03-16gnu: glibc-locales: Use invoke instead of system*....* gnu/packages/base.scm (glibc-locales)[arguments]: Use invoke. Mark H Weaver 2018-03-16gnu: glibc-utf8-locales: Use invoke instead of system*....* gnu/packages/base.scm (glibc-utf8-locales)[arguments]: Use invoke and remove the vestigial result code plumbing. Mark H Weaver 2018-03-14gnu: patch: Update to 2.7.6....* gnu/packages/base.scm (patch): Update to 2.7.6. * gnu/packages/patches/patch-hurd-path-max.patch: Adjust to upstream changes. Marius Bakke 2018-03-14gnu: Ungraft glibc....* gnu/packages/base.scm (glibc-2.26-patched): Remove variable. (glibc/linux)[replacement]: Remove. [source]: Add "glibc-allow-kernel-2.6.32.patch" to patches. Ricardo Wurmus 2018-03-14Merge branch 'master' into core-updatesRicardo Wurmus 2018-03-14Revert "gnu: Use patched static bash in glibc replacement."...This reverts commit 42958b5e0feff1000ba17a353bb58fdf45f20716. Ricardo Wurmus 2018-03-14Revert "gnu: Add missing module to (gnu packages base)."...This reverts commit 911e66f922f2316f061656a6edf5f243342735b7. Ricardo Wurmus 2018-03-14gnu: Add missing module to (gnu packages base)....This is a follow-up to commit 42958b5e0feff1000ba17a353bb58fdf45f20716. Reported by pmikkelsen on IRC. * gnu/packages/base.scm: Use srfi-1 for alist-delete. Ricardo Wurmus 2018-03-14gnu: Use patched static bash in glibc replacement....* gnu/packages/base.scm (glibc-2.26-patched): Rename... (glibc-2.26-patched-boot): ...to this. (patched-static-bash, glibc-2.26-patched): New variables. Ricardo Wurmus 2018-03-08Merge branch 'master' into stagingMarius Bakke 2018-03-07gnu: glibc-2.26-patch: Remove unneeded 'replacement' field....* gnu/packages/base.scm (glibc-2.26-patched): Remove unneeded 'replacement' field. Ludovic Courtès 2018-03-06Merge branch 'master' into stagingLeo Famulari 2018-03-01gnu: Graft glibc to allow execution on Linux 2.6.32....* gnu/packages/patches/glibc-allow-kernel-2.6.32.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc/linux)[replacement]: New field. (glibc-2.26-patched): New variable. Ricardo Wurmus 2018-02-25gnu: tar: Skip faulty test....* gnu/packages/base.scm (tar)[arguments]: Add #:make-flags. Ludovic Courtès 2018-02-20gnu: tzdata: Restore the test variant tzdata-for-tests....Commit 62868f124cf (gnu: tzdata: Preserve directory layout from before tzdata 2018a) changed the derivation of this package, which doesn't need to change yet. * gnu/packages/base.scm (tzdata-for-tests)[arguments]: Copy the build arguments from before commit 62868f124cf9443a43f4ea5867da692e32e77c58. Leo Famulari 2018-02-20gnu: coreutils: Update to 8.29....* gnu/packages/base.scm (coreutils): Update to 8.29. Tobias Geerinckx-Rice 2018-02-20Merge branch 'master' into stagingMarius Bakke 2018-02-20gnu: glibc-hurd-headers: Update phase style....* gnu/packages/base.scm (glibc/hurd-headers)[arguments]: Use MODIFY-PHASES syntax and INVOKE, and end phases with #t. Tobias Geerinckx-Rice 2018-02-19gnu: tzdata: Preserve directory layout from before tzdata 2018a....tzdata 2018a instroduced some changes to the build and installation procedures that commit e2832cdc3 failed to address. They are described in the NEWS file. This is a followup to commit e2832cdc3599e3bbc0362f9749835ffbae1b1944. * gnu/packages/base.scm (tzdata)[arguments]: Set TZDEFAULT. Remove the time-zone utility programs in a build phase. Leo Famulari 2018-02-19gnu: tar: Update to 1.30....* gnu/packages/base.scm (tar): Update to 1.30. [source]: Remove 'tar-CVE-2016-6321.patch'. * gnu/packages/patches/tar-CVE-2016-6321.patch: Remove. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Signed-off-by: Leo Famulari <leo@famulari.name> Alex Vong 2018-02-19gnu: tzdata: Update to 2018c....* gnu/packages/base.scm (tzdata): Update to 2018c. Leo Famulari 2018-02-03Merge branch 'master' into core-updatesMark H Weaver 2018-02-01gnu: Add copyright statement for Alex Vong....This is a followup to commit 20be64dcf7d4d08e75eb56c34890420bea7882ec. * gnu/packages/base.scm: Add copyright statement. Leo Famulari 2018-02-01gnu: glibc@2.25: Don't apply glibc-CVE-2015-5180.patch....This was mistakenly added in 67d527e35e367c9e9e89ec01cda2ce32cabd2d89 and already included in glibc 2.25. * gnu/packages/base.scm (glibc-2.25)[source](patches): Remove 'glibc-CVE-2015-5180.patch'. Marius Bakke 2018-01-11Merge branch 'master' into core-updatesLeo Famulari 2018-01-11gnu: grep: Add dependency on PCRE....Suggested by Oleg Pykhalov <go.wigust@gmail.com> and Roel Janssen <roel@gnu.org>. * gnu/packages/base.scm (grep)[inputs]: New field. * gnu/packages/commencement.scm (grep-final)[inputs]: New field. Ludovic Courtès 2018-01-02Revert "gnu: glibc: Fix CVE-2017-15670, CVE-2017-15671."...These issues has been classified as minor by Debian: https://security-tracker.debian.org/tracker/CVE-2017-15670 https://security-tracker.debian.org/tracker/CVE-2017-15671 In addition, the patch only fixes one of the two CVEs it claims to fix. We don't backport most CVEs, especially non-critical ones, so no need to carry this (which is in 2.26). See discussion at <https://bugs.gnu.org/29490>. This reverts commit 60e29339d8389e678bb9ca4bd3420ee9ee88bdf2. Marius Bakke