mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-08 11:33:49 -05:00
Compare commits
692 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2178fb931c | ||
|
|
2ebab025f7 | ||
|
|
90ac836576 | ||
|
|
2f4caa83b7 | ||
|
|
fae20aece7 | ||
|
|
48aa0c491b | ||
|
|
f6384fe8d4 | ||
|
|
839c9e5c76 | ||
|
|
2a2cbea951 | ||
|
|
bc58ab54f8 | ||
|
|
6485409a55 | ||
|
|
8297de9ee0 | ||
|
|
09bc868ea8 | ||
|
|
fd0b8fcfb3 | ||
|
|
33873e9b4d | ||
|
|
d92e190dc8 | ||
|
|
faaa2d587a | ||
|
|
005a2e8914 | ||
|
|
24a3108499 | ||
|
|
b1d32217c3 | ||
|
|
8b0ec441da | ||
|
|
41f00c639d | ||
|
|
bb352f8822 | ||
|
|
2158e8224a | ||
|
|
0fe7d78503 | ||
|
|
fc23323ed4 | ||
|
|
63c00d9989 | ||
|
|
98878e5d12 | ||
|
|
0cbfcf09d4 | ||
|
|
0c909f7457 | ||
|
|
7c9ebc2727 | ||
|
|
269a702321 | ||
|
|
adc0365923 | ||
|
|
7dae19765c | ||
|
|
ad5a7f0c17 | ||
|
|
e9ad498fe3 | ||
|
|
753a9e826b | ||
|
|
52d6acc3b0 | ||
|
|
0314de0c73 | ||
|
|
37e4c2094f | ||
|
|
5ab088c707 | ||
|
|
3e08d43fd9 | ||
|
|
8fa1f43856 | ||
|
|
e93b170fe1 | ||
|
|
7add7793cd | ||
|
|
7467eec9de | ||
|
|
e83168655c | ||
|
|
4a707c27de | ||
|
|
734e40d8a5 | ||
|
|
440f044f0b | ||
|
|
bd32d489c1 | ||
|
|
bed627addd | ||
|
|
29436ffe6d | ||
|
|
d82324ecf9 | ||
|
|
1910e8667f | ||
|
|
cb579583bc | ||
|
|
7a6cbbcd08 | ||
|
|
3314420f2e | ||
|
|
1f3b0ae017 | ||
|
|
d3e40c34bb | ||
|
|
38e2067ad6 | ||
|
|
e0b0147056 | ||
|
|
88e46c4b5a | ||
|
|
ca00b8e2e9 | ||
|
|
02001dbfb3 | ||
|
|
033dae622d | ||
|
|
0849776306 | ||
|
|
d5b193e5b0 | ||
|
|
01d39850b5 | ||
|
|
d461b5f1d8 | ||
|
|
3fd23431af | ||
|
|
acbd736eb3 | ||
|
|
fd1fb13016 | ||
|
|
755c820724 | ||
|
|
b4330a48b1 | ||
|
|
a81da8d864 | ||
|
|
4e27113494 | ||
|
|
3292200786 | ||
|
|
a91b36b236 | ||
|
|
d15f3888f0 | ||
|
|
1ec90481e8 | ||
|
|
95818ab802 | ||
|
|
bbd8f2c01e | ||
|
|
30212f0054 | ||
|
|
27a7466f15 | ||
|
|
23d819ed69 | ||
|
|
da80a3d3cc | ||
|
|
0a69dbd818 | ||
|
|
aad7c0e055 | ||
|
|
19e70e34a0 | ||
|
|
19048f1b60 | ||
|
|
7209cc490e | ||
|
|
f5e49fe6fa | ||
|
|
ff666ab489 | ||
|
|
be2e606fbd | ||
|
|
bcc8ab231a | ||
|
|
29126e4965 | ||
|
|
ae11c56565 | ||
|
|
eef042ad89 | ||
|
|
bec978d0f6 | ||
|
|
b3efcc9d15 | ||
|
|
fe1bd31443 | ||
|
|
45f1d19240 | ||
|
|
cb2a5b3cea | ||
|
|
6404661372 | ||
|
|
69cfc1a3e2 | ||
|
|
00165f5796 | ||
|
|
acfbc96614 | ||
|
|
c148ac9f89 | ||
|
|
df52586134 | ||
|
|
e5d8edf1d9 | ||
|
|
030821e618 | ||
|
|
46a6adea6b | ||
|
|
cd22737d70 | ||
|
|
459a535228 | ||
|
|
cf38195541 | ||
|
|
98f40f6d6e | ||
|
|
a5619caf54 | ||
|
|
23f62aeb75 | ||
|
|
7625d20ee4 | ||
|
|
edd5b932d6 | ||
|
|
b7451d7280 | ||
|
|
81c2e4b32e | ||
|
|
250208261f | ||
|
|
d1ff898a2b | ||
|
|
d12120a4bf | ||
|
|
b1dd4a8130 | ||
|
|
f1a22c104c | ||
|
|
8b0de41c4a | ||
|
|
0e683164bd | ||
|
|
8ce9928819 | ||
|
|
d01fa09a7d | ||
|
|
3d36ee7227 | ||
|
|
98a879bdb0 | ||
|
|
4107496053 | ||
|
|
291b6fb2be | ||
|
|
7d50714105 | ||
|
|
ba620fd076 | ||
|
|
3cf9586b92 | ||
|
|
b7d89bacf3 | ||
|
|
3a4c7cf200 | ||
|
|
ad8f2886ae | ||
|
|
9a99d427ef | ||
|
|
6bb14c60da | ||
|
|
d9c933e0c0 | ||
|
|
19cb9f535a | ||
|
|
84c4ed5230 | ||
|
|
235eea3003 | ||
|
|
688c0af0cd | ||
|
|
c1af5ab0a9 | ||
|
|
e09d61780c | ||
|
|
4cef3d74ac | ||
|
|
f36d735e27 | ||
|
|
a6776562c1 | ||
|
|
9c4e489637 | ||
|
|
afbd54dd13 | ||
|
|
99b510859d | ||
|
|
2657f1049c | ||
|
|
99d16707e3 | ||
|
|
57f946550a | ||
|
|
ccaab86c4c | ||
|
|
db4cc6097f | ||
|
|
54e7796eee | ||
|
|
bf613e3d54 | ||
|
|
25c6817c48 | ||
|
|
0464221edb | ||
|
|
4d96271113 | ||
|
|
322aa82ae7 | ||
|
|
9833be730a | ||
|
|
e3c8a754a4 | ||
|
|
2d5fc1b749 | ||
|
|
001c824744 | ||
|
|
fa80772142 | ||
|
|
0c7d2205ff | ||
|
|
4f719b7909 | ||
|
|
134d38fc53 | ||
|
|
3531ad06b2 | ||
|
|
767bcae71c | ||
|
|
0256ff06e8 | ||
|
|
2552329dbd | ||
|
|
ac0dd36da8 | ||
|
|
4f8925abe7 | ||
|
|
8eb97549e1 | ||
|
|
095ca59878 | ||
|
|
fed6d25cb1 | ||
|
|
7203a96cd7 | ||
|
|
cf7fe1d87f | ||
|
|
1000c2fa99 | ||
|
|
fc7ceb4176 | ||
|
|
a73d90b9a0 | ||
|
|
c024fc8428 | ||
|
|
a08f82cab8 | ||
|
|
f39fc3a71a | ||
|
|
5826d4275b | ||
|
|
c930df95b2 | ||
|
|
dce5f750ce | ||
|
|
d72b977846 | ||
|
|
935fdb003b | ||
|
|
e60ad4a090 | ||
|
|
6ced4e25de | ||
|
|
2207c27cb4 | ||
|
|
c4d97ad392 | ||
|
|
1b751261ce | ||
|
|
53cf2e3387 | ||
|
|
bde4786577 | ||
|
|
30baff8e5d | ||
|
|
0f6c5ac9b7 | ||
|
|
08fc271fca | ||
|
|
956b9efe0f | ||
|
|
1c63e733f8 | ||
|
|
b9d8a75c8b | ||
|
|
635d83e26c | ||
|
|
74ba392548 | ||
|
|
3ec652e0b1 | ||
|
|
c59b1d55c4 | ||
|
|
bfbc9e280b | ||
|
|
fb8801120b | ||
|
|
1ca671cc6a | ||
|
|
dffd62e2cb | ||
|
|
8f7fb57fbb | ||
|
|
6540dd7ca5 | ||
|
|
293ffb04a6 | ||
|
|
0d1a5b3030 | ||
|
|
41606c4307 | ||
|
|
114f4f6d49 | ||
|
|
a80f54307e | ||
|
|
709ff7fba7 | ||
|
|
0ba2cec70e | ||
|
|
eb2e5ac4c4 | ||
|
|
6e658f30a9 | ||
|
|
1dee022342 | ||
|
|
31a3aec870 | ||
|
|
22ab0f8b2f | ||
|
|
e04f2720b4 | ||
|
|
aa36a3f69c | ||
|
|
7718410061 | ||
|
|
d5f18d4d82 | ||
|
|
725ff0c5dd | ||
|
|
ddc9b4d861 | ||
|
|
bf0cdcf980 | ||
|
|
5fe403d7da | ||
|
|
77981bbf1a | ||
|
|
e198792df2 | ||
|
|
72d6b75b5c | ||
|
|
a87877c381 | ||
|
|
ff67dc7036 | ||
|
|
096f0e2ba6 | ||
|
|
35ecd398ac | ||
|
|
9f3f38d312 | ||
|
|
021b53f924 | ||
|
|
8f4a361414 | ||
|
|
e5ce793ad5 | ||
|
|
0e298b691d | ||
|
|
4336d8b43a | ||
|
|
46bc0b7558 | ||
|
|
858b318779 | ||
|
|
b662634abf | ||
|
|
c7dcaf1259 | ||
|
|
7a957c5488 | ||
|
|
4e4bd42020 | ||
|
|
d24ce2494b | ||
|
|
8acb4ebaba | ||
|
|
4441eeada7 | ||
|
|
80e769e8d6 | ||
|
|
e48c2d2f66 | ||
|
|
7ee7eb108d | ||
|
|
800488bbc1 | ||
|
|
e03cb557b0 | ||
|
|
866dcd408e | ||
|
|
7890b27bcf | ||
|
|
7fed8c9c54 | ||
|
|
1f9eb6b25d | ||
|
|
ed1bcc755a | ||
|
|
7ac203bc11 | ||
|
|
53fd32c2b6 | ||
|
|
d74daad8f5 | ||
|
|
5be82cb363 | ||
|
|
89a150f434 | ||
|
|
7214f59385 | ||
|
|
1fc3b48907 | ||
|
|
47b6f545f3 | ||
|
|
ea7ae1ba1a | ||
|
|
8b982b1cd4 | ||
|
|
fe25b85982 | ||
|
|
a2298f7660 | ||
|
|
fd19e45fa9 | ||
|
|
7531e7779f | ||
|
|
9c78edcdaf | ||
|
|
8305eaefe3 | ||
|
|
bc4abf06bd | ||
|
|
36647a66de | ||
|
|
79fca42c35 | ||
|
|
9dcc477c3f | ||
|
|
5462e8df8c | ||
|
|
61ce66a7c6 | ||
|
|
d0779fc8fb | ||
|
|
bde78e83a0 | ||
|
|
a0c5fe42e9 | ||
|
|
3e433b2949 | ||
|
|
d3b71cfb0b | ||
|
|
ba945d229c | ||
|
|
4e192a6851 | ||
|
|
85354377dd | ||
|
|
654b645984 | ||
|
|
e44f7399f5 | ||
|
|
45173d1f67 | ||
|
|
baeecdfc7d | ||
|
|
b2ee05b931 | ||
|
|
6601c34408 | ||
|
|
7417b6d57f | ||
|
|
3d89369f50 | ||
|
|
c6ff64220f | ||
|
|
44df355099 | ||
|
|
414a512f47 | ||
|
|
165fbb2c1d | ||
|
|
11476f7a31 | ||
|
|
15b336da84 | ||
|
|
d15140fea6 | ||
|
|
955d517588 | ||
|
|
e7943da3f5 | ||
|
|
dcc109f8be | ||
|
|
778bb2e10f | ||
|
|
12447f67f5 | ||
|
|
e29dd67ce8 | ||
|
|
e23b9e90b4 | ||
|
|
7dd33c27c2 | ||
|
|
cbcf03d327 | ||
|
|
7fadd939ad | ||
|
|
4e10692a1e | ||
|
|
fb757053c8 | ||
|
|
949c1dab8d | ||
|
|
d8559b9749 | ||
|
|
4469d51ef7 | ||
|
|
4f76be6a12 | ||
|
|
81b89e16db | ||
|
|
a62f1a4423 | ||
|
|
a02f5dde4f | ||
|
|
cf1beda362 | ||
|
|
8aebe3b43d | ||
|
|
9a10674ab9 | ||
|
|
66c8ca6cff | ||
|
|
3a1379cb34 | ||
|
|
99342d642f | ||
|
|
740fbe4bda | ||
|
|
0c7224af95 | ||
|
|
93ece2ac16 | ||
|
|
36138f4901 | ||
|
|
bc8dba4bea | ||
|
|
1b35cfaa2c | ||
|
|
83e874a165 | ||
|
|
8eefa41a4d | ||
|
|
57a902f36a | ||
|
|
07fd1ae66b | ||
|
|
b8885e4fe2 | ||
|
|
a456528be8 | ||
|
|
6030ea51e4 | ||
|
|
2485257424 | ||
|
|
5c83c4abb7 | ||
|
|
7da05ee964 | ||
|
|
21131ee493 | ||
|
|
ac07d63780 | ||
|
|
ad9805a455 | ||
|
|
e0fdded2cd | ||
|
|
4df7cf2dd6 | ||
|
|
e93ae00ca1 | ||
|
|
a761ff602d | ||
|
|
253d79503d | ||
|
|
f3e7005fb1 | ||
|
|
2ad9dfd217 | ||
|
|
9e8df34124 | ||
|
|
7a61486b5c | ||
|
|
c3cefd9588 | ||
|
|
4771e05c53 | ||
|
|
331f68260b | ||
|
|
26ac59fd1d | ||
|
|
c803130a9d | ||
|
|
7860ad5268 | ||
|
|
24ba8ce904 | ||
|
|
727b8b02ac | ||
|
|
de4c2a91d4 | ||
|
|
aedbd8d046 | ||
|
|
25d3ca7fdf | ||
|
|
081f539cbc | ||
|
|
1e75a11d32 | ||
|
|
7d709586ee | ||
|
|
962c7827fb | ||
|
|
e8c1f0dccf | ||
|
|
0e698ffc4c | ||
|
|
5298c4bd1b | ||
|
|
9cd200b98c | ||
|
|
efef9d8c5c | ||
|
|
5e7bd78766 | ||
|
|
4967a7f495 | ||
|
|
803697feb2 | ||
|
|
fcbb1a24fd | ||
|
|
f22d0e969b | ||
|
|
3d263c8fa3 | ||
|
|
ae40042ff8 | ||
|
|
8579fd4567 | ||
|
|
c4e012d5e3 | ||
|
|
f64f7c7c49 | ||
|
|
0dcce750b9 | ||
|
|
a300254841 | ||
|
|
57df303a2c | ||
|
|
aed0eaeceb | ||
|
|
bbe84d0411 | ||
|
|
2145efec42 | ||
|
|
cd3ace7d97 | ||
|
|
8781d132e7 | ||
|
|
f66b8ead99 | ||
|
|
8b414ce31d | ||
|
|
aa7b6420ce | ||
|
|
216244fbac | ||
|
|
4c654d703e | ||
|
|
02c7589d2a | ||
|
|
69d5656311 | ||
|
|
4d64f84a25 | ||
|
|
42cffbc82d | ||
|
|
c8c40cff21 | ||
|
|
10957b786a | ||
|
|
9e07319cf9 | ||
|
|
03f8029c41 | ||
|
|
5f20bc258f | ||
|
|
75fd97803d | ||
|
|
9993d13996 | ||
|
|
c71cf59f50 | ||
|
|
8ea88dee1c | ||
|
|
97da7c40e7 | ||
|
|
1921dbef18 | ||
|
|
0a73b8f886 | ||
|
|
4a8947d1a6 | ||
|
|
e748c14db8 | ||
|
|
cd3103340c | ||
|
|
4543ff88bc | ||
|
|
2017dd0c25 | ||
|
|
24d05343f8 | ||
|
|
aa305d2c3d | ||
|
|
73ca25e49b | ||
|
|
25184d9fca | ||
|
|
d948274305 | ||
|
|
444bb360a8 | ||
|
|
d0fae57c4d | ||
|
|
37ad781061 | ||
|
|
a8664a2339 | ||
|
|
9fdce5d069 | ||
|
|
d246e20764 | ||
|
|
78b9cee98e | ||
|
|
f72fc8eabc | ||
|
|
180ff6c955 | ||
|
|
6a8003d56d | ||
|
|
739392a2e4 | ||
|
|
0a19b2fa02 | ||
|
|
d594bcadb3 | ||
|
|
eb6e24cef1 | ||
|
|
9c12b302eb | ||
|
|
cdf7e6c924 | ||
|
|
bd312d652e | ||
|
|
916d0eae8e | ||
|
|
23364549d7 | ||
|
|
e92a7de031 | ||
|
|
8ef30d9e4d | ||
|
|
74d5dba06a | ||
|
|
6bd7927333 | ||
|
|
4684507021 | ||
|
|
12069a1118 | ||
|
|
30538b0672 | ||
|
|
fd893ea3b0 | ||
|
|
be3fc6d8cb | ||
|
|
7467c88780 | ||
|
|
d75b1a12d7 | ||
|
|
7db657beb5 | ||
|
|
41ce3aade2 | ||
|
|
0c4392bf16 | ||
|
|
d2e2c61c51 | ||
|
|
e1aac2a12c | ||
|
|
b1cccdb24c | ||
|
|
121159c089 | ||
|
|
8b0b51a166 | ||
|
|
29b4da7737 | ||
|
|
b81f0a2c42 | ||
|
|
a6f1f480eb | ||
|
|
d8fe9fd0cb | ||
|
|
dc97ef3dbe | ||
|
|
efb00b65bf | ||
|
|
5436020ec3 | ||
|
|
b37361b862 | ||
|
|
90e6e30d63 | ||
|
|
ad7dfa63ab | ||
|
|
35ca51fe88 | ||
|
|
a0e0f1637a | ||
|
|
cd8f61b5e0 | ||
|
|
fbc40aae77 | ||
|
|
b116f341fe | ||
|
|
c8ab429d7b | ||
|
|
f2f703d6d9 | ||
|
|
2de5ca0846 | ||
|
|
425e44d064 | ||
|
|
d6ab394efd | ||
|
|
d29ba1f80e | ||
|
|
b84b9ce532 | ||
|
|
dcec0cedf4 | ||
|
|
1dc9ef24df | ||
|
|
6a912bf104 | ||
|
|
c38833179b | ||
|
|
565798d617 | ||
|
|
0f7a2cad8d | ||
|
|
5ccba5d7cc | ||
|
|
2cc2ec160e | ||
|
|
5c5205e172 | ||
|
|
a95ccd09a2 | ||
|
|
e199a3d8f7 | ||
|
|
fec0f56d0b | ||
|
|
fe809ea90d | ||
|
|
f880dc6d6f | ||
|
|
3c9674453f | ||
|
|
22f4980a21 | ||
|
|
abbcde665c | ||
|
|
c9c9415154 | ||
|
|
3997a394d9 | ||
|
|
e0b85397c8 | ||
|
|
e554cd86c3 | ||
|
|
38692f97fe | ||
|
|
7e5680a0d8 | ||
|
|
d51f6d4376 | ||
|
|
a9a9636d1e | ||
|
|
32030e2ed9 | ||
|
|
f9d8b551dc | ||
|
|
2c7960102c | ||
|
|
1a0be6f0ad | ||
|
|
6481cbb172 | ||
|
|
6e30032278 | ||
|
|
4fde4ecbaf | ||
|
|
40c1d27445 | ||
|
|
97f0499f43 | ||
|
|
c3a5f91ed0 | ||
|
|
258e4413b1 | ||
|
|
a62a75369e | ||
|
|
ba072adcb9 | ||
|
|
ca25259900 | ||
|
|
4c06f23aaf | ||
|
|
046f5bde02 | ||
|
|
c678bb1eaa | ||
|
|
5e72a4c3e3 | ||
|
|
23669162c0 | ||
|
|
01835c2682 | ||
|
|
4243ac6ffc | ||
|
|
b0f29d511a | ||
|
|
3031cb9750 | ||
|
|
6bcb1d6211 | ||
|
|
3d1ba0c58c | ||
|
|
68e8945f74 | ||
|
|
3ddbb19663 | ||
|
|
763a30bb1d | ||
|
|
9a33ce643e | ||
|
|
b29c54ee0a | ||
|
|
58275fc52b | ||
|
|
dc4b355aad | ||
|
|
9f1daac9f7 | ||
|
|
471fa24531 | ||
|
|
f228825879 | ||
|
|
8c96897495 | ||
|
|
659e532701 | ||
|
|
5f0056886a | ||
|
|
bc322b0238 | ||
|
|
6251c3bad5 | ||
|
|
526fa03968 | ||
|
|
d6e0120cc8 | ||
|
|
66bd348600 | ||
|
|
03ece82197 | ||
|
|
90373d78b9 | ||
|
|
dc23ef10b6 | ||
|
|
3c7a13d81f | ||
|
|
e66dcf258c | ||
|
|
fab6a0fcd1 | ||
|
|
c4968f7a48 | ||
|
|
d0e9cd7d7e | ||
|
|
3185dee8a2 | ||
|
|
05615587d0 | ||
|
|
20755cfc15 | ||
|
|
df4c16ecb4 | ||
|
|
132179d0ca | ||
|
|
b6cdfcf5dc | ||
|
|
c78f079078 | ||
|
|
2767461235 | ||
|
|
20432dda88 | ||
|
|
f27e3ebb94 | ||
|
|
7718afbca2 | ||
|
|
28766056b2 | ||
|
|
dbf8b2fb65 | ||
|
|
aaec35859d | ||
|
|
54f7944ae2 | ||
|
|
96bfa1532d | ||
|
|
ebd6c1aee3 | ||
|
|
a8f8f0ae0c | ||
|
|
a50d0492b3 | ||
|
|
a6dbb11dca | ||
|
|
43abe13db9 | ||
|
|
f0e8bdcdaf | ||
|
|
f85c41b14f | ||
|
|
75a1dd25cd | ||
|
|
465bd1f3e8 | ||
|
|
96be89835e | ||
|
|
a1ef9efc80 | ||
|
|
87dd5fe2c0 | ||
|
|
3428431aef | ||
|
|
8841f7788d | ||
|
|
8da3749648 | ||
|
|
94bce8abf8 | ||
|
|
f62ee1a4db | ||
|
|
e7b0d99601 | ||
|
|
5fb9c84e14 | ||
|
|
d138f5f5e4 | ||
|
|
3ddedc021a | ||
|
|
a22adc77eb | ||
|
|
a3ff3adc39 | ||
|
|
2dcb9d0611 | ||
|
|
a6cb4b6317 | ||
|
|
2f917312f1 | ||
|
|
d1f8081d1c | ||
|
|
63671a1479 | ||
|
|
d7ca2aba2a | ||
|
|
2c4dd63f77 | ||
|
|
06e4f1b682 | ||
|
|
825de5d2e3 | ||
|
|
6e3dd80f15 | ||
|
|
d5a5cd1aae | ||
|
|
195942f22e | ||
|
|
daaa1aab6d | ||
|
|
8f87f43e22 | ||
|
|
c30e096a54 | ||
|
|
3405c4d03c | ||
|
|
09b18cf6f5 | ||
|
|
fcedf169fb | ||
|
|
14655a43c8 | ||
|
|
8c3cab61c7 | ||
|
|
6296bf3f8b | ||
|
|
9ca7de5b6c | ||
|
|
3d1c38f1a8 | ||
|
|
12ad6f670b | ||
|
|
9163c46568 | ||
|
|
204ded5a55 | ||
|
|
3937dc3618 | ||
|
|
8f25eabbbc | ||
|
|
cb65df8bec | ||
|
|
0daf04a71b | ||
|
|
52544e6956 | ||
|
|
39a6b097f7 | ||
|
|
f19ab5fea2 | ||
|
|
6c3dd0a24f | ||
|
|
c18a3f9042 | ||
|
|
f6c1e5220a | ||
|
|
d740406daf | ||
|
|
7026e529c7 | ||
|
|
e80886e9be | ||
|
|
6e02b944f7 | ||
|
|
bb129a782b | ||
|
|
d508822f9a | ||
|
|
6913fee89a | ||
|
|
074161f9c1 | ||
|
|
2b0f16757a | ||
|
|
7b289bcee6 | ||
|
|
8dcd715ede | ||
|
|
dcca61c0bc | ||
|
|
155012911c | ||
|
|
bdfe6d383f | ||
|
|
efdba2d76b | ||
|
|
0f44c57d08 | ||
|
|
efb187f26f | ||
|
|
c101052a7f | ||
|
|
51a1ee06e4 | ||
|
|
8a0555f8ef | ||
|
|
55f692ba9c | ||
|
|
3a265c1af9 | ||
|
|
c43928a8e4 | ||
|
|
c6cf4e18b8 | ||
|
|
9e664b5d27 | ||
|
|
3b6faa8531 | ||
|
|
e3982fae38 | ||
|
|
83ac0fbd94 | ||
|
|
46fbc5414a | ||
|
|
43b28caa94 | ||
|
|
4ea7d0849b | ||
|
|
5b9e4f0584 | ||
|
|
06c1959e78 | ||
|
|
0cd078bae6 | ||
|
|
7ad01b2b48 | ||
|
|
8c6b764a4c | ||
|
|
050f750563 | ||
|
|
55341f4436 | ||
|
|
c9a96c9f79 | ||
|
|
024bee1a6f | ||
|
|
5c1094adb9 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -6,4 +6,5 @@
|
|||||||
/libexec/*.dylib
|
/libexec/*.dylib
|
||||||
/src/Makefile
|
/src/Makefile
|
||||||
/src/*.o
|
/src/*.o
|
||||||
bats/
|
/bats/
|
||||||
|
/default-packages
|
||||||
|
|||||||
224
CHANGELOG.md
224
CHANGELOG.md
@@ -1,11 +1,223 @@
|
|||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
## v1.1.4
|
||||||
|
|
||||||
|
* pyenv: Workaround for scripts in `$PATH` which needs to be source'd (#100, #688, #953)
|
||||||
|
* python-build: Add support for PyPy3 executables like `libpypy3-c.so` (#955, #956)
|
||||||
|
* python-build: Add CPython 2.7.14, 3.4.7, 3.5.4 (#965, #971, #980)
|
||||||
|
* python-build: Add Jython 2.7.1 (#973)
|
||||||
|
|
||||||
|
## v1.1.3
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.2 (#951)
|
||||||
|
|
||||||
|
## v1.1.2
|
||||||
|
|
||||||
|
* pyenv: Fix incorrect `pyenv --version` output in v1.1.1 (#947)
|
||||||
|
|
||||||
|
## v1.1.1
|
||||||
|
|
||||||
|
* python-build: Update links to Portable Pypy 5.8-1 bugfix release, affects pypy2.7-5.8.0 and pypy3.5-5.8.0 definitions (#939)
|
||||||
|
|
||||||
|
## v1.1.0
|
||||||
|
|
||||||
|
* python-build: Add PyPy 5.7.1 (#888)
|
||||||
|
* pyenv: Merge rbenv master (#927)
|
||||||
|
* python-build: Add PyPy 5.8.0 (#932)
|
||||||
|
* python-build: Anaconda[23] 4.4.0
|
||||||
|
* python-build: Add micropython-dev
|
||||||
|
|
||||||
|
## 1.0.10
|
||||||
|
|
||||||
|
* python-build: Add Anaconda2/Anaconda3 4.3.1 (#876)
|
||||||
|
* python-build: Make miniconda-latest point to miniconda2-latest (#881)
|
||||||
|
* python-build: Fix typo in MacOS packages for anaconda2-4.3.0/4.2.0 (#880)
|
||||||
|
|
||||||
|
## 1.0.9
|
||||||
|
|
||||||
|
* pyenv: Migrate project site from https://github.com/yyuu/pyenv to https://github.com/pyenv/pyenv
|
||||||
|
* python-build: Add PyPy2 5.7.0 (#872, #868)
|
||||||
|
* python-build: Add PyPy3 5.7.0-beta (#871, #869)
|
||||||
|
* python-build: Add CPython 3.6.1 (#873)
|
||||||
|
* python-build: Add Pyston 0.6.1 (#859)
|
||||||
|
* python-build: Change default mirror site URL from https://yyuu.github.io/pythons to https://pyenv.github.io/pythons
|
||||||
|
* python-build: Upgrade OpenSSL from 1.0.2g to 1.0.2k (#850)
|
||||||
|
|
||||||
|
## 1.0.8
|
||||||
|
|
||||||
|
* pyenv: Fix fish subcommand completion (#831)
|
||||||
|
* python-build: Add Anaconda2/Anaconda3 4.3.0 (#824)
|
||||||
|
* python-build: Use CPython on GitHub as the source repository of CPython development versions (#836, #837)
|
||||||
|
* python-build: Fix checksum verification issue on the platform where OpenSSL isn't available (#840)
|
||||||
|
|
||||||
|
## 1.0.7
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.5.3 (#811)
|
||||||
|
* python-build: Add CPython 3.4.6 (#812)
|
||||||
|
* python-build: Fix tar.gz checksum of CPython 3.6.0 (#793)
|
||||||
|
* python-build: Jython installer workaround (#800)
|
||||||
|
* python-build: Disable optimization (`-O0`) when `--debug` was specified (#808)
|
||||||
|
|
||||||
|
## 1.0.6
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.0 (#787)
|
||||||
|
|
||||||
|
## 1.0.5
|
||||||
|
|
||||||
|
* python-build: Add CPython 2.7.13 (#782)
|
||||||
|
* python-build: Add CPython 3.6.0rc2 (#781)
|
||||||
|
* python-build: Add Anaconda 4.2.0 (#774)
|
||||||
|
* python-build: Add Anaconda3 4.2.0 (#765)
|
||||||
|
* python-build: Add IronPython 2.7.7 (#755)
|
||||||
|
|
||||||
|
## 1.0.4
|
||||||
|
|
||||||
|
* python-build: Add PyPy 5.6.0 (#751)
|
||||||
|
* python-build: Add PyPy3 3.5 nightlies (`pypy3.5-c-jit-latest` #737)
|
||||||
|
* python-build: Add Stackless 2.7.12 (#753)
|
||||||
|
* python-build: Add Stackless 2.7.11
|
||||||
|
* python-build: Add Stackless 2.7.10
|
||||||
|
* python-build: Add Pyston 0.6.0
|
||||||
|
* python-build: Add CPython 3.6.0b4 (#762)
|
||||||
|
|
||||||
|
## 1.0.3
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.0b3 (#731, #744)
|
||||||
|
* python-build: Add PyPy3.3 5.5-alpha (#734, #736)
|
||||||
|
* python-build: Stop specifying `--enable-unicode=ucs4` on OS X (#257, #726)
|
||||||
|
* python-build: Fix 3.6-dev and add 3.7-dev (#729, #730)
|
||||||
|
* python-build: Add a patch for https://bugs.python.org/issue26664 (#725)
|
||||||
|
* python-build: Add Pyston 0.5.1 (#718)
|
||||||
|
* python-build: Add Stackless 3.4.2 (#720)
|
||||||
|
* python-build: Add IronPython 2.7.6.3 (#716)
|
||||||
|
* python-build: Add Stackless 2.7.9 (#714)
|
||||||
|
|
||||||
|
## 1.0.2
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.0b1 (#699)
|
||||||
|
* python-build: Add anaconda[23] 4.1.1 (#701, #702)
|
||||||
|
* python-build: Add miniconda[23] 4.1.11 (#703, #704, #706)
|
||||||
|
* python-build: Remove `bin.orig` if exists to fix an issue with `--enable-framework` (#687, #700)
|
||||||
|
|
||||||
|
## 1.0.1
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.0a4 (#673)
|
||||||
|
* python-build: Add PyPy2 5.4, 5.4.1 (#683, #684, #695, #697)
|
||||||
|
* python-build: Add PyPy Portable 5.4, 5.4.1 (#685, #686, #696)
|
||||||
|
* python-build: Make all HTTP source URLs to HTTPS (#680)
|
||||||
|
|
||||||
|
## 1.0.0
|
||||||
|
|
||||||
|
* pyenv: Import latest changes from rbenv as of Aug 15, 2016 (#669)
|
||||||
|
* pyenv: Add workaround for system python at `/bin/python` (#628)
|
||||||
|
* python-build: Import changes from ruby-build v20160602 (#668)
|
||||||
|
|
||||||
|
## 20160726
|
||||||
|
|
||||||
|
* python-build: pypy-5.3.1: Remove stray text (#648)
|
||||||
|
* python-build: Add CPython 3.6.0a3 (#657)
|
||||||
|
* python-build: Add anaconda[23]-4.1.0
|
||||||
|
* pyenv: Keep using `.tar.gz` archives if tar doesn't support `-J` (especially on BSD) (#654, #663)
|
||||||
|
* pyenv: Fixed conflict between pyenv-virtualenv's `rehash` hooks of `envs.bash`
|
||||||
|
* pyenv: Write help message of `sh-*` commands to stdout properly (#650, #651)
|
||||||
|
|
||||||
|
## 20160629
|
||||||
|
|
||||||
|
* python-build: Added CPython 2.7.12 (#645)
|
||||||
|
* python-build: Added PyPy 3.5.1 (#646)
|
||||||
|
* python-build: Added PyPy Portable 5.3.1
|
||||||
|
|
||||||
|
## 20160628
|
||||||
|
|
||||||
|
* python-build: Added PyPy3.3 5.2-alpha1 (#631)
|
||||||
|
* python-build: Added CPython 2.7.12rc1
|
||||||
|
* python-build: Added CPython 3.6.0a2 (#630)
|
||||||
|
* python-build: Added CPython 3.5.2 (#643)
|
||||||
|
* python-build: Added CPython 3.4.5 (#643)
|
||||||
|
* python-build: Added PyPy2 5.3 (#626)
|
||||||
|
* pyenv: Skip creating shims for system executables bundled with Anaconda rather than ignoring them in `pyenv-which` (#594, #595, #599)
|
||||||
|
* python-build: Configured GCC as a requirement to build CPython prior to 2.4.4 (#613)
|
||||||
|
* python-build: Use `aria2c` - ultra fast download utility if available (#534)
|
||||||
|
|
||||||
|
## 20160509
|
||||||
|
|
||||||
|
* python-build: Fixed wrong SHA256 of `pypy-5.1-linux_x86_64-portable.tar.bz2` (#586, #587)
|
||||||
|
* python-build: Added miniconda[23]-4.0.5
|
||||||
|
* python-build: Added PyPy (Portable) 5.1.1 (#591, #592, #593)
|
||||||
|
|
||||||
|
## 20160422
|
||||||
|
|
||||||
|
* python-build: Added PyPy 5.1 (#579)
|
||||||
|
* python-build: Added PyPy 5.1 Portable
|
||||||
|
* python-build: Added PyPy 5.0.1 (#558)
|
||||||
|
* python-build: Added PyPy 5.0.1 Portable
|
||||||
|
* python-build: Added PyPy 5.0 Portable
|
||||||
|
* python-build: Added anaconda[23]-4.0.0 (#572)
|
||||||
|
* python-build: Added Jython 2.7.1b3 (#557)
|
||||||
|
|
||||||
|
## 20160310
|
||||||
|
|
||||||
|
* python-build: Add PyPy-5.0.0 (#555)
|
||||||
|
* pyenv: Import recent changes from rbenv 1.0 (#549)
|
||||||
|
|
||||||
|
## 20160303
|
||||||
|
|
||||||
|
* python-build: Add anaconda[23]-2.5.0 (#543)
|
||||||
|
* python-build: Import recent changes from ruby-build 20160130
|
||||||
|
* python-build: Compile with `--enable-unicode=ucs4` by default for CPython (#257, #542)
|
||||||
|
* python-build: Switch download URL of Continuum products from HTTP to HTTPS (#543)
|
||||||
|
* python-build: Added pypy-dev special case in pyenv-install to use py27 (#547)
|
||||||
|
* python-build: Upgrade OpenSSL to 1.0.2g (#550)
|
||||||
|
|
||||||
|
## 20160202
|
||||||
|
|
||||||
|
* pyenv: Run rehash automatically after `conda install`
|
||||||
|
* python-build: Add CPython 3.4.4 (#511)
|
||||||
|
* python-build: Add anaconda[23]-2.4.1, miniconda[23]-3.19.0
|
||||||
|
* python-build: Fix broken build definitions of CPython/Stackless 3.2.x (#531)
|
||||||
|
|
||||||
|
### 20151222
|
||||||
|
|
||||||
|
* pyenv: Merge recent changes from rbenv as of 2015-12-14 (#504)
|
||||||
|
* python-build: Add a `OPENSSL_NO_SSL3` patch for CPython 2.6, 2.7, 3.0, 3.1, 3.2 and 3.3 series (#507, #511)
|
||||||
|
* python-build: Stopped using mirror at pyenv.github.io for CPython since http://www.python.org is on fast.ly
|
||||||
|
|
||||||
|
### 20151210
|
||||||
|
|
||||||
|
* pyenv: Add a default hook for Anaconda to look for original `$PATH` (#491)
|
||||||
|
* pyenv: Skip virtualenv aliases on `pyenv versions --skip-aliases` (pyenv/pyenv-virtualenv#126)
|
||||||
|
* python-build: Add CPython 2.7.11, 3.5.1 (#494, #498)
|
||||||
|
* python-build: Update OpenSSL to 1.0.1q (#496)
|
||||||
|
* python-build: Adding SSL patch to build 2.7.3 on Debian (#495)
|
||||||
|
|
||||||
|
### 20151124
|
||||||
|
|
||||||
|
* pyenv: Import recent changes from rbenv 5fb9c84e14c8123b2591d22e248f045c7f8d8a2c
|
||||||
|
* pyenv: List anaconda-style virtual environments as a version in pyenv (#471)
|
||||||
|
* python-build: Import recent changes from ruby-build v20151028
|
||||||
|
* python-build: Add PyPy 4.0.1 (#489)
|
||||||
|
* python-build: Add `miniconda*-3.18.3` (#477)
|
||||||
|
* python-build: Add CPython 2.7.11 RC1
|
||||||
|
|
||||||
|
### 20151105
|
||||||
|
|
||||||
|
* python-build: Add anaconda2-2.4.0 and anacondaa3-2.4.0
|
||||||
|
* python-build: Add Portable PyPy 4.0 (#472)
|
||||||
|
|
||||||
|
### 20151103
|
||||||
|
|
||||||
|
* python-build: Add PyPy 4.0.0 (#463)
|
||||||
|
* python-build: Add Jython 2.7.1b2
|
||||||
|
* python-build: Add warning about setuptools issues on CPython 3.0.1 on OS X (#456)
|
||||||
|
|
||||||
### 20151006
|
### 20151006
|
||||||
|
|
||||||
* pyenv: Different behaviour when invoking .py script through symlink (#379, #404)
|
* pyenv: Different behaviour when invoking .py script through symlink (#379, #404)
|
||||||
* pyenv: Enabled Gitter on the project (#436, #444)
|
* pyenv: Enabled Gitter on the project (#436, #444)
|
||||||
* python-build: Add Jython 2.7.1b1
|
* python-build: Add Jython 2.7.1b1
|
||||||
* python-build: Install OpenSSL on OS X if no proper versionn is available (#429)
|
* python-build: Install OpenSSL on OS X if no proper version is available (#429)
|
||||||
|
|
||||||
### 20150913
|
### 20150913
|
||||||
|
|
||||||
@@ -82,12 +294,12 @@
|
|||||||
#### 20150124
|
#### 20150124
|
||||||
|
|
||||||
* python-build: Import recent changes from ruby-build v20150112
|
* 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: Prevent adding `/Library/Python/X.X/site-packages` to `sys.path` when `--enable-framework` is enabled on OS X. Thanks @s1341 (#292)
|
||||||
* python-build: Add new IronPython release; 2.7.5
|
* python-build: Add new IronPython release; 2.7.5
|
||||||
|
|
||||||
#### 20141211
|
#### 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.
|
* pyenv: Add built-in `pip-rehash` feature. You don't need to install [pyenv-pip-rehash](https://github.com/pyenv/pyenv-pip-rehash) anymore.
|
||||||
* python-build: Add new CPython release; 2.7.9 (#284)
|
* 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 new PyPy releases; pypy3-2.4.0, pypy3-2.4.0-src (#277)
|
||||||
* python-build: Add build definitions of PyPy nightly build
|
* python-build: Add build definitions of PyPy nightly build
|
||||||
@@ -197,9 +409,9 @@
|
|||||||
* python-build: Fix build of Tkinter with Tcl/Tk 8.6 (#131)
|
* python-build: Fix build of Tkinter with Tcl/Tk 8.6 (#131)
|
||||||
* python-build: Fix build problem with Readline 6.3 (#126, #131, #149, #152)
|
* python-build: Fix build problem with Readline 6.3 (#126, #131, #149, #152)
|
||||||
* python-build: Do not exit with errors even if some of modules are absent (#131)
|
* python-build: Do not exit with errors even if some of modules are absent (#131)
|
||||||
* python-build: MacOSX was mispelled as MaxOSX in `anaconda_architecture` (#136)
|
* python-build: MacOSX was misspelled as MaxOSX in `anaconda_architecture` (#136)
|
||||||
* python-build: Use default `cc` as the C Compiler to build CPython (#148, #150)
|
* python-build: Use default `cc` as the C Compiler to build CPython (#148, #150)
|
||||||
* python-build: Display value from `pypy_architecture` and `anaconda_architecture` on errors (yyuu/pyenv-virtualenv#18)
|
* python-build: Display value from `pypy_architecture` and `anaconda_architecture` on errors (pyenv/pyenv-virtualenv#18)
|
||||||
* python-build: Remove old development version; 2.6-dev
|
* python-build: Remove old development version; 2.6-dev
|
||||||
* python-build: Update default setuptools version (3.3 -> 3.4.1)
|
* python-build: Update default setuptools version (3.3 -> 3.4.1)
|
||||||
|
|
||||||
@@ -253,7 +465,7 @@
|
|||||||
* python-build: Activate friendly CPython during build if the one is not activated (8fa6b4a1847851919ad7857c6c42ed809a4d277b)
|
* python-build: Activate friendly CPython during build if the one is not activated (8fa6b4a1847851919ad7857c6c42ed809a4d277b)
|
||||||
* python-build: Fix broken install.sh
|
* python-build: Fix broken install.sh
|
||||||
* python-build: Import recent changes from ruby-build v20131225.1
|
* python-build: Import recent changes from ruby-build v20131225.1
|
||||||
* version-ext-compat: Removed from default plugin. Please use [pyenv-version-ext](https://github.com/yyuu/pyenv-version-ext) instead.
|
* version-ext-compat: Removed from default plugin. Please use [pyenv-version-ext](https://github.com/pyenv/pyenv-version-ext) instead.
|
||||||
|
|
||||||
#### 0.4.0-20131217
|
#### 0.4.0-20131217
|
||||||
|
|
||||||
|
|||||||
42
COMMANDS.md
42
COMMANDS.md
@@ -1,7 +1,7 @@
|
|||||||
# Command Reference
|
# Command Reference
|
||||||
|
|
||||||
Like `git`, the `pyenv` command delegates to subcommands based on its
|
Like `git`, the `pyenv` command delegates to subcommands based on its
|
||||||
first argument.
|
first argument.
|
||||||
|
|
||||||
The most common subcommands are:
|
The most common subcommands are:
|
||||||
|
|
||||||
@@ -185,14 +185,15 @@ or, if you prefer 3.3.3 over 2.7.6,
|
|||||||
|
|
||||||
## `pyenv install`
|
## `pyenv install`
|
||||||
|
|
||||||
Install a Python version (using `python-build`).
|
Install a Python version (using [`python-build`](https://github.com/pyenv/pyenv/tree/master/plugins/python-build)).
|
||||||
|
|
||||||
Usage: pyenv install [-f] [-kvp] <version>
|
Usage: pyenv install [-f] [-kvp] <version>
|
||||||
pyenv install [-f] [-kvp] <definition-file>
|
pyenv install [-f] [-kvp] <definition-file>
|
||||||
pyenv install -l|--list
|
pyenv install -l|--list
|
||||||
|
|
||||||
-l/--list List all available versions
|
-l/--list List all available versions
|
||||||
-f/--force Install even if the version appears to be installed already
|
-f/--force Install even if the version appears to be installed already
|
||||||
|
-s/--skip-existing Skip the installation if the version appears to be installed already
|
||||||
|
|
||||||
python-build options:
|
python-build options:
|
||||||
|
|
||||||
@@ -202,6 +203,18 @@ Install a Python version (using `python-build`).
|
|||||||
-p/--patch Apply a patch from stdin before building
|
-p/--patch Apply a patch from stdin before building
|
||||||
-g/--debug Build a debug version
|
-g/--debug Build a debug version
|
||||||
|
|
||||||
|
To list the all available versions of Python, including Anaconda, Jython, pypy, and stackless, use:
|
||||||
|
|
||||||
|
$ pyenv install --list
|
||||||
|
|
||||||
|
Then install the desired versions:
|
||||||
|
|
||||||
|
$ pyenv install 2.7.6
|
||||||
|
$ pyenv install 2.6.8
|
||||||
|
$ pyenv versions
|
||||||
|
system
|
||||||
|
2.6.8
|
||||||
|
* 2.7.6 (set by /home/yyuu/.pyenv/version)
|
||||||
|
|
||||||
## `pyenv uninstall`
|
## `pyenv uninstall`
|
||||||
|
|
||||||
@@ -263,24 +276,3 @@ Lists all Python versions with the given command installed.
|
|||||||
2.6.8
|
2.6.8
|
||||||
2.7.6
|
2.7.6
|
||||||
3.3.3
|
3.3.3
|
||||||
|
|
||||||
|
|
||||||
## `pyenv install`
|
|
||||||
|
|
||||||
Part of [Python-build](https://github.com/yyuu/pyenv/tree/master/plugins/python-build), this installs versions of python
|
|
||||||
|
|
||||||
$ pyenv install 2.7.6
|
|
||||||
$ pyenv install 2.6.8
|
|
||||||
$ pyenv versions
|
|
||||||
system
|
|
||||||
2.6.8
|
|
||||||
* 2.7.6 (set by /home/yyuu/.pyenv/version)
|
|
||||||
|
|
||||||
|
|
||||||
## `pyenv install --list`
|
|
||||||
|
|
||||||
List available remote versions of Python, including Anaconda, Jython, pypy, and stackless
|
|
||||||
|
|
||||||
$ pyenv install --list
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
80
CONDUCT.md
Normal file
80
CONDUCT.md
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to making participation in our project and
|
||||||
|
our community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||||
|
nationality, personal appearance, race, religion, or sexual identity and
|
||||||
|
orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment
|
||||||
|
include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||||
|
advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic
|
||||||
|
address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable
|
||||||
|
behavior and are expected to take appropriate and fair corrective action in
|
||||||
|
response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or
|
||||||
|
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||||
|
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||||
|
permanently any contributor for other behaviors that they deem inappropriate,
|
||||||
|
threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces and in public spaces
|
||||||
|
when an individual is representing the project or its community. Examples of
|
||||||
|
representing a project or community include using an official project e-mail
|
||||||
|
address, posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event. Representation of a project may be
|
||||||
|
further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported by contacting one of the project maintainers listed below. All
|
||||||
|
complaints will be reviewed and investigated and will result in a response that
|
||||||
|
is deemed necessary and appropriate to the circumstances. The project team is
|
||||||
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||||
|
Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||||
|
faith may face temporary or permanent repercussions as determined by other
|
||||||
|
members of the project's leadership.
|
||||||
|
|
||||||
|
## Project Maintainers
|
||||||
|
|
||||||
|
* Sam Stephenson <<sstephenson@gmail.com>>
|
||||||
|
* Mislav Marohnić <<mislav.marohnic@gmail.com>>
|
||||||
|
* Erik Michaels-Ober <<sferik@gmail.com>>
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||||
|
available at [http://contributor-covenant.org/version/1/4][version]
|
||||||
|
|
||||||
|
[homepage]: http://contributor-covenant.org
|
||||||
|
[version]: http://contributor-covenant.org/version/1/4/
|
||||||
2
Makefile
2
Makefile
@@ -9,4 +9,4 @@ test: bats
|
|||||||
cd plugins/python-build && $(PWD)/bats/bin/bats $${CI:+--tap} test
|
cd plugins/python-build && $(PWD)/bats/bin/bats $${CI:+--tap} test
|
||||||
|
|
||||||
bats:
|
bats:
|
||||||
git clone https://github.com/sstephenson/bats.git
|
git clone --depth 1 https://github.com/sstephenson/bats.git
|
||||||
|
|||||||
230
README.md
230
README.md
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
[](https://gitter.im/yyuu/pyenv?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/yyuu/pyenv?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
|
|
||||||
[](https://travis-ci.org/yyuu/pyenv)
|
[](https://travis-ci.org/pyenv/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
|
||||||
tools that do one thing well.
|
tools that do one thing well.
|
||||||
|
|
||||||
This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and
|
This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
||||||
[ruby-build](https://github.com/sstephenson/ruby-build), and modified for Python.
|
[ruby-build](https://github.com/rbenv/ruby-build), and modified for Python.
|
||||||
|
|
||||||
<img src="https://i.gyazo.com/699a58927b77e46e71cd674c7fc7a78d.png" width="735" height="490" />
|
<img src="https://i.gyazo.com/699a58927b77e46e71cd674c7fc7a78d.png" width="735" height="490" />
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and
|
|||||||
* Allow you to **override the Python version** with an environment
|
* Allow you to **override the Python version** with an environment
|
||||||
variable.
|
variable.
|
||||||
* Search commands from **multiple versions of Python at a time**.
|
* Search commands from **multiple versions of Python at a time**.
|
||||||
This may be helpful to test across Python versions with [tox](http://pypi.python.org/pypi/tox).
|
This may be helpful to test across Python versions with [tox](https://pypi.python.org/pypi/tox).
|
||||||
|
|
||||||
|
|
||||||
### In contrast with pythonbrew and pythonz, pyenv _does not..._
|
### In contrast with pythonbrew and pythonz, pyenv _does not..._
|
||||||
@@ -30,8 +30,8 @@ This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and
|
|||||||
There is no bootstrap problem of Python.
|
There is no bootstrap problem of Python.
|
||||||
* **Need to be loaded into your shell.** Instead, pyenv's shim
|
* **Need to be loaded into your shell.** Instead, pyenv's shim
|
||||||
approach works by adding a directory to your `$PATH`.
|
approach works by adding a directory to your `$PATH`.
|
||||||
* **Manage virtualenv.** Of course, you can create [virtualenv](http://pypi.python.org/pypi/virtualenv)
|
* **Manage virtualenv.** Of course, you can create [virtualenv](https://pypi.python.org/pypi/virtualenv)
|
||||||
yourself, or [pyenv-virtualenv](https://github.com/yyuu/pyenv-virtualenv)
|
yourself, or [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)
|
||||||
to automate the process.
|
to automate the process.
|
||||||
|
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and
|
|||||||
* [Basic GitHub Checkout](#basic-github-checkout)
|
* [Basic GitHub Checkout](#basic-github-checkout)
|
||||||
* [Upgrading](#upgrading)
|
* [Upgrading](#upgrading)
|
||||||
* [Homebrew on Mac OS X](#homebrew-on-mac-os-x)
|
* [Homebrew on Mac OS X](#homebrew-on-mac-os-x)
|
||||||
* [Neckbeard Configuration](#neckbeard-configuration)
|
* [Advanced Configuration](#advanced-configuration)
|
||||||
* [Uninstalling Python Versions](#uninstalling-python-versions)
|
* [Uninstalling Python Versions](#uninstalling-python-versions)
|
||||||
* **[Command Reference](#command-reference)**
|
* **[Command Reference](#command-reference)**
|
||||||
* **[Development](#development)**
|
* **[Development](#development)**
|
||||||
@@ -67,7 +67,6 @@ executables injected into your `PATH`, determines which Python version
|
|||||||
has been specified by your application, and passes your commands along
|
has been specified by your application, and passes your commands along
|
||||||
to the correct Python installation.
|
to the correct Python installation.
|
||||||
|
|
||||||
|
|
||||||
### Understanding PATH
|
### Understanding PATH
|
||||||
|
|
||||||
When you run a command like `python` or `pip`, your operating system
|
When you run a command like `python` or `pip`, your operating system
|
||||||
@@ -83,13 +82,12 @@ precedence over another one at the end. In this example, the
|
|||||||
`/usr/local/bin` directory will be searched first, then `/usr/bin`,
|
`/usr/local/bin` directory will be searched first, then `/usr/bin`,
|
||||||
then `/bin`.
|
then `/bin`.
|
||||||
|
|
||||||
|
|
||||||
### Understanding Shims
|
### Understanding Shims
|
||||||
|
|
||||||
pyenv works by inserting a directory of _shims_ at the front of your
|
pyenv works by inserting a directory of _shims_ at the front of your
|
||||||
`PATH`:
|
`PATH`:
|
||||||
|
|
||||||
~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin
|
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
|
||||||
|
|
||||||
Through a process called _rehashing_, pyenv maintains shims in that
|
Through a process called _rehashing_, pyenv maintains shims in that
|
||||||
directory to match every Python command across every installed version
|
directory to match every Python command across every installed version
|
||||||
@@ -104,26 +102,25 @@ operating system will do the following:
|
|||||||
* Run the shim named `pip`, which in turn passes the command along to
|
* Run the shim named `pip`, which in turn passes the command along to
|
||||||
pyenv
|
pyenv
|
||||||
|
|
||||||
|
|
||||||
### Choosing the Python Version
|
### Choosing the Python Version
|
||||||
|
|
||||||
When you execute a shim, pyenv determines which Python version to use by
|
When you execute a shim, pyenv determines which Python version to use by
|
||||||
reading it from the following sources, in this order:
|
reading it from the following sources, in this order:
|
||||||
|
|
||||||
1. The `PYENV_VERSION` environment variable (if specified). You can use
|
1. The `PYENV_VERSION` environment variable (if specified). You can use
|
||||||
the [`pyenv shell`](#pyenv-shell) command to set this environment
|
the [`pyenv shell`](https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-shell) command to set this environment
|
||||||
variable in your current shell session.
|
variable in your current shell session.
|
||||||
|
|
||||||
2. The application-specific `.python-version` file in the current
|
2. The application-specific `.python-version` file in the current
|
||||||
directory (if present). You can modify the current directory's
|
directory (if present). You can modify the current directory's
|
||||||
`.python-version` file with the [`pyenv local`](#pyenv-local)
|
`.python-version` file with the [`pyenv local`](https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-local)
|
||||||
command.
|
command.
|
||||||
|
|
||||||
3. The first `.python-version` file found (if any) by searching each parent
|
3. The first `.python-version` file found (if any) by searching each parent
|
||||||
directory, until reaching the root of your filesystem.
|
directory, until reaching the root of your filesystem.
|
||||||
|
|
||||||
4. The global `~/.pyenv/version` file. You can modify this file using
|
4. The global `$(pyenv root)/version` file. You can modify this file using
|
||||||
the [`pyenv global`](#pyenv-global) command. If the global version
|
the [`pyenv global`](https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-global) command. If the global version
|
||||||
file is not present, pyenv assumes you want to use the "system"
|
file is not present, pyenv assumes you want to use the "system"
|
||||||
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`.)
|
||||||
@@ -136,8 +133,9 @@ 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
|
`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
|
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`
|
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
|
(should display `$(pyenv root)/versions/2.5/bin/python2.5`), or `pyenv which
|
||||||
python3.4` (should display path to system Python3).
|
python3.4` (should display path to system Python3). You can also specify multiple
|
||||||
|
versions in a `.python-version` file, separated by newlines or any whitespace.
|
||||||
|
|
||||||
### Locating the Python Installation
|
### Locating the Python Installation
|
||||||
|
|
||||||
@@ -146,16 +144,22 @@ specified, it passes the command along to the corresponding Python
|
|||||||
installation.
|
installation.
|
||||||
|
|
||||||
Each Python version is installed into its own directory under
|
Each Python version is installed into its own directory under
|
||||||
`~/.pyenv/versions`.
|
`$(pyenv root)/versions`.
|
||||||
|
|
||||||
For example, you might have these versions installed:
|
For example, you might have these versions installed:
|
||||||
|
|
||||||
* `~/.pyenv/versions/2.7.8/`
|
* `$(pyenv root)/versions/2.7.8/`
|
||||||
* `~/.pyenv/versions/3.4.2/`
|
* `$(pyenv root)/versions/3.4.2/`
|
||||||
* `~/.pyenv/versions/pypy-2.4.0/`
|
* `$(pyenv root)/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 root)/versions`.
|
||||||
|
|
||||||
|
### Managing Virtual Environments
|
||||||
|
|
||||||
|
There is a pyenv plugin named [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv) which comes with various features to help pyenv users to manage virtual environments created by virtualenv or Anaconda.
|
||||||
|
Because the `activate` script of those virtual environments are relying on mutating `$PATH` variable of user's interactive shell, it will intercept pyenv's shim style command execution hooks.
|
||||||
|
We'd recommend to install pyenv-virtualenv as well if you have some plan to play with those virtual environments.
|
||||||
|
|
||||||
|
|
||||||
----
|
----
|
||||||
@@ -169,7 +173,7 @@ If you're on Mac OS X, consider [installing with Homebrew](#homebrew-on-mac-os-x
|
|||||||
### The automatic installer
|
### The automatic installer
|
||||||
|
|
||||||
Visit my other project:
|
Visit my other project:
|
||||||
https://github.com/yyuu/pyenv-installer
|
https://github.com/pyenv/pyenv-installer
|
||||||
|
|
||||||
|
|
||||||
### Basic GitHub Checkout
|
### Basic GitHub Checkout
|
||||||
@@ -180,63 +184,55 @@ 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).
|
||||||
|
|
||||||
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
|
$ git clone https://github.com/pyenv/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
|
||||||
pyenv repo is cloned and add `$PYENV_ROOT/bin` to your `$PATH` for access
|
pyenv repo is cloned and add `$PYENV_ROOT/bin` to your `$PATH` for access
|
||||||
to the `pyenv` command-line utility.
|
to the `pyenv` command-line utility.
|
||||||
|
|
||||||
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
|
```sh
|
||||||
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
|
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
|
||||||
|
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
|
||||||
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
```
|
||||||
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
||||||
|
**Ubuntu and Fedora note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||||
|
**Proxy note**: If you use a proxy, export `http_proxy` and `HTTPS_PROXY` too.
|
||||||
|
|
||||||
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
|
Please make sure `eval "$(pyenv init -)"` is placed toward the end of the shell
|
||||||
configuration file since it manipulates `PATH` during the initialization.
|
configuration file since it manipulates `PATH` during the initialization.
|
||||||
|
```sh
|
||||||
|
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
|
||||||
|
```
|
||||||
|
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
||||||
|
**Ubuntu and Fedora note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||||
|
|
||||||
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
|
**General warning**: There are some systems where the `BASH_ENV` variable is configured
|
||||||
|
|
||||||
**Zsh note**: Modify your `~/.zshenv` 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
|
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
|
`eval "$(pyenv init -)"` into `.bash_profile`, and **not** into `.bashrc`. Otherwise you
|
||||||
may observe strange behaviour, such as `pyenv` getting into an infinite loop.
|
may observe strange behaviour, such as `pyenv` getting into an infinite loop.
|
||||||
See [#264](https://github.com/yyuu/pyenv/issues/264) for details.
|
See [#264](https://github.com/pyenv/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.
|
||||||
|
```sh
|
||||||
$ 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.8, download and unpack the source, then run:
|
For example, to download and install Python 2.7.8, run:
|
||||||
|
```sh
|
||||||
$ pyenv install 2.7.8
|
$ 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.
|
||||||
|
|
||||||
**NOTE:** If you want to use proxy to download, please use `http_proxy` and `https_proxy`
|
**NOTE:** If you want to use proxy to download, please use `http_proxy` and `https_proxy`
|
||||||
environment variable.
|
environment variable.
|
||||||
|
|
||||||
**NOTE:** If you are having trouble installing a python version,
|
**NOTE:** If you are having trouble installing a python version,
|
||||||
please visit the wiki page about
|
please visit the wiki page about
|
||||||
[Common Build Problems](https://github.com/yyuu/pyenv/wiki/Common-build-problems)
|
[Common Build Problems](https://github.com/pyenv/pyenv/wiki/Common-build-problems)
|
||||||
|
|
||||||
6. **Rebuild the shim binaries.**
|
|
||||||
You should do this any time you install a new Python binary.
|
|
||||||
(Examples: installing a new Python version, or installing a package that provides a binary.)
|
|
||||||
|
|
||||||
$ 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
|
||||||
@@ -246,17 +242,44 @@ upgrade your installation at any time using git.
|
|||||||
|
|
||||||
To upgrade to the latest development version of pyenv, use `git pull`:
|
To upgrade to the latest development version of pyenv, use `git pull`:
|
||||||
|
|
||||||
$ cd ~/.pyenv
|
```sh
|
||||||
$ git pull
|
$ cd $(pyenv root)
|
||||||
|
$ git pull
|
||||||
|
```
|
||||||
|
|
||||||
To upgrade to a specific release of pyenv, check out the corresponding tag:
|
To upgrade to a specific release of pyenv, check out the corresponding tag:
|
||||||
|
|
||||||
$ cd ~/.pyenv
|
```sh
|
||||||
$ git fetch
|
$ cd $(pyenv root)
|
||||||
$ git tag
|
$ git fetch
|
||||||
v0.1.0
|
$ git tag
|
||||||
$ git checkout v0.1.0
|
v0.1.0
|
||||||
|
$ git checkout v0.1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Uninstalling pyenv
|
||||||
|
|
||||||
|
The simplicity of pyenv makes it easy to temporarily disable it, or
|
||||||
|
uninstall from the system.
|
||||||
|
|
||||||
|
1. To **disable** pyenv managing your Python versions, simply remove the
|
||||||
|
`pyenv init` line from your shell startup configuration. This will
|
||||||
|
remove pyenv shims directory from PATH, and future invocations like
|
||||||
|
`python` will execute the system Python version, as before pyenv.
|
||||||
|
|
||||||
|
`pyenv` will still be accessible on the command line, but your Python
|
||||||
|
apps won't be affected by version switching.
|
||||||
|
|
||||||
|
2. To completely **uninstall** pyenv, perform step (1) and then remove
|
||||||
|
its root directory. This will **delete all Python versions** that were
|
||||||
|
installed under `` $(pyenv root)/versions/ `` directory:
|
||||||
|
```sh
|
||||||
|
rm -rf $(pyenv root)
|
||||||
|
```
|
||||||
|
If you've installed pyenv using a package manager, as a final step
|
||||||
|
perform the pyenv package removal. For instance, for Homebrew:
|
||||||
|
|
||||||
|
brew uninstall pyenv
|
||||||
|
|
||||||
### Homebrew on Mac OS X
|
### Homebrew on Mac OS X
|
||||||
|
|
||||||
@@ -267,14 +290,11 @@ package manager for Mac OS X.
|
|||||||
$ brew install pyenv
|
$ brew install pyenv
|
||||||
|
|
||||||
|
|
||||||
To upgrade pyenv in the future, just use `upgrade` instead of `install`.
|
To upgrade pyenv in the future, use `upgrade` instead of `install`.
|
||||||
|
|
||||||
After installation, you'll still need to add `eval "$(pyenv init -)"` to your
|
Then follow the rest of the post-installation steps under [Basic GitHub Checkout](https://github.com/pyenv/pyenv#basic-github-checkout) above, starting with #3 ("Add `pyenv init` to your shell to enable shims and autocompletion").
|
||||||
profile (as stated in the caveats). You'll only ever have to do this
|
|
||||||
once.
|
|
||||||
|
|
||||||
|
### Advanced Configuration
|
||||||
### Neckbeard Configuration
|
|
||||||
|
|
||||||
Skip this section unless you must know what every line in your shell
|
Skip this section unless you must know what every line in your shell
|
||||||
profile is doing.
|
profile is doing.
|
||||||
@@ -285,11 +305,11 @@ opposed to this idea. Here's what `pyenv init` actually does:
|
|||||||
|
|
||||||
1. **Sets up your shims path.** This is the only requirement for pyenv to
|
1. **Sets up your shims path.** This is the only requirement for pyenv to
|
||||||
function properly. You can do this by hand by prepending
|
function properly. You can do this by hand by prepending
|
||||||
`~/.pyenv/shims` to your `$PATH`.
|
`$(pyenv root)/shims` to your `$PATH`.
|
||||||
|
|
||||||
2. **Installs autocompletion.** This is entirely optional but pretty
|
2. **Installs autocompletion.** This is entirely optional but pretty
|
||||||
useful. Sourcing `~/.pyenv/completions/pyenv.bash` will set that
|
useful. Sourcing `$(pyenv root)/completions/pyenv.bash` will set that
|
||||||
up. There is also a `~/.pyenv/completions/pyenv.zsh` for Zsh
|
up. There is also a `$(pyenv root)/completions/pyenv.zsh` for Zsh
|
||||||
users.
|
users.
|
||||||
|
|
||||||
3. **Rehashes shims.** From time to time you'll need to rebuild your
|
3. **Rehashes shims.** From time to time you'll need to rebuild your
|
||||||
@@ -309,7 +329,7 @@ To see exactly what happens under the hood for yourself, run `pyenv init -`.
|
|||||||
### Uninstalling Python Versions
|
### Uninstalling Python Versions
|
||||||
|
|
||||||
As time goes on, you will accumulate Python versions in your
|
As time goes on, you will accumulate Python versions in your
|
||||||
`~/.pyenv/versions` directory.
|
`$(pyenv root)/versions` directory.
|
||||||
|
|
||||||
To remove old Python versions, `pyenv uninstall` command to automate
|
To remove old Python versions, `pyenv uninstall` command to automate
|
||||||
the removal process.
|
the removal process.
|
||||||
@@ -329,43 +349,35 @@ See [COMMANDS.md](COMMANDS.md).
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
## Environment variables
|
||||||
|
|
||||||
|
You can affect how pyenv operates with the following settings:
|
||||||
|
|
||||||
|
name | default | description
|
||||||
|
-----|---------|------------
|
||||||
|
`PYENV_VERSION` | | Specifies the Python version to be used.<br>Also see [`pyenv shell`](https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-shell)
|
||||||
|
`PYENV_ROOT` | `~/.pyenv` | Defines the directory under which Python versions and shims reside.<br>Also see `pyenv root`
|
||||||
|
`PYENV_DEBUG` | | Outputs debug information.<br>Also as: `pyenv --debug <subcommand>`
|
||||||
|
`PYENV_HOOK_PATH` | [_see wiki_][hooks] | Colon-separated list of paths searched for pyenv hooks.
|
||||||
|
`PYENV_DIR` | `$PWD` | Directory to start searching for `.python-version` files.
|
||||||
|
`PYTHON_BUILD_ARIA2_OPTS` | | Used to pass additional parameters to [`aria2`](https://aria2.github.io/).<br>if `aria2c` binary is available on PATH, pyenv use `aria2c` instead of `curl` or `wget` to download the Python Source code. If you have an unstable internet connection, you can use this variable to instruct `aria2` to accelerate the download.<br>In most cases, you will only need to use `-x 10 -k 1M` as value to `PYTHON_BUILD_ARIA2_OPTS` environment variable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
The pyenv source code is [hosted on GitHub](https://github.com/yyuu/pyenv).
|
The pyenv source code is [hosted on
|
||||||
It's clean, modular, and easy to understand--even if you're not a shell hacker.
|
GitHub](https://github.com/pyenv/pyenv). It's clean, modular,
|
||||||
|
and easy to understand, even if you're not a shell hacker.
|
||||||
|
|
||||||
Please feel free to submit Pull Requests and report bugs on the
|
Tests are executed using [Bats](https://github.com/sstephenson/bats):
|
||||||
[issue tracker](https://github.com/yyuu/pyenv/issues).
|
|
||||||
|
$ bats test
|
||||||
|
$ bats/test/<file>.bats
|
||||||
|
|
||||||
|
Please feel free to submit pull requests and file bugs on the [issue
|
||||||
|
tracker](https://github.com/pyenv/pyenv/issues).
|
||||||
|
|
||||||
|
|
||||||
### Version History
|
[pyenv-virtualenv]: https://github.com/pyenv/pyenv-virtualenv#readme
|
||||||
|
[hooks]: https://github.com/pyenv/pyenv/wiki/Authoring-plugins#pyenv-hooks
|
||||||
See [CHANGELOG.md](CHANGELOG.md).
|
|
||||||
|
|
||||||
|
|
||||||
### License
|
|
||||||
|
|
||||||
(The MIT license)
|
|
||||||
|
|
||||||
* Copyright (c) 2013 Yamashita, Yuu
|
|
||||||
* Copyright (c) 2013 Sam Stephenson
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# `python-local-exec` is a drop-in replacement for the standard Python
|
|
||||||
# shebang line:
|
|
||||||
#
|
|
||||||
# #!/usr/bin/env python-local-exec
|
|
||||||
#
|
|
||||||
# Use it for scripts inside a project with an `.pyenv-version`
|
|
||||||
# file. When you run the scripts, they'll use the project-specified
|
|
||||||
# Python version, regardless of what directory they're run from. Useful
|
|
||||||
# for e.g. running project tasks in cron scripts without needing to
|
|
||||||
# `cd` into the project first.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
export PYENV_DIR="${1%/*}"
|
|
||||||
|
|
||||||
[ -n "$PYENV_SILENCE_WARNINGS" ] || {
|
|
||||||
echo "pyenv: \`python-local-exec' is deprecated and will be removed in the next release."
|
|
||||||
echo " To upgrade: https://github.com/yyuu/pyenv/wiki/python-local-exec"
|
|
||||||
echo
|
|
||||||
} >&2
|
|
||||||
|
|
||||||
exec python "$@"
|
|
||||||
@@ -18,5 +18,6 @@ end
|
|||||||
|
|
||||||
complete -f -c pyenv -n '__fish_pyenv_needs_command' -a '(pyenv commands)'
|
complete -f -c pyenv -n '__fish_pyenv_needs_command' -a '(pyenv commands)'
|
||||||
for cmd in (pyenv commands)
|
for cmd in (pyenv commands)
|
||||||
complete -f -c pyenv -n "__fish_pyenv_using_command $cmd" -a "(pyenv completions $cmd)"
|
complete -f -c pyenv -n "__fish_pyenv_using_command $cmd" -a \
|
||||||
|
"(pyenv completions (commandline -opc)[2..-1])"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
export -n CDPATH
|
unset CDPATH
|
||||||
|
|
||||||
if [ "$1" = "--debug" ]; then
|
if [ "$1" = "--debug" ]; then
|
||||||
export PYENV_DEBUG=1
|
export PYENV_DEBUG=1
|
||||||
@@ -12,39 +12,42 @@ if [ -n "$PYENV_DEBUG" ]; then
|
|||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if enable -f "${0%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
abort() {
|
||||||
|
{ if [ "$#" -eq 0 ]; then cat -
|
||||||
|
else echo "pyenv: $*"
|
||||||
|
fi
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||||
abs_dirname() {
|
abs_dirname() {
|
||||||
local path="$(realpath "$1")"
|
local path="$(realpath "$1")"
|
||||||
echo "${path%/*}"
|
echo "${path%/*}"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
[ -z "$PYENV_NATIVE_EXT" ] || abort "failed to load \`realpath' builtin"
|
||||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
READLINK=$(type -p greadlink readlink | head -1)
|
|
||||||
if [ -z "$READLINK" ]; then
|
|
||||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
resolve_link() {
|
READLINK=$(type -p greadlink readlink | head -1)
|
||||||
$READLINK "$1"
|
[ -n "$READLINK" ] || abort "cannot find readlink - are you missing GNU coreutils?"
|
||||||
}
|
|
||||||
|
|
||||||
abs_dirname() {
|
resolve_link() {
|
||||||
local cwd="$(pwd)"
|
$READLINK "$1"
|
||||||
local path="$1"
|
}
|
||||||
|
|
||||||
while [ -n "$path" ]; do
|
abs_dirname() {
|
||||||
cd "${path%/*}"
|
local cwd="$PWD"
|
||||||
local name="${path##*/}"
|
local path="$1"
|
||||||
path="$(resolve_link "$name" || true)"
|
|
||||||
done
|
|
||||||
|
|
||||||
pwd
|
while [ -n "$path" ]; do
|
||||||
cd "$cwd"
|
cd "${path%/*}"
|
||||||
}
|
local name="${path##*/}"
|
||||||
|
path="$(resolve_link "$name" || true)"
|
||||||
|
done
|
||||||
|
|
||||||
|
pwd
|
||||||
|
cd "$cwd"
|
||||||
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${PYENV_ROOT}" ]; then
|
if [ -z "${PYENV_ROOT}" ]; then
|
||||||
@@ -68,13 +71,10 @@ if [ -z "${PYENV_DIR}" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${PYENV_DIR}" ]; then
|
if [ -z "${PYENV_DIR}" ]; then
|
||||||
PYENV_DIR="$(pwd)"
|
PYENV_DIR="$PWD"
|
||||||
else
|
else
|
||||||
cd "$PYENV_DIR" 2>/dev/null || {
|
cd "$PYENV_DIR" 2>/dev/null || abort "cannot change working directory to \`$PYENV_DIR'"
|
||||||
echo "pyenv: cannot change working directory to \`$PYENV_DIR'"
|
PYENV_DIR="$PWD"
|
||||||
exit 1
|
|
||||||
} >&2
|
|
||||||
PYENV_DIR="$(pwd)"
|
|
||||||
cd "$OLDPWD"
|
cd "$OLDPWD"
|
||||||
fi
|
fi
|
||||||
export PYENV_DIR
|
export PYENV_DIR
|
||||||
@@ -97,6 +97,7 @@ PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib
|
|||||||
for plugin_hook in "${PYENV_ROOT}/plugins/"*/etc/pyenv.d; do
|
for plugin_hook in "${PYENV_ROOT}/plugins/"*/etc/pyenv.d; do
|
||||||
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${plugin_hook}"
|
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${plugin_hook}"
|
||||||
done
|
done
|
||||||
|
PYENV_HOOK_PATH="${PYENV_HOOK_PATH#:}"
|
||||||
export PYENV_HOOK_PATH
|
export PYENV_HOOK_PATH
|
||||||
|
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
@@ -104,20 +105,30 @@ shopt -u nullglob
|
|||||||
|
|
||||||
command="$1"
|
command="$1"
|
||||||
case "$command" in
|
case "$command" in
|
||||||
"" | "-h" | "--help" )
|
"" )
|
||||||
echo -e "$(pyenv---version)\n$(pyenv-help)" >&2
|
{ pyenv---version
|
||||||
|
pyenv-help
|
||||||
|
} | abort
|
||||||
;;
|
;;
|
||||||
"-v" )
|
-v | --version )
|
||||||
exec pyenv---version
|
exec pyenv---version
|
||||||
;;
|
;;
|
||||||
|
-h | --help )
|
||||||
|
exec pyenv-help
|
||||||
|
;;
|
||||||
* )
|
* )
|
||||||
command_path="$(command -v "pyenv-$command" || true)"
|
command_path="$(command -v "pyenv-$command" || true)"
|
||||||
if [ -z "$command_path" ]; then
|
[ -n "$command_path" ] || abort "no such command \`$command'"
|
||||||
echo "pyenv: no such command \`$command'" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
exec "$command_path" "$@"
|
if [ "$1" = --help ]; then
|
||||||
|
if [[ "$command" == "sh-"* ]]; then
|
||||||
|
echo "pyenv help \"$command\""
|
||||||
|
else
|
||||||
|
exec pyenv-help "$command"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
exec "$command_path" "$@"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -12,9 +12,10 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="20151006"
|
version="1.1.4"
|
||||||
|
git_revision=""
|
||||||
|
|
||||||
if cd "$PYENV_ROOT" 2>/dev/null; then
|
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||||
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
||||||
git_revision="${git_revision#v}"
|
git_revision="${git_revision#v}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -10,7 +10,16 @@ if [ -z "$COMMAND" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Provide pyenv completions
|
||||||
|
if [ "$COMMAND" = "--complete" ]; then
|
||||||
|
exec pyenv-commands
|
||||||
|
fi
|
||||||
|
|
||||||
COMMAND_PATH="$(command -v "pyenv-$COMMAND" || command -v "pyenv-sh-$COMMAND")"
|
COMMAND_PATH="$(command -v "pyenv-$COMMAND" || command -v "pyenv-sh-$COMMAND")"
|
||||||
|
|
||||||
|
# --help is provided automatically
|
||||||
|
echo --help
|
||||||
|
|
||||||
if grep -iE "^([#%]|--|//) provide pyenv completions" "$COMMAND_PATH" >/dev/null; then
|
if grep -iE "^([#%]|--|//) provide pyenv completions" "$COMMAND_PATH" >/dev/null; then
|
||||||
shift
|
shift
|
||||||
exec "$COMMAND_PATH" --complete "$@"
|
exec "$COMMAND_PATH" --complete "$@"
|
||||||
|
|||||||
@@ -42,6 +42,6 @@ done
|
|||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
# CPython's `sys.executable` requires the `PYENV_BIN_PATH` to be at the top of the `PATH`.
|
# CPython's `sys.executable` requires the `PYENV_BIN_PATH` to be at the top of the `PATH`.
|
||||||
# https://github.com/yyuu/pyenv/issues/98
|
# https://github.com/pyenv/pyenv/issues/98
|
||||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||||
exec -a "$PYENV_COMMAND" "$PYENV_COMMAND_PATH" "$@"
|
exec -a "$PYENV_COMMAND" "$PYENV_COMMAND_PATH" "$@"
|
||||||
|
|||||||
@@ -15,6 +15,12 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
|
# Provide pyenv completions
|
||||||
|
if [ "$1" = "--complete" ]; then
|
||||||
|
echo --usage
|
||||||
|
exec pyenv-commands
|
||||||
|
fi
|
||||||
|
|
||||||
command_path() {
|
command_path() {
|
||||||
local command="$1"
|
local command="$1"
|
||||||
command -v pyenv-"$command" || command -v pyenv-sh-"$command" || true
|
command -v pyenv-"$command" || command -v pyenv-sh-"$command" || true
|
||||||
@@ -146,7 +152,7 @@ if [ -z "$1" ] || [ "$1" == "pyenv" ]; then
|
|||||||
print_summaries commands local global shell install uninstall rehash version versions which whence
|
print_summaries commands local global shell install uninstall rehash version versions which whence
|
||||||
echo
|
echo
|
||||||
echo "See \`pyenv help <command>' for information on a specific command."
|
echo "See \`pyenv help <command>' for information on a specific command."
|
||||||
echo "For full documentation, see: https://github.com/yyuu/pyenv#readme"
|
echo "For full documentation, see: https://github.com/pyenv/pyenv#readme"
|
||||||
else
|
else
|
||||||
command="$1"
|
command="$1"
|
||||||
if [ -n "$(command_path "$command")" ]; then
|
if [ -n "$(command_path "$command")" ]; then
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ set -e
|
|||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
echo exec
|
echo exec
|
||||||
echo rehash
|
echo rehash
|
||||||
|
echo version-name
|
||||||
|
echo version-origin
|
||||||
echo which
|
echo which
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@@ -35,16 +37,17 @@ resolve_link() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
realpath() {
|
realpath() {
|
||||||
local cwd="$(pwd)"
|
local cwd="$PWD"
|
||||||
local path="$1"
|
local path="$1"
|
||||||
|
local name
|
||||||
|
|
||||||
while [ -n "$path" ]; do
|
while [ -n "$path" ]; do
|
||||||
cd "${path%/*}"
|
name="${path##*/}"
|
||||||
local name="${path##*/}"
|
[ "$name" = "$path" ] || cd "${path%/*}"
|
||||||
path="$(resolve_link "$name" || true)"
|
path="$(resolve_link "$name" || true)"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "$(pwd)/$name"
|
echo "${PWD}/$name"
|
||||||
cd "$cwd"
|
cd "$cwd"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -5,6 +5,17 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
|
# Provide pyenv completions
|
||||||
|
if [ "$1" = "--complete" ]; then
|
||||||
|
echo -
|
||||||
|
echo --no-rehash
|
||||||
|
echo bash
|
||||||
|
echo fish
|
||||||
|
echo ksh
|
||||||
|
echo zsh
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
print=""
|
print=""
|
||||||
no_rehash=""
|
no_rehash=""
|
||||||
for args in "$@"
|
for args in "$@"
|
||||||
@@ -22,10 +33,11 @@ done
|
|||||||
|
|
||||||
shell="$1"
|
shell="$1"
|
||||||
if [ -z "$shell" ]; then
|
if [ -z "$shell" ]; then
|
||||||
shell="$(ps c -p "$PPID" -o 'ucomm=' 2>/dev/null || true)"
|
shell="$(ps -p "$PPID" -o 'args=' 2>/dev/null || true)"
|
||||||
shell="${shell##-}"
|
|
||||||
shell="${shell%% *}"
|
shell="${shell%% *}"
|
||||||
shell="$(basename "${shell:-$SHELL}")"
|
shell="${shell##-}"
|
||||||
|
shell="${shell:-$SHELL}"
|
||||||
|
shell="${shell##*/}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
root="${0%/*}/.."
|
root="${0%/*}/.."
|
||||||
@@ -33,7 +45,11 @@ root="${0%/*}/.."
|
|||||||
if [ -z "$print" ]; then
|
if [ -z "$print" ]; then
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
bash )
|
bash )
|
||||||
profile='~/.bash_profile'
|
if [ -f "${HOME}/.bashrc" ] && [ ! -f "${HOME}/.bash_profile" ]; then
|
||||||
|
profile='~/.bashrc'
|
||||||
|
else
|
||||||
|
profile='~/.bash_profile'
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
zsh )
|
zsh )
|
||||||
profile='~/.zshrc'
|
profile='~/.zshrc'
|
||||||
@@ -49,12 +65,12 @@ if [ -z "$print" ]; then
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
{ echo "# Load pyenv automatically by adding"
|
{ echo "# Load pyenv automatically by appending"
|
||||||
echo "# the following to the end of ${profile}:"
|
echo "# the following to ${profile}:"
|
||||||
echo
|
echo
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
fish )
|
fish )
|
||||||
echo 'status --is-interactive; and . (pyenv init -|psub)'
|
echo 'status --is-interactive; and source (pyenv init -|psub)'
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
echo 'eval "$(pyenv init -)"'
|
echo 'eval "$(pyenv init -)"'
|
||||||
@@ -70,8 +86,8 @@ mkdir -p "${PYENV_ROOT}/"{shims,versions}
|
|||||||
|
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
fish )
|
fish )
|
||||||
echo "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
echo "set -gx PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||||
echo "setenv PYENV_SHELL $shell"
|
echo "set -gx PYENV_SHELL $shell"
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||||
@@ -81,14 +97,11 @@ esac
|
|||||||
|
|
||||||
completion="${root}/completions/pyenv.${shell}"
|
completion="${root}/completions/pyenv.${shell}"
|
||||||
if [ -r "$completion" ]; then
|
if [ -r "$completion" ]; then
|
||||||
case "$shell" in
|
echo "source '$completion'"
|
||||||
fish ) echo ". '$completion'" ;;
|
|
||||||
* ) echo "source '$completion'" ;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$no_rehash" ]; then
|
if [ -z "$no_rehash" ]; then
|
||||||
echo 'pyenv rehash 2>/dev/null'
|
echo 'command pyenv rehash 2>/dev/null'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
commands=(`pyenv-commands --sh`)
|
commands=(`pyenv-commands --sh`)
|
||||||
@@ -101,7 +114,7 @@ function pyenv
|
|||||||
|
|
||||||
switch "\$command"
|
switch "\$command"
|
||||||
case ${commands[*]}
|
case ${commands[*]}
|
||||||
eval (pyenv "sh-\$command" \$argv)
|
source (pyenv "sh-\$command" \$argv|psub)
|
||||||
case '*'
|
case '*'
|
||||||
command pyenv "\$command" \$argv
|
command pyenv "\$command" \$argv
|
||||||
end
|
end
|
||||||
@@ -132,7 +145,7 @@ cat <<EOS
|
|||||||
|
|
||||||
case "\$command" in
|
case "\$command" in
|
||||||
${commands[*]})
|
${commands[*]})
|
||||||
eval "\`pyenv "sh-\$command" "\$@"\`";;
|
eval "\$(pyenv "sh-\$command" "\$@")";;
|
||||||
*)
|
*)
|
||||||
command pyenv "\$command" "\$@";;
|
command pyenv "\$command" "\$@";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -15,10 +15,6 @@
|
|||||||
# `PYENV_VERSION' environment variable takes precedence over local
|
# `PYENV_VERSION' environment variable takes precedence over local
|
||||||
# and global versions.
|
# and global versions.
|
||||||
#
|
#
|
||||||
# For backwards compatibility, pyenv will also read version
|
|
||||||
# specifications from `.pyenv-version' files, but a `.python-version'
|
|
||||||
# file in the same directory takes precedence.
|
|
||||||
#
|
|
||||||
# <version> should be a string matching a Python version known to pyenv.
|
# <version> should be a string matching a Python version known to pyenv.
|
||||||
# The special version string `system' will use your default system Python.
|
# The special version string `system' will use your default system Python.
|
||||||
# Run `pyenv versions' for a list of available Python versions.
|
# Run `pyenv versions' for a list of available Python versions.
|
||||||
@@ -36,27 +32,17 @@ fi
|
|||||||
versions=("$@")
|
versions=("$@")
|
||||||
|
|
||||||
if [ "$versions" = "--unset" ]; then
|
if [ "$versions" = "--unset" ]; then
|
||||||
rm -f .python-version .pyenv-version
|
rm -f .python-version
|
||||||
elif [ -n "$versions" ]; then
|
elif [ -n "$versions" ]; then
|
||||||
previous_file="$(PYENV_VERSION= pyenv-version-origin || true)"
|
|
||||||
pyenv-version-file-write .python-version "${versions[@]}"
|
pyenv-version-file-write .python-version "${versions[@]}"
|
||||||
if [ "$previous_file" -ef .pyenv-version ]; then
|
|
||||||
rm -f .pyenv-version
|
|
||||||
{ echo "pyenv: removed existing \`.pyenv-version' file and migrated"
|
|
||||||
echo " local version specification to \`.python-version' file"
|
|
||||||
} >&2
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
OLDIFS="$IFS"
|
if version_file="$(pyenv-version-file "$PWD")"; then
|
||||||
IFS=: versions=($(
|
IFS=: versions=($(pyenv-version-file-read "$version_file"))
|
||||||
pyenv-version-file-read .python-version ||
|
for version in "${versions[@]}"; do
|
||||||
pyenv-version-file-read .pyenv-version ||
|
echo "$version"
|
||||||
{ echo "pyenv: no local version configured for this directory"
|
done
|
||||||
exit 1
|
else
|
||||||
} >&2
|
echo "pyenv: no local version configured for this directory" >&2
|
||||||
))
|
exit 1
|
||||||
IFS="$OLDIFS"
|
fi
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
echo "$version"
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ OLDIFS="$IFS"
|
|||||||
if [ "$version" = "system" ]; then
|
if [ "$version" = "system" ]; then
|
||||||
if PYTHON_PATH="$(PYENV_VERSION="${version}" 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/*}"
|
||||||
|
PYENV_PREFIX_PATH="${PYENV_PREFIX_PATH:-/}"
|
||||||
else
|
else
|
||||||
echo "pyenv: system version not found in PATH" >&2
|
echo "pyenv: system version not found in PATH" >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -81,9 +81,12 @@ remove_outdated_shims() {
|
|||||||
|
|
||||||
# List basenames of executables for every Python version
|
# List basenames of executables for every Python version
|
||||||
list_executable_names() {
|
list_executable_names() {
|
||||||
local file
|
local version file
|
||||||
for file in "$PYENV_ROOT"/versions/*/bin/*; do
|
pyenv-versions --bare --skip-aliases | \
|
||||||
echo "${file##*/}"
|
while read version; do
|
||||||
|
for file in "${PYENV_ROOT}/versions/${version}/bin/"*; do
|
||||||
|
echo "${file##*/}"
|
||||||
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +113,7 @@ install_registered_shims() {
|
|||||||
local shim file
|
local shim file
|
||||||
for shim in $registered_shims; do
|
for shim in $registered_shims; do
|
||||||
file="${SHIM_PATH}/${shim}"
|
file="${SHIM_PATH}/${shim}"
|
||||||
[ -e "$file" ] || ln -f "$PROTOTYPE_SHIM_PATH" "$file"
|
[ -e "$file" ] || cp "$PROTOTYPE_SHIM_PATH" "$file"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
#
|
#
|
||||||
# Summary: Set or show the shell-specific Python version
|
# Summary: Set or show the shell-specific Python version
|
||||||
#
|
#
|
||||||
# Usage: pyenv shell <version>
|
# Usage: pyenv shell <version>...
|
||||||
|
# pyenv shell -
|
||||||
# pyenv shell --unset
|
# pyenv shell --unset
|
||||||
#
|
#
|
||||||
# Sets a shell-specific Python version by setting the `PYENV_VERSION'
|
# Sets a shell-specific Python version by setting the `PYENV_VERSION'
|
||||||
@@ -12,6 +13,11 @@
|
|||||||
# <version> should be a string matching a Python version known to pyenv.
|
# <version> should be a string matching a Python version known to pyenv.
|
||||||
# The special version string `system' will use your default system Python.
|
# The special version string `system' will use your default system Python.
|
||||||
# Run `pyenv versions' for a list of available Python versions.
|
# Run `pyenv versions' for a list of available Python versions.
|
||||||
|
#
|
||||||
|
# When `-` is passed instead of the version string, the previously set
|
||||||
|
# version will be restored. With `--unset`, the `PYENV_VERSION`
|
||||||
|
# environment variable gets unset, restoring the environment to the
|
||||||
|
# state before the first `pyenv shell` call.
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
@@ -31,7 +37,7 @@ if [ -z "$versions" ]; then
|
|||||||
echo "pyenv: no shell-specific version configured" >&2
|
echo "pyenv: no shell-specific version configured" >&2
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "echo \"\$PYENV_VERSION\""
|
echo 'echo "$PYENV_VERSION"'
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -39,28 +45,76 @@ fi
|
|||||||
if [ "$versions" = "--unset" ]; then
|
if [ "$versions" = "--unset" ]; then
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
fish )
|
fish )
|
||||||
|
echo 'set -gu PYENV_VERSION_OLD "$PYENV_VERSION"'
|
||||||
echo "set -e PYENV_VERSION"
|
echo "set -e PYENV_VERSION"
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
|
echo 'PYENV_VERSION_OLD="$PYENV_VERSION"'
|
||||||
echo "unset PYENV_VERSION"
|
echo "unset PYENV_VERSION"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$versions" = "-" ]; then
|
||||||
|
case "$shell" in
|
||||||
|
fish )
|
||||||
|
cat <<EOS
|
||||||
|
if set -q PYENV_VERSION_OLD
|
||||||
|
if [ -n "\$PYENV_VERSION_OLD" ]
|
||||||
|
set PYENV_VERSION_OLD_ "\$PYENV_VERSION"
|
||||||
|
set -gx PYENV_VERSION "\$PYENV_VERSION_OLD"
|
||||||
|
set -gu PYENV_VERSION_OLD "\$PYENV_VERSION_OLD_"
|
||||||
|
set -e PYENV_VERSION_OLD_
|
||||||
|
else
|
||||||
|
set -gu PYENV_VERSION_OLD "\$PYENV_VERSION"
|
||||||
|
set -e PYENV_VERSION
|
||||||
|
end
|
||||||
|
else
|
||||||
|
echo "pyenv: PYENV_VERSION_OLD is not set" >&2
|
||||||
|
false
|
||||||
|
end
|
||||||
|
EOS
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
cat <<EOS
|
||||||
|
if [ -n "\${PYENV_VERSION_OLD+x}" ]; then
|
||||||
|
if [ -n "\$PYENV_VERSION_OLD" ]; then
|
||||||
|
PYENV_VERSION_OLD_="\$PYENV_VERSION"
|
||||||
|
export PYENV_VERSION="\$PYENV_VERSION_OLD"
|
||||||
|
PYENV_VERSION_OLD="\$PYENV_VERSION_OLD_"
|
||||||
|
unset PYENV_VERSION_OLD_
|
||||||
|
else
|
||||||
|
PYENV_VERSION_OLD="\$PYENV_VERSION"
|
||||||
|
unset PYENV_VERSION
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "pyenv: PYENV_VERSION_OLD is not set" >&2
|
||||||
|
false
|
||||||
|
fi
|
||||||
|
EOS
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
# Make sure the specified version is installed.
|
# Make sure the specified version is installed.
|
||||||
if pyenv-prefix "${versions[@]}" >/dev/null; then
|
if pyenv-prefix "${versions[@]}" >/dev/null; then
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
IFS=: version="${versions[*]}"
|
IFS=: version="${versions[*]}"
|
||||||
IFS="$OLDIFS"
|
IFS="$OLDIFS"
|
||||||
case "$shell" in
|
if [ "$version" != "$PYENV_VERSION" ]; then
|
||||||
fish )
|
case "$shell" in
|
||||||
echo "setenv PYENV_VERSION \"${version}\""
|
fish )
|
||||||
;;
|
echo 'set -gu PYENV_VERSION_OLD "$PYENV_VERSION"'
|
||||||
* )
|
echo "set -gx PYENV_VERSION \"$version\""
|
||||||
echo "export PYENV_VERSION=\"${version}\""
|
;;
|
||||||
;;
|
* )
|
||||||
esac
|
echo 'PYENV_VERSION_OLD="$PYENV_VERSION"'
|
||||||
|
echo "export PYENV_VERSION=\"${version}\""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "false"
|
echo "false"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -1,34 +1,28 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# Usage: pyenv version-file [<dir>]
|
||||||
# Summary: Detect the file that sets the current pyenv version
|
# Summary: Detect the file that sets the current pyenv version
|
||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
|
target_dir="$1"
|
||||||
|
|
||||||
find_local_version_file() {
|
find_local_version_file() {
|
||||||
local root="$1"
|
local root="$1"
|
||||||
while [ -n "$root" ]; do
|
while ! [[ "$root" =~ ^//[^/]*$ ]]; do
|
||||||
if [ -e "${root}/.python-version" ]; then
|
if [ -f "${root}/.python-version" ]; then
|
||||||
echo "${root}/.python-version"
|
echo "${root}/.python-version"
|
||||||
exit
|
return 0
|
||||||
elif [ -e "${root}/.pyenv-version" ]; then
|
|
||||||
echo "${root}/.pyenv-version"
|
|
||||||
exit
|
|
||||||
fi
|
fi
|
||||||
[ "${root}" = "${root%/*}" ] && break
|
[ -n "$root" ] || break
|
||||||
root="${root%/*}"
|
root="${root%/*}"
|
||||||
done
|
done
|
||||||
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
find_local_version_file "$PYENV_DIR"
|
if [ -n "$target_dir" ]; then
|
||||||
[ "$PYENV_DIR" = "$PWD" ] || find_local_version_file "$PWD"
|
find_local_version_file "$target_dir"
|
||||||
|
|
||||||
global_version_file="${PYENV_ROOT}/version"
|
|
||||||
|
|
||||||
if [ -e "$global_version_file" ]; then
|
|
||||||
echo "$global_version_file"
|
|
||||||
elif [ -e "${PYENV_ROOT}/global" ]; then
|
|
||||||
echo "${PYENV_ROOT}/global"
|
|
||||||
elif [ -e "${PYENV_ROOT}/default" ]; then
|
|
||||||
echo "${PYENV_ROOT}/default"
|
|
||||||
else
|
else
|
||||||
echo "$global_version_file"
|
find_local_version_file "$PYENV_DIR" || {
|
||||||
|
[ "$PYENV_DIR" != "$PWD" ] && find_local_version_file "$PWD"
|
||||||
|
} || echo "${PYENV_ROOT}/version"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -8,6 +8,13 @@ if [ -z "$PYENV_VERSION" ]; then
|
|||||||
PYENV_VERSION="$(pyenv-version-file-read "$PYENV_VERSION_FILE" || true)"
|
PYENV_VERSION="$(pyenv-version-file-read "$PYENV_VERSION_FILE" || true)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
IFS=$'\n' scripts=(`pyenv-hooks version-name`)
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
for script in "${scripts[@]}"; do
|
||||||
|
source "$script"
|
||||||
|
done
|
||||||
|
|
||||||
if [ -z "$PYENV_VERSION" ] || [ "$PYENV_VERSION" = "system" ]; then
|
if [ -z "$PYENV_VERSION" ] || [ "$PYENV_VERSION" = "system" ]; then
|
||||||
echo "system"
|
echo "system"
|
||||||
exit
|
exit
|
||||||
@@ -28,7 +35,7 @@ OLDIFS="$IFS"
|
|||||||
elif version_exists "${version#python-}"; then
|
elif version_exists "${version#python-}"; then
|
||||||
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 (set by $(pyenv-version-origin))" >&2
|
||||||
any_not_installed=1
|
any_not_installed=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -3,7 +3,18 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
if [ -n "$PYENV_VERSION" ]; then
|
unset PYENV_VERSION_ORIGIN
|
||||||
|
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
IFS=$'\n' scripts=(`pyenv-hooks version-origin`)
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
for script in "${scripts[@]}"; do
|
||||||
|
source "$script"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$PYENV_VERSION_ORIGIN" ]; then
|
||||||
|
echo "$PYENV_VERSION_ORIGIN"
|
||||||
|
elif [ -n "$PYENV_VERSION" ]; then
|
||||||
echo "PYENV_VERSION environment variable"
|
echo "PYENV_VERSION environment variable"
|
||||||
else
|
else
|
||||||
pyenv-version-file
|
pyenv-version-file
|
||||||
|
|||||||
@@ -1,13 +1,69 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Summary: List all Python versions available to pyenv
|
# Summary: List all Python versions available to pyenv
|
||||||
# Usage: pyenv versions [--bare]
|
# Usage: pyenv versions [--bare] [--skip-aliases]
|
||||||
#
|
#
|
||||||
# Lists all Python versions found in `$PYENV_ROOT/versions/*'.
|
# Lists all Python versions found in `$PYENV_ROOT/versions/*'.
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
if [ "$1" = "--bare" ]; then
|
unset bare
|
||||||
|
unset skip_aliases
|
||||||
|
# Provide pyenv completions
|
||||||
|
for arg; do
|
||||||
|
case "$arg" in
|
||||||
|
--complete )
|
||||||
|
echo --bare
|
||||||
|
echo --skip-aliases
|
||||||
|
exit ;;
|
||||||
|
--bare ) bare=1 ;;
|
||||||
|
--skip-aliases ) skip_aliases=1 ;;
|
||||||
|
* )
|
||||||
|
pyenv-help --usage versions >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
versions_dir="${PYENV_ROOT}/versions"
|
||||||
|
|
||||||
|
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)
|
||||||
|
if [ -z "$READLINK" ]; then
|
||||||
|
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
resolve_link() {
|
||||||
|
$READLINK "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
realpath() {
|
||||||
|
local cwd="$PWD"
|
||||||
|
local path="$1"
|
||||||
|
local name
|
||||||
|
|
||||||
|
while [ -n "$path" ]; do
|
||||||
|
name="${path##*/}"
|
||||||
|
[ "$name" = "$path" ] || cd "${path%/*}"
|
||||||
|
path="$(resolve_link "$name" || true)"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "${PWD}/$name"
|
||||||
|
cd "$cwd"
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "$versions_dir" ]; then
|
||||||
|
versions_dir="$(realpath "$versions_dir")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$bare" ]; then
|
||||||
hit_prefix=""
|
hit_prefix=""
|
||||||
miss_prefix=""
|
miss_prefix=""
|
||||||
current_versions=()
|
current_versions=()
|
||||||
@@ -50,9 +106,20 @@ if [ -n "$include_system" ] && PYENV_VERSION=system pyenv-which python >/dev/nul
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
for path in "${PYENV_ROOT}/versions/"*; do
|
for path in "$versions_dir"/*; do
|
||||||
if [ -d "$path" ]; then
|
if [ -d "$path" ]; then
|
||||||
|
if [ -n "$skip_aliases" ] && [ -L "$path" ]; then
|
||||||
|
target="$(realpath "$path")"
|
||||||
|
[ "${target%/*}" != "$versions_dir" ] || continue
|
||||||
|
[ "${target%/*/envs/*}" != "$versions_dir" ] || continue
|
||||||
|
fi
|
||||||
print_version "${path##*/}"
|
print_version "${path##*/}"
|
||||||
|
# virtual environments created by anaconda/miniconda
|
||||||
|
for env_path in "${path}/envs/"*; do
|
||||||
|
if [ -d "${env_path}" ]; then
|
||||||
|
print_version "${env_path#${PYENV_ROOT}/versions/}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
|
|||||||
@@ -18,12 +18,13 @@ fi
|
|||||||
remove_from_path() {
|
remove_from_path() {
|
||||||
local path_to_remove="$1"
|
local path_to_remove="$1"
|
||||||
local path_before
|
local path_before
|
||||||
local result=":$PATH:"
|
local result=":${PATH//\~/$HOME}:"
|
||||||
while [ "$path_before" != "$result" ]; do
|
while [ "$path_before" != "$result" ]; do
|
||||||
path_before="$result"
|
path_before="$result"
|
||||||
result="${result//:$path_to_remove:/:}"
|
result="${result//:$path_to_remove:/:}"
|
||||||
done
|
done
|
||||||
echo "${result%:}"
|
result="${result%:}"
|
||||||
|
echo "${result#:}"
|
||||||
}
|
}
|
||||||
|
|
||||||
PYENV_COMMAND="$1"
|
PYENV_COMMAND="$1"
|
||||||
@@ -65,7 +66,7 @@ else
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if ! [ -d "${PYENV_ROOT}/versions/${version}" ]; then
|
if ! [ -d "${PYENV_ROOT}/versions/${version}" ]; then
|
||||||
echo "pyenv: version \`$version' is not installed" >&2
|
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
|
||||||
any_not_installed=1
|
any_not_installed=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
20
plugins/python-build/LICENSE
Normal file
20
plugins/python-build/LICENSE
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Copyright (c) 2013 Yamashita, Yuu
|
||||||
|
Copyright (c) 2012-2013 Sam Stephenson
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
of the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -1,213 +1,222 @@
|
|||||||
# python-build
|
# python-build
|
||||||
|
|
||||||
python-build is a [pyenv](https://github.com/yyuu/pyenv) plugin
|
python-build is a [pyenv](https://github.com/pyenv/pyenv) plugin that
|
||||||
that provides a `pyenv install` command to compile and install
|
provides a `pyenv install` command to compile and install different versions
|
||||||
different versions of Python on UNIX-like systems.
|
of Python on UNIX-like systems.
|
||||||
|
|
||||||
You can also use python-build without pyenv in environments where you
|
You can also use python-build without pyenv in environments where you need
|
||||||
need precise control over Python version installation.
|
precise control over Python version installation.
|
||||||
|
|
||||||
|
See the [list of releases](https://github.com/pyenv/pyenv/releases)
|
||||||
|
for changes in each version.
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Installing as an pyenv plugin (recommended)
|
### Installing as a pyenv plugin (recommended)
|
||||||
|
|
||||||
You need nothing to do since python-build is bundled with pyenv by
|
You need nothing to do since python-build is bundled with pyenv by
|
||||||
default.
|
default.
|
||||||
|
|
||||||
### Installing as a standalone program (advanced)
|
### Installing as a standalone program (advanced)
|
||||||
|
|
||||||
Installing python-build as a standalone program will give you access to
|
Installing python-build as a standalone program will give you access to the
|
||||||
the `python-build` command for precise control over Python version
|
`python-build` command for precise control over Python version installation. If you
|
||||||
installation. If you have pyenv installed, you will also be able to
|
have pyenv installed, you will also be able to use the `pyenv install` command.
|
||||||
use the `pyenv install` command.
|
|
||||||
|
|
||||||
git clone git://github.com/yyuu/pyenv.git
|
git clone git://github.com/pyenv/pyenv.git
|
||||||
cd pyenv/plugins/python-build
|
cd pyenv/plugins/python-build
|
||||||
./install.sh
|
./install.sh
|
||||||
|
|
||||||
This will install python-build into `/usr/local`. If you do not have
|
This will install python-build into `/usr/local`. If you do not have write
|
||||||
write permission to `/usr/local`, you will need to run `sudo
|
permission to `/usr/local`, you will need to run `sudo ./install.sh` instead.
|
||||||
./install.sh` instead. You can install to a different prefix by
|
You can install to a different prefix by setting the `PREFIX` environment
|
||||||
setting the `PREFIX` environment variable.
|
variable.
|
||||||
|
|
||||||
To update python-build after it has been installed, run `git pull` in
|
To update python-build after it has been installed, run `git pull` in your cloned
|
||||||
your cloned copy of the repository, then re-run the install script.
|
copy of the repository, then re-run the install script.
|
||||||
|
|
||||||
|
### Installing with Homebrew (for OS X users)
|
||||||
|
|
||||||
|
Mac OS X users can install python-build with the [Homebrew](http://brew.sh)
|
||||||
|
package manager. This will give you access to the `python-build` command. If you
|
||||||
|
have pyenv installed, you will also be able to use the `pyenv install` command.
|
||||||
|
|
||||||
|
*This is the recommended method of installation if you installed pyenv with
|
||||||
|
Homebrew.*
|
||||||
|
|
||||||
|
brew install pyenv
|
||||||
|
|
||||||
|
Or, if you would like to install the latest development release:
|
||||||
|
|
||||||
|
brew install --HEAD pyenv
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
Before you begin, you should ensure that your build environment has the proper
|
||||||
|
system dependencies for compiling the wanted Python Version (see our [recommendations](https://github.com/pyenv/pyenv/wiki#suggested-build-environment)).
|
||||||
|
|
||||||
### Using `pyenv install` with pyenv
|
### Using `pyenv install` with pyenv
|
||||||
|
|
||||||
To install a Python version for use with pyenv, run `pyenv install` with
|
To install a Python version for use with pyenv, run `pyenv install` with
|
||||||
the exact name of the version you want to install. For example,
|
exact name of the version you want to install. For example,
|
||||||
|
|
||||||
pyenv install 2.7.4
|
pyenv install 2.7.4
|
||||||
|
|
||||||
Python versions will be installed into a directory of the same name
|
Python versions will be installed into a directory of the same name under
|
||||||
under `~/.pyenv/versions`.
|
`~/.pyenv/versions`.
|
||||||
|
|
||||||
To see a list of all available Python versions, run `pyenv install --list`.
|
To see a list of all available Python versions, run `pyenv install --list`. You
|
||||||
You may also tab-complete available Python
|
may also tab-complete available Python versions if your pyenv installation is
|
||||||
versions if your pyenv installation is properly configured.
|
properly configured.
|
||||||
|
|
||||||
### Using `python-build` standalone
|
### Using `python-build` standalone
|
||||||
|
|
||||||
If you have installed python-build as a standalone program, you can use
|
If you have installed python-build as a standalone program, you can use the
|
||||||
the `python-build` command to compile and install Python versions into
|
`python-build` command to compile and install Python versions into specific
|
||||||
specific locations.
|
locations.
|
||||||
|
|
||||||
Run the `python-build` command with the exact name of the version you
|
Run the `python-build` command with the exact name of the version you want to
|
||||||
want to install and the full path where you want to install it. For
|
install and the full path where you want to install it. For example,
|
||||||
example,
|
|
||||||
|
|
||||||
python-build 2.7.4 ~/local/python-2.7.4
|
python-build 2.7.4 ~/local/python-2.7.4
|
||||||
|
|
||||||
To see a list of all available Python versions, run `python-build
|
To see a list of all available Python versions, run `python-build --definitions`.
|
||||||
--definitions`.
|
|
||||||
|
|
||||||
Pass the `-v` or `--verbose` flag to `python-build` as the first
|
Pass the `-v` or `--verbose` flag to `python-build` as the first argument to see
|
||||||
argument to see what's happening under the hood.
|
what's happening under the hood.
|
||||||
|
|
||||||
### Custom definitions
|
### Custom definitions
|
||||||
|
|
||||||
Both `pyenv install` and `python-build` accept a path to a custom
|
Both `pyenv install` and `python-build` accept a path to a custom definition file
|
||||||
definition file in place of a version name. Custom definitions let you
|
in place of a version name. Custom definitions let you develop and install
|
||||||
develop and install versions of Python that are not yet supported by
|
versions of Python that are not yet supported by python-build.
|
||||||
python-build.
|
|
||||||
|
|
||||||
See the [python-build built-in
|
See the [python-build built-in definitions](https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build) as a starting point for
|
||||||
definitions](https://github.com/yyuu/pyenv/tree/master/plugins/python-build/share/python-build)
|
custom definition files.
|
||||||
as a starting point for custom definition files.
|
|
||||||
|
[definitions]: https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build
|
||||||
|
|
||||||
### Special environment variables
|
### Special environment variables
|
||||||
|
|
||||||
You can set certain environment variables to control the build
|
You can set certain environment variables to control the build process.
|
||||||
process.
|
|
||||||
|
|
||||||
* `TMPDIR` sets the location where python-build stores temporary files.
|
* `TMPDIR` sets the location where python-build stores temporary files.
|
||||||
* `PYTHON_BUILD_BUILD_PATH` sets the location in which sources are
|
* `PYTHON_BUILD_BUILD_PATH` sets the location in which sources are downloaded and
|
||||||
downloaded and built. By default, this is a subdirectory of
|
built. By default, this is a subdirectory of `TMPDIR`.
|
||||||
`TMPDIR`.
|
* `PYTHON_BUILD_CACHE_PATH`, if set, specifies a directory to use for caching
|
||||||
* `PYTHON_BUILD_CACHE_PATH`, if set, specifies a directory to use for
|
downloaded package files.
|
||||||
caching downloaded package files.
|
* `PYTHON_BUILD_MIRROR_URL` overrides the default mirror URL root to one of your
|
||||||
* `PYTHON_BUILD_MIRROR_URL` overrides the default mirror URL root to one
|
choosing.
|
||||||
of your choosing.
|
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from
|
||||||
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download
|
their original source URLs instead of using a mirror.
|
||||||
packages from their original source URLs instead of using a mirror.
|
* `PYTHON_BUILD_ROOT` overrides the default location from where build definitions
|
||||||
|
in `share/python-build/` are looked up.
|
||||||
|
* `PYTHON_BUILD_DEFINITIONS` can be a list of colon-separated paths that get
|
||||||
|
additionally searched when looking up build definitions.
|
||||||
* `CC` sets the path to the C compiler.
|
* `CC` sets the path to the C compiler.
|
||||||
|
* `PYTHON_CFLAGS` lets you pass additional options to the default `CFLAGS`. Use
|
||||||
|
this to override, for instance, the `-O3` option.
|
||||||
* `CONFIGURE_OPTS` lets you pass additional options to `./configure`.
|
* `CONFIGURE_OPTS` lets you pass additional options to `./configure`.
|
||||||
* `MAKE` lets you override the command to use for `make`. Useful for
|
* `MAKE` lets you override the command to use for `make`. Useful for specifying
|
||||||
specifying GNU make (`gmake`) on some systems.
|
GNU make (`gmake`) on some systems.
|
||||||
* `MAKE_OPTS` (or `MAKEOPTS`) lets you pass additional options to
|
* `MAKE_OPTS` (or `MAKEOPTS`) lets you pass additional options to `make`.
|
||||||
`make`.
|
* `MAKE_INSTALL_OPTS` lets you pass additional options to `make install`.
|
||||||
* `PYTHON_CONFIGURE_OPTS` and `PYTHON_MAKE_OPTS` allow you to specify
|
* `PYTHON_CONFIGURE_OPTS` and `PYTHON_MAKE_OPTS` and `PYTHON_MAKE_INSTALL_OPTS` allow
|
||||||
configure and make options for buildling CPython. These variables will
|
you to specify configure and make options for building CPython. These variables
|
||||||
be passed to Python only, not any dependent packages (e.g. libyaml).
|
will be passed to Python only, not any dependent packages (e.g. libyaml).
|
||||||
|
|
||||||
### Building as `--enable-shared`
|
### Applying patches to Python before compiling
|
||||||
|
|
||||||
|
Both `pyenv install` and `python-build` support the `--patch` (`-p`) flag that
|
||||||
|
signals that a patch from stdin should be applied to Python, Jython or PyPy
|
||||||
|
source code before the `./configure` and compilation steps.
|
||||||
|
|
||||||
|
Example usage:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# applying a single patch
|
||||||
|
$ pyenv install --patch 2.7.10 < /path/to/python.patch
|
||||||
|
|
||||||
|
# applying a patch from HTTP
|
||||||
|
$ pyenv install --patch 2.7.10 < <(curl -sSL http://git.io/python.patch)
|
||||||
|
|
||||||
|
# applying multiple patches
|
||||||
|
$ cat fix1.patch fix2.patch | pyenv install --patch 2.7.10
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Building with `--enable-shared`
|
||||||
|
|
||||||
You can build CPython with `--enable-shared` to install a version with
|
You can build CPython with `--enable-shared` to install a version with
|
||||||
shared object.
|
shared object.
|
||||||
|
|
||||||
If `--enabled-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`,
|
If `--enable-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`,
|
||||||
`python-build` will automatically set `RPATH` to the pyenv's prefix directory.
|
`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
|
This means you don't have to set `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` for
|
||||||
the version(s) installed with `--enable-shared`.
|
the version(s) installed with `--enable-shared`.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ env PYTHON_CONFIGURE_OPTS="--enable-shared` pyenv install 2.7.9
|
$ 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, python-build will
|
||||||
python-build will automatically verify the SHA2 checksum of each
|
automatically verify the SHA2 checksum of each downloaded package before
|
||||||
downloaded package before installing it.
|
installing it.
|
||||||
|
|
||||||
Checksums are optional and specified as anchors on the package URL in
|
Checksums are optional and specified as anchors on the package URL in each
|
||||||
each definition. (All bundled definitions include checksums.)
|
definition. (All bundled definitions include checksums.)
|
||||||
|
|
||||||
### Package download mirrors
|
### Package download mirrors
|
||||||
|
|
||||||
python-build will first attempt to download package files from a mirror
|
python-build will first attempt to download package files from a mirror hosted on
|
||||||
hosted on Amazon CloudFront. If a package is not available on the
|
GitHub Pages. If a package is not available on the mirror, if the mirror
|
||||||
mirror, if the mirror is down, or if the download is corrupt,
|
is down, or if the download is corrupt, python-build will fall back to the
|
||||||
python-build will fall back to the official URL specified in the
|
official URL specified in the definition file.
|
||||||
defintion file.
|
|
||||||
|
|
||||||
You can point python-build to another mirror by specifying the
|
You can point python-build to another mirror by specifying the
|
||||||
`PYTHON_BUILD_MIRROR_URL` environment variable--useful if you'd like to
|
`PYTHON_BUILD_MIRROR_URL` environment variable--useful if you'd like to run your
|
||||||
run your own local mirror, for example. Package mirror URLs are
|
own local mirror, for example. Package mirror URLs are constructed by joining
|
||||||
constructed by joining this variable with the SHA2 checksum of the
|
this variable with the SHA2 checksum of the package file.
|
||||||
package file.
|
|
||||||
|
|
||||||
If you don't have an SHA2 program installed, python-build will skip the
|
If you don't have an SHA2 program installed, python-build will skip the download
|
||||||
download mirror and use official URLs instead. You can force
|
mirror and use official URLs instead. You can force python-build to bypass the
|
||||||
python-build to bypass the mirror by setting the
|
mirror by setting the `PYTHON_BUILD_SKIP_MIRROR` environment variable.
|
||||||
`PYTHON_BUILD_SKIP_MIRROR` environment variable.
|
|
||||||
|
|
||||||
The official python-build download mirror is provided by [Git Hub Pages](http://yyuu.github.io/pythons/).
|
The official python-build download mirror is provided by
|
||||||
|
[GitHub Pages](http://yyuu.github.io/pythons/).
|
||||||
|
|
||||||
### Package download caching
|
### Package download caching
|
||||||
|
|
||||||
You can instruct python-build to keep a local cache of downloaded
|
You can instruct python-build to keep a local cache of downloaded package files
|
||||||
package files by setting the `PYTHON_BUILD_CACHE_PATH` environment
|
by setting the `PYTHON_BUILD_CACHE_PATH` environment variable. When set, package
|
||||||
variable. When set, package files will be kept in this directory after
|
files will be kept in this directory after the first successful download and
|
||||||
the first successful download and reused by subsequent invocations of
|
reused by subsequent invocations of `python-build` and `pyenv install`.
|
||||||
`python-build` and `pyenv install`.
|
|
||||||
|
|
||||||
The `pyenv install` command defaults this path to `~/.pyenv/cache`, so
|
The `pyenv install` command defaults this path to `~/.pyenv/cache`, so in most
|
||||||
in most cases you can enable download caching simply by creating that
|
cases you can enable download caching simply by creating that directory.
|
||||||
directory.
|
|
||||||
|
|
||||||
### Keeping the build directory after installation
|
### Keeping the build directory after installation
|
||||||
|
|
||||||
Both `python-build` and `pyenv install` accept the `-k` or `--keep`
|
Both `python-build` and `pyenv install` accept the `-k` or `--keep` flag, which
|
||||||
flag, which tells python-build to keep the downloaded source after
|
tells python-build to keep the downloaded source after installation. This can be
|
||||||
installation. This can be useful if you need to use `gdb` and
|
useful if you need to use `gdb` and `memprof` with Python.
|
||||||
`memprof` with Python.
|
|
||||||
|
|
||||||
Source code will be kept in a parallel directory tree
|
Source code will be kept in a parallel directory tree `~/.pyenv/sources` when
|
||||||
`~/.pyenv/sources` when using `--keep` with the `pyenv install`
|
using `--keep` with the `pyenv install` command. You should specify the
|
||||||
command. You should specify the location of the source code with the
|
location of the source code with the `PYTHON_BUILD_BUILD_PATH` environment
|
||||||
`PYTHON_BUILD_BUILD_PATH` environment variable when using `--keep` with
|
variable when using `--keep` with `python-build`.
|
||||||
`python-build`.
|
|
||||||
|
|
||||||
|
|
||||||
## Getting Help
|
## Getting Help
|
||||||
|
|
||||||
Please see the [python-build
|
Please see the [pyenv wiki](https://github.com/pyenv/pyenv/wiki) for solutions to common problems.
|
||||||
wiki](https://github.com/yyuu/pyenv/wiki) for solutions to
|
|
||||||
common problems.
|
[wiki]: https://github.com/pyenv/pyenv/wiki
|
||||||
|
|
||||||
If you can't find an answer on the wiki, open an issue on the [issue
|
If you can't find an answer on the wiki, open an issue on the [issue
|
||||||
tracker](https://github.com/yyuu/pyenv/issues). Be sure to
|
tracker](https://github.com/pyenv/pyenv/issues). Be sure to include
|
||||||
include the full build log for build failures.
|
the full build log for build failures.
|
||||||
|
|
||||||
|
|
||||||
### License
|
|
||||||
|
|
||||||
(The MIT License)
|
|
||||||
|
|
||||||
* Copyright (c) 2013 Yamashita, Yuu
|
|
||||||
* Copyright (c) 2012 Sam Stephenson
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
# Usage: pyenv install [-f] [-kvp] <version>
|
# Usage: pyenv install [-f] [-kvp] <version>
|
||||||
# pyenv install [-f] [-kvp] <definition-file>
|
# pyenv install [-f] [-kvp] <definition-file>
|
||||||
# pyenv install -l|--list
|
# pyenv install -l|--list
|
||||||
|
# pyenv install --version
|
||||||
#
|
#
|
||||||
# -l/--list List all available versions
|
# -l/--list List all available versions
|
||||||
# -f/--force Install even if the version appears to be installed already
|
# -f/--force Install even if the version appears to be installed already
|
||||||
@@ -14,21 +15,18 @@
|
|||||||
#
|
#
|
||||||
# -k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
|
# -k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
|
||||||
# (defaults to $PYENV_ROOT/sources)
|
# (defaults to $PYENV_ROOT/sources)
|
||||||
# -v/--verbose Verbose mode: print compilation status to stdout
|
|
||||||
# -p/--patch Apply a patch from stdin before building
|
# -p/--patch Apply a patch from stdin before building
|
||||||
|
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||||
|
# --version Show version of python-build
|
||||||
# -g/--debug Build a debug version
|
# -g/--debug Build a debug version
|
||||||
#
|
#
|
||||||
# For detailed information on installing Python versions with
|
# For detailed information on installing Python versions with
|
||||||
# python-build, including a list of environment variables for adjusting
|
# python-build, including a list of environment variables for adjusting
|
||||||
# compilation, see: https://github.com/yyuu/pyenv#readme
|
# compilation, see: https://github.com/pyenv/pyenv#readme
|
||||||
#
|
#
|
||||||
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
|
# Add `share/python-build/` directory from each pyenv plugin to the list of
|
||||||
# paths where build definitions are looked up.
|
# paths where build definitions are looked up.
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
@@ -40,6 +38,14 @@ shopt -u nullglob
|
|||||||
|
|
||||||
# Provide pyenv completions
|
# Provide pyenv completions
|
||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
|
echo --list
|
||||||
|
echo --force
|
||||||
|
echo --skip-existing
|
||||||
|
echo --keep
|
||||||
|
echo --patch
|
||||||
|
echo --verbose
|
||||||
|
echo --version
|
||||||
|
echo --debug
|
||||||
exec python-build --definitions
|
exec python-build --definitions
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -177,40 +183,52 @@ if [ -z "${PYTHON_BUILD_CACHE_PATH}" ] && [ -d "${PYENV_ROOT}/cache" ]; then
|
|||||||
export PYTHON_BUILD_CACHE_PATH="${PYENV_ROOT}/cache"
|
export PYTHON_BUILD_CACHE_PATH="${PYENV_ROOT}/cache"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default PYENV_VERSION to the friendly Python version. (The
|
if [ -z "${PYENV_BOOTSTRAP_VERSION}" ]; then
|
||||||
# CPython installer requires an existing Python installation to run. An
|
case "${VERSION_NAME}" in
|
||||||
# unsatisfied local .python-version file can cause the installer to
|
[23]"."* )
|
||||||
# fail.)
|
# Default PYENV_VERSION to the friendly Python version. (The
|
||||||
if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
# CPython installer requires an existing Python installation to run. An
|
||||||
for version in "${VERSION_NAME%-dev}" "${VERSION_NAME%.*}" "${VERSION_NAME%%.*}"; do
|
# unsatisfied local .python-version file can cause the installer to
|
||||||
PYENV_VERSION="$(pyenv-whence "python${version}" 2>/dev/null | tail -n 1 || true)"
|
# fail.)
|
||||||
if [ -n "${PYENV_VERSION}" ]; then
|
for version_info in "${VERSION_NAME%-dev}" "${VERSION_NAME%.*}" "${VERSION_NAME%%.*}"; do
|
||||||
export PYENV_VERSION
|
# Anaconda's `curl` doesn't work on platform where `/etc/pki/tls/certs/ca-bundle.crt` isn't available (e.g. Debian)
|
||||||
break
|
for version in $(pyenv-whence "python${version_info}" 2>/dev/null || true); do
|
||||||
fi
|
if [[ "${version}" != "anaconda"* ]] && [[ "${version}" != "miniconda"* ]]; then
|
||||||
done
|
PYENV_BOOTSTRAP_VERSION="${version}"
|
||||||
fi
|
break 2
|
||||||
|
fi
|
||||||
# PyPy/PyPy3 requires existing Python 2.7 to build
|
done
|
||||||
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
|
done
|
||||||
fi
|
;;
|
||||||
if [ -n "$PYENV_RPYTHON_VERSION" ]; then
|
"pypy"*"-dev" | "pypy"*"-src" )
|
||||||
if PYENV_VERSION="$PYENV_RPYTHON_VERSION" pyenv-exec python -c 'import curses' 1>/dev/null 2>&1; then
|
# PyPy/PyPy3 requires existing Python 2.7 to build
|
||||||
export PYENV_VERSION="$PYENV_RPYTHON_VERSION"
|
if [ -n "${PYENV_RPYTHON_VERSION}" ]; then
|
||||||
|
PYENV_BOOTSTRAP_VERSION="${PYENV_RPYTHON_VERSION}"
|
||||||
else
|
else
|
||||||
echo "pyenv-install: $VERSION_NAME: PyPy requires \`curses' in $PYENV_RPYTHON_VERSION to build from source." >&2
|
for version in $(pyenv-versions --bare | sort -r); do
|
||||||
|
if [[ "${version}" == "2.7"* ]]; then
|
||||||
|
PYENV_BOOTSTRAP_VERSION="$version"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ -n "$PYENV_BOOTSTRAP_VERSION" ]; then
|
||||||
|
for dep in curses genc pycparser; do
|
||||||
|
if ! PYENV_VERSION="$PYENV_BOOTSTRAP_VERSION" pyenv-exec python -c "import ${dep}" 1>/dev/null 2>&1; then
|
||||||
|
echo "pyenv-install: $VERSION_NAME: PyPy requires \`${dep}' in $PYENV_BOOTSTRAP_VERSION to build from source." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "pyenv-install: $VERSION_NAME: PyPy requires Python 2.7 to build from source." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
;;
|
||||||
echo "pyenv-install: $VERSION_NAME: PyPy requires Python 2.5, 2.6 or 2.7 to build from source." >&2
|
esac
|
||||||
exit 1
|
fi
|
||||||
fi
|
|
||||||
|
if [ -n "${PYENV_BOOTSTRAP_VERSION}" ]; then
|
||||||
|
export PYENV_VERSION="${PYENV_BOOTSTRAP_VERSION}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Execute `before_install` hooks.
|
# Execute `before_install` hooks.
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ set -e
|
|||||||
|
|
||||||
# Provide pyenv completions
|
# Provide pyenv completions
|
||||||
if [ "$1" = "--complete" ]; then
|
if [ "$1" = "--complete" ]; then
|
||||||
|
echo --force
|
||||||
exec pyenv versions --bare
|
exec pyenv versions --bare
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -22,10 +23,6 @@ usage() {
|
|||||||
[ -z "$1" ] || exit "$1"
|
[ -z "$1" ] || exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$PYENV_ROOT" ]; then
|
|
||||||
PYENV_ROOT="${HOME}/.pyenv"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||||
usage 0
|
usage 0
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,18 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# Usage: python-build [-kvp] <definition> <prefix>
|
# Usage: python-build [-kpv] <definition> <prefix>
|
||||||
# python-build --definitions
|
# python-build --definitions
|
||||||
|
# python-build --version
|
||||||
#
|
#
|
||||||
# -k/--keep Do not remove source tree after installation
|
# -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
|
# -p/--patch Apply a patch from stdin before building
|
||||||
|
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||||
# -4/--ipv4 Resolve names to IPv4 addresses only
|
# -4/--ipv4 Resolve names to IPv4 addresses only
|
||||||
# -6/--ipv6 Resolve names to IPv6 addresses only
|
# -6/--ipv6 Resolve names to IPv6 addresses only
|
||||||
# --definitions List all built-in definitions
|
# --definitions List all built-in definitions
|
||||||
|
# --version Show version of python-build
|
||||||
# -g/--debug Build a debug version
|
# -g/--debug Build a debug version
|
||||||
#
|
#
|
||||||
|
|
||||||
PYTHON_BUILD_VERSION="20150818"
|
PYTHON_BUILD_VERSION="20160602"
|
||||||
|
|
||||||
|
OLDIFS="$IFS"
|
||||||
|
|
||||||
set -E
|
set -E
|
||||||
exec 3<&2 # preserve original stderr at fd 3
|
exec 3<&2 # preserve original stderr at fd 3
|
||||||
@@ -97,12 +101,18 @@ os_information() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_mac() {
|
||||||
|
[ "$(uname -s)" = "Darwin" ] || return 1
|
||||||
|
[ $# -eq 0 ] || [ "$(osx_version)" "$@" ]
|
||||||
|
}
|
||||||
|
|
||||||
# 9.1 -> 901
|
# 9.1 -> 901
|
||||||
# 10.9 -> 1009
|
# 10.9 -> 1009
|
||||||
# 10.10 -> 1010
|
# 10.10 -> 1010
|
||||||
osx_version() {
|
osx_version() {
|
||||||
local -a ver
|
local -a ver
|
||||||
IFS=. ver=( `sw_vers -productVersion` )
|
IFS=. ver=( `sw_vers -productVersion` )
|
||||||
|
IFS="$OLDIFS"
|
||||||
echo $(( ${ver[0]}*100 + ${ver[1]} ))
|
echo $(( ${ver[0]}*100 + ${ver[1]} ))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,8 +247,8 @@ compute_sha2() {
|
|||||||
output="$("$openssl" dgst -sha256 2>/dev/null)" || return 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 -b)" || return 1
|
||||||
echo "${output% *}"
|
echo "${output%% *}"
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -253,30 +263,45 @@ compute_md5() {
|
|||||||
echo "${output##* }"
|
echo "${output##* }"
|
||||||
elif type md5sum &>/dev/null; then
|
elif type md5sum &>/dev/null; then
|
||||||
output="$(md5sum -b)" || return 1
|
output="$(md5sum -b)" || return 1
|
||||||
echo "${output% *}"
|
echo "${output%% *}"
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
has_checksum_support() {
|
||||||
|
local checksum_command="$1"
|
||||||
|
local has_checksum_var="HAS_CHECKSUM_SUPPORT_${checksum_command}"
|
||||||
|
|
||||||
|
if [ -z "${!has_checksum_var+defined}" ]; then
|
||||||
|
printf -v "$has_checksum_var" "$(echo test | "$checksum_command" >/dev/null; echo $?)"
|
||||||
|
fi
|
||||||
|
return "${!has_checksum_var}"
|
||||||
|
}
|
||||||
|
|
||||||
verify_checksum() {
|
verify_checksum() {
|
||||||
# If there's no SHA2 support, return success
|
local checksum_command
|
||||||
[ -n "$HAS_SHA2_SUPPORT" ] || return 0
|
local filename="$1"
|
||||||
local checksum_command="compute_sha2"
|
local expected_checksum="$(echo "$2" | tr [A-Z] [a-z])"
|
||||||
|
|
||||||
# If the specified filename doesn't exist, return success
|
# If the specified filename doesn't exist, return success
|
||||||
local filename="$1"
|
|
||||||
[ -e "$filename" ] || return 0
|
[ -e "$filename" ] || return 0
|
||||||
|
|
||||||
# If there's no expected checksum, return success
|
case "${#expected_checksum}" in
|
||||||
local expected_checksum=`echo "$2" | tr [A-Z] [a-z]`
|
0) return 0 ;; # empty checksum; return success
|
||||||
[ -n "$expected_checksum" ] || return 0
|
32) checksum_command="compute_md5" ;;
|
||||||
|
64) checksum_command="compute_sha2" ;;
|
||||||
|
*)
|
||||||
|
{ echo
|
||||||
|
echo "unexpected checksum length: ${#expected_checksum} (${expected_checksum})"
|
||||||
|
echo "expected 0 (no checksum), 32 (MD5), or 64 (SHA2-256)"
|
||||||
|
echo
|
||||||
|
} >&4
|
||||||
|
return 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# If the checksum length is 32 chars, assume MD5, otherwise SHA2
|
# If chosen provided checksum algorithm isn't supported, return success
|
||||||
if [ "${#expected_checksum}" -eq 32 ]; then
|
has_checksum_support "$checksum_command" || return 0
|
||||||
[ -n "$HAS_MD5_SUPPORT" ] || return 0
|
|
||||||
checksum_command="compute_md5"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If the computed checksum is empty, return failure
|
# If the computed checksum is empty, return failure
|
||||||
local computed_checksum=`echo "$($checksum_command < "$filename")" | tr [A-Z] [a-z]`
|
local computed_checksum=`echo "$($checksum_command < "$filename")" | tr [A-Z] [a-z]`
|
||||||
@@ -298,42 +323,45 @@ http() {
|
|||||||
local file="$3"
|
local file="$3"
|
||||||
[ -n "$url" ] || return 1
|
[ -n "$url" ] || return 1
|
||||||
|
|
||||||
if type curl &>/dev/null; then
|
if type aria2c &>/dev/null; then
|
||||||
|
"http_${method}_aria2c" "$url" "$file"
|
||||||
|
elif type curl &>/dev/null; then
|
||||||
"http_${method}_curl" "$url" "$file"
|
"http_${method}_curl" "$url" "$file"
|
||||||
elif type wget &>/dev/null; then
|
elif type wget &>/dev/null; then
|
||||||
"http_${method}_wget" "$url" "$file"
|
"http_${method}_wget" "$url" "$file"
|
||||||
else
|
else
|
||||||
echo "error: please install \`curl\` or \`wget\` and try again" >&2
|
echo "error: please install \`aria2c\`, \`curl\` or \`wget\` and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
http_head_aria2c() {
|
||||||
|
aria2c --dry-run --no-conf=true ${ARIA2_OPTS} "$1" >&4 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
http_get_aria2c() {
|
||||||
|
local out="${2:-$(mktemp "out.XXXXXX")}"
|
||||||
|
if aria2c --allow-overwrite=true --no-conf=true -o "${out}" ${ARIA2_OPTS} "$1" >&4; then
|
||||||
|
[ -n "$2" ] || cat "${out}"
|
||||||
|
else
|
||||||
|
false
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
http_head_curl() {
|
http_head_curl() {
|
||||||
options=""
|
curl -qsILf ${CURL_OPTS} "$1" >&4 2>&1
|
||||||
[ -n "${IPV4}" ] && options="--ipv4"
|
|
||||||
[ -n "${IPV6}" ] && options="--ipv6"
|
|
||||||
curl -qsILf ${options} "$1" >&4 2>&1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http_get_curl() {
|
http_get_curl() {
|
||||||
options=""
|
curl -q -o "${2:--}" -sSLf ${CURL_OPTS} "$1"
|
||||||
[ -n "${IPV4}" ] && options="--ipv4"
|
|
||||||
[ -n "${IPV6}" ] && options="--ipv6"
|
|
||||||
curl -q -o "${2:--}" -sSLf ${options} "$1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http_head_wget() {
|
http_head_wget() {
|
||||||
options=""
|
wget -q --spider ${WGET_OPTS} "$1" >&4 2>&1
|
||||||
[ -n "${IPV4}" ] && options="--inet4-only"
|
|
||||||
[ -n "${IPV6}" ] && options="--inet6-only"
|
|
||||||
wget -q --spider ${options} "$1" >&4 2>&1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
http_get_wget() {
|
http_get_wget() {
|
||||||
options=""
|
wget -nv ${WGET_OPTS} -O "${2:--}" "$1"
|
||||||
[ -n "${IPV4}" ] && options="--inet4-only"
|
|
||||||
[ -n "${IPV6}" ] && options="--inet6-only"
|
|
||||||
wget -nv ${options} -O "${2:--}" "$1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_tarball() {
|
fetch_tarball() {
|
||||||
@@ -347,23 +375,27 @@ fetch_tarball() {
|
|||||||
package_url="${package_url%%#*}"
|
package_url="${package_url%%#*}"
|
||||||
|
|
||||||
if [ -n "$PYTHON_BUILD_MIRROR_URL" ]; then
|
if [ -n "$PYTHON_BUILD_MIRROR_URL" ]; then
|
||||||
mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
|
if [[ -z "$PYTHON_BUILD_DEFAULT_MIRROR" || $package_url != */www.python.org/* ]]; then
|
||||||
|
mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local tar_args="xzf"
|
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
|
|
||||||
package_filename="${package_filename%tar.gz}tgz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$package_url" != "${package_url%bz2}" ]; then
|
if [ "$package_url" != "${package_url%bz2}" ]; then
|
||||||
|
if ! type -p bzip2 >/dev/null; then
|
||||||
|
echo "warning: bzip2 not found; consider installing \`bzip2\` package" >&4
|
||||||
|
fi
|
||||||
package_filename="${package_filename%.gz}.bz2"
|
package_filename="${package_filename%.gz}.bz2"
|
||||||
tar_args="${tar_args/z/j}"
|
tar_args="${tar_args/z/j}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$package_url" != "${package_url%xz}" ]; then
|
if [ "$package_url" != "${package_url%xz}" ]; then
|
||||||
|
if ! type -p xz >/dev/null; then
|
||||||
|
echo "warning: xz not found; consider installing \`xz\` package" >&4
|
||||||
|
fi
|
||||||
package_filename="${package_filename%.gz}.xz"
|
package_filename="${package_filename%.gz}.xz"
|
||||||
tar_args="${tar_args/z/J}"
|
tar_args="${tar_args/z/J}"
|
||||||
fi
|
fi
|
||||||
@@ -441,6 +473,10 @@ download_tarball() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
has_tar_xz_support() {
|
||||||
|
tar Jc /dev/null 1>/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
fetch_git() {
|
fetch_git() {
|
||||||
local package_name="$1"
|
local package_name="$1"
|
||||||
local git_url="$2"
|
local git_url="$2"
|
||||||
@@ -518,6 +554,8 @@ 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
|
||||||
|
elif type svnlite &>/dev/null; then
|
||||||
|
svnlite co -r "$svn_rev" "$svn_url" "${package_name}" >&4 2>&1
|
||||||
else
|
else
|
||||||
echo "error: please install Subversion and try again" >&2
|
echo "error: please install Subversion and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
@@ -550,7 +588,7 @@ fetch_jar() {
|
|||||||
|
|
||||||
# Must use full path to jar and destination directory:
|
# Must use full path to jar and destination directory:
|
||||||
# http://bugs.jython.org/issue2350
|
# http://bugs.jython.org/issue2350
|
||||||
{ if $JAVA -jar $PWD/${package_name}.jar -s -d $PWD/${package_name}; then
|
{ 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
|
||||||
@@ -651,6 +689,26 @@ package_option() {
|
|||||||
eval "$variable=( \"\${value[@]}\" )"
|
eval "$variable=( \"\${value[@]}\" )"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_package_warn_eol() {
|
||||||
|
local package_name="$1"
|
||||||
|
|
||||||
|
{ echo
|
||||||
|
echo "WARNING: $package_name is past its end of life and is now unsupported."
|
||||||
|
echo "It no longer receives bug fixes or critical security updates."
|
||||||
|
echo
|
||||||
|
} >&3
|
||||||
|
}
|
||||||
|
|
||||||
|
build_package_warn_unsupported() {
|
||||||
|
local package_name="$1"
|
||||||
|
|
||||||
|
{ echo
|
||||||
|
echo "WARNING: $package_name is nearing its end of life."
|
||||||
|
echo "It only receives critical security updates, no bug fixes."
|
||||||
|
echo
|
||||||
|
} >&3
|
||||||
|
}
|
||||||
|
|
||||||
build_package_standard() {
|
build_package_standard() {
|
||||||
local package_name="$1"
|
local package_name="$1"
|
||||||
|
|
||||||
@@ -678,11 +736,11 @@ 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
|
if [ -z "$CC" ] && is_mac -ge 1010; then
|
||||||
export CC=clang
|
export CC=clang
|
||||||
fi
|
fi
|
||||||
${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \
|
${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \
|
||||||
$CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}"
|
$CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1
|
||||||
) >&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}"
|
||||||
@@ -713,9 +771,7 @@ build_package_ree_installer() {
|
|||||||
build_package_auto_tcltk
|
build_package_auto_tcltk
|
||||||
|
|
||||||
local options=""
|
local options=""
|
||||||
if [[ "Darwin" = "$(uname)" ]]; then
|
is_mac && options="--no-tcmalloc"
|
||||||
options="--no-tcmalloc"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local option
|
local option
|
||||||
for option in $RUBY_CONFIGURE_OPTS ${RUBY_CONFIGURE_OPTS_ARRAY[@]}; do
|
for option in $RUBY_CONFIGURE_OPTS ${RUBY_CONFIGURE_OPTS_ARRAY[@]}; do
|
||||||
@@ -737,7 +793,20 @@ build_package_rbx() {
|
|||||||
mkdir -p vendor
|
mkdir -p vendor
|
||||||
ln -s "$RUBY_BUILD_CACHE_PATH" vendor/prebuilt
|
ln -s "$RUBY_BUILD_CACHE_PATH" vendor/prebuilt
|
||||||
fi
|
fi
|
||||||
RUBYOPT="-rubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS "${RUBY_CONFIGURE_OPTS_ARRAY[@]}"
|
|
||||||
|
local opt
|
||||||
|
local -a configure_opts
|
||||||
|
for opt in "${RUBY_CONFIGURE_OPTS_ARRAY[@]}"; do
|
||||||
|
if [[ $opt == --with-openssl-dir=* ]]; then
|
||||||
|
local openssl_dir="${opt#*=}"
|
||||||
|
configure_opts[${#configure_opts[@]}]="--with-lib-dir=${openssl_dir}/lib"
|
||||||
|
configure_opts[${#configure_opts[@]}]="--with-include-dir=${openssl_dir}/include"
|
||||||
|
else
|
||||||
|
configure_opts[${#configure_opts[@]}]="$opt"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
RUBYOPT="-rubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS "${configure_opts[@]}"
|
||||||
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"
|
||||||
@@ -799,29 +868,10 @@ build_package_jruby() {
|
|||||||
fix_jruby_shebangs
|
fix_jruby_shebangs
|
||||||
}
|
}
|
||||||
|
|
||||||
graal_architecture() {
|
|
||||||
if [ "$(uname -m)" != "x86_64" ]; then
|
|
||||||
echo "no nightly builds available" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$(uname -s)" in
|
|
||||||
"Darwin") echo "macosx-x86_64";;
|
|
||||||
"Linux") echo "linux-x86_64";;
|
|
||||||
*)
|
|
||||||
echo "no nightly builds available" >&2
|
|
||||||
exit 1;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
install_jruby_launcher() {
|
install_jruby_launcher() {
|
||||||
# If this version of JRuby has been modified for Graal, don't overwrite the
|
cd "${PREFIX_PATH}/bin"
|
||||||
# launcher scripts
|
{ ./ruby gem install jruby-launcher
|
||||||
if ! grep -q graalvm "${PREFIX_PATH}/bin/jruby"; then
|
} >&4 2>&1
|
||||||
cd "${PREFIX_PATH}/bin"
|
|
||||||
{ ./ruby gem install jruby-launcher
|
|
||||||
} >&4 2>&1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fix_jruby_shebangs() {
|
fix_jruby_shebangs() {
|
||||||
@@ -844,6 +894,22 @@ build_package_jython() {
|
|||||||
( cd "${PREFIX_PATH}/bin" && ln -fs jython python )
|
( cd "${PREFIX_PATH}/bin" && ln -fs jython python )
|
||||||
fi
|
fi
|
||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
|
fix_jython_shebangs
|
||||||
|
}
|
||||||
|
|
||||||
|
fix_jython_shebangs() {
|
||||||
|
# Workaround for Jython 2.7+ (#458)
|
||||||
|
for file in "${PREFIX_PATH}/bin"/*; do
|
||||||
|
case "$(head -1 "${file}")" in
|
||||||
|
"#!"*"/bin/jython" )
|
||||||
|
sed -i.bak "1 s:.*:#\!${PREFIX_PATH}\/bin\/jython:" "${file}"
|
||||||
|
;;
|
||||||
|
"#!"*"/bin/python2.7"* )
|
||||||
|
sed -i.bak "1 s:.*:#\!\/usr\/bin\/env python:" "${file}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
rm -f "${file}.bak"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_jython_builder() {
|
build_package_jython_builder() {
|
||||||
@@ -851,6 +917,15 @@ build_package_jython_builder() {
|
|||||||
( cd "dist" && build_package_jython )
|
( cd "dist" && build_package_jython )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_package_pyston() {
|
||||||
|
mkdir -p "${PREFIX_PATH}/"
|
||||||
|
cp -fR . "${PREFIX_PATH}/"
|
||||||
|
chmod +x "${PREFIX_PATH}/"pyston
|
||||||
|
# FIXME ugly hack below adapted from
|
||||||
|
# https://github.com/dropbox/pyston/blob/master/docker/pyston/Dockerfile
|
||||||
|
( cd "${PREFIX_PATH}/" && ./pyston virtualenv/virtualenv.py . )
|
||||||
|
}
|
||||||
|
|
||||||
build_package_ironpython() {
|
build_package_ironpython() {
|
||||||
mkdir -p "${PREFIX_PATH}/bin"
|
mkdir -p "${PREFIX_PATH}/bin"
|
||||||
cp -fR . "${PREFIX_PATH}/bin"
|
cp -fR . "${PREFIX_PATH}/bin"
|
||||||
@@ -863,6 +938,21 @@ build_package_ironpython_builder() {
|
|||||||
( cd "Stage/Release/IronPython-"* && build_package_ironpython )
|
( cd "Stage/Release/IronPython-"* && build_package_ironpython )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_package_micropython() {
|
||||||
|
if [ "${MAKEOPTS+defined}" ]; then
|
||||||
|
MAKE_OPTS="$MAKEOPTS"
|
||||||
|
elif [ -z "${MAKE_OPTS+defined}" ]; then
|
||||||
|
MAKE_OPTS="-j $(num_cpu_cores)"
|
||||||
|
fi
|
||||||
|
{ cd ports/unix
|
||||||
|
"$MAKE" $MAKE_OPTS axtls
|
||||||
|
"$MAKE" $MAKE_OPTS CFLAGS_EXTRA="-DMICROPY_PY_SYS_PATH_DEFAULT='\"${PREFIX_PATH}/lib/micropython\"'"
|
||||||
|
"$MAKE" install $MAKE_INSTALL_OPTS PREFIX="${PREFIX_PATH}"
|
||||||
|
ln -fs micropython "${PREFIX_PATH}/bin/python"
|
||||||
|
mkdir -p "${PREFIX_PATH}/lib/micropython"
|
||||||
|
}>&4 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
pypy_architecture() {
|
pypy_architecture() {
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
"Darwin" ) echo "osx64" ;;
|
"Darwin" ) echo "osx64" ;;
|
||||||
@@ -871,6 +961,8 @@ pypy_architecture() {
|
|||||||
"armel" ) echo "linux-armel" ;;
|
"armel" ) echo "linux-armel" ;;
|
||||||
"armhf" | "armv6l" | "armv7l" ) echo "linux-armhf" ;;
|
"armhf" | "armv6l" | "armv7l" ) echo "linux-armhf" ;;
|
||||||
"i386" | "i486" | "i586" | "i686" | "i786" ) echo "linux" ;;
|
"i386" | "i486" | "i586" | "i686" | "i786" ) echo "linux" ;;
|
||||||
|
"ppc64" ) echo "linux-ppc64" ;;
|
||||||
|
"ppc64le" ) echo "linux-ppc64le" ;;
|
||||||
"x86_64" ) echo "linux64" ;;
|
"x86_64" ) echo "linux64" ;;
|
||||||
* ) return 1 ;;
|
* ) return 1 ;;
|
||||||
esac
|
esac
|
||||||
@@ -886,43 +978,57 @@ pypy_architecture() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pyston_architecture() {
|
||||||
|
pypy_architecture
|
||||||
|
}
|
||||||
|
|
||||||
build_package_pypy() {
|
build_package_pypy() {
|
||||||
build_package_copy
|
build_package_copy
|
||||||
mkdir -p "${PREFIX_PATH}/bin" "${PREFIX_PATH}/lib"
|
mkdir -p "${PREFIX_PATH}/bin" "${PREFIX_PATH}/lib"
|
||||||
local pypy libpypy python
|
local bin
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
for pypy in "bin/pypy"*; do
|
for bin in "bin/"*; do
|
||||||
case "${pypy##*/}" in
|
if [ -f "${bin}" ] && [ -x "${bin}" ] && [ ! -L "${bin}" ]; then
|
||||||
"pypy-stm" )
|
case "${bin##*/}" in
|
||||||
python="bin/python"
|
"libpypy"* )
|
||||||
;;
|
( cd "${PREFIX_PATH}/lib" && ln -fs "../bin/${bin##*/}" "${bin##*/}" )
|
||||||
* )
|
;;
|
||||||
python="$(basename "${pypy}" | sed -e 's/pypy/python/')"
|
"pypy"* )
|
||||||
;;
|
( cd "${PREFIX_PATH}/bin" && ln -fs "${bin##*/}" "python" )
|
||||||
esac
|
;;
|
||||||
( cd "${PREFIX_PATH}/bin" && ln -fs "${pypy##*/}" "${python##*/}" )
|
esac
|
||||||
done
|
fi
|
||||||
for libpypy in "bin/libpypy-c."*; do
|
|
||||||
( cd "${PREFIX_PATH}/lib" && ln -fs "../bin/$(basename "${libpypy}")" "$(basename "${libpypy}")" )
|
|
||||||
done
|
done
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_pypy_builder() {
|
build_package_pypy_builder() {
|
||||||
if [ -f "rpython/bin/rpython" ]; then # pypy 2.x
|
if [ -f "rpython/bin/rpython" ]; then # pypy 2.x
|
||||||
python "rpython/bin/rpython" ${PYPY_OPTS:-"-Ojit"} "pypy/goal/targetpypystandalone.py" >&4 2>&1
|
if [ -z "${PYPY_OPTS}" ]; then
|
||||||
|
local PYPY_OPTS="--opt=jit --batch --make-jobs=$(num_cpu_cores)"
|
||||||
|
fi
|
||||||
|
python "rpython/bin/rpython" ${PYPY_OPTS} "pypy/goal/targetpypystandalone.py" >&4 2>&1
|
||||||
elif [ -f "pypy/translator/goal/translate.py" ]; then # pypy 1.x
|
elif [ -f "pypy/translator/goal/translate.py" ]; then # pypy 1.x
|
||||||
( cd "pypy/translator/goal" && python "translate.py" ${PYPY_OPTS:-"--opt=jit"} "targetpypystandalone.py" ) 1>&4 2>&1
|
if [ -z "${PYPY_OPTS}" ]; then
|
||||||
|
local PYPY_OPTS="--opt=jit"
|
||||||
|
fi
|
||||||
|
( cd "pypy/translator/goal" && python "translate.py" ${PYPY_OPTS} "targetpypystandalone.py" ) 1>&4 2>&1
|
||||||
else
|
else
|
||||||
echo "not a pypy source tree" 1>&3
|
echo "not a pypy source tree" 1>&3
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
{ mkdir -p "bin" "lib"
|
{ mkdir -p "bin" "lib"
|
||||||
if [ -x "pypy-c" ]; then
|
local pypy
|
||||||
mv -f "pypy-c" "bin/pypy"
|
for pypy in "pypy"*; do
|
||||||
fi
|
if [ -f "${pypy}" ] && [ -x "${pypy}" ] && [ ! -L "${pypy}" ]; then
|
||||||
for libpypy in "libpypy-c."*; do
|
mv -f "${pypy}" "bin/${pypy##*/}"
|
||||||
mv -f "${libpypy}" "bin/"
|
fi
|
||||||
|
done
|
||||||
|
local libpypy
|
||||||
|
for libpypy in "libpypy"*; do
|
||||||
|
if [ -f "${libpypy}" ] && [ -x "${libpypy}" ] && [ ! -L "${libpypy}" ]; then
|
||||||
|
mv -f "${libpypy}" "bin/${libpypy##*/}"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
build_package_pypy
|
build_package_pypy
|
||||||
@@ -933,7 +1039,9 @@ anaconda_architecture() {
|
|||||||
"Darwin" ) echo "MacOSX-x86_64" ;;
|
"Darwin" ) echo "MacOSX-x86_64" ;;
|
||||||
"Linux" )
|
"Linux" )
|
||||||
case "$(uname -m)" in
|
case "$(uname -m)" in
|
||||||
|
"armv7l" ) echo "Linux-armv7l" ;;
|
||||||
"i386" | "i486" | "i586" | "i686" | "i786" ) echo "Linux-x86" ;;
|
"i386" | "i486" | "i586" | "i686" | "i786" ) echo "Linux-x86" ;;
|
||||||
|
"ppc64le" ) echo "Linux-ppc64le" ;;
|
||||||
"x86_64" ) echo "Linux-x86_64" ;;
|
"x86_64" ) echo "Linux-x86_64" ;;
|
||||||
* ) return 1 ;;
|
* ) return 1 ;;
|
||||||
esac
|
esac
|
||||||
@@ -944,7 +1052,7 @@ anaconda_architecture() {
|
|||||||
|
|
||||||
build_package_anaconda() {
|
build_package_anaconda() {
|
||||||
local package_name="$1"
|
local package_name="$1"
|
||||||
{ bash "${package_name}.sh" -b -p "${PREFIX_PATH}"
|
{ bash "${package_name}.sh" -f -b -p "${PREFIX_PATH}"
|
||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1039,7 +1147,7 @@ require_gcc() {
|
|||||||
echo "and try again."
|
echo "and try again."
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if [ "$(uname -s)" = "Darwin" ]; then
|
if is_mac; then
|
||||||
colorize 1 "DETAILS"
|
colorize 1 "DETAILS"
|
||||||
echo ": Apple no longer includes the official GCC compiler with Xcode"
|
echo ": Apple no longer includes the official GCC compiler with Xcode"
|
||||||
echo "as of version 4.2. Instead, the \`gcc\` executable is a symlink to"
|
echo "as of version 4.2. Instead, the \`gcc\` executable is a symlink to"
|
||||||
@@ -1074,7 +1182,7 @@ require_gcc() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
export CC="$gcc"
|
export CC="$gcc"
|
||||||
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
if is_mac -ge 1010; then
|
||||||
export MACOSX_DEPLOYMENT_TARGET=10.9
|
export MACOSX_DEPLOYMENT_TARGET=10.9
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -1082,6 +1190,7 @@ require_gcc() {
|
|||||||
locate_gcc() {
|
locate_gcc() {
|
||||||
local gcc gccs
|
local gcc gccs
|
||||||
IFS=: gccs=($(gccs_in_path))
|
IFS=: gccs=($(gccs_in_path))
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
verify_gcc "$CC" ||
|
verify_gcc "$CC" ||
|
||||||
verify_gcc "$(command -v gcc || true)" || {
|
verify_gcc "$(command -v gcc || true)" || {
|
||||||
@@ -1097,6 +1206,7 @@ gccs_in_path() {
|
|||||||
local gcc path paths
|
local gcc path paths
|
||||||
local gccs=()
|
local gccs=()
|
||||||
IFS=: paths=($PATH)
|
IFS=: paths=($PATH)
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
for path in "${paths[@]}"; do
|
for path in "${paths[@]}"; do
|
||||||
@@ -1129,7 +1239,7 @@ verify_gcc() {
|
|||||||
|
|
||||||
require_llvm() {
|
require_llvm() {
|
||||||
local llvm_version="$1"
|
local llvm_version="$1"
|
||||||
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
if is_mac -ge 1010; then
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" != *--llvm-* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" != *--llvm-* ]]; then
|
||||||
case "$llvm_version" in
|
case "$llvm_version" in
|
||||||
3.2 )
|
3.2 )
|
||||||
@@ -1190,6 +1300,17 @@ require_java() {
|
|||||||
export JAVA="$java"
|
export JAVA="$java"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Let Jython installer to generate shell script instead of python script even if there's `python2.7` available in `$PATH` (#800)
|
||||||
|
# FIXME: better function naming
|
||||||
|
unrequire_python27() {
|
||||||
|
export PATH="${BUILD_PATH}/bin:${PATH}"
|
||||||
|
mkdir -p "${BUILD_PATH}/bin"
|
||||||
|
if command -v python2.7 1>/dev/null 2>&1; then
|
||||||
|
echo false > "${BUILD_PATH}/bin/python2.7"
|
||||||
|
chmod +x "${BUILD_PATH}/bin/python2.7"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
require_distro() {
|
require_distro() {
|
||||||
for arg; do
|
for arg; do
|
||||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "$arg"* ]]; then
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "$arg"* ]]; then
|
||||||
@@ -1205,8 +1326,31 @@ require_distro() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configured_with_package_dir() {
|
||||||
|
local package_var_name="$(capitalize "$1")"
|
||||||
|
shift 1
|
||||||
|
local PACKAGE_CONFIGURE_OPTS="${package_var_name}_CONFIGURE_OPTS"
|
||||||
|
local PACKAGE_CONFIGURE_OPTS_ARRAY="${package_var_name}_MAKE_OPTS_ARRAY[@]"
|
||||||
|
local arg flag
|
||||||
|
for arg in ${CONFIGURE_OPTS} ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}"; do
|
||||||
|
if [[ "$arg" == "CPPFLAGS="* ]]; then
|
||||||
|
for flag in ${CPPFLAGS} ${arg##CPPFLAGS=}; do
|
||||||
|
if [[ "$flag" == "-I"* ]]; then
|
||||||
|
local header
|
||||||
|
for header in "$@"; do
|
||||||
|
if [ -e "${flag##-I}/${header#/}" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
needs_yaml() {
|
needs_yaml() {
|
||||||
[[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] &&
|
! configured_with_package_dir "python" "yaml.h" &&
|
||||||
! use_homebrew_yaml
|
! use_homebrew_yaml
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1220,30 +1364,16 @@ use_homebrew_yaml() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
configured_with_readline_dir() {
|
|
||||||
# Mac OS X 10.4 has broken readline.
|
|
||||||
# https://github.com/yyuu/pyenv/issues/23
|
|
||||||
local arg flag
|
|
||||||
for arg in ${CONFIGURE_OPTS} ${PYTHON_CONFIGURE_OPTS} "${PYTHON_CONFIGURE_OPTS_ARRAY[@]}"; do
|
|
||||||
if [[ "$arg" == "CPPFLAGS="* ]]; then
|
|
||||||
for flag in ${CPPFLAGS} ${arg##CPPFLAGS=}; do
|
|
||||||
if [[ "$flag" == "-I"* ]] && [ -e "${flag##-I}/readline/rlconf.h" ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
has_broken_mac_readline() {
|
has_broken_mac_readline() {
|
||||||
[ "$(uname -s)" = "Darwin" ] &&
|
# Mac OS X 10.4 has broken readline.
|
||||||
! configured_with_readline_dir &&
|
# https://github.com/pyenv/pyenv/issues/23
|
||||||
|
is_mac &&
|
||||||
|
! configured_with_package_dir "python" "readline/rlconf.h" &&
|
||||||
! use_homebrew_readline
|
! use_homebrew_readline
|
||||||
}
|
}
|
||||||
|
|
||||||
use_homebrew_readline() {
|
use_homebrew_readline() {
|
||||||
if ! configured_with_readline_dir; then
|
if ! configured_with_package_dir "python" "readline/rlconf.h"; then
|
||||||
local libdir="$(brew --prefix readline 2>/dev/null || true)"
|
local libdir="$(brew --prefix readline 2>/dev/null || true)"
|
||||||
if [ -d "$libdir" ]; then
|
if [ -d "$libdir" ]; then
|
||||||
export CPPFLAGS="-I$libdir/include ${CPPFLAGS}"
|
export CPPFLAGS="-I$libdir/include ${CPPFLAGS}"
|
||||||
@@ -1255,7 +1385,7 @@ use_homebrew_readline() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
has_broken_mac_openssl() {
|
has_broken_mac_openssl() {
|
||||||
[ "$(uname -s)" = "Darwin" ] &&
|
is_mac &&
|
||||||
[[ "$(/usr/bin/openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8"?* ]] &&
|
[[ "$(/usr/bin/openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8"?* ]] &&
|
||||||
! use_homebrew_openssl
|
! use_homebrew_openssl
|
||||||
}
|
}
|
||||||
@@ -1315,16 +1445,21 @@ build_package_verify_openssl() {
|
|||||||
|
|
||||||
# Ensure that directories listed in LDFLAGS exist
|
# Ensure that directories listed in LDFLAGS exist
|
||||||
build_package_ldflags_dirs() {
|
build_package_ldflags_dirs() {
|
||||||
local arg
|
local arg dir
|
||||||
for arg in $LDFLAGS; do
|
set - $LDFLAGS
|
||||||
case "$arg" in
|
while [ $# -gt 0 ]; do
|
||||||
-L* ) mkdir -p "${arg#-L}" ;;
|
dir=""
|
||||||
|
case "$1" in
|
||||||
|
-L ) dir="$2" ;;
|
||||||
|
-L* ) dir="${1#-L}" ;;
|
||||||
esac
|
esac
|
||||||
|
[ -z "$dir" ] || mkdir -p "$dir"
|
||||||
|
shift 1
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_auto_tcltk() {
|
build_package_auto_tcltk() {
|
||||||
if [ "Darwin" = "$(uname -s)" ] && [ ! -d /usr/include/X11 ]; then
|
if is_mac && [ ! -d /usr/include/X11 ]; then
|
||||||
if [ -d /opt/X11/include ]; then
|
if [ -d /opt/X11/include ]; then
|
||||||
if [[ "$CPPFLAGS" != *-I/opt/X11/include* ]]; then
|
if [[ "$CPPFLAGS" != *-I/opt/X11/include* ]]; then
|
||||||
export CPPFLAGS="-I/opt/X11/include $CPPFLAGS"
|
export CPPFLAGS="-I/opt/X11/include $CPPFLAGS"
|
||||||
@@ -1368,7 +1503,7 @@ isolated_gem_install() {
|
|||||||
apply_python_patch() {
|
apply_python_patch() {
|
||||||
local patchfile
|
local patchfile
|
||||||
case "$1" in
|
case "$1" in
|
||||||
Python-* | jython-* | pypy-* )
|
Python-* | jython-* | pypy-* | stackless-* )
|
||||||
patchfile="$(mktemp "${TMP}/python-patch.XXXXXX")"
|
patchfile="$(mktemp "${TMP}/python-patch.XXXXXX")"
|
||||||
cat "${2:--}" >"$patchfile"
|
cat "${2:--}" >"$patchfile"
|
||||||
|
|
||||||
@@ -1379,38 +1514,49 @@ apply_python_patch() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
verify_python() {
|
build_package_symlink_version_suffix() {
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||||
|
if [ -e "${PREFIX_PATH}/bin" ]; then
|
||||||
|
# Always create `bin` as symlink to framework path if the version was built with `--enable-frameowrk` (#590)
|
||||||
|
rm -rf "${PREFIX_PATH}/bin.orig"
|
||||||
|
mv -f "${PREFIX_PATH}/bin" "${PREFIX_PATH}/bin.orig"
|
||||||
|
fi
|
||||||
# Only symlinks are installed in ${PREFIX_PATH}/bin
|
# Only symlinks are installed in ${PREFIX_PATH}/bin
|
||||||
rm -fr "${PREFIX_PATH}/bin"
|
|
||||||
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
|
||||||
|
|
||||||
# Not create symlinks on `altinstall` (#255)
|
# Not create symlinks on `altinstall` (#255)
|
||||||
if [[ "$PYTHON_MAKE_INSTALL_TARGET" != *"altinstall"* ]]; then
|
if [[ "$PYTHON_MAKE_INSTALL_TARGET" != *"altinstall"* ]]; then
|
||||||
local suffix="${1#python}"
|
|
||||||
local file link
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
for file in "${PREFIX_PATH}/bin"/*; do
|
local version_bin="$(ls -1 "${PREFIX_PATH}/bin/python"* | grep '[0-9]$' | sort | tail -1)"
|
||||||
unset link
|
suffix="$(basename "${version_bin}" | sed -e 's/^python//')"
|
||||||
case "${file}" in
|
if [ -n "${suffix}" ]; then
|
||||||
*/"python${suffix}-config" )
|
local file link
|
||||||
# Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
|
for file in "${PREFIX_PATH}/bin"/*; do
|
||||||
link="${file%/*}/python-config"
|
unset link
|
||||||
;;
|
case "${file}" in
|
||||||
*/*"-${suffix}" )
|
*/"python${suffix}-config" )
|
||||||
link="${file%%-${suffix}}"
|
# 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
|
*/*"${suffix}" )
|
||||||
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
|
link="${file%%${suffix}}"
|
||||||
fi
|
;;
|
||||||
done
|
esac
|
||||||
|
if [ -n "$link" ] && [ ! -e "$link" ]; then
|
||||||
|
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
verify_python() {
|
||||||
|
build_package_symlink_version_suffix
|
||||||
|
|
||||||
if [ ! -x "${PYTHON_BIN}" ]; then
|
if [ ! -x "${PYTHON_BIN}" ]; then
|
||||||
{ colorize 1 "ERROR"
|
{ colorize 1 "ERROR"
|
||||||
@@ -1418,7 +1564,7 @@ verify_python() {
|
|||||||
echo
|
echo
|
||||||
echo "The python-build could not find proper executable of Python after successful build."
|
echo "The python-build could not find proper executable of Python after successful build."
|
||||||
echo "Please open an issue for future improvements."
|
echo "Please open an issue for future improvements."
|
||||||
echo "https://github.com/yyuu/pyenv/issues"
|
echo "https://github.com/pyenv/pyenv/issues"
|
||||||
return 1
|
return 1
|
||||||
} >&3
|
} >&3
|
||||||
fi
|
fi
|
||||||
@@ -1439,7 +1585,7 @@ verify_python_module() {
|
|||||||
echo ": The Python $1 extension was not compiled. Missing the ${2:-$1}?"
|
echo ": The Python $1 extension was not compiled. Missing the ${2:-$1}?"
|
||||||
echo
|
echo
|
||||||
echo "Please consult to the Wiki page to fix the problem."
|
echo "Please consult to the Wiki page to fix the problem."
|
||||||
echo "https://github.com/yyuu/pyenv/wiki/Common-build-problems"
|
echo "https://github.com/pyenv/pyenv/wiki/Common-build-problems"
|
||||||
echo
|
echo
|
||||||
return 1
|
return 1
|
||||||
} >&3
|
} >&3
|
||||||
@@ -1544,8 +1690,13 @@ build_package_verify_py36() {
|
|||||||
build_package_verify_py35 "$1" "${2:-3.6}"
|
build_package_verify_py35 "$1" "${2:-3.6}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Post-install check for Python 3.7.x
|
||||||
|
build_package_verify_py37() {
|
||||||
|
build_package_verify_py36 "$1" "${2:-3.7}"
|
||||||
|
}
|
||||||
|
|
||||||
build_package_ez_setup() {
|
build_package_ez_setup() {
|
||||||
local ez_setup="${BUILD_PATH}/ez_setup.py"
|
local ez_setup="ez_setup.py"
|
||||||
rm -f "${ez_setup}"
|
rm -f "${ez_setup}"
|
||||||
{ if [ "${EZ_SETUP+defined}" ] && [ -f "${EZ_SETUP}" ]; then
|
{ if [ "${EZ_SETUP+defined}" ] && [ -f "${EZ_SETUP}" ]; then
|
||||||
echo "Installing setuptools from ${EZ_SETUP}..." 1>&2
|
echo "Installing setuptools from ${EZ_SETUP}..." 1>&2
|
||||||
@@ -1560,10 +1711,11 @@ build_package_ez_setup() {
|
|||||||
echo "error: failed to install setuptools via ez_setup.py" >&2
|
echo "error: failed to install setuptools via ez_setup.py" >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
build_package_symlink_version_suffix
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_get_pip() {
|
build_package_get_pip() {
|
||||||
local get_pip="${BUILD_PATH}/get-pip.py"
|
local get_pip="get-pip.py"
|
||||||
rm -f "${get_pip}"
|
rm -f "${get_pip}"
|
||||||
{ if [ "${GET_PIP+defined}" ] && [ -f "${GET_PIP}" ]; then
|
{ if [ "${GET_PIP+defined}" ] && [ -f "${GET_PIP}" ]; then
|
||||||
echo "Installing pip from ${GET_PIP}..." 1>&2
|
echo "Installing pip from ${GET_PIP}..." 1>&2
|
||||||
@@ -1578,6 +1730,7 @@ build_package_get_pip() {
|
|||||||
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_symlink_version_suffix
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_ensurepip() {
|
build_package_ensurepip() {
|
||||||
@@ -1588,6 +1741,7 @@ build_package_ensurepip() {
|
|||||||
fi
|
fi
|
||||||
# FIXME: `--altinstall` with `get-pip.py`
|
# FIXME: `--altinstall` with `get-pip.py`
|
||||||
"$PYTHON_BIN" -s -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1
|
"$PYTHON_BIN" -s -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1
|
||||||
|
build_package_symlink_version_suffix
|
||||||
}
|
}
|
||||||
|
|
||||||
version() {
|
version() {
|
||||||
@@ -1627,7 +1781,6 @@ unset IPV6
|
|||||||
|
|
||||||
PYTHON_BUILD_INSTALL_PREFIX="$(abs_dirname "$0")/.."
|
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=: PYTHON_BUILD_DEFINITIONS=($PYTHON_BUILD_DEFINITIONS ${PYTHON_BUILD_ROOT:-$PYTHON_BUILD_INSTALL_PREFIX}/share/python-build)
|
||||||
IFS="$OLDIFS"
|
IFS="$OLDIFS"
|
||||||
|
|
||||||
@@ -1655,6 +1808,8 @@ for option in "${OPTIONS[@]}"; do
|
|||||||
;;
|
;;
|
||||||
"g" | "debug" )
|
"g" | "debug" )
|
||||||
DEBUG=true
|
DEBUG=true
|
||||||
|
# Disable optimization (#808)
|
||||||
|
PYTHON_CFLAGS="-O0 ${PYTHON_CFLAGS}"
|
||||||
;;
|
;;
|
||||||
"4" | "ipv4")
|
"4" | "ipv4")
|
||||||
IPV4=true
|
IPV4=true
|
||||||
@@ -1732,8 +1887,16 @@ fi
|
|||||||
#fi
|
#fi
|
||||||
|
|
||||||
if [ -z "$MAKE" ]; then
|
if [ -z "$MAKE" ]; then
|
||||||
if [ "FreeBSD" = "$(uname -s)" ] && [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
|
if [ "FreeBSD" = "$(uname -s)" ]; then
|
||||||
export MAKE="gmake"
|
# if [ $(echo $1 | sed 's/-.*$//') = "jruby" ]; then
|
||||||
|
# export MAKE="gmake"
|
||||||
|
# else
|
||||||
|
if [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
|
||||||
|
export MAKE="gmake"
|
||||||
|
else
|
||||||
|
export MAKE="make"
|
||||||
|
fi
|
||||||
|
# fi
|
||||||
else
|
else
|
||||||
export MAKE="make"
|
export MAKE="make"
|
||||||
fi
|
fi
|
||||||
@@ -1746,27 +1909,20 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$PYTHON_BUILD_MIRROR_URL" ]; then
|
if [ -z "$PYTHON_BUILD_MIRROR_URL" ]; then
|
||||||
PYTHON_BUILD_MIRROR_URL="https://yyuu.github.io/pythons"
|
PYTHON_BUILD_MIRROR_URL="https://pyenv.github.io/pythons"
|
||||||
|
PYTHON_BUILD_DEFAULT_MIRROR=1
|
||||||
else
|
else
|
||||||
PYTHON_BUILD_MIRROR_URL="${PYTHON_BUILD_MIRROR_URL%/}"
|
PYTHON_BUILD_MIRROR_URL="${PYTHON_BUILD_MIRROR_URL%/}"
|
||||||
|
PYTHON_BUILD_DEFAULT_MIRROR=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$PYTHON_BUILD_SKIP_MIRROR" ]; then
|
if [ -n "$PYTHON_BUILD_SKIP_MIRROR" ] || ! has_checksum_support compute_sha2; then
|
||||||
unset PYTHON_BUILD_MIRROR_URL
|
unset PYTHON_BUILD_MIRROR_URL
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if echo test | compute_sha2 >/dev/null; then
|
ARIA2_OPTS="${PYTHON_BUILD_ARIA2_OPTS} ${IPV4+--disable-ipv6=true} ${IPV6+--disable-ipv6=false}"
|
||||||
HAS_SHA2_SUPPORT=1
|
CURL_OPTS="${PYTHON_BUILD_CURL_OPTS} ${IPV4+--ipv4} ${IPV6+--ipv6}"
|
||||||
else
|
WGET_OPTS="${PYTHON_BUILD_WGET_OPTS} ${IPV4+--inet4-only} ${IPV6+--inet6-only}"
|
||||||
unset HAS_SHA2_SUPPORT
|
|
||||||
unset PYTHON_BUILD_MIRROR_URL
|
|
||||||
fi
|
|
||||||
|
|
||||||
if echo test | compute_md5 >/dev/null; then
|
|
||||||
HAS_MD5_SUPPORT=1
|
|
||||||
else
|
|
||||||
unset HAS_MD5_SUPPORT
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add an option to build a debug version of Python (#11)
|
# Add an option to build a debug version of Python (#11)
|
||||||
if [ -n "$DEBUG" ]; then
|
if [ -n "$DEBUG" ]; then
|
||||||
@@ -1779,7 +1935,7 @@ package_option python configure --libdir="${PREFIX_PATH}/lib"
|
|||||||
# 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="* ]] && ! is_mac; then
|
||||||
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}"
|
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1791,7 +1947,7 @@ 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
|
if ! is_mac; then
|
||||||
echo "python-build: framework installation is not supported." >&2
|
echo "python-build: framework installation is not supported." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -1811,13 +1967,20 @@ fi
|
|||||||
|
|
||||||
# Build against universal SDK (#219, #220)
|
# Build against universal SDK (#219, #220)
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
|
||||||
if [[ "Darwin" != "$(uname -s)" ]]; then
|
if ! is_mac; then
|
||||||
echo "python-build: universal installation is not supported." >&2
|
echo "python-build: universal installation is not supported." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
package_option python configure --enable-universalsdk=/ --with-universal-archs=intel
|
package_option python configure --enable-universalsdk=/ --with-universal-archs=intel
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Compile with `--enable-unicode=ucs4` by default (#257)
|
||||||
|
if [[ "$PYTHON_CONFIGURE_OPTS" != *"--enable-unicode="* ]]; then
|
||||||
|
if ! is_mac; then
|
||||||
|
package_option python configure --enable-unicode=ucs4
|
||||||
|
fi
|
||||||
|
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
|
||||||
@@ -1844,7 +2007,7 @@ if [ -n "${PIP_VERSION}" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
||||||
if [[ "Darwin" == "$(uname -s)" ]]; then
|
if is_mac; then
|
||||||
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
|
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
|
||||||
MACOS_VERSION="$(sw_vers -productVersion 2>/dev/null || true)"
|
MACOS_VERSION="$(sw_vers -productVersion 2>/dev/null || true)"
|
||||||
MACOS_VERSION_ARRAY=(${MACOS_VERSION//\./ })
|
MACOS_VERSION_ARRAY=(${MACOS_VERSION//\./ })
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" 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" "https://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#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" 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" "https://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#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" 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" "https://www.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#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||||
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
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" "https://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" "https://www.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
|
||||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#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" "https://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" "https://www.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
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz#372f66db46d773214e4619df1794a26449158f626138d4d2141a64c2f017fae1" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz#a8093eace4cfd3e06b05f0deb5d765e3c6cec65908048640a8cadd7a948b3826" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.6.8/Python-2.6.8.tgz#5bf02a75ffa2fcaa5a3cabb8201998519b045541975622316888ea468d9512f7" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tgz#7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" ldflags_dirs standard verify_py26 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7/Python-2.7.tgz#5670dd6c0c93b0b529781d070852f7b51ce6855615b16afcd318341af2910fb5" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-2.7-dev" "https://hg.python.org/cpython" "2.7" standard verify_py27 ensurepip
|
install_git "Python-2.7-dev" "https://github.com/python/cpython" "2.7" standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz#ca13e7b1860821494f70de017202283ad73b1fb7bd88586401c54ef958226ec8" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.10" "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz#1cd3730781b91caf0fa1c4d472dc29274186480161a150294c42ce9b5c5effc0" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
8
plugins/python-build/share/python-build/2.7.11
Normal file
8
plugins/python-build/share/python-build/2.7.11
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.11" "https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz#962b4c45af50124ea61f11a30deb4342fc0bc21126790fa1d7f6c79809413f46" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-2.7.11" "https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz#82929b96fd6afc8da838b149107078c02fa1744b7e60999a8babbc0d3fa86fc6" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/2.7.12
Normal file
8
plugins/python-build/share/python-build/2.7.12
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.12" "https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz#d7837121dd5652a05fef807c361909d255d173280c4e1a4ded94d73d80a1f978" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-2.7.12" "https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz#3cb522d17463dfa69a155ab18cffa399b358c966c0363d6c8b5b3bf1384da4b6" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/2.7.13
Normal file
8
plugins/python-build/share/python-build/2.7.13
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.13" "https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz#35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-2.7.13" "https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz#a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/2.7.14
Normal file
8
plugins/python-build/share/python-build/2.7.14
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.14" "https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tar.xz#71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-2.7.14" "https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz#304c9b202ea6fbd0a4a8e0ad3733715fbd4749f2204a9173a58ec53c32ea73e8" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
fi
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz#1d54b7096c17902c3f40ffce7e5b84e0072d0144024184fff184a84d563abbb3" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz#d4c20f2b5faf95999fd5fecb3f7d32071b0820516224a6d2b72932ab47a1cb8e" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz#98c5eb9c8e65effcc0122112ba17a0bce880aa23ecb560af56b55eb55632b81a" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz#8e1b5fa87b91835afb376a9c0d319d41feca07ffebc0288d97ab08d64f48afbf" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz#99c6860b70977befa1590029fae092ddb18db1d69ae67e8b9385b66ed104ba58" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.7" "https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tar.xz#2983e3cd089b30c50e2b2234f07c2ac4fb8a5df230ab8f2e1133a1d8b208da78" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz#edde10a0cb7d14e2735e682882d5b287028d1485c456758154c19573db68075a" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-2.7.9" "https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz#90d27e14ea7e03570026850e2e50ba71ad20b7eb31035aada1cf3def8f8d4916" ldflags_dirs standard verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
install_package "Python-3.0.1" "https://www.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
|
if [[ "Darwin" == "$(uname -s)" ]]; then
|
||||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
# https://github.com/pyenv/pyenv/issues/456
|
||||||
|
{ echo
|
||||||
|
colorize 1 "WARNING"
|
||||||
|
echo ": pyenv cannot install setuptools-1.4.2 to CPython 3.0.1 on OS X."
|
||||||
|
echo "setuptools and pip will not be available until you install them manually."
|
||||||
|
} >&2
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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 "Python-3.1" "https://www.python.org/ftp/python/3.1/Python-3.1.tgz#99a034cf574ea3c26412b0a0728126d7fd6ea9593d099d807a25d216ed031e6a" ldflags_dirs standard verify_py31
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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 "Python-3.1.1" "https://www.python.org/ftp/python/3.1.1/Python-3.1.1.tgz#5d85d7bff11c4db44920af99f64f4227c816f897f6bfa9dd8a2611165ca5f0a1" ldflags_dirs standard verify_py31
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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 "Python-3.1.2" "https://www.python.org/ftp/python/3.1.2/Python-3.1.2.tgz#dffbc0561a161a4a576c6059e6990a9859a0be16ba9b5736eabe4abbb2700d1c" ldflags_dirs standard verify_py31
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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 ez_setup
|
install_package "Python-3.1.3" "https://www.python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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 ez_setup
|
install_package "Python-3.1.4" "https://www.python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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 ez_setup
|
install_package "Python-3.1.5" "https://www.python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.2/Python-3.2.tgz#27b35bfcbbf01de9564c0265d72b58ba3ff3d56df0615765372f2aa09dc20da9" ldflags_dirs standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.2-dev" "https://hg.python.org/cpython" "3.2" standard verify_py32 ensurepip
|
install_git "Python-3.2-dev" "https://github.com/python/cpython" "3.2" standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.2.1/Python-3.2.1.tgz#7cff29d984696d9fe8c7bea54da5b9ad36acef33ff5cf0d3e37e4d12fb21c572" ldflags_dirs standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz#acc6a13cb4fed0b7e86716324a8437e326645b8076177eede5a0cad99ec0313c" ldflags_dirs standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.2.3/Python-3.2.3.tgz#74c33e165edef7532cef95fd9a325a06878b5bfc8a5d038161573f283eaf9809" ldflags_dirs standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.2.4/Python-3.2.4.tgz#71c3139908ccc1c544ba1e331a3c22b3f1c09f562438a054fd6f4e2628de8b9a" ldflags_dirs standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.2.5/Python-3.2.5.tgz#5eae0ab92a0bb9e3a1bf9c7cd046bc3de58996b049bd894d095978b6b085099f" ldflags_dirs standard verify_py32
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tar.xz#1d12b501819fd26afafbf8459be1aa279b56f032b4c15412de0a713ce0de7bdc" ldflags_dirs standard verify_py32
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||||
|
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.3-dev" "https://hg.python.org/cpython" "3.3" standard verify_py33 ensurepip
|
install_git "Python-3.3-dev" "https://github.com/python/cpython" "3.3" standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz#cfe531eaace2503e13a74addc7f4a89482e99f8b8fca51b469ae5c83f450604e" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.3.1/Python-3.3.1.tgz#671dc3632f311e63c6733703aa0a1ad90c99277ddc8299d39e487718a50319bd" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.3.2/Python-3.3.2.tgz#de664fca3b8e0ab20fb42bfed1a36e26f116f1853e88ada12dbc938761036172" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz#30b60839bfe0ae8a2dba11e909328459bb8ee4a258afe7494b06b2ceda080efc" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.3.4/Python-3.3.4.tgz#ea055db9dd004a6ecd7690abc9734573763686dd768122316bae2dfd026412af" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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" "https://www.python.org/ftp/python/3.3.5/Python-3.3.5.tgz#916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.3.6" "https://www.python.org/ftp/python/3.3.6/Python-3.3.6.tar.xz#5226e4bf7a530c3ff2bcde0c94e0e09e59a8bcde0114fe0268bc925bdabb5d3f" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
8
plugins/python-build/share/python-build/3.3.7rc1
Normal file
8
plugins/python-build/share/python-build/3.3.7rc1
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.3.7rc1" "https://www.python.org/ftp/python/3.3.7/Python-3.3.7rc1.tar.xz#98cc1bb74774ce0b4cdb6adcbf183fa757bea3dfd2374d7a76d16698c684f52e" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.3.7rc1" "https://www.python.org/ftp/python/3.3.7/Python-3.3.7rc1.tgz#49d9d6974feea7bf76e62df71b66e8cf4b99b1a8b02cba688b95f036db1209c2" ldflags_dirs standard verify_py33 ensurepip
|
||||||
|
fi
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_hg "Python-3.4-dev" "https://hg.python.org/cpython" "3.4" standard verify_py34 ensurepip
|
install_git "Python-3.4-dev" "https://github.com/python/cpython" "3.4" standard verify_py34 ensurepip
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.0" "https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tar.xz#f13686c0a2d45e7146759e9d5d1cbd8097a0606483c0cf7730e1e13f58b14cbe" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.1" "https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz#c595a163104399041fcbe1c5c04db4c1da94f917b82ce89e8944c8edff7aedc4" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.2" "https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tar.xz#1c6d9682d145c056537e477bbfa060ce727f9edd38df1827e0f970dcf04b2def" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
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" "https://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
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz#b5b3963533768d5fc325a4d7a6bd6f666726002d696f1d399ec06b043ea996b8" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz#8b743f56e9e50bf0923b9e9c45dd927c071d7aa56cd46569d8818add8cf01147" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
fi
|
||||||
|
|||||||
8
plugins/python-build/share/python-build/3.4.4
Normal file
8
plugins/python-build/share/python-build/3.4.4
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tar.xz#a797d3820155ec6cb654a652b9acfb11792d4e7d568eef1f9199009e042b6ba2" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz#bc93e944025816ec360712b4c42d8d5f729eaed2b26585e9bc8844f93f0c382e" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.4.5
Normal file
8
plugins/python-build/share/python-build/3.4.5
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.5" "https://www.python.org/ftp/python/3.4.5/Python-3.4.5.tar.xz#ee64b1c8a47461009abf25252332d29a4e587cb4f0c1c96aa793a3732e9d898a" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.4.5" "https://www.python.org/ftp/python/3.4.5/Python-3.4.5.tgz#997aca4dd8692f3c954658a3db11c1d0862bcbf8eadd6a164746eb33d317c034" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.4.6
Normal file
8
plugins/python-build/share/python-build/3.4.6
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.6" "https://www.python.org/ftp/python/3.4.6/Python-3.4.6.tar.xz#f13428bbe6aa9e3b9b6499502dc488c26096349ed7a21f7a0c1db90911115f40" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.4.6" "https://www.python.org/ftp/python/3.4.6/Python-3.4.6.tgz#fe59daced99549d1d452727c050ae486169e9716a890cffb0d468b376d916b48" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
fi
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user