Skip to content

Tags: Largo/ocran

Tags

1.4.3

Toggle 1.4.3's commit message
- Migrate edicon from C to Ruby: replace edicon.exe with a pure-Ruby …

…implementation (ed_icon.rb), fixing incorrect BeginUpdateResource error checking and wrong GroupIconSize calculation. Shortens build times and removes the C binary from the build.

- Include Gem.default_dir in GEM_PATH on all platforms: previously the exec_prefix gem directory was excluded on Windows, causing native-extension gems (e.g. fxruby/fox16) to fail at runtime with a LoadError even though they were bundled correctly.
- Add FXRuby (fox16) test: verify that native extension DLLs are bundled correctly so the packaged executable does not raise a LoadError at runtime.
- CI: start a virtual display (xpra + Xorg dummy driver with GLX) on Linux before running tests so FXRuby's X11 requirement is satisfied.
- CI: install XQuartz on macOS runners and add it to the portability test job so FXRuby can connect to a display on both test and portability jobs.

v1.4.2

Toggle v1.4.2's commit message
v1.4.2 - OpenSSL auto-bundling and companion DLL scan

Fixes a class of bugs where executables using net/http for HTTPS would
fail at runtime with missing OpenSSL libraries, depending on whether an
actual HTTPS request happened to run during the OCRAN dependency scan.

Changes:
- Auto-load openssl during build when net/http is loaded but no HTTPS
  request was made during the scan. All transitive dependencies
  (openssl.rb, digest.so, etc.) are captured and bundled correctly.
- Companion DLL scan (Windows): when a native extension (.so) in the
  Ruby installation is loaded, all DLLs in the same archdir are
  proactively included. Fixes missing libssl-3-x64.dll,
  libcrypto-3-x64.dll, libwinpthread-1.dll, and libyaml-0-2.dll.
- Add return if defined?(Ocran) guards to test fixtures that have
  runtime-only side effects, so dependency detection is tested
  independently of whether the script runs cleanly during the scan.

1.4.1

Toggle 1.4.1's commit message
update changelog for 1.4.1

1.4.0

Toggle 1.4.0's commit message
- Add Linux support: build and run self-extracting ELF executables on…

… Linux. The stub compiles and runs natively on Linux using POSIX APIs.

- Add macOS support: build and run self-extracting Mach-O executables on macOS.
- Add `--output-dir` option: output all files to a directory with a platform-appropriate launch script (.sh on Linux/macOS, .bat on Windows) instead of a single executable.
- Add `--output-zip` option: same as --output-dir but packages the result into a zip archive.
- Add `--macosx-bundle` option: wrap the macOS executable in a .app bundle with a generated Info.plist, suitable for Finder, the Dock, and Authenticode-style code signing with codesign and xcrun notarytool. Use --bundle-id to set CFBundleIdentifier and --icon (.icns) to set the bundle icon.
- Use symlinks for shared library aliases on POSIX (e.g. libruby.so -> libruby.so.4.0) instead of copying files, matching the layout Ruby expects at runtime.
- Fix crash on cleanup when a symlink target does not exist: DeleteRecursively now uses lstat instead of stat so dangling symlinks are removed correctly.
- Publish platform-specific gems for Linux, macOS (ARM and Intel), and Windows so gem install ocran selects the right pre-built stub automatically.
- Publish a source gem (ruby platform) with ext/extconf.rb so users on unlisted platforms can install by compiling the stub from source. Falls back to plain make if ridk exec make is unavailable on Windows.
- CI: add GitHub Actions workflow to build and publish per-platform gems on tag push.
- CI: run the packed Linux executable inside a Debian Docker container to verify cross-distro portability (no Ruby required on target).
- CI: test against Ruby 3.2, 3.3, 3.4, and 4.0 on Linux, macOS (ARM and Intel), and Windows.

1.3.18

Toggle 1.3.18's commit message

1.3.17

Toggle 1.3.17's commit message
VERSION 1.3.17

- Bump version to 1.3.17 in lib/ocran/version.rb

1.3.16

Toggle 1.3.16's commit message
VERSION 1.3.16

1.3.15

Toggle 1.3.15's commit message
=== 1.3.15

- Support for Ruby 2.6 and above.
- Properly display errors from InnoSetup.
- Fixed errors when creating an installer using InnoSetup. Previously, installer creation was not possible due to errors related to file sharing, which occurred only on Windows.
- Retrieve the path of runtime DLLs even when the path is long. Note that stubs still do not support long paths, so creating executable files with long paths is not yet possible.
- Fixed bugs in tests. All tests can now be executed.
- Improved the speed of manifest file discovery. This manifest file is only required in the RubyInstaller environment.
- Fixed bugs in the regular expressions of GEM_EXTRA_RE. This allows excluding C source files, etc., from the ocran executable package based on command options.
- Added methods to Ocran::Pathname, making it closer to the implementation of Ruby's Pathname.
- Reimplemented certain parts to match the implementation of Ruby 2.6 era, for compatibility with older Ruby versions. Therefore, the ocran command cannot be executed on Ruby versions earlier than 2.6.

1.3.14

Toggle 1.3.14's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #3 from ccorn90/ccorn90/rubyopt

Add option to suppress or override RUBYOPT environment variable

1.3.13

Toggle 1.3.13's commit message
- Fixed the bug why Innosetup did not run because of missing encode m…

…ethod

- Fix an issue where rubyinstaller did not find the msys path by putting in an empty msys-2.0.dll into msys64/usr/bin/msys-2.0.dll

- compatibility with the tiny_tds gem (see above)

- GitHub builds through github action: making sure you can trust the included binaries.

- Added some samples including the glimmer-libui GUI example. GUI that starts fast.