ocran 1.3.17 → 1.4.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.txt +306 -272
  3. data/LICENSE.txt +22 -22
  4. data/README.md +549 -531
  5. data/exe/ocran +5 -5
  6. data/ext/extconf.rb +15 -0
  7. data/lib/ocran/build_constants.rb +16 -16
  8. data/lib/ocran/build_facade.rb +17 -17
  9. data/lib/ocran/build_helper.rb +110 -105
  10. data/lib/ocran/command_output.rb +22 -22
  11. data/lib/ocran/dir_builder.rb +162 -0
  12. data/lib/ocran/direction.rb +623 -386
  13. data/lib/ocran/file_path_set.rb +69 -69
  14. data/lib/ocran/gem_spec_queryable.rb +172 -172
  15. data/lib/ocran/host_config_helper.rb +57 -37
  16. data/lib/ocran/inno_setup_script_builder.rb +111 -111
  17. data/lib/ocran/launcher_batch_builder.rb +85 -85
  18. data/lib/ocran/library_detector.rb +61 -61
  19. data/lib/ocran/library_detector_posix.rb +55 -0
  20. data/lib/ocran/option.rb +323 -273
  21. data/lib/ocran/refine_pathname.rb +104 -104
  22. data/lib/ocran/runner.rb +115 -105
  23. data/lib/ocran/runtime_environment.rb +46 -46
  24. data/lib/ocran/stub_builder.rb +298 -224
  25. data/lib/ocran/version.rb +5 -5
  26. data/lib/ocran/windows_command_escaping.rb +15 -15
  27. data/lib/ocran.rb +7 -7
  28. data/share/ocran/lzma.exe +0 -0
  29. data/src/Makefile +75 -0
  30. data/src/edicon.c +161 -0
  31. data/src/error.c +100 -0
  32. data/src/error.h +66 -0
  33. data/src/inst_dir.c +334 -0
  34. data/src/inst_dir.h +157 -0
  35. data/src/lzma/7zTypes.h +529 -0
  36. data/src/lzma/Compiler.h +43 -0
  37. data/src/lzma/LzmaDec.c +1363 -0
  38. data/src/lzma/LzmaDec.h +236 -0
  39. data/src/lzma/Precomp.h +10 -0
  40. data/src/script_info.c +246 -0
  41. data/src/script_info.h +7 -0
  42. data/src/stub.c +133 -0
  43. data/src/stub.manifest +29 -0
  44. data/src/stub.rc +3 -0
  45. data/src/system_utils.c +1002 -0
  46. data/src/system_utils.h +209 -0
  47. data/src/system_utils_posix.c +500 -0
  48. data/src/unpack.c +574 -0
  49. data/src/unpack.h +85 -0
  50. data/src/vit-ruby.ico +0 -0
  51. metadata +55 -22
  52. data/share/ocran/edicon.exe +0 -0
  53. data/share/ocran/stub.exe +0 -0
  54. data/share/ocran/stubw.exe +0 -0
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ocran
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.17
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andi Idogawa
8
+ - shinokaro
8
9
  - Lars Christensen
9
- autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-05-02 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fiddle
@@ -25,31 +25,46 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.0'
28
- description: "OCRAN (One-Click Ruby Application Next) builds Windows executables from
29
- Ruby source code. \n The executable is a self-extracting, self-running executable
30
- that contains the Ruby interpreter, your source code and any additionally needed
31
- ruby libraries or DLL.\n \n This is a fork of OCRA that is compatible with ruby
32
- version after 3.0.\n Migration guide: make sure to write ocran instead of ocra
33
- in your code. For instance: OCRAN_EXECUTABLE\n\n usage: \n ocra helloworld.rb\n
34
- \ helloworld.exe\n\n See readme at https://github.com/largo/ocran\n Report problems
35
- in the github issues. Contributions welcome.\n This gem contains executables. We
36
- plan to build them on github actions for security.\n "
28
+ description: |
29
+ OCRAN (One-Click Ruby Application Next) packages Ruby applications for
30
+ distribution. It bundles your script, the Ruby interpreter, gems, and native
31
+ libraries into a self-contained artifact that runs without requiring Ruby to
32
+ be installed on the target machine.
33
+
34
+ Three output formats are supported on all platforms:
35
+ - Self-extracting executable (.exe on Windows, native binary on Linux/macOS)
36
+ - Directory with a launch script (--output-dir)
37
+ - Zip archive with a launch script (--output-zip)
38
+
39
+ This is a fork of OCRA maintained for Ruby 3.2+ compatibility.
40
+ Migration guide: replace OCRA_EXECUTABLE with OCRAN_EXECUTABLE in your code.
41
+
42
+ Usage:
43
+ ocran helloworld.rb # builds helloworld.exe / helloworld
44
+ ocran --output-dir out/ app.rb
45
+ ocran --output-zip app.zip app.rb
46
+
47
+ See readme at https://github.com/largo/ocran
48
+ Report problems at https://github.com/largo/ocran/issues
37
49
  email:
38
50
  - andi@idogawa.com
39
51
  executables:
40
52
  - ocran
41
- extensions: []
53
+ extensions:
54
+ - ext/extconf.rb
42
55
  extra_rdoc_files: []
43
56
  files:
44
57
  - CHANGELOG.txt
45
58
  - LICENSE.txt
46
59
  - README.md
47
60
  - exe/ocran
61
+ - ext/extconf.rb
48
62
  - lib/ocran.rb
49
63
  - lib/ocran/build_constants.rb
50
64
  - lib/ocran/build_facade.rb
51
65
  - lib/ocran/build_helper.rb
52
66
  - lib/ocran/command_output.rb
67
+ - lib/ocran/dir_builder.rb
53
68
  - lib/ocran/direction.rb
54
69
  - lib/ocran/empty_source
55
70
  - lib/ocran/file_path_set.rb
@@ -58,6 +73,7 @@ files:
58
73
  - lib/ocran/inno_setup_script_builder.rb
59
74
  - lib/ocran/launcher_batch_builder.rb
60
75
  - lib/ocran/library_detector.rb
76
+ - lib/ocran/library_detector_posix.rb
61
77
  - lib/ocran/option.rb
62
78
  - lib/ocran/refine_pathname.rb
63
79
  - lib/ocran/runner.rb
@@ -65,10 +81,29 @@ files:
65
81
  - lib/ocran/stub_builder.rb
66
82
  - lib/ocran/version.rb
67
83
  - lib/ocran/windows_command_escaping.rb
68
- - share/ocran/edicon.exe
69
84
  - share/ocran/lzma.exe
70
- - share/ocran/stub.exe
71
- - share/ocran/stubw.exe
85
+ - src/Makefile
86
+ - src/edicon.c
87
+ - src/error.c
88
+ - src/error.h
89
+ - src/inst_dir.c
90
+ - src/inst_dir.h
91
+ - src/lzma/7zTypes.h
92
+ - src/lzma/Compiler.h
93
+ - src/lzma/LzmaDec.c
94
+ - src/lzma/LzmaDec.h
95
+ - src/lzma/Precomp.h
96
+ - src/script_info.c
97
+ - src/script_info.h
98
+ - src/stub.c
99
+ - src/stub.manifest
100
+ - src/stub.rc
101
+ - src/system_utils.c
102
+ - src/system_utils.h
103
+ - src/system_utils_posix.c
104
+ - src/unpack.c
105
+ - src/unpack.h
106
+ - src/vit-ruby.ico
72
107
  homepage: https://github.com/largo/ocran
73
108
  licenses:
74
109
  - MIT
@@ -76,7 +111,6 @@ metadata:
76
111
  homepage_uri: https://github.com/largo/ocran
77
112
  source_code_uri: https://github.com/largo/ocran
78
113
  changelog_uri: https://github.com/largo/ocran/CHANGELOG.txt
79
- post_install_message:
80
114
  rdoc_options: []
81
115
  require_paths:
82
116
  - lib
@@ -84,16 +118,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
118
  requirements:
85
119
  - - ">="
86
120
  - !ruby/object:Gem::Version
87
- version: 3.0.0
121
+ version: 3.2.0
88
122
  required_rubygems_version: !ruby/object:Gem::Requirement
89
123
  requirements:
90
124
  - - ">="
91
125
  - !ruby/object:Gem::Version
92
126
  version: '0'
93
127
  requirements: []
94
- rubygems_version: 3.5.3
95
- signing_key:
128
+ rubygems_version: 4.0.3
96
129
  specification_version: 4
97
- summary: OCRAN (One-Click Ruby Application Next) builds Windows executables from Ruby
98
- source code.
130
+ summary: OCRAN (One-Click Ruby Application Next) packages Ruby applications for distribution
131
+ on Windows, Linux, and macOS.
99
132
  test_files: []
Binary file
data/share/ocran/stub.exe DELETED
Binary file
Binary file