4 # because Squeak has many plugins,
5 # there are also many dependencies
6 # in order to have a small "kernel" package
9 # the script "classifies" plugins into currently 3 categories:
10 # - stack-spur-nodisplay (only libc,libm math,libpthread, ksh)
11 # - stack-spur-display-X11 (only x11,xext,xrender)
12 # - stack-spur (ssl,ffi,pulseaudio freetype2,gnome, everything else)
14 # ./classify.pl < sample2.p5m
17 open(NODISPLAY
,">>","stack-spur-nodisplay.p5m") || die "Can't open stack-spur-nodisplay.p5m";
19 open(X11
,">>","stack-spur-display-X11.p5m") || die "Can't open stack-spur-display-X11.p5m";
21 open(SSL
,">>","stack-spur-ssl.p5m") || die "Can't open stack-spur-ssl.p5m";
22 open(VEP
,">>","stack-spur-vep.p5m") || die "Can't open stack-spur-vep.p5m";
24 open(REST
,">>","stack-spur.p5m") || die "Can't open stack-spur.p5m";
28 # ignore lines that start with comment
31 } elsif (/license /) {
32 # ignore license lines
33 } elsif (/set name=/) {
35 } elsif (/dir path=/) {
37 } elsif (/file path=usr\/squeak
/) {
39 } elsif (/file path=/) {
41 # ignore the Sun sound plugin - we use pulseaudio
42 } elsif (/vm-sound-OSS/) {
43 # ignore the OSS sound plugin - we use pulseaudio
44 } elsif (/usr\/bin
/) {
45 # don't deal with driver scripts here
46 } elsif (/usr\/doc/) {
47 # don't deal with docs here
49 # don't deal with the manpages here
51 # don't deal with the actual binary here
52 } elsif (/ckformat^/) {
53 # don't deal with the ckformat binary here
54 } elsif (/AioPlugin/) {
56 } elsif (/ClipboardExtendedPlugin/) {
58 } elsif (/FileCopyPlugin/) {
60 } elsif (/HostWindowPlugin/) {
62 } elsif (/ImmX11Plugin/) {
64 } elsif (/Squeak3D/) {
66 } elsif (/SqueakSSL/) {
68 } elsif (/B3DAcceleratorPlugin/) {
70 } elsif (/UnixOSProcessPlugin/) {
72 } elsif (/MD5Plugin/) {
74 } elsif (/SHA2Plugin/) {
76 } elsif (/DESPlugin/) {
78 } elsif (/XDisplayControlPlugin/) {
80 } elsif (/VectorEnginePlugin/) {
82 } elsif (/vm-sound-null/) {
84 } elsif (/vm-display-null/) {
86 } elsif (/vm-display-X11/) {
88 } elsif (/vm-display-X11/) {
90 } elsif (/usr\/lib\
/squeak/) {
92 } elsif (/usr\/lib\
/\$\(MACH64\)\/squeak
/) {
98 } elsif (/inisqueak.1/) {
99 # ignore manpage hardlink
100 } elsif (/hardlink path=/) {
103 } elsif (/link path=/) {