mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-13 05:43:53 -05:00
Compare commits
709 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c452da8084 | ||
|
|
e6090f00f3 | ||
|
|
6868d3053a | ||
|
|
10d3123caa | ||
|
|
2d16c638e9 | ||
|
|
3ae068b492 | ||
|
|
824f7e6b21 | ||
|
|
5d247793e6 | ||
|
|
ed700c0185 | ||
|
|
193e64b6b2 | ||
|
|
5ba585769b | ||
|
|
5540e235ab | ||
|
|
c9268bb0dc | ||
|
|
5ddc14704c | ||
|
|
5fcb4cf0bf | ||
|
|
0f288f2462 | ||
|
|
0c81c97926 | ||
|
|
5ff089de9c | ||
|
|
459725df3c | ||
|
|
ec3b7d815d | ||
|
|
afe86aef52 | ||
|
|
461ae27a19 | ||
|
|
c0f691fc57 | ||
|
|
ffc899475a | ||
|
|
57d1c9d6be | ||
|
|
9d488c9760 | ||
|
|
3db1ac13d2 | ||
|
|
880fa46156 | ||
|
|
24ad375a35 | ||
|
|
7f32e96c28 | ||
|
|
294738842c | ||
|
|
ce671398f8 | ||
|
|
a3bea25ddc | ||
|
|
1a66a9141b | ||
|
|
78c1d7186d | ||
|
|
9b60d73ec8 | ||
|
|
8a9d2557a0 | ||
|
|
2a79db00b0 | ||
|
|
3e7839c5b7 | ||
|
|
36c5cbf74f | ||
|
|
608ad6f9d0 | ||
|
|
7a6eb38a36 | ||
|
|
cd40335ba4 | ||
|
|
26450fd0ab | ||
|
|
22ecefd572 | ||
|
|
abae52ae20 | ||
|
|
114063495f | ||
|
|
7b797c3797 | ||
|
|
8e276a009e | ||
|
|
4198280142 | ||
|
|
5cb9c9af2e | ||
|
|
d6230578ec | ||
|
|
62bf3d9b61 | ||
|
|
55e6e7143a | ||
|
|
1e78acb701 | ||
|
|
648afe05a9 | ||
|
|
9aee57d965 | ||
|
|
ed684c239c | ||
|
|
fe934642c5 | ||
|
|
7c4c1757f7 | ||
|
|
1b066598ce | ||
|
|
cc94ad39f1 | ||
|
|
c754efc44b | ||
|
|
46ffb0c8df | ||
|
|
70cce28ba3 | ||
|
|
9156191168 | ||
|
|
5402ce423b | ||
|
|
2ea2e7558d | ||
|
|
9d8da866f1 | ||
|
|
70fa356585 | ||
|
|
31fb290de2 | ||
|
|
e285f2e5b1 | ||
|
|
1d31529b46 | ||
|
|
6f40dae3d7 | ||
|
|
d2794f54e5 | ||
|
|
bc03106cee | ||
|
|
bf93b90282 | ||
|
|
7b8bd11416 | ||
|
|
f623231734 | ||
|
|
481198d255 | ||
|
|
50d5de4731 | ||
|
|
15977c852d | ||
|
|
10d5d9a24f | ||
|
|
be037932ca | ||
|
|
af95960960 | ||
|
|
17c153b1c1 | ||
|
|
065f5578b1 | ||
|
|
71c9ff565b | ||
|
|
88270e83e8 | ||
|
|
b09681c9fb | ||
|
|
80eef69c9a | ||
|
|
bc025641c2 | ||
|
|
5dc3ee95fd | ||
|
|
4903223f23 | ||
|
|
1aea75055a | ||
|
|
f30085eaf4 | ||
|
|
43d311ef58 | ||
|
|
239f4a6b51 | ||
|
|
1463968a3f | ||
|
|
97c6a4c932 | ||
|
|
5131ef521b | ||
|
|
1d7ce651b0 | ||
|
|
c335f96eac | ||
|
|
f0eeac63a3 | ||
|
|
4ebe18a273 | ||
|
|
ab2aa6d13b | ||
|
|
431761d125 | ||
|
|
e6e858c33b | ||
|
|
e9aa6cf649 | ||
|
|
4e30b1a5e1 | ||
|
|
2beef3c455 | ||
|
|
797975b742 | ||
|
|
527334b401 | ||
|
|
292813eca3 | ||
|
|
d935a2a994 | ||
|
|
d9a7117c3b | ||
|
|
6596657004 | ||
|
|
f48a5b11d7 | ||
|
|
4d72eefffc | ||
|
|
b6ac87c220 | ||
|
|
6b908bf39f | ||
|
|
f87d8762eb | ||
|
|
c54fa3731f | ||
|
|
efe461d2b4 | ||
|
|
4540967250 | ||
|
|
d14357f64c | ||
|
|
d6e1de3e2f | ||
|
|
063717e6b5 | ||
|
|
4d0c289287 | ||
|
|
52bb0dcfcf | ||
|
|
5a05788e61 | ||
|
|
48335302d9 | ||
|
|
98953c2e14 | ||
|
|
9ae8ba8a29 | ||
|
|
1a7f49d2f0 | ||
|
|
70c6d3f67e | ||
|
|
9146f44db1 | ||
|
|
b9ae43a9df | ||
|
|
f6a77549eb | ||
|
|
cbd246acff | ||
|
|
9d21169ee0 | ||
|
|
7bceb85067 | ||
|
|
eeb69b1b79 | ||
|
|
b155380a06 | ||
|
|
cd60df52af | ||
|
|
6820704c91 | ||
|
|
8abefe1fcb | ||
|
|
b22fcd9759 | ||
|
|
45df273592 | ||
|
|
dbd50e7bd9 | ||
|
|
1c0a5d8264 | ||
|
|
7c7cca8a26 | ||
|
|
123b3af1a0 | ||
|
|
ba9c01ce77 | ||
|
|
7535efe031 | ||
|
|
995da2df89 | ||
|
|
f28b3ee123 | ||
|
|
97b957d5d5 | ||
|
|
fe2412c95d | ||
|
|
5114600c4d | ||
|
|
96d3bd6379 | ||
|
|
e8433cfeb3 | ||
|
|
7f88eabd0b | ||
|
|
d320d74a07 | ||
|
|
fc49f7e21e | ||
|
|
be4f5992d6 | ||
|
|
25a48694be | ||
|
|
9b7b2a6b40 | ||
|
|
f59729359a | ||
|
|
93ac0632c7 | ||
|
|
7a21cf9c10 | ||
|
|
720dee76af | ||
|
|
db6a41c90f | ||
|
|
bfddc69120 | ||
|
|
acce3744e7 | ||
|
|
5ca423c9f3 | ||
|
|
f0e852553a | ||
|
|
fc8597ca38 | ||
|
|
e7a68ad467 | ||
|
|
0fd1eaaeb5 | ||
|
|
b986f8f93f | ||
|
|
60e1abe7fa | ||
|
|
afcf4f0c7c | ||
|
|
c0aff27842 | ||
|
|
e172eb2818 | ||
|
|
3a5c2cabb1 | ||
|
|
871ec77795 | ||
|
|
8761ae8f7c | ||
|
|
3d401ebcd2 | ||
|
|
268f965421 | ||
|
|
ff0f8a140b | ||
|
|
6c2d234e55 | ||
|
|
c6dd3b9468 | ||
|
|
8fee82e456 | ||
|
|
7220044b49 | ||
|
|
a797bb6d88 | ||
|
|
665f9d9466 | ||
|
|
cb260fb9d0 | ||
|
|
4f0439cd12 | ||
|
|
2e387816f1 | ||
|
|
ee4182321e | ||
|
|
661a2b29d3 | ||
|
|
8c503c6e75 | ||
|
|
743a637b59 | ||
|
|
7fe78245d8 | ||
|
|
96c0362b53 | ||
|
|
2dae281201 | ||
|
|
4a52bfaff9 | ||
|
|
b26b83a11f | ||
|
|
35aed218cf | ||
|
|
38ab616344 | ||
|
|
7e0e85bdda | ||
|
|
d1a0398fdb | ||
|
|
67f429c41d | ||
|
|
632263568e | ||
|
|
bf39d88d11 | ||
|
|
720870011b | ||
|
|
b2ac5df98d | ||
|
|
d9e772eb6e | ||
|
|
eef8ac2701 | ||
|
|
45b45bcf25 | ||
|
|
ded98e11de | ||
|
|
dc1b5a197f | ||
|
|
07d675350f | ||
|
|
79507fbadf | ||
|
|
de5c61cd59 | ||
|
|
39cde6fc95 | ||
|
|
1381c2ca79 | ||
|
|
89d4e8a0e0 | ||
|
|
a8df5d587c | ||
|
|
e2173df4aa | ||
|
|
e851250da6 | ||
|
|
8e657374a1 | ||
|
|
77bd5bc6c9 | ||
|
|
e82f943174 | ||
|
|
bbf8cb4a95 | ||
|
|
a1df551bcf | ||
|
|
c69d9a1128 | ||
|
|
f4652fbbf0 | ||
|
|
3ee395f9b5 | ||
|
|
e4cbf04592 | ||
|
|
6bb7f07d2d | ||
|
|
51bd975820 | ||
|
|
294cff3fd4 | ||
|
|
a6e0785b84 | ||
|
|
302b317b89 | ||
|
|
8facb3b3a7 | ||
|
|
b5622bee3a | ||
|
|
3f74da0e73 | ||
|
|
68b92a7f5d | ||
|
|
8bac958994 | ||
|
|
5287e2ebf4 | ||
|
|
284588f9b4 | ||
|
|
16c7eb4135 | ||
|
|
9bcef4b875 | ||
|
|
f237a11f4f | ||
|
|
fc41c87395 | ||
|
|
6e02ad2fe4 | ||
|
|
58e24a64a2 | ||
|
|
77d9e34a49 | ||
|
|
d7f4aa02ed | ||
|
|
42bb40a5d8 | ||
|
|
d38f00cd4a | ||
|
|
e9a6a2909c | ||
|
|
5f95ce1835 | ||
|
|
ff995b6654 | ||
|
|
4d15d21f0f | ||
|
|
6790e3e18a | ||
|
|
737e0f1b3f | ||
|
|
ab9ee414ad | ||
|
|
c3a755c853 | ||
|
|
9901c4b84d | ||
|
|
04ce9bcd5c | ||
|
|
4cf93df059 | ||
|
|
a43f7f5341 | ||
|
|
af2cb3f943 | ||
|
|
9b8b9c5205 | ||
|
|
b6aef96cea | ||
|
|
bc6be9ed9f | ||
|
|
2297bd3741 | ||
|
|
8595df4e18 | ||
|
|
200adac02f | ||
|
|
6509d318f4 | ||
|
|
474767618d | ||
|
|
82aaef7842 | ||
|
|
9df0a2916d | ||
|
|
f76309d419 | ||
|
|
29d3df661e | ||
|
|
96b4c0f7e7 | ||
|
|
f9053406c2 | ||
|
|
ae4659538d | ||
|
|
4159055117 | ||
|
|
aa62882347 | ||
|
|
13a474c4e9 | ||
|
|
fe0b2436b8 | ||
|
|
808527b5d0 | ||
|
|
f71e22768c | ||
|
|
b025dfcf58 | ||
|
|
f205ec8359 | ||
|
|
f50cee2ac7 | ||
|
|
3be9773c4f | ||
|
|
2fd3b18d39 | ||
|
|
44c20af80e | ||
|
|
14bc162ca6 | ||
|
|
1a6bada94c | ||
|
|
eda535a942 | ||
|
|
1e1c9cb0dc | ||
|
|
3dc0005032 | ||
|
|
6d0bf9b39f | ||
|
|
2f5d9a6f90 | ||
|
|
783618b89c | ||
|
|
4f2f6f8575 | ||
|
|
59aca30267 | ||
|
|
605e691bff | ||
|
|
09ec276a85 | ||
|
|
590b19a1b1 | ||
|
|
be5e1a4ded | ||
|
|
8650de0c0c | ||
|
|
95a039aaaa | ||
|
|
f1fdb9bbc8 | ||
|
|
44e76bea23 | ||
|
|
a898e2a534 | ||
|
|
681435e0b4 | ||
|
|
d2eace00c9 | ||
|
|
3300587c6b | ||
|
|
878bd87328 | ||
|
|
ff23666d56 | ||
|
|
f4fade3d26 | ||
|
|
16c3e0ddac | ||
|
|
0d216c2d82 | ||
|
|
a1fb5b1153 | ||
|
|
e97326845c | ||
|
|
71a6d791c2 | ||
|
|
5ae2cac088 | ||
|
|
31fab8cdae | ||
|
|
5bfec84432 | ||
|
|
caa4a8e228 | ||
|
|
bdcc2e1790 | ||
|
|
749f21e482 | ||
|
|
1cc75362d6 | ||
|
|
a2adc61c6f | ||
|
|
c7208bf1ff | ||
|
|
db143bb654 | ||
|
|
8b043038b8 | ||
|
|
5130b41f5b | ||
|
|
81bb14e181 | ||
|
|
e93ab45dc3 | ||
|
|
060f141b21 | ||
|
|
6ca591ab75 | ||
|
|
bc1049f5ae | ||
|
|
05568496c1 | ||
|
|
ab9ebb9d0d | ||
|
|
ab197ef51e | ||
|
|
7fc5f46bbb | ||
|
|
969af1567a | ||
|
|
7a10b64cf7 | ||
|
|
f6db678b20 | ||
|
|
97290b2442 | ||
|
|
b8504ed2a9 | ||
|
|
497911d6c0 | ||
|
|
4d96d0a6c6 | ||
|
|
9b58b6642e | ||
|
|
45f651ab00 | ||
|
|
400fe31061 | ||
|
|
4b6ab0389b | ||
|
|
baf7656d2f | ||
|
|
382db59cd0 | ||
|
|
2bbf49b2f5 | ||
|
|
6a6ae8ae46 | ||
|
|
03fa148e81 | ||
|
|
ea3203dbab | ||
|
|
a81ace2ccb | ||
|
|
a7da06998e | ||
|
|
5e5e3e0588 | ||
|
|
bc369fb1ab | ||
|
|
bb6bccb782 | ||
|
|
1fe59e41ea | ||
|
|
0d1f1d09f0 | ||
|
|
13f36e0416 | ||
|
|
e3f72ebae2 | ||
|
|
98f45695db | ||
|
|
3cb95b4d2d | ||
|
|
892aea138e | ||
|
|
045f6c1bce | ||
|
|
1d4261a997 | ||
|
|
da80bced53 | ||
|
|
1d687ac734 | ||
|
|
bef7a12964 | ||
|
|
14ff078b85 | ||
|
|
cd940bd797 | ||
|
|
093809eac6 | ||
|
|
c56f72794e | ||
|
|
9375e99f92 | ||
|
|
b66eeaf2f7 | ||
|
|
c6855e01a9 | ||
|
|
7f975a37f9 | ||
|
|
41cfa5f3d0 | ||
|
|
9c45206c28 | ||
|
|
308aa42b67 | ||
|
|
5174d14d5c | ||
|
|
6fe338e563 | ||
|
|
266d896871 | ||
|
|
7e85ae7bd2 | ||
|
|
9a284a3da4 | ||
|
|
871f0e26df | ||
|
|
e56885f4c9 | ||
|
|
149f4b4607 | ||
|
|
80750f730f | ||
|
|
253f6ee1d9 | ||
|
|
bac149e824 | ||
|
|
3ec34448fa | ||
|
|
919c4240fc | ||
|
|
44c2378f2a | ||
|
|
377b176260 | ||
|
|
d2a8ca7d89 | ||
|
|
d4faae187a | ||
|
|
5e52fae7c1 | ||
|
|
b974bf54dc | ||
|
|
4b6c91e827 | ||
|
|
51467dc4a3 | ||
|
|
eb79a3edaa | ||
|
|
37eca782cc | ||
|
|
19666f2598 | ||
|
|
3436bddaea | ||
|
|
5cc6b0e3d3 | ||
|
|
2b21e22e97 | ||
|
|
57df945738 | ||
|
|
e2e474c59d | ||
|
|
4c19dc22d7 | ||
|
|
ef44b4ccac | ||
|
|
8ee2f2657a | ||
|
|
f635c8715c | ||
|
|
3ceeb72ac6 | ||
|
|
e0b8938fef | ||
|
|
811ca05916 | ||
|
|
df9bbd7ab3 | ||
|
|
339e331f1d | ||
|
|
283e67b57e | ||
|
|
6c1fb9ffd0 | ||
|
|
c3fe192243 | ||
|
|
1ebcbd92e2 | ||
|
|
3060578e3b | ||
|
|
b8715bfee6 | ||
|
|
7fe9231e64 | ||
|
|
9289af0132 | ||
|
|
1f7722088d | ||
|
|
e548877ead | ||
|
|
21391c8d2f | ||
|
|
99551dd1ec | ||
|
|
b5a26936e8 | ||
|
|
cf28136003 | ||
|
|
349236c932 | ||
|
|
0ce6fad14e | ||
|
|
0a9e2baef1 | ||
|
|
da562ad74c | ||
|
|
d45dc17f25 | ||
|
|
7f1aefa09b | ||
|
|
2162054659 | ||
|
|
0ff3ca8a12 | ||
|
|
47c8a0e0b8 | ||
|
|
2a347226df | ||
|
|
962452d6d1 | ||
|
|
2df165c49e | ||
|
|
fc3a634e22 | ||
|
|
01a9141780 | ||
|
|
f783b9ec0d | ||
|
|
b745a51f30 | ||
|
|
02332d78f3 | ||
|
|
183c780698 | ||
|
|
406c8e0303 | ||
|
|
6778c8e905 | ||
|
|
3a94daeaf8 | ||
|
|
e5c64db280 | ||
|
|
d3700dfd70 | ||
|
|
975b45dbfe | ||
|
|
a49b07975c | ||
|
|
5e57ab95ce | ||
|
|
9c43fa9161 | ||
|
|
9b286ecbfd | ||
|
|
b7e9569ccb | ||
|
|
e922131422 | ||
|
|
34813ef32c | ||
|
|
e899f1d31c | ||
|
|
d1bfeee334 | ||
|
|
9ea1f7d53e | ||
|
|
f40bc773d2 | ||
|
|
5d0a6630b9 | ||
|
|
114b81c9a4 | ||
|
|
b10bdb1e78 | ||
|
|
ee5ad02d42 | ||
|
|
cd2094ff71 | ||
|
|
5052a4161c | ||
|
|
7fbcde8af0 | ||
|
|
b670849ebd | ||
|
|
288c6b3f09 | ||
|
|
802d70568c | ||
|
|
c4721169e3 | ||
|
|
efe600f6de | ||
|
|
7e83e07cf3 | ||
|
|
65f0be0c20 | ||
|
|
adf9c97616 | ||
|
|
dfc7645609 | ||
|
|
9dde161b65 | ||
|
|
0324b118ee | ||
|
|
4cc6665d0a | ||
|
|
be7dcc0ad8 | ||
|
|
01a0ad0b69 | ||
|
|
2bbe2099eb | ||
|
|
e49be969ab | ||
|
|
fb0ec9e157 | ||
|
|
525c960dea | ||
|
|
ddd4db1b05 | ||
|
|
7a929b8a84 | ||
|
|
2cd12e3fa6 | ||
|
|
4965a1d1f7 | ||
|
|
dc1f583903 | ||
|
|
500c6de37c | ||
|
|
88e59647ae | ||
|
|
53d45707ca | ||
|
|
828051e651 | ||
|
|
149e61a649 | ||
|
|
4712db8edd | ||
|
|
7ba843c585 | ||
|
|
26a08c6d12 | ||
|
|
72b62e13aa | ||
|
|
09d912895f | ||
|
|
ada26ab92e | ||
|
|
058e2cb7a6 | ||
|
|
a3d3005859 | ||
|
|
c954d57555 | ||
|
|
0a4ffcd15f | ||
|
|
65bf6279fa | ||
|
|
07815769ae | ||
|
|
a3deeba0a0 | ||
|
|
10084ae020 | ||
|
|
8ce5e84c21 | ||
|
|
f9fb3c934e | ||
|
|
eae5e5e092 | ||
|
|
a238099e38 | ||
|
|
7d9989ff58 | ||
|
|
699cd8c203 | ||
|
|
096743acde | ||
|
|
0c7c62dc04 | ||
|
|
2b5fb40b99 | ||
|
|
96b98ed039 | ||
|
|
789ace54ec | ||
|
|
d289998250 | ||
|
|
5cf661517b | ||
|
|
c6c6ebaf40 | ||
|
|
94d87211f9 | ||
|
|
919fc872c8 | ||
|
|
305db1c35b | ||
|
|
568cd4b23e | ||
|
|
b4f8906b24 | ||
|
|
465a1472ba | ||
|
|
3644840d4b | ||
|
|
03d664e048 | ||
|
|
61830048d5 | ||
|
|
69d596f56f | ||
|
|
4923838981 | ||
|
|
f1ca8906c0 | ||
|
|
43520db389 | ||
|
|
d50ce90a36 | ||
|
|
6da85246c6 | ||
|
|
eefd5ea47d | ||
|
|
964c12fe27 | ||
|
|
0632325a43 | ||
|
|
2e3e141d2e | ||
|
|
c36950a7cb | ||
|
|
8f6b0bc1d4 | ||
|
|
7ac964353f | ||
|
|
c6ce8fafd8 | ||
|
|
6fa81ef28d | ||
|
|
e5c0fd22e1 | ||
|
|
96679b7715 | ||
|
|
ed9f69fe23 | ||
|
|
fb6eee26d4 | ||
|
|
1ba2ce0cb6 | ||
|
|
76929320c8 | ||
|
|
5ad45afe5e | ||
|
|
b81b64453b | ||
|
|
db2a94d4bc | ||
|
|
579a398e4e | ||
|
|
783a5700c4 | ||
|
|
63f29341d5 | ||
|
|
555472210b | ||
|
|
39497042bc | ||
|
|
837bfc5aa9 | ||
|
|
042794b651 | ||
|
|
d14529461b | ||
|
|
c928ba7a21 | ||
|
|
75f65a980b | ||
|
|
5130f0464a | ||
|
|
bff38d7e71 | ||
|
|
f9225d9cb4 | ||
|
|
5a4bee6eb5 | ||
|
|
a6727bf9ed | ||
|
|
aade3ad781 | ||
|
|
af36d449bf | ||
|
|
5be66da9f4 | ||
|
|
53d55eb08c | ||
|
|
506bc3634f | ||
|
|
1d5c6531a2 | ||
|
|
20425c297f | ||
|
|
174e101799 | ||
|
|
113e037646 | ||
|
|
1411fa5a16 | ||
|
|
7bbfecd9af | ||
|
|
09291712ed | ||
|
|
b7e19b4953 | ||
|
|
49ecbe147f | ||
|
|
b45bce80ca | ||
|
|
3cd08f7c09 | ||
|
|
71b5965540 | ||
|
|
1700206da8 | ||
|
|
6d6b1d6002 | ||
|
|
dd8a005c7d | ||
|
|
3efdf6a243 | ||
|
|
bd1e56ff37 | ||
|
|
e43a2039a5 | ||
|
|
8dd666992e | ||
|
|
01ddcd7f1d | ||
|
|
a14095f299 | ||
|
|
1ed231cb21 | ||
|
|
7a0cde9a4e | ||
|
|
83ced494fa | ||
|
|
8685c899ba | ||
|
|
6938692ca2 | ||
|
|
b4c100e149 | ||
|
|
398e963312 | ||
|
|
aae721c5f1 | ||
|
|
5c11f14c9b | ||
|
|
dfe9889327 | ||
|
|
192dc23998 | ||
|
|
6c468d6166 | ||
|
|
bfa71017ae | ||
|
|
066d63c0df | ||
|
|
7c8da88df6 | ||
|
|
06bf3a351a | ||
|
|
f8f49fd565 | ||
|
|
77964fb83e | ||
|
|
b4a91648eb | ||
|
|
e8d010f33c | ||
|
|
a804b5eb21 | ||
|
|
71493e8065 | ||
|
|
5394347500 | ||
|
|
f2f8ef88a5 | ||
|
|
3f3992d95a | ||
|
|
bd0e1a73f9 | ||
|
|
2a495dc9ac | ||
|
|
2fa7432060 | ||
|
|
9f18fe5031 | ||
|
|
cd24495045 | ||
|
|
1235cbd0ef | ||
|
|
f84dc27c58 | ||
|
|
4ee92fca43 | ||
|
|
00b8b4db33 | ||
|
|
917b3687cb | ||
|
|
4714b5bd4e | ||
|
|
271bfea97d | ||
|
|
70e1f61337 | ||
|
|
df61a76ab0 | ||
|
|
fffb29d695 | ||
|
|
7ce04a6e03 | ||
|
|
f904d1b92f | ||
|
|
ccf7c29fc4 | ||
|
|
e4a040f1e0 | ||
|
|
3b13dc9c14 | ||
|
|
5d8c40444d | ||
|
|
df034f5d35 | ||
|
|
f7c463bed9 | ||
|
|
4e79ba15f7 | ||
|
|
2099355ad5 | ||
|
|
c3089c8439 | ||
|
|
67d3d6b12d | ||
|
|
b6ebc2f08b | ||
|
|
e0e2d93639 | ||
|
|
a9837f3a06 | ||
|
|
4668a2e2ed | ||
|
|
a62bd23ba2 | ||
|
|
d257b562e5 | ||
|
|
652135db7f | ||
|
|
86362408f1 | ||
|
|
735a2bc4e7 | ||
|
|
044eb6c802 | ||
|
|
643817fa1c | ||
|
|
d65141c7b5 | ||
|
|
15356aebc6 | ||
|
|
eccdec3740 | ||
|
|
6df306d8f8 | ||
|
|
55ce7850ad | ||
|
|
ce8d3278a4 | ||
|
|
06228d3583 | ||
|
|
ad2c605d3f | ||
|
|
43624943ee | ||
|
|
8f9a34d9b1 | ||
|
|
c957d83b3a | ||
|
|
41c5ac5a33 | ||
|
|
e9881119d8 | ||
|
|
355e7c1c96 | ||
|
|
8246dc8d8a | ||
|
|
fb31290b9d | ||
|
|
4acefd6ef9 | ||
|
|
0c66f62c17 | ||
|
|
b5d030bee7 | ||
|
|
6ec91083d8 | ||
|
|
af6b06743b | ||
|
|
1da746543f | ||
|
|
99035a49a9 |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,5 +1,9 @@
|
|||||||
/cache
|
|
||||||
/shims
|
/shims
|
||||||
/version
|
/version
|
||||||
/versions
|
/versions
|
||||||
/sources
|
/sources
|
||||||
|
/cache
|
||||||
|
/libexec/*.dylib
|
||||||
|
/src/Makefile
|
||||||
|
/src/*.o
|
||||||
|
bats/
|
||||||
|
|||||||
11
.travis.yml
11
.travis.yml
@@ -1,6 +1,7 @@
|
|||||||
install: git clone https://github.com/sstephenson/bats.git
|
sudo: false
|
||||||
script: bats/bin/bats --tap test plugins/python-build/test
|
install: git clone --depth 1 https://github.com/sstephenson/bats.git
|
||||||
|
script: make test
|
||||||
language: c
|
language: c
|
||||||
notifications:
|
env:
|
||||||
email:
|
- PYENV_NATIVE_EXT=
|
||||||
on_success: never
|
- PYENV_NATIVE_EXT=1
|
||||||
|
|||||||
131
CHANGELOG.md
131
CHANGELOG.md
@@ -1,5 +1,136 @@
|
|||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
|
### 20150913
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.5.0
|
||||||
|
* python-build: Remove CPython 3.5.0 release candidates
|
||||||
|
* python-build: Fixed anaconda3 repo's paths (#439)
|
||||||
|
* python-build: Add miniconda-3.16.0 and miniconda3-3.16.0 (#435)
|
||||||
|
|
||||||
|
### 20150901
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.5.0 release candidates; 3.5.0rc1 and 3.5.0rc2
|
||||||
|
* python-build: Disabled `_FORTITY_SOURCE` to fix CPython >= 2.4, <= 2.4.3 builds (#422)
|
||||||
|
* python-build: Removed CPython 3.5.0 betas
|
||||||
|
* python-build: Add miniconda-3.10.1 and miniconda3-3.10.1 (#414)
|
||||||
|
* python-build: Add PyPy 2.6.1 (#433)
|
||||||
|
* python-build: Add PyPy-STM 2.3 and 2.5.1 (#428)
|
||||||
|
* python-build: Ignore user's site-packages on ensurepip/get-pip (#411)
|
||||||
|
* pyenv: Import recent changes from ruby-build v20150818
|
||||||
|
|
||||||
|
#### 20150719
|
||||||
|
|
||||||
|
* python-build: Add CPython `3.6-dev` (#413)
|
||||||
|
* python-build: Add Anaconda/Anaconda3 2.3.0
|
||||||
|
* python-build: Fix download URL of portable PyPy 2.6 (fixes #389)
|
||||||
|
* python-build: Use custom `MACOSX_DEPLOYMENT_TARGET` if defined (#312)
|
||||||
|
* python-build: Use original CPython repository instead of mirror at bitbucket.org as the source of `*-dev` versions (#409)
|
||||||
|
* python-build: Pin pip version to 1.5.6 for python 3.1.5 (#351)
|
||||||
|
|
||||||
|
#### 20150601
|
||||||
|
|
||||||
|
* python-build: Add PyPy 2.6.0
|
||||||
|
* python-build: Add PyPy 2.5.1 portable
|
||||||
|
* python-build: Add CPython 3.5.0 beta releases; 3.5.0b1 and 3.5.0b2
|
||||||
|
* python-build: Removed CPython 3.5.0 alpha releases
|
||||||
|
* python-build: Fix inverted condition for `--altinstall` of ensurepip (#255)
|
||||||
|
* python-build: Skip installing `setuptools` by `ez_setup.py` explicitly (fixes #381)
|
||||||
|
* python-build: Import changes from ruby-build v20150519
|
||||||
|
|
||||||
|
#### 20150524
|
||||||
|
|
||||||
|
* pyenv: Improve `pyenv version`, if there is one missing (#290)
|
||||||
|
* pyenv: Improve pip-rehash to handle versions in command, like `pip2` and `pip3.4` (#368)
|
||||||
|
* python-build: Add CPython release; 2.7.10 (#380)
|
||||||
|
* python-build: Add Miniconda/Miniconda3 3.9.1 and Anaconda/Anaconda3 2.2.0 (#375, #376)
|
||||||
|
|
||||||
|
#### 20150504
|
||||||
|
|
||||||
|
* python-build: Add Jython 2.7.0
|
||||||
|
* python-build: Add CPython alpha release; 3.5.0a4
|
||||||
|
* python-build: Add CPython 3.1, 3.1.1, and 3.1.2
|
||||||
|
* python-build: Fix pip version to 1.5.6 for CPython 3.1.x (#351)
|
||||||
|
|
||||||
|
#### 20150326
|
||||||
|
|
||||||
|
* python-build: Add Portable PyPy binaries from https://github.com/squeaky-pl/portable-pypy (#329)
|
||||||
|
* python-build: Add CPython alpha release; 3.5.0a2 (#328)
|
||||||
|
* python-build: Add pypy-2.5.1 (fixes #338)
|
||||||
|
* pyenv: Import recent changes from rbenv 4d72eefffc548081f6eee2e54d3b9116b9f9ee8e
|
||||||
|
|
||||||
|
#### 20150226
|
||||||
|
|
||||||
|
* python-build: Add CPython release; 3.4.3 (#323)
|
||||||
|
* python-build: Add CPython alpha release; 3.5.0a1 (#324)
|
||||||
|
* python-build: Add Miniconda/Miniconda3 3.8.3 (#318)
|
||||||
|
|
||||||
|
#### 20150204
|
||||||
|
|
||||||
|
* python-build: Add PyPy 2.5.0 release (#311)
|
||||||
|
* python-build: Add note about `--enable-shared` and RPATH (#217)
|
||||||
|
* python-build: Fix regression of `PYTHON_MAKE_INSTALL_TARGET` and add test (#255)
|
||||||
|
* python-build: Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
|
||||||
|
* python-build: Latest `pip` can't be installed into `3.0.1` (#309)
|
||||||
|
|
||||||
|
#### 20150124
|
||||||
|
|
||||||
|
* python-build: Import recent changes from ruby-build v20150112
|
||||||
|
* python-build: Prevent adding `/Library/Python/X.X/site-packages` to `sys.path` whtn `--enable-framework` is enabled on OS X. Thanks @s1341 (#292)
|
||||||
|
* python-build: Add new IronPython release; 2.7.5
|
||||||
|
|
||||||
|
#### 20141211
|
||||||
|
|
||||||
|
* pyenv: Add bulit-in `pip-rehash` feature. You don't need to install [pyenv-pip-rehash](https://github.com/yyuu/pyenv-pip-rehash) anymore.
|
||||||
|
* python-build: Add new CPython release; 2.7.9 (#284)
|
||||||
|
* python-build: Add new PyPy releases; pypy3-2.4.0, pypy3-2.4.0-src (#277)
|
||||||
|
* python-build: Add build definitions of PyPy nightly build
|
||||||
|
|
||||||
|
#### 20141127
|
||||||
|
|
||||||
|
* python-build: Add new CPython release candidates; 2.7.9rc1 (#276)
|
||||||
|
|
||||||
|
#### 20141118
|
||||||
|
|
||||||
|
* python-build: Fix broken `setup_builtin_patches` (#270)
|
||||||
|
* python-build: Add a patch to allow building 2.6.9 on OS X 10.9 with `--enable-framework` (#269, #271)
|
||||||
|
|
||||||
|
#### 20141106
|
||||||
|
|
||||||
|
* pyenv: Optimize pyenv-which. Thanks to @blueyed (#129)
|
||||||
|
* python-build: Add Miniconda/Miniconda3 3.7.0 and Anaconda/Anaconda3 2.1.0 (#260)
|
||||||
|
* python-build: Use HTTPS for mirror download URLs (#262)
|
||||||
|
* python-build: Set `rpath` for `--shared` build of PyPy (#244)
|
||||||
|
* python-build: Support `make altinstall` when building CPython/Stackless (#255)
|
||||||
|
* python-build: Import recent changes from ruby-build v20141028 (#265)
|
||||||
|
|
||||||
|
#### 20141012
|
||||||
|
|
||||||
|
* python-build: Add new CPython releases; 3.2.6, 3.3.6 (#253)
|
||||||
|
|
||||||
|
#### 20141011
|
||||||
|
|
||||||
|
* python-build: Fix build error of Stackless 3.3.5 on OS X (#250)
|
||||||
|
* python-build: Add new Stackless releases; stackless-2.7.7, stackless-2.7.8, stackless-3.4.1 (#252)
|
||||||
|
|
||||||
|
#### 20141008
|
||||||
|
|
||||||
|
* python-build: Add new CPython release; 3.4.2 (#251)
|
||||||
|
* python-build: Add new CPython release candidates; 3.2.6rc1, 3.3.6rc1 (#248)
|
||||||
|
|
||||||
|
#### 20140924
|
||||||
|
|
||||||
|
* pyenv: Fix an unintended behavior when user does not have write permission on `$PYENV_ROOT` (#230)
|
||||||
|
* pyenv: Fix a zsh completion issue (#232)
|
||||||
|
* python-build: Add new PyPy release; pypy-2.4.0, pypy-2.4.0-src (#241)
|
||||||
|
|
||||||
|
#### 20140825
|
||||||
|
|
||||||
|
* pyenv: Fix zsh completion with multiple words (#215)
|
||||||
|
* python-build: Display the package name of `hg` as `mercurial` in message (#212)
|
||||||
|
* python-build: Unset `PIP_REQUIRE_VENV` during build (#216)
|
||||||
|
* python-build: Set `MACOSX_DEPLOYMENT_TARGET` from the product version of OS X (#219, #220)
|
||||||
|
* python-build: Add new Jython release; jython2.7-beta3 (#223)
|
||||||
|
|
||||||
#### 20140705
|
#### 20140705
|
||||||
|
|
||||||
* python-build: Add new CPython release; 2.7.8 (#201)
|
* python-build: Add new CPython release; 2.7.8 (#201)
|
||||||
|
|||||||
12
Makefile
Normal file
12
Makefile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
.PHONY: test
|
||||||
|
|
||||||
|
# Do not pass in user flags to build tests.
|
||||||
|
unexport PYTHON_CFLAGS
|
||||||
|
unexport PYTHON_CONFIGURE_OPTS
|
||||||
|
|
||||||
|
test: bats
|
||||||
|
PATH="./bats/bin:$$PATH" test/run
|
||||||
|
cd plugins/python-build && $(PWD)/bats/bin/bats $${CI:+--tap} test
|
||||||
|
|
||||||
|
bats:
|
||||||
|
git clone https://github.com/sstephenson/bats.git
|
||||||
37
README.md
37
README.md
@@ -1,6 +1,6 @@
|
|||||||
# Simple Python Version Management: pyenv
|
# Simple Python Version Management: pyenv
|
||||||
|
|
||||||
[](https://travis-ci.org/yyuu/pyenv)
|
[](https://travis-ci.org/yyuu/pyenv)
|
||||||
|
|
||||||
pyenv lets you easily switch between multiple versions of Python. It's
|
pyenv lets you easily switch between multiple versions of Python. It's
|
||||||
simple, unobtrusive, and follows the UNIX tradition of single-purpose
|
simple, unobtrusive, and follows the UNIX tradition of single-purpose
|
||||||
@@ -126,6 +126,16 @@ reading it from the following sources, in this order:
|
|||||||
Python. (In other words, whatever version would run if pyenv weren't in your
|
Python. (In other words, whatever version would run if pyenv weren't in your
|
||||||
`PATH`.)
|
`PATH`.)
|
||||||
|
|
||||||
|
**NOTE:** You can activate multiple versions at the same time, including multiple
|
||||||
|
versions of Python2 or Python3 simultaneously. This allows for parallel usage of
|
||||||
|
Python2 and Python3, and is required with tools like `tox`. For example, to set
|
||||||
|
your path to first use your `system` Python and Python3 (set to 2.7.9 and 3.4.2
|
||||||
|
in this example), but also have Python 3.3.6, 3.2, and 2.5 available on your
|
||||||
|
`PATH`, one would first `pyenv install` the missing versions, then set `pyenv
|
||||||
|
global system 3.3.6 3.2 2.5`. At this point, one should be able to find the full
|
||||||
|
executable path to each of these using `pyenv which`, e.g. `pyenv which python2.5`
|
||||||
|
(should display `$PYENV_ROOT/versions/2.5/bin/python2.5`), or `pyenv which
|
||||||
|
python3.4` (should display path to system Python3).
|
||||||
|
|
||||||
### Locating the Python Installation
|
### Locating the Python Installation
|
||||||
|
|
||||||
@@ -138,9 +148,9 @@ Each Python version is installed into its own directory under
|
|||||||
|
|
||||||
For example, you might have these versions installed:
|
For example, you might have these versions installed:
|
||||||
|
|
||||||
* `~/.pyenv/versions/2.7.6/`
|
* `~/.pyenv/versions/2.7.8/`
|
||||||
* `~/.pyenv/versions/3.3.3/`
|
* `~/.pyenv/versions/3.4.2/`
|
||||||
* `~/.pyenv/versions/pypy-2.2.1/`
|
* `~/.pyenv/versions/pypy-2.4.0/`
|
||||||
|
|
||||||
As far as pyenv is concerned, version names are simply the directories in
|
As far as pyenv is concerned, version names are simply the directories in
|
||||||
`~/.pyenv/versions`.
|
`~/.pyenv/versions`.
|
||||||
@@ -168,8 +178,7 @@ easy to fork and contribute any changes back upstream.
|
|||||||
1. **Check out pyenv where you want it installed.**
|
1. **Check out pyenv where you want it installed.**
|
||||||
A good place to choose is `$HOME/.pyenv` (but you can install it somewhere else).
|
A good place to choose is `$HOME/.pyenv` (but you can install it somewhere else).
|
||||||
|
|
||||||
$ cd
|
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
|
||||||
$ git clone git://github.com/yyuu/pyenv.git .pyenv
|
|
||||||
|
|
||||||
|
|
||||||
2. **Define environment variable `PYENV_ROOT`** to point to the path where
|
2. **Define environment variable `PYENV_ROOT`** to point to the path where
|
||||||
@@ -183,21 +192,29 @@ easy to fork and contribute any changes back upstream.
|
|||||||
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||||
|
|
||||||
3. **Add `pyenv init` to your shell** to enable shims and autocompletion.
|
3. **Add `pyenv init` to your shell** to enable shims and autocompletion.
|
||||||
|
Please make sure `eval "$(pyenv init -)"` is placed toward the end of shell
|
||||||
|
configuration file since it manipulates `PATH` during the initialization.
|
||||||
|
|
||||||
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
|
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
|
||||||
|
|
||||||
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
||||||
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||||
|
|
||||||
|
**General warning**: There are some systems, where the `BASH_ENV` variable is configured
|
||||||
|
to point to `.bashrc`. On such systems you should almost certainly put the abovementioned line
|
||||||
|
`eval "$(pyenv init -)` into `.bash_profile`, and **not** into `.bashrc`. Otherwise you
|
||||||
|
may observe strange behaviour, such as `pyenv` getting into an infinite loop.
|
||||||
|
See [#264](https://github.com/yyuu/pyenv/issues/264) for details.
|
||||||
|
|
||||||
4. **Restart your shell so the path changes take effect.**
|
4. **Restart your shell so the path changes take effect.**
|
||||||
You can now begin using pyenv.
|
You can now begin using pyenv.
|
||||||
|
|
||||||
$ exec $SHELL
|
$ exec $SHELL
|
||||||
|
|
||||||
5. **Install Python versions into `$PYENV_ROOT/versions`.**
|
5. **Install Python versions into `$PYENV_ROOT/versions`.**
|
||||||
For example, to install Python 2.7.6, download and unpack the source, then run:
|
For example, to install Python 2.7.8, download and unpack the source, then run:
|
||||||
|
|
||||||
$ pyenv install 2.7.6
|
$ pyenv install 2.7.8
|
||||||
|
|
||||||
**NOTE:** If you need to pass configure option to build, please use
|
**NOTE:** If you need to pass configure option to build, please use
|
||||||
```CONFIGURE_OPTS``` environment variable.
|
```CONFIGURE_OPTS``` environment variable.
|
||||||
@@ -212,6 +229,10 @@ easy to fork and contribute any changes back upstream.
|
|||||||
|
|
||||||
$ pyenv rehash
|
$ pyenv rehash
|
||||||
|
|
||||||
|
This can be automated for pip using
|
||||||
|
[pyenv-pip-rehash](https://github.com/yyuu/pyenv-pip-rehash), which invokes
|
||||||
|
`pyenv rehash` after (un)installing packages using pip.
|
||||||
|
|
||||||
|
|
||||||
#### Upgrading
|
#### Upgrading
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ _pyenv() {
|
|||||||
if [ "${#words}" -eq 2 ]; then
|
if [ "${#words}" -eq 2 ]; then
|
||||||
completions="$(pyenv commands)"
|
completions="$(pyenv commands)"
|
||||||
else
|
else
|
||||||
completions="$(pyenv completions "${words[2,-2]}")"
|
completions="$(pyenv completions ${words[2,-2]})"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
reply=("${(ps:\n:)completions}")
|
reply=(${(ps:\n:)completions})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,14 +12,22 @@ if [ -n "$PYENV_DEBUG" ]; then
|
|||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if enable -f "${0%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||||
|
abs_dirname() {
|
||||||
|
local path="$(realpath "$1")"
|
||||||
|
echo "${path%/*}"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||||
|
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
READLINK=$(type -p greadlink readlink | head -1)
|
READLINK=$(type -p greadlink readlink | head -1)
|
||||||
if [ -z "$READLINK" ]; then
|
if [ -z "$READLINK" ]; then
|
||||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset GREP_OPTIONS
|
|
||||||
|
|
||||||
resolve_link() {
|
resolve_link() {
|
||||||
$READLINK "$1"
|
$READLINK "$1"
|
||||||
}
|
}
|
||||||
@@ -37,6 +45,7 @@ abs_dirname() {
|
|||||||
pwd
|
pwd
|
||||||
cd "$cwd"
|
cd "$cwd"
|
||||||
}
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "${PYENV_ROOT}" ]; then
|
if [ -z "${PYENV_ROOT}" ]; then
|
||||||
PYENV_ROOT="${HOME}/.pyenv"
|
PYENV_ROOT="${HOME}/.pyenv"
|
||||||
@@ -62,15 +71,20 @@ shopt -s nullglob
|
|||||||
|
|
||||||
bin_path="$(abs_dirname "$0")"
|
bin_path="$(abs_dirname "$0")"
|
||||||
for plugin_bin in "${PYENV_ROOT}/plugins/"*/bin; do
|
for plugin_bin in "${PYENV_ROOT}/plugins/"*/bin; do
|
||||||
bin_path="${bin_path}:${plugin_bin}"
|
PATH="${plugin_bin}:${PATH}"
|
||||||
done
|
done
|
||||||
export PATH="${bin_path}:${PATH}"
|
export PATH="${bin_path}:${PATH}"
|
||||||
|
|
||||||
hook_path="${PYENV_HOOK_PATH}:${PYENV_ROOT}/pyenv.d:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks"
|
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${PYENV_ROOT}/pyenv.d"
|
||||||
|
if [ "${bin_path%/*}" != "$PYENV_ROOT" ]; then
|
||||||
|
# Add pyenv's own `pyenv.d` unless pyenv was cloned to PYENV_ROOT
|
||||||
|
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${bin_path%/*}/pyenv.d"
|
||||||
|
fi
|
||||||
|
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks"
|
||||||
for plugin_hook in "${PYENV_ROOT}/plugins/"*/etc/pyenv.d; do
|
for plugin_hook in "${PYENV_ROOT}/plugins/"*/etc/pyenv.d; do
|
||||||
hook_path="${hook_path}:${plugin_hook}"
|
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${plugin_hook}"
|
||||||
done
|
done
|
||||||
export PYENV_HOOK_PATH="$hook_path"
|
export PYENV_HOOK_PATH
|
||||||
|
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="20140705"
|
version="20150913"
|
||||||
|
|
||||||
if cd "$PYENV_ROOT" 2>/dev/null; then
|
if cd "$PYENV_ROOT" 2>/dev/null; then
|
||||||
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ set -e
|
|||||||
|
|
||||||
# Provide pyenv completions
|
# Provide pyenv completions
|
||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
exec pyenv shims --short
|
exec pyenv-shims --short
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PYENV_VERSION="$(pyenv-version-name)"
|
PYENV_VERSION="$(pyenv-version-name)"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ if [ "$1" = "--complete" ]; then
|
|||||||
exec pyenv-versions --bare
|
exec pyenv-versions --bare
|
||||||
fi
|
fi
|
||||||
|
|
||||||
versions=($@)
|
versions=("$@")
|
||||||
PYENV_VERSION_FILE="${PYENV_ROOT}/version"
|
PYENV_VERSION_FILE="${PYENV_ROOT}/version"
|
||||||
|
|
||||||
if [ -n "$versions" ]; then
|
if [ -n "$versions" ]; then
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ if [ -z "$PYENV_COMMAND" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||||
|
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||||
|
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
READLINK=$(type -p greadlink readlink | head -1)
|
READLINK=$(type -p greadlink readlink | head -1)
|
||||||
if [ -z "$READLINK" ]; then
|
if [ -z "$READLINK" ]; then
|
||||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||||
@@ -42,13 +47,14 @@ realpath() {
|
|||||||
echo "$(pwd)/$name"
|
echo "$(pwd)/$name"
|
||||||
cd "$cwd"
|
cd "$cwd"
|
||||||
}
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
IFS=: hook_paths=($PYENV_HOOK_PATH)
|
IFS=: hook_paths=($PYENV_HOOK_PATH)
|
||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
for path in "${hook_paths[@]}"; do
|
for path in "${hook_paths[@]}"; do
|
||||||
for script in "$path/$PYENV_COMMAND"/*.bash; do
|
for script in "$path/$PYENV_COMMAND"/*.bash; do
|
||||||
echo $(realpath $script)
|
realpath "$script"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
|
|||||||
@@ -28,31 +28,7 @@ if [ -z "$shell" ]; then
|
|||||||
shell="$(basename "${shell:-$SHELL}")"
|
shell="$(basename "${shell:-$SHELL}")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
READLINK=$(type -p greadlink readlink | head -1)
|
root="${0%/*}/.."
|
||||||
if [ -z "$READLINK" ]; then
|
|
||||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
resolve_link() {
|
|
||||||
$READLINK "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
abs_dirname() {
|
|
||||||
local cwd="$(pwd)"
|
|
||||||
local path="$1"
|
|
||||||
|
|
||||||
while [ -n "$path" ]; do
|
|
||||||
cd "${path%/*}"
|
|
||||||
local name="${path##*/}"
|
|
||||||
path="$(resolve_link "$name" || true)"
|
|
||||||
done
|
|
||||||
|
|
||||||
pwd
|
|
||||||
cd "$cwd"
|
|
||||||
}
|
|
||||||
|
|
||||||
root="$(abs_dirname "$0")/.."
|
|
||||||
|
|
||||||
if [ -z "$print" ]; then
|
if [ -z "$print" ]; then
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
@@ -74,7 +50,7 @@ if [ -z "$print" ]; then
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
{ echo "# Load pyenv automatically by adding"
|
{ echo "# Load pyenv automatically by adding"
|
||||||
echo "# the following to ${profile}:"
|
echo "# the following to the end of ${profile}:"
|
||||||
echo
|
echo
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
fish )
|
fish )
|
||||||
@@ -92,22 +68,13 @@ fi
|
|||||||
|
|
||||||
mkdir -p "${PYENV_ROOT}/"{shims,versions}
|
mkdir -p "${PYENV_ROOT}/"{shims,versions}
|
||||||
|
|
||||||
if [[ ":${PATH}:" != *:"${PYENV_ROOT}/shims":* ]]; then
|
|
||||||
case "$shell" in
|
|
||||||
fish )
|
|
||||||
echo "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
fish )
|
fish )
|
||||||
|
echo "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||||
echo "setenv PYENV_SHELL $shell"
|
echo "setenv PYENV_SHELL $shell"
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
|
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||||
echo "export PYENV_SHELL=$shell"
|
echo "export PYENV_SHELL=$shell"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ if [ "$1" = "--complete" ]; then
|
|||||||
exec pyenv-versions --bare
|
exec pyenv-versions --bare
|
||||||
fi
|
fi
|
||||||
|
|
||||||
versions=($@)
|
versions=("$@")
|
||||||
|
|
||||||
if [ "$versions" = "--unset" ]; then
|
if [ "$versions" = "--unset" ]; then
|
||||||
rm -f .python-version .pyenv-version
|
rm -f .python-version .pyenv-version
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ OLDIFS="$IFS"
|
|||||||
{ IFS=:
|
{ IFS=:
|
||||||
for version in ${PYENV_VERSION}; do
|
for version in ${PYENV_VERSION}; do
|
||||||
if [ "$version" = "system" ]; then
|
if [ "$version" = "system" ]; then
|
||||||
if PYTHON_PATH="$(pyenv-which python 2>/dev/null)"; then
|
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)"; then
|
||||||
PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
|
PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
|
||||||
else
|
else
|
||||||
echo "pyenv: system version not found in PATH" >&2
|
echo "pyenv: system version not found in PATH" >&2
|
||||||
|
|||||||
@@ -70,49 +70,47 @@ SH
|
|||||||
# of the first shim in the shims directory, assume pyenv has been
|
# of the first shim in the shims directory, assume pyenv has been
|
||||||
# upgraded and the existing shims need to be removed.
|
# upgraded and the existing shims need to be removed.
|
||||||
remove_outdated_shims() {
|
remove_outdated_shims() {
|
||||||
for shim in *; do
|
local shim
|
||||||
|
for shim in "$SHIM_PATH"/*; do
|
||||||
if ! diff "$PROTOTYPE_SHIM_PATH" "$shim" >/dev/null 2>&1; then
|
if ! diff "$PROTOTYPE_SHIM_PATH" "$shim" >/dev/null 2>&1; then
|
||||||
for shim in *; do rm -f "$shim"; done
|
rm -f "$SHIM_PATH"/*
|
||||||
fi
|
fi
|
||||||
break
|
break
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# List basenames of executables for every Python version
|
||||||
|
list_executable_names() {
|
||||||
|
local file
|
||||||
|
for file in "$PYENV_ROOT"/versions/*/bin/*; do
|
||||||
|
echo "${file##*/}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# The basename of each argument passed to `make_shims` will be
|
# The basename of each argument passed to `make_shims` will be
|
||||||
# registered for installation as a shim. In this way, plugins may call
|
# registered for installation as a shim. In this way, plugins may call
|
||||||
# `make_shims` with a glob to register many shims at once.
|
# `make_shims` with a glob to register many shims at once.
|
||||||
make_shims() {
|
make_shims() {
|
||||||
local shims=("$@")
|
local file shim
|
||||||
|
for file; do
|
||||||
for file in "${shims[@]}"; do
|
shim="${file##*/}"
|
||||||
local shim="${file##*/}"
|
|
||||||
register_shim "$shim"
|
register_shim "$shim"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create an empty array for the list of registered shims and an empty
|
registered_shims=" "
|
||||||
# string to use as a search index.
|
|
||||||
registered_shims=()
|
|
||||||
registered_shims_index=""
|
|
||||||
|
|
||||||
# We will keep track of shims registered for installation with the
|
# Registers the name of a shim to be generated.
|
||||||
# global `registered_shims` array and with a global search index
|
|
||||||
# string. The array will let us iterate over all registered shims. The
|
|
||||||
# index string will let us quickly check whether a shim with the given
|
|
||||||
# name has been registered or not.
|
|
||||||
register_shim() {
|
register_shim() {
|
||||||
local shim="$@"
|
registered_shims="${registered_shims}${1} "
|
||||||
registered_shims["${#registered_shims[@]}"]="$shim"
|
|
||||||
registered_shims_index="$registered_shims_index/$shim/"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# To install all the registered shims, we iterate over the
|
# Install all the shims registered via `make_shims` or `register_shim` directly.
|
||||||
# `registered_shims` array and create a link if one does not already
|
|
||||||
# exist.
|
|
||||||
install_registered_shims() {
|
install_registered_shims() {
|
||||||
local shim
|
local shim file
|
||||||
for shim in "${registered_shims[@]}"; do
|
for shim in $registered_shims; do
|
||||||
[ -e "$shim" ] || ln -f "$PROTOTYPE_SHIM_PATH" "$shim"
|
file="${SHIM_PATH}/${shim}"
|
||||||
|
[ -e "$file" ] || ln -f "$PROTOTYPE_SHIM_PATH" "$file"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,26 +120,21 @@ install_registered_shims() {
|
|||||||
# removed.
|
# removed.
|
||||||
remove_stale_shims() {
|
remove_stale_shims() {
|
||||||
local shim
|
local shim
|
||||||
for shim in *; do
|
for shim in "$SHIM_PATH"/*; do
|
||||||
if [[ "$registered_shims_index" != *"/$shim/"* ]]; then
|
if [[ "$registered_shims" != *" ${shim##*/} "* ]]; then
|
||||||
rm -f "$shim"
|
rm -f "$shim"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Change to the shims directory.
|
|
||||||
cd "$SHIM_PATH"
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
# Create the prototype shim, then register shims for all known
|
# Create the prototype shim, then register shims for all known
|
||||||
# executables.
|
# executables.
|
||||||
create_prototype_shim
|
create_prototype_shim
|
||||||
remove_outdated_shims
|
remove_outdated_shims
|
||||||
make_shims ../versions/*/bin/*
|
make_shims $(list_executable_names | sort -u)
|
||||||
|
|
||||||
# Restore the previous working directory.
|
|
||||||
cd "$OLDPWD"
|
|
||||||
|
|
||||||
# Allow plugins to register shims.
|
# Allow plugins to register shims.
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
@@ -152,8 +145,5 @@ for script in "${scripts[@]}"; do
|
|||||||
source "$script"
|
source "$script"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Change back to the shims directory to install the registered shims
|
|
||||||
# and remove stale shims.
|
|
||||||
cd "$SHIM_PATH"
|
|
||||||
install_registered_shims
|
install_registered_shims
|
||||||
remove_stale_shims
|
remove_stale_shims
|
||||||
|
|||||||
@@ -8,10 +8,13 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
|
exitcode=0
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
IFS=: PYENV_VERSION_NAMES=($(pyenv-version-name))
|
IFS=: PYENV_VERSION_NAMES=($(pyenv-version-name)) || exitcode=$?
|
||||||
IFS="$OLDIFS"
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
for PYENV_VERSION_NAME in "${PYENV_VERSION_NAMES[@]}"; do
|
for PYENV_VERSION_NAME in "${PYENV_VERSION_NAMES[@]}"; do
|
||||||
echo "$PYENV_VERSION_NAME (set by $(pyenv-version-origin))"
|
echo "$PYENV_VERSION_NAME (set by $(pyenv-version-origin))"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
exit $exitcode
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ if [ -e "$VERSION_FILE" ]; then
|
|||||||
# Read the first non-whitespace word from the specified version file.
|
# Read the first non-whitespace word from the specified version file.
|
||||||
# Be careful not to load it whole in case there's something crazy in it.
|
# Be careful not to load it whole in case there's something crazy in it.
|
||||||
IFS="${IFS}"$'\r'
|
IFS="${IFS}"$'\r'
|
||||||
words=( $(cut -b 1-1024 "$VERSION_FILE" | $(type -p gawk awk | head -1) '{ print($1) }') )
|
words=($(cut -b 1-1024 "$VERSION_FILE" | sed 's/^\s*\(\S\+\).*/\1/'))
|
||||||
versions=("${words[@]}")
|
versions=("${words[@]}")
|
||||||
|
|
||||||
if [ -n "$versions" ]; then
|
if [ -n "$versions" ]; then
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ fi
|
|||||||
pyenv-prefix "${versions[@]}" >/dev/null
|
pyenv-prefix "${versions[@]}" >/dev/null
|
||||||
|
|
||||||
# Write the version out to disk.
|
# Write the version out to disk.
|
||||||
rm -f "$PYENV_VERSION_FILE"
|
# Create an empty file. Using "rm" might cause a permission error.
|
||||||
|
> "$PYENV_VERSION_FILE"
|
||||||
for version in "${versions[@]}"; do
|
for version in "${versions[@]}"; do
|
||||||
echo "$version" >> "$PYENV_VERSION_FILE"
|
echo "$version" >> "$PYENV_VERSION_FILE"
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -21,17 +21,15 @@ version_exists() {
|
|||||||
versions=()
|
versions=()
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
{ IFS=:
|
{ IFS=:
|
||||||
|
any_not_installed=0
|
||||||
for version in ${PYENV_VERSION}; do
|
for version in ${PYENV_VERSION}; do
|
||||||
if version_exists "$version" || [ "$version" = "system" ]; then
|
if version_exists "$version" || [ "$version" = "system" ]; then
|
||||||
versions=("${versions[@]}" "${version}")
|
versions=("${versions[@]}" "${version}")
|
||||||
elif version_exists "${version#python-}"; then
|
elif version_exists "${version#python-}"; then
|
||||||
{ echo "warning: ignoring extraneous \`python-' prefix in version \`${version}'"
|
|
||||||
echo " (set by $(pyenv-version-origin))"
|
|
||||||
} >&2
|
|
||||||
versions=("${versions[@]}" "${version#python-}")
|
versions=("${versions[@]}" "${version#python-}")
|
||||||
else
|
else
|
||||||
echo "pyenv: version \`$version' is not installed" >&2
|
echo "pyenv: version \`$version' is not installed" >&2
|
||||||
exit 1
|
any_not_installed=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -42,3 +40,7 @@ OLDIFS="$IFS"
|
|||||||
echo "${versions[*]}"
|
echo "${versions[*]}"
|
||||||
}
|
}
|
||||||
IFS="$OLDIFS"
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
|
if [ "$any_not_installed" = 1 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ if [ "$1" = "--bare" ]; then
|
|||||||
hit_prefix=""
|
hit_prefix=""
|
||||||
miss_prefix=""
|
miss_prefix=""
|
||||||
current_versions=()
|
current_versions=()
|
||||||
version_origin=""
|
|
||||||
include_system=""
|
include_system=""
|
||||||
else
|
else
|
||||||
hit_prefix="* "
|
hit_prefix="* "
|
||||||
@@ -19,25 +18,30 @@ else
|
|||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
IFS=: current_versions=($(pyenv-version-name || true))
|
IFS=: current_versions=($(pyenv-version-name || true))
|
||||||
IFS="$OLDIFS"
|
IFS="$OLDIFS"
|
||||||
version_origin=" (set by $(pyenv-version-origin))"
|
|
||||||
include_system="1"
|
include_system="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
array_exists() {
|
num_versions=0
|
||||||
local x car="$1"
|
|
||||||
|
exists() {
|
||||||
|
local car="$1"
|
||||||
|
local cdar
|
||||||
shift
|
shift
|
||||||
for x in "$@"; do
|
for cdar in "$@"; do
|
||||||
[ "${x}" = "${car}" ] && return 0
|
if [ "${car}" == "${cdar}" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
print_version() {
|
print_version() {
|
||||||
if array_exists "$1" "${current_versions[@]}"; then
|
if exists "$1" "${current_versions[@]}"; then
|
||||||
echo "${hit_prefix}$1${version_origin}"
|
echo "${hit_prefix}$1 (set by $(pyenv-version-origin))"
|
||||||
else
|
else
|
||||||
echo "${miss_prefix}$1"
|
echo "${miss_prefix}$1"
|
||||||
fi
|
fi
|
||||||
|
num_versions=$((num_versions + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Include "system" in the non-bare output, if it exists
|
# Include "system" in the non-bare output, if it exists
|
||||||
@@ -45,8 +49,15 @@ if [ -n "$include_system" ] && PYENV_VERSION=system pyenv-which python >/dev/nul
|
|||||||
print_version system
|
print_version system
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
for path in "${PYENV_ROOT}/versions/"*; do
|
for path in "${PYENV_ROOT}/versions/"*; do
|
||||||
if [ -d "$path" ]; then
|
if [ -d "$path" ]; then
|
||||||
print_version "${path##*/}"
|
print_version "${path##*/}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
shopt -u nullglob
|
||||||
|
|
||||||
|
if [ "$num_versions" -eq 0 ] && [ -n "$include_system" ]; then
|
||||||
|
echo "Warning: no Python detected on the system" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ set -e
|
|||||||
# Provide pyenv completions
|
# Provide pyenv completions
|
||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
echo --path
|
echo --path
|
||||||
exec pyenv shims --short
|
exec pyenv-shims --short
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$1" = "--path" ]; then
|
if [ "$1" = "--path" ]; then
|
||||||
|
|||||||
@@ -12,46 +12,20 @@ set -e
|
|||||||
|
|
||||||
# Provide pyenv completions
|
# Provide pyenv completions
|
||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
exec pyenv shims --short
|
exec pyenv-shims --short
|
||||||
fi
|
fi
|
||||||
|
|
||||||
expand_path() {
|
|
||||||
if [ ! -d "$1" ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local cwd="$(pwd)"
|
|
||||||
cd "$1"
|
|
||||||
pwd
|
|
||||||
cd "$cwd"
|
|
||||||
}
|
|
||||||
|
|
||||||
remove_from_path() {
|
remove_from_path() {
|
||||||
local path_to_remove="$(expand_path "$1")"
|
local path_to_remove="$1"
|
||||||
local result=""
|
local path_before
|
||||||
|
local result=":$PATH:"
|
||||||
if [ -z "$path_to_remove" ]; then
|
while [ "$path_before" != "$result" ]; do
|
||||||
echo "${PATH}"
|
path_before="$result"
|
||||||
return
|
result="${result//:$path_to_remove:/:}"
|
||||||
fi
|
|
||||||
|
|
||||||
local paths
|
|
||||||
IFS=: paths=($PATH)
|
|
||||||
|
|
||||||
for path in "${paths[@]}"; do
|
|
||||||
path="$(expand_path "$path" || true)"
|
|
||||||
if [ -n "$path" ] && [ "$path" != "$path_to_remove" ]; then
|
|
||||||
result="${result}${path}:"
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "${result%:}"
|
echo "${result%:}"
|
||||||
}
|
}
|
||||||
|
|
||||||
OLDIFS="$IFS"
|
|
||||||
IFS=: versions=($(pyenv-version-name))
|
|
||||||
IFS=: PYENV_VERSION="${versions[*]}"
|
|
||||||
IFS="$OLDIFS"
|
|
||||||
PYENV_COMMAND="$1"
|
PYENV_COMMAND="$1"
|
||||||
|
|
||||||
if [ -z "$PYENV_COMMAND" ]; then
|
if [ -z "$PYENV_COMMAND" ]; then
|
||||||
@@ -59,6 +33,10 @@ if [ -z "$PYENV_COMMAND" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
IFS=: versions=(${PYENV_VERSION:-$(pyenv-version-name)})
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
for version in "${versions[@]}"; do
|
||||||
if [ "$version" = "system" ]; then
|
if [ "$version" = "system" ]; then
|
||||||
PATH="$(remove_from_path "${PYENV_ROOT}/shims")"
|
PATH="$(remove_from_path "${PYENV_ROOT}/shims")"
|
||||||
@@ -81,6 +59,20 @@ done
|
|||||||
if [ -x "$PYENV_COMMAND_PATH" ]; then
|
if [ -x "$PYENV_COMMAND_PATH" ]; then
|
||||||
echo "$PYENV_COMMAND_PATH"
|
echo "$PYENV_COMMAND_PATH"
|
||||||
else
|
else
|
||||||
|
any_not_installed=0
|
||||||
|
for version in "${versions[@]}"; do
|
||||||
|
if [ "$version" = "system" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if ! [ -d "${PYENV_ROOT}/versions/${version}" ]; then
|
||||||
|
echo "pyenv: version \`$version' is not installed" >&2
|
||||||
|
any_not_installed=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "$any_not_installed" = 1 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "pyenv: $PYENV_COMMAND: command not found" >&2
|
echo "pyenv: $PYENV_COMMAND: command not found" >&2
|
||||||
|
|
||||||
versions="$(pyenv-whence "$PYENV_COMMAND" || true)"
|
versions="$(pyenv-whence "$PYENV_COMMAND" || true)"
|
||||||
|
|||||||
@@ -105,6 +105,20 @@ process.
|
|||||||
configure and make options for buildling CPython. These variables will
|
configure and make options for buildling CPython. These variables will
|
||||||
be passed to Python only, not any dependent packages (e.g. libyaml).
|
be passed to Python only, not any dependent packages (e.g. libyaml).
|
||||||
|
|
||||||
|
### Building as `--enable-shared`
|
||||||
|
|
||||||
|
You can build CPython with `--enable-shared` to install a version with
|
||||||
|
shared object.
|
||||||
|
|
||||||
|
If `--enabled-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`,
|
||||||
|
`python-build` will automatically set `RPATH` to the pyenv's prefix directory.
|
||||||
|
This means you don't have to set `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` for
|
||||||
|
the version(s) installed with `--enable-shared`.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ env PYTHON_CONFIGURE_OPTS="--enable-shared` pyenv install 2.7.9
|
||||||
|
```
|
||||||
|
|
||||||
### Checksum verification
|
### Checksum verification
|
||||||
|
|
||||||
If you have the `shasum`, `openssl`, or `sha256sum` tool installed,
|
If you have the `shasum`, `openssl`, or `sha256sum` tool installed,
|
||||||
|
|||||||
@@ -25,21 +25,29 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
|
if [ -z "$PYENV_ROOT" ]; then
|
||||||
|
PYENV_ROOT="${HOME}/.pyenv"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add `share/python-build/` directory from each pyenv plugin to the list of
|
||||||
|
# paths where build definitions are looked up.
|
||||||
|
shopt -s nullglob
|
||||||
|
for plugin_path in "$PYENV_ROOT"/plugins/*/share/python-build; do
|
||||||
|
PYTHON_BUILD_DEFINITIONS="${PYTHON_BUILD_DEFINITIONS}:${plugin_path}"
|
||||||
|
done
|
||||||
|
export PYTHON_BUILD_DEFINITIONS
|
||||||
|
shopt -u nullglob
|
||||||
|
|
||||||
# Provide pyenv completions
|
# Provide pyenv completions
|
||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
exec python-build --definitions
|
exec python-build --definitions
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$PYENV_ROOT" ]; then
|
|
||||||
PYENV_ROOT="${HOME}/.pyenv"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Load shared library functions
|
# Load shared library functions
|
||||||
eval "$(python-build --lib)"
|
eval "$(python-build --lib)"
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available.
|
pyenv-help install 2>/dev/null
|
||||||
pyenv-help install 2>/dev/null || sed -ne '/^#/!q;s/.//;s/.//;1,4d;p' < "$0"
|
|
||||||
[ -z "$1" ] || exit "$1"
|
[ -z "$1" ] || exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,11 +100,13 @@ for option in "${OPTIONS[@]}"; do
|
|||||||
exec python-build --version
|
exec python-build --version
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
usage 1
|
usage 1 >&2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
[ "${#ARGUMENTS[@]}" -le 1 ] || usage 1 >&2
|
||||||
|
|
||||||
unset VERSION_NAME
|
unset VERSION_NAME
|
||||||
|
|
||||||
# The first argument contains the definition to install. If the
|
# The first argument contains the definition to install. If the
|
||||||
@@ -105,8 +115,7 @@ unset VERSION_NAME
|
|||||||
# version is not specified.
|
# version is not specified.
|
||||||
DEFINITION="${ARGUMENTS[0]}"
|
DEFINITION="${ARGUMENTS[0]}"
|
||||||
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
|
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
|
||||||
[ -n "$DEFINITION" ] || usage 1
|
[ -n "$DEFINITION" ] || usage 1 >&2
|
||||||
|
|
||||||
|
|
||||||
# Define `before_install` and `after_install` functions that allow
|
# Define `before_install` and `after_install` functions that allow
|
||||||
# plugin hooks to register a string of code for execution before or
|
# plugin hooks to register a string of code for execution before or
|
||||||
@@ -182,6 +191,27 @@ if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# PyPy/PyPy3 requires existing Python 2.7 to build
|
||||||
|
if [[ "${VERSION_NAME}" == "pypy-"*"-src" ]] || [[ "${VERSION_NAME}" == "pypy3-"*"-src" ]]; then
|
||||||
|
if [ -z "$PYENV_RPYTHON_VERSION" ]; then
|
||||||
|
for version in $(pyenv-versions --bare | sort -r); do
|
||||||
|
if [[ "$version" == "2.7"* ]]; then
|
||||||
|
PYENV_RPYTHON_VERSION="$version"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ -n "$PYENV_RPYTHON_VERSION" ]; then
|
||||||
|
if PYENV_VERSION="$PYENV_RPYTHON_VERSION" pyenv-exec python -c 'import curses' 1>/dev/null 2>&1; then
|
||||||
|
export PYENV_VERSION="$PYENV_RPYTHON_VERSION"
|
||||||
|
else
|
||||||
|
echo "pyenv-install: $VERSION_NAME: PyPy requires \`curses' in $PYENV_RPYTHON_VERSION to build from source." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "pyenv-install: $VERSION_NAME: PyPy requires Python 2.5, 2.6 or 2.7 to build from source." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Execute `before_install` hooks.
|
# Execute `before_install` hooks.
|
||||||
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||||
@@ -200,17 +230,25 @@ python-build $KEEP $VERBOSE $HAS_PATCH $DEBUG "$DEFINITION" "$PREFIX" || STATUS=
|
|||||||
# Display a more helpful message if the definition wasn't found.
|
# Display a more helpful message if the definition wasn't found.
|
||||||
if [ "$STATUS" == "2" ]; then
|
if [ "$STATUS" == "2" ]; then
|
||||||
{ candidates="$(definitions "$DEFINITION")"
|
{ candidates="$(definitions "$DEFINITION")"
|
||||||
|
here="$(dirname "${0%/*}")/../.."
|
||||||
if [ -n "$candidates" ]; then
|
if [ -n "$candidates" ]; then
|
||||||
echo
|
echo
|
||||||
echo "The following versions contain \`$DEFINITION' in the name:"
|
echo "The following versions contain \`$DEFINITION' in the name:"
|
||||||
echo "$candidates" | indent
|
echo "$candidates" | indent
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
echo "You can list all available versions with \`pyenv install --list'."
|
echo "See all available versions with \`pyenv install --list'."
|
||||||
echo
|
echo
|
||||||
echo "If the version you're looking for is not present, first try upgrading"
|
echo -n "If the version you need is missing, try upgrading pyenv"
|
||||||
echo "pyenv. If it's still missing, open a request on the pyenv"
|
if [ "$here" != "${here#$(brew --prefix 2>/dev/null)}" ]; then
|
||||||
echo "issue tracker: https://github.com/yyuu/pyenv/issues"
|
printf ":\n\n"
|
||||||
|
echo " brew update && brew upgrade pyenv"
|
||||||
|
elif [ -d "${here}/.git" ]; then
|
||||||
|
printf ":\n\n"
|
||||||
|
echo " cd ${here} && git pull && cd -"
|
||||||
|
else
|
||||||
|
printf ".\n"
|
||||||
|
fi
|
||||||
} >&2
|
} >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -17,24 +17,31 @@ if [ "$1" = "--complete" ]; then
|
|||||||
exec pyenv versions --bare
|
exec pyenv versions --bare
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
pyenv-help uninstall 2>/dev/null
|
||||||
|
[ -z "$1" ] || exit "$1"
|
||||||
|
}
|
||||||
|
|
||||||
if [ -z "$PYENV_ROOT" ]; then
|
if [ -z "$PYENV_ROOT" ]; then
|
||||||
PYENV_ROOT="${HOME}/.pyenv"
|
PYENV_ROOT="${HOME}/.pyenv"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||||
|
usage 0
|
||||||
|
fi
|
||||||
|
|
||||||
unset FORCE
|
unset FORCE
|
||||||
if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then
|
if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then
|
||||||
FORCE=true
|
FORCE=true
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[ "$#" -eq 1 ] || usage 1 >&2
|
||||||
|
|
||||||
DEFINITION="$1"
|
DEFINITION="$1"
|
||||||
case "$DEFINITION" in
|
case "$DEFINITION" in
|
||||||
"" | -* )
|
"" | -* )
|
||||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available.
|
usage 1 >&2
|
||||||
{ pyenv-help uninstall 2>/dev/null ||
|
|
||||||
sed -ne '/^#/!q;s/.\{1,2\}//;1,4d;p' < "$0"
|
|
||||||
} >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,18 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Usage: python-build [-kvp] <definition> <prefix>
|
||||||
|
# python-build --definitions
|
||||||
|
#
|
||||||
|
# -k/--keep Do not remove source tree after installation
|
||||||
|
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||||
|
# -p/--patch Apply a patch from stdin before building
|
||||||
|
# -4/--ipv4 Resolve names to IPv4 addresses only
|
||||||
|
# -6/--ipv6 Resolve names to IPv6 addresses only
|
||||||
|
# --definitions List all built-in definitions
|
||||||
|
# -g/--debug Build a debug version
|
||||||
|
#
|
||||||
|
|
||||||
PYTHON_BUILD_VERSION="20140524"
|
PYTHON_BUILD_VERSION="20150818"
|
||||||
|
|
||||||
set -E
|
set -E
|
||||||
exec 3<&2 # preserve original stderr at fd 3
|
exec 3<&2 # preserve original stderr at fd 3
|
||||||
@@ -71,17 +83,41 @@ colorize() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
os_information() {
|
||||||
|
if type -p lsb_release >/dev/null; then
|
||||||
|
lsb_release -sir | xargs echo
|
||||||
|
elif type -p sw_vers >/dev/null; then
|
||||||
|
echo "OS X $(sw_vers -productVersion)"
|
||||||
|
elif [ -r /etc/os-release ]; then
|
||||||
|
source /etc/os-release
|
||||||
|
echo "$NAME" $VERSION_ID
|
||||||
|
else
|
||||||
|
local os="$(cat /etc/{centos,redhat,fedora,system}-release /etc/debian_version 2>/dev/null | head -1)"
|
||||||
|
echo "${os:-$(uname -sr)}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 9.1 -> 901
|
||||||
|
# 10.9 -> 1009
|
||||||
|
# 10.10 -> 1010
|
||||||
|
osx_version() {
|
||||||
|
local -a ver
|
||||||
|
IFS=. ver=( `sw_vers -productVersion` )
|
||||||
|
echo $(( ${ver[0]}*100 + ${ver[1]} ))
|
||||||
|
}
|
||||||
|
|
||||||
build_failed() {
|
build_failed() {
|
||||||
{ echo
|
{ echo
|
||||||
echo "BUILD FAILED"
|
colorize 1 "BUILD FAILED"
|
||||||
|
echo " ($(os_information) using $(version))"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if ! rmdir "${BUILD_PATH}" 2>/dev/null; then
|
if ! rmdir "${BUILD_PATH}" 2>/dev/null; then
|
||||||
echo "Inspect or clean up the working tree at ${BUILD_PATH}"
|
echo "Inspect or clean up the working tree at ${BUILD_PATH}"
|
||||||
|
|
||||||
if file_is_not_empty "$LOG_PATH"; then
|
if file_is_not_empty "$LOG_PATH"; then
|
||||||
echo "Results logged to ${LOG_PATH}"
|
colorize 33 "Results logged to ${LOG_PATH}"
|
||||||
echo
|
printf "\n\n"
|
||||||
echo "Last 10 log lines:"
|
echo "Last 10 log lines:"
|
||||||
tail -n 10 "$LOG_PATH"
|
tail -n 10 "$LOG_PATH"
|
||||||
fi
|
fi
|
||||||
@@ -103,13 +139,16 @@ file_is_not_empty() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
num_cpu_cores() {
|
num_cpu_cores() {
|
||||||
local num=""
|
local num
|
||||||
if [ "Darwin" = "$(uname -s)" ]; then
|
case "$(uname -s)" in
|
||||||
|
Darwin | *BSD )
|
||||||
num="$(sysctl -n hw.ncpu 2>/dev/null || true)"
|
num="$(sysctl -n hw.ncpu 2>/dev/null || true)"
|
||||||
elif [ -r /proc/cpuinfo ]; then
|
;;
|
||||||
num="$(grep ^processor /proc/cpuinfo | wc -l)"
|
* )
|
||||||
[ "$num" -gt 0 ] || num=""
|
num="$(grep ^processor /proc/cpuinfo 2>/dev/null | wc -l | xargs)"
|
||||||
fi
|
num="${num#0}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
echo "${num:-2}"
|
echo "${num:-2}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,6 +156,10 @@ install_package() {
|
|||||||
install_package_using "tarball" 1 "$@"
|
install_package_using "tarball" 1 "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_nightly_package() {
|
||||||
|
install_package_using "nightly_tarball" 2 "$@"
|
||||||
|
}
|
||||||
|
|
||||||
install_git() {
|
install_git() {
|
||||||
install_package_using "git" 2 "$@"
|
install_package_using "git" 2 "$@"
|
||||||
}
|
}
|
||||||
@@ -190,7 +233,8 @@ compute_sha2() {
|
|||||||
output="$(shasum -a 256 -b)" || return 1
|
output="$(shasum -a 256 -b)" || return 1
|
||||||
echo "${output% *}"
|
echo "${output% *}"
|
||||||
elif type openssl &>/dev/null; then
|
elif type openssl &>/dev/null; then
|
||||||
output="$(openssl dgst -sha256)" || return 1
|
local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null || true)"/bin/openssl openssl | head -1)"
|
||||||
|
output="$("$openssl" dgst -sha256 2>/dev/null)" || return 1
|
||||||
echo "${output##* }"
|
echo "${output##* }"
|
||||||
elif type sha256sum &>/dev/null; then
|
elif type sha256sum &>/dev/null; then
|
||||||
output="$(sha256sum --quiet)" || return 1
|
output="$(sha256sum --quiet)" || return 1
|
||||||
@@ -265,19 +309,31 @@ http() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
http_head_curl() {
|
http_head_curl() {
|
||||||
curl -qsILf "$1" >&4 2>&1
|
options=""
|
||||||
|
[ -n "${IPV4}" ] && options="--ipv4"
|
||||||
|
[ -n "${IPV6}" ] && options="--ipv6"
|
||||||
|
curl -qsILf ${options} "$1" >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
http_get_curl() {
|
http_get_curl() {
|
||||||
curl -q -o "${2:--}" -sSLf "$1"
|
options=""
|
||||||
|
[ -n "${IPV4}" ] && options="--ipv4"
|
||||||
|
[ -n "${IPV6}" ] && options="--ipv6"
|
||||||
|
curl -q -o "${2:--}" -sSLf ${options} "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
http_head_wget() {
|
http_head_wget() {
|
||||||
wget -q --spider "$1" >&4 2>&1
|
options=""
|
||||||
|
[ -n "${IPV4}" ] && options="--inet4-only"
|
||||||
|
[ -n "${IPV6}" ] && options="--inet6-only"
|
||||||
|
wget -q --spider ${options} "$1" >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
http_get_wget() {
|
http_get_wget() {
|
||||||
wget -nv -O "${2:--}" "$1"
|
options=""
|
||||||
|
[ -n "${IPV4}" ] && options="--inet4-only"
|
||||||
|
[ -n "${IPV6}" ] && options="--inet6-only"
|
||||||
|
wget -nv ${options} -O "${2:--}" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_tarball() {
|
fetch_tarball() {
|
||||||
@@ -295,7 +351,7 @@ fetch_tarball() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local tar_args="xzvf"
|
local tar_args="xzf"
|
||||||
local package_filename="${package_name}.tar.gz"
|
local package_filename="${package_name}.tar.gz"
|
||||||
|
|
||||||
if [ "$package_url" != "${package_url%tgz}" ]; then
|
if [ "$package_url" != "${package_url%tgz}" ]; then
|
||||||
@@ -330,6 +386,19 @@ fetch_tarball() {
|
|||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fetch_nightly_tarball() {
|
||||||
|
local package_name="$1"
|
||||||
|
local package_url="$2"
|
||||||
|
local package_pattern="$3"
|
||||||
|
fetch_tarball "$1" "$2"
|
||||||
|
if [ ! -e "${package_name}" ]; then
|
||||||
|
local nightly_package_name="$(echo ${package_pattern})"
|
||||||
|
if [ -e "${nightly_package_name}" ]; then
|
||||||
|
ln -fs "${nightly_package_name}" "${package_name}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
reuse_existing_tarball() {
|
reuse_existing_tarball() {
|
||||||
local package_filename="$1"
|
local package_filename="$1"
|
||||||
local checksum="$2"
|
local checksum="$2"
|
||||||
@@ -435,7 +504,7 @@ fetch_hg() {
|
|||||||
|
|
||||||
hg clone --branch "$hg_ref" "$hg_url" "${package_name}" >&4 2>&1
|
hg clone --branch "$hg_ref" "$hg_url" "${package_name}" >&4 2>&1
|
||||||
else
|
else
|
||||||
echo "error: please install \`hg\` and try again" >&2
|
echo "error: please install \`mercurial\` and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -450,7 +519,7 @@ fetch_svn() {
|
|||||||
if type svn &>/dev/null; then
|
if type svn &>/dev/null; then
|
||||||
svn co -r "$svn_rev" "$svn_url" "${package_name}" >&4 2>&1
|
svn co -r "$svn_rev" "$svn_url" "${package_name}" >&4 2>&1
|
||||||
else
|
else
|
||||||
echo "error: please install \`svn\` and try again" >&2
|
echo "error: please install Subversion and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -479,7 +548,9 @@ fetch_jar() {
|
|||||||
download_tarball "$package_url" "$package_filename" "$checksum"
|
download_tarball "$package_url" "$package_filename" "$checksum"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ if $JAVA -jar ${package_name}.jar -s -d ${package_name}; then
|
# Must use full path to jar and destination directory:
|
||||||
|
# http://bugs.jython.org/issue2350
|
||||||
|
{ if $JAVA -jar $PWD/${package_name}.jar -s -d $PWD/${package_name}; then
|
||||||
if [ -z "$KEEP_BUILD_PATH" ]; then
|
if [ -z "$KEEP_BUILD_PATH" ]; then
|
||||||
rm -f "$package_filename"
|
rm -f "$package_filename"
|
||||||
else
|
else
|
||||||
@@ -599,6 +670,7 @@ build_package_standard() {
|
|||||||
local PACKAGE_MAKE_OPTS_ARRAY="${package_var_name}_MAKE_OPTS_ARRAY[@]"
|
local PACKAGE_MAKE_OPTS_ARRAY="${package_var_name}_MAKE_OPTS_ARRAY[@]"
|
||||||
local PACKAGE_MAKE_INSTALL_OPTS="${package_var_name}_MAKE_INSTALL_OPTS"
|
local PACKAGE_MAKE_INSTALL_OPTS="${package_var_name}_MAKE_INSTALL_OPTS"
|
||||||
local PACKAGE_MAKE_INSTALL_OPTS_ARRAY="${package_var_name}_MAKE_INSTALL_OPTS_ARRAY[@]"
|
local PACKAGE_MAKE_INSTALL_OPTS_ARRAY="${package_var_name}_MAKE_INSTALL_OPTS_ARRAY[@]"
|
||||||
|
local PACKAGE_MAKE_INSTALL_TARGET="${package_var_name}_MAKE_INSTALL_TARGET"
|
||||||
local PACKAGE_CFLAGS="${package_var_name}_CFLAGS"
|
local PACKAGE_CFLAGS="${package_var_name}_CFLAGS"
|
||||||
|
|
||||||
[ "$package_var_name" = "PYTHON" ] && use_homebrew_readline || true
|
[ "$package_var_name" = "PYTHON" ] && use_homebrew_readline || true
|
||||||
@@ -606,13 +678,16 @@ build_package_standard() {
|
|||||||
( if [ "${CFLAGS+defined}" ] || [ "${!PACKAGE_CFLAGS+defined}" ]; then
|
( if [ "${CFLAGS+defined}" ] || [ "${!PACKAGE_CFLAGS+defined}" ]; then
|
||||||
export CFLAGS="$CFLAGS ${!PACKAGE_CFLAGS}"
|
export CFLAGS="$CFLAGS ${!PACKAGE_CFLAGS}"
|
||||||
fi
|
fi
|
||||||
|
if [ -z "$CC" ] && [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
||||||
|
export CC=clang
|
||||||
|
fi
|
||||||
${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \
|
${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \
|
||||||
--libdir="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}/lib" \
|
--libdir="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}/lib" \
|
||||||
$CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}"
|
$CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}"
|
||||||
) >&4 2>&1
|
) >&4 2>&1
|
||||||
|
|
||||||
{ "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}"
|
{ "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}"
|
||||||
"$MAKE" install $MAKE_INSTALL_OPTS ${!PACKAGE_MAKE_INSTALL_OPTS} "${!PACKAGE_MAKE_INSTALL_OPTS_ARRAY}"
|
"$MAKE" "${!PACKAGE_MAKE_INSTALL_TARGET:-install}" $MAKE_INSTALL_OPTS ${!PACKAGE_MAKE_INSTALL_OPTS} "${!PACKAGE_MAKE_INSTALL_OPTS_ARRAY}"
|
||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -658,8 +733,12 @@ build_package_ree_installer() {
|
|||||||
build_package_rbx() {
|
build_package_rbx() {
|
||||||
local package_name="$1"
|
local package_name="$1"
|
||||||
|
|
||||||
{ bundle --path=vendor/bundle
|
{ [ ! -e "Gemfile" ] || bundle --path=vendor/bundle
|
||||||
RUBYOPT="-rubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS
|
if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then
|
||||||
|
mkdir -p vendor
|
||||||
|
ln -s "$RUBY_BUILD_CACHE_PATH" vendor/prebuilt
|
||||||
|
fi
|
||||||
|
RUBYOPT="-rubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS "${RUBY_CONFIGURE_OPTS_ARRAY[@]}"
|
||||||
rake install
|
rake install
|
||||||
fix_rbx_gem_binstubs "$PREFIX_PATH"
|
fix_rbx_gem_binstubs "$PREFIX_PATH"
|
||||||
fix_rbx_irb "$PREFIX_PATH"
|
fix_rbx_irb "$PREFIX_PATH"
|
||||||
@@ -798,16 +877,36 @@ pypy_architecture() {
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"CYGWIN"* | "MINGW"* ) echo "win32" ;;
|
"CYGWIN"* | "MINGW"* ) echo "win32" ;;
|
||||||
|
"FreeBSD" )
|
||||||
|
case "$(uname -m)" in
|
||||||
|
"x86_64" ) echo "freebsd64" ;;
|
||||||
|
* ) return 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
* ) return 1 ;;
|
* ) return 1 ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_pypy() {
|
build_package_pypy() {
|
||||||
build_package_copy
|
build_package_copy
|
||||||
{ if [ -x "${PREFIX_PATH}/bin/pypy" ] && [ ! -x "${PREFIX_PATH}/bin/python" ]; then
|
mkdir -p "${PREFIX_PATH}/bin" "${PREFIX_PATH}/lib"
|
||||||
( cd "${PREFIX_PATH}/bin" && ln -fs pypy python )
|
local pypy libpypy python
|
||||||
fi
|
shopt -s nullglob
|
||||||
} >&4 2>&1
|
for pypy in "bin/pypy"*; do
|
||||||
|
case "${pypy##*/}" in
|
||||||
|
"pypy-stm" )
|
||||||
|
python="bin/python"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
python="$(basename "${pypy}" | sed -e 's/pypy/python/')"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
( cd "${PREFIX_PATH}/bin" && ln -fs "${pypy##*/}" "${python##*/}" )
|
||||||
|
done
|
||||||
|
for libpypy in "bin/libpypy-c."*; do
|
||||||
|
( cd "${PREFIX_PATH}/lib" && ln -fs "../bin/$(basename "${libpypy}")" "$(basename "${libpypy}")" )
|
||||||
|
done
|
||||||
|
shopt -u nullglob
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_pypy_builder() {
|
build_package_pypy_builder() {
|
||||||
@@ -819,10 +918,14 @@ build_package_pypy_builder() {
|
|||||||
echo "not a pypy source tree" 1>&3
|
echo "not a pypy source tree" 1>&3
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
if [ -x "pypy-c" ] && [ ! -x "bin/pypy" ]; then
|
{ mkdir -p "bin" "lib"
|
||||||
mkdir -p "bin"
|
if [ -x "pypy-c" ]; then
|
||||||
mv -f "pypy-c" "bin/pypy"
|
mv -f "pypy-c" "bin/pypy"
|
||||||
fi
|
fi
|
||||||
|
for libpypy in "libpypy-c."*; do
|
||||||
|
mv -f "${libpypy}" "bin/"
|
||||||
|
done
|
||||||
|
} >&4 2>&1
|
||||||
build_package_pypy
|
build_package_pypy
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -866,15 +969,12 @@ after_install_package() {
|
|||||||
|
|
||||||
setup_builtin_patches() {
|
setup_builtin_patches() {
|
||||||
local package_name="$1"
|
local package_name="$1"
|
||||||
local package_patch_path="${PYTHON_BUILD_ROOT}/share/python-build/patches/${DEFINITION_PATH##*/}/${package_name}"
|
local package_patch_path="${DEFINITION_PATH%/*}/patches/${DEFINITION_PATH##*/}/${package_name}"
|
||||||
|
|
||||||
ORIG_HAS_PATCH="$HAS_PATCH"
|
ORIG_HAS_PATCH="$HAS_PATCH"
|
||||||
# Apply built-in patches if patch was not given from stdin
|
# Apply built-in patches if patch was not given from stdin
|
||||||
if [ -z "$HAS_PATCH" ] && [ -d "${package_patch_path}" ]; then
|
if [ -z "$HAS_PATCH" ] && [ -d "${package_patch_path}" ]; then
|
||||||
local patch
|
{ find "${package_patch_path}" -maxdepth 1 -type f
|
||||||
{ for patch in "${package_patch_path}"/*; do
|
|
||||||
[ -f "${patch}" ] && echo "${patch}"
|
|
||||||
done
|
|
||||||
} 2>/dev/null | sort | xargs cat 1>"${package_name}.patch"
|
} 2>/dev/null | sort | xargs cat 1>"${package_name}.patch"
|
||||||
exec <&-
|
exec <&-
|
||||||
exec <"${package_name}.patch"
|
exec <"${package_name}.patch"
|
||||||
@@ -899,12 +999,12 @@ fix_rbx_gem_binstubs() {
|
|||||||
local bindir="${prefix}/bin"
|
local bindir="${prefix}/bin"
|
||||||
local file binstub
|
local file binstub
|
||||||
# Symlink Rubinius' `gems/bin/` into `bin/`
|
# Symlink Rubinius' `gems/bin/` into `bin/`
|
||||||
if [ -d "$gemdir" ]; then
|
if [ -d "$gemdir" ] && [ ! -L "$gemdir" ]; then
|
||||||
for file in "$gemdir"/*; do
|
for file in "$gemdir"/*; do
|
||||||
binstub="${bindir}/${file##*/}"
|
binstub="${bindir}/${file##*/}"
|
||||||
rm -f "$binstub"
|
rm -f "$binstub"
|
||||||
{ echo "#!${bindir}/ruby"
|
{ echo "#!${bindir}/ruby"
|
||||||
cat "$file"
|
grep -v '^#!' "$file"
|
||||||
} > "$binstub"
|
} > "$binstub"
|
||||||
chmod +x "$binstub"
|
chmod +x "$binstub"
|
||||||
done
|
done
|
||||||
@@ -921,7 +1021,7 @@ fix_rbx_irb() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
require_java7() {
|
require_java7() {
|
||||||
local version="$(java -version 2>&1 | head -1)"
|
local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1)"
|
||||||
if [[ $version != *1.[789]* ]]; then
|
if [[ $version != *1.[789]* ]]; then
|
||||||
colorize 1 "ERROR" >&3
|
colorize 1 "ERROR" >&3
|
||||||
echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3
|
echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3
|
||||||
@@ -975,6 +1075,9 @@ require_gcc() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
export CC="$gcc"
|
export CC="$gcc"
|
||||||
|
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
||||||
|
export MACOSX_DEPLOYMENT_TARGET=10.9
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
locate_gcc() {
|
locate_gcc() {
|
||||||
@@ -1013,7 +1116,7 @@ verify_gcc() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local version="$("$gcc" --version || true)"
|
local version="$("$gcc" --version 2>/dev/null || true)"
|
||||||
if [ -z "$version" ]; then
|
if [ -z "$version" ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -1025,38 +1128,50 @@ verify_gcc() {
|
|||||||
echo "$gcc"
|
echo "$gcc"
|
||||||
}
|
}
|
||||||
|
|
||||||
require_cc() {
|
require_llvm() {
|
||||||
local cc="$(command -v "$CC" || command -v "cc" || true)"
|
local llvm_version="$1"
|
||||||
|
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
||||||
if [ -z "$cc" ]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" != *--llvm-* ]]; then
|
||||||
{ echo
|
case "$llvm_version" in
|
||||||
colorize 1 "ERROR"
|
3.2 )
|
||||||
echo ": This package must be compiled with cc, but python-build couldn't"
|
package_option python configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2"
|
||||||
echo "find a suitable \`cc\` executable on your system. Please install cc"
|
;;
|
||||||
echo "and try again."
|
3.5 )
|
||||||
echo
|
local llvm_config="$(locate_llvm "$llvm_version")"
|
||||||
} >&3
|
if [ -n "$llvm_config" ]; then
|
||||||
return 1
|
package_option python configure --llvm-config="$llvm_config"
|
||||||
|
else
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": Rubinius will not be able to compile using Apple's LLVM-based "
|
||||||
|
echo "build tools on OS X. You will need to install LLVM 3.5 first."
|
||||||
|
echo
|
||||||
|
colorize 1 "TO FIX THE PROBLEM"
|
||||||
|
echo ": Install Homebrew's llvm package with this"
|
||||||
|
echo -n "command: "
|
||||||
|
colorize 4 "brew tap homebrew/versions ; brew install llvm35"
|
||||||
|
echo
|
||||||
|
} >&3
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export CC
|
|
||||||
}
|
}
|
||||||
|
|
||||||
require_clang() {
|
locate_llvm() {
|
||||||
local clang="$(command -v "$CC" || command -v "clang" || true)"
|
local llvm_version="$1"
|
||||||
|
local package llvm_config
|
||||||
if [ -z "$clang" ]; then
|
shopt -s nullglob
|
||||||
{ echo
|
for package in `brew list 2>/dev/null | grep "^llvm"`; do
|
||||||
colorize 1 "ERROR"
|
llvm_config="$(echo "$(brew --prefix "$package")/bin/llvm-config"*)"
|
||||||
echo ": This package must be compiled with clang, but python-build couldn't"
|
if [ -n "$llvm_config" ] && [[ "$("$llvm_config" --version)" = "$llvm_version"* ]]; then
|
||||||
echo "find a suitable \`clang\` executable on your system. Please install clang"
|
echo "$llvm_config"
|
||||||
echo "and try again."
|
break
|
||||||
echo
|
fi
|
||||||
} >&3
|
done
|
||||||
return 1
|
shopt -u nullglob
|
||||||
fi
|
|
||||||
|
|
||||||
export CC="$clang"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
require_java() {
|
require_java() {
|
||||||
@@ -1076,7 +1191,23 @@ require_java() {
|
|||||||
export JAVA="$java"
|
export JAVA="$java"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_distro() {
|
||||||
|
for arg; do
|
||||||
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "$arg"* ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
{ echo
|
||||||
|
colorize 1 "WARNING"
|
||||||
|
echo ": This binary distribution is built for the following distro(s): $@."
|
||||||
|
echo "installed binary may not run expectedly on other platforms."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
needs_yaml() {
|
needs_yaml() {
|
||||||
|
[[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] &&
|
||||||
! use_homebrew_yaml
|
! use_homebrew_yaml
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1126,7 +1257,8 @@ use_homebrew_readline() {
|
|||||||
|
|
||||||
has_broken_mac_openssl() {
|
has_broken_mac_openssl() {
|
||||||
[ "$(uname -s)" = "Darwin" ] &&
|
[ "$(uname -s)" = "Darwin" ] &&
|
||||||
[[ "$(openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8"?* ]] &&
|
[[ "$(/usr/bin/openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8"?* ]] &&
|
||||||
|
[[ "$RUBY_CONFIGURE_OPTS" != *--with-openssl-dir=* ]] &&
|
||||||
! use_homebrew_openssl
|
! use_homebrew_openssl
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1156,7 +1288,7 @@ build_package_mac_openssl() {
|
|||||||
OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-./config}"
|
OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-./config}"
|
||||||
|
|
||||||
# Compile a shared lib with zlib dynamically linked, no kerberos.
|
# Compile a shared lib with zlib dynamically linked, no kerberos.
|
||||||
package_option openssl configure --openssldir="$OPENSSLDIR" zlib-dynamic no-krb5 shared
|
package_option openssl configure --openssldir="$OPENSSLDIR" zlib-dynamic no-ssl2 no-ssl3 no-krb5 shared
|
||||||
|
|
||||||
# Default MAKE_OPTS are -j 2 which can confuse the build. Thankfully, make
|
# Default MAKE_OPTS are -j 2 which can confuse the build. Thankfully, make
|
||||||
# gives precedence to the last -j option, so we can override that.
|
# gives precedence to the last -j option, so we can override that.
|
||||||
@@ -1175,7 +1307,11 @@ build_package_verify_openssl() {
|
|||||||
"$RUBY_BIN" -e 'begin
|
"$RUBY_BIN" -e 'begin
|
||||||
require "openssl"
|
require "openssl"
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
abort "The Ruby openssl extension was not compiled. Missing the OpenSSL lib?"
|
$stderr.puts "The Ruby openssl extension was not compiled. Missing the OpenSSL lib?"
|
||||||
|
$stderr.puts "Configure options used:"
|
||||||
|
require "rbconfig"; require "shellwords"
|
||||||
|
RbConfig::CONFIG.fetch("configure_args").shellsplit.each { |arg| $stderr.puts " #{arg}" }
|
||||||
|
exit 1
|
||||||
end' >&4 2>&1
|
end' >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1245,26 +1381,6 @@ apply_python_patch() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
create_symlinks() {
|
|
||||||
local suffix="$1"
|
|
||||||
|
|
||||||
local file link
|
|
||||||
shopt -s nullglob
|
|
||||||
for file in "${PREFIX_PATH}/bin"/*; do
|
|
||||||
if [[ "${file##*/}" == *"${suffix}" ]]; then
|
|
||||||
if [[ "${file}" == *"-${suffix}" ]]; then
|
|
||||||
link="${file%%-${suffix}}"
|
|
||||||
else
|
|
||||||
link="${file%%${suffix}}"
|
|
||||||
fi
|
|
||||||
if [ ! -e "${link}" ]; then
|
|
||||||
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
shopt -u nullglob
|
|
||||||
}
|
|
||||||
|
|
||||||
verify_python() {
|
verify_python() {
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||||
# Only symlinks are installed in ${PREFIX_PATH}/bin
|
# Only symlinks are installed in ${PREFIX_PATH}/bin
|
||||||
@@ -1272,7 +1388,31 @@ verify_python() {
|
|||||||
ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/bin" "${PREFIX_PATH}/bin"
|
ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/bin" "${PREFIX_PATH}/bin"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
create_symlinks "$1"
|
# Not create symlinks on `altinstall` (#255)
|
||||||
|
if [[ "$PYTHON_MAKE_INSTALL_TARGET" != *"altinstall"* ]]; then
|
||||||
|
local suffix="${1#python}"
|
||||||
|
local file link
|
||||||
|
shopt -s nullglob
|
||||||
|
for file in "${PREFIX_PATH}/bin"/*; do
|
||||||
|
unset link
|
||||||
|
case "${file}" in
|
||||||
|
*/"python${suffix}-config" )
|
||||||
|
# Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
|
||||||
|
link="${file%/*}/python-config"
|
||||||
|
;;
|
||||||
|
*/*"-${suffix}" )
|
||||||
|
link="${file%%-${suffix}}"
|
||||||
|
;;
|
||||||
|
*/*"${suffix}" )
|
||||||
|
link="${file%%${suffix}}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ -n "$link" ] && [ ! -e "$link" ]; then
|
||||||
|
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
shopt -u nullglob
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -x "${PYTHON_BIN}" ]; then
|
if [ ! -x "${PYTHON_BIN}" ]; then
|
||||||
{ colorize 1 "ERROR"
|
{ colorize 1 "ERROR"
|
||||||
@@ -1396,6 +1536,16 @@ build_package_verify_py34() {
|
|||||||
build_package_verify_py33 "$1" "${2:-3.4}"
|
build_package_verify_py33 "$1" "${2:-3.4}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Post-install check for Python 3.5.x
|
||||||
|
build_package_verify_py35() {
|
||||||
|
build_package_verify_py34 "$1" "${2:-3.5}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Post-install check for Python 3.6.x
|
||||||
|
build_package_verify_py36() {
|
||||||
|
build_package_verify_py35 "$1" "${2:-3.6}"
|
||||||
|
}
|
||||||
|
|
||||||
build_package_ez_setup() {
|
build_package_ez_setup() {
|
||||||
local ez_setup="${BUILD_PATH}/ez_setup.py"
|
local ez_setup="${BUILD_PATH}/ez_setup.py"
|
||||||
rm -f "${ez_setup}"
|
rm -f "${ez_setup}"
|
||||||
@@ -1426,65 +1576,71 @@ build_package_get_pip() {
|
|||||||
http get "${GET_PIP_URL}"
|
http get "${GET_PIP_URL}"
|
||||||
fi
|
fi
|
||||||
} 1> "${get_pip}"
|
} 1> "${get_pip}"
|
||||||
"${PYTHON_BIN}" "${get_pip}" ${GET_PIP_OPTS} 1>&4 2>&1 || {
|
"${PYTHON_BIN}" -s "${get_pip}" ${GET_PIP_OPTS} 1>&4 2>&1 || {
|
||||||
echo "error: failed to install pip via get-pip.py" >&2
|
echo "error: failed to install pip via get-pip.py" >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_ensurepip() {
|
build_package_ensurepip() {
|
||||||
"$PYTHON_BIN" -m ensurepip 1>/dev/null 2>&1 || {
|
local ensurepip_opts
|
||||||
build_package_ez_setup "$@" && build_package_get_pip "$@"
|
# Install as `--altinstall` if the Python is installed as `altinstall` (#255)
|
||||||
} || return 1
|
if [[ "$PYTHON_MAKE_INSTALL_TARGET" == *"altinstall"* ]]; then
|
||||||
|
ensurepip_opts="--altinstall"
|
||||||
create_symlinks "$("$PYTHON_BIN" -c 'import sys;v=sys.version_info;sys.stdout.write("python%d.%d"%(v[0],v[1]))')"
|
fi
|
||||||
|
# FIXME: `--altinstall` with `get-pip.py`
|
||||||
|
"$PYTHON_BIN" -s -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
version() {
|
version() {
|
||||||
echo "python-build ${PYTHON_BUILD_VERSION}"
|
local git_revision
|
||||||
|
# Read the revision from git if the remote points to "python-build" repository
|
||||||
|
if GIT_DIR="$PYTHON_BUILD_INSTALL_PREFIX/../../.git" git remote -v 2>/dev/null | grep -q /pyenv; then
|
||||||
|
git_revision="$(GIT_DIR="$PYTHON_BUILD_INSTALL_PREFIX/../../.git" git describe --tags HEAD 2>/dev/null || true)"
|
||||||
|
git_revision="${git_revision#v}"
|
||||||
|
fi
|
||||||
|
echo "python-build ${git_revision:-$PYTHON_BUILD_VERSION}"
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
{ version
|
sed -ne '/^#/!q;s/.\{1,2\}//;1,2d;p' < "$0"
|
||||||
echo "usage: python-build [-k|--keep] [-v|--verbose] [-p|--patch] [-g|--debug] definition prefix"
|
[ -z "$1" ] || exit "$1"
|
||||||
echo " python-build --definitions"
|
|
||||||
} >&2
|
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
list_definitions() {
|
list_definitions() {
|
||||||
{ for definition in "${PYTHON_BUILD_ROOT}/share/python-build/"*; do
|
{ for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
||||||
[ -f "${definition}" ] && echo "${definition##*/}"
|
[ -d "$DEFINITION_DIR" ] && find "$DEFINITION_DIR" -maxdepth 1 -type f -print0 | xargs -0 -n 1 basename 2>/dev/null
|
||||||
done
|
done
|
||||||
} | sort
|
} | sort_versions | uniq
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sort_versions() {
|
||||||
|
sed 'h; s/[+-]/./g; s/.p\([[:digit:]]\)/.z\1/; s/$/.z/; G; s/\n/ /' | \
|
||||||
|
LC_ALL=C sort -t. -k 1,1 -k 2,2n -k 3,3n -k 4,4n -k 5,5n | awk '{print $2}'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
unset VERBOSE
|
unset VERBOSE
|
||||||
unset KEEP_BUILD_PATH
|
unset KEEP_BUILD_PATH
|
||||||
unset HAS_PATCH
|
unset HAS_PATCH
|
||||||
PYTHON_BUILD_ROOT="$(abs_dirname "$0")/.."
|
|
||||||
unset DEBUG
|
unset DEBUG
|
||||||
|
unset IPV4
|
||||||
|
unset IPV6
|
||||||
|
|
||||||
|
PYTHON_BUILD_INSTALL_PREFIX="$(abs_dirname "$0")/.."
|
||||||
|
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
IFS=: PYTHON_BUILD_DEFINITIONS=($PYTHON_BUILD_DEFINITIONS ${PYTHON_BUILD_ROOT:-$PYTHON_BUILD_INSTALL_PREFIX}/share/python-build)
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
parse_options "$@"
|
parse_options "$@"
|
||||||
|
|
||||||
for option in "${OPTIONS[@]}"; do
|
for option in "${OPTIONS[@]}"; do
|
||||||
case "$option" in
|
case "$option" in
|
||||||
"h" | "help" )
|
"h" | "help" )
|
||||||
usage without_exiting
|
version
|
||||||
{ echo
|
echo
|
||||||
echo " -k/--keep Do not remove source tree after installation"
|
usage 0
|
||||||
echo " -v/--verbose Verbose mode: print compilation status to stdout"
|
|
||||||
echo " -p/--patch Apply a patch from stdin before building"
|
|
||||||
echo " -g/--debug Build a debug version"
|
|
||||||
echo " --definitions List all built-in definitions"
|
|
||||||
echo
|
|
||||||
} >&2
|
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
"definitions" )
|
"definitions" )
|
||||||
list_definitions
|
list_definitions
|
||||||
@@ -1502,6 +1658,12 @@ for option in "${OPTIONS[@]}"; do
|
|||||||
"g" | "debug" )
|
"g" | "debug" )
|
||||||
DEBUG=true
|
DEBUG=true
|
||||||
;;
|
;;
|
||||||
|
"4" | "ipv4")
|
||||||
|
IPV4=true
|
||||||
|
;;
|
||||||
|
"6" | "ipv6")
|
||||||
|
IPV6=true
|
||||||
|
;;
|
||||||
"version" )
|
"version" )
|
||||||
version
|
version
|
||||||
exit 0
|
exit 0
|
||||||
@@ -1509,14 +1671,20 @@ for option in "${OPTIONS[@]}"; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
[ "${#ARGUMENTS[@]}" -eq 2 ] || usage 1 >&2
|
||||||
|
|
||||||
DEFINITION_PATH="${ARGUMENTS[0]}"
|
DEFINITION_PATH="${ARGUMENTS[0]}"
|
||||||
if [ -z "$DEFINITION_PATH" ]; then
|
if [ -z "$DEFINITION_PATH" ]; then
|
||||||
usage
|
usage 1 >&2
|
||||||
elif [ ! -f "$DEFINITION_PATH" ]; then
|
elif [ ! -f "$DEFINITION_PATH" ]; then
|
||||||
BUILTIN_DEFINITION_PATH="${PYTHON_BUILD_ROOT}/share/python-build/${DEFINITION_PATH}"
|
for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
||||||
if [ -e "$BUILTIN_DEFINITION_PATH" ]; then
|
if [ -f "${DEFINITION_DIR}/${DEFINITION_PATH}" ]; then
|
||||||
DEFINITION_PATH="$BUILTIN_DEFINITION_PATH"
|
DEFINITION_PATH="${DEFINITION_DIR}/${DEFINITION_PATH}"
|
||||||
else
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -f "$DEFINITION_PATH" ]; then
|
||||||
echo "python-build: definition not found: ${DEFINITION_PATH}" >&2
|
echo "python-build: definition not found: ${DEFINITION_PATH}" >&2
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
@@ -1524,7 +1692,7 @@ fi
|
|||||||
|
|
||||||
PREFIX_PATH="${ARGUMENTS[1]}"
|
PREFIX_PATH="${ARGUMENTS[1]}"
|
||||||
if [ -z "$PREFIX_PATH" ]; then
|
if [ -z "$PREFIX_PATH" ]; then
|
||||||
usage
|
usage 1 >&2
|
||||||
elif [ "${PREFIX_PATH#/}" = "$PREFIX_PATH" ]; then
|
elif [ "${PREFIX_PATH#/}" = "$PREFIX_PATH" ]; then
|
||||||
PREFIX_PATH="${PWD}/${PREFIX_PATH}"
|
PREFIX_PATH="${PWD}/${PREFIX_PATH}"
|
||||||
fi
|
fi
|
||||||
@@ -1535,10 +1703,25 @@ else
|
|||||||
TMP="${TMPDIR%/}"
|
TMP="${TMPDIR%/}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -w "$TMP" ] || [ ! -x "$TMP" ]; then
|
# Check if TMPDIR is accessible and can hold executables.
|
||||||
|
tmp_executable="${TMP}/python-build-test.$$"
|
||||||
|
noexec=""
|
||||||
|
if mkdir -p "$TMP" && touch "$tmp_executable" 2>/dev/null; then
|
||||||
|
cat > "$tmp_executable" <<-EOF
|
||||||
|
#!${BASH}
|
||||||
|
exit 0
|
||||||
|
EOF
|
||||||
|
chmod +x "$tmp_executable"
|
||||||
|
else
|
||||||
echo "python-build: TMPDIR=$TMP is set to a non-accessible location" >&2
|
echo "python-build: TMPDIR=$TMP is set to a non-accessible location" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
"$tmp_executable" 2>/dev/null || noexec=1
|
||||||
|
rm -f "$tmp_executable"
|
||||||
|
if [ -n "$noexec" ]; then
|
||||||
|
echo "python-build: TMPDIR=$TMP cannot hold executables (partition possibly mounted with \`noexec\`)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Work around warnings building Ruby 2.0 on Clang 2.x:
|
# Work around warnings building Ruby 2.0 on Clang 2.x:
|
||||||
# pass -Wno-error=shorten-64-to-32 if the compiler accepts it.
|
# pass -Wno-error=shorten-64-to-32 if the compiler accepts it.
|
||||||
@@ -1551,7 +1734,7 @@ fi
|
|||||||
#fi
|
#fi
|
||||||
|
|
||||||
if [ -z "$MAKE" ]; then
|
if [ -z "$MAKE" ]; then
|
||||||
if [[ "FreeBSD" = "$(uname -s)" ]]; then
|
if [ "FreeBSD" = "$(uname -s)" ] && [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
|
||||||
export MAKE="gmake"
|
export MAKE="gmake"
|
||||||
else
|
else
|
||||||
export MAKE="make"
|
export MAKE="make"
|
||||||
@@ -1565,7 +1748,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$PYTHON_BUILD_MIRROR_URL" ]; then
|
if [ -z "$PYTHON_BUILD_MIRROR_URL" ]; then
|
||||||
PYTHON_BUILD_MIRROR_URL="http://yyuu.github.io/pythons"
|
PYTHON_BUILD_MIRROR_URL="https://yyuu.github.io/pythons"
|
||||||
else
|
else
|
||||||
PYTHON_BUILD_MIRROR_URL="${PYTHON_BUILD_MIRROR_URL%/}"
|
PYTHON_BUILD_MIRROR_URL="${PYTHON_BUILD_MIRROR_URL%/}"
|
||||||
fi
|
fi
|
||||||
@@ -1585,7 +1768,6 @@ if echo test | compute_md5 >/dev/null; then
|
|||||||
HAS_MD5_SUPPORT=1
|
HAS_MD5_SUPPORT=1
|
||||||
else
|
else
|
||||||
unset HAS_MD5_SUPPORT
|
unset HAS_MD5_SUPPORT
|
||||||
unset PYTHON_BUILD_MIRROR_URL
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add an option to build a debug version of Python (#11)
|
# Add an option to build a debug version of Python (#11)
|
||||||
@@ -1593,7 +1775,7 @@ if [ -n "$DEBUG" ]; then
|
|||||||
package_option python configure --with-pydebug
|
package_option python configure --with-pydebug
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, 82)
|
# python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, #82)
|
||||||
if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]]; then
|
if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]]; then
|
||||||
# The ld on Darwin embeds the full paths to each dylib by default
|
# The ld on Darwin embeds the full paths to each dylib by default
|
||||||
if [[ "$LDFLAGS" != *"-rpath="* ]] && [[ "Darwin" != "$(uname -s)" ]]; then
|
if [[ "$LDFLAGS" != *"-rpath="* ]] && [[ "Darwin" != "$(uname -s)" ]]; then
|
||||||
@@ -1601,8 +1783,17 @@ if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS"
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# python-build: Set `RPATH` if --shared` was given for PyPy (#244)
|
||||||
|
if [[ "$PYPY_OPTS" == *"--shared"* ]]; then
|
||||||
|
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||||
|
if [[ "Darwin" != "$(uname -s)" ]]; then
|
||||||
|
echo "python-build: framework installation is not supported." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
create_framework_dirs() {
|
create_framework_dirs() {
|
||||||
local version="$(echo "$1" | sed -E 's/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/')"
|
local version="$(echo "$1" | sed -E 's/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/')"
|
||||||
mkdir -p "${PREFIX_PATH}/Python.framework/Versions/${version}"
|
mkdir -p "${PREFIX_PATH}/Python.framework/Versions/${version}"
|
||||||
@@ -1617,12 +1808,25 @@ if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
|||||||
package_option python configure --enable-framework="${PREFIX_PATH}"
|
package_option python configure --enable-framework="${PREFIX_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Build against universal SDK (#219, #220)
|
||||||
|
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
|
||||||
|
if [[ "Darwin" != "$(uname -s)" ]]; then
|
||||||
|
echo "python-build: universal installation is not supported." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
package_option python configure --enable-universalsdk=/ --with-universal-archs=intel
|
||||||
|
fi
|
||||||
|
|
||||||
# SSL Certificate error with older wget that does not support Server Name Indication (#60)
|
# SSL Certificate error with older wget that does not support Server Name Indication (#60)
|
||||||
if ! command -v curl 1>/dev/null 2>&1 && [[ "$(wget --version 2>/dev/null || true)" = "GNU Wget 1.1"[0-3]* ]]; then
|
if ! command -v curl 1>/dev/null 2>&1 && [[ "$(wget --version 2>/dev/null || true)" = "GNU Wget 1.1"[0-3]* ]]; then
|
||||||
echo "python-build: wget (< 1.14) doesn't support Server Name Indication. Please install curl (>= 7.18.1) and try again" >&2
|
echo "python-build: wget (< 1.14) doesn't support Server Name Indication. Please install curl (>= 7.18.1) and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Unset `PIP_REQUIRE_VENV` during build (#216)
|
||||||
|
unset PIP_REQUIRE_VENV
|
||||||
|
unset PIP_REQUIRE_VIRTUALENV
|
||||||
|
|
||||||
# pydistutils.cfg may corrupt install location of Python libraries (#35, #111)
|
# pydistutils.cfg may corrupt install location of Python libraries (#35, #111)
|
||||||
if [ -e "$HOME/.pydistutils.cfg" ]; then
|
if [ -e "$HOME/.pydistutils.cfg" ]; then
|
||||||
{ colorize 1 "WARNING"
|
{ colorize 1 "WARNING"
|
||||||
@@ -1638,9 +1842,42 @@ if [ -n "${PIP_VERSION}" ]; then
|
|||||||
GET_PIP_URL="https://raw.githubusercontent.com/pypa/pip/${PIP_VERSION}/contrib/get-pip.py"
|
GET_PIP_URL="https://raw.githubusercontent.com/pypa/pip/${PIP_VERSION}/contrib/get-pip.py"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
||||||
|
if [[ "Darwin" == "$(uname -s)" ]]; then
|
||||||
|
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
|
||||||
|
MACOS_VERSION="$(sw_vers -productVersion 2>/dev/null || true)"
|
||||||
|
MACOS_VERSION_ARRAY=(${MACOS_VERSION//\./ })
|
||||||
|
if [ "${#MACOS_VERSION_ARRAY[@]}" -ge 2 ]; then
|
||||||
|
export MACOSX_DEPLOYMENT_TARGET="${MACOS_VERSION_ARRAY[0]}.${MACOS_VERSION_ARRAY[1]}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
python_bin_suffix() {
|
||||||
|
local version_name version_info
|
||||||
|
case "$1" in
|
||||||
|
2.* | 3.* )
|
||||||
|
version_name="$1"
|
||||||
|
version_name="${version_name%-dev}"
|
||||||
|
version_name="${version_name%-rc*}"
|
||||||
|
version_name="${version_name%rc*}"
|
||||||
|
version_info=(${version_name//./ })
|
||||||
|
echo "${version_info[0]}.${version_info[1]}"
|
||||||
|
;;
|
||||||
|
stackless-2.* | stackless-3.* )
|
||||||
|
version_name="${1#stackless-}"
|
||||||
|
version_name="${version_name%-dev}"
|
||||||
|
version_name="${version_name%-rc*}"
|
||||||
|
version_name="${version_name%rc*}"
|
||||||
|
version_info=(${version_name//./ })
|
||||||
|
echo "${version_info[0]}.${version_info[1]}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
SEED="$(date "+%Y%m%d%H%M%S").$$"
|
SEED="$(date "+%Y%m%d%H%M%S").$$"
|
||||||
LOG_PATH="${TMP}/python-build.${SEED}.log"
|
LOG_PATH="${TMP}/python-build.${SEED}.log"
|
||||||
PYTHON_BIN="${PREFIX_PATH}/bin/python"
|
PYTHON_BIN="${PREFIX_PATH}/bin/python$(python_bin_suffix "${DEFINITION_PATH##*/}")"
|
||||||
CWD="$(pwd)"
|
CWD="$(pwd)"
|
||||||
|
|
||||||
if [ -z "$PYTHON_BUILD_BUILD_PATH" ]; then
|
if [ -z "$PYTHON_BUILD_BUILD_PATH" ]; then
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.1.3" "http://www.python.org/ftp/python/2.1.3/Python-2.1.3.tgz#1bcb5bb587948bc38f36db60e15c376009c56c66570e563a08a82bf7f227afb9" ldflags_dirs standard verify_py21
|
install_package "Python-2.1.3" "http://www.python.org/ftp/python/2.1.3/Python-2.1.3.tgz#1bcb5bb587948bc38f36db60e15c376009c56c66570e563a08a82bf7f227afb9" ldflags_dirs standard verify_py21
|
||||||
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.2.3" "http://www.python.org/ftp/python/2.2.3/Python-2.2.3.tgz#a8f92e6b89d47359fff0d1fbfe47f104afc77fd1cd5143e7332758b7bc100188" ldflags_dirs standard verify_py22
|
install_package "Python-2.2.3" "http://www.python.org/ftp/python/2.2.3/Python-2.2.3.tgz#a8f92e6b89d47359fff0d1fbfe47f104afc77fd1cd5143e7332758b7bc100188" ldflags_dirs standard verify_py22
|
||||||
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.3.7" "http://python.org/ftp/python/2.3.7/Python-2.3.7.tgz#969a9891dce9f50b13e54f9890acaf2be66715a5895bf9b11111f320c205b90e" ldflags_dirs standard verify_py23
|
install_package "Python-2.3.7" "http://python.org/ftp/python/2.3.7/Python-2.3.7.tgz#969a9891dce9f50b13e54f9890acaf2be66715a5895bf9b11111f320c205b90e" ldflags_dirs standard verify_py23
|
||||||
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4" "http://python.org/ftp/python/2.4/Python-2.4.tgz#ff746de0fae8691c082414b42a2bb172da8797e6e8ff66c9a39d2e452f7034e9" ldflags_dirs standard verify_py24
|
install_package "Python-2.4" "http://python.org/ftp/python/2.4/Python-2.4.tgz#ff746de0fae8691c082414b42a2bb172da8797e6e8ff66c9a39d2e452f7034e9" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4.1" "http://python.org/ftp/python/2.4.1/Python-2.4.1.tgz#f449c3b167389324c525ad99d02376c518ac11e163dbbbc13bc88a5c7101fd00" ldflags_dirs standard verify_py24
|
install_package "Python-2.4.1" "http://python.org/ftp/python/2.4.1/Python-2.4.1.tgz#f449c3b167389324c525ad99d02376c518ac11e163dbbbc13bc88a5c7101fd00" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4.2" "http://python.org/ftp/python/2.4.2/Python-2.4.2.tgz#2653e1846e87fd9b3ee287fefc965c80c54646548b4913a22265b0dd54493adf" ldflags_dirs standard verify_py24
|
install_package "Python-2.4.2" "http://python.org/ftp/python/2.4.2/Python-2.4.2.tgz#2653e1846e87fd9b3ee287fefc965c80c54646548b4913a22265b0dd54493adf" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4.3" "http://python.org/ftp/python/2.4.3/Python-2.4.3.tgz#985a413932f5e31e6280b37da6b285a3a0b2748c6786643989ed9b23de97e2d5" ldflags_dirs standard verify_py24
|
install_package "Python-2.4.3" "http://python.org/ftp/python/2.4.3/Python-2.4.3.tgz#985a413932f5e31e6280b37da6b285a3a0b2748c6786643989ed9b23de97e2d5" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4.4" "http://python.org/ftp/python/2.4.4/Python-2.4.4.tgz#92be6e20cbc3111d9dd0c016d72ef7914c23b879dc52df7ba28df97afbf12e2e" ldflags_dirs standard verify_py24
|
install_package "Python-2.4.4" "http://python.org/ftp/python/2.4.4/Python-2.4.4.tgz#92be6e20cbc3111d9dd0c016d72ef7914c23b879dc52df7ba28df97afbf12e2e" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4.5" "http://python.org/ftp/python/2.4.5/Python-2.4.5.tgz#6ae6f67a388a7f70ed3a20eebab5aae995ee433089d1f1724095c62f4b7389a1" ldflags_dirs standard verify_py24
|
install_package "Python-2.4.5" "http://python.org/ftp/python/2.4.5/Python-2.4.5.tgz#6ae6f67a388a7f70ed3a20eebab5aae995ee433089d1f1724095c62f4b7389a1" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.4.6" "http://python.org/ftp/python/2.4.6/Python-2.4.6.tgz#b03f269e826927f05c966cf4f4414f3c93ee2314960859e7f8375e24e82f8b02" ldflags_dirs standard verify_py24
|
install_package "Python-2.4.6" "http://python.org/ftp/python/2.4.6/Python-2.4.6.tgz#b03f269e826927f05c966cf4f4414f3c93ee2314960859e7f8375e24e82f8b02" ldflags_dirs standard verify_py24
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5" "http://python.org/ftp/python/2.5/Python-2.5.tgz#d7bbf42e36003c6065cd19f3e67d283521858515ee923220f654131cebe1d8f2" ldflags_dirs standard verify_py25
|
install_package "Python-2.5" "http://python.org/ftp/python/2.5/Python-2.5.tgz#d7bbf42e36003c6065cd19f3e67d283521858515ee923220f654131cebe1d8f2" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5.1" "http://python.org/ftp/python/2.5.1/Python-2.5.1.tgz#1f5caee846049ca30d996f9403eefdb996295c4af664867e35dcc5eb36e4e7e8" ldflags_dirs standard verify_py25
|
install_package "Python-2.5.1" "http://python.org/ftp/python/2.5.1/Python-2.5.1.tgz#1f5caee846049ca30d996f9403eefdb996295c4af664867e35dcc5eb36e4e7e8" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5.2" "http://python.org/ftp/python/2.5.2/Python-2.5.2.tgz#834afe8a88adaf623b05ac5dd6700dd5bb5d0d5553fc74ad529359a3496e4ae3" ldflags_dirs standard verify_py25
|
install_package "Python-2.5.2" "http://python.org/ftp/python/2.5.2/Python-2.5.2.tgz#834afe8a88adaf623b05ac5dd6700dd5bb5d0d5553fc74ad529359a3496e4ae3" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5.3" "http://python.org/ftp/python/2.5.3/Python-2.5.3.tgz#c3fee607d20a77dfb72ea2e627eb4d95d25c735603435abde62c57015a0445bd" ldflags_dirs standard verify_py25
|
install_package "Python-2.5.3" "http://python.org/ftp/python/2.5.3/Python-2.5.3.tgz#c3fee607d20a77dfb72ea2e627eb4d95d25c735603435abde62c57015a0445bd" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5.4" "http://python.org/ftp/python/2.5.4/Python-2.5.4.tgz#3d3b205611ee503a38a9433d5645a571668420bb219242c7f51af85f05664da6" ldflags_dirs standard verify_py25
|
install_package "Python-2.5.4" "http://python.org/ftp/python/2.5.4/Python-2.5.4.tgz#3d3b205611ee503a38a9433d5645a571668420bb219242c7f51af85f05664da6" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5.5" "http://python.org/ftp/python/2.5.5/Python-2.5.5.tgz#03be1019c4fe93daeb53ba9e4294bf22a8ed4cb854cbd57e24e16f6bf63e2392" ldflags_dirs standard verify_py25
|
install_package "Python-2.5.5" "http://python.org/ftp/python/2.5.5/Python-2.5.5.tgz#03be1019c4fe93daeb53ba9e4294bf22a8ed4cb854cbd57e24e16f6bf63e2392" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.5.6" "http://python.org/ftp/python/2.5.6/Python-2.5.6.tgz#c2e4377597241b1065677d23327c04d0f41945d370c61a491cc88be367234c5d" ldflags_dirs standard verify_py25
|
install_package "Python-2.5.6" "http://python.org/ftp/python/2.5.6/Python-2.5.6.tgz#c2e4377597241b1065677d23327c04d0f41945d370c61a491cc88be367234c5d" ldflags_dirs standard verify_py25
|
||||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.6.6" "http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz#372f66db46d773214e4619df1794a26449158f626138d4d2141a64c2f017fae1" ldflags_dirs standard verify_py26 ensurepip
|
install_package "Python-2.6.6" "http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz#372f66db46d773214e4619df1794a26449158f626138d4d2141a64c2f017fae1" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.6.7" "http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz#a8093eace4cfd3e06b05f0deb5d765e3c6cec65908048640a8cadd7a948b3826" ldflags_dirs standard verify_py26 ensurepip
|
install_package "Python-2.6.7" "http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz#a8093eace4cfd3e06b05f0deb5d765e3c6cec65908048640a8cadd7a948b3826" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.6.8" "http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz#5bf02a75ffa2fcaa5a3cabb8201998519b045541975622316888ea468d9512f7" ldflags_dirs standard verify_py26 ensurepip
|
install_package "Python-2.6.8" "http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz#5bf02a75ffa2fcaa5a3cabb8201998519b045541975622316888ea468d9512f7" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.6.9" "http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz#7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" ldflags_dirs standard verify_py26 ensurepip
|
install_package "Python-2.6.9" "http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz#7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7" "http://python.org/ftp/python/2.7/Python-2.7.tgz#5670dd6c0c93b0b529781d070852f7b51ce6855615b16afcd318341af2910fb5" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7" "http://python.org/ftp/python/2.7/Python-2.7.tgz#5670dd6c0c93b0b529781d070852f7b51ce6855615b16afcd318341af2910fb5" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-2.7-dev" "https://bitbucket.org/mirror/cpython" "2.7" standard verify_py27 ensurepip
|
install_hg "Python-2.7-dev" "https://hg.python.org/cpython" "2.7" standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.1" "http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz#ca13e7b1860821494f70de017202283ad73b1fb7bd88586401c54ef958226ec8" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.1" "http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz#ca13e7b1860821494f70de017202283ad73b1fb7bd88586401c54ef958226ec8" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
3
plugins/python-build/share/python-build/2.7.10
Normal file
3
plugins/python-build/share/python-build/2.7.10
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-2.7.10" "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz#eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a" ldflags_dirs standard verify_py27 ensurepip
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.2" "http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz#1d54b7096c17902c3f40ffce7e5b84e0072d0144024184fff184a84d563abbb3" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.2" "http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz#1d54b7096c17902c3f40ffce7e5b84e0072d0144024184fff184a84d563abbb3" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.3" "http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz#d4c20f2b5faf95999fd5fecb3f7d32071b0820516224a6d2b72932ab47a1cb8e" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.3" "http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz#d4c20f2b5faf95999fd5fecb3f7d32071b0820516224a6d2b72932ab47a1cb8e" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.4" "http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz#98c5eb9c8e65effcc0122112ba17a0bce880aa23ecb560af56b55eb55632b81a" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.4" "http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz#98c5eb9c8e65effcc0122112ba17a0bce880aa23ecb560af56b55eb55632b81a" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.5" "http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz#8e1b5fa87b91835afb376a9c0d319d41feca07ffebc0288d97ab08d64f48afbf" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.5" "http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz#8e1b5fa87b91835afb376a9c0d319d41feca07ffebc0288d97ab08d64f48afbf" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.6" "http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz#99c6860b70977befa1590029fae092ddb18db1d69ae67e8b9385b66ed104ba58" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.6" "http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz#99c6860b70977befa1590029fae092ddb18db1d69ae67e8b9385b66ed104ba58" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.7" "https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tgz#7f49c0a6705ad89d925181e27d0aaa025ee4731ce0de64776c722216c3e66c42" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.7" "https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tgz#7f49c0a6705ad89d925181e27d0aaa025ee4731ce0de64776c722216c3e66c42" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz#74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557" ldflags_dirs standard verify_py27 ensurepip
|
install_package "Python-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz#74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
3
plugins/python-build/share/python-build/2.7.9
Normal file
3
plugins/python-build/share/python-build/2.7.9
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-2.7.9" "https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz#c8bba33e66ac3201dabdc556f0ea7cfe6ac11946ec32d357c4c6f9b018c12c5b" ldflags_dirs standard verify_py27 ensurepip
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#7d5f2feae9035f1d3d9e6bb7f092dbf374d6bb4b25abd0d2d11f13bba1cb04de" ldflags_dirs standard verify_py30 ensurepip
|
install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#7d5f2feae9035f1d3d9e6bb7f092dbf374d6bb4b25abd0d2d11f13bba1cb04de" ldflags_dirs standard verify_py30
|
||||||
|
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
4
plugins/python-build/share/python-build/3.1
Normal file
4
plugins/python-build/share/python-build/3.1
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.1" "http://python.org/ftp/python/3.1/Python-3.1.tgz#99a034cf574ea3c26412b0a0728126d7fd6ea9593d099d807a25d216ed031e6a" ldflags_dirs standard verify_py31 ez_setup
|
||||||
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
4
plugins/python-build/share/python-build/3.1.1
Normal file
4
plugins/python-build/share/python-build/3.1.1
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.1.1" "http://python.org/ftp/python/3.1.1/Python-3.1.1.tgz#5d85d7bff11c4db44920af99f64f4227c816f897f6bfa9dd8a2611165ca5f0a1" ldflags_dirs standard verify_py31 ez_setup
|
||||||
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
4
plugins/python-build/share/python-build/3.1.2
Normal file
4
plugins/python-build/share/python-build/3.1.2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.1.2" "http://python.org/ftp/python/3.1.2/Python-3.1.2.tgz#dffbc0561a161a4a576c6059e6990a9859a0be16ba9b5736eabe4abbb2700d1c" ldflags_dirs standard verify_py31 ez_setup
|
||||||
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31 ensurepip
|
install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31 ez_setup
|
||||||
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31 ensurepip
|
install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31 ez_setup
|
||||||
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.1.5" "http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ensurepip
|
install_package "Python-3.1.5" "http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ez_setup
|
||||||
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.2" "http://python.org/ftp/python/3.2/Python-3.2.tgz#27b35bfcbbf01de9564c0265d72b58ba3ff3d56df0615765372f2aa09dc20da9" ldflags_dirs standard verify_py32 ensurepip
|
install_package "Python-3.2" "http://python.org/ftp/python/3.2/Python-3.2.tgz#27b35bfcbbf01de9564c0265d72b58ba3ff3d56df0615765372f2aa09dc20da9" ldflags_dirs standard verify_py32 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.2-dev" "https://bitbucket.org/mirror/cpython" "3.2" standard verify_py32 ensurepip
|
install_hg "Python-3.2-dev" "https://hg.python.org/cpython" "3.2" standard verify_py32 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz#7cff29d984696d9fe8c7bea54da5b9ad36acef33ff5cf0d3e37e4d12fb21c572" ldflags_dirs standard verify_py32 ensurepip
|
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz#7cff29d984696d9fe8c7bea54da5b9ad36acef33ff5cf0d3e37e4d12fb21c572" ldflags_dirs standard verify_py32 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.2.2" "http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz#acc6a13cb4fed0b7e86716324a8437e326645b8076177eede5a0cad99ec0313c" ldflags_dirs standard verify_py32 ensurepip
|
install_package "Python-3.2.2" "http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz#acc6a13cb4fed0b7e86716324a8437e326645b8076177eede5a0cad99ec0313c" ldflags_dirs standard verify_py32 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.2.3" "http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz#74c33e165edef7532cef95fd9a325a06878b5bfc8a5d038161573f283eaf9809" ldflags_dirs standard verify_py32 ensurepip
|
install_package "Python-3.2.3" "http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz#74c33e165edef7532cef95fd9a325a06878b5bfc8a5d038161573f283eaf9809" ldflags_dirs standard verify_py32 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.2.4" "http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz#71c3139908ccc1c544ba1e331a3c22b3f1c09f562438a054fd6f4e2628de8b9a" ldflags_dirs standard verify_py32 ensurepip
|
install_package "Python-3.2.4" "http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz#71c3139908ccc1c544ba1e331a3c22b3f1c09f562438a054fd6f4e2628de8b9a" ldflags_dirs standard verify_py32 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.2.5" "http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz#5eae0ab92a0bb9e3a1bf9c7cd046bc3de58996b049bd894d095978b6b085099f" ldflags_dirs standard verify_py32 ensurepip
|
install_package "Python-3.2.5" "http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz#5eae0ab92a0bb9e3a1bf9c7cd046bc3de58996b049bd894d095978b6b085099f" ldflags_dirs standard verify_py32 ensurepip
|
||||||
|
|||||||
3
plugins/python-build/share/python-build/3.2.6
Normal file
3
plugins/python-build/share/python-build/3.2.6
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tgz#fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e" ldflags_dirs standard verify_py32 ensurepip
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.3-dev" "https://bitbucket.org/mirror/cpython" "3.3" standard verify_py33 ensurepip
|
install_hg "Python-3.3-dev" "https://hg.python.org/cpython" "3.3" standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.3.0" "http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz#cfe531eaace2503e13a74addc7f4a89482e99f8b8fca51b469ae5c83f450604e" ldflags_dirs standard verify_py33 ensurepip
|
install_package "Python-3.3.0" "http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz#cfe531eaace2503e13a74addc7f4a89482e99f8b8fca51b469ae5c83f450604e" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.3.1" "http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz#671dc3632f311e63c6733703aa0a1ad90c99277ddc8299d39e487718a50319bd" ldflags_dirs standard verify_py33 ensurepip
|
install_package "Python-3.3.1" "http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz#671dc3632f311e63c6733703aa0a1ad90c99277ddc8299d39e487718a50319bd" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.3.2" "http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz#de664fca3b8e0ab20fb42bfed1a36e26f116f1853e88ada12dbc938761036172" ldflags_dirs standard verify_py33 ensurepip
|
install_package "Python-3.3.2" "http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz#de664fca3b8e0ab20fb42bfed1a36e26f116f1853e88ada12dbc938761036172" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.3.3" "http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz#30b60839bfe0ae8a2dba11e909328459bb8ee4a258afe7494b06b2ceda080efc" ldflags_dirs standard verify_py33 ensurepip
|
install_package "Python-3.3.3" "http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz#30b60839bfe0ae8a2dba11e909328459bb8ee4a258afe7494b06b2ceda080efc" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.3.4" "http://python.org/ftp/python/3.3.4/Python-3.3.4.tgz#ea055db9dd004a6ecd7690abc9734573763686dd768122316bae2dfd026412af" ldflags_dirs standard verify_py33 ensurepip
|
install_package "Python-3.3.4" "http://python.org/ftp/python/3.3.4/Python-3.3.4.tgz#ea055db9dd004a6ecd7690abc9734573763686dd768122316bae2dfd026412af" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.3.5" "http://python.org/ftp/python/3.3.5/Python-3.3.5.tgz#916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168" ldflags_dirs standard verify_py33 ensurepip
|
install_package "Python-3.3.5" "http://python.org/ftp/python/3.3.5/Python-3.3.5.tgz#916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
3
plugins/python-build/share/python-build/3.3.6
Normal file
3
plugins/python-build/share/python-build/3.3.6
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.3.6" "https://www.python.org/ftp/python/3.3.6/Python-3.3.6.tgz#0a58ad1f1def4ecc90b18b0c410a3a0e1a48cf7692c75d1f83d0af080e5d2034" ldflags_dirs standard verify_py33 ensurepip
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py34 ensurepip
|
install_hg "Python-3.4-dev" "https://hg.python.org/cpython" "3.4" standard verify_py34 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.4.0" "https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tgz#d2c83ea0217769a73e8b1ee33ffbca814903f8568e30f8d13e68e3d1f743449c" ldflags_dirs standard verify_py34 ensurepip
|
install_package "Python-3.4.0" "https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tgz#d2c83ea0217769a73e8b1ee33ffbca814903f8568e30f8d13e68e3d1f743449c" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_package "Python-3.4.1" "https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz#8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66" ldflags_dirs standard verify_py34 ensurepip
|
install_package "Python-3.4.1" "https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz#8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
|||||||
3
plugins/python-build/share/python-build/3.4.2
Normal file
3
plugins/python-build/share/python-build/3.4.2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.4.2" "https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz#44a3c1ef1c7ca3e4fd25242af80ed72da941203cb4ed1a8c1b724d9078965dd8" ldflags_dirs standard verify_py34 ensurepip
|
||||||
3
plugins/python-build/share/python-build/3.4.3
Normal file
3
plugins/python-build/share/python-build/3.4.3
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz#4281ff86778db65892c05151d5de738d" ldflags_dirs standard verify_py34 ensurepip
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
require_cc
|
#require_gcc
|
||||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.1-dev" "https://bitbucket.org/mirror/cpython" "3.1" standard verify_py31 ensurepip
|
install_hg "Python-3.5-dev" "https://hg.python.org/cpython" "3.5" standard verify_py35 ensurepip
|
||||||
3
plugins/python-build/share/python-build/3.5.0
Normal file
3
plugins/python-build/share/python-build/3.5.0
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_package "Python-3.5.0" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz#584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0" ldflags_dirs standard verify_py35 ensurepip
|
||||||
3
plugins/python-build/share/python-build/3.6-dev
Normal file
3
plugins/python-build/share/python-build/3.6-dev
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_hg "Python-3.6-dev" "https://hg.python.org/cpython" "default" standard verify_py36 ensurepip
|
||||||
19
plugins/python-build/share/python-build/anaconda-2.1.0
Normal file
19
plugins/python-build/share/python-build/anaconda-2.1.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda-2.1.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda-2.1.0-Linux-x86.sh#fd70c08719e6b5caae45b7c8402c6975a8cbc0e3e2a9c4c977554d1784f28b72" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda-2.1.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda-2.1.0-Linux-x86_64.sh#191fbf290747614929d0bdd576e330c944b22a67585d1c185e0d2b3a3e65e1c0" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda-2.1.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda-2.1.0-MacOSX-x86_64.sh#128fd4f53e0895e0d23f33e924ae32e01171c2914b044d2b157a9497108109cf" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda-2.2.0
Normal file
19
plugins/python-build/share/python-build/anaconda-2.2.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda-2.2.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda-2.2.0-Linux-x86.sh#6437d5b08a19c3501f2f5dc3ae1ae16f91adf6bed0f067ef0806a9911b1bef15" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda-2.2.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda-2.2.0-Linux-x86_64.sh#ca2582cb2188073b0f348ad42207211a2b85c10b244265b5b27bab04481b88a2" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda-2.2.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda-2.2.0-MacOSX-x86_64.sh#20570e2f3911e38a78d8f888f3ff445d6c0cf97a2fca40d6956b48d12aaef339" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda-2.3.0
Normal file
19
plugins/python-build/share/python-build/anaconda-2.3.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda-2.3.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda-2.3.0-Linux-x86.sh#73fdbbb3e38207ed18e5059f71676d18d48fdccbc455a1272eb45a60376cd818" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda-2.3.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda-2.3.0-Linux-x86_64.sh#7c02499e9511c127d225992cfe1cd815e88fd46cd8a5b3cdf764f3fb4d8d4576" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda-2.3.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda-2.3.0-MacOSX-x86_64.sh#c4bb59a57bf44dde80612041bbbcfd2e5cab8534842209ef456da7a46f919c33" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
"Linux-x86" )
|
"Linux-x86" )
|
||||||
install_script "Anaconda3-2.0.0-Linux-x86" "http://repo.continuum.io/anaconda3/Anaconda3-2.0.0-Linux-x86.sh#439761159d5604e182951650a478dd53caff52e9dccf17c20ae66689b7b289dd" "anaconda" verify_py34
|
install_script "Anaconda3-2.0.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.0.0-Linux-x86.sh#439761159d5604e182951650a478dd53caff52e9dccf17c20ae66689b7b289dd" "anaconda" verify_py34
|
||||||
;;
|
;;
|
||||||
"Linux-x86_64" )
|
"Linux-x86_64" )
|
||||||
install_script "Anaconda3-2.0.0-Linux-x86_64" "http://repo.continuum.io/anaconda3/Anaconda3-2.0.0-Linux-x86_64.sh#57ce4f97e300cf94c5724f72d992e9eecef708fdaa13bc672ae9779773056540" "anaconda" verify_py34
|
install_script "Anaconda3-2.0.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.0.0-Linux-x86_64.sh#57ce4f97e300cf94c5724f72d992e9eecef708fdaa13bc672ae9779773056540" "anaconda" verify_py34
|
||||||
;;
|
;;
|
||||||
"MacOSX-x86_64" )
|
"MacOSX-x86_64" )
|
||||||
install_script "Anaconda3-2.0.0-MacOSX-x86_64" "http://repo.continuum.io/anaconda3/Anaconda3-2.0.0-MacOSX-x86_64.sh#776a1cf8a8e898b41bb6558c093632cc922698dc48486fee35d1e8eae3f604fa" "anaconda" verify_py34
|
install_script "Anaconda3-2.0.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.0.0-MacOSX-x86_64.sh#776a1cf8a8e898b41bb6558c093632cc922698dc48486fee35d1e8eae3f604fa" "anaconda" verify_py34
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
{ echo
|
{ echo
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
"Linux-x86" )
|
"Linux-x86" )
|
||||||
install_script "Anaconda3-2.0.1-Linux-x86" "http://repo.continuum.io/anaconda3/Anaconda3-2.0.1-Linux-x86.sh#21293fabbd3d5cfbb1afe0c9a8b39e0bc4d283cd7dbe3c84a60b335481a41ef3" "anaconda" verify_py34
|
install_script "Anaconda3-2.0.1-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.0.1-Linux-x86.sh#21293fabbd3d5cfbb1afe0c9a8b39e0bc4d283cd7dbe3c84a60b335481a41ef3" "anaconda" verify_py34
|
||||||
;;
|
;;
|
||||||
"Linux-x86_64" )
|
"Linux-x86_64" )
|
||||||
install_script "Anaconda3-2.0.1-Linux-x86_64" "http://repo.continuum.io/anaconda3/Anaconda3-2.0.1-Linux-x86_64.sh#3c3b834793e461f3316ad1d9a9178c67859a9d74aaf7bcade076f04134dd1e26" "anaconda" verify_py34
|
install_script "Anaconda3-2.0.1-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.0.1-Linux-x86_64.sh#3c3b834793e461f3316ad1d9a9178c67859a9d74aaf7bcade076f04134dd1e26" "anaconda" verify_py34
|
||||||
;;
|
;;
|
||||||
"MacOSX-x86_64" )
|
"MacOSX-x86_64" )
|
||||||
install_script "Anaconda3-2.0.1-MacOSX-x86_64" "http://repo.continuum.io/anaconda3/Anaconda3-2.0.1-MacOSX-x86_64.sh#7a08509d4e45efcc7055a6d06d8406a773716500bd869a4e85312ff131155bd6" "anaconda" verify_py34
|
install_script "Anaconda3-2.0.1-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.0.1-MacOSX-x86_64.sh#7a08509d4e45efcc7055a6d06d8406a773716500bd869a4e85312ff131155bd6" "anaconda" verify_py34
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
{ echo
|
{ echo
|
||||||
|
|||||||
19
plugins/python-build/share/python-build/anaconda3-2.1.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-2.1.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-2.1.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.1.0-Linux-x86.sh#657cb599004c21e37ce693515ea33922e0084fd7c159ef1b96b57c86eed8385f" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-2.1.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.1.0-Linux-x86_64.sh#af3225ccbe8df0ffb918939e009aa57740e35058ebf9dfcf5fec794a77556c3c" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-2.1.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.1.0-MacOSX-x86_64.sh#efdb7e9d1e539cbed62dc3874b0de6a141f36684e6fbc05018e072b217e24077" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-2.2.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-2.2.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-2.2.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.2.0-Linux-x86.sh#223655cd256aa912dfc83ab24570e47bb3808bc3b0c6bd21b5db0fcf2750883e" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-2.2.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.2.0-Linux-x86_64.sh#4aac68743e7706adb93f042f970373a6e7e087dbf4b02ac467c94ca4ce33d2d1" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-2.2.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.2.0-MacOSX-x86_64.sh#81a2089ea6127717f146454e99ea0be2bd595193e4151bb05b4c15749b1d8124" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-2.3.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-2.3.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-2.3.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.3.0-Linux-x86.sh#4cc10d65c303191004ada2b6d75562c8ed84e42bf9871af06440dd956077b555" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-2.3.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.3.0-Linux-x86_64.sh#3be5410b2d9db45882c7de07c554cf4f1034becc274ec9074b23fd37a5c87a6f" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-2.3.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.3.0-MacOSX-x86_64.sh#6a0c94a49f41f9fda0138c8e966bd7b0a8965d6648fd21ffbd645d1453848ba5" "anaconda" verify_py34
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
2
plugins/python-build/share/python-build/ironpython-2.7.5
Normal file
2
plugins/python-build/share/python-build/ironpython-2.7.5
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
install_zip "IronPython-2.7.5" "https://github.com/IronLanguages/main/releases/download/ipy-2.7.5/IronPython-2.7.5.zip#d2651084a61a43379ce6c031f4f29c5e01ba96d1ff89a5282376dd4b84439b5b" ironpython
|
||||||
|
# FIXME: have not confirmed to install setuptools into IronPython yet
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
require_java
|
|
||||||
install_jar "jython-2.7-beta1" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7-b1/jython-installer-2.7-b1.jar" jython ez_setup
|
|
||||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
|
||||||
# * https://github.com/yyuu/pyenv/issues/15
|
|
||||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#12a9302acfca62cdc7bc5d83386cac3e0581db61ac39acdb3a4e766a16b88eb1" python
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user