<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    One of the most conservative distributions is Debian.<br>
    <br>
    The python_defaults package has moved to 2.7.3 in Sid and
    2.7.3~rc2-1 in Wheezy (Debian 7.0 now on its 4th beta and soon to be
    release candidate status). <br>
    <br>
    I personally run Sid/Unstable in order to get general release builds
    of LLVM/Clang > 2.9, never mind 3.2. <br>
    <br>
    It seems reasonable to target 2.7.3 as the oldest python release.<br>
    <br>
    - Marc J. Driftmeyer<br>
    <br>
    <div class="moz-cite-prefix">On 12/01/2012 12:57 PM, Gregory Szorc
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAKQoGan4iZBHNY5_x4-iCVexPoBQAN6jSZssuG954aOYXk6ogA@mail.gmail.com"
      type="cite">I'd like to continue the discussion about minimum
      Python versions from the "Use multiprocessing instead of
      threading" thread in its own thread because I feel it warrants
      additional discussion.<br>
      <br>
      In that thread, we were discussing maintaining support for Python
      2.4 and 2.5. The latest response is:<br>
      <br>
      On Fri, Nov 30, 2012 at 1:40 PM, Daniel Dunbar <span dir="ltr"><<a
          moz-do-not-send="true" href="mailto:daniel@zuster.org"
          target="_blank">daniel@zuster.org</a>></span> wrote:<br>
      <blockquote class="gmail_quote" style="margin:0px 0px 0px
        0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
        My official opinion on Python version support is to maintain old
        compatibility, unless it is causing large problems with the
        code.<br>
      </blockquote>
      <br>
      I would like to offer a counter opinion.<br>
      <br>
      I believe LLVM should drop support for Python 2.4 and 2.5 for 2
      main reasons:<br>
      <br>
      1) Python 2.4 and 2.5 are end-of-lifed<br>
      2) Python 3 is coming<br>
      <br>
      IMO, #1 should be reason enough. Let me explain #2.<br>
      <br>
      All the Python in the tree will need to eventually support Python
      3. "Modern" Linux distributions like Ubuntu are already shipping
      Python 3 as /usr/bin/python (while still offering 2.7 because the
      overwhelming amount of Python in the wild doesn't yet work on
      Python 3).<br>
      <br>
      The road to Python 3 for LLVM will likely come via Python code
      that works under both 2.x and 3.x (I'm assuming nobody wants a
      flag day). From my personal experience, I can unequivocally say
      that writing Python that works on both major versions is much
      easier the closer the Python 2 release is to 3. In other words,
      It's much easier to dually support Python 2.7 and 3.x than it is
      2.5 and 3.x. I feel the level of pain is pretty bad until you get
      to Python 2.6. Even then, there are dozens of small bugs in Python
      2.6 and even earlier releases of Python 2.7 until 2.7.3 that make
      dual support difficult (especially in the area of Unicode
      handling).<br>
      <br>
      For these reasons, I urge LLVM to drop support for Python older
      than 2.6. I would encourage requiring 2.7 (preferably the latest
      available release - 2.7.3 at this time) at the earliest
      convenience, but I'm not explicitly asking for it. While continued
      support for older Pythons is a noble goal and may continue to
      support people clinging to ancient Python releases, this will only
      make the path forward more difficult, as it puts an additional
      burden on those maintaining Python in the tree.<br>
      <br>
      FWIW, I've been pushing this same argument at Mozilla for the
      Firefox tree [1], where so far it has been winning. We dropped
      Python 2.5 about 6 weeks ago and IIRC the only issue was we forgot
      to update one set of builders before we made the change. We have
      loosely agreed that we want to move everything to Python 2.7 (then
      2.7/3.x and then eventually 3.x) and will be discussing this
      change in the days ahead. While I'm sure LLVM supports some more
      esoteric platforms than Firefox, I believe the data point is still
      relevant and LLVM could make a similar transition without a major
      headache.<br>
      <br>
      [1] <a moz-do-not-send="true"
href="https://groups.google.com/d/topic/mozilla.dev.platform/djN02O03APc/discussion">https://groups.google.com/d/topic/mozilla.dev.platform/djN02O03APc/discussion</a><br>
      <br>
      Gregory<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      Marc J. Driftmeyer<br>
      Email :: <a href="mailto:mjd@reanimality.com">mjd@reanimality.com</a><br>
      Web :: <a href="http://www.reanimality.com">http://www.reanimality.com</a><br>
      Cell :: (509) 435-5212
    </div>
  </body>
</html>