-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Ruby: support conan v2 and expose more configuration options for native extension gems #18338
Commits on Feb 2, 2024
-
Ruby: support conan v2 and expose more configuration options for nati…
…ve extension gems. Reboots conan-io#12456 and conan-io#12208 * conan v2 support (work done by myself + a merge of @SpaceIm 's branch from PR conan-io#12208 to reconcile both) * Extend testing to require one of the native extensions * ``` post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library './lib/ruby/3.1.0/x86_64-linux/pty.so' links to system library 'util' but it is not in cpp_info.system_libs. ``` * Use `--with-opt-dir` instead of `--with-xx-dir` that ruby isn't respecting. conanio/gccXX (eg 10) removed the libxxx-dev (eg libgmp-dev) from the image. This made me realize that the conan deps weren't being picked up by the build. The openssl was, because --with-openssl-dir is explicitly used in ruby config. So here, we rely on --with-opt-dir. cf: https://bugs.ruby-lang.org/issues/19014#change-99241 (--with-gmp-dir was added on September 14, 2022, wrote this in Sep 22, 2022) * Pass both --with-opt-dir and --with-xxx-dir https://gist.github.com/mrkn/6647630
Configuration menu - View commit details
-
Copy full SHA for cbef5f3 - Browse repository at this point
Copy the full SHA cbef5f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53d7922 - Browse repository at this point
Copy the full SHA 53d7922View commit details -
Delete option instead of forcing it to false
CI Complains: "ConanException: Incorrect attempt to modify option 'with_readline' from 'True' to 'False'"
Configuration menu - View commit details
-
Copy full SHA for ec79200 - Browse repository at this point
Copy the full SHA ec79200View commit details -
Configuration menu - View commit details
-
Copy full SHA for e551968 - Browse repository at this point
Copy the full SHA e551968View commit details -
Configuration menu - View commit details
-
Copy full SHA for 367787b - Browse repository at this point
Copy the full SHA 367787bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5eed047 - Browse repository at this point
Copy the full SHA 5eed047View commit details -
Configuration menu - View commit details
-
Copy full SHA for f683111 - Browse repository at this point
Copy the full SHA f683111View commit details -
Configuration menu - View commit details
-
Copy full SHA for a0a0c43 - Browse repository at this point
Copy the full SHA a0a0c43View commit details -
Fixup removing frameworks dir on mac
On my machine, M1 mac with conan 1.61.0 it's not `-F <path>` but `-F"<path>"` eg: `-F"/Users/julien/.conan/data/readline/8.1.2/_/_/package/9fcc18689922974ad28edb46b427da2559f4e6c8/Frameworks ...`
Configuration menu - View commit details
-
Copy full SHA for 2798b4f - Browse repository at this point
Copy the full SHA 2798b4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80fc1a5 - Browse repository at this point
Copy the full SHA 80fc1a5View commit details -
Find libcrytod (notice the trailing d) on windows debug + zlibstatic …
…/ zlibstaticd too
Configuration menu - View commit details
-
Copy full SHA for 175a786 - Browse repository at this point
Copy the full SHA 175a786View commit details -
Configuration menu - View commit details
-
Copy full SHA for 581ed33 - Browse repository at this point
Copy the full SHA 581ed33View commit details -
Configuration menu - View commit details
-
Copy full SHA for a63e33a - Browse repository at this point
Copy the full SHA a63e33aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 44dce48 - Browse repository at this point
Copy the full SHA 44dce48View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5bd4ff0 - Browse repository at this point
Copy the full SHA 5bd4ff0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63f190c - Browse repository at this point
Copy the full SHA 63f190cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b35b422 - Browse repository at this point
Copy the full SHA b35b422View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb560ce - Browse repository at this point
Copy the full SHA cb560ceView commit details -
Cross building: pass DESTDIR as arg to make install-local
Note: ruby has a `--with-destdir=DESTDIR specify default directory to install` option, maybe I should use that?
Configuration menu - View commit details
-
Copy full SHA for b50d916 - Browse repository at this point
Copy the full SHA b50d916View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe49bed - Browse repository at this point
Copy the full SHA fe49bedView commit details -
Configuration menu - View commit details
-
Copy full SHA for d88e0eb - Browse repository at this point
Copy the full SHA d88e0ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6277fba - Browse repository at this point
Copy the full SHA 6277fbaView commit details -
Configuration menu - View commit details
-
Copy full SHA for f406535 - Browse repository at this point
Copy the full SHA f406535View commit details -
Don't link to conan libyaml on msvc, it fails to link
For libffi and libyaml, starting at 3.2.x ruby supports: * Downloading the SOURCES to libyaml / libffi * Configure with --with-libyaml-source-dir / --with-libffi-source-dir * It then builds the libffi / libyaml itself https://bugs.ruby-lang.org/issues/18571
Configuration menu - View commit details
-
Copy full SHA for 2576083 - Browse repository at this point
Copy the full SHA 2576083View commit details -
Configuration menu - View commit details
-
Copy full SHA for 333c63d - Browse repository at this point
Copy the full SHA 333c63dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 219f191 - Browse repository at this point
Copy the full SHA 219f191View commit details -
Configuration menu - View commit details
-
Copy full SHA for 445df2a - Browse repository at this point
Copy the full SHA 445df2aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee3a932 - Browse repository at this point
Copy the full SHA ee3a932View commit details -
Actually just assumes that the current libffi bundled in source is up…
… to date, and don't do extract-extlibs
Configuration menu - View commit details
-
Copy full SHA for c986810 - Browse repository at this point
Copy the full SHA c986810View commit details -
Use fix_apple_shared_install_name to shush KB-H077?
> post_package(): WARN: [APPLE RELOCATABLE SHARED LIBS (KB-H077)] install_name dir of these shared libs is not @rpath: libruby.3.1.dylib, libruby.dylib conan-io#18338 (comment)
Configuration menu - View commit details
-
Copy full SHA for 0178690 - Browse repository at this point
Copy the full SHA 0178690View commit details -
Backport --add-gmp-dir in an attempt to fix miniruby not loading gmp lib
During the build, miniruby is built, then it is actually used to build the extension libs. The c3i v2 runner on macOS is failing ``` linking miniruby dyld[16179]: Library not loaded: @rpath/libgmp.10.dylib Referenced from: <BC0A8868-CFAE-3B40-A112-FCAC741169E4> /Users/jenkins/w/prod-v2/bsr@2/80054/defbf/p/b/ruby1af0f3d020f64/b/build-release/miniruby Reason: tried: '/usr/local/lib/libgmp.10.dylib' (no such file), '/usr/lib/libgmp.10.dylib' (no such file, not in dyld cache) make: *** [exe/ruby] Abort trap: 6 make: *** Deleting file `exe/ruby' ```
Configuration menu - View commit details
-
Copy full SHA for 7ddb85e - Browse repository at this point
Copy the full SHA 7ddb85eView commit details