mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-15 06:43:53 -05:00
Compare commits
558 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
275bc652a4 | ||
|
|
6f40dae3d7 | ||
|
|
d2794f54e5 | ||
|
|
bc03106cee | ||
|
|
bf93b90282 | ||
|
|
7b8bd11416 | ||
|
|
f623231734 | ||
|
|
50d5de4731 | ||
|
|
15977c852d | ||
|
|
10d5d9a24f | ||
|
|
be037932ca | ||
|
|
af95960960 | ||
|
|
17c153b1c1 | ||
|
|
065f5578b1 | ||
|
|
71c9ff565b | ||
|
|
88270e83e8 | ||
|
|
b09681c9fb | ||
|
|
80eef69c9a | ||
|
|
bc025641c2 | ||
|
|
5dc3ee95fd | ||
|
|
4903223f23 | ||
|
|
1aea75055a | ||
|
|
f30085eaf4 | ||
|
|
43d311ef58 | ||
|
|
239f4a6b51 | ||
|
|
1463968a3f | ||
|
|
97c6a4c932 | ||
|
|
5131ef521b | ||
|
|
1d7ce651b0 | ||
|
|
c335f96eac | ||
|
|
f0eeac63a3 | ||
|
|
4ebe18a273 | ||
|
|
ab2aa6d13b | ||
|
|
431761d125 | ||
|
|
e6e858c33b | ||
|
|
e9aa6cf649 | ||
|
|
4e30b1a5e1 | ||
|
|
2beef3c455 | ||
|
|
797975b742 | ||
|
|
527334b401 | ||
|
|
292813eca3 | ||
|
|
d935a2a994 | ||
|
|
d9a7117c3b | ||
|
|
6596657004 | ||
|
|
f48a5b11d7 | ||
|
|
4d72eefffc | ||
|
|
b6ac87c220 | ||
|
|
6b908bf39f | ||
|
|
f87d8762eb | ||
|
|
c54fa3731f | ||
|
|
efe461d2b4 | ||
|
|
4540967250 | ||
|
|
d14357f64c | ||
|
|
d6e1de3e2f | ||
|
|
063717e6b5 | ||
|
|
4d0c289287 | ||
|
|
52bb0dcfcf | ||
|
|
5a05788e61 | ||
|
|
48335302d9 | ||
|
|
98953c2e14 | ||
|
|
9ae8ba8a29 | ||
|
|
1a7f49d2f0 | ||
|
|
70c6d3f67e | ||
|
|
9146f44db1 | ||
|
|
b9ae43a9df | ||
|
|
f6a77549eb | ||
|
|
cbd246acff | ||
|
|
9d21169ee0 | ||
|
|
7bceb85067 | ||
|
|
eeb69b1b79 | ||
|
|
b155380a06 | ||
|
|
cd60df52af | ||
|
|
6820704c91 | ||
|
|
8abefe1fcb | ||
|
|
b22fcd9759 | ||
|
|
45df273592 | ||
|
|
dbd50e7bd9 | ||
|
|
1c0a5d8264 | ||
|
|
7c7cca8a26 | ||
|
|
123b3af1a0 | ||
|
|
ba9c01ce77 | ||
|
|
7535efe031 | ||
|
|
995da2df89 | ||
|
|
f28b3ee123 | ||
|
|
97b957d5d5 | ||
|
|
fe2412c95d | ||
|
|
5114600c4d | ||
|
|
96d3bd6379 | ||
|
|
d320d74a07 | ||
|
|
fc49f7e21e | ||
|
|
be4f5992d6 | ||
|
|
25a48694be | ||
|
|
9b7b2a6b40 | ||
|
|
f59729359a | ||
|
|
93ac0632c7 | ||
|
|
7a21cf9c10 | ||
|
|
720dee76af | ||
|
|
db6a41c90f | ||
|
|
bfddc69120 | ||
|
|
acce3744e7 | ||
|
|
5ca423c9f3 | ||
|
|
f0e852553a | ||
|
|
fc8597ca38 | ||
|
|
e7a68ad467 | ||
|
|
0fd1eaaeb5 | ||
|
|
b986f8f93f | ||
|
|
60e1abe7fa | ||
|
|
afcf4f0c7c | ||
|
|
c0aff27842 | ||
|
|
e172eb2818 | ||
|
|
3a5c2cabb1 | ||
|
|
871ec77795 | ||
|
|
7e0e85bdda | ||
|
|
d1a0398fdb | ||
|
|
67f429c41d | ||
|
|
632263568e | ||
|
|
bf39d88d11 | ||
|
|
07d675350f | ||
|
|
39cde6fc95 | ||
|
|
1381c2ca79 | ||
|
|
89d4e8a0e0 | ||
|
|
a8df5d587c | ||
|
|
e2173df4aa | ||
|
|
e851250da6 | ||
|
|
c69d9a1128 | ||
|
|
f4652fbbf0 | ||
|
|
3ee395f9b5 | ||
|
|
e4cbf04592 | ||
|
|
6bb7f07d2d | ||
|
|
51bd975820 | ||
|
|
294cff3fd4 | ||
|
|
a6e0785b84 | ||
|
|
302b317b89 | ||
|
|
8facb3b3a7 | ||
|
|
b5622bee3a | ||
|
|
3f74da0e73 | ||
|
|
68b92a7f5d | ||
|
|
8bac958994 | ||
|
|
5287e2ebf4 | ||
|
|
284588f9b4 | ||
|
|
16c7eb4135 | ||
|
|
9bcef4b875 | ||
|
|
f237a11f4f | ||
|
|
13a474c4e9 | ||
|
|
fe0b2436b8 | ||
|
|
808527b5d0 | ||
|
|
f71e22768c | ||
|
|
b025dfcf58 | ||
|
|
f205ec8359 | ||
|
|
f50cee2ac7 | ||
|
|
3be9773c4f | ||
|
|
2fd3b18d39 | ||
|
|
14bc162ca6 | ||
|
|
1a6bada94c | ||
|
|
eda535a942 | ||
|
|
1e1c9cb0dc | ||
|
|
3dc0005032 | ||
|
|
6d0bf9b39f | ||
|
|
2f5d9a6f90 | ||
|
|
783618b89c | ||
|
|
4f2f6f8575 | ||
|
|
59aca30267 | ||
|
|
605e691bff | ||
|
|
09ec276a85 | ||
|
|
590b19a1b1 | ||
|
|
be5e1a4ded | ||
|
|
8650de0c0c | ||
|
|
95a039aaaa | ||
|
|
f1fdb9bbc8 | ||
|
|
44e76bea23 | ||
|
|
a898e2a534 | ||
|
|
681435e0b4 | ||
|
|
d2eace00c9 | ||
|
|
3300587c6b | ||
|
|
878bd87328 | ||
|
|
ff23666d56 | ||
|
|
f4fade3d26 | ||
|
|
16c3e0ddac | ||
|
|
0d216c2d82 | ||
|
|
a1fb5b1153 | ||
|
|
e97326845c | ||
|
|
71a6d791c2 | ||
|
|
5ae2cac088 | ||
|
|
31fab8cdae | ||
|
|
5bfec84432 | ||
|
|
caa4a8e228 | ||
|
|
bdcc2e1790 | ||
|
|
749f21e482 | ||
|
|
1cc75362d6 | ||
|
|
a2adc61c6f | ||
|
|
c7208bf1ff | ||
|
|
db143bb654 | ||
|
|
8b043038b8 | ||
|
|
5130b41f5b | ||
|
|
81bb14e181 | ||
|
|
e93ab45dc3 | ||
|
|
060f141b21 | ||
|
|
6ca591ab75 | ||
|
|
bc1049f5ae | ||
|
|
05568496c1 | ||
|
|
ab9ebb9d0d | ||
|
|
ab197ef51e | ||
|
|
7fc5f46bbb | ||
|
|
969af1567a | ||
|
|
7a10b64cf7 | ||
|
|
f6db678b20 | ||
|
|
97290b2442 | ||
|
|
b8504ed2a9 | ||
|
|
497911d6c0 | ||
|
|
4d96d0a6c6 | ||
|
|
9b58b6642e | ||
|
|
45f651ab00 | ||
|
|
400fe31061 | ||
|
|
4b6ab0389b | ||
|
|
baf7656d2f | ||
|
|
382db59cd0 | ||
|
|
2bbf49b2f5 | ||
|
|
6a6ae8ae46 | ||
|
|
03fa148e81 | ||
|
|
ea3203dbab | ||
|
|
a81ace2ccb | ||
|
|
a7da06998e | ||
|
|
5e5e3e0588 | ||
|
|
bc369fb1ab | ||
|
|
bb6bccb782 | ||
|
|
1fe59e41ea | ||
|
|
0d1f1d09f0 | ||
|
|
13f36e0416 | ||
|
|
e3f72ebae2 | ||
|
|
98f45695db | ||
|
|
3cb95b4d2d | ||
|
|
892aea138e | ||
|
|
045f6c1bce | ||
|
|
1d4261a997 | ||
|
|
da80bced53 | ||
|
|
1d687ac734 | ||
|
|
bef7a12964 | ||
|
|
14ff078b85 | ||
|
|
cd940bd797 | ||
|
|
093809eac6 | ||
|
|
c56f72794e | ||
|
|
9375e99f92 | ||
|
|
b66eeaf2f7 | ||
|
|
c6855e01a9 | ||
|
|
7f975a37f9 | ||
|
|
41cfa5f3d0 | ||
|
|
9c45206c28 | ||
|
|
308aa42b67 | ||
|
|
5174d14d5c | ||
|
|
6fe338e563 | ||
|
|
266d896871 | ||
|
|
7e85ae7bd2 | ||
|
|
9a284a3da4 | ||
|
|
871f0e26df | ||
|
|
e56885f4c9 | ||
|
|
149f4b4607 | ||
|
|
80750f730f | ||
|
|
253f6ee1d9 | ||
|
|
bac149e824 | ||
|
|
3ec34448fa | ||
|
|
919c4240fc | ||
|
|
44c2378f2a | ||
|
|
377b176260 | ||
|
|
d2a8ca7d89 | ||
|
|
d4faae187a | ||
|
|
5e52fae7c1 | ||
|
|
b974bf54dc | ||
|
|
4b6c91e827 | ||
|
|
51467dc4a3 | ||
|
|
eb79a3edaa | ||
|
|
37eca782cc | ||
|
|
19666f2598 | ||
|
|
3436bddaea | ||
|
|
5cc6b0e3d3 | ||
|
|
2b21e22e97 | ||
|
|
57df945738 | ||
|
|
e2e474c59d | ||
|
|
4c19dc22d7 | ||
|
|
ef44b4ccac | ||
|
|
8ee2f2657a | ||
|
|
f635c8715c | ||
|
|
3ceeb72ac6 | ||
|
|
e0b8938fef | ||
|
|
811ca05916 | ||
|
|
df9bbd7ab3 | ||
|
|
339e331f1d | ||
|
|
283e67b57e | ||
|
|
6c1fb9ffd0 | ||
|
|
c3fe192243 | ||
|
|
1ebcbd92e2 | ||
|
|
3060578e3b | ||
|
|
b8715bfee6 | ||
|
|
7fe9231e64 | ||
|
|
9289af0132 | ||
|
|
1f7722088d | ||
|
|
e548877ead | ||
|
|
21391c8d2f | ||
|
|
99551dd1ec | ||
|
|
b5a26936e8 | ||
|
|
cf28136003 | ||
|
|
349236c932 | ||
|
|
0ce6fad14e | ||
|
|
0a9e2baef1 | ||
|
|
da562ad74c | ||
|
|
d45dc17f25 | ||
|
|
7f1aefa09b | ||
|
|
2162054659 | ||
|
|
0ff3ca8a12 | ||
|
|
47c8a0e0b8 | ||
|
|
2a347226df | ||
|
|
962452d6d1 | ||
|
|
2df165c49e | ||
|
|
fc3a634e22 | ||
|
|
01a9141780 | ||
|
|
f783b9ec0d | ||
|
|
b745a51f30 | ||
|
|
02332d78f3 | ||
|
|
183c780698 | ||
|
|
406c8e0303 | ||
|
|
6778c8e905 | ||
|
|
3a94daeaf8 | ||
|
|
e5c64db280 | ||
|
|
d3700dfd70 | ||
|
|
975b45dbfe | ||
|
|
a49b07975c | ||
|
|
5e57ab95ce | ||
|
|
9c43fa9161 | ||
|
|
9b286ecbfd | ||
|
|
b7e9569ccb | ||
|
|
e922131422 | ||
|
|
34813ef32c | ||
|
|
e899f1d31c | ||
|
|
d1bfeee334 | ||
|
|
9ea1f7d53e | ||
|
|
f40bc773d2 | ||
|
|
5d0a6630b9 | ||
|
|
114b81c9a4 | ||
|
|
b10bdb1e78 | ||
|
|
ee5ad02d42 | ||
|
|
cd2094ff71 | ||
|
|
5052a4161c | ||
|
|
7fbcde8af0 | ||
|
|
b670849ebd | ||
|
|
288c6b3f09 | ||
|
|
802d70568c | ||
|
|
c4721169e3 | ||
|
|
efe600f6de | ||
|
|
7e83e07cf3 | ||
|
|
65f0be0c20 | ||
|
|
adf9c97616 | ||
|
|
dfc7645609 | ||
|
|
9dde161b65 | ||
|
|
0324b118ee | ||
|
|
4cc6665d0a | ||
|
|
be7dcc0ad8 | ||
|
|
01a0ad0b69 | ||
|
|
2bbe2099eb | ||
|
|
e49be969ab | ||
|
|
fb0ec9e157 | ||
|
|
525c960dea | ||
|
|
ddd4db1b05 | ||
|
|
7a929b8a84 | ||
|
|
2cd12e3fa6 | ||
|
|
4965a1d1f7 | ||
|
|
dc1f583903 | ||
|
|
500c6de37c | ||
|
|
88e59647ae | ||
|
|
53d45707ca | ||
|
|
828051e651 | ||
|
|
149e61a649 | ||
|
|
4712db8edd | ||
|
|
7ba843c585 | ||
|
|
26a08c6d12 | ||
|
|
72b62e13aa | ||
|
|
09d912895f | ||
|
|
ada26ab92e | ||
|
|
058e2cb7a6 | ||
|
|
a3d3005859 | ||
|
|
c954d57555 | ||
|
|
0a4ffcd15f | ||
|
|
65bf6279fa | ||
|
|
07815769ae | ||
|
|
a3deeba0a0 | ||
|
|
10084ae020 | ||
|
|
8ce5e84c21 | ||
|
|
f9fb3c934e | ||
|
|
eae5e5e092 | ||
|
|
a238099e38 | ||
|
|
7d9989ff58 | ||
|
|
699cd8c203 | ||
|
|
096743acde | ||
|
|
0c7c62dc04 | ||
|
|
2b5fb40b99 | ||
|
|
96b98ed039 | ||
|
|
789ace54ec | ||
|
|
d289998250 | ||
|
|
5cf661517b | ||
|
|
c6c6ebaf40 | ||
|
|
94d87211f9 | ||
|
|
919fc872c8 | ||
|
|
305db1c35b | ||
|
|
568cd4b23e | ||
|
|
b4f8906b24 | ||
|
|
465a1472ba | ||
|
|
3644840d4b | ||
|
|
03d664e048 | ||
|
|
61830048d5 | ||
|
|
69d596f56f | ||
|
|
4923838981 | ||
|
|
f1ca8906c0 | ||
|
|
43520db389 | ||
|
|
d50ce90a36 | ||
|
|
6da85246c6 | ||
|
|
eefd5ea47d | ||
|
|
964c12fe27 | ||
|
|
0632325a43 | ||
|
|
2e3e141d2e | ||
|
|
c36950a7cb | ||
|
|
8f6b0bc1d4 | ||
|
|
7ac964353f | ||
|
|
c6ce8fafd8 | ||
|
|
6fa81ef28d | ||
|
|
e5c0fd22e1 | ||
|
|
96679b7715 | ||
|
|
ed9f69fe23 | ||
|
|
fb6eee26d4 | ||
|
|
1ba2ce0cb6 | ||
|
|
76929320c8 | ||
|
|
5ad45afe5e | ||
|
|
b81b64453b | ||
|
|
db2a94d4bc | ||
|
|
579a398e4e | ||
|
|
783a5700c4 | ||
|
|
63f29341d5 | ||
|
|
555472210b | ||
|
|
39497042bc | ||
|
|
837bfc5aa9 | ||
|
|
042794b651 | ||
|
|
d14529461b | ||
|
|
c928ba7a21 | ||
|
|
75f65a980b | ||
|
|
5130f0464a | ||
|
|
bff38d7e71 | ||
|
|
f9225d9cb4 | ||
|
|
5a4bee6eb5 | ||
|
|
a6727bf9ed | ||
|
|
aade3ad781 | ||
|
|
af36d449bf | ||
|
|
5be66da9f4 | ||
|
|
53d55eb08c | ||
|
|
506bc3634f | ||
|
|
1d5c6531a2 | ||
|
|
20425c297f | ||
|
|
174e101799 | ||
|
|
113e037646 | ||
|
|
1411fa5a16 | ||
|
|
7bbfecd9af | ||
|
|
09291712ed | ||
|
|
b7e19b4953 | ||
|
|
49ecbe147f | ||
|
|
b45bce80ca | ||
|
|
3cd08f7c09 | ||
|
|
71b5965540 | ||
|
|
1700206da8 | ||
|
|
6d6b1d6002 | ||
|
|
dd8a005c7d | ||
|
|
3efdf6a243 | ||
|
|
bd1e56ff37 | ||
|
|
e43a2039a5 | ||
|
|
8dd666992e | ||
|
|
01ddcd7f1d | ||
|
|
a14095f299 | ||
|
|
1ed231cb21 | ||
|
|
7a0cde9a4e | ||
|
|
83ced494fa | ||
|
|
8685c899ba | ||
|
|
6938692ca2 | ||
|
|
b4c100e149 | ||
|
|
398e963312 | ||
|
|
aae721c5f1 | ||
|
|
5c11f14c9b | ||
|
|
dfe9889327 | ||
|
|
192dc23998 | ||
|
|
6c468d6166 | ||
|
|
bfa71017ae | ||
|
|
066d63c0df | ||
|
|
7c8da88df6 | ||
|
|
06bf3a351a | ||
|
|
f8f49fd565 | ||
|
|
77964fb83e | ||
|
|
b4a91648eb | ||
|
|
e8d010f33c | ||
|
|
a804b5eb21 | ||
|
|
71493e8065 | ||
|
|
5394347500 | ||
|
|
f2f8ef88a5 | ||
|
|
3f3992d95a | ||
|
|
bd0e1a73f9 | ||
|
|
2a495dc9ac | ||
|
|
2fa7432060 | ||
|
|
9f18fe5031 | ||
|
|
cd24495045 | ||
|
|
1235cbd0ef | ||
|
|
f84dc27c58 | ||
|
|
4ee92fca43 | ||
|
|
00b8b4db33 | ||
|
|
917b3687cb | ||
|
|
4714b5bd4e | ||
|
|
271bfea97d | ||
|
|
70e1f61337 | ||
|
|
df61a76ab0 | ||
|
|
fffb29d695 | ||
|
|
7ce04a6e03 | ||
|
|
f904d1b92f | ||
|
|
ccf7c29fc4 | ||
|
|
e4a040f1e0 | ||
|
|
3b13dc9c14 | ||
|
|
5d8c40444d | ||
|
|
df034f5d35 | ||
|
|
f7c463bed9 | ||
|
|
4e79ba15f7 | ||
|
|
2099355ad5 | ||
|
|
c3089c8439 | ||
|
|
67d3d6b12d | ||
|
|
b6ebc2f08b | ||
|
|
e0e2d93639 | ||
|
|
a9837f3a06 | ||
|
|
4668a2e2ed | ||
|
|
a62bd23ba2 | ||
|
|
d257b562e5 | ||
|
|
652135db7f | ||
|
|
86362408f1 | ||
|
|
735a2bc4e7 | ||
|
|
044eb6c802 | ||
|
|
643817fa1c | ||
|
|
d65141c7b5 | ||
|
|
15356aebc6 | ||
|
|
eccdec3740 | ||
|
|
6df306d8f8 | ||
|
|
55ce7850ad | ||
|
|
ce8d3278a4 | ||
|
|
06228d3583 | ||
|
|
ad2c605d3f | ||
|
|
43624943ee | ||
|
|
8f9a34d9b1 | ||
|
|
c957d83b3a | ||
|
|
41c5ac5a33 | ||
|
|
e9881119d8 | ||
|
|
355e7c1c96 | ||
|
|
8246dc8d8a | ||
|
|
fb31290b9d | ||
|
|
4acefd6ef9 | ||
|
|
0c66f62c17 | ||
|
|
b5d030bee7 | ||
|
|
6ec91083d8 | ||
|
|
af6b06743b | ||
|
|
1da746543f | ||
|
|
99035a49a9 |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,6 +1,9 @@
|
||||
/build
|
||||
/cache
|
||||
/shims
|
||||
/version
|
||||
/versions
|
||||
/sources
|
||||
/cache
|
||||
/libexec/*.dylib
|
||||
/src/Makefile
|
||||
/src/*.o
|
||||
bats/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
sudo: false
|
||||
install: git clone --depth 1 https://github.com/sstephenson/bats.git
|
||||
script: script/test
|
||||
script: make test
|
||||
language: c
|
||||
notifications:
|
||||
email:
|
||||
on_success: never
|
||||
env:
|
||||
- PYENV_NATIVE_EXT=
|
||||
- PYENV_NATIVE_EXT=1
|
||||
|
||||
45
CHANGELOG.md
45
CHANGELOG.md
@@ -1,5 +1,50 @@
|
||||
## Version History
|
||||
|
||||
#### 20150504
|
||||
|
||||
* python-build: Add Jython 2.7.0
|
||||
* python-build: Add CPython alpha release; 3.5.0a4
|
||||
* python-build: Add CPython 3.1, 3.1.1, and 3.1.2
|
||||
* python-build: Fix pip version to 1.5.6 for CPython 3.1.x (#351)
|
||||
|
||||
#### 20150326
|
||||
|
||||
* python-build: Add Portable PyPy binaries from https://github.com/squeaky-pl/portable-pypy (#329)
|
||||
* python-build: Add CPython alpha release; 3.5.0a2 (#328)
|
||||
* python-build: Add pypy-2.5.1 (fixes #338)
|
||||
* pyenv: Import recent changes from rbenv 4d72eefffc548081f6eee2e54d3b9116b9f9ee8e
|
||||
|
||||
#### 20150226
|
||||
|
||||
* python-build: Add CPython release; 3.4.3 (#323)
|
||||
* python-build: Add CPython alpha release; 3.5.0a1 (#324)
|
||||
* python-build: Add Miniconda/Miniconda3 3.8.3 (#318)
|
||||
|
||||
#### 20150204
|
||||
|
||||
* python-build: Add PyPy 2.5.0 release (#311)
|
||||
* python-build: Add note about `--enable-shared` and RPATH (#217)
|
||||
* python-build: Fix regression of `PYTHON_MAKE_INSTALL_TARGET` and add test (#255)
|
||||
* python-build: Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
|
||||
* python-build: Latest `pip` can't be installed into `3.0.1` (#309)
|
||||
|
||||
#### 20150124
|
||||
|
||||
* python-build: Import recent changes from ruby-build v20150112
|
||||
* python-build: Prevent adding `/Library/Python/X.X/site-packages` to `sys.path` whtn `--enable-framework` is enabled on OS X. Thanks @s1341 (#292)
|
||||
* python-build: Add new IronPython release; 2.7.5
|
||||
|
||||
#### 20141211
|
||||
|
||||
* pyenv: Add bulit-in `pip-rehash` feature. You don't need to install [pyenv-pip-rehash](https://github.com/yyuu/pyenv-pip-rehash) anymore.
|
||||
* python-build: Add new CPython release; 2.7.9 (#284)
|
||||
* python-build: Add new PyPy releases; pypy3-2.4.0, pypy3-2.4.0-src (#277)
|
||||
* python-build: Add build definitions of PyPy nightly build
|
||||
|
||||
#### 20141127
|
||||
|
||||
* python-build: Add new CPython release candidates; 2.7.9rc1 (#276)
|
||||
|
||||
#### 20141118
|
||||
|
||||
* python-build: Fix broken `setup_builtin_patches` (#270)
|
||||
|
||||
18
Makefile
18
Makefile
@@ -1,8 +1,12 @@
|
||||
test: build/bats/bin/bats
|
||||
build/bats/bin/bats --tap test
|
||||
cd plugins/python-build && $(PWD)/build/bats/bin/bats --tap test
|
||||
|
||||
build/bats/bin/bats:
|
||||
git clone https://github.com/sstephenson/bats.git build/bats
|
||||
|
||||
.PHONY: test
|
||||
|
||||
# Do not pass in user flags to build tests.
|
||||
unexport PYTHON_CFLAGS
|
||||
unexport PYTHON_CONFIGURE_OPTS
|
||||
|
||||
test: bats
|
||||
PATH="./bats/bin:$$PATH" test/run
|
||||
cd plugins/python-build && $(PWD)/bats/bin/bats $${CI:+--tap} test
|
||||
|
||||
bats:
|
||||
git clone https://github.com/sstephenson/bats.git
|
||||
|
||||
20
README.md
20
README.md
@@ -1,6 +1,6 @@
|
||||
# Simple Python Version Management: pyenv
|
||||
|
||||
[](https://travis-ci.org/yyuu/pyenv)
|
||||
[](https://travis-ci.org/yyuu/pyenv)
|
||||
|
||||
pyenv lets you easily switch between multiple versions of Python. It's
|
||||
simple, unobtrusive, and follows the UNIX tradition of single-purpose
|
||||
@@ -126,9 +126,16 @@ reading it from the following sources, in this order:
|
||||
Python. (In other words, whatever version would run if pyenv weren't in your
|
||||
`PATH`.)
|
||||
|
||||
**NOTE:** You can activate multiple versions at the same time, e.g. `pyenv
|
||||
global 3.4.2 2.7.8`. This allows for parallel usage of python2 and python3,
|
||||
and is required with tools like `tox`.
|
||||
**NOTE:** You can activate multiple versions at the same time, including mulitple
|
||||
versions of Python2 or Python3 simultaneously. This allows for parallel usage of
|
||||
Python2 and Python3, and is required with tools like `tox`. For example, to set
|
||||
your path to first use your `system` Python and Python3 (set to 2.7.9 and 3.4.2
|
||||
in this example), but also have Python 3.3.6, 3.2, and 2.5 available on your
|
||||
`PATH`, one would first `pyenv install` the missing versions, then set `pyenv
|
||||
global system 3.3.6 3.2 2.5`. At this point, one should be able to find the full
|
||||
executable path to each of these using `pyenv which`, e.g. `pyenv which python2.5`
|
||||
(should display `$PYENV_ROOT/versions/2.5/bin/python2.5`), or `pyenv which
|
||||
python3.4` (should display path to system Python3).
|
||||
|
||||
### Locating the Python Installation
|
||||
|
||||
@@ -171,8 +178,7 @@ easy to fork and contribute any changes back upstream.
|
||||
1. **Check out pyenv where you want it installed.**
|
||||
A good place to choose is `$HOME/.pyenv` (but you can install it somewhere else).
|
||||
|
||||
$ cd
|
||||
$ git clone git://github.com/yyuu/pyenv.git .pyenv
|
||||
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
|
||||
|
||||
|
||||
2. **Define environment variable `PYENV_ROOT`** to point to the path where
|
||||
@@ -186,6 +192,8 @@ easy to fork and contribute any changes back upstream.
|
||||
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||
|
||||
3. **Add `pyenv init` to your shell** to enable shims and autocompletion.
|
||||
Please make sure `eval "$(pyenv init -)"` is placed toward the end of shell
|
||||
configuration file since it manipulates `PATH` during the initialization.
|
||||
|
||||
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
|
||||
|
||||
|
||||
@@ -12,14 +12,22 @@ if [ -n "$PYENV_DEBUG" ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
if enable -f "${0%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||
abs_dirname() {
|
||||
local path="$(realpath "$1")"
|
||||
echo "${path%/*}"
|
||||
}
|
||||
else
|
||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||
exit 1
|
||||
fi
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
unset GREP_OPTIONS
|
||||
|
||||
resolve_link() {
|
||||
$READLINK "$1"
|
||||
}
|
||||
@@ -37,6 +45,7 @@ abs_dirname() {
|
||||
pwd
|
||||
cd "$cwd"
|
||||
}
|
||||
fi
|
||||
|
||||
if [ -z "${PYENV_ROOT}" ]; then
|
||||
PYENV_ROOT="${HOME}/.pyenv"
|
||||
@@ -62,15 +71,20 @@ shopt -s nullglob
|
||||
|
||||
bin_path="$(abs_dirname "$0")"
|
||||
for plugin_bin in "${PYENV_ROOT}/plugins/"*/bin; do
|
||||
bin_path="${bin_path}:${plugin_bin}"
|
||||
PATH="${plugin_bin}:${PATH}"
|
||||
done
|
||||
export PATH="${bin_path}:${PATH}"
|
||||
|
||||
hook_path="${PYENV_HOOK_PATH}:${PYENV_ROOT}/pyenv.d:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks"
|
||||
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${PYENV_ROOT}/pyenv.d"
|
||||
if [ "${bin_path%/*}" != "$PYENV_ROOT" ]; then
|
||||
# Add pyenv's own `pyenv.d` unless pyenv was cloned to PYENV_ROOT
|
||||
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${bin_path%/*}/pyenv.d"
|
||||
fi
|
||||
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks"
|
||||
for plugin_hook in "${PYENV_ROOT}/plugins/"*/etc/pyenv.d; do
|
||||
hook_path="${hook_path}:${plugin_hook}"
|
||||
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${plugin_hook}"
|
||||
done
|
||||
export PYENV_HOOK_PATH="$hook_path"
|
||||
export PYENV_HOOK_PATH
|
||||
|
||||
shopt -u nullglob
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="20141118"
|
||||
version="20150404"
|
||||
|
||||
if cd "$PYENV_ROOT" 2>/dev/null; then
|
||||
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
||||
|
||||
@@ -18,7 +18,7 @@ set -e
|
||||
|
||||
# Provide pyenv completions
|
||||
if [ "$1" = "--complete" ]; then
|
||||
exec pyenv shims --short
|
||||
exec pyenv-shims --short
|
||||
fi
|
||||
|
||||
PYENV_VERSION="$(pyenv-version-name)"
|
||||
|
||||
@@ -19,6 +19,11 @@ if [ -z "$PYENV_COMMAND" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||
exit 1
|
||||
fi
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
@@ -42,13 +47,14 @@ realpath() {
|
||||
echo "$(pwd)/$name"
|
||||
cd "$cwd"
|
||||
}
|
||||
fi
|
||||
|
||||
IFS=: hook_paths=($PYENV_HOOK_PATH)
|
||||
|
||||
shopt -s nullglob
|
||||
for path in "${hook_paths[@]}"; do
|
||||
for script in "$path/$PYENV_COMMAND"/*.bash; do
|
||||
echo $(realpath $script)
|
||||
realpath "$script"
|
||||
done
|
||||
done
|
||||
shopt -u nullglob
|
||||
|
||||
@@ -28,31 +28,7 @@ if [ -z "$shell" ]; then
|
||||
shell="$(basename "${shell:-$SHELL}")"
|
||||
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"
|
||||
}
|
||||
|
||||
abs_dirname() {
|
||||
local cwd="$(pwd)"
|
||||
local path="$1"
|
||||
|
||||
while [ -n "$path" ]; do
|
||||
cd "${path%/*}"
|
||||
local name="${path##*/}"
|
||||
path="$(resolve_link "$name" || true)"
|
||||
done
|
||||
|
||||
pwd
|
||||
cd "$cwd"
|
||||
}
|
||||
|
||||
root="$(abs_dirname "$0")/.."
|
||||
root="${0%/*}/.."
|
||||
|
||||
if [ -z "$print" ]; then
|
||||
case "$shell" in
|
||||
@@ -74,7 +50,7 @@ if [ -z "$print" ]; then
|
||||
esac
|
||||
|
||||
{ echo "# Load pyenv automatically by adding"
|
||||
echo "# the following to ${profile}:"
|
||||
echo "# the following to the end of ${profile}:"
|
||||
echo
|
||||
case "$shell" in
|
||||
fish )
|
||||
@@ -92,22 +68,13 @@ fi
|
||||
|
||||
mkdir -p "${PYENV_ROOT}/"{shims,versions}
|
||||
|
||||
if [[ ":${PATH}:" != *:"${PYENV_ROOT}/shims":* ]]; then
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||
;;
|
||||
* )
|
||||
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||
echo "setenv PYENV_SHELL $shell"
|
||||
;;
|
||||
* )
|
||||
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||
echo "export PYENV_SHELL=$shell"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -70,49 +70,47 @@ SH
|
||||
# of the first shim in the shims directory, assume pyenv has been
|
||||
# upgraded and the existing shims need to be removed.
|
||||
remove_outdated_shims() {
|
||||
for shim in *; do
|
||||
local shim
|
||||
for shim in "$SHIM_PATH"/*; do
|
||||
if ! diff "$PROTOTYPE_SHIM_PATH" "$shim" >/dev/null 2>&1; then
|
||||
for shim in *; do rm -f "$shim"; done
|
||||
rm -f "$SHIM_PATH"/*
|
||||
fi
|
||||
break
|
||||
done
|
||||
}
|
||||
|
||||
# List basenames of executables for every Python version
|
||||
list_executable_names() {
|
||||
local file
|
||||
for file in "$PYENV_ROOT"/versions/*/bin/*; do
|
||||
echo "${file##*/}"
|
||||
done
|
||||
}
|
||||
|
||||
# The basename of each argument passed to `make_shims` will be
|
||||
# registered for installation as a shim. In this way, plugins may call
|
||||
# `make_shims` with a glob to register many shims at once.
|
||||
make_shims() {
|
||||
local shims=("$@")
|
||||
|
||||
for file in "${shims[@]}"; do
|
||||
local shim="${file##*/}"
|
||||
local file shim
|
||||
for file; do
|
||||
shim="${file##*/}"
|
||||
register_shim "$shim"
|
||||
done
|
||||
}
|
||||
|
||||
# Create an empty array for the list of registered shims and an empty
|
||||
# string to use as a search index.
|
||||
registered_shims=()
|
||||
registered_shims_index=""
|
||||
registered_shims=" "
|
||||
|
||||
# We will keep track of shims registered for installation with the
|
||||
# global `registered_shims` array and with a global search index
|
||||
# string. The array will let us iterate over all registered shims. The
|
||||
# index string will let us quickly check whether a shim with the given
|
||||
# name has been registered or not.
|
||||
# Registers the name of a shim to be generated.
|
||||
register_shim() {
|
||||
local shim="$@"
|
||||
registered_shims["${#registered_shims[@]}"]="$shim"
|
||||
registered_shims_index="$registered_shims_index/$shim/"
|
||||
registered_shims="${registered_shims}${1} "
|
||||
}
|
||||
|
||||
# To install all the registered shims, we iterate over the
|
||||
# `registered_shims` array and create a link if one does not already
|
||||
# exist.
|
||||
# Install all the shims registered via `make_shims` or `register_shim` directly.
|
||||
install_registered_shims() {
|
||||
local shim
|
||||
for shim in "${registered_shims[@]}"; do
|
||||
[ -e "$shim" ] || ln -f "$PROTOTYPE_SHIM_PATH" "$shim"
|
||||
local shim file
|
||||
for shim in $registered_shims; do
|
||||
file="${SHIM_PATH}/${shim}"
|
||||
[ -e "$file" ] || ln -f "$PROTOTYPE_SHIM_PATH" "$file"
|
||||
done
|
||||
}
|
||||
|
||||
@@ -122,26 +120,21 @@ install_registered_shims() {
|
||||
# removed.
|
||||
remove_stale_shims() {
|
||||
local shim
|
||||
for shim in *; do
|
||||
if [[ "$registered_shims_index" != *"/$shim/"* ]]; then
|
||||
for shim in "$SHIM_PATH"/*; do
|
||||
if [[ "$registered_shims" != *" ${shim##*/} "* ]]; then
|
||||
rm -f "$shim"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
# Change to the shims directory.
|
||||
cd "$SHIM_PATH"
|
||||
shopt -s nullglob
|
||||
|
||||
# Create the prototype shim, then register shims for all known
|
||||
# executables.
|
||||
create_prototype_shim
|
||||
remove_outdated_shims
|
||||
make_shims ../versions/*/bin/*
|
||||
make_shims $(list_executable_names | sort -u)
|
||||
|
||||
# Restore the previous working directory.
|
||||
cd "$OLDPWD"
|
||||
|
||||
# Allow plugins to register shims.
|
||||
OLDIFS="$IFS"
|
||||
@@ -152,8 +145,5 @@ for script in "${scripts[@]}"; do
|
||||
source "$script"
|
||||
done
|
||||
|
||||
# Change back to the shims directory to install the registered shims
|
||||
# and remove stale shims.
|
||||
cd "$SHIM_PATH"
|
||||
install_registered_shims
|
||||
remove_stale_shims
|
||||
|
||||
@@ -25,9 +25,6 @@ OLDIFS="$IFS"
|
||||
if version_exists "$version" || [ "$version" = "system" ]; then
|
||||
versions=("${versions[@]}" "${version}")
|
||||
elif version_exists "${version#python-}"; then
|
||||
{ echo "warning: ignoring extraneous \`python-' prefix in version \`${version}'"
|
||||
echo " (set by $(pyenv-version-origin))"
|
||||
} >&2
|
||||
versions=("${versions[@]}" "${version#python-}")
|
||||
else
|
||||
echo "pyenv: version \`$version' is not installed" >&2
|
||||
|
||||
@@ -8,7 +8,7 @@ set -e
|
||||
# Provide pyenv completions
|
||||
if [ "$1" = "--complete" ]; then
|
||||
echo --path
|
||||
exec pyenv shims --short
|
||||
exec pyenv-shims --short
|
||||
fi
|
||||
|
||||
if [ "$1" = "--path" ]; then
|
||||
|
||||
@@ -12,7 +12,7 @@ set -e
|
||||
|
||||
# Provide pyenv completions
|
||||
if [ "$1" = "--complete" ]; then
|
||||
exec pyenv shims --short
|
||||
exec pyenv-shims --short
|
||||
fi
|
||||
|
||||
remove_from_path() {
|
||||
|
||||
@@ -105,6 +105,20 @@ process.
|
||||
configure and make options for buildling CPython. These variables will
|
||||
be passed to Python only, not any dependent packages (e.g. libyaml).
|
||||
|
||||
### Building as `--enable-shared`
|
||||
|
||||
You can build CPython with `--enable-shared` to install a version with
|
||||
shared object.
|
||||
|
||||
If `--enabled-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`,
|
||||
`python-build` will automatically set `RPATH` to the pyenv's prefix directory.
|
||||
This means you don't have to set `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` for
|
||||
the version(s) installed with `--enable-shared`.
|
||||
|
||||
```sh
|
||||
$ env PYTHON_CONFIGURE_OPTS="--enable-shared` pyenv install 2.7.9
|
||||
```
|
||||
|
||||
### Checksum verification
|
||||
|
||||
If you have the `shasum`, `openssl`, or `sha256sum` tool installed,
|
||||
|
||||
@@ -106,6 +106,8 @@ for option in "${OPTIONS[@]}"; do
|
||||
esac
|
||||
done
|
||||
|
||||
[ "${#ARGUMENTS[@]}" -le 1 ] || usage 1 >&2
|
||||
|
||||
unset VERSION_NAME
|
||||
|
||||
# The first argument contains the definition to install. If the
|
||||
@@ -114,8 +116,7 @@ unset VERSION_NAME
|
||||
# version is not specified.
|
||||
DEFINITION="${ARGUMENTS[0]}"
|
||||
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
|
||||
[ -n "$DEFINITION" ] || usage 1
|
||||
|
||||
[ -n "$DEFINITION" ] || usage 1 >&2
|
||||
|
||||
# Define `before_install` and `after_install` functions that allow
|
||||
# plugin hooks to register a string of code for execution before or
|
||||
@@ -191,11 +192,11 @@ if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
||||
done
|
||||
fi
|
||||
|
||||
# PyPy requires existing Python 2.x to build
|
||||
if [[ "${VERSION_NAME}" == "pypy-"*"-src" ]]; then
|
||||
# PyPy/PyPy3 requires existing Python 2.7 to build
|
||||
if [[ "${VERSION_NAME}" == "pypy-"*"-src" ]] || [[ "${VERSION_NAME}" == "pypy3-"*"-src" ]]; then
|
||||
if [ -z "$PYENV_RPYTHON_VERSION" ]; then
|
||||
for version in $(pyenv-versions --bare | sort -r); do
|
||||
if [[ "$version" == 2.[567] ]] || [[ "$version" == 2.[567].* ]]; then
|
||||
if [[ "$version" == "2.7"* ]]; then
|
||||
PYENV_RPYTHON_VERSION="$version"
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -17,24 +17,32 @@ if [ "$1" = "--complete" ]; then
|
||||
exec pyenv versions --bare
|
||||
fi
|
||||
|
||||
usage() {
|
||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available
|
||||
pyenv-help uninstall 2>/dev/null || sed -ne '/^#/!q;s/.//;s/.//;1,4d;p' < "$0"
|
||||
[ -z "$1" ] || exit "$1"
|
||||
}
|
||||
|
||||
if [ -z "$PYENV_ROOT" ]; then
|
||||
PYENV_ROOT="${HOME}/.pyenv"
|
||||
fi
|
||||
|
||||
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||
usage 0
|
||||
fi
|
||||
|
||||
unset FORCE
|
||||
if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then
|
||||
FORCE=true
|
||||
shift
|
||||
fi
|
||||
|
||||
[ "$#" -eq 1 ] || usage 1 >&2
|
||||
|
||||
DEFINITION="$1"
|
||||
case "$DEFINITION" in
|
||||
"" | -* )
|
||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available.
|
||||
{ pyenv-help uninstall 2>/dev/null ||
|
||||
sed -ne '/^#/!q;s/.\{1,2\}//;1,4d;p' < "$0"
|
||||
} >&2
|
||||
exit 1
|
||||
usage 1 >&2
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Usage: python-build [-kvp] <definition> <prefix>
|
||||
# python-build --definitions
|
||||
#
|
||||
# -k/--keep Do not remove source tree after installation
|
||||
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||
# -p/--patch Apply a patch from stdin before building
|
||||
# --definitions List all built-in definitions
|
||||
# -g/--debug Build a debug version
|
||||
#
|
||||
|
||||
PYTHON_BUILD_VERSION="20141028"
|
||||
|
||||
@@ -144,6 +154,10 @@ install_package() {
|
||||
install_package_using "tarball" 1 "$@"
|
||||
}
|
||||
|
||||
install_nightly_package() {
|
||||
install_package_using "nightly_tarball" 2 "$@"
|
||||
}
|
||||
|
||||
install_git() {
|
||||
install_package_using "git" 2 "$@"
|
||||
}
|
||||
@@ -358,6 +372,19 @@ fetch_tarball() {
|
||||
} >&4 2>&1
|
||||
}
|
||||
|
||||
fetch_nightly_tarball() {
|
||||
local package_name="$1"
|
||||
local package_url="$2"
|
||||
local package_pattern="$3"
|
||||
fetch_tarball "$1" "$2"
|
||||
if [ ! -e "${package_name}" ]; then
|
||||
local nightly_package_name="$(echo ${package_pattern})"
|
||||
if [ -e "${nightly_package_name}" ]; then
|
||||
ln -fs "${nightly_package_name}" "${package_name}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
reuse_existing_tarball() {
|
||||
local package_filename="$1"
|
||||
local checksum="$2"
|
||||
@@ -478,7 +505,7 @@ fetch_svn() {
|
||||
if type svn &>/dev/null; then
|
||||
svn co -r "$svn_rev" "$svn_url" "${package_name}" >&4 2>&1
|
||||
else
|
||||
echo "error: please install \`svn\` and try again" >&2
|
||||
echo "error: please install Subversion and try again" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
@@ -834,21 +861,28 @@ pypy_architecture() {
|
||||
esac
|
||||
;;
|
||||
"CYGWIN"* | "MINGW"* ) echo "win32" ;;
|
||||
"FreeBSD" )
|
||||
case "$(uname -m)" in
|
||||
"x86_64" ) echo "freebsd64" ;;
|
||||
* ) return 1 ;;
|
||||
esac
|
||||
;;
|
||||
* ) return 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
build_package_pypy() {
|
||||
build_package_copy
|
||||
{ if [ ! -x "${PREFIX_PATH}/bin/python" ]; then
|
||||
if [ -x "${PREFIX_PATH}/bin/pypy" ]; then
|
||||
( cd "${PREFIX_PATH}/bin" && ln -fs "pypy" "python" )
|
||||
else
|
||||
echo "not a pypy binary distribution" 1>&3
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
} >&4 2>&1
|
||||
mkdir -p "${PREFIX_PATH}/bin" "${PREFIX_PATH}/lib"
|
||||
local pypy libpypy
|
||||
shopt -s nullglob
|
||||
for pypy in "bin/pypy"*; do
|
||||
( cd "${PREFIX_PATH}/bin" && ln -fs "$(basename "${pypy}")" "$(basename "${pypy}" | sed -e 's/pypy/python/')" )
|
||||
done
|
||||
for libpypy in "bin/libpypy-c."*; do
|
||||
( cd "${PREFIX_PATH}/lib" && ln -fs "../bin/$(basename "${libpypy}")" "$(basename "${libpypy}")" )
|
||||
done
|
||||
shopt -u nullglob
|
||||
}
|
||||
|
||||
build_package_pypy_builder() {
|
||||
@@ -865,7 +899,7 @@ build_package_pypy_builder() {
|
||||
mv -f "pypy-c" "bin/pypy"
|
||||
fi
|
||||
for libpypy in "libpypy-c."*; do
|
||||
mv -f "${libpypy}" "lib/"
|
||||
mv -f "${libpypy}" "bin/"
|
||||
done
|
||||
} >&4 2>&1
|
||||
build_package_pypy
|
||||
@@ -1074,7 +1108,15 @@ require_llvm() {
|
||||
local llvm_version="$1"
|
||||
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
||||
if [[ "$PYTHON_CONFIGURE_OPTS" != *--llvm-* ]]; then
|
||||
if [ "$llvm_version" = "3.2" ]; then
|
||||
package_option python configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2"
|
||||
else
|
||||
local llvm_prefix="$(brew --prefix llvm 2>/dev/null || true)"
|
||||
local llvm_config="${llvm_prefix}/bin/llvm-config"
|
||||
if [ -x "$llvm_config" ]; then
|
||||
package_option python configure --llvm-config="$llvm_config"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
@@ -1096,6 +1138,21 @@ require_java() {
|
||||
export JAVA="$java"
|
||||
}
|
||||
|
||||
require_distro() {
|
||||
for arg; do
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "$arg"* ]]; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": This binary distribution is built for the following distro(s): $@."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
needs_yaml() {
|
||||
[[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] &&
|
||||
! use_homebrew_yaml
|
||||
@@ -1281,13 +1338,21 @@ verify_python() {
|
||||
# Not create symlinks on `altinstall` (#255)
|
||||
if [[ "$PYTHON_MAKE_INSTALL_TARGET" != *"altinstall"* ]]; then
|
||||
local suffix="${1#python}"
|
||||
local file
|
||||
local file link
|
||||
shopt -s nullglob
|
||||
for file in "${PREFIX_PATH}/bin"/*; do
|
||||
local link
|
||||
unset link
|
||||
case "${file}" in
|
||||
*"-${suffix}" ) link="${file%%-${suffix}}" ;;
|
||||
*"${suffix}" ) link="${file%%${suffix}}" ;;
|
||||
*/"python${suffix}-config" )
|
||||
# Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
|
||||
link="${file%/*}/python-config"
|
||||
;;
|
||||
*/*"-${suffix}" )
|
||||
link="${file%%-${suffix}}"
|
||||
;;
|
||||
*/*"${suffix}" )
|
||||
link="${file%%${suffix}}"
|
||||
;;
|
||||
esac
|
||||
if [ -n "$link" ] && [ ! -e "$link" ]; then
|
||||
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
|
||||
@@ -1418,6 +1483,11 @@ build_package_verify_py34() {
|
||||
build_package_verify_py33 "$1" "${2:-3.4}"
|
||||
}
|
||||
|
||||
# Post-install check for Python 3.5.x
|
||||
build_package_verify_py35() {
|
||||
build_package_verify_py34 "$1" "${2:-3.5}"
|
||||
}
|
||||
|
||||
build_package_ez_setup() {
|
||||
local ez_setup="${BUILD_PATH}/ez_setup.py"
|
||||
rm -f "${ez_setup}"
|
||||
@@ -1475,14 +1545,8 @@ version() {
|
||||
}
|
||||
|
||||
usage() {
|
||||
{ version
|
||||
echo "usage: python-build [-k|--keep] [-v|--verbose] [-p|--patch] [-g|--debug] definition prefix"
|
||||
echo " python-build --definitions"
|
||||
} >&2
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
sed -ne '/^#/!q;s/.\{1,2\}//;1,2d;p' < "$0"
|
||||
[ -z "$1" ] || exit "$1"
|
||||
}
|
||||
|
||||
list_definitions() {
|
||||
@@ -1514,16 +1578,9 @@ parse_options "$@"
|
||||
for option in "${OPTIONS[@]}"; do
|
||||
case "$option" in
|
||||
"h" | "help" )
|
||||
usage without_exiting
|
||||
{ echo
|
||||
echo " -k/--keep Do not remove source tree after installation"
|
||||
echo " -v/--verbose Verbose mode: print compilation status to stdout"
|
||||
echo " -p/--patch Apply a patch from stdin before building"
|
||||
echo " -g/--debug Build a debug version"
|
||||
echo " --definitions List all built-in definitions"
|
||||
version
|
||||
echo
|
||||
} >&2
|
||||
exit 0
|
||||
usage 0
|
||||
;;
|
||||
"definitions" )
|
||||
list_definitions
|
||||
@@ -1548,9 +1605,11 @@ for option in "${OPTIONS[@]}"; do
|
||||
esac
|
||||
done
|
||||
|
||||
[ "${#ARGUMENTS[@]}" -eq 2 ] || usage 1 >&2
|
||||
|
||||
DEFINITION_PATH="${ARGUMENTS[0]}"
|
||||
if [ -z "$DEFINITION_PATH" ]; then
|
||||
usage
|
||||
usage 1 >&2
|
||||
elif [ ! -f "$DEFINITION_PATH" ]; then
|
||||
for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
||||
if [ -f "${DEFINITION_DIR}/${DEFINITION_PATH}" ]; then
|
||||
@@ -1567,7 +1626,7 @@ fi
|
||||
|
||||
PREFIX_PATH="${ARGUMENTS[1]}"
|
||||
if [ -z "$PREFIX_PATH" ]; then
|
||||
usage
|
||||
usage 1 >&2
|
||||
elif [ "${PREFIX_PATH#/}" = "$PREFIX_PATH" ]; then
|
||||
PREFIX_PATH="${PWD}/${PREFIX_PATH}"
|
||||
fi
|
||||
@@ -1731,11 +1790,17 @@ python_bin_suffix() {
|
||||
case "$1" in
|
||||
2.* | 3.* )
|
||||
version_name="$1"
|
||||
version_name="${version_name%-dev}"
|
||||
version_name="${version_name%-rc*}"
|
||||
version_name="${version_name%rc*}"
|
||||
version_info=(${version_name//./ })
|
||||
echo "${version_info[0]}.${version_info[1]}"
|
||||
;;
|
||||
stackless-2.* | stackless-3.* )
|
||||
version_name="${1#stackless-}"
|
||||
version_name="${version_name%-dev}"
|
||||
version_name="${version_name%-rc*}"
|
||||
version_name="${version_name%rc*}"
|
||||
version_info=(${version_name//./ })
|
||||
echo "${version_info[0]}.${version_info[1]}"
|
||||
;;
|
||||
|
||||
3
plugins/python-build/share/python-build/2.7.9
Normal file
3
plugins/python-build/share/python-build/2.7.9
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.9" "https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz#c8bba33e66ac3201dabdc556f0ea7cfe6ac11946ec32d357c4c6f9b018c12c5b" ldflags_dirs standard verify_py27 ensurepip
|
||||
@@ -1,3 +1,5 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#7d5f2feae9035f1d3d9e6bb7f092dbf374d6bb4b25abd0d2d11f13bba1cb04de" ldflags_dirs standard verify_py30 ensurepip
|
||||
install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#7d5f2feae9035f1d3d9e6bb7f092dbf374d6bb4b25abd0d2d11f13bba1cb04de" ldflags_dirs standard verify_py30
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" python
|
||||
|
||||
4
plugins/python-build/share/python-build/3.1
Normal file
4
plugins/python-build/share/python-build/3.1
Normal file
@@ -0,0 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1" "http://python.org/ftp/python/3.1/Python-3.1.tgz#99a034cf574ea3c26412b0a0728126d7fd6ea9593d099d807a25d216ed031e6a" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
4
plugins/python-build/share/python-build/3.1.1
Normal file
4
plugins/python-build/share/python-build/3.1.1
Normal file
@@ -0,0 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.1" "http://python.org/ftp/python/3.1.1/Python-3.1.1.tgz#5d85d7bff11c4db44920af99f64f4227c816f897f6bfa9dd8a2611165ca5f0a1" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
4
plugins/python-build/share/python-build/3.1.2
Normal file
4
plugins/python-build/share/python-build/3.1.2
Normal file
@@ -0,0 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.2" "http://python.org/ftp/python/3.1.2/Python-3.1.2.tgz#dffbc0561a161a4a576c6059e6990a9859a0be16ba9b5736eabe4abbb2700d1c" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
@@ -1,3 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31 ensurepip
|
||||
install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31 ensurepip
|
||||
install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py34 ensurepip
|
||||
install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "3.4" standard verify_py34 ensurepip
|
||||
|
||||
3
plugins/python-build/share/python-build/3.4.3
Normal file
3
plugins/python-build/share/python-build/3.4.3
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz#4281ff86778db65892c05151d5de738d" ldflags_dirs standard verify_py34 ensurepip
|
||||
3
plugins/python-build/share/python-build/3.5-dev
Normal file
3
plugins/python-build/share/python-build/3.5-dev
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.5-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py35 ensurepip
|
||||
3
plugins/python-build/share/python-build/3.5.0a1
Normal file
3
plugins/python-build/share/python-build/3.5.0a1
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.5.0a1" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0a1.tgz#f1ea32ce88ffff8787ea31302e00b05a" ldflags_dirs standard verify_py35 ensurepip
|
||||
3
plugins/python-build/share/python-build/3.5.0a2
Normal file
3
plugins/python-build/share/python-build/3.5.0a2
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.5.0a2" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0a2.tgz#8e72209d95f286efb33bf96a6593d475" ldflags_dirs standard verify_py35 ensurepip
|
||||
3
plugins/python-build/share/python-build/3.5.0a3
Normal file
3
plugins/python-build/share/python-build/3.5.0a3
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.5.0a3" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0a3.tgz#5521bdf9ae9af5b794cd65477bcb02a3" ldflags_dirs standard verify_py35 ensurepip
|
||||
3
plugins/python-build/share/python-build/3.5.0a4
Normal file
3
plugins/python-build/share/python-build/3.5.0a4
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.5.0a4" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0a4.tgz#34667f07604352a4a1ef4651dcb7f870" ldflags_dirs standard verify_py35 ensurepip
|
||||
2
plugins/python-build/share/python-build/ironpython-2.7.5
Normal file
2
plugins/python-build/share/python-build/ironpython-2.7.5
Normal file
@@ -0,0 +1,2 @@
|
||||
install_zip "IronPython-2.7.5" "https://github.com/IronLanguages/main/releases/download/ipy-2.7.5/IronPython-2.7.5.zip#d2651084a61a43379ce6c031f4f29c5e01ba96d1ff89a5282376dd4b84439b5b" ironpython
|
||||
# FIXME: have not confirmed to install setuptools into IronPython yet
|
||||
@@ -1,5 +0,0 @@
|
||||
require_java
|
||||
install_jar "jython-2.7-beta1" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7-b1/jython-installer-2.7-b1.jar" jython ez_setup
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#12a9302acfca62cdc7bc5d83386cac3e0581db61ac39acdb3a4e766a16b88eb1" python
|
||||
@@ -1,5 +0,0 @@
|
||||
require_java
|
||||
install_jar "jython-2.7-beta2" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7-b2/jython-installer-2.7-b2.jar" jython ez_setup
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#12a9302acfca62cdc7bc5d83386cac3e0581db61ac39acdb3a4e766a16b88eb1" python
|
||||
@@ -1,5 +0,0 @@
|
||||
require_java
|
||||
install_jar "jython-2.7-beta3" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7-b3/jython-installer-2.7-b3.jar" jython ez_setup
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#12a9302acfca62cdc7bc5d83386cac3e0581db61ac39acdb3a4e766a16b88eb1" python
|
||||
22
plugins/python-build/share/python-build/jython-2.7.0
Normal file
22
plugins/python-build/share/python-build/jython-2.7.0
Normal file
@@ -0,0 +1,22 @@
|
||||
require_java
|
||||
install_jar "jython-2.7.0" "https://repo1.maven.org/maven2/org/python/jython-installer/2.7.0/jython-installer-2.7.0.jar#b44352ece72382268a60e2848741c96609a91d796bb9a9c6ebeff62f0c12c9cf" jython
|
||||
|
||||
# Jython is supposed to install pip using ensurepip by default, but this does
|
||||
# not appear to be working so we do it manually.
|
||||
#
|
||||
# pyenv's `ensurepip` downloads `get-pip.py` which isnt currently compatible
|
||||
# with jython: http://bugs.jython.org/issue2302
|
||||
#
|
||||
# Use the ensurepip module in jython to install the bundled pip instead:
|
||||
"$PYTHON_BIN" -m ensurepip
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"osx64"|"win32" )
|
||||
# Jython does not seem to work properly on OSX/windows unless JAVA_HOME is set
|
||||
if [ -z "${JAVA_HOME+defined}" ]; then
|
||||
colorize 1 "WARNING: "
|
||||
echo "Please ensure that your JAVA_HOME environment variable is set correctly!"
|
||||
echo "See http://bugs.jython.org/issue2346 for details."
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/miniconda-3.8.3
Normal file
19
plugins/python-build/share/python-build/miniconda-3.8.3
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda-3.8.3-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86.sh#253a95fac2dbcc01ad5ce5a78d241a362482e1fbb24b1000ea5e217f55825cb6" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda-3.8.3-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86_64.sh#7ac19397731ffb212ed5534c29cd25f5f4c0c81669707ba6da8635cf1431c114" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda-3.8.3-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda-3.8.3-MacOSX-x86_64.sh#e19e16b7969fb256d68f7de3a4e02331ba04e1c48a262d2b9f66db106e016257" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/miniconda3-3.8.3
Normal file
19
plugins/python-build/share/python-build/miniconda3-3.8.3
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda3-3.8.3-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda3-3.8.3-Linux-x86.sh#2345cf595864ee0a139f6dd1572070442445baace0dec7a4937267169708f929" "miniconda" verify_py34
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-3.8.3-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda3-3.8.3-Linux-x86_64.sh#26483a27b56d3567596b866076cb6de75c4b7e376fe359720ec27fca2c05ceec" "miniconda" verify_py34
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-3.8.3-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda3-3.8.3-MacOSX-x86_64.sh#86be2f1d55755670e0a21902584768b69732b31e87af22d1cca856f3d9e5c20d" "miniconda" verify_py34
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.2/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.2/Lib/site.py 2014-12-12 10:59:47.000000000 +0200
|
||||
+++ ./Lib/site.py 2014-12-12 11:24:28.000000000 +0200
|
||||
@@ -312,7 +312,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework and "/%s.framework/"%(framework,) in prefix:
|
||||
+ if False and framework and "/%s.framework/"%(framework,) in prefix:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.3/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.3/Lib/site.py 2012-04-10 02:07:31.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:35:33.000000000 +0200
|
||||
@@ -312,7 +312,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.3/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.3/Lib/site.py 2012-04-10 02:07:31.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:35:33.000000000 +0200
|
||||
@@ -312,7 +312,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.5/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.5/Lib/site.py 2013-05-12 06:32:44.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:29:29.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.5/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.5/Lib/site.py 2013-05-12 06:32:44.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:29:29.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.5/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.5/Lib/site.py 2013-05-12 06:32:44.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:29:29.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.8/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.8/Lib/site.py 2014-06-30 05:05:30.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:42:33.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.9/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.9/Lib/site.py 2014-06-30 05:05:30.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:42:33.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.3.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.3.1-linux.tar.bz2#3eed698e8533cca7cbd2c2c87fce39dc14baa7dec03f4b082d870131d2a470e4" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.3.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.3.1-linux_i686-portable.tar.bz2#d8784020f6b8a5812fd8b3f5e1df8afb176fd56c2a929d4408d28d4a925525fa" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
require_distro "Ubuntu 12.04" || true
|
||||
@@ -28,8 +19,11 @@ case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
require_distro "Ubuntu 12.04" || true
|
||||
if require_distro "Ubuntu 12.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.3.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.3.1-linux64.tar.bz2#dab7940496d96f1f255a8ef402fa96b94444775e373484e057d2fcabc3928b42" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.3.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.3.1-linux_x86_64-portable.tar.bz2#453bd1291f0372e25ceab6b37b7a8d1756bebd3e708fcce1379ef931ccf9f75a" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
install_package "pypy-2.3.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.3.1-osx64.tar.bz2#12e363bf5ea3a508600e043b68c47d4148359ca3d999ee207665bb139f8fbf37" "pypy" verify_py27 ensurepip
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
|
||||
@@ -1,22 +1,13 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.4.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux.tar.bz2#a24adb366f87ac0eba829d7188a156a7d897e71893689fab06502c3f4152ac0e" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.4-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.4-linux_i686-portable.tar.bz2#2a330bbeae038c143366982f2104bf4096752f1ec7520fc5608f0527c124b0c2" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
require_distro "Ubuntu 12.04" || true
|
||||
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
|
||||
install_package "pypy-2.4.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux-armel.tar.bz2#8362d634bf86fbfb3b99b578b13c0a9fd673b2b7580d6d65b4a181934c659ccd" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armhf" )
|
||||
@@ -28,8 +19,11 @@ case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
require_distro "Ubuntu 12.04" || true
|
||||
if require_distro "Ubuntu 12.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.4.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux64.tar.bz2#27cdc0d6e8bce2637678f6d076fc780877dffe1bf9aec9e253f95219af9ed099" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.4-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.4-linux_x86_64-portable.tar.bz2#b6ed31aff0ebcc9b40554576b1ce789fe4e8c93f7a34cd3983515e1a9a8a45b6" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
install_package "pypy-2.4.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-osx64.tar.bz2#3eb8afdfa42bc9b08b4d3058e21d4ce978a52722fdcfdc67d6c3ee5013a51aaa" "pypy" verify_py27 ensurepip
|
||||
|
||||
44
plugins/python-build/share/python-build/pypy-2.5.0
Normal file
44
plugins/python-build/share/python-build/pypy-2.5.0
Normal file
@@ -0,0 +1,44 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.5.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux.tar.bz2#3dfd56a986d25929b4ed9f40a5484f72f1d513cd816cf8aaa683106c3391247c" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.5-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5-linux_i686-portable.tar.bz2#6cbe3e1a48900f22c8e4412f82906fba92dd4a165bac5fe6866a2a26383fe3b8" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
|
||||
install_package "pypy-2.5.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux-armel.tar.bz2#277fa6c61d63af96893dafd19e1ffea7b988397c6a0fd66cd99dc0db1029be56" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armhf" )
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||
install_package "pypy-2.5.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux-armhf-raspbian.tar.bz2#6c975e39f0e7d57176b49a987a08862a3cbd9aeb52f47eb4ab148ea334e747fd" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
require_distro "Ubuntu 13.04" || true
|
||||
install_package "pypy-2.5.0-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux-armhf-raring.tar.bz2#1866bf2b8a8144c68d64f2ba982c6c545849913167b4602b762716332ec1fa0b" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.5.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux64.tar.bz2#7764fb6b662407f8709eaa334c542aac9cb6bfe3291ac198dad0980ca129f3c2" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.5-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5-linux_x86_64-portable.tar.bz2#26c5a0964b32b09be0282766c27937c843a12b6820ff2d440c6d47a6092837e0" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
install_package "pypy-2.5.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-osx64.tar.bz2#30b392b969b54cde281b07f5c10865a7f2e11a229c46b8af384ca1d3fe8d4e6e" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"win32" )
|
||||
# FIXME: never tested on Windows
|
||||
install_zip "pypy-2.5.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-win32.zip#692391434cf14016d74c6b8bda8f93135ef026f48c8327f3195bfa24d314317d" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy-2.5.0-src' to build from soruce."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
2
plugins/python-build/share/python-build/pypy-2.5.0-src
Normal file
2
plugins/python-build/share/python-build/pypy-2.5.0-src
Normal file
@@ -0,0 +1,2 @@
|
||||
require_gcc
|
||||
install_package "pypy-pypy-10f1b29a2bd2" "https://bitbucket.org/pypy/pypy/get/release-2.5.0.tar.bz2#8d644a55a3150cf3d18536c784e3410bb3f3438c1505000c4f761863bacedf88" "pypy_builder" verify_py27 ensurepip
|
||||
44
plugins/python-build/share/python-build/pypy-2.5.1
Normal file
44
plugins/python-build/share/python-build/pypy-2.5.1
Normal file
@@ -0,0 +1,44 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.5.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux.tar.bz2#c0035a2650cafcb384050a8c476ddc41c9fd40b0c3677fab68026f57c715907a" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.5.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5.1-linux_i686-portable.tar.bz2#ed532ddde3332d10faa59af49854cacbca458c597889352e619a87ab22363063" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
|
||||
install_package "pypy-2.5.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux-armel.tar.bz2#91d68551b6e738c1e47aaed869a6df8208abb8c60194a1647c6aa13c7363a61d" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armhf" )
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||
install_package "pypy-2.5.1-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux-armhf-raspbian.tar.bz2#2b730f86b56fcc72f5bfcfe6a38b5a6fe27654f73b2256e10297373af169a69e" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
require_distro "Ubuntu 13.04" || true
|
||||
install_package "pypy-2.5.1-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux-armhf-raring.tar.bz2#0a5648c18cc604b0a8eaa559549cb332d18358fc551865e9b7ef051b796e4ec7" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.5.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux64.tar.bz2#68e0955dbc80a0d51dfa9a8a76d8623f34920ece1bcbc6d910c2be019a653ba8" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.5.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5.1-linux_x86_64-portable.tar.bz2#157bee6349878cf0ef575b0d7bfd6cbb837c00e83b2872c924580ef7bc32c0d7" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
install_package "pypy-2.5.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-osx64.tar.bz2#db40dc8b5e95ef9c3322bd9897099e91555ef34188cf1c3852a92b081142d183" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"win32" )
|
||||
# FIXME: never tested on Windows
|
||||
install_zip "pypy-2.5.1-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-win32.zip#0dbf90c30e848a91611bea99968a215244db02cf5f649114f10269cf1a15d607" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy-2.5.1-src' to build from soruce."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
2
plugins/python-build/share/python-build/pypy-2.5.1-src
Normal file
2
plugins/python-build/share/python-build/pypy-2.5.1-src
Normal file
@@ -0,0 +1,2 @@
|
||||
require_gcc
|
||||
install_package "pypy-2.5.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-src.tar.bz2#ddb3a580b1ee99c5a699172d74be91c36dda9a38946d4731d8c6a63120a3ba2a" "pypy_builder" verify_py27 ensurepip
|
||||
35
plugins/python-build/share/python-build/pypy-c-jit-latest
Normal file
35
plugins/python-build/share/python-build/pypy-c-jit-latest
Normal file
@@ -0,0 +1,35 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_nightly_package "pypy-c-jit-latest-linux" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-linux.tar.bz2" "pypy-c-jit-*-linux" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armel" )
|
||||
install_nightly_package "pypy-c-jit-latest-linux-armel" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-linux-armel.tar.bz2" "pypy-c-jit-*-linux-armel" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armhf" )
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||
install_nightly_package "pypy-c-jit-latest-linux-armhf-raspbian" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-linux-armhf-raspbian.tar.bz2" "pypy-c-jit-*-linux-armhf-raspbian" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_nightly_package "pypy-c-jit-latest-linux-armhf-raring" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-linux-armhf-raring.tar.bz2" "pypy-c-jit-*-linux-armhf-raring" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
install_nightly_package "pypy-c-jit-latest-linux64" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-linux64.tar.bz2" "pypy-c-jit-*-linux64" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"osx64" )
|
||||
install_nightly_package "pypy-c-jit-latest-osx64" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-osx64.tar.bz2" "pypy-c-jit-*-osx64" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"freebsd64" )
|
||||
install_nightly_package "pypy-c-jit-latest-freebsd64" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-freebsd64.tar.bz2" "pypy-c-jit-*-freebsd64" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
#"win32" )
|
||||
# install_zip "pypy-c-jit-latest-win32" "http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-win32.zip" "pypy" verify_py27 ensurepip
|
||||
# ;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
35
plugins/python-build/share/python-build/pypy-c-nojit-latest
Normal file
35
plugins/python-build/share/python-build/pypy-c-nojit-latest
Normal file
@@ -0,0 +1,35 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_nightly_package "pypy-c-nojit-latest-linux" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-linux.tar.bz2" "pypy-c-nojit-*-linux" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armel" )
|
||||
install_nightly_package "pypy-c-nojit-latest-linux-armel" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-linux-armel.tar.bz2" "pypy-c-nojit-*-linux-armel" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux-armhf" )
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||
install_nightly_package "pypy-c-nojit-latest-linux-armhf-raspbian" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-linux-armhf-raspbian.tar.bz2" "pypy-c-nojit-*-linux-armhf-raspbian" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_nightly_package "pypy-c-nojit-latest-linux-armhf-raring" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-linux-armhf-raring.tar.bz2" "pypy-c-nojit-*-linux-armhf-raring" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
install_nightly_package "pypy-c-nojit-latest-linux64" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-linux64.tar.bz2" "pypy-c-nojit-*-linux64" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"osx64" )
|
||||
install_nightly_package "pypy-c-nojit-latest-osx64" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-osx64.tar.bz2" "pypy-c-nojit-*-osx64" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"freebsd64" )
|
||||
install_nightly_package "pypy-c-nojit-latest-freebsd64" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-freebsd64.tar.bz2" "pypy-c-nojit-*-freebsd64" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
#"win32" )
|
||||
# install_zip "pypy-c-nojit-latest-win32" "http://buildbot.pypy.org/nightly/trunk/pypy-c-nojit-latest-win32.zip" "pypy" verify_py27 ensurepip
|
||||
# ;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
16
plugins/python-build/share/python-build/pypy-portable-2.3.1
Normal file
16
plugins/python-build/share/python-build/pypy-portable-2.3.1
Normal file
@@ -0,0 +1,16 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy-2.3.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.3.1-linux_i686-portable.tar.bz2#d8784020f6b8a5812fd8b3f5e1df8afb176fd56c2a929d4408d28d4a925525fa" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy-2.3.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.3.1-linux_x86_64-portable.tar.bz2#453bd1291f0372e25ceab6b37b7a8d1756bebd3e708fcce1379ef931ccf9f75a" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
16
plugins/python-build/share/python-build/pypy-portable-2.4
Normal file
16
plugins/python-build/share/python-build/pypy-portable-2.4
Normal file
@@ -0,0 +1,16 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy-2.4-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.4-linux_i686-portable.tar.bz2#2a330bbeae038c143366982f2104bf4096752f1ec7520fc5608f0527c124b0c2" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy-2.4-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.4-linux_x86_64-portable.tar.bz2#b6ed31aff0ebcc9b40554576b1ce789fe4e8c93f7a34cd3983515e1a9a8a45b6" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
16
plugins/python-build/share/python-build/pypy-portable-2.5
Normal file
16
plugins/python-build/share/python-build/pypy-portable-2.5
Normal file
@@ -0,0 +1,16 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy-2.5-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5-linux_i686-portable.tar.bz2#6cbe3e1a48900f22c8e4412f82906fba92dd4a165bac5fe6866a2a26383fe3b8" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy-2.5-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5-linux_x86_64-portable.tar.bz2#26c5a0964b32b09be0282766c27937c843a12b6820ff2d440c6d47a6092837e0" "pypy" verify_py27 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1,19 +1,10 @@
|
||||
require_distro() {
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" != "$1"* ]]; then
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": The binary distribution of PyPy is built for $1."
|
||||
echo "installed binary may not run expectedly on other platforms."
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
require_distro "Ubuntu 10.04" || true
|
||||
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy3-2.3.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.3.1-linux.tar.bz2#7eddc6826e58c9c89e68b59ec8caf1596b76401517ad8d26ad5e18e0ffa45db9" "pypy" verify_py32 ensurepip
|
||||
else
|
||||
install_package "pypy3-2.3.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.3.1-linux_i686-portable.tar.bz2#32a5b3fd4299b13aedf7bc6262eee0f6be9a27744ccf787718553d973ec38abb" "pypy" verify_py32 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
require_distro "Ubuntu 12.04" || true
|
||||
@@ -28,8 +19,11 @@ case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
require_distro "Ubuntu 12.04" || true
|
||||
if require_distro "Ubuntu 12.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy3-2.3.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.3.1-linux64.tar.bz2#303df2cf4766db20ec77786d9091dce284fdab01d7173c5828a35e86bc931b99" "pypy" verify_py32 ensurepip
|
||||
else
|
||||
install_package "pypy3-2.3.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.3.1-linux_x86_64-portable.tar.bz2#cb56b5bde8f444d44a0ea9cd475ddeed00aa895f3dcc89fd37577a51439540aa" "pypy" verify_py32 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
install_package "pypy3-2.3.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.3.1-osx64.tar.bz2#600d4dad2039b8035582c0e0ce9b71e8236d95db26cff48c84c6d1e0ea6814c1" "pypy" verify_py32 ensurepip
|
||||
|
||||
44
plugins/python-build/share/python-build/pypy3-2.4.0
Normal file
44
plugins/python-build/share/python-build/pypy3-2.4.0
Normal file
@@ -0,0 +1,44 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy3-2.4.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-linux.tar.bz2#108fdcccfddb9b2cb2fc3cbca5e6f7902ed3ab74a24c8ae29da7fbdadbab4345" "pypy" verify_py32 ensurepip
|
||||
else
|
||||
install_package "pypy3-2.4-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.4-linux_i686-portable.tar.bz2#7ce050b4928dc58f7e9dd01e3e48c443c85616ca83f4bcc9147f1078d0fd126c" "pypy" verify_py32 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
|
||||
install_package "pypy3-2.4.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-linux-armel.tar.bz2#322ddc863006a97d48edc302a73bb0981bbc142951237ed161ca0ca2cd02831f" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
"linux-armhf")
|
||||
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||
install_package "pypy3-2.4.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-linux-armhf-raspbian.tar.bz2#ad8f00255c85bf3c1012d56d5638c7aee12bc9f1ddcdaad35985bbd65a16c602" "pypy" verify_py32 ensurepip
|
||||
else
|
||||
require_distro "Ubuntu 13.04" || true
|
||||
install_package "pypy3-2.4.0-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-linux-armhf-raring.tar.bz2#eb41a3ee62741199aeeab818553ded460db991911609acf36e5710f491e5ac0a" "pypy" verify_py32 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux64" )
|
||||
if require_distro "Ubuntu 12.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy3-2.4.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-linux64.tar.bz2#24e680b1742af7361107876a421dd793f5ef852dd5f097546f84b1378f7f70cc" "pypy" verify_py32 ensurepip
|
||||
else
|
||||
install_package "pypy3-2.4-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.4-linux_x86_64-portable.tar.bz2#7b3e0f0bc924bd0d68d85c0b566979e74a2b366595db3d81502267367370a5fb" "pypy" verify_py32 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
install_package "pypy3-2.4.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-osx64.tar.bz2#dcd86bdb753e93dbf55e1f3af3ffa97eea328b8b77aa60e92ea2260a6258cedb" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
"win32" )
|
||||
# FIXME: never tested on Windows
|
||||
install_zip "pypy3-2.4.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-win32.zip#7ea499993b07405898dee9435836220d8c7b8abfa1b1f760c4a1c04b43945797" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy3-2.4.0-src' to build from soruce."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
2
plugins/python-build/share/python-build/pypy3-2.4.0-src
Normal file
2
plugins/python-build/share/python-build/pypy3-2.4.0-src
Normal file
@@ -0,0 +1,2 @@
|
||||
require_gcc
|
||||
install_package "pypy3-2.4.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-src.tar.bz2#d9ba207d6eecf8a0dc4414e9f4e92db1abd143e8cc6ec4a6bdcac75b29f104f3" "pypy_builder" verify_py32 ensurepip
|
||||
16
plugins/python-build/share/python-build/pypy3-portable-2.3.1
Normal file
16
plugins/python-build/share/python-build/pypy3-portable-2.3.1
Normal file
@@ -0,0 +1,16 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy3-2.3.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.3.1-linux_i686-portable.tar.bz2#32a5b3fd4299b13aedf7bc6262eee0f6be9a27744ccf787718553d973ec38abb" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy3-2.3.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.3.1-linux_x86_64-portable.tar.bz2#cb56b5bde8f444d44a0ea9cd475ddeed00aa895f3dcc89fd37577a51439540aa" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Portable PyPy3 is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
16
plugins/python-build/share/python-build/pypy3-portable-2.4
Normal file
16
plugins/python-build/share/python-build/pypy3-portable-2.4
Normal file
@@ -0,0 +1,16 @@
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy3-2.4-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.4-linux_i686-portable.tar.bz2#7ce050b4928dc58f7e9dd01e3e48c443c85616ca83f4bcc9147f1078d0fd126c" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy3-2.4-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-2.4-linux_x86_64-portable.tar.bz2#7b3e0f0bc924bd0d68d85c0b566979e74a2b366595db3d81502267367370a5fb" "pypy" verify_py32 ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Portable PyPy3 is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
23
plugins/python-build/test/arguments.bats
Normal file
23
plugins/python-build/test/arguments.bats
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load test_helper
|
||||
|
||||
@test "not enought arguments for python-build" {
|
||||
# use empty inline definition so nothing gets built anyway
|
||||
local definition="${TMP}/build-definition"
|
||||
echo '' > "$definition"
|
||||
|
||||
run python-build "$definition"
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: python-build'
|
||||
}
|
||||
|
||||
@test "extra arguments for python-build" {
|
||||
# use empty inline definition so nothing gets built anyway
|
||||
local definition="${TMP}/build-definition"
|
||||
echo '' > "$definition"
|
||||
|
||||
run python-build "$definition" "${TMP}/install" ""
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: python-build'
|
||||
}
|
||||
@@ -5,6 +5,7 @@ export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
|
||||
export MAKE=make
|
||||
export MAKE_OPTS="-j 2"
|
||||
export CC=cc
|
||||
export -n PYTHON_CONFIGURE_OPTS
|
||||
|
||||
setup() {
|
||||
mkdir -p "$INSTALL_ROOT"
|
||||
@@ -449,6 +450,18 @@ OUT
|
||||
# nop
|
||||
}
|
||||
|
||||
@test "JRuby Java 7 missing" {
|
||||
# nop
|
||||
}
|
||||
|
||||
@test "JRuby Java is outdated" {
|
||||
# nop
|
||||
}
|
||||
|
||||
@test "JRuby Java 7 up-to-date" {
|
||||
# nop
|
||||
}
|
||||
|
||||
@test "non-writable TMPDIR aborts build" {
|
||||
export TMPDIR="${TMP}/build"
|
||||
mkdir -p "$TMPDIR"
|
||||
|
||||
@@ -5,8 +5,13 @@ export MAKE=make
|
||||
export MAKE_OPTS='-j 2'
|
||||
export -n CFLAGS
|
||||
export -n CC
|
||||
export -n PYTHON_CONFIGURE_OPTS
|
||||
|
||||
@test "require_gcc on OS X 10.9" {
|
||||
# yyuu/pyenv#222
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.9.5'
|
||||
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.9.5'
|
||||
stub gcc '--version : echo 4.2.1'
|
||||
@@ -24,6 +29,10 @@ OUT
|
||||
}
|
||||
|
||||
@test "require_gcc on OS X 10.10" {
|
||||
# yyuu/pyenv#222
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
stub gcc '--version : echo 4.2.1'
|
||||
@@ -36,7 +45,7 @@ DEF
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
CC=${TMP}/bin/gcc
|
||||
MACOSX_DEPLOYMENT_TARGET=10.10
|
||||
MACOSX_DEPLOYMENT_TARGET=10.9
|
||||
OUT
|
||||
}
|
||||
|
||||
|
||||
@@ -146,3 +146,42 @@ ${PYENV_ROOT}/plugins/bar/share/python-build
|
||||
${PYENV_ROOT}/plugins/foo/share/python-build
|
||||
OUT
|
||||
}
|
||||
|
||||
@test "not enough arguments for pyenv-install" {
|
||||
stub_python_build
|
||||
run pyenv-install
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
}
|
||||
|
||||
@test "too many arguments for pyenv-install" {
|
||||
stub_python_build
|
||||
run pyenv-install 3.4.1 3.4.2
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
}
|
||||
|
||||
@test "show help for pyenv-install" {
|
||||
stub_python_build
|
||||
run pyenv-install -h
|
||||
assert_success
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
}
|
||||
|
||||
@test "not enough arguments pyenv-uninstall" {
|
||||
run pyenv-uninstall
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
}
|
||||
|
||||
@test "too many arguments for pyenv-uninstall" {
|
||||
run pyenv-uninstall 3.4.1 3.4.2
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
}
|
||||
|
||||
@test "show help for pyenv-uninstall" {
|
||||
run pyenv-uninstall -h
|
||||
assert_success
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
}
|
||||
|
||||
@@ -138,3 +138,24 @@ OUT
|
||||
unstub make
|
||||
unstub patch
|
||||
}
|
||||
|
||||
@test "allow custom make install target" {
|
||||
cached_tarball "Python-3.2.1"
|
||||
|
||||
stub brew false
|
||||
stub "$MAKE" \
|
||||
" : echo \"$MAKE \$@\" >> build.log" \
|
||||
" : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'"
|
||||
|
||||
PYTHON_MAKE_INSTALL_TARGET="altinstall" TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null
|
||||
assert_success
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.2.1: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
|
||||
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make altinstall
|
||||
OUT
|
||||
|
||||
unstub make
|
||||
}
|
||||
|
||||
@@ -115,6 +115,10 @@ assert_output() {
|
||||
|
||||
assert_output_contains() {
|
||||
local expected="$1"
|
||||
if [ -z "$expected" ]; then
|
||||
echo "assert_output_contains needs an argument" >&2
|
||||
return 1
|
||||
fi
|
||||
echo "$output" | $(type -p ggrep grep | head -1) -F "$expected" >/dev/null || {
|
||||
{ echo "expected output to contain $expected"
|
||||
echo "actual: $output"
|
||||
|
||||
5
pyenv.d/exec/pip-rehash.bash
Normal file
5
pyenv.d/exec/pip-rehash.bash
Normal file
@@ -0,0 +1,5 @@
|
||||
PYENV_PIP_REHASH_ROOT="${BASH_SOURCE[0]%/*}/pip-rehash"
|
||||
if [ -x "${PYENV_PIP_REHASH_ROOT}/${PYENV_COMMAND##*/}" ]; then
|
||||
PYENV_COMMAND_PATH="${PYENV_PIP_REHASH_ROOT}/${PYENV_COMMAND##*/}"
|
||||
PYENV_BIN_PATH="${PYENV_PIP_REHASH_ROOT}"
|
||||
fi
|
||||
27
pyenv.d/exec/pip-rehash/easy_install
Executable file
27
pyenv.d/exec/pip-rehash/easy_install
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
||||
_PATH=":${PATH}:"
|
||||
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
||||
_PATH="${_PATH//:${_HERE}:/:}"
|
||||
_PATH="${_PATH#:}"
|
||||
_PATH="${_PATH%:}"
|
||||
PATH="${_PATH}"
|
||||
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "$(basename "$0")")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
|
||||
STATUS=0
|
||||
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
pyenv-rehash
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
29
pyenv.d/exec/pip-rehash/pip
Executable file
29
pyenv.d/exec/pip-rehash/pip
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
||||
_PATH=":${PATH}:"
|
||||
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
||||
_PATH="${_PATH//:${_HERE}:/:}"
|
||||
_PATH="${_PATH#:}"
|
||||
_PATH="${_PATH%:}"
|
||||
PATH="${_PATH}"
|
||||
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "$(basename "$0")")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
|
||||
STATUS=0
|
||||
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
case "$1" in
|
||||
"install" | "uninstall" ) pyenv-rehash;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
20
script/test
20
script/test
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
[ -d ./bats/bin ] && export PATH="$(pwd)"/bats/bin:"$PATH"
|
||||
|
||||
STATUS=0
|
||||
bats -t test && ( cd plugins/python-build && bats -t test ) || STATUS="$?"
|
||||
|
||||
#if [ "$TRAVIS_PULL_REQUEST" != "false" ] && [ -z "$TRAVIS_COMMIT_RANGE" ]; then
|
||||
# first_sha="$(curl -fsSL https://github.com/${TRAVIS_REPO_SLUG}/pull/${TRAVIS_PULL_REQUEST}.patch | head -1 | awk '{print $2}')"
|
||||
# export TRAVIS_COMMIT_RANGE="${first_sha}^..${TRAVIS_COMMIT}"
|
||||
#fi
|
||||
|
||||
#if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]; then
|
||||
# ./script/mirror update "$TRAVIS_COMMIT_RANGE"
|
||||
#elif [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
# ./script/mirror verify "$TRAVIS_COMMIT_RANGE"
|
||||
#fi
|
||||
|
||||
exit "$STATUS"
|
||||
25
src/Makefile.in
Normal file
25
src/Makefile.in
Normal file
@@ -0,0 +1,25 @@
|
||||
CC = @CC@
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
LOCAL_CFLAGS = @LOCAL_CFLAGS@
|
||||
DEFS = @DEFS@
|
||||
LOCAL_DEFS = @LOCAL_DEFS@
|
||||
|
||||
CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS)
|
||||
|
||||
SHOBJ_CC = @SHOBJ_CC@
|
||||
SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
|
||||
SHOBJ_LD = @SHOBJ_LD@
|
||||
SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
|
||||
SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
|
||||
SHOBJ_LIBS = @SHOBJ_LIBS@
|
||||
SHOBJ_STATUS = @SHOBJ_STATUS@
|
||||
|
||||
.c.o:
|
||||
$(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) -c -o $@ $<
|
||||
|
||||
../libexec/pyenv-realpath.dylib: realpath.o
|
||||
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS)
|
||||
|
||||
clean:
|
||||
rm -f *.o ../libexec/*.dylib
|
||||
31
src/bash.h
Normal file
31
src/bash.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef __BASH_H__
|
||||
#define __BASH_H__
|
||||
|
||||
#define EXECUTION_SUCCESS 0
|
||||
#define EXECUTION_FAILURE 1
|
||||
#define EX_USAGE 258
|
||||
|
||||
#define BUILTIN_ENABLED 1
|
||||
|
||||
typedef struct word_desc {
|
||||
char *word;
|
||||
int flags;
|
||||
} WORD_DESC;
|
||||
|
||||
typedef struct word_list {
|
||||
struct word_list *next;
|
||||
WORD_DESC *word;
|
||||
} WORD_LIST;
|
||||
|
||||
typedef int sh_builtin_func_t(WORD_LIST *);
|
||||
|
||||
struct builtin {
|
||||
char *name;
|
||||
sh_builtin_func_t *function;
|
||||
int flags;
|
||||
char * const *long_doc;
|
||||
const char *short_doc;
|
||||
char *unused;
|
||||
};
|
||||
|
||||
#endif
|
||||
46
src/configure
vendored
Executable file
46
src/configure
vendored
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
src_dir="${0%/*}"
|
||||
|
||||
if [ -z "$CC" ]; then
|
||||
if type -p gcc >/dev/null; then
|
||||
CC=gcc
|
||||
else
|
||||
echo "warning: gcc not found; using CC=cc" >&2
|
||||
CC=cc
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! type -p "$CC" >/dev/null; then
|
||||
echo "aborted: compiler not found: $CC" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$(uname -s)" in
|
||||
Darwin* )
|
||||
host_os="darwin$(uname -r)"
|
||||
;;
|
||||
OpenBSD* )
|
||||
host_os="openbsd$(uname -r)"
|
||||
;;
|
||||
* )
|
||||
host_os="linux-gnu"
|
||||
esac
|
||||
|
||||
eval "$("$src_dir"/shobj-conf -C "$CC" -o "$host_os")"
|
||||
|
||||
sed "
|
||||
s,@CC@,${CC},
|
||||
s,@CFLAGS@,${CFLAGS},
|
||||
s,@LOCAL_CFLAGS@,${LOCAL_CFLAGS},
|
||||
s,@DEFS@,${DEFS},
|
||||
s,@LOCAL_DEFS@,${LOCAL_DEFS},
|
||||
s,@SHOBJ_CC@,${SHOBJ_CC},
|
||||
s,@SHOBJ_CFLAGS@,${SHOBJ_CFLAGS},
|
||||
s,@SHOBJ_LD@,${SHOBJ_LD},
|
||||
s,@SHOBJ_LDFLAGS@,${SHOBJ_LDFLAGS//,/\\,},
|
||||
s,@SHOBJ_XLDFLAGS@,${SHOBJ_XLDFLAGS//,/\\,},
|
||||
s,@SHOBJ_LIBS@,${SHOBJ_LIBS},
|
||||
s,@SHOBJ_STATUS@,${SHOBJ_STATUS},
|
||||
" "$src_dir"/Makefile.in > "$src_dir"/Makefile
|
||||
43
src/realpath.c
Normal file
43
src/realpath.c
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "bash.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int realpath_builtin(list)
|
||||
WORD_LIST *list;
|
||||
{
|
||||
int es;
|
||||
char *realbuf, *p;
|
||||
|
||||
if (list == 0) {
|
||||
// builtin_usage();
|
||||
return (EX_USAGE);
|
||||
}
|
||||
|
||||
for (es = EXECUTION_SUCCESS; list; list = list->next) {
|
||||
p = list->word->word;
|
||||
realbuf = realpath(p, NULL);
|
||||
if (realbuf == NULL) {
|
||||
es = EXECUTION_FAILURE;
|
||||
// builtin_error("%s: cannot resolve: %s", p, strerror(errno));
|
||||
} else {
|
||||
printf("%s\n", realbuf);
|
||||
free(realbuf);
|
||||
}
|
||||
}
|
||||
return es;
|
||||
}
|
||||
|
||||
char *realpath_doc[] = {
|
||||
"Display each PATHNAME argument, resolving symbolic links. The exit status",
|
||||
"is 0 if each PATHNAME was resolved; non-zero otherwise.",
|
||||
(char *)NULL
|
||||
};
|
||||
|
||||
struct builtin realpath_struct = {
|
||||
"realpath",
|
||||
realpath_builtin,
|
||||
BUILTIN_ENABLED,
|
||||
realpath_doc,
|
||||
"realpath pathname [pathname...]",
|
||||
0
|
||||
};
|
||||
558
src/shobj-conf
Executable file
558
src/shobj-conf
Executable file
@@ -0,0 +1,558 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# shobj-conf -- output a series of variable assignments to be substituted
|
||||
# into a Makefile by configure which specify system-dependent
|
||||
# information for creating shared objects that may be loaded
|
||||
# into bash with `enable -f'
|
||||
#
|
||||
# usage: shobj-conf [-C compiler] -c host_cpu -o host_os -v host_vendor
|
||||
#
|
||||
# Chet Ramey
|
||||
# chet@po.cwru.edu
|
||||
|
||||
# Copyright (C) 1996-2002 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
||||
|
||||
#
|
||||
# defaults
|
||||
#
|
||||
SHOBJ_STATUS=supported
|
||||
SHLIB_STATUS=supported
|
||||
|
||||
SHOBJ_CC=cc
|
||||
SHOBJ_CFLAGS=
|
||||
SHOBJ_LD=
|
||||
SHOBJ_LDFLAGS=
|
||||
SHOBJ_XLDFLAGS=
|
||||
SHOBJ_LIBS=
|
||||
|
||||
SHLIB_XLDFLAGS=
|
||||
SHLIB_LIBS=
|
||||
|
||||
SHLIB_DOT='.'
|
||||
SHLIB_LIBPREF='lib'
|
||||
SHLIB_LIBSUFF='so'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)'
|
||||
SHLIB_DLLVERSION='$(SHLIB_MAJOR)'
|
||||
|
||||
PROGNAME=`basename $0`
|
||||
USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-C) shift; SHOBJ_CC="$1"; shift ;;
|
||||
-c) shift; host_cpu="$1"; shift ;;
|
||||
-o) shift; host_os="$1"; shift ;;
|
||||
-v) shift; host_vendor="$1"; shift ;;
|
||||
*) echo "$USAGE" >&2 ; exit 2;;
|
||||
esac
|
||||
done
|
||||
|
||||
case "${host_os}-${SHOBJ_CC}" in
|
||||
sunos4*-*gcc*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD=/usr/bin/ld
|
||||
SHOBJ_LDFLAGS='-assert pure-text'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
;;
|
||||
|
||||
sunos4*)
|
||||
SHOBJ_CFLAGS=-pic
|
||||
SHOBJ_LD=/usr/bin/ld
|
||||
SHOBJ_LDFLAGS='-assert pure-text'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
;;
|
||||
|
||||
sunos5*-*gcc*|solaris2*-*gcc*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='${CC}'
|
||||
ld_used=`gcc -print-prog-name=ld`
|
||||
if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
|
||||
# This line works for the GNU ld
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
|
||||
else
|
||||
# This line works for the Solaris linker in /usr/ccs/bin/ld
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
|
||||
fi
|
||||
|
||||
# SHLIB_XLDFLAGS='-R $(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sunos5*|solaris2*)
|
||||
SHOBJ_CFLAGS='-K pic'
|
||||
SHOBJ_LD=/usr/ccs/bin/ld
|
||||
SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'
|
||||
|
||||
# SHLIB_XLDFLAGS='-R $(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
# All versions of Linux or the semi-mythical GNU Hurd.
|
||||
linux*-*|gnu*-*|k*bsd*-gnu-*)
|
||||
SHOBJ_CFLAGS=-fPIC
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
;;
|
||||
|
||||
freebsd2* | netbsd*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-x -Bshareable'
|
||||
|
||||
SHLIB_XLDFLAGS='-R$(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
;;
|
||||
|
||||
# FreeBSD-3.x ELF
|
||||
freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='${CC}'
|
||||
|
||||
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
else
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_XLDFLAGS='-R$(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
fi
|
||||
;;
|
||||
|
||||
# Darwin/MacOS X
|
||||
darwin1*)
|
||||
SHOBJ_STATUS=supported
|
||||
SHLIB_STATUS=supported
|
||||
|
||||
SHOBJ_CFLAGS=''
|
||||
SHLIB_LIBSUFF='dylib'
|
||||
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-dynamiclib'
|
||||
;;
|
||||
|
||||
darwin8*)
|
||||
SHOBJ_STATUS=supported
|
||||
SHLIB_STATUS=supported
|
||||
|
||||
SHOBJ_CFLAGS='-fno-common'
|
||||
|
||||
SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
|
||||
SHLIB_LIBSUFF='dylib'
|
||||
|
||||
SHOBJ_LDFLAGS='-undefined dynamic_lookup'
|
||||
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||
|
||||
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
|
||||
;;
|
||||
|
||||
darwin*|macosx*)
|
||||
SHOBJ_STATUS=unsupported
|
||||
SHLIB_STATUS=supported
|
||||
|
||||
SHOBJ_CFLAGS='-fno-common'
|
||||
|
||||
SHOBJ_LD='${CC}'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
|
||||
SHLIB_LIBSUFF='dylib'
|
||||
|
||||
case "${host_os}" in
|
||||
darwin[78]*) SHOBJ_LDFLAGS=''
|
||||
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||
;;
|
||||
*) SHOBJ_LDFLAGS='-dynamic'
|
||||
SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||
;;
|
||||
esac
|
||||
|
||||
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
|
||||
;;
|
||||
|
||||
openbsd*)
|
||||
SHOBJ_CFLAGS=-fPIC
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_XLDFLAGS='-R$(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
;;
|
||||
|
||||
bsdi2*)
|
||||
SHOBJ_CC=shlicc2
|
||||
SHOBJ_CFLAGS=
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS=-r
|
||||
SHOBJ_LIBS=-lc_s.2.1.0
|
||||
|
||||
# BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
|
||||
# the ass -- they require changing {/usr/lib,etc}/shlib.map on
|
||||
# each system, and the library creation process is byzantine
|
||||
SHLIB_STATUS=unsupported
|
||||
;;
|
||||
|
||||
bsdi3*)
|
||||
SHOBJ_CC=shlicc2
|
||||
SHOBJ_CFLAGS=
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS=-r
|
||||
SHOBJ_LIBS=-lc_s.3.0.0
|
||||
|
||||
# BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
|
||||
# the ass -- they require changing {/usr/lib,etc}/shlib.map on
|
||||
# each system, and the library creation process is byzantine
|
||||
SHLIB_STATUS=unsupported
|
||||
;;
|
||||
|
||||
bsdi4*)
|
||||
# BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
|
||||
# shared libraries. gcc 2.x is the standard compiler, and the
|
||||
# `normal' gcc options should work as they do in Linux.
|
||||
|
||||
SHOBJ_CFLAGS=-fPIC
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
;;
|
||||
|
||||
osf*-*gcc*)
|
||||
# Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
|
||||
SHLIB_XLDFLAGS='-rpath $(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
osf*)
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'
|
||||
|
||||
SHLIB_XLDFLAGS='-rpath $(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='ld'
|
||||
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
|
||||
SHOBJ_XLDFLAGS='-G'
|
||||
|
||||
SHLIB_XLDFLAGS='-bM:SRE'
|
||||
SHLIB_LIBS='-lcurses -lc'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
aix4.[2-9]*)
|
||||
SHOBJ_CFLAGS=-K
|
||||
SHOBJ_LD='ld'
|
||||
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
|
||||
SHOBJ_XLDFLAGS='-G'
|
||||
|
||||
SHLIB_XLDFLAGS='-bM:SRE'
|
||||
SHLIB_LIBS='-lcurses -lc'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
#
|
||||
# THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
|
||||
#
|
||||
irix[56]*-*gcc*)
|
||||
SHOBJ_CFLAGS='-fpic'
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
irix[56]*)
|
||||
SHOBJ_CFLAGS='-K PIC'
|
||||
SHOBJ_LD=ld
|
||||
# SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
|
||||
# Change from David Kaelbling <drk@sgi.com>. If you have problems,
|
||||
# remove the `-no_unresolved'
|
||||
SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'
|
||||
|
||||
SHLIB_XLDFLAGS='-rpath $(libdir)'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
hpux9*-*gcc*)
|
||||
# must use gcc; the bundled cc cannot compile PIC code
|
||||
SHOBJ_CFLAGS='-fpic'
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
|
||||
SHLIB_LIBSUFF='sl'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
hpux9*)
|
||||
SHOBJ_STATUS=unsupported
|
||||
SHLIB_STATUS=unsupported
|
||||
|
||||
# If you are using the HP ANSI C compiler, you can uncomment and use
|
||||
# this code (I have not tested it)
|
||||
# SHOBJ_STATUS=supported
|
||||
# SHLIB_STATUS=supported
|
||||
#
|
||||
# SHOBJ_CFLAGS='+z'
|
||||
# SHOBJ_LD='ld'
|
||||
# SHOBJ_LDFLAGS='-b +s'
|
||||
#
|
||||
# SHLIB_XLDFLAGS='+b $(libdir)'
|
||||
# SHLIB_LIBSUFF='sl'
|
||||
# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
|
||||
;;
|
||||
|
||||
hpux10*-*gcc*)
|
||||
# must use gcc; the bundled cc cannot compile PIC code
|
||||
SHOBJ_CFLAGS='-fpic'
|
||||
SHOBJ_LD='${CC}'
|
||||
# if you have problems linking here, moving the `-Wl,+h,$@' from
|
||||
# SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
|
||||
SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
|
||||
SHLIB_LIBSUFF='sl'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
hpux10*)
|
||||
SHOBJ_STATUS=unsupported
|
||||
SHLIB_STATUS=unsupported
|
||||
|
||||
# If you are using the HP ANSI C compiler, you can uncomment and use
|
||||
# this code (I have not tested it)
|
||||
# SHOBJ_STATUS=supported
|
||||
# SHLIB_STATUS=supported
|
||||
#
|
||||
# SHOBJ_CFLAGS='+z'
|
||||
# SHOBJ_LD='ld'
|
||||
# SHOBJ_LDFLAGS='-b +s +h $@'
|
||||
#
|
||||
# SHLIB_XLDFLAGS='+b $(libdir)'
|
||||
# SHLIB_LIBSUFF='sl'
|
||||
# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
|
||||
;;
|
||||
|
||||
hpux11*-*gcc*)
|
||||
# must use gcc; the bundled cc cannot compile PIC code
|
||||
SHOBJ_CFLAGS='-fpic'
|
||||
SHOBJ_LD='${CC}'
|
||||
# SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
|
||||
SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@'
|
||||
|
||||
SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
|
||||
SHLIB_LIBSUFF='sl'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
hpux11*)
|
||||
SHOBJ_STATUS=unsupported
|
||||
SHLIB_STATUS=unsupported
|
||||
|
||||
# If you are using the HP ANSI C compiler, you can uncomment and use
|
||||
# this code (I have not tested it)
|
||||
# SHOBJ_STATUS=supported
|
||||
# SHLIB_STATUS=supported
|
||||
#
|
||||
# SHOBJ_CFLAGS='+z'
|
||||
# SHOBJ_LD='ld'
|
||||
# SHOBJ_LDFLAGS='-b +s +h $@'
|
||||
#
|
||||
# SHLIB_XLDFLAGS='+b $(libdir)'
|
||||
# SHLIB_LIBSUFF='sl'
|
||||
# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
|
||||
;;
|
||||
|
||||
sysv4*-*gcc*)
|
||||
SHOBJ_CFLAGS=-shared
|
||||
SHOBJ_LDFLAGS='-shared -h $@'
|
||||
SHOBJ_LD='${CC}'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv4*)
|
||||
SHOBJ_CFLAGS='-K PIC'
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-dy -z text -G -h $@'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sco3.2v5*-*gcc*)
|
||||
SHOBJ_CFLAGS='-fpic' # DEFAULTS TO ELF
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sco3.2v5*)
|
||||
SHOBJ_CFLAGS='-K pic -b elf'
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv5uw7*-*gcc*)
|
||||
SHOBJ_CFLAGS='-fpic'
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv5uw7*)
|
||||
SHOBJ_CFLAGS='-K PIC'
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-G -dy -z text -h $@'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv5UnixWare*-*gcc*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv5UnixWare*)
|
||||
SHOBJ_CFLAGS='-K PIC'
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-G -dy -z text -h $@'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv5OpenUNIX*-*gcc*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
sysv5OpenUNIX*)
|
||||
SHOBJ_CFLAGS='-K PIC'
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-G -dy -z text -h $@'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
dgux*-*gcc*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
dgux*)
|
||||
SHOBJ_CFLAGS='-K pic'
|
||||
SHOBJ_LD=ld
|
||||
SHOBJ_LDFLAGS='-G -dy -h $@'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
msdos*)
|
||||
SHOBJ_STATUS=unsupported
|
||||
SHLIB_STATUS=unsupported
|
||||
;;
|
||||
|
||||
cygwin*)
|
||||
SHOBJ_LD='$(CC)'
|
||||
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
|
||||
SHLIB_LIBPREF='cyg'
|
||||
SHLIB_LIBSUFF='dll'
|
||||
SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
|
||||
SHLIB_LIBS='$(TERMCAP_LIB)'
|
||||
|
||||
SHLIB_DOT=
|
||||
# For official cygwin releases, DLLVERSION will be defined in the
|
||||
# environment of configure, and will be incremented any time the API
|
||||
# changes in a non-backwards compatible manner. Otherwise, it is just
|
||||
# SHLIB_MAJOR.
|
||||
if [ -n "$DLLVERSION" ] ; then
|
||||
SHLIB_DLLVERSION="$DLLVERSION"
|
||||
fi
|
||||
;;
|
||||
|
||||
#
|
||||
# Rely on correct gcc configuration for everything else
|
||||
#
|
||||
*-*gcc*)
|
||||
SHOBJ_CFLAGS=-fpic
|
||||
SHOBJ_LD='${CC}'
|
||||
SHOBJ_LDFLAGS='-shared'
|
||||
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||
;;
|
||||
|
||||
*)
|
||||
SHOBJ_STATUS=unsupported
|
||||
SHLIB_STATUS=unsupported
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
echo SHOBJ_CC=\'"$SHOBJ_CC"\'
|
||||
echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\'
|
||||
echo SHOBJ_LD=\'"$SHOBJ_LD"\'
|
||||
echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\'
|
||||
echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\'
|
||||
echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\'
|
||||
|
||||
echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\'
|
||||
echo SHLIB_LIBS=\'"$SHLIB_LIBS"\'
|
||||
|
||||
echo SHLIB_DOT=\'"$SHLIB_DOT"\'
|
||||
|
||||
echo SHLIB_LIBPREF=\'"$SHLIB_LIBPREF"\'
|
||||
echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\'
|
||||
|
||||
echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\'
|
||||
echo SHLIB_DLLVERSION=\'"$SHLIB_DLLVERSION"\'
|
||||
|
||||
echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\'
|
||||
echo SHLIB_STATUS=\'"$SHLIB_STATUS"\'
|
||||
|
||||
exit 0
|
||||
@@ -21,7 +21,7 @@ load test_helper
|
||||
root="$(cd $BATS_TEST_DIRNAME/.. && pwd)"
|
||||
run pyenv-init - bash
|
||||
assert_success
|
||||
assert_line "source '${root}/libexec/../completions/pyenv.bash'"
|
||||
assert_line "source '${root}/test/../libexec/../completions/pyenv.bash'"
|
||||
}
|
||||
|
||||
@test "detect parent shell" {
|
||||
@@ -35,7 +35,7 @@ load test_helper
|
||||
root="$(cd $BATS_TEST_DIRNAME/.. && pwd)"
|
||||
run pyenv-init - fish
|
||||
assert_success
|
||||
assert_line ". '${root}/libexec/../completions/pyenv.fish'"
|
||||
assert_line ". '${root}/test/../libexec/../completions/pyenv.fish'"
|
||||
}
|
||||
|
||||
@test "fish instructions" {
|
||||
@@ -64,11 +64,11 @@ load test_helper
|
||||
assert_line 0 "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||
}
|
||||
|
||||
@test "doesn't add shims to PATH more than once" {
|
||||
@test "can add shims to PATH more than once" {
|
||||
export PATH="${PYENV_ROOT}/shims:$PATH"
|
||||
run pyenv-init - bash
|
||||
assert_success
|
||||
refute_line 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||
assert_line 0 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||
}
|
||||
|
||||
@test "doesn't add shims to PATH more than once (fish)" {
|
||||
@@ -77,3 +77,20 @@ load test_helper
|
||||
assert_success
|
||||
refute_line 'setenv PATH "'${PYENV_ROOT}'/shims" $PATH ;'
|
||||
}
|
||||
|
||||
@test "outputs sh-compatible syntax" {
|
||||
run pyenv-init - bash
|
||||
assert_success
|
||||
assert_line ' case "$command" in'
|
||||
|
||||
run pyenv-init - zsh
|
||||
assert_success
|
||||
assert_line ' case "$command" in'
|
||||
}
|
||||
|
||||
@test "outputs fish-specific syntax (fish)" {
|
||||
run pyenv-init - fish
|
||||
assert_success
|
||||
assert_line ' switch "$command"'
|
||||
refute_line ' case "$command" in'
|
||||
}
|
||||
|
||||
@@ -1,2 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
eval "echo \$$1"
|
||||
# Usage: pyenv echo [-F<char>] VAR
|
||||
|
||||
if [[ $1 == -F* ]]; then
|
||||
sep="${1:2}"
|
||||
echo "${!2}" | tr "${sep:-:}" $'\n'
|
||||
else
|
||||
echo "${!1}"
|
||||
fi
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
grep -E "$@"
|
||||
@@ -5,7 +5,7 @@ load test_helper
|
||||
@test "blank invocation" {
|
||||
run pyenv
|
||||
assert_success
|
||||
assert [ "${lines[0]}" == "pyenv 20141118" ]
|
||||
assert [ "${lines[0]}" == "pyenv 20150404" ]
|
||||
}
|
||||
|
||||
@test "invalid command" {
|
||||
@@ -45,3 +45,31 @@ load test_helper
|
||||
assert_failure
|
||||
assert_output "pyenv: cannot change working directory to \`$dir'"
|
||||
}
|
||||
|
||||
@test "adds its own libexec to PATH" {
|
||||
run pyenv echo "PATH"
|
||||
assert_success "${BATS_TEST_DIRNAME%/*}/libexec:$PATH"
|
||||
}
|
||||
|
||||
@test "adds plugin bin dirs to PATH" {
|
||||
mkdir -p "$PYENV_ROOT"/plugins/python-build/bin
|
||||
mkdir -p "$PYENV_ROOT"/plugins/pyenv-each/bin
|
||||
run pyenv echo -F: "PATH"
|
||||
assert_success
|
||||
assert_line 0 "${BATS_TEST_DIRNAME%/*}/libexec"
|
||||
assert_line 1 "${PYENV_ROOT}/plugins/python-build/bin"
|
||||
assert_line 2 "${PYENV_ROOT}/plugins/pyenv-each/bin"
|
||||
}
|
||||
|
||||
@test "PYENV_HOOK_PATH preserves value from environment" {
|
||||
PYENV_HOOK_PATH=/my/hook/path:/other/hooks run pyenv echo -F: "PYENV_HOOK_PATH"
|
||||
assert_success
|
||||
assert_line 0 "/my/hook/path"
|
||||
assert_line 1 "/other/hooks"
|
||||
assert_line 2 "${PYENV_ROOT}/pyenv.d"
|
||||
}
|
||||
|
||||
@test "PYENV_HOOK_PATH includes pyenv built-in plugins" {
|
||||
run pyenv echo "PYENV_HOOK_PATH"
|
||||
assert_success ":${PYENV_ROOT}/pyenv.d:${BATS_TEST_DIRNAME%/*}/pyenv.d:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks"
|
||||
}
|
||||
|
||||
@@ -1,11 +1,3 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load test_helper
|
||||
|
||||
@test "conflicting GREP_OPTIONS" {
|
||||
file="${BATS_TMPDIR}/hello"
|
||||
echo "hello" > "$file"
|
||||
GREP_OPTIONS="-F" run pyenv grep "hell." "$file"
|
||||
assert_success
|
||||
assert_output "hello"
|
||||
}
|
||||
|
||||
9
test/run
Executable file
9
test/run
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||
src/configure
|
||||
make -C src
|
||||
fi
|
||||
|
||||
exec bats ${CI:+--tap} test
|
||||
@@ -1,7 +1,15 @@
|
||||
unset PYENV_VERSION
|
||||
unset PYENV_DIR
|
||||
|
||||
PYENV_TEST_DIR="${BATS_TMPDIR}/pyenv"
|
||||
if enable -f "${BATS_TEST_DIRNAME}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||
PYENV_TEST_DIR="$(realpath "$BATS_TMPDIR")/pyenv"
|
||||
else
|
||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||
exit 1
|
||||
fi
|
||||
PYENV_TEST_DIR="${BATS_TMPDIR}/pyenv"
|
||||
fi
|
||||
|
||||
# guard against executing this block twice due to bats internals
|
||||
if [ "$PYENV_ROOT" != "${PYENV_TEST_DIR}/root" ]; then
|
||||
|
||||
@@ -57,9 +57,5 @@ setup() {
|
||||
cat > ".python-version" <<<"python-2.7.6"
|
||||
run pyenv-version-name
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
warning: ignoring extraneous \`python-' prefix in version \`python-2.7.6'
|
||||
(set by ${PWD}/.python-version)
|
||||
2.7.6
|
||||
OUT
|
||||
assert_output "2.7.6"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user