antocuni changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "PyPy: the Gradual Reduction of Magic (tm)"
danieljabailey has quit [Quit: ZNC 1.6.4+deb1 - http://znc.in]
danieljabailey has joined #pypy
_stian has joined #pypy
<simpson> Hi! I have an irate and ranty community member who is wondering what license the output of an RPython translation is under, in the case where they use rpython.rlib.
<simpson> It's not in the FAQ; any ideas?
<simpson> _stian: Yeah, but what about non-PyPy stuff built with RPython?
asmeurer has joined #pypy
asmeurer has quit [Quit: asmeurer]
<_stian> @simpson "all software and documentation in the 'rpython', 'pypy', 'ctype_configure', 'dotviewer', 'demo', 'lib_pypy', 'py', and '_pytest' directories is licensed as follows: "
<_stian> so your non-pypy project uses rpython translation (and rlib), both under rpython folder, and as such MIT.
antocuni has quit [Ping timeout: 248 seconds]
<_stian> you can sublicense your own project under some other license. MIT is fairly liberal
raynold has quit [Quit: Connection closed for inactivity]
asmeurer__ has joined #pypy
asmeurer__ has quit [Quit: asmeurer__]
raynold has joined #pypy
traverseda has quit [Ping timeout: 260 seconds]
traverseda has joined #pypy
marr has quit [Ping timeout: 250 seconds]
oberstet has quit [Ping timeout: 240 seconds]
tumbleweed has quit [Ping timeout: 258 seconds]
tumbleweed has joined #pypy
tumbleweed has quit [Changing host]
tumbleweed has joined #pypy
lritter has joined #pypy
asmeurer__ has joined #pypy
Rotonen has quit [Quit: reboot]
Rotonen has joined #pypy
ArneBab_ has joined #pypy
Samureus has joined #pypy
ArneBab has quit [Ping timeout: 248 seconds]
Samureus has quit [Quit: Leaving]
tbodt has joined #pypy
lritter_ has joined #pypy
lritter has quit [Ping timeout: 248 seconds]
marky1991 has joined #pypy
pilne has quit [Quit: Quitting!]
marky1991 has quit [Ping timeout: 240 seconds]
songww has joined #pypy
_whitelogger has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
tav` has joined #pypy
tav has quit [Ping timeout: 248 seconds]
tav` is now known as tav
jamesaxl has quit [Quit: WeeChat 1.9.1]
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
cjwelborn has quit [Quit: sys.exit(0)]
zmt00 has quit [Quit: Leaving]
slackyyy has joined #pypy
marr has joined #pypy
cjwelborn has joined #pypy
antocuni has joined #pypy
inhahe_ has quit []
joannah has joined #pypy
papanik has quit [Ping timeout: 250 seconds]
oberstet has joined #pypy
papanik has joined #pypy
inhahe_ has joined #pypy
joannah has quit [Quit: Page closed]
asmeurer__ has quit [Quit: asmeurer__]
cstratak has joined #pypy
<arigato> I don't think the output of any compiler is protected under a specific license different from the input, is it?
<cfbolz> arigato: it can be. we link against rlib/gc code
<cfbolz> if that code is gpl, there might be problems
<arigato> ah
<arigato> ok
<cfbolz> which I think is why the question specifically mentioned rlib
<cfbolz> but yes, as far as I understand it MIT is permissive enough
<arigato> indeed, and we could have decided our GC is 100
<arigato> 100$/program
<antocuni> I think that gcc has a special "Runtime Exception" clause specifically to avoid forcing the output program to be gpl
<simpson> arigato: Golang and Rust both have reference compilers which compile parts of their stdlib into binaries, preserving the license.
<simpson> And yes, GCC and LLVM have exemptions for their static pieces.
<simpson> The user in question is IMO unreasonable; they want to allow their downstreams to totally omit attribution, which seems like a bad choice. OTOH it's good to know what's allowed and what's not.
<xorAxAx> antocuni: indeed
jacob22 has quit [Ping timeout: 240 seconds]
jacob22 has joined #pypy
<kenaan_> cfbolz default b95f1240ad90 /pypy/interpreter/pyparser/: fix issue #2701 allow the sequences future-import, docstring, future-import for CPython bug-compatibility
antocuni has quit [Ping timeout: 268 seconds]
songww has quit [Remote host closed the connection]
_stian_ has joined #pypy
songww has joined #pypy
tav has quit [Quit: tav]
<_stian_> Updated pull request with the benchmarks.
<fijal> arigato: alive?
<arigato> zzkind of
<fijal> hehe
* fijal slept 15h
<fijal> and I STILL had to set up an alarm clock
songww has quit [Quit: songww]
lritter_ has quit [Ping timeout: 248 seconds]
Rhy0lite has joined #pypy
dddddd has joined #pypy
<kenaan_> stian math-improvements 3f4aca709e49 /rpython/rlib/: Remove invert logic from rqshift (it is only used with positive numbers)
<fijal> 25% in GC is a lot right?
fryguybob has quit [Remote host closed the connection]
fryguybob has joined #pypy
antocuni has joined #pypy
<_stian_> Not sure if putting arigato as a reviewer for pull requests are too smart, he might be busy?
<fijal> _stian_: he usually reviews a bunch of things though
exarkun has quit [Ping timeout: 258 seconds]
exarkun has joined #pypy
<_stian_> I'll just leave it empty
<_stian_> Whoever wants, and have the time can take the reviewing
adamholmberg has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
_stian_ has quit [Ping timeout: 260 seconds]
cstratak has left #pypy ["Leaving"]
<Cheery> Even if I set something immutable, is there still a way to trash the JIT somehow and edit the value?
<Cheery> for example, in the case that you're debugging things.
marky1991 has joined #pypy
<antocuni> Cheery: you could use a quasi-immutable field instead of an immutable one
<antocuni> quasi-immutable fields generate out-of-line guards
<antocuni> which basically means that there are no guards at runtime, but if you modify the value the corresponding assembler is invalidated
<Cheery> I'm using those sometimes, but that's the only way?
<antocuni> I cannot think of anything else
<Cheery> well.. I guess I just have to add those in places where I want to allow live-programmer to change it.
<antocuni> yes, I suppose so. Also, note that as I said they don't cause any performance penalty at runtime, so you can use it "for free"
yuyichao_ has quit [Ping timeout: 248 seconds]
yuyichao_ has joined #pypy
_stian has quit [Quit: Page closed]
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
zmt00 has joined #pypy
oberstet has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
oberstet has joined #pypy
yuyichao has joined #pypy
yuyichao_ has quit [Ping timeout: 248 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<kenaan_> rlamy py3.5 e73ed06e7955 /lib-python/3/inspect.py: backout c7e665a4d094: this hack isn't needed any more
tbodt has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
marr has quit [Remote host closed the connection]
exarkun has quit [Ping timeout: 248 seconds]
exarkun has joined #pypy
<ronan> if f is a C-extension function, inspect.isbuiltin(f) should return True, shouldn't it?
<ronan> (on pypy/pypy3, it doesn't)
<fijal> meh
<fijal> we should return "something else" than Function
<fijal> or hack inspect, but that seems wrong
<antocuni> IIRC, we already hack inspect
<ronan> antocuni: indeed, we have a fair number of hacks already
<ronan> and it does make sense for the internals of inspect to be implementation-specific
<antocuni> I suppose
<fijal> what I mean is that it'll have other consequences
<fijal> like __get__ behaving badly
<antocuni> I think that at some point the stdlib tried to be usable by multiple implementations; e.g. there are hacks for jython here and there
oberstet has quit [Ping timeout: 250 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<ronan> I guess I should add a cpyext.is_cpyext_function() and use that in inspect
glyph has quit [Quit: End of line.]
<fijal> ronan: can you check how it behaves on __get__ too?
<fijal> as in, you might want to wrap the result with builtinify
<ronan> how what behaves on __get__?
glyph has joined #pypy
<fijal> like a builtin function
<fijal> if you attach it to a class, does not become a method
tbodt has joined #pypy
<fijal> njs: bleh
<ronan> fijal: W_PyCFunctionObject doesn't have __get__
asmeurer_ has joined #pypy
oberstet has joined #pypy
mva has joined #pypy
<mva> hi there!
<mva> can you advice me about the build on PaX system, please?
<mva> both pypy and pypy3 (5.9.0) builds fails with this error (scroll to the end): https://paste.pound-python.org/raw/xOxrEnV43gefMjfHoTKA/
asmeurer_ has quit [Quit: asmeurer_]
<mva> is it any way to definitely say them that "yes, it is PaX system" and avoid that check?
<fijal> what's PaX?
<kenaan_> rlamy default 3b8c612bb506 /pypy/module/cpyext/test/test_methodobject.py: Test an obscure difference between C-defined and Python-defined functions
<ronan> mva: there's a PR to fix this: https://bitbucket.org/pypy/pypy/pull-requests/581
antocuni has quit [Ping timeout: 240 seconds]
<mva> ronan: thanks!
mattip has joined #pypy
marky1991 has quit [Read error: Connection reset by peer]
marky1991 has joined #pypy
<mva> fijal: kernel patchset, that kinda "protects" from 0-day exploits
<mva> (when DoS is acceptable and better than, say successful buffer overflow attack)
marky1991 has quit [Ping timeout: 248 seconds]
<nanonyme> njs, incorrect. Hope you aren't shipping any programs with that assumption
<nanonyme> njs, Microsoft is *not* shipping the C Runtime with the OS. They're shipping a loader library called UCRT instead. It doesn't do anything unless you actually ship C Runtime
<nanonyme> The only thing that's changed is Windows now has *part* of C Runtime included that you're *not* supposed to ship so situation is *worse* than before
raynold has joined #pypy
<nanonyme> Staticly linking has the benefit that you're then not at Microsoft's mercy for shipping the MSU that gives UCRT nor are you forced to push content down Windows Update system yourself
<tos9> Anyone here on OSX mind double checking something
<tos9> virtualenv -p pypy venv && venv/bin/pypy -m pip install pyopenssl && venv/bin/pypy -c 'import OpenSSL.SSL; OpenSSL.SSL.Connection(OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD), None)'; rm -rf venv
<tos9> ^ does this error out for you
<tos9> on...
<tos9> looks like I'm on OpenSSL 1.0.2m
<tos9> Actually I should test on CPython to confirm it's only PyPy... I just assumed it was otherwise everyone'd be complaining.
Rhy0lite has quit [Quit: Leaving]
<tos9> Yeah works fine on CPython.
<Alex_Gaynor> how does it error out?
<tos9> Alex_Gaynor: (I just moved to #cryptography-dev, might be better in there?)
<tos9> Alex_Gaynor: But, with one of the opaque OpenSSL errors with no detail
<Alex_Gaynor> sure, we can go there
marky1991 has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
drolando has joined #pypy
exarkun has quit [Ping timeout: 248 seconds]
tbodt has joined #pypy
exarkun has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drolando has joined #pypy
marky1991 has quit [Ping timeout: 248 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tav has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
<kenaan_> rlamy default a305590465d6 /: Implement cpyext.is_cpyext_function() inspect.isbuiltin() now returns True for functions implemented in C, like on...
<nanonyme> Is that good or bad?
<ronan> that's one less obscure difference with CPython
<ronan> though I wonder if this breaks any people's workarounds...
<nanonyme> Does it now return True for all third-party CFFI modules as well?
<ronan> oh, good point, I didn't check
<ronan> AFAICT, the answer is no
<nanonyme> Okay. I was just a bit concerned after reading before you guys had ssl through CFFI module
adamholm_ has quit [Remote host closed the connection]
<mattip> this started failing "np.array(['100']).astype(int)"
<mattip> since on cpython PyStringArrType_Type.tp_as_number.tp_int is NULL but we fill it from gentype_int
exarkun has quit [Ping timeout: 240 seconds]
exarkun has joined #pypy
<mattip> it feels like I keep fixing this and it keeps breaking somehow
adamholmberg has joined #pypy
mattip has left #pypy ["bye"]
<kenaan_> rlamy py3.5 19326fb34a67 /: hg merge default
<kenaan_> rlamy py3.5 06fb68203b17 /lib-python/3/inspect.py: Return True from inspect.isbuiltin() for functions implemented in C
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6365 [ronan: force build, py3.5]
yuyichao has quit [Ping timeout: 248 seconds]
yuyichao has joined #pypy
<kenaan_> rlamy py3.5 fc81c46b1987 /lib-python/3/test/test_inspect.py: Skip (parts of) tests that require _pickle
cfbolz_ has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6365 [ronan: force build, py3.5]
jeroud_ has joined #pypy
idnar_ has joined #pypy
mwhudson_ has joined #pypy
jerith_ has joined #pypy
igitoor_ has joined #pypy
slacky__ has joined #pypy
cfbolz has quit [Ping timeout: 255 seconds]
untitaker has quit [Ping timeout: 255 seconds]
jerith has quit [Ping timeout: 255 seconds]
kirma has quit [Ping timeout: 255 seconds]
agronholm has quit [Ping timeout: 255 seconds]
igitoor has quit [Ping timeout: 255 seconds]
jeroud has quit [Ping timeout: 255 seconds]
idnar has quit [Ping timeout: 255 seconds]
bendlas has quit [Ping timeout: 255 seconds]
_habnabit has quit [Ping timeout: 255 seconds]
infinite has quit [Ping timeout: 255 seconds]
lapinot has quit [Ping timeout: 255 seconds]
ctismer has quit [Ping timeout: 255 seconds]
njs has quit [Ping timeout: 255 seconds]
mwhudson has quit [Ping timeout: 255 seconds]
_infinite_ has joined #pypy
cfbolz_ is now known as cfbolz
idnar_ is now known as idnar
jeroud_ is now known as jeroud
njs has joined #pypy
lapinot has joined #pypy
ctismer has joined #pypy
agronholm has joined #pypy
_habnabit has joined #pypy
slackyyy has quit [Ping timeout: 240 seconds]
danieljabailey has quit [Ping timeout: 260 seconds]
tos9 has quit [Ping timeout: 260 seconds]
danieljabailey has joined #pypy
tos9 has joined #pypy
yuvipanda has quit [Ping timeout: 250 seconds]
abvi[m]1 has quit [Ping timeout: 246 seconds]
pulkitg has quit [Ping timeout: 246 seconds]
igitoor_ has quit [Changing host]
igitoor_ has joined #pypy
slacky__ has quit [Read error: Connection reset by peer]
slacky__ has joined #pypy
pulkitg has joined #pypy
yuyichao has quit [Ping timeout: 248 seconds]
pilne has joined #pypy
tormoz has quit [Quit: No Ping reply in 180 seconds.]
tormoz has joined #pypy
yuyichao has joined #pypy
abvi[m] has joined #pypy
yuvipanda has joined #pypy
bendlas has joined #pypy
<kenaan_> arigo default 27b914ed1ea1 /rpython/config/support.py: Merged in tpruzina/pypy (pull request #581) fix detect_pax behavior on linux if procfs is mounted with hidepid>=1 ...
<kenaan_> Tomáš Pružina default 368d2eef1229 /rpython/config/support.py: fix detect_pax behavior on linux where procfs is mounted with hidepid>=1 PID1 (init) isn't observable on s...
jcea has joined #pypy
slacky__ has quit [Ping timeout: 248 seconds]
traverseda has quit [Ping timeout: 248 seconds]
antocuni has joined #pypy
tormoz has quit [Remote host closed the connection]
tormoz has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]
traverseda has joined #pypy
untitaker has joined #pypy