Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Libv8::Node::Paths with RubyGems >=3.3.21 on *-linux-gnu platforms #36

Open
wants to merge 49 commits into
base: master
Choose a base branch
from

Commits on Jan 24, 2022

  1. Fix repo address

    lloeki committed Jan 24, 2022
    Configuration menu
    Copy the full SHA
    2e94fc2 View commit details
    Browse the repository at this point in the history
  2. Pin mini_racer test version

    lloeki committed Jan 24, 2022
    Configuration menu
    Copy the full SHA
    21eeb92 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a6cc61e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f55ed74 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2022

  1. Improve local building

    - Add make targets for local building and testing
    
      This is especially useful for building and testing on Darwin
    
    - Split makefile in two: one direct and one for docker
    
      This is necessary because direct targets and dockerized targets
      overlap on Linux.
    
    - Fix a few Dockerfile oversights due to updates in libexec
    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    90b7d78 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c54319 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f6a5708 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f4d6da8 View commit details
    Browse the repository at this point in the history
  5. Remove Ruby 2.5

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    1328005 View commit details
    Browse the repository at this point in the history
  6. Add Ruby 3.1

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    fe34cc6 View commit details
    Browse the repository at this point in the history
  7. Fix lint

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    4460470 View commit details
    Browse the repository at this point in the history
  8. Test ruby platform on musl too

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    690c03f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ff6449f View commit details
    Browse the repository at this point in the history
  10. Move CI to macOS 12

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    b5a47ed View commit details
    Browse the repository at this point in the history
  11. Remove python2 from alpine

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    3be6699 View commit details
    Browse the repository at this point in the history
  12. Add ccache support

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    7d3ed36 View commit details
    Browse the repository at this point in the history
  13. Add more cross-compilation options

    - arm64-darwin from x86_64-darwin (also added to CI)
    - x86_64-darwin from arm64-darwin
    - x86_64-linux from aarch64-linux
    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    461eedc View commit details
    Browse the repository at this point in the history
  14. Update to node 16.17.0

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    f53bf1e View commit details
    Browse the repository at this point in the history
  15. Move back to macOS 11

    lloeki committed Aug 26, 2022
    Configuration menu
    Copy the full SHA
    6b7f57d View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2022

  1. Build with Ruby 2.4

    lloeki committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    98078bc View commit details
    Browse the repository at this point in the history
  2. Test with mini_racer 0.6.3

    lloeki committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    98c9258 View commit details
    Browse the repository at this point in the history
  3. Add ccache only once

    lloeki committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    7fa4743 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2023

  1. Update to node 16.19.0

    lloeki committed Jan 8, 2023
    Configuration menu
    Copy the full SHA
    e35a4fa View commit details
    Browse the repository at this point in the history
  2. Optimize 'libexec/build-monolith' on Linux

    Use `xargs` to build the `ar` command line instead of running `ar`
    manually to reduce startup costs.
    
    Build the symbol table after adding each file instead of continually
    rebuilding it.
    Fayti1703 committed Jan 8, 2023
    Configuration menu
    Copy the full SHA
    d742196 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2023

  1. Skip compilation on TruffleRuby

    * Running libv8 on GraalVM LLVM is unlikely to ever work, instead using
      Graal.js makes more sense. This is already the case in mini_racer.
      libv8-node is a necessary dependency of mini_racer on CRuby, so for
      TruffleRuby the extconf.rb simply creates a dummy Makefile.
    eregon committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    abae20e View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2023

  1. Merge pull request rubyjs#38 from eregon/truffleruby

    Skip compilation on TruffleRuby
    lloeki authored Jan 12, 2023
    Configuration menu
    Copy the full SHA
    6da5856 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Ignore stubdata object

    This fixes an issue where functions that require ICU data segfault
    the process due to an unexpected lack of ICU data.
    
    The actual ICU data is provided by the icudt71_dat object.
    Fayti1703 committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    db76c05 View commit details
    Browse the repository at this point in the history
  2. googletest 'hello test'

    seanmakesgames authored and Fayti1703 committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    d8c6b58 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f17c160 View commit details
    Browse the repository at this point in the history
  4. actually use v8 in the test

    seanmakesgames authored and Fayti1703 committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    fdd9edf View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2023

  1. Add initial multi-platform support for test.

    Linking on Linux currently errors with `undefined reference to `'dlsym'`
    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    261889c View commit details
    Browse the repository at this point in the history
  2. Add ctest to makefile

    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    bf1dff5 View commit details
    Browse the repository at this point in the history
  3. fix building test on linux on some build setups

    (including our codespace)
    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    d8d1567 View commit details
    Browse the repository at this point in the history
  4. integrate test into actions

    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    f803993 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0248883 View commit details
    Browse the repository at this point in the history
  6. attempt to move forward docker image to newer version

    and one that supports the newer cmake.
    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    02f6af3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    fd333f5 View commit details
    Browse the repository at this point in the history
  8. Use pathed archives on Linux

    Alpine Linux's `ar` program doesn't support having objects with the
    same name in the archive twice, so we have to use the GNU extension
    for including paths.
    
    This commit *should* honestly be split into multiple separate commits,
    but unfortunately pretty much all of these changes have to be applied
    as a unit or a build step fails.
    Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    d016d23 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b1af510 View commit details
    Browse the repository at this point in the history
  10. skip arm64 c test on mac and lin

    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    29c7341 View commit details
    Browse the repository at this point in the history
  11. 2.6 is EOL -- remove and bump

    seanmakesgames authored and Fayti1703 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    9a61bac View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2023

  1. Configuration menu
    Copy the full SHA
    97560d6 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. Merge pull request rubyjs#37 from seanmakesgames/add_test

    Add cpp test, fix locale issues and fix CI issues
    SamSaffron authored Jan 23, 2023
    Configuration menu
    Copy the full SHA
    543ee88 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2023

  1. Configuration menu
    Copy the full SHA
    0d462cb View commit details
    Browse the repository at this point in the history
  2. Use ccache in Dockerfile

    lloeki committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    f38ca6d View commit details
    Browse the repository at this point in the history
  3. Pin Rubygems and Bundler

    lloeki committed Jan 24, 2023
    Configuration menu
    Copy the full SHA
    0fad627 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2023

  1. Add Ruby 3.2

    lloeki committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    dcb3894 View commit details
    Browse the repository at this point in the history
  2. Fix and bump Rubocop

    lloeki committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    4db6396 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Fix Libv8::Node::Paths with RubyGems >=3.3.21 on *-linux-gnu platforms

    RubyGems 3.3.21 changed the value format of `Gem::Platform.local` for Ruby configured with `*-linux-gnu` as the platform name.
    
    ```console
    $ ruby -ve 'p Gem::VERSION; p Gem::Platform.local.to_s'
    ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux-gnu]
    "3.3.20"
    "x86_64-linux"
    
    $ ruby -ve 'p Gem::VERSION; p Gem::Platform.local.to_s'
    ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux-gnu]
    "3.3.21"
    "x86_64-linux-gnu"
    
    $ ruby -ve 'p Gem::VERSION; p Gem::Platform.local.to_s'
    ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux-gnu]
    "3.3.24"
    "x86_64-linux-gnu"
    ```
    
    As you can see, it now has the `-gnu` prefix and `Libv8::Node::Paths.object_paths` thus has it when the built binary actually lives in the directory `x86_64-linux`, breaking the build of
    the gems like mini_racer on those platforms.
    
    [`RUBY_TARGET_PLATFORM` is set to `*-linux`](https://github.com/knu/libv8-node/blob/ad9105562185571f7b486f7770986f6a160318b2/libexec/platform#L28-L29), so `Libv8::Node::Paths.platform` needs to align with that.
    knu committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    f6a5a86 View commit details
    Browse the repository at this point in the history