[META] More TODOs
[parrot-plumage:parrot-plumage.git] / TODO
1 ### Looking for something to work on?  See TASKS.
2 ###
3 ### This file is more of a "don't forget to do this" list.
4
5
6 Study:
7 ------
8 * CPAN META/MYMETA changes afoot
9 * proto changes afoot
10 * Haskell Cabal
11 * Ruby Rake
12 * ExtUtils::Liblist
13
14
15 Metadata:
16 ---------
17 * general
18   * Easy way to reference CREDITS file in contributors key?
19   * Repo fetches from tip have version 'HEAD'
20 * instructions
21   * 'fetch' of a repository should have 'repository' as its type
22   * 'type's must have underscores, not hyphens
23   * Special case of configure type for accepting --parrot-config option?
24   * What about update and cleanup?
25   * What about multiple instructions per key?
26     * Allow value to be either hash or array of hashes?
27 * dependency-info
28   * 'provides' is always an array
29   * HLLs provide their project name and their language name
30
31
32 Plumage:
33 --------
34 * Hosting:
35   * allison looking into parrot.org
36   * moritz gave access to a Debian Lenny box
37 * Functionality:
38   * update instead of just fetch
39     * or at least a fix for git fetch when repo already exists
40   * sudo for install
41   * System and local installs
42   * Anything proto can do
43 * Spec:
44   * Add Stakeholders section
45   * Add Usage Scenarios section
46   * Author v. User dynamic dependency differences (aka META v. MYMETA)
47   * DSLIP info in META?
48   * Interoperate with pkg-config and/or ExtUtils::Liblist?
49     * Use them to find system libs?  Or use their *algorithms* to do so?
50       * #toolchain considered writing a Pure Perl pkg-config workalike
51       * ExtUtils::PkgConfig exists ...
52     * Generate .pc files if module install type does not automatically do so
53     * Hmmm, seems to be some fail here WRT standardizing lib names ...
54 * Misc suggestions
55   * Avoid asking questions (after first setup?) if at all possible
56   * rake madness (from Cardinal):
57     * rake clobber
58     * git pull
59     * PARROT_CONFIG={{parrot_dir whatever}}/parrot_config rake cardinal
60     * rake test:all
61 * Suggestions from proto-ng team
62   * $PREFIX defaults to $HOME/.ecosystem/lib
63   * Rakudo doing:
64     * [builtins/globals.pir] preload $HOME/.perl6lib and languages/perl6/lib in @*INC
65     * $HOME/.perl6/lib + $HOME/.perl6/proto/config ?
66     * parrot_install/bin + parrot_install/lib/1.5.0-devel/languages/perl6/
67     * From #perl6:
68       * mberends does not like adding directories to PATH
69         mberends does 'sudo ln -s <parrot_install>/bin/perl6 /usr/local/bin' instead
70
71
72 Parrot:
73 -------
74 * Fixes needed:
75   * More secure pipe spawn
76     * current insecure version does 'sh', '-c', 'command and args'
77 * Config values needed:
78   * PATH separator
79 * Finish JSON -> data_json conversion
80   * Change tests to use data_json language
81   * Deprecate JSON language
82
83
84 NQP:
85 ----
86 * HLL interop: allow NQP to be used by other languages
87 * Have to say 'our $OS;' to declare variable defined in Glue.pir
88 * How to create/set/use class attributes in NQP?
89 * Fix needing executable fix hack at top of file: Q:PIR{load_language 'nqp'};
90
91
92 data_json:
93 ----------
94 * Less pedantic parse
95   * Allow trailing comma in array and hash
96   * Allow unquoted keys
97 * Better error messages!