rubyinstaller-build 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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).