Closed Minivera closed 3 years ago
What do you think about maintaining this in a separate branch for now until we are fully on Nix'd pid1 and not going back? Mainly so we can keep compat with the old ways until the old ways are done.
No against it, from my tests, it should be fully backwards compatible except for the ruby version change. Will that version change impact the backwards compatibility of prybar in pid1?
Potentially, it may conflict with the version of Ruby we have in Polygott (Ruby 2.5).
Oh wait, I don't think we prybar Ruby. In that case, lets ship it to master!
I've checked the files and the other two languages that could have backwards compatibility issues are R and spidermonkey, depending on if they're used at all.
Those aren't prybar'd yet either AFAICT
prebooping: tests are pending
I don't have the full context on the impact of this on pid1, so I'll trust your judgement. I'm more than happy to move it to a draft and wait until pid1 is nix'ed if you feel that's the safer approach :slightly_smiling_face:
unbooping: approved
I don't have the full context on the impact of this on pid1, so I'll trust your judgement. I'm more than happy to move it to a draft and wait until pid1 is nix'ed if you feel that's the safer approach :slightly_smiling_face:
We aren't shipping this in pid1 yet (maybe ever) so not too worried. I think we may want to expose these in our overlay and make our overlay available by default inside a repl. The users can pull in a prybar if they'd like and we can provide templates with prybar already set up.
I kinda view prybar in a similar vein as LSP where in the future it should be plug and play and people can bring their own.
Some languages were not working in prybar for multiple reasons. This PR implements a good number of fixes to the nix files, the test files, and the main.go file for multiple languages. The result is the ability to run
nix-build
to build all the prybar languages and have them tested in the nix sandbox. They are all properly configured for the languages to run and for the prybar to access the helper files/binaries.Some notes
I have added comments to the nix files, but here are a few things of note from this PR:
ruby
rather thanruby_3_0
) first and try to work around those.buildInputs
for the build phase andbinaries
for the test phase, neither of which will be added to the final package. We can then use thesetFlags
attribute to tell nix to add the path to the binaries' source for the go compiler. This was needed for all the languages using cgo. As long as no language throws a curveball, these 3 flags should make sure that all languages are buildable and testable.List of language changes:
Testing
Test with
nix-build
, it should resolve after some time with all prybars working as intended and all tests passing. If it fails on your machine, then I made a mistake and things are not reproducible, somehow!CI?
CI will be added in a follow-up PR, this might break out current CI implementation since the version numbers are hardcoded in some of the tests. I will see how I want to resolve this (probably by keeping two copies of the test files)
Why does it say revert in the commit history?
You saw nothing