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

native gems are built with ExtensionTask.no_native=true #2125

Merged
merged 5 commits into from
Dec 3, 2020

Commits on Dec 3, 2020

  1. dev: simpler generation of cext depend file

    Related to #2118
    flavorjones committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    a3645f7 View commit details
    Browse the repository at this point in the history
  2. refactor: extract the VERSION constant into a separate file

    also:
    - extract VersionInfo into a separate file
    - make lib/nokogiri/version.rb require_relative these two new files
    
    so that we can easily find it from Rakefile now,
    and potentially a standalone gem spec later.
    
    (This was driven out because Hoe does a questionable thing when
    inferring the gem version, which is to grep through files in order of
    Manifest.txt; and this is leading to using the LIBXML_REQUIRED_VERSION
    as the VERSION. ¯\_(ツ)_/¯)
    flavorjones committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    a592876 View commit details
    Browse the repository at this point in the history
  3. chore: reformat .hoerc

    and add some filtering for common temp files to reduce noise
    flavorjones committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    48c9687 View commit details
    Browse the repository at this point in the history
  4. fix: native gems are built with ExtensionTask.no_native=true

    Specifically, following the advice of @kou at
    
      rake-compiler/rake-compiler#171
    
    we set `Rake::ExtensionTask.no_native=true` within the
    rake-compiler-dock container ("guest") so that:
    
    - the ExtensionTask `cross_compiling` block is called
      - so that we don't package the dependencies' tarballs in /ports
      - so that we don't have mini_portile2 as a dependency (#2078)
      - so that we don't have an extra nokogiri.so/nokogiri.bundle built
        and packaged (#2076)
    - we no longer have to hotfix rake-compiler at build time
    
    This also will enable us to more easily do things like removing the C
    extension source code from the native gem package (#2077).
    flavorjones committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    17c84fc View commit details
    Browse the repository at this point in the history
  5. refactor: darwin native rake tasks follow convention

    That is, darwin tasks now mirror the linux and windows tasks even
    though there's no guest container (only a child process). This way we
    avoid having darwin-specific handling from the POV of the person
    invoking rake.
    
    The native platform tasks previously named "guest" are now named
    "builder" because that's a more descriptive and more accurate name,
    especially since (on darwin) there's no actual guest.
    flavorjones committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    440dc4e View commit details
    Browse the repository at this point in the history