<headius> Nice!
razetime has joined #jruby
razetime has quit [Ping timeout: 260 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 252 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 268 seconds]
razetime has joined #jruby
<byteit101[m]> hmm... libfixposix is in debian, fedora, arch, and macports. Should I do what ffi-libarchive & ffi-libarchive-binary do so we use the system libfixposix?
razetime has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<headius> That would probably be the simplest way to start
makePar[m] has joined #jruby
<makePar[m]> Hi I am not able to download jruby 1.7.10 + 1.7.12 My Old Project need this versions and my privious data loosed. Can you please help me to download the .exe for windows 10 ?
<headius> We lost a bunch of those downloads in a mix-up some years ago, but you should be able to use a newer 1.7 yes?
<headius> make Par: The newer 1.7 builds should work just as well or better if a small upgrade would be okay for your app
<makePar[m]> okay
<headius> I believe 1.7.27 is the latest in that line
<makePar[m]> But I need it jruby 1.7.10+
<byteit101[m]> only took all day to write a ffi lib wrapper generator for libfixposix. Time to experiment
<headius> Nice
<byteit101[m]> make Par: Are you sure you need 1.7.x? What regressions do you encounter when using something in the 9.x series?
<headius> Also a good question. From the sound of it this might be a legacy app though
<makePar[m]> <headius> "I believe 1.7.27 is the latest..." <- Not Working.
<byteit101[m]> how so? do you get an error?
<byteit101[m]> headius: yes, libfixposix will work. Got something spawned with it :-)
<headius> I like the idea of just checking for the library and using it if it's available all the time
<headius> We are super dependent on posix_spawn and it's missing so much stuff that this library fixes
<byteit101[m]> hmm, how can I steal the lookup path from ruby?
<byteit101[m]> aka`which`
<byteit101[m]> can I grab the runtime from ruby?
<byteit101[m]> org.jruby.util.ShellLauncher.findPathExecutable(JRuby.runtime, "ruby").absoloute_path
<byteit101[m]> good enough for now
<headius> Yeah that is the same logic as CRuby
<byteit101[m]> can I call into CRuby's logic from inside ruby?
<byteit101[m]> Also, what should I name the underlying API? LFP::SpawnRubyAPI is my terrible working name
<byteit101[m]> But I am going to request an add to that findPathExecutable that doesn't require require 'jruby' for the runtime
<byteit101[m]> how do I convert a numeric errno into an errno exception?
<headius> In CRuby no there's no way
<byteit101[m]> drat, I'll just steal the stackoverflow answer then
<byteit101[m]> btw I almost have this done, I just need to do envp in the low level API, and then call this from the high level api
<byteit101[m]> packaging is most of the remainder of the work :-)
<headius> I'm glad to see that it is being packaged for the major distributions
<headius> The omissions from posix spawn seen so weird to me
<headius> Chdir really?
<byteit101[m]> I am adding some JRuby-specific features though :-)
<byteit101[m]> if defined? JRUBY_VERSION # accept File and Path java objects
<headius> Obviously you can't support every possible thing users might do between fork and exec but the basic things like chdir and pty manipulation should be there
<byteit101[m]> do you know how I can convert int errno into one of the Errno types?
<headius> Error.valueOf
<headius> I think
<headius> Errno
<headius> It's just an enum
<byteit101[m]> NoMethodError (undefined method `value_of' for Errno:Module)
<byteit101[m]> oh from java? I'm talking about from ruby
<byteit101[m]> I mean I could give MRI worse errors.... :-)
<byteit101[m]> find: Errno.constants.find{|x| Errno.const_get(x)::Errno == 8}
<headius> Oh you mean the Errno exception
<headius> I think the SystemCallError constructor takes an errno value?
<byteit101[m]> ah-ha yes!
<byteit101[m]> How do I make a java method callable from ruby? (I want a wrapper around that findPathExecutable so that I don't need to get JRuby.runtime manually)
<headius> We could bind it like other core functions
<headius> The JRuby util module would probably be a good place
<headius> There's a case to be made for exposing this in CRuby also File.path_search
<headius> * CRuby also like File.path_search
<headius> Flights boarding, got to run
<byteit101[m]> oh have fun!
<headius> 👍