mirror of
https://codeberg.org/guix/guix.git
synced 2026-04-28 06:34:05 +00:00
Compare commits
2687 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ec91959f2 | ||
|
|
defa1b9bee | ||
|
|
4d9a80ba75 | ||
|
|
f200b03e06 | ||
|
|
e1f88ff0ab | ||
|
|
57e544e8f7 | ||
|
|
cb3da2339a | ||
|
|
67ca0a01bb | ||
|
|
cd2e0b64f2 | ||
|
|
2e7b5cea8c | ||
|
|
1d6243cf70 | ||
|
|
c397e502ca | ||
|
|
c950141495 | ||
|
|
5d2933aecc | ||
|
|
a4b42825a1 | ||
|
|
8a9d928f57 | ||
|
|
ce0849cc25 | ||
|
|
32d5c72952 | ||
|
|
d013fe50ba | ||
|
|
717003e3ee | ||
|
|
c9fccced4e | ||
|
|
b0f981f06e | ||
|
|
8de3a57821 | ||
|
|
2068f65cc4 | ||
|
|
af4535c58c | ||
|
|
68ec0450d1 | ||
|
|
1d000ae73b | ||
|
|
6c1108330d | ||
|
|
14e72a181e | ||
|
|
72a0c95013 | ||
|
|
d2d8779b21 | ||
|
|
030daf7133 | ||
|
|
9e4eddb4fc | ||
|
|
a0b25016eb | ||
|
|
c0888b3fe4 | ||
|
|
574e86f9cf | ||
|
|
0ec6237b2e | ||
|
|
1660514094 | ||
|
|
eb8cc6458d | ||
|
|
9ec7b6abc4 | ||
|
|
1b282ea849 | ||
|
|
731b996255 | ||
|
|
512314d738 | ||
|
|
a28ef66e04 | ||
|
|
7458bd0a4a | ||
|
|
59f21ee34a | ||
|
|
87216303c1 | ||
|
|
6c4727410b | ||
|
|
de0c31412e | ||
|
|
34af3684d5 | ||
|
|
aaff68eed3 | ||
|
|
9c333da6f1 | ||
|
|
bde8c0e6d9 | ||
|
|
2a58b1b024 | ||
|
|
0da01f4040 | ||
|
|
f3b04737f7 | ||
|
|
c3ae3e7a57 | ||
|
|
6a0b30f36c | ||
|
|
ded1012f3c | ||
|
|
7864504feb | ||
|
|
06ea5c8f6f | ||
|
|
4743a4da9b | ||
|
|
4b00f3434e | ||
|
|
50322c847d | ||
|
|
ef0383eeca | ||
|
|
bb184d9884 | ||
|
|
6e407e44a2 | ||
|
|
31e7909b4f | ||
|
|
92b144d422 | ||
|
|
adbd7bd64f | ||
|
|
4f102a1d78 | ||
|
|
b93ab68a31 | ||
|
|
983815c8b9 | ||
|
|
1c0dbf9ef1 | ||
|
|
29c45e950b | ||
|
|
4a24c21434 | ||
|
|
1f1c0aff26 | ||
|
|
67880c8e2b | ||
|
|
a53a9aed93 | ||
|
|
1212999868 | ||
|
|
8ead71b4b0 | ||
|
|
d6a601816f | ||
|
|
835281829a | ||
|
|
fb9c3acc6c | ||
|
|
3b9af0f37b | ||
|
|
56fab253e3 | ||
|
|
223ed921f2 | ||
|
|
988cecfd4f | ||
|
|
7575778969 | ||
|
|
a2c03fb1af | ||
|
|
0ad2f2e6e9 | ||
|
|
27c68457d9 | ||
|
|
d2952326ae | ||
|
|
0d55c3563c | ||
|
|
c27d859707 | ||
|
|
b036491119 | ||
|
|
02c108bd1d | ||
|
|
bf6fcf5477 | ||
|
|
39831f1663 | ||
|
|
57832f2ce7 | ||
|
|
c6e9485924 | ||
|
|
a7e59c50d2 | ||
|
|
6050a1fb30 | ||
|
|
e4687a5e68 | ||
|
|
81deef270d | ||
|
|
8146fdb334 | ||
|
|
de28fefd77 | ||
|
|
ef27aa9c8c | ||
|
|
d4bf49b140 | ||
|
|
36b5851df6 | ||
|
|
c4202d60b2 | ||
|
|
bf59c06d36 | ||
|
|
f84f859093 | ||
|
|
e903b7c1a8 | ||
|
|
52f80dfc8a | ||
|
|
491e6de7d6 | ||
|
|
cdea30e061 | ||
|
|
00230df107 | ||
|
|
e9c6c58418 | ||
|
|
24194b6b54 | ||
|
|
3f5497ee10 | ||
|
|
18fae7b939 | ||
|
|
e4629ef43b | ||
|
|
c9e2b0b16e | ||
|
|
968e84a6cf | ||
|
|
ad0ab74eef | ||
|
|
15f682f4a3 | ||
|
|
b3acf3656e | ||
|
|
8bae41a4ce | ||
|
|
5da64c7d5d | ||
|
|
e9c14f37a8 | ||
|
|
4979ee04f0 | ||
|
|
07fb21b231 | ||
|
|
6c41cce0be | ||
|
|
c67ccedd9e | ||
|
|
236e66481d | ||
|
|
3dfd8af534 | ||
|
|
ee172b1a06 | ||
|
|
7216a04158 | ||
|
|
eafee15b3c | ||
|
|
1971737f2b | ||
|
|
afde8da3f2 | ||
|
|
b8c291fc88 | ||
|
|
212ece42b0 | ||
|
|
505b1aa88f | ||
|
|
9214f9bc0a | ||
|
|
9a9a3adf66 | ||
|
|
70318b4672 | ||
|
|
b10ab7230f | ||
|
|
d452b595f9 | ||
|
|
e795890212 | ||
|
|
707c8b2ca7 | ||
|
|
c6e9628078 | ||
|
|
8b7af63754 | ||
|
|
01ac19dca4 | ||
|
|
80dea563a3 | ||
|
|
2ed6aa9e39 | ||
|
|
6ef91c8fc0 | ||
|
|
1950bf56d0 | ||
|
|
9b0a2233db | ||
|
|
9dbe6e43ea | ||
|
|
ed1aff038a | ||
|
|
7a8024a33a | ||
|
|
443eb4e950 | ||
|
|
ca534666aa | ||
|
|
7569c5cb35 | ||
|
|
1eefbb2693 | ||
|
|
b1a01474ac | ||
|
|
6212b8e5d3 | ||
|
|
c9a010db8a | ||
|
|
f0cfe3c4d5 | ||
|
|
9a03b893cc | ||
|
|
89faa5c75c | ||
|
|
1fda6840a8 | ||
|
|
2f66e64c53 | ||
|
|
5f32ba88c4 | ||
|
|
12fa800d7e | ||
|
|
e2ca23c584 | ||
|
|
809e9b52bb | ||
|
|
f6b272fa18 | ||
|
|
0e4e89c28c | ||
|
|
f6d47eb6d5 | ||
|
|
d81195bffd | ||
|
|
19ee8c7dc5 | ||
|
|
4a06f0ef2b | ||
|
|
32a1eb8025 | ||
|
|
0f4139e97e | ||
|
|
afd1cff148 | ||
|
|
b1d5f5da84 | ||
|
|
d7a9ed37c3 | ||
|
|
e297d8fc56 | ||
|
|
dc19a986d4 | ||
|
|
7305f2f1e5 | ||
|
|
39b71fc89b | ||
|
|
bda1bc6c51 | ||
|
|
1cbfce1669 | ||
|
|
d0a850698a | ||
|
|
aa2480e50d | ||
|
|
32beec1cd9 | ||
|
|
0562dbe5d3 | ||
|
|
9b43a0ffa3 | ||
|
|
7c516af641 | ||
|
|
b148bd714e | ||
|
|
11e7a6cf46 | ||
|
|
1a8ea0a188 | ||
|
|
3c0e6e6080 | ||
|
|
cecd72d55a | ||
|
|
257b93412a | ||
|
|
9037ea2c12 | ||
|
|
68276f164f | ||
|
|
ed7485886e | ||
|
|
7f3673f21d | ||
|
|
d91a879121 | ||
|
|
bfb6b1c7b7 | ||
|
|
6f58d58243 | ||
|
|
8be3b8a39b | ||
|
|
e06f7865e2 | ||
|
|
c9c88118a1 | ||
|
|
58cbbe4b55 | ||
|
|
220193ad03 | ||
|
|
5ff3c4b820 | ||
|
|
8a1f6a7e02 | ||
|
|
714084e6c0 | ||
|
|
002622b65b | ||
|
|
6c20d1d0c3 | ||
|
|
02c86a5e36 | ||
|
|
f5768afa33 | ||
|
|
834129e0e2 | ||
|
|
59f704dff6 | ||
|
|
2a51db7d8d | ||
|
|
88da0b6888 | ||
|
|
0e6260a493 | ||
|
|
5cc569dc73 | ||
|
|
7df3ade112 | ||
|
|
d652b85137 | ||
|
|
4bf1eb4f88 | ||
|
|
178f5828eb | ||
|
|
c7445833eb | ||
|
|
e7f34eb0dc | ||
|
|
583103416d | ||
|
|
ff3c0c1b80 | ||
|
|
cafb92d853 | ||
|
|
4d01bd3c1c | ||
|
|
9ea3ef2655 | ||
|
|
f326fef8a8 | ||
|
|
827d556311 | ||
|
|
56c72822a8 | ||
|
|
8b3099cf03 | ||
|
|
7c706558f5 | ||
|
|
5249045cd4 | ||
|
|
ece2624616 | ||
|
|
9b521a678b | ||
|
|
8deeda0c35 | ||
|
|
70ee564299 | ||
|
|
ebb7aeff80 | ||
|
|
98b79d361c | ||
|
|
d56052bd80 | ||
|
|
fc1e45160e | ||
|
|
dc91c10f2b | ||
|
|
dd67b429e1 | ||
|
|
00ee3a712f | ||
|
|
706e9e575d | ||
|
|
1f7fd80032 | ||
|
|
aedbf9b873 | ||
|
|
165f4b2add | ||
|
|
36b56f081b | ||
|
|
62b76320b4 | ||
|
|
1faca892a3 | ||
|
|
664b031031 | ||
|
|
a3a1417dc7 | ||
|
|
3ca00bb51e | ||
|
|
a74da6b015 | ||
|
|
284c004613 | ||
|
|
829ecd002e | ||
|
|
65f7c35d02 | ||
|
|
833efa0d3e | ||
|
|
371e87d286 | ||
|
|
7dc68701da | ||
|
|
892d8a818b | ||
|
|
d79ffe0ece | ||
|
|
87e398bdc5 | ||
|
|
41109e60b7 | ||
|
|
6a6b8ffc97 | ||
|
|
8fade76f5d | ||
|
|
c4dc4466d6 | ||
|
|
3bb33e24bb | ||
|
|
b7db387be3 | ||
|
|
17919a5801 | ||
|
|
b2bfa32d25 | ||
|
|
2096ef47aa | ||
|
|
93cc13aabb | ||
|
|
9b5b5c1740 | ||
|
|
0dbd88db39 | ||
|
|
96c7448f37 | ||
|
|
36bbbbd150 | ||
|
|
3140f2df42 | ||
|
|
c1d52c71aa | ||
|
|
a93e91ff48 | ||
|
|
86d07a5514 | ||
|
|
504a83af42 | ||
|
|
8ec773a8b8 | ||
|
|
7563004301 | ||
|
|
396b3c8b55 | ||
|
|
c6d37be951 | ||
|
|
62d4575de2 | ||
|
|
681a6588b2 | ||
|
|
68640c3c09 | ||
|
|
6ee5a658f7 | ||
|
|
a438d540b1 | ||
|
|
9038298cbf | ||
|
|
0b14d1d7e3 | ||
|
|
8b198abecd | ||
|
|
db4fdc04cc | ||
|
|
7fe492e8d9 | ||
|
|
75475ff728 | ||
|
|
523e48969b | ||
|
|
c0e57fb876 | ||
|
|
2977b307ef | ||
|
|
67543125f3 | ||
|
|
7c869effd4 | ||
|
|
d93627e4a9 | ||
|
|
625bd40806 | ||
|
|
0841dcf7dd | ||
|
|
e7fc17b592 | ||
|
|
98e7fc9b02 | ||
|
|
d850e5b913 | ||
|
|
7ee3f1a208 | ||
|
|
436c95d9a7 | ||
|
|
72f210eafa | ||
|
|
aaab995948 | ||
|
|
445c5abad8 | ||
|
|
686e637ed2 | ||
|
|
0193c00432 | ||
|
|
7af52bd58c | ||
|
|
bdff90a16a | ||
|
|
d66b704b51 | ||
|
|
9e5ace9d1d | ||
|
|
b6b29c7737 | ||
|
|
1680df13a8 | ||
|
|
bbafef3ff1 | ||
|
|
05e8a0b005 | ||
|
|
99fbddf9a6 | ||
|
|
829b1b253e | ||
|
|
266b39fc26 | ||
|
|
93bfe3e27c | ||
|
|
99662b8dbf | ||
|
|
c2e6516721 | ||
|
|
7f31c71cb8 | ||
|
|
fc0a973d70 | ||
|
|
18095a4ae0 | ||
|
|
6ede17ca69 | ||
|
|
2de227af4b | ||
|
|
06d275f67f | ||
|
|
f3d4af173a | ||
|
|
26fc862a61 | ||
|
|
f9ec07a985 | ||
|
|
4cccb3617e | ||
|
|
350b9b9933 | ||
|
|
e30835e247 | ||
|
|
ea0e9ce2e6 | ||
|
|
7a03af707c | ||
|
|
4380a7b4b8 | ||
|
|
b93afd5b53 | ||
|
|
6e37066e76 | ||
|
|
c37b2b2aa5 | ||
|
|
924cd63116 | ||
|
|
3600420e3e | ||
|
|
cc0a128226 | ||
|
|
2c1dea853d | ||
|
|
c6ebb77cb7 | ||
|
|
8254b48066 | ||
|
|
c36b22281e | ||
|
|
7aec36830f | ||
|
|
16686a9022 | ||
|
|
1d07e9316a | ||
|
|
2a72eeeea1 | ||
|
|
99b030c705 | ||
|
|
7c9325a9ec | ||
|
|
45adbd624f | ||
|
|
67995f4bea | ||
|
|
9c08644340 | ||
|
|
682b6599d7 | ||
|
|
ba6f8e423e | ||
|
|
f6a9d0484c | ||
|
|
92cb2e2888 | ||
|
|
1c2215108b | ||
|
|
53bd729e8c | ||
|
|
c04c6ff64c | ||
|
|
e420308f29 | ||
|
|
fd3bfc44ff | ||
|
|
44ddf33ed5 | ||
|
|
70b33d81cf | ||
|
|
4919d68432 | ||
|
|
217b862f0e | ||
|
|
fc4bc4b6de | ||
|
|
83b9e6a185 | ||
|
|
882f034fa8 | ||
|
|
a7d46f12ac | ||
|
|
668c06acfc | ||
|
|
f914963e47 | ||
|
|
7b99ba4acd | ||
|
|
a85cb48643 | ||
|
|
610b5cd8a1 | ||
|
|
d425471182 | ||
|
|
735c6dd7fa | ||
|
|
413d5351aa | ||
|
|
b0dd47a8d0 | ||
|
|
49a8b80da6 | ||
|
|
65529e49ff | ||
|
|
f06afd4da2 | ||
|
|
a76611c435 | ||
|
|
35cebf0166 | ||
|
|
7c0dbe780a | ||
|
|
d43547f12d | ||
|
|
5d80dd0823 | ||
|
|
829c095dae | ||
|
|
73fed4f868 | ||
|
|
70d1ce9afc | ||
|
|
566146abba | ||
|
|
22f33e6112 | ||
|
|
1ca03c048b | ||
|
|
daaa00c82a | ||
|
|
fe9aeab9dd | ||
|
|
ecb1b610d2 | ||
|
|
6ce206cb92 | ||
|
|
5ae7b708bb | ||
|
|
200a97e64f | ||
|
|
1909431c5b | ||
|
|
b6cbb314d9 | ||
|
|
3c9aa5c12d | ||
|
|
4f3a10d59d | ||
|
|
513e1950fb | ||
|
|
28fb9101d9 | ||
|
|
9e55f04a4b | ||
|
|
4ec2e92ddb | ||
|
|
b5d4a81133 | ||
|
|
93e48d19c7 | ||
|
|
e816b34878 | ||
|
|
70f228cd86 | ||
|
|
a7f904fd63 | ||
|
|
49e6291a7a | ||
|
|
50add47748 | ||
|
|
cd4027fa47 | ||
|
|
ce4a482983 | ||
|
|
045111e10c | ||
|
|
d28684b5a5 | ||
|
|
2cd5c0380e | ||
|
|
6bfec3edf5 | ||
|
|
349fd3b11f | ||
|
|
5674a3fdb6 | ||
|
|
59f734f351 | ||
|
|
54ff0b7dd7 | ||
|
|
997ef1df51 | ||
|
|
32795fcffb | ||
|
|
ad7583f6f5 | ||
|
|
6596ac3987 | ||
|
|
463d6dac7d | ||
|
|
e67f555161 | ||
|
|
a869565b98 | ||
|
|
66ea671393 | ||
|
|
00585a5582 | ||
|
|
6dc99317fb | ||
|
|
d43eb499a6 | ||
|
|
b97c95eb3c | ||
|
|
8bb1699bd5 | ||
|
|
a8bcd6eb6f | ||
|
|
10b4d0f6ff | ||
|
|
c915b404b2 | ||
|
|
7e17f65d95 | ||
|
|
c5e0eb2884 | ||
|
|
9208d0c1a0 | ||
|
|
e7d6f7bfa0 | ||
|
|
fcaa7523d4 | ||
|
|
2a5e15c6e1 | ||
|
|
da923d11d2 | ||
|
|
f7ad76e06d | ||
|
|
16f68e4840 | ||
|
|
9927622f3f | ||
|
|
4eaad71db6 | ||
|
|
8f0fd238d4 | ||
|
|
9de46ffb1c | ||
|
|
4aeea896f8 | ||
|
|
c73d4c9276 | ||
|
|
3e424f2541 | ||
|
|
eb9a9feefd | ||
|
|
8fa3e6b338 | ||
|
|
6869e5c90c | ||
|
|
40d806afae | ||
|
|
d50f242d50 | ||
|
|
15756a7a12 | ||
|
|
1731596792 | ||
|
|
8e92b6b5b5 | ||
|
|
2a48cd9915 | ||
|
|
6c95f363d5 | ||
|
|
2f265602ff | ||
|
|
1d6816f98c | ||
|
|
80d0447c95 | ||
|
|
021a201f29 | ||
|
|
aa6b0d6bf0 | ||
|
|
8fd6487e1c | ||
|
|
87236aed77 | ||
|
|
b846126052 | ||
|
|
590e4154b6 | ||
|
|
425b0bfc2e | ||
|
|
1a43e4dc57 | ||
|
|
aebaeaee33 | ||
|
|
64cc58b249 | ||
|
|
cb58dd3479 | ||
|
|
48ad99db25 | ||
|
|
7c49bbe466 | ||
|
|
f5ac2352e9 | ||
|
|
bf0018cd87 | ||
|
|
40fed2d836 | ||
|
|
f82cc5fdbe | ||
|
|
554f26ece3 | ||
|
|
dedb5d947e | ||
|
|
36341854df | ||
|
|
c909dab269 | ||
|
|
6fc04984d2 | ||
|
|
200726ed09 | ||
|
|
4d1a2b50a6 | ||
|
|
4b155fea74 | ||
|
|
57ed6ab792 | ||
|
|
bb0a70e1f1 | ||
|
|
490c6528ed | ||
|
|
ed19903d56 | ||
|
|
96e5085c81 | ||
|
|
8b420f74e4 | ||
|
|
3f40cfdece | ||
|
|
04d4c8a439 | ||
|
|
9501d7745e | ||
|
|
363ae1da82 | ||
|
|
a2cbbb743d | ||
|
|
6df1fb8991 | ||
|
|
b0a33ac157 | ||
|
|
557813760d | ||
|
|
ee2b510929 | ||
|
|
81bb10ad17 | ||
|
|
f6727409c2 | ||
|
|
d0c2cf7d54 | ||
|
|
579b249683 | ||
|
|
d3f1333693 | ||
|
|
d6b5e4bbbd | ||
|
|
760c60d684 | ||
|
|
7edccf4d62 | ||
|
|
81fa80b245 | ||
|
|
3f26bfc18a | ||
|
|
0820098d1c | ||
|
|
0a66781eee | ||
|
|
526382ff92 | ||
|
|
ce507041f7 | ||
|
|
971cb56dd0 | ||
|
|
3476ded934 | ||
|
|
b1aa25be00 | ||
|
|
0c5028faea | ||
|
|
37dd969c2e | ||
|
|
7eb71d7a3d | ||
|
|
217a67c020 | ||
|
|
e148203588 | ||
|
|
a53421fdda | ||
|
|
d44da8b092 | ||
|
|
678110b949 | ||
|
|
db6190899e | ||
|
|
f22e0e264e | ||
|
|
f733c4c838 | ||
|
|
ec9a25612e | ||
|
|
375c6297c6 | ||
|
|
3dbeecd2ff | ||
|
|
9cc98f8aa6 | ||
|
|
2748062080 | ||
|
|
7a8605ceb5 | ||
|
|
af949e8ee7 | ||
|
|
503c5f6d5d | ||
|
|
3e778ad3af | ||
|
|
2ed5b0f42c | ||
|
|
c4c4cc0597 | ||
|
|
e766f699be | ||
|
|
94e450812b | ||
|
|
9b937137fb | ||
|
|
d694a44cef | ||
|
|
f198ffd097 | ||
|
|
6447738c01 | ||
|
|
5839958a8f | ||
|
|
c94d01bab2 | ||
|
|
52a79f1e73 | ||
|
|
ca6c4fa190 | ||
|
|
0c2e1dd45d | ||
|
|
98a046cd25 | ||
|
|
e93c24df09 | ||
|
|
1ae6df81db | ||
|
|
2e5728318b | ||
|
|
9ed1ba8ae2 | ||
|
|
31f9322e6f | ||
|
|
a31f4d3557 | ||
|
|
b29f947d22 | ||
|
|
8a43ff101e | ||
|
|
e71998cd93 | ||
|
|
5d6dbd299e | ||
|
|
d862bf0fe9 | ||
|
|
68ad877c6b | ||
|
|
9afb63bb7f | ||
|
|
22dd04383d | ||
|
|
5c0f184536 | ||
|
|
c61a5b4a6d | ||
|
|
0b7e8e9d49 | ||
|
|
4a8c5617f9 | ||
|
|
a043ac04d9 | ||
|
|
3141a8bdb3 | ||
|
|
dfb74e50b7 | ||
|
|
e67253dbe2 | ||
|
|
4af2447e37 | ||
|
|
4f62d8d6c7 | ||
|
|
78ed003811 | ||
|
|
13ce0e3aa7 | ||
|
|
033adfe7e0 | ||
|
|
593c3fe600 | ||
|
|
f7faff88b7 | ||
|
|
7b81406a4f | ||
|
|
f852114ed6 | ||
|
|
d42daec07b | ||
|
|
846972ebe5 | ||
|
|
3adf588805 | ||
|
|
d0bb5f77e9 | ||
|
|
6e8cf5c9e0 | ||
|
|
800de8da3b | ||
|
|
daee66fc2e | ||
|
|
ad871fc600 | ||
|
|
374a9a8520 | ||
|
|
09a8778f73 | ||
|
|
56aa03b0c2 | ||
|
|
15974e6358 | ||
|
|
9200c11009 | ||
|
|
97ac64284d | ||
|
|
201180e481 | ||
|
|
9b0ac80258 | ||
|
|
677078b48f | ||
|
|
a3eb919fb4 | ||
|
|
e7444ee273 | ||
|
|
77874f970e | ||
|
|
3f41e6b310 | ||
|
|
b3d18aff2f | ||
|
|
91318a9e19 | ||
|
|
e426106bd1 | ||
|
|
24b3c0533d | ||
|
|
fea5ebb106 | ||
|
|
ae2aa18dba | ||
|
|
8ec0d3fbcf | ||
|
|
c9ea41ffd2 | ||
|
|
7339fbe279 | ||
|
|
f7d6fafaa2 | ||
|
|
f0387dd167 | ||
|
|
18fb40e414 | ||
|
|
25ed6edb6c | ||
|
|
a348b09ea9 | ||
|
|
0b8a376b68 | ||
|
|
dc47b181da | ||
|
|
a2e520afbf | ||
|
|
1385ba4fd1 | ||
|
|
703d18e252 | ||
|
|
5642cecdde | ||
|
|
2c4e4d2597 | ||
|
|
c01f767843 | ||
|
|
14f550c31c | ||
|
|
76dcc993f7 | ||
|
|
de1355f186 | ||
|
|
e7de5ac0d5 | ||
|
|
49d294e5c8 | ||
|
|
f4badde3fa | ||
|
|
dd1a5a152c | ||
|
|
7b63fa8d15 | ||
|
|
279fef2e45 | ||
|
|
e060ec3eb0 | ||
|
|
b0a552e30b | ||
|
|
595801e2f4 | ||
|
|
deed349b4a | ||
|
|
799dcdc48f | ||
|
|
4095b41308 | ||
|
|
136b008fe7 | ||
|
|
97aed46fa3 | ||
|
|
addfc3fc02 | ||
|
|
889a87f08c | ||
|
|
7af8a9b7ba | ||
|
|
901eee2c4c | ||
|
|
4d5f0bae3e | ||
|
|
f5a345adeb | ||
|
|
2941448ea8 | ||
|
|
0af626ff0f | ||
|
|
e6a5ce8e67 | ||
|
|
95d439b24c | ||
|
|
79c311b81c | ||
|
|
e6a9aa366e | ||
|
|
1681cd4a24 | ||
|
|
977f03ffd3 | ||
|
|
b4f0bb1771 | ||
|
|
b455a11868 | ||
|
|
c1897890ea | ||
|
|
d02196a7b3 | ||
|
|
079fd3ec63 | ||
|
|
df8a09c708 | ||
|
|
de6792699e | ||
|
|
0edfdb8924 | ||
|
|
a8300ef9fd | ||
|
|
07cec9a5b9 | ||
|
|
c079848873 | ||
|
|
4aa0891cd2 | ||
|
|
5fd7f3e015 | ||
|
|
2e1f5bcac1 | ||
|
|
aad560a56f | ||
|
|
840f71cdfc | ||
|
|
0ed873f3f6 | ||
|
|
b874f305e5 | ||
|
|
53c85e97dc | ||
|
|
c320011da5 | ||
|
|
cd143df018 | ||
|
|
2e838890ff | ||
|
|
4942d42a94 | ||
|
|
558a5122fa | ||
|
|
ff1cbb9538 | ||
|
|
248c06454e | ||
|
|
0ece707470 | ||
|
|
5cf3bcd4fb | ||
|
|
023fef7d94 | ||
|
|
3cc2067523 | ||
|
|
d321bf4c27 | ||
|
|
a2b154d7cb | ||
|
|
edae5b3d50 | ||
|
|
1dba64079c | ||
|
|
e3aaefe71b | ||
|
|
5dfd5b82c2 | ||
|
|
953ab5030f | ||
|
|
8bf8d7c78f | ||
|
|
8d9865df14 | ||
|
|
4cec7feeee | ||
|
|
c3af0bf243 | ||
|
|
1635658d69 | ||
|
|
6f0856ba80 | ||
|
|
740c24dffc | ||
|
|
5ab48b08f0 | ||
|
|
257f56017e | ||
|
|
30e457501d | ||
|
|
d03bb6532c | ||
|
|
a2543006f8 | ||
|
|
0b8749b7bd | ||
|
|
ac5de156ae | ||
|
|
e900c5031f | ||
|
|
f392980041 | ||
|
|
c42a4b76c4 | ||
|
|
a7bf595fff | ||
|
|
0129c94832 | ||
|
|
65d3b7c31d | ||
|
|
9ca8b5ac55 | ||
|
|
13990c7343 | ||
|
|
127ed6a9dd | ||
|
|
8db351e338 | ||
|
|
c6061db21e | ||
|
|
0621349858 | ||
|
|
c509bf8c87 | ||
|
|
a716e36de9 | ||
|
|
f80594cc41 | ||
|
|
9336e5b5e7 | ||
|
|
e387ab7c10 | ||
|
|
56b943de6e | ||
|
|
be0f611208 | ||
|
|
f3463cafce | ||
|
|
bf4211523b | ||
|
|
eddd4077a5 | ||
|
|
08184ebf16 | ||
|
|
206a52089a | ||
|
|
a6c116c703 | ||
|
|
d277bdeab9 | ||
|
|
9ed08d1fd4 | ||
|
|
50dc48922c | ||
|
|
7db9608d52 | ||
|
|
6a9957545c | ||
|
|
f9cc897105 | ||
|
|
18f2887bff | ||
|
|
b5385b528c | ||
|
|
da95c8170a | ||
|
|
35ef363300 | ||
|
|
01e82af55f | ||
|
|
bde2d9cf8d | ||
|
|
7a78cc7af2 | ||
|
|
2ebab8e909 | ||
|
|
f57ff219ad | ||
|
|
c5916538fd | ||
|
|
fdbd19ea6b | ||
|
|
dd863f1f39 | ||
|
|
46acd05401 | ||
|
|
bcd94e192a | ||
|
|
1475a351f6 | ||
|
|
b20441f228 | ||
|
|
1602fcea18 | ||
|
|
bf2cc1e5d1 | ||
|
|
2c1ceeacdf | ||
|
|
b8c3527828 | ||
|
|
64a967cc9c | ||
|
|
69f777d14c | ||
|
|
c9323eac74 | ||
|
|
a18e58336c | ||
|
|
55a5674f21 | ||
|
|
08928e5752 | ||
|
|
13ed095c50 | ||
|
|
45b418d634 | ||
|
|
1b5ba6b1e9 | ||
|
|
a20787706c | ||
|
|
537630c5a7 | ||
|
|
2876b98925 | ||
|
|
cc4ecc2d88 | ||
|
|
fdd6c72683 | ||
|
|
798e4f42b3 | ||
|
|
1670c70a03 | ||
|
|
39efcc9b3a | ||
|
|
9ae7cee342 | ||
|
|
67f6491bce | ||
|
|
ff8061b591 | ||
|
|
b645425f71 | ||
|
|
cdbca518ca | ||
|
|
215b643150 | ||
|
|
dce1722739 | ||
|
|
4e9b38ebf7 | ||
|
|
cedf081abb | ||
|
|
477d30d0d8 | ||
|
|
1fcc3ba309 | ||
|
|
c065c443a0 | ||
|
|
d0dc4907d6 | ||
|
|
d595e456c1 | ||
|
|
f067fc3e77 | ||
|
|
edac884624 | ||
|
|
f506ed920c | ||
|
|
94f48f98f0 | ||
|
|
d46d8794a1 | ||
|
|
2a8417ac44 | ||
|
|
cb558fcd9c | ||
|
|
72e25e35a5 | ||
|
|
011b18c332 | ||
|
|
7587041028 | ||
|
|
3220c2f41e | ||
|
|
fdf3cb4cc0 | ||
|
|
5f6265298e | ||
|
|
c3c516ea00 | ||
|
|
fa58ca4376 | ||
|
|
b357faace7 | ||
|
|
13fbda90d9 | ||
|
|
e50805251a | ||
|
|
89059aa193 | ||
|
|
b92eee75b1 | ||
|
|
d038cac12a | ||
|
|
02c72d1671 | ||
|
|
a433c52593 | ||
|
|
93a3d8f609 | ||
|
|
96e424672a | ||
|
|
9167f8e6f9 | ||
|
|
515e68782f | ||
|
|
7df7a74e23 | ||
|
|
ed41d48ef1 | ||
|
|
63760b5bab | ||
|
|
f1352766fa | ||
|
|
8f557fc8b7 | ||
|
|
418e82b507 | ||
|
|
eeb70957e8 | ||
|
|
d911258976 | ||
|
|
dfb52abbd6 | ||
|
|
59fbeb8cae | ||
|
|
70a9c72028 | ||
|
|
b2ba65c897 | ||
|
|
3c1d9799b8 | ||
|
|
15e82fb2c0 | ||
|
|
749b90a519 | ||
|
|
c1354b90e9 | ||
|
|
8db824ba31 | ||
|
|
cc20a22a09 | ||
|
|
178f77b2d2 | ||
|
|
973d9f1d1c | ||
|
|
e78fd4ca63 | ||
|
|
6eac909b45 | ||
|
|
487da56570 | ||
|
|
a58a7c926b | ||
|
|
52af657aee | ||
|
|
ab5d72ad2b | ||
|
|
8ab00475fb | ||
|
|
b646c3dd37 | ||
|
|
b421cebd6a | ||
|
|
0ad7da1e90 | ||
|
|
d8907ac43f | ||
|
|
39e9f95d05 | ||
|
|
f854a8c133 | ||
|
|
1e9ed0e3dc | ||
|
|
5151c2e1f4 | ||
|
|
1a75f8d939 | ||
|
|
f349fa02de | ||
|
|
9fb0bc1572 | ||
|
|
7e2b10a53f | ||
|
|
de80b5045b | ||
|
|
5fbeb4e6e1 | ||
|
|
1d9bc45925 | ||
|
|
cdecf77501 | ||
|
|
fb6c2fa82e | ||
|
|
b49632e793 | ||
|
|
66fb2d23a3 | ||
|
|
ef0cf53e3f | ||
|
|
1ea44d1128 | ||
|
|
39fa8f6c73 | ||
|
|
c5cc50061f | ||
|
|
d4f1ce4da0 | ||
|
|
4e45e35266 | ||
|
|
a22dc0c49a | ||
|
|
668d48a684 | ||
|
|
129f9e1173 | ||
|
|
470d08ffcc | ||
|
|
01eafd38fb | ||
|
|
ac10e0e17e | ||
|
|
b332e3664e | ||
|
|
6666350320 | ||
|
|
dd8abc295f | ||
|
|
5d388c7c3f | ||
|
|
17b293a09c | ||
|
|
ae0c12023d | ||
|
|
74067e1aeb | ||
|
|
9a6a9dae6f | ||
|
|
524e1df65d | ||
|
|
09d5c1661c | ||
|
|
a2270ce260 | ||
|
|
43824910f2 | ||
|
|
a5a7d374a1 | ||
|
|
6ac6a6b99e | ||
|
|
daca86660f | ||
|
|
5ccca0044e | ||
|
|
cfc8261c72 | ||
|
|
09767fb5d3 | ||
|
|
c762e82e5d | ||
|
|
e0029b745a | ||
|
|
de73a8781e | ||
|
|
37bfb4488d | ||
|
|
37e6cdcdd7 | ||
|
|
bd677c2dba | ||
|
|
1fd96c6a94 | ||
|
|
f5bf403c72 | ||
|
|
dfba405510 | ||
|
|
458b2a7658 | ||
|
|
6ff104d537 | ||
|
|
94c4a58a0a | ||
|
|
aeb7ec5c9a | ||
|
|
d9f0a23704 | ||
|
|
b860f38244 | ||
|
|
c8957c77d6 | ||
|
|
85f5dc1952 | ||
|
|
bef4dd92e4 | ||
|
|
7d3f36518d | ||
|
|
27477d2de0 | ||
|
|
535dc6cf95 | ||
|
|
22e32e6938 | ||
|
|
1369442be9 | ||
|
|
f922fc4280 | ||
|
|
9000d5567c | ||
|
|
90ed6291df | ||
|
|
bad312e37d | ||
|
|
d9c1a22b12 | ||
|
|
afc75310d7 | ||
|
|
0e11254000 | ||
|
|
8b0275b644 | ||
|
|
1c8362a89e | ||
|
|
8b79a5472d | ||
|
|
fca300c8ea | ||
|
|
5fda4784f8 | ||
|
|
3b8e434794 | ||
|
|
f3fb92e555 | ||
|
|
a459697e0e | ||
|
|
d274f499a3 | ||
|
|
9ceb630c58 | ||
|
|
ecfb69938a | ||
|
|
0a5a1db2d4 | ||
|
|
29a2ccd384 | ||
|
|
ab4fab1938 | ||
|
|
ed5f49ff0c | ||
|
|
8b2fe7853d | ||
|
|
832e64bdda | ||
|
|
7dac2f2e3e | ||
|
|
2aa76ee14a | ||
|
|
9546640ecc | ||
|
|
02d8d9c887 | ||
|
|
8e70e6d276 | ||
|
|
e0d2d05284 | ||
|
|
34d02e6d11 | ||
|
|
8c9a63f1ad | ||
|
|
dc26f0c9ce | ||
|
|
55f0336630 | ||
|
|
d6f10ca3fe | ||
|
|
b16b7a0666 | ||
|
|
09d80ed583 | ||
|
|
07ef14afc9 | ||
|
|
f887601ac8 | ||
|
|
867e3c5553 | ||
|
|
81bb9b6665 | ||
|
|
9f84f12fde | ||
|
|
ba7ea5ce33 | ||
|
|
bb5f01c55d | ||
|
|
5c413a9cbc | ||
|
|
6bf3e5f72d | ||
|
|
f312d5430e | ||
|
|
2442257f2d | ||
|
|
1bb9900a2a | ||
|
|
d7ddb257c9 | ||
|
|
03f4ef28b1 | ||
|
|
5b16ff0985 | ||
|
|
87eb734d38 | ||
|
|
17886b3022 | ||
|
|
fbd1c3e95b | ||
|
|
d0c66871b1 | ||
|
|
3abf9b440b | ||
|
|
dadee6cd6e | ||
|
|
8bc755c08c | ||
|
|
16a0e9dc34 | ||
|
|
bacadb026c | ||
|
|
c773aba870 | ||
|
|
03761a4465 | ||
|
|
59c5c4dee1 | ||
|
|
85e0dc6a6b | ||
|
|
d08213980c | ||
|
|
b2f0005aad | ||
|
|
c1cab15a54 | ||
|
|
b7884ca3ca | ||
|
|
64d2e973fb | ||
|
|
4658b2c47b | ||
|
|
c9cb0825c9 | ||
|
|
36c0d43000 | ||
|
|
de9c504697 | ||
|
|
7facbf2b58 | ||
|
|
834b5c8076 | ||
|
|
349746dfcd | ||
|
|
de8bcdaeb5 | ||
|
|
f83e943fe7 | ||
|
|
27cab84c6d | ||
|
|
ba47851fac | ||
|
|
43a2779876 | ||
|
|
d09cb44967 | ||
|
|
d5d0f286a2 | ||
|
|
25eb16bf3b | ||
|
|
65d195e140 | ||
|
|
0b86a82dc7 | ||
|
|
37c58656eb | ||
|
|
8f37bf6200 | ||
|
|
9ac9360d6e | ||
|
|
aad5af9f40 | ||
|
|
4b2bc804d8 | ||
|
|
0ab212b946 | ||
|
|
98fbd7ceeb | ||
|
|
24f3e788d0 | ||
|
|
f1be806183 | ||
|
|
78c7e3449f | ||
|
|
b972db7275 | ||
|
|
1fa49a2c46 | ||
|
|
f1dfb7c47c | ||
|
|
9fcc355529 | ||
|
|
30f25b033c | ||
|
|
2d195e6775 | ||
|
|
923206f79b | ||
|
|
9d3c4daed3 | ||
|
|
2365338b18 | ||
|
|
caf96debc2 | ||
|
|
a4141d6d53 | ||
|
|
4fd6bf5337 | ||
|
|
5608847c6f | ||
|
|
f59e9eaac8 | ||
|
|
48e488eb2c | ||
|
|
f566d765a1 | ||
|
|
bd9bde1cba | ||
|
|
a7a4e6a4f7 | ||
|
|
996ed6acd5 | ||
|
|
13f04f48d0 | ||
|
|
d983a14f81 | ||
|
|
1fdd3ee2a6 | ||
|
|
995b726131 | ||
|
|
477c91ce73 | ||
|
|
144f9f251d | ||
|
|
22885fb845 | ||
|
|
93be8dc4c9 | ||
|
|
421a80a2b2 | ||
|
|
99882c613c | ||
|
|
4d497632ce | ||
|
|
35aee909f7 | ||
|
|
3b627eac48 | ||
|
|
0352532e6a | ||
|
|
ed0cdf837d | ||
|
|
4646e30a7a | ||
|
|
f15164e791 | ||
|
|
2cd09108c9 | ||
|
|
0c456db45b | ||
|
|
72d9148fbf | ||
|
|
1210c32ecc | ||
|
|
97d010b7f8 | ||
|
|
3301f17970 | ||
|
|
37c0ce3d27 | ||
|
|
59688fc4b5 | ||
|
|
81b66f8567 | ||
|
|
07c86312ca | ||
|
|
6a446d5680 | ||
|
|
803704418c | ||
|
|
692b93408f | ||
|
|
66018f1c33 | ||
|
|
aae4ead814 | ||
|
|
29479de565 | ||
|
|
0cb9b45674 | ||
|
|
2875caf5b5 | ||
|
|
1b0a8212d1 | ||
|
|
1d08c01fcf | ||
|
|
7763c538ad | ||
|
|
ea16738085 | ||
|
|
8eaa8a3bf0 | ||
|
|
e1804763d0 | ||
|
|
0ded70f37d | ||
|
|
aedb72fbe0 | ||
|
|
fc50e9c694 | ||
|
|
824af8cadc | ||
|
|
a843fe2222 | ||
|
|
3b07625ad6 | ||
|
|
37c825eb79 | ||
|
|
e0ba5fe5ab | ||
|
|
c84d0eca05 | ||
|
|
cfbf916045 | ||
|
|
73adf22037 | ||
|
|
e1a264f6fa | ||
|
|
590a4904d2 | ||
|
|
1d1f939798 | ||
|
|
d34c0ac6e9 | ||
|
|
98aeb06b41 | ||
|
|
8ab73e91d6 | ||
|
|
11bb85a10d | ||
|
|
8ce3104e0e | ||
|
|
6bf25b7b05 | ||
|
|
3409bc0188 | ||
|
|
e7b385008c | ||
|
|
0e2ddecd8e | ||
|
|
2df74ac117 | ||
|
|
a129e0d877 | ||
|
|
20a26ff546 | ||
|
|
785859d306 | ||
|
|
002e5ba887 | ||
|
|
b191f88ee3 | ||
|
|
49b90a7539 | ||
|
|
8498b8cfac | ||
|
|
7b96bf82da | ||
|
|
d1f30e9943 | ||
|
|
1b89a66e1b | ||
|
|
29804e6eb2 | ||
|
|
7c1d8146a7 | ||
|
|
89114f39e4 | ||
|
|
aa9e22efa3 | ||
|
|
66ed0c3146 | ||
|
|
78fed0648f | ||
|
|
9bee5d6c18 | ||
|
|
98e4829c4b | ||
|
|
f82cfaac71 | ||
|
|
91da9ab009 | ||
|
|
1611eccd10 | ||
|
|
3df47231e6 | ||
|
|
e911470857 | ||
|
|
6c76c45145 | ||
|
|
0280ef2203 | ||
|
|
ee3e314bb7 | ||
|
|
7eed1d0438 | ||
|
|
898238b9f5 | ||
|
|
bda44eed93 | ||
|
|
8badfc5558 | ||
|
|
0a2873e515 | ||
|
|
00554b2a0f | ||
|
|
43dd92024a | ||
|
|
165fd9d5e6 | ||
|
|
b24d1cfc85 | ||
|
|
fbc1a58f40 | ||
|
|
340c7033a8 | ||
|
|
1e151896d4 | ||
|
|
bf8e7fc502 | ||
|
|
d91712ee89 | ||
|
|
d9ff410fb2 | ||
|
|
c3f3e150c4 | ||
|
|
abac80c0fd | ||
|
|
77c7f8f41b | ||
|
|
93d44bd8de | ||
|
|
4c0f0673b2 | ||
|
|
ca85d7bcc6 | ||
|
|
b48d21b246 | ||
|
|
89bf140b10 | ||
|
|
1aebc0cb2c | ||
|
|
f26a77ffbc | ||
|
|
91dcbafab9 | ||
|
|
37f9ff639e | ||
|
|
24b5c463f3 | ||
|
|
d9c4b6e944 | ||
|
|
71e0f28856 | ||
|
|
c8c871d184 | ||
|
|
1a2e649561 | ||
|
|
e1c5a8357a | ||
|
|
67b1dd8dea | ||
|
|
a827c623ca | ||
|
|
ffc1074f86 | ||
|
|
46cb9da285 | ||
|
|
29f66ddd7b | ||
|
|
54461ce7eb | ||
|
|
cb9e50f618 | ||
|
|
a9424c0887 | ||
|
|
88bd1804a2 | ||
|
|
88840f0246 | ||
|
|
e47185a4a7 | ||
|
|
f989fa392f | ||
|
|
f02b5474f1 | ||
|
|
ee85f3dbe9 | ||
|
|
da7cabd46b | ||
|
|
575ed8d5b3 | ||
|
|
3d1b29a5c5 | ||
|
|
2455085a1e | ||
|
|
858e92823f | ||
|
|
af807dea7f | ||
|
|
2d2ad98910 | ||
|
|
9c629a27a4 | ||
|
|
5b0c9d1635 | ||
|
|
a987d2c025 | ||
|
|
3e9066fcfc | ||
|
|
5d9cd70721 | ||
|
|
ef4eca529b | ||
|
|
d29aa3b5a3 | ||
|
|
ef0677faa1 | ||
|
|
6ad507ae54 | ||
|
|
9eed6f9b88 | ||
|
|
f29f066439 | ||
|
|
59e6ae6cf1 | ||
|
|
bbe8d8f028 | ||
|
|
fe12c3458c | ||
|
|
7357138bba | ||
|
|
b095792f9b | ||
|
|
c9dfa3c721 | ||
|
|
88065ec247 | ||
|
|
8f8b24512a | ||
|
|
eb4b2ab6a8 | ||
|
|
212525967e | ||
|
|
e78a0ae514 | ||
|
|
39b0484582 | ||
|
|
853726dd36 | ||
|
|
7db3ff4a29 | ||
|
|
baed8816fc | ||
|
|
290d437097 | ||
|
|
b6952cad8d | ||
|
|
3f69e393d3 | ||
|
|
911b1b9cb6 | ||
|
|
75ca2f4f47 | ||
|
|
3e8f16ba91 | ||
|
|
682cb00461 | ||
|
|
db90b40dfd | ||
|
|
6facbc7590 | ||
|
|
bbc08c7940 | ||
|
|
86f1537d3f | ||
|
|
124b7f1e0f | ||
|
|
45f0ae8229 | ||
|
|
5aa601a37b | ||
|
|
7dca30734e | ||
|
|
e858326a0f | ||
|
|
ba95e7028f | ||
|
|
f99f6fd6fa | ||
|
|
482f8a07e3 | ||
|
|
b866e4b379 | ||
|
|
251fbfddb7 | ||
|
|
0e5b0f78f6 | ||
|
|
9a9e72d5ad | ||
|
|
c134056a9b | ||
|
|
10d3ab1073 | ||
|
|
50731c51a4 | ||
|
|
e928da09c9 | ||
|
|
3b4f21bd1b | ||
|
|
e12b3eb93e | ||
|
|
1b50671ee1 | ||
|
|
2ad6bfaba8 | ||
|
|
0938cd2731 | ||
|
|
8bdf5241dc | ||
|
|
1af63b797c | ||
|
|
25352fe106 | ||
|
|
6bfc16d93c | ||
|
|
2ae92cbcc1 | ||
|
|
fd89b36b5b | ||
|
|
755693a42d | ||
|
|
9c2ecede41 | ||
|
|
2e77dc3027 | ||
|
|
9c68798d98 | ||
|
|
5a15ed5098 | ||
|
|
7abe196529 | ||
|
|
0ceea4f3ed | ||
|
|
0327ced235 | ||
|
|
2b24faa295 | ||
|
|
75c6fd43ed | ||
|
|
7c80a8b618 | ||
|
|
0f323dad0e | ||
|
|
3dfd7cef0d | ||
|
|
044498a0b9 | ||
|
|
8b2d9e5d44 | ||
|
|
3253830d46 | ||
|
|
6023cc7429 | ||
|
|
1855577207 | ||
|
|
b81e194706 | ||
|
|
c71493c8b9 | ||
|
|
1959fb04dc | ||
|
|
4a328f7342 | ||
|
|
88ebd5e699 | ||
|
|
5939006b9b | ||
|
|
63f6004b95 | ||
|
|
e23dc82c29 | ||
|
|
73d9f3c5b6 | ||
|
|
c5a1902ae4 | ||
|
|
4ec09bb410 | ||
|
|
77bed84246 | ||
|
|
195e81aa52 | ||
|
|
4b7f3407e9 | ||
|
|
d409c8ab88 | ||
|
|
079d127391 | ||
|
|
56fbf2629f | ||
|
|
50af57901a | ||
|
|
a0daf4a04e | ||
|
|
4169a4bcb5 | ||
|
|
cf2135ff48 | ||
|
|
ffd2093440 | ||
|
|
614bdaffbf | ||
|
|
3b8258c569 | ||
|
|
84dbbc7651 | ||
|
|
2096b516e0 | ||
|
|
e14c39291b | ||
|
|
e3ccdf9e96 | ||
|
|
1f495e04c1 | ||
|
|
8e5e7299d1 | ||
|
|
f50ad3e777 | ||
|
|
d4781e8c23 | ||
|
|
e0bb2e6be1 | ||
|
|
ce689ccf18 | ||
|
|
6a012c5f51 | ||
|
|
d934fd65af | ||
|
|
8b79e2e641 | ||
|
|
35935b8a1d | ||
|
|
560d4787f4 | ||
|
|
d04434c067 | ||
|
|
6a3380dfbf | ||
|
|
c4ca9411f9 | ||
|
|
836d10f154 | ||
|
|
b0efe83a8f | ||
|
|
c8772a7a21 | ||
|
|
b7b8828801 | ||
|
|
fdc1bf659d | ||
|
|
c0edcc3c19 | ||
|
|
edd258fd6b | ||
|
|
03aedf8d7a | ||
|
|
b592f7113e | ||
|
|
c769406010 | ||
|
|
91ef73d464 | ||
|
|
6e721c4d02 | ||
|
|
ee48b283fa | ||
|
|
caddc24fa4 | ||
|
|
4ca0cefd1b | ||
|
|
2c9143a1f3 | ||
|
|
acf428dd0b | ||
|
|
b208a00501 | ||
|
|
8b315a6dd5 | ||
|
|
401c53c469 | ||
|
|
c8ebc82187 | ||
|
|
b97556d75c | ||
|
|
3a4ebc1124 | ||
|
|
eb25a30a42 | ||
|
|
8c95b27ce6 | ||
|
|
5363abb776 | ||
|
|
a1c39ede7d | ||
|
|
82f9b17687 | ||
|
|
a4627d498a | ||
|
|
9bf62d9b1d | ||
|
|
be58d01a7e | ||
|
|
d475b25953 | ||
|
|
6d73e17bb4 | ||
|
|
2b2fdd45bb | ||
|
|
423002544d | ||
|
|
b0fad8a2d4 | ||
|
|
69927e78de | ||
|
|
72626a71a9 | ||
|
|
82323a8085 | ||
|
|
1a8b783470 | ||
|
|
a4572a1720 | ||
|
|
d3066a0d13 | ||
|
|
bb7dcaea57 | ||
|
|
013ce67b19 | ||
|
|
88a0b7b051 | ||
|
|
3bba7b0a8f | ||
|
|
96a8259a9d | ||
|
|
ca16cb9606 | ||
|
|
58ab9f9b8e | ||
|
|
beda99e882 | ||
|
|
5708485357 | ||
|
|
11acdf1747 | ||
|
|
de1d41f980 | ||
|
|
e7133c7680 | ||
|
|
c8fa51f2d6 | ||
|
|
9306d350b2 | ||
|
|
a410a0105d | ||
|
|
a3cff41dd1 | ||
|
|
0de71c233c | ||
|
|
7e873a6708 | ||
|
|
6e1c4093d2 | ||
|
|
ac5c1cec86 | ||
|
|
1e4310f1f2 | ||
|
|
f7c3429073 | ||
|
|
527e796125 | ||
|
|
ea2ddd3334 | ||
|
|
2c034e1bd0 | ||
|
|
a62b83d52f | ||
|
|
b15669f37d | ||
|
|
ee26820636 | ||
|
|
8572bf5e0c | ||
|
|
d16368cf41 | ||
|
|
2a511f7a1a | ||
|
|
2f41f51c40 | ||
|
|
91a7fde456 | ||
|
|
4ca968eb95 | ||
|
|
56c092ce94 | ||
|
|
d501fad11c | ||
|
|
4db00e4210 | ||
|
|
fba96c4885 | ||
|
|
f3211ef386 | ||
|
|
fe1818e26a | ||
|
|
a85060efec | ||
|
|
e3f6f8b448 | ||
|
|
d516736c58 | ||
|
|
9af05aa29d | ||
|
|
c7c834a998 | ||
|
|
7fa37abca0 | ||
|
|
2207f73156 | ||
|
|
8cf13c1f70 | ||
|
|
90a0048f5e | ||
|
|
10afdf5061 | ||
|
|
30ac136d6d | ||
|
|
cf3fe3b071 | ||
|
|
5686807ee9 | ||
|
|
b1b07d72c7 | ||
|
|
7997c4bf76 | ||
|
|
d517142b8e | ||
|
|
30645251d1 | ||
|
|
9c71a2aec4 | ||
|
|
934488ccd3 | ||
|
|
82c865c41a | ||
|
|
4b9adff901 | ||
|
|
a2609b41b9 | ||
|
|
6131c43d45 | ||
|
|
7cf2a2a1e2 | ||
|
|
3e5980de47 | ||
|
|
16357e8c71 | ||
|
|
0bd31a2188 | ||
|
|
62751a5ddd | ||
|
|
af5cb60fec | ||
|
|
8e59fdd53b | ||
|
|
3f1e69395c | ||
|
|
cfbf7877a6 | ||
|
|
d4c7486079 | ||
|
|
cbe62e89d0 | ||
|
|
79b8914eaa | ||
|
|
16df248e4b | ||
|
|
392b5d8cab | ||
|
|
e20ec9cc51 | ||
|
|
0a56fadb60 | ||
|
|
ba04571a83 | ||
|
|
f88aeb6aa8 | ||
|
|
e0b2737583 | ||
|
|
7bc5cc2b96 | ||
|
|
0d62efbe5a | ||
|
|
fa6141ecaa | ||
|
|
b2e3dd9480 | ||
|
|
9d97a1b3d6 | ||
|
|
0e999137e9 | ||
|
|
a3e69bb892 | ||
|
|
a1db097535 | ||
|
|
b17fd5e0c8 | ||
|
|
76ced7741b | ||
|
|
7f4e4b77ee | ||
|
|
765904ceb6 | ||
|
|
9bf3c1a77d | ||
|
|
ae3b6bb0f4 | ||
|
|
bdbb6fbb19 | ||
|
|
94e4ddd508 | ||
|
|
ef7cf2917a | ||
|
|
5ace6e2fa8 | ||
|
|
1890a149cc | ||
|
|
63c0c19a64 | ||
|
|
8caa6152d0 | ||
|
|
231eae53c2 | ||
|
|
44fbbf4c5f | ||
|
|
89d02b98f9 | ||
|
|
5282181d51 | ||
|
|
cf5d2ca329 | ||
|
|
56b1f4b780 | ||
|
|
c3eb878f0b | ||
|
|
acc26ff148 | ||
|
|
4f7e152b34 | ||
|
|
842ded334f | ||
|
|
9b222abe03 | ||
|
|
ea84ec7711 | ||
|
|
58b4e8e877 | ||
|
|
d581acee5b | ||
|
|
47e74d6e9d | ||
|
|
4bfc4ea349 | ||
|
|
9c782445fb | ||
|
|
9a97b8144d | ||
|
|
aa289a3e82 | ||
|
|
a67f97fea1 | ||
|
|
923fbae1f0 | ||
|
|
598608c7ee | ||
|
|
f755aa3f7a | ||
|
|
089b06348e | ||
|
|
1984b43895 | ||
|
|
3871c9f500 | ||
|
|
9aa949a4b6 | ||
|
|
cf9fd501ea | ||
|
|
c8c6bba5a7 | ||
|
|
de59af4d6d | ||
|
|
2a552f1177 | ||
|
|
a7dc055bb5 | ||
|
|
cd52703ace | ||
|
|
ee4d736881 | ||
|
|
2ee5f56b4d | ||
|
|
5dce82180b | ||
|
|
cba363bea8 | ||
|
|
929c0f69de | ||
|
|
e55ec43d8b | ||
|
|
264218a47e | ||
|
|
9c1edabd8b | ||
|
|
17bb886ff4 | ||
|
|
248d08ebf0 | ||
|
|
a63062b55a | ||
|
|
7046c48d72 | ||
|
|
3ec7ad8e0f | ||
|
|
a10f6f7bf7 | ||
|
|
bb3fe7fcfe | ||
|
|
d149583162 | ||
|
|
1972fed4df | ||
|
|
969e678ed9 | ||
|
|
d8482ad0d6 | ||
|
|
35ec07c758 | ||
|
|
4bc3fcc771 | ||
|
|
499b8d1f84 | ||
|
|
f11617d8a6 | ||
|
|
70c4329172 | ||
|
|
101d9f3fd4 | ||
|
|
3d6b71e87e | ||
|
|
0332386251 | ||
|
|
90a1e4b303 | ||
|
|
91fe0e20c7 | ||
|
|
b30b13dc3d | ||
|
|
2b8cf44fd9 | ||
|
|
e8b3afeb92 | ||
|
|
f5ebf5c6ac | ||
|
|
0f241da212 | ||
|
|
a463ffd9e8 | ||
|
|
e793178adb | ||
|
|
c0cd1b3ea7 | ||
|
|
9b1ef2f323 | ||
|
|
46614bba7c | ||
|
|
47d188109e | ||
|
|
1b1c335f5e | ||
|
|
9bff16b3f2 | ||
|
|
3a33730a86 | ||
|
|
f7ce90e7b9 | ||
|
|
35ff176877 | ||
|
|
2c4b49ed8d | ||
|
|
210cc92038 | ||
|
|
2c71cf66a5 | ||
|
|
410e38f814 | ||
|
|
ccbce84809 | ||
|
|
438bb042ff | ||
|
|
f92300852f | ||
|
|
0ba91c945b | ||
|
|
8cc9e7f9d8 | ||
|
|
25c936766e | ||
|
|
e3729544f9 | ||
|
|
741c70c63e | ||
|
|
94a4b3b9f2 | ||
|
|
8c247e1c47 | ||
|
|
fe3e603d14 | ||
|
|
e31ff8b8d0 | ||
|
|
ec5d0a85eb | ||
|
|
a4007c9852 | ||
|
|
dd9afe64b5 | ||
|
|
a81bc5312b | ||
|
|
9c7dd33a48 | ||
|
|
cf8f58b2af | ||
|
|
dcee3fc5a9 | ||
|
|
40506d5d92 | ||
|
|
3309e3a103 | ||
|
|
e789d9a80b | ||
|
|
e3c5f2934a | ||
|
|
88226a504f | ||
|
|
06504acb78 | ||
|
|
37166310c7 | ||
|
|
a2ed738989 | ||
|
|
ce3b7a619d | ||
|
|
fd982732f4 | ||
|
|
cc2792dada | ||
|
|
a6b4d213db | ||
|
|
83e61a73c4 | ||
|
|
15f67744fe | ||
|
|
6ba3900934 | ||
|
|
1d3991dc74 | ||
|
|
39b33961e9 | ||
|
|
6d267f0a5b | ||
|
|
36ee486f1a | ||
|
|
313109e050 | ||
|
|
c5ea1201fb | ||
|
|
e0eb886dce | ||
|
|
dcc9053aff | ||
|
|
3a08a41188 | ||
|
|
fbd8445704 | ||
|
|
21e9fee042 | ||
|
|
d515cb555c | ||
|
|
0734a9a813 | ||
|
|
01155b1808 | ||
|
|
e0fbbc889d | ||
|
|
dab5d51be7 | ||
|
|
30dd831083 | ||
|
|
867df0eeb6 | ||
|
|
593987671a | ||
|
|
5924080dcc | ||
|
|
2bcfb9e065 | ||
|
|
19cb517012 | ||
|
|
1f7c6a1f53 | ||
|
|
8e77f41ede | ||
|
|
89be37a5a3 | ||
|
|
61ef22f432 | ||
|
|
c4ca12c15b | ||
|
|
4056b82882 | ||
|
|
a5975cedf2 | ||
|
|
14e2afa74b | ||
|
|
c3f0084ad3 | ||
|
|
049b2f1d7b | ||
|
|
87dfd45594 | ||
|
|
accf7a373e | ||
|
|
eaff9364d5 | ||
|
|
7f4b5efd2d | ||
|
|
786944576c | ||
|
|
1424a96e25 | ||
|
|
56dbcb09d8 | ||
|
|
cecb712cce | ||
|
|
9369a02bfc | ||
|
|
3b401612d9 | ||
|
|
6aded2dd3f | ||
|
|
d83ae72401 | ||
|
|
a9db7d10b6 | ||
|
|
2b6bdf7eb3 | ||
|
|
777fabf096 | ||
|
|
acfc0df5ce | ||
|
|
6c211361fe | ||
|
|
dfb43e45b5 | ||
|
|
43d8f4904c | ||
|
|
37a5340262 | ||
|
|
1c9e7d65d4 | ||
|
|
9e623d068d | ||
|
|
f6f207b803 | ||
|
|
825d0ebc5b | ||
|
|
65b96a0c10 | ||
|
|
d55a99fed3 | ||
|
|
cac137aa84 | ||
|
|
0fdd3bea58 | ||
|
|
f903dc056a | ||
|
|
5fe21fbeef | ||
|
|
867b14108d | ||
|
|
d66c70967f | ||
|
|
b2a886f6c7 | ||
|
|
19c9664d93 | ||
|
|
693b57e41c | ||
|
|
2306f7ab4b | ||
|
|
6ed80bed48 | ||
|
|
861693f3e7 | ||
|
|
6c365eca6d | ||
|
|
e33d9d6f09 | ||
|
|
bfda2997c8 | ||
|
|
238328c990 | ||
|
|
fcdf58c46c | ||
|
|
107b415e43 | ||
|
|
98eb8cbe8d | ||
|
|
c6d7e299ae | ||
|
|
4c7cacf117 | ||
|
|
f286f71634 | ||
|
|
f7758740ed | ||
|
|
0ff3e3aa9b | ||
|
|
d6b8cb5c4a | ||
|
|
6858f9d132 | ||
|
|
ea0ee755bd | ||
|
|
48febeb81a | ||
|
|
6c1cd80d8f | ||
|
|
3b78d1eab8 | ||
|
|
b52cb20d43 | ||
|
|
0e993428ce | ||
|
|
f50d2669e3 | ||
|
|
801486fe46 | ||
|
|
f594028a9c | ||
|
|
dd36b51bf7 | ||
|
|
acb6ba2567 | ||
|
|
0160536dcb | ||
|
|
35ac56b63e | ||
|
|
e967678ed1 | ||
|
|
0c357a088b | ||
|
|
eba783b7b2 | ||
|
|
63b7c6c1f8 | ||
|
|
04fd96cac3 | ||
|
|
50efa79774 | ||
|
|
baa0d82a8a | ||
|
|
c5c555b186 | ||
|
|
841032d448 | ||
|
|
d5d6db8918 | ||
|
|
0d2fe78f85 | ||
|
|
581f9eb845 | ||
|
|
cdf2022052 | ||
|
|
f03f0c9a86 | ||
|
|
c7b62db614 | ||
|
|
6f80c9d8f3 | ||
|
|
ca877f5a3a | ||
|
|
865c4ef33c | ||
|
|
3fdc99da19 | ||
|
|
f0cd71f21e | ||
|
|
7ce1f2160f | ||
|
|
419fffa2e8 | ||
|
|
04151253e3 | ||
|
|
f14d6b697e | ||
|
|
afb49942e0 | ||
|
|
5477e0342f | ||
|
|
bdf06d8922 | ||
|
|
77ffd691bf | ||
|
|
9adb6934f4 | ||
|
|
c31d1a7860 | ||
|
|
9297c90b69 | ||
|
|
3b82460576 | ||
|
|
fe0cff14f6 | ||
|
|
d7c5d27795 | ||
|
|
8f3114b7a4 | ||
|
|
7a88ad6bff | ||
|
|
a2011be5df | ||
|
|
1010e530d3 | ||
|
|
068cdcd07c | ||
|
|
53c63ee937 | ||
|
|
52e5910cdc | ||
|
|
cbca6eb552 | ||
|
|
4f7d8d7ee4 | ||
|
|
0f41c26f9b | ||
|
|
462f8e9f33 | ||
|
|
6be960c7f7 | ||
|
|
f65cf81a3c | ||
|
|
cf53ecf514 | ||
|
|
8dc5d0cf7e | ||
|
|
adb5f46940 | ||
|
|
2c6ab6ccd4 | ||
|
|
ef8c03407d | ||
|
|
c7f9993146 | ||
|
|
14ecc0effc | ||
|
|
141ccae8a7 | ||
|
|
0a92b5b30a | ||
|
|
bd8c5d5b02 | ||
|
|
fdfd3d5d9c | ||
|
|
3ee5a7d86a | ||
|
|
9be8d7c8cb | ||
|
|
a18eda2747 | ||
|
|
5cfdb4bcac | ||
|
|
a96748bb46 | ||
|
|
bc3073c8e3 | ||
|
|
84419dfd25 | ||
|
|
7e2ec42b1a | ||
|
|
3a5d958570 | ||
|
|
1f44111f83 | ||
|
|
6706269ed4 | ||
|
|
47038b76b2 | ||
|
|
979bc0f49b | ||
|
|
4928e50033 | ||
|
|
73274a8ae7 | ||
|
|
13f5ea6f46 | ||
|
|
3f5a932eea | ||
|
|
917748dd6d | ||
|
|
f9bbf2a819 | ||
|
|
c6bded8a29 | ||
|
|
bb90ad83b1 | ||
|
|
c415f14538 | ||
|
|
c9f94132ca | ||
|
|
5c126b645e | ||
|
|
832abc7687 | ||
|
|
e9c0b9446b | ||
|
|
785db4d877 | ||
|
|
0b5aa854a0 | ||
|
|
da0a26d2a7 | ||
|
|
7bf569186c | ||
|
|
47a9cb950a | ||
|
|
a25fe6d620 | ||
|
|
128663e4c8 | ||
|
|
238f739777 | ||
|
|
14a3a67364 | ||
|
|
b6a64843c6 | ||
|
|
9776ebb2a5 | ||
|
|
712e6e684c | ||
|
|
84a3e3b776 | ||
|
|
881a4cf13a | ||
|
|
ce41a4629c | ||
|
|
9c3ac1b641 | ||
|
|
a4f08f9258 | ||
|
|
d539646af4 | ||
|
|
b04ac5a1e2 | ||
|
|
c0589f7591 | ||
|
|
71f4b81aa5 | ||
|
|
0bb1aa9e05 | ||
|
|
d80855999a | ||
|
|
993fb66dd2 | ||
|
|
5ee12e217c | ||
|
|
847e7725e9 | ||
|
|
444c64b04e | ||
|
|
3be9f724f5 | ||
|
|
b5c56e628f | ||
|
|
e45a608245 | ||
|
|
08dccdfd12 | ||
|
|
42ed9985b1 | ||
|
|
2b8c5f547a | ||
|
|
68a3d0e8cd | ||
|
|
6f52fb63ae | ||
|
|
11e3f10788 | ||
|
|
322cbda7c5 | ||
|
|
ef86c39f27 | ||
|
|
30db6af1de | ||
|
|
1fb78cb2c3 | ||
|
|
6ba9dd813d | ||
|
|
f8d3c99ba1 | ||
|
|
5acf2910b8 | ||
|
|
d92083ad99 | ||
|
|
6eb126c5f2 | ||
|
|
02065130de | ||
|
|
563e8b3920 | ||
|
|
bd5ecea637 | ||
|
|
bbd60260dd | ||
|
|
48ebc134f4 | ||
|
|
9d12d38f38 | ||
|
|
5223c82627 | ||
|
|
0820a58b3c | ||
|
|
dd85efda47 | ||
|
|
d385b8355d | ||
|
|
b49317cac3 | ||
|
|
88ee93f917 | ||
|
|
5f1d0fb085 | ||
|
|
9aea24b608 | ||
|
|
6a917ef7e6 | ||
|
|
296540a6db | ||
|
|
19777ae6ea | ||
|
|
ef010c0f3d | ||
|
|
c50cbfd61a | ||
|
|
ea7127b9b7 | ||
|
|
71eb5c1067 | ||
|
|
b16c5a5857 | ||
|
|
12761f48ea | ||
|
|
e65df6a63a | ||
|
|
7f614e49e8 | ||
|
|
938081b9ce | ||
|
|
81eec00cb2 | ||
|
|
8689a1908a | ||
|
|
2a1e82bb5c | ||
|
|
08fd1ebefd | ||
|
|
6af3101999 | ||
|
|
49f24f41e3 | ||
|
|
d688a2f0fd | ||
|
|
4cdbdd4439 | ||
|
|
c86929e403 | ||
|
|
11a7ceb9e8 | ||
|
|
eb0880e71d | ||
|
|
5d4b411f8a | ||
|
|
431a35518f | ||
|
|
ba8b732d20 | ||
|
|
fae31edcec | ||
|
|
827d28914a | ||
|
|
aaf4cb20ad | ||
|
|
618cea694d | ||
|
|
6ec8f7778f | ||
|
|
da9bf2efc5 | ||
|
|
a1c1467756 | ||
|
|
00fa3d1457 | ||
|
|
69ce1ffc7d | ||
|
|
7650e148f6 | ||
|
|
e51035f70a | ||
|
|
bdeee95a21 | ||
|
|
cc68ccc5b0 | ||
|
|
e95da44576 | ||
|
|
3c81cdf19c | ||
|
|
a8a0aa49f9 | ||
|
|
353283bbe9 | ||
|
|
8faece2280 | ||
|
|
05c0ac721e | ||
|
|
a1143ee3fa | ||
|
|
02d94dab8d | ||
|
|
dc3f1809cf | ||
|
|
ba4bcae035 | ||
|
|
396e75e37c | ||
|
|
c07512179e | ||
|
|
ed407c8055 | ||
|
|
868c923f13 | ||
|
|
d2474c2620 | ||
|
|
3855e242a2 | ||
|
|
106ca9d0c1 | ||
|
|
5f7c5a97ba | ||
|
|
99d90fc102 | ||
|
|
9322c6822f | ||
|
|
e7d2c60809 | ||
|
|
b7e9ee3327 | ||
|
|
52e6e2461f | ||
|
|
e70a28b87e | ||
|
|
2e48455d27 | ||
|
|
f9c3648329 | ||
|
|
854d627779 | ||
|
|
9ede36f0ed | ||
|
|
790b8e0ebe | ||
|
|
ddff766e38 | ||
|
|
ab744c1af5 | ||
|
|
922f11ad22 | ||
|
|
6c7b6a51a4 | ||
|
|
76978d4062 | ||
|
|
b6f5801e1c | ||
|
|
b5c18c78c2 | ||
|
|
c3f9761771 | ||
|
|
ca8def6e6f | ||
|
|
11996d85d3 | ||
|
|
149acc2981 | ||
|
|
abc00dc492 | ||
|
|
c9b940cd03 | ||
|
|
4d60610ad7 | ||
|
|
7b50c68455 | ||
|
|
525ca3e912 | ||
|
|
f651b477b7 | ||
|
|
9bb2b96aab | ||
|
|
7730d112a2 | ||
|
|
c61b026e3a | ||
|
|
80736cdf20 | ||
|
|
8dcb0c55ab | ||
|
|
f6d7be1e47 | ||
|
|
0442d34595 | ||
|
|
b8d2aa264d | ||
|
|
15b673ebe8 | ||
|
|
9fd72fb1ff | ||
|
|
9c8ba706d0 | ||
|
|
855a8ad71d | ||
|
|
fdca1c079b | ||
|
|
fd80c705b1 | ||
|
|
d8f257f99e | ||
|
|
633f045f62 | ||
|
|
a24b75d8e1 | ||
|
|
e49951eb3e | ||
|
|
040860152e | ||
|
|
f09d925b16 | ||
|
|
161ed5476d | ||
|
|
d510ab4614 | ||
|
|
0228826262 | ||
|
|
3643957260 | ||
|
|
ffb1ee524d | ||
|
|
3665b4dc60 | ||
|
|
e04f30e023 | ||
|
|
6956067b04 | ||
|
|
1dee732b81 | ||
|
|
eb4908581c | ||
|
|
dc5669cd65 | ||
|
|
c2868b1e0c | ||
|
|
9011e97f8d | ||
|
|
e3b2cf4c7a | ||
|
|
250b0404d7 | ||
|
|
8c3c896dbe | ||
|
|
0d1e6ce4d2 | ||
|
|
96be765ca5 | ||
|
|
93a6f5520c | ||
|
|
58867ae728 | ||
|
|
a40f1543c0 | ||
|
|
0e7aac44da | ||
|
|
01e11826bc | ||
|
|
30e9cbb44e | ||
|
|
a86177d61c | ||
|
|
f5fd436020 | ||
|
|
151794bf5b | ||
|
|
df77a46273 | ||
|
|
beacfcabe7 | ||
|
|
57f662ad30 | ||
|
|
b4fcb735d5 | ||
|
|
ea4d96c6a5 | ||
|
|
b1426f1785 | ||
|
|
95b6c70f6b | ||
|
|
16fd1db547 | ||
|
|
0750452a98 | ||
|
|
65d8b777c0 | ||
|
|
72b9eebf68 | ||
|
|
cab249615d | ||
|
|
2aee33cfc1 | ||
|
|
6064c4cdf0 | ||
|
|
b15fcf9ec2 | ||
|
|
a69b7ad2d6 | ||
|
|
54845460ee | ||
|
|
a38f0ab0b9 | ||
|
|
d8707db0f7 | ||
|
|
2d73db7a05 | ||
|
|
e6e82f629c | ||
|
|
10879c4ea1 | ||
|
|
87d836b2c9 | ||
|
|
2f4fbe1cb3 | ||
|
|
461572cca8 | ||
|
|
b39a48ad4b | ||
|
|
9589eecb40 | ||
|
|
4dede022fd | ||
|
|
1be77eac08 | ||
|
|
6211223021 | ||
|
|
44ce77ff52 | ||
|
|
8dc2ecfcd9 | ||
|
|
c23e9e48b7 | ||
|
|
431f35f051 | ||
|
|
eb0119efde | ||
|
|
6d36a6f3b0 | ||
|
|
a6ef51e378 | ||
|
|
10d1822b8e | ||
|
|
fcdb4e8f8d | ||
|
|
ef02e1e9b5 | ||
|
|
8cc9c0dadd | ||
|
|
d464e72566 | ||
|
|
0f3d2504f7 | ||
|
|
63193ebfdc | ||
|
|
c5a855c481 | ||
|
|
bbb76f6f71 | ||
|
|
238e43b9fa | ||
|
|
9c63fe6c1f | ||
|
|
58cc3b385b | ||
|
|
38bbd61df1 | ||
|
|
cb09fb24ee | ||
|
|
0bdba772ca | ||
|
|
299112d36e | ||
|
|
aa92cf980c | ||
|
|
0f5378ebc4 | ||
|
|
dc2e4b0e16 | ||
|
|
9ae7865e97 | ||
|
|
f992ead284 | ||
|
|
bbdb3ffaf3 | ||
|
|
1f73d3b495 | ||
|
|
76e38f0d78 | ||
|
|
6b9105e557 | ||
|
|
fe0b8a789a | ||
|
|
5cfdcd6a26 | ||
|
|
d0840e4a23 | ||
|
|
fce2394e7d | ||
|
|
a9ebd9efd0 | ||
|
|
fd060fd30d | ||
|
|
82c38fe64c | ||
|
|
473b03b3c6 | ||
|
|
bdcf35a6b2 | ||
|
|
2c3f47ee3a | ||
|
|
2fbf053b7b | ||
|
|
2a75d4e664 | ||
|
|
a7b6ffee68 | ||
|
|
d7e8e288c5 | ||
|
|
8aab64fca9 | ||
|
|
2289721c9c | ||
|
|
acc084669c | ||
|
|
c9ee048595 | ||
|
|
168030ea0c | ||
|
|
82fe08ed20 | ||
|
|
d9307267b3 | ||
|
|
29767aaef6 | ||
|
|
41d42f5061 | ||
|
|
64858bc090 | ||
|
|
f1d2872c82 | ||
|
|
b8d3511ad5 | ||
|
|
e5c0701f9c | ||
|
|
cc957c3c74 | ||
|
|
47f9db4128 | ||
|
|
59db01942b | ||
|
|
97715602cb | ||
|
|
67158a4900 | ||
|
|
695e671723 | ||
|
|
df84950e44 | ||
|
|
12a5199a27 | ||
|
|
135eb524b3 | ||
|
|
dd6b9a3790 | ||
|
|
3b9c002088 | ||
|
|
313b901255 | ||
|
|
d192efae07 | ||
|
|
21c203a53a | ||
|
|
9c9da07f4c | ||
|
|
12abb19dfb | ||
|
|
bbb7a00e9a | ||
|
|
6798a8e485 | ||
|
|
6e4da6ead1 | ||
|
|
8dc8bf02c6 | ||
|
|
4f1ee0c964 | ||
|
|
821b0015fa | ||
|
|
2b902c3c46 | ||
|
|
67668155c5 | ||
|
|
5401dd7595 | ||
|
|
476f8ea33c | ||
|
|
7cd1d7bd0c | ||
|
|
f153d89155 | ||
|
|
c6dbd50594 | ||
|
|
4f028c8f95 | ||
|
|
dc56970dde | ||
|
|
23180bebff | ||
|
|
87ec7a7a5e | ||
|
|
05bf6f8289 | ||
|
|
eb39051936 | ||
|
|
e1f8f477de | ||
|
|
7f08437bd8 | ||
|
|
2e87ca8f52 | ||
|
|
85f3a05e4c | ||
|
|
6b32a64a4d | ||
|
|
483f11589e | ||
|
|
e509d1527d | ||
|
|
079fca3be8 | ||
|
|
f6ab05509c | ||
|
|
091196b383 | ||
|
|
c4854e76e2 | ||
|
|
6c3a720481 | ||
|
|
c217708f7b | ||
|
|
2ffa297ab8 | ||
|
|
79c398a20c | ||
|
|
943f33a326 | ||
|
|
3889a82ef8 | ||
|
|
11314eb68e | ||
|
|
f0444eafe2 | ||
|
|
bf4018fb15 | ||
|
|
b387a1c5b2 | ||
|
|
8f86331a22 | ||
|
|
1f5ec939ca | ||
|
|
23f339dd7f | ||
|
|
5752a7d77c | ||
|
|
99e6c1b18e | ||
|
|
6a06172b65 | ||
|
|
3465eb03bd | ||
|
|
5fc5c2f340 | ||
|
|
665991957c | ||
|
|
c3d98cad5d | ||
|
|
d7d408d578 | ||
|
|
a1ba8475a6 | ||
|
|
59a43334a9 | ||
|
|
1ffa7090b9 | ||
|
|
08ba7ff318 | ||
|
|
4fd27cdfb9 | ||
|
|
75f1e8f7cd | ||
|
|
082b3c6a6c | ||
|
|
1d97441709 | ||
|
|
f24996724c | ||
|
|
4b5f8cde38 | ||
|
|
dd9e87e185 | ||
|
|
c1e628f6ce | ||
|
|
9241172c9d | ||
|
|
24e262f086 | ||
|
|
8ca6cc4b45 | ||
|
|
aba326f79c | ||
|
|
2a6c679561 | ||
|
|
183c9a89a3 | ||
|
|
d041488307 | ||
|
|
874e687428 | ||
|
|
1da983b9f0 | ||
|
|
b28168c125 | ||
|
|
4c9e797577 | ||
|
|
a01b6da792 | ||
|
|
e531ac2ad9 | ||
|
|
156b5010ff | ||
|
|
9282e25962 | ||
|
|
727afa3be8 | ||
|
|
ed9f9a7765 | ||
|
|
c4d645341b | ||
|
|
acf60b26bd | ||
|
|
0dd7a135b2 | ||
|
|
c7e4a72a74 | ||
|
|
04732c37ca | ||
|
|
e2034de5d0 | ||
|
|
e117772ddd | ||
|
|
29c1793dc2 | ||
|
|
f4b60f5f6b | ||
|
|
5b00f53526 | ||
|
|
0ec1af59e5 | ||
|
|
2a5ab9dceb | ||
|
|
ae9e328800 | ||
|
|
1ca982808a | ||
|
|
90a6d47caa | ||
|
|
a53b000c7a | ||
|
|
34fcbe3a10 | ||
|
|
85a8a5f556 | ||
|
|
468bdabb56 | ||
|
|
80ba8cc076 | ||
|
|
a661e42025 | ||
|
|
d5529a9162 | ||
|
|
fa39cc0da6 | ||
|
|
fbbb1c0f4c | ||
|
|
75abd8ab23 | ||
|
|
39224d94e3 | ||
|
|
fe8ccfcc72 | ||
|
|
e47e3effaf | ||
|
|
eb6d676e2a | ||
|
|
b22a12fda7 | ||
|
|
01e354eb83 | ||
|
|
28e5560421 | ||
|
|
ab6522aeb0 | ||
|
|
f03e7115d7 | ||
|
|
5fedc65b0f | ||
|
|
704197f4bf | ||
|
|
4873f8ed9f | ||
|
|
a06a99ff77 | ||
|
|
bfe384cc4c | ||
|
|
c0b3c89f16 | ||
|
|
b2d58cd80a | ||
|
|
b9e5c0a949 | ||
|
|
44b6be7744 | ||
|
|
58db733e6d | ||
|
|
bd5e766b87 | ||
|
|
2498d43adb | ||
|
|
6221db61f5 | ||
|
|
784bb1f37b | ||
|
|
9149f1a087 | ||
|
|
98fefb210a | ||
|
|
87009d8aa1 | ||
|
|
9762706b90 | ||
|
|
cc57f25d96 | ||
|
|
ad85c617b5 | ||
|
|
e7aa73ef09 | ||
|
|
ab8ed44fce | ||
|
|
708d0ceb50 | ||
|
|
4e6b699d50 | ||
|
|
27160c856b | ||
|
|
4a219a1a47 | ||
|
|
b30e4f3f12 | ||
|
|
2357f85032 | ||
|
|
e66ca1a5a8 | ||
|
|
e47bac7902 | ||
|
|
fb83842efb | ||
|
|
a9f8b72ee1 | ||
|
|
4050e5d6cf | ||
|
|
79580eb698 | ||
|
|
233e76769a | ||
|
|
fe8ff02827 | ||
|
|
2646c55b03 | ||
|
|
7244a5f74e | ||
|
|
4155e2a909 | ||
|
|
7584f822bf | ||
|
|
3441e16497 | ||
|
|
312543dcfc | ||
|
|
d3b59727fb | ||
|
|
c2d771fd1d | ||
|
|
fdc78b72f8 | ||
|
|
2f8a123ed3 | ||
|
|
feddc16c70 | ||
|
|
8ba8aeb74d | ||
|
|
2ea2baf16c | ||
|
|
2aa4fb5f73 | ||
|
|
706d0641cf | ||
|
|
60a290926b | ||
|
|
a974a0be5b | ||
|
|
f9975b5a49 | ||
|
|
bb1ff9aa0a | ||
|
|
9dc6f288bf | ||
|
|
5501e6b64f | ||
|
|
97d3998e7a | ||
|
|
52b8e5fc30 | ||
|
|
46866fadee | ||
|
|
8cd8e97cb5 | ||
|
|
93b0357575 | ||
|
|
4d058c6792 | ||
|
|
450fb5a6b4 | ||
|
|
b2adb3ae04 | ||
|
|
03fa275801 | ||
|
|
bc5bf85fa2 | ||
|
|
f678f6d913 | ||
|
|
98ea038b47 | ||
|
|
6253961de2 | ||
|
|
3aa6fab83b | ||
|
|
2aaa45b03c | ||
|
|
2ee8edc450 | ||
|
|
a2745393d2 | ||
|
|
380d5decfc | ||
|
|
5a8fd06d01 | ||
|
|
c8911fa395 | ||
|
|
c089511288 | ||
|
|
8722e80e82 | ||
|
|
8ffaa93bff | ||
|
|
eca63d3df8 | ||
|
|
4c377e861b | ||
|
|
f5b7894942 | ||
|
|
42ff70e262 | ||
|
|
530c169561 | ||
|
|
c20313637f | ||
|
|
2ed139c42c | ||
|
|
8ccdbaa827 | ||
|
|
49f5a21698 | ||
|
|
a18b4d085b | ||
|
|
0f09955213 | ||
|
|
5d4fd2671a | ||
|
|
6e32f6c019 | ||
|
|
d6f80f187c | ||
|
|
dfb53ee232 | ||
|
|
ea8fbbf2f2 | ||
|
|
c3ee7448c9 | ||
|
|
45298f8fd2 | ||
|
|
5d5c427839 | ||
|
|
3b48f78c85 | ||
|
|
325285d581 | ||
|
|
d8989c2394 | ||
|
|
c43e006164 | ||
|
|
3c738d6bd8 | ||
|
|
868fce7c4a | ||
|
|
e2332e8aa7 | ||
|
|
72ce03739e | ||
|
|
d008415219 | ||
|
|
c1c94acf32 | ||
|
|
74baf333bf | ||
|
|
a784c3077e | ||
|
|
07ab4bf1fc | ||
|
|
da30f55582 | ||
|
|
335dd762cc | ||
|
|
4a44e743a0 | ||
|
|
0d12bea306 | ||
|
|
e1b7096acd | ||
|
|
b3a53fb361 | ||
|
|
7f131cf368 | ||
|
|
cdec10f936 | ||
|
|
7f4f06513a | ||
|
|
e2a06ddc7a | ||
|
|
9d1d434cd0 | ||
|
|
4aa52039a7 | ||
|
|
6cb3ccf835 | ||
|
|
a020d2a996 | ||
|
|
cb1427dd08 | ||
|
|
53f974fd45 | ||
|
|
8e1cd71376 | ||
|
|
d7e2841b9d | ||
|
|
1e9824513c | ||
|
|
b35c0f866c | ||
|
|
6a95fa501f | ||
|
|
ad1ebab379 | ||
|
|
5fb868033f | ||
|
|
c9b70836d0 | ||
|
|
3a61f8017a | ||
|
|
8a9451c89e | ||
|
|
fdb50f8d8a | ||
|
|
a9128eac41 | ||
|
|
70915c1a2e | ||
|
|
ba55b1cb69 | ||
|
|
f15b31c562 | ||
|
|
7a6548cbae | ||
|
|
1c67d639d5 | ||
|
|
a09ec3a5af | ||
|
|
836676450d | ||
|
|
200dc93761 | ||
|
|
4d152bf1d9 | ||
|
|
3259877d35 | ||
|
|
d3648e0118 | ||
|
|
2af7e4a373 | ||
|
|
51c8d7909d | ||
|
|
4ce823c424 | ||
|
|
2d34fa4902 | ||
|
|
09c95deb1e | ||
|
|
a0f16bb663 | ||
|
|
838d78e3e0 | ||
|
|
a4eabecd11 | ||
|
|
6ad2697d23 | ||
|
|
3d282f90f8 | ||
|
|
e9f6d6dd45 | ||
|
|
5c403e3518 | ||
|
|
29833b26eb | ||
|
|
aca54b395e | ||
|
|
351782e2f1 | ||
|
|
d8eea3d2bc | ||
|
|
69cfce50db | ||
|
|
b980f0f9fd | ||
|
|
f5c82e15e0 | ||
|
|
8b15ac6700 | ||
|
|
22189ed117 | ||
|
|
d23077dc5c | ||
|
|
2606bbcf91 | ||
|
|
ca8dbb7d4e | ||
|
|
0adb527600 | ||
|
|
5f25049e9c | ||
|
|
c7bdb1b9d1 | ||
|
|
cd3ded4301 | ||
|
|
860a6f1ae0 | ||
|
|
3036a01ff7 | ||
|
|
18d50d7621 | ||
|
|
02b80c3f65 | ||
|
|
686f14e8a4 | ||
|
|
b49ffe2d67 | ||
|
|
e05385192c | ||
|
|
c2033df432 | ||
|
|
7eba5e6361 | ||
|
|
967305e88b | ||
|
|
3af4e05304 | ||
|
|
fa29b19988 | ||
|
|
6b345e06cd | ||
|
|
80fe5c6046 | ||
|
|
fd76c904c7 | ||
|
|
b40b259f12 | ||
|
|
480943dd46 | ||
|
|
5321f74f23 | ||
|
|
501b16750a | ||
|
|
b147f59f41 | ||
|
|
6e6979c6f1 | ||
|
|
bdd7eb270d | ||
|
|
52bda18abf | ||
|
|
0b3651bc93 | ||
|
|
fe7777c14b | ||
|
|
7f40d97d88 | ||
|
|
c80e7e55b3 | ||
|
|
da7b042dd9 | ||
|
|
034cb8e781 | ||
|
|
a65e3306d1 | ||
|
|
f190f92f91 | ||
|
|
ec5288609b | ||
|
|
5b2fd61868 | ||
|
|
36d4d49e69 | ||
|
|
80ffc7082c | ||
|
|
e2b2c46693 | ||
|
|
cf153fc472 | ||
|
|
30c40755fc | ||
|
|
0aa94f0ca4 | ||
|
|
3dc1970dda | ||
|
|
dce3a40bae | ||
|
|
5075e28305 | ||
|
|
ef1ee6b221 | ||
|
|
d9d0536340 | ||
|
|
64fc89b6ec | ||
|
|
ba326ce41b | ||
|
|
733b4130d7 | ||
|
|
c6f09dfade | ||
|
|
fb9821f023 | ||
|
|
cc8e5e25b4 | ||
|
|
1df895b00b | ||
|
|
8c0e5b1e87 | ||
|
|
b6dd891c1c | ||
|
|
6b8875c838 | ||
|
|
d38487e9ca | ||
|
|
f8348b91ad | ||
|
|
68c141f144 | ||
|
|
01d45404f6 | ||
|
|
ec4d308a9e | ||
|
|
352ec143de | ||
|
|
ecdb81e159 | ||
|
|
db32c281dd | ||
|
|
7543f8653b | ||
|
|
2e65982725 | ||
|
|
c6eac7616c | ||
|
|
92b8d1ea8b | ||
|
|
1dfb715df0 | ||
|
|
671d8f5e6f | ||
|
|
25608d640a | ||
|
|
0db342a590 | ||
|
|
94d222ad97 | ||
|
|
270246defe | ||
|
|
87f5d36630 | ||
|
|
62cab99c32 | ||
|
|
ddc29a782e | ||
|
|
9e782349fe | ||
|
|
cfeb75954a | ||
|
|
e722af7522 | ||
|
|
7bdd1f0e3c | ||
|
|
813986ac09 | ||
|
|
c4c7406b90 | ||
|
|
a3aa25f83d | ||
|
|
37d19403e7 | ||
|
|
912209ee61 | ||
|
|
eeaf44276c | ||
|
|
9518856b9b | ||
|
|
1227fabb65 | ||
|
|
74fe2df2ad | ||
|
|
c78bd12b44 | ||
|
|
d3c9a1dae8 | ||
|
|
8ba60d7b65 | ||
|
|
ce1ef15b25 | ||
|
|
53dcd5eea1 | ||
|
|
bca114d528 | ||
|
|
4500581a7c | ||
|
|
0af2c24ef7 | ||
|
|
a48dddfe9c | ||
|
|
d1acf1fd4a | ||
|
|
8d1939e4d0 | ||
|
|
6a92093dcd | ||
|
|
a268f085db | ||
|
|
d373e57ea3 | ||
|
|
1627f7f733 | ||
|
|
c44899a28b | ||
|
|
18633d4f35 | ||
|
|
9d9e645081 | ||
|
|
59b775cca9 | ||
|
|
10226c05b1 | ||
|
|
5901471cec | ||
|
|
d45122f537 | ||
|
|
6709752fe7 | ||
|
|
9b48fb88ca | ||
|
|
d388c2c435 | ||
|
|
1275baeba7 | ||
|
|
cdd5d6f95f | ||
|
|
00e219d1c9 | ||
|
|
e76bdf8b87 | ||
|
|
81dbd783bd | ||
|
|
0afdc48532 | ||
|
|
e3d741065e | ||
|
|
07d18f39cc | ||
|
|
97298ffae9 | ||
|
|
073c34d72f | ||
|
|
111111d046 | ||
|
|
f03da4a008 | ||
|
|
34811f02bf | ||
|
|
c8c88afaa1 | ||
|
|
48da001fd9 | ||
|
|
d6ed71cbf4 | ||
|
|
8f3ecbd715 | ||
|
|
9144af5aa7 | ||
|
|
5992f213d7 | ||
|
|
b8605698b8 | ||
|
|
1c52c42fe2 | ||
|
|
735bb2af10 | ||
|
|
a9f60c421b | ||
|
|
cc9abfd0f4 | ||
|
|
bfb3c3d03a | ||
|
|
fc2f38023b | ||
|
|
0778385802 | ||
|
|
5e6c90121f | ||
|
|
d25468bcb2 | ||
|
|
fc95fdaebe | ||
|
|
20d83444dd | ||
|
|
450ccdc3aa | ||
|
|
fbc93bedff | ||
|
|
b642e4b853 | ||
|
|
ae39d1b233 | ||
|
|
b272c47433 | ||
|
|
4033bde841 | ||
|
|
e67245597e | ||
|
|
60c21332d2 | ||
|
|
1c702d1e92 | ||
|
|
371a20e048 | ||
|
|
5ab57a13dd | ||
|
|
c52a5bf09a | ||
|
|
82058eff59 | ||
|
|
e6cc3d8654 | ||
|
|
692c6c1576 | ||
|
|
1430808cae | ||
|
|
d90248844b | ||
|
|
d398e2c242 | ||
|
|
827a3087da | ||
|
|
3f8de86dec | ||
|
|
40749fb6eb | ||
|
|
131edf67a0 | ||
|
|
5155fb89b2 | ||
|
|
83ce0cf1f1 | ||
|
|
80d09f7452 | ||
|
|
592ef6c88f | ||
|
|
095c7a2683 | ||
|
|
58a7891ccf | ||
|
|
17ff4ccdf5 | ||
|
|
5cbb559046 | ||
|
|
5cc3061673 | ||
|
|
a5a349f302 | ||
|
|
d6e8777688 | ||
|
|
d14ecda913 | ||
|
|
1c3972daa8 | ||
|
|
e3dadc6818 | ||
|
|
207ad6b2e9 | ||
|
|
683d57f420 | ||
|
|
f76a51add0 | ||
|
|
4c261f4169 | ||
|
|
c0746cc9db | ||
|
|
7da95264f1 | ||
|
|
7172116ca5 | ||
|
|
a52e429f76 | ||
|
|
124b17673b | ||
|
|
ac5aa28889 | ||
|
|
9735a7b6ea | ||
|
|
eb1db76e34 | ||
|
|
b7f280ee3e | ||
|
|
9b9b6f3d51 | ||
|
|
8587b54268 | ||
|
|
91133c2d71 | ||
|
|
dcd7290654 | ||
|
|
df1fab5837 | ||
|
|
4004f95379 | ||
|
|
568717fd90 | ||
|
|
e300a0f8d2 | ||
|
|
a3f75312ec | ||
|
|
ad8526466c | ||
|
|
e4588af969 | ||
|
|
ead1f1086d | ||
|
|
df7bbd3813 | ||
|
|
58ddf10ea3 | ||
|
|
14da91e2f0 | ||
|
|
81c7948d9a | ||
|
|
2143cf7a50 | ||
|
|
12d5aa0f5a | ||
|
|
db1a15314d | ||
|
|
7da7ae937e | ||
|
|
49feac7a54 | ||
|
|
f4544767b4 | ||
|
|
ab90f87c41 | ||
|
|
75668d7916 | ||
|
|
cb0d69ed16 | ||
|
|
1722d6800f | ||
|
|
1f455fdca6 | ||
|
|
8ffae202ac | ||
|
|
82dc2b9af9 | ||
|
|
dc8907d8e3 | ||
|
|
457dd86d66 | ||
|
|
fb585745ad | ||
|
|
dc0a9729dd | ||
|
|
b289e9f9dd | ||
|
|
321b099643 | ||
|
|
be13fbfa83 | ||
|
|
3c0670e686 | ||
|
|
2d14ef0f2c | ||
|
|
9d9ef458e8 | ||
|
|
5f805fdf17 | ||
|
|
181df11887 | ||
|
|
5f45668080 | ||
|
|
dc1045be7d | ||
|
|
1f34bda1e2 | ||
|
|
a08cdce7ed | ||
|
|
2847050a61 | ||
|
|
609354bf0a | ||
|
|
5dba31494e | ||
|
|
ff352cfb97 | ||
|
|
ea52a52d7c | ||
|
|
6818af7ba5 | ||
|
|
60f984b262 | ||
|
|
113aef68fb | ||
|
|
a2ebaddda7 | ||
|
|
8bb9f66fc6 | ||
|
|
0a3da5b7f0 | ||
|
|
a5071b990d | ||
|
|
472894aae8 | ||
|
|
946b72c924 | ||
|
|
aaa848f3af | ||
|
|
f39bd08ad2 | ||
|
|
d118c548b5 | ||
|
|
8197c978ef | ||
|
|
9dd036f35c | ||
|
|
6dd7787c39 | ||
|
|
4c1eddf766 | ||
|
|
dc4e02572e | ||
|
|
f1f100b297 | ||
|
|
6e0874db3d | ||
|
|
877217b85a | ||
|
|
8759a648ba | ||
|
|
e815763e69 | ||
|
|
84209975fd | ||
|
|
a436d2018e | ||
|
|
dcd60f4398 | ||
|
|
c79dae6076 | ||
|
|
7cdeac023d | ||
|
|
3db3913ebb | ||
|
|
73f9a978ef | ||
|
|
8f6201a31f | ||
|
|
81e57ec5ff | ||
|
|
8773648e35 | ||
|
|
22b5d9c9a5 | ||
|
|
d36622dc44 | ||
|
|
dfae21c8cc | ||
|
|
2c957cd244 | ||
|
|
24cf75b9ef | ||
|
|
e0fb536aaf | ||
|
|
fbeec3d9bd | ||
|
|
04a32ee5ea | ||
|
|
2dda7734ba | ||
|
|
3abaf0c440 | ||
|
|
800cdeef31 | ||
|
|
af5521ca01 | ||
|
|
6794b278ce | ||
|
|
852403224e | ||
|
|
8dcad9aa9d | ||
|
|
9350da0dac | ||
|
|
ab77686565 | ||
|
|
fc484f605c | ||
|
|
525a59d6d3 | ||
|
|
54ba617e9f | ||
|
|
437fd80992 | ||
|
|
ebe2f31f19 | ||
|
|
ad102c4683 | ||
|
|
3a310cc017 | ||
|
|
93a0a8b3fd | ||
|
|
cf56996046 | ||
|
|
10d8289861 | ||
|
|
437e0729d8 | ||
|
|
d95c0113c9 | ||
|
|
b86b00567c | ||
|
|
ed795c0608 | ||
|
|
2152e3c5b2 | ||
|
|
202851dd8d | ||
|
|
040d1b2c4a | ||
|
|
38701758da | ||
|
|
f66963df93 | ||
|
|
1788a45637 | ||
|
|
2282ec3a04 | ||
|
|
7e2255e6c1 | ||
|
|
ce5d658c5c | ||
|
|
fd33c82c43 | ||
|
|
454fe58b49 | ||
|
|
eb229e889a | ||
|
|
4ac3df4290 |
37
.dir-locals.el
Normal file
37
.dir-locals.el
Normal file
@@ -0,0 +1,37 @@
|
||||
;; Per-directory local variables for GNU Emacs 23 and later.
|
||||
|
||||
((nil . ((fill-column . 78)
|
||||
(tab-width . 8)))
|
||||
(c-mode . ((c-file-style . "gnu")))
|
||||
(scheme-mode
|
||||
.
|
||||
((indent-tabs-mode . nil)
|
||||
(eval . (put 'test-assert 'scheme-indent-function 1))
|
||||
(eval . (put 'test-equal 'scheme-indent-function 1))
|
||||
(eval . (put 'test-eq 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
|
||||
(eval . (put 'guard 'scheme-indent-function 1))
|
||||
(eval . (put 'lambda* 'scheme-indent-function 1))
|
||||
(eval . (put 'substitute* 'scheme-indent-function 1))
|
||||
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
|
||||
(eval . (put 'package 'scheme-indent-function 0))
|
||||
(eval . (put 'origin 'scheme-indent-function 0))
|
||||
(eval . (put 'manifest-entry 'scheme-indent-function 0))
|
||||
(eval . (put 'manifest-pattern 'scheme-indent-function 0))
|
||||
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
|
||||
(eval . (put 'with-store 'scheme-indent-function 1))
|
||||
(eval . (put 'with-error-handling 'scheme-indent-function 0))
|
||||
(eval . (put 'with-mutex 'scheme-indent-function 1))
|
||||
(eval . (put 'with-atomic-file-output 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2))
|
||||
(eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
|
||||
(eval . (put 'signature-case 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
|
||||
(eval . (put 'with-monad 'scheme-indent-function 1))
|
||||
(eval . (put 'mlet* 'scheme-indent-function 2))
|
||||
(eval . (put 'mlet 'scheme-indent-function 2))
|
||||
(eval . (put 'run-with-store 'scheme-indent-function 1))))
|
||||
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
|
||||
(texinfo-mode . ((indent-tabs-mode . nil)
|
||||
(fill-column . 72))))
|
||||
50
.gitignore
vendored
50
.gitignore
vendored
@@ -24,6 +24,7 @@ config.cache
|
||||
/m4/progtest.m4
|
||||
/po/ChangeLog
|
||||
/po/Makefile.in.in
|
||||
/po/Makevars.template
|
||||
/po/POTFILES
|
||||
/po/Rules-quot
|
||||
/po/boldquot.sed
|
||||
@@ -34,7 +35,54 @@ config.cache
|
||||
/po/remove-potcdate.sin
|
||||
/po/stamp-po
|
||||
/po/guix.pot
|
||||
/guix-build
|
||||
/po/*.mo
|
||||
/po/*.gmo
|
||||
/tests/*.trs
|
||||
/INSTALL
|
||||
/m4/*
|
||||
/pre-inst-env
|
||||
/doc/.dirstamp
|
||||
/doc/guix.info
|
||||
/doc/guix.pdf
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
||||
/gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
||||
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
||||
/guix/config.scm
|
||||
/nix/nix-daemon/nix-daemon.cc
|
||||
/nix/config.h
|
||||
/nix/config.h.in
|
||||
stamp-h[0-9]
|
||||
/nix/AUTHORS
|
||||
/nix/COPYING
|
||||
/libformat.a
|
||||
/libstore.a
|
||||
/libutil.a
|
||||
/guix-daemon
|
||||
/test-tmp
|
||||
/nix/scripts/list-runtime-roots
|
||||
/test-env
|
||||
/nix/nix-setuid-helper/nix-setuid-helper.cc
|
||||
/scripts/guix
|
||||
/doc/guix.aux
|
||||
/doc/guix.cp
|
||||
/doc/guix.cps
|
||||
/doc/guix.fn
|
||||
/doc/guix.fns
|
||||
/doc/guix.ky
|
||||
/doc/guix.pg
|
||||
/doc/guix.toc
|
||||
/doc/guix.tp
|
||||
/doc/guix.vr
|
||||
/doc/guix.vrs
|
||||
/nix/scripts/substitute-binary
|
||||
/doc/images/bootstrap-graph.png
|
||||
/doc/images/bootstrap-graph.eps
|
||||
/guix-register
|
||||
GPATH
|
||||
GRTAGS
|
||||
GTAGS
|
||||
/nix-setuid-helper
|
||||
/nix/scripts/guix-authenticate
|
||||
/nix/scripts/offload
|
||||
|
||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "nix-upstream"]
|
||||
path = nix-upstream
|
||||
url = http://github.com/NixOS/nix.git
|
||||
26
AUTHORS
26
AUTHORS
@@ -1 +1,25 @@
|
||||
Ludovic Courtès <ludo@gnu.org>
|
||||
GNU Guix is consists of Scheme code that implements the deployment model
|
||||
of the Nix package management tool. In fact, it currently talks to a
|
||||
build daemon whose code comes from Nix (see the manual for details.)
|
||||
|
||||
Nix was initially written by Eelco Dolstra; other people have been
|
||||
contributing to it. See `nix/AUTHORS' for details.
|
||||
|
||||
The fine people listed below have contributed code to GNU Guix (in
|
||||
alphabetical order):
|
||||
|
||||
Eric Bavier <bavier@member.fsf.org>
|
||||
Ludovic Courtès <ludo@gnu.org>
|
||||
John Darrington <john@darrington.wattle.id.au>
|
||||
Andreas Enge <andreas@enge.fr>
|
||||
Alírio Eyng <alirioeyng@gmail.com>
|
||||
Guy Grant <gzg@riseup.net>
|
||||
Raimon Grau <raimonster@gmail.com>
|
||||
Nikita Karetnikov <nikita@karetnikov.org>
|
||||
Aljosha Papsch <misc@rpapsch.de>
|
||||
Manolis Ragkousis <manolis837@gmail.com>
|
||||
Cyril Roelandt <tipecaml@gmail.com>
|
||||
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
David Thompson <dthompson2@worcester.edu>
|
||||
Mark H. Weaver <mhw@netris.org>
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
Please see the Git commit log at <https://gitorious.org/guix>.
|
||||
Normally a ChangeLog is generated at "make dist" time and available in
|
||||
source tarballs.
|
||||
|
||||
If not, see the Git commit log at <http://git.sv.gnu.org/cgit/guix.git/>.
|
||||
|
||||
171
HACKING
Normal file
171
HACKING
Normal file
@@ -0,0 +1,171 @@
|
||||
-*- mode: org; coding: utf-8; -*-
|
||||
|
||||
#+TITLE: Hacking GNU Guix and Its Incredible Distro
|
||||
|
||||
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
Copyright © 2014 Pierre-Antoine Rault <par@rigelk.eu>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
|
||||
* Building from Git
|
||||
|
||||
When building Guix from a checkout, the following packages are required in
|
||||
addition to those mentioned in the installation instructions:
|
||||
|
||||
- [[http://www.gnu.org/software/autoconf/][GNU Autoconf]]
|
||||
- [[http://www.gnu.org/software/automake/][GNU Automake]]
|
||||
- [[http://www.gnu.org/software/gettext/][GNU Gettext]]
|
||||
- [[http://www.graphviz.org/][Graphviz]]
|
||||
|
||||
Run ‘./bootstrap’ to download the Nix daemon source code and to generate the
|
||||
build system infrastructure using autoconf. It reports an error if an
|
||||
inappropriate version of the above packages is being used.
|
||||
|
||||
The ‘bootstrap’ script, among other things, invokes ‘git submodule update’; if
|
||||
you didn’t run it, you may get the following error:
|
||||
|
||||
make: *** No rule to make target `nix/libstore/schema.sql', needed by
|
||||
`nix/libstore/schema.sql.hh'
|
||||
|
||||
If you get an error like this one:
|
||||
|
||||
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
|
||||
|
||||
it probably means that Autoconf couldn’t find ‘pkg.m4’, which is provided by
|
||||
pkg-config. Make sure that ‘pkg.m4’ is available. For instance, if you
|
||||
installed Automake in ‘/usr/local’, it wouldn’t look for ‘.m4’ files in
|
||||
‘/usr/share’. So you have to invoke the following command in that case
|
||||
|
||||
$ export ACLOCAL_PATH=/usr/share/aclocal
|
||||
|
||||
See “info '(automake) Macro Search Path'” for more information.
|
||||
|
||||
Then, run ‘./configure’ as usual.
|
||||
|
||||
Finally, you have to invoke ‘make check’ to run tests. If anything fails,
|
||||
take a look at “info '(guix) Installation'” or send a message to
|
||||
<guix-devel@gnu.org>.
|
||||
|
||||
* Running Guix before it is installed
|
||||
|
||||
Command-line tools can be used even if you have not run "make install".
|
||||
To do that, prefix each command with ‘./pre-inst-env’, as in:
|
||||
|
||||
./pre-inst-env guix build --help
|
||||
|
||||
Similarly, for a Guile session using the Guix modules:
|
||||
|
||||
./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
|
||||
|
||||
The ‘pre-inst-env’ script sets up all the environment variables
|
||||
necessary to support this.
|
||||
|
||||
* The Perfect Setup
|
||||
|
||||
The Perfect Setup to hack on Guix is basically the perfect setup used
|
||||
for Guile hacking (info "(guile) Using Guile in Emacs"). First, you
|
||||
need more than an editor, you need [[http://www.gnu.org/software/emacs][Emacs]], empowered by the wonderful
|
||||
[[http://nongnu.org/geiser/][Geiser]].
|
||||
|
||||
Geiser allows for interactive and incremental development from within
|
||||
Emacs: code compilation and evaluation from within buffers, access to
|
||||
on-line documentation (docstrings), context-sensitive completion, M-. to
|
||||
jump to an object definition, a REPL to try out your code, and more.
|
||||
|
||||
To actually edit the code, Emacs already has a neat Scheme mode. But in
|
||||
addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Paredit]]. It provides facilities to
|
||||
directly operate on the syntax tree, such as raising an s-expression or
|
||||
wrapping it, swallowing or rejecting the following s-expression, etc.
|
||||
|
||||
* Submitting Patches
|
||||
|
||||
Development is done using the Git distributed version control system. Thus,
|
||||
access to the repository is not strictly necessary. We welcome contributions
|
||||
in the form of patches as produced by ‘git format-patch’ sent to
|
||||
guix-devel@gnu.org. Please write commit logs in the [[http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs][GNU ChangeLog
|
||||
format]]; you can check the commit history for examples.
|
||||
|
||||
When posting a patch to the mailing list, use "[PATCH] ..." as a subject. You
|
||||
may use your email client or the ‘git send-mail’ command.
|
||||
|
||||
As you become a regular contributor, you may find it convenient to have write
|
||||
access to the repository (see below.)
|
||||
|
||||
* Coding Style
|
||||
|
||||
In general our code follows the [[info:standards][GNU Coding Standards]] (GCS). However, the GCS
|
||||
do not say much about Scheme, so here are some additional rules.
|
||||
|
||||
** Programming Paradigm
|
||||
|
||||
Scheme code in Guix is written in a purely functional style. One exception is
|
||||
code that involves input/output, and procedures that implement low-level
|
||||
concepts, such as the ‘memoize’ procedure.
|
||||
|
||||
** Modules
|
||||
|
||||
Guile modules that are meant to be used on the builder side must live in the
|
||||
(guix build …) name space. They must not refer to other Guix or GNU modules.
|
||||
However, it is OK for a “host-side” module to use a build-side module.
|
||||
|
||||
Modules that deal with the broader GNU system should be in the (gnu …) name
|
||||
space rather than (guix …).
|
||||
|
||||
** Data Types and Pattern Matching
|
||||
|
||||
The tendency in classical Lisp is to use lists to represent everything, and
|
||||
then to browse them “by hand” using ‘car’, ‘cdr’, ‘cadr’, and co. There are
|
||||
several problems with that style, notably the fact that it is hard to read,
|
||||
error-prone, and a hindrance to proper type error reports.
|
||||
|
||||
Guix code should define appropriate data types (for instance, using
|
||||
‘define-record-type*’) rather than abuse lists. In addition, it should use
|
||||
pattern matching, via Guile’s (ice-9 match) module, especially when matching
|
||||
lists.
|
||||
|
||||
** Formatting Code
|
||||
|
||||
When writing Scheme code, we follow common wisdom among Scheme programmers.
|
||||
In general, we follow the [[http://mumble.net/~campbell/scheme/style.txt][Riastradh's Lisp Style Rules]]. This document happens
|
||||
to describe the conventions mostly used in Guile’s code too. It is very
|
||||
thoughtful and well written, so please do read it.
|
||||
|
||||
Some special forms introduced in Guix, such as the ‘substitute*’ macro, have
|
||||
special indentation rules. These are defined in the .dir-locals.el file,
|
||||
which Emacs automatically uses. If you do not use Emacs, please make sure to
|
||||
let your editor know the rules.
|
||||
|
||||
We require all top-level procedures to carry a docstring. This requirement
|
||||
can be relaxed for simple private procedures in the (guix build …) name space,
|
||||
though.
|
||||
|
||||
Procedures should not have more than four positional parameters. Use keyword
|
||||
parameters for procedures that take more than four parameters.
|
||||
|
||||
* Commit Access
|
||||
|
||||
For frequent contributors, having write access to the repository is
|
||||
convenient. When you deem it necessary, feel free to ask for it on the
|
||||
mailing list. When you get commit access, please make sure to follow the
|
||||
policy below (discussions of the policy can take place on guix-devel@gnu.org.)
|
||||
|
||||
Non-trivial patches should always be posted to guix-devel@gnu.org (trivial
|
||||
patches include fixing typos, etc.)
|
||||
|
||||
For patches that just add a new package, and a simple one, it’s OK to commit,
|
||||
if you’re confident (which means you successfully built it in a chroot setup,
|
||||
and have done a reasonable copyright and license auditing.) Likewise for
|
||||
package upgrades. We have a mailing list for commit notifications
|
||||
(guix-commits@gnu.org), so people can notice. Before pushing your changes,
|
||||
make sure to run ‘git pull --rebase’.
|
||||
|
||||
For anything else, please post to guix-devel@gnu.org and leave time for a
|
||||
review, without committing anything. If you didn’t receive any reply
|
||||
after two weeks, and if you’re confident, it’s OK to commit.
|
||||
|
||||
That last part is subject to being adjusted, allowing individuals to commit
|
||||
directly on non-controversial changes on parts they’re familiar with.
|
||||
270
Makefile.am
270
Makefile.am
@@ -1,73 +1,233 @@
|
||||
# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
#
|
||||
# This file is part of Guix.
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
# Guix is free software; you can redistribute it and/or modify it
|
||||
# GNU Guix 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 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# Guix is distributed in the hope that it will be useful, but
|
||||
# GNU Guix 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 Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
bin_SCRIPTS = guix-build
|
||||
bin_SCRIPTS = \
|
||||
scripts/guix
|
||||
|
||||
nodist_noinst_SCRIPTS = \
|
||||
pre-inst-env \
|
||||
test-env
|
||||
|
||||
include gnu-system.am
|
||||
|
||||
MODULES = \
|
||||
guix/base32.scm \
|
||||
guix/base64.scm \
|
||||
guix/records.scm \
|
||||
guix/hash.scm \
|
||||
guix/pk-crypto.scm \
|
||||
guix/pki.scm \
|
||||
guix/utils.scm \
|
||||
guix/download.scm \
|
||||
guix/git-download.scm \
|
||||
guix/monads.scm \
|
||||
guix/profiles.scm \
|
||||
guix/serialization.scm \
|
||||
guix/nar.scm \
|
||||
guix/derivations.scm \
|
||||
guix/gnu-maintenance.scm \
|
||||
guix/licenses.scm \
|
||||
guix/build-system.scm \
|
||||
guix/build-system/cmake.scm \
|
||||
guix/build-system/gnu.scm \
|
||||
guix/http.scm \
|
||||
guix/build-system/perl.scm \
|
||||
guix/build-system/python.scm \
|
||||
guix/build-system/trivial.scm \
|
||||
guix/ftp-client.scm \
|
||||
guix/http-client.scm \
|
||||
guix/gnupg.scm \
|
||||
guix/store.scm \
|
||||
guix/svn-download.scm \
|
||||
guix/ui.scm \
|
||||
guix/build/download.scm \
|
||||
guix/build/cmake-build-system.scm \
|
||||
guix/build/git.scm \
|
||||
guix/build/gnome.scm \
|
||||
guix/build/gnu-build-system.scm \
|
||||
guix/build/http.scm \
|
||||
guix/build/gnu-dist.scm \
|
||||
guix/build/linux-initrd.scm \
|
||||
guix/build/perl-build-system.scm \
|
||||
guix/build/python-build-system.scm \
|
||||
guix/build/utils.scm \
|
||||
guix/build/union.scm \
|
||||
guix/build/pull.scm \
|
||||
guix/build/rpath.scm \
|
||||
guix/build/svn.scm \
|
||||
guix/packages.scm \
|
||||
guix/snix.scm \
|
||||
guix/scripts/download.scm \
|
||||
guix/scripts/build.scm \
|
||||
guix/scripts/archive.scm \
|
||||
guix/scripts/import.scm \
|
||||
guix/scripts/package.scm \
|
||||
guix/scripts/gc.scm \
|
||||
guix/scripts/hash.scm \
|
||||
guix/scripts/pull.scm \
|
||||
guix/scripts/substitute-binary.scm \
|
||||
guix/scripts/authenticate.scm \
|
||||
guix/scripts/refresh.scm \
|
||||
guix/scripts/system.scm \
|
||||
guix.scm \
|
||||
distro.scm \
|
||||
distro/base.scm
|
||||
$(GNU_SYSTEM_MODULES)
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go)
|
||||
if BUILD_DAEMON_OFFLOAD
|
||||
|
||||
nobase_dist_guilemodule_DATA = \
|
||||
$(MODULES) \
|
||||
distro/guile-1.8-cpp-4.5.patch
|
||||
MODULES += \
|
||||
guix/scripts/offload.scm
|
||||
|
||||
nobase_nodist_guilemodule_DATA = $(GOBJECTS)
|
||||
endif BUILD_DAEMON_OFFLOAD
|
||||
|
||||
TESTS = \
|
||||
# Because of the autoload hack in (guix build download), we must build it
|
||||
# first to avoid errors on systems where (gnutls) is unavailable.
|
||||
guix/scripts/download.go: guix/build/download.go
|
||||
guix/download.go: guix/build/download.go
|
||||
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go
|
||||
|
||||
nobase_dist_guilemodule_DATA = $(MODULES)
|
||||
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
|
||||
|
||||
# Do we need to provide our own non-broken (srfi srfi-37) module?
|
||||
if INSTALL_SRFI_37
|
||||
|
||||
nobase_nodist_guilemodule_DATA += srfi/srfi-37.scm
|
||||
GOBJECTS += srfi/srfi-37.go
|
||||
|
||||
srfi/srfi-37.scm: srfi/srfi-37.scm.in
|
||||
$(MKDIR_P) srfi
|
||||
cp "$<" "$@"
|
||||
|
||||
endif INSTALL_SRFI_37
|
||||
|
||||
# Handy way to remove the .go files without removing all the rest.
|
||||
clean-go:
|
||||
-$(RM) -f $(GOBJECTS)
|
||||
|
||||
|
||||
SCM_TESTS = \
|
||||
tests/base32.scm \
|
||||
tests/base64.scm \
|
||||
tests/hash.scm \
|
||||
tests/pk-crypto.scm \
|
||||
tests/pki.scm \
|
||||
tests/substitute-binary.scm \
|
||||
tests/builders.scm \
|
||||
tests/derivations.scm \
|
||||
tests/ui.scm \
|
||||
tests/records.scm \
|
||||
tests/utils.scm \
|
||||
tests/build-utils.scm \
|
||||
tests/packages.scm
|
||||
tests/packages.scm \
|
||||
tests/snix.scm \
|
||||
tests/store.scm \
|
||||
tests/monads.scm \
|
||||
tests/nar.scm \
|
||||
tests/union.scm \
|
||||
tests/profiles.scm
|
||||
|
||||
TESTS_ENVIRONMENT = \
|
||||
NIXPKGS="$(NIXPKGS)"; \
|
||||
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH"; \
|
||||
export NIXPKGS GUILE_LOAD_COMPILED_PATH;
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
tests/guix-download.sh \
|
||||
tests/guix-gc.sh \
|
||||
tests/guix-hash.sh \
|
||||
tests/guix-package.sh \
|
||||
tests/guix-archive.sh \
|
||||
tests/guix-authenticate.sh
|
||||
|
||||
LOG_COMPILER = \
|
||||
$(GUILE) --no-auto-compile -L "$(top_srcdir)"
|
||||
if BUILD_DAEMON
|
||||
|
||||
EXTRA_DIST = build-aux/config.rpath $(TESTS)
|
||||
SH_TESTS += tests/guix-register.sh
|
||||
|
||||
CLEANFILES = $(GOBJECTS) *.log
|
||||
endif BUILD_DAEMON
|
||||
|
||||
|
||||
TESTS = $(SCM_TESTS) $(SH_TESTS)
|
||||
|
||||
TEST_EXTENSIONS = .scm .sh
|
||||
|
||||
AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)"
|
||||
|
||||
SCM_LOG_COMPILER = $(top_builddir)/test-env $(GUILE)
|
||||
AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)"
|
||||
|
||||
SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL)
|
||||
AM_SH_LOG_FLAGS = -x -e
|
||||
|
||||
# Make sure `tests/guix-gc.sh' runs last, after all the others. Otherwise it
|
||||
# could end up removing files from the store while they are being used by
|
||||
# other instances of the daemon.
|
||||
tests/guix-gc.log: \
|
||||
$(patsubst %.sh,%.log,$(filter-out tests/guix-gc.sh,$(SH_TESTS))) \
|
||||
$(SCM_TESTS:%.scm=%.log)
|
||||
|
||||
# Public key used to sign substitutes from hydra.gnu.org.
|
||||
dist_pkgdata_DATA = hydra.gnu.org.pub
|
||||
|
||||
EXTRA_DIST = \
|
||||
HACKING \
|
||||
ROADMAP \
|
||||
TODO \
|
||||
.dir-locals.el \
|
||||
build-aux/hydra/gnu-system.scm \
|
||||
build-aux/hydra/demo-os.scm \
|
||||
build-aux/hydra/guix.scm \
|
||||
build-aux/check-available-binaries.scm \
|
||||
build-aux/download.scm \
|
||||
build-aux/list-packages.scm \
|
||||
build-aux/sync-descriptions.scm \
|
||||
srfi/srfi-37.scm.in \
|
||||
srfi/srfi-64.scm \
|
||||
srfi/srfi-64.upstream.scm \
|
||||
tests/test.drv \
|
||||
tests/signing-key.pub \
|
||||
tests/signing-key.sec \
|
||||
build-aux/config.rpath \
|
||||
bootstrap \
|
||||
release.nix \
|
||||
$(TESTS)
|
||||
|
||||
if !BUILD_DAEMON_OFFLOAD
|
||||
|
||||
EXTRA_DIST += \
|
||||
guix/scripts/offload.scm
|
||||
|
||||
endif !BUILD_DAEMON_OFFLOAD
|
||||
|
||||
|
||||
CLEANFILES = \
|
||||
$(GOBJECTS) \
|
||||
$(SCM_TESTS:tests/%.scm=%.log)
|
||||
|
||||
AM_V_GUILEC = $(AM_V_GUILEC_$(V))
|
||||
AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
|
||||
AM_V_GUILEC_0 = @echo " GUILEC" $@;
|
||||
|
||||
# XXX: Use the C locale for when Guile lacks
|
||||
# <http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>.
|
||||
.scm.go:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
NIXPKGS="$(NIXPKGS)" \
|
||||
GUILE_AUTO_COMPILE=0 \
|
||||
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
|
||||
$(GUILD) compile -L "$(top_srcdir)" \
|
||||
-Wformat -Wunbound-variable -Warity-mismatch \
|
||||
--target="$(host)" \
|
||||
$(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ; \
|
||||
LC_ALL=C \
|
||||
$(top_builddir)/pre-inst-env \
|
||||
$(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)" \
|
||||
-Wformat -Wunbound-variable -Warity-mismatch \
|
||||
--target="$(host)" \
|
||||
-o "$@" "$<"
|
||||
|
||||
SUFFIXES = .go
|
||||
@@ -82,4 +242,48 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
|
||||
|
||||
SUBDIRS = po
|
||||
|
||||
include doc.am
|
||||
|
||||
if BUILD_DAEMON
|
||||
|
||||
include daemon.am
|
||||
|
||||
endif BUILD_DAEMON
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \
|
||||
--with-nix-prefix="$(NIX_PREFIX)" \
|
||||
--enable-daemon
|
||||
|
||||
dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names
|
||||
distcheck-hook: assert-binaries-available
|
||||
|
||||
sync-descriptions:
|
||||
-$(top_builddir)/pre-inst-env $(GUILE) \
|
||||
$(top_srcdir)/build-aux/sync-descriptions.scm
|
||||
|
||||
gen-ChangeLog:
|
||||
if test -d .git; then \
|
||||
$(top_srcdir)/build-aux/gitlog-to-changelog \
|
||||
> $(distdir)/cl-t; \
|
||||
rm -f $(distdir)/ChangeLog; \
|
||||
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
||||
fi
|
||||
|
||||
# Make sure we're not shipping a file that embeds a local /gnu/store file name.
|
||||
assert-no-store-file-names:
|
||||
if grep -r --exclude=*.texi --exclude=*.info \
|
||||
"$(storedir)/[a-z0-9]{32}-" $(distdir) ; \
|
||||
then \
|
||||
echo "error: store file names embedded in the distribution" >&2 ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
# Make sure hydra.gnu.org has the important binaries.
|
||||
assert-binaries-available:
|
||||
$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/check-available-binaries.scm"
|
||||
|
||||
.PHONY: sync-descriptions gen-ChangeLog clean-go
|
||||
.PHONY: assert-no-store-file-names assert-binaries-available
|
||||
|
||||
537
NEWS
537
NEWS
@@ -1 +1,536 @@
|
||||
No news yet.
|
||||
-*- org -*-
|
||||
#+TITLE: Guix NEWS – history of user-visible changes
|
||||
#+STARTUP: content hidestars
|
||||
|
||||
Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 0.6 (since 0.5)
|
||||
** Package management
|
||||
*** Default store directory changed to /gnu/store
|
||||
|
||||
Although it is still possible to configure Guix to use the old store
|
||||
directory, we recommend that you start with a fresh install to /gnu/store.
|
||||
|
||||
*** Substitutes from hydra.gnu.org must now be signed and authorized
|
||||
*** Support for offloading builds to other Guix machines over SSH
|
||||
*** New ‘guix archive’ command
|
||||
*** New ‘guix system’ command; it can currently build VM images
|
||||
*** ‘guix package’ accepts several arguments after -i, -r, and -u
|
||||
*** Updating a profile with ‘guix package’ is now noticeably faster
|
||||
*** ‘guix build’ can override a package’s source with the new ‘--with-source’
|
||||
*** ‘guix build’ has a new ‘--no-build-hook’ option
|
||||
*** ‘guix’ commands that build packages have a common set of options
|
||||
*** ‘guix hash’ has a new ‘--recursive’ option
|
||||
*** Daemon no longer bind-mounts the host’s /dev (improves reproducibility)
|
||||
** Programming interfaces
|
||||
*** New (guix pk-crypto) and (guix pki) modules for public key cryptography
|
||||
*** New #:local-build? parameter for derivations that shouldn’t be offloaded
|
||||
*** (gnu system vm) has procedures to build VMs that share the host’s store
|
||||
*** New ‘text-file*’ procedure in (guix monads)
|
||||
*** System service definitions are now provided by the (guix services) modules
|
||||
*** New X and SLiM services in (gnu services xorg)
|
||||
*** New (guix git-download) and (guix svn-download) for git/svn checkouts
|
||||
** GNU distribution
|
||||
*** 91 new packages
|
||||
|
||||
a2ps, asciidoc, aspell-dict-en, aspell-dict-eo, aspell-dict-es,
|
||||
aspell-dict-fr, aumix, bitlbee, bogofilter, boost, calcurse, clusterssh,
|
||||
corkscrew, cursynth, docbook-xml, docbook-xsl, elfutils, enscript, fftwf,
|
||||
fltk, fuse, gcc-toolchain, giflib, glade, gmime, gnome-desktop, gnubg, gnubik,
|
||||
gnumach-headers, gnunet, gnuplot, gnurl, gphoto2, gtkglext, guile-json,
|
||||
guile-reader-for-guile_2.0.11, gxmessage, hdf5, hurd-headers, inkscape, iotop,
|
||||
isc-dhcp, iso-codes, jnettop, libatomic-ops, libexif, libgphoto2, libmpcdec,
|
||||
libmpdclient, libotr, libpcap, libpeas, libpipeline, libtirpc, libwebsockets,
|
||||
ltrace, luajit, lynx, man-db, mc, mig, miniupnpc, moe, mpc123, mpd, ncdc,
|
||||
ncdu, ncmpc, neon, neon, octave, opus, paperkey, patchutils, perl-tk,
|
||||
perl-x11-protocol, pinentry, python2-element-tree, python2-pybugz, quilt,
|
||||
source-highlight, stalonetray, trueprint, ttf-dejavu, unionfs-fuse,
|
||||
unionfs-fuse-static, uucp, vera, windowmaker, xapian, xterm
|
||||
|
||||
*** 90 package updates
|
||||
|
||||
apl-1.3, autoconf-2.68, automake-1.14.1, bash-4.3, bash-light-4.3,
|
||||
bigloo-4.1a, binutils-2.24, binutils-static-stripped-tarball-2.24,
|
||||
coreutils-8.22, curl-7.35.0, ed-1.10, ffmpeg-2.1.4, file-5.18, freeipmi-1.4.1,
|
||||
gcc-4.8.2, gcc-4.8.2, gdb-7.7, gdbm-1.11, gettext-0.18.3.2, glib-2.39.1,
|
||||
glibc-2.19, glibc-stripped-tarball-2.19, global-6.2.12, glpk-4.54,
|
||||
gnu-pw-mgr-1.2, gnupg-1.4.16, gnutls-3.2.12, gp2c-0.0.8pl1, grep-2.18,
|
||||
gst-plugins-base-0.10.36, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-2.24.2,
|
||||
guile-2.0.11, guile-ssh-0.6.0, guile-static-stripped-tarball-2.0.11,
|
||||
guile-wm-1.0, guile-xcb-1.3, guix-0.5, help2man-1.45.1, icu4c-52.1,
|
||||
imagemagick-6.8.8-10, inetutils-1.9.2, lapack-3.5.0, libcdio-0.92,
|
||||
libdrm-2.4.46, libextractor-1.3, libgc-7.2e, libgc-7.4.0, libgcrypt-1.6.1,
|
||||
libjpeg-9, libmicrohttpd-0.9.34, libssh-0.6.3, libtasn1-3.4, lightning-2.0.3,
|
||||
linux-libre-3.13.7, mpc-1.0.2, mutt-1.5.23, net-base-5.2, ocrad-0.23,
|
||||
openssh-6.6p1, openssl-1.0.1g, parallel-20140322, pari-gp-2.7.0, pspp-0.8.2,
|
||||
pulseaudio-5.0, python-2.7.6, python-3.3.5, python-wrapper-3.3.5,
|
||||
python2-pysqlite-2.6.3a, qemu-1.7.1, qemu-headless-1.7.1,
|
||||
qemu-with-multiple-smb-shares-1.7.1, qt-4.8.5, qt-5.2.0, readline-6.3,
|
||||
recutils-1.7, slim-1.3.6, sqlite-3.8.4.3, subversion-1.7.14, texinfo-4.13a,
|
||||
tor-0.2.4.21, tzdata-2014a, units-2.11, valgrind-3.9.0, vim-7.4, wget-1.15,
|
||||
xnee-3.18, xorriso-1.3.6.pl01, zile-2.4.11
|
||||
|
||||
*** New ‘gcc-toolchain’ meta-package, makes it easy to install a GCC tool chain
|
||||
*** libc’s Info manual is now installed
|
||||
*** Binutils is built with --enable-deterministic-archives
|
||||
*** Packages that populated man/man* now populate share/man/man*
|
||||
*** Many other packaging improvements
|
||||
** Bugs fixed
|
||||
*** ‘guix pull’ consumes less memory, compiles in parallel
|
||||
*** ‘guix package --list-*’ gracefully handles EPIPE when used in a pipeline
|
||||
*** ‘guix package’ handles collisions between a symlink and a directory
|
||||
(http://bugs.gnu.org/17083)
|
||||
*** HTTP downloads provide a ‘User-Agent’ field (http://bugs.gnu.org/16703)
|
||||
*** ‘guix package’ no longer shows misleading installed package number
|
||||
(http://bugs.gnu.org/16484)
|
||||
*** Manual suggests ‘useradd --system’ (http://bugs.gnu.org/16289)
|
||||
*** Python is built with ctypes support (http://bugs.gnu.org/16569)
|
||||
*** HTTP/TLS connection not terminated properly (http://bugs.gnu.org/14884)
|
||||
*** Gracefully handle poorly behaved HTTP servers (http://bugs.gnu.org/15733)
|
||||
|
||||
* Changes in 0.5 (since 0.4)
|
||||
** Package management
|
||||
*** GNU package descriptions synchronized with the ‘gnumaint’ repository
|
||||
|
||||
In addition to synopses, descriptions of GNU packages are now kept in sync
|
||||
with the ‘gnumaint’ repository, which is the canonical place for GNU package
|
||||
meta-data.
|
||||
|
||||
** Programming interfaces
|
||||
*** Patches are now listed as part of ‘origin’
|
||||
|
||||
The ‘origin’ form supports two new fields: ‘patches’ (list of patches), and
|
||||
‘snippet’ (code snippet to modify the source.) These are applied when running
|
||||
‘guix build --source’. See “Defining Packages” in the manual.
|
||||
|
||||
*** New (guix monads) monadic interface to operate on the store
|
||||
|
||||
See “The Store Monad” in the manual. The (gnu system …) modules have been
|
||||
rewritten to use this monadic interface.
|
||||
|
||||
*** New (guix profiles) module
|
||||
|
||||
It provides an API for dealing with profiles, as with the ‘guix package’
|
||||
command.
|
||||
|
||||
*** New (gnu system) module
|
||||
|
||||
This module provides a generic way to describe the system’s configuration,
|
||||
and to instantiate it, regardless of the final medium (QEMU image, etc.)
|
||||
See “System Configuration” in the manual.
|
||||
|
||||
This is work in progress. Send feedback to guix-devel@gnu.org!
|
||||
|
||||
*** ‘build-expression->derivation’ uses more parameters
|
||||
|
||||
Some positional parameters have been changed to keyword parameters.
|
||||
See “Derivations” in the manual.
|
||||
|
||||
** GNU distribution
|
||||
*** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)
|
||||
|
||||
Bootstrap binaries have been built for that architecture, and several
|
||||
Loongson-specific patches not yet available upstream have been applied to core
|
||||
packages. See “GNU Distribution” and “Porting” in the manual.
|
||||
|
||||
Pre-built binaries are not yet available via hydra.gnu.org, so Guix will
|
||||
build from source on this platform.
|
||||
|
||||
*** 110 new packages
|
||||
|
||||
acct, alive, alsa-utils, apl, at-spi2-atk, at-spi2-core, atkmm, autogen,
|
||||
automoc4, brasero, bridge-utils, cairomm, catkin, complexity, evince, ffmpeg,
|
||||
fftw, ftgl, gcc-objc, gcc-objc++, gccgo, gcl, gfortran, glibmm, glpk,
|
||||
gnome-icon-theme, gnu-pw-mgr, gp2c, gpgme, gsettings-desktop-schemas, gtkmm,
|
||||
gtksourceview, guile-ssh, guile-wm, gvpe, hicolor-icon-theme, httpd, icecat,
|
||||
icon-naming-utils, json-c, lapack, libcanberra, libcap, libgnome-keyring,
|
||||
libmikmod, libnl, libnotify, libsamplerate, libsigc++, libsndfile, libssh,
|
||||
libtheora, libxkbcommon, mercurial, mtools, netcat, pangomm, parallel,
|
||||
pavucontrol, pciutils, pem, perl-encode-locale, perl-file-list,
|
||||
perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies,
|
||||
perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate,
|
||||
perl-io-html, perl-libwww, perl-libxml, perl-lwp-mediatypes, perl-net-http,
|
||||
perl-uri, perl-www-robotrules, perl-xml-dom, perl-xml-regexp, perl-xml-simple,
|
||||
phonon, powertop, pulseaudio, python2-dogtail, python2-empy, qemu-headless,
|
||||
qt, qt, raptor2, scons, sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf,
|
||||
sdl2, serveez, shared-mime-info, sharutils, skribilo, slim, soprano, swig,
|
||||
xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm
|
||||
|
||||
*** 47 package updates
|
||||
|
||||
atk 2.10.0, bison 3.0.2, cmake 2.8.12, dmd 0.1, freeipmi 1.3.3, gcc 4.8.2,
|
||||
gcc 4.8.2, gcc-cross-mips64el-linux-gnuabi64 4.8.2, gcc-stripped-tarball 4.8.2,
|
||||
gdb 7.6.2, gettext 0.18.3.1, glib 2.38.0, global 6.2.9, gmp 5.1.3,
|
||||
gnupg 2.0.22, gobject-introspection 1.38.0, grep 2.15, gsl 1.16,
|
||||
gtk+ 2.24.21, gtk+ 3.10.1, guile 2.0.9, guile 2.0.9, guile-xcb 1.2,
|
||||
harfbuzz 0.9.22, hello 2.9, iproute2 3.12.0, libdrm 2.4.46,
|
||||
libextractor 1.2, libjpeg 9, libmicrohttpd 0.9.32, lightning 2.0.2,
|
||||
linux-libre 3.12, lzip 1.15, make 4.0, mit-krb5 1.11.3, pari-gp 2.5.5,
|
||||
pixman 0.32.4, python 3.3.2, qemu 1.6.1,
|
||||
qemu-with-multiple-smb-shares 1.6.1, rcs 5.9.2, recutils 1.6, rsync 3.1.0,
|
||||
tar 1.27.1, texinfo 5.2, units 2.02, xorriso 1.3.2
|
||||
|
||||
*** Packages are now built with GCC 4.8.2 by default (was 4.7.3)
|
||||
|
||||
** Native language support
|
||||
*** New ‘sr’ (Serbian) translation
|
||||
*** New ‘vi’ (Vietnamese) translation
|
||||
*** Updated ‘pt_BR’ (Brazilian Portuguese) translation
|
||||
** Bugs fixed
|
||||
*** ‘guix pull’ compiles Guix deterministically and correctly
|
||||
|
||||
Previously, the build environment was not cleared in between ‘compile-file’
|
||||
calls, leading to build errors due to Guile bug http://bugs.gnu.org/15602 .
|
||||
|
||||
*** ‘guix package’ allows removal of a specific package output
|
||||
(http://bugs.gnu.org/15756)
|
||||
*** ‘guix-daemon’ always sets umask to 022
|
||||
(http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html)
|
||||
*** Files referenced by environment variables are protected from GC
|
||||
*** Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283)
|
||||
*** ‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640)
|
||||
|
||||
* Changes in 0.4 (since 0.3)
|
||||
|
||||
** Package management
|
||||
|
||||
*** New ‘--list-generations’ and ‘--delete-generations’ options
|
||||
|
||||
The ‘guix package’ command has these two new options, which make it easier to
|
||||
deal with a profile’s generation. See “Invoking guix package” in the manual.
|
||||
|
||||
*** New ‘guix-register’ program
|
||||
|
||||
This program allows the meta-data of a new store to be initialized, by
|
||||
copying info from an existing store. It is mostly an internal tool.
|
||||
|
||||
** Programming interfaces
|
||||
|
||||
*** New API to bootstrap Autotools-based packages
|
||||
|
||||
The (guix build-system gnu) has a new ‘dist-package’ procedure that takes a
|
||||
package object and source directory, and returns a new package object that
|
||||
runs ‘./bootstrap && make dist’ or anything similar.
|
||||
|
||||
*** ‘derivation’ and related procedures have a #:references-graphs parameter
|
||||
|
||||
This parameter instructs the build daemon to populate the derivation’s build
|
||||
tree with files containing the list of references of the given store files.
|
||||
This is useful to write code that copies a packages and all its dependencies
|
||||
to another storage device, such as a QEMU disk image.
|
||||
|
||||
*** Extended API to build a GNU system virtual machine image
|
||||
|
||||
The (gnu system vm) module has been augmented in many ways: the ‘qemu-image’
|
||||
procedure can now populate and initialize the image’s store; the new
|
||||
‘system-qemu-image’ procedure returns a QEMU image that runs dmd as its init
|
||||
system, has ‘login’ running on several consoles, has a set of installed
|
||||
packages, and where Guix can be used.
|
||||
|
||||
New (gnu system …) modules have been added to handle the configuration of the
|
||||
various parts of a GNU/Linux system. For instance, (gnu system dmd) provides
|
||||
support for instantiating dmd services; (gnu system linux) helps with Linux
|
||||
PAM configuration; and so on.
|
||||
|
||||
*** <derivation> objects supersede .drv file names in the API
|
||||
|
||||
‘derivation’ and similar procedures no longer return two values (a
|
||||
<derivation> and a .drv file name); they now return a single value, which is
|
||||
a <derivation> object. The <derivation> object embeds the corresponding .drv
|
||||
file name. See “Derivations” in the manual for details.
|
||||
|
||||
** GNU distribution
|
||||
|
||||
*** 60 new packages
|
||||
|
||||
apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail,
|
||||
freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils,
|
||||
gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop,
|
||||
itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt,
|
||||
net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz,
|
||||
python-setuptools, python-simplejson, python-wrapper, python2-babel,
|
||||
python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite,
|
||||
python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd,
|
||||
qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units,
|
||||
valgrind, xmlto, xnee, yasm
|
||||
|
||||
*** 27 package updates
|
||||
|
||||
bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4,
|
||||
gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18,
|
||||
gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21,
|
||||
imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0,
|
||||
linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python
|
||||
3.3.2, texlive 2013
|
||||
|
||||
*** Fontconfig font search path made more convenient
|
||||
|
||||
Fontconfig, the library used by many graphical applications, such as those
|
||||
based on GTK+, now knows where to find the default set of fonts. Additional
|
||||
fonts installed in the user profile are automatically picked up.
|
||||
|
||||
*** More GUI applications
|
||||
|
||||
The ‘emacs’ and ‘racket’ packages are now linked against GTK+. New GTK+
|
||||
applications have been added (see above.)
|
||||
|
||||
*** Packaging guidelines
|
||||
|
||||
The documentation of packaging guidelines has been augmented. See the manual
|
||||
under “GNU Distribution”.
|
||||
|
||||
*** Support for Python 3 along with Python 2
|
||||
|
||||
Python 3 has been added to the distribution, and Python packages that support
|
||||
it are now built for both Python 2 and Python 3. See the “Python Modules”
|
||||
section of the manual for details.
|
||||
|
||||
** Internationalization
|
||||
|
||||
Updated translations: eo.
|
||||
|
||||
** Bugs fixed
|
||||
|
||||
*** Workarounds for Guile 2.0.5 now work on Debian derivatives
|
||||
*** The dependency graph image has correct size in PDF output
|
||||
*** 'ldd' now works correctly on x86_64
|
||||
*** Xorg server test suite no longer fails (http://bugs.gnu.org/15392)
|
||||
*** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187)
|
||||
*** Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194)
|
||||
|
||||
* Changes in 0.3 (since 0.2)
|
||||
|
||||
** Package management
|
||||
|
||||
*** Cross-compilation support
|
||||
|
||||
Guix can now cross-build packages. On the command-line, this is achieved with
|
||||
the new ‘--target’ command-line option of ‘guix build’. At the Scheme level,
|
||||
the guts of this is the ‘package-cross-derivation’ procedure. Core packages
|
||||
of the distribution can already be cross-compiled. See the manual for
|
||||
details.
|
||||
|
||||
*** New ‘--max-silent-time’ option for “guix build” and “guix package”
|
||||
|
||||
See the manual for details.
|
||||
|
||||
*** New ‘--fallback’ option for “guix build” and “guix package”
|
||||
|
||||
This option instructs to fall back to local builds when the substituter fails
|
||||
to download a substitute.
|
||||
|
||||
*** New ‘--requisites’ option for “guix gc”
|
||||
|
||||
See the manual for details.
|
||||
|
||||
*** New ‘--key-download’ option for “guix refresh”
|
||||
|
||||
See the manual for details.
|
||||
|
||||
** Programming interfaces
|
||||
|
||||
*** New ‘package-cross-derivation’ procedure in (guix derivations)
|
||||
|
||||
See the manual for details.
|
||||
|
||||
*** New ‘%current-target-system’ SRFI-39 parameter
|
||||
|
||||
This parameter is like ‘%current-system’, but for cross-compilation. It
|
||||
allows code in package definitions (such as in the ‘arguments’ field) to know
|
||||
whether it is being cross-compiled, and what the target system is.
|
||||
|
||||
*** New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures
|
||||
|
||||
This improves performance of SHA256 computations.
|
||||
|
||||
|
||||
** GNU distribution
|
||||
|
||||
*** 33 new packages
|
||||
|
||||
alsa-lib, babel, cairo, cvs, gcal, gcc-cross-mips64el-linux-gnuabi64, gd,
|
||||
gdk-pixbuf, graphviz, grue-hunter, gtk+, gts, harfbuzz, imagemagick, iproute2,
|
||||
iptables, libspectre, mpg321, noweb, pango, plotutils, privoxy, pytz, racket,
|
||||
rubber, rush, strace, tk, torsocks, unrtf, vc-dwim, wordnet, xlockmore
|
||||
|
||||
*** 25 package updates
|
||||
|
||||
automake 1.14, ed 1.9, freeipmi 1.2.8, gawk 4.1.0, gcc 4.8.1, gettext 0.18.3,
|
||||
glib 2.37.1, gmp 5.1.2, gnutls 3.2.1, gzip 1.6, help2man 1.43.3, libapr 1.4.8,
|
||||
libaprutil 1.5.2, libassuan 2.1.1, libffi 3.0.13, libgc 7.2d, libgpg-error
|
||||
1.12, libidn 1.28, libpng 1.5.17, lout 3.40, lsh 2.1, nettle 2.7.1, qemu
|
||||
1.5.1, tzdata 2013d, xorriso 1.3.0
|
||||
|
||||
*** Binary packages now available for i686-linux
|
||||
|
||||
The build farm at http://hydra.gnu.org now provides 32-bit GNU/Linux binaries
|
||||
(i686-linux), in addition to the x86_64-linux binaries. Both can be
|
||||
transparently used as substitutes for local builds on these platforms.
|
||||
|
||||
*** Debug info packages
|
||||
|
||||
Some packages now have a “debug” output containing debugging information. The
|
||||
“debug” output can be used by GDB, and can be installed separately from the
|
||||
other outputs of the package. See “Installing Debugging Files” in the manual.
|
||||
|
||||
*** Bootstrap binaries can be cross-compiled
|
||||
|
||||
The distribution can now be ported to new architectures (currently
|
||||
GNU/Linux-only) by cross-compiling the “bootstrap binaries”. See “Porting”
|
||||
in the manual.
|
||||
|
||||
*** Bootstrapping documented
|
||||
|
||||
See “Bootstrapping” in the manual, for information on how the GNU
|
||||
distribution builds “from scratch”.
|
||||
|
||||
** Internationalization
|
||||
|
||||
New translations: eo, pt_BR.
|
||||
|
||||
** Bugs fixed
|
||||
*** “guix --help” now works when using Guile 2.0.5
|
||||
*** Binary substituter multi-threading and pipe issues fixed
|
||||
|
||||
These could lead to random substituter crashes while substituting a binary.
|
||||
See commits 0332386 and 101d9f3 for details.
|
||||
|
||||
*** Binary substituter gracefully handles lack of network connectivity
|
||||
|
||||
*** Daemon properly handles rebuilds of multiple-output derivations
|
||||
|
||||
Previously it would fail when rebuilding a multiple-output derivation when
|
||||
some (but not all) of its outputs were already present. See
|
||||
http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00038.html and
|
||||
https://github.com/NixOS/nix/issues/122 .
|
||||
|
||||
*** ‘guix package -i foo:out’ no longer removes other outputs of ‘foo’
|
||||
|
||||
Previously only the ‘out’ output of package ‘foo’ would be kept in the
|
||||
profile.
|
||||
|
||||
*** Replacement (srfi srfi-37) provided if the user’s one is broken
|
||||
|
||||
When the user’s (srfi srfi-37) is affected by http://bugs.gnu.org/13176 (Guile
|
||||
< 2.0.9), a replacement with the bug fix is provided. This bug would affect
|
||||
command-line argument processing in some cases.
|
||||
|
||||
* Changes in 0.2 (since 0.1)
|
||||
|
||||
** Package management
|
||||
|
||||
*** Guix commands are now sub-commands of the “guix” program
|
||||
|
||||
Instead of typing “guix-package”, one now has to type “guix package”, and so
|
||||
on. This has allowed us to homogenize the user interface and initial program
|
||||
setup, and to allow commands to be upgradable through “guix pull”.
|
||||
|
||||
*** New “guix package --upgrade” option
|
||||
|
||||
As the name implies, this option atomically upgrades all the packages
|
||||
installed in a profile or the set of packages matching a given regexp.
|
||||
See “Invoking guix package” in the manual.
|
||||
|
||||
*** New “guix package --search” option
|
||||
|
||||
Performs a full text search in package synopses and descriptions, and returns
|
||||
the matching packages in recutils format. See “Invoking guix package” in the
|
||||
manual, for details.
|
||||
|
||||
*** New “guix pull” command
|
||||
|
||||
The command pulls the latest version of Guix–both the package management
|
||||
modules and the distribution. See the manual for details.
|
||||
|
||||
*** New binary substituter
|
||||
|
||||
The “substituter” mechanism allows pre-built binaries to be transparently
|
||||
downloaded instead of performing a build locally. Currently binaries are
|
||||
available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The
|
||||
distribution is continuously built and binaries are made available from there.
|
||||
|
||||
See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
|
||||
available binary packages.
|
||||
|
||||
*** New “guix refresh” command
|
||||
|
||||
The command is used by Guix maintainers. It automatically updates the
|
||||
distribution to the latest upstream releases of GNU software.
|
||||
|
||||
*** New “guix hash” command
|
||||
|
||||
Convenience command to compute the hash of a file. See the manual for
|
||||
details.
|
||||
|
||||
*** Nix daemon code updated
|
||||
|
||||
The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
|
||||
to current Nix ‘master’.
|
||||
|
||||
** Programming interfaces
|
||||
|
||||
*** (guix download) now supports HTTPS, using GnuTLS
|
||||
|
||||
It allows package source tarballs to be retrieved over HTTPS.
|
||||
|
||||
*** New ‘native-search-path’ and ‘search-path’ package fields
|
||||
|
||||
Packages can define in their ‘native-search-path’ field environment variables
|
||||
that define search paths and need to be set for proper functioning of the
|
||||
package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
|
||||
‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
|
||||
These environment variables are automatically set when building a package that
|
||||
uses one of these.
|
||||
|
||||
*** Package inputs can be a function of the target system type
|
||||
|
||||
The ‘inputs’ field of a package can now be conditional on the value of
|
||||
(%current-system). This is useful for packages that take system-dependent
|
||||
tarballs as inputs, such as GNU/MIT Scheme.
|
||||
|
||||
*** New build systems
|
||||
|
||||
The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
|
||||
been added. They implement the standard build systems for Perl, Python, and
|
||||
CMake packages.
|
||||
|
||||
*** Tools to build Linux initrds, QEMU images, and more
|
||||
|
||||
The (gnu packages linux-initrd) module provides a procedure to build a Linux
|
||||
initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
|
||||
evaluate the given expression. The example below returns an initrd that
|
||||
mounts the /proc file system and starts a REPL:
|
||||
|
||||
(expression->initrd
|
||||
'(begin
|
||||
(mkdir "/proc")
|
||||
(mount "none" "/proc" "proc")
|
||||
((@ (system repl repl) start-repl))))
|
||||
|
||||
More examples in the linux-initrd.scm file.
|
||||
|
||||
Experimental interfaces to produce and use QEMU images are provided by the
|
||||
(gnu system vm) module. For instance, the
|
||||
‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
|
||||
a QEMU virtual machine running the Linux kernel and Guile.
|
||||
|
||||
** GNU distribution
|
||||
|
||||
Many updates and additions have been made to the distribution. Here are the
|
||||
highlights.
|
||||
|
||||
*** Major updates
|
||||
|
||||
GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
|
||||
Coreutils 8.20, GDB 7.6, Texinfo 5.1.
|
||||
|
||||
*** Noteworthy new packages
|
||||
|
||||
TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
|
||||
CHICKEN, Scheme48, Hugs, Python, Lua, Samba.
|
||||
|
||||
152
README
152
README
@@ -1,29 +1,70 @@
|
||||
-*- mode: org -*-
|
||||
|
||||
Guix is Nix[0] from Guile[1]!
|
||||
[[http://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and
|
||||
associated free software distribution, for the [[http://www.gnu.org/gnu/gnu.html][GNU system]]. In addition
|
||||
to standard package management features, Guix supports transactional
|
||||
upgrades and roll-backs, unprivileged package management, per-user
|
||||
profiles, and garbage collection.
|
||||
|
||||
Concretely, it allows Nix package management to be done entirely in
|
||||
Scheme. The goal is to investigate whether Scheme, and in particular
|
||||
the ability to define EDSLs, would allow it to fulfill the role of the
|
||||
Nix language.
|
||||
It provides [[http://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
|
||||
domain-specific languages (EDSLs) to describe how packages are to be
|
||||
built and composed.
|
||||
|
||||
[0] http://nixos.org/nix/
|
||||
[1] http://gnu.org/software/guile/
|
||||
A user-land free software distribution for GNU/Linux comes as part of
|
||||
Guix.
|
||||
|
||||
Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
|
||||
|
||||
|
||||
* Hacking
|
||||
* Requirements
|
||||
|
||||
Guix currently depends on the following packages:
|
||||
GNU Guix currently depends on the following packages:
|
||||
|
||||
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.5 or later
|
||||
- [[http://gnupg.org/][GNU libgcrypt]]
|
||||
|
||||
Unless `--disable-daemon' was passed, the following packages are needed:
|
||||
|
||||
- [[http://sqlite.org/][SQLite 3]]
|
||||
- [[http://www.bzip.org][libbz2]]
|
||||
- [[http://gcc.gnu.org][GCC's g++]]
|
||||
|
||||
When `--disable-daemon' was passed, you instead need the following:
|
||||
|
||||
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]]
|
||||
- [[http://nixos.org/nix/][Nix]]
|
||||
- [[http://gnupg.org/][GNU libgcrypt]], or [[http://nongnu.org/libchop/][libchop]]
|
||||
|
||||
For bootstrapping purposes, it is useful to reuse packages from Nixpkgs.
|
||||
For this to work, you need to have a checkout of the Nixpkgs repository,
|
||||
with the `NIXPKGS' environment variable pointing to it.
|
||||
* Installation
|
||||
|
||||
- [[http://nixos.org/nixpkgs/][Nixpkgs]]
|
||||
See the manual for the installation instructions, either by running
|
||||
|
||||
info -f doc/guix.info "(guix) Installation"
|
||||
|
||||
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
|
||||
|
||||
For information on installation from a Git checkout, please see the ‘HACKING’
|
||||
file.
|
||||
|
||||
* Installing Guix from Guix
|
||||
|
||||
You can re-build and re-install Guix using a system that already runs Guix.
|
||||
To do so:
|
||||
|
||||
- Install the dependencies (see 'Requirements' above) and build tools using
|
||||
Guix:
|
||||
|
||||
guix package --install={autoconf,automake,bzip2,gcc,binutils,ld-wrapper,glibc,gettext,guile,libgcrypt,pkg-config,sqlite}
|
||||
|
||||
- set the environment variables that Guix recommends you to set during the
|
||||
package installation process:
|
||||
ACLOCAL_PATH, CPATH, LIBRARY_PATH, PKG_CONFIG_PATH
|
||||
|
||||
- set the PATH environment variable to refer to the profile:
|
||||
PATH=$HOME/.guix-profile/bin:$PATH
|
||||
|
||||
- re-run the configure script passing it the option
|
||||
`--with-libgcrypt-prefix=$HOME/.guix-profile/'
|
||||
|
||||
- run "make" and "make install"
|
||||
|
||||
* How It Works
|
||||
|
||||
@@ -33,14 +74,81 @@ the promise of a build; it is stored as a text file under
|
||||
`derivation' primitive, as well as higher-level wrappers such as
|
||||
`build-expression->derivation'.
|
||||
|
||||
Guix does remote procedure calls (RPCs) to the Nix daemon (the
|
||||
=nix-worker --daemon= command), which in turn performs builds and
|
||||
accesses to the Nix store on its behalf. The RPCs are implemented in
|
||||
the (guix store) module.
|
||||
Guix does remote procedure calls (RPCs) to the Guix or Nix daemon (the
|
||||
=guix-daemon= or =nix-daemon= command), which in turn performs builds
|
||||
and accesses to the Nix store on its behalf. The RPCs are implemented
|
||||
in the (guix store) module.
|
||||
|
||||
* Installing Guix as non-root
|
||||
|
||||
The Guix daemon allows software builds to be performed under alternate
|
||||
user accounts, which are normally created specifically for this
|
||||
purpose. For instance, you may have a pool of accounts in the
|
||||
=guixbuild= group, and then you can instruct =guix-daemon= to use them
|
||||
like this:
|
||||
|
||||
$ guix-daemon --build-users-group=guixbuild
|
||||
|
||||
However, unless it is run as root, =guix-daemon= cannot switch users.
|
||||
In that case, it falls back to using a setuid-root helper program call
|
||||
=nix-setuid-helper=. That program is not setuid-root by default when
|
||||
you install it; instead you should run a command along these lines
|
||||
(assuming Guix is installed under /usr/local):
|
||||
|
||||
# chown root.root /usr/local/libexec/nix-setuid-helper
|
||||
# chmod 4755 /usr/local/libexec/nix-setuid-helper
|
||||
|
||||
* Contact
|
||||
|
||||
The repository is at <https://gitorious.org/guix/>.
|
||||
GNU Guix is hosted at https://savannah.gnu.org/projects/guix/.
|
||||
|
||||
Please email <ludo@gnu.org> or <nix-dev@lists.science.uu.nl>, or
|
||||
join #guile or #nixos on irc.freenode.net or `civodul'.
|
||||
Please email <bug-guix@gnu.org> for bug reports or questions regarding
|
||||
Guix and its distribution; email <gnu-system-discuss@gnu.org> for
|
||||
general issues regarding the GNU system.
|
||||
|
||||
Join #guix on irc.freenode.net.
|
||||
|
||||
* Guix & Nix
|
||||
|
||||
GNU Guix is based on [[http://nixos.org/nix/][the Nix package manager]]. It implements the same
|
||||
package deployment paradigm, and in fact it reuses some of its code.
|
||||
Yet, different engineering decisions were made for Guix, as described
|
||||
below.
|
||||
|
||||
Nix is really two things: a package build tool, implemented by a library
|
||||
and daemon, and a special-purpose programming language. GNU Guix relies
|
||||
on the former, but uses Scheme as a replacement for the latter.
|
||||
|
||||
Using Scheme instead of a specific language allows us to get all the
|
||||
features and tooling that come with Guile (compiler, debugger, REPL,
|
||||
Unicode, libraries, etc.) And it means that we have a general-purpose
|
||||
language, on top of which we can have embedded domain-specific languages
|
||||
(EDSLs), such as the one used to define packages. This broadens what
|
||||
can be done in package recipes themselves, and what can be done around them.
|
||||
|
||||
Technically, Guix makes remote procedure calls to the ‘nix-worker’
|
||||
daemon to perform operations on the store. At the lowest level, Nix
|
||||
“derivations” represent promises of a build, stored in ‘.drv’ files in
|
||||
the store. Guix produces such derivations, which are then interpreted
|
||||
by the daemon to perform the build. Thus, Guix derivations can use
|
||||
derivations produced by Nix (and vice versa).
|
||||
|
||||
With Nix and the [[http://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
|
||||
the Nix language level, but builders are usually written in Bash.
|
||||
Conversely, Guix encourages the use of Scheme for both package
|
||||
composition and builders. Likewise, the core functionality of Nix is
|
||||
written in C++ and Perl; Guix relies on some of the original C++ code,
|
||||
but exposes all the API as Scheme.
|
||||
|
||||
* Related software
|
||||
|
||||
- [[http://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
|
||||
software distribution, are the inspiration of Guix
|
||||
- [[http://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
|
||||
symlink tree to create user environments
|
||||
- [[http://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
|
||||
- [[https://live.gnome.org/OSTree/][GNOME's OSTree]] allows bootable system images to be built from a
|
||||
specified set of packages
|
||||
- The [[http://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
|
||||
distribution; unlike Guix, it relies on core tools available on the
|
||||
host system
|
||||
|
||||
72
ROADMAP
Normal file
72
ROADMAP
Normal file
@@ -0,0 +1,72 @@
|
||||
-*- mode: org; coding: utf-8; -*-
|
||||
|
||||
#+TITLE: Tentative GNU Guix Road Map
|
||||
|
||||
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
The goals of the GNU Guix project are two-fold:
|
||||
|
||||
- to build a purely functional package manager, based on Nix and
|
||||
Guile;
|
||||
|
||||
- to use it to build a practical 100% free software distribution of
|
||||
GNU/Linux and possibly other GNU variants, with a focus on the
|
||||
promotion and tight integration of GNU components–the GNU system.
|
||||
|
||||
This document lists milestones toward these goals.
|
||||
|
||||
The timeline below was written at the end of Dec. 2012. An updated and more
|
||||
detailed list of the remaining milestones was posted at
|
||||
https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00120.html .
|
||||
|
||||
The actual timeline was of course slightly different than initially
|
||||
envisioned, and so was the feature set–things like cross-compilation support
|
||||
and the MIPS64 port were not planned back then. See the news section at
|
||||
http://www.gnu.org/software/guix/ and ‘NEWS’ for the release history.
|
||||
|
||||
* GNU Guix 0.1: Jan. 2013 (was: Dec. 2012)
|
||||
|
||||
** basic package management facilities
|
||||
|
||||
Including install, upgrade, remove, roll-back, and search.
|
||||
|
||||
** self-contained user-land distribution
|
||||
|
||||
- GNU/Linux-only, i686 and x86_64; optionally mipsel64
|
||||
- ~100 non-X11 packages
|
||||
|
||||
** maybe integrated Nix code
|
||||
|
||||
* GNU Guix 0.2: Feb./Mar. 2013
|
||||
|
||||
** improved package management features
|
||||
|
||||
- user-environment hooks
|
||||
- sophisticated handling of collisions when building a union (package
|
||||
priorities, etc.)
|
||||
|
||||
** [[file:TODO::*add%20guix-pull][guix-pull tool]] to quickly update Guix and GNU for normal users
|
||||
** support for fetching pre-built binaries
|
||||
|
||||
- this is known as the "binary-cache substituter" in Nix parlance
|
||||
|
||||
** auto-update facility available for GNU packages
|
||||
|
||||
** more packages
|
||||
|
||||
- Xorg
|
||||
- Emacs
|
||||
|
||||
* GNU Guix 0.9: June 2013
|
||||
|
||||
** bootable GNU/Linux-Libre distro
|
||||
** high-level OS configuration descriptive EDSL, à la NixOS
|
||||
|
||||
* GNU Guix 1.0: September 2013 (GNU anniversary release)
|
||||
|
||||
** bootable GNU/Linux-Libre distro with non-GUI installer
|
||||
** usable for a range of hacker-style uses
|
||||
22
THANKS
22
THANKS
@@ -1,3 +1,25 @@
|
||||
A big thanks to Eelco Dolstra, who designed and implemented Nix.
|
||||
Transposing functional programming discipline to package management
|
||||
proved to be inspiring and fruitful.
|
||||
|
||||
Thanks to the following people who contributed to GNU Guix through
|
||||
suggestions, bug reports, patches, internationalization, or general
|
||||
infrastructure help:
|
||||
|
||||
Lluís Batlle i Rossell <viric@viric.name>
|
||||
Felipe Castro <fefcas@gmail.com>
|
||||
Daniel Clark <dclark@pobox.com>
|
||||
Alexandru Cojocaru <xojoc@gmx.com>
|
||||
Aleix Conchillo Flaqué <aconchillo@gmail.com>
|
||||
John Darrington <john@cellform.com>
|
||||
Rafael Ferreira <rafael.f.f1@gmail.com>
|
||||
Christian Grothoff <christian@grothoff.org>
|
||||
Jeffrin Jose <ahiliation@yahoo.co.in>
|
||||
Kete <kete@ninthfloor.org>
|
||||
Matthew Lien <bluet@bluet.org>
|
||||
Niels Möller <nisse@lysator.liu.se>
|
||||
Yutaka Niibe <gniibe@fsij.org>
|
||||
Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
Jason Self <jself@gnu.org>
|
||||
Alen Skondro <askondro@gmail.com>
|
||||
Matthias Wachs <wachs@net.in.tum.de>
|
||||
|
||||
145
TODO
Normal file
145
TODO
Normal file
@@ -0,0 +1,145 @@
|
||||
-*- mode: org; coding: utf-8; -*-
|
||||
|
||||
#+TITLE: What's left to do?
|
||||
#+STARTUP: content hidestars
|
||||
|
||||
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
* integrate needed Nix code
|
||||
|
||||
** MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
|
||||
|
||||
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
|
||||
rather libswift (since DHTs aren’t suited for large payloads). Guix users
|
||||
would sign their binaries, and define which binaries they trust.
|
||||
|
||||
Use UPnP and similar to traverse NAT, like ‘filegive’ does.
|
||||
|
||||
** Add a remote build hook
|
||||
|
||||
Like scripts/build-remote.pl in Nix.
|
||||
|
||||
* Add `guix publish' to publish the store using Guile's web server
|
||||
|
||||
Generate narinfos and nars on the fly, upon HTTP GET requests.
|
||||
Ideally, extend .nix-cache-info to include the server's public key, and also
|
||||
reply to requests for .narinfo.sig.
|
||||
Optionally, use Guile-Avahi to publish the service.
|
||||
|
||||
* user interface
|
||||
** Add a package.el (Emacs) back-end
|
||||
|
||||
package.el is quite monolithic, but we may be able to reuse/extend
|
||||
‘package-menu-mode’ or at least ‘tabulated-list-mode’.
|
||||
|
||||
** add guile-ncurses interface
|
||||
|
||||
* extend <package>
|
||||
|
||||
** add ‘recommends’ field
|
||||
|
||||
For instance, glibc, binutils, gcc, and ld-wrapper would recommend each other.
|
||||
‘guix package -i’ could ask interactively (?), or allow users to follow all or
|
||||
none of the recommendations.
|
||||
|
||||
** add a ‘user-environment-hook’
|
||||
|
||||
This should specify builder code to be run when building a user
|
||||
environment with ‘guix-package’. For instance, Texinfo’s hook would
|
||||
create a new ‘dir’.
|
||||
|
||||
** extend ‘propagated-build-inputs’ with support for multiple outputs
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(outputs '("out" "include"))
|
||||
(propagated-build-inputs
|
||||
`(((("i1" ,p1 "o1")
|
||||
("i2" ,p2))
|
||||
=> "include")
|
||||
("i3" ,p3)))
|
||||
#+END_SRC
|
||||
|
||||
* MAYBE use HOP-like escapes to refer to inputs in build-side code
|
||||
|
||||
Instead of doing things like:
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(inputs `(("foo" ,foo)))
|
||||
(arguments '(#:configure-flags
|
||||
(list (string-append "--with-foo="
|
||||
(assoc-ref %build-inputs "foo")))))
|
||||
#+END_SRC
|
||||
|
||||
Allow things like:
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(inputs (list foo))
|
||||
(arguments ~(#:configure-flags
|
||||
(list (string-append "--with-foo=" $foo))))
|
||||
|
||||
#+END_SRC
|
||||
|
||||
... where '~' is 'build-quote' and '$' is 'build-unquote'. Better yet,
|
||||
automatically compute the list of references of an expression passed to
|
||||
'derivation-expression'.
|
||||
|
||||
Use a [[http://dorophone.blogspot.fr/2011/09/scheme-syntax-is-monad.html][monad]] for the syntax.
|
||||
|
||||
* synchronize non-GNU package descriptions with the [[http://directory.fsf.org][FSD]]
|
||||
|
||||
Meta-data for GNU packages, including descriptions and synopses, can be
|
||||
dumped from the FSD:
|
||||
http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
|
||||
We could periodically synchronize with that.
|
||||
|
||||
* add a guildhall build system
|
||||
|
||||
The Guildhall is Guile’s packaging system. It should be easy to add a
|
||||
‘guildhall-build-system’ that does the right thing based on guildhall
|
||||
recipes.
|
||||
|
||||
* add ‘allowed-references’ in <package>
|
||||
|
||||
[[file:~/src/nix/src/libstore/build.cc::if%20(drv.env.find("allowedReferences")%20!%3D%20drv.env.end())%20{][See how Nix implements that internally]].
|
||||
|
||||
* union
|
||||
|
||||
Support sophisticated collision handling when building a union: check
|
||||
whether the colliding files are identical, honor per-package priorities,
|
||||
etc.
|
||||
|
||||
* add GUIX_ALLOW_EXPENSIVE_TESTS
|
||||
|
||||
Tests that need to download stuff or otherwise take a long time would only be
|
||||
run when that is defined.
|
||||
|
||||
* add "guix challenge"
|
||||
|
||||
Would download a substitute, and compare its contents against a (hopefully
|
||||
locally-built) copy.
|
||||
|
||||
|
||||
* guix build utils
|
||||
** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name
|
||||
|
||||
** MAYBE Add equivalent to chrpath that uses [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
|
||||
|
||||
** MAYBE Add a hash-rewriting thing for deep dependency replacement without rebuild
|
||||
|
||||
See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]].
|
||||
|
||||
* distro
|
||||
** port to new GNU/Linux platforms, notably ‘mipsel64-linux’
|
||||
** port to GNU/Hurd, aka. ‘i686-gnu’
|
||||
|
||||
Problems include that current glibc releases do not build on GNU/Hurd.
|
||||
In addition, there haven’t been stable releases of GNU Mach, MiG, and
|
||||
Hurd, which would be a pre-condition.
|
||||
|
||||
** make a bootable GNU/Linux-Libre distro, with OS configuration EDSL
|
||||
|
||||
Similar in spirit to /etc/nixos/configuration.nix.
|
||||
15
bootstrap
Executable file
15
bootstrap
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Import missing source files and create the build system.
|
||||
|
||||
set -e -x
|
||||
|
||||
top_srcdir="$PWD"
|
||||
export top_srcdir
|
||||
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
./nix/sync-with-upstream
|
||||
|
||||
exec autoreconf -vfi
|
||||
58
build-aux/check-available-binaries.scm
Normal file
58
build-aux/check-available-binaries.scm
Normal file
@@ -0,0 +1,58 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; Check whether important binaries are available at hydra.gnu.org.
|
||||
;;;
|
||||
|
||||
(use-modules (guix store)
|
||||
(guix packages)
|
||||
(guix derivations)
|
||||
(gnu packages emacs)
|
||||
(gnu packages make-bootstrap)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
|
||||
(define %supported-systems
|
||||
'("x86_64-linux" "i686-linux"))
|
||||
|
||||
(let* ((store (open-connection))
|
||||
(native (append-map (lambda (system)
|
||||
(map (cut package-derivation store <> system)
|
||||
(list %bootstrap-tarballs emacs)))
|
||||
%supported-systems))
|
||||
(cross (map (cut package-cross-derivation store
|
||||
%bootstrap-tarballs <>)
|
||||
'("mips64el-linux-gnuabi64")))
|
||||
(total (append native cross)))
|
||||
(define (warn proc)
|
||||
(lambda (drv)
|
||||
(or (proc drv)
|
||||
(begin
|
||||
(format (current-error-port) "~a is not substitutable~%"
|
||||
drv)
|
||||
#f))))
|
||||
|
||||
(set-build-options store #:use-substitutes? #t)
|
||||
(let ((result (every (compose (warn (cut has-substitutes? store <>))
|
||||
derivation->output-path)
|
||||
total)))
|
||||
(when result
|
||||
(format (current-error-port) "~a packages found substitutable~%"
|
||||
(length total)))
|
||||
(exit result)))
|
||||
68
build-aux/download.scm
Normal file
68
build-aux/download.scm
Normal file
@@ -0,0 +1,68 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; Download a binary file from an external source.
|
||||
;;;
|
||||
|
||||
(use-modules (ice-9 match)
|
||||
(web uri)
|
||||
(web client)
|
||||
(rnrs io ports)
|
||||
(srfi srfi-11)
|
||||
(guix utils)
|
||||
(guix hash))
|
||||
|
||||
(define %url-base
|
||||
"http://alpha.gnu.org/gnu/guix/bootstrap"
|
||||
|
||||
;; Alternately:
|
||||
;;"http://www.fdn.fr/~lcourtes/software/guix/packages"
|
||||
)
|
||||
|
||||
;; XXX: Work around <http://bugs.gnu.org/13095>, present in Guile
|
||||
;; up to 2.0.7.
|
||||
(module-define! (resolve-module '(web client))
|
||||
'shutdown (const #f))
|
||||
|
||||
(define (file-name->uri file)
|
||||
"Return the URI for FILE."
|
||||
(match (string-tokenize file (char-set-complement (char-set #\/)))
|
||||
((_ ... system basename)
|
||||
(string->uri (string-append %url-base "/" system
|
||||
"/20131110/" basename)))))
|
||||
|
||||
(match (command-line)
|
||||
((_ file expected-hash)
|
||||
(let ((uri (file-name->uri file)))
|
||||
(format #t "downloading file `~a' from `~a'...~%"
|
||||
file (uri->string uri))
|
||||
(let*-values (((resp data) (http-get uri #:decode-body? #f))
|
||||
((hash) (bytevector->base16-string (sha256 data)))
|
||||
((part) (string-append file ".part")))
|
||||
(if (string=? expected-hash hash)
|
||||
(begin
|
||||
(call-with-output-file part
|
||||
(lambda (port)
|
||||
(put-bytevector port data)))
|
||||
(rename-file part file))
|
||||
(begin
|
||||
(format (current-error-port)
|
||||
"file at `~a' has SHA256 ~a; expected ~a~%"
|
||||
(uri->string uri) hash expected-hash)
|
||||
(exit 1)))))))
|
||||
432
build-aux/gitlog-to-changelog
Executable file
432
build-aux/gitlog-to-changelog
Executable file
@@ -0,0 +1,432 @@
|
||||
eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
|
||||
& eval 'exec perl -wS "$0" $argv:q'
|
||||
if 0;
|
||||
# Convert git log output to ChangeLog format.
|
||||
|
||||
my $VERSION = '2012-07-29 06:11'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2008-2013 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Getopt::Long;
|
||||
use POSIX qw(strftime);
|
||||
|
||||
(my $ME = $0) =~ s|.*/||;
|
||||
|
||||
# use File::Coda; # http://meyering.net/code/Coda/
|
||||
END {
|
||||
defined fileno STDOUT or return;
|
||||
close STDOUT and return;
|
||||
warn "$ME: failed to close standard output: $!\n";
|
||||
$? ||= 1;
|
||||
}
|
||||
|
||||
sub usage ($)
|
||||
{
|
||||
my ($exit_code) = @_;
|
||||
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
|
||||
if ($exit_code != 0)
|
||||
{
|
||||
print $STREAM "Try '$ME --help' for more information.\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print $STREAM <<EOF;
|
||||
Usage: $ME [OPTIONS] [ARGS]
|
||||
|
||||
Convert git log output to ChangeLog format. If present, any ARGS
|
||||
are passed to "git log". To avoid ARGS being parsed as options to
|
||||
$ME, they may be preceded by '--'.
|
||||
|
||||
OPTIONS:
|
||||
|
||||
--amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
|
||||
makes a change to SHA1's commit log text or metadata.
|
||||
--append-dot append a dot to the first line of each commit message if
|
||||
there is no other punctuation or blank at the end.
|
||||
--no-cluster never cluster commit messages under the same date/author
|
||||
header; the default is to cluster adjacent commit messages
|
||||
if their headers are the same and neither commit message
|
||||
contains multiple paragraphs.
|
||||
--srcdir=DIR the root of the source tree, from which the .git/
|
||||
directory can be derived.
|
||||
--since=DATE convert only the logs since DATE;
|
||||
the default is to convert all log entries.
|
||||
--format=FMT set format string for commit subject and body;
|
||||
see 'man git-log' for the list of format metacharacters;
|
||||
the default is '%s%n%b%n'
|
||||
--strip-tab remove one additional leading TAB from commit message lines.
|
||||
--strip-cherry-pick remove data inserted by "git cherry-pick";
|
||||
this includes the "cherry picked from commit ..." line,
|
||||
and the possible final "Conflicts:" paragraph.
|
||||
--help display this help and exit
|
||||
--version output version information and exit
|
||||
|
||||
EXAMPLE:
|
||||
|
||||
$ME --since=2008-01-01 > ChangeLog
|
||||
$ME -- -n 5 foo > last-5-commits-to-branch-foo
|
||||
|
||||
SPECIAL SYNTAX:
|
||||
|
||||
The following types of strings are interpreted specially when they appear
|
||||
at the beginning of a log message line. They are not copied to the output.
|
||||
|
||||
Copyright-paperwork-exempt: Yes
|
||||
Append the "(tiny change)" notation to the usual "date name email"
|
||||
ChangeLog header to mark a change that does not require a copyright
|
||||
assignment.
|
||||
Co-authored-by: Joe User <user\@example.com>
|
||||
List the specified name and email address on a second
|
||||
ChangeLog header, denoting a co-author.
|
||||
Signed-off-by: Joe User <user\@example.com>
|
||||
These lines are simply elided.
|
||||
|
||||
In a FILE specified via --amend, comment lines (starting with "#") are ignored.
|
||||
FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
|
||||
a line) referring to a commit in the current project, and CODE refers to one
|
||||
or more consecutive lines of Perl code. Pairs must be separated by one or
|
||||
more blank line.
|
||||
|
||||
Here is sample input for use with --amend=FILE, from coreutils:
|
||||
|
||||
3a169f4c5d9159283548178668d2fae6fced3030
|
||||
# fix typo in title:
|
||||
s/all tile types/all file types/
|
||||
|
||||
1379ed974f1fa39b12e2ffab18b3f7a607082202
|
||||
# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
|
||||
# Change the author to be Paul. Note the escaped "@":
|
||||
s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
|
||||
|
||||
EOF
|
||||
}
|
||||
exit $exit_code;
|
||||
}
|
||||
|
||||
# If the string $S is a well-behaved file name, simply return it.
|
||||
# If it contains white space, quotes, etc., quote it, and return the new string.
|
||||
sub shell_quote($)
|
||||
{
|
||||
my ($s) = @_;
|
||||
if ($s =~ m![^\w+/.,-]!)
|
||||
{
|
||||
# Convert each single quote to '\''
|
||||
$s =~ s/\'/\'\\\'\'/g;
|
||||
# Then single quote the string.
|
||||
$s = "'$s'";
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
||||
sub quoted_cmd(@)
|
||||
{
|
||||
return join (' ', map {shell_quote $_} @_);
|
||||
}
|
||||
|
||||
# Parse file F.
|
||||
# Comment lines (starting with "#") are ignored.
|
||||
# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
|
||||
# (alone on a line) referring to a commit in the current project, and
|
||||
# CODE refers to one or more consecutive lines of Perl code.
|
||||
# Pairs must be separated by one or more blank line.
|
||||
sub parse_amend_file($)
|
||||
{
|
||||
my ($f) = @_;
|
||||
|
||||
open F, '<', $f
|
||||
or die "$ME: $f: failed to open for reading: $!\n";
|
||||
|
||||
my $fail;
|
||||
my $h = {};
|
||||
my $in_code = 0;
|
||||
my $sha;
|
||||
while (defined (my $line = <F>))
|
||||
{
|
||||
$line =~ /^\#/
|
||||
and next;
|
||||
chomp $line;
|
||||
$line eq ''
|
||||
and $in_code = 0, next;
|
||||
|
||||
if (!$in_code)
|
||||
{
|
||||
$line =~ /^([0-9a-fA-F]{40})$/
|
||||
or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
|
||||
$fail = 1, next;
|
||||
$sha = lc $1;
|
||||
$in_code = 1;
|
||||
exists $h->{$sha}
|
||||
and (warn "$ME: $f:$.: duplicate SHA1\n"),
|
||||
$fail = 1, next;
|
||||
}
|
||||
else
|
||||
{
|
||||
$h->{$sha} ||= '';
|
||||
$h->{$sha} .= "$line\n";
|
||||
}
|
||||
}
|
||||
close F;
|
||||
|
||||
$fail
|
||||
and exit 1;
|
||||
|
||||
return $h;
|
||||
}
|
||||
|
||||
# git_dir_option $SRCDIR
|
||||
#
|
||||
# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
|
||||
# is undef). Return as a list (0 or 1 element).
|
||||
sub git_dir_option($)
|
||||
{
|
||||
my ($srcdir) = @_;
|
||||
my @res = ();
|
||||
if (defined $srcdir)
|
||||
{
|
||||
my $qdir = shell_quote $srcdir;
|
||||
my $cmd = "cd $qdir && git rev-parse --show-toplevel";
|
||||
my $qcmd = shell_quote $cmd;
|
||||
my $git_dir = qx($cmd);
|
||||
defined $git_dir
|
||||
or die "$ME: cannot run $qcmd: $!\n";
|
||||
$? == 0
|
||||
or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
|
||||
chomp $git_dir;
|
||||
push @res, "--git-dir=$git_dir/.git";
|
||||
}
|
||||
@res;
|
||||
}
|
||||
|
||||
{
|
||||
my $since_date;
|
||||
my $format_string = '%s%n%b%n';
|
||||
my $amend_file;
|
||||
my $append_dot = 0;
|
||||
my $cluster = 1;
|
||||
my $strip_tab = 0;
|
||||
my $strip_cherry_pick = 0;
|
||||
my $srcdir;
|
||||
GetOptions
|
||||
(
|
||||
help => sub { usage 0 },
|
||||
version => sub { print "$ME version $VERSION\n"; exit },
|
||||
'since=s' => \$since_date,
|
||||
'format=s' => \$format_string,
|
||||
'amend=s' => \$amend_file,
|
||||
'append-dot' => \$append_dot,
|
||||
'cluster!' => \$cluster,
|
||||
'strip-tab' => \$strip_tab,
|
||||
'strip-cherry-pick' => \$strip_cherry_pick,
|
||||
'srcdir=s' => \$srcdir,
|
||||
) or usage 1;
|
||||
|
||||
defined $since_date
|
||||
and unshift @ARGV, "--since=$since_date";
|
||||
|
||||
# This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
|
||||
# that makes a correction in the log or attribution of that commit.
|
||||
my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
|
||||
|
||||
my @cmd = ('git',
|
||||
git_dir_option $srcdir,
|
||||
qw(log --log-size),
|
||||
'--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
|
||||
open PIPE, '-|', @cmd
|
||||
or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
|
||||
. "(Is your Git too old? Version 1.5.1 or later is required.)\n");
|
||||
|
||||
my $prev_multi_paragraph;
|
||||
my $prev_date_line = '';
|
||||
my @prev_coauthors = ();
|
||||
while (1)
|
||||
{
|
||||
defined (my $in = <PIPE>)
|
||||
or last;
|
||||
$in =~ /^log size (\d+)$/
|
||||
or die "$ME:$.: Invalid line (expected log size):\n$in";
|
||||
my $log_nbytes = $1;
|
||||
|
||||
my $log;
|
||||
my $n_read = read PIPE, $log, $log_nbytes;
|
||||
$n_read == $log_nbytes
|
||||
or die "$ME:$.: unexpected EOF\n";
|
||||
|
||||
# Extract leading hash.
|
||||
my ($sha, $rest) = split ':', $log, 2;
|
||||
defined $sha
|
||||
or die "$ME:$.: malformed log entry\n";
|
||||
$sha =~ /^[0-9a-fA-F]{40}$/
|
||||
or die "$ME:$.: invalid SHA1: $sha\n";
|
||||
|
||||
# If this commit's log requires any transformation, do it now.
|
||||
my $code = $amend_code->{$sha};
|
||||
if (defined $code)
|
||||
{
|
||||
eval 'use Safe';
|
||||
my $s = new Safe;
|
||||
# Put the unpreprocessed entry into "$_".
|
||||
$_ = $rest;
|
||||
|
||||
# Let $code operate on it, safely.
|
||||
my $r = $s->reval("$code")
|
||||
or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
|
||||
|
||||
# Note that we've used this entry.
|
||||
delete $amend_code->{$sha};
|
||||
|
||||
# Update $rest upon success.
|
||||
$rest = $_;
|
||||
}
|
||||
|
||||
# Remove lines inserted by "git cherry-pick".
|
||||
if ($strip_cherry_pick)
|
||||
{
|
||||
$rest =~ s/^\s*Conflicts:\n.*//sm;
|
||||
$rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
|
||||
}
|
||||
|
||||
my @line = split "\n", $rest;
|
||||
my $author_line = shift @line;
|
||||
defined $author_line
|
||||
or die "$ME:$.: unexpected EOF\n";
|
||||
$author_line =~ /^(\d+) (.*>)$/
|
||||
or die "$ME:$.: Invalid line "
|
||||
. "(expected date/author/email):\n$author_line\n";
|
||||
|
||||
# Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
|
||||
# `(tiny change)' annotation.
|
||||
my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
|
||||
? ' (tiny change)' : '');
|
||||
|
||||
my $date_line = sprintf "%s %s$tiny\n",
|
||||
strftime ("%F", localtime ($1)), $2;
|
||||
|
||||
my @coauthors = grep /^Co-authored-by:.*$/, @line;
|
||||
# Omit meta-data lines we've already interpreted.
|
||||
@line = grep !/^(?:Signed-off-by:[ ].*>$
|
||||
|Co-authored-by:[ ]
|
||||
|Copyright-paperwork-exempt:[ ]
|
||||
)/x, @line;
|
||||
|
||||
# Remove leading and trailing blank lines.
|
||||
if (@line)
|
||||
{
|
||||
while ($line[0] =~ /^\s*$/) { shift @line; }
|
||||
while ($line[$#line] =~ /^\s*$/) { pop @line; }
|
||||
}
|
||||
|
||||
# Record whether there are two or more paragraphs.
|
||||
my $multi_paragraph = grep /^\s*$/, @line;
|
||||
|
||||
# Format 'Co-authored-by: A U Thor <email@example.com>' lines in
|
||||
# standard multi-author ChangeLog format.
|
||||
for (@coauthors)
|
||||
{
|
||||
s/^Co-authored-by:\s*/\t /;
|
||||
s/\s*</ </;
|
||||
|
||||
/<.*?@.*\..*>/
|
||||
or warn "$ME: warning: missing email address for "
|
||||
. substr ($_, 5) . "\n";
|
||||
}
|
||||
|
||||
# If clustering of commit messages has been disabled, if this header
|
||||
# would be different from the previous date/name/email/coauthors header,
|
||||
# or if this or the previous entry consists of two or more paragraphs,
|
||||
# then print the header.
|
||||
if ( ! $cluster
|
||||
|| $date_line ne $prev_date_line
|
||||
|| "@coauthors" ne "@prev_coauthors"
|
||||
|| $multi_paragraph
|
||||
|| $prev_multi_paragraph)
|
||||
{
|
||||
$prev_date_line eq ''
|
||||
or print "\n";
|
||||
print $date_line;
|
||||
@coauthors
|
||||
and print join ("\n", @coauthors), "\n";
|
||||
}
|
||||
$prev_date_line = $date_line;
|
||||
@prev_coauthors = @coauthors;
|
||||
$prev_multi_paragraph = $multi_paragraph;
|
||||
|
||||
# If there were any lines
|
||||
if (@line == 0)
|
||||
{
|
||||
warn "$ME: warning: empty commit message:\n $date_line\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($append_dot)
|
||||
{
|
||||
# If the first line of the message has enough room, then
|
||||
if (length $line[0] < 72)
|
||||
{
|
||||
# append a dot if there is no other punctuation or blank
|
||||
# at the end.
|
||||
$line[0] =~ /[[:punct:]\s]$/
|
||||
or $line[0] .= '.';
|
||||
}
|
||||
}
|
||||
|
||||
# Remove one additional leading TAB from each line.
|
||||
$strip_tab
|
||||
and map { s/^\t// } @line;
|
||||
|
||||
# Prefix each non-empty line with a TAB.
|
||||
@line = map { length $_ ? "\t$_" : '' } @line;
|
||||
|
||||
print "\n", join ("\n", @line), "\n";
|
||||
}
|
||||
|
||||
defined ($in = <PIPE>)
|
||||
or last;
|
||||
$in ne "\n"
|
||||
and die "$ME:$.: unexpected line:\n$in";
|
||||
}
|
||||
|
||||
close PIPE
|
||||
or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
|
||||
# FIXME-someday: include $PROCESS_STATUS in the diagnostic
|
||||
|
||||
# Complain about any unused entry in the --amend=F specified file.
|
||||
my $fail = 0;
|
||||
foreach my $sha (keys %$amend_code)
|
||||
{
|
||||
warn "$ME:$amend_file: unused entry: $sha\n";
|
||||
$fail = 1;
|
||||
}
|
||||
|
||||
exit $fail;
|
||||
}
|
||||
|
||||
# Local Variables:
|
||||
# mode: perl
|
||||
# indent-tabs-mode: nil
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "my $VERSION = '"
|
||||
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "'; # UTC"
|
||||
# End:
|
||||
62
build-aux/hydra/demo-os.scm
Normal file
62
build-aux/hydra/demo-os.scm
Normal file
@@ -0,0 +1,62 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
;;;
|
||||
;;; This file defines an operating system configuration for the demo virtual
|
||||
;;; machine images that we build.
|
||||
;;;
|
||||
|
||||
(use-modules (gnu packages emacs)
|
||||
(gnu packages xorg)
|
||||
(gnu packages base)
|
||||
(gnu packages admin)
|
||||
(gnu packages guile)
|
||||
(gnu packages bash)
|
||||
(gnu packages linux)
|
||||
(gnu packages less)
|
||||
(gnu packages tor)
|
||||
|
||||
(gnu system shadow) ; 'user-account'
|
||||
(gnu services base)
|
||||
(gnu services networking)
|
||||
(gnu services xorg))
|
||||
|
||||
(operating-system
|
||||
(host-name "gnu")
|
||||
(timezone "Europe/Paris")
|
||||
(locale "en_US.UTF-8")
|
||||
(users (list (user-account
|
||||
(name "guest")
|
||||
(uid 1000) (gid 100)
|
||||
(comment "Guest of GNU")
|
||||
(home-directory "/home/guest"))))
|
||||
(services (cons* (slim-service #:auto-login? #f
|
||||
#:default-user "root")
|
||||
|
||||
;; QEMU networking settings.
|
||||
(static-networking-service "eth0" "10.0.2.10"
|
||||
#:name-servers '("10.0.2.3")
|
||||
#:gateway "10.0.2.2")
|
||||
|
||||
%base-services))
|
||||
(packages (list bash coreutils findutils grep sed
|
||||
procps psmisc less
|
||||
guile-2.0 dmd util-linux inetutils
|
||||
xterm emacs
|
||||
tor)))
|
||||
202
build-aux/hydra/gnu-system.scm
Normal file
202
build-aux/hydra/gnu-system.scm
Normal file
@@ -0,0 +1,202 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; This file defines build jobs for the Hydra continuation integration
|
||||
;;; tool.
|
||||
;;;
|
||||
|
||||
;; Attempt to use our very own Guix modules.
|
||||
(eval-when (compile load eval)
|
||||
|
||||
;; Ignore any available .go, and force recompilation. This is because our
|
||||
;; checkout in the store has mtime set to the epoch, and thus .go files look
|
||||
;; newer, even though they may not correspond.
|
||||
(set! %fresh-auto-compile #t)
|
||||
|
||||
(and=> (assoc-ref (current-source-location) 'filename)
|
||||
(lambda (file)
|
||||
(let ((dir (string-append (dirname file) "/../..")))
|
||||
(format (current-error-port) "prepending ~s to the load path~%"
|
||||
dir)
|
||||
(set! %load-path (cons dir %load-path))))))
|
||||
|
||||
(use-modules (guix config)
|
||||
(guix store)
|
||||
(guix packages)
|
||||
(guix derivations)
|
||||
(guix monads)
|
||||
((guix licenses) #:select (gpl3+))
|
||||
((guix utils) #:select (%current-system))
|
||||
((guix scripts system) #:select (read-operating-system))
|
||||
(gnu packages)
|
||||
(gnu packages gcc)
|
||||
(gnu packages base)
|
||||
(gnu packages gawk)
|
||||
(gnu packages guile)
|
||||
(gnu packages gettext)
|
||||
(gnu packages compression)
|
||||
(gnu packages multiprecision)
|
||||
(gnu packages make-bootstrap)
|
||||
(gnu system)
|
||||
(gnu system vm)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 match))
|
||||
|
||||
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
|
||||
;; port to the bit bucket, let us write to the error port instead.
|
||||
(setvbuf (current-error-port) _IOLBF)
|
||||
(set-current-output-port (current-error-port))
|
||||
|
||||
(define* (package->alist store package system
|
||||
#:optional (package-derivation package-derivation))
|
||||
"Convert PACKAGE to an alist suitable for Hydra."
|
||||
`((derivation . ,(derivation-file-name
|
||||
(package-derivation store package system)))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
(license . ,(package-license package))
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
|
||||
;; Work around versions of 'hydra-eval-guile-jobs' before Hydra commit
|
||||
;; 61448ca (27 Feb. 2014) which used a default timeout of 2h.
|
||||
(timeout . 72000)))
|
||||
|
||||
(define (package-job store job-name package system)
|
||||
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
|
||||
(let ((job-name (symbol-append job-name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,job-name . ,(cut package->alist store package system))))
|
||||
|
||||
(define (package-cross-job store job-name package target system)
|
||||
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
|
||||
SYSTEM."
|
||||
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
|
||||
(string->symbol ".") (string->symbol system)) .
|
||||
,(cute package->alist store package system
|
||||
(cut package-cross-derivation <> <> target <>))))
|
||||
|
||||
(define %core-packages
|
||||
;; Note: Don't put the '-final' package variants because (1) that's
|
||||
;; implicit, and (2) they cannot be cross-built (due to the explicit input
|
||||
;; chain.)
|
||||
(list gcc-4.8 gcc-4.7 glibc binutils
|
||||
gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
||||
gawk gnu-gettext hello guile-2.0 zlib gzip xz
|
||||
%bootstrap-binaries-tarball
|
||||
%binutils-bootstrap-tarball
|
||||
%glibc-bootstrap-tarball
|
||||
%gcc-bootstrap-tarball
|
||||
%guile-bootstrap-tarball
|
||||
%bootstrap-tarballs))
|
||||
|
||||
(define %packages-to-cross-build
|
||||
%core-packages)
|
||||
|
||||
(define %cross-targets
|
||||
'("mips64el-linux-gnu"
|
||||
"mips64el-linux-gnuabi64"))
|
||||
|
||||
(define (qemu-jobs store system)
|
||||
"Return a list of jobs that build QEMU images for SYSTEM."
|
||||
(define (->alist drv)
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(description . "Stand-alone QEMU image of the GNU system")
|
||||
(long-description . "This is a demo stand-alone QEMU image of the GNU
|
||||
system.")
|
||||
(license . ,gpl3+)
|
||||
(home-page . ,%guix-home-page-url)
|
||||
(maintainers . ("bug-guix@gnu.org"))))
|
||||
|
||||
(define (->job name drv)
|
||||
(let ((name (symbol-append name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,name . ,(cut ->alist drv))))
|
||||
|
||||
(if (string=? system "x86_64-linux")
|
||||
(let* ((dir (dirname (assoc-ref (current-source-location) 'filename)))
|
||||
(file (string-append dir "/demo-os.scm"))
|
||||
(os (read-operating-system file)))
|
||||
(if (operating-system? os)
|
||||
(list (->job 'qemu-image
|
||||
(run-with-store store (system-qemu-image os))))
|
||||
'()))
|
||||
'()))
|
||||
|
||||
(define (hydra-jobs store arguments)
|
||||
"Return Hydra jobs."
|
||||
(define systems
|
||||
;; Systems we want to build for.
|
||||
'("x86_64-linux" "i686-linux"))
|
||||
|
||||
(define subset
|
||||
(match (assoc-ref arguments 'subset)
|
||||
("core" 'core) ; only build core packages
|
||||
(_ 'all))) ; build everything
|
||||
|
||||
(define job-name
|
||||
(compose string->symbol package-full-name))
|
||||
|
||||
(define (cross-jobs system)
|
||||
(define (from-32-to-64? target)
|
||||
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit.
|
||||
;; This hacks prevents known-to-fail cross-builds from i686-linux to
|
||||
;; mips64el-linux-gnuabi64.
|
||||
(and (string-prefix? "i686-" system)
|
||||
(string-suffix? "64" target)))
|
||||
|
||||
(append-map (lambda (target)
|
||||
(map (lambda (package)
|
||||
(package-cross-job store (job-name package)
|
||||
package target system))
|
||||
%packages-to-cross-build))
|
||||
(remove from-32-to-64? %cross-targets)))
|
||||
|
||||
;; Return one job for each package, except bootstrap packages.
|
||||
(let ((base-packages (delete-duplicates
|
||||
(append-map (match-lambda
|
||||
((_ package _ ...)
|
||||
(match (package-transitive-inputs
|
||||
package)
|
||||
(((_ inputs _ ...) ...)
|
||||
inputs))))
|
||||
%final-inputs))))
|
||||
(append-map (lambda (system)
|
||||
(case subset
|
||||
((all)
|
||||
;; Build everything.
|
||||
(fold-packages (lambda (package result)
|
||||
(if (member package base-packages)
|
||||
result
|
||||
(cons (package-job store (job-name package)
|
||||
package system)
|
||||
result)))
|
||||
(append (qemu-jobs store system)
|
||||
(cross-jobs system))))
|
||||
((core)
|
||||
;; Build core packages only.
|
||||
(append (map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
%core-packages)
|
||||
(cross-jobs system)))
|
||||
(else
|
||||
(error "unknown subset" subset))))
|
||||
systems)))
|
||||
116
build-aux/hydra/guix.scm
Normal file
116
build-aux/hydra/guix.scm
Normal file
@@ -0,0 +1,116 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; This file defines build jobs of Guix itself for the Hydra continuation
|
||||
;;; integration tool.
|
||||
;;;
|
||||
|
||||
;; Attempt to use our very own Guix modules.
|
||||
(eval-when (compile load eval)
|
||||
|
||||
;; Ignore any available .go, and force recompilation. This is because our
|
||||
;; checkout in the store has mtime set to the epoch, and thus .go files look
|
||||
;; newer, even though they may not correspond.
|
||||
(set! %fresh-auto-compile #t)
|
||||
|
||||
;; Display which files are loaded.
|
||||
(set! %load-verbosely #t)
|
||||
|
||||
(and=> (assoc-ref (current-source-location) 'filename)
|
||||
(lambda (file)
|
||||
(let ((dir (string-append (dirname file) "/../..")))
|
||||
(format (current-error-port) "prepending ~s to the load path~%"
|
||||
dir)
|
||||
(set! %load-path (cons dir %load-path))))))
|
||||
|
||||
|
||||
(use-modules (guix store)
|
||||
(guix packages)
|
||||
(guix utils)
|
||||
(guix derivations)
|
||||
(guix build-system gnu)
|
||||
(gnu packages version-control)
|
||||
(gnu packages package-management)
|
||||
(gnu packages graphviz)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 match))
|
||||
|
||||
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
|
||||
;; port to the bit bucket, let us write to the error port instead.
|
||||
(setvbuf (current-error-port) _IOLBF)
|
||||
(set-current-output-port (current-error-port))
|
||||
|
||||
(define* (package->alist store package system
|
||||
#:optional (package-derivation package-derivation))
|
||||
"Convert PACKAGE to an alist suitable for Hydra."
|
||||
`((derivation . ,(derivation-file-name
|
||||
(package-derivation store package system)))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
(license . ,(package-license package))
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))))
|
||||
|
||||
(define (tarball-package checkout nix-checkout)
|
||||
"Return a package that does `make distcheck' from CHECKOUT, a directory
|
||||
containing a Git checkout of Guix."
|
||||
(let ((dist (dist-package guix checkout)))
|
||||
(package (inherit dist)
|
||||
(location (source-properties->location (current-source-location)))
|
||||
(arguments (substitute-keyword-arguments (package-arguments dist)
|
||||
((#:phases p)
|
||||
`(alist-cons-before
|
||||
'autoreconf 'set-nix-submodule
|
||||
(lambda _
|
||||
;; Tell Git to use the Nix checkout that Hydra gave us.
|
||||
(zero?
|
||||
(system* "git" "config" "submodule.nix-upstream.url"
|
||||
,nix-checkout)))
|
||||
,p))))
|
||||
(native-inputs `(("git" ,git)
|
||||
("graphviz" ,graphviz)
|
||||
,@(package-native-inputs dist))))))
|
||||
|
||||
(define (hydra-jobs store arguments)
|
||||
"Return Hydra jobs."
|
||||
(define systems
|
||||
(match (filter-map (match-lambda
|
||||
(('system . value)
|
||||
value)
|
||||
(_ #f))
|
||||
arguments)
|
||||
((lst ..1)
|
||||
lst)
|
||||
(_
|
||||
(list (%current-system)))))
|
||||
|
||||
(define guix-checkout
|
||||
(assq-ref arguments 'guix))
|
||||
|
||||
(define nix-checkout
|
||||
(assq-ref arguments 'nix))
|
||||
|
||||
(format (current-error-port) "using checkout ~s (Nix: ~s)~%"
|
||||
guix-checkout nix-checkout)
|
||||
(let ((guix (assq-ref guix-checkout 'file-name))
|
||||
(nix (assq-ref nix-checkout 'file-name)))
|
||||
`((tarball . ,(cute package->alist store
|
||||
(tarball-package guix nix)
|
||||
(%current-system))))))
|
||||
427
build-aux/list-packages.scm
Executable file
427
build-aux/list-packages.scm
Executable file
@@ -0,0 +1,427 @@
|
||||
#!/bin/sh
|
||||
exec guile -l "$0" \
|
||||
-c '(apply (@ (list-packages) list-packages)
|
||||
(cdr (command-line)))'
|
||||
!#
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (list-packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix gnu-maintenance)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (sxml simple)
|
||||
#:use-module (sxml fold)
|
||||
#:use-module (web uri)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (list-packages))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Emit an HTML representation of the packages available in GNU Guix.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define lookup-gnu-package
|
||||
(let ((gnu (official-gnu-packages)))
|
||||
(lambda (name)
|
||||
"Return the package description for GNU package NAME, or #f."
|
||||
(find (lambda (package)
|
||||
(equal? (gnu-package-name package) name))
|
||||
gnu))))
|
||||
|
||||
(define (list-join lst item)
|
||||
"Join the items in LST by inserting ITEM between each pair of elements."
|
||||
(let loop ((lst lst)
|
||||
(result '()))
|
||||
(match lst
|
||||
(()
|
||||
(match (reverse result)
|
||||
(()
|
||||
'())
|
||||
((_ rest ...)
|
||||
rest)))
|
||||
((head tail ...)
|
||||
(loop tail
|
||||
(cons* head item result))))))
|
||||
|
||||
(define (package->sxml package previous description-ids remaining)
|
||||
"Return 3 values: the HTML-as-SXML for PACKAGE added to all previously
|
||||
collected package output in PREVIOUS, a list of DESCRIPTION-IDS and the number
|
||||
of packages still to be processed in REMAINING. Also Introduces a call to the
|
||||
JavaScript prep_pkg_descs function as part of the output of PACKAGE, every
|
||||
time the length of DESCRIPTION-IDS, increasing, is 15 or when REMAINING,
|
||||
decreasing, is 1."
|
||||
(define (location-url loc)
|
||||
(string-append "http://git.savannah.gnu.org/cgit/guix.git/tree/"
|
||||
(location-file loc) "#n"
|
||||
(number->string (location-line loc))))
|
||||
|
||||
(define (source-url package)
|
||||
(let ((loc (package-location package)))
|
||||
(and loc (location-url loc))))
|
||||
|
||||
(define (license package)
|
||||
(define ->sxml
|
||||
(match-lambda
|
||||
((lst ...)
|
||||
`(div ,(map ->sxml lst)))
|
||||
((? license? license)
|
||||
(let ((uri (license-uri license)))
|
||||
(case (and=> (and uri (string->uri uri)) uri-scheme)
|
||||
((http https)
|
||||
`(div (a (@ (href ,uri)
|
||||
(title "Link to the full license"))
|
||||
,(license-name license))))
|
||||
(else
|
||||
`(div ,(license-name license) " ("
|
||||
,(license-comment license) ")")))))
|
||||
(#f "")))
|
||||
|
||||
(->sxml (package-license package)))
|
||||
|
||||
(define (patches package)
|
||||
(define (patch-url patch)
|
||||
(string-append
|
||||
"http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
|
||||
(basename patch)))
|
||||
|
||||
(define (snippet-link snippet)
|
||||
(let ((loc (or (package-field-location package 'source)
|
||||
(package-location package))))
|
||||
`(a (@ (href ,(location-url loc))
|
||||
(title "Link to patch snippet"))
|
||||
"snippet")))
|
||||
|
||||
(and (origin? (package-source package))
|
||||
(let ((patches (origin-patches (package-source package)))
|
||||
(snippet (origin-snippet (package-source package))))
|
||||
(and (or (pair? patches) snippet)
|
||||
`(div "patches: "
|
||||
,(let loop ((patches patches)
|
||||
(number 1)
|
||||
(links '()))
|
||||
(match patches
|
||||
(()
|
||||
(let* ((additional (and snippet
|
||||
(snippet-link snippet)))
|
||||
(links (if additional
|
||||
(cons additional links)
|
||||
links)))
|
||||
(list-join (reverse links) ", ")))
|
||||
((patch rest ...)
|
||||
(loop rest
|
||||
(+ 1 number)
|
||||
(cons `(a (@ (href ,(patch-url patch))
|
||||
(title ,(string-append
|
||||
"Link to "
|
||||
(basename patch))))
|
||||
,(number->string number))
|
||||
links))))))))))
|
||||
|
||||
(define (status package)
|
||||
(define (url system)
|
||||
`(a (@ (href ,(string-append "http://hydra.gnu.org/job/gnu/master/"
|
||||
(package-full-name package) "."
|
||||
system))
|
||||
(title "View the status of this architecture's build at Hydra"))
|
||||
,system))
|
||||
|
||||
`(div "status: "
|
||||
,(url "x86_64-linux") " "
|
||||
,(url "i686-linux")))
|
||||
|
||||
(define (package-logo name)
|
||||
(and=> (lookup-gnu-package name)
|
||||
gnu-package-logo))
|
||||
|
||||
(define (insert-tr description-id js?)
|
||||
(define (insert-js-call description-ids)
|
||||
"Return an sxml call to prep_pkg_descs, with up to 15 elements of
|
||||
description-ids as formal parameters."
|
||||
`(script (@ (type "text/javascript"))
|
||||
,(format #f "prep_pkg_descs(~a)"
|
||||
(string-append "'"
|
||||
(string-join description-ids "', '")
|
||||
"'"))))
|
||||
|
||||
(let ((description-ids (cons description-id description-ids)))
|
||||
`(tr (td ,(if (gnu-package? package)
|
||||
`(img (@ (src "/graphics/gnu-head-mini.png")
|
||||
(alt "Part of GNU")
|
||||
(title "Part of GNU")))
|
||||
""))
|
||||
(td (a (@ (href ,(source-url package))
|
||||
(title "Link to the Guix package source code"))
|
||||
,(package-name package) " "
|
||||
,(package-version package)))
|
||||
(td (span ,(package-synopsis package))
|
||||
(div (@ (id ,description-id))
|
||||
,(match (package-logo (package-name package))
|
||||
((? string? url)
|
||||
`(img (@ (src ,url)
|
||||
(height "35")
|
||||
(class "package-logo")
|
||||
(alt ("Logo of " ,(package-name package))))))
|
||||
(_ #f))
|
||||
(p ,(package-description package))
|
||||
,(license package)
|
||||
(a (@ (href ,(package-home-page package))
|
||||
(title "Link to the package's website"))
|
||||
,(package-home-page package))
|
||||
,(status package)
|
||||
,(patches package)
|
||||
,(if js?
|
||||
(insert-js-call description-ids)
|
||||
""))))))
|
||||
|
||||
(let ((description-id (symbol->string
|
||||
(gensym (package-name package)))))
|
||||
(cond ((= remaining 1) ; Last package in packages
|
||||
(values
|
||||
(reverse ; Fold has reversed packages
|
||||
(cons (insert-tr description-id 'js) ; Prefix final sxml
|
||||
previous))
|
||||
'() ; No more work to do
|
||||
0)) ; End of the line
|
||||
((= (length description-ids) 15) ; Time for a JS call
|
||||
(values
|
||||
(cons (insert-tr description-id 'js)
|
||||
previous) ; Prefix new sxml
|
||||
'() ; Reset description-ids
|
||||
(1- remaining))) ; Reduce remaining
|
||||
(else ; Insert another row, and build description-ids
|
||||
(values
|
||||
(cons (insert-tr description-id #f)
|
||||
previous) ; Prefix new sxml
|
||||
(cons description-id description-ids) ; Update description-ids
|
||||
(1- remaining)))))) ; Reduce remaining
|
||||
|
||||
(define (packages->sxml packages)
|
||||
"Return an HTML page as SXML describing PACKAGES."
|
||||
`(div
|
||||
(h2 "GNU Guix Package List")
|
||||
(div (@ (id "intro"))
|
||||
(div
|
||||
(img (@ (src "graphics/guix-logo.small.png")
|
||||
(alt "GNU Guix and the GNU System")
|
||||
(height "83"))))
|
||||
(p "This web page lists the packages currently provided by the "
|
||||
(a (@ (href "manual/guix.html#GNU-Distribution"))
|
||||
"GNU system distribution")
|
||||
" of "
|
||||
(a (@ (href "/software/guix/guix.html")) "GNU Guix") ". "
|
||||
"Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master"))
|
||||
"continuous integration system")
|
||||
" shows their current build status."))
|
||||
(table (@ (id "packages"))
|
||||
(tr (th "GNU?")
|
||||
(th "Package version")
|
||||
(th "Package details"))
|
||||
,@(fold-values package->sxml packages '() '() (length packages)))
|
||||
(a (@ (href "#intro")
|
||||
(title "Back to top.")
|
||||
(id "top"))
|
||||
"^")))
|
||||
|
||||
|
||||
(define (insert-css)
|
||||
"Return the CSS for the list-packages page."
|
||||
(format #t
|
||||
"<style>
|
||||
/* license: CC0 */
|
||||
a {
|
||||
transition: all 0.3s;
|
||||
}
|
||||
div#intro {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
div#intro div, div#intro p {
|
||||
padding:0.5em;
|
||||
}
|
||||
div#intro div {
|
||||
float:left;
|
||||
}
|
||||
div#intro img {
|
||||
float:left;
|
||||
padding:0.75em;
|
||||
}
|
||||
table#packages, table#packages tr, table#packages tbody, table#packages td, table#packages th {
|
||||
border: 0px solid black;
|
||||
clear: both;
|
||||
}
|
||||
table#packages tr:nth-child(even) {
|
||||
background-color: #FFF;
|
||||
}
|
||||
table#packages tr:nth-child(odd) {
|
||||
background-color: #EEE;
|
||||
}
|
||||
table#packages tr:hover, table#packages tr:focus, table#packages tr:active {
|
||||
background-color: #DDD;
|
||||
}
|
||||
table#packages tr:first-child, table#packages tr:first-child:hover, table#packages tr:first-child:focus, table#packages tr:first-child:active {
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
}
|
||||
table#packages td {
|
||||
margin:0px;
|
||||
padding:0.2em 0.5em;
|
||||
}
|
||||
table#packages td:first-child {
|
||||
width:10%;
|
||||
text-align:center;
|
||||
}
|
||||
table#packages td:nth-child(2) {
|
||||
width:30%;
|
||||
}
|
||||
table#packages td:last-child {
|
||||
width:60%;
|
||||
}
|
||||
img.package-logo {
|
||||
float: left;
|
||||
padding: 0.75em;
|
||||
}
|
||||
table#packages span {
|
||||
font-weight: 700;
|
||||
}
|
||||
table#packages span a {
|
||||
float: right;
|
||||
font-weight: 500;
|
||||
}
|
||||
a#top {
|
||||
position:fixed;
|
||||
right:10px;
|
||||
bottom:10px;
|
||||
font-size:150%;
|
||||
background-color:#EEE;
|
||||
padding:10px 7.5px 0 7.5px;
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
border-radius:5px;
|
||||
}
|
||||
a#top:hover, a#top:focus {
|
||||
background-color:#333;
|
||||
color:#fff;
|
||||
}
|
||||
</style>"))
|
||||
|
||||
(define (insert-js)
|
||||
"Return the JavaScript for the list-packages page."
|
||||
(format #t
|
||||
"<script type=\"text/javascript\">
|
||||
// license: CC0
|
||||
function show_hide(idThing)
|
||||
{
|
||||
if(document.getElementById && document.createTextNode) {
|
||||
var thing = document.getElementById(idThing);
|
||||
/* Used to change the link text, depending on whether description is
|
||||
collapsed or expanded */
|
||||
var thingLink = thing.previousSibling.lastChild.firstChild;
|
||||
if (thing) {
|
||||
if (thing.style.display == \"none\") {
|
||||
thing.style.display = \"\";
|
||||
thingLink.data = 'Collapse';
|
||||
} else {
|
||||
thing.style.display = \"none\";
|
||||
thingLink.data = 'Expand';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Add controllers used for collapse/expansion of package descriptions */
|
||||
function prep(idThing)
|
||||
{
|
||||
var tdThing = document.getElementById(idThing).parentNode;
|
||||
if (tdThing) {
|
||||
var aThing = tdThing.firstChild.appendChild(document.createElement('a'));
|
||||
aThing.setAttribute('href', 'javascript:void(0)');
|
||||
aThing.setAttribute('title', 'show/hide package description');
|
||||
aThing.appendChild(document.createTextNode('Expand'));
|
||||
aThing.onclick=function(){show_hide(idThing);};
|
||||
/* aThing.onkeypress=function(){show_hide(idThing);}; */
|
||||
}
|
||||
}
|
||||
/* Take n element IDs, prepare them for javascript enhanced
|
||||
display and hide the IDs by default. */
|
||||
function prep_pkg_descs()
|
||||
{
|
||||
if(document.getElementById && document.createTextNode) {
|
||||
for(var i=0; i<arguments.length; i++) {
|
||||
prep(arguments[i])
|
||||
show_hide(arguments[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>"))
|
||||
|
||||
|
||||
(define (list-packages . args)
|
||||
"Return an HTML page listing all the packages found in the GNU distribution,
|
||||
with gnu.org server-side include and all that."
|
||||
;; Don't attempt to translate descriptions.
|
||||
(setlocale LC_ALL "C")
|
||||
|
||||
;; Output the page as UTF-8 since that's what the gnu.org server-side
|
||||
;; headers claim.
|
||||
(set-port-encoding! (current-output-port) "UTF-8")
|
||||
|
||||
(let ((packages (sort (fold-packages cons '())
|
||||
(lambda (p1 p2)
|
||||
(string<? (package-name p1) (package-name p2))))))
|
||||
(format #t "<!--#include virtual=\"/server/html5-header.html\" -->
|
||||
<!-- Parent-Version: 1.70 $ -->
|
||||
<title>GNU Guix - GNU Distribution - GNU Project</title>
|
||||
")
|
||||
(insert-css)
|
||||
(insert-js)
|
||||
(format #t "<!--#include virtual=\"/server/banner.html\" -->")
|
||||
|
||||
(sxml->xml (packages->sxml packages))
|
||||
(format #t "</div>
|
||||
<!--#include virtual=\"/server/footer.html\" -->
|
||||
<div id=\"footer\">
|
||||
|
||||
<p>Please send general FSF & GNU inquiries to
|
||||
<a href=\"mailto:gnu@gnu.org\"><gnu@gnu.org></a>.
|
||||
There are also <a href=\"/contact/\">other ways to contact</a>
|
||||
the FSF. Broken links and other corrections or suggestions can be sent
|
||||
to <a href=\"mailto:bug-guix@gnu.org\"><bug-guix@gnu.org></a>.</p>
|
||||
|
||||
<p>Copyright © 2013 Free Software Foundation, Inc.</p>
|
||||
|
||||
<p>This page is licensed under a <a rel=\"license\"
|
||||
href=\"http://creativecommons.org/licenses/by-nd/3.0/us/\">Creative
|
||||
Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
|
||||
|
||||
<p>Updated:
|
||||
<!-- timestamp start -->
|
||||
$Date$
|
||||
<!-- timestamp end -->
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
"))
|
||||
)
|
||||
|
||||
;;; list-packages.scm ends here
|
||||
75
build-aux/sync-descriptions.scm
Normal file
75
build-aux/sync-descriptions.scm
Normal file
@@ -0,0 +1,75 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; Report package synopses and descriptions that defer from those found in
|
||||
;;; the GNU Womb.
|
||||
;;;
|
||||
|
||||
(use-modules (guix gnu-maintenance)
|
||||
(guix packages)
|
||||
(guix utils)
|
||||
(guix ui)
|
||||
(gnu packages)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 match))
|
||||
|
||||
(define official
|
||||
;; GNU package descriptors from the Womb.
|
||||
(official-gnu-packages))
|
||||
|
||||
(define gnus
|
||||
;; GNU packages available in the distro.
|
||||
(let ((lookup (lambda (p)
|
||||
(find (lambda (descriptor)
|
||||
(equal? (gnu-package-name descriptor)
|
||||
(package-name p)))
|
||||
official))))
|
||||
(fold-packages (lambda (package result)
|
||||
(or (and=> (lookup package)
|
||||
(cut alist-cons package <> result))
|
||||
result))
|
||||
'())))
|
||||
|
||||
;; Iterate over GNU packages. Report those whose synopsis defers from that
|
||||
;; found upstream.
|
||||
(for-each (match-lambda
|
||||
((package . descriptor)
|
||||
(let ((upstream (gnu-package-doc-summary descriptor))
|
||||
(downstream (package-synopsis package))
|
||||
(loc (or (package-field-location package 'synopsis)
|
||||
(package-location package))))
|
||||
(unless (and upstream (string=? upstream downstream))
|
||||
(format (guix-warning-port)
|
||||
"~a: ~a: proposed synopsis: ~s~%"
|
||||
(location->string loc) (package-name package)
|
||||
upstream)))
|
||||
|
||||
(let ((upstream (gnu-package-doc-description descriptor))
|
||||
(downstream (package-description package))
|
||||
(loc (or (package-field-location package 'description)
|
||||
(package-location package))))
|
||||
(when (and upstream
|
||||
(not (string=? (fill-paragraph upstream 100)
|
||||
(fill-paragraph downstream 100))))
|
||||
(format (guix-warning-port)
|
||||
"~a: ~a: proposed description:~% ~a~%"
|
||||
(location->string loc) (package-name package)
|
||||
(fill-paragraph upstream 77 7))))))
|
||||
gnus)
|
||||
128
config-daemon.ac
Normal file
128
config-daemon.ac
Normal file
@@ -0,0 +1,128 @@
|
||||
dnl -*- Autoconf -*- fragment for the C++ daemon.
|
||||
|
||||
AC_MSG_CHECKING([whether to build daemon])
|
||||
AC_MSG_RESULT([$guix_build_daemon])
|
||||
|
||||
dnl C++ environment. This macro must be used unconditionnaly.
|
||||
AC_PROG_CXX
|
||||
|
||||
if test "x$guix_build_daemon" = "xyes"; then
|
||||
|
||||
AC_PROG_RANLIB
|
||||
AC_CONFIG_HEADER([nix/config.h])
|
||||
|
||||
dnl Decompressors, for use by the substituter.
|
||||
AC_PATH_PROG([GZIP], [gzip])
|
||||
AC_PATH_PROG([BZIP2], [bzip2])
|
||||
AC_PATH_PROG([XZ], [xz])
|
||||
AC_SUBST([GZIP])
|
||||
AC_SUBST([BZIP2])
|
||||
AC_SUBST([XZ])
|
||||
|
||||
dnl Use 64-bit file system calls so that we can support files > 2 GiB.
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
dnl Look for libbz2, a required dependency.
|
||||
AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [true],
|
||||
[AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])])
|
||||
AC_CHECK_HEADERS([bzlib.h], [true],
|
||||
[AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])])
|
||||
|
||||
dnl Look for SQLite, a required dependency.
|
||||
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19])
|
||||
|
||||
AC_DEFINE([NIX_VERSION], ["0.0.0"], [Fake Nix version number.])
|
||||
AC_DEFINE_UNQUOTED([SYSTEM], ["$guix_system"],
|
||||
[Guix host system type--i.e., platform and OS kernel tuple.])
|
||||
|
||||
case "$LIBGCRYPT_PREFIX" in
|
||||
no)
|
||||
LIBGCRYPT_CFLAGS=""
|
||||
LIBGCRYPT_LIBS=""
|
||||
;;
|
||||
*)
|
||||
LIBGCRYPT_CFLAGS="-I$LIBGCRYPT_PREFIX/include"
|
||||
LIBGCRYPT_LIBS="-L$LIBGCRYPT_PREFIX/lib -lgcrypt"
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([LIBGCRYPT_CFLAGS])
|
||||
AC_SUBST([LIBGCRYPT_LIBS])
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $LIBGCRYPT_LDFLAGS"
|
||||
|
||||
have_gcrypt=yes
|
||||
AC_CHECK_LIB([gcrypt], [gcry_md_open], [:], [have_gcrypt=no])
|
||||
AC_CHECK_HEADER([gcrypt.h], [:], [have_gcrypt=no])
|
||||
if test "x$have_gcrypt" != "xyes"; then
|
||||
AC_MSG_ERROR([GNU libgcrypt not found; please install it.])
|
||||
fi
|
||||
|
||||
CFLAGS="$save_CFLAGS"
|
||||
LDFLAGS="$save_LDFLAGS"
|
||||
|
||||
dnl Chroot support.
|
||||
AC_CHECK_FUNCS([chroot unshare])
|
||||
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h])
|
||||
|
||||
dnl Check for lutimes, optionally used for changing the mtime of
|
||||
dnl symlinks.
|
||||
AC_CHECK_FUNCS([lutimes])
|
||||
|
||||
dnl Check whether the store optimiser can optimise symlinks.
|
||||
AC_MSG_CHECKING([whether it is possible to create a link to a symlink])
|
||||
ln -s bla tmp_link
|
||||
if ln tmp_link tmp_link2 2> /dev/null; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(CAN_LINK_SYMLINK, 1, [Whether link() works on symlinks.])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
rm -f tmp_link tmp_link2
|
||||
|
||||
dnl Check for <locale>.
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_CHECK_HEADERS([locale])
|
||||
AC_LANG_POP(C++)
|
||||
|
||||
|
||||
dnl Check whether we have the `personality' syscall, which allows us
|
||||
dnl to do i686-linux builds on x86_64-linux machines.
|
||||
AC_CHECK_HEADERS([sys/personality.h])
|
||||
|
||||
dnl Check for <linux/fs.h> (for immutable file support).
|
||||
AC_CHECK_HEADERS([linux/fs.h])
|
||||
|
||||
dnl Check whether the 'offload' build hook can be built (uses
|
||||
dnl 'restore-file-set', which requires unbuffered custom binary input
|
||||
dnl ports from Guile >= 2.0.10.)
|
||||
GUIX_CHECK_UNBUFFERED_CBIP
|
||||
guix_build_daemon_offload="$ac_cv_guix_cbips_support_setvbuf"
|
||||
|
||||
if test "x$guix_build_daemon_offload" = "xyes"; then
|
||||
AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1],
|
||||
[Define if the daemon's 'offload' build hook is being built.])
|
||||
fi
|
||||
|
||||
dnl Temporary directory used to store the daemon's data.
|
||||
AC_MSG_CHECKING([for unit test root])
|
||||
GUIX_TEST_ROOT="`pwd`/test-tmp"
|
||||
AC_MSG_RESULT([$GUIX_TEST_ROOT])
|
||||
AC_SUBST([GUIX_TEST_ROOT])
|
||||
|
||||
AC_CONFIG_FILES([nix/scripts/list-runtime-roots],
|
||||
[chmod +x nix/scripts/list-runtime-roots])
|
||||
AC_CONFIG_FILES([nix/scripts/substitute-binary],
|
||||
[chmod +x nix/scripts/substitute-binary])
|
||||
AC_CONFIG_FILES([nix/scripts/guix-authenticate],
|
||||
[chmod +x nix/scripts/guix-authenticate])
|
||||
AC_CONFIG_FILES([nix/scripts/offload],
|
||||
[chmod +x nix/scripts/offload])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
|
||||
AM_CONDITIONAL([BUILD_DAEMON_OFFLOAD], \
|
||||
[test "x$guix_build_daemon" = "xyes" \
|
||||
&& test "x$guix_build_daemon_offload" = "xyes"])
|
||||
116
configure.ac
116
configure.ac
@@ -2,62 +2,150 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.68)
|
||||
AC_INIT([Guix], [0.0], [guile-user@gnu.org])
|
||||
AC_INIT([GNU Guix], [0.6], [bug-guix@gnu.org], [guix],
|
||||
[http://www.gnu.org/software/guix/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
||||
AM_INIT_AUTOMAKE([1.11 gnu silent-rules subdir-objects \
|
||||
color-tests parallel-tests])
|
||||
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
|
||||
color-tests parallel-tests -Woverride])
|
||||
|
||||
AC_CONFIG_SRCDIR([guix.scm])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
dnl For the C++ code. This must be used early.
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
AM_GNU_GETTEXT([external])
|
||||
AM_GNU_GETTEXT_VERSION([0.18.1])
|
||||
|
||||
guilemoduledir="${datarootdir}/guile/site/2.0"
|
||||
AC_SUBST([guilemoduledir])
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
GUIX_SYSTEM_TYPE
|
||||
GUIX_ASSERT_SUPPORTED_SYSTEM
|
||||
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.0])
|
||||
AC_ARG_WITH(store-dir,
|
||||
AC_HELP_STRING([--with-store-dir=PATH],
|
||||
[file name of the store (defaults to /gnu/store)]),
|
||||
[storedir="$withval"],
|
||||
[storedir="/gnu/store"])
|
||||
AC_SUBST(storedir)
|
||||
|
||||
dnl Better be verbose.
|
||||
AC_MSG_CHECKING([for the store directory])
|
||||
AC_MSG_RESULT([$storedir])
|
||||
|
||||
AC_ARG_ENABLE([daemon],
|
||||
[AS_HELP_STRING([--disable-daemon], [build the Nix daemon (C++)])],
|
||||
[guix_build_daemon="$enableval"],
|
||||
[guix_build_daemon="yes"])
|
||||
|
||||
# Prepare a version of $localstatedir & co. that does not contain references
|
||||
# to shell variables.
|
||||
guix_prefix="`eval echo $prefix | sed -e"s|NONE|/usr/local|g"`"
|
||||
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|$guix_prefix|g"`"
|
||||
guix_sysconfdir="`eval echo $sysconfdir | sed -e "s|NONE|$guix_prefix|g"`"
|
||||
guix_sbindir="`eval echo $sbindir | sed -e "s|NONE|$guix_prefix|g"`"
|
||||
AC_SUBST([guix_localstatedir])
|
||||
AC_SUBST([guix_sysconfdir])
|
||||
AC_SUBST([guix_sbindir])
|
||||
|
||||
dnl We require the pkg.m4 set of macros from pkg-config.
|
||||
dnl Make sure it's available.
|
||||
m4_pattern_forbid([PKG_CHECK_MODULES])
|
||||
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
|
||||
AC_PATH_PROG([GUILE], [guile])
|
||||
AC_PATH_PROG([GUILD], [guild])
|
||||
if test "x$GUILD" = "x"; then
|
||||
AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
|
||||
fi
|
||||
|
||||
dnl Make sure we have a full-fledged Guile.
|
||||
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
|
||||
|
||||
dnl Check whether (srfi srfi-37) works, and provide our own if it doesn't.
|
||||
GUIX_CHECK_SRFI_37
|
||||
AM_CONDITIONAL([INSTALL_SRFI_37], [test "x$ac_cv_guix_srfi_37_broken" = xyes])
|
||||
|
||||
AC_ARG_WITH([nix-prefix],
|
||||
[AS_HELP_STRING([--with-nix-prefix=DIR], [search for Nix in DIR])],
|
||||
[AS_HELP_STRING([--with-nix-prefix=DIR],
|
||||
[search for Nix in DIR (for testing purposes and '--disable-daemon' builds)])],
|
||||
[case "$withval" in
|
||||
yes|no) ;;
|
||||
*) PATH="$withval/bin:$PATH"; export PATH;;
|
||||
*)
|
||||
NIX_PREFIX="$withval"
|
||||
PATH="$NIX_PREFIX/bin:$PATH"; export PATH
|
||||
AC_SUBST([NIX_PREFIX])
|
||||
;;
|
||||
esac],
|
||||
[])
|
||||
|
||||
AC_PATH_PROG([NIX_INSTANTIATE], [nix-instantiate])
|
||||
AC_PATH_PROG([NIX_HASH], [nix-hash])
|
||||
if test "x$NIX_INSTANTIATE$NIX_HASH" = "x"; then
|
||||
if test "x$guix_build_daemon$NIX_INSTANTIATE$NIX_HASH" = "xno"; then
|
||||
AC_MSG_ERROR([Nix programs not found; please install Nix or use `--with-nix-prefix'.])
|
||||
fi
|
||||
|
||||
if test "x$NIX_INSTANTIATE" = "x"; then
|
||||
# This program is an optional dependency, so we just want it to be
|
||||
# taken from $PATH if it's not available right now.
|
||||
NIX_INSTANTIATE="nix-instantiate"
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([nixpkgs],
|
||||
[AS_HELP_STRING([--with-nixpkgs=DIR], [search for Nixpkgs in DIR])],
|
||||
[AS_HELP_STRING([--with-nixpkgs=DIR],
|
||||
[search for Nixpkgs in DIR (for testing purposes only)])],
|
||||
[case "$withval" in
|
||||
yes|no) AC_MSG_ERROR([Please use `--with-nixpkgs=DIR'.]);;
|
||||
*) NIXPKGS="$withval";;
|
||||
esac],
|
||||
[])
|
||||
|
||||
AC_MSG_CHECKING([for Nixpkgs source tree])
|
||||
if test -f "$NIXPKGS/default.nix"; then
|
||||
AC_MSG_CHECKING([for Nixpkgs source tree])
|
||||
AC_MSG_RESULT([$NIXPKGS])
|
||||
AC_SUBST([NIXPKGS])
|
||||
else
|
||||
AC_MSG_WARN([Nixpkgs not found; this will prevent most tests from running.])
|
||||
AC_MSG_WARN([Please use `--with-nixpkgs'.])
|
||||
AC_MSG_RESULT([not found])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([libgcrypt-prefix],
|
||||
[AS_HELP_STRING([--with-libgcrypt-prefix=DIR], [search for GNU libgcrypt in DIR])],
|
||||
[case "$withval" in
|
||||
yes|no)
|
||||
LIBGCRYPT="libgcrypt"
|
||||
LIBGCRYPT_PREFIX="no"
|
||||
;;
|
||||
*)
|
||||
LIBGCRYPT="$withval/lib/libgcrypt"
|
||||
LIBGCRYPT_PREFIX="$withval"
|
||||
;;
|
||||
esac],
|
||||
[LIBGCRYPT="libgcrypt"])
|
||||
|
||||
dnl Library name suitable for `dynamic-link'.
|
||||
AC_MSG_CHECKING([for libgcrypt shared library name])
|
||||
AC_MSG_RESULT([$LIBGCRYPT])
|
||||
AC_SUBST([LIBGCRYPT])
|
||||
AC_SUBST([LIBGCRYPT_PREFIX])
|
||||
|
||||
GUIX_ASSERT_LIBGCRYPT_USABLE
|
||||
|
||||
AC_CACHE_SAVE
|
||||
|
||||
m4_include([config-daemon.ac])
|
||||
|
||||
dnl `dot' (from the Graphviz package) is only needed for maintainers.
|
||||
dnl See `HACKING' for more info.
|
||||
AM_MISSING_PROG([DOT], [dot])
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
po/Makefile.in
|
||||
guix-build])
|
||||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_COMMANDS([commands-exec], [chmod +x guix-build])
|
||||
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
|
||||
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
|
||||
AC_CONFIG_FILES([test-env], [chmod +x test-env])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
198
daemon.am
Normal file
198
daemon.am
Normal file
@@ -0,0 +1,198 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
# GNU Guix 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 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#
|
||||
# Integration of the `guix-daemon' code taken from upstream Nix.
|
||||
#
|
||||
|
||||
BUILT_SOURCES = nix/libstore/schema.sql.hh
|
||||
CLEANFILES += $(BUILT_SOURCES)
|
||||
|
||||
noinst_LIBRARIES = libformat.a libutil.a libstore.a
|
||||
|
||||
# Use '-std=c++0x' for 'std::shared_ptr'.
|
||||
AM_CXXFLAGS = -Wall -std=c++0x
|
||||
|
||||
libformat_a_SOURCES = \
|
||||
nix/boost/format/free_funcs.cc \
|
||||
nix/boost/format/parsing.cc \
|
||||
nix/boost/format/format_implementation.cc
|
||||
|
||||
libformat_headers = \
|
||||
nix/boost/throw_exception.hpp \
|
||||
nix/boost/format.hpp \
|
||||
nix/boost/assert.hpp \
|
||||
nix/boost/format/macros_default.hpp \
|
||||
nix/boost/format/format_fwd.hpp \
|
||||
nix/boost/format/format_class.hpp \
|
||||
nix/boost/format/exceptions.hpp \
|
||||
nix/boost/format/group.hpp \
|
||||
nix/boost/format/feed_args.hpp \
|
||||
nix/boost/format/internals_fwd.hpp \
|
||||
nix/boost/format/internals.hpp
|
||||
|
||||
libformat_a_CPPFLAGS = \
|
||||
-I$(top_srcdir)/nix
|
||||
|
||||
libutil_a_SOURCES = \
|
||||
nix/libutil/archive.cc \
|
||||
nix/libutil/affinity.cc \
|
||||
nix/libutil/serialise.cc \
|
||||
nix/libutil/util.cc \
|
||||
nix/libutil/xml-writer.cc \
|
||||
nix/libutil/hash.cc \
|
||||
nix/libutil/gcrypt-hash.cc
|
||||
|
||||
libutil_headers = \
|
||||
nix/libutil/affinity.hh \
|
||||
nix/libutil/hash.hh \
|
||||
nix/libutil/serialise.hh \
|
||||
nix/libutil/xml-writer.hh \
|
||||
nix/libutil/util.hh \
|
||||
nix/libutil/archive.hh \
|
||||
nix/libutil/types.hh \
|
||||
nix/libutil/gcrypt-hash.hh \
|
||||
nix/libutil/md5.h \
|
||||
nix/libutil/sha1.h \
|
||||
nix/libutil/sha256.h
|
||||
|
||||
libutil_a_CPPFLAGS = \
|
||||
-I$(top_builddir)/nix \
|
||||
-I$(top_srcdir)/nix/libutil \
|
||||
$(libformat_a_CPPFLAGS)
|
||||
|
||||
libstore_a_SOURCES = \
|
||||
nix/libstore/gc.cc \
|
||||
nix/libstore/globals.cc \
|
||||
nix/libstore/misc.cc \
|
||||
nix/libstore/references.cc \
|
||||
nix/libstore/store-api.cc \
|
||||
nix/libstore/optimise-store.cc \
|
||||
nix/libstore/local-store.cc \
|
||||
nix/libstore/remote-store.cc \
|
||||
nix/libstore/build.cc \
|
||||
nix/libstore/pathlocks.cc \
|
||||
nix/libstore/derivations.cc
|
||||
|
||||
libstore_headers = \
|
||||
nix/libstore/references.hh \
|
||||
nix/libstore/pathlocks.hh \
|
||||
nix/libstore/globals.hh \
|
||||
nix/libstore/schema.sql.hh \
|
||||
nix/libstore/worker-protocol.hh \
|
||||
nix/libstore/remote-store.hh \
|
||||
nix/libstore/derivations.hh \
|
||||
nix/libstore/misc.hh \
|
||||
nix/libstore/local-store.hh \
|
||||
nix/libstore/store-api.hh
|
||||
|
||||
libstore_a_CPPFLAGS = \
|
||||
$(libutil_a_CPPFLAGS) \
|
||||
-I$(top_srcdir)/nix/libstore \
|
||||
-I$(top_builddir)/nix/libstore \
|
||||
-DNIX_STORE_DIR=\"$(storedir)\" \
|
||||
-DNIX_DATA_DIR=\"$(datadir)\" \
|
||||
-DNIX_STATE_DIR=\"$(localstatedir)/guix\" \
|
||||
-DNIX_LOG_DIR=\"$(localstatedir)/log/guix\" \
|
||||
-DNIX_CONF_DIR=\"$(sysconfdir)/guix\" \
|
||||
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
|
||||
-DNIX_BIN_DIR=\"$(bindir)\" \
|
||||
-DOPENSSL_PATH="\"guix-authenticate\""
|
||||
|
||||
libstore_a_CXXFLAGS = $(AM_CXXFLAGS) \
|
||||
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
|
||||
|
||||
bin_PROGRAMS = guix-daemon
|
||||
sbin_PROGRAMS = guix-register
|
||||
|
||||
guix_daemon_SOURCES = \
|
||||
nix/nix-daemon/nix-daemon.cc \
|
||||
nix/nix-daemon/guix-daemon.cc
|
||||
|
||||
guix_daemon_CPPFLAGS = \
|
||||
$(libutil_a_CPPFLAGS) \
|
||||
-I$(top_srcdir)/nix/libstore
|
||||
|
||||
guix_daemon_LDADD = \
|
||||
libstore.a libutil.a libformat.a -lbz2 \
|
||||
$(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
|
||||
|
||||
guix_daemon_headers = \
|
||||
nix/nix-daemon/shared.hh
|
||||
|
||||
|
||||
guix_register_SOURCES = \
|
||||
nix/guix-register/guix-register.cc
|
||||
|
||||
guix_register_CPPFLAGS = \
|
||||
$(libutil_a_CPPFLAGS) \
|
||||
$(libstore_a_CPPFLAGS) \
|
||||
-I$(top_srcdir)/nix/libstore
|
||||
|
||||
# XXX: Should we start using shared libs?
|
||||
guix_register_LDADD = \
|
||||
libstore.a libutil.a libformat.a -lbz2 \
|
||||
$(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
|
||||
|
||||
|
||||
noinst_HEADERS = \
|
||||
$(libformat_headers) $(libutil_headers) $(libstore_headers) \
|
||||
$(guix_daemon_headers)
|
||||
|
||||
nix/libstore/schema.sql.hh: nix/libstore/schema.sql
|
||||
$(GUILE) --no-auto-compile -c \
|
||||
"(use-modules (rnrs io ports)) \
|
||||
(call-with-output-file \"$@\" \
|
||||
(lambda (out) \
|
||||
(call-with-input-file \"$^\" \
|
||||
(lambda (in) \
|
||||
(write (get-string-all in) out)))))"
|
||||
|
||||
nodist_pkglibexec_SCRIPTS = \
|
||||
nix/scripts/list-runtime-roots \
|
||||
nix/scripts/substitute-binary
|
||||
|
||||
if BUILD_DAEMON_OFFLOAD
|
||||
|
||||
nodist_pkglibexec_SCRIPTS += \
|
||||
nix/scripts/offload
|
||||
|
||||
endif BUILD_DAEMON_OFFLOAD
|
||||
|
||||
|
||||
# XXX: It'd be better to hide it in $(pkglibexecdir).
|
||||
nodist_libexec_SCRIPTS = \
|
||||
nix/scripts/guix-authenticate
|
||||
|
||||
EXTRA_DIST += \
|
||||
nix/sync-with-upstream \
|
||||
nix/libstore/schema.sql \
|
||||
nix/AUTHORS \
|
||||
nix/COPYING
|
||||
|
||||
AM_TESTS_ENVIRONMENT += \
|
||||
top_builddir="$(abs_top_builddir)"
|
||||
|
||||
TESTS += \
|
||||
tests/guix-daemon.sh
|
||||
|
||||
clean-local:
|
||||
-if test -d "$(GUIX_TEST_ROOT)"; then \
|
||||
find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \
|
||||
fi
|
||||
-rm -rf "$(GUIX_TEST_ROOT)"
|
||||
94
distro.scm
94
distro.scm
@@ -1,94 +0,0 @@
|
||||
;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
|
||||
;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of Guix.
|
||||
;;;
|
||||
;;; Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; Guix 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 Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (distro)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (find-packages-by-name))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; General utilities for the software distribution---i.e., the modules under
|
||||
;;; (distro ...).
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define _ (cut gettext <> "guix"))
|
||||
|
||||
(define %distro-module-directory
|
||||
;; Absolute path of the (distro ...) module root.
|
||||
(string-append (dirname (search-path %load-path "distro.scm"))
|
||||
"/distro"))
|
||||
|
||||
(define (package-files)
|
||||
"Return the list of files that implement distro modules."
|
||||
(define prefix-len
|
||||
(string-length (dirname %distro-module-directory)))
|
||||
|
||||
(file-system-fold (const #t) ; enter?
|
||||
(lambda (path stat result) ; leaf
|
||||
(if (string-suffix? ".scm" path)
|
||||
(cons (substring path prefix-len) result)
|
||||
result))
|
||||
(lambda (path stat result) ; down
|
||||
result)
|
||||
(lambda (path stat result) ; up
|
||||
result)
|
||||
(const #f) ; skip
|
||||
(lambda (path stat errno result)
|
||||
(format (current-error-port)
|
||||
(_ "warning: cannot access `~a': ~a")
|
||||
path (strerror errno))
|
||||
result)
|
||||
'()
|
||||
%distro-module-directory
|
||||
stat))
|
||||
|
||||
(define (package-modules)
|
||||
"Return the list of modules that provide packages for the distribution."
|
||||
(define not-slash
|
||||
(char-set-complement (char-set #\/)))
|
||||
|
||||
(filter-map (lambda (path)
|
||||
(let ((name (map string->symbol
|
||||
(string-tokenize (string-drop-right path 4)
|
||||
not-slash))))
|
||||
(false-if-exception (resolve-interface name))))
|
||||
(package-files)))
|
||||
|
||||
(define* (find-packages-by-name name #:optional version)
|
||||
"Return the list of packages with the given NAME. If VERSION is not #f,
|
||||
then only return packages whose version is equal to VERSION."
|
||||
(define right-package?
|
||||
(if version
|
||||
(lambda (p)
|
||||
(and (package? p)
|
||||
(string=? (package-name p) name)
|
||||
(string=? (package-version p) version)))
|
||||
(lambda (p)
|
||||
(and (package? p)
|
||||
(string=? (package-name p) name)))))
|
||||
|
||||
(append-map (lambda (module)
|
||||
(filter right-package?
|
||||
(module-map (lambda (sym var)
|
||||
(variable-ref var))
|
||||
module)))
|
||||
(package-modules)))
|
||||
358
distro/base.scm
358
distro/base.scm
@@ -1,358 +0,0 @@
|
||||
;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
|
||||
;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of Guix.
|
||||
;;;
|
||||
;;; Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; Guix 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 Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (distro base)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix http)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; A Guix-based distribution.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define-public libsigsegv
|
||||
(package
|
||||
(name "libsigsegv")
|
||||
(version "2.10")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
(uri (string-append
|
||||
"http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "lib")) ; separate libdir from the rest
|
||||
(home-page "http://www.gnu.org/software/libsigsegv/")
|
||||
(description "GNU libsigsegv, a library to handle page faults in user mode")
|
||||
(long-description
|
||||
"GNU libsigsegv is a library for handling page faults in user mode. A page
|
||||
fault occurs when a program tries to access to a region of memory that is
|
||||
currently not available. Catching and handling a page fault is a useful
|
||||
technique for implementing pageable virtual memory, memory-mapped access to
|
||||
persistent databases, generational garbage collectors, stack overflow
|
||||
handlers, distributed shared memory, and more.")
|
||||
(license "GPLv2+")))
|
||||
|
||||
(define-public gawk
|
||||
(package
|
||||
(name "gawk")
|
||||
(version "4.0.0")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
(uri (string-append "http://ftp.gnu.org/gnu/gawk/gawk-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments (case-lambda
|
||||
((system)
|
||||
(if (string=? system "i686-cygwin")
|
||||
'(#:tests? #f) ; work around test failure on Cygwin
|
||||
'(#:parallel-tests? #f))) ; test suite fails in parallel
|
||||
((system cross-system)
|
||||
'(#:parallel-tests? #f))))
|
||||
(inputs `(("libsigsegv" ,libsigsegv) ; headers
|
||||
("libsigsegv/lib" ,libsigsegv "lib"))) ; library
|
||||
(home-page "http://www.gnu.org/software/gawk/")
|
||||
(description "GNU implementation of the Awk programming language")
|
||||
(long-description
|
||||
"Many computer users need to manipulate text files: extract and then
|
||||
operate on data from parts of certain lines while discarding the rest, make
|
||||
changes in various text files wherever certain patterns appear, and so on.
|
||||
To write a program to do these things in a language such as C or Pascal is a
|
||||
time-consuming inconvenience that may take many lines of code. The job is
|
||||
easy with awk, especially the GNU implementation: Gawk.
|
||||
|
||||
The awk utility interprets a special-purpose programming language that makes
|
||||
it possible to handle many data-reformatting jobs with just a few lines of
|
||||
code.")
|
||||
(license "GPLv3+")))
|
||||
|
||||
(define-public hello
|
||||
(package
|
||||
(name "hello")
|
||||
(version "2.8")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
(uri (string-append "http://ftp.gnu.org/gnu/hello/hello-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags
|
||||
`("--disable-dependency-tracking"
|
||||
,(string-append "--with-gawk=" ; for illustration purposes
|
||||
(assoc-ref %build-inputs "gawk")))))
|
||||
(inputs `(("gawk" ,gawk)))
|
||||
(description "GNU Hello")
|
||||
(long-description "Yeah...")
|
||||
(home-page "http://www.gnu.org/software/hello/")
|
||||
(license "GPLv3+")))
|
||||
|
||||
(define-public guile-1.8
|
||||
(package
|
||||
(name "guile")
|
||||
(version "1.8.8")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
(uri (string-append "http://ftp.gnu.org/gnu/guile/guile-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--disable-error-on-warning")
|
||||
#:patches (list (assoc-ref %build-inputs "patch/snarf"))
|
||||
|
||||
;; Insert a phase before `configure' to patch things up.
|
||||
#:phases (alist-cons-before
|
||||
'configure
|
||||
'patch-loader-search-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Add a call to `lt_dladdsearchdir' so that
|
||||
;; `libguile-readline.so' & co. are in the
|
||||
;; loader's search path.
|
||||
(substitute* "libguile/dynl.c"
|
||||
(("lt_dlinit.*$" match)
|
||||
(format #f
|
||||
" ~a~% lt_dladdsearchdir(\"~a/lib\");~%"
|
||||
match
|
||||
(assoc-ref outputs "out")))))
|
||||
%standard-phases)))
|
||||
(inputs `(("patch/snarf"
|
||||
,(search-path %load-path "distro/guile-1.8-cpp-4.5.patch"))
|
||||
("gawk" ,gawk)
|
||||
("readline" ,(nixpkgs-derivation "readline"))))
|
||||
|
||||
;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be
|
||||
;; propagated.
|
||||
(propagated-inputs `(("gmp" ,(nixpkgs-derivation "gmp"))
|
||||
("libtool" ,(nixpkgs-derivation "libtool"))))
|
||||
|
||||
;; When cross-compiling, a native version of Guile itself is needed.
|
||||
(self-native-input? #t)
|
||||
|
||||
(description "GNU Guile 1.8, an embeddable Scheme interpreter")
|
||||
(long-description
|
||||
"GNU Guile 1.8 is an interpreter for the Scheme programming language,
|
||||
packaged as a library that can be embedded into programs to make them
|
||||
extensible. It supports many SRFIs.")
|
||||
(home-page "http://www.gnu.org/software/guile/")
|
||||
(license "LGPLv2+")))
|
||||
|
||||
(define-public guile-2.0
|
||||
(package
|
||||
(name "guile")
|
||||
(version "2.0.6")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
(uri (string-append "http://ftp.gnu.org/gnu/guile/guile-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"000ng5qsq3cl1k35jvzvhwxj92wx4q87745n2fppkd4irh58vv5l"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("xz" ,(nixpkgs-derivation "xz"))
|
||||
("pkgconfig" ,(nixpkgs-derivation "pkgconfig"))))
|
||||
(inputs `(("libffi" ,(nixpkgs-derivation "libffi"))
|
||||
("readline" ,(nixpkgs-derivation "readline"))))
|
||||
|
||||
(propagated-inputs
|
||||
`( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
|
||||
;; reads `-lltdl -lunistring', adding them here will add the needed
|
||||
;; `-L' flags. As for why the `.la' file lacks the `-L' flags, see
|
||||
;; <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903>.
|
||||
("libunistring" ,(nixpkgs-derivation "libunistring"))
|
||||
("libtool" ,(nixpkgs-derivation "libtool"))
|
||||
|
||||
;; The headers and/or `guile-2.0.pc' refer to these packages, so they
|
||||
;; must be propagated.
|
||||
("bdw-gc" ,(nixpkgs-derivation "boehmgc"))
|
||||
("gmp" ,(nixpkgs-derivation "gmp"))))
|
||||
|
||||
(self-native-input? #t)
|
||||
|
||||
(description "GNU Guile 2.0, an embeddable Scheme implementation")
|
||||
(long-description
|
||||
"GNU Guile is an implementation of the Scheme programming language, with
|
||||
support for many SRFIs, packaged for use in a wide variety of environments.
|
||||
In addition to implementing the R5RS Scheme standard and a large subset of
|
||||
R6RS, Guile includes a module system, full access to POSIX system calls,
|
||||
networking support, multiple threads, dynamic linking, a foreign function
|
||||
call interface, and powerful string processing.")
|
||||
(home-page "http://www.gnu.org/software/guile/")
|
||||
(license "LGPLv3+")))
|
||||
|
||||
(define (guile-reader guile)
|
||||
"Build Guile-Reader against GUILE, a package of some version of Guile 1.8
|
||||
or 2.0."
|
||||
(package
|
||||
(name (string-append "guile-reader-for-guile-" (package-version guile)))
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
(uri (string-append
|
||||
"http://download-mirror.savannah.gnu.org/releases/guile-reader/guile-reader-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkgconfig" ,(nixpkgs-derivation "pkgconfig"))
|
||||
("gperf" ,(nixpkgs-derivation "gperf"))))
|
||||
(inputs `(("guile" ,guile)))
|
||||
(description "Guile-Reader, a simple framework for building readers for
|
||||
GNU Guile")
|
||||
(long-description
|
||||
"Guile-Reader is a simple framework for building readers for GNU Guile.
|
||||
|
||||
The idea is to make it easy to build procedures that extend Guile’s read
|
||||
procedure. Readers supporting various syntax variants can easily be written,
|
||||
possibly by re-using existing “token readers” of a standard Scheme
|
||||
readers. For example, it is used to implement Skribilo’s R5RS-derived
|
||||
document syntax.
|
||||
|
||||
Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
|
||||
hopefully more powerful and flexible (for instance, one may instantiate as
|
||||
many readers as needed).")
|
||||
(home-page "http://www.nongnu.org/guile-reader/")
|
||||
(license "GPLv3+")))
|
||||
|
||||
(define-public guile-reader/guile-1.8
|
||||
;; Guile-Reader built against Guile 1.8.
|
||||
(guile-reader guile-1.8))
|
||||
|
||||
(define-public guile-reader/guile-2.0
|
||||
;; Guile-Reader built against Guile 2.0.
|
||||
(guile-reader guile-2.0))
|
||||
|
||||
(define-public lout
|
||||
;; This one is a bit tricky, because it doesn't follow the GNU Build System
|
||||
;; rules. Instead, it has a makefile that has to be patched to set the
|
||||
;; prefix, etc., and it has no makefile rules to build its doc.
|
||||
(let ((configure-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc")))
|
||||
(substitute* "makefile"
|
||||
(("^PREFIX[[:blank:]]*=.*$")
|
||||
(string-append "PREFIX = " out "\n"))
|
||||
(("^LOUTLIBDIR[[:blank:]]*=.*$")
|
||||
(string-append "LOUTLIBDIR = " out "/lib/lout\n"))
|
||||
(("^LOUTDOCDIR[[:blank:]]*=.*$")
|
||||
(string-append "LOUTDOCDIR = " doc "/doc/lout\n"))
|
||||
(("^MANDIR[[:blank:]]*=.*$")
|
||||
(string-append "MANDIR = " out "/man\n")))
|
||||
(mkdir out)
|
||||
(mkdir (string-append out "/bin")) ; TODO: use `mkdir-p'
|
||||
(mkdir (string-append out "/lib"))
|
||||
(mkdir (string-append out "/man"))
|
||||
(mkdir doc)
|
||||
(mkdir (string-append doc "/doc"))
|
||||
(mkdir (string-append doc "/doc/lout")))))
|
||||
(install-man-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(zero? (system* "make" "installman"))))
|
||||
(doc-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define out
|
||||
(assoc-ref outputs "doc"))
|
||||
|
||||
(setenv "PATH"
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/bin:" (getenv "PATH")))
|
||||
(chdir "doc")
|
||||
(every (lambda (doc)
|
||||
(format #t "doc: building `~a'...~%" doc)
|
||||
(with-directory-excursion doc
|
||||
(let ((file (string-append out "/doc/lout/"
|
||||
doc ".ps")))
|
||||
(and (or (file-exists? "outfile.ps")
|
||||
(zero? (system* "lout" "-r4" "-o"
|
||||
"outfile.ps" "all")))
|
||||
(begin
|
||||
(copy-file "outfile.ps" file)
|
||||
#t)
|
||||
(zero? (system* "ps2pdf"
|
||||
"-dPDFSETTINGS=/prepress"
|
||||
"-sPAPERSIZE=a4"
|
||||
file
|
||||
(string-append out "/doc/lout/"
|
||||
doc ".pdf")))))))
|
||||
'("design" "expert" "slides" "user")))))
|
||||
(package
|
||||
(name "lout")
|
||||
(version "3.39")
|
||||
(source (origin
|
||||
(method http-fetch)
|
||||
;; FIXME: `http-get' doesn't follow redirects, hence the URL.
|
||||
(uri (string-append
|
||||
"http://download-mirror.savannah.gnu.org/releases/lout/lout-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq"))))
|
||||
(build-system gnu-build-system) ; actually, just a makefile
|
||||
(outputs '("out" "doc"))
|
||||
(inputs `(("ghostscript" ,(nixpkgs-derivation "ghostscript"))))
|
||||
(arguments `(#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(srfi srfi-1)) ; we need SRFI-1
|
||||
#:tests? #f ; no "check" target
|
||||
|
||||
;; Customize the build phases.
|
||||
#:phases (alist-replace
|
||||
'configure ,configure-phase
|
||||
|
||||
(alist-cons-after
|
||||
'install 'install-man-pages
|
||||
,install-man-phase
|
||||
|
||||
(alist-cons-after
|
||||
'install 'install-doc
|
||||
,doc-phase
|
||||
%standard-phases)))))
|
||||
(description "Lout, a document layout system similar in style to LaTeX")
|
||||
(long-description
|
||||
"The Lout document formatting system is now reads a high-level description of
|
||||
a document similar in style to LaTeX and produces a PostScript or plain text
|
||||
output file.
|
||||
|
||||
Lout offers an unprecedented range of advanced features, including optimal
|
||||
paragraph and page breaking, automatic hyphenation, PostScript EPS file
|
||||
inclusion and generation, equation formatting, tables, diagrams, rotation and
|
||||
scaling, sorted indexes, bibliographic databases, running headers and
|
||||
odd-even pages, automatic cross referencing, multilingual documents including
|
||||
hyphenation (most European languages are supported), formatting of computer
|
||||
programs, and much more, all ready to use. Furthermore, Lout is easily
|
||||
extended with definitions which are very much easier to write than troff of
|
||||
TeX macros because Lout is a high-level, purely functional language, the
|
||||
outcome of an eight-year research project that went back to the
|
||||
beginning.")
|
||||
(license "GPLv3+")
|
||||
(home-page "http://savannah.nongnu.org/projects/lout/"))))
|
||||
|
||||
;;; Local Variables:
|
||||
;;; eval: (put 'lambda* 'scheme-indent-function 1)
|
||||
;;; eval: (put 'substitute* 'scheme-indent-function 1)
|
||||
;;; eval: (put 'with-directory-excursion 'scheme-indent-function 1)
|
||||
;;; End:
|
||||
53
doc.am
Normal file
53
doc.am
Normal file
@@ -0,0 +1,53 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
# GNU Guix 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 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
info_TEXINFOS = doc/guix.texi
|
||||
EXTRA_DIST += \
|
||||
doc/fdl-1.3.texi \
|
||||
doc/images/bootstrap-graph.dot \
|
||||
doc/images/bootstrap-graph.eps \
|
||||
doc/images/bootstrap-graph.pdf
|
||||
|
||||
infoimagedir = $(infodir)/images
|
||||
dist_infoimage_DATA = doc/images/bootstrap-graph.png
|
||||
|
||||
# Try hard to obtain an image size and aspect that's reasonable for inclusion
|
||||
# in an Info or PDF document.
|
||||
DOT_OPTIONS = \
|
||||
-Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \
|
||||
-Nfontsize=9 -Nheight=.1 -Nwidth=.1
|
||||
|
||||
.dot.png:
|
||||
$(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$@.tmp"
|
||||
mv "$@.tmp" "$@"
|
||||
|
||||
.dot.pdf:
|
||||
$(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$@.tmp"
|
||||
mv "$@.tmp" "$@"
|
||||
|
||||
.dot.eps:
|
||||
$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp"
|
||||
mv "$@.tmp" "$@"
|
||||
|
||||
# We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake)
|
||||
# Extending"). Using the `-local' rules is imperfect, because they may be
|
||||
# triggered after the main rule. Oh, well.
|
||||
pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf
|
||||
info-local: $(top_srcdir)/doc/images/bootstrap-graph.png
|
||||
ps-local: $(top_srcdir)/doc/images/bootstrap-graph.eps
|
||||
505
doc/fdl-1.3.texi
Normal file
505
doc/fdl-1.3.texi
Normal file
@@ -0,0 +1,505 @@
|
||||
@c The GNU Free Documentation License.
|
||||
@center Version 1.3, 3 November 2008
|
||||
|
||||
@c This file is intended to be included within another document,
|
||||
@c hence no sectioning command or @node.
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
@uref{http://fsf.org/}
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@end display
|
||||
|
||||
@enumerate 0
|
||||
@item
|
||||
PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document @dfn{free} in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
|
||||
This License is a kind of ``copyleft'', which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
@item
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The ``Document'', below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as ``you''. You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
|
||||
A ``Modified Version'' of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section
|
||||
of the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could fall
|
||||
directly within that overall subject. (Thus, if the Document is in
|
||||
part a textbook of mathematics, a Secondary Section may not explain
|
||||
any mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
|
||||
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
|
||||
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not ``Transparent'' is called ``Opaque''.
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, La@TeX{} input
|
||||
format, SGML or XML using a publicly available
|
||||
DTD, and standard-conforming simple HTML,
|
||||
PostScript or PDF designed for human modification. Examples
|
||||
of transparent image formats include PNG, XCF and
|
||||
JPG. Opaque formats include proprietary formats that can be
|
||||
read and edited only by proprietary word processors, SGML or
|
||||
XML for which the DTD and/or processing tools are
|
||||
not generally available, and the machine-generated HTML,
|
||||
PostScript or PDF produced by some word processors for
|
||||
output purposes only.
|
||||
|
||||
The ``Title Page'' means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
The ``publisher'' means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
|
||||
A section ``Entitled XYZ'' means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
specific section name mentioned below, such as ``Acknowledgements'',
|
||||
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section ``Entitled XYZ'' according to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
@item
|
||||
VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
|
||||
@item
|
||||
COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
|
||||
@item
|
||||
MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
@enumerate A
|
||||
@item
|
||||
Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
|
||||
@item
|
||||
List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
|
||||
@item
|
||||
State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
|
||||
@item
|
||||
Preserve all the copyright notices of the Document.
|
||||
|
||||
@item
|
||||
Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
|
||||
@item
|
||||
Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
|
||||
@item
|
||||
Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
|
||||
@item
|
||||
Include an unaltered copy of this License.
|
||||
|
||||
@item
|
||||
Preserve the section Entitled ``History'', Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section Entitled ``History'' in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
|
||||
@item
|
||||
Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the ``History'' section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
|
||||
@item
|
||||
For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
|
||||
the Title of the section, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements and/or
|
||||
dedications given therein.
|
||||
|
||||
@item
|
||||
Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
|
||||
@item
|
||||
Delete any section Entitled ``Endorsements''. Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
@item
|
||||
Do not retitle any existing section to be Entitled ``Endorsements'' or
|
||||
to conflict in title with any Invariant Section.
|
||||
|
||||
@item
|
||||
Preserve any Warranty Disclaimers.
|
||||
@end enumerate
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section Entitled ``Endorsements'', provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties---for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
|
||||
@item
|
||||
COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections Entitled ``History''
|
||||
in the various original documents, forming one section Entitled
|
||||
``History''; likewise combine any sections Entitled ``Acknowledgements'',
|
||||
and any sections Entitled ``Dedications''. You must delete all
|
||||
sections Entitled ``Endorsements.''
|
||||
|
||||
@item
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
|
||||
@item
|
||||
AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an ``aggregate'' if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included in an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
|
||||
@item
|
||||
TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
|
||||
If a section in the Document is Entitled ``Acknowledgements'',
|
||||
``Dedications'', or ``History'', the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
@uref{http://www.gnu.org/copyleft/}.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License ``or any later version'' applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
|
||||
@item
|
||||
RELICENSING
|
||||
|
||||
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
|
||||
site means any set of copyrightable works thus published on the MMC
|
||||
site.
|
||||
|
||||
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
``Incorporate'' means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
|
||||
An MMC is ``eligible for relicensing'' if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this MMC, and subsequently incorporated in whole
|
||||
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||
and (2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the MMC is eligible for relicensing.
|
||||
|
||||
@end enumerate
|
||||
|
||||
@page
|
||||
@heading ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the ``with@dots{}Texts.''@: line with this:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
with the Invariant Sections being @var{list their titles}, with
|
||||
the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
|
||||
being @var{list}.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
||||
|
||||
@c Local Variables:
|
||||
@c ispell-local-pdict: "ispell-dict"
|
||||
@c End:
|
||||
3115
doc/guix.texi
Normal file
3115
doc/guix.texi
Normal file
File diff suppressed because it is too large
Load Diff
83
doc/images/bootstrap-graph.dot
Normal file
83
doc/images/bootstrap-graph.dot
Normal file
@@ -0,0 +1,83 @@
|
||||
# Obtained by running "nix-store --graph" on the first GCC derivation.
|
||||
|
||||
digraph G {
|
||||
"/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [label = "gcc-bootstrap-0.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "black"];
|
||||
"/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "red"];
|
||||
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "green"];
|
||||
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "blue"];
|
||||
"/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "magenta"];
|
||||
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "burlywood"];
|
||||
"/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "black"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "red"];
|
||||
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "green"];
|
||||
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" [label = "tar", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [label = "glibc-bootstrap-0.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "blue"];
|
||||
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "magenta"];
|
||||
"/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "burlywood"];
|
||||
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "black"];
|
||||
"/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "red"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "green"];
|
||||
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "blue"];
|
||||
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" [label = "xz", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [label = "glibc-bootstrap-0-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [color = "magenta"];
|
||||
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [color = "burlywood"];
|
||||
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [label = "module-import.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "black"];
|
||||
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "red"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "green"];
|
||||
"/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" [label = "module-import-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" [color = "blue"];
|
||||
"/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [label = "gcc-4.7.2.tar.xz.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/6kslnirvm26fij7wpjqbw617ri4gf5x5-gcc-4.7.2.tar.xz-guile-builder" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "magenta"];
|
||||
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "burlywood"];
|
||||
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "black"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "red"];
|
||||
"/nix/store/6kslnirvm26fij7wpjqbw617ri4gf5x5-gcc-4.7.2.tar.xz-guile-builder" [label = "gcc-4.7.2.tar.xz-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" [label = "bash", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [label = "module-import.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "green"];
|
||||
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "blue"];
|
||||
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "magenta"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "burlywood"];
|
||||
"/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "black"];
|
||||
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" [label = "ftp-client.scm", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" [label = "download.scm", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" [label = "utils.scm", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [label = "module-import-compiled.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/98gzqlgpm4gxrpl5bzykpqbwrx8ckx8l-module-import-compiled-guile-builder" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "red"];
|
||||
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "green"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "blue"];
|
||||
"/nix/store/98gzqlgpm4gxrpl5bzykpqbwrx8ckx8l-module-import-compiled-guile-builder" [label = "module-import-compiled-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [label = "gcc-bootstrap-0-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "magenta"];
|
||||
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "burlywood"];
|
||||
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "black"];
|
||||
"/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [label = "glibc-2.17.tar.xz.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "red"];
|
||||
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "green"];
|
||||
"/nix/store/q7as3jddipj4g6si8lawrdbkjg0zcjvg-glibc-2.17.tar.xz-guile-builder" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "blue"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "magenta"];
|
||||
"/nix/store/q7as3jddipj4g6si8lawrdbkjg0zcjvg-glibc-2.17.tar.xz-guile-builder" [label = "glibc-2.17.tar.xz-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [label = "guile-bootstrap-2.0.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" -> "/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [color = "burlywood"];
|
||||
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [color = "black"];
|
||||
"/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [label = "build-bootstrap-guile.sh", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "red"];
|
||||
"/nix/store/4xv2y0m6zr2lgi8x8pcb3zxjqxsz69kj-mkdir" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "green"];
|
||||
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "blue"];
|
||||
"/nix/store/c450lqvaaz3ngx9pfiiiw55rqq6ssfda-guile-2.0.7.tar.xz" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "magenta"];
|
||||
"/nix/store/4xv2y0m6zr2lgi8x8pcb3zxjqxsz69kj-mkdir" [label = "mkdir", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/c450lqvaaz3ngx9pfiiiw55rqq6ssfda-guile-2.0.7.tar.xz" [label = "guile-2.0.7.tar.xz", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [label = "module-import-compiled.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/8jiqjlb6zxjys16ca7s6jvxcc620c71k-module-import-compiled-guile-builder" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "burlywood"];
|
||||
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "black"];
|
||||
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "red"];
|
||||
"/nix/store/8jiqjlb6zxjys16ca7s6jvxcc620c71k-module-import-compiled-guile-builder" [label = "module-import-compiled-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [label = "module-import-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
|
||||
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "green"];
|
||||
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "blue"];
|
||||
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "magenta"];
|
||||
}
|
||||
397
gnu-system.am
Normal file
397
gnu-system.am
Normal file
@@ -0,0 +1,397 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
# Copyright © 2013, 2014 Mark H Weaver <mhw@netris.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
# GNU Guix 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 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Definitions for the GNU System: package modules, patches, bootstrap
|
||||
# binaries.
|
||||
|
||||
GNU_SYSTEM_MODULES = \
|
||||
gnu/packages.scm \
|
||||
gnu/packages/acct.scm \
|
||||
gnu/packages/acl.scm \
|
||||
gnu/packages/admin.scm \
|
||||
gnu/packages/algebra.scm \
|
||||
gnu/packages/apl.scm \
|
||||
gnu/packages/apr.scm \
|
||||
gnu/packages/asciidoc.scm \
|
||||
gnu/packages/aspell.scm \
|
||||
gnu/packages/attr.scm \
|
||||
gnu/packages/autogen.scm \
|
||||
gnu/packages/autotools.scm \
|
||||
gnu/packages/avahi.scm \
|
||||
gnu/packages/base.scm \
|
||||
gnu/packages/bash.scm \
|
||||
gnu/packages/bdb.scm \
|
||||
gnu/packages/bdw-gc.scm \
|
||||
gnu/packages/bison.scm \
|
||||
gnu/packages/boost.scm \
|
||||
gnu/packages/bootstrap.scm \
|
||||
gnu/packages/calcurse.scm \
|
||||
gnu/packages/cdrom.scm \
|
||||
gnu/packages/cflow.scm \
|
||||
gnu/packages/check.scm \
|
||||
gnu/packages/cmake.scm \
|
||||
gnu/packages/compression.scm \
|
||||
gnu/packages/complexity.scm \
|
||||
gnu/packages/cpio.scm \
|
||||
gnu/packages/cppi.scm \
|
||||
gnu/packages/cross-base.scm \
|
||||
gnu/packages/cryptsetup.scm \
|
||||
gnu/packages/curl.scm \
|
||||
gnu/packages/cursynth.scm \
|
||||
gnu/packages/cyrus-sasl.scm \
|
||||
gnu/packages/dc.scm \
|
||||
gnu/packages/dejagnu.scm \
|
||||
gnu/packages/ddrescue.scm \
|
||||
gnu/packages/dictionaries.scm \
|
||||
gnu/packages/docbook.scm \
|
||||
gnu/packages/dwm.scm \
|
||||
gnu/packages/ed.scm \
|
||||
gnu/packages/elf.scm \
|
||||
gnu/packages/emacs.scm \
|
||||
gnu/packages/fdisk.scm \
|
||||
gnu/packages/file.scm \
|
||||
gnu/packages/flex.scm \
|
||||
gnu/packages/fltk.scm \
|
||||
gnu/packages/fonts.scm \
|
||||
gnu/packages/fontutils.scm \
|
||||
gnu/packages/freeipmi.scm \
|
||||
gnu/packages/games.scm \
|
||||
gnu/packages/gawk.scm \
|
||||
gnu/packages/gcal.scm \
|
||||
gnu/packages/gcc.scm \
|
||||
gnu/packages/gd.scm \
|
||||
gnu/packages/gdb.scm \
|
||||
gnu/packages/gdbm.scm \
|
||||
gnu/packages/geeqie.scm \
|
||||
gnu/packages/gettext.scm \
|
||||
gnu/packages/ghostscript.scm \
|
||||
gnu/packages/giflib.scm \
|
||||
gnu/packages/gkrellm.scm \
|
||||
gnu/packages/gl.scm \
|
||||
gnu/packages/glib.scm \
|
||||
gnu/packages/global.scm \
|
||||
gnu/packages/gnome.scm \
|
||||
gnu/packages/gnunet.scm \
|
||||
gnu/packages/gnupg.scm \
|
||||
gnu/packages/gnustep.scm \
|
||||
gnu/packages/gnutls.scm \
|
||||
gnu/packages/gnuzilla.scm \
|
||||
gnu/packages/gnu-pw-mgr.scm \
|
||||
gnu/packages/gperf.scm \
|
||||
gnu/packages/gprolog.scm \
|
||||
gnu/packages/graphviz.scm \
|
||||
gnu/packages/groff.scm \
|
||||
gnu/packages/grub.scm \
|
||||
gnu/packages/grue-hunter.scm \
|
||||
gnu/packages/gsasl.scm \
|
||||
gnu/packages/gstreamer.scm \
|
||||
gnu/packages/gtk.scm \
|
||||
gnu/packages/guile.scm \
|
||||
gnu/packages/guile-wm.scm \
|
||||
gnu/packages/gv.scm \
|
||||
gnu/packages/gxmessage.scm \
|
||||
gnu/packages/hugs.scm \
|
||||
gnu/packages/hurd.scm \
|
||||
gnu/packages/icu4c.scm \
|
||||
gnu/packages/idutils.scm \
|
||||
gnu/packages/imagemagick.scm \
|
||||
gnu/packages/indent.scm \
|
||||
gnu/packages/inkscape.scm \
|
||||
gnu/packages/irssi.scm \
|
||||
gnu/packages/iso-codes.scm \
|
||||
gnu/packages/kde.scm \
|
||||
gnu/packages/ld-wrapper.scm \
|
||||
gnu/packages/less.scm \
|
||||
gnu/packages/lesstif.scm \
|
||||
gnu/packages/libcanberra.scm \
|
||||
gnu/packages/libdaemon.scm \
|
||||
gnu/packages/libevent.scm \
|
||||
gnu/packages/libffi.scm \
|
||||
gnu/packages/libidn.scm \
|
||||
gnu/packages/libjpeg.scm \
|
||||
gnu/packages/libphidget.scm \
|
||||
gnu/packages/libpng.scm \
|
||||
gnu/packages/libsigsegv.scm \
|
||||
gnu/packages/libtiff.scm \
|
||||
gnu/packages/libunistring.scm \
|
||||
gnu/packages/libusb.scm \
|
||||
gnu/packages/libunwind.scm \
|
||||
gnu/packages/lightning.scm \
|
||||
gnu/packages/linux.scm \
|
||||
gnu/packages/lout.scm \
|
||||
gnu/packages/lsh.scm \
|
||||
gnu/packages/lsof.scm \
|
||||
gnu/packages/lua.scm \
|
||||
gnu/packages/lvm.scm \
|
||||
gnu/packages/lynx.scm \
|
||||
gnu/packages/m4.scm \
|
||||
gnu/packages/man.scm \
|
||||
gnu/packages/mail.scm \
|
||||
gnu/packages/make-bootstrap.scm \
|
||||
gnu/packages/maths.scm \
|
||||
gnu/packages/mc.scm \
|
||||
gnu/packages/messaging.scm \
|
||||
gnu/packages/mit-krb5.scm \
|
||||
gnu/packages/moe.scm \
|
||||
gnu/packages/mpd.scm \
|
||||
gnu/packages/mp3.scm \
|
||||
gnu/packages/multiprecision.scm \
|
||||
gnu/packages/mtools.scm \
|
||||
gnu/packages/mysql.scm \
|
||||
gnu/packages/nano.scm \
|
||||
gnu/packages/ncdu.scm \
|
||||
gnu/packages/ncurses.scm \
|
||||
gnu/packages/netpbm.scm \
|
||||
gnu/packages/nettle.scm \
|
||||
gnu/packages/noweb.scm \
|
||||
gnu/packages/ocaml.scm \
|
||||
gnu/packages/ocrad.scm \
|
||||
gnu/packages/onc-rpc.scm \
|
||||
gnu/packages/openldap.scm \
|
||||
gnu/packages/openssl.scm \
|
||||
gnu/packages/package-management.scm \
|
||||
gnu/packages/parallel.scm \
|
||||
gnu/packages/parted.scm \
|
||||
gnu/packages/patchutils.scm \
|
||||
gnu/packages/pcre.scm \
|
||||
gnu/packages/pdf.scm \
|
||||
gnu/packages/pem.scm \
|
||||
gnu/packages/perl.scm \
|
||||
gnu/packages/photo.scm \
|
||||
gnu/packages/pkg-config.scm \
|
||||
gnu/packages/plotutils.scm \
|
||||
gnu/packages/popt.scm \
|
||||
gnu/packages/pth.scm \
|
||||
gnu/packages/pulseaudio.scm \
|
||||
gnu/packages/pretty-print.scm \
|
||||
gnu/packages/python.scm \
|
||||
gnu/packages/qemu.scm \
|
||||
gnu/packages/qt.scm \
|
||||
gnu/packages/ratpoison.scm \
|
||||
gnu/packages/rdf.scm \
|
||||
gnu/packages/readline.scm \
|
||||
gnu/packages/recutils.scm \
|
||||
gnu/packages/rsync.scm \
|
||||
gnu/packages/rush.scm \
|
||||
gnu/packages/samba.scm \
|
||||
gnu/packages/scheme.scm \
|
||||
gnu/packages/screen.scm \
|
||||
gnu/packages/sdl.scm \
|
||||
gnu/packages/search.scm \
|
||||
gnu/packages/serveez.scm \
|
||||
gnu/packages/shishi.scm \
|
||||
gnu/packages/skribilo.scm \
|
||||
gnu/packages/slim.scm \
|
||||
gnu/packages/smalltalk.scm \
|
||||
gnu/packages/sqlite.scm \
|
||||
gnu/packages/ssh.scm \
|
||||
gnu/packages/stalonetray.scm \
|
||||
gnu/packages/swig.scm \
|
||||
gnu/packages/tcl.scm \
|
||||
gnu/packages/tcsh.scm \
|
||||
gnu/packages/texinfo.scm \
|
||||
gnu/packages/texlive.scm \
|
||||
gnu/packages/time.scm \
|
||||
gnu/packages/tmux.scm \
|
||||
gnu/packages/tor.scm \
|
||||
gnu/packages/uucp.scm \
|
||||
gnu/packages/unrtf.scm \
|
||||
gnu/packages/upnp.scm \
|
||||
gnu/packages/valgrind.scm \
|
||||
gnu/packages/version-control.scm \
|
||||
gnu/packages/video.scm \
|
||||
gnu/packages/vim.scm \
|
||||
gnu/packages/vpn.scm \
|
||||
gnu/packages/w3m.scm \
|
||||
gnu/packages/wdiff.scm \
|
||||
gnu/packages/web.scm \
|
||||
gnu/packages/wget.scm \
|
||||
gnu/packages/which.scm \
|
||||
gnu/packages/wordnet.scm \
|
||||
gnu/packages/xiph.scm \
|
||||
gnu/packages/xlockmore.scm \
|
||||
gnu/packages/xml.scm \
|
||||
gnu/packages/xnee.scm \
|
||||
gnu/packages/xorg.scm \
|
||||
gnu/packages/yasm.scm \
|
||||
gnu/packages/zile.scm \
|
||||
gnu/packages/zip.scm \
|
||||
\
|
||||
gnu/services.scm \
|
||||
gnu/services/base.scm \
|
||||
gnu/services/dmd.scm \
|
||||
gnu/services/networking.scm \
|
||||
gnu/services/xorg.scm \
|
||||
\
|
||||
gnu/system.scm \
|
||||
gnu/system/grub.scm \
|
||||
gnu/system/linux.scm \
|
||||
gnu/system/linux-initrd.scm \
|
||||
gnu/system/shadow.scm \
|
||||
gnu/system/vm.scm
|
||||
|
||||
patchdir = $(guilemoduledir)/gnu/packages/patches
|
||||
dist_patch_DATA = \
|
||||
gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \
|
||||
gnu/packages/patches/apr-skip-getservbyname-test.patch \
|
||||
gnu/packages/patches/automake-skip-amhello-tests.patch \
|
||||
gnu/packages/patches/avahi-localstatedir.patch \
|
||||
gnu/packages/patches/bigloo-gc-shebangs.patch \
|
||||
gnu/packages/patches/binutils-ld-new-dtags.patch \
|
||||
gnu/packages/patches/binutils-loongson-workaround.patch \
|
||||
gnu/packages/patches/bitlbee-fix-tests.patch \
|
||||
gnu/packages/patches/bitlbee-memset-fix.patch \
|
||||
gnu/packages/patches/cdparanoia-fpic.patch \
|
||||
gnu/packages/patches/cmake-fix-tests.patch \
|
||||
gnu/packages/patches/coreutils-dummy-man.patch \
|
||||
gnu/packages/patches/coreutils-skip-nohup.patch \
|
||||
gnu/packages/patches/cpio-gets-undeclared.patch \
|
||||
gnu/packages/patches/curl-fix-test172.patch \
|
||||
gnu/packages/patches/dbus-localstatedir.patch \
|
||||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||
gnu/packages/patches/dmd-getpw.patch \
|
||||
gnu/packages/patches/dmd-tests-longer-sleeps.patch \
|
||||
gnu/packages/patches/emacs-configure-sh.patch \
|
||||
gnu/packages/patches/findutils-absolute-paths.patch \
|
||||
gnu/packages/patches/flac-fix-memcmp-not-declared.patch \
|
||||
gnu/packages/patches/flex-bison-tests.patch \
|
||||
gnu/packages/patches/gawk-shell.patch \
|
||||
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
||||
gnu/packages/patches/gd-mips64-deplibs-fix.patch \
|
||||
gnu/packages/patches/glib-tests-desktop.patch \
|
||||
gnu/packages/patches/glib-tests-homedir.patch \
|
||||
gnu/packages/patches/glib-tests-newnet.patch \
|
||||
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-ldd-x86_64.patch \
|
||||
gnu/packages/patches/gnunet-fix-scheduler.patch \
|
||||
gnu/packages/patches/gnunet-fix-tests.patch \
|
||||
gnu/packages/patches/gobject-introspection-cc.patch \
|
||||
gnu/packages/patches/grub-gets-undeclared.patch \
|
||||
gnu/packages/patches/gstreamer-0.10-bison3.patch \
|
||||
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
|
||||
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
gnu/packages/patches/guile-default-utf8.patch \
|
||||
gnu/packages/patches/guile-linux-syscalls.patch \
|
||||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/guix-test-networking.patch \
|
||||
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
gnu/packages/patches/gtkglext-remove-pangox-dependency.patch \
|
||||
gnu/packages/patches/hop-bigloo-4.0b.patch \
|
||||
gnu/packages/patches/inkscape-stray-comma.patch \
|
||||
gnu/packages/patches/libevent-dns-tests.patch \
|
||||
gnu/packages/patches/libffi-mips-n32-fix.patch \
|
||||
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
|
||||
gnu/packages/patches/libmad-mips-newgcc.patch \
|
||||
gnu/packages/patches/libtheora-config-guess.patch \
|
||||
gnu/packages/patches/libtool-skip-tests.patch \
|
||||
gnu/packages/patches/libtool-skip-tests-for-mips.patch \
|
||||
gnu/packages/patches/libssh-CVE-2014-0017.patch \
|
||||
gnu/packages/patches/luit-posix.patch \
|
||||
gnu/packages/patches/m4-gets-undeclared.patch \
|
||||
gnu/packages/patches/m4-readlink-EINVAL.patch \
|
||||
gnu/packages/patches/make-impure-dirs.patch \
|
||||
gnu/packages/patches/mc-fix-ncurses-build.patch \
|
||||
gnu/packages/patches/mcron-install.patch \
|
||||
gnu/packages/patches/mit-krb5-init-fix.patch \
|
||||
gnu/packages/patches/mpc123-initialize-ao.patch \
|
||||
gnu/packages/patches/patchelf-page-size.patch \
|
||||
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
|
||||
gnu/packages/patches/perl-no-sys-dirs.patch \
|
||||
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||
gnu/packages/patches/procps-make-3.82.patch \
|
||||
gnu/packages/patches/python-fix-tests.patch \
|
||||
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
|
||||
gnu/packages/patches/qemu-multiple-smb-shares.patch \
|
||||
gnu/packages/patches/qt4-tests.patch \
|
||||
gnu/packages/patches/ratpoison-shell.patch \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
gnu/packages/patches/ripperx-libm.patch \
|
||||
gnu/packages/patches/scheme48-tests.patch \
|
||||
gnu/packages/patches/slim-session.patch \
|
||||
gnu/packages/patches/slim-config.patch \
|
||||
gnu/packages/patches/slim-sigusr1.patch \
|
||||
gnu/packages/patches/source-highlight-regexrange-test.patch \
|
||||
gnu/packages/patches/sqlite-large-page-size-fix.patch \
|
||||
gnu/packages/patches/tcsh-fix-autotest.patch \
|
||||
gnu/packages/patches/teckit-cstdio.patch \
|
||||
gnu/packages/patches/valgrind-glibc.patch \
|
||||
gnu/packages/patches/vpnc-script.patch \
|
||||
gnu/packages/patches/w3m-fix-compile.patch \
|
||||
gnu/packages/patches/xmodmap-asprintf.patch \
|
||||
gnu/packages/patches/xpdf-constchar.patch
|
||||
|
||||
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
|
||||
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
|
||||
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
|
||||
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
|
||||
|
||||
dist_bootstrap_x86_64_linux_DATA = \
|
||||
gnu/packages/bootstrap/x86_64-linux/bash \
|
||||
gnu/packages/bootstrap/x86_64-linux/mkdir \
|
||||
gnu/packages/bootstrap/x86_64-linux/tar \
|
||||
gnu/packages/bootstrap/x86_64-linux/xz
|
||||
|
||||
dist_bootstrap_i686_linux_DATA = \
|
||||
gnu/packages/bootstrap/i686-linux/bash \
|
||||
gnu/packages/bootstrap/i686-linux/mkdir \
|
||||
gnu/packages/bootstrap/i686-linux/tar \
|
||||
gnu/packages/bootstrap/i686-linux/xz
|
||||
|
||||
dist_bootstrap_mips64el_linux_DATA = \
|
||||
gnu/packages/bootstrap/mips64el-linux/bash \
|
||||
gnu/packages/bootstrap/mips64el-linux/mkdir \
|
||||
gnu/packages/bootstrap/mips64el-linux/tar \
|
||||
gnu/packages/bootstrap/mips64el-linux/xz
|
||||
|
||||
# Big bootstrap binaries are not included in the tarball. Instead, they
|
||||
# are downloaded.
|
||||
nodist_bootstrap_x86_64_linux_DATA = \
|
||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
||||
nodist_bootstrap_i686_linux_DATA = \
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
||||
nodist_bootstrap_mips64el_linux_DATA = \
|
||||
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
||||
|
||||
# Those files must remain executable, so they remain executable once
|
||||
# imported into the store.
|
||||
install-data-hook:
|
||||
chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
|
||||
|
||||
DISTCLEANFILES = \
|
||||
$(nodist_bootstrap_x86_64_linux_DATA) \
|
||||
$(nodist_bootstrap_i686_linux_DATA) \
|
||||
$(nodist_bootstrap_mips64el_linux_DATA)
|
||||
|
||||
# Method to download a file from an external source.
|
||||
DOWNLOAD_FILE = \
|
||||
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
|
||||
$(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \
|
||||
"$(top_srcdir)/build-aux/download.scm"
|
||||
|
||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0"
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
|
||||
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"
|
||||
184
gnu/packages.scm
Normal file
184
gnu/packages.scm
Normal file
@@ -0,0 +1,184 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-39)
|
||||
#:export (search-patch
|
||||
search-bootstrap-binary
|
||||
%patch-directory
|
||||
%bootstrap-binaries-path
|
||||
fold-packages
|
||||
find-packages-by-name
|
||||
find-best-packages-by-name
|
||||
find-newest-available-packages))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; General utilities for the software distribution---i.e., the modules under
|
||||
;;; (gnu packages ...).
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define _ (cut gettext <> "guix"))
|
||||
|
||||
;; By default, we store patches and bootstrap binaries alongside Guile
|
||||
;; modules. This is so that these extra files can be found without
|
||||
;; requiring a special setup, such as a specific installation directory
|
||||
;; and an extra environment variable. One advantage of this setup is
|
||||
;; that everything just works in an auto-compilation setting.
|
||||
|
||||
(define %patch-path
|
||||
(make-parameter
|
||||
(map (cut string-append <> "/gnu/packages/patches")
|
||||
%load-path)))
|
||||
|
||||
(define %bootstrap-binaries-path
|
||||
(make-parameter
|
||||
(map (cut string-append <> "/gnu/packages/bootstrap")
|
||||
%load-path)))
|
||||
|
||||
(define (search-patch file-name)
|
||||
"Search the patch FILE-NAME."
|
||||
(search-path (%patch-path) file-name))
|
||||
|
||||
(define (search-bootstrap-binary file-name system)
|
||||
"Search the bootstrap binary FILE-NAME for SYSTEM."
|
||||
(search-path (%bootstrap-binaries-path)
|
||||
(string-append system "/" file-name)))
|
||||
|
||||
(define %distro-module-directory
|
||||
;; Absolute path of the (gnu packages ...) module root.
|
||||
(string-append (dirname (search-path %load-path "gnu/packages.scm"))
|
||||
"/packages"))
|
||||
|
||||
(define (package-files)
|
||||
"Return the list of files that implement distro modules."
|
||||
(define prefix-len
|
||||
(string-length
|
||||
(dirname (dirname (search-path %load-path "gnu/packages.scm")))))
|
||||
|
||||
(file-system-fold (const #t) ; enter?
|
||||
(lambda (path stat result) ; leaf
|
||||
(if (string-suffix? ".scm" path)
|
||||
(cons (substring path prefix-len) result)
|
||||
result))
|
||||
(lambda (path stat result) ; down
|
||||
result)
|
||||
(lambda (path stat result) ; up
|
||||
result)
|
||||
(const #f) ; skip
|
||||
(lambda (path stat errno result)
|
||||
(warning (_ "cannot access `~a': ~a~%")
|
||||
path (strerror errno))
|
||||
result)
|
||||
'()
|
||||
%distro-module-directory
|
||||
stat))
|
||||
|
||||
(define (package-modules)
|
||||
"Return the list of modules that provide packages for the distribution."
|
||||
(define not-slash
|
||||
(char-set-complement (char-set #\/)))
|
||||
|
||||
(filter-map (lambda (path)
|
||||
(let ((name (map string->symbol
|
||||
(string-tokenize (string-drop-right path 4)
|
||||
not-slash))))
|
||||
(false-if-exception (resolve-interface name))))
|
||||
(package-files)))
|
||||
|
||||
(define (fold-packages proc init)
|
||||
"Call (PROC PACKAGE RESULT) for each available package, using INIT as
|
||||
the initial value of RESULT. It is guaranteed to never traverse the
|
||||
same package twice."
|
||||
(identity ; discard second return value
|
||||
(fold2 (lambda (module result seen)
|
||||
(fold2 (lambda (var result seen)
|
||||
(if (and (package? var)
|
||||
(not (vhash-assq var seen)))
|
||||
(values (proc var result)
|
||||
(vhash-consq var #t seen))
|
||||
(values result seen)))
|
||||
result
|
||||
seen
|
||||
(module-map (lambda (sym var)
|
||||
(false-if-exception (variable-ref var)))
|
||||
module)))
|
||||
init
|
||||
vlist-null
|
||||
(package-modules))))
|
||||
|
||||
(define* (find-packages-by-name name #:optional version)
|
||||
"Return the list of packages with the given NAME. If VERSION is not #f,
|
||||
then only return packages whose version is equal to VERSION."
|
||||
(define right-package?
|
||||
(if version
|
||||
(lambda (p)
|
||||
(and (string=? (package-name p) name)
|
||||
(string=? (package-version p) version)))
|
||||
(lambda (p)
|
||||
(string=? (package-name p) name))))
|
||||
|
||||
(fold-packages (lambda (package result)
|
||||
(if (right-package? package)
|
||||
(cons package result)
|
||||
result))
|
||||
'()))
|
||||
|
||||
(define find-newest-available-packages
|
||||
(memoize
|
||||
(lambda ()
|
||||
"Return a vhash keyed by package names, and with
|
||||
associated values of the form
|
||||
|
||||
(newest-version newest-package ...)
|
||||
|
||||
where the preferred package is listed first."
|
||||
|
||||
;; FIXME: Currently, the preferred package is whichever one
|
||||
;; was found last by 'fold-packages'. Find a better solution.
|
||||
(fold-packages (lambda (p r)
|
||||
(let ((name (package-name p))
|
||||
(version (package-version p)))
|
||||
(match (vhash-assoc name r)
|
||||
((_ newest-so-far . pkgs)
|
||||
(case (version-compare version newest-so-far)
|
||||
((>) (vhash-cons name `(,version ,p) r))
|
||||
((=) (vhash-cons name `(,version ,p ,@pkgs) r))
|
||||
((<) r)))
|
||||
(#f (vhash-cons name `(,version ,p) r)))))
|
||||
vlist-null))))
|
||||
|
||||
(define (find-best-packages-by-name name version)
|
||||
"If version is #f, return the list of packages named NAME with the highest
|
||||
version numbers; otherwise, return the list of packages named NAME and at
|
||||
VERSION."
|
||||
(if version
|
||||
(find-packages-by-name name version)
|
||||
(match (vhash-assoc name (find-newest-available-packages))
|
||||
((_ version pkgs ...) pkgs)
|
||||
(#f '()))))
|
||||
44
gnu/packages/acct.scm
Normal file
44
gnu/packages/acct.scm
Normal file
@@ -0,0 +1,44 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages acct)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public acct
|
||||
(package
|
||||
(name "acct")
|
||||
(version "6.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/acct/acct-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jzz601cavml7894fjalw661gz28ia35002inw990agr3rhiaiam"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://gnu.org/software/acct/")
|
||||
(synopsis "Standard login and process accounting utilities")
|
||||
(description
|
||||
"GNU acct provides a means for system administrators to determine
|
||||
system usage patterns. It provides information on, for example, connections,
|
||||
programs executed, and system resources used.")
|
||||
(license gpl3+)))
|
||||
72
gnu/packages/acl.scm
Normal file
72
gnu/packages/acl.scm
Normal file
@@ -0,0 +1,72 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages acl)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public acl
|
||||
(package
|
||||
(name "acl")
|
||||
(version "2.2.51")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/acl/acl-"
|
||||
version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-cons-after
|
||||
'configure 'patch-makefile-SHELL
|
||||
(lambda _
|
||||
(patch-makefile-SHELL "include/buildmacros"))
|
||||
,(if (%current-target-system)
|
||||
'%standard-phases
|
||||
'(alist-replace 'check
|
||||
(lambda _
|
||||
(system* "make" "tests" "-C" "test")
|
||||
|
||||
;; XXX: Ignore the test result since this is
|
||||
;; dependent on the underlying file system.
|
||||
#t)
|
||||
%standard-phases)))))
|
||||
(inputs `(("attr" ,attr)
|
||||
|
||||
;; Perl is needed to run tests; remove it from cross builds.
|
||||
,@(if (%current-target-system)
|
||||
'()
|
||||
`(("perl" ,perl)))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gnu-gettext)))
|
||||
|
||||
(home-page
|
||||
"http://savannah.nongnu.org/projects/acl")
|
||||
(synopsis
|
||||
"Library and tools for manipulating access control lists")
|
||||
(description
|
||||
"Library and tools for manipulating access control lists.")
|
||||
(license (list gpl2+ lgpl2.1+))))
|
||||
553
gnu/packages/admin.scm
Normal file
553
gnu/packages/admin.scm
Normal file
@@ -0,0 +1,553 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages admin)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module ((gnu packages base)
|
||||
#:select (tar))
|
||||
#:use-module ((gnu packages compression)
|
||||
#:select (gzip))
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public dmd
|
||||
(package
|
||||
(name "dmd")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07mddw0p62fcphwjzgb6rfa0pjz5sy6jzbha0sm2vc3rqf459jxg"))
|
||||
(patches (list (search-patch "dmd-getpw.patch")
|
||||
(search-patch "dmd-tests-longer-sleeps.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--localstatedir=/var")))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("guile" ,guile-2.0)))
|
||||
(synopsis "Daemon managing daemons")
|
||||
(description
|
||||
"GNU DMD is a daemon-managing daemon, meaning that it manages the
|
||||
execution of system services, replacing similar functionality found in
|
||||
typical init systems. It provides dependency-handling through a convenient
|
||||
interface and is based on GNU Guile.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/dmd/")))
|
||||
|
||||
(define-public dfc
|
||||
(package
|
||||
(name "dfc")
|
||||
(version "3.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://projects.gw-computing.net/attachments/download/78/dfc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b4hfqv23l87cb37fxwzfk2sgspkyxpr3ig2hsd23hr6mm982j7z"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ; There are no tests.
|
||||
(native-inputs `(("gettext" ,gnu-gettext)))
|
||||
(home-page "http://projects.gw-computing.net/projects/dfc")
|
||||
(synopsis "Display file system space usage using graphs and colors")
|
||||
(description
|
||||
"dfc (df color) is a modern version of df. It uses colors, draws pretty
|
||||
graphs and can export its output to different formats.")
|
||||
(license bsd-3)))
|
||||
|
||||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/htop/"
|
||||
version "/htop-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18fqrhvnm7h4c3939av8lpiwrwxbyw6hcly0jvq0vkjf0ixnaq7f"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
(home-page "http://htop.sourceforge.net/")
|
||||
(synopsis "Interactive process viewer")
|
||||
(description
|
||||
"This is htop, an interactive process viewer. It is a text-mode
|
||||
application (for console or X terminals) and requires ncurses.")
|
||||
(license gpl2)))
|
||||
|
||||
(define-public pies
|
||||
(package
|
||||
(name "pies")
|
||||
(version "1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/pies/pies-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/pies/")
|
||||
(synopsis "Program invocation and execution supervisor")
|
||||
(description
|
||||
"GNU pies is a program that supervises the invocation and execution of
|
||||
other programs. It reads the list of programs to be started from its
|
||||
configuration file, executes them, and then monitors their status,
|
||||
re-executing them as necessary.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public inetutils
|
||||
(package
|
||||
(name "inetutils")
|
||||
(version "1.9.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/inetutils/inetutils-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
|
||||
;; which is currently missing.
|
||||
#:tests? #f))
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("readline" ,readline))) ; for 'ftp'
|
||||
(home-page "http://www.gnu.org/software/inetutils/")
|
||||
(synopsis "Basic networking utilities")
|
||||
(description
|
||||
"Inetutils is a collection of common network programs, such as an ftp
|
||||
client and server, a telnet client and server, and an rsh client and server.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public shadow
|
||||
(package
|
||||
(name "shadow")
|
||||
(version "4.1.5.1")
|
||||
(source (origin
|
||||
;; Shadow has no real upstream, and not even tarballs.
|
||||
;; See <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00233.html>.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.debian.org/git/pkg-shadow/shadow")
|
||||
(commit (string-append "upstream/" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1xx85d83kmacmjzqbamgydcjkwsqd5fi1s2wgwx6myq5wa39qx0n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(;; Assume System V `setpgrp (void)', which is the default on GNU
|
||||
;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
|
||||
#:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
|
||||
|
||||
#:phases (alist-cons-before
|
||||
'build 'set-nscd-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Use the right file name for nscd.
|
||||
(let ((libc (assoc-ref inputs "libc")))
|
||||
(substitute* "lib/nscd.c"
|
||||
(("/usr/sbin/nscd")
|
||||
(string-append libc "/sbin/nscd")))))
|
||||
(alist-cons-after
|
||||
'install 'remove-groups
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove `groups', which is already provided by Coreutils.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(man (string-append out "/share/man/man1")))
|
||||
(delete-file (string-append bin "/groups"))
|
||||
(for-each delete-file (find-files man "^groups\\."))
|
||||
#t))
|
||||
(alist-cons-after
|
||||
'unpack 'reset-timestamps
|
||||
(lambda _
|
||||
;; FIXME: Reset the file timestamps here, until the
|
||||
;; 'unpack' phase does it for us. See
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00098.html>.
|
||||
(for-each (lambda (file)
|
||||
(utime file 0 0 0))
|
||||
(find-files "." "")))
|
||||
%standard-phases)))))
|
||||
|
||||
(inputs (if (string-suffix? "-linux"
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
`(("linux-pam" ,linux-pam))
|
||||
'()))
|
||||
(home-page "http://pkg-shadow.alioth.debian.org/")
|
||||
(synopsis "Authentication-related tools such as passwd, su, and login")
|
||||
(description
|
||||
"Shadow provides a number of authentication-related tools, including:
|
||||
login, passwd, su, groupadd, and useradd.")
|
||||
|
||||
;; The `vipw' program is GPLv2+.
|
||||
;; libmisc/salt.c is public domain.
|
||||
(license bsd-3)))
|
||||
|
||||
(define-public mingetty
|
||||
(package
|
||||
(name "mingetty")
|
||||
(version "1.08")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/mingetty/mingetty-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-replace 'configure
|
||||
(lambda* (#:key inputs outputs
|
||||
#:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(man8 (string-append
|
||||
out "/share/man/man8"))
|
||||
(sbin (string-append out "/sbin"))
|
||||
(shadow (assoc-ref inputs "shadow"))
|
||||
(login (string-append shadow
|
||||
"/bin/login")))
|
||||
(substitute* "Makefile"
|
||||
(("^SBINDIR.*")
|
||||
(string-append "SBINDIR = " out
|
||||
"/sbin\n"))
|
||||
(("^MANDIR.*")
|
||||
(string-append "MANDIR = " out
|
||||
"/share/man/man8\n")))
|
||||
|
||||
;; Pick the right 'login' by default.
|
||||
(substitute* "mingetty.c"
|
||||
(("\"/bin/login\"")
|
||||
(string-append "\"" login "\"")))
|
||||
|
||||
(mkdir-p sbin)
|
||||
(mkdir-p man8)))
|
||||
%standard-phases)
|
||||
#:tests? #f)) ; no tests
|
||||
(inputs `(("shadow" ,shadow)))
|
||||
|
||||
(home-page "http://sourceforge.net/projects/mingetty")
|
||||
(synopsis "Getty for the text console")
|
||||
(description
|
||||
"Small console getty that is started on the Linux text console,
|
||||
asks for a login name and then transfers over to 'login'. It is extended to
|
||||
allow automatic login and starting any app.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public net-base
|
||||
(package
|
||||
(name "net-base")
|
||||
(version "5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://debian/pool/main/n/netbase/netbase_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01rkvqrg7krkx8b432nz6bpi8w3s4cm5q5r891k23cdrc9nsaayn"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
(let* ((source (assoc-ref %build-inputs "source"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(gzip (assoc-ref %build-inputs "gzip"))
|
||||
(output (assoc-ref %outputs "out"))
|
||||
(etc (string-append output "/etc")))
|
||||
(setenv "PATH" (string-append gzip "/bin"))
|
||||
(system* (string-append tar "/bin/tar") "xvf"
|
||||
source)
|
||||
(chdir ,(string-append "netbase-" version))
|
||||
(mkdir-p etc)
|
||||
(for-each copy-file
|
||||
'("etc-services" "etc-protocols" "etc-rpc")
|
||||
(map (cut string-append etc "/" <>)
|
||||
'("services" "protocols" "rpc")))
|
||||
#t))))
|
||||
(native-inputs `(("tar" ,tar)
|
||||
("gzip" ,gzip)))
|
||||
(synopsis "IANA protocol, port, and RPC number assignments")
|
||||
(description
|
||||
"This package provides the /etc/services, /etc/protocols, and /etc/rpc
|
||||
files, which contain information about the IANA-assigned port, protocol, and
|
||||
ONC RPC numbers")
|
||||
(home-page "http://packages.debian.org/sid/netbase")
|
||||
(license gpl2)))
|
||||
|
||||
(define-public netcat
|
||||
(package
|
||||
(name "netcat")
|
||||
(version "0.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/netcat/netcat-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; By default, man and info pages are put in PREFIX/{man,info},
|
||||
;; but we want them in PREFIX/share/{man,info}.
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--mandir=" out "/share/man")
|
||||
(string-append "--infodir=" out "/share/info")))))
|
||||
(home-page "http://netcat.sourceforge.net")
|
||||
(synopsis "Read and write data over TCP/IP")
|
||||
(description
|
||||
"Netcat is a featured networking utility which reads and writes data
|
||||
across network connections, using the TCP/IP protocol. It is designed to be a
|
||||
reliable \"back-end\" tool that can be used directly or easily driven by other
|
||||
programs and scripts. At the same time, it is a feature-rich network debugging
|
||||
and exploration tool, since it can create almost any kind of connection you
|
||||
would need and has several interesting built-in capabilities.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public alive
|
||||
(package
|
||||
(name "alive")
|
||||
(version "2.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/alive/alive-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vrzg51ai68x9yld7vbgl58sxaw5qpx8rbakwcxn4cqq6vpxj38j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("alive_cv_nice_ping=yes")))
|
||||
(inputs `(("guile" ,guile-2.0)
|
||||
("inetutils" ,inetutils)))
|
||||
(home-page "http://www.gnu.org/software/alive/")
|
||||
(synopsis "Autologin and keep-alive daemon")
|
||||
(description
|
||||
"GNU Alive sends periodic pings to a server, generally to keep a
|
||||
connection alive.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public isc-dhcp
|
||||
(package
|
||||
(name "isc-dhcp")
|
||||
(version "4.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
|
||||
version "/dhcp-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-after
|
||||
'configure 'post-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Point to the right client script, which will be
|
||||
;; installed in a later phase.
|
||||
(substitute* "includes/dhcpd.h"
|
||||
(("#define[[:blank:]]+_PATH_DHCLIENT_SCRIPT.*")
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(string-append "#define _PATH_DHCLIENT_SCRIPT \""
|
||||
out "/libexec/dhclient-script"
|
||||
"\"\n"))))
|
||||
|
||||
;; During the 'build' phase, 'bind.tar.gz' is extracted, so
|
||||
;; we must patch shebangs in there and make sure the right
|
||||
;; shell is used.
|
||||
(with-directory-excursion "bind"
|
||||
(substitute* "Makefile"
|
||||
(("\\./configure")
|
||||
(let ((sh (which "sh")))
|
||||
(string-append "./configure CONFIG_SHELL="
|
||||
sh " SHELL=" sh))))
|
||||
|
||||
(system* "tar" "xf" "bind.tar.gz")
|
||||
(for-each patch-shebang
|
||||
(find-files "bind-9.9.5" ".*"))
|
||||
(zero? (system* "tar" "cf" "bind.tar.gz"
|
||||
"bind-9.9.5"))))
|
||||
(alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Install the dhclient script for GNU/Linux and make sure
|
||||
;; if finds all the programs it needs.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libexec (string-append out "/libexec"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(net-tools (assoc-ref inputs "net-tools"))
|
||||
(sed (assoc-ref inputs "sed")))
|
||||
(substitute* "client/scripts/linux"
|
||||
(("/sbin/ip")
|
||||
(string-append (assoc-ref inputs "iproute")
|
||||
"/sbin/ip")))
|
||||
|
||||
(mkdir-p libexec)
|
||||
(copy-file "client/scripts/linux"
|
||||
(string-append libexec "/dhclient-script"))
|
||||
|
||||
(wrap-program (string-append libexec "/dhclient-script")
|
||||
`("PATH" ":" prefix
|
||||
,(map (lambda (dir)
|
||||
(string-append dir "/bin:"
|
||||
dir "/sbin"))
|
||||
(list net-tools coreutils sed))))))
|
||||
%standard-phases))))
|
||||
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
|
||||
;; Even Coreutils and sed are needed here in case we're cross-compiling.
|
||||
(inputs `(("coreutils" ,coreutils)
|
||||
("sed" ,sed)
|
||||
("net-tools" ,net-tools)
|
||||
("iproute" ,iproute)))
|
||||
|
||||
(home-page "http://www.isc.org/products/DHCP/")
|
||||
(synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
|
||||
(description
|
||||
"ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
|
||||
reference implementation of all aspects of DHCP, through a suite of DHCP
|
||||
tools: server, client, and relay agent.")
|
||||
(license isc)))
|
||||
|
||||
(define-public libpcap
|
||||
(package
|
||||
(name "libpcap")
|
||||
(version "1.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.tcpdump.org/release/libpcap-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("bison" ,bison) ("flex" ,flex)))
|
||||
(arguments '(#:tests? #f)) ; no 'check' target
|
||||
(home-page "http://www.tcpdump.org")
|
||||
(synopsis "Network packet capture library")
|
||||
(description
|
||||
"libpcap is an interface for user-level packet capture. It provides a
|
||||
portable framework for low-level network monitoring. Applications include
|
||||
network statistics collection, security monitoring, network debugging, etc.")
|
||||
|
||||
;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
|
||||
(license bsd-3)))
|
||||
|
||||
(define-public jnettop
|
||||
(package
|
||||
(name "jnettop")
|
||||
(version "0.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("ncurses" ,ncurses)
|
||||
("libpcap" ,libpcap)))
|
||||
(home-page "http://jnettop.kubs.info/")
|
||||
(synopsis "Visualize network traffic by bandwidth use")
|
||||
(description
|
||||
"Jnettop is a traffic visualiser, which captures traffic going
|
||||
through the host it is running from and displays streams sorted
|
||||
by bandwidth they use.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public clusterssh
|
||||
(package
|
||||
(name "clusterssh")
|
||||
(version "3.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/clusterssh/"
|
||||
"clusterssh-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(propagated-inputs `(("xterm" ,xterm)
|
||||
("perl-tk" ,perl-tk)
|
||||
("perl-x11-protocol" ,perl-x11-protocol)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-cons-after
|
||||
'install 'set-load-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Put the perl-tk and perl-x11-protocol modules in the perl inc
|
||||
;; path for PROG
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(prog (string-append out "/bin/cssh"))
|
||||
(perl-ver ,(package-version perl))
|
||||
(x11-inc (string-append
|
||||
(assoc-ref inputs "perl-x11-protocol")
|
||||
"/lib/perl5/site_perl/" perl-ver))
|
||||
(tk-inc (string-append
|
||||
(assoc-ref inputs "perl-tk")
|
||||
"/lib/perl5/site_perl/" perl-ver
|
||||
"/x86_64-linux")))
|
||||
(wrap-program
|
||||
prog
|
||||
`("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
|
||||
%standard-phases)))
|
||||
;; The clusterssh.sourceforge.net address requires login to view
|
||||
(home-page "http://sourceforge.net/projects/clusterssh/")
|
||||
(synopsis "Secure concurrent multi-server terminal control")
|
||||
(description
|
||||
"ClusterSSH controls a number of xterm windows via a single graphical
|
||||
console window to allow commands to be interactively run on multiple servers
|
||||
over ssh connections.")
|
||||
(license gpl2+)))
|
||||
239
gnu/packages/algebra.scm
Normal file
239
gnu/packages/algebra.scm
Normal file
@@ -0,0 +1,239 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages algebra)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils))
|
||||
|
||||
|
||||
(define-public mpfrcx
|
||||
(package
|
||||
(name "mpfrcx")
|
||||
(version "0.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.multiprecision.org/mpfrcx/download/mpfrcx-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0grw66b255r574lvll1bqccm5myj2m8ajzsjaygcyq9zjnnbnhhy"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("mpc" ,mpc)))
|
||||
(synopsis "mpfrcx, a library for the arithmetic of univariate polynomials
|
||||
over arbitrary precision real or complex numbers")
|
||||
(description
|
||||
"mpfrcx is a library for the arithmetic of univariate polynomials over
|
||||
arbitrary precision real (mpfr) or complex (mpc) numbers, without control
|
||||
on the rounding. For the time being, only the few functions needed to
|
||||
implement the floating point approach to complex multiplication are
|
||||
implemented. On the other hand, these comprise asymptotically fast
|
||||
multiplication routines such as Toom–Cook and the FFT. ")
|
||||
(license lgpl2.1+)
|
||||
(home-page "http://mpfrcx.multiprecision.org/")))
|
||||
|
||||
(define-public fplll
|
||||
(package
|
||||
(name "fplll")
|
||||
(version "4.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)))
|
||||
(synopsis "fplll, a library for LLL-reduction of euclidean lattices")
|
||||
(description
|
||||
"fplll LLL-reduces euclidean lattices. Since version 3, it can also
|
||||
solve the shortest vector problem.")
|
||||
(license lgpl2.1+)
|
||||
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
|
||||
|
||||
(define-public pari-gp
|
||||
(package
|
||||
(name "pari-gp")
|
||||
(version "2.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1hk7lmq09crr9jvia8nxzhvbwf8mw62xk456i96jg8dljh0r9sgz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("perl" ,perl)
|
||||
("readline" ,readline)))
|
||||
(arguments
|
||||
'(#:make-flags '("gp")
|
||||
;; FIXME: building the documentation requires tex; once this is available,
|
||||
;; replace "gp" by "all"
|
||||
#:test-target "dobench"
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "./Configure" (string-append "--prefix=" out)))))
|
||||
%standard-phases)))
|
||||
(synopsis "PARI/GP, a computer algebra system for number theory")
|
||||
(description
|
||||
"PARI/GP is a widely used computer algebra system designed for fast
|
||||
computations in number theory (factorisations, algebraic number theory,
|
||||
elliptic curves...), but it also contains a large number of other useful
|
||||
functions to compute with mathematical entities such as matrices,
|
||||
polynomials, power series, algebraic numbers, etc., and a lot of
|
||||
transcendental functions.
|
||||
PARI is also available as a C library to allow for faster computations.")
|
||||
(license gpl2+)
|
||||
(home-page "http://pari.math.u-bordeaux.fr/")))
|
||||
|
||||
(define-public gp2c
|
||||
(package
|
||||
(name "gp2c")
|
||||
(version "0.0.8pl1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0r1xrshgx0db2snmacwvg5r99fhd9rpblcfs86pfsp23hnjxj9i0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(inputs `(("pari-gp" ,pari-gp)))
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "--with-paricfg="
|
||||
(assoc-ref %build-inputs "pari-gp")
|
||||
"/lib/pari/pari.cfg"))))
|
||||
(synopsis "PARI/GP, a computer algebra system for number theory")
|
||||
(description
|
||||
"PARI/GP is a widely used computer algebra system designed for fast
|
||||
computations in number theory (factorisations, algebraic number theory,
|
||||
elliptic curves...), but it also contains a large number of other useful
|
||||
functions to compute with mathematical entities such as matrices,
|
||||
polynomials, power series, algebraic numbers, etc., and a lot of
|
||||
transcendental functions.
|
||||
PARI is also available as a C library to allow for faster computations.
|
||||
|
||||
GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
|
||||
(license gpl2)
|
||||
(home-page "http://pari.math.u-bordeaux.fr/")))
|
||||
|
||||
(define-public bc
|
||||
(package
|
||||
(name "bc")
|
||||
(version "1.06")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cqf5jkwx6awgd2xc2a0mkpxilzcfmhncdcfg7c9439wgkqxkxjf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("readline" ,readline)))
|
||||
(native-inputs `(("flex" ,flex)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(alist-replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; This old `configure' script doesn't support
|
||||
;; variables passed as arguments.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(zero?
|
||||
(system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
;; By default, man and info pages are put in
|
||||
;; PREFIX/{man,info}, but we want them in
|
||||
;; PREFIX/share/{man,info}.
|
||||
(string-append "--mandir=" out "/share/man")
|
||||
(string-append "--infodir=" out "/share/info")))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/bc/")
|
||||
(synopsis "Arbitrary precision numeric processing language")
|
||||
(description
|
||||
"bc is an arbitrary precision numeric processing language. It includes
|
||||
an interactive environment for evaluating mathematical statements. Its
|
||||
syntax is similar to that of C, so basic usage is familiar. It also includes
|
||||
\"dc\", a reverse-polish calculator.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public fftw
|
||||
(package
|
||||
(name "fftw")
|
||||
(version "3.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
|
||||
version".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wwp9b2va7vkq3ay7a9jk22nr4x5q6m37rzqy2j8y3d11c5grkc5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-shared" "--enable-openmp")
|
||||
#:phases (alist-cons-before
|
||||
'build 'no-native
|
||||
(lambda _
|
||||
;; By default '-mtune=native' is used. However, that may
|
||||
;; cause the use of ISA extensions (SSE2, etc.) that are
|
||||
;; not necessarily available on the user's machine when
|
||||
;; that package is built on a different machine.
|
||||
(substitute* (find-files "." "Makefile$")
|
||||
(("-mtune=native") "")))
|
||||
%standard-phases)))
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(home-page "http://fftw.org")
|
||||
(synopsis "Computing the discrete Fourier transform")
|
||||
(description
|
||||
"FFTW is a C subroutine library for computing the discrete Fourier
|
||||
transform (DFT) in one or more dimensions, of arbitrary input size, and of
|
||||
both real and complex data (as well as of even/odd data---i.e. the discrete
|
||||
cosine/ sine transforms or DCT/DST).")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public fftwf
|
||||
(package (inherit fftw)
|
||||
(name "fftwf")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments fftw)
|
||||
((#:configure-flags cf)
|
||||
`(cons "--enable-float" ,cf))))
|
||||
(description
|
||||
(string-append (package-description fftw)
|
||||
" Single-precision version."))))
|
||||
49
gnu/packages/apl.scm
Normal file
49
gnu/packages/apl.scm
Normal file
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages apl)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages readline))
|
||||
|
||||
(define-public apl
|
||||
(package
|
||||
(name "apl")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pkwlm0nf5vb8sp9hf9wjmsrsyr4vdpd4kv5y3hzmsgf3wcf8y3i"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/apl/")
|
||||
(inputs
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("lapack" ,lapack)
|
||||
("readline" ,readline)))
|
||||
(synopsis "APL interpreter")
|
||||
(description
|
||||
"GNU APL is a free interpreter for the programming language APL. It is
|
||||
an implementation of the ISO standard 13751.")
|
||||
(license gpl3+)))
|
||||
88
gnu/packages/apr.scm
Normal file
88
gnu/packages/apr.scm
Normal file
@@ -0,0 +1,88 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages apr)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages autotools))
|
||||
|
||||
(define-public apr
|
||||
(package
|
||||
(name "apr")
|
||||
(version "1.4.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/apr/apr-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))
|
||||
(patches
|
||||
(list (search-patch "apr-skip-getservbyname-test.patch")))
|
||||
(patch-flags '("-p0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)
|
||||
("libtool" ,libtool)))
|
||||
(home-page "http://apr.apache.org/")
|
||||
(synopsis "The Apache Portable Runtime Library")
|
||||
(description
|
||||
"The mission of the Apache Portable Runtime (APR) project is to create and
|
||||
maintain software libraries that provide a predictable and consistent interface
|
||||
to underlying platform-specific implementations. The primary goal is to provide
|
||||
an API to which software developers may code and be assured of predictable if
|
||||
not identical behaviour regardless of the platform on which their software is
|
||||
built, relieving them of the need to code special-case conditions to work
|
||||
around or take advantage of platform-specific deficiencies or features.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public apr-util
|
||||
(package
|
||||
(name "apr-util")
|
||||
(version "1.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/apr/apr-util-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"19qjxpckb9p4j9pbk8kcirg6k5vqnjrqhnk9xx2c5m9964p3vkls"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("apr" ,apr)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(apr (assoc-ref inputs "apr")))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--with-apr=" apr)))))
|
||||
%standard-phases)))
|
||||
(home-page "http://apr.apache.org/")
|
||||
(synopsis "One of the Apache Portable Runtime Library companions")
|
||||
(description
|
||||
"APR-util provides a number of helpful abstractions on top of APR.")
|
||||
(license asl2.0)))
|
||||
52
gnu/packages/asciidoc.scm
Normal file
52
gnu/packages/asciidoc.scm
Normal file
@@ -0,0 +1,52 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages asciidoc)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:autoload (gnu packages zip) (unzip))
|
||||
|
||||
(define-public asciidoc
|
||||
(package
|
||||
(name "asciidoc")
|
||||
(version "8.6.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/asciidoc/asciidoc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; no 'check' target
|
||||
(inputs `(("python" ,python-2)))
|
||||
(home-page "http://www.methods.co.nz/asciidoc/")
|
||||
(synopsis "Text-based document generation system")
|
||||
(description
|
||||
"AsciiDoc is a text document format for writing notes, documentation,
|
||||
articles, books, ebooks, slideshows, web pages, man pages and blogs.
|
||||
AsciiDoc files can be translated to many formats including HTML, PDF,
|
||||
EPUB, man page.
|
||||
|
||||
AsciiDoc is highly configurable: both the AsciiDoc source file syntax and
|
||||
the backend output markups (which can be almost any type of SGML/XML
|
||||
markup) can be customized and extended by the user.")
|
||||
(license gpl2+)))
|
||||
116
gnu/packages/aspell.scm
Normal file
116
gnu/packages/aspell.scm
Normal file
@@ -0,0 +1,116 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages aspell)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages which))
|
||||
|
||||
(define-public aspell
|
||||
(package
|
||||
(name "aspell")
|
||||
(version "0.60.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/aspell/aspell-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(home-page "http://aspell.net/")
|
||||
(synopsis "Spell checker")
|
||||
(description
|
||||
"Aspell is a spell-checker which can be used either as a library or as
|
||||
a standalone program. Notable features of Aspell include its full support of
|
||||
documents written in the UTF-8 encoding and its ability to use multiple
|
||||
dictionaries, including personal ones.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Dictionaries.
|
||||
;;;
|
||||
;;; Use 'export ASPELL_CONF="dict-dir $HOME/.guix-profile/lib/aspell"' to use them.
|
||||
;;;
|
||||
|
||||
(define* (aspell-dictionary dict-name full-name
|
||||
#:key version sha256 (prefix "aspell6-"))
|
||||
(package
|
||||
(name (string-append "aspell-dict-" dict-name))
|
||||
(version version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/aspell/dict/" dict-name
|
||||
"/" prefix dict-name "-"
|
||||
version ".tar.bz2"))
|
||||
(sha256 sha256)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system* "./configure"))))
|
||||
%standard-phases)
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "dictdir=" out "/lib/aspell")
|
||||
(string-append "datadir=" out "/lib/aspell")))
|
||||
#:tests? #f))
|
||||
(native-inputs `(("aspell" ,aspell)
|
||||
("which" ,which)))
|
||||
(synopsis (string-append full-name " dictionary for GNU Aspell")) ; XXX: i18n
|
||||
(description
|
||||
"This package provides a dictionary for the GNU Aspell spell checker.")
|
||||
(license gpl2+)
|
||||
(home-page "http://aspell.net/")))
|
||||
|
||||
|
||||
(define-public aspell-dict-en
|
||||
(aspell-dictionary "en" "English"
|
||||
#:version "7.1-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"02ldfiny4iakgfgy4sdrzjqdzi7l1rmb6y30lv31kfy5x31g77gz")))
|
||||
|
||||
(define-public aspell-dict-eo
|
||||
(aspell-dictionary "eo" "Esperanto"
|
||||
#:version "2.1.20000225a-2"
|
||||
#:sha256
|
||||
(base32
|
||||
"09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1")))
|
||||
|
||||
(define-public aspell-dict-es
|
||||
(aspell-dictionary "es" "Spanish"
|
||||
#:version "1.11-2"
|
||||
#:sha256
|
||||
(base32
|
||||
"1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd")))
|
||||
|
||||
(define-public aspell-dict-fr
|
||||
(aspell-dictionary "fr" "French"
|
||||
#:version "0.50-3"
|
||||
#:prefix "aspell-"
|
||||
#:sha256
|
||||
(base32
|
||||
"14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr")))
|
||||
83
gnu/packages/attr.scm
Normal file
83
gnu/packages/attr.scm
Normal file
@@ -0,0 +1,83 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages attr)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public attr
|
||||
(package
|
||||
(name "attr")
|
||||
(version "2.4.46")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/attr/attr-"
|
||||
version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-cons-after
|
||||
'configure 'patch-makefile-SHELL
|
||||
(lambda _
|
||||
(patch-makefile-SHELL "include/buildmacros"))
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda _
|
||||
(zero? (system* "make"
|
||||
"install"
|
||||
"install-lib"
|
||||
"install-dev")))
|
||||
|
||||
;; When building natively, adjust the test cases.
|
||||
,(if (%current-target-system)
|
||||
'%standard-phases
|
||||
'(alist-replace 'check
|
||||
(lambda _
|
||||
;; Use the right shell.
|
||||
(substitute* "test/run"
|
||||
(("/bin/sh")
|
||||
(which "bash")))
|
||||
|
||||
(system* "make" "tests" "-C" "test")
|
||||
|
||||
;; XXX: Ignore the test result since this is
|
||||
;; dependent on the underlying file system.
|
||||
#t)
|
||||
%standard-phases))))))
|
||||
(inputs
|
||||
;; Perl is needed to run tests; remove it from cross builds.
|
||||
(if (%current-target-system)
|
||||
'()
|
||||
`(("perl" ,perl))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gnu-gettext)))
|
||||
|
||||
(home-page "http://savannah.nongnu.org/projects/attr/")
|
||||
(synopsis "Library and tools for manipulating extended attributes")
|
||||
(description
|
||||
"Portable library and tools for manipulating extended attributes.")
|
||||
(license (list gpl2+ lgpl2.1+))))
|
||||
63
gnu/packages/autogen.scm
Normal file
63
gnu/packages/autogen.scm
Normal file
@@ -0,0 +1,63 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages autogen)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (gnu packages guile))
|
||||
|
||||
(define-public autogen
|
||||
(package
|
||||
(name "autogen")
|
||||
(version "5.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/autogen/rel"
|
||||
version "/autogen-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s2021bwpq6h199cbbranz96hhm5s7v66lc68h8v198vqbg049yc"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("which" ,which)
|
||||
("guile" ,guile-2.0)))
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-test-scripts
|
||||
(lambda _
|
||||
(let ((sh (which "sh")))
|
||||
(substitute*
|
||||
(append (find-files "agen5/test" "\\.test$")
|
||||
(find-files "autoopts/test" "\\.(test|in)$"))
|
||||
(("/bin/sh") sh)
|
||||
(("/usr/bin/tr") "tr"))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/autogen/")
|
||||
(synopsis "Automated program generator")
|
||||
(description
|
||||
"AutoGen is a program to ease the maintenance of programs that contain
|
||||
large amounts of repetitive text. It automates the construction of these
|
||||
sections of the code, simplifying the task of keeping the text in sync. It
|
||||
also includes an add-on package called AutoOpts, which is specialized for the
|
||||
maintenance and documentation of program options.")
|
||||
(license gpl3+)))
|
||||
279
gnu/packages/autotools.scm
Normal file
279
gnu/packages/autotools.scm
Normal file
@@ -0,0 +1,279 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages autotools)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (autoconf-wrapper))
|
||||
|
||||
(define-public autoconf
|
||||
(package
|
||||
(name "autoconf")
|
||||
(version "2.69")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/autoconf/autoconf-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("perl" ,perl)
|
||||
("m4" ,m4)))
|
||||
;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
|
||||
;; should use our own "cpp" instead of "/lib/cpp".
|
||||
(arguments `(#:tests? #f))
|
||||
(home-page
|
||||
"http://www.gnu.org/software/autoconf/")
|
||||
(synopsis "Create source code configuration scripts")
|
||||
(description
|
||||
"Autoconf offers the developer a robust set of M4 macros which expand
|
||||
into shell code to test the features of Unix-like systems and to adapt
|
||||
automatically their software package to these systems. The resulting shell
|
||||
scripts are self-contained and portable, freeing the user from needing to
|
||||
know anything about Autoconf or M4.")
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
(define-public autoconf-2.68
|
||||
(package (inherit autoconf)
|
||||
(version "2.68")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/autoconf/autoconf-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fjm21k2na07f3vasf288a0zx66lbv0hd3l9bvv3q8p62s3pg569"))))))
|
||||
|
||||
(define* (autoconf-wrapper #:optional (autoconf autoconf))
|
||||
"Return an wrapper around AUTOCONF that generates `configure' scripts that
|
||||
use our own Bash instead of /bin/sh in shebangs. For that reason, it should
|
||||
only be used internally---users should not end up distributing `configure'
|
||||
files with a system-specific shebang."
|
||||
(package (inherit autoconf)
|
||||
(location (source-properties->location (current-source-location)))
|
||||
(name (string-append (package-name autoconf) "-wrapper"))
|
||||
(build-system trivial-build-system)
|
||||
(inputs `(("guile"
|
||||
;; XXX: Kludge to hide the circular dependency.
|
||||
,(module-ref (resolve-interface '(gnu packages guile))
|
||||
'guile-2.0))
|
||||
("autoconf" ,autoconf)
|
||||
("bash" ,bash)))
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(autoconf (string-append
|
||||
(assoc-ref %build-inputs "autoconf")
|
||||
"/bin/autoconf"))
|
||||
(guile (string-append
|
||||
(assoc-ref %build-inputs "guile")
|
||||
"/bin/guile"))
|
||||
(sh (string-append
|
||||
(assoc-ref %build-inputs "bash")
|
||||
"/bin/sh"))
|
||||
(modules ((compose dirname dirname dirname)
|
||||
(search-path %load-path
|
||||
"guix/build/utils.scm"))))
|
||||
(mkdir-p bin)
|
||||
|
||||
;; Symlink all the binaries but `autoconf'.
|
||||
(with-directory-excursion bin
|
||||
(for-each (lambda (file)
|
||||
(unless (string=? (basename file) "autoconf")
|
||||
(symlink file (basename file))))
|
||||
(find-files (dirname autoconf) ".*")))
|
||||
|
||||
;; Add an `autoconf' binary that wraps the real one.
|
||||
(call-with-output-file (string-append bin "/autoconf")
|
||||
(lambda (port)
|
||||
;; Shamefully, Guile can be used in shebangs only if a
|
||||
;; single argument is passed (-ds); otherwise it gets
|
||||
;; them all as a single argument and fails to parse them.
|
||||
(format port "#!~a
|
||||
export GUILE_LOAD_PATH=\"~a\"
|
||||
export GUILE_LOAD_COMPILED_PATH=\"~a\"
|
||||
exec ~a --no-auto-compile \"$0\" \"$@\"
|
||||
!#~%"
|
||||
sh modules modules guile)
|
||||
(write
|
||||
`(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((result (apply system* ,autoconf
|
||||
(cdr (command-line)))))
|
||||
(when (and (file-exists? "configure")
|
||||
(not (file-exists? "/bin/sh")))
|
||||
;; Patch regardless of RESULT, because `autoconf
|
||||
;; -Werror' can both create a `configure' file and
|
||||
;; return a non-zero exit code.
|
||||
(patch-shebang "configure"))
|
||||
(exit (status:exit-val result))))
|
||||
port)))
|
||||
(chmod (string-append bin "/autoconf") #o555)))))))
|
||||
|
||||
(define-public automake
|
||||
(package
|
||||
(name "automake")
|
||||
(version "1.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/automake/automake-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s86rzdayj1licgj35q0mnynv5xa8f4p32m36blc5jk9id5z1d59"))
|
||||
(patches
|
||||
(list (search-patch "automake-skip-amhello-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("autoconf" ,(autoconf-wrapper))
|
||||
("perl" ,perl)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "ACLOCAL_PATH")
|
||||
(directories '("share/aclocal")))))
|
||||
(arguments
|
||||
'(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(rnrs io ports))
|
||||
#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-tests-shebangs
|
||||
(lambda _
|
||||
(let ((sh (which "sh")))
|
||||
(substitute* (find-files "t" "\\.(sh|tap)$")
|
||||
(("#![[:blank:]]?/bin/sh")
|
||||
(string-append "#!" sh)))
|
||||
|
||||
;; Set these variables for all the `configure' runs
|
||||
;; that occur during the test suite.
|
||||
(setenv "SHELL" sh)
|
||||
(setenv "CONFIG_SHELL" sh)))
|
||||
|
||||
;; Files like `install-sh', `mdate.sh', etc. must use
|
||||
;; #!/bin/sh, otherwise users could leak erroneous shebangs
|
||||
;; in the wild. See <http://bugs.gnu.org/14201> for an
|
||||
;; example.
|
||||
(alist-cons-after
|
||||
'install 'unpatch-shebangs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share")))
|
||||
(define (starts-with-shebang? file)
|
||||
(equal? (call-with-input-file file
|
||||
(lambda (p)
|
||||
(list (get-u8 p) (get-u8 p))))
|
||||
(map char->integer '(#\# #\!))))
|
||||
|
||||
(for-each (lambda (file)
|
||||
(when (and (starts-with-shebang? file)
|
||||
(executable-file? file))
|
||||
(format #t "restoring shebang on `~a'~%"
|
||||
file)
|
||||
(substitute* file
|
||||
(("^#!.*/bin/sh")
|
||||
"#!/bin/sh")
|
||||
(("^#!.*/bin/env(.*)$" _ args)
|
||||
(string-append "#!/usr/bin/env"
|
||||
args)))))
|
||||
(find-files dir ".*"))))
|
||||
%standard-phases))))
|
||||
(home-page "http://www.gnu.org/software/automake/")
|
||||
(synopsis "Making GNU standards-compliant Makefiles")
|
||||
(description
|
||||
"Automake the part of the GNU build system for producing
|
||||
standards-compliant Makefiles. Build requirements are entered in an
|
||||
intuitive format and then Automake works with Autoconf to produce a robust
|
||||
Makefile, simplifying the entire process for the developer.")
|
||||
(license gpl2+))) ; some files are under GPLv3+
|
||||
|
||||
(define-public libtool
|
||||
(package
|
||||
(name "libtool")
|
||||
(version "2.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libtool/libtool-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))
|
||||
(patches
|
||||
(list (search-patch "libtool-skip-tests.patch")
|
||||
(search-patch "libtool-skip-tests-for-mips.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("m4" ,m4)
|
||||
("perl" ,perl)))
|
||||
|
||||
;; Separate binaries from the rest. During bootstrap, only ltdl is
|
||||
;; used; not depending on the binaries allows us to avoid retaining
|
||||
;; a reference to the bootstrap bash.
|
||||
(outputs '("bin" ; libtoolize, libtool, etc.
|
||||
"out")) ; libltdl.so, ltdl.h, etc.
|
||||
|
||||
(arguments
|
||||
(if (%current-target-system)
|
||||
'() ; no `check' phase when cross-building
|
||||
'(#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Run the test suite in parallel, if possible.
|
||||
(let ((ncores
|
||||
(cond
|
||||
((getenv "NIX_BUILD_CORES")
|
||||
=>
|
||||
(lambda (n)
|
||||
(if (zero? (string->number n))
|
||||
(number->string (current-processor-count))
|
||||
n)))
|
||||
(else "1"))))
|
||||
(setenv "TESTSUITEFLAGS"
|
||||
(string-append "-j" ncores)))
|
||||
|
||||
;; Path references to /bin/sh.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "tests/testsuite"
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases))))
|
||||
(synopsis "Generic shared library support tools")
|
||||
(description
|
||||
"GNU Libtool helps in the creation and use of shared libraries, by
|
||||
presenting a single consistent, portable interface that hides the usual
|
||||
complexity of working with shared libraries across platforms.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/libtool/")))
|
||||
69
gnu/packages/avahi.scm
Normal file
69
gnu/packages/avahi.scm
Normal file
@@ -0,0 +1,69 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages avahi)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.1+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gdbm)
|
||||
#:use-module (gnu packages libdaemon)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public avahi
|
||||
(package
|
||||
(name "avahi")
|
||||
(version "0.6.31")
|
||||
(home-page "http://avahi.org")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append home-page "/download/avahi-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))
|
||||
(patches (list (search-patch "avahi-localstatedir.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-distro=none"
|
||||
"--localstatedir=/var" ; for the DBus socket
|
||||
"--disable-python"
|
||||
"--disable-mono"
|
||||
"--disable-doxygen-doc"
|
||||
"--disable-xmltoman"
|
||||
"--enable-tests"
|
||||
"--disable-qt3" "--disable-qt4"
|
||||
"--disable-gtk" "--disable-gtk3")))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
("glib" ,glib)
|
||||
("dbus" ,dbus)
|
||||
("gdbm" ,gdbm)
|
||||
("libdaemon" ,libdaemon)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Avahi, an mDNS/DNS-SD implementation")
|
||||
(description
|
||||
"Avahi is a system which facilitates service discovery on a local
|
||||
network. It is an implementation of the mDNS (for \"Multicast DNS\") and
|
||||
DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
|
||||
(license lgpl2.1+)))
|
||||
1178
gnu/packages/base.scm
Normal file
1178
gnu/packages/base.scm
Normal file
File diff suppressed because it is too large
Load Diff
120
gnu/packages/bash.scm
Normal file
120
gnu/packages/bash.scm
Normal file
@@ -0,0 +1,120 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bash)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public bash
|
||||
(let* ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'"
|
||||
"-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'"
|
||||
"-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
|
||||
"-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
|
||||
"-DNON_INTERACTIVE_LOGIN_SHELLS"
|
||||
"-DSSH_SOURCE_BASHRC")
|
||||
" "))
|
||||
(configure-flags
|
||||
``("--with-installed-readline"
|
||||
,,(string-append "CPPFLAGS=" cppflags)
|
||||
,(string-append
|
||||
"LDFLAGS=-Wl,-rpath -Wl,"
|
||||
(assoc-ref %build-inputs "readline")
|
||||
"/lib"
|
||||
" -Wl,-rpath -Wl,"
|
||||
(assoc-ref %build-inputs "ncurses")
|
||||
"/lib")))
|
||||
(post-install-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Add a `bash' -> `sh' link.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion (string-append out "/bin")
|
||||
(symlink "bash" "sh"))))))
|
||||
(package
|
||||
(name "bash")
|
||||
(version "4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://gnu/bash/bash-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("readline" ,readline)
|
||||
("ncurses" ,ncurses))) ; TODO: add texinfo
|
||||
(arguments
|
||||
`(;; When cross-compiling, `configure' incorrectly guesses that job
|
||||
;; control is missing.
|
||||
#:configure-flags ,(if (%current-target-system)
|
||||
`(cons* "bash_cv_job_control_missing=no"
|
||||
,configure-flags)
|
||||
configure-flags)
|
||||
|
||||
;; Bash is reportedly not parallel-safe. See, for instance,
|
||||
;; <http://patches.openembedded.org/patch/32745/> and
|
||||
;; <http://git.buildroot.net/buildroot/commit/?h=79e2d802ae7e376a413c02097790493e1f65c3a4>.
|
||||
#:parallel-build? #f
|
||||
#:parallel-tests? #f
|
||||
|
||||
;; XXX: The tests have a lot of hard-coded paths, so disable them
|
||||
;; for now.
|
||||
#:tests? #f
|
||||
|
||||
#:phases (alist-cons-after 'install 'post-install
|
||||
,post-install-phase
|
||||
%standard-phases)))
|
||||
(synopsis "The GNU Bourne-Again SHell")
|
||||
(description
|
||||
"Bash is the shell, or command-line interpreter, of the GNU system. It
|
||||
is compatible with the Bourne Shell, but it also integrates useful features
|
||||
from the Korn Shell and the C Shell and new improvements of its own. It
|
||||
allows command-line editing, unlimited command history, shell functions and
|
||||
aliases, and job control while still allowing most sh scripts to be run
|
||||
without modification.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/bash/"))))
|
||||
|
||||
(define-public bash-light
|
||||
;; A stripped-down Bash for non-interactive use.
|
||||
(package (inherit bash)
|
||||
(name "bash-light")
|
||||
(inputs '()) ; no readline, no curses
|
||||
(arguments
|
||||
(let ((args `(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
,@(package-arguments bash))))
|
||||
(substitute-keyword-arguments args
|
||||
((#:configure-flags flags)
|
||||
`(list "--without-bash-malloc"
|
||||
"--disable-readline"
|
||||
"--disable-history"
|
||||
"--disable-help-builtin"
|
||||
"--disable-progcomp"
|
||||
"--disable-net-redirections"
|
||||
"--disable-nls"
|
||||
|
||||
,@(if (%current-target-system)
|
||||
'("bash_cv_job_control_missing=no")
|
||||
'()))))))))
|
||||
60
gnu/packages/bdb.scm
Normal file
60
gnu/packages/bdb.scm
Normal file
@@ -0,0 +1,60 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bdb)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public bdb
|
||||
(package
|
||||
(name "bdb")
|
||||
(version "5.3.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.oracle.com/berkeley-db/db-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target available
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "./dist/configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "CONFIG_SHELL=" (which "bash"))
|
||||
(string-append "SHELL=" (which "bash"))
|
||||
|
||||
;; The compatibility mode is needed by some packages,
|
||||
;; notably iproute2.
|
||||
"--enable-compat185"))))
|
||||
%standard-phases)))
|
||||
(synopsis "db, the Berkeley database")
|
||||
(description
|
||||
"Berkeley DB is an embeddable database allowing developers the choice of
|
||||
SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
||||
(license (bsd-style "file://LICENSE"
|
||||
"See LICENSE in the distribution."))
|
||||
(home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
|
||||
105
gnu/packages/bdw-gc.scm
Normal file
105
gnu/packages/bdw-gc.scm
Normal file
@@ -0,0 +1,105 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bdw-gc)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public libgc-7.2
|
||||
(package
|
||||
(name "libgc")
|
||||
(version "7.2e")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jxgr71rhk58dzc1ihqs51vldh2qs1m154bn41qh6q1dm145nc89"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Make it so that we don't rely on /proc. This is especially useful in
|
||||
;; an initrd run before /proc is mounted.
|
||||
'(#:configure-flags '("CPPFLAGS=-DUSE_LIBC_PRIVATES")))
|
||||
(outputs '("out" "debug"))
|
||||
(synopsis "The Boehm-Demers-Weiser conservative garbage collector
|
||||
for C and C++")
|
||||
(description
|
||||
"The Boehm-Demers-Weiser conservative garbage collector can be used
|
||||
as a garbage collecting replacement for C malloc or C++ new. It allows
|
||||
you to allocate memory basically as you normally would, without
|
||||
explicitly deallocating memory that is no longer useful. The collector
|
||||
automatically recycles memory when it determines that it can no longer
|
||||
be otherwise accessed.
|
||||
|
||||
The collector is also used by a number of programming language
|
||||
implementations that either use C as intermediate code, want to
|
||||
facilitate easier interoperation with C libraries, or just prefer the
|
||||
simple collector interface.
|
||||
|
||||
Alternatively, the garbage collector may be used as a leak detector for
|
||||
C or C++ programs, though that is not its primary goal.")
|
||||
(home-page "http://www.hboehm.info/gc/")
|
||||
|
||||
(license (x11-style (string-append home-page "license.txt")))))
|
||||
|
||||
(define-public libatomic-ops
|
||||
(package
|
||||
(name "libatomic-ops")
|
||||
(version "7.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.hboehm.info/gc/gc_source/libatomic_ops-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0njv3n63zw6v45k68z6dz14g2hpk5p230ncwmdfkglsljb1cqx98"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(synopsis "Accessing hardware atomic memory update operations")
|
||||
(description
|
||||
"This C library provides semi-portable access to hardware-provided atomic
|
||||
memory update operations on a number architectures. These might allow you to
|
||||
write code that does more interesting things in signal handlers, write
|
||||
lock-free code, experiment with thread programming paradigms, etc.")
|
||||
(home-page "https://github.com/ivmai/libatomic_ops/")
|
||||
|
||||
;; Some source files are X11-style, others are GPLv2+.
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public libgc
|
||||
(package (inherit libgc-7.2)
|
||||
(version "7.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10z2nph62ilab063wygg2lv0jxlsbcf2az9w1lx01jzqj5lzry31"))))
|
||||
|
||||
;; New dependencies.
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("libatomic-ops" ,libatomic-ops)))
|
||||
|
||||
;; 'USE_LIBC_PRIVATES' is now the default.
|
||||
(arguments '())))
|
||||
53
gnu/packages/bison.scm
Normal file
53
gnu/packages/bison.scm
Normal file
@@ -0,0 +1,53 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bison)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (bison))
|
||||
|
||||
(define bison
|
||||
(package
|
||||
(name "bison")
|
||||
(version "3.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/bison/bison-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4gjan477lac18m51kv4xzcsp6wjfsfwvd2dxymcl6vid9fihx2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(inputs `(("flex" ,flex)))
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(home-page "http://www.gnu.org/software/bison/")
|
||||
(synopsis "Parser generator")
|
||||
(description
|
||||
"GNU Bison is a general-purpose parser generator. It can build a
|
||||
deterministic or generalized LR parser from an annotated, context-free
|
||||
grammar. It is versatile enough to have many applications, from parsers for
|
||||
simple tools through complex programming languages.")
|
||||
(license gpl3+)))
|
||||
89
gnu/packages/boost.scm
Normal file
89
gnu/packages/boost.scm
Normal file
@@ -0,0 +1,89 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages boost)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tcsh)
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public boost
|
||||
(package
|
||||
(name "boost")
|
||||
(version "1.55.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/boost/boost_"
|
||||
(string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("python" ,python-2)
|
||||
("tcsh" ,tcsh)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* '("libs/config/configure"
|
||||
"libs/spirit/classic/phoenix/test/runtest.sh"
|
||||
"tools/build/v2/doc/bjam.qbk"
|
||||
"tools/build/v2/engine/execunix.c"
|
||||
"tools/build/v2/engine/Jambase"
|
||||
"tools/build/v2/engine/jambase.c")
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
|
||||
(zero? (system* "./bootstrap.sh"
|
||||
(string-append "--prefix=" out)
|
||||
"--with-toolset=gcc"))))
|
||||
(alist-replace
|
||||
'build
|
||||
(lambda _
|
||||
(zero? (system* "./b2" "threading=multi" "link=shared")))
|
||||
|
||||
(alist-replace
|
||||
'check
|
||||
(lambda _ #t)
|
||||
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda _
|
||||
(zero? (system* "./b2" "install" "threading=multi" "link=shared")))
|
||||
%standard-phases))))))
|
||||
|
||||
(home-page "http://boost.org")
|
||||
(synopsis "Peer-reviewed portable C++ source libraries")
|
||||
(description
|
||||
"A collection of libraries intended to be widely useful, and usable
|
||||
across a broad spectrum of applications.")
|
||||
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
|
||||
"Some components have other similar licences."))))
|
||||
405
gnu/packages/bootstrap.scm
Normal file
405
gnu/packages/bootstrap.scm
Normal file
@@ -0,0 +1,405 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bootstrap)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module ((guix store) #:select (add-to-store add-text-to-store))
|
||||
#:use-module ((guix derivations) #:select (derivation))
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (bootstrap-origin
|
||||
package-with-bootstrap-guile
|
||||
glibc-dynamic-linker
|
||||
|
||||
%bootstrap-guile
|
||||
%bootstrap-coreutils&co
|
||||
%bootstrap-binutils
|
||||
%bootstrap-gcc
|
||||
%bootstrap-glibc
|
||||
%bootstrap-inputs))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Pre-built packages that are used to bootstrap the
|
||||
;;; distribution--i.e., to build all the core packages from scratch.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
;;; Helper procedures.
|
||||
;;;
|
||||
|
||||
(define (bootstrap-origin source)
|
||||
"Return a variant of SOURCE, an <origin> instance, whose method uses
|
||||
%BOOTSTRAP-GUILE to do its job."
|
||||
(define (boot fetch)
|
||||
(lambda* (store url hash-algo hash
|
||||
#:optional name #:key system)
|
||||
(fetch store url hash-algo hash
|
||||
#:guile %bootstrap-guile
|
||||
#:system system)))
|
||||
|
||||
(define %bootstrap-patch-inputs
|
||||
;; Packages used when an <origin> has a non-empty 'patches' field.
|
||||
`(("tar" ,%bootstrap-coreutils&co)
|
||||
("xz" ,%bootstrap-coreutils&co)
|
||||
("bzip2" ,%bootstrap-coreutils&co)
|
||||
("gzip" ,%bootstrap-coreutils&co)
|
||||
("patch" ,%bootstrap-coreutils&co)))
|
||||
|
||||
(let ((orig-method (origin-method source)))
|
||||
(origin (inherit source)
|
||||
(method (cond ((eq? orig-method url-fetch)
|
||||
(boot url-fetch))
|
||||
(else orig-method)))
|
||||
(patch-guile %bootstrap-guile)
|
||||
(patch-inputs %bootstrap-patch-inputs))))
|
||||
|
||||
(define (package-from-tarball name source program-to-test description)
|
||||
"Return a package that correspond to the extraction of SOURCE.
|
||||
PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to
|
||||
check whether everything is alright."
|
||||
(package
|
||||
(name name)
|
||||
(version "0")
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:modules ((guix build utils))
|
||||
#:builder
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(xz (assoc-ref %build-inputs "xz"))
|
||||
(tarball (assoc-ref %build-inputs "tarball")))
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(mkdir out)
|
||||
(copy-file tarball "binaries.tar.xz")
|
||||
(system* xz "-d" "binaries.tar.xz")
|
||||
(let ((builddir (getcwd)))
|
||||
(with-directory-excursion out
|
||||
(and (zero? (system* tar "xvf"
|
||||
(string-append builddir "/binaries.tar")))
|
||||
(zero? (system* (string-append "bin/" ,program-to-test)
|
||||
"--version"))))))))
|
||||
(inputs
|
||||
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
|
||||
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
|
||||
("tarball" ,(bootstrap-origin (source (%current-system))))))
|
||||
(source #f)
|
||||
(synopsis description)
|
||||
(description #f)
|
||||
(home-page #f)
|
||||
(license #f)))
|
||||
|
||||
(define package-with-bootstrap-guile
|
||||
(memoize
|
||||
(lambda (p)
|
||||
"Return a variant of P such that all its origins are fetched with
|
||||
%BOOTSTRAP-GUILE."
|
||||
(define rewritten-input
|
||||
(match-lambda
|
||||
((name (? origin? o))
|
||||
`(,name ,(bootstrap-origin o)))
|
||||
((name (? package? p) sub-drvs ...)
|
||||
`(,name ,(package-with-bootstrap-guile p) ,@sub-drvs))
|
||||
(x x)))
|
||||
|
||||
(package (inherit p)
|
||||
(source (match (package-source p)
|
||||
((? origin? o) (bootstrap-origin o))
|
||||
(s s)))
|
||||
(inputs (map rewritten-input
|
||||
(package-inputs p)))
|
||||
(native-inputs (map rewritten-input
|
||||
(package-native-inputs p)))
|
||||
(propagated-inputs (map rewritten-input
|
||||
(package-propagated-inputs p)))))))
|
||||
|
||||
(define* (glibc-dynamic-linker
|
||||
#:optional (system (or (and=> (%current-target-system)
|
||||
gnu-triplet->nix-system)
|
||||
(%current-system))))
|
||||
"Return the name of Glibc's dynamic linker for SYSTEM."
|
||||
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
|
||||
((string=? system "i686-linux") "/lib/ld-linux.so.2")
|
||||
((string=? system "mips64el-linux") "/lib/ld.so.1")
|
||||
(else (error "dynamic linker name not known for this system"
|
||||
system))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Bootstrap packages.
|
||||
;;;
|
||||
|
||||
(define %bootstrap-guile
|
||||
;; The Guile used to run the build scripts of the initial derivations.
|
||||
;; It is just unpacked from a tarball containing a pre-built binary.
|
||||
;; This is typically built using %GUILE-BOOTSTRAP-TARBALL below.
|
||||
;;
|
||||
;; XXX: Would need libc's `libnss_files2.so' for proper `getaddrinfo'
|
||||
;; support (for /etc/services).
|
||||
(let ((raw (build-system
|
||||
(name "raw")
|
||||
(description "Raw build system with direct store access")
|
||||
(build (lambda* (store name source inputs
|
||||
#:key outputs system search-paths)
|
||||
(define (->store file)
|
||||
(add-to-store store file #t "sha256"
|
||||
(or (search-bootstrap-binary file
|
||||
system)
|
||||
(error "bootstrap binary not found"
|
||||
file system))))
|
||||
|
||||
(let* ((tar (->store "tar"))
|
||||
(xz (->store "xz"))
|
||||
(mkdir (->store "mkdir"))
|
||||
(bash (->store "bash"))
|
||||
(guile (->store "guile-2.0.9.tar.xz"))
|
||||
(builder
|
||||
(add-text-to-store store
|
||||
"build-bootstrap-guile.sh"
|
||||
(format #f "
|
||||
echo \"unpacking bootstrap Guile to '$out'...\"
|
||||
~a $out
|
||||
cd $out
|
||||
~a -dc < ~a | ~a xv
|
||||
|
||||
# Sanity check.
|
||||
$out/bin/guile --version~%"
|
||||
mkdir xz guile tar)
|
||||
(list mkdir xz guile tar))))
|
||||
(derivation store name
|
||||
bash `(,builder)
|
||||
#:system system
|
||||
#:inputs `((,bash) (,builder)))))))))
|
||||
(package
|
||||
(name "guile-bootstrap")
|
||||
(version "2.0")
|
||||
(source #f)
|
||||
(build-system raw)
|
||||
(synopsis "Bootstrap Guile")
|
||||
(description "Pre-built Guile for bootstrapping purposes.")
|
||||
(home-page #f)
|
||||
(license lgpl3+))))
|
||||
|
||||
(define %bootstrap-base-urls
|
||||
;; This is where the initial binaries come from.
|
||||
'("http://alpha.gnu.org/gnu/guix/bootstrap"
|
||||
"http://www.fdn.fr/~lcourtes/software/guix/packages"))
|
||||
|
||||
(define %bootstrap-coreutils&co
|
||||
(package-from-tarball "bootstrap-binaries"
|
||||
(lambda (system)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" system
|
||||
"/20131110/static-binaries.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match system
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"0c533p9dhczzcsa1117gmfq3pc8w362g4mx84ik36srpr7cx2bg4"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
|
||||
"true" ; the program to test
|
||||
"Bootstrap binaries of Coreutils, Awk, etc."))
|
||||
|
||||
(define %bootstrap-binutils
|
||||
(package-from-tarball "binutils-bootstrap"
|
||||
(lambda (system)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" system
|
||||
"/20131110/binutils-2.23.2.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match system
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"1j5yivz7zkjqfsfmxzrrrffwyayjqyfxgpi89df0w4qziqs2dg20"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
|
||||
"ld" ; the program to test
|
||||
"Bootstrap binaries of the GNU Binutils"))
|
||||
|
||||
(define %bootstrap-glibc
|
||||
;; The initial libc.
|
||||
(package
|
||||
(name "glibc-bootstrap")
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:modules ((guix build utils))
|
||||
#:builder
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(xz (assoc-ref %build-inputs "xz"))
|
||||
(tarball (assoc-ref %build-inputs "tarball")))
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(mkdir out)
|
||||
(copy-file tarball "binaries.tar.xz")
|
||||
(system* xz "-d" "binaries.tar.xz")
|
||||
(let ((builddir (getcwd)))
|
||||
(with-directory-excursion out
|
||||
(system* tar "xvf"
|
||||
(string-append builddir
|
||||
"/binaries.tar"))
|
||||
(chmod "lib" #o755)
|
||||
|
||||
;; Patch libc.so so it refers to the right path.
|
||||
(substitute* "lib/libc.so"
|
||||
(("/[^ ]+/lib/(libc|ld)" _ prefix)
|
||||
(string-append out "/lib/" prefix))))))))
|
||||
(inputs
|
||||
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
|
||||
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
|
||||
("tarball" ,(bootstrap-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" (%current-system)
|
||||
"/20131110/glibc-2.18.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match (%current-system)
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
|
||||
(synopsis "Bootstrap binaries and headers of the GNU C Library")
|
||||
(description #f)
|
||||
(home-page #f)
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define %bootstrap-gcc
|
||||
;; The initial GCC. Uses binaries from a tarball typically built by
|
||||
;; %GCC-BOOTSTRAP-TARBALL.
|
||||
(package
|
||||
(name "gcc-bootstrap")
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:modules ((guix build utils))
|
||||
#:builder
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(xz (assoc-ref %build-inputs "xz"))
|
||||
(bash (assoc-ref %build-inputs "bash"))
|
||||
(libc (assoc-ref %build-inputs "libc"))
|
||||
(tarball (assoc-ref %build-inputs "tarball")))
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 popen))
|
||||
|
||||
(mkdir out)
|
||||
(copy-file tarball "binaries.tar.xz")
|
||||
(system* xz "-d" "binaries.tar.xz")
|
||||
(let ((builddir (getcwd))
|
||||
(bindir (string-append out "/bin")))
|
||||
(with-directory-excursion out
|
||||
(system* tar "xvf"
|
||||
(string-append builddir "/binaries.tar")))
|
||||
|
||||
(with-directory-excursion bindir
|
||||
(chmod "." #o755)
|
||||
(rename-file "gcc" ".gcc-wrapped")
|
||||
(call-with-output-file "gcc"
|
||||
(lambda (p)
|
||||
(format p "#!~a
|
||||
exec ~a/bin/.gcc-wrapped -B~a/lib \
|
||||
-Wl,-rpath -Wl,~a/lib \
|
||||
-Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
bash
|
||||
out libc libc libc
|
||||
,(glibc-dynamic-linker))))
|
||||
|
||||
(chmod "gcc" #o555))))))
|
||||
(inputs
|
||||
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
|
||||
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
|
||||
("bash" ,(search-bootstrap-binary "bash" (%current-system)))
|
||||
("libc" ,%bootstrap-glibc)
|
||||
("tarball" ,(bootstrap-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" (%current-system)
|
||||
"/20131110/gcc-4.8.2.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match (%current-system)
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CPATH")
|
||||
(directories '("include")))
|
||||
(search-path-specification
|
||||
(variable "LIBRARY_PATH")
|
||||
(directories '("lib" "lib64")))))
|
||||
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
|
||||
(description #f)
|
||||
(home-page #f)
|
||||
(license gpl3+)))
|
||||
|
||||
(define %bootstrap-inputs
|
||||
;; The initial, pre-built inputs. From now on, we can start building our
|
||||
;; own packages.
|
||||
`(("libc" ,%bootstrap-glibc)
|
||||
("gcc" ,%bootstrap-gcc)
|
||||
("binutils" ,%bootstrap-binutils)
|
||||
("coreutils&co" ,%bootstrap-coreutils&co)
|
||||
|
||||
;; In gnu-build-system.scm, we rely on the availability of Bash.
|
||||
("bash" ,%bootstrap-coreutils&co)))
|
||||
|
||||
;;; bootstrap.scm ends here
|
||||
BIN
gnu/packages/bootstrap/i686-linux/bash
Executable file
BIN
gnu/packages/bootstrap/i686-linux/bash
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/i686-linux/mkdir
Executable file
BIN
gnu/packages/bootstrap/i686-linux/mkdir
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/i686-linux/tar
Executable file
BIN
gnu/packages/bootstrap/i686-linux/tar
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/i686-linux/xz
Executable file
BIN
gnu/packages/bootstrap/i686-linux/xz
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/mips64el-linux/bash
Executable file
BIN
gnu/packages/bootstrap/mips64el-linux/bash
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/mips64el-linux/mkdir
Executable file
BIN
gnu/packages/bootstrap/mips64el-linux/mkdir
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/mips64el-linux/tar
Executable file
BIN
gnu/packages/bootstrap/mips64el-linux/tar
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/mips64el-linux/xz
Executable file
BIN
gnu/packages/bootstrap/mips64el-linux/xz
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/x86_64-linux/bash
Executable file
BIN
gnu/packages/bootstrap/x86_64-linux/bash
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/x86_64-linux/mkdir
Executable file
BIN
gnu/packages/bootstrap/x86_64-linux/mkdir
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/x86_64-linux/tar
Executable file
BIN
gnu/packages/bootstrap/x86_64-linux/tar
Executable file
Binary file not shown.
BIN
gnu/packages/bootstrap/x86_64-linux/xz
Executable file
BIN
gnu/packages/bootstrap/x86_64-linux/xz
Executable file
Binary file not shown.
49
gnu/packages/calcurse.scm
Normal file
49
gnu/packages/calcurse.scm
Normal file
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages autogen)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ncurses))
|
||||
|
||||
(define-public calcurse
|
||||
(package
|
||||
(name "calcurse")
|
||||
(version "3.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://calcurse.org/files/calcurse-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qwhffwhfg7bjxrviwlcrhnfw0976d39da8kfspq6dgd9nqv68a1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(home-page "http://www.calcurse.org")
|
||||
(synopsis "Text-based calendar and scheduling")
|
||||
(description
|
||||
"Calcurse is a text-based calendar and scheduling application. It helps
|
||||
keep track of events, appointments and everyday tasks. A configurable
|
||||
notification system reminds user of upcoming deadlines, and the curses based
|
||||
interface can be customized to suit user needs. All of the commands are
|
||||
documented within an online help system.")
|
||||
(license bsd-2)))
|
||||
212
gnu/packages/cdrom.scm
Normal file
212
gnu/packages/cdrom.scm
Normal file
@@ -0,0 +1,212 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cdrom)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages which))
|
||||
|
||||
(define-public libcddb
|
||||
(package
|
||||
(name "libcddb")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libcddb/libcddb-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y8bfy12dwm41m1jahayn3v47dm34fmz7m9cjxyh7xcw6fp3lzaf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; tests rely on access to external servers
|
||||
(home-page "http://libcddb.sourceforge.net/")
|
||||
(synopsis "C library to access data on a CDDB server")
|
||||
(description
|
||||
"Libcddb is a C library to access data on a CDDB server (freedb.org). It
|
||||
allows you to:
|
||||
|
||||
1. search the database for possible CD matches;
|
||||
|
||||
2. retrieve detailed information about a specific CD;
|
||||
|
||||
3. submit new CD entries to the database.
|
||||
|
||||
Libcddb supports both the custom CDDB protocol and tunnelling the query and
|
||||
read operations over plain HTTP. It is also possible to use an HTTP proxy
|
||||
server. If you want to speed things up, you can make use of the built-in
|
||||
caching facility provided by the library.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public libcdio
|
||||
(package
|
||||
(name "libcdio")
|
||||
(version "0.92")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libcdio/libcdio-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
("libcddb" ,libcddb)))
|
||||
(native-inputs
|
||||
`(("help2man" ,help2man)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://www.gnu.org/software/libcdio/")
|
||||
(synopsis "CD Input and Control library")
|
||||
(description
|
||||
"The GNU Compact Disc Input and Control Library (libcdio) is a library
|
||||
for CD-ROM and CD image file access. It allows the developer to add CD
|
||||
access to an application without having to worry about the OS- and
|
||||
device-dependent properties of CD-ROM or the specific details of CD image
|
||||
formats. It includes pycdio, a Python interface to libcdio, and
|
||||
libcdio-paranoia, a library providing jitter-free and error-free audio
|
||||
extraction from CDs.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public xorriso
|
||||
(package
|
||||
(name "xorriso")
|
||||
(version "1.3.6.pl01")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/xorriso/xorriso-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07bm20kb4f6q5pbkxhy7w8ggw2gxkrq45cda2kbh6wgphs5z2h7q"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
("readline" ,readline)
|
||||
("bzip2" ,bzip2)
|
||||
("zlib" ,zlib)
|
||||
("libcdio" ,libcdio)))
|
||||
(home-page "http://www.gnu.org/software/xorriso/")
|
||||
(synopsis "Create, manipulate, burn ISO-9660 filesystems")
|
||||
(description
|
||||
"GNU Xorriso is a tool for copying files to and from ISO 9660 Rock
|
||||
Ridge, a.k.a. Compact Disc File System, filesystems and it allows
|
||||
session-wise manipulation of them. It features a formatter and burner for
|
||||
CD, DVD and BD. It can operate on existing ISO images or it can create new
|
||||
ones. xorriso can then be used to copy files directly into or out of ISO
|
||||
files.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public cdparanoia
|
||||
(package
|
||||
(name "cdparanoia")
|
||||
(version "10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-"
|
||||
version ".src.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
|
||||
(patches (list (search-patch "cdparanoia-fpic.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("patchelf" ,patchelf)))
|
||||
(arguments
|
||||
`(#:tests? #f ; there is no check target
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath)
|
||||
(srfi srfi-26))
|
||||
#:imported-modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath))
|
||||
#:phases
|
||||
(alist-cons-after
|
||||
'strip 'add-lib-to-runpath
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
;; Add LIB to the RUNPATH of all the executables.
|
||||
(with-directory-excursion out
|
||||
(for-each (cut augment-rpath <> lib)
|
||||
(find-files "bin" ".*")))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.xiph.org/paranoia/")
|
||||
(synopsis "audio CD reading utility which includes extra data verification features")
|
||||
(description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
|
||||
drives. The data can be saved to a file or directed to standard output
|
||||
in WAV, AIFF, AIFF-C or raw format. Most ATAPI, SCSI and several
|
||||
proprietary CDROM drive makes are supported; cdparanoia can determine if the
|
||||
target drive is CDDA capable. In addition to simple reading, cdparanoia adds
|
||||
extra-robust data verification, synchronization, error handling and scratch
|
||||
reconstruction capability.")
|
||||
(license gpl2))) ; libraries under lgpl2.1
|
||||
|
||||
(define-public dvdisaster
|
||||
(package
|
||||
(name "dvdisaster")
|
||||
(version "0.72.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dvdisaster.net/downloads/dvdisaster-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+-2)))
|
||||
(native-inputs
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(arguments
|
||||
`(;; Parallel builds appear to be unsafe, see
|
||||
;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>.
|
||||
#:parallel-build? #f
|
||||
#:tests? #f)) ; no check target
|
||||
(home-page "http://dvdisaster.net/en/index.html")
|
||||
(synopsis "error correcting codes for optical media images")
|
||||
(description "Optical media (CD,DVD,BD) keep their data only for a
|
||||
finite time (typically for many years). After that time, data loss develops
|
||||
slowly with read errors growing from the outer media region towards the
|
||||
inside.
|
||||
|
||||
Dvdisaster stores data on CD/DVD/BD (supported media) in a way that it is
|
||||
fully recoverable even after some read errors have developed. This enables
|
||||
you to rescue the complete data to a new medium.
|
||||
|
||||
Data loss is prevented by using error correcting codes. Error correction
|
||||
data is either added to the medium or kept in separate error correction
|
||||
files. Dvdisaster works at the image level so that the recovery does not
|
||||
depend on the file system of the medium. The maximum error correction
|
||||
capacity is user-selectable.")
|
||||
(license gpl2+)))
|
||||
49
gnu/packages/cflow.scm
Normal file
49
gnu/packages/cflow.scm
Normal file
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cflow)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages emacs))
|
||||
|
||||
(define-public cflow
|
||||
(package
|
||||
(name "cflow")
|
||||
(version "1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/cflow/cflow-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Needed to have cflow-mode.el installed.
|
||||
(native-inputs `(("emacs" ,emacs)))
|
||||
|
||||
(home-page "http://www.gnu.org/software/cflow/")
|
||||
(synopsis "Create a graph of control flow within a program")
|
||||
(description
|
||||
"GNU cflow analyzes C source files and produces a graph charting the
|
||||
control flow of the program. It can output the graph in several styles and
|
||||
in either the POSIX format or in an extended GNU format. cflow also includes
|
||||
a major mode for Emacs for examining the flowcharts that it produces.")
|
||||
(license gpl3+)))
|
||||
48
gnu/packages/check.scm
Normal file
48
gnu/packages/check.scm
Normal file
@@ -0,0 +1,48 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages check)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public check
|
||||
(package
|
||||
(name "check")
|
||||
(version "0.9.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/check/check/"
|
||||
version "/check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://check.sourceforge.net/")
|
||||
(synopsis "Check, a unit testing framework for C")
|
||||
(description
|
||||
"Check is a unit testing framework for C. It features a simple
|
||||
interface for defining unit tests, putting little in the way of the
|
||||
developer. Tests are run in a separate address space, so Check can
|
||||
catch both assertion failures and code errors that cause segmentation
|
||||
faults or other signals. The output from unit tests can be used within
|
||||
source code editors and IDEs.")
|
||||
(license lgpl2.1+)))
|
||||
90
gnu/packages/cmake.scm
Normal file
90
gnu/packages/cmake.scm
Normal file
@@ -0,0 +1,90 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cmake)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public cmake
|
||||
(package
|
||||
(name "cmake")
|
||||
(version "2.8.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.cmake.org/files/v"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
".")
|
||||
"/cmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11q21vyrr6c6smyjy81k2k07zmn96ggjia9im9cxwvj0n88bm1fq"))
|
||||
(patches (list (search-patch "cmake-fix-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Replace "/bin/sh" by the right path in... a lot of
|
||||
;; files.
|
||||
(substitute*
|
||||
'("Modules/CompilerId/Xcode-3.pbxproj.in"
|
||||
"Modules/CompilerId/Xcode-1.pbxproj.in"
|
||||
"Modules/CompilerId/Xcode-2.pbxproj.in"
|
||||
"Modules/CPack.RuntimeScript.in"
|
||||
"Source/cmakexbuild.cxx"
|
||||
"Source/cmGlobalXCodeGenerator.cxx"
|
||||
"Source/CTest/cmCTestBatchTestHandler.cxx"
|
||||
"Source/cmLocalUnixMakefileGenerator3.cxx"
|
||||
"Utilities/cmbzip2/Makefile-libbz2_so"
|
||||
"Utilities/Release/release_cmake.cmake"
|
||||
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
|
||||
"Tests/CMakeLists.txt")
|
||||
(("/bin/sh") (which "sh")))
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
;; By default, the man pages and other docs land
|
||||
;; in PREFIX/man and PREFIX/doc, but we want them
|
||||
;; in share/{man,doc}. Note that unlike
|
||||
;; autoconf-generated configure scripts, cmake's
|
||||
;; configure prepends "PREFIX/" to what we pass
|
||||
;; to --mandir and --docdir.
|
||||
"--mandir=share/man"
|
||||
,(string-append
|
||||
"--docdir=share/doc/cmake-"
|
||||
(string-join (take (string-split version #\.) 2)
|
||||
"."))))))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("file" ,file)))
|
||||
(home-page "http://www.cmake.org/")
|
||||
(synopsis "Cross-platform build system")
|
||||
(description
|
||||
"CMake is a family of tools designed to build, test and package software.
|
||||
CMake is used to control the software compilation process using simple platform
|
||||
and compiler independent configuration files. CMake generates native makefiles
|
||||
and workspaces that can be used in the compiler environment of your choice.")
|
||||
(license bsd-3)))
|
||||
49
gnu/packages/complexity.scm
Normal file
49
gnu/packages/complexity.scm
Normal file
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages complexity)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages autogen))
|
||||
|
||||
(define-public complexity
|
||||
(package
|
||||
(name "complexity")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/complexity/complexity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1aad7n35ymxbj5dlpvm64dcd71b6i7hbmps0g7nkf47vj53l6y2j"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)
|
||||
("autogen" ,autogen)))
|
||||
(home-page "http://www.gnu.org/software/complexity/")
|
||||
(synopsis "Analyze complexity of C functions")
|
||||
(description
|
||||
"GNU complexity provides tools for finding procedures that are
|
||||
convoluted, overly long or otherwise difficult to understand. This
|
||||
may help in learning or reviewing unfamiliar code or perhaps
|
||||
highlighting your own code that seemed comprehensible when you wrote it.")
|
||||
(license gpl3+)))
|
||||
294
gnu/packages/compression.scm
Normal file
294
gnu/packages/compression.scm
Normal file
@@ -0,0 +1,294 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages compression)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages which))
|
||||
|
||||
(define-public zlib
|
||||
(package
|
||||
(name "zlib")
|
||||
(version "1.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "http://zlib.net/zlib-"
|
||||
version ".tar.gz")
|
||||
(string-append "mirror://sourceforge/libpng/zlib-"
|
||||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Zlib's home-made `configure' fails when passed
|
||||
;; extra flags like `--enable-fast-install', so we need to
|
||||
;; invoke it with just what it understand.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; 'configure' doesn't understand '--host'.
|
||||
,@(if (%current-target-system)
|
||||
`((setenv "CHOST" ,(%current-target-system)))
|
||||
'())
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)))))
|
||||
%standard-phases)))
|
||||
(home-page "http://zlib.net/")
|
||||
(synopsis "The zlib compression library")
|
||||
(description
|
||||
"zlib is designed to be a free, general-purpose, legally unencumbered --
|
||||
that is, not covered by any patents -- lossless data-compression library for
|
||||
use on virtually any computer hardware and operating system. The zlib data
|
||||
format is itself portable across platforms. Unlike the LZW compression method
|
||||
used in Unix compress(1) and in the GIF image format, the compression method
|
||||
currently used in zlib essentially never expands the data. (LZW can double or
|
||||
triple the file size in extreme cases.) zlib's memory footprint is also
|
||||
independent of the input data and can be reduced, if necessary, at some cost
|
||||
in compression.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public gzip
|
||||
(package
|
||||
(name "gzip")
|
||||
(version "1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gzip/gzip-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zlgdm4v3dndrbiz7b67mbbj25dpwqbmbzjiycssvrfrcfvq7swp"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "General file (de)compression (using lzw)")
|
||||
(arguments
|
||||
;; FIXME: The test suite wants `less', and optionally Perl.
|
||||
'(#:tests? #f))
|
||||
(description
|
||||
"GNU Gzip provides data compression and decompression utilities; the
|
||||
typical extension is \".gz\". Unlike the \"zip\" format, it compresses a single
|
||||
file; as a result, it is often used in conjunction with \"tar\", resulting in
|
||||
\".tar.gz\" or \".tgz\", etc.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/gzip/")))
|
||||
|
||||
(define-public bzip2
|
||||
(let ((fix-man-dir
|
||||
;; Move man pages to $out/share/.
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(with-directory-excursion (assoc-ref outputs "out")
|
||||
(mkdir "share")
|
||||
(rename-file "man" "share/man"))))
|
||||
(build-shared-lib
|
||||
;; Build a shared library.
|
||||
'(lambda* (#:key inputs #:allow-other-keys)
|
||||
(patch-makefile-SHELL "Makefile-libbz2_so")
|
||||
(zero? (system* "make" "-f" "Makefile-libbz2_so"))))
|
||||
(install-shared-lib
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libdir (string-append out "/lib")))
|
||||
(for-each (lambda (file)
|
||||
(let ((base (basename file)))
|
||||
(format #t "installing `~a' to `~a'~%"
|
||||
base libdir)
|
||||
(copy-file file
|
||||
(string-append libdir "/" base))))
|
||||
(find-files "." "^libbz2\\.so")))))
|
||||
(set-cross-environment
|
||||
'(lambda* (#:key target #:allow-other-keys)
|
||||
(substitute* (find-files "." "Makefile")
|
||||
(("CC=.*$")
|
||||
(string-append "CC = " target "-gcc\n"))
|
||||
(("AR=.*$")
|
||||
(string-append "AR = " target "-ar\n"))
|
||||
(("RANLIB=.*$")
|
||||
(string-append "RANLIB = " target "-ranlib\n"))
|
||||
(("^all:(.*)test" _ prerequisites)
|
||||
;; Remove 'all' -> 'test' dependency.
|
||||
(string-append "all:" prerequisites "\n"))))))
|
||||
(package
|
||||
(name "bzip2")
|
||||
(version "1.0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.bzip.org/" version "/bzip2-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:phases
|
||||
,(if (%current-target-system)
|
||||
|
||||
;; Cross-compilation: use the cross tools.
|
||||
`(alist-cons-before
|
||||
'build 'build-shared-lib ,build-shared-lib
|
||||
(alist-cons-after
|
||||
'install 'fix-man-dir ,fix-man-dir
|
||||
(alist-cons-after
|
||||
'install 'install-shared-lib ,install-shared-lib
|
||||
(alist-replace 'configure ,set-cross-environment
|
||||
%standard-phases))))
|
||||
|
||||
;; Native compilation: build the shared library.
|
||||
`(alist-cons-before
|
||||
'build 'build-shared-lib ,build-shared-lib
|
||||
(alist-cons-after
|
||||
'install 'fix-man-dir ,fix-man-dir
|
||||
(alist-cons-after
|
||||
'install 'install-shared-lib ,install-shared-lib
|
||||
(alist-delete 'configure %standard-phases)))))
|
||||
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
|
||||
;; Don't attempt to run the tests when cross-compiling.
|
||||
,@(if (%current-target-system)
|
||||
'(#:tests? #f)
|
||||
'())))
|
||||
(synopsis "high-quality data compression program")
|
||||
(description
|
||||
"bzip2 is a freely available, patent free (see below), high-quality data
|
||||
compressor. It typically compresses files to within 10% to 15% of the best
|
||||
available techniques (the PPM family of statistical compressors), whilst
|
||||
being around twice as fast at compression and six times faster at
|
||||
decompression.")
|
||||
(license (license:bsd-style "file://LICENSE"
|
||||
"See LICENSE in the distribution."))
|
||||
(home-page "http://www.bzip.org/"))))
|
||||
|
||||
(define-public xz
|
||||
(package
|
||||
(name "xz")
|
||||
(version "5.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://tukaani.org/xz/xz-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dl35ca8fdss9z2d6y234gxh24ixq904xksizrjmjr5dimwhax6n"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis
|
||||
"XZ, general-purpose data compression software, successor of LZMA")
|
||||
(description
|
||||
"XZ Utils is free general-purpose data compression software with high
|
||||
compression ratio. XZ Utils were written for POSIX-like systems, but also
|
||||
work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils.
|
||||
|
||||
The core of the XZ Utils compression code is based on LZMA SDK, but it has
|
||||
been modified quite a lot to be suitable for XZ Utils. The primary
|
||||
compression algorithm is currently LZMA2, which is used inside the .xz
|
||||
container format. With typical files, XZ Utils create 30 % smaller output
|
||||
than gzip and 15 % smaller output than bzip2.")
|
||||
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
|
||||
(home-page "http://tukaani.org/xz/")))
|
||||
|
||||
(define-public lzo
|
||||
(package
|
||||
(name "lzo")
|
||||
(version "2.06")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.oberhumer.com/opensource/lzo/download/lzo-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--enable-shared")))
|
||||
(home-page "http://www.oberhumer.com/opensource/lzo")
|
||||
(synopsis
|
||||
"A data compresion library suitable for real-time data de-/compression")
|
||||
(description
|
||||
"LZO is a data compression library which is suitable for data
|
||||
de-/compression in real-time. This means it favours speed over
|
||||
compression ratio.
|
||||
|
||||
LZO is written in ANSI C. Both the source code and the compressed data
|
||||
format are designed to be portable across platforms.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public lzip
|
||||
(package
|
||||
(name "lzip")
|
||||
(version "1.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lzip/lzip-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dh5vmj5apizfawnsm50y7z064yx7cz3313przph16gwd3dgrlvw"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.nongnu.org/lzip/lzip.html")
|
||||
(synopsis "Lossless data compressor based on the LZMA algorithm")
|
||||
(description
|
||||
"Lzip is a lossless data compressor with a user interface similar to the
|
||||
one of gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses
|
||||
more than bzip2, which makes it well suited for software distribution and data
|
||||
archiving. Lzip is a clean implementation of the LZMA algorithm.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public sharutils
|
||||
(package
|
||||
(name "sharutils")
|
||||
(version "4.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/sharutils/sharutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"033sq1v0cp0bi1mp320xaqwd4fhakqc5747hh6qa1asjrzpqiqza"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("which" ,which)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-cons-after
|
||||
'patch-source-shebangs 'unpatch-source-shebang
|
||||
;; revert the patch-shebang phase on a script which is
|
||||
;; in fact test data
|
||||
(lambda _
|
||||
(substitute* "tests/shar-1.ok"
|
||||
(((which "sh")) "/bin/sh")))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/sharutils/")
|
||||
(synopsis "Archives in shell scripts, uuencode/uudecode")
|
||||
(description
|
||||
"GNU sharutils is a package for creating and manipulating shell
|
||||
archives that can be readily emailed. A shell archive is a file that can be
|
||||
processed by a Bourne-type shell to unpack the original collection of files.
|
||||
This package is mostly for compatibility and historical interest.")
|
||||
(license license:gpl3+)))
|
||||
47
gnu/packages/cpio.scm
Normal file
47
gnu/packages/cpio.scm
Normal file
@@ -0,0 +1,47 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cpio)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public cpio
|
||||
(package
|
||||
(name "cpio")
|
||||
(version "2.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/cpio/cpio-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))
|
||||
(patches (list (search-patch "cpio-gets-undeclared.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/cpio/")
|
||||
(synopsis "Manage cpio and tar file archives")
|
||||
(description
|
||||
"GNU cpio copies files into or out of cpio or tar archives. Indeed,
|
||||
many formats are supported, including legacy formats. The format is
|
||||
determined automatically by the program and is handled appropriately.
|
||||
Furthermore, the location of the archive is not important. It can be another
|
||||
file on the drive, a tape, or data on a pipe.")
|
||||
(license gpl3+)))
|
||||
44
gnu/packages/cppi.scm
Normal file
44
gnu/packages/cppi.scm
Normal file
@@ -0,0 +1,44 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cppi)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses))
|
||||
|
||||
(define-public cppi
|
||||
(package
|
||||
(name "cppi")
|
||||
(version "1.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/cppi/cppi-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jk42cjaggk71rimjnx3qpmb6hivps0917vl3z7wbxk3i2whb98j"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/cppi/")
|
||||
(synopsis "Indent C preprocessor directives to reflect nesting and more")
|
||||
(description
|
||||
"GNU Cppi processes C source code files to properly indent the
|
||||
preprocessor directives to reflect their nesting. It also performs other
|
||||
standardizations, such as correcting the number of spaces between directives
|
||||
and the text following them.")
|
||||
(license gpl3+)))
|
||||
274
gnu/packages/cross-base.scm
Normal file
274
gnu/packages/cross-base.scm
Normal file
@@ -0,0 +1,274 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cross-base)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (cross-binutils
|
||||
cross-libc
|
||||
cross-gcc))
|
||||
|
||||
(define (cross p target)
|
||||
(package (inherit p)
|
||||
(location (source-properties->location (current-source-location)))
|
||||
(name (string-append (package-name p) "-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments p)
|
||||
((#:configure-flags flags)
|
||||
`(cons ,(string-append "--target=" target)
|
||||
,flags))))))
|
||||
|
||||
(define (cross-binutils target)
|
||||
"Return a cross-Binutils for TARGET."
|
||||
(let ((binutils (package (inherit binutils)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments
|
||||
binutils)
|
||||
((#:configure-flags flags)
|
||||
;; Build with `--with-sysroot' so that ld honors
|
||||
;; DT_RUNPATH entries when searching for a needed
|
||||
;; library. This works because as a side effect
|
||||
;; `genscripts.sh' sets `USE_LIBPATH=yes', which tells
|
||||
;; elf32.em to use DT_RUNPATH in its search list.
|
||||
;; See <http://sourceware.org/ml/binutils/2013-05/msg00312.html>.
|
||||
;;
|
||||
;; In theory choosing / as the sysroot could lead ld
|
||||
;; to pick up native libs instead of target ones. In
|
||||
;; practice the RUNPATH of target libs only refers to
|
||||
;; target libs, not native libs, so this is safe.
|
||||
`(cons "--with-sysroot=/" ,flags)))))))
|
||||
(cross binutils target)))
|
||||
|
||||
(define* (cross-gcc target
|
||||
#:optional (xbinutils (cross-binutils target)) libc)
|
||||
"Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use
|
||||
XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a
|
||||
GCC that does not target a libc; otherwise, target that libc."
|
||||
(package (inherit gcc-4.8)
|
||||
(name (string-append "gcc-cross-"
|
||||
(if libc "" "sans-libc-")
|
||||
target))
|
||||
(source (origin (inherit (package-source gcc-4.8))
|
||||
(patches
|
||||
(list (search-patch "gcc-cross-environment-variables.patch")))))
|
||||
(arguments
|
||||
`(#:implicit-inputs? #f
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.8)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--target=" target)
|
||||
,@(gcc-configure-flags-for-triplet target)
|
||||
,@(if libc
|
||||
'()
|
||||
`( ;; Disable features not needed at this stage.
|
||||
"--disable-shared" "--enable-static"
|
||||
|
||||
;; Disable C++ because libstdc++'s
|
||||
;; configure script otherwise fails with
|
||||
;; "Link tests are not allowed after
|
||||
;; GCC_NO_EXECUTABLES."
|
||||
"--enable-languages=c"
|
||||
|
||||
"--disable-threads" ; libgcc, would need libc
|
||||
"--disable-libatomic"
|
||||
"--disable-libmudflap"
|
||||
"--disable-libgomp"
|
||||
"--disable-libssp"
|
||||
"--disable-libquadmath"
|
||||
"--disable-decimal-float" ; would need libc
|
||||
)))
|
||||
|
||||
,(if libc
|
||||
flags
|
||||
`(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags))))
|
||||
((#:make-flags flags)
|
||||
(if libc
|
||||
`(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
;; FLAGS_FOR_TARGET are needed for the target libraries to
|
||||
;; receive the -Bxxx for the startfiles.
|
||||
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
|
||||
,flags))
|
||||
flags))
|
||||
((#:phases phases)
|
||||
(let ((phases
|
||||
`(alist-cons-after
|
||||
'install 'make-cross-binutils-visible
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libexec (string-append out "/libexec/gcc/"
|
||||
,target))
|
||||
(binutils (string-append
|
||||
(assoc-ref inputs "binutils-cross")
|
||||
"/bin/" ,target "-")))
|
||||
(for-each (lambda (file)
|
||||
(symlink (string-append binutils file)
|
||||
(string-append libexec "/"
|
||||
file)))
|
||||
'("as" "ld" "nm"))
|
||||
#t))
|
||||
,phases)))
|
||||
(if libc
|
||||
`(alist-cons-before
|
||||
'configure 'set-cross-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Add the cross Linux headers to CROSS_CPATH, and remove
|
||||
;; them from CPATH.
|
||||
(let ((libc (assoc-ref inputs "libc"))
|
||||
(linux (assoc-ref inputs
|
||||
"libc/cross-linux-headers")))
|
||||
(define (cross? x)
|
||||
;; Return #t if X is a cross-libc or cross Linux.
|
||||
(or (string-prefix? libc x)
|
||||
(string-prefix? linux x)))
|
||||
|
||||
(setenv "CROSS_CPATH"
|
||||
(string-append libc "/include:"
|
||||
linux "/include"))
|
||||
(setenv "CROSS_LIBRARY_PATH"
|
||||
(string-append libc "/lib"))
|
||||
|
||||
(let ((cpath (search-path-as-string->list
|
||||
(getenv "CPATH")))
|
||||
(libpath (search-path-as-string->list
|
||||
(getenv "LIBRARY_PATH"))))
|
||||
(setenv "CPATH"
|
||||
(list->search-path-as-string
|
||||
(remove cross? cpath) ":"))
|
||||
(setenv "LIBRARY_PATH"
|
||||
(list->search-path-as-string
|
||||
(remove cross? libpath) ":"))
|
||||
#t)))
|
||||
,phases)
|
||||
phases)))
|
||||
((#:strip-binaries? _)
|
||||
;; Disable stripping as this can break binaries, with object files
|
||||
;; of libgcc.a showing up as having an unknown architecture. See
|
||||
;; <http://lists.fedoraproject.org/pipermail/arm/2010-August/000663.html>
|
||||
;; for instance.
|
||||
#f))))
|
||||
|
||||
(native-inputs
|
||||
`(("binutils-cross" ,xbinutils)
|
||||
|
||||
;; Call it differently so that the builder can check whether the "libc"
|
||||
;; input is #f.
|
||||
("libc-native" ,@(assoc-ref %final-inputs "libc"))
|
||||
|
||||
;; Remaining inputs.
|
||||
,@(let ((inputs (append (package-inputs gcc-4.8)
|
||||
(alist-delete "libc" %final-inputs))))
|
||||
(if libc
|
||||
`(("libc" ,libc)
|
||||
,@inputs)
|
||||
inputs))))
|
||||
|
||||
(inputs '())
|
||||
|
||||
;; Only search target inputs, not host inputs.
|
||||
(search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CROSS_CPATH")
|
||||
(directories '("include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_LIBRARY_PATH")
|
||||
(directories '("lib" "lib64")))))
|
||||
(native-search-paths '())))
|
||||
|
||||
(define* (cross-libc target
|
||||
#:optional
|
||||
(xgcc (cross-gcc target))
|
||||
(xbinutils (cross-binutils target)))
|
||||
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
|
||||
XBINUTILS and the cross tool chain."
|
||||
(define xlinux-headers
|
||||
(package (inherit linux-libre-headers)
|
||||
(name (string-append (package-name linux-libre-headers)
|
||||
"-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments linux-libre-headers)
|
||||
((#:phases phases)
|
||||
`(alist-replace
|
||||
'build
|
||||
(lambda _
|
||||
(setenv "ARCH" ,(system->linux-architecture target))
|
||||
(format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"))
|
||||
|
||||
(and (zero? (system* "make" "defconfig"))
|
||||
(zero? (system* "make" "mrproper" "headers_check"))))
|
||||
,phases))))
|
||||
(native-inputs `(("cross-gcc" ,xgcc)
|
||||
("cross-binutils" ,xbinutils)
|
||||
,@(package-native-inputs linux-libre-headers)))))
|
||||
|
||||
(package (inherit glibc)
|
||||
(name (string-append "glibc-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
`(#:strip-binaries? #f ; disable stripping (see above)
|
||||
,@(package-arguments glibc))
|
||||
((#:configure-flags flags)
|
||||
`(cons ,(string-append "--host=" target)
|
||||
,flags))
|
||||
((#:phases phases)
|
||||
`(alist-cons-before
|
||||
'configure 'set-cross-linux-headers-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((linux (assoc-ref inputs "cross-linux-headers")))
|
||||
(setenv "CROSS_CPATH"
|
||||
(string-append linux "/include"))
|
||||
#t))
|
||||
,phases))))
|
||||
|
||||
(propagated-inputs `(("cross-linux-headers" ,xlinux-headers)))
|
||||
(native-inputs `(("cross-gcc" ,xgcc)
|
||||
("cross-binutils" ,xbinutils)
|
||||
,@(package-native-inputs glibc)))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Concrete cross toolchains.
|
||||
;;;
|
||||
|
||||
(define-public xgcc-mips64el
|
||||
(let ((triplet "mips64el-linux-gnuabi64")) ; N64 ABI
|
||||
(cross-gcc triplet
|
||||
(cross-binutils triplet)
|
||||
(cross-libc triplet))))
|
||||
|
||||
;; (define-public xgcc-armel
|
||||
;; (let ((triplet "armel-linux-gnueabi"))
|
||||
;; (cross-gcc triplet
|
||||
;; (cross-binutils triplet)
|
||||
;; (cross-libc triplet))))
|
||||
60
gnu/packages/cryptsetup.scm
Normal file
60
gnu/packages/cryptsetup.scm
Normal file
@@ -0,0 +1,60 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cryptsetup)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages lvm)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages linux))
|
||||
|
||||
(define-public cryptsetup
|
||||
(package
|
||||
(name "cryptsetup")
|
||||
(version "1.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cryptsetup.googlecode.com/files/cryptsetup-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"170lalkhh2fa316d12i6r7jprm0yss3c949d91069sq37ik6xwxs"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt)
|
||||
("lvm2" ,lvm2)
|
||||
("util-linux" ,util-linux)
|
||||
("popt" ,popt)))
|
||||
(native-inputs
|
||||
`(("python" ,python-wrapper)))
|
||||
(synopsis "hard disk encryption tool")
|
||||
(description
|
||||
"LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk
|
||||
encryption format, which does not only facilitate compatibility among
|
||||
distributions, but which also provides secure management of multiple user
|
||||
passwords. In contrast to existing solutions, LUKS stores all setup necessary
|
||||
setup information in the partition header, enabling the users to transport
|
||||
or migrate their data seamlessly.")
|
||||
(license license:gpl2)
|
||||
(home-page "http://code.google.com/p/cryptsetup/")))
|
||||
86
gnu/packages/curl.scm
Normal file
86
gnu/packages/curl.scm
Normal file
@@ -0,0 +1,86 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages curl)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gsasl)
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ssh))
|
||||
|
||||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
(version "7.35.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://curl.haxx.se/download/curl-"
|
||||
version ".tar.lzma"))
|
||||
(sha256
|
||||
(base32
|
||||
"14w5cwh6b1426lxkq6kp6h4vxryr4n7wfrrwhny1r4123q7n8ab9"))
|
||||
(patches
|
||||
;; This patch fixes testcase 172 which uses a hardcoded cookie
|
||||
;; expiration value which is expired as of Feb 1, 2014.
|
||||
(list (search-patch "curl-fix-test172.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gnutls" ,gnutls)
|
||||
("gss" ,gss)
|
||||
("libidn" ,libidn)
|
||||
("libssh2" ,libssh2)
|
||||
("openldap" ,openldap)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
;; to enable the --manual option and make test 1026 pass
|
||||
("groff" ,groff)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-2)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-gnutls" "--with-gssapi")
|
||||
;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'check 'patch-runtests
|
||||
(lambda _
|
||||
(substitute* "tests/runtests.pl"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
%standard-phases)))
|
||||
(synopsis "curl, command line tool for transferring data with URL syntax")
|
||||
(description
|
||||
"curl is a command line tool for transferring data with URL syntax,
|
||||
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
|
||||
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
|
||||
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading,
|
||||
HTTP form based upload, proxies, cookies, user+password authentication
|
||||
(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,
|
||||
proxy tunneling, and so on")
|
||||
(license (license:bsd-style "file://COPYING"
|
||||
"See COPYING in the distribution."))
|
||||
(home-page "http://curl.haxx.se/")))
|
||||
52
gnu/packages/cursynth.scm
Normal file
52
gnu/packages/cursynth.scm
Normal file
@@ -0,0 +1,52 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cursynth)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages linux))
|
||||
|
||||
(define-public cursynth
|
||||
(package
|
||||
(name "cursynth")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/cursynth/cursynth-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1p9c54v9b0jjx33sammqsdi5xw65csly4cr1i08wv9x6r2yib55m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
;; TODO: See https://github.com/iyoko/cursynth/issues/4 which currently
|
||||
;; prevents us from using pulseaudio
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("alsa" ,alsa-lib)))
|
||||
(home-page "http://www.gnu.org/software/cursynth")
|
||||
(synopsis "Polyphonic and MIDI subtractive music synthesizer using curses")
|
||||
(description "GNU cursynth is a polyphonic synthesizer that runs
|
||||
graphically in the terminal. It is built on a full-featured subtractive
|
||||
synthesis engine. Notes and parameter changes may be entered via MIDI or the
|
||||
computer's keyboard.")
|
||||
(license gpl3+)))
|
||||
57
gnu/packages/cyrus-sasl.scm
Normal file
57
gnu/packages/cyrus-sasl.scm
Normal file
@@ -0,0 +1,57 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gdbm)
|
||||
#:use-module (gnu packages mit-krb5)
|
||||
#:use-module (gnu packages openssl)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public cyrus-sasl
|
||||
(package
|
||||
(name "cyrus-sasl")
|
||||
(version "2.1.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gdbm" ,gdbm)
|
||||
("mit-krb5" ,mit-krb5)
|
||||
("openssl" ,openssl)))
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "--with-plugindir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/sasl2"))))
|
||||
(synopsis "Cyrus SASL, an implementation of the Simple Authentication Security Layer framework")
|
||||
(description
|
||||
"SASL (Simple Authentication Security Layer) is an Internet
|
||||
standards-track method for remote computers to authenticate. The Cyrus SASL
|
||||
library makes supporting various SASL mechanisms easy for both client and
|
||||
server writers.")
|
||||
(license (license:bsd-style "file://COPYING"
|
||||
"See COPYING in the distribution."))
|
||||
(home-page "http://cyrusimap.web.cmu.edu/index.php")))
|
||||
60
gnu/packages/dc.scm
Normal file
60
gnu/packages/dc.scm
Normal file
@@ -0,0 +1,60 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages dc)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:)))
|
||||
|
||||
(define-public ncdc
|
||||
(package
|
||||
(name "ncdc")
|
||||
(version "1.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev.yorhel.nl/download/ncdc-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1wgvqwfxq9kc729h2r528n55821w87sfbm4h21mr6pvkpfw30hf2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
("glib" ,glib)
|
||||
("gnutls" ,gnutls)
|
||||
("ncurses" ,ncurses)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://dev.yorhel.nl/ncdc")
|
||||
(synopsis
|
||||
"Lightweight direct connect client with a friendly ncurses interface")
|
||||
(description
|
||||
"Ncdc is a client for the Direct Connect peer-to-peer protocol implemented
|
||||
using ncurses. It is known for its smaller footprint and ease of use.")
|
||||
(license license:x11)))
|
||||
47
gnu/packages/ddrescue.scm
Normal file
47
gnu/packages/ddrescue.scm
Normal file
@@ -0,0 +1,47 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages ddrescue)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((gnu packages compression) #:select (lzip)))
|
||||
|
||||
(define-public ddrescue
|
||||
(package
|
||||
(name "ddrescue")
|
||||
(version "1.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
|
||||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
|
||||
(synopsis "Data recovery utility")
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(description
|
||||
"GNU ddrescue is a fully automated data recovery tool. It copies data
|
||||
from one file to another, working to rescue data in case of read errors. The
|
||||
program also includes a tool for manipulating its log files, which are used
|
||||
to recover data more efficiently by only reading the necessary blocks.")
|
||||
(license gpl3+)))
|
||||
83
gnu/packages/dejagnu.scm
Normal file
83
gnu/packages/dejagnu.scm
Normal file
@@ -0,0 +1,83 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages dejagnu)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages tcl))
|
||||
|
||||
(define-public dejagnu
|
||||
(package
|
||||
(name "dejagnu")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/dejagnu/dejagnu-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lik8h4qi7x0mhsi8xmj91an1yb63rjbk6v4xrmzgiy5lk8lgrv0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("expect" ,expect)))
|
||||
(arguments
|
||||
'(#:phases (alist-replace
|
||||
'check
|
||||
(lambda _
|
||||
;; Note: The test-suite *requires* /dev/pts among the
|
||||
;; `build-chroot-dirs' of the build daemon when
|
||||
;; building in a chroot. See
|
||||
;; <http://thread.gmane.org/gmane.linux.distributions.nixos/1036>
|
||||
;; for details.
|
||||
(if (and (directory-exists? "/dev/pts")
|
||||
(directory-exists? "/proc"))
|
||||
(begin
|
||||
;; Provide `runtest' with a log name, otherwise
|
||||
;; it tries to run `whoami', which fails when in
|
||||
;; a chroot.
|
||||
(setenv "LOGNAME" "guix-builder")
|
||||
|
||||
;; The test-suite needs to have a non-empty stdin:
|
||||
;; <http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html>.
|
||||
(zero?
|
||||
(system "make check < /dev/zero")))
|
||||
(begin
|
||||
(display "test suite cannot be run, skipping\n")
|
||||
#t)))
|
||||
(alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Use the right `expect' binary.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(expect (assoc-ref inputs "expect")))
|
||||
(substitute* (string-append out "/bin/runtest")
|
||||
(("^mypath.*$" all)
|
||||
(string-append all
|
||||
"export PATH="
|
||||
expect "/bin:$PATH\n")))))
|
||||
%standard-phases))))
|
||||
(home-page
|
||||
"http://www.gnu.org/software/dejagnu/")
|
||||
(synopsis "GNU software testing framework")
|
||||
(description
|
||||
"DejaGnu is a framework for testing software. In effect, it serves as
|
||||
a front-end for all tests written for a program. Thus, each program can have
|
||||
multiple test suites, which are then all managed by a single harness.")
|
||||
(license gpl2+)))
|
||||
78
gnu/packages/dictionaries.scm
Normal file
78
gnu/packages/dictionaries.scm
Normal file
@@ -0,0 +1,78 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages dictionaries)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module ((gnu packages compression)
|
||||
#:select (gzip)))
|
||||
|
||||
(define-public vera
|
||||
(package
|
||||
(name "vera")
|
||||
(version "1.21a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/vera/vera-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09qz1g8js8qw735wmd8kraqbk1d1997v3px2lcc58frf1r66bp8f"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(info (string-append out "/share/info"))
|
||||
(html (string-append out "/share/html"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(gz (assoc-ref %build-inputs "gzip"))
|
||||
(texi (assoc-ref %build-inputs "texinfo")))
|
||||
(setenv "PATH" (string-append gz "/bin"))
|
||||
(system* (string-append tar "/bin/tar") "xvf" source)
|
||||
|
||||
(chdir (string-append "vera-" ,version))
|
||||
(mkdir-p info)
|
||||
(mkdir-p html)
|
||||
|
||||
;; XXX: Use '--force' because the document is unhappy
|
||||
;; with Texinfo 5 (yes, documents can be unhappy.)
|
||||
(and (zero?
|
||||
(system* (string-append texi "/bin/makeinfo")
|
||||
"vera.texi" "--force" "-o"
|
||||
(string-append info "/vera.info")))
|
||||
(zero?
|
||||
(system* (string-append texi "/bin/makeinfo")
|
||||
"vera.texi" "--force" "--html" "-o"
|
||||
(string-append html "/vera.html"))))))
|
||||
#:modules ((guix build utils))))
|
||||
(native-inputs `(("texinfo" ,texinfo)
|
||||
("tar" ,tar)
|
||||
("gzip" ,gzip)))
|
||||
(home-page "http://savannah.gnu.org/projects/vera/")
|
||||
(synopsis "List of acronyms")
|
||||
(description
|
||||
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
|
||||
acronyms distributed as an info document.")
|
||||
(license fdl1.3+)))
|
||||
100
gnu/packages/docbook.scm
Normal file
100
gnu/packages/docbook.scm
Normal file
@@ -0,0 +1,100 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages docbook)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module ((gnu packages base)
|
||||
#:select (tar))
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:autoload (gnu packages zip) (unzip))
|
||||
|
||||
(define-public docbook-xml
|
||||
(package
|
||||
(name "docbook-xml")
|
||||
(version "4.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.docbook.org/xml/" version
|
||||
"/docbook-xml-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(let* ((unzip
|
||||
(string-append (assoc-ref %build-inputs "unzip")
|
||||
"/bin/unzip"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(dtd (string-append out "/xml/dtd/docbook")))
|
||||
(mkdir-p dtd)
|
||||
(with-directory-excursion dtd
|
||||
(system* unzip source))))
|
||||
#:modules ((guix build utils))))
|
||||
(native-inputs `(("unzip" ,unzip)))
|
||||
(home-page "http://docbook.org")
|
||||
(synopsis "DocBook XML DTDs for document authoring")
|
||||
(description
|
||||
"DocBook is general purpose XML and SGML document type particularly well
|
||||
suited to books and papers about computer hardware and software (though it is
|
||||
by no means limited to these applications.) This package provides XML DTDs.")
|
||||
(license (x11-style "" "See file headers."))))
|
||||
|
||||
(define-public docbook-xsl
|
||||
(package
|
||||
(name "docbook-xsl")
|
||||
(version "1.72.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/docbook/docbook-xsl-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cnrfgqz8pc9wnlgqjch2338ad7jki6d4h6b2fhaxn1a2201df5k"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(let* ((bzip2 (assoc-ref %build-inputs "bzip2"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(xsl (string-append out "/xml/xsl")))
|
||||
(setenv "PATH" (string-append bzip2 "/bin"))
|
||||
(system* (string-append tar "/bin/tar") "xvf" source)
|
||||
|
||||
(mkdir-p xsl)
|
||||
(copy-recursively (string-append ,name "-" ,version)
|
||||
(string-append xsl "/" ,name
|
||||
"-" ,version))))
|
||||
#:modules ((guix build utils))))
|
||||
(native-inputs `(("bzip2" ,bzip2)
|
||||
("tar" ,tar)))
|
||||
(home-page "http://docbook.org")
|
||||
(synopsis "DocBook XSL style sheets for document authoring")
|
||||
(description
|
||||
"This package provides XSL style sheets for DocBook.")
|
||||
(license (x11-style "" "See 'COPYING' file."))))
|
||||
86
gnu/packages/dwm.scm
Normal file
86
gnu/packages/dwm.scm
Normal file
@@ -0,0 +1,86 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages dwm)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public dwm
|
||||
(package
|
||||
(name "dwm")
|
||||
(version "6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dl.suckless.org/dwm/dwm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda _
|
||||
(substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
|
||||
#t)
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "make" "install"
|
||||
(string-append "DESTDIR=" out) "PREFIX="))))
|
||||
%standard-phases))))
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("libxinerama" ,libxinerama)))
|
||||
(home-page "http://dwm.suckless.org/")
|
||||
(synopsis "Dynamic window manager")
|
||||
(description
|
||||
"dwm is a dynamic window manager for X. It manages windows in tiled,
|
||||
monocle and floating layouts. All of the layouts can be applied dynamically,
|
||||
optimising the environment for the application in use and the task performed.
|
||||
|
||||
In tiled layout windows are managed in a master and stacking area. The master
|
||||
area contains the window which currently needs most attention, whereas the
|
||||
stacking area contains all other windows. In monocle layout all windows are
|
||||
maximised to the screen size. In floating layout windows can be resized and
|
||||
moved freely. Dialog windows are always managed floating, regardless of the
|
||||
layout applied.
|
||||
|
||||
Windows are grouped by tags. Each window can be tagged with one or multiple
|
||||
tags. Selecting certain tags displays all windows with these tags.
|
||||
|
||||
Each screen contains a small status bar which displays all available tags, the
|
||||
layout, the number of visible windows, the title of the focused window, and the
|
||||
text read from the root window name property, if the screen is focused. A
|
||||
floating window is indicated with an empty square and a maximised floating
|
||||
window is indicated with a filled square before the windows title. The selected
|
||||
tags are indicated with a different color. The tags of the focused window are
|
||||
indicated with a filled square in the top left corner. The tags which are
|
||||
applied to one or more windows are indicated with an empty square in the top
|
||||
left corner.
|
||||
|
||||
dwm draws a small customizable border around windows to indicate the focus
|
||||
state.")
|
||||
(license x11)))
|
||||
55
gnu/packages/ed.scm
Normal file
55
gnu/packages/ed.scm
Normal file
@@ -0,0 +1,55 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages ed)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages compression))
|
||||
|
||||
(define-public ed
|
||||
(package
|
||||
(name "ed")
|
||||
(version "1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/ed/ed-"
|
||||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16kycdm5fcvpdr41hxb2da8da6jzs9dqznsg5552z6rh28n0jh4m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(arguments
|
||||
'(#:configure-flags '("CC=gcc")
|
||||
#:phases (alist-cons-before 'patch-source-shebangs 'patch-test-suite
|
||||
(lambda _
|
||||
(substitute* "testsuite/check.sh"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/ed/")
|
||||
(synopsis "Line-oriented text editor")
|
||||
(description
|
||||
"Ed is a line-oriented text editor: rather than offering an overview of
|
||||
a document, ed performs editing one line at a time. It can be executed both
|
||||
interactively and via shell scripts. Its method of command input allows
|
||||
complex tasks to be performed in an automated way. GNU ed offers several
|
||||
extensions over the standard utility.")
|
||||
(license gpl3+)))
|
||||
104
gnu/packages/elf.scm
Normal file
104
gnu/packages/elf.scm
Normal file
@@ -0,0 +1,104 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages elf)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix licenses) #:select (gpl3+ lgpl3+ lgpl2.0+))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages compression))
|
||||
|
||||
(define-public elfutils
|
||||
(package
|
||||
(name "elfutils")
|
||||
(version "0.157")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://fedorahosted.org/releases/e/l/elfutils/"
|
||||
version "/elfutils-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"11ffbihw9zs2dhmlww9zilwvmv6v1pr6bvnz5dnzn0lxq70ckbag"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Separate programs because that's usually not what elfutils users want,
|
||||
;; and because they duplicate what Binutils provides.
|
||||
(outputs '("out" ; libelf.so, elfutils/*.h, etc.
|
||||
"bin")) ; ld, nm, objdump, etc.
|
||||
|
||||
(native-inputs `(("m4" ,m4)))
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(home-page "https://fedorahosted.org/elfutils/")
|
||||
(synopsis #f)
|
||||
(description #f)
|
||||
|
||||
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
|
||||
(license lgpl3+)))
|
||||
|
||||
(define-public libelf
|
||||
(package
|
||||
(name "libelf")
|
||||
(version "0.8.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.mr511.de/software/libelf-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; This old `configure' script doesn't support
|
||||
;; variables passed as arguments.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.mr511.de/software/english.html")
|
||||
(synopsis "An ELF object file access library")
|
||||
(description "libelf is a C library to access ELF object files.")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public patchelf
|
||||
(package
|
||||
(name "patchelf")
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://nixos.org/releases/patchelf/patchelf-"
|
||||
version
|
||||
"/patchelf-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"))
|
||||
(patches (list (search-patch "patchelf-page-size.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://nixos.org/patchelf.html")
|
||||
(synopsis "Modify the dynamic linker and RPATH of ELF executables")
|
||||
(description
|
||||
"PatchELF allows the ELF \"interpreter\" and RPATH of an ELF binary to be
|
||||
changed.")
|
||||
(license gpl3+)))
|
||||
142
gnu/packages/emacs.scm
Normal file
142
gnu/packages/emacs.scm
Normal file
@@ -0,0 +1,142 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages emacs)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages lesstif)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages giflib)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module ((gnu packages compression)
|
||||
#:renamer (symbol-prefix-proc 'compression:))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages glib))
|
||||
|
||||
(define-public emacs
|
||||
(package
|
||||
(name "emacs")
|
||||
(version "24.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emacs/emacs-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))
|
||||
(patches (list (search-patch "emacs-configure-sh.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc")
|
||||
"/lib"))
|
||||
#:phases (alist-cons-before
|
||||
'configure 'fix-/bin/pwd
|
||||
(lambda _
|
||||
;; Use `pwd', not `/bin/pwd'.
|
||||
(substitute* (find-files "." "^Makefile\\.in$")
|
||||
(("/bin/pwd")
|
||||
"pwd")))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("gnutls" ,gnutls)
|
||||
("ncurses" ,ncurses)
|
||||
|
||||
;; TODO: Add the optional dependencies.
|
||||
("xlibs" ,libx11)
|
||||
("gtk+" ,gtk+-2)
|
||||
("libXft" ,libxft)
|
||||
("libtiff" ,libtiff)
|
||||
("giflib" ,giflib)
|
||||
("libjpeg" ,libjpeg-8)
|
||||
|
||||
;; When looking for libpng `configure' links with `-lpng -lz', so we
|
||||
;; must also provide zlib as an input.
|
||||
("libpng" ,libpng)
|
||||
("zlib" ,compression:zlib)
|
||||
|
||||
("libXpm" ,libxpm)
|
||||
("libxml2" ,libxml2)
|
||||
("libice" ,libice)
|
||||
("libsm" ,libsm)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("dbus" ,dbus)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("texinfo" ,texinfo)))
|
||||
(home-page "http://www.gnu.org/software/emacs/")
|
||||
(synopsis "The extensible, customizable, self-documenting text editor")
|
||||
(description
|
||||
"GNU Emacs is an extensible and highly customizable text editor. It is
|
||||
based on an Emacs Lisp interpreter with extensions for text editing. Emacs
|
||||
has been extended in essentially all areas of computing, giving rise to a
|
||||
vast array of packages supporting, e.g., email, IRC and XMPP messaging,
|
||||
spreadsheets, remote server editing, and much more. Emacs includes extensive
|
||||
documentation on all aspects of the system, from basic editing to writing
|
||||
large Lisp programs. It has full Unicode support for nearly all human
|
||||
languages.")
|
||||
(license gpl3+)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Emacs hacking.
|
||||
;;;
|
||||
|
||||
(define-public geiser
|
||||
(package
|
||||
(name "geiser")
|
||||
(version "0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/geiser/" version
|
||||
"/geiser-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ds7zk9b1839l9fsqfsgrby6manvy1cf5bjniiqhxl55h0cr6ijp"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("guile" ,guile-2.0)
|
||||
("emacs" ,emacs)))
|
||||
(home-page "http://nongnu.org/geiser/")
|
||||
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
|
||||
(description
|
||||
"Geiser is a collection of Emacs major and minor modes that
|
||||
conspire with one or more Scheme interpreters to keep the Lisp Machine
|
||||
Spirit alive. It draws inspiration (and a bit more) from environments
|
||||
such as Common Lisp’s Slime, Factor’s FUEL, Squeak or Emacs itself, and
|
||||
does its best to make Scheme hacking inside Emacs (even more) fun.
|
||||
|
||||
Or, to be precise, what i consider fun. Geiser is thus my humble
|
||||
contribution to the dynamic school of expression, and a reaction against
|
||||
what i perceive as a derailment, in modern times, of standard Scheme
|
||||
towards the static camp. Because i prefer growing and healing to poking
|
||||
at corpses, the continuously running Scheme interpreter takes the center
|
||||
of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog
|
||||
between the Scheme interpreter, Emacs and, ultimately, the schemer,
|
||||
giving her access to live metadata.")
|
||||
(license bsd-3)))
|
||||
53
gnu/packages/fdisk.scm
Normal file
53
gnu/packages/fdisk.scm
Normal file
@@ -0,0 +1,53 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages fdisk)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages parted)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public fdisk
|
||||
(package
|
||||
(name "fdisk")
|
||||
(version "2.0.0a")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/fdisk/gnufdisk-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("guile" ,guile-1.8)
|
||||
("util-linux" ,util-linux)
|
||||
("parted" ,parted)))
|
||||
(home-page "https://www.gnu.org/software/fdisk/")
|
||||
(synopsis "Low-level disk partitioning and formatting")
|
||||
(description
|
||||
"GNU fdisk provides a GNU version of the common disk partitioning tool
|
||||
fdisk. fdisk is used for the creation and manipulation of disk partition
|
||||
tables, and it understands a variety of different formats.")
|
||||
(license gpl3+)))
|
||||
48
gnu/packages/file.scm
Normal file
48
gnu/packages/file.scm
Normal file
@@ -0,0 +1,48 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages file)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public file
|
||||
(package
|
||||
(name "file")
|
||||
(version "5.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"01xz106biz6x4h5ilymg5v3367djvgnfp4lm87132cjqdmqgn6b5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
;; This package depends upon a native install of itself.
|
||||
(if (%current-target-system) `(("file" ,file)) '() ))
|
||||
(synopsis "file, a file type guesser")
|
||||
(description
|
||||
"The file command is a file type guesser, a command-line tool that tells
|
||||
you in words what kind of data a file contains. It does not rely on filename
|
||||
extentions to tell you the type of a file, but looks at the actual contents
|
||||
of the file.")
|
||||
(license bsd-2)
|
||||
(home-page "http://www.darwinsys.com/file/")))
|
||||
80
gnu/packages/flex.scm
Normal file
80
gnu/packages/flex.scm
Normal file
@@ -0,0 +1,80 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages flex)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages indent)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (flex))
|
||||
|
||||
(define flex
|
||||
(package
|
||||
(name "flex")
|
||||
(version "2.5.37")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/flex/flex-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ah5mi4j62b85a9rllv1004mzjb5cd0mn4glvz13p88rpx77pahp"))
|
||||
(patches (list (search-patch "flex-bison-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(let ((bison-for-tests
|
||||
;; Work around an incompatibility with Bison 3.0:
|
||||
;; <http://lists.gnu.org/archive/html/bug-bison/2013-09/msg00014.html>.
|
||||
(package (inherit bison)
|
||||
(version "2.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/bison/bison-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yx7isx67sdmyijvihgyra1f59fwdz7sqriginvavfj5yb5ss2dl"))))
|
||||
|
||||
;; Unlike Bison 3.0, this version did not need Flex for its
|
||||
;; tests, so it allows us to break the cycle.
|
||||
(inputs (alist-delete "flex" (package-inputs bison))))))
|
||||
`(("bison" ,bison-for-tests)
|
||||
("indent" ,indent))))
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(home-page "http://flex.sourceforge.net/")
|
||||
(synopsis "A fast lexical analyser generator")
|
||||
(description
|
||||
"Flex is a tool for generating scanners. A scanner, sometimes
|
||||
called a tokenizer, is a program which recognizes lexical patterns in
|
||||
text. The flex program reads user-specified input files, or its standard
|
||||
input if no file names are given, for a description of a scanner to
|
||||
generate. The description is in the form of pairs of regular expressions
|
||||
and C code, called rules. Flex generates a C source file named,
|
||||
\"lex.yy.c\", which defines the function yylex(). The file \"lex.yy.c\"
|
||||
can be compiled and linked to produce an executable. When the executable
|
||||
is run, it analyzes its input for occurrences of text matching the
|
||||
regular expressions for each rule. Whenever it finds a match, it
|
||||
executes the corresponding C code.")
|
||||
(license (bsd-style "file://COPYING"
|
||||
"See COPYING in the distribution."))))
|
||||
|
||||
59
gnu/packages/fltk.scm
Normal file
59
gnu/packages/fltk.scm
Normal file
@@ -0,0 +1,59 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages fltk)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public fltk
|
||||
(package
|
||||
(name "fltk")
|
||||
(version "1.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://fltk.org/pub/fltk/" version "/fltk-" version "-source.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("mesa" ,mesa)))
|
||||
(arguments
|
||||
`(#:tests? #f ;TODO: compile programs in "test" dir
|
||||
#:configure-flags '("--enable-shared")
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'configure 'patch-makeinclude
|
||||
(lambda _
|
||||
(substitute* "makeinclude.in"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
%standard-phases)))
|
||||
(home-page "https://www.fltk.org")
|
||||
(synopsis "3D C++ GUI library")
|
||||
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the
|
||||
bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
|
||||
FLTK is designed to be small and modular enough to be statically linked, but
|
||||
works fine as a shared library. FLTK also includes an excellent UI builder
|
||||
called FLUID that can be used to create applications in minutes.")
|
||||
(license lgpl2.0))) ; plus certain additional permissions
|
||||
200
gnu/packages/fonts.scm
Normal file
200
gnu/packages/fonts.scm
Normal file
@@ -0,0 +1,200 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages fonts)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module ((gnu packages base)
|
||||
#:select (tar))
|
||||
#:use-module (gnu packages compression))
|
||||
|
||||
(define-public ttf-dejavu
|
||||
(package
|
||||
(name "ttf-dejavu")
|
||||
(version "2.34")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/dejavu/"
|
||||
version "/dejavu-fonts-ttf-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pgb0a3ngamidacmrvasg51ck3gp8gn93w6sf1s8snwzx4x2r9yh"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(let ((tar (string-append (assoc-ref %build-inputs
|
||||
"tar")
|
||||
"/bin/tar"))
|
||||
(PATH (string-append (assoc-ref %build-inputs
|
||||
"bzip2")
|
||||
"/bin"))
|
||||
(font-dir (string-append
|
||||
%output "/share/fonts/truetype"))
|
||||
(conf-dir (string-append
|
||||
%output "/share/fontconfig/conf.avail"))
|
||||
(doc-dir (string-append
|
||||
%output "/share/doc/" ,name "-" ,version)))
|
||||
(setenv "PATH" PATH)
|
||||
(system* tar "xvf" (assoc-ref %build-inputs "source"))
|
||||
|
||||
(mkdir-p font-dir)
|
||||
(mkdir-p conf-dir)
|
||||
(mkdir-p doc-dir)
|
||||
(chdir (string-append "dejavu-fonts-ttf-" ,version))
|
||||
(for-each (lambda (ttf)
|
||||
(copy-file ttf
|
||||
(string-append font-dir "/"
|
||||
(basename ttf))))
|
||||
(find-files "ttf" "\\.ttf$"))
|
||||
(for-each (lambda (conf)
|
||||
(copy-file conf
|
||||
(string-append conf-dir "/"
|
||||
(basename conf))))
|
||||
(find-files "fontconfig" "\\.conf$"))
|
||||
(for-each (lambda (doc)
|
||||
(copy-file doc
|
||||
(string-append doc-dir "/"
|
||||
(basename doc))))
|
||||
(find-files "." "\\.txt$|^[A-Z][A-Z]*$"))))))
|
||||
(native-inputs `(("source" ,source)
|
||||
("tar" ,tar)
|
||||
("bzip2" ,bzip2)))
|
||||
(home-page "http://dejavu-fonts.org/")
|
||||
(synopsis "Vera font family derivate with additional characters")
|
||||
(description "DejaVu provides an expanded version of the Vera font family
|
||||
aiming for quality and broader Unicode coverage while retaining the original
|
||||
Vera style. DejaVu currently works towards conformance with the Multilingual
|
||||
European Standards (MES-1 and MES-2) for Unicode coverage. The DejaVu fonts
|
||||
provide serif, sans and monospaced variants.")
|
||||
(license
|
||||
(license:x11-style
|
||||
"http://dejavu-fonts.org/"))))
|
||||
|
||||
(define-public ttf-bitstream-vera
|
||||
(package
|
||||
(name "ttf-bitstream-vera")
|
||||
(version "1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/ttf-bitstream-vera/"
|
||||
version "/ttf-bitstream-vera-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
(let ((tar (string-append (assoc-ref %build-inputs
|
||||
"tar")
|
||||
"/bin/tar"))
|
||||
(PATH (string-append (assoc-ref %build-inputs
|
||||
"bzip2")
|
||||
"/bin"))
|
||||
(font-dir (string-append %output
|
||||
"/share/fonts/truetype"))
|
||||
(doc-dir (string-append %output "/share/doc/"
|
||||
,name "-" ,version)))
|
||||
(setenv "PATH" PATH)
|
||||
(system* tar "xvf" (assoc-ref %build-inputs "source"))
|
||||
|
||||
(mkdir-p font-dir)
|
||||
(mkdir-p doc-dir)
|
||||
(chdir (string-append "ttf-bitstream-vera-" ,version))
|
||||
(for-each (lambda (ttf)
|
||||
(copy-file ttf
|
||||
(string-append font-dir "/" ttf)))
|
||||
(find-files "." "\\.ttf$"))
|
||||
(for-each (lambda (doc)
|
||||
(copy-file doc
|
||||
(string-append doc-dir "/" doc)))
|
||||
(find-files "." "\\.TXT$"))))))
|
||||
(native-inputs `(("source" ,source)
|
||||
("tar" ,tar)
|
||||
("bzip2" ,bzip2)))
|
||||
(home-page "https://www-old.gnome.org/fonts/")
|
||||
(synopsis "Bitstream Vera sans-serif typeface")
|
||||
(description "Vera is a sans-serif typeface from Bitstream, Inc. This
|
||||
package provides the TrueType (TTF) files.")
|
||||
(license
|
||||
(license:x11-style
|
||||
"https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
|
||||
|
||||
(define-public freefont-ttf
|
||||
(package
|
||||
(name "freefont-ttf")
|
||||
(version "20100919")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/freefont/freefont-ttf-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
(let ((tar (string-append (assoc-ref %build-inputs
|
||||
"tar")
|
||||
"/bin/tar"))
|
||||
(PATH (string-append (assoc-ref %build-inputs
|
||||
"gzip")
|
||||
"/bin"))
|
||||
(font-dir (string-append %output
|
||||
"/share/fonts/truetype"))
|
||||
(doc-dir (string-append %output "/share/doc/"
|
||||
,name "-" ,version)))
|
||||
(setenv "PATH" PATH)
|
||||
(system* tar "xvf" (assoc-ref %build-inputs "source"))
|
||||
|
||||
(mkdir-p font-dir)
|
||||
(mkdir-p doc-dir)
|
||||
(chdir (string-append "freefont-" ,version))
|
||||
(for-each (lambda (file)
|
||||
(let ((dir (if (string-suffix? "ttf" file)
|
||||
font-dir
|
||||
doc-dir)))
|
||||
(copy-file file
|
||||
(string-append dir "/" file))))
|
||||
(find-files "." ""))))))
|
||||
(native-inputs `(("source" ,source)
|
||||
("tar" ,tar)
|
||||
("gzip" ,gzip)))
|
||||
(home-page "http://www.gnu.org/software/freefont/")
|
||||
(synopsis "Unicode-encoded outline fonts")
|
||||
(description
|
||||
"The GNU Freefont project aims to provide a set of free outline
|
||||
(PostScript Type0, TrueType, OpenType...) fonts covering the ISO
|
||||
10646/Unicode UCS (Universal Character Set).")
|
||||
(license license:gpl3+)))
|
||||
169
gnu/packages/fontutils.scm
Normal file
169
gnu/packages/fontutils.scm
Normal file
@@ -0,0 +1,169 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public freetype
|
||||
(package
|
||||
(name "freetype")
|
||||
(version "2.4.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/freetype/freetype-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0gpcz6swir64kp0dk3rwgqqkmf48b90dqgczdmznjjryhrahx9r9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda* (#:key outputs #:allow-other-keys #:rest args)
|
||||
(let ((install (assoc-ref %standard-phases 'install))
|
||||
(include (string-append (assoc-ref outputs "out") "/include")))
|
||||
(apply install args)
|
||||
;; Unravel one directory, since ft2build.h includes directly from
|
||||
;; freetype/, not freetype2/freetype; this is announced in the file
|
||||
;; to be changed in a future release.
|
||||
(symlink (string-append include "/freetype2/freetype")
|
||||
(string-append include "/freetype"))))
|
||||
%standard-phases)))
|
||||
(synopsis "Freetype, a library to render fonts")
|
||||
(description
|
||||
"Freetype is a library that can be used by applications to access the
|
||||
contents of font files. It provides a uniform interface to access font files.
|
||||
It supports both bitmap and scalable formats, including TrueType, OpenType,
|
||||
Type1, CID, CFF, Windows FON/FNT, X11 PCF, and others. It supports high-speed
|
||||
anti-aliased glyph bitmap generation with 256 gray levels.")
|
||||
(license license:freetype) ; some files have other licenses
|
||||
(home-page "http://www.freetype.org/")))
|
||||
|
||||
(define-public fontconfig
|
||||
(package
|
||||
(name "fontconfig")
|
||||
(version "2.10.93")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.freedesktop.org/software/fontconfig/release/fontconfig-"
|
||||
version ".tar.bz2"))
|
||||
(sha256 (base32
|
||||
"172j5vsgx2xplsk5mrxrspbn5lrswq6gnxkxjgcrx0j8i0kiz47a"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("expat" ,expat)
|
||||
("freetype" ,freetype)
|
||||
("gs-fonts" ,gs-fonts)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; point to user profile instead of /usr/share/fonts in /etc/fonts.conf
|
||||
(list "--with-default-fonts=~/.guix-profile/share/fonts"
|
||||
;; register gs-fonts
|
||||
(string-append "--with-add-fonts="
|
||||
(assoc-ref %build-inputs "gs-fonts")
|
||||
"/share/fonts"))))
|
||||
(synopsis "Fontconfig, a library for configuring and customising font access.")
|
||||
(description
|
||||
"Fontconfig can discover new fonts when installed automatically;
|
||||
perform font name substitution, so that appropriate alternative fonts can
|
||||
be selected if fonts are missing;
|
||||
identify the set of fonts required to completely cover a set of languages;
|
||||
have GUI configuration tools built as it uses an XML-based configuration file;
|
||||
efficiently and quickly find needed fonts among the set of installed fonts;
|
||||
be used in concert with the X Render Extension and FreeType to implement
|
||||
high quality, anti-aliased and subpixel rendered text on a display.")
|
||||
; The exact license is more X11-style than BSD-style.
|
||||
(license (license:bsd-style "file://COPYING"
|
||||
"See COPYING in the distribution."))
|
||||
(home-page "http://www.freedesktop.org/wiki/Software/fontconfig")))
|
||||
|
||||
(define-public t1lib
|
||||
(package
|
||||
(name "t1lib")
|
||||
(version "5.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-5.1.2.tar.gz")
|
||||
(sha256 (base32
|
||||
"0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Making the documentation requires latex, but t1lib is also an input
|
||||
;; for building texlive.
|
||||
`(#:tests? #f ; no test target
|
||||
#:make-flags
|
||||
'("without_doc")))
|
||||
(synopsis "T1lib, a library for generating bitmaps from type 1 fonts.")
|
||||
(description
|
||||
"T1lib is a library for generating/rasterising bitmaps from Type 1 fonts.
|
||||
It is based on the code of the X11 rasteriser of the X11 project.
|
||||
|
||||
The bitmaps created by t1lib are returned in a data structure with type
|
||||
GLYPH. This special GLYPH-type is also used in the X11 window system to
|
||||
describe character bitmaps. It contains the bitmap data as well as some
|
||||
metric information. But t1lib is in itself entirely independent of the
|
||||
X11-system or any other graphical user interface. ")
|
||||
(license license:gpl2)
|
||||
(home-page "http://www.t1lib.org/")))
|
||||
|
||||
(define-public teckit
|
||||
(package
|
||||
(name "teckit")
|
||||
(version "2.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://scripts.sil.org/svn-view/teckit/TAGS/TECkit_"
|
||||
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0fjiwvic8mdxpkyccfp7zh26y9xnvkp0skqbyfkrjiacd191k82r"))
|
||||
(patches (list (search-patch "teckit-cstdio.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(synopsis "TECkit, a toolkit for encoding conversions")
|
||||
(description
|
||||
"TECkit is a low-level toolkit intended to be used by other applications
|
||||
that need to perform encoding conversions (e.g., when importing legacy data
|
||||
into a Unicode-based application). The primary component of the TECkit
|
||||
package is therefore a library that performs conversions; this is the
|
||||
\"TECkit engine\". The engine relies on mapping tables in a specific binary
|
||||
format (for which documentation is available); there is a compiler that
|
||||
creates such tables from a human-readable mapping description (a simple
|
||||
text file).
|
||||
|
||||
To facilitate the development and testing of mapping tables for TECkit,
|
||||
several applications are also included in the current package; these
|
||||
include simple tools for applying conversions to plain-text and Standard
|
||||
Format files, as well as both command-line and simple GUI versions of the
|
||||
TECkit compiler. However, it is not intended that these tools will be the
|
||||
primary means by which end users perform conversions, and they have not
|
||||
been designed, tested, and debugged to the extent that general-purpose
|
||||
applications should be.")
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "http://scripts.sil.org/cms/scripts/page.php?cat_id=teckit")))
|
||||
49
gnu/packages/freeipmi.scm
Normal file
49
gnu/packages/freeipmi.scm
Normal file
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages freeipmi)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages gnupg))
|
||||
|
||||
(define-public freeipmi
|
||||
(package
|
||||
(name "freeipmi")
|
||||
(version "1.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qpr4h46zmbk82w4fpijimzsdpgyr0fdnsinpsp5cvxy5pcikbd6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("readline" ,readline) ("libgcrypt" ,libgcrypt)))
|
||||
(home-page "http://www.gnu.org/software/freeipmi/")
|
||||
(synopsis "Platform management, including sensor and power monitoring")
|
||||
(description
|
||||
"GNU FreeIPMI is a collection of in-band and out-of-band IPMI software
|
||||
in accordance with the IPMI v1.5/2.0 specification. These programs provide a
|
||||
set of interfaces for platform management. Common functionality includes
|
||||
sensor monitoring, system event monitoring, power control and
|
||||
serial-over-LAN.")
|
||||
(license gpl3+)))
|
||||
96
gnu/packages/games.scm
Normal file
96
gnu/packages/games.scm
Normal file
@@ -0,0 +1,96 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages games)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gnubg
|
||||
(package
|
||||
(name "gnubg")
|
||||
(version "1.02")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://files.gnubg.org/media/sources/gnubg-release-"
|
||||
version ".000-sources." "tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"015mvjk2iw1cg1kxwxfnvp2rxb9cylf6yc39i30fdy414k07zkky"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("glib" ,glib)
|
||||
("readline" ,readline)
|
||||
("gtk+" ,gtk+-2)
|
||||
("mesa" ,mesa)
|
||||
("gtkglext" ,gtkglext)
|
||||
("sqlite" ,sqlite)
|
||||
("libcanberra" ,libcanberra)))
|
||||
(native-inputs `(("python-2" ,python-2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://gnubg.org")
|
||||
(synopsis "Backgammon game")
|
||||
(description "The GNU backgammon application can be used for playing, analyzing and
|
||||
teaching the game. It has an advanced evaluation engine based on artificial
|
||||
neural networks suitable for both beginners and advanced players. In
|
||||
addition to a command-line interface, it also features an attractive, 3D
|
||||
representation of the playing board.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public gnubik
|
||||
(package
|
||||
(name "gnubik")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gnubik/gnubik-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mfpwz341i1qpzi2qgslpc5i7d4fv7i01kv392m11pczqdc7i7m5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
("mesa" ,mesa)
|
||||
("libx11" ,libx11)
|
||||
("guile" ,guile-2.0)
|
||||
("gtkglext" ,gtkglext)))
|
||||
(native-inputs `(("gettext" ,gnu-gettext)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://www.gnu.org/software/gnubik/")
|
||||
(synopsis "3d Rubik's cube game")
|
||||
(description
|
||||
"GNUbik is a puzzle game in which you must manipulate a cube to make
|
||||
each of its faces have a uniform color. The game is customizable, allowing
|
||||
you to set the size of the cube (the default is 3x3) or to change the colors.
|
||||
You may even apply photos to the faces instead of colors. The game is
|
||||
scriptable with Guile.")
|
||||
(license gpl3+)))
|
||||
72
gnu/packages/gawk.scm
Normal file
72
gnu/packages/gawk.scm
Normal file
@@ -0,0 +1,72 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gawk)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages libsigsegv)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gawk
|
||||
(package
|
||||
(name "gawk")
|
||||
(version "4.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gawk/gawk-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f ; test suite fails in parallel
|
||||
|
||||
#:phases (alist-cons-before
|
||||
'configure 'set-shell-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Refer to the right shell.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "io.c"
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))
|
||||
|
||||
;; When cross-compiling, remove dependencies on the
|
||||
;; `check-for-shared-lib-support' target, which tries to
|
||||
;; run the cross-built `gawk'.
|
||||
,@(if (%current-target-system)
|
||||
'((substitute* "extension/Makefile.in"
|
||||
(("^.*: check-for-shared-lib-support" match)
|
||||
(string-append "### " match))))
|
||||
'())))
|
||||
%standard-phases)))
|
||||
(inputs `(("libsigsegv" ,libsigsegv)
|
||||
|
||||
,@(if (%current-target-system)
|
||||
`(("bash" ,bash))
|
||||
'())))
|
||||
|
||||
(home-page "http://www.gnu.org/software/gawk/")
|
||||
(synopsis "A text scanning and processing language")
|
||||
(description
|
||||
"Gawk is the GNU implementation of Awk, a specialized programming
|
||||
language for the easy manipulation of formatted text, such as tables of data.
|
||||
Gawk features many extensions beyond the traditional implementation,
|
||||
including network access, sorting, and large libraries.")
|
||||
(license gpl3+)))
|
||||
47
gnu/packages/gcal.scm
Normal file
47
gnu/packages/gcal.scm
Normal file
@@ -0,0 +1,47 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gcal)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses))
|
||||
|
||||
(define-public gcal
|
||||
(package
|
||||
(name "gcal")
|
||||
(version "3.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcal/gcal-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06xkwkir9w4jd9i72m1izmf4rbry4slg8gkiml4w26h13lx92hk7"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/gcal")
|
||||
(synopsis "Calculating and printing a wide variety of calendars")
|
||||
(description
|
||||
"Gcal is a program to calculate and print calendars on the
|
||||
command-line. Calendars can be printed in 1-month, 3-month or whole-year
|
||||
views. In addition, eternal holiday lists can be generated for many
|
||||
countries, which can be complemented by user-made lists of fixed dates to
|
||||
make an agenda. Gcal can also calculate astronomical data, such as the
|
||||
phases of the moon, and supports alternative calendar formats: Julian,
|
||||
Gregorian, Islamic, Chinese and more.")
|
||||
(license gpl3+)))
|
||||
327
gnu/packages/gcc.scm
Normal file
327
gnu/packages/gcc.scm
Normal file
@@ -0,0 +1,327 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gcc)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl3+ gpl2+ lgpl2.1+ lgpl2.0+))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 regex))
|
||||
|
||||
(define %gcc-infrastructure
|
||||
;; Base URL for GCC's infrastructure.
|
||||
"ftp://gcc.gnu.org/pub/gcc/infrastructure/")
|
||||
|
||||
(define-public (gcc-configure-flags-for-triplet target)
|
||||
"Return a list of additional GCC `configure' flags for TARGET, a GNU triplet.
|
||||
|
||||
The purpose of this procedure is to translate extended GNU triplets---e.g.,
|
||||
where the OS part is overloaded to denote a specific ABI---into GCC
|
||||
`configure' options. We take extended GNU triplets that glibc recognizes."
|
||||
(cond ((string-match "^mips64el.*gnuabin?64$" target)
|
||||
;; Triplets recognized by glibc as denoting the N64 ABI; see
|
||||
;; ports/sysdeps/mips/preconfigure.
|
||||
'("--with-abi=64"))
|
||||
(else
|
||||
;; TODO: Add `armel.*gnueabi', `hf', etc.
|
||||
'())))
|
||||
|
||||
(define-public gcc-4.7
|
||||
(let* ((stripped? #t) ; TODO: make this a parameter
|
||||
(maybe-target-tools
|
||||
(lambda ()
|
||||
;; Return the `_FOR_TARGET' variables that are needed when
|
||||
;; cross-compiling GCC.
|
||||
(let ((target (%current-target-system)))
|
||||
(if target
|
||||
(map (lambda (var tool)
|
||||
(string-append (string-append var "_FOR_TARGET")
|
||||
"=" target "-" tool))
|
||||
'("CC" "CXX" "LD" "AR" "NM" "RANLIB" "STRIP")
|
||||
'("gcc" "g++" "ld" "ar" "nm" "ranlib" "strip"))
|
||||
'()))))
|
||||
(configure-flags
|
||||
(lambda ()
|
||||
;; This is terrible. Since we have two levels of quasiquotation,
|
||||
;; we have to do this convoluted thing just so we can insert the
|
||||
;; contents of (maybe-target-tools).
|
||||
(list 'quasiquote
|
||||
(append
|
||||
'("--enable-plugin"
|
||||
"--enable-languages=c,c++"
|
||||
"--disable-multilib"
|
||||
|
||||
;; No pre-compiled libstdc++ headers, to save space.
|
||||
"--disable-libstdcxx-pch"
|
||||
|
||||
"--with-local-prefix=/no-gcc-local-prefix"
|
||||
|
||||
,(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
(if libc
|
||||
(string-append "--with-native-system-header-dir=" libc
|
||||
"/include")
|
||||
"--without-headers")))
|
||||
|
||||
;; When cross-compiling GCC, pass the right options for the
|
||||
;; target triplet.
|
||||
(or (and=> (%current-target-system)
|
||||
gcc-configure-flags-for-triplet)
|
||||
'())
|
||||
|
||||
(maybe-target-tools))))))
|
||||
(package
|
||||
(name "gcc")
|
||||
(version "4.7.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("mpc" ,mpc)
|
||||
("isl" ,isl)
|
||||
("cloog" ,cloog)
|
||||
("libelf" ,libelf)
|
||||
("zlib" ,zlib)))
|
||||
|
||||
;; GCC is one of the few packages that doesn't ship .info files.
|
||||
(native-inputs `(("texinfo" ,texinfo)))
|
||||
|
||||
(arguments
|
||||
`(#:out-of-source? #t
|
||||
#:strip-binaries? ,stripped?
|
||||
#:configure-flags ,(configure-flags)
|
||||
#:make-flags
|
||||
(let* ((libc (assoc-ref %build-inputs "libc"))
|
||||
(libc-native (or (assoc-ref %build-inputs "libc-native")
|
||||
libc)))
|
||||
`(,@(if libc
|
||||
(list (string-append "LDFLAGS_FOR_TARGET="
|
||||
"-B" libc "/lib "
|
||||
"-Wl,-dynamic-linker "
|
||||
"-Wl," libc
|
||||
,(glibc-dynamic-linker)))
|
||||
'())
|
||||
|
||||
;; Native programs like 'genhooks' also need that right.
|
||||
,(string-append "LDFLAGS="
|
||||
"-Wl,-rpath=" libc-native "/lib "
|
||||
"-Wl,-dynamic-linker "
|
||||
"-Wl," libc-native ,(glibc-dynamic-linker))
|
||||
,(string-append "BOOT_CFLAGS=-O2 "
|
||||
,(if stripped? "-g0" "-g"))))
|
||||
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'configure 'pre-configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(libc (assoc-ref inputs "libc")))
|
||||
(when libc
|
||||
;; The following is not performed for `--without-headers'
|
||||
;; cross-compiler builds.
|
||||
|
||||
;; Fix the dynamic linker's file name.
|
||||
(substitute* (find-files "gcc/config"
|
||||
"^linux(64|-elf)?\\.h$")
|
||||
(("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
|
||||
(format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
|
||||
suffix
|
||||
(string-append libc ,(glibc-dynamic-linker)))))
|
||||
|
||||
;; Tell where to find libstdc++, libc, and `?crt*.o', except
|
||||
;; `crt{begin,end}.o', which come with GCC.
|
||||
(substitute* (find-files "gcc/config"
|
||||
"^gnu-user.*\\.h$")
|
||||
(("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
|
||||
;; Help libgcc_s.so be found (see also below.) Always use
|
||||
;; '-lgcc_s' so that libgcc_s.so is always found by those
|
||||
;; programs that use 'pthread_cancel' (glibc dlopens
|
||||
;; libgcc_s.so when pthread_cancel support is needed, but
|
||||
;; having it in the application's RUNPATH isn't enough; see
|
||||
;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
|
||||
(format #f "#define GNU_USER_TARGET_LIB_SPEC \
|
||||
\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a"
|
||||
libc libc out out suffix))
|
||||
(("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
|
||||
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
|
||||
#define STANDARD_STARTFILE_PREFIX_2 \"\"
|
||||
~a"
|
||||
libc line))))
|
||||
|
||||
;; Don't retain a dependency on the build-time sed.
|
||||
(substitute* "fixincludes/fixincl.x"
|
||||
(("static char const sed_cmd_z\\[\\] =.*;")
|
||||
"static char const sed_cmd_z[] = \"sed\";"))))
|
||||
|
||||
(alist-cons-after
|
||||
'configure 'post-configure
|
||||
(lambda _
|
||||
;; Don't store configure flags, to avoid retaining references to
|
||||
;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
|
||||
(substitute* "Makefile"
|
||||
(("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
|
||||
"TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
|
||||
(alist-replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(zero?
|
||||
(system* "make"
|
||||
,(if stripped?
|
||||
"install-strip"
|
||||
"install"))))
|
||||
%standard-phases)))))
|
||||
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CPATH")
|
||||
(directories '("include")))
|
||||
(search-path-specification
|
||||
(variable "LIBRARY_PATH")
|
||||
(directories '("lib" "lib64")))))
|
||||
|
||||
(properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
|
||||
(synopsis "GNU Compiler Collection")
|
||||
(description
|
||||
"GCC is the GNU Compiler Collection. It provides compiler front-ends
|
||||
for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and
|
||||
Go. It also includes runtime support libraries for these languages.")
|
||||
(license gpl3+)
|
||||
(home-page "http://gcc.gnu.org/"))))
|
||||
|
||||
(define-public gcc-4.8
|
||||
(package (inherit gcc-4.7)
|
||||
(version "4.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09"))))))
|
||||
|
||||
(define (custom-gcc gcc name languages)
|
||||
"Return a custom version of GCC that supports LANGUAGES."
|
||||
(package (inherit gcc)
|
||||
(name name)
|
||||
(arguments
|
||||
(substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
,@(package-arguments gcc))
|
||||
((#:configure-flags flags)
|
||||
`(cons (string-append "--enable-languages="
|
||||
,(string-join languages ","))
|
||||
(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags)))))))
|
||||
|
||||
(define-public gfortran-4.8
|
||||
(custom-gcc gcc-4.8 "gfortran" '("fortran")))
|
||||
|
||||
(define-public gccgo-4.8
|
||||
(custom-gcc gcc-4.8 "gccgo" '("go")))
|
||||
|
||||
(define-public gcc-objc-4.8
|
||||
(custom-gcc gcc-4.8 "gcc-objc" '("objc")))
|
||||
|
||||
(define-public gcc-objc++-4.8
|
||||
(custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++")))
|
||||
|
||||
(define-public isl
|
||||
(package
|
||||
(name "isl")
|
||||
(version "0.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"http://isl.gforge.inria.fr/isl-"
|
||||
version
|
||||
".tar.bz2")
|
||||
(string-append %gcc-infrastructure
|
||||
name "-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)))
|
||||
(home-page "http://isl.gforge.inria.fr/")
|
||||
(synopsis
|
||||
"A library for manipulating sets and relations of integer points bounded
|
||||
by linear constraints")
|
||||
(description
|
||||
"isl is a library for manipulating sets and relations of integer points
|
||||
bounded by linear constraints. Supported operations on sets include
|
||||
intersection, union, set difference, emptiness check, convex hull, (integer)
|
||||
affine hull, integer projection, computing the lexicographic minimum using
|
||||
parametric integer programming, coalescing and parametric vertex
|
||||
enumeration. It also includes an ILP solver based on generalized basis
|
||||
reduction, transitive closures on maps (which may encode infinite graphs),
|
||||
dependence analysis and bounds on piecewise step-polynomials.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public cloog
|
||||
(package
|
||||
(name "cloog")
|
||||
(version "0.18.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"http://www.bastoul.net/cloog/pages/download/count.php3?url=cloog-"
|
||||
version
|
||||
".tar.gz")
|
||||
(string-append %gcc-infrastructure
|
||||
name "-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0a12rwfwp22zd0nlld0xyql11cj390rrq1prw35yjsw8wzfshjhw"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("isl" ,isl)))
|
||||
(arguments '(#:configure-flags '("--with-isl=system")))
|
||||
(home-page "http://www.cloog.org/")
|
||||
(synopsis "A library to generate code for scanning Z-polyhedra")
|
||||
(description
|
||||
"CLooG is a free software library to generate code for scanning
|
||||
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
|
||||
reaches each integral point of one or more parameterized polyhedra.
|
||||
CLooG has been originally written to solve the code generation problem
|
||||
for optimizing compilers based on the polytope model. Nevertheless it
|
||||
is used now in various area e.g., to build control automata for
|
||||
high-level synthesis or to find the best polynomial approximation of a
|
||||
function. CLooG may help in any situation where scanning polyhedra
|
||||
matters. While the user has full control on generated code quality,
|
||||
CLooG is designed to avoid control overhead and to produce a very
|
||||
effective code.")
|
||||
(license gpl2+)))
|
||||
|
||||
71
gnu/packages/gd.scm
Normal file
71
gnu/packages/gd.scm
Normal file
@@ -0,0 +1,71 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gd)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module ((guix licenses) #:select (bsd-style)))
|
||||
|
||||
(define-public gd
|
||||
(package
|
||||
(name "gd")
|
||||
|
||||
;; Note: With libgd.org now pointing to bitbucket.org, genuine old
|
||||
;; tarballs are no longer available. Notably, versions 2.0.34 and .35 are
|
||||
;; missing.
|
||||
(version "2.0.33")
|
||||
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw"))
|
||||
(patches
|
||||
(list (search-patch "gd-mips64-deplibs-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-after
|
||||
'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src"))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("libpng" ,libpng)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
("libjpeg" ,libjpeg)))
|
||||
(home-page "http://www.libgd.org/")
|
||||
(synopsis "Library for the dynamic creation of images by programmers")
|
||||
(description
|
||||
"GD is a library for the dynamic creation of images by programmers. GD
|
||||
is written in C, and \"wrappers\" are available for Perl, PHP and other
|
||||
languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images, among other
|
||||
formats. GD is commonly used to generate charts, graphics, thumbnails, and
|
||||
most anything else, on the fly. While not restricted to use on the web, the
|
||||
most common applications of GD involve website development.")
|
||||
(license (bsd-style "file://COPYING"
|
||||
"See COPYING file in the distribution."))))
|
||||
71
gnu/packages/gdb.scm
Normal file
71
gnu/packages/gdb.scm
Normal file
@@ -0,0 +1,71 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gdb)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gdb
|
||||
(package
|
||||
(name "gdb")
|
||||
(version "7.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; FIXME "make check" fails on single-processor systems.
|
||||
#:phases (alist-cons-after
|
||||
'configure 'post-configure
|
||||
(lambda _
|
||||
(for-each patch-makefile-SHELL
|
||||
(find-files "." "Makefile\\.in")))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
("mpfr" ,mpfr)
|
||||
("gmp" ,gmp)
|
||||
("readline" ,readline)
|
||||
("ncurses" ,ncurses)
|
||||
("python" ,python-wrapper)
|
||||
("dejagnu" ,dejagnu)))
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)))
|
||||
(home-page "http://www.gnu.org/software/gdb/")
|
||||
(synopsis "The GNU debugger")
|
||||
(description
|
||||
"GDB is the GNU debugger. With it, you can monitor what a program is
|
||||
doing while it runs or what it was doing just before a crash. It allows you
|
||||
to specify the runtime conditions, to define breakpoints, and to change how
|
||||
the program is running to try to fix bugs. It can be used to debug programs
|
||||
written in C, C++, Ada, Objective-C, Pascal and more.")
|
||||
(license gpl3+)))
|
||||
46
gnu/packages/gdbm.scm
Normal file
46
gnu/packages/gdbm.scm
Normal file
@@ -0,0 +1,46 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix 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 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix 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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gdbm)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gdbm
|
||||
(package
|
||||
(name "gdbm")
|
||||
(version "1.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdbm/gdbm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd"))))
|
||||
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/gdbm/")
|
||||
(synopsis
|
||||
"Hash library of database functions compatible with traditional dbm")
|
||||
(description
|
||||
"GDBM is a library for manipulating hashed databases. It is used to
|
||||
store key/value pairs in a file in a manner similar to the Unix dbm library
|
||||
and provides interfaces to the traditional file format.")
|
||||
(license gpl3+)))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user