You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The available compiled rugged gem is relatively outdated (0.22). To you git tags we need version 0.23 or later. There's no compiled rugged gem for Windows.
The available version of ruby itself is relatively outdated, at 2.2.2.
For any updates we are dependent on the traveling-ruby project, which has been practically neglected in the last year.
The Rakefile is kinda ugly - lots of sh commands.
The alternative
If we wish to replace traveling ruby with something better, we need to have:
platform-specific portable versions of Ruby, i.e. a Ruby that will work regardless its location.
compiled rugged gem for each platform, bundled together with the corresponding Ruby.
a simple way to build the portable Ruby for each platform: install Ruby from source, install the lyp dependencies, cleanup unneeded files, compress to tar archive.
a simple way to package lyp itself, together with the pre-packaged version of lyp, into a compressed tar archive.
Plan of action
We will target three platforms: macOS, Windows, Linux X86-64 (the latter two will be built by spinning up small machines on AWS).
For each platform, a ruby installation will be maintained. Each installation will include a "raw version" and a "clean version". Each time the raw version is changed, it is copied to ruby.clean, and then unneeded files are removed. The clean version is what will be distributed.
Once we have the three archive files for the three platforms, we copy them into the lyp repository. To build a release, we prepare a release directory for each platform, unarchive the corresponding ruby, add the lyp files and some wrapper scripts, then create an archive and we're all done.
Tree structure
lyp
bin - lyp binary files and wrappers
lib - lyp source files
ruby - a version of ruby
For each platform:
Install ruby from source
Create a bootstrapping ruby wrapper script - placed in the ruby bin directory
Why not traveling ruby?
rugged
gem is relatively outdated (0.22). To you git tags we need version 0.23 or later. There's no compiled rugged gem for Windows.The alternative
If we wish to replace traveling ruby with something better, we need to have:
Plan of action
We will target three platforms: macOS, Windows, Linux X86-64 (the latter two will be built by spinning up small machines on AWS).
For each platform, a ruby installation will be maintained. Each installation will include a "raw version" and a "clean version". Each time the raw version is changed, it is copied to
ruby.clean
, and then unneeded files are removed. The clean version is what will be distributed.Once we have the three archive files for the three platforms, we copy them into the lyp repository. To build a release, we prepare a release directory for each platform, unarchive the corresponding ruby, add the lyp files and some wrapper scripts, then create an archive and we're all done.
Tree structure
For each platform:
Install ruby from source
Create a bootstrapping ruby wrapper script - placed in the ruby bin directory
Use wrapper to install lyp dependencies:
ruby/bin/ruby_wrapper ruby/bin/gem install http-client rugged ...
Cleanup and create archive:
Building a release
For each platform:
dist/release/lyp-1.3.2-osx
ruby-2.4.0-osx
archive todist/release/lyp-1.3.2-osx/ruby
bin
andlib
directories todist/release/lyp-1.3.2-osx
bin/lyp
tobin/lyp.rb
,bin/lilypond
tobin/lilypond.rb
lyp
,lilypond
,lyp_env.sh
(see here)The text was updated successfully, but these errors were encountered: