`date` dependency requires native compilation
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 118
- Forks
- 43
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 26
Description
There is a major issue with
date: it requires native compilation. My server does not have a compiler installed for security reasons and I cannot install the latest version ofnet-imapnow.I install Ruby from distro packages and then a set of pure Ruby gems but net-imap is no longer pure. ☹️
Originally posted by @mperham in https://github.com/ruby/net-imap/issues/66#issuecomment-1372811128
I've been deploying everything in containers for a while now, so I forget about these pain points. It's a common pattern for production Dockerfiles to either uninstall compilers or copy compiled libs over from another image layer.
Unless you are deploying to ruby 2.4 and older, some version of the date gem should be installed already... so if you are willing and able to simply pin the version that matches your distro ruby installation, that should work, I think.
Another option might be to create native gem files, maybe scripted with docker or rake-compiler or maybe rake-compiler-dock, upload them to S3, and configure the server with an S3 gem source.
I wonder if ruby/date would consider a PR for publishing pre-compiled native gems?
And, of course, you could fork net-imap and install from your fork. Or we could drop the explicit dependency. ☹️
@hsbt Any thoughts?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review net-imap's dependency declaration and the native-compilation alternatives raised in the issue thread. No file, test, or accepted outcome is named; confirm whether the project will change, pin, or package the date dependency before defining what completion means.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100