forked from StrawberryPerl/Perl-Dist-Strawberry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
228 lines (194 loc) · 8.45 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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
BEWARE: Mostly unsorted ideas
=============================
###
+ Net::DNS::Native
+ Log::Log4perl
Reply
Devel::NYTProf
AnyEvent
Type::Tiny
Perl::Critic
Devel::Cover
App::PMUtils (too big)
### add some from: https://metacpan.org/pod/Bundle::libwin32
### add to after-QA:
- OpenCL-patched
- pkg-config
- portable + Math::Float128
- PDL: test plplot (and other libs)
### openssl lib/engines/*.dll
### do we want to introduce $config{mystrawberryperlroot} ?
### set TERM= or set TERM=dumb ?
### gdb
- what about detached debug info?
- http://stackoverflow.com/questions/866721/how-to-generate-gcc-debug-symbol-outside-the-build-target
- http://marcioandreyoliveira.blogspot.cz/2008/03/how-to-load-debug-symbols-with-gdb.html
- https://www.technovelty.org/code/separate-debug-info.html
objcopy --only-keep-debug perl.exe perl.exe.debug
objcopy --add-gnu-debuglink=perl.exe.debug perl.exe
objcopy --only-keep-debug perl.exe perl.exe.debug
objcopy --remove-section=.gnu_debuglink perl.exe
objcopy --strip-debug perl.exe
objcopy --add-gnu-debuglink=perl.exe.debug perl.exe
ccflags ='-g -O2 -DDEBUGGING -DWIN32 -DPERL_TEXTMODE_SCRIPTS ... -fwrapv ...
optimize ='-g -O2 -DDEBUGGING',
ldflags ='-g -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
lddlflags='-mdll -g -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
ccflags ='-s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS ...
optimize ='-s -O2',
ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
ccflags_nolargefiles=' -g -O2 -DDEBUGGING -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields'
ldflags_nolargefiles='-g -L"C
c:\strawberry\perl\lib\Config_heavy.pl
s/(ccflags|optimize|ccflags_nolargefiles)(=.*?)-g -O2 -DDEBUGGING/$1-s -O2/;
s/(lddlflags|ldflags|ldflags_nolargefiles)(=.*?)-g /-s /;
### update GDBM related modules (extracted from core)
################################################
### extlibs & config info
lib pkgconfig *-config
gdbm-1.10 !! no
db-6.0.30 !! no
gmp-5.1.3 !! no
mpfr-3.1.2 !! no
mpc-1.0.2 !! no
zlib-1.2.8 YES
xz-5.0.5 YES
libiconv-1.14 !! no
expat-2.1.0 YES
libxml2-2.9.1 YES YES
libxslt-1.1.28 YES YES
openssl-1.0.1g YES
libssh2-1.4.3 YES
postgresql-9.3.4 YES
freeglut-2.8.1 !! no
giflib-5.0.6 !! no
jpeg-9a !! no
tiff-4.0.3 YES
libpng-1.6.10 YES YES
libXpm-3.5.11 YES
freetype-2.5.3 YES YES**
libgd-2.1.0 YES YES**
t1lib-5.1.2 !! no
libffi-3.0.13 YES
fftw-3.3.4 YES
gsl-1.16 YES YES**
proj-4.8.0 no????
plplot-5.10.0 no????
szip-2.1 no
hdf-4.2.10 no
hdf5-1.8.12 no
netcdf-4.3.2 YES YES
ta-lib-0.4.0 no YES**
gnuplot-4.6.5 no
ncurses-5.9 no YES
### PDL related
- Astro::FITS::Header
- PDL::IO::HDF5 ### sam warnings + testfailure
- PDL::NetCDF ### patch needed + netcdf3 support fails
- PDL::Graphics::Prima ### OK
- PDL::Graphics::Gnuplot ### OK
- PDL::FFTW ### NO (not recommended by CHM)
- PDL::IO::Browser ### (PDL-2.007) ncursesw not detected
- PDL::Graphics::PLplot ### (PDL-2.007) Cannot find plplot library (libplplotd.dll), skipping PDL::Graphics::PLplot
- PDL::IO::HDF ### (PDL-2.007) Cannot find hdf library, libdf.a
- PDL::GSL::* ### (PDL-2.007) OK
- PDL::GIS::Proj ### (PDL-2.007) PROJ4 library found but cannot initialize projection, won't build
- PDL::Transform::Proj4 ### (PDL-2.007) ~~ dtto ~~
- Alien::GSL ### does not detect existing library
- Alien::FFTW3 ### does not detect existing library
- PDL::FFTW3 ### Sorry, Alien::FFTW3 doesn't work for Microsoft Windows
- PDL::LinearAlgebra ### FAILS - unfriendly to gcc@MSWin32
- PDL::Ngrams
- PDL::Audio
- PDL::GSL::Randist
- PDL::CCS
- PDL::Stats
- PDL::VectorValued
- PDL::Graphics::Prima
### new modules - candidates
- AnyEvent (642KB)
- Devel::NYTProf (1.23MB - 2326)
- POE (1.25MB - 3583)
- PAR::Packer (9.9MB)
- Time::ParseDate (55KB - 3638)
- Perl::Critic (2.3MB - total:3.252MB)
- DBIx::Class::Schema::Loader (3.6MB)
- SQL::Translator (2.6MB)
- Wx (88MB)
- Padre (97MB incl. Wx)
### Test FAILS
! Testing Convert-PEM-0.08 failed
Failed test 'errstr matches decrypt failed'
# at t/02-encode.t line 28.
# 'ASN decode failed: decode error at C:/strawberry/perl/vendor/lib/Convert/ASN1/_decode.pm line 64.
# '
# doesn't match '(?^:^Decryption failed)'
! Testing GD-2.53 failed
GD - t/GD.t
! Testing Imager-0.98 failed
Imager - t/10png.t - Failed test 'read bad crc with png_ignore_benign_errors'
! Testing Test-Script-1.07 failed
Test::Script - t/03_compiles_bad.t
! Testing Win32-OLE-0.1711 failed
Win32::OLE - t/2_variant.t
! Testing Win32API-Registry-0.32 failed
Can't find key with values: More data is available
! Testing Win32-TieRegistry-0.26 failed
Win32::TieRegistry - t/02_main.t - Failed test 'Opened CU/SW/MS/Win/CV/Pol/Exp//NoDriveTypeAutoRun' + 'Type is REG_DWORD' + 'Value matches expected'
! Testing DBIx-Class-0.08270 failed but installing it anyway.
! Testing LWP-Protocol-https-6.04 failed but installing it anyway.
! Testing pip-1.19 failed but installing it anyway.
! Testing OpenGL-0.6703 failed but installing it anyway.
! Testing Data-Dump-Streamer-2.37 failed but installing it anyway.
### gcc-4.8.2 headers
YES ieeefp.h ------- I_IEEEFP
YES inttypes.h ------- I_INTTYPES
YES memory.h ------ I_MEMORY
YES netdb.h ------ I_NETDB
YES pthread.h ------ I_PTHREAD !!!!!!!
YES sys/file.h ------- I_SYS_FILE
YES sys/param.h ------- I_SYS_PARAM
YES sys/time.h ------- I_SYS_TIME
YES varargs.h ------- I_VARARGS
### MSI testing
- upgrade/downgrade
========== LATER ==========
### MSI: filesystem ACL for c:\strawberry & co.
http://wixtoolset.org/documentation/manual/v3/xsd/wix/permission.html
http://wixtoolset.org/documentation/manual/v3/xsd/util/permissionex.html
http://blogs.msdn.com/b/cjacks/archive/2008/12/04/how-to-set-directory-permissions-at-install-time-using-an-msi-created-using-windows-installer-xml-wix.aspx
create group:
http://stackoverflow.com/questions/11459591/how-to-create-a-local-group-and-add-an-active-directory-user-to-it-in-wix
http://stackoverflow.com/questions/12278265/how-to-get-user-credentials-displayed-as-default-in-a-wix-custom-dialog
http://social.msdn.microsoft.com/Forums/vstudio/en-US/39d9e905-2b35-4ce9-a544-4564f6b5a376/setting-file-permissions-in-languages-other-than-english-windows-installer-wix?forum=vssetup
### move dlls
- from c/bin to perl/bin
- still not sure
- perhaps a hack to BinaryToolsAndLibs.pm e.g. [src=>qr|c/bin/.*?\.dll/i, dst=>'perl/bin']
### maybe: keep something like 'minimal' perl
core + minimal sset of modules needed for relocation + setup
### maybe: single setup.bat
relocation + set env
maybe simple GUI
### UninstallModules.pm via cpanm
cpanm -U Capture::Tiny
### tools
- update: dendef, gmake, dmake, mingw-runtime
- add: genidl
### CHM documentation
- try http://www.microsoft.com/en-us/download/details.aspx?id=21138
- see https://github.com/oneclick/rubyinstaller/blob/master/resources/chm/contents.hhc.rhtml
### fix shebangline (partly fixed)
### IPC::Run3 is not able to handle 'dmake all' for 64bit build !!!
### check for XXX FIXME TODO in the code
- ok for now
### improve CreateRelocFiles
- search all in perl/bin
- search *.url in image_dir
- search *.pm in image_dir
### perltoc.pod contains hardcoded paths to build directory
- not a new bug
### PPM
- maybe App::Strawberry::PPM
- fix warning: Use of chdir('') or chdir(undef) as chdir() is deprecated at C:/strawberry-322222/perl/vendor/lib/PPM.pm line 393.