shoes 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. data/.gitignore +12 -0
  2. data/CHANGELOG +29 -0
  3. data/COPYING +30 -0
  4. data/README.md +76 -0
  5. data/README.old +117 -0
  6. data/Rakefile +130 -0
  7. data/Rakefile.bk +651 -0
  8. data/app.yaml +7 -0
  9. data/bin/main.skel +104 -0
  10. data/bugs/issue-012e9468ddc7b0cb7e1503413a8a11c4f8707b67.yaml +21 -0
  11. data/bugs/issue-0711ff8b67baa63586f11d0096fee9dd4436bf58.yaml +23 -0
  12. data/bugs/issue-07f87998d93eb401e22395c11085676389b935c4.yaml +22 -0
  13. data/bugs/issue-0bff2d80008803cbc7efbcdacdc60ef2163664d2.yaml +22 -0
  14. data/bugs/issue-0c66f223d19efbca7b692f3b91961f407ad7abec.yaml +24 -0
  15. data/bugs/issue-183bc3c7a8f575aff2b24e0bf22aa0dfcc8e4fc2.yaml +29 -0
  16. data/bugs/issue-1bad1e60a04cb3adb6a8f3ded128af2e16b56ffe.yaml +18 -0
  17. data/bugs/issue-1f1d43f76bf4de79d7f94adbae6dd506a9d81633.yaml +41 -0
  18. data/bugs/issue-320924117cadb045cc91f2a6fca922b4d81d4bb5.yaml +20 -0
  19. data/bugs/issue-33e5c8355fbf65252ea9e939714651df8bd8cb3b.yaml +25 -0
  20. data/bugs/issue-36f7c8262a72bcd5e28cfa4ed29328b8237ea79b.yaml +20 -0
  21. data/bugs/issue-39bf04ee50c3bef67b89b8e9beb28657805587ce.yaml +18 -0
  22. data/bugs/issue-3e28ba7754f73d02ef416eef989af707a8c00f01.yaml +23 -0
  23. data/bugs/issue-3f638cc03f41f9c3fdf217355321f1563f8fee45.yaml +22 -0
  24. data/bugs/issue-41e48e14f1ef4f6deb69be68165d7dd3ffd99156.yaml +22 -0
  25. data/bugs/issue-4c9408166a2aa5dd333bbb05520deebf4ded08e0.yaml +22 -0
  26. data/bugs/issue-55c687e108ecd5aeb8e0d0aeb4294984f84acd3e.yaml +18 -0
  27. data/bugs/issue-5811d34692cc292717a58ec1df1f8948cf30d826.yaml +28 -0
  28. data/bugs/issue-5a7c1f59a0526f9cea7fb366867cf1e6ed8ef69d.yaml +22 -0
  29. data/bugs/issue-688a2c2566bef6a03efa57a4ae1f7cfa8fc74444.yaml +21 -0
  30. data/bugs/issue-78b16c7988ade2ef96e716fa8cb9a004bd4ced65.yaml +33 -0
  31. data/bugs/issue-804ee49f9800154eddf0650690c7a9bb5626253f.yaml +27 -0
  32. data/bugs/issue-807dd1c610b2e941a5d454e26b2eac27e89a0ab4.yaml +22 -0
  33. data/bugs/issue-822ee33ec11ebd25f90ea86e8438de7891e63aee.yaml +18 -0
  34. data/bugs/issue-82ff7152cebb8a1cb065b864cb4fe22de2328146.yaml +29 -0
  35. data/bugs/issue-856afbdcdd4970ad54b8ce4a6c017fbaab45f49d.yaml +31 -0
  36. data/bugs/issue-8d49e32fb21522651c67490adb4d80076dbb14e1.yaml +24 -0
  37. data/bugs/issue-91583359653a9d530c1e32be72d874d847a306e7.yaml +21 -0
  38. data/bugs/issue-af41a5229613172764e7d3c98431172db337053d.yaml +20 -0
  39. data/bugs/issue-bd9856b3788dd429c998a5af1b2aae8221cb80b7.yaml +28 -0
  40. data/bugs/issue-be22aef5c564fb7b5e9938343136a9cd6a2edb7b.yaml +22 -0
  41. data/bugs/issue-bf8697523c77c326e7e35fc82cf3dd739ae92310.yaml +27 -0
  42. data/bugs/issue-cdd4b4795f34d6ff46e56ece10f8216a4a5456b2.yaml +25 -0
  43. data/bugs/issue-d9bfb5581d745ef9deb3b9b2e08ef74d1cd43082.yaml +20 -0
  44. data/bugs/issue-e0ce2f687cc096f35715d28b0af88589f4ab6cc6.yaml +18 -0
  45. data/bugs/issue-e4b0aca4a10a574b333aeaecaaf221dbc5ed22c6.yaml +38 -0
  46. data/bugs/issue-f263746594b95ba778455730478ee8df60ee639d.yaml +22 -0
  47. data/bugs/project.yaml +72 -0
  48. data/builddeps.sh +102 -0
  49. data/fonts/Coolvetica.ttf +0 -0
  50. data/fonts/Lacuna.ttf +0 -0
  51. data/gemlib/shoes.rb +1 -0
  52. data/lib/shoes.rb +548 -0
  53. data/lib/shoes/cache.rb +54 -0
  54. data/lib/shoes/chipmunk.rb +35 -0
  55. data/lib/shoes/data.rb +39 -0
  56. data/lib/shoes/help.rb +468 -0
  57. data/lib/shoes/image.rb +25 -0
  58. data/lib/shoes/inspect.rb +128 -0
  59. data/lib/shoes/log.rb +48 -0
  60. data/lib/shoes/minitar.rb +986 -0
  61. data/lib/shoes/override.rb +38 -0
  62. data/lib/shoes/pack.rb +543 -0
  63. data/lib/shoes/search.rb +46 -0
  64. data/lib/shoes/setup.rb +329 -0
  65. data/lib/shoes/shy.rb +131 -0
  66. data/lib/shoes/shybuilder.rb +44 -0
  67. data/lib/shoes/version.rb +3 -0
  68. data/make/darwin/deps.vlc +12 -0
  69. data/make/darwin/dylibs.shoes +22 -0
  70. data/make/darwin/dylibs.video +11 -0
  71. data/make/darwin/env.rb +81 -0
  72. data/make/darwin/tasks.rb +105 -0
  73. data/make/linux/env.rb +65 -0
  74. data/make/linux/tasks.rb +61 -0
  75. data/make/make.rb +85 -0
  76. data/make/mingw/dlls +19 -0
  77. data/make/mingw/env.rb +69 -0
  78. data/make/mingw/tasks.rb +70 -0
  79. data/make/rakefile_common.rb +8 -0
  80. data/manual-snapshots/class-book.png +0 -0
  81. data/manual-snapshots/expert-definr.png +0 -0
  82. data/manual-snapshots/expert-funnies.png +0 -0
  83. data/manual-snapshots/expert-irb.png +0 -0
  84. data/manual-snapshots/expert-minesweeper.png +0 -0
  85. data/manual-snapshots/expert-othello.png +0 -0
  86. data/manual-snapshots/expert-pong.png +0 -0
  87. data/manual-snapshots/expert-tankspank.png +0 -0
  88. data/manual-snapshots/good-arc.png +0 -0
  89. data/manual-snapshots/good-clock.png +0 -0
  90. data/manual-snapshots/good-follow.png +0 -0
  91. data/manual-snapshots/good-reminder.png +0 -0
  92. data/manual-snapshots/good-vjot.png +0 -0
  93. data/manual-snapshots/simple-accordion.png +0 -0
  94. data/manual-snapshots/simple-anim-shapes.png +0 -0
  95. data/manual-snapshots/simple-anim-text.png +0 -0
  96. data/manual-snapshots/simple-arc.png +0 -0
  97. data/manual-snapshots/simple-bounce.png +0 -0
  98. data/manual-snapshots/simple-calc.png +0 -0
  99. data/manual-snapshots/simple-chipmunk.png +0 -0
  100. data/manual-snapshots/simple-control-sizes.png +0 -0
  101. data/manual-snapshots/simple-curve.png +0 -0
  102. data/manual-snapshots/simple-dialogs.png +0 -0
  103. data/manual-snapshots/simple-downloader.png +0 -0
  104. data/manual-snapshots/simple-draw.png +0 -0
  105. data/manual-snapshots/simple-editor.png +0 -0
  106. data/manual-snapshots/simple-form.png +0 -0
  107. data/manual-snapshots/simple-mask.png +0 -0
  108. data/manual-snapshots/simple-menu.png +0 -0
  109. data/manual-snapshots/simple-menu1.png +0 -0
  110. data/manual-snapshots/simple-rubygems.png +0 -0
  111. data/manual-snapshots/simple-slide.png +0 -0
  112. data/manual-snapshots/simple-sphere.png +0 -0
  113. data/manual-snapshots/simple-sqlite3.png +0 -0
  114. data/manual-snapshots/simple-timer.png +0 -0
  115. data/manual-snapshots/simple-video.png +0 -0
  116. data/platform/mac/Info.plist +55 -0
  117. data/platform/mac/build-deps.sh +658 -0
  118. data/platform/mac/command-manual.rb +1 -0
  119. data/platform/mac/deps-osx.patch +159 -0
  120. data/platform/mac/dmg_ds_store +0 -0
  121. data/platform/mac/pangorc +2 -0
  122. data/platform/mac/pkg-dmg +1447 -0
  123. data/platform/mac/shoes +31 -0
  124. data/platform/mac/shoes-launch +7 -0
  125. data/platform/mac/stub.m +178 -0
  126. data/platform/mac/version.plist +14 -0
  127. data/platform/msw/base.nsi +644 -0
  128. data/platform/msw/installer-1.bmp +0 -0
  129. data/platform/msw/installer-2.bmp +0 -0
  130. data/platform/msw/shoes.exe.manifest +17 -0
  131. data/platform/msw/shoes.ico +0 -0
  132. data/platform/msw/stub-inject.c +59 -0
  133. data/platform/msw/stub.c +271 -0
  134. data/platform/msw/stub32.h +14 -0
  135. data/platform/msw/stub32.rc +16 -0
  136. data/platform/nix/INSTALL +56 -0
  137. data/platform/nix/Makefile +144 -0
  138. data/platform/nix/shoes.launch +20 -0
  139. data/platform/skel.rb +27 -0
  140. data/rakefile_darwin.rb +7 -0
  141. data/rakefile_linux.rb +3 -0
  142. data/rakefile_mingw.rb +7 -0
  143. data/samples/class-book.rb +43 -0
  144. data/samples/class-book.yaml +387 -0
  145. data/samples/expert-definr.rb +23 -0
  146. data/samples/expert-funnies.rb +51 -0
  147. data/samples/expert-irb.rb +112 -0
  148. data/samples/expert-minesweeper.rb +267 -0
  149. data/samples/expert-othello.rb +319 -0
  150. data/samples/expert-pong.rb +62 -0
  151. data/samples/expert-tankspank.rb +385 -0
  152. data/samples/good-arc.rb +37 -0
  153. data/samples/good-clock.rb +51 -0
  154. data/samples/good-follow.rb +26 -0
  155. data/samples/good-reminder.rb +174 -0
  156. data/samples/good-vjot.rb +56 -0
  157. data/samples/simple-accordion.rb +75 -0
  158. data/samples/simple-anim-shapes.rb +17 -0
  159. data/samples/simple-anim-text.rb +13 -0
  160. data/samples/simple-arc.rb +23 -0
  161. data/samples/simple-bounce.rb +24 -0
  162. data/samples/simple-calc.rb +70 -0
  163. data/samples/simple-chipmunk.rb +26 -0
  164. data/samples/simple-control-sizes.rb +24 -0
  165. data/samples/simple-curve.rb +26 -0
  166. data/samples/simple-dialogs.rb +29 -0
  167. data/samples/simple-downloader.rb +27 -0
  168. data/samples/simple-draw.rb +13 -0
  169. data/samples/simple-editor.rb +28 -0
  170. data/samples/simple-form.rb +28 -0
  171. data/samples/simple-form.shy +0 -0
  172. data/samples/simple-mask.rb +21 -0
  173. data/samples/simple-menu.rb +31 -0
  174. data/samples/simple-menu1.rb +35 -0
  175. data/samples/simple-rubygems.rb +29 -0
  176. data/samples/simple-slide.rb +45 -0
  177. data/samples/simple-sphere.rb +28 -0
  178. data/samples/simple-sqlite3.rb +13 -0
  179. data/samples/simple-timer.rb +13 -0
  180. data/samples/simple-video.rb +13 -0
  181. data/shoes.gemspec +21 -0
  182. data/shoes/app.c +591 -0
  183. data/shoes/app.h +110 -0
  184. data/shoes/appwin32.h +13 -0
  185. data/shoes/appwin32.rc +28 -0
  186. data/shoes/canvas.c +2202 -0
  187. data/shoes/canvas.h +682 -0
  188. data/shoes/code.h +14 -0
  189. data/shoes/config.h +232 -0
  190. data/shoes/effects.c +243 -0
  191. data/shoes/effects.h +7 -0
  192. data/shoes/http.h +44 -0
  193. data/shoes/http/common.h +86 -0
  194. data/shoes/http/curl.c +259 -0
  195. data/shoes/http/nsurl.m +274 -0
  196. data/shoes/http/windownload.c +114 -0
  197. data/shoes/http/winhttp.c +216 -0
  198. data/shoes/http/winhttp.h +19 -0
  199. data/shoes/image.c +1020 -0
  200. data/shoes/internal.c +46 -0
  201. data/shoes/internal.h +63 -0
  202. data/shoes/native.h +110 -0
  203. data/shoes/native/cocoa.h +105 -0
  204. data/shoes/native/cocoa.m +1557 -0
  205. data/shoes/native/gtk.c +1257 -0
  206. data/shoes/native/windows.c +2392 -0
  207. data/shoes/ruby.c +5221 -0
  208. data/shoes/ruby.h +299 -0
  209. data/shoes/world.c +243 -0
  210. data/shoes/world.h +63 -0
  211. data/static/Shoes.icns +0 -0
  212. data/static/avatar.png +0 -0
  213. data/static/code_highlighter.js +188 -0
  214. data/static/code_highlighter_ruby.js +26 -0
  215. data/static/icon-debug.png +0 -0
  216. data/static/icon-error.png +0 -0
  217. data/static/icon-info.png +0 -0
  218. data/static/icon-warn.png +0 -0
  219. data/static/listbox_button1.png +0 -0
  220. data/static/listbox_button2.png +0 -0
  221. data/static/man-app.png +0 -0
  222. data/static/man-builds.png +0 -0
  223. data/static/man-builds1.png +0 -0
  224. data/static/man-editor-notepad.png +0 -0
  225. data/static/man-editor-osx.png +0 -0
  226. data/static/man-ele-background.png +0 -0
  227. data/static/man-ele-border.png +0 -0
  228. data/static/man-ele-button.png +0 -0
  229. data/static/man-ele-check.png +0 -0
  230. data/static/man-ele-editbox.png +0 -0
  231. data/static/man-ele-editline.png +0 -0
  232. data/static/man-ele-image.png +0 -0
  233. data/static/man-ele-listbox.png +0 -0
  234. data/static/man-ele-progress.png +0 -0
  235. data/static/man-ele-radio.png +0 -0
  236. data/static/man-ele-shape.png +0 -0
  237. data/static/man-ele-textblock.png +0 -0
  238. data/static/man-ele-video.png +0 -0
  239. data/static/man-intro-dmg.png +0 -0
  240. data/static/man-intro-exe.png +0 -0
  241. data/static/man-look-tiger.png +0 -0
  242. data/static/man-look-ubuntu.png +0 -0
  243. data/static/man-look-vista.png +0 -0
  244. data/static/man-run-osx.png +0 -0
  245. data/static/man-run-vista.png +0 -0
  246. data/static/man-run-xp.png +0 -0
  247. data/static/man-shot1.png +0 -0
  248. data/static/manual-en.txt +3531 -0
  249. data/static/manual-ja.txt +2825 -0
  250. data/static/manual.css +167 -0
  251. data/static/menu-corner1.png +0 -0
  252. data/static/menu-corner2.png +0 -0
  253. data/static/menu-gray.png +0 -0
  254. data/static/menu-left.png +0 -0
  255. data/static/menu-right.png +0 -0
  256. data/static/menu-top.png +0 -0
  257. data/static/shoes-dmg.jpg +0 -0
  258. data/static/shoes-icon-blue.png +0 -0
  259. data/static/shoes-icon.png +0 -0
  260. data/static/shoes-manual-apps.gif +0 -0
  261. data/static/shoes_main_window.png +0 -0
  262. data/static/stripe.png +0 -0
  263. data/static/stubs/blank.exe +0 -0
  264. data/static/stubs/blank.hfz +0 -0
  265. data/static/stubs/blank.run +375 -0
  266. data/static/stubs/cocoa-install +0 -0
  267. data/static/stubs/sh-install +49 -0
  268. data/static/stubs/shoes-stub-inject.exe +0 -0
  269. data/static/stubs/shoes-stub.exe +0 -0
  270. data/static/tutor-back.png +0 -0
  271. data/test/shoes_test.rb +8 -0
  272. data/test/test_helper.rb +25 -0
  273. data/use-deps +12 -0
  274. data/use-tmp-dep +8 -0
  275. metadata +509 -0
@@ -0,0 +1,167 @@
1
+ body {
2
+ font-family: verdana, arial, sans-serif;
3
+ background: #DDD;
4
+ margin: 0; padding: 0;
5
+ }
6
+ a {
7
+ color: #378;
8
+ text-decoration: none;
9
+ }
10
+ a.hi {
11
+ color: #C30;
12
+ font-weight: bold;
13
+ }
14
+ a:hover {
15
+ text-decoration: underline;
16
+ }
17
+ #main {
18
+ width: 720px;
19
+ margin: 40px auto;
20
+ }
21
+ .sidebar {
22
+ position: fixed;
23
+ width: 120px;
24
+ }
25
+ #manual {
26
+ float: right;
27
+ width: 540px;
28
+ padding: 20px;
29
+ border: solid 1px #BBB;
30
+ background: #eee;
31
+ margin-bottom: 80px;
32
+ }
33
+ #manual li {
34
+ margin-bottom: 8px;
35
+ }
36
+ h1 {
37
+ font-weight: normal;
38
+ font-size: 42px;
39
+ margin-top: 0;
40
+ }
41
+ h2 {
42
+ font-weight: normal;
43
+ font-size: 12px;
44
+ color: #777;
45
+ margin: 0;
46
+ }
47
+ h4 {
48
+ font-weight: normal;
49
+ font-size: 32px;
50
+ margin-bottom: 0;
51
+ }
52
+ #manual img {
53
+ display: block;
54
+ margin: 0 auto;
55
+ padding: 10px;
56
+ }
57
+ div.method {
58
+ background: #333;
59
+ padding: 4px;
60
+ color: #CCC;
61
+ }
62
+ div.method a {
63
+ color: white;
64
+ text-decoration: none;
65
+ font-weight: bold;
66
+ }
67
+ .intro {
68
+ font-size: 140%;
69
+ border-bottom: solid 1px #BBB;
70
+ }
71
+ .sidebar ul {
72
+ list-style: none;
73
+ text-align: center;
74
+ margin: 0; padding: 10px;
75
+ font-size: 18px;
76
+ }
77
+ .sidebar ul.sub {
78
+ margin: 6px 0; padding: 0;
79
+ border-left: solid 1px #CCC;
80
+ border-right: solid 1px #CCC;
81
+ }
82
+ .sidebar ul.sub li {
83
+ margin: 0; padding: 0;
84
+ font-size: 14px;
85
+ }
86
+ .sidebar ul.sub a {
87
+ font-weight: normal;
88
+ }
89
+ .sidebar a {
90
+ color: #666;
91
+ font-weight: bold;
92
+ text-decoration: none;
93
+ }
94
+ .sidebar .prime {
95
+ display: block;
96
+ color: #BBB;
97
+ font-size: 38px;
98
+ margin-bottom: 20px;
99
+ }
100
+ .sidebar a:hover {
101
+ color: black;
102
+ }
103
+ div.color {
104
+ width: 31%;
105
+ float: left;
106
+ text-align: center;
107
+ padding: 6px;
108
+ font-size: 80%;
109
+ }
110
+ div.color h3, div.color p {
111
+ margin: 4px;
112
+ }
113
+ p.next {
114
+ clear: both;
115
+ border-top: solid 1px #BBB;
116
+ text-align: right;
117
+ font-size: 120%;
118
+ padding: 8px;
119
+ }
120
+
121
+ /* code highlighting */
122
+ pre {
123
+ background: white;
124
+ padding: 8px 0;
125
+ border: solid 1px #ddd;
126
+ }
127
+ pre .comment, .ruby .comment {
128
+ color: #696;
129
+ } pre .string, .ruby .string {
130
+ color: teal;
131
+ }
132
+ pre .constant, .ruby .constant {
133
+ font-weight: bold;
134
+ }
135
+ pre .symbol, .ruby .symbol {
136
+ color: green;
137
+ }
138
+ pre .keywords, .ruby .keywords {
139
+ color: #662;
140
+ }
141
+ pre .global, pre .ivar, .ruby .ivar {
142
+ color: #F60;
143
+ }
144
+ pre .brackets, .ruby .brackets {
145
+ color: #993;
146
+ }
147
+
148
+ /* index pages */
149
+ #index .hibox {
150
+ background: white;
151
+ border: solid 1px #ddd;
152
+ }
153
+ #index .hibox p {
154
+ font-size: 14px;
155
+ margin: 8px;
156
+ }
157
+ #index h1 {
158
+ margin: 0;
159
+ }
160
+ #index ul {
161
+ list-style: none;
162
+ font-size: 13px;
163
+ }
164
+ #index ul a.hi,
165
+ #index ul a.lo {
166
+ font-size: 18px;
167
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,375 @@
1
+ #!/bin/sh
2
+ # This script was generated using Makeself 2.1.4
3
+ FULLSIZE=#{FULLSIZE}
4
+ CRCsum="#{CRC}"
5
+ MD5="#{MD5}"
6
+ TMPROOT=${TMPDIR:=/tmp}
7
+
8
+ label="#{LABEL}"
9
+ script="./sh-install"
10
+ scriptargs=""
11
+ targetdir="dist"
12
+ filesizes="#{SIZE}"
13
+ keep=n
14
+
15
+ print_cmd_arg=""
16
+ if type printf > /dev/null; then
17
+ print_cmd="printf"
18
+ elif test -x /usr/ucb/echo; then
19
+ print_cmd="/usr/ucb/echo"
20
+ else
21
+ print_cmd="echo"
22
+ fi
23
+
24
+ unset CDPATH
25
+
26
+ MS_Printf()
27
+ {
28
+ $print_cmd $print_cmd_arg "$1"
29
+ }
30
+
31
+ MS_Progress()
32
+ {
33
+ while read a; do
34
+ MS_Printf .
35
+ done
36
+ }
37
+
38
+ MS_dd()
39
+ {
40
+ blocks=`expr $3 / 1024`
41
+ bytes=`expr $3 % 1024`
42
+ dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \
43
+ { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \
44
+ test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null
45
+ }
46
+
47
+ MS_Help()
48
+ {
49
+ cat << EOH >&2
50
+ Makeself version 2.1.4
51
+ 1) Getting help or info about $0 :
52
+ $0 --help Print this message
53
+ $0 --info Print embedded info : title, default target directory, embedded script ...
54
+ $0 --lsm Print embedded lsm entry (or no LSM)
55
+ $0 --list Print the list of files in the archive
56
+ $0 --check Checks integrity of the archive
57
+
58
+ 2) Running $0 :
59
+ $0 [options] [--] [additional arguments to embedded script]
60
+ with following options (in that order)
61
+ --confirm Ask before running embedded script
62
+ --noexec Do not run embedded script
63
+ --keep Do not erase target directory after running
64
+ the embedded script
65
+ --nox11 Do not spawn an xterm
66
+ --nochown Do not give the extracted files to the current user
67
+ --target NewDirectory Extract in NewDirectory
68
+ --tar arg1 [arg2 ...] Access the contents of the archive through the tar command
69
+ -- Following arguments will be passed to the embedded script
70
+ EOH
71
+ }
72
+
73
+ MS_Check()
74
+ {
75
+ OLD_PATH=$PATH
76
+ PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"}
77
+ MD5_PATH=`exec 2>&-; which md5sum || type md5sum | cut -c 11-`
78
+ MD5_PATH=${MD5_PATH:-`exec 2>&-; which md5 || type md5 | cut -c 8-`}
79
+ PATH=$OLD_PATH
80
+ MS_Printf "Verifying archive integrity..."
81
+ offset=`head -n 375 "$1" | wc -c | tr -d " "`
82
+ verb=$2
83
+ i=1
84
+ for s in $filesizes
85
+ do
86
+ crc=`echo $CRCsum | cut -d" " -f$i`
87
+ if test -x "$MD5_PATH"; then
88
+ md5=`echo $MD5 | cut -d" " -f$i`
89
+ if test $md5 = "00000000000000000000000000000000"; then
90
+ test x$verb = xy && echo " $1 does not contain an embedded MD5 checksum." >&2
91
+ else
92
+ md5sum=`MS_dd "$1" $offset $s | "$MD5_PATH" | cut -b-32`;
93
+ if test "$md5sum" != "$md5"; then
94
+ echo "Error in MD5 checksums: $md5sum is different from $md5" >&2
95
+ exit 2
96
+ else
97
+ test x$verb = xy && MS_Printf " MD5 checksums are OK." >&2
98
+ fi
99
+ crc="0000000000"; verb=n
100
+ fi
101
+ fi
102
+ if test $crc = "0000000000"; then
103
+ test x$verb = xy && echo " $1 does not contain a CRC checksum." >&2
104
+ else
105
+ sum1=`MS_dd "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'`
106
+ if test "$sum1" = "$crc"; then
107
+ test x$verb = xy && MS_Printf " CRC checksums are OK." >&2
108
+ else
109
+ echo "Error in checksums: $sum1 is different from $crc"
110
+ exit 2;
111
+ fi
112
+ fi
113
+ i=`expr $i + 1`
114
+ offset=`expr $offset + $s`
115
+ done
116
+ echo " All good."
117
+ }
118
+
119
+ UnTAR()
120
+ {
121
+ tar $1vf - 2>&1 || { echo Extraction failed. > /dev/tty; kill -15 $$; }
122
+ }
123
+
124
+ finish=true
125
+ xterm_loop=
126
+ nox11=n
127
+ copy=none
128
+ ownership=y
129
+ verbose=n
130
+
131
+ initargs="$@"
132
+
133
+ while true
134
+ do
135
+ case "$1" in
136
+ -h | --help)
137
+ MS_Help
138
+ exit 0
139
+ ;;
140
+ --info)
141
+ echo Identification: "$label"
142
+ echo Target directory: "$targetdir"
143
+ echo Uncompressed size: #{RAWSIZE} KB
144
+ echo Compression: gzip
145
+ echo Date of packaging: #{TIME}
146
+ echo Built with Makeself version 2.1.4 on
147
+ echo Build command was: "/usr/bin/makeself \\
148
+ \"dist\" \\
149
+ \"pkg/#{NAME}.run\" \\
150
+ \"#{LABEL}\" \\
151
+ \"./sh-install\""
152
+ if test x$script != x; then
153
+ echo Script run after extraction:
154
+ echo " " $script $scriptargs
155
+ fi
156
+ if test x"" = xcopy; then
157
+ echo "Archive will copy itself to a temporary location"
158
+ fi
159
+ if test x"n" = xy; then
160
+ echo "directory $targetdir is permanent"
161
+ else
162
+ echo "$targetdir will be removed after extraction"
163
+ fi
164
+ exit 0
165
+ ;;
166
+ --dumpconf)
167
+ echo LABEL=\"$label\"
168
+ echo SCRIPT=\"$script\"
169
+ echo SCRIPTARGS=\"$scriptargs\"
170
+ echo archdirname=\"dist\"
171
+ echo KEEP=n
172
+ echo COMPRESS=gzip
173
+ echo filesizes=\"$filesizes\"
174
+ echo CRCsum=\"$CRCsum\"
175
+ echo MD5sum=\"$MD5\"
176
+ echo OLDUSIZE=#{RAWSIZE}
177
+ echo OLDSKIP=376
178
+ exit 0
179
+ ;;
180
+ --lsm)
181
+ cat << EOLSM
182
+ No LSM.
183
+ EOLSM
184
+ exit 0
185
+ ;;
186
+ --list)
187
+ echo Target directory: $targetdir
188
+ offset=`head -n 375 "$0" | wc -c | tr -d " "`
189
+ for s in $filesizes
190
+ do
191
+ MS_dd "$0" $offset $s | eval "gzip -cd" | UnTAR t
192
+ offset=`expr $offset + $s`
193
+ done
194
+ exit 0
195
+ ;;
196
+ --tar)
197
+ offset=`head -n 375 "$0" | wc -c | tr -d " "`
198
+ arg1="$2"
199
+ shift 2
200
+ for s in $filesizes
201
+ do
202
+ MS_dd "$0" $offset $s | eval "gzip -cd" | tar "$arg1" - $*
203
+ offset=`expr $offset + $s`
204
+ done
205
+ exit 0
206
+ ;;
207
+ --check)
208
+ MS_Check "$0" y
209
+ exit 0
210
+ ;;
211
+ --confirm)
212
+ verbose=y
213
+ shift
214
+ ;;
215
+ --noexec)
216
+ script=""
217
+ shift
218
+ ;;
219
+ --keep)
220
+ keep=y
221
+ shift
222
+ ;;
223
+ --target)
224
+ keep=y
225
+ targetdir=${2:-.}
226
+ shift 2
227
+ ;;
228
+ --nox11)
229
+ nox11=y
230
+ shift
231
+ ;;
232
+ --nochown)
233
+ ownership=n
234
+ shift
235
+ ;;
236
+ --xwin)
237
+ finish="echo Press Return to close this window...; read junk"
238
+ xterm_loop=1
239
+ shift
240
+ ;;
241
+ --phase2)
242
+ copy=phase2
243
+ shift
244
+ ;;
245
+ --)
246
+ shift
247
+ break ;;
248
+ -*)
249
+ echo Unrecognized flag : "$1" >&2
250
+ MS_Help
251
+ exit 1
252
+ ;;
253
+ *)
254
+ break ;;
255
+ esac
256
+ done
257
+
258
+ case "$copy" in
259
+ copy)
260
+ tmpdir=$TMPROOT/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$
261
+ mkdir "$tmpdir" || {
262
+ echo "Could not create temporary directory $tmpdir" >&2
263
+ exit 1
264
+ }
265
+ SCRIPT_COPY="$tmpdir/makeself"
266
+ echo "Copying to a temporary location..." >&2
267
+ cp "$0" "$SCRIPT_COPY"
268
+ chmod +x "$SCRIPT_COPY"
269
+ cd "$TMPROOT"
270
+ exec "$SCRIPT_COPY" --phase2
271
+ ;;
272
+ phase2)
273
+ finish="$finish ; rm -rf `dirname $0`"
274
+ ;;
275
+ esac
276
+
277
+ if test "$nox11" = "n"; then
278
+ if tty -s; then # Do we have a terminal?
279
+ :
280
+ else
281
+ if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X?
282
+ if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable
283
+ GUESS_XTERMS="xterm rxvt dtterm eterm Eterm kvt konsole aterm"
284
+ for a in $GUESS_XTERMS; do
285
+ if type $a >/dev/null 2>&1; then
286
+ XTERM=$a
287
+ break
288
+ fi
289
+ done
290
+ chmod a+x $0 || echo Please add execution rights on $0
291
+ if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal!
292
+ exec $XTERM -title "$label" -e "$0" --xwin "$initargs"
293
+ else
294
+ exec $XTERM -title "$label" -e "./$0" --xwin "$initargs"
295
+ fi
296
+ fi
297
+ fi
298
+ fi
299
+ fi
300
+
301
+ if test "$targetdir" = "."; then
302
+ tmpdir="."
303
+ else
304
+ if test "$keep" = y; then
305
+ echo "Creating directory $targetdir" >&2
306
+ tmpdir="$targetdir"
307
+ dashp="-p"
308
+ else
309
+ tmpdir="$TMPROOT/selfgz$$$RANDOM"
310
+ dashp=""
311
+ fi
312
+ mkdir $dashp $tmpdir || {
313
+ echo 'Cannot create target directory' $tmpdir >&2
314
+ echo 'You should try option --target OtherDirectory' >&2
315
+ eval $finish
316
+ exit 1
317
+ }
318
+ fi
319
+
320
+ location="`pwd`"
321
+ if test x$SETUP_NOCHECK != x1; then
322
+ MS_Check "$0"
323
+ fi
324
+ offset=`head -n 375 "$0" | wc -c | tr -d " "`
325
+
326
+ if test x"$verbose" = xy; then
327
+ MS_Printf "About to extract #{RAWSIZE} KB in $tmpdir ... Proceed ? [Y/n] "
328
+ read yn
329
+ if test x"$yn" = xn; then
330
+ eval $finish; exit 1
331
+ fi
332
+ fi
333
+
334
+ MS_Printf "Uncompressing $label"
335
+ res=3
336
+ if test "$keep" = n; then
337
+ trap 'echo Signal caught, cleaning up >&2; cd $TMPROOT; /bin/rm -rf $tmpdir; eval $finish; exit 15' 1 2 3 15
338
+ fi
339
+
340
+ for s in $filesizes
341
+ do
342
+ if MS_dd "$0" $offset $s | eval "gzip -cd" | ( cd "$tmpdir"; UnTAR x ) | MS_Progress; then
343
+ if test x"$ownership" = xy; then
344
+ (PATH=/usr/xpg4/bin:$PATH; cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .)
345
+ fi
346
+ else
347
+ echo
348
+ echo "Unable to decompress $0" >&2
349
+ eval $finish; exit 1
350
+ fi
351
+ offset=`expr $offset + $s`
352
+ done
353
+ echo
354
+
355
+ cd "$tmpdir"
356
+ res=0
357
+ if test x"$script" != x; then
358
+ if test x"$verbose" = xy; then
359
+ MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] "
360
+ read yn
361
+ if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then
362
+ eval $script $scriptargs $*; res=$?;
363
+ fi
364
+ else
365
+ eval $script $scriptargs $*; res=$?
366
+ fi
367
+ if test $res -ne 0; then
368
+ test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2
369
+ fi
370
+ fi
371
+ if test "$keep" = n; then
372
+ cd $TMPROOT
373
+ /bin/rm -rf $tmpdir
374
+ fi
375
+ eval $finish; exit $res