-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathTODO
146 lines (103 loc) · 4.96 KB
/
TODO
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
EUHC: patch
List-SomeUtils
B-Hooks-EndOfScope
Moose?
App-Midgen -> seems to use MI presently
namespace-clean -- ribasushi's --- should just use EUHC directly
Class-Accessor-Group -- ribasushi - uses MI presently
Devel-GlobalDestruction -- haarg's
Params-Util -- adamk
-----------------
; patch MI::Can, Devel::CheckBin with updates that I develop here.
(or ensure they depend on fixed versions - maybe_command needs 6.51_01, 6.69_04)
check implementation of Devel::CheckBin vs. File::Which and ensure we are
using the best one; document the differences:
https://rt.cpan.org/Ticket/Display.html?id=101893
----------------
include_subs definitions:
- B-Hooks-EndOfScope, ribasushi
for...
- https://metacpan.org/source/HAARG/Devel-GlobalDestruction-0.13/Makefile.PL#L121
new sub: is_perl_version, or has_perl -- which checks $]
document teh format expected of the argument
20:06 <@ether> . o O ( if you were calling a helper sub that checked $], would you rather: is_perl_version('5.008001'), or has_perl('5.008001')? )
20:07 < genehack> are those exact comparisons?
20:07 < genehack> because otherwise i might lean towards perl_greater_than()
20:09 <@ether> true, the first one is ambiguous
20:09 <@ether> they'd map to $] >= $_[0]
20:10 <@ether> so it would ahve to be perl_greater_than_or_equal_to(), at which point most people are going to just use $] :)
20:10 * ether will sleep on has_perl()
20:14 < genehack> is_perl_this_big()
20:14 < Grinnz> is_perl_tall_enough_to_go_on_this_ride()
20:14 < genehack> more seriously, is_perl_at_least()
20:16 < Grinnz> no google autocomplete suggestions for "is perl at least" :(
20:17 < Grinnz> "is perl at least gonna drive me home"
20:45 <@ether> perl is my designated driver
20:53 * jberger checks key for ether's cabinets
01:03 <@kentnl> ether: perl_cmp("gte", "5.008001" ) ?
01:03 <@kentnl> or just perl_gte() will work
01:05 <@kentnl> alternatively, do a CPS with a bless
01:05 <@kentnl> lol. no.
01:07 <@kentnl> perl_newer_than("5.008001") # >= 5.008001, perl_older_than("5.008001") # <= 5.008001
02:47 <@dolmen> ether: use Test::Is 'perl v5.8.1';
02:48 <@dolmen> ether: anyway, a test against $] should be evaluated at compile time, so the compilation can directly inline the right block
02:50 <@dolmen> ether: use constant IS_PERL_MIN_5_8_1 => $] >= 5.008001;
^^^ we want to generate a constant sub here with the argument baked in, for proper folding.
^^^ do the same for $^O checks as well!
---------------
check out these subs in Module::Install, as in https://metacpan.org/source/GFUJI/Data-Util-0.63/Makefile.PL:
if(want_xs()){
use_xshelper;
cc_warnings;
cc_define '-DINLINE_STR_EQ';
}
else{
requires 'Hash::Util::FieldHash::Compat';
}
when we add -requires, it needs to sanely merge with existing prereqs,
using CPAN::Meta::Requirements.
make this optional: -merge_requires = ...
so we don't always force a configure-requires on CMR.
----------------
methods not yet defined:
- has_compiler()
---------------
*** who are the customers for this?
- B-Hooks-EndOfScope
- https://metacpan.org/source/HAARG/Devel-GlobalDestruction-0.13/Makefile.PL#L121
- anything using DynamicPrereqs today
- search for can_xs, can_cc in grep.cpan.me
- Moose
TODO:
when adding TEST_REQUIRES, inject a configure-requires for EUMM 6.63_03
check for other minimums too.
all known users of [MakeMaker::Custom]:
https://metacpan.org/release/CJM/PostScript-Report-0.13
https://metacpan.org/release/CJM/PostScript-ScheduleGrid-0.04
https://metacpan.org/release/CJM/Win32-Setupsup-1.12
https://metacpan.org/release/GNUSTAVO/Git-Hooks-1.6.1
https://metacpan.org/release/GNUSTAVO/SVN-Look-0.41
https://metacpan.org/release/JWANG/Encode-HP-0.03
https://metacpan.org/release/JWANG/Encode-VN-0.06
https://metacpan.org/release/KAMENSKY/Text-Bidi-2.09
https://metacpan.org/release/NYAKNYAN/MongoDB-Async-0.702.3
https://metacpan.org/release/PLICEASE/App-RegexFileUtils-0.06
https://metacpan.org/release/PLICEASE/File-Listing-Ftpcopy-0.05
https://metacpan.org/release/RTWARD/Hg-0.003
Getty wants a cpanfile (with the dynamic prereqs) to be generated.
ok, sure, I can do that by appending to an existing cpanfile if one is created
in the dist...
can do this by swapping out the FromCode sub with a method modified one.
13:40 < Getty> we have a lot of dzil plugin which have capabilities i would
like indepedent
13:46 < ether> I can't do cpanfile stuff with the current [DynamicPrereqs], as
the code is still specified raw, for direct insertion into Makefile.PL, but in
the future I'll support things like:
13:46 < ether> [DynamicPrereqs]
13:46 < ether> -condition is_os(mswin32)
13:46 < ether> -condition is_perl(>=5.12)
13:46 < ether> -runtimerequires = Foo::Bar 1.0
13:46 < ether> etc
13:46 < ether> and that's easily translatable into cpanfile snippets too
13:46 < leont> This sounds like a cpanfile, except not turing-complete ;-)
13:47 < ether> heh, yeah, kinda like how the syntax *should* have been :D