Anonymous avatar Anonymous committed be75a86

[svn r3592] fix Jython's special __classpath__ sys.path entry taking precedent over the
virtualenv's libs

Comments (0)

Files changed (3)

 * Fixed a small Bashism in the ``bin/activate`` shell script.
 * Added ``__future__`` to the list of required modules, for Python
   2.3.  You'll still need to backport your own ``subprocess`` module.
+* Fixed the ``__classpath__`` entry in Jython's ``sys.path`` taking
+  precedent over virtualenv's libs.
 
 1.2
 ~~~

support-files/site.py

     else:
         return known_paths
 
+def fixclasspath():
+    """Adjust the special classpath sys.path entry for Jython. The classpath
+    must follow the virtualenv libs
+    """
+    classpath = '__classpath__'
+    if classpath in sys.path:
+        sys.path.remove(classpath)
+        sys.path.append(classpath)
+
 def main():
     virtual_install_main_packages()
     abs__file__()
         addbuilddir()
     paths_in_sys = addsitepackages(paths_in_sys)
     paths_in_sys = virtual_addsitepackages(paths_in_sys)
+    if sys.platform[:4] == 'java':
+        fixclasspath()
     if sys.platform == 'os2emx':
         setBEGINLIBPATH()
     setquit()
 
 ##file site.py
 SITE_PY = """
-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
-PsjP+MofdihQ3fE9L3qtjixwaTTIYBL8P2RhDrE=
+eJytPG1z2zbS3/krUGU6lFyJTpNe58ap+0yauFffOHGfpp3LnJPRUSRkMaYIliAt627uv9++ACD4
+Itu5q6YTycRisdj3XYCdTCYvy1IWqdiqtMml0DKuko0o43qjxVpVot5kVboo46rew9PkJr6WWtRK
+6L2OECoKgqP/8RMciV83mbYkwK+4qdU2rrMkzvO9yLalqmqZirSpsuJaZEVWZ3Ge/RMgVBGJo/+d
+guC8ELDzPJOVuJWVBrxaqLX4eV9vVCGmTYl7/jr6U/x8Nhc6qbKyBoDK0Awc2cR1UEiZApkA2Whg
+ZVbLhS5lkq2zxAHuVJOnoszjRIp//IO3RqBhGGi1lbuNrKQogBjAKQFXiXTAz6wSiUplJMQPMolx
+AX7eMitgbHOUmUY2FkrkqriGPRUykVrH1V5MV01NiIhkkSqgKQMK6izPg52qbvQMREry2MEjEbN6
+dDfD6gH7xPWHmgM0XhbBb0V2N2fcoD2Irt6w2lRynd2JGNHCn/JOJkvzbJqtRZqt18CDop4hSMAE
+aJFnq+OSxPGdkdD3x0SV08oY1pBIMgPzIM2IgstCKCC2Qs7XoNdbLabbOCtAvd7ECdHyt6xI1U7P
+iGbgrxafGl17FAfTEZIB2iN5LpC9lv9NkWc3Mt/PgCG/bmRQSd3kNapwmlUyqVWVSU0IgLS9kHeZ
+BgwxyJ83zbpkLW3O7Mi1AgtAUaBJoIniIIi0WGfXTUU2IdYZ6BrI8cfLX8Trsx/OX741WmGRsZVd
+b4FmwEKi8WiCBcRxo6vjXIEJRsEFfok4TdEsrnF9oKsFOH5QNsEU9l5G/TmeiIDtr+Uqiwu7DOyx
+BvOntQKa9y+YMtcb4M+/718NNv7yEFdo4/xrt1FgRUW8lWITa9Jl1IzgO4Pn+6isNy9AGzTiqYFV
+moWTphniA5b4PJuqQooSVCzPCjkLgEMrgu1KEVThrSoWJOueJgCGKihg0Hs2oxULCRsd4nqBFm6B
+97QzAxI4OW9VRaYO+l8k5D3yuLghGjWpPf9ayeusKJAg1IUgfBLSwvomA01MI3FBUGTJFkiE7G8Y
+Ek2iAV1CpQOdlHfxtswl+MqmLJHNDxg+LSZrYWWds8YBZE0OkaTWbnVU955Fz3taR2TWm0oC8mbV
+Mbq1UmCs4GWJmjLeznm1nSLNCUbsiSahThAkzMXfwNGXWjdb6QZRV8CzkEIFa5XnagcsOwkCIZ4g
+kA2jXeWEURiDfwEv/pvLOtkEgbeSQ2xQIfGHUCEScOKyMFptiOhom1HlvpPJCvYUqkplRUs9jtnH
+TPgjgXGvwVtVmzDE20Upq21Wo0tamSCXcYwqwpr94wveN2wDYq0mnlnQlk9b3F5ebuKVtEnESq7R
+EoyQXjixw5rByJoUPWuB/hE4CmPAFplxBBl3LOh01rWksA042PjiIiubnIA0KpiIYaFtSfi3MQZh
+ZdIbUG8OpAE6JA64CcQfoO2fYEa7TQb8SQADeBj0UiC+VVZXGNJbfxR0w7Sdz+uDpp6vTWziJddx
+lpu4HBfBOT08qyoy30SWOGtumKFhh0WNydh1AXxEM59MJkFgE5i9tj+V+7VcrpoM491yGdTV/gS0
+Q6CRB4xdvIWN0nI8sq7UFocdee/AH4BfxhlBKtfAsBuJbJ0eUf4x42mg0uIUVmXv+kllhR2nYYrO
+AHEqwuUyyWOtcXC5DJ0bshnB1ck3HwnuU3wbh4wcP5Wsm6pALHP8Z2TReEVIp/CUF/WnWCBg2zaJ
+tWQo2hDMWy5Rd5bLqdkNMJW2DYGP1SEUFgR1p8ogvyCtQV1aaZXjn4gfpUFcxKQUtRW3ZpLO6DbO
+G6ntGgQG5F/LGlFOwfWFdpFwjuFJzhwg8G+NCoBP2+n4QXeUFY10D7eRI3XIm7XZcyW36lamEBVQ
+Rt62xS80Akl+mYPNwrZA4chRsWLYgBZjSstKCwqBTg0MbktYLEMsL55wXSEL3VQmRyd/aAoIttGy
+UrcZesHV3gyCEYN/QVO2HtdgU5gudriOtgqGDeG5QE7tZAg+pmo4khLdiBLNIG2jV0ToLoBJVx/p
+502hdsWSk+pT1PfpzMkSNc1IEwFaETwRP4JxAZEKMs6WaYwFchGByrYA4mH7sF3gLCU9gAg8ELpH
+rTxcNgelLXI6i8sijtkLQdpcSXRkt3YJygEtMzxMNBq5B9ZsEBNsztmwsxWjZOhtLRgs7LGkq3UX
+EefGXQQ9LkbgEqcGGwNZ/l2dgI2LC99KvXlB8ES8f/+e1UZvqFRDwla4afRta/LLUbmHxCaDfMqG
+Ci78SA2ggCsATaONaorFO6FKDhMgT64owRe/g6RkU9flyfHxbreLTKGiqutjvT7+05+//fbPT9lJ
+pCnpD2zHsxZTtUfHNIahNvrOOrLvreR6+pgVXW0kXFNJ4YJiJNL3lyZLlThZzJxDQS1OIfI2UCLq
+CP+1DhocyNIuylwG3k5air7Uiy+j53oivhRTH3aKNTQIxGTvMze348XtH0ApmtnUiXDx9UdE0BWs
+VQtt/MwSjZykmhVr5XHuF5Z6TOmmMXDkDrrcQVa+H3dCljfp483VBUBP5+0OM43CRYXugjzafhzw
+UPHxY+Ltr/vSj7f20/HjNnIFVvdMxjZFvSdaUBZz32g8pUxT4Gshd+xZwT/4ng38K2RmK+a2QUdB
+OESUoaC0g4oIFqyBAD71egi27rBSAAh/nUGw6quCF9lRB07F1/RE5lqeDMaesmibPKdCsaejHa4w
+4o6gMcwq0MupRTAXk+q3CUMasZxf9oTCMhhBpri2RAVbD5QJRyJmE3JpOnkyGVGnQdA+NJt5PIYC
+hUTwj0NOFJ/yApUGYyqnXcU9pOGOt1xP9wg+HC9Ip6yUyKL1Advq+45Rm7o3rKyzAj2nJ6MoyaHc
+nbrkk/SoHe+GetTTg6HIGKBhQ8sOD+iUcrWO/YUGDqvy6wbrF7+8Q4q2mabYhGzawD+QFFDZRDUu
+8JKwOTSPNbLuxv4Ak3P7NT8OqIdjNCqED3ooiRgEDIPHjj8RyEZT5IERFMDCoS1S4sfeIAcN8wTU
+sW0YlgeNm3BEGszMCyDkZYB2Gmyn4QbhSYStUDJQxHxXa1mKr8QExNe31Me57j9US21xP/UAKNCb
+Js9p2wOaC6/5c9prBnUVutvjpRZsqUCDV5Cw+P1DX82t0jI+EtRV1287osAhU7diMvNJ/WgZ4/eo
+vjj1IFpm2UWsQnUW6nSK7UqzwInboAaBWzQdmffXMo/9shXnTkOln8ntHVRvYZXpROlwhvH0MeWt
+swvWkiGvHPUX2WoCXx2BTGYfO5hk3icPl0zjapcVXHKbHZ92mTkgx22+E5WO31H5cgykYOvj+McK
+VJpOLY7BANB2yxJqZm3S7CHae3c6cXh5+qSTpl6dPP843P58dAn/M87Ms7u6ijXyM2e2shojP4cR
+F90kbC4u9uYUw5xLYVpeKQ1Vm7h8914gI7jBs4v3n7f1VkWRmgf31PlY0sETPciu3u5IXYAQ9GOo
+KMf/hWI+ntjP3dw9G/sMJJ+lMPcIxWJyetKfOygx7OcJkQ8VmFp9grJGm0bGbZzl8SqncLNYoIEB
+8lSummuuEcc1qIPpXiWLsPkAwe3pfDRp1ldPQUFCWjCcDRMvE0Jf2q7XSOliP2WsdU+vtLxfkyxv
+H8HwA67uHkc3XPoJefu1dVfMYC2OUBJHUKdjDKXqHLxdAVhS9mQjeDCGmH7uq6aquCtLAi1ltWiA
+43wIaX0ZnRoO0Ry/lTVS4sAS6nZ4R1ZqzCeHpn/hdhK2sWtcNhtlyyZZ3GYVzAX1mYY/Xb45C4dC
+N8vgpHF0vhxtxH28RSHez7Dd0DAn/Jw5zKHPmfLfO5ewo6F9K0KVc2V04dg2ZOygF2Fz2XEZPFCV
+dHrglDxymggp5g9nfzl/e3H+w88vf/3J68n8Cop/+e74mTh7815QawkPZLlrFmNbpsYmJkQ5/7qF
+SBX816ADS5ua4x3Men1xYdLELR7f43kO2lUEz7kD6rDNiEEcUN1D07pEinJjGd7NBur00c0HNJQt
+n9FrZc586MLECg+ZGmNz5saKvdlCNXUkxG8A7LOCUXB3GoboZK627qDi8sPc9hghKgosH3nNPCdS
++60KL/m2qRwgW6T7IldxanoS8KSdbAz2KvRpDT9GuswzMOEXoasfzDRszbUqYx666prpmo1Uft50
+WNkA8q4PUgGAQAHvzcyftYr2ewMUtgr2GvZdSGpN0ZkU9sVFiECclIbyDn460RsZaBAYVhk1CtEq
+XQa7j8GrCihta8y8NmqHCoEYepLo5jYnXlhAYNwAKsKrbbr4f8SA5EShYU937ocPhybXVb74uyjz
+RgvT2bS0hCOMHkx9LaZZJCNxdvnjrDfTO76LkDQs671HBhV+AdvpZE0sf67o+GTK6UHLf3oaJ3x8
+UCk8AbW5CFdBWVHbfnmeJWCKYLVgk3PgM9bXoP2ECjtMlA2oStvbAfCw3FfZ9abGHgBMjuhkEsHf
+vHx/cf727B3Q+ew5P6LeMLcnllMt87Uti9O4jufcBDnFBjV6SvjhuUCEjpZL0wfEr/4Q4kAFhq/+
+EHdXTnmBwTxOSvCrP8TXM0wR7u0AdLwpaQOzTsXoT+t6b6/zQGiYVlfc48fvYLeUddFQHoOnwaZR
+4e9vGC4cZM8bUcywg8M04GAquy4ND6d2st9R7X/MHtdlVMk4nY4Dwajfs+t/VjD15lByOujd+p9B
+Vopn0UDRELq7hu1uDkDNdjxlO6QtOGbd9IfCy7M8uKRA+wUmTv3JM1/JKllWxkyGdsAa2DnEGyAT
+3xlyrSWOqaSYfCgmJkh1KHHMHmTzdiIeaYgv9ZS7P5JDPfba4SE5EDp7mnqWO58dPevsEa+HPHqP
+xneBB/0JvJ9xuHTkrirQRPjxO+cePDSzbv1EhF6wK2ShXJ8TP7sNJiZfd/c4agO4VoZmV8XFtZwy
+rrnF+VWX2QfSN/K2HY25ynpdHKPdkN7cHVDwoVmM11yWsp4eDOBu5L7vjbrcQYDRewhdDFW8A+9e
+NvWUZXWwxEBwNDNqn2Hj7PfwAL8eIM/gwjD9+0jlhx9mls1NXLzqXfoI3YBJSpIKcutaU4nlhV6b
+XvjRuI2Bp20UnrinppPl/naJ22M6hJ11mCR/lc6OJwag12aZ/JUbVnTtKaMz1/bGhRlL5a3MFRSx
+kL7jifgndyI+iyZjWeMDdLWkIIM/mNwuLm4of3/1t/O5ePX2F/j3B3kJCSowZzsXfwcCxCtVQaLO
+V7tQEDGeptecgatGwyPtGrh0v5EvRf7c2QcevZhj/u75vvMXAs9Gqi3fYgcSeY903bGNlvb0G/62
+t2tmA+nblGlMKhMziGw4fOcAz+mPDWS0qbc5Ok6vLm3FeTW5OH919vbdWVTfoV7ZPyde3drt0+GO
+TKOlwqJyLtyTpMEnH2dtBvmTzMuRBNIk8Pb+AibwItwArEva+cp1LHYV1hsVJPBYhYlyn6okQkjQ
+KrrpJuodZJQzL1d/MOJ1wg3imnLt6Ke1+Bi4IT70PcAEAGmO2RPNJILiFd7d4cfRZDwmzcVRXF1r
++Dq62aXaT/b4EgZtsE9pu+tpd7pzQhvms8HnKxORduokYe+q5Vmst6vEv7J1WdhL8+BesM0DgHGT
+10IWiUqpZqLby+Bl/VtWbCesLezb6eoRVb35Lt5rrzUJBf0EV53QBcwYKl46Q4GK5U18w74Yr39B
+mU/ggJ0IpVpCeVN1k2zYjrk8GHF/5Pp2WfH8WThgMi86pxcnkjapg31iCsUUXcva7J8fTGdXX7dh
+Fc+SisQ/zAiTEiKOrylPwH2WR0dHE/F/D2cCTEqUK3UDKQrg7kY6E8IvaPhADDebc9IaZrl2JAKV
+TDbyCh5g4e09bwrq/NwzlQQi3bfFEaJsQqePFr4XE7kHQk0UC4EtHRc7fisyepkFK3WJLte8E0Tv
+WyAeq5LgG8JYJ1kWcnsU5LFXDV6Pwq6N0Rd5BxqfbelFDhjF+7Zcdm4w26KjFac9jpxTMSHEE5Df
+a7MaXbikG0ZA5/LnvSFzeV5kdXs34Kl/m++sIA3GPJZDitErEe/QMuw+eszwbtp1VLXNNtW9KtrJ
+3lVy5fdvervk4YdoB9UGS1PrtaUUHlohJUpWiQ2qKLEsyWoPjYVDPDwZ6n0TgKJghKQJeHgKDKmz
+aDf6hZOLT+kldSQXdiXThq/d605VnGHzp+gdO0RRuz76DO0Y6fTW/pjBKm+pS2jygc5a4gvTo8KD
+4c4db/+KWlOYu9vUsxXthW7AQ+8LOQfp1LHjI7zXyhx+VlqT2LdXvb1zbCxXibbbrKqbOF+aV3CW
+mLIt3em+odNdbbr30p7LWSDBVpB6LsyhLuQOtluN/IT8OLfH7FCvm3I98q8LdW/WlApzvWcdP44d
+xKecwXoeHCG/shdOHuPy7bWHwY0Bn8o5nQ2Es/7R1gAK29GhOTkaHI4fyrg/iwSL20+NH4sgBwTw
+xYlg+FXvIMI78ALAb79ZHuorD5B++819aH2n07uo1a7TK8bMBSxuJXtQAdu1zf82kGKilaT2tqsx
+Qr5ZiBZD7t/Mclea7d0RswWt8EhuE/MIKmVTnriUny9SFdSYnPpXIMkOb5YjbyTwqzXImUV9E97H
+AJ5/3+YNROB2btvVg713L0P4PDBzMRA+ngecaBlGPOr001G0/GMUcm5OUsaLevNZu9dyubZHEheG
+NESNf27jxP+Nt5UX/FZve5bmXVXwpd7b08FLvUaeI6o8kKg5u8Dn7nYaHUilRr26bvme61YzJxxM
+unukPNpRF2pxnatVnC+6r1Wy0x6URZ9z/cuT9lhJf+iGGYC7d3f8W/ApvaJLSSLfYhcOrL3ziFe4
++XL7X83lezzdc4CEjM4K+T05Qmd4LYtbdH3alYr43S4xeKnIcr8FGb0M7qTMb8NMHfhsCGJ0xAMx
+L0OBEA0nHojXBNN51yhwKghzlrAUNs56L+bYraCmcAcfEioIptndpH11KuaXIR3VVqtWkOkPL+0T
+ijd8hOvfV+y84jBGW1/D/OHRCYdMZTjxkRG5q4AHPaC5huf3kXtn3oF5ygeU9i+vJWgf2QKdpddW
+33a8LZhMZjfIJ42TN+9VHUhbZ+7sGa+OaCx50HW4ikcaLC6vjuklx/7/g4FMqpZkRHSrEeSfSO/d
+GHothlHV3f/ZQwXZboydG3bAc/caJsFxdafd+8XYvUlkZCWwiTW9wwa7w/s6g/35apbK/AAXgoDN
+ybw6gvuwtsXN8onTdghh7Yt2B9/2MLPw55fVnA4h8MRr5qP8iK9PYrcHDQXfmSNvQra7NBpkKAn+
+A2n5eOU=
 """.decode("base64").decode("zlib")
 
 ##file ez_setup.py
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.