cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
hotpot33 has quit [Quit: No Ping reply in 180 seconds.]
hotpot33 has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
jcea has quit [Remote host closed the connection]
jcea has joined #pypy
jcea has quit [Quit: jcea]
dansan has quit [Read error: Connection reset by peer]
dansan has joined #pypy
jvesely has quit [Quit: jvesely]
<mattip> I want to move python2 compilation away from the ancient msvc9 compiler on windows. Any objections?
habnabit has quit [Ping timeout: 268 seconds]
jerith has quit [Ping timeout: 268 seconds]
jerith has joined #pypy
_habnabit has joined #pypy
dddddd has quit [Ping timeout: 246 seconds]
altendky has quit [Quit: Connection closed for inactivity]
otisolsen70 has joined #pypy
otisolsen70 has quit [Ping timeout: 256 seconds]
otisolsen70 has joined #pypy
otisolsen70 has quit [Remote host closed the connection]
mattip has quit [Ping timeout: 260 seconds]
mattip has joined #pypy
xcm has quit [Ping timeout: 246 seconds]
xcm has joined #pypy
<mattip> pushing changes in pypy to heptapod is _very_ slow, I think even slower than pushing to bitbucket
rjarry has joined #pypy
<rjarry> hi all
<antocuni> mattip: yes, I also noticed it: http://paste.openstack.org/show/790585/ :(
<rjarry> I'm working on a cffi binding for a .so lib that depends on another .so lib which already has a cffi binding
<rjarry> what is the correct approach to be able to use values produced by one binding and feed them to the other binding ?
<rjarry> (and vice-versa)
<rjarry> does that mean I need to merge the two projects together?
<antocuni> rjarry: I think it would be best to have a more concrete example of what you need
<rjarry> antocuni: I already wrote this: https://github.com/rjarry/libyang-cffi/
<rjarry> and I want to write a cffi binding for https://github.com/sysrepo/sysrepo/
<rjarry> which depends on libyang.so
<rjarry> I wonder how do I need to articulate all this
<rjarry> (btw, I know there already are SWIG bindings for these projects, but that does not cut it for me as they cannot be installed with pip)
<antocuni> rjarry: so, I suspect that eventually, you have to call a sysrepo function to which you pass a pointer which was created by libyang?
<rjarry> exactly
<rjarry> as a side note, the libyang binding I wrote can be linked with the static .a lib on a system where the .so is not available
<rjarry> but it seems like sysrepo cannot be compiled as a static lib, so I guess I won't be able to exploit that
<antocuni> there is no need to use static libs: all .so are loaded in the same process anyway, so you can freely pass C pointers around, they are all in the same address space
<antocuni> it's really the same thing which happens when you write a C program by hand and link against the two libs
<rjarry> static libs are quite handy when running tests in a virtualenv
<rjarry> on a random machine
<antocuni> the only trickier thing might be to convince cffi to case pointers to the correct type
<antocuni> rjarry: sure, I'm just saying that they are not strictly needed
<rjarry> what problem might arise with casting pointers ?
<antocuni> rjarry: I just tried, it seems to just work: http://paste.openstack.org/show/790776/
<antocuni> so, you can wrap sysrepo normally, and then cast pointers as you need
<rjarry> oh ok, I need to cast them when passing them around between the 2 bindings
<rjarry> I'll give this a try, thanks antocuni !
<antocuni> rjarry: a more complete example: http://paste.openstack.org/show/790777/
<rjarry> antocuni: does it work if I defined opaque structures in the sysrepo binding?
<antocuni> rjarry: another option is to use ffi.include: this way, you can "include" yang's ffi into sysrepo's ffi, so that "struct Yang" is the same for both
<rjarry> or do they need to have the same fields
<antocuni> rjarry: but in this case, the sysrepo CFFI bindings have a python dependency on yang's CFFI bindings
<rjarry> I saw this include feature in the docs, but I don't know how to do this with pip install
<antocuni> rjarry: not sure to understand the question. The general answer is: if it works in C, it works with CFFI as well
<rjarry> oh wait, can I include the compiled ffi object?
<antocuni> rjarry: well, you need to declare that sysrepo-cffi depends on libyang-cffi, in sysrepo-cffi's setup.py
<rjarry> yes, that I understood
<rjarry> but in sysrepo-cffi cffi.py builder, what ffi symbol do I import,
<rjarry> do I try to import the contents of: https://github.com/rjarry/libyang-cffi/blob/master/cffi/build.py
<rjarry> or can I do "from _libyang import ffi"
<antocuni> rjarry: ah indeed, it seems that "ffi.include" works only for normal FFI(), not for CompiledFFI()
<rjarry> hmm, that's not convenient
<antocuni> then I defer my question to arigo, who can probably answer better than me
<rjarry> that means I need to put the FFI() object from libyang somewhere into the installed packages
<antocuni> maybe, or maybe it doesn't work anyway. I fear I can't help you more than that, what you need to do now is just to try :)
<rjarry> if that's even possible, since this object is very environmnet dependend
<rjarry> dependent
<rjarry> yep, thanks a lot
<antocuni> you're welcome
_whitelogger has joined #pypy
<mattip> arigo: something is off in untranslated tests with the new rgil
<mattip> it seems the global gil should be reset between tests
FullTiltProspect has joined #pypy
otisolsen70 has joined #pypy
otisolsen70 has quit [Ping timeout: 250 seconds]
jcea has joined #pypy
jvesely has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
lritter has joined #pypy
adamholmberg has joined #pypy
<cfbolz> antocuni: hpy-rpython-backports is not documented in whatsnew
<antocuni> oh, sorry
dddddd has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Connection reset by peer]
adamholmberg has joined #pypy
jvesely has quit [Quit: jvesely]
arigo is now known as arigato
<antocuni> ronan: someone asks me "when pypy3.7 will be ready". What is the status?
<ronan> antocuni: it's still quite far from ready
<antocuni> ok
lritter has quit [Remote host closed the connection]
lritter has joined #pypy
joannah has joined #pypy
<mattip> what still has to happen before we can release an alpha?
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<cfbolz> mattip: socket and ssl are two big missing things
<mattip> ok, thanks
<cfbolz> mattip: I hope to get back to it pretty soon
<mattip> it seems there is a new knot in msvc support. The numbering scheme has changed
<mattip> so setuptools/distutils cannot parse the sys.verison to get back from "PyPy 7.3.1-alpha0 with MSC v.1911 32 bit"
<mattip> to a visual studio version
<mattip> note it now has 1911, not just 1910
<mattip> setuptools/distutils is meant to parse that into Visual Studio 14.11, but looks for 14.1 instead
Dejan has quit [Quit: Leaving]
jvesely has joined #pypy
<mattip> .. and since setuptools has dropped support for python2, we are stuck using only even versions of the tools to build with
<mattip> marmoute: I tried using the web interface to merge a MR https://foss.heptapod.net/pypy/pypy/merge_requests/713
<mattip> according to that interface, it is merged. But I don't see it when I pull into my local repo
<marmoute> Which merge method are you using ?
<mattip> ?
<marmoute> (the default one then)
<marmoute> "I don't see it when I pull into my local repo" → what do you mean ?
<mattip> on the main repo page it also shows the merge https://foss.heptapod.net/pypy/pypy/tree/branch/py3.6
<mattip> in my shell I do "hg pull" but do not get the changeset
<marmoute> can you past an output for `hg pull --debug` ?
<ronan> mattip: how do you know you didn't get the changeset?
<mattip> ronan: good point. marmoute: my bad. It is a problem with thg
<mattip> the head did not change properly in the GUI
<mattip> sorry for the noise
<marmoute> ;-)
<mattip> the changeset was the last on the branch, so it became the head. I was expecting to see a merge. Sorry again.
<mattip> today nothing is working. I merged py3.6 into 3.7 and tried a translation. It breaks with
<mattip> MissingRTypeOperation: unimplemented operation: 'ne' ... v2843 = ne(v2842, (type W_ComplexObject))
altendky has joined #pypy
<mjacob> join #css
<ronan> mattip: types need to be compared with 'is not', not '!='
<mjacob> sorry
<mattip> ronan: thanks, It seems no-one has tried translating after df93227952a6
<cfbolz> :-(
<cfbolz> the buildbot did once, but nobody looked
<mattip> ronan's fix seems to work
xcm has quit [Killed (livingstone.freenode.net (Nickname regained by services))]
xcm has joined #pypy
FullTiltProspect has quit [Ping timeout: 264 seconds]
jvesely has quit [Quit: jvesely]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
marvin_ has quit [Remote host closed the connection]
lazka has quit [Quit: bye]
marvin_ has joined #pypy
lazka has joined #pypy
marvin_ has quit [Remote host closed the connection]
lazka has quit [Client Quit]
marvin_ has joined #pypy
lazka has joined #pypy
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5178 [mattip: force build, py3.7]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
Taggnostr has quit [Ping timeout: 245 seconds]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/5178 [mattip: force build, py3.7]
Taggnostr has joined #pypy
jvesely has joined #pypy
Taggnostr has quit [Ping timeout: 246 seconds]
wleslie has quit [Quit: ~~~ Crash in JIT!]
Taggnostr has joined #pypy
adamholmberg has quit [Remote host closed the connection]
wleslie has joined #pypy
adamholmberg has joined #pypy
wleslie has quit [Quit: ~~~ Crash in JIT!]
adamholmberg has quit [Remote host closed the connection]
lritter has quit [Quit: Leaving]