[01:17:29] <tdsmith> During build_ext, it looks like a user-specified CFLAGS replaces the sysconfig CFLAGS but a user-specified LDFLAGS is inserted after the sysconfig LDFLAGS, which means the sysconfig include search path but not the sysconfig library search path can be overridden at extension build time: https://github.com/Homebrew/homebrew/issues/40516#issuecomment-110960510
[01:17:57] <tdsmith> Does that feel like a distutils bug?
[01:48:08] <dstufft> tdsmith: um, I don't know the compiling stuff very well, but different behaviors like that always makes me feel like one or the other should be fixed
[01:55:56] <tdsmith> okay, i'll file if i can't find a bug, thanks!
[02:03:34] <tdsmith> hmm, is it the case that virtualenv ignores a global distutils.cfg but respects ~/.pydistutils.cfg?
[02:44:49] <tdsmith> ah boo, the LDFLAGS thing is because LDFLAGS gets embedded in LDSHARED
[07:58:59] <ronny> dstufft: i'd like to move setuptools_scm from bb to github, can someone add me to pypa on gh?
[14:55:14] <HenryG> I am seeing some caching issue with pip when building a tox py34 environment after a py27 env.
[14:57:04] <HenryG> In my particular example, the routes package. It gets installed in the py27 env just fine. Then when I build the py34 env, routes gets installed in its "python 2" form.
[14:58:19] <HenryG> Apparently routes has some hook that converts itself to py3k form if the interpreter is py3k. But with routes in the cache this conversion does not happen.
[14:59:13] <HenryG> If I run "pip --no-cache-dir install routes" in the py34 env then it installs correctly.
[15:02:02] <Wooble> ugh, people are still automatically running 2to3? :/
[15:03:14] <dstufft> 2to3 shouldn't cause problems unless routes claims to be universal
[16:07:20] <a-tal> heh, yeah that's not actually universal when you have a bunch of py3 hooks in your setup.py. i bet if you reverse the order in tox it'll work too tho
[16:07:40] <dstufft> HenryG: are you familar with the distinction between like a source deb and a binary deb? or a source rpm and a binary rpm?
[16:08:35] <Wooble> I'm sure "add a universal wheel" sounded like a good idea at the time. :/
[16:09:34] <dstufft> the routes library has a build step that transforms the source differently for python2 or python3
[16:10:05] <dstufft> but that line I linked, is it saying "there is no difference between python2 and python3 on this library, so you can use the same binary wheel for both"
[16:10:33] <dstufft> so pip downloads the sdist from PyPI, and it turns it into a wheel, and because it has that line, it says "OK, this wheel is good for both Py2 and Py3"
[16:22:16] <Wooble> Glad my test suite doesn't take that long to run; I'd never get anything done! :)
[16:26:55] <HenryG> dstufft: a-tal: Wooble: Thanks for the help here! When the next version of routes is released we can set that as the min version in openstack requirements.
[19:24:48] <tos9> Hi, today's fun -- why is pip lying to me
[19:27:49] <dstufft> tos9: well, fastly itself is purged instantly (though that can fail sometimes, we don't handle that case very well yet), but locally pip will cache /simple/faf/ for 10 minutes
[19:28:16] <dstufft> passing --no-cache-dir makes me think it might be that
[19:28:22] <dstufft> since that would disable that
[19:29:14] <dstufft> I've considered setting it so we don't cache /simple/*/ pages locally for reasons similar to this (also because it adds churn in the cache which can matter on things like travis)
[19:29:32] <dstufft> and because we only really cache it for 10 minutes anyways, so the benefit isn't huge
[19:29:48] <tos9> dstufft: YEah. I mean at very least saying " Getting page https://pypi.python.org/simple/faf/" with nothing more when I passed -v certainly is confusing :/
[19:30:25] <dstufft> tos9: can you open an issue to add an indicator that we're serving from the cache on that
[19:30:36] <dstufft> we indicate when we're serving from cache from files, we should do it there too
[19:47:35] <dstufft> elarson: I was meaning to open anothe rissue... I think there's a problem with detecting success vs detecting an interupted download
[19:47:50] <dstufft> https://twitter.com/zzzeek/status/608633827909640192 see
[19:54:33] <elarson> dstufft: I can see how that would be difficult to sort out if the file handle just stops and no error is thrown
[19:55:15] <dstufft> elarson: I don't know if there's a better way to handle this than there is right now so ymmv
[19:56:03] <dstufft> One poossible option if it can't really be done, is to provide a way on the response to delete the cached response, so the caller can make the call to evict a response from the cache if we determine it wasn't satisfactory
[19:57:03] <elarson> like: if resp.from_cache and response_failed(resp): resp.evict()