rubyinstaller-build 0.1.0

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 (136) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE.md +8 -0
  3. data/.gitignore +12 -0
  4. data/.yardopts +7 -0
  5. data/CHANGELOG-2.4.md +166 -0
  6. data/CHANGELOG-2.5.md +87 -0
  7. data/CHANGELOG-2.6.md +62 -0
  8. data/CHANGELOG-2.7.md +22 -0
  9. data/Gemfile +6 -0
  10. data/LICENSE.txt +25 -0
  11. data/README.md +114 -0
  12. data/Rakefile +164 -0
  13. data/appveyor-key.asc.asc +61 -0
  14. data/appveyor.yml +141 -0
  15. data/docker/Dockerfile +50 -0
  16. data/docker/Rakefile +22 -0
  17. data/gems/rubyinstaller-build.yaml +2 -0
  18. data/lib/devkit.rb +3 -0
  19. data/lib/ruby_installer.rb +3 -0
  20. data/lib/ruby_installer/build.rb +23 -0
  21. data/lib/ruby_installer/build/ca_cert_file.rb +66 -0
  22. data/lib/ruby_installer/build/colors.rb +45 -0
  23. data/lib/ruby_installer/build/components/01_msys2.rb +97 -0
  24. data/lib/ruby_installer/build/components/02_pacman_update.rb +35 -0
  25. data/lib/ruby_installer/build/components/03_dev_tools.rb +68 -0
  26. data/lib/ruby_installer/build/components/base.rb +58 -0
  27. data/lib/ruby_installer/build/components_installer.rb +53 -0
  28. data/lib/ruby_installer/build/dll_directory.rb +97 -0
  29. data/lib/ruby_installer/build/erb_compiler.rb +61 -0
  30. data/lib/ruby_installer/build/gem_version.rb +5 -0
  31. data/lib/ruby_installer/build/gems.rb +74 -0
  32. data/lib/ruby_installer/build/msys2_installation.rb +280 -0
  33. data/lib/ruby_installer/build/openstruct.rb +29 -0
  34. data/lib/ruby_installer/build/release.rb +120 -0
  35. data/lib/ruby_installer/build/singleton.rb +45 -0
  36. data/lib/ruby_installer/build/task.rb +20 -0
  37. data/lib/ruby_installer/build/utils.rb +110 -0
  38. data/lib/ruby_installer/runtime.rb +18 -0
  39. data/lib/ruby_installer/runtime/ridk.rb +195 -0
  40. data/packages/ri-msys/Rakefile +72 -0
  41. data/packages/ri-msys/recipes/sandbox/70-add-msys2-installation.rake +18 -0
  42. data/packages/ri/Rakefile +60 -0
  43. data/recipes/archive-7z/10-define-variables.rake +2 -0
  44. data/recipes/archive-7z/70-create-archive.rake +10 -0
  45. data/recipes/archive-7z/90-define-main-task.rake +2 -0
  46. data/recipes/installer-inno/10-define-variables.rake +2 -0
  47. data/recipes/installer-inno/50-generate-filelist.rake +28 -0
  48. data/recipes/installer-inno/60-generate-iss-file.rake +8 -0
  49. data/recipes/installer-inno/70-run-iscc.rake +19 -0
  50. data/recipes/installer-inno/90-define-main-task.rake +2 -0
  51. data/recipes/installer-inno/events.iss +88 -0
  52. data/recipes/installer-inno/images/fake.bmp +0 -0
  53. data/recipes/installer-inno/images/wizard-large.bmp +0 -0
  54. data/recipes/installer-inno/images/wizard-logo.bmp +0 -0
  55. data/recipes/installer-inno/ri_gui.iss +286 -0
  56. data/recipes/installer-inno/rubyinstaller.iss.erb +157 -0
  57. data/recipes/installer-inno/util.iss +271 -0
  58. data/recipes/msys2/10-define-variables.rake +6 -0
  59. data/recipes/msys2/30-download-msys2-base.rake +4 -0
  60. data/recipes/msys2/40-extract-msys2-base.rake +9 -0
  61. data/recipes/msys2/50-init-msys.rake +8 -0
  62. data/recipes/msys2/50-install-components.rake +19 -0
  63. data/recipes/msys2/90-define-main-task.rake +2 -0
  64. data/recipes/sandbox/10-define-variables.rake +6 -0
  65. data/recipes/sandbox/20-add-runtime-files.rake +15 -0
  66. data/recipes/sandbox/20-define-import-files.rake +16 -0
  67. data/recipes/sandbox/20-define-import-readline.rake +28 -0
  68. data/recipes/sandbox/20-extend-irb.rake +13 -0
  69. data/recipes/sandbox/40-fix-rake-shebang.rake +6 -0
  70. data/recipes/sandbox/40-generate-rake-cmd.rake +7 -0
  71. data/recipes/sandbox/40-generate-version-file.rake +20 -0
  72. data/recipes/sandbox/50-do-import-files.rake +17 -0
  73. data/recipes/sandbox/50-gather-sandbox-files.rake +6 -0
  74. data/recipes/sandbox/60-define-gem-wrappers.rake +5 -0
  75. data/recipes/sandbox/60-side-by-side-assembly.rake +81 -0
  76. data/recipes/sandbox/70-add-gem-bin-wrappers.rake +10 -0
  77. data/recipes/sandbox/70-install-gems.rake +11 -0
  78. data/recipes/sandbox/80-copy-msys-files.rake +8 -0
  79. data/recipes/sandbox/90-define-main-task.rake +2 -0
  80. data/recipes/sandbox/LICENSE.txt +24 -0
  81. data/recipes/sandbox/rubyinstaller-2.3.4-x64.files +4 -0
  82. data/recipes/sandbox/rubyinstaller-2.3.4-x86.files +4 -0
  83. data/recipes/sandbox/rubyinstaller-2.3.4.files +43 -0
  84. data/recipes/sandbox/rubyinstaller-2.4.10-x64.files +4 -0
  85. data/recipes/sandbox/rubyinstaller-2.4.10-x86.files +4 -0
  86. data/recipes/sandbox/rubyinstaller-2.4.10.files +44 -0
  87. data/recipes/sandbox/rubyinstaller-2.5.8-x64.files +6 -0
  88. data/recipes/sandbox/rubyinstaller-2.5.8-x86.files +6 -0
  89. data/recipes/sandbox/rubyinstaller-2.5.8.files +33 -0
  90. data/recipes/sandbox/rubyinstaller-2.6.6-x64.files +6 -0
  91. data/recipes/sandbox/rubyinstaller-2.6.6-x86.files +6 -0
  92. data/recipes/sandbox/rubyinstaller-2.6.6.files +35 -0
  93. data/recipes/sandbox/rubyinstaller-2.7.1-x64.files +6 -0
  94. data/recipes/sandbox/rubyinstaller-2.7.1-x86.files +6 -0
  95. data/recipes/sandbox/rubyinstaller-2.7.1.files +35 -0
  96. data/recipes/sandbox/rubyinstaller-head-x64.files +6 -0
  97. data/recipes/sandbox/rubyinstaller-head-x86.files +6 -0
  98. data/recipes/sandbox/rubyinstaller-head.files +35 -0
  99. data/recipes/unpack/10-define-variables.rake +5 -0
  100. data/recipes/unpack/20-define-msys-packages.rake +1 -0
  101. data/recipes/unpack/30-add-ri2-repo-to-msys.rake +41 -0
  102. data/recipes/unpack/50-install-msys-packages.rake +28 -0
  103. data/recipes/unpack/90-define-main-task.rake +2 -0
  104. data/recipes/unpack/appveyor-repo-key.asc +29 -0
  105. data/resources/files/irbrc_predefiner.rb +21 -0
  106. data/resources/files/operating_system.rb +21 -0
  107. data/resources/files/readline.rb +17 -0
  108. data/resources/files/reline.rb +437 -0
  109. data/resources/files/reline/ansi.rb +177 -0
  110. data/resources/files/reline/config.rb +297 -0
  111. data/resources/files/reline/general_io.rb +75 -0
  112. data/resources/files/reline/history.rb +56 -0
  113. data/resources/files/reline/key_actor.rb +7 -0
  114. data/resources/files/reline/key_actor/base.rb +7 -0
  115. data/resources/files/reline/key_actor/emacs.rb +517 -0
  116. data/resources/files/reline/key_actor/vi_command.rb +518 -0
  117. data/resources/files/reline/key_actor/vi_insert.rb +517 -0
  118. data/resources/files/reline/key_stroke.rb +53 -0
  119. data/resources/files/reline/kill_ring.rb +113 -0
  120. data/resources/files/reline/line_editor.rb +2231 -0
  121. data/resources/files/reline/unicode.rb +527 -0
  122. data/resources/files/reline/unicode/east_asian_width.rb +1145 -0
  123. data/resources/files/reline/version.rb +3 -0
  124. data/resources/files/reline/windows.rb +273 -0
  125. data/resources/files/ridk.cmd +39 -0
  126. data/resources/files/ridk.ps1 +26 -0
  127. data/resources/files/ridk_use/ridk.cmd +13 -0
  128. data/resources/files/ridk_use/ridk.ps1 +17 -0
  129. data/resources/files/ridk_use/ridk_use.rb +221 -0
  130. data/resources/files/setrbvars.cmd +14 -0
  131. data/resources/icons/ruby-doc.ico +0 -0
  132. data/resources/ssl/README-SSL.md +37 -0
  133. data/resources/ssl/c_rehash.rb +167 -0
  134. data/resources/ssl/cacert.pem +4105 -0
  135. data/rubyinstaller-build.gemspec +28 -0
  136. metadata +226 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: dba756e114c6f8871c36810f21e5adc58719ca68e4e698139b59b70f18109ead
4
+ data.tar.gz: 24af26b82e2e7cff07240e21bcd0c17871039a59785c8b4e5527ac8385a87acb
5
+ SHA512:
6
+ metadata.gz: 66393a5b050b961ad64336bf97fc0dea5dc7af18fbd0c7ce70b2ba2f9615fede242e5260d7a43dede83a690701c9be15f1d66ffd27a329ee371ec930966e9b74
7
+ data.tar.gz: dc2ca43ee1abb10b2030ca54301a4b7a8b902040effb1fd88286b8c38ecf1fa61f27ea36a0778a5e1510398ed93a1cd6c49532472f6d5be27ec3c93288950fdb
@@ -0,0 +1,8 @@
1
+ ## What problems are you experiencing?
2
+
3
+
4
+ ## Steps to reproduce
5
+
6
+
7
+ ## What's the output from `ridk version`?
8
+
@@ -0,0 +1,12 @@
1
+ recipes/installer-inno/filelist-*.iss
2
+ recipes/sandbox/ruby-*
3
+ recipes/unpack/ruby-*
4
+ *.7z
5
+ *.dll
6
+ *.exe
7
+ *.gem
8
+ *.tar.bz2
9
+ *.tar.gz
10
+ *.tar.xz
11
+ docs/_site
12
+ docker/gitrepo
@@ -0,0 +1,7 @@
1
+ --title "RubyInstaller2"
2
+ --no-private
3
+ lib/ruby_installer/**/*.rb
4
+ lib/ruby_installer.rb
5
+ -
6
+ README.md
7
+ LICENSE.txt
@@ -0,0 +1,166 @@
1
+ ## RubyInstaller-2.4.10-1 - 2020-04-02
2
+
3
+ ### Changed
4
+ - Update to ruby-2.4.10, see [release notes](https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-4-10-released/).
5
+ - Update to OpenSSL-1.0.2u .
6
+ - Replace rb-readline by new reline implementation.
7
+ It has multiline editing, better support for UTF-8 encoding and many fixes.
8
+ - UTF-8 encoding is now enabled by default in the installer for new installations.
9
+ - IRB history is rewritten to UTF-8 on first start of irb.
10
+ - Don't update MSYS/MINGW packages at `ridk install` per default. #168
11
+ - Show compiler version, used to build ruby in `ridk version`. #171
12
+
13
+
14
+ ## RubyInstaller-2.4.9-1 - 2019-10-02
15
+
16
+ ### Changed
17
+ - Update to ruby-2.4.9, see [release notes](https://www.ruby-lang.org/en/news/2019/10/02/ruby-2-4-9-released/).
18
+ - Fix code signatures of installer executables. They were invalid at the 2.4.7-1 release.
19
+ - Update to OpenSSL-1.0.2t .
20
+
21
+
22
+ ## RubyInstaller-2.4.7-1 - 2019-09-09
23
+
24
+ ### Added
25
+ - Add support for scoop installer. #152
26
+
27
+ ### Changed
28
+ - Update to ruby-2.4.7, see [release notes](https://www.ruby-lang.org/en/news/2019/08/28/ruby-2-4-7-released/).
29
+ - Ignore registry entries with invalid installer data when looking for MSYS2. #154
30
+
31
+
32
+ ## RubyInstaller-2.4.6-1 - 2019-04-13
33
+
34
+ ### Changed
35
+ - Update to ruby-2.4.6, see [release notes](https://www.ruby-lang.org/en/news/2019/04/01/ruby-2-4-6-released/).
36
+ - Build with "-O3" instead of "-O2" optimization and update x64 compiler from gcc-8.2.1 to 8.3.0.
37
+ - New tool `ridk use` to switch between installed ruby versions
38
+ - Update of the SSL CA certificate list.
39
+
40
+
41
+ ## RubyInstaller-2.4.5-1 - 2018-10-21
42
+
43
+ ### Changed
44
+ - Installer files are signed with a Microsoft trusted certificate now.
45
+ - Strip debug information from compiled extensions.
46
+ This significantly decreases install size of C based gems. #130
47
+ - Fix RubyInstaller update mechanism, so that it no longer removes the PATH setting. #125
48
+ - Update to OpenSSL-1.0.2p and libgdbm-1.18.
49
+ - Update of the SSL CA certificate list.
50
+
51
+
52
+ ## RubyInstaller-2.4.4-2 - 2018-06-24
53
+
54
+ ### Changed
55
+ - Update `ridk install` to download msys2 installer version 20180531. #115
56
+ - Fix MSYS2 detection in `ridk install`. This broke download of MSYS2 installer. #114
57
+ - Don't crash when the mingw directory within MSYS2 isn't present.
58
+ - Update of the SSL CA certificate list.
59
+
60
+
61
+ ## RubyInstaller-2.4.4-1 - 2018-03-29
62
+
63
+ ### Added
64
+ - New installer for Ruby with builtin MSYS2 Devkit toolchain. #42
65
+
66
+ ### Changed
67
+ - Update to ruby-2.4.4, see [release notes](https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-4-4-released/).
68
+ - Update to OpenSSL-1.0.2o .
69
+ - Make installers with/without Devkit compatible, so that both can be mixed like:
70
+ - Install RubyInstaller-Devkit first and update with smaller RubyInstaller later
71
+ - Install RubyInstaller first and update by RubyInstaller-Devkit
72
+
73
+
74
+ ## RubyInstaller-2.4.3-2 - 2018-02-27
75
+
76
+ ### Changed
77
+ - Don't abort but fix pacman conflicts while 'ridk install'. #101
78
+
79
+
80
+ ## RubyInstaller-2.4.3-1 - 2017-12-20
81
+
82
+ ### Changed
83
+ - Update to ruby-2.4.3, see [release notes](https://www.ruby-lang.org/en/news/2017/12/14/ruby-2-4-3-released/).
84
+ - Ignore invalid character encodings when scaning registry for MSYS2.
85
+ [#86](https://github.com/oneclick/rubyinstaller2/issues/86)
86
+ - Update of the SSL CA certificate list.
87
+ - Uninstall old RubyInstaller version when doing update.
88
+ It avoids broken and orphaned links in the startmenu
89
+ [#78](https://github.com/oneclick/rubyinstaller2/issues/78#issuecomment-330115604).
90
+ See also [updating RubyInstaller](https://github.com/oneclick/rubyinstaller2/wiki/FAQ#q-what-is-recommended-way-to-update-a-ruby-installation).
91
+
92
+ ### Removed
93
+ - Remove package 'winstorecompat' from default dev tools, to make `ridk install` step 2 optional.
94
+ [#88](https://github.com/oneclick/rubyinstaller2/issues/88)
95
+
96
+
97
+ ## RubyInstaller-2.4.2-2 - 2017-09-15
98
+
99
+ ### Changed
100
+ - Fix a regession of ruby-2.4.2 to not link to libgmp.
101
+ See [ruby-2.4.2 release notes](https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/) .
102
+
103
+
104
+ ## RubyInstaller-2.4.2-1 - 2017-09-15
105
+
106
+ ### Added
107
+ - Sign published files per PGP signature.
108
+ - Set `LANG` variable in `ridk enable` because some MSYS apps require a valid setting.
109
+ This also enables message translation of gettext enabled apps.
110
+ - Add stdlib gem "dbm", which was missing in previous RI2 versions. #65
111
+ - Add OS name and version to `ridk version`.
112
+
113
+ ### Changed
114
+ - Upload signed files directly from Appveyor to Github for releases.
115
+ - Update of the SSL CA certificate list.
116
+ - Fix gdbm open error by downgrading to gdbm-1.10. [#4](https://github.com/oneclick/rubyinstaller2-packages/pull/4)
117
+
118
+ ### Removed
119
+ - Remove deprecated `RubyInstaller.add_dll_directory`.
120
+ - Remove superflous build flags for libffi from RbConfig. [#8](https://github.com/oneclick/rubyinstaller2-packages/pull/8)
121
+
122
+
123
+ ## RubyInstaller-2.4.1-2 - 2017-07-04
124
+
125
+ ### Added
126
+ - Add package called 'rubybundle' with embedded MSYS2 tree as preview.
127
+ - Add daily ruby-2.5 snapshot builds, downloadable from [Appveyor](https://ci.appveyor.com/project/larskanis/rubyinstaller2-hbuor/branch/master).
128
+ - Add possibility to set DLL paths per environment variable RUBY_DLL_PATH. Fixes #51
129
+ - Don't run 'ridk install' when installing with silent option. Fixes #43
130
+
131
+ ### Changed
132
+ - Do full MSYS2 system update instead of inventory update only.
133
+ Fixes possible library inconsistences on a partially updated system.
134
+ - Spin off compile task to https://github.com/oneclick/rubyinstaller2-packages to speedup packaging.
135
+ - Update of dependent DLLs and build tools to latest MSYS2 versions.
136
+ - Update of the SSL CA certificate list.
137
+
138
+
139
+ ## RubyInstaller-2.4.1-1 - 2017-05-25
140
+
141
+ The following notable changes are for the transition from [RubyInstaller1](https://github.com/oneclick/rubyinstaller) to [RubyInstaller2](https://github.com/oneclick/rubyinstaller2)
142
+
143
+ ### Added
144
+ - Provides `ridk` tool for easy MSYS2 installation/usage and system version information.
145
+ - RubyInstaller2 bundles its own SSL/TLS CA list derived from the current Mozilla CA list into `<installpath>/ssl/`. See [SSL-README](https://github.com/larskanis/rubyinstaller2/blob/master/resources/ssl/README-SSL.md).
146
+ - Create a default `.irbrc` file for tab completition and history in irb.
147
+ - Ability to add and use `rubyinstaller-build.gem` for customized Ruby-Applications. Documentation coming soon...
148
+ - Run CI tests on AppVeyor for each `git push` to repository.
149
+ - Build and deploy `rubyinstaller.exe` and `7z` packages per AppVeyor and GitHub releases.
150
+ - Allow MSYS2 to be shipped together with Ruby, when installed side by side or within the ruby directory.
151
+ Refer to the [FAQ](https://github.com/oneclick/rubyinstaller2/wiki/FAQ#user-content-portable-install).
152
+ - Add an installer option to set `RUBYOPT=-Eutf-8`, which sets `Encoding.default_external` to `UTF-8`.
153
+
154
+ ### Changed
155
+ - Built with MINGW GCC-6.3 from the [MSYS2 repository](https://github.com/Alexpux/MINGW-packages).
156
+ - Updated to Ruby-2.4.1.
157
+ - Updated bundled libraries/DLLs.
158
+ - RubyInstaller2 uses a separate DLL directory to avoid conflicting DLLs in the PATH.
159
+ - RubyInstaller2 uses a DLL loading mechanism which ignores the `PATH` environment variable for DLL lookups, but provides a API for DLL directory-addition.
160
+ - Use pure HTML for `Ruby Core + stdlib` documentation instead of CHM files.
161
+ - Add Ruby to the `PATH` and have `.rb` + `.rbw` file association by default.
162
+ - New versioning scheme: `rubyinstaller-<rubyver>-<pkgrel>-<arch>.exe` with `pkgrel` counting from 1 per `rubyver`.
163
+
164
+ ### Removed
165
+ - No more DevKit, but integrates with MSYS2 libraries and toolchain.
166
+ - Remove `tk` from stdlibs, still available per `gem install tk`. This is a upstream change in ruby-2.4.
@@ -0,0 +1,87 @@
1
+ ## RubyInstaller-2.5.8-1 - 2020-04-02
2
+
3
+ ### Changed
4
+ - Update to ruby-2.5.8, see [release notes](https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-5-8-released/).
5
+ - Update to OpenSSL-1.1.1f .
6
+ - Replace rb-readline by new reline implementation.
7
+ It has multiline editing, better support for UTF-8 encoding and many fixes.
8
+ - UTF-8 encoding is now enabled by default in the installer for new installations.
9
+ - IRB history is rewritten to UTF-8 on first start of irb.
10
+ - Don't update MSYS/MINGW packages at `ridk install` per default. #168
11
+ - Show compiler version, used to build ruby in `ridk version`. #171
12
+
13
+
14
+ ## RubyInstaller-2.5.7-1 - 2019-10-02
15
+
16
+ ### Changed
17
+ - Update to ruby-2.5.7, see [release notes](https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-5-7-released/).
18
+ - Fix code signatures of installer executables. They were invalid at the 2.5.6-1 release.
19
+ - Update to OpenSSL-1.1.1d .
20
+
21
+
22
+ ## RubyInstaller-2.5.6-1 - 2019-09-09
23
+
24
+ ### Added
25
+ - Add support for scoop installer. #152
26
+
27
+ ### Changed
28
+ - Update to ruby-2.5.6, see [release notes](https://www.ruby-lang.org/en/news/2019/08/28/ruby-2-5-6-released/).
29
+ - Ignore registry entries with invalid installer data when looking for MSYS2. #154
30
+
31
+
32
+ ## RubyInstaller-2.5.5-1 - 2019-04-13
33
+
34
+ ### Changed
35
+ - Update to ruby-2.5.5, see [release notes](https://www.ruby-lang.org/en/news/2019/03/15/ruby-2-5-5-released/).
36
+ - Build with "-O3" instead of "-O2" optimization and update x64 compiler from gcc-8.2.1 to 8.3.0.
37
+ - New tool `ridk use` to switch between installed ruby versions
38
+ - Update of the SSL CA certificate list.
39
+
40
+
41
+ ## RubyInstaller-2.5.3-1 - 2018-10-21
42
+
43
+ ### Changed
44
+ - Installer files are signed with a Microsoft trusted certificate now.
45
+ - Strip debug information from compiled extensions.
46
+ This significantly decreases install size of C based gems. #130
47
+ - Fix RubyInstaller update mechanism, so that it no longer removes the PATH setting. #125
48
+ - Update to OpenSSL-1.1.1 and libgdbm-1.18.
49
+ - Update of the SSL CA certificate list.
50
+
51
+
52
+ ## RubyInstaller-2.5.1-2 - 2018-06-24
53
+
54
+ ### Changed
55
+ - Update `ridk install` to download msys2 installer version 20180531. #115
56
+ - Fix MSYS2 detection in `ridk install`. This broke download of MSYS2 installer. #114
57
+ - Don't crash when the mingw directory within MSYS2 isn't present.
58
+ - Update of the SSL CA certificate list.
59
+
60
+
61
+ ## RubyInstaller-2.5.1-1 - 2018-03-29
62
+
63
+ ### Added
64
+ - New installer for Ruby with builtin MSYS2 Devkit toolchain. #42
65
+
66
+ ### Changed
67
+ - Update to ruby-2.5.1, see [release notes](https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-5-1-released/).
68
+ - Update to OpenSSL-1.1.0h .
69
+ - Make installers with/without Devkit compatible, so that both can be mixed like:
70
+ - Install RubyInstaller-Devkit first and update with smaller RubyInstaller later
71
+ - Install RubyInstaller first and update by RubyInstaller-Devkit
72
+
73
+
74
+ ## RubyInstaller-2.5.0-2 - 2018-02-27
75
+
76
+ ### Changed
77
+ - Don't abort but fix pacman conflicts while 'ridk install'. #101
78
+
79
+
80
+ ## RubyInstaller-2.5.0-1 - 2017-12-25
81
+
82
+ ### Added
83
+ - Add ruby-2.5.0, see [release notes](https://www.ruby-lang.org/en/news/2017/12/25/ruby-2-5-0-released/).
84
+
85
+ ### Changed
86
+ - RubyInstaller-2.5 bundles OpenSSL-1.1.0 (instead of 1.0.2 of RubyInstaller-2.4).
87
+ This has some [implications to the Ruby API to OpenSSL](https://bugs.ruby-lang.org/issues/12324).
@@ -0,0 +1,62 @@
1
+ ## RubyInstaller-2.6.6-1 - 2020-04-02
2
+
3
+ ### Changed
4
+ - Update to ruby-2.6.6, see [release notes](https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-6-6-released/).
5
+ - Update to OpenSSL-1.1.1f .
6
+ - Replace rb-readline by new reline implementation.
7
+ It has multiline editing, better support for UTF-8 encoding and many fixes.
8
+ - UTF-8 encoding is now enabled by default in the installer for new installations.
9
+ - IRB history is rewritten to UTF-8 on first start of irb.
10
+ - Don't update MSYS/MINGW packages at `ridk install` per default. #168
11
+ - Show compiler version, used to build ruby in `ridk version`. #171
12
+
13
+
14
+ ## RubyInstaller-2.6.5-1 - 2019-10-02
15
+
16
+ ### Changed
17
+ - Update to ruby-2.6.5, see [release notes](https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-6-5-released/).
18
+ - Fix code signatures of installer executables. They were invalid at the 2.6.4-1 release.
19
+ - Fix automatic generation of irbrc. #158
20
+ - Update to OpenSSL-1.1.1d .
21
+
22
+
23
+ ## RubyInstaller-2.6.4-1 - 2019-09-09
24
+
25
+ ### Added
26
+ - Add support for scoop installer. #152
27
+
28
+ ### Changed
29
+ - Update to ruby-2.6.4, see [release notes](https://www.ruby-lang.org/en/news/2019/08/28/ruby-2-6-4-released/).
30
+ - Ignore registry entries with invalid installer data when looking for MSYS2. #154
31
+
32
+
33
+ ## RubyInstaller-2.6.3-1 - 2019-04-18
34
+
35
+ ### Changed
36
+ - Update to ruby-2.6.3, see [release notes](https://www.ruby-lang.org/en/news/2019/04/17/ruby-2-6-3-released/).
37
+
38
+
39
+ ## RubyInstaller-2.6.2-1 - 2019-04-13
40
+
41
+ ### Changed
42
+ - Update to ruby-2.6.2, see [release notes](https://www.ruby-lang.org/en/news/2019/03/13/ruby-2-6-2-released/).
43
+ - Build with "-O3" instead of "-O2" optimization and update x64 compiler from gcc-8.2.1 to 8.3.0.
44
+ - Update of the SSL CA certificate list.
45
+
46
+
47
+ ## RubyInstaller-2.6.1-1 - 2019-01-30
48
+
49
+ ### Changed
50
+ - Update to ruby-2.6.1, see [release notes](https://www.ruby-lang.org/en/news/2019/01/30/ruby-2-6-1-released/).
51
+
52
+
53
+ ## RubyInstaller-2.6.0-1 - 2019-01-03
54
+
55
+ ### Added
56
+ - New tool `ridk use` to switch between installed ruby versions
57
+ - Add ruby-2.6.0, see [release notes](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/).
58
+ - Add `bundle` command, since bundler is now a bundled gem in ruby-2.6
59
+
60
+
61
+ ### Changed
62
+ - Update of the SSL CA certificate list.
@@ -0,0 +1,22 @@
1
+ ## RubyInstaller-2.7.1-1 - 2020-04-02
2
+
3
+ ### Changed
4
+ - Update to ruby-2.7.1, see [release notes](https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-7-1-released/).
5
+ - Update to OpenSSL-1.1.1f .
6
+ - Don't update MSYS/MINGW packages at `ridk install` per default. #168
7
+ - Show compiler version, used to build ruby in `ridk version`. #171
8
+ - IRB history is rewritten to UTF-8 on first start of irb.
9
+
10
+
11
+ ## RubyInstaller-2.7.0-1 - 2020-01-05
12
+
13
+ This is the first release based on ruby-2.7.0: https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/
14
+
15
+ ### Changes compared to RubyInstaller-2.6.5-1
16
+ - Replace rb-readline by new reline implementation.
17
+ It has multiline editing, better support for UTF-8 encoding and many fixes.
18
+ - UTF-8 encoding is now enabled by default in the installer.
19
+ This is done by setting RUBYOPT=-Eutf-8 and affects Encoding.default_encoding which is then "UTF-8" instead of the console encoding.
20
+ See [core API](https://ruby-doc.org/core-2.7.0/Encoding.html#method-c-default_external) for more details.
21
+ Using UTF-8 default encoding avoids inconsistencies between reading and writing files and to other operating systems.
22
+ - IRB history is rewritten to UTF-8 if UTF-8 encoding is enabled.
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rubyinstaller.gemspec
4
+ gemspec
5
+
6
+ gem "octokit"
@@ -0,0 +1,25 @@
1
+ Copyright (c) 2007-2020, RubyInstaller Team
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ * Neither the name of the RubyInstaller Team nor the names of its
13
+ contributors may be used to endorse or promote products derived
14
+ from this software without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE RUBYINSTALLER TEAM BE LIABLE FOR ANY
20
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,114 @@
1
+ [![Build status](https://ci.appveyor.com/api/projects/status/kq2b5dqv9ay132a2/branch/master?svg=true)](https://ci.appveyor.com/project/larskanis/rubyinstaller2-hbuor/branch/master)
2
+
3
+ # RubyInstaller2
4
+
5
+ This project provides an Installer for Ruby-2.4 and newer on Windows based on the MSYS2 toolchain.
6
+ It is the successor to the MSYS1 based [RubyInstaller](https://github.com/oneclick/rubyinstaller/) which was used for Ruby-2.3 and older.
7
+ It is licensed under the 3-clause Modified BSD License.
8
+
9
+ In contrast to the old RubyInstaller it does not provide its own DevKit, but makes use of the rich set of [MINGW libraries](https://github.com/Alexpux/MINGW-packages) from the [MSYS2 project](https://msys2.github.io/).
10
+ It therefore integrates well into MSYS2 after installation on the target system to provide a build-and-runtime environment for installation of gems with C-extensions.
11
+ This and more changes are documented in the [CHANGELOG](https://github.com/oneclick/rubyinstaller2/blob/master/CHANGELOG-2.4.md#rubyinstaller-241-1---2017-05-25).
12
+
13
+ ## Using the Installer on a target system
14
+
15
+ - Download and install the latest RubyInstaller2: https://github.com/larskanis/rubyinstaller2/releases
16
+
17
+ The non-Devkit installer file is enough to use pure Ruby gems or fat binary gems for x64-mingw32 or x86-mingw32.
18
+ In order to install C based source gems, it's recommended to use the Devkit installer version.
19
+ It installs a MSYS2/MINGW build environment into the ruby directory that ships common build tools and libraries.
20
+
21
+ Some gems require additional packages, which can be installed per `pacman`. See below.
22
+ Its also possible to install MSYS2 manually from https://msys2.github.io/ and run `ridk install` afterwards to add non default, but required development tools.
23
+ For unattended install of Ruby and MSYS2 see the [FAQ chocolatey install](https://github.com/oneclick/rubyinstaller2/wiki/FAQ#user-content-choco-install).
24
+
25
+ ### The `ridk` command
26
+
27
+ `ridk` is a cmd/powershell script which can be used to install MSYS2 components, to issue MSYS commands like `pacman` or to set environment variables for using MSYS2 development tools from the running shell.
28
+
29
+ See `ridk help` for further options:
30
+
31
+ ```sh
32
+ Usage:
33
+ C:/Ruby24-x64/bin/ridk.cmd [option]
34
+
35
+ Option:
36
+ install Install MSYS2 and MINGW dev tools
37
+ exec <command> Execute a command within MSYS2 context
38
+ enable Set environment variables for MSYS2
39
+ disable Unset environment variables for MSYS2
40
+ version Print RubyInstaller and MSYS2 versions
41
+ use Switch to a different ruby version
42
+ help | --help | -? | /? Display this help and exit
43
+ ```
44
+
45
+ `ridk enable` can be used to enable MSYS2 development tools on the running console.
46
+ This makes `sh`, `pacman`, `make` etc. available on the command line.
47
+ See [the Wiki](https://github.com/oneclick/rubyinstaller2/wiki/The-ridk-tool) for further instructions to the `ridk` command.
48
+
49
+ ### Install gems with C-extensions and additional library dependencies
50
+
51
+ The base MSYS2 setup includes compilers and other build tools, but doesn't include libraries or DLLs that some gems require as their dependencies.
52
+ Fortunately many of the required libraries are available through the MSYS2 repositories.
53
+ They can be installed per `ridk exec pacman -S mingw-w64-x86_64-libraryname` similar to `apt-get` on Linux.
54
+ Exchange the prefix `mingw-w64-x86_64` by `mingw-w64-i686` for the 32-bit RubyInstaller.
55
+
56
+ For instance these popular gems can be installed like so from the source gem:
57
+
58
+ - To install `sqlite3` gem:
59
+ ```sh
60
+ ridk exec pacman -S mingw-w64-x86_64-sqlite3
61
+ gem install sqlite3 --platform ruby
62
+ ```
63
+ - To install `nokogiri` gem:
64
+ ```sh
65
+ ridk exec pacman -S mingw-w64-x86_64-libxslt
66
+ gem install nokogiri --platform ruby -- --use-system-libraries
67
+ ```
68
+
69
+ Some gems are properly labeled to install dependent libraries per pacman.
70
+ See [the wiki](https://github.com/oneclick/rubyinstaller2/wiki/For-gem-developers#msys2-library-dependency) how such a label can be added to gems.
71
+ Also refer the [FAQ](https://github.com/larskanis/rubyinstaller2/wiki/FAQ) for additional install recommendations.
72
+
73
+
74
+ ## Building the Installer
75
+
76
+ This repository provides the packaging tasks to build RubyInstaller setup executables and 7zip files.
77
+ It doesn't compile any sources, but makes use of the [MSYS2-MINGW repository](https://github.com/Alexpux/MINGW-packages) and the [RubyInstaller2 pacman repository](https://github.com/oneclick/rubyinstaller2-packages) to download binaries and dependent libraries.
78
+
79
+ ### Automatic build on Appveyor
80
+
81
+ The installer is regularly built on [AppVeyor](https://ci.appveyor.com/project/larskanis/rubyinstaller2-hbuor) for each push to the github repository.
82
+ AppVeyor also executes the installer and runs all tests on it, so that we are notified about breaking changes.
83
+ In addition to this, a daily build of the latest ruby development snapshot is compiled and packaged as RubyInstaller files.
84
+ It can be downloaded from [github releases](https://github.com/oneclick/rubyinstaller2/releases/tag/rubyinstaller-head) or from [AppVeyor](https://ci.appveyor.com/project/larskanis/rubyinstaller2-hbuor) as build artifacts.
85
+ Check the wiki on how to use [ruby-head versions on Appveyor](https://github.com/oneclick/rubyinstaller2/wiki/For-gem-developers#user-content-appveyor) for your CI builds.
86
+
87
+
88
+ ### Build RubyInstaller2 on your own machine:
89
+
90
+ - Make sure you have a working RubyInstaller-2.4+ and Git installation
91
+ - Ensure you have MSYS2 installed either by a RubyInstaller-Devkit version or per `ridk install` with default options
92
+ - Install the latest Inno-Setup (unicode) from http://www.jrsoftware.org/isdl.php
93
+ - Run **cmd.exe** and add **iscc.exe** to PATH:
94
+ ```sh
95
+ set PATH=%PATH%;"c:\Program Files (x86)\Inno Setup 5"
96
+ ```
97
+ - Clone RubyInstaller2 and build all RubyInstaller versions for x86 and x64:
98
+ ```sh
99
+ git clone https://github.com/larskanis/rubyinstaller2
100
+ cd rubyinstaller2
101
+ bundle install
102
+ bundle exec rake
103
+ ```
104
+ - If everything works well, you will find the final setup and archive files:
105
+ * `packages/rubyinstaller/recipes/installer-inno/rubyinstaller-<VERSION>-<ARCH>.exe`
106
+ * `packages/rubyinstaller/recipes/archive-7z/rubyinstaller-<VERSION>-<ARCH>.7z`
107
+ - Also try `rake -T` to see the available build targets.
108
+
109
+
110
+ ## Known Issues
111
+
112
+ - It's best to avoid installation into a PATH containing spaces. Some gems won't install.
113
+ - Ruby on Windows is still using non UTF-8 default external encoding: Raised [as ruby bug](https://bugs.ruby-lang.org/issues/13488).
114
+ - Also refer to [the issue list](https://github.com/larskanis/rubyinstaller2/issues).