<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Another example for the sake of documentation:<br>
    <br>
<a class="moz-txt-link-freetext" href="https://github.com/tornadoweb/tornado/issues/1383#issuecomment-84098055">https://github.com/tornadoweb/tornado/issues/1383#issuecomment-84098055</a><br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 07.09.2015 07:39, Nathaniel Smith
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAPJVwBmMm0tLmMHDUcAoVYVAxeovKDCyZXPcEpFOoyy_EY2cGg@mail.gmail.com"
      type="cite">
      <p dir="ltr">On Sep 6, 2015 10:28 PM, "Andrew Barnert via
        Python-ideas" <<a moz-do-not-send="true"
          href="mailto:python-ideas@python.org">python-ideas@python.org</a>>
        wrote:<br>
        ><br>
        > On Sep 6, 2015, at 21:20, Donald Stufft <<a
          moz-do-not-send="true" href="mailto:donald@stufft.io">donald@stufft.io</a>>
        wrote:<br>
        > ><br>
        > > Let's take lxml for<br>
        > > example which binds against libxml2. It needs built on
        Windows, it needs built<br>
        > > on OSX, it needs built on various Linux distributions
        in order to cover the<br>
        > > spread of just the common cases.<br>
        ><br>
        > IIRC, Apple included ancient versions (even at the time) of
        libxml2 up to around 10.7, and at one point they even included
        one of the broken 2.7.x versions. So a build farm building for
        10.6+ (which I think is what <a moz-do-not-send="true"
          href="http://python.org">python.org</a> builds still target?)
        is going to build against an ancient libxml2, meaning some
        features of lxml2 will be disabled, and others may even be
        broken. Even if I'm remembering wrong about Apple, I'm sure
        there are linux distros with similar issues.<br>
        ><br>
        > Fortunately, lxml has a built-in option (triggered by an
        env variable) for dealing with this, by downloading the source,
        building a local copy of the libs, and statically linking them
        into lxml, but that means you need some way for a package to
        specify env variables to be set on the build server. And can you
        expect most libraries with similar issues to do the same?</p>
      <p dir="ltr">Yes, you can! :-)</p>
      <p dir="ltr">I mean, not everyone will necessarily use it, but
        adding code like</p>
      <p dir="ltr">if "PYPI_BUILD_SERVER" in os.environ:<br>
            do_static_link = True</p>
      <p dir="ltr">to your setup.py is *wayyyy* easier than buying an OS
        X machine and maintaining it and doing manual builds at every
        release. Or finding a volunteer who has an OS X box and nagging
        them at every release and dealing with trust hassles.</p>
      <p dir="ltr">And there are a lot of packages out there that just
        have some cython files in them for speedups with no external
        dependencies, or whatever. A build farm wouldn't have to be
        perfect to be extremely useful.</p>
      <p dir="ltr">-n</p>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Python-ideas mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-ideas@python.org">Python-ideas@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/python-ideas">https://mail.python.org/mailman/listinfo/python-ideas</a>
Code of Conduct: <a class="moz-txt-link-freetext" href="http://python.org/psf/codeofconduct/">http://python.org/psf/codeofconduct/</a></pre>
    </blockquote>
    <br>
  </body>
</html>