shoesgem 0.1424.0 → 0.1426.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -0
- data/shoes/CHANGELOG.txt +21 -21
- data/shoes/COPYING.txt +30 -30
- data/shoes/VERSION.txt +1 -1
- data/shoes/freetype6.dll +0 -0
- data/shoes/lib/shoes/cache.rb +54 -54
- data/shoes/lib/shoes/data.rb +39 -39
- data/shoes/lib/shoes/help.rb +421 -421
- data/shoes/lib/shoes/image.rb +25 -25
- data/shoes/lib/shoes/inspect.rb +128 -128
- data/shoes/lib/shoes/log.rb +48 -48
- data/shoes/lib/shoes/minitar.rb +986 -986
- data/shoes/lib/shoes/override.rb +38 -38
- data/shoes/lib/shoes/pack.rb +503 -503
- data/shoes/lib/shoes/search.rb +46 -46
- data/shoes/lib/shoes/setup.rb +329 -329
- data/shoes/lib/shoes/shy.rb +131 -131
- data/shoes/lib/shoes/shybuilder.rb +44 -44
- data/shoes/lib/shoes.rb +522 -522
- data/shoes/libcairo-2.dll +0 -0
- data/shoes/libeay32.dll +0 -0
- data/shoes/libexpat-1.dll +0 -0
- data/shoes/libfontconfig-1.dll +0 -0
- data/shoes/libgio-2.0-0.dll +0 -0
- data/shoes/libglib-2.0-0.dll +0 -0
- data/shoes/libgmodule-2.0-0.dll +0 -0
- data/shoes/libgobject-2.0-0.dll +0 -0
- data/shoes/libgthread-2.0-0.dll +0 -0
- data/shoes/libiconv2.dll +0 -0
- data/shoes/libjpeg-8.dll +0 -0
- data/shoes/libpango-1.0-0.dll +0 -0
- data/shoes/libpangocairo-1.0-0.dll +0 -0
- data/shoes/libpangoft2-1.0-0.dll +0 -0
- data/shoes/libpangowin32-1.0-0.dll +0 -0
- data/shoes/libpng14-14.dll +0 -0
- data/shoes/libportaudio-2.dll +0 -0
- data/shoes/libshoes.dll +0 -0
- data/shoes/libssl32.dll +0 -0
- data/shoes/libungif4.dll +0 -0
- data/shoes/msvcrt-ruby191.dll +0 -0
- data/shoes/nsis/base.nsi +644 -0
- data/shoes/nsis/installer-1.bmp +0 -0
- data/shoes/nsis/installer-2.bmp +0 -0
- data/shoes/nsis/setup.ico +0 -0
- data/shoes/nsis/shoes.exe.manifest +17 -0
- data/shoes/nsis/shoes.ico +0 -0
- data/shoes/nsis/shoes.nsi +644 -0
- data/shoes/nsis/stub-inject.c +59 -0
- data/shoes/nsis/stub.c +271 -0
- data/shoes/nsis/stub32.h +14 -0
- data/shoes/nsis/stub32.rc +16 -0
- data/shoes/readline5.dll +0 -0
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/fast_xs.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/blankslate.rb +63 -63
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/builder.rb +216 -216
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/elements.rb +510 -510
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/htmlinfo.rb +691 -691
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/inspect.rb +103 -103
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/modules.rb +40 -40
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/parse.rb +38 -38
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/tag.rb +202 -202
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/tags.rb +164 -164
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/traverse.rb +838 -838
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/xchar.rb +94 -94
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot.rb +26 -26
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot_scan.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/add/core.rb +135 -135
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/add/rails.rb +58 -58
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/common.rb +354 -354
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/generator.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/parser.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext.rb +13 -13
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/version.rb +9 -9
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json.rb +8 -8
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/constants.rb +49 -49
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/database.rb +721 -721
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/api.rb +152 -152
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/driver.rb +307 -307
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/native/driver.rb +219 -219
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/errors.rb +68 -68
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/pragmas.rb +271 -271
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/resultset.rb +180 -180
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/statement.rb +231 -231
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/translator.rb +109 -109
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/value.rb +57 -57
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/version.rb +16 -16
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3.rb +1 -1
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3_api.so +0 -0
- data/shoes/ruby/gems/1.9.1/specifications/hpricot-0.8.1.gemspec +32 -32
- data/shoes/ruby/gems/1.9.1/specifications/json-shoes-1.1.3.gemspec +34 -34
- data/shoes/ruby/gems/1.9.1/specifications/sqlite3-ruby-1.2.5-x86-mswin32.gemspec +46 -46
- data/shoes/ruby/lib/ftsearch/analysis/analyzer.rb +16 -16
- data/shoes/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb +23 -23
- data/shoes/ruby/lib/ftsearch/analysis/whitespace_analyzer.rb +22 -22
- data/shoes/ruby/lib/ftsearch/document_map_reader.rb +106 -106
- data/shoes/ruby/lib/ftsearch/document_map_writer.rb +46 -46
- data/shoes/ruby/lib/ftsearch/field_infos.rb +46 -46
- data/shoes/ruby/lib/ftsearch/fragment_writer.rb +114 -114
- data/shoes/ruby/lib/ftsearch/fulltext_reader.rb +52 -52
- data/shoes/ruby/lib/ftsearch/fulltext_writer.rb +75 -75
- data/shoes/ruby/lib/ftsearch/suffix_array_reader.rb +275 -275
- data/shoes/ruby/lib/ftsearch/suffix_array_writer.rb +99 -99
- data/shoes/ruby/lib/ftsearch/util.rb +21 -21
- data/shoes/ruby/lib/i386-mingw32/bigdecimal.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/binject.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/bloops.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/continuation.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/coverage.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/curses.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/bubblebabble.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/md5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/rmd160.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/sha1.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/sha2.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/dl.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/big5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/cp949.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/emacs_mule.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/encdb.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/euc_jp.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/euc_kr.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/euc_tw.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/gb18030.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/gb2312.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/gbk.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_1.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_10.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_11.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_13.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_14.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_15.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_16.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_2.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_3.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_4.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_6.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_7.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_8.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_9.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/koi8_r.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/koi8_u.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/shift_jis.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/big5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/chinese.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/escape.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/gb18030.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/gbk.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/iso2022.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_euc.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_sjis.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/korean.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/single_byte.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/transdb.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/utf_16_32.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_16be.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_16le.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_32be.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_32le.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/windows_1251.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/etc.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/fcntl.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/fiber.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/ftsearchrt.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/gdbm.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/iconv.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/io/wait.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/json/ext/generator.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/json/ext/parser.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/mathn/complex.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/mathn/rational.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/nkf.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/openssl.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/racc/cparse.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/rbconfig.rb +2 -2
- data/shoes/ruby/lib/i386-mingw32/readline.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/ripper.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/sdbm.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/socket.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/stringio.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/strscan.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/syck.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/win32ole.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/zlib.so +0 -0
- data/shoes/ruby/lib/rbconfig/datadir.rb +24 -24
- data/shoes/ruby/lib/rubygems/builder.rb +88 -88
- data/shoes/ruby/lib/rubygems/command.rb +406 -406
- data/shoes/ruby/lib/rubygems/command_manager.rb +146 -146
- data/shoes/ruby/lib/rubygems/commands/build_command.rb +53 -53
- data/shoes/ruby/lib/rubygems/commands/cert_command.rb +86 -86
- data/shoes/ruby/lib/rubygems/commands/check_command.rb +75 -75
- data/shoes/ruby/lib/rubygems/commands/cleanup_command.rb +91 -91
- data/shoes/ruby/lib/rubygems/commands/contents_command.rb +74 -74
- data/shoes/ruby/lib/rubygems/commands/dependency_command.rb +188 -188
- data/shoes/ruby/lib/rubygems/commands/environment_command.rb +128 -128
- data/shoes/ruby/lib/rubygems/commands/fetch_command.rb +62 -62
- data/shoes/ruby/lib/rubygems/commands/generate_index_command.rb +57 -57
- data/shoes/ruby/lib/rubygems/commands/help_command.rb +172 -172
- data/shoes/ruby/lib/rubygems/commands/install_command.rb +148 -148
- data/shoes/ruby/lib/rubygems/commands/list_command.rb +35 -35
- data/shoes/ruby/lib/rubygems/commands/lock_command.rb +110 -110
- data/shoes/ruby/lib/rubygems/commands/mirror_command.rb +111 -111
- data/shoes/ruby/lib/rubygems/commands/outdated_command.rb +33 -33
- data/shoes/ruby/lib/rubygems/commands/pristine_command.rb +93 -93
- data/shoes/ruby/lib/rubygems/commands/query_command.rb +233 -233
- data/shoes/ruby/lib/rubygems/commands/rdoc_command.rb +82 -82
- data/shoes/ruby/lib/rubygems/commands/search_command.rb +37 -37
- data/shoes/ruby/lib/rubygems/commands/server_command.rb +48 -48
- data/shoes/ruby/lib/rubygems/commands/sources_command.rb +152 -152
- data/shoes/ruby/lib/rubygems/commands/specification_command.rb +77 -77
- data/shoes/ruby/lib/rubygems/commands/stale_command.rb +27 -27
- data/shoes/ruby/lib/rubygems/commands/uninstall_command.rb +73 -73
- data/shoes/ruby/lib/rubygems/commands/unpack_command.rb +95 -95
- data/shoes/ruby/lib/rubygems/commands/update_command.rb +181 -181
- data/shoes/ruby/lib/rubygems/commands/which_command.rb +87 -87
- data/shoes/ruby/lib/rubygems/config_file.rb +266 -266
- data/shoes/ruby/lib/rubygems/custom_require.rb +46 -46
- data/shoes/ruby/lib/rubygems/defaults.rb +89 -89
- data/shoes/ruby/lib/rubygems/dependency.rb +119 -119
- data/shoes/ruby/lib/rubygems/dependency_installer.rb +258 -258
- data/shoes/ruby/lib/rubygems/dependency_list.rb +165 -165
- data/shoes/ruby/lib/rubygems/digest/digest_adapter.rb +39 -39
- data/shoes/ruby/lib/rubygems/digest/md5.rb +23 -23
- data/shoes/ruby/lib/rubygems/digest/sha1.rb +16 -16
- data/shoes/ruby/lib/rubygems/digest/sha2.rb +17 -17
- data/shoes/ruby/lib/rubygems/doc_manager.rb +214 -214
- data/shoes/ruby/lib/rubygems/exceptions.rb +84 -84
- data/shoes/ruby/lib/rubygems/ext/builder.rb +56 -56
- data/shoes/ruby/lib/rubygems/ext/configure_builder.rb +24 -24
- data/shoes/ruby/lib/rubygems/ext/ext_conf_builder.rb +23 -23
- data/shoes/ruby/lib/rubygems/ext/rake_builder.rb +27 -27
- data/shoes/ruby/lib/rubygems/ext.rb +18 -18
- data/shoes/ruby/lib/rubygems/format.rb +87 -87
- data/shoes/ruby/lib/rubygems/gem_openssl.rb +83 -83
- data/shoes/ruby/lib/rubygems/gem_path_searcher.rb +100 -100
- data/shoes/ruby/lib/rubygems/gem_runner.rb +58 -58
- data/shoes/ruby/lib/rubygems/indexer.rb +370 -370
- data/shoes/ruby/lib/rubygems/install_update_options.rb +113 -113
- data/shoes/ruby/lib/rubygems/installer.rb +578 -578
- data/shoes/ruby/lib/rubygems/local_remote_options.rb +134 -134
- data/shoes/ruby/lib/rubygems/old_format.rb +148 -148
- data/shoes/ruby/lib/rubygems/package/f_sync_dir.rb +24 -24
- data/shoes/ruby/lib/rubygems/package/tar_header.rb +245 -245
- data/shoes/ruby/lib/rubygems/package/tar_input.rb +219 -219
- data/shoes/ruby/lib/rubygems/package/tar_output.rb +143 -143
- data/shoes/ruby/lib/rubygems/package/tar_reader/entry.rb +99 -99
- data/shoes/ruby/lib/rubygems/package/tar_reader.rb +86 -86
- data/shoes/ruby/lib/rubygems/package/tar_writer.rb +180 -180
- data/shoes/ruby/lib/rubygems/package.rb +95 -95
- data/shoes/ruby/lib/rubygems/platform.rb +178 -178
- data/shoes/ruby/lib/rubygems/remote_fetcher.rb +344 -344
- data/shoes/ruby/lib/rubygems/require_paths_builder.rb +14 -14
- data/shoes/ruby/lib/rubygems/requirement.rb +163 -163
- data/shoes/ruby/lib/rubygems/rubygems_version.rb +6 -6
- data/shoes/ruby/lib/rubygems/security.rb +786 -786
- data/shoes/ruby/lib/rubygems/server.rb +629 -629
- data/shoes/ruby/lib/rubygems/source_index.rb +559 -559
- data/shoes/ruby/lib/rubygems/source_info_cache.rb +393 -393
- data/shoes/ruby/lib/rubygems/source_info_cache_entry.rb +56 -56
- data/shoes/ruby/lib/rubygems/spec_fetcher.rb +249 -249
- data/shoes/ruby/lib/rubygems/specification.rb +1262 -1262
- data/shoes/ruby/lib/rubygems/test_utilities.rb +131 -131
- data/shoes/ruby/lib/rubygems/timer.rb +25 -25
- data/shoes/ruby/lib/rubygems/uninstaller.rb +242 -242
- data/shoes/ruby/lib/rubygems/user_interaction.rb +360 -360
- data/shoes/ruby/lib/rubygems/validator.rb +208 -208
- data/shoes/ruby/lib/rubygems/version.rb +167 -167
- data/shoes/ruby/lib/rubygems/version_option.rb +48 -48
- data/shoes/ruby/lib/rubygems.rb +888 -888
- data/shoes/ruby/lib/ubygems.rb +10 -10
- data/shoes/samples/class-book.rb +43 -43
- data/shoes/samples/class-book.yaml +387 -387
- data/shoes/samples/expert-definr.rb +23 -23
- data/shoes/samples/expert-funnies.rb +51 -51
- data/shoes/samples/expert-irb.rb +112 -112
- data/shoes/samples/expert-minesweeper.rb +267 -267
- data/shoes/samples/expert-othello.rb +319 -319
- data/shoes/samples/expert-pong.rb +62 -62
- data/shoes/samples/expert-tankspank.rb +385 -385
- data/shoes/samples/good-arc.rb +37 -37
- data/shoes/samples/good-clock.rb +51 -51
- data/shoes/samples/good-follow.rb +26 -26
- data/shoes/samples/good-reminder.rb +174 -174
- data/shoes/samples/good-vjot.rb +56 -56
- data/shoes/samples/simple-accordion.rb +75 -75
- data/shoes/samples/simple-anim-shapes.rb +17 -17
- data/shoes/samples/simple-anim-text.rb +13 -13
- data/shoes/samples/simple-arc.rb +23 -23
- data/shoes/samples/simple-bounce.rb +24 -24
- data/shoes/samples/simple-calc.rb +70 -70
- data/shoes/samples/simple-control-sizes.rb +24 -24
- data/shoes/samples/simple-curve.rb +26 -26
- data/shoes/samples/simple-dialogs.rb +29 -29
- data/shoes/samples/simple-downloader.rb +27 -27
- data/shoes/samples/simple-draw.rb +13 -13
- data/shoes/samples/simple-editor.rb +28 -28
- data/shoes/samples/simple-form.rb +28 -28
- data/shoes/samples/simple-mask.rb +21 -21
- data/shoes/samples/simple-menu.rb +31 -31
- data/shoes/samples/simple-menu1.rb +35 -35
- data/shoes/samples/simple-rubygems.rb +29 -29
- data/shoes/samples/simple-slide.rb +45 -45
- data/shoes/samples/simple-sphere.rb +28 -28
- data/shoes/samples/simple-timer.rb +13 -13
- data/shoes/samples/simple-video.rb +13 -13
- data/shoes/shoes.exe +0 -0
- data/shoes/sqlite3.dll +0 -0
- data/shoes/static/code_highlighter.js +188 -188
- data/shoes/static/code_highlighter_ruby.js +26 -26
- data/shoes/static/manual-en.txt +2783 -2783
- data/shoes/static/manual-ja.txt +2780 -2780
- data/shoes/static/manual.css +167 -167
- data/shoes/static/stubs/blank.run +375 -375
- data/shoes/static/stubs/sh-install +48 -48
- data/shoes/zlib.dll +0 -0
- data/shoes/zlib1.dll +0 -0
- metadata +15 -5
- data/shoes/static/Thumbs.db +0 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
2
|
+
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
3
|
+
<dependency>
|
4
|
+
<dependentAssembly>
|
5
|
+
<assemblyIdentity
|
6
|
+
type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="x86" />
|
7
|
+
</dependentAssembly>
|
8
|
+
</dependency>
|
9
|
+
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
10
|
+
<security>
|
11
|
+
<requestedPrivileges>
|
12
|
+
<requestedExecutionLevel
|
13
|
+
level="asInvoker"/>
|
14
|
+
</requestedPrivileges>
|
15
|
+
</security>
|
16
|
+
</trustInfo>
|
17
|
+
</assembly>
|
Binary file
|
@@ -0,0 +1,644 @@
|
|
1
|
+
;--------------------------------
|
2
|
+
;Definitions
|
3
|
+
!define AppName "Shoes"
|
4
|
+
!define AppRelease "Policeman"
|
5
|
+
!define AppVersion "0.r1426"
|
6
|
+
!define AppMainEXE "shoes.exe"
|
7
|
+
!define ShortName "shoes"
|
8
|
+
!define InstallKey "Software\Hackety.org\${AppName}"
|
9
|
+
|
10
|
+
;--------------------------------
|
11
|
+
;Path Manipulation Funcs
|
12
|
+
|
13
|
+
!ifndef _AddToPath_nsh
|
14
|
+
!define _AddToPath_nsh
|
15
|
+
|
16
|
+
!verbose 3
|
17
|
+
!include "WinMessages.NSH"
|
18
|
+
!verbose 4
|
19
|
+
|
20
|
+
!ifndef WriteEnvStr_RegKey
|
21
|
+
!ifdef ALL_USERS
|
22
|
+
!define WriteEnvStr_RegKey \
|
23
|
+
'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
|
24
|
+
!else
|
25
|
+
!define WriteEnvStr_RegKey 'HKCU "Environment"'
|
26
|
+
!endif
|
27
|
+
!endif
|
28
|
+
|
29
|
+
; AddToPath - Adds the given dir to the search path.
|
30
|
+
; Input - head of the stack
|
31
|
+
; Note - Win9x systems requires reboot
|
32
|
+
|
33
|
+
Function AddToPath
|
34
|
+
Exch $0
|
35
|
+
Push $1
|
36
|
+
Push $2
|
37
|
+
Push $3
|
38
|
+
|
39
|
+
# don't add if the path doesn't exist
|
40
|
+
IfFileExists "$0\*.*" "" AddToPath_done
|
41
|
+
|
42
|
+
ReadEnvStr $1 PATH
|
43
|
+
Push "$1;"
|
44
|
+
Push "$0;"
|
45
|
+
Call StrStr
|
46
|
+
Pop $2
|
47
|
+
StrCmp $2 "" "" AddToPath_done
|
48
|
+
Push "$1;"
|
49
|
+
Push "$0\;"
|
50
|
+
Call StrStr
|
51
|
+
Pop $2
|
52
|
+
StrCmp $2 "" "" AddToPath_done
|
53
|
+
GetFullPathName /SHORT $3 $0
|
54
|
+
Push "$1;"
|
55
|
+
Push "$3;"
|
56
|
+
Call StrStr
|
57
|
+
Pop $2
|
58
|
+
StrCmp $2 "" "" AddToPath_done
|
59
|
+
Push "$1;"
|
60
|
+
Push "$3\;"
|
61
|
+
Call StrStr
|
62
|
+
Pop $2
|
63
|
+
StrCmp $2 "" "" AddToPath_done
|
64
|
+
|
65
|
+
Call IsNT
|
66
|
+
Pop $1
|
67
|
+
StrCmp $1 1 AddToPath_NT
|
68
|
+
; Not on NT
|
69
|
+
StrCpy $1 $WINDIR 2
|
70
|
+
FileOpen $1 "$1\autoexec.bat" a
|
71
|
+
FileSeek $1 -1 END
|
72
|
+
FileReadByte $1 $2
|
73
|
+
IntCmp $2 26 0 +2 +2 # DOS EOF
|
74
|
+
FileSeek $1 -1 END # write over EOF
|
75
|
+
FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
|
76
|
+
FileClose $1
|
77
|
+
SetRebootFlag true
|
78
|
+
Goto AddToPath_done
|
79
|
+
|
80
|
+
AddToPath_NT:
|
81
|
+
ReadRegStr $1 ${WriteEnvStr_RegKey} "PATH"
|
82
|
+
StrCmp $1 "" AddToPath_NTdoIt
|
83
|
+
Push $1
|
84
|
+
Call Trim
|
85
|
+
Pop $1
|
86
|
+
StrCpy $0 "$1;$0"
|
87
|
+
AddToPath_NTdoIt:
|
88
|
+
WriteRegExpandStr ${WriteEnvStr_RegKey} "PATH" $0
|
89
|
+
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
90
|
+
|
91
|
+
AddToPath_done:
|
92
|
+
Pop $3
|
93
|
+
Pop $2
|
94
|
+
Pop $1
|
95
|
+
Pop $0
|
96
|
+
FunctionEnd
|
97
|
+
|
98
|
+
; RemoveFromPath - Remove a given dir from the path
|
99
|
+
; Input: head of the stack
|
100
|
+
|
101
|
+
Function un.RemoveFromPath
|
102
|
+
Exch $0
|
103
|
+
Push $1
|
104
|
+
Push $2
|
105
|
+
Push $3
|
106
|
+
Push $4
|
107
|
+
Push $5
|
108
|
+
Push $6
|
109
|
+
|
110
|
+
IntFmt $6 "%c" 26 # DOS EOF
|
111
|
+
|
112
|
+
Call un.IsNT
|
113
|
+
Pop $1
|
114
|
+
StrCmp $1 1 unRemoveFromPath_NT
|
115
|
+
; Not on NT
|
116
|
+
StrCpy $1 $WINDIR 2
|
117
|
+
FileOpen $1 "$1\autoexec.bat" r
|
118
|
+
GetTempFileName $4
|
119
|
+
FileOpen $2 $4 w
|
120
|
+
GetFullPathName /SHORT $0 $0
|
121
|
+
StrCpy $0 "SET PATH=%PATH%;$0"
|
122
|
+
Goto unRemoveFromPath_dosLoop
|
123
|
+
|
124
|
+
unRemoveFromPath_dosLoop:
|
125
|
+
FileRead $1 $3
|
126
|
+
StrCpy $5 $3 1 -1 # read last char
|
127
|
+
StrCmp $5 $6 0 +2 # if DOS EOF
|
128
|
+
StrCpy $3 $3 -1 # remove DOS EOF so we can compare
|
129
|
+
StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
|
130
|
+
StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
|
131
|
+
StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
|
132
|
+
StrCmp $3 "" unRemoveFromPath_dosLoopEnd
|
133
|
+
FileWrite $2 $3
|
134
|
+
Goto unRemoveFromPath_dosLoop
|
135
|
+
unRemoveFromPath_dosLoopRemoveLine:
|
136
|
+
SetRebootFlag true
|
137
|
+
Goto unRemoveFromPath_dosLoop
|
138
|
+
|
139
|
+
unRemoveFromPath_dosLoopEnd:
|
140
|
+
FileClose $2
|
141
|
+
FileClose $1
|
142
|
+
StrCpy $1 $WINDIR 2
|
143
|
+
Delete "$1\autoexec.bat"
|
144
|
+
CopyFiles /SILENT $4 "$1\autoexec.bat"
|
145
|
+
Delete $4
|
146
|
+
Goto unRemoveFromPath_done
|
147
|
+
|
148
|
+
unRemoveFromPath_NT:
|
149
|
+
ReadRegStr $1 ${WriteEnvStr_RegKey} "PATH"
|
150
|
+
StrCpy $5 $1 1 -1 # copy last char
|
151
|
+
StrCmp $5 ";" +2 # if last char != ;
|
152
|
+
StrCpy $1 "$1;" # append ;
|
153
|
+
Push $1
|
154
|
+
Push "$0;"
|
155
|
+
Call un.StrStr ; Find `$0;` in $1
|
156
|
+
Pop $2 ; pos of our dir
|
157
|
+
StrCmp $2 "" unRemoveFromPath_done
|
158
|
+
; else, it is in path
|
159
|
+
# $0 - path to add
|
160
|
+
# $1 - path var
|
161
|
+
StrLen $3 "$0;"
|
162
|
+
StrLen $4 $2
|
163
|
+
StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
|
164
|
+
StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
|
165
|
+
StrCpy $3 $5$6
|
166
|
+
|
167
|
+
StrCpy $5 $3 1 -1 # copy last char
|
168
|
+
StrCmp $5 ";" 0 +2 # if last char == ;
|
169
|
+
StrCpy $3 $3 -1 # remove last char
|
170
|
+
|
171
|
+
WriteRegExpandStr ${WriteEnvStr_RegKey} "PATH" $3
|
172
|
+
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
173
|
+
|
174
|
+
unRemoveFromPath_done:
|
175
|
+
Pop $6
|
176
|
+
Pop $5
|
177
|
+
Pop $4
|
178
|
+
Pop $3
|
179
|
+
Pop $2
|
180
|
+
Pop $1
|
181
|
+
Pop $0
|
182
|
+
FunctionEnd
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
; AddToEnvVar - Adds the given value to the given environment var
|
187
|
+
; Input - head of the stack $0 environement variable $1=value to add
|
188
|
+
; Note - Win9x systems requires reboot
|
189
|
+
|
190
|
+
Function AddToEnvVar
|
191
|
+
|
192
|
+
Exch $1 ; $1 has environment variable value
|
193
|
+
Exch
|
194
|
+
Exch $0 ; $0 has environment variable name
|
195
|
+
|
196
|
+
DetailPrint "Adding $1 to $0"
|
197
|
+
Push $2
|
198
|
+
Push $3
|
199
|
+
Push $4
|
200
|
+
|
201
|
+
|
202
|
+
ReadEnvStr $2 $0
|
203
|
+
Push "$2;"
|
204
|
+
Push "$1;"
|
205
|
+
Call StrStr
|
206
|
+
Pop $3
|
207
|
+
StrCmp $3 "" "" AddToEnvVar_done
|
208
|
+
|
209
|
+
Push "$2;"
|
210
|
+
Push "$1\;"
|
211
|
+
Call StrStr
|
212
|
+
Pop $3
|
213
|
+
StrCmp $3 "" "" AddToEnvVar_done
|
214
|
+
|
215
|
+
|
216
|
+
Call IsNT
|
217
|
+
Pop $2
|
218
|
+
StrCmp $2 1 AddToEnvVar_NT
|
219
|
+
; Not on NT
|
220
|
+
StrCpy $2 $WINDIR 2
|
221
|
+
FileOpen $2 "$2\autoexec.bat" a
|
222
|
+
FileSeek $2 -1 END
|
223
|
+
FileReadByte $2 $3
|
224
|
+
IntCmp $3 26 0 +2 +2 # DOS EOF
|
225
|
+
FileSeek $2 -1 END # write over EOF
|
226
|
+
FileWrite $2 "$\r$\nSET $0=%$0%;$4$\r$\n"
|
227
|
+
FileClose $2
|
228
|
+
SetRebootFlag true
|
229
|
+
Goto AddToEnvVar_done
|
230
|
+
|
231
|
+
AddToEnvVar_NT:
|
232
|
+
ReadRegStr $2 ${WriteEnvStr_RegKey} $0
|
233
|
+
StrCpy $3 $2 1 -1 # copy last char
|
234
|
+
StrCmp $3 ";" 0 +2 # if last char == ;
|
235
|
+
StrCpy $2 $2 -1 # remove last char
|
236
|
+
StrCmp $2 "" AddToEnvVar_NTdoIt
|
237
|
+
StrCpy $1 "$2;$1"
|
238
|
+
AddToEnvVar_NTdoIt:
|
239
|
+
WriteRegExpandStr ${WriteEnvStr_RegKey} $0 $1
|
240
|
+
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
241
|
+
|
242
|
+
AddToEnvVar_done:
|
243
|
+
Pop $4
|
244
|
+
Pop $3
|
245
|
+
Pop $2
|
246
|
+
Pop $0
|
247
|
+
Pop $1
|
248
|
+
|
249
|
+
FunctionEnd
|
250
|
+
|
251
|
+
; RemoveFromEnvVar - Remove a given value from a environment var
|
252
|
+
; Input: head of the stack
|
253
|
+
|
254
|
+
Function un.RemoveFromEnvVar
|
255
|
+
|
256
|
+
Exch $1 ; $1 has environment variable value
|
257
|
+
Exch
|
258
|
+
Exch $0 ; $0 has environment variable name
|
259
|
+
|
260
|
+
DetailPrint "Removing $1 from $0"
|
261
|
+
Push $2
|
262
|
+
Push $3
|
263
|
+
Push $4
|
264
|
+
Push $5
|
265
|
+
Push $6
|
266
|
+
Push $7
|
267
|
+
|
268
|
+
IntFmt $7 "%c" 26 # DOS EOF
|
269
|
+
|
270
|
+
Call un.IsNT
|
271
|
+
Pop $2
|
272
|
+
StrCmp $2 1 unRemoveFromEnvVar_NT
|
273
|
+
; Not on NT
|
274
|
+
StrCpy $2 $WINDIR 2
|
275
|
+
FileOpen $2 "$2\autoexec.bat" r
|
276
|
+
GetTempFileName $5
|
277
|
+
FileOpen $3 $5 w
|
278
|
+
GetFullPathName /SHORT $1 $1
|
279
|
+
StrCpy $1 "SET $0=%$0%;$1"
|
280
|
+
Goto unRemoveFromEnvVar_dosLoop
|
281
|
+
|
282
|
+
unRemoveFromEnvVar_dosLoop:
|
283
|
+
FileRead $2 $4
|
284
|
+
StrCpy $6 $4 1 -1 # read last char
|
285
|
+
StrCmp $6 $7 0 +2 # if DOS EOF
|
286
|
+
StrCpy $4 $4 -1 # remove DOS EOF so we can compare
|
287
|
+
StrCmp $4 "$1$\r$\n" unRemoveFromEnvVar_dosLoopRemoveLine
|
288
|
+
StrCmp $4 "$1$\n" unRemoveFromEnvVar_dosLoopRemoveLine
|
289
|
+
StrCmp $4 "$1" unRemoveFromEnvVar_dosLoopRemoveLine
|
290
|
+
StrCmp $4 "" unRemoveFromEnvVar_dosLoopEnd
|
291
|
+
FileWrite $3 $4
|
292
|
+
Goto unRemoveFromEnvVar_dosLoop
|
293
|
+
unRemoveFromEnvVar_dosLoopRemoveLine:
|
294
|
+
SetRebootFlag true
|
295
|
+
Goto unRemoveFromEnvVar_dosLoop
|
296
|
+
|
297
|
+
unRemoveFromEnvVar_dosLoopEnd:
|
298
|
+
FileClose $3
|
299
|
+
FileClose $2
|
300
|
+
StrCpy $2 $WINDIR 2
|
301
|
+
Delete "$2\autoexec.bat"
|
302
|
+
CopyFiles /SILENT $5 "$2\autoexec.bat"
|
303
|
+
Delete $5
|
304
|
+
Goto unRemoveFromEnvVar_done
|
305
|
+
|
306
|
+
unRemoveFromEnvVar_NT:
|
307
|
+
ReadRegStr $2 ${WriteEnvStr_RegKey} $0
|
308
|
+
StrCpy $6 $2 1 -1 # copy last char
|
309
|
+
StrCmp $6 ";" +2 # if last char != ;
|
310
|
+
StrCpy $2 "$2;" # append ;
|
311
|
+
Push $2
|
312
|
+
Push "$1;"
|
313
|
+
Call un.StrStr ; Find `$1;` in $2
|
314
|
+
Pop $3 ; pos of our dir
|
315
|
+
StrCmp $3 "" unRemoveFromEnvVar_done
|
316
|
+
; else, it is in path
|
317
|
+
# $1 - path to add
|
318
|
+
# $2 - path var
|
319
|
+
StrLen $4 "$1;"
|
320
|
+
StrLen $5 $3
|
321
|
+
StrCpy $6 $2 -$5 # $6 is now the part before the path to remove
|
322
|
+
StrCpy $7 $3 "" $4 # $7 is now the part after the path to remove
|
323
|
+
StrCpy $4 $6$7
|
324
|
+
|
325
|
+
StrCpy $6 $4 1 -1 # copy last char
|
326
|
+
StrCmp $6 ";" 0 +2 # if last char == ;
|
327
|
+
StrCpy $4 $4 -1 # remove last char
|
328
|
+
|
329
|
+
WriteRegExpandStr ${WriteEnvStr_RegKey} $0 $4
|
330
|
+
|
331
|
+
; delete reg value if null
|
332
|
+
StrCmp $4 "" 0 +2 # if null delete reg
|
333
|
+
DeleteRegValue ${WriteEnvStr_RegKey} $0
|
334
|
+
|
335
|
+
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
336
|
+
|
337
|
+
unRemoveFromEnvVar_done:
|
338
|
+
Pop $7
|
339
|
+
Pop $6
|
340
|
+
Pop $5
|
341
|
+
Pop $4
|
342
|
+
Pop $3
|
343
|
+
Pop $2
|
344
|
+
Pop $1
|
345
|
+
Pop $0
|
346
|
+
FunctionEnd
|
347
|
+
|
348
|
+
!ifndef IsNT_KiCHiK
|
349
|
+
!define IsNT_KiCHiK
|
350
|
+
|
351
|
+
###########################################
|
352
|
+
# Utility Functions #
|
353
|
+
###########################################
|
354
|
+
|
355
|
+
; IsNT
|
356
|
+
; no input
|
357
|
+
; output, top of the stack = 1 if NT or 0 if not
|
358
|
+
;
|
359
|
+
; Usage:
|
360
|
+
; Call IsNT
|
361
|
+
; Pop $R0
|
362
|
+
; ($R0 at this point is 1 or 0)
|
363
|
+
|
364
|
+
!macro IsNT un
|
365
|
+
Function ${un}IsNT
|
366
|
+
Push $0
|
367
|
+
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
368
|
+
StrCmp $0 "" 0 IsNT_yes
|
369
|
+
; we are not NT.
|
370
|
+
Pop $0
|
371
|
+
Push 0
|
372
|
+
Return
|
373
|
+
|
374
|
+
IsNT_yes:
|
375
|
+
; NT!!!
|
376
|
+
Pop $0
|
377
|
+
Push 1
|
378
|
+
FunctionEnd
|
379
|
+
!macroend
|
380
|
+
!insertmacro IsNT ""
|
381
|
+
!insertmacro IsNT "un."
|
382
|
+
|
383
|
+
!endif ; IsNT_KiCHiK
|
384
|
+
|
385
|
+
; StrStr
|
386
|
+
; input, top of stack = string to search for
|
387
|
+
; top of stack-1 = string to search in
|
388
|
+
; output, top of stack (replaces with the portion of the string remaining)
|
389
|
+
; modifies no other variables.
|
390
|
+
;
|
391
|
+
; Usage:
|
392
|
+
; Push "this is a long ass string"
|
393
|
+
; Push "ass"
|
394
|
+
; Call StrStr
|
395
|
+
; Pop $R0
|
396
|
+
; ($R0 at this point is "ass string")
|
397
|
+
|
398
|
+
!macro StrStr un
|
399
|
+
Function ${un}StrStr
|
400
|
+
Exch $R1 ; st=haystack,old$R1, $R1=needle
|
401
|
+
Exch ; st=old$R1,haystack
|
402
|
+
Exch $R2 ; st=old$R1,old$R2, $R2=haystack
|
403
|
+
Push $R3
|
404
|
+
Push $R4
|
405
|
+
Push $R5
|
406
|
+
StrLen $R3 $R1
|
407
|
+
StrCpy $R4 0
|
408
|
+
; $R1=needle
|
409
|
+
; $R2=haystack
|
410
|
+
; $R3=len(needle)
|
411
|
+
; $R4=cnt
|
412
|
+
; $R5=tmp
|
413
|
+
loop:
|
414
|
+
StrCpy $R5 $R2 $R3 $R4
|
415
|
+
StrCmp $R5 $R1 done
|
416
|
+
StrCmp $R5 "" done
|
417
|
+
IntOp $R4 $R4 + 1
|
418
|
+
Goto loop
|
419
|
+
done:
|
420
|
+
StrCpy $R1 $R2 "" $R4
|
421
|
+
Pop $R5
|
422
|
+
Pop $R4
|
423
|
+
Pop $R3
|
424
|
+
Pop $R2
|
425
|
+
Exch $R1
|
426
|
+
FunctionEnd
|
427
|
+
!macroend
|
428
|
+
!insertmacro StrStr ""
|
429
|
+
!insertmacro StrStr "un."
|
430
|
+
|
431
|
+
!endif ; _AddToPath_nsh
|
432
|
+
|
433
|
+
Function Trim ; Added by Pelaca
|
434
|
+
Exch $R1
|
435
|
+
Push $R2
|
436
|
+
Loop:
|
437
|
+
StrCpy $R2 "$R1" 1 -1
|
438
|
+
StrCmp "$R2" " " RTrim
|
439
|
+
StrCmp "$R2" "$\n" RTrim
|
440
|
+
StrCmp "$R2" "$\r" RTrim
|
441
|
+
StrCmp "$R2" ";" RTrim
|
442
|
+
GoTo Done
|
443
|
+
RTrim:
|
444
|
+
StrCpy $R1 "$R1" -1
|
445
|
+
Goto Loop
|
446
|
+
Done:
|
447
|
+
Pop $R2
|
448
|
+
Exch $R1
|
449
|
+
FunctionEnd
|
450
|
+
|
451
|
+
;--------------------------------
|
452
|
+
;Include Modern UI
|
453
|
+
|
454
|
+
!include "MUI.nsh"
|
455
|
+
!include LogicLib.nsh
|
456
|
+
|
457
|
+
;--------------------------------
|
458
|
+
;General
|
459
|
+
|
460
|
+
;Name and file
|
461
|
+
Name "${AppName} (${AppRelease})"
|
462
|
+
OutFile "${ShortName}-${AppVersion}.exe"
|
463
|
+
|
464
|
+
;Default installation folder
|
465
|
+
InstallDir "$COMMONFILES\${AppName}"
|
466
|
+
|
467
|
+
;Get installation folder from registry if available
|
468
|
+
InstallDirRegKey HKLM "${InstallKey}" "Base"
|
469
|
+
|
470
|
+
;Vista redirects $SMPROGRAMS to all users without this
|
471
|
+
RequestExecutionLevel admin
|
472
|
+
|
473
|
+
;Best compression
|
474
|
+
SetCompressor /SOLID lzma
|
475
|
+
|
476
|
+
;--------------------------------
|
477
|
+
;Variables
|
478
|
+
|
479
|
+
Var MUI_TEMP
|
480
|
+
Var STARTMENU_FOLDER
|
481
|
+
|
482
|
+
;--------------------------------
|
483
|
+
;Interface Configuration
|
484
|
+
|
485
|
+
!define MUI_ABORTWARNING
|
486
|
+
!define MUI_ICON setup.ico
|
487
|
+
!define MUI_UNICON setup.ico
|
488
|
+
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
489
|
+
!define MUI_WELCOMEFINISHPAGE_BITMAP installer-1.bmp
|
490
|
+
!define MUI_HEADERIMAGE
|
491
|
+
!define MUI_HEADERIMAGE_RIGHT
|
492
|
+
!define MUI_HEADERIMAGE_BITMAP installer-2.bmp
|
493
|
+
!define MUI_COMPONENTSPAGE_NODESC
|
494
|
+
|
495
|
+
;--------------------------------
|
496
|
+
;Pages
|
497
|
+
|
498
|
+
!insertmacro MUI_PAGE_WELCOME
|
499
|
+
!define MUI_PAGE_HEADER_TEXT "Shoes is MIT Licensed"
|
500
|
+
!define MUI_PAGE_HEADER_SUBTEXT "You are free to do as you please with Shoes."
|
501
|
+
!define MUI_LICENSEPAGE_TEXT_TOP "When you are ready to continue with Setup, click I Agree."
|
502
|
+
!define MUI_LICENSEPAGE_TEXT_BOTTOM " "
|
503
|
+
!insertmacro MUI_PAGE_LICENSE "..\COPYING.txt"
|
504
|
+
|
505
|
+
;Start Menu Folder Page Configuration
|
506
|
+
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${AppName}"
|
507
|
+
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
|
508
|
+
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${InstallKey}"
|
509
|
+
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
510
|
+
|
511
|
+
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
512
|
+
!insertmacro MUI_PAGE_DIRECTORY
|
513
|
+
!insertmacro MUI_PAGE_INSTFILES
|
514
|
+
|
515
|
+
; Finish Page
|
516
|
+
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
|
517
|
+
!define MUI_FINISHPAGE_TITLE_3LINES
|
518
|
+
!define MUI_FINISHPAGE_RUN
|
519
|
+
!define MUI_FINISHPAGE_RUN_FUNCTION LaunchApp
|
520
|
+
!define MUI_FINISHPAGE_RUN_TEXT $(LAUNCH_TEXT)
|
521
|
+
;!define MUI_PAGE_CUSTOMFUNCTION_PRE preFinish
|
522
|
+
!insertmacro MUI_PAGE_FINISH
|
523
|
+
|
524
|
+
!insertmacro MUI_UNPAGE_CONFIRM
|
525
|
+
!insertmacro MUI_UNPAGE_INSTFILES
|
526
|
+
|
527
|
+
;--------------------------------
|
528
|
+
;Languages
|
529
|
+
|
530
|
+
!insertmacro MUI_LANGUAGE "English"
|
531
|
+
LangString LAUNCH_TEXT ${LANG_ENGLISH} "Run ${AppName}"
|
532
|
+
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Your ${AppName} Settings"
|
533
|
+
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Customize the way you use ${AppName}"
|
534
|
+
|
535
|
+
;--------------------------------
|
536
|
+
;Reserve Files
|
537
|
+
|
538
|
+
;--------------------------------
|
539
|
+
;Installer Section
|
540
|
+
!macro MakeFileAssoc LangName LangExt
|
541
|
+
WriteRegStr HKCR ".${LangExt}" "" "${ShortName}.${LangName}Program"
|
542
|
+
WriteRegStr HKCR "${ShortName}.${LangName}Program" "" "${AppName} ${LangName} Program"
|
543
|
+
WriteRegStr HKCR "${ShortName}.${LangName}Program\shell\open\command" "" '"$INSTDIR\${AppMainEXE}" "%1"'
|
544
|
+
!macroend
|
545
|
+
|
546
|
+
!macro UnmakeFileAssoc LangName LangExt
|
547
|
+
DeleteRegKey /ifempty HKCU ".${LangExt}"
|
548
|
+
DeleteRegKey /ifempty HKCU "${ShortName}.${LangName}Program"
|
549
|
+
!macroend
|
550
|
+
|
551
|
+
Section "App Section" SecApp
|
552
|
+
|
553
|
+
;Store installation folder
|
554
|
+
WriteRegStr HKLM "${InstallKey}" "" "$INSTDIR\${AppVersion}"
|
555
|
+
WriteRegStr HKLM "${InstallKey}" "Base" $INSTDIR
|
556
|
+
|
557
|
+
;ReadEnvStr $INSTDIR "COMMONPROGRAMFILES"
|
558
|
+
StrCpy $INSTDIR "$INSTDIR\${AppVersion}"
|
559
|
+
SetOutPath "$INSTDIR"
|
560
|
+
|
561
|
+
File /r /x nsis ..\*.*
|
562
|
+
|
563
|
+
;Make associations
|
564
|
+
!insertmacro MakeFileAssoc "Shoes" "shy"
|
565
|
+
|
566
|
+
;Create uninstaller
|
567
|
+
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
568
|
+
|
569
|
+
;Create batch file
|
570
|
+
FileOpen $0 "$INSTDIR\..\shoes.bat" w
|
571
|
+
FileWrite $0 "@ECHO OFF$\r$\n"
|
572
|
+
FileWrite $0 '@"$INSTDIR\shoes.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9$\r$\n'
|
573
|
+
FileClose $0
|
574
|
+
|
575
|
+
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
576
|
+
|
577
|
+
;Create shortcuts
|
578
|
+
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
579
|
+
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${AppName}.lnk" "$INSTDIR\${AppMainEXE}"
|
580
|
+
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Manual.lnk" "$INSTDIR\${AppMainEXE}" "--manual"
|
581
|
+
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Packager.lnk" "$INSTDIR\${AppMainEXE}" "--package"
|
582
|
+
|
583
|
+
;Setup environment vars
|
584
|
+
Push "$INSTDIR\.."
|
585
|
+
Call AddToPath
|
586
|
+
|
587
|
+
!insertmacro MUI_STARTMENU_WRITE_END
|
588
|
+
|
589
|
+
SectionEnd
|
590
|
+
|
591
|
+
|
592
|
+
Function LaunchApp
|
593
|
+
; ${CloseApp} "true" $(WARN_APP_RUNNING_INSTALL)
|
594
|
+
Exec "$INSTDIR\${AppMainEXE}"
|
595
|
+
FunctionEnd
|
596
|
+
|
597
|
+
;--------------------------------
|
598
|
+
;Descriptions
|
599
|
+
|
600
|
+
;Language strings
|
601
|
+
LangString DESC_SecApp ${LANG_ENGLISH} "A test section."
|
602
|
+
|
603
|
+
;Assign language strings to sections
|
604
|
+
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
605
|
+
!insertmacro MUI_DESCRIPTION_TEXT ${SecApp} $(DESC_SecApp)
|
606
|
+
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
607
|
+
|
608
|
+
;--------------------------------
|
609
|
+
;Uninstaller Section
|
610
|
+
|
611
|
+
Section "Uninstall"
|
612
|
+
|
613
|
+
RMDir /r "$INSTDIR"
|
614
|
+
Delete "$INSTDIR\..\shoes.bat"
|
615
|
+
|
616
|
+
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
617
|
+
|
618
|
+
Delete "$SMPROGRAMS\$MUI_TEMP\${AppName}.lnk"
|
619
|
+
Delete "$SMPROGRAMS\$MUI_TEMP\Manual.lnk"
|
620
|
+
Delete "$SMPROGRAMS\$MUI_TEMP\Packager.lnk"
|
621
|
+
|
622
|
+
;Delete empty start menu parent diretories
|
623
|
+
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
624
|
+
|
625
|
+
startMenuDeleteLoop:
|
626
|
+
ClearErrors
|
627
|
+
RMDir $MUI_TEMP
|
628
|
+
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
|
629
|
+
|
630
|
+
IfErrors startMenuDeleteLoopDone
|
631
|
+
|
632
|
+
StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
|
633
|
+
startMenuDeleteLoopDone:
|
634
|
+
|
635
|
+
;Unmake associations
|
636
|
+
!insertmacro UnmakeFileAssoc "Shoes" "shy"
|
637
|
+
|
638
|
+
;Remove environment vars
|
639
|
+
Push "$INSTDIR\.."
|
640
|
+
Call un.RemoveFromPath
|
641
|
+
|
642
|
+
DeleteRegKey /ifempty HKLM "${InstallKey}"
|
643
|
+
|
644
|
+
SectionEnd
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
#include <windows.h>
|
3
|
+
|
4
|
+
#define BUFSIZE 512
|
5
|
+
|
6
|
+
int WINAPI
|
7
|
+
WinMain(HINSTANCE inst, HINSTANCE inst2, LPSTR arg, int style)
|
8
|
+
{
|
9
|
+
LPBYTE data = NULL;
|
10
|
+
HANDLE payload = CreateFile(arg, GENERIC_READ, FILE_SHARE_READ,
|
11
|
+
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
12
|
+
if (payload != INVALID_HANDLE_VALUE)
|
13
|
+
{
|
14
|
+
DWORD rlen = 0;
|
15
|
+
TCHAR outPath[BUFSIZE];
|
16
|
+
DWORD len = GetFileSize(payload, NULL);
|
17
|
+
data = (LPBYTE)LocalAlloc(LPTR, len + 1);
|
18
|
+
SetFilePointer(payload, 0, 0, FILE_BEGIN);
|
19
|
+
ReadFile(payload, data, len, &rlen, NULL);
|
20
|
+
CloseHandle(payload);
|
21
|
+
|
22
|
+
LPTSTR fname = strrchr(arg, '\\');
|
23
|
+
if (fname == NULL)
|
24
|
+
fname = arg;
|
25
|
+
else
|
26
|
+
fname += 1;
|
27
|
+
|
28
|
+
strcpy(outPath, arg);
|
29
|
+
LPSTR ext = strrchr(outPath, '.');
|
30
|
+
if (ext != NULL)
|
31
|
+
*ext = '\0';
|
32
|
+
strcat(outPath, ".exe");
|
33
|
+
|
34
|
+
CopyFile("shoes-stub.exe", outPath, FALSE);
|
35
|
+
HANDLE exe = BeginUpdateResource(outPath, FALSE);
|
36
|
+
UpdateResource(exe, RT_STRING, "SHOES_FILENAME",
|
37
|
+
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), fname, strlen(fname));
|
38
|
+
UpdateResource(exe, RT_RCDATA, "SHOES_PAYLOAD",
|
39
|
+
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), data, rlen);
|
40
|
+
|
41
|
+
payload = CreateFile("shoes-setup.exe", GENERIC_READ, FILE_SHARE_READ,
|
42
|
+
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
43
|
+
if (payload != INVALID_HANDLE_VALUE)
|
44
|
+
{
|
45
|
+
LPBYTE setup = NULL;
|
46
|
+
DWORD setuplen = 0;
|
47
|
+
len = GetFileSize(payload, NULL);
|
48
|
+
setup = (LPBYTE)LocalAlloc(LPTR, len + 1);
|
49
|
+
SetFilePointer(payload, 0, 0, FILE_BEGIN);
|
50
|
+
ReadFile(payload, setup, len, &setuplen, NULL);
|
51
|
+
CloseHandle(payload);
|
52
|
+
UpdateResource(exe, RT_RCDATA, "SHOES_SETUP",
|
53
|
+
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), setup, setuplen);
|
54
|
+
}
|
55
|
+
EndUpdateResource(exe, FALSE);
|
56
|
+
LocalFree(data);
|
57
|
+
LocalFree(fname);
|
58
|
+
}
|
59
|
+
}
|