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

Green on macOS native ruby, macOS homebrew ruby, Ubuntu 18.04 & Ubuntu 20.04 ruby 2.6, 2.7, & 3.0 #311

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

Conversation

raggi
Copy link

@raggi raggi commented Jun 1, 2021

Summary of changes included:

  • More recent bundler version
  • Fix secp upstream clone and build via rake
  • Add an explicit dependency on the scanf gem in tests - it's not always bundled
  • Update all dependencies, and remove locks from Gemfile (lockfile will do)
  • Update scrypt API usage
  • Ignore build artifacts
  • Add a CI using Github Actions
  • Fix compatibility with LibreSSL (macOS bundled ruby, etc)
  • Fix compatibility with OpenSSL 1.1.1k with ruby openssl extension
  • Avoid performing a secondary dlopen in ffi, just use the library loaded by require 'openssl'
  • Extend CI actions to include macOS, ubuntu-18.04 and ubuntu-20.04 (all green)

@raggi raggi force-pushed the master branch 3 times, most recently from ef56a14 to 3cf355a Compare June 1, 2021 06:15
@raggi raggi force-pushed the master branch 2 times, most recently from 69978f7 to c08a5e7 Compare June 1, 2021 06:27
macos is disabled for now, as it's crashy, as per patch trigger.
LibreSSL uses a mostly OpenSSL 1.0.1 compatible API, with the
alarmingly notable exception of the version API. When the library is
loaded on macOS with LibreSSL the verison check introduced in lian#42 the
gem was incompatible with LibreSSL.

This change may not be ideally forward-compatible if APIs change and
may need a new strategy eventually, but is not noticeably weaker than
the version based strategy. It is notably functional on both macOS
with LibreSSL 2.8.3, as well as remaining compatible with OpenSSL
1.1.1f on Ubuntu.
@raggi raggi force-pushed the master branch 2 times, most recently from 43581b7 to b69b655 Compare June 2, 2021 05:25
On macOS the library load is handled in a specific and incompatible
way, which is handled by the extension. As the gem uses the extension
elsewhere, taking a direct dependency on that, and looking up symbols
from in-process should be safe and sufficient.
@raggi raggi changed the title Update gem to green tests on a regular 2.7 setup Green on macOS native ruby, macOS homebrew ruby, Ubuntu 18.04 & Ubuntu 20.04 ruby 2.6, 2.7, & 3.0 Jun 2, 2021
@raggi
Copy link
Author

raggi commented Jun 2, 2021

@raggi
Copy link
Author

raggi commented Jun 2, 2021

Fixes: #302 #303 #308 #307 #304 #301

@mauricepoirrier
Copy link

is this going to be merged? @lian

@raggi
Copy link
Author

raggi commented Jan 12, 2022

I mailed @lian last year, I'm not sure if they're still around.

I recently reached out to Penelope who is the other owner of the gems on rubygems.org to see if they'd provide me release rights. I've not received a response from them yet either, so once I've waited a little longer I may start the process with rubygems.org directly.

@lian
Copy link
Owner

lian commented Jan 12, 2022

hey, i could merge this and release a new gem version.

but this library is stale and didn't receive any bitcoin (or any coin) related protocol/feature updates since 2018/2019.

how is this code still useful for you guys?

@DivineDominion
Copy link

@lian Any progress is better than no progress? :) Easier to build on top of a working version.

@Matthiasclee
Copy link

how is this code still useful for you guys?

Its basically the only ruby library that can make and sign txns that I found, and it seems to work fine, and I have pushed several txns to the network that were made by this gem and they worked fine.

@inertia186
Copy link

how is this code still useful for you guys?

This is a dependency for hive-ruby:

https://gitlab.syncad.com/hive/hive-ruby

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants