forked from tribes/guix
Compare commits
1134 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
+7
-2
@@ -1,17 +1,22 @@
|
||||
;; Per-directory local variables for GNU Emacs 23 and later.
|
||||
|
||||
((nil . ((fill-column . 72)
|
||||
((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 '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 1))
|
||||
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
|
||||
(eval . (put 'with-error-handling 'scheme-indent-function 0))))
|
||||
(eval . (put 'with-error-handling 'scheme-indent-function 0))
|
||||
(eval . (put 'with-mutex 'scheme-indent-function 1))))
|
||||
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
|
||||
(texinfo-mode . ((indent-tabs-mode . nil)
|
||||
(fill-column . 72))))
|
||||
|
||||
+17
-5
@@ -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,6 @@ config.cache
|
||||
/po/remove-potcdate.sin
|
||||
/po/stamp-po
|
||||
/po/guix.pot
|
||||
/guix-build
|
||||
/tests/*.trs
|
||||
/INSTALL
|
||||
/m4/*
|
||||
@@ -44,12 +44,9 @@ config.cache
|
||||
/doc/guix.pdf
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
/guix-download
|
||||
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
|
||||
/gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
|
||||
/guix-package
|
||||
/guix/config.scm
|
||||
/guix-import
|
||||
/nix/nix-daemon/nix-daemon.cc
|
||||
/nix/config.h
|
||||
/nix/config.h.in
|
||||
@@ -64,4 +61,19 @@ stamp-h[0-9]
|
||||
/nix/scripts/list-runtime-roots
|
||||
/test-env
|
||||
/nix/nix-setuid-helper/nix-setuid-helper.cc
|
||||
/guix-gc
|
||||
/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
|
||||
|
||||
@@ -11,3 +11,5 @@ alphabetical order):
|
||||
|
||||
Andreas Enge <andreas@enge.fr>
|
||||
Nikita Karetnikov <nikita@karetnikov.org>
|
||||
Cyril Roelandt <tipecaml@gmail.com>
|
||||
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/>.
|
||||
|
||||
@@ -3,18 +3,56 @@
|
||||
#+TITLE: Hacking GNU Guix and Its Incredible Distro
|
||||
|
||||
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.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.
|
||||
|
||||
|
||||
* 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'
|
||||
|
||||
Then, as always, run ‘./configure’. If you get an error like this one:
|
||||
|
||||
./configure: line 6755: `PKG_CHECK_MODULES(GUILE, guile-2.0 >= 2.0.5)'
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
./pre-inst-env guix build --help
|
||||
|
||||
Similarly, for a Guile session using the Guix modules:
|
||||
|
||||
@@ -23,138 +61,104 @@ Similarly, for a Guile session using the Guix modules:
|
||||
The ‘pre-inst-env’ script sets up all the environment variables
|
||||
necessary to support this.
|
||||
|
||||
* Adding new packages
|
||||
* The Perfect Setup
|
||||
|
||||
Package recipes in Guix look like this:
|
||||
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]].
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(package
|
||||
(name "nettle")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/nettle/nettle-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("m4" ,m4)))
|
||||
(propagated-inputs `(("gmp" ,gmp)))
|
||||
(home-page
|
||||
"http://www.lysator.liu.se/~nisse/nettle/")
|
||||
(synopsis "GNU Nettle, a cryptographic library")
|
||||
(description
|
||||
"Nettle is a cryptographic library...")
|
||||
(license gpl2+))
|
||||
#+END_SRC
|
||||
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.
|
||||
|
||||
Such a recipe can be written by hand, and then tested by running
|
||||
‘./pre-inst-env guix-build nettle’.
|
||||
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.
|
||||
|
||||
When writing the recipe, the base32-encoded SHA256 hash of the source
|
||||
code tarball, which can be seen in the example above, can be obtained by
|
||||
running:
|
||||
* Submitting Patches
|
||||
|
||||
guix-download http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
|
||||
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]].
|
||||
|
||||
Alternatively, it is possible to semi-automatically import recipes from
|
||||
the [[http://nixos.org/nixpkgs/][Nixpkgs]] software distribution using this command:
|
||||
As you become a regular contributor, you may find it convenient to have write
|
||||
access to the repository (see below.)
|
||||
|
||||
guix-import /path/to/nixpkgs/checkout nettle
|
||||
* Coding Style
|
||||
|
||||
The command automatically fetches and converts to Guix the “Nix
|
||||
expression” of Nettle.
|
||||
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.
|
||||
|
||||
* Porting the Guix distro on a new platform
|
||||
** Programming Paradigm
|
||||
|
||||
** Introduction
|
||||
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.
|
||||
|
||||
Unlike Make or similar build tools, Guix requires absolutely /all/ the
|
||||
dependencies of a build process to be specified.
|
||||
** Modules
|
||||
|
||||
For a user-land software distribution, that means that the process that
|
||||
builds GCC (then used to build all other programs) must itself be
|
||||
specified; and the process to build the C library to build that GCC; and
|
||||
the process to build the GCC to build that library; and... See the
|
||||
problem? Chicken-and-egg.
|
||||
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.
|
||||
|
||||
To break that cycle, the distro starts from a set of pre-built
|
||||
binaries–usually referred to as “bootstrap binaries.” These include
|
||||
statically-linked versions of Guile, GCC, Coreutils, Make, Grep, sed,
|
||||
etc., and the GNU C Library.
|
||||
Modules that deal with the broader GNU system should be in the (gnu …) name
|
||||
space rather than (guix …).
|
||||
|
||||
This section describes how to build those bootstrap binaries when
|
||||
porting to a new platform.
|
||||
** Data Types and Pattern Matching
|
||||
|
||||
** When the platform is supported by Nixpkgs
|
||||
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.
|
||||
|
||||
In that case, the easiest thing is to bootstrap the distro using
|
||||
binaries from Nixpkgs.
|
||||
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.
|
||||
|
||||
To do that, you need to comment out the definitions of
|
||||
‘%bootstrap-guile’ and ‘%bootstrap-inputs’ in distro/packages/bootstrap.scm
|
||||
to force the use of Nixpkgs derivations. For instance, when porting to
|
||||
‘i686-linux’, you should redefine these variables along these lines:
|
||||
** Formatting Code
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(define %bootstrap-guile
|
||||
(nixpkgs-derivation "guile" "i686-linux"))
|
||||
|
||||
(define %bootstrap-inputs
|
||||
(compile-time-value
|
||||
`(("libc" ,(nixpkgs-derivation "glibc" "i686-linux"))
|
||||
,@(map (lambda (name)
|
||||
(list name (nixpkgs-derivation name "i686-linux")))
|
||||
'("gnutar" "gzip" "bzip2" "xz" "patch"
|
||||
"coreutils" "gnused" "gnugrep" "bash"
|
||||
"gawk" ; used by `config.status'
|
||||
"gcc" "binutils")))))
|
||||
#+END_SRC
|
||||
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.
|
||||
|
||||
That should allow the distro to be bootstrapped.
|
||||
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.
|
||||
|
||||
Then, the tarballs containing the initial binaries of Guile, Coreutils,
|
||||
GCC, libc, etc. need to be built. To that end, run the following
|
||||
commands:
|
||||
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.
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
./pre-inst-env guix-build \
|
||||
-e '(@ (distro packages make-bootstrap) bootstrap-tarballs)' \
|
||||
--system=i686-linux
|
||||
Procedures should not have more than four positional parameters. Use keyword
|
||||
parameters for procedures that take more than four parameters.
|
||||
|
||||
#+END_SRC
|
||||
* Commit Access
|
||||
|
||||
These should build tarballs containing statically-linked tools usable on
|
||||
that system.
|
||||
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.)
|
||||
|
||||
In the source tree, you need to install binaries for ‘mkdir’, ‘bash’,
|
||||
‘tar’, and ‘xz’ under ‘distro/packages/bootstrap/i686-linux’. These
|
||||
binaries can be extracted from the static-binaries tarball built above.
|
||||
Non-trivial patches should always be posted to guix-devel@gnu.org (trivial
|
||||
patches include fixing typos, etc.)
|
||||
|
||||
A rule for ‘distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz’
|
||||
needs to be added in ‘Makefile.am’, with the appropriate hexadecimal
|
||||
vrepresentation of its SHA256 hash.
|
||||
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’.
|
||||
|
||||
You may then revert your changes to ‘bootstrap.scm’. For the variables
|
||||
‘%bootstrap-coreutils&co’, ‘%bootstrap-binutils’, ‘%bootstrap-glibc’,
|
||||
and ‘%bootstrap-gcc’, the expected SHA256 of the corresponding tarballs
|
||||
for ‘i686-linux’ (built above) must be added.
|
||||
|
||||
This should be enough to bootstrap the distro without resorting to
|
||||
Nixpkgs.
|
||||
|
||||
** When the platform is *not* supported by Nixpkgs
|
||||
|
||||
In that case, the bootstrap binaries should be built using whatever
|
||||
tools are available on the target platform. That is, the tarballs and
|
||||
binaries show above must first be built manually, using the available
|
||||
tools.
|
||||
|
||||
They should have the same properties as those built by the Guix recipes
|
||||
shown above. For example, all the binaries (except for glibc) must be
|
||||
statically-linked; the bootstrap Guile must be relocatable (see patch in
|
||||
the Guix distro); the static-binaries tarball must contain the same
|
||||
programs (Coreutils, Grep, sed, Awk, etc.); and so on.
|
||||
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.
|
||||
|
||||
+125
-163
@@ -18,205 +18,114 @@
|
||||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
bin_SCRIPTS = \
|
||||
guix-build \
|
||||
guix-download \
|
||||
guix-import \
|
||||
guix-package \
|
||||
guix-gc
|
||||
scripts/guix
|
||||
|
||||
nodist_noinst_SCRIPTS = \
|
||||
pre-inst-env \
|
||||
test-env
|
||||
|
||||
include gnu-system.am
|
||||
|
||||
MODULES = \
|
||||
guix/scripts/build.scm \
|
||||
guix/scripts/download.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/refresh.scm \
|
||||
guix/base32.scm \
|
||||
guix/records.scm \
|
||||
guix/hash.scm \
|
||||
guix/utils.scm \
|
||||
guix/serialization.scm \
|
||||
guix/nar.scm \
|
||||
guix/derivations.scm \
|
||||
guix/download.scm \
|
||||
guix/gnu-maintenance.scm \
|
||||
guix/licenses.scm \
|
||||
guix/build-system.scm \
|
||||
guix/build-system/cmake.scm \
|
||||
guix/build-system/gnu.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/ui.scm \
|
||||
guix/build/download.scm \
|
||||
guix/build/cmake-build-system.scm \
|
||||
guix/build/gnu-build-system.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/rpath.scm \
|
||||
guix/packages.scm \
|
||||
guix/snix.scm \
|
||||
guix.scm \
|
||||
gnu/packages.scm \
|
||||
gnu/packages/acl.scm \
|
||||
gnu/packages/algebra.scm \
|
||||
gnu/packages/aspell.scm \
|
||||
gnu/packages/attr.scm \
|
||||
gnu/packages/autotools.scm \
|
||||
gnu/packages/base.scm \
|
||||
gnu/packages/bash.scm \
|
||||
gnu/packages/bdb.scm \
|
||||
gnu/packages/bdw-gc.scm \
|
||||
gnu/packages/bison.scm \
|
||||
gnu/packages/bootstrap.scm \
|
||||
gnu/packages/check.scm \
|
||||
gnu/packages/compression.scm \
|
||||
gnu/packages/cpio.scm \
|
||||
gnu/packages/cyrus-sasl.scm \
|
||||
gnu/packages/dejagnu.scm \
|
||||
gnu/packages/ddrescue.scm \
|
||||
gnu/packages/ed.scm \
|
||||
gnu/packages/emacs.scm \
|
||||
gnu/packages/file.scm \
|
||||
gnu/packages/flex.scm \
|
||||
gnu/packages/gawk.scm \
|
||||
gnu/packages/gdb.scm \
|
||||
gnu/packages/gdbm.scm \
|
||||
gnu/packages/gettext.scm \
|
||||
gnu/packages/global.scm \
|
||||
gnu/packages/gnupg.scm \
|
||||
gnu/packages/gnutls.scm \
|
||||
gnu/packages/gperf.scm \
|
||||
gnu/packages/gsasl.scm \
|
||||
gnu/packages/guile.scm \
|
||||
gnu/packages/help2man.scm \
|
||||
gnu/packages/icu4c.scm \
|
||||
gnu/packages/idutils.scm \
|
||||
gnu/packages/indent.scm \
|
||||
gnu/packages/ld-wrapper.scm \
|
||||
gnu/packages/less.scm \
|
||||
gnu/packages/libffi.scm \
|
||||
gnu/packages/libidn.scm \
|
||||
gnu/packages/libjpeg.scm \
|
||||
gnu/packages/libsigsegv.scm \
|
||||
gnu/packages/libtiff.scm \
|
||||
gnu/packages/libunistring.scm \
|
||||
gnu/packages/libusb.scm \
|
||||
gnu/packages/linux.scm \
|
||||
gnu/packages/lout.scm \
|
||||
gnu/packages/lsh.scm \
|
||||
gnu/packages/m4.scm \
|
||||
gnu/packages/mailutils.scm \
|
||||
gnu/packages/make-bootstrap.scm \
|
||||
gnu/packages/mit-krb5.scm \
|
||||
gnu/packages/multiprecision.scm \
|
||||
gnu/packages/mysql.scm \
|
||||
gnu/packages/nano.scm \
|
||||
gnu/packages/ncurses.scm \
|
||||
gnu/packages/nettle.scm \
|
||||
gnu/packages/openssl.scm \
|
||||
gnu/packages/perl.scm \
|
||||
gnu/packages/pkg-config.scm \
|
||||
gnu/packages/pth.scm \
|
||||
gnu/packages/python.scm \
|
||||
gnu/packages/readline.scm \
|
||||
gnu/packages/recutils.scm \
|
||||
gnu/packages/rsync.scm \
|
||||
gnu/packages/scheme.scm \
|
||||
gnu/packages/shishi.scm \
|
||||
gnu/packages/system.scm \
|
||||
gnu/packages/tcl.scm \
|
||||
gnu/packages/texinfo.scm \
|
||||
gnu/packages/time.scm \
|
||||
gnu/packages/wget.scm \
|
||||
gnu/packages/which.scm \
|
||||
gnu/packages/xml.scm \
|
||||
gnu/packages/zile.scm
|
||||
$(GNU_SYSTEM_MODULES)
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go
|
||||
|
||||
nobase_dist_guilemodule_DATA = $(MODULES)
|
||||
|
||||
patchdir = $(guilemoduledir)/gnu/packages/patches
|
||||
dist_patch_DATA = \
|
||||
gnu/packages/patches/bigloo-gc-shebangs.patch \
|
||||
gnu/packages/patches/binutils-ld-new-dtags.patch \
|
||||
gnu/packages/patches/cpio-gets-undeclared.patch \
|
||||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||
gnu/packages/patches/emacs-configure-sh.patch \
|
||||
gnu/packages/patches/flex-bison-tests.patch \
|
||||
gnu/packages/patches/gawk-shell.patch \
|
||||
gnu/packages/patches/gettext-gets-undeclared.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-no-ld-so-cache.patch \
|
||||
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
gnu/packages/patches/guile-default-utf8.patch \
|
||||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/libtool-skip-tests.patch \
|
||||
gnu/packages/patches/lsh-guile-compat.patch \
|
||||
gnu/packages/patches/lsh-no-root-login.patch \
|
||||
gnu/packages/patches/lsh-pam-service-name.patch \
|
||||
gnu/packages/patches/m4-gets-undeclared.patch \
|
||||
gnu/packages/patches/m4-readlink-EINVAL.patch \
|
||||
gnu/packages/patches/m4-s_isdir.patch \
|
||||
gnu/packages/patches/make-impure-dirs.patch \
|
||||
gnu/packages/patches/findutils-absolute-paths.patch \
|
||||
gnu/packages/patches/perl-no-sys-dirs.patch \
|
||||
gnu/packages/patches/procps-make-3.82.patch \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
gnu/packages/patches/shishi-gets-undeclared.patch \
|
||||
gnu/packages/patches/tar-gets-undeclared.patch
|
||||
|
||||
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
|
||||
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
|
||||
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-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
|
||||
|
||||
# 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.7.tar.xz
|
||||
nodist_bootstrap_i686_linux_DATA = \
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.7.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)
|
||||
|
||||
# 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.7.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c"
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c"
|
||||
|
||||
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
|
||||
|
||||
TESTS = \
|
||||
# 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
|
||||
|
||||
|
||||
SCM_TESTS = \
|
||||
tests/base32.scm \
|
||||
tests/hash.scm \
|
||||
tests/builders.scm \
|
||||
tests/derivations.scm \
|
||||
tests/ui.scm \
|
||||
tests/records.scm \
|
||||
tests/utils.scm \
|
||||
tests/build-utils.scm \
|
||||
tests/packages.scm \
|
||||
tests/snix.scm \
|
||||
tests/store.scm \
|
||||
tests/union.scm \
|
||||
tests/nar.scm \
|
||||
tests/union.scm
|
||||
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
tests/guix-download.sh \
|
||||
tests/guix-gc.sh \
|
||||
tests/guix-hash.sh \
|
||||
tests/guix-package.sh
|
||||
|
||||
if BUILD_DAEMON
|
||||
|
||||
SH_TESTS += tests/guix-register.sh
|
||||
|
||||
endif BUILD_DAEMON
|
||||
|
||||
|
||||
TESTS = $(SCM_TESTS) $(SH_TESTS)
|
||||
|
||||
TEST_EXTENSIONS = .scm .sh
|
||||
|
||||
AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)"
|
||||
@@ -227,13 +136,26 @@ 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)
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
HACKING \
|
||||
ROADMAP \
|
||||
TODO \
|
||||
.dir-locals.el \
|
||||
hydra.scm \
|
||||
build-aux/hydra/gnu-system.scm \
|
||||
build-aux/hydra/guix.scm \
|
||||
build-aux/check-available-binaries.scm \
|
||||
build-aux/download.scm \
|
||||
build-aux/list-packages.scm \
|
||||
build-aux/sync-synopses.scm \
|
||||
srfi/srfi-37.scm.in \
|
||||
srfi/srfi-64.scm \
|
||||
srfi/srfi-64.upstream.scm \
|
||||
tests/test.drv \
|
||||
@@ -242,10 +164,19 @@ EXTRA_DIST = \
|
||||
release.nix \
|
||||
$(TESTS)
|
||||
|
||||
CLEANFILES = $(GOBJECTS) *.log
|
||||
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 "$@"`
|
||||
$(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 \
|
||||
@@ -264,8 +195,7 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
|
||||
|
||||
SUBDIRS = po
|
||||
|
||||
info_TEXINFOS = doc/guix.texi
|
||||
EXTRA_DIST += doc/fdl-1.3.texi
|
||||
include doc.am
|
||||
|
||||
if BUILD_DAEMON
|
||||
|
||||
@@ -278,3 +208,35 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \
|
||||
--with-nix-prefix="$(NIX_PREFIX)" \
|
||||
--enable-daemon
|
||||
|
||||
dist-hook: sync-synopses gen-ChangeLog assert-no-store-file-names
|
||||
distcheck-hook: assert-binaries-available
|
||||
|
||||
sync-synopses:
|
||||
-$(top_builddir)/pre-inst-env $(GUILE) \
|
||||
$(top_srcdir)/build-aux/sync-synopses.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 /nix/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-synopses gen-ChangeLog
|
||||
.PHONY: assert-no-store-file-names assert-binaries-available
|
||||
|
||||
@@ -1 +1,350 @@
|
||||
No news yet.
|
||||
-*- org -*-
|
||||
#+TITLE: Guix NEWS – history of user-visible changes
|
||||
#+STARTUP: content hidestars
|
||||
|
||||
Copyright © 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.
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* 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.
|
||||
|
||||
@@ -20,7 +20,7 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
|
||||
|
||||
GNU Guix currently depends on the following packages:
|
||||
|
||||
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]]
|
||||
- [[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:
|
||||
@@ -33,23 +33,48 @@ When `--disable-daemon' was passed, you instead need the following:
|
||||
|
||||
- [[http://nixos.org/nix/][Nix]]
|
||||
|
||||
Optionally, packages from Nixpkgs may be transparently reused from Guix.
|
||||
For this to work, you need to have a checkout of the Nixpkgs repository;
|
||||
the `--with-nixpkgs' option allows you to let `configure' know where the
|
||||
Nixpkgs checkout is.
|
||||
* Installation
|
||||
|
||||
- [[http://nixos.org/nixpkgs/][Nixpkgs]]
|
||||
See the manual for the installation instructions, either by running
|
||||
|
||||
When building Guix from a checkout, the following packages are also
|
||||
required:
|
||||
info -f doc/guix.info "(guix) Installation"
|
||||
|
||||
- [[http://www.gnu.org/software/autoconf/][GNU Autoconf]]
|
||||
- [[http://www.gnu.org/software/automake/][GNU Automake]]
|
||||
- [[http://www.gnu.org/software/gettext/][GNU Gettext]]
|
||||
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
|
||||
|
||||
The "autoreconf -vi" command can be used to generate the build system
|
||||
infrastructure; it reports an error if an inappropriate version of the
|
||||
above packages is being used.
|
||||
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. You should have the following packages installed in your user
|
||||
profile:
|
||||
|
||||
- autoconf
|
||||
- automake
|
||||
- bzip2
|
||||
- gcc
|
||||
- gettext
|
||||
- glibc
|
||||
- guile
|
||||
- ld-wrapper
|
||||
- libgcrypt
|
||||
- pkg-config
|
||||
- sqlite
|
||||
|
||||
- set the environment variables that Guix recommends you to set during the
|
||||
package installation process:
|
||||
ACLOCAL, CPATH, LIBRARY_PATH, PATH, PKG_CONFIG_PATH
|
||||
In addition, set
|
||||
GUIX_LD_WRAPPER_ALLOW_IMPURITIES=yes
|
||||
|
||||
- re-run the configure script passing it the option
|
||||
`--with-libgcrypt-prefix=$HOME/.guix-profile/'
|
||||
|
||||
- run "make" and "make install"
|
||||
|
||||
* How It Works
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#+TITLE: Tentative GNU Guix Road Map
|
||||
|
||||
Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
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
|
||||
@@ -20,7 +20,7 @@ The goals of the GNU Guix project are two-fold:
|
||||
This documents lists tentative milestones toward these goals.
|
||||
|
||||
|
||||
* GNU Guix 0.1: Dec. 2012
|
||||
* GNU Guix 0.1: Jan. 2013 (was: Dec. 2012)
|
||||
|
||||
** basic package management facilities
|
||||
|
||||
@@ -41,6 +41,11 @@ Including install, upgrade, remove, roll-back, and search.
|
||||
- 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
|
||||
|
||||
@@ -3,6 +3,21 @@ 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, or general infrastructure help:
|
||||
suggestions, bug reports, patches, internationalization, or general
|
||||
infrastructure help:
|
||||
|
||||
Jason Self <jself@gnu.org>
|
||||
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>
|
||||
Matthew Lien <bluet@bluet.org>
|
||||
Yutaka Niibe <gniibe@fsij.org>
|
||||
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
Jason Self <jself@gnu.org>
|
||||
Alen Skondro <askondro@gmail.com>
|
||||
Matthias Wachs <wachs@net.in.tum.de>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
-*- 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,
|
||||
@@ -8,12 +11,6 @@ Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
* integrate needed Nix code
|
||||
|
||||
Guix uses Nix’s daemon (‘nix-worker’, later renamed to ‘nix-daemon’) to
|
||||
actually perform builds, scheduling, substitution of pre-built binaries,
|
||||
and GC-related tasks. The daemon mainly uses ‘libstore’ from Nix.
|
||||
Integrating it in Guix itself will make Guix self-contained, thereby
|
||||
simplifying our users’ lives.
|
||||
|
||||
** Remove dependency on OpenSSL
|
||||
|
||||
The ‘openssl’ command-line tool is used in libstore to sign store paths
|
||||
@@ -23,11 +20,13 @@ X.509 SubjectPublicKeyInfo. These can be decoded with the [[http://lists.gnu.or
|
||||
GnuTLS]], but not yet with its Guile bindings. There’s also
|
||||
‘gnutls_privkey_sign_data’ to sign, and related functions.
|
||||
|
||||
** Add a binary cache substituter
|
||||
|
||||
Like scripts/download-from-binary-cache.pl in Nix, but written in
|
||||
Scheme. Substituters allow pre-built binaries to be downloaded when
|
||||
they are available from a trusted source.
|
||||
** 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.
|
||||
|
||||
** MAYBE Add a substituter that uses the GNUnet DHT
|
||||
|
||||
@@ -39,23 +38,13 @@ they trust.
|
||||
|
||||
Like scripts/build-remote.pl in Nix.
|
||||
|
||||
* infrastructure
|
||||
|
||||
** have a Hydra instance build Guix packages
|
||||
|
||||
[[http://nixos.org/hydra/][Hydra]] is a continuous integration tool based on Nix. It now has
|
||||
[[https://github.com/NixOS/hydra/commit/f27ae1d5663680400cb99cfb898970f34d8d21be][Guile/Guix support]], which allows “build recipes” written in Guile using
|
||||
Guix to be used directly on Hydra.
|
||||
|
||||
For a start, we may use the instance at hydra.nixos.org, generously
|
||||
provided by TU Delft. However, in the future, we may want to setup our
|
||||
own instance at gnu.org.
|
||||
|
||||
* user interface
|
||||
** Add a package.el (Emacs) back-end
|
||||
|
||||
Unfortunately package.el is monolithic, so most likely we’d have to
|
||||
write a new one based on it, as opposed to actually using it.
|
||||
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 <origin>
|
||||
** add OpenPGP signatures:
|
||||
@@ -70,11 +59,11 @@ write a new one based on it, as opposed to actually using it.
|
||||
|
||||
* extend <package>
|
||||
|
||||
** add support for ‘search-paths’
|
||||
** add ‘recommends’ field
|
||||
|
||||
This should be passed to the build system, to extend package-specific
|
||||
search path environment variables–like ‘GUILE_LOAD_PATH’, ‘PERL5LIB’,
|
||||
etc.
|
||||
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’
|
||||
|
||||
@@ -95,11 +84,16 @@ create a new ‘dir’.
|
||||
("i3" ,p3)))
|
||||
#+END_SRC
|
||||
|
||||
* support cross-compilation
|
||||
|
||||
Implement ‘package-cross-derivation’, and add the corresponding code in
|
||||
‘gnu-build-system’. Then, actually bootstrap a cross-compilation
|
||||
environment–e.g., a cross-GNU environment.
|
||||
* synchronize package descriptions with GSRC and/or 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.
|
||||
|
||||
See http://lists.gnu.org/archive/html/bug-guix/2013-04/msg00120.html for info
|
||||
on how to synchronize with GSRC's descriptions.
|
||||
|
||||
* add a guildhall build system
|
||||
|
||||
@@ -107,19 +101,6 @@ 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.
|
||||
|
||||
* gnu-build-system: produce a ‘debug’ derivation
|
||||
|
||||
Set a .gnu_debuglink in the main derivations to point to the sibling
|
||||
file name (only the basename, to not retain a dependency on the ‘debug’
|
||||
derivation.)
|
||||
|
||||
For /nix/store/xyz-foobar/bin/foo, we should have
|
||||
/nix/store/abc-foobar-debug/lib/nix/store/xyz-foobar/bin/foo.debug (info
|
||||
"(gdb) Separate Debug Files").
|
||||
|
||||
Users should have a default GDB setting with ~/.guix-profile/lib/debug
|
||||
as their ‘debug-file-directory’.
|
||||
|
||||
* build-expression->derivation: define `%system' in the builder
|
||||
|
||||
Would allow build expressions to have system-dependent code, like
|
||||
@@ -135,24 +116,30 @@ Support sophisticated collision handling when building a union: check
|
||||
whether the colliding files are identical, honor per-package priorities,
|
||||
etc.
|
||||
|
||||
* guix-package
|
||||
* 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 package
|
||||
|
||||
** add ‘--roll-back’
|
||||
** add ‘--list-generations’, and ‘--delete-generations’
|
||||
** add ‘--upgrade’
|
||||
** add ‘--search’
|
||||
|
||||
* guix build utils
|
||||
** Add equivalent to "rm -rf"
|
||||
** Add equivalent to Nixpkgs's ‘wrapProgram’
|
||||
** Add equivalent to chrpath, possibly using [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
|
||||
** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name
|
||||
|
||||
** Add a hash-rewriting thing for deep dependency replacement without rebuild
|
||||
** 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
|
||||
** choose a name! (Jinn?)
|
||||
** port to new GNU/Linux platforms, notably ‘mipsel64-linux’
|
||||
** port to GNU/Hurd, aka. ‘i686-gnu’
|
||||
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
;;; 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/>.
|
||||
|
||||
;;;
|
||||
;;; 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))))
|
||||
|
||||
(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)))
|
||||
@@ -25,7 +25,8 @@
|
||||
(web client)
|
||||
(rnrs io ports)
|
||||
(srfi srfi-11)
|
||||
(guix utils))
|
||||
(guix utils)
|
||||
(guix hash))
|
||||
|
||||
(define %url-base
|
||||
"http://alpha.gnu.org/gnu/guix/bootstrap"
|
||||
@@ -34,6 +35,11 @@
|
||||
;;"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 #\/)))
|
||||
|
||||
Executable
+432
@@ -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:
|
||||
@@ -0,0 +1,159 @@
|
||||
;;; 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/>.
|
||||
|
||||
;;;
|
||||
;;; 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 store)
|
||||
(guix packages)
|
||||
(guix derivations)
|
||||
((guix utils) #:select (%current-system))
|
||||
(gnu packages)
|
||||
(gnu packages base)
|
||||
(gnu packages gawk)
|
||||
(gnu packages guile)
|
||||
(gnu packages gettext)
|
||||
(gnu packages multiprecision)
|
||||
(gnu packages make-bootstrap)
|
||||
(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 (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
|
||||
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
||||
gawk gettext hello guile-2.0
|
||||
%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 (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 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)
|
||||
(append-map (lambda (target)
|
||||
(map (lambda (package)
|
||||
(package-cross-job store (job-name package)
|
||||
package target system))
|
||||
%packages-to-cross-build))
|
||||
%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)))
|
||||
(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)))
|
||||
@@ -0,0 +1,113 @@
|
||||
;;; 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/>.
|
||||
|
||||
;;;
|
||||
;;; 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)
|
||||
|
||||
(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))))))
|
||||
Executable
+370
@@ -0,0 +1,370 @@
|
||||
#!/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 (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 (source-url package)
|
||||
(let ((loc (package-location package)))
|
||||
(and loc
|
||||
(string-append "http://git.savannah.gnu.org/cgit/guix.git/tree/"
|
||||
(location-file loc) "#n"
|
||||
(number->string (location-line 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 (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)
|
||||
,(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
|
||||
@@ -0,0 +1,62 @@
|
||||
;;; 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 synopses 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)))))
|
||||
gnus)
|
||||
@@ -11,6 +11,14 @@ 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
|
||||
|
||||
@@ -95,6 +103,8 @@ if test "x$guix_build_daemon" = "xyes"; then
|
||||
|
||||
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])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
|
||||
|
||||
+27
-16
@@ -2,12 +2,12 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.68)
|
||||
AC_INIT([GNU Guix], [0.1], [bug-guix@gnu.org], [guix],
|
||||
[http://gnu.org/software/guix/])
|
||||
AC_INIT([GNU Guix], [0.4], [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])
|
||||
@@ -22,6 +22,7 @@ guilemoduledir="${datarootdir}/guile/site/2.0"
|
||||
AC_SUBST([guilemoduledir])
|
||||
|
||||
GUIX_SYSTEM_TYPE
|
||||
GUIX_ASSERT_SUPPORTED_SYSTEM
|
||||
|
||||
AC_ARG_WITH(store-dir,
|
||||
AC_HELP_STRING([--with-store-dir=PATH],
|
||||
@@ -40,13 +41,20 @@ AC_ARG_ENABLE([daemon],
|
||||
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|/usr/local|g"`"
|
||||
AC_SUBST([guix_localstatedir])
|
||||
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.0])
|
||||
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])],
|
||||
[case "$withval" in
|
||||
@@ -65,6 +73,12 @@ 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])],
|
||||
[case "$withval" in
|
||||
@@ -107,19 +121,16 @@ 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/config.scm
|
||||
guix-build
|
||||
guix-download
|
||||
guix-import
|
||||
guix-package
|
||||
guix-gc
|
||||
pre-inst-env
|
||||
test-env])
|
||||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_COMMANDS([commands-exec],
|
||||
[chmod +x guix-build guix-download guix-import guix-package guix-gc \
|
||||
pre-inst-env test-env])
|
||||
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
|
||||
|
||||
@@ -25,6 +25,8 @@ CLEANFILES += $(BUILT_SOURCES)
|
||||
|
||||
noinst_LIBRARIES = libformat.a libutil.a libstore.a
|
||||
|
||||
AM_CXXFLAGS = -Wall
|
||||
|
||||
libformat_a_SOURCES = \
|
||||
nix/boost/format/free_funcs.cc \
|
||||
nix/boost/format/parsing.cc \
|
||||
@@ -105,6 +107,7 @@ libstore_headers = \
|
||||
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)/nix\" \
|
||||
@@ -114,10 +117,11 @@ libstore_a_CPPFLAGS = \
|
||||
-DNIX_BIN_DIR=\"$(bindir)\" \
|
||||
-DOPENSSL_PATH="\"openssl\""
|
||||
|
||||
libstore_a_CFLAGS = \
|
||||
libstore_a_CXXFLAGS = \
|
||||
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
|
||||
|
||||
bin_PROGRAMS = guix-daemon
|
||||
sbin_PROGRAMS = guix-register
|
||||
|
||||
guix_daemon_SOURCES = \
|
||||
nix/nix-daemon/nix-daemon.cc \
|
||||
@@ -134,6 +138,21 @@ guix_daemon_LDADD = \
|
||||
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)
|
||||
|
||||
|
||||
libexec_PROGRAMS = nix-setuid-helper
|
||||
nix_setuid_helper_SOURCES = \
|
||||
nix/nix-setuid-helper/nix-setuid-helper.cc
|
||||
@@ -158,7 +177,8 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql
|
||||
(write (get-string-all in) out)))))"
|
||||
|
||||
nodist_pkglibexec_SCRIPTS = \
|
||||
nix/scripts/list-runtime-roots
|
||||
nix/scripts/list-runtime-roots \
|
||||
nix/scripts/substitute-binary
|
||||
|
||||
EXTRA_DIST += \
|
||||
nix/sync-with-upstream \
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# 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
|
||||
|
||||
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: doc/images/bootstrap-graph.pdf
|
||||
info-local: doc/images/bootstrap-graph.png
|
||||
ps-local: doc/images/bootstrap-graph.eps
|
||||
+1018
-136
File diff suppressed because it is too large
Load Diff
@@ -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"];
|
||||
}
|
||||
+286
@@ -0,0 +1,286 @@
|
||||
# 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/>.
|
||||
|
||||
# Definitions for the GNU System: package modules, patches, bootstrap
|
||||
# binaries.
|
||||
|
||||
GNU_SYSTEM_MODULES = \
|
||||
gnu/packages.scm \
|
||||
gnu/packages/acl.scm \
|
||||
gnu/packages/algebra.scm \
|
||||
gnu/packages/apr.scm \
|
||||
gnu/packages/aspell.scm \
|
||||
gnu/packages/attr.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/bootstrap.scm \
|
||||
gnu/packages/cdrom.scm \
|
||||
gnu/packages/cflow.scm \
|
||||
gnu/packages/check.scm \
|
||||
gnu/packages/cmake.scm \
|
||||
gnu/packages/compression.scm \
|
||||
gnu/packages/cpio.scm \
|
||||
gnu/packages/cppi.scm \
|
||||
gnu/packages/cross-base.scm \
|
||||
gnu/packages/cryptsetup.scm \
|
||||
gnu/packages/curl.scm \
|
||||
gnu/packages/cyrus-sasl.scm \
|
||||
gnu/packages/dejagnu.scm \
|
||||
gnu/packages/ddrescue.scm \
|
||||
gnu/packages/dwm.scm \
|
||||
gnu/packages/ed.scm \
|
||||
gnu/packages/emacs.scm \
|
||||
gnu/packages/fdisk.scm \
|
||||
gnu/packages/file.scm \
|
||||
gnu/packages/flex.scm \
|
||||
gnu/packages/fonts.scm \
|
||||
gnu/packages/fontutils.scm \
|
||||
gnu/packages/freeipmi.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/gkrellm.scm \
|
||||
gnu/packages/glib.scm \
|
||||
gnu/packages/global.scm \
|
||||
gnu/packages/gnome.scm \
|
||||
gnu/packages/gnunet.scm \
|
||||
gnu/packages/gnupg.scm \
|
||||
gnu/packages/gnutls.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/gv.scm \
|
||||
gnu/packages/help2man.scm \
|
||||
gnu/packages/hugs.scm \
|
||||
gnu/packages/icu4c.scm \
|
||||
gnu/packages/idutils.scm \
|
||||
gnu/packages/imagemagick.scm \
|
||||
gnu/packages/indent.scm \
|
||||
gnu/packages/irssi.scm \
|
||||
gnu/packages/ld-wrapper.scm \
|
||||
gnu/packages/less.scm \
|
||||
gnu/packages/lesstif.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/linux-initrd.scm \
|
||||
gnu/packages/lout.scm \
|
||||
gnu/packages/lsh.scm \
|
||||
gnu/packages/lsof.scm \
|
||||
gnu/packages/lua.scm \
|
||||
gnu/packages/lvm.scm \
|
||||
gnu/packages/m4.scm \
|
||||
gnu/packages/mail.scm \
|
||||
gnu/packages/make-bootstrap.scm \
|
||||
gnu/packages/maths.scm \
|
||||
gnu/packages/mit-krb5.scm \
|
||||
gnu/packages/mp3.scm \
|
||||
gnu/packages/multiprecision.scm \
|
||||
gnu/packages/mysql.scm \
|
||||
gnu/packages/nano.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/oggvorbis.scm \
|
||||
gnu/packages/openldap.scm \
|
||||
gnu/packages/openssl.scm \
|
||||
gnu/packages/package-management.scm \
|
||||
gnu/packages/parted.scm \
|
||||
gnu/packages/patchelf.scm \
|
||||
gnu/packages/pcre.scm \
|
||||
gnu/packages/pdf.scm \
|
||||
gnu/packages/perl.scm \
|
||||
gnu/packages/pkg-config.scm \
|
||||
gnu/packages/plotutils.scm \
|
||||
gnu/packages/popt.scm \
|
||||
gnu/packages/pth.scm \
|
||||
gnu/packages/python.scm \
|
||||
gnu/packages/qemu.scm \
|
||||
gnu/packages/ratpoison.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/shishi.scm \
|
||||
gnu/packages/smalltalk.scm \
|
||||
gnu/packages/sqlite.scm \
|
||||
gnu/packages/ssh.scm \
|
||||
gnu/packages/system.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/unrtf.scm \
|
||||
gnu/packages/valgrind.scm \
|
||||
gnu/packages/version-control.scm \
|
||||
gnu/packages/vim.scm \
|
||||
gnu/packages/vpn.scm \
|
||||
gnu/packages/w3m.scm \
|
||||
gnu/packages/wdiff.scm \
|
||||
gnu/packages/wget.scm \
|
||||
gnu/packages/which.scm \
|
||||
gnu/packages/wordnet.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/system/dmd.scm \
|
||||
gnu/system/grub.scm \
|
||||
gnu/system/linux.scm \
|
||||
gnu/system/shadow.scm \
|
||||
gnu/system/vm.scm
|
||||
|
||||
patchdir = $(guilemoduledir)/gnu/packages/patches
|
||||
dist_patch_DATA = \
|
||||
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/cdparanoia-fpic.patch \
|
||||
gnu/packages/patches/cmake-fix-tests.patch \
|
||||
gnu/packages/patches/cpio-gets-undeclared.patch \
|
||||
gnu/packages/patches/dbus-localstatedir.patch \
|
||||
gnu/packages/patches/diffutils-gets-undeclared.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/glib-tests-desktop.patch \
|
||||
gnu/packages/patches/glib-tests-homedir.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/glibc-no-ld-so-cache.patch \
|
||||
gnu/packages/patches/grub-gets-undeclared.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/hop-bigloo-4.0b.patch \
|
||||
gnu/packages/patches/libevent-dns-tests.patch \
|
||||
gnu/packages/patches/libtool-skip-tests.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/mcron-install.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-dbm.patch \
|
||||
gnu/packages/patches/qemu-multiple-smb-shares.patch \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
gnu/packages/patches/ripperx-libm.patch \
|
||||
gnu/packages/patches/scheme48-tests.patch \
|
||||
gnu/packages/patches/tar-gets-undeclared.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/xpdf-constchar.patch
|
||||
|
||||
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
|
||||
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
|
||||
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-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
|
||||
|
||||
# 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.7.tar.xz
|
||||
nodist_bootstrap_i686_linux_DATA = \
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.7.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)
|
||||
|
||||
# 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.7.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c"
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c"
|
||||
+48
-16
@@ -1,5 +1,6 @@
|
||||
;;; 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.
|
||||
;;;
|
||||
@@ -18,8 +19,11 @@
|
||||
|
||||
(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)
|
||||
@@ -28,7 +32,8 @@
|
||||
%patch-directory
|
||||
%bootstrap-binaries-path
|
||||
fold-packages
|
||||
find-packages-by-name))
|
||||
find-packages-by-name
|
||||
find-newest-available-packages))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
@@ -86,9 +91,8 @@
|
||||
result)
|
||||
(const #f) ; skip
|
||||
(lambda (path stat errno result)
|
||||
(format (current-error-port)
|
||||
(_ "warning: cannot access `~a': ~a~%")
|
||||
path (strerror errno))
|
||||
(warning (_ "cannot access `~a': ~a~%")
|
||||
path (strerror errno))
|
||||
result)
|
||||
'()
|
||||
%distro-module-directory
|
||||
@@ -108,18 +112,24 @@
|
||||
|
||||
(define (fold-packages proc init)
|
||||
"Call (PROC PACKAGE RESULT) for each available package, using INIT as
|
||||
the initial value of RESULT."
|
||||
(fold (lambda (module result)
|
||||
(fold (lambda (var result)
|
||||
(if (package? var)
|
||||
(proc var result)
|
||||
result))
|
||||
result
|
||||
(module-map (lambda (sym var)
|
||||
(false-if-exception (variable-ref var)))
|
||||
module)))
|
||||
init
|
||||
(package-modules)))
|
||||
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,
|
||||
@@ -137,3 +147,25 @@ then only return packages whose version is equal to VERSION."
|
||||
(cons package result)
|
||||
result))
|
||||
'()))
|
||||
|
||||
(define (find-newest-available-packages)
|
||||
"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))
|
||||
|
||||
+18
-11
@@ -45,22 +45,29 @@
|
||||
'configure 'patch-makefile-SHELL
|
||||
(lambda _
|
||||
(patch-makefile-SHELL "include/buildmacros"))
|
||||
(alist-replace
|
||||
'check
|
||||
(lambda _
|
||||
(system* "make" "tests" "-C" "test")
|
||||
,(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))))
|
||||
;; XXX: Ignore the test result since this is
|
||||
;; dependent on the underlying file system.
|
||||
#t)
|
||||
%standard-phases)))))
|
||||
(inputs `(("attr" ,attr)
|
||||
("gettext" ,guix:gettext)
|
||||
("perl" ,perl)))
|
||||
|
||||
;; Perl is needed to run tests; remove it from cross builds.
|
||||
,@(if (%current-target-system)
|
||||
'()
|
||||
`(("perl" ,perl)))))
|
||||
(native-inputs
|
||||
`(("gettext" ,guix: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 '(gpl2+ lgpl2.1+))))
|
||||
(license (list gpl2+ lgpl2.1+))))
|
||||
|
||||
+26
-53
@@ -32,7 +32,7 @@
|
||||
(define-public mpfrcx
|
||||
(package
|
||||
(name "mpfrcx")
|
||||
(version "0.4.1")
|
||||
(version "0.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -40,7 +40,7 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rrc75chxyicqjgg5mfhgbz7p9mx1fgh0qlx14a82m25vfhifnd1"))))
|
||||
"0grw66b255r574lvll1bqccm5myj2m8ajzsjaygcyq9zjnnbnhhy"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
@@ -60,14 +60,14 @@ multiplication routines such as Toom–Cook and the FFT. ")
|
||||
(define-public fplll
|
||||
(package
|
||||
(name "fplll")
|
||||
(version "4.0.1")
|
||||
(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
|
||||
"122bpqdlikshhd7nmq0l5qfc0agyk7x21gvplv1l9hb77l8cy9rw"))))
|
||||
"1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)))
|
||||
@@ -78,68 +78,41 @@ solve the shortest vector problem.")
|
||||
(license lgpl2.1+)
|
||||
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
|
||||
|
||||
(define-public gsl
|
||||
(package
|
||||
(name "gsl")
|
||||
(version "1.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gsl/gsl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/gsl/")
|
||||
(synopsis "The GNU Scientific Library, a large numerical library")
|
||||
(description
|
||||
"The GNU Scientific Library (GSL) is a numerical library for C
|
||||
and C++ programmers. It is free software under the GNU General
|
||||
Public License.
|
||||
|
||||
The library provides a wide range of mathematical routines such
|
||||
as random number generators, special functions and least-squares
|
||||
fitting. There are over 1000 functions in total with an
|
||||
extensive test suite.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public pari-gp
|
||||
(package
|
||||
(name "pari-gp")
|
||||
(version "2.5.3")
|
||||
(version "2.5.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0zsjccnnv00kwj2gk3ww2v530kjin1rgj8p8hbl4pwcnwc7m68gl"))))
|
||||
"0gpsj5n8d1gyl7nq2y915sscs3d334ryrv8qgjdwqf3cr95f2dwz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("perl" ,perl)
|
||||
("readline" ,readline)))
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#: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 inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(readline (assoc-ref inputs "readline"))
|
||||
(gmp (assoc-ref inputs "gmp")))
|
||||
(zero?
|
||||
(system* "./Configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--with-readline=" readline)
|
||||
(string-append "--with-gmp=" gmp)))))
|
||||
;; FIXME: readline and gmp will be detected automatically in the next
|
||||
;; stable release
|
||||
%standard-phases))))
|
||||
'(#: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 inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(readline (assoc-ref inputs "readline"))
|
||||
(gmp (assoc-ref inputs "gmp")))
|
||||
(zero?
|
||||
(system* "./Configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--with-readline=" readline)
|
||||
(string-append "--with-gmp=" gmp)))))
|
||||
;; FIXME: readline and gmp will be detected automatically in the next
|
||||
;; stable release
|
||||
%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
|
||||
@@ -178,7 +151,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
(string-append "--prefix=" out)))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/bc/")
|
||||
(synopsis "GNU software calculator")
|
||||
(synopsis "Arbitrary precision numeric processing language")
|
||||
(description
|
||||
"bc is an arbitrary precision numeric processing language. Syntax
|
||||
is similar to C, but differs in many substantial areas. It supports
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
;;; 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"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs
|
||||
"patch/skip-test"))
|
||||
#:patch-flags '("-p0")))
|
||||
(inputs `(("perl" ,perl)
|
||||
("libtool" ,libtool)
|
||||
("patch/skip-test"
|
||||
,(search-patch "apr-skip-getservbyname-test.patch"))))
|
||||
(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)))
|
||||
@@ -38,8 +38,7 @@
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(home-page "http://aspell.net/")
|
||||
(synopsis
|
||||
"GNU Aspell, A spell checker for many languages")
|
||||
(synopsis "Spell checker")
|
||||
(description
|
||||
"GNU Aspell is a free spell checker designed to eventually replace
|
||||
Ispell. It can either be used as a library or as an independent spell
|
||||
|
||||
+27
-20
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -52,26 +52,33 @@
|
||||
"install"
|
||||
"install-lib"
|
||||
"install-dev")))
|
||||
(alist-replace
|
||||
'check
|
||||
(lambda _
|
||||
;; Use the right shell.
|
||||
(substitute* "test/run"
|
||||
(("/bin/sh")
|
||||
(which "bash")))
|
||||
|
||||
(system* "make" "tests" "-C" "test")
|
||||
;; 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")))
|
||||
|
||||
;; XXX: Ignore the test result since this is dependent on the
|
||||
;; underlying file system.
|
||||
#t)
|
||||
%standard-phases)))))
|
||||
(inputs `(("perl" ,perl)
|
||||
("gettext" ,guix:gettext)))
|
||||
(home-page
|
||||
"http://savannah.nongnu.org/projects/attr/")
|
||||
(synopsis
|
||||
"Library and tools for manipulating extended attributes")
|
||||
(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" ,guix: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 '(gpl2+ lgpl2.1+))))
|
||||
(license (list gpl2+ lgpl2.1+))))
|
||||
|
||||
+166
-41
@@ -22,9 +22,12 @@
|
||||
#: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 gnu)
|
||||
#:use-module (guix build-system trivial))
|
||||
|
||||
(define-public autoconf
|
||||
(package
|
||||
@@ -47,8 +50,7 @@
|
||||
(arguments `(#:tests? #f))
|
||||
(home-page
|
||||
"http://www.gnu.org/software/autoconf/")
|
||||
(synopsis
|
||||
"GNU Autoconf, a part of the GNU Build System")
|
||||
(synopsis "Create source code configuration scripts")
|
||||
(description
|
||||
"GNU Autoconf is an extensible package of M4 macros that produce
|
||||
shell scripts to automatically configure software source code
|
||||
@@ -59,31 +61,152 @@ file that lists the operating system features that the package
|
||||
can use, in the form of M4 macro calls.")
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
(define-public autoconf-wrapper
|
||||
;; An Autoconf wrapper 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.12.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/automake/automake-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q"))))
|
||||
(version "1.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/automake/automake-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("perl" ,perl)))
|
||||
(home-page
|
||||
"http://www.gnu.org/software/automake/")
|
||||
(synopsis
|
||||
"GNU Automake, a GNU standard-compliant makefile generator")
|
||||
`(("autoconf" ,autoconf-wrapper)
|
||||
("perl" ,perl)
|
||||
("patch/skip-amhello"
|
||||
,(search-patch "automake-skip-amhello-tests.patch"))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "ACLOCAL_PATH")
|
||||
(directories '("share/aclocal")))))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/skip-amhello"))
|
||||
#: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
|
||||
"GNU Automake is a tool for automatically generating
|
||||
`Makefile.in' files compliant with the GNU Coding
|
||||
Standards. Automake requires the use of Autoconf.")
|
||||
(license gpl2+))) ; some files are under GPLv3+
|
||||
(license gpl2+))) ; some files are under GPLv3+
|
||||
|
||||
(define-public libtool
|
||||
(package
|
||||
@@ -108,31 +231,33 @@ Standards. Automake requires the use of Autoconf.")
|
||||
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/skip-tests"))
|
||||
#: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)))
|
||||
,@(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)))
|
||||
;; Path references to /bin/sh.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "tests/testsuite"
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases)))))
|
||||
(inputs `(("patch/skip-tests"
|
||||
,(search-patch "libtool-skip-tests.patch"))))
|
||||
(synopsis "GNU Libtool, a generic library support script")
|
||||
(synopsis "Generic shared library support tools")
|
||||
(description
|
||||
"GNU libtool is a generic library support script. Libtool hides the
|
||||
complexity of using shared libraries behind a consistent, portable interface.
|
||||
|
||||
@@ -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 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"))))
|
||||
(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")
|
||||
#:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
("glib" ,glib)
|
||||
("dbus" ,dbus)
|
||||
("libdaemon" ,libdaemon)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("gdbm" ,gdbm)
|
||||
|
||||
("patch/localstatedir"
|
||||
,(search-patch "avahi-localstatedir.patch"))))
|
||||
(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+)))
|
||||
+298
-319
@@ -18,12 +18,14 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages base)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl3+ lgpl2.0+ public-domain))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
@@ -60,7 +62,7 @@
|
||||
,(string-append "--with-gawk=" ; for illustration purposes
|
||||
(assoc-ref %build-inputs "gawk")))))
|
||||
(inputs `(("gawk" ,gawk)))
|
||||
(synopsis "GNU Hello")
|
||||
(synopsis "Hello, GNU world: An example GNU package")
|
||||
(description "Yeah...")
|
||||
(home-page "http://www.gnu.org/software/hello/")
|
||||
(license gpl3+)))
|
||||
@@ -77,7 +79,7 @@
|
||||
(base32
|
||||
"1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "GNU implementation of the Unix grep command")
|
||||
(synopsis "Print lines matching a pattern")
|
||||
(description
|
||||
"The grep command searches one or more input files for lines containing a
|
||||
match to a specified pattern. By default, grep prints the matching
|
||||
@@ -88,27 +90,29 @@ lines.")
|
||||
(define-public sed
|
||||
(package
|
||||
(name "sed")
|
||||
(version "4.2.1")
|
||||
(version "4.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/sed/sed-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"13wlsb4sf5d5a82xjhxqmdvrrn36rmw5f0pl9qyb9zkvldnb7hra"))))
|
||||
"1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "GNU sed, a batch stream editor")
|
||||
(synopsis "Stream editor")
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-test-suite
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(patch-makefile-SHELL "testsuite/Makefile.tests")
|
||||
(substitute* '("testsuite/bsd.sh"
|
||||
"testsuite/bug-regex9.c")
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases)))
|
||||
(if (%current-target-system)
|
||||
'()
|
||||
`(#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-test-suite
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(patch-makefile-SHELL "testsuite/Makefile.tests")
|
||||
(substitute* '("testsuite/bsd.sh"
|
||||
"testsuite/bug-regex9.c")
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases))))
|
||||
(description
|
||||
"Sed (stream editor) isn't really a true text editor or text processor.
|
||||
Instead, it is used to filter text, i.e., it takes text input and performs
|
||||
@@ -133,7 +137,7 @@ substituting multiple occurrences of a string within a file.")
|
||||
(inputs `(("patch/gets" ,(search-patch "tar-gets-undeclared.patch"))))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
|
||||
(synopsis "GNU implementation of the `tar' archiver")
|
||||
(synopsis "Managing tar archives")
|
||||
(description
|
||||
"The Tar program provides the ability to create tar archives, as well as
|
||||
various other kinds of manipulation. For example, you can use Tar on
|
||||
@@ -151,22 +155,22 @@ files (as archives).")
|
||||
(define-public patch
|
||||
(package
|
||||
(name "patch")
|
||||
(version "2.6.1")
|
||||
(version "2.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/patch/patch-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18012gxs9wc96izskp1q7bclrwns6rdmkn4jj31c8jbyfz6l5npq"))))
|
||||
"1sqckf560pzwgniy00vcpdv2c9c11s4cmhlm14yqgg8avd3bl94i"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs '()) ; FIXME: needs `ed' for the tests
|
||||
(arguments
|
||||
(case-lambda
|
||||
((system) '(#:tests? #f))
|
||||
((system cross-system)
|
||||
'(#:configure-flags '("ac_cv_func_strnlen_working=yes")))))
|
||||
(synopsis "GNU Patch, a program to apply differences to files")
|
||||
'(#:tests? #f)
|
||||
;; TODO: When cross-compiling, add this:
|
||||
;; '(#:configure-flags '("ac_cv_func_strnlen_working=yes"))
|
||||
)
|
||||
(synopsis "Apply differences to originals, with optional backups")
|
||||
(description
|
||||
"GNU Patch takes a patch file containing a difference listing produced by
|
||||
the diff program and applies those differences to one or more original files,
|
||||
@@ -177,19 +181,16 @@ producing patched versions.")
|
||||
(define-public diffutils
|
||||
(package
|
||||
(name "diffutils")
|
||||
(version "3.2")
|
||||
(version "3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/diffutils/diffutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jci0wv68025xd0s0rq4s5qxpx56dd9d730lka63qpzk1rfvfkxb"))))
|
||||
"1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("patch/gets"
|
||||
,(search-patch "diffutils-gets-undeclared.patch"))))
|
||||
(arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
|
||||
(synopsis "Programs to find differences among text files")
|
||||
(synopsis "Comparing and merging files")
|
||||
(description
|
||||
"GNU Diffutils is a package of several programs related to finding
|
||||
differences between files.
|
||||
@@ -235,16 +236,14 @@ You can use the sdiff command to merge two files interactively.")
|
||||
`(("patch/absolute-paths"
|
||||
,(search-patch "findutils-absolute-paths.patch"))))
|
||||
(arguments
|
||||
(case-lambda
|
||||
((system)
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/absolute-paths"))))
|
||||
((system cross-system)
|
||||
;; Work around cross-compilation failure.
|
||||
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
|
||||
`(#:configure-flags '("gl_cv_func_wcwidth_works=yes")
|
||||
,@(arguments cross-system)))))
|
||||
(synopsis "Basic directory searching utilities of the GNU operating
|
||||
system")
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/absolute-paths"))
|
||||
|
||||
;; Work around cross-compilation failure.
|
||||
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
|
||||
,@(if (%current-target-system)
|
||||
'(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
|
||||
'())))
|
||||
(synopsis "Operating on files matching given criteria")
|
||||
(description
|
||||
"The GNU Find Utilities are the basic directory searching utilities of
|
||||
the GNU operating system. These programs are typically used in conjunction
|
||||
@@ -264,18 +263,23 @@ The tools supplied with this package are:
|
||||
(define-public coreutils
|
||||
(package
|
||||
(name "coreutils")
|
||||
(version "8.20")
|
||||
(version "8.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/coreutils/coreutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cly97xdy3v4nbbx631k43smqw0nnpn651kkprs0yyl2cj3pkjyv"))))
|
||||
"064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("acl" ,acl)
|
||||
(inputs `(("acl" ,acl) ; TODO: add SELinux
|
||||
("gmp" ,gmp)
|
||||
("perl" ,perl))) ; TODO: add SELinux
|
||||
|
||||
;; Perl is needed to run tests; remove it from cross builds.
|
||||
,@(if (%current-target-system)
|
||||
'()
|
||||
`(("perl" ,perl)))))
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
`(#:parallel-build? #f ; help2man may be called too early
|
||||
#:phases (alist-cons-before
|
||||
@@ -291,9 +295,7 @@ The tools supplied with this package are:
|
||||
(("#!/bin/sh")
|
||||
(format #f "#!~a/bin/bash" bash)))))
|
||||
%standard-phases)))
|
||||
(synopsis
|
||||
"The basic file, shell and text manipulation utilities of the GNU
|
||||
operating system")
|
||||
(synopsis "Core GNU utilities (file, text, shell)")
|
||||
(description
|
||||
"The GNU Core Utilities are the basic file, shell and text manipulation
|
||||
utilities of the GNU operating system. These are the core utilities which
|
||||
@@ -315,6 +317,7 @@ are expected to exist on every operating system.")
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch"))))
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/impure-dirs"))
|
||||
#:phases (alist-cons-before
|
||||
@@ -327,8 +330,7 @@ are expected to exist on every operating system.")
|
||||
(format #f "default_shell[] = \"~a/bin/bash\";\n"
|
||||
bash)))))
|
||||
%standard-phases)))
|
||||
(synopsis "GNU Make, a program controlling the generation of non-source
|
||||
files from sources")
|
||||
(synopsis "Remake files automatically")
|
||||
(description
|
||||
"Make is a tool which controls the generation of executables and other
|
||||
non-source files of a program from the program's source files.
|
||||
@@ -343,14 +345,14 @@ that it is possible to use Make to build and install the program.")
|
||||
(define-public binutils
|
||||
(package
|
||||
(name "binutils")
|
||||
(version "2.22")
|
||||
(version "2.23.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/binutils/binutils-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a9w66v5dwvbnawshjwqcgz7km6kw6ihkzp6sswv9ycc3knzhykc"))))
|
||||
"15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Split Binutils in several outputs, mostly to avoid collisions in
|
||||
@@ -368,10 +370,13 @@ that it is possible to use Make to build and install the program.")
|
||||
"LDFLAGS=-static-libgcc"
|
||||
|
||||
;; Don't search under /usr/lib & co.
|
||||
"--with-lib-path=/no-ld-lib-path")))
|
||||
"--with-lib-path=/no-ld-lib-path"
|
||||
|
||||
(synopsis "GNU Binutils, tools for manipulating binaries (linker,
|
||||
assembler, etc.)")
|
||||
;; Glibc 2.17 has a "comparison of unsigned
|
||||
;; expression >= 0 is always true" in wchar.h.
|
||||
"--disable-werror")))
|
||||
|
||||
(synopsis "Binary utilities: bfd gas gprof ld")
|
||||
(description
|
||||
"The GNU Binutils are a collection of binary tools. The main ones are
|
||||
`ld' (the GNU linker) and `as' (the GNU assembler). They also include the
|
||||
@@ -379,144 +384,45 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/binutils/")))
|
||||
|
||||
(define-public gcc-4.7
|
||||
(let ((stripped? #t)) ; TODO: make this a parameter
|
||||
(package
|
||||
(name "gcc")
|
||||
(version "4.7.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("mpc" ,mpc))) ; TODO: libelf, ppl, cloog, zlib, etc.
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:out-of-source? #t
|
||||
#:strip-binaries? ,stripped?
|
||||
#:configure-flags
|
||||
`("--enable-plugin"
|
||||
"--enable-languages=c,c++"
|
||||
"--disable-multilib"
|
||||
|
||||
"--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")))
|
||||
#:make-flags
|
||||
(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
`(,@(if libc
|
||||
(list (string-append "LDFLAGS_FOR_BUILD="
|
||||
"-L" libc "/lib "
|
||||
"-Wl,-dynamic-linker "
|
||||
"-Wl," libc
|
||||
,(glibc-dynamic-linker system)))
|
||||
'())
|
||||
,(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 system)))))
|
||||
|
||||
;; 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(64)?|linux-elf)\\.h$")
|
||||
(("#define LIB_SPEC (.*)$" _ suffix)
|
||||
;; Note that with this "lib" spec, we may still add a
|
||||
;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
|
||||
;; There's not much that can be done to avoid it, though.
|
||||
(format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
|
||||
%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a~%"
|
||||
libc libc out out suffix))
|
||||
(("#define 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=/nix/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))))))
|
||||
|
||||
(properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
|
||||
(synopsis "The GNU Compiler Collection")
|
||||
(description
|
||||
"The GNU Compiler Collection includes compiler front ends for C, C++,
|
||||
Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
|
||||
libraries for these languages (libstdc++, libgcj, libgomp,...).
|
||||
|
||||
GCC development is a part of the GNU Project, aiming to improve the compiler
|
||||
used in the GNU system including the GNU/Linux variant.")
|
||||
(license gpl3+)
|
||||
(home-page "http://gcc.gnu.org/"))))
|
||||
|
||||
(define-public glibc
|
||||
(package
|
||||
(name "glibc")
|
||||
(version "2.17")
|
||||
(version "2.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gmjnn4kma9vgizccw1jv979xw55a8n1nkk94gg0l3hy80vy6539"))))
|
||||
"18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
|
||||
;; users should automatically pull Linux headers as well.
|
||||
(propagated-inputs `(("linux-headers" ,linux-libre-headers)))
|
||||
|
||||
;; Store the locales separately (~100 MiB). Note that "out" retains a
|
||||
;; reference to them anyway, so there's no space savings here.
|
||||
;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like
|
||||
;; Nixpkgs does.
|
||||
(outputs '("out" "locales" "debug"))
|
||||
|
||||
(arguments
|
||||
`(#:out-of-source? #t
|
||||
#:patches (list (assoc-ref %build-inputs "patch/ld.so.cache"))
|
||||
#:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")
|
||||
(assoc-ref %build-inputs "patch/ldd"))
|
||||
#:configure-flags
|
||||
(list "--enable-add-ons"
|
||||
"--sysconfdir=/etc"
|
||||
"--localedir=/var/run/current-system/sw/lib/locale" ; XXX
|
||||
(string-append "--localedir=" (assoc-ref %outputs "locales")
|
||||
"/share/locale")
|
||||
|
||||
;; `--localedir' is not honored, so work around it.
|
||||
;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
|
||||
(string-append "libc_cv_localedir="
|
||||
(assoc-ref %outputs "locales")
|
||||
"/share/locale")
|
||||
|
||||
(string-append "--with-headers="
|
||||
(assoc-ref %build-inputs "linux-headers")
|
||||
"/include")
|
||||
@@ -582,9 +488,16 @@ used in the GNU system including the GNU/Linux variant.")
|
||||
(substitute* "libio/iopopen.c"
|
||||
(("/bin/sh")
|
||||
(string-append out "/bin/bash")))))
|
||||
%standard-phases)))
|
||||
(alist-cons-after
|
||||
'install 'install-locales
|
||||
(lambda _
|
||||
(zero? (system* "make" "localedata/install-locales")))
|
||||
%standard-phases))))
|
||||
|
||||
(inputs `(("patch/ld.so.cache"
|
||||
,(search-patch "glibc-no-ld-so-cache.patch"))
|
||||
("patch/ldd"
|
||||
,(search-patch "glibc-ldd-x86_64.patch"))
|
||||
("static-bash" ,(static-package bash-light))))
|
||||
(synopsis "The GNU C Library")
|
||||
(description
|
||||
@@ -597,6 +510,74 @@ with the Linux kernel.")
|
||||
(license lgpl2.0+)
|
||||
(home-page "http://www.gnu.org/software/libc/")))
|
||||
|
||||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
(version "2013d")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.iana.org/time-zones/repository/releases/tzdata"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"011v63ppr73vhjgxv00inkn5pc7z48i8lhbapkpdq3kfczq9c76d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out"))
|
||||
(tmp (getenv "TMPDIR")))
|
||||
(list (string-append "TOPDIR=" out)
|
||||
(string-append "TZDIR=" out "/share/zoneinfo")
|
||||
|
||||
;; Discard zic, dump, and tzselect, already
|
||||
;; provided by glibc.
|
||||
(string-append "ETCDIR=" tmp "/etc")
|
||||
|
||||
;; Likewise for the C library routines.
|
||||
(string-append "LIBDIR=" tmp "/lib")
|
||||
(string-append "MANDIR=" tmp "/man")
|
||||
|
||||
"AWK=awk"
|
||||
"CC=gcc"))
|
||||
#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(srfi srfi-1))
|
||||
#:phases
|
||||
(alist-replace
|
||||
'unpack
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(and (zero? (system* "tar" "xvf" (assoc-ref inputs "source")))
|
||||
(zero? (system* "tar" "xvf" (assoc-ref inputs "tzcode")))))
|
||||
(alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Move data in the right place.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(copy-recursively (string-append out "/share/zoneinfo-posix")
|
||||
(string-append out "/share/zoneinfo/posix"))
|
||||
(copy-recursively (string-append out "/share/zoneinfo-leaps")
|
||||
(string-append out "/share/zoneinfo/right"))
|
||||
(delete-file-recursively (string-append out "/share/zoneinfo-posix"))
|
||||
(delete-file-recursively (string-append out "/share/zoneinfo-leaps"))))
|
||||
(alist-delete 'configure %standard-phases)))))
|
||||
(inputs `(("tzcode" ,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.iana.org/time-zones/repository/releases/tzcode"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dh7nzmfxs8fps4bzcd2lz5fz24zxy2123a99avxsk34jh6bk7id"))))))
|
||||
(home-page "http://www.iana.org/time-zones")
|
||||
(synopsis "Database of current and historical time zones")
|
||||
(description "The Time Zone Database (often called tz or zoneinfo)
|
||||
contains code and data that represent the history of local time for many
|
||||
representative locations around the globe. It is updated periodically to
|
||||
reflect changes made by political bodies to time zone boundaries, UTC offsets,
|
||||
and daylight-saving rules.")
|
||||
(license public-domain)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Bootstrap packages.
|
||||
@@ -653,7 +634,8 @@ with the Linux kernel.")
|
||||
("findutils" ,findutils-boot0)
|
||||
,@%bootstrap-inputs))
|
||||
|
||||
(define* (nix-system->gnu-triplet system #:optional (vendor "unknown"))
|
||||
(define* (nix-system->gnu-triplet
|
||||
#:optional (system (%current-system)) (vendor "unknown"))
|
||||
"Return an a guess of the GNU triplet corresponding to Nix system
|
||||
identifier SYSTEM."
|
||||
(let* ((dash (string-index system #\-))
|
||||
@@ -665,10 +647,10 @@ identifier SYSTEM."
|
||||
"linux-gnu"
|
||||
os))))
|
||||
|
||||
(define boot-triplet
|
||||
(define* (boot-triplet #:optional (system (%current-system)))
|
||||
;; Return the triplet used to create the cross toolchain needed in the
|
||||
;; first bootstrapping stage.
|
||||
(cut nix-system->gnu-triplet <> "guix"))
|
||||
(nix-system->gnu-triplet system "guix"))
|
||||
|
||||
;; Following Linux From Scratch, build a cross-toolchain in stage 0. That
|
||||
;; toolchain actually targets the same OS and arch, but it has the advantage
|
||||
@@ -680,12 +662,12 @@ identifier SYSTEM."
|
||||
(package (inherit binutils)
|
||||
(name "binutils-cross-boot0")
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
,@(substitute-keyword-arguments (package-arguments binutils)
|
||||
((#:configure-flags cf)
|
||||
`(list ,(string-append "--target=" (boot-triplet system))))))))
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
,@(substitute-keyword-arguments (package-arguments binutils)
|
||||
((#:configure-flags cf)
|
||||
`(cons ,(string-append "--target=" (boot-triplet))
|
||||
,cf)))))
|
||||
(inputs %boot0-inputs))))
|
||||
|
||||
(define gcc-boot0
|
||||
@@ -693,82 +675,80 @@ identifier SYSTEM."
|
||||
(package (inherit gcc-4.7)
|
||||
(name "gcc-cross-boot0")
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#: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.7) system)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--target="
|
||||
(boot-triplet system))
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#: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.7)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--target=" (boot-triplet))
|
||||
|
||||
;; No libc yet.
|
||||
"--without-headers"
|
||||
;; No libc yet.
|
||||
"--without-headers"
|
||||
|
||||
;; Disable features not needed at this stage.
|
||||
"--disable-shared"
|
||||
"--enable-languages=c"
|
||||
"--disable-libmudflap"
|
||||
"--disable-libgomp"
|
||||
"--disable-libssp"
|
||||
"--disable-libquadmath"
|
||||
"--disable-decimal-float")
|
||||
(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags)))
|
||||
((#:phases phases)
|
||||
`(alist-cons-after
|
||||
'unpack 'unpack-gmp&co
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gmp (assoc-ref %build-inputs "gmp-source"))
|
||||
(mpfr (assoc-ref %build-inputs "mpfr-source"))
|
||||
(mpc (assoc-ref %build-inputs "mpc-source")))
|
||||
;; Disable features not needed at this stage.
|
||||
"--disable-shared"
|
||||
"--enable-languages=c"
|
||||
"--disable-libmudflap"
|
||||
"--disable-libgomp"
|
||||
"--disable-libssp"
|
||||
"--disable-libquadmath"
|
||||
"--disable-decimal-float")
|
||||
(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags)))
|
||||
((#:phases phases)
|
||||
`(alist-cons-after
|
||||
'unpack 'unpack-gmp&co
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gmp (assoc-ref %build-inputs "gmp-source"))
|
||||
(mpfr (assoc-ref %build-inputs "mpfr-source"))
|
||||
(mpc (assoc-ref %build-inputs "mpc-source")))
|
||||
|
||||
;; To reduce the set of pre-built bootstrap inputs, build
|
||||
;; GMP & co. from GCC.
|
||||
(for-each (lambda (source)
|
||||
(or (zero? (system* "tar" "xvf" source))
|
||||
(error "failed to unpack tarball"
|
||||
source)))
|
||||
(list gmp mpfr mpc))
|
||||
;; To reduce the set of pre-built bootstrap inputs, build
|
||||
;; GMP & co. from GCC.
|
||||
(for-each (lambda (source)
|
||||
(or (zero? (system* "tar" "xvf" source))
|
||||
(error "failed to unpack tarball"
|
||||
source)))
|
||||
(list gmp mpfr mpc))
|
||||
|
||||
;; Create symlinks like `gmp' -> `gmp-5.0.5'.
|
||||
,@(map (lambda (lib)
|
||||
`(symlink ,(package-full-name lib)
|
||||
,(package-name lib)))
|
||||
(list gmp mpfr mpc))
|
||||
;; Create symlinks like `gmp' -> `gmp-5.0.5'.
|
||||
,@(map (lambda (lib)
|
||||
`(symlink ,(package-full-name lib)
|
||||
,(package-name lib)))
|
||||
(list gmp mpfr mpc))
|
||||
|
||||
;; MPFR headers/lib are found under $(MPFR)/src, but
|
||||
;; `configure' wrongfully tells MPC too look under
|
||||
;; $(MPFR), so fix that.
|
||||
(substitute* "configure"
|
||||
(("extra_mpc_mpfr_configure_flags(.+)--with-mpfr-include=([^/]+)/mpfr(.*)--with-mpfr-lib=([^ ]+)/mpfr"
|
||||
_ equals include middle lib)
|
||||
(string-append "extra_mpc_mpfr_configure_flags" equals
|
||||
"--with-mpfr-include=" include
|
||||
"/mpfr/src" middle
|
||||
"--with-mpfr-lib=" lib
|
||||
"/mpfr/src"))
|
||||
(("gmpinc='-I([^ ]+)/mpfr -I([^ ]+)/mpfr" _ a b)
|
||||
(string-append "gmpinc='-I" a "/mpfr/src "
|
||||
"-I" b "/mpfr/src"))
|
||||
(("gmplibs='-L([^ ]+)/mpfr" _ a)
|
||||
(string-append "gmplibs='-L" a "/mpfr/src")))))
|
||||
(alist-cons-after
|
||||
'install 'symlink-libgcc_eh
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Glibc wants to link against libgcc_eh, so provide
|
||||
;; it.
|
||||
(with-directory-excursion
|
||||
(string-append out "/lib/gcc/"
|
||||
,(boot-triplet system)
|
||||
"/" ,(package-version gcc-4.7))
|
||||
(symlink "libgcc.a" "libgcc_eh.a"))))
|
||||
,phases)))))))
|
||||
;; MPFR headers/lib are found under $(MPFR)/src, but
|
||||
;; `configure' wrongfully tells MPC too look under
|
||||
;; $(MPFR), so fix that.
|
||||
(substitute* "configure"
|
||||
(("extra_mpc_mpfr_configure_flags(.+)--with-mpfr-include=([^/]+)/mpfr(.*)--with-mpfr-lib=([^ ]+)/mpfr"
|
||||
_ equals include middle lib)
|
||||
(string-append "extra_mpc_mpfr_configure_flags" equals
|
||||
"--with-mpfr-include=" include
|
||||
"/mpfr/src" middle
|
||||
"--with-mpfr-lib=" lib
|
||||
"/mpfr/src"))
|
||||
(("gmpinc='-I([^ ]+)/mpfr -I([^ ]+)/mpfr" _ a b)
|
||||
(string-append "gmpinc='-I" a "/mpfr/src "
|
||||
"-I" b "/mpfr/src"))
|
||||
(("gmplibs='-L([^ ]+)/mpfr" _ a)
|
||||
(string-append "gmplibs='-L" a "/mpfr/src")))))
|
||||
(alist-cons-after
|
||||
'install 'symlink-libgcc_eh
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Glibc wants to link against libgcc_eh, so provide
|
||||
;; it.
|
||||
(with-directory-excursion
|
||||
(string-append out "/lib/gcc/"
|
||||
,(boot-triplet)
|
||||
"/" ,(package-version gcc-4.7))
|
||||
(symlink "libgcc.a" "libgcc_eh.a"))))
|
||||
,phases))))))
|
||||
|
||||
(inputs `(("gmp-source" ,(package-source gmp))
|
||||
("mpfr-source" ,(package-source mpfr))
|
||||
@@ -778,7 +758,11 @@ identifier SYSTEM."
|
||||
;; Call it differently so that the builder can check whether
|
||||
;; the "libc" input is #f.
|
||||
("libc-native" ,@(assoc-ref %boot0-inputs "libc"))
|
||||
,@(alist-delete "libc" %boot0-inputs))))))
|
||||
,@(alist-delete "libc" %boot0-inputs)))
|
||||
|
||||
;; No need for Texinfo at this stage.
|
||||
(native-inputs (alist-delete "texinfo"
|
||||
(package-native-inputs gcc-4.7))))))
|
||||
|
||||
(define linux-libre-headers-boot0
|
||||
(package-with-bootstrap-guile
|
||||
@@ -812,20 +796,19 @@ identifier SYSTEM."
|
||||
(package (inherit glibc)
|
||||
(name "glibc-intermediate")
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
|
||||
,@(substitute-keyword-arguments (package-arguments glibc)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--host=" (boot-triplet system))
|
||||
,(string-append "--build="
|
||||
(nix-system->gnu-triplet system))
|
||||
,@(substitute-keyword-arguments (package-arguments glibc)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--host=" (boot-triplet))
|
||||
,(string-append "--build="
|
||||
(nix-system->gnu-triplet))
|
||||
|
||||
;; Build Sun/ONC RPC support. In particular,
|
||||
;; install rpc/*.h.
|
||||
"--enable-obsolete-rpc")
|
||||
,flags))))))
|
||||
;; Build Sun/ONC RPC support. In particular,
|
||||
;; install rpc/*.h.
|
||||
"--enable-obsolete-rpc")
|
||||
,flags)))))
|
||||
(propagated-inputs `(("linux-headers" ,linux-libre-headers-boot0)))
|
||||
(inputs
|
||||
`( ;; A native GCC is needed to build `cross-rpcgen'.
|
||||
@@ -847,40 +830,39 @@ that makes it available under the native tool names."
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(let* ((binutils (assoc-ref %build-inputs "binutils"))
|
||||
(gcc (assoc-ref %build-inputs "gcc"))
|
||||
(libc (assoc-ref %build-inputs "libc"))
|
||||
(bash (assoc-ref %build-inputs "bash"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(bindir (string-append out "/bin"))
|
||||
(triplet ,(boot-triplet system)))
|
||||
(mkdir-p bindir)
|
||||
(with-directory-excursion bindir
|
||||
(for-each (lambda (tool)
|
||||
(symlink (string-append binutils "/bin/"
|
||||
triplet "-" tool)
|
||||
tool))
|
||||
'("ar" "ranlib"))
|
||||
(let* ((binutils (assoc-ref %build-inputs "binutils"))
|
||||
(gcc (assoc-ref %build-inputs "gcc"))
|
||||
(libc (assoc-ref %build-inputs "libc"))
|
||||
(bash (assoc-ref %build-inputs "bash"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(bindir (string-append out "/bin"))
|
||||
(triplet ,(boot-triplet)))
|
||||
(mkdir-p bindir)
|
||||
(with-directory-excursion bindir
|
||||
(for-each (lambda (tool)
|
||||
(symlink (string-append binutils "/bin/"
|
||||
triplet "-" tool)
|
||||
tool))
|
||||
'("ar" "ranlib"))
|
||||
|
||||
;; GCC-BOOT0 is a libc-less cross-compiler, so it
|
||||
;; needs to be told where to find the crt files and
|
||||
;; the dynamic linker.
|
||||
(call-with-output-file "gcc"
|
||||
(lambda (p)
|
||||
(format p "#!~a/bin/bash
|
||||
;; GCC-BOOT0 is a libc-less cross-compiler, so it
|
||||
;; needs to be told where to find the crt files and
|
||||
;; the dynamic linker.
|
||||
(call-with-output-file "gcc"
|
||||
(lambda (p)
|
||||
(format p "#!~a/bin/bash
|
||||
exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
bash
|
||||
gcc triplet
|
||||
libc libc
|
||||
,(glibc-dynamic-linker system))))
|
||||
bash
|
||||
gcc triplet
|
||||
libc libc
|
||||
,(glibc-dynamic-linker))))
|
||||
|
||||
(chmod "gcc" #o555)))))))
|
||||
(chmod "gcc" #o555))))))
|
||||
(native-inputs
|
||||
`(("binutils" ,binutils)
|
||||
("gcc" ,gcc)
|
||||
@@ -896,9 +878,8 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
(car (assoc-ref %boot1-inputs "bash"))))
|
||||
(bash (package (inherit bash-light)
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
,@(package-arguments bash-light)))))))
|
||||
`(#:guile ,%bootstrap-guile
|
||||
,@(package-arguments bash-light))))))
|
||||
(package-with-bootstrap-guile
|
||||
(package-with-explicit-inputs (static-package bash)
|
||||
`(("gcc" ,gcc)
|
||||
@@ -932,10 +913,9 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
(package-with-bootstrap-guile
|
||||
(package (inherit binutils)
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
,@(package-arguments binutils))))
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
,@(package-arguments binutils)))
|
||||
(inputs %boot2-inputs))))
|
||||
|
||||
(define-public gcc-final
|
||||
@@ -943,23 +923,22 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
(package (inherit gcc-boot0)
|
||||
(name "gcc")
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
|
||||
;; Build again GMP & co. within GCC's build process, because it's hard
|
||||
;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
|
||||
;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
|
||||
,@(substitute-keyword-arguments ((package-arguments gcc-boot0) system)
|
||||
((#:configure-flags boot-flags)
|
||||
(let loop ((args ((package-arguments gcc-4.7) system)))
|
||||
(match args
|
||||
((#:configure-flags normal-flags _ ...)
|
||||
normal-flags)
|
||||
((_ rest ...)
|
||||
(loop rest)))))
|
||||
((#:phases phases)
|
||||
`(alist-delete 'symlink-libgcc_eh ,phases))))))
|
||||
;; Build again GMP & co. within GCC's build process, because it's hard
|
||||
;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
|
||||
;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-boot0)
|
||||
((#:configure-flags boot-flags)
|
||||
(let loop ((args (package-arguments gcc-4.7)))
|
||||
(match args
|
||||
((#:configure-flags normal-flags _ ...)
|
||||
normal-flags)
|
||||
((_ rest ...)
|
||||
(loop rest)))))
|
||||
((#:phases phases)
|
||||
`(alist-delete 'symlink-libgcc_eh ,phases)))))
|
||||
|
||||
(inputs `(("gmp-source" ,(package-source gmp))
|
||||
("mpfr-source" ,(package-source mpfr))
|
||||
|
||||
+37
-26
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -26,19 +26,29 @@
|
||||
#: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")
|
||||
" "))
|
||||
(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"))))))
|
||||
(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.2")
|
||||
@@ -53,15 +63,12 @@
|
||||
(inputs `(("readline" ,readline)
|
||||
("ncurses" ,ncurses))) ; TODO: add texinfo
|
||||
(arguments
|
||||
`(#: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"))
|
||||
`(;; 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
|
||||
@@ -76,7 +83,7 @@
|
||||
#:phases (alist-cons-after 'install 'post-install
|
||||
,post-install-phase
|
||||
%standard-phases)))
|
||||
(synopsis "GNU Bourne-Again Shell")
|
||||
(synopsis "The GNU Bourne-Again SHell")
|
||||
(description
|
||||
"Bash is the shell, or command language interpreter, that will appear in
|
||||
the GNU operating system. Bash is an sh-compatible shell that incorporates
|
||||
@@ -98,7 +105,7 @@ modification.")
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
,@(package-arguments bash))))
|
||||
,@(package-arguments bash))))
|
||||
(substitute-keyword-arguments args
|
||||
((#:configure-flags flags)
|
||||
`(list "--without-bash-malloc"
|
||||
@@ -107,4 +114,8 @@ modification.")
|
||||
"--disable-help-builtin"
|
||||
"--disable-progcomp"
|
||||
"--disable-net-redirections"
|
||||
"--disable-nls")))))))
|
||||
"--disable-nls"
|
||||
|
||||
,@(if (%current-target-system)
|
||||
'("bash_cv_job_control_missing=no")
|
||||
'()))))))))
|
||||
|
||||
+16
-13
@@ -35,19 +35,22 @@
|
||||
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#: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"))))))
|
||||
%standard-phases))))
|
||||
'(#: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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -20,13 +20,12 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public libgc
|
||||
(package
|
||||
(name "libgc")
|
||||
(version "7.2alpha6")
|
||||
(version "7.2d")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -34,8 +33,13 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b"))))
|
||||
"0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"))))
|
||||
(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
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
(define-public bison
|
||||
(package
|
||||
(name "bison")
|
||||
(version "2.6.1")
|
||||
(version "2.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -35,13 +35,12 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y9svfkbw8jc8yv280hqzilpvlwg60gayck83jj98djmzaxr1w86"))))
|
||||
"1yx7isx67sdmyijvihgyra1f59fwdz7sqriginvavfj5yb5ss2dl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(home-page "http://www.gnu.org/software/bison/")
|
||||
(synopsis
|
||||
"GNU Bison, a Yacc-compatible parser generator")
|
||||
(synopsis "Parser generator")
|
||||
(description
|
||||
"Bison is a general-purpose parser generator that converts an
|
||||
annotated context-free grammar into an LALR(1) or GLR parser for
|
||||
|
||||
+90
-85
@@ -99,15 +99,13 @@ check whether everything is alright."
|
||||
(zero? (system* (string-append "bin/" ,program-to-test)
|
||||
"--version"))))))))
|
||||
(inputs
|
||||
`(("tar" ,(lambda (system)
|
||||
(search-bootstrap-binary "tar" system)))
|
||||
("xz" ,(lambda (system)
|
||||
(search-bootstrap-binary "xz" system)))
|
||||
("tarball" ,(lambda (system)
|
||||
(bootstrap-origin (source* system))))))
|
||||
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
|
||||
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
|
||||
("tarball" ,(bootstrap-origin (source* (%current-system))))))
|
||||
(synopsis description*)
|
||||
(description #f)
|
||||
(home-page #f)))
|
||||
(home-page #f)
|
||||
(license #f)))
|
||||
|
||||
(define package-with-bootstrap-guile
|
||||
(memoize
|
||||
@@ -133,10 +131,14 @@ check whether everything is alright."
|
||||
(propagated-inputs (map rewritten-input
|
||||
(package-propagated-inputs p)))))))
|
||||
|
||||
(define (glibc-dynamic-linker system)
|
||||
(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))))
|
||||
|
||||
@@ -155,9 +157,10 @@ check whether everything is alright."
|
||||
(let ((raw (build-system
|
||||
(name "raw")
|
||||
(description "Raw build system with direct store access")
|
||||
(build (lambda* (store name source inputs #:key outputs system)
|
||||
(build (lambda* (store name source inputs
|
||||
#:key outputs system search-paths)
|
||||
(define (->store file)
|
||||
(add-to-store store file #t #t "sha256"
|
||||
(add-to-store store file #t "sha256"
|
||||
(or (search-bootstrap-binary file
|
||||
system)
|
||||
(error "bootstrap binary not found"
|
||||
@@ -181,9 +184,10 @@ cd $out
|
||||
$out/bin/guile --version~%"
|
||||
mkdir xz guile tar)
|
||||
(list mkdir xz guile tar))))
|
||||
(derivation store name system
|
||||
bash `(,builder) '()
|
||||
`((,bash) (,builder)))))))))
|
||||
(derivation store name
|
||||
bash `(,builder)
|
||||
#:system system
|
||||
#:inputs `((,bash) (,builder)))))))))
|
||||
(package
|
||||
(name "guile-bootstrap")
|
||||
(version "2.0")
|
||||
@@ -269,28 +273,26 @@ $out/bin/guile --version~%"
|
||||
(("/[^ ]+/lib/(libc|ld)" _ prefix)
|
||||
(string-append out "/lib/" prefix))))))))
|
||||
(inputs
|
||||
`(("tar" ,(lambda (system)
|
||||
(search-bootstrap-binary "tar" system)))
|
||||
("xz" ,(lambda (system)
|
||||
(search-bootstrap-binary "xz" system)))
|
||||
("tarball" ,(lambda (system)
|
||||
(bootstrap-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" system
|
||||
"/20130105/glibc-2.17.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match system
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))))))))))
|
||||
`(("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)
|
||||
"/20130105/glibc-2.17.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match (%current-system)
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")))))))))
|
||||
(synopsis "Bootstrap binaries and headers of the GNU C Library")
|
||||
(description #f)
|
||||
(home-page #f)))
|
||||
(home-page #f)
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define %bootstrap-gcc
|
||||
;; The initial GCC. Uses binaries from a tarball typically built by
|
||||
@@ -301,68 +303,71 @@ $out/bin/guile --version~%"
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(lambda (system)
|
||||
`(#: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))
|
||||
`(#: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")))
|
||||
(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
|
||||
(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 system))))
|
||||
bash
|
||||
out libc libc libc
|
||||
,(glibc-dynamic-linker))))
|
||||
|
||||
(chmod "gcc" #o555)))))))
|
||||
(chmod "gcc" #o555))))))
|
||||
(inputs
|
||||
`(("tar" ,(lambda (system)
|
||||
(search-bootstrap-binary "tar" system)))
|
||||
("xz" ,(lambda (system)
|
||||
(search-bootstrap-binary "xz" system)))
|
||||
("bash" ,(lambda (system)
|
||||
(search-bootstrap-binary "bash" system)))
|
||||
`(("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" ,(lambda (system)
|
||||
(bootstrap-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" system
|
||||
"/20130105/gcc-4.7.2.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match system
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))))
|
||||
("tarball" ,(bootstrap-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" (%current-system)
|
||||
"/20130105/gcc-4.7.2.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match (%current-system)
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")))))))))
|
||||
(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)))
|
||||
(home-page #f)
|
||||
(license gpl3+)))
|
||||
|
||||
(define %bootstrap-inputs
|
||||
;; The initial, pre-built inputs. From now on, we can start building our
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
;;; 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 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) #:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages help2man)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#: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.90")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libcdio/libcdio-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kpp6gr5sjr30pb9klncc37fhkw0wi6r41d2fmvmw17cbj176zmg"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("help2man" ,help2man)
|
||||
("ncurses" ,ncurses)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libcddb" ,libcddb)))
|
||||
(home-page "http://www.gnu.org/software/libcdio/")
|
||||
(synopsis "CD Input and Control library")
|
||||
(description
|
||||
"GNU libcdio is a library for OS-idependent CD-ROM and CD image access.
|
||||
It includes a library for working with ISO-9660 filesystems (libiso9660), as
|
||||
well as utility programs such as an audio CD player and an extractor.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public xorriso
|
||||
(package
|
||||
(name "xorriso")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/xorriso/xorriso-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gvyf1ppq764hsk8iyffip7h1dnz2b9k2cchf7himnns03aadavn"))))
|
||||
(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 copies file objects from POSIX compliant filesystems into
|
||||
Rock Ridge enhanced ISO 9660 filesystems and allows session-wise manipulation
|
||||
of such filesystems. It can load the management information of existing ISO
|
||||
images and it writes the session results to optical media or to filesystem
|
||||
objects. Vice versa xorriso is able to copy file objects out of ISO 9660
|
||||
filesystems.")
|
||||
(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"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("patch/fpic" ,(search-patch "cdparanoia-fpic.patch"))))
|
||||
(arguments
|
||||
`(#:tests? #f ; there is no check target
|
||||
#:patches (list (assoc-ref %build-inputs "patch/fpic"))))
|
||||
(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
|
||||
`(("gettext" ,gnu:gettext)
|
||||
("gtk+" ,gtk+)
|
||||
("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(arguments
|
||||
`(#: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+)))
|
||||
@@ -0,0 +1,51 @@
|
||||
;;; 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)
|
||||
(home-page "http://www.gnu.org/software/cflow/")
|
||||
(synopsis "Create a graph of control flow within a program")
|
||||
(description
|
||||
"GNU cflow analyzes a collection of C source files and prints a
|
||||
graph, charting control flow within the program.
|
||||
|
||||
GNU cflow is able to produce both direct and inverted flowgraphs
|
||||
for C sources. Optionally a cross-reference listing can be
|
||||
generated. Two output formats are implemented: POSIX and GNU
|
||||
(extended).
|
||||
|
||||
The package also provides Emacs major mode for examining the
|
||||
produced flowcharts in Emacs.")
|
||||
(license gpl3+)))
|
||||
@@ -0,0 +1,78 @@
|
||||
;;; 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 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))
|
||||
|
||||
(define-public cmake
|
||||
(package
|
||||
(name "cmake")
|
||||
(version "2.8.10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.cmake.org/files/v"
|
||||
(substring version 0
|
||||
(string-index version #\. (+ 1 (string-index version #\.))))
|
||||
"/cmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
#:patches (list (assoc-ref %build-inputs "fix-tests"))
|
||||
#:patch-flags '("-p0")
|
||||
#: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)))))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("file" ,file)
|
||||
("fix-tests" ,(search-patch "cmake-fix-tests.patch"))))
|
||||
(home-page "http://www.cmake.org/")
|
||||
(synopsis "A cross-platform, open-source 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)))
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -30,8 +30,10 @@
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://zlib.net/zlib-"
|
||||
version ".tar.gz"))
|
||||
(uri (list (string-append "http://zlib.net/zlib-"
|
||||
version ".tar.gz")
|
||||
(string-append "mirror://sourceforge/libpng/zlib-"
|
||||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s"))))
|
||||
@@ -64,16 +66,16 @@ in compression.")
|
||||
(define-public gzip
|
||||
(package
|
||||
(name "gzip")
|
||||
(version "1.5")
|
||||
(version "1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gzip/gzip-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18rm80kar7n016g8bsyy1a3zk50i2826xdgs874yh64rzj7nxmdm"))))
|
||||
"0zlgdm4v3dndrbiz7b67mbbj25dpwqbmbzjiycssvrfrcfvq7swp"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Gzip, the GNU zip compression program")
|
||||
(synopsis "General file (de)compression (using lzw)")
|
||||
(arguments
|
||||
;; FIXME: The test suite wants `less', and optionally Perl.
|
||||
'(#:tests? #f))
|
||||
@@ -171,7 +173,7 @@ 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 '(license:gpl2+ license:lgpl2.1+)) ; bits of both
|
||||
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
|
||||
(home-page "http://tukaani.org/xz/")))
|
||||
|
||||
(define-public lzo
|
||||
@@ -187,6 +189,7 @@ than gzip and 15 % smaller output than bzip2.")
|
||||
(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")
|
||||
@@ -198,3 +201,24 @@ 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.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lzip/lzip-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rybhk2pxpfh2789ck9mrkdv3bpx7b7miwndlshb5vb02m9crxbz"))))
|
||||
(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+)))
|
||||
|
||||
@@ -42,8 +42,7 @@
|
||||
(inputs
|
||||
`(("patch/gets" ,(search-patch "cpio-gets-undeclared.patch"))))
|
||||
(home-page "https://www.gnu.org/software/cpio/")
|
||||
(synopsis
|
||||
"A program to create or extract from cpio archives")
|
||||
(synopsis "Manage cpio and tar file archives")
|
||||
(description
|
||||
"GNU Cpio copies files into or out of a cpio or tar archive. The
|
||||
archive can be another file on the disk, a magnetic tape, or a pipe.
|
||||
@@ -55,4 +54,4 @@ default, cpio creates binary format archives, for compatibility with
|
||||
older cpio programs. When extracting from archives, cpio automatically
|
||||
recognizes which kind of archive it is reading and can read archives
|
||||
created on machines with a different byte-order.")
|
||||
(license gpl3+)))
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
;;; 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 indents C preprocessor directives to reflect their nesting and
|
||||
ensure that there is exactly one space character between each #if, #elif,
|
||||
#define directive and the following token. The number of spaces between the
|
||||
`#' and the following directive must correspond to the level of nesting of
|
||||
that directive.")
|
||||
(license gpl3+)))
|
||||
@@ -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.7)
|
||||
(name (string-append "gcc-cross-"
|
||||
(if libc "" "sans-libc-")
|
||||
target))
|
||||
(arguments
|
||||
`(#:implicit-inputs? #f
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#:patches (list (assoc-ref %build-inputs "patch/cross-env-vars"))
|
||||
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.7)
|
||||
((#: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-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
|
||||
`(("patch/cross-env-vars"
|
||||
,(search-patch "gcc-cross-environment-variables.patch"))
|
||||
|
||||
("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.7)
|
||||
(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))))
|
||||
@@ -0,0 +1,59 @@
|
||||
;;; 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)
|
||||
("popt" ,popt)
|
||||
("python" ,python-wrapper)
|
||||
("util-linux" ,util-linux)))
|
||||
(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/")))
|
||||
@@ -0,0 +1,70 @@
|
||||
;;; 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 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 ssh))
|
||||
|
||||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
(version "7.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://curl.haxx.se/download/curl-"
|
||||
version ".tar.lzma"))
|
||||
(sha256
|
||||
(base32
|
||||
"13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gnutls" ,gnutls)
|
||||
;; to enable the --manual option and make test 1026 pass
|
||||
("groff" ,groff)
|
||||
("gss" ,gss)
|
||||
("libidn" ,libidn)
|
||||
("libssh2" ,libssh2)
|
||||
("openldap" ,openldap)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-gnutls" "--with-gssapi")))
|
||||
(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/")))
|
||||
+16
-18
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -20,41 +20,39 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((gnu packages compression) #:select (lzip)))
|
||||
|
||||
(define-public ddrescue
|
||||
(package
|
||||
(name "ddrescue")
|
||||
(version "1.16")
|
||||
(version "1.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
|
||||
version ".tar.gz"))
|
||||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn"))))
|
||||
"0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page
|
||||
"http://www.gnu.org/software/ddrescue/ddrescue.html")
|
||||
(synopsis "GNU ddrescue, a data recovery tool")
|
||||
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
|
||||
(synopsis "Data recovery utility")
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(description
|
||||
"GNU ddrescue is a data recovery tool. It copies data from one
|
||||
file or block device (hard disc, cdrom, etc) to another, trying hard to
|
||||
"GNU Ddrescue is a data recovery tool. It copies data from one
|
||||
file or block device (e.g., hard disk, CD-ROM) to another, trying hard to
|
||||
rescue data in case of read errors.
|
||||
|
||||
The basic operation of ddrescue is fully automatic. That is, you don't
|
||||
The basic operation of Ddrescue is fully automatic. That is, you don't
|
||||
have to wait for an error, stop the program, read the log, run it in
|
||||
reverse mode, etc.
|
||||
|
||||
If you use the logfile feature of ddrescue, the data is rescued very
|
||||
efficiently (only the needed blocks are read). Also you can interrupt
|
||||
If you use the logfile feature of Ddrescue, the data is rescued very
|
||||
efficiently (only the needed blocks are read). Also, you can interrupt
|
||||
the rescue at any time and resume it later at the same point.
|
||||
|
||||
Automatic merging of backups: If you have two or more damaged copies of
|
||||
a file, cdrom, etc, and run ddrescue on all of them, one at a time, with
|
||||
the same output file, you will probably obtain a complete and error-free
|
||||
file. This is so because the probability of having damaged areas at the
|
||||
same places on different input files is very low. Using the logfile,
|
||||
only the needed blocks are read from the second and successive copies.")
|
||||
a file and run Ddrescue on all of them, one at a time, with the same
|
||||
output file, you will probably obtain a complete and error-free file.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
(define-public dejagnu
|
||||
(package
|
||||
(name "dejagnu")
|
||||
(version "1.5")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -34,7 +34,7 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nx3x3h96a82q92q108q71giv2nz9xmbbn2nrlr3wvvs6l45id68"))))
|
||||
"1lik8h4qi7x0mhsi8xmj91an1yb63rjbk6v4xrmzgiy5lk8lgrv0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("expect" ,expect)))
|
||||
(arguments
|
||||
@@ -75,7 +75,7 @@
|
||||
%standard-phases))))
|
||||
(home-page
|
||||
"http://www.gnu.org/software/dejagnu/")
|
||||
(synopsis "The DejaGNU testing framework")
|
||||
(synopsis "GNU software testing framework")
|
||||
(description
|
||||
"DejaGnu is a framework for testing other programs. Its purpose
|
||||
is to provide a single front end for all tests. Think of it as a
|
||||
|
||||
@@ -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)))
|
||||
+17
-14
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -25,22 +26,24 @@
|
||||
(define-public ed
|
||||
(package
|
||||
(name "ed")
|
||||
(version "1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://gnu/ed/ed-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp"))))
|
||||
(version "1.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/ed/ed-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("CC=gcc")))
|
||||
(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
|
||||
"GNU ed, an implementation of the standard Unix editor")
|
||||
(synopsis "Line-oriented text editor")
|
||||
(description
|
||||
"GNU ed is a line-oriented text editor. It is used to create,
|
||||
display, modify and otherwise manipulate text files, both
|
||||
|
||||
+69
-16
@@ -22,27 +22,39 @@
|
||||
#: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 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 compression)
|
||||
#:renamer (symbol-prefix-proc 'compression:))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages glib))
|
||||
|
||||
(define-public emacs
|
||||
(package
|
||||
(name "emacs")
|
||||
(version "24.2")
|
||||
(version "24.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emacs/emacs-"
|
||||
version ".tar.bz2"))
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k"))))
|
||||
"1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc")
|
||||
"/lib"))
|
||||
"/lib")
|
||||
"--with-gif=no") ; XXX: add libungif
|
||||
#:patches (list (assoc-ref %build-inputs "patch/epaths"))
|
||||
#:phases (alist-cons-before
|
||||
'configure 'fix-/bin/pwd
|
||||
@@ -59,22 +71,26 @@
|
||||
("ncurses" ,ncurses)
|
||||
|
||||
;; TODO: Add the optional dependencies.
|
||||
;; ("xlibs" ,xlibs)
|
||||
;; ("gtk+" ,gtk+)
|
||||
;; ("libXft" ,libXft)
|
||||
;; ("libtiff" ,libtiff)
|
||||
("xlibs" ,libx11)
|
||||
("gtk+" ,gtk+)
|
||||
("libXft" ,libxft)
|
||||
("libtiff" ,libtiff)
|
||||
;; ("libungif" ,libungif)
|
||||
;; ("libjpeg" ,libjpeg)
|
||||
;; ("libpng" ,libpng)
|
||||
;; ("libXpm" ,libXpm)
|
||||
;; ("libxml2" ,libxml2)
|
||||
;; ("dbus-library" ,dbus-library)
|
||||
("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)
|
||||
("dbus" ,dbus)
|
||||
|
||||
("patch/epaths" ,(search-patch "emacs-configure-sh.patch"))
|
||||
))
|
||||
(home-page "http://www.gnu.org/software/emacs/")
|
||||
(synopsis
|
||||
"GNU Emacs 24, the extensible, customizable text editor")
|
||||
(synopsis "The extensible, customizable, self-documenting text editor")
|
||||
(description
|
||||
"GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
@@ -91,3 +107,40 @@ reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.")
|
||||
(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)))
|
||||
|
||||
@@ -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)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#: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" ,guix: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 alternatives to util-linux fdisk and util-linux
|
||||
cfdisk. It uses GNU Parted.")
|
||||
(license gpl3+)))
|
||||
@@ -0,0 +1,133 @@
|
||||
;;; 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 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-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+)))
|
||||
@@ -0,0 +1,170 @@
|
||||
;;; 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)
|
||||
("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"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("patch/teckit" ,(search-patch "teckit-cstdio.patch"))
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/teckit"))))
|
||||
(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")))
|
||||
@@ -0,0 +1,53 @@
|
||||
;;; 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.2.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0aqbjlqv8nh5nnfx5icyvcvws87xnwqjqsfszjx0jqb539snrc58"))))
|
||||
(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 provides in-band and out-of-band IPMI software based on the
|
||||
IPMI v1.5/2.0 specification. The IPMI specification defines a set of
|
||||
interfaces for platform management and is implemented by a number vendors for
|
||||
system management. The features of IPMI that most users will be interested in
|
||||
are sensor monitoring, system event monitoring, power control, and
|
||||
serial-over-LAN (SOL). The FreeIPMI tools and libraries listed below should
|
||||
provide users with the ability to access and utilize these and many other
|
||||
features. A number of useful features for large HPC or cluster environments
|
||||
have also been implemented into FreeIPMI.")
|
||||
(license gpl3+)))
|
||||
+29
-22
@@ -18,45 +18,52 @@
|
||||
|
||||
(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 utils)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gawk
|
||||
(package
|
||||
(name "gawk")
|
||||
(version "4.0.0")
|
||||
(version "4.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gawk/gawk-" version
|
||||
".tar.bz2"))
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
|
||||
(base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(case-lambda
|
||||
((system)
|
||||
`(#:parallel-tests? #f ; test suite fails in parallel
|
||||
`(#:parallel-tests? #f ; test suite fails in parallel
|
||||
|
||||
;; Work around test failure on Cygwin.
|
||||
#:tests? ,(not (string=? system "i686-cygwin"))
|
||||
#: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))
|
||||
'())))
|
||||
|
||||
#: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")))))
|
||||
%standard-phases)))
|
||||
((system cross-system)
|
||||
'(#:parallel-tests? #f))))
|
||||
(inputs `(("libsigsegv" ,libsigsegv)))
|
||||
(home-page "http://www.gnu.org/software/gawk/")
|
||||
(synopsis "GNU implementation of the Awk programming language")
|
||||
(synopsis "A text scanning and processing language")
|
||||
(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
|
||||
|
||||
@@ -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 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 for calculating and printing calendars. Gcal displays
|
||||
hybrid and proleptic Julian and Gregorian calendar sheets,respectively for one
|
||||
month, three months, or a whole year. It also displays eternal holiday lists
|
||||
for many countries around the globe, and features a very powerful creation of
|
||||
fixed date lists that can be used for reminding purposes. Gcal can calculate
|
||||
various astronomical data and times of the Sun and the Moon for pleasure at
|
||||
any location, precisely enough for most civil purposes. Gcal supports some
|
||||
other calendar systems, for example, the Chinese and Japanese calendars, the
|
||||
Hebrew calendar, and the civil Islamic calendar, too.")
|
||||
(license gpl3+)))
|
||||
@@ -0,0 +1,312 @@
|
||||
;;; 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 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 (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#: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"
|
||||
|
||||
"--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")))
|
||||
`(,@(if libc
|
||||
(list (string-append "LDFLAGS_FOR_TARGET="
|
||||
"-B" libc "/lib "
|
||||
"-Wl,-dynamic-linker "
|
||||
"-Wl," libc
|
||||
,(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(64)?|linux-elf)\\.h$")
|
||||
(("#define LIB_SPEC (.*)$" _ suffix)
|
||||
;; Note that with this "lib" spec, we may still add a
|
||||
;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
|
||||
;; There's not much that can be done to avoid it, though.
|
||||
(format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
|
||||
%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a"
|
||||
libc libc out out suffix))
|
||||
(("#define 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=/nix/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
|
||||
"The GNU Compiler Collection includes compiler front ends for C, C++,
|
||||
Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
|
||||
libraries for these languages (libstdc++, libgcj, libgomp,...).
|
||||
|
||||
GCC development is a part of the GNU Project, aiming to improve the compiler
|
||||
used in the GNU system including the GNU/Linux variant.")
|
||||
(license gpl3+)
|
||||
(home-page "http://gcc.gnu.org/"))))
|
||||
|
||||
(define-public gcc-4.8
|
||||
(package (inherit gcc-4.7)
|
||||
(version "4.8.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"04sqn0ds17ys8l6zn7vyyvjz1a7hsk4zb0381vlw9wnr7az48nsl"))))))
|
||||
|
||||
(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+)))
|
||||
|
||||
(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+)))
|
||||
@@ -0,0 +1,68 @@
|
||||
;;; 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 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"))))
|
||||
(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."))))
|
||||
@@ -32,14 +32,14 @@
|
||||
(define-public gdb
|
||||
(package
|
||||
(name "gdb")
|
||||
(version "7.5")
|
||||
(version "7.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0chrws5ga90b50kp06yll6zy42fhnx9yr87r4i7swsc369fc8y6i"))))
|
||||
"06yzggy97qka6fs1vdz4q0d2fgrpm3iaj7dzvf1ww377bvryh454"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-after
|
||||
@@ -53,11 +53,11 @@
|
||||
("gmp" ,gmp)
|
||||
("readline" ,readline)
|
||||
("ncurses" ,ncurses)
|
||||
("python" ,python)
|
||||
("python" ,python-wrapper)
|
||||
("texinfo" ,texinfo)
|
||||
("dejagnu" ,dejagnu)))
|
||||
(home-page "http://www.gnu.org/software/gdb/")
|
||||
(synopsis "GDB, the GNU Project debugger")
|
||||
(synopsis "The GNU debugger")
|
||||
(description
|
||||
"GDB, the GNU Project debugger, allows you to see what is going
|
||||
on `inside' another program while it executes -- or what another
|
||||
|
||||
@@ -34,9 +34,11 @@
|
||||
(sha256
|
||||
(base32
|
||||
"0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13"))))
|
||||
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/gdbm/")
|
||||
(synopsis "GNU dbm key/value database library")
|
||||
(synopsis
|
||||
"Hash library of database functions compatible with traditional dbm")
|
||||
(description
|
||||
"GNU dbm (or GDBM, for short) is a library of database functions
|
||||
that use extensible hashing and work similar to the standard UNIX dbm.
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
;;; 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 geeqie)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'l:))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module ((gnu packages ghostscript)
|
||||
#:select (lcms))
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public exiv2 ; XXX: move elsewhere?
|
||||
(package
|
||||
(name "exiv2")
|
||||
(version "0.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.exiv2.org/exiv2-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04bbg2cg6mgcyz435zamx37sp5zw44n2alb59ki1daz71f851yl1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; no `check' target
|
||||
(propagated-inputs
|
||||
`(("expat" ,expat) ("zlib" ,zlib)))
|
||||
(home-page "http://www.exiv2.org/")
|
||||
(synopsis "Library and command-line utility to manage image metadata")
|
||||
(description
|
||||
"Exiv2 is a C++ library and a command line utility to manage image
|
||||
metadata. It provides fast and easy read and write access to the Exif, IPTC
|
||||
and XMP metadata of images in various formats.")
|
||||
|
||||
;; Files under `xmpsdk' are a copy of Adobe's XMP SDK, licensed under the
|
||||
;; 3-clause BSD license: <http://www.adobe.com/devnet/xmp/sdk/eula.html>.
|
||||
;; The core is GPLv2+: <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>.
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public geeqie
|
||||
(package
|
||||
(name "geeqie")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/geeqie/geeqie-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kzy39z9505xkayyx7rjj2wda76xy3ch1s5z35zn8yli54ffhi2m"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(;; ("libchamplain" ,libchamplain)
|
||||
("intltool" ,intltool)
|
||||
("lcms" ,lcms)
|
||||
("exiv2" ,exiv2)
|
||||
("libpng" ,libpng)
|
||||
("gtk+" ,gtk+)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://geeqie.sourceforge.net")
|
||||
(synopsis "Lightweight GTK+ based image viewer")
|
||||
(description
|
||||
"Geeqie is a lightweight GTK+ based image viewer for Unix like operating
|
||||
systems. It features: EXIF, IPTC and XMP metadata browsing and editing
|
||||
interoperability; easy integration with other software; geeqie works on files
|
||||
and directories, there is no need to import images; fast preview for many raw
|
||||
image formats; tools for image comparison, sorting and managing photo
|
||||
collection. Geeqie was initially based on GQview.")
|
||||
(license l:gpl2+)))
|
||||
+14
-21
@@ -26,38 +26,31 @@
|
||||
(define-public gettext
|
||||
(package
|
||||
(name "gettext")
|
||||
(version "0.18.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gettext/gettext-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k"))))
|
||||
(version "0.18.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gettext/gettext-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j7rp56c61j4k1bz1xdc041hzv7186yyzhbp95fmc0zq7l2c3wrn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/gets"))
|
||||
#:phases (alist-cons-before
|
||||
`(#:phases (alist-cons-before
|
||||
'check 'patch-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(let ((bash (which "sh")))
|
||||
(substitute* (find-files "gettext-tools/tests"
|
||||
"^msgexec-[0-9]")
|
||||
(("#![[:blank:]]/bin/sh")
|
||||
(format #f "#!~a/bin/sh" bash)))
|
||||
(format #f "#!~a" bash)))
|
||||
(substitute* (find-files "gettext-tools/gnulib-tests"
|
||||
"posix_spawn")
|
||||
(("/bin/sh")
|
||||
(format #f "~a/bin/bash" bash)))))
|
||||
bash))))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("patch/gets"
|
||||
,(search-patch "gettext-gets-undeclared.patch"))))
|
||||
(home-page
|
||||
"http://www.gnu.org/software/gettext/")
|
||||
(synopsis
|
||||
"GNU gettext, a well integrated set of translation tools and documentation")
|
||||
(home-page "http://www.gnu.org/software/gettext/")
|
||||
(synopsis "Tools and documentation for translation")
|
||||
(description
|
||||
"Usually, programs are written and documented in English, and use
|
||||
English at execution time for interacting with users. Using a common
|
||||
|
||||
@@ -0,0 +1,236 @@
|
||||
;;; 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 ghostscript)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tcl)
|
||||
#: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 lcms
|
||||
(package
|
||||
(name "lcms")
|
||||
(version "2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://downloads.sourceforge.net/project/lcms/lcms/"
|
||||
version "/lcms2-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1s1ppvqaydf2yqc72mw6zfviwxccb311a6hrbi802sgjxw84sl9a"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("libjpeg-8" ,libjpeg-8)
|
||||
("libtiff" ,libtiff)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Little CMS, a small-footprint colour management engine")
|
||||
(description
|
||||
"Little CMS is a small-footprint colour management engine, with special
|
||||
focus on accuracy and performance. It uses the International Color
|
||||
Consortium standard (ICC), approved as ISO 15076-1.")
|
||||
(license license:x11)
|
||||
(home-page "http://www.littlecms.com/")))
|
||||
|
||||
(define-public libpaper
|
||||
(package
|
||||
(name "libpaper")
|
||||
(version "1.1.24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://ftp.de.debian.org/debian/pool/main/libp/libpaper/libpaper_"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "libpaper, a library for handling paper sizes")
|
||||
(description
|
||||
"The paper library and accompanying files are intended to provide a simple
|
||||
way for applications to take actions based on a system- or user-specified
|
||||
paper size.")
|
||||
(license license:gpl2)
|
||||
(home-page "http://packages.qa.debian.org/libp/libpaper.html")))
|
||||
|
||||
(define-public psutils
|
||||
(package
|
||||
(name "psutils")
|
||||
(version "17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "ftp://ftp.knackered.org/pub/psutils/psutils.tar.gz")
|
||||
(sha256 (base32
|
||||
"1r4ab1fvgganm02kmm70b2r1azwzbav2am41gbigpa2bb1wynlrq"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(arguments
|
||||
`(#:tests? #f ; none provided
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
|
||||
(let ((perl (assoc-ref inputs "perl"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(copy-file "Makefile.unix" "Makefile")
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local/bin/perl") (string-append perl "/bin/perl")))
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local") out))
|
||||
;; for the install phase
|
||||
(substitute* "Makefile"
|
||||
(("-mkdir") "mkdir -p"))
|
||||
;; drop installation of non-free files
|
||||
(substitute* "Makefile"
|
||||
((" install.include") ""))))
|
||||
%standard-phases)))
|
||||
(synopsis "psutils, a collection of utilities for manipulating PostScript documents")
|
||||
(description
|
||||
"PSUtils is a collection of utilities for manipulating PostScript
|
||||
documents. Programs included are psnup, for placing out several logical pages
|
||||
on a single sheet of paper, psselect, for selecting pages from a document,
|
||||
pstops, for general imposition, psbook, for signature generation for booklet
|
||||
printing, and psresize, for adjusting page sizes.")
|
||||
(license (license:bsd-style "file://LICENSE"
|
||||
"See LICENSE in the distribution."))
|
||||
(home-page "http://knackered.org/angus/psutils/")))
|
||||
|
||||
(define-public ghostscript
|
||||
(package
|
||||
(name "ghostscript")
|
||||
(version "9.06.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0bcg2203p7cm0f53f3s883xhj2c91xnaxakj2cy7kcdknfxplvs4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("freetype" ,freetype)
|
||||
("lcms" ,lcms)
|
||||
("libjpeg-8" ,libjpeg-8)
|
||||
("libpng" ,libpng)
|
||||
("libpaper" ,libpaper)
|
||||
("libtiff" ,libtiff)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config) ; needed to find libtiff
|
||||
("python" ,python-wrapper)
|
||||
("tcl" ,tcl)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((configure (assoc-ref %standard-phases 'configure)))
|
||||
(apply configure args)
|
||||
(substitute* "base/all-arch.mak"
|
||||
(("/bin/sh") (which "bash")))
|
||||
(substitute* "base/unixhead.mak"
|
||||
(("/bin/sh") (which "bash")))))
|
||||
(alist-replace
|
||||
'build
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((build (assoc-ref %standard-phases 'build)))
|
||||
(apply build args)
|
||||
(system* "make" "so")))
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((install (assoc-ref %standard-phases 'install)))
|
||||
(apply install args)
|
||||
(system* "make" "install-so")))
|
||||
%standard-phases)))))
|
||||
(synopsis "PostScript and PDF interpreter")
|
||||
(description
|
||||
"GNU Ghostscript is an interpreter for PostScript and Portable Document
|
||||
Format (PDF) files.
|
||||
It consists of a PostScript interpreter layer, and a graphics
|
||||
library.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/ghostscript/")))
|
||||
|
||||
(define-public gs-fonts
|
||||
(package
|
||||
(name "gs-fonts")
|
||||
(version "8.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gs-fonts/gs-fonts/"
|
||||
version
|
||||
"%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; nothing to check, just files to copy
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)) ; for alist-delete
|
||||
#:phases
|
||||
(alist-delete
|
||||
'configure
|
||||
(alist-delete
|
||||
'build
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/fonts/type1/ghostscript")))
|
||||
(mkdir-p dir)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(copy-file file (string-append dir "/" file)))
|
||||
(find-files "." "pfb|afm"))))
|
||||
%standard-phases)))))
|
||||
(synopsis "free replacements for the PostScript fonts")
|
||||
(description
|
||||
"gs-fonts provides fonts and font metrics customarily distributed with
|
||||
Ghostscript. It currently includes the 35 standard PostScript fonts.")
|
||||
(license license:gpl2)
|
||||
(home-page "http://sourceforge.net/projects/gs-fonts/")))
|
||||
|
||||
(define-public libspectre
|
||||
(package
|
||||
(name "libspectre")
|
||||
(version "0.2.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://libspectre.freedesktop.org/releases/libspectre-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ghostscript" ,ghostscript)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "postscript rendering library")
|
||||
(description
|
||||
"libspectre is a small library for rendering Postscript documents.
|
||||
It provides a convenient easy to use API for handling and rendering
|
||||
Postscript documents.")
|
||||
(license license:gpl2+)
|
||||
(home-page "http://www.freedesktop.org/wiki/Software/libspectre")))
|
||||
@@ -0,0 +1,68 @@
|
||||
;;; 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 gkrellm)
|
||||
#: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 gettext)
|
||||
#:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public gkrellm
|
||||
(package
|
||||
(name "gkrellm")
|
||||
(version "2.3.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://members.dslextreme.com/users/billw/gkrellm/gkrellm-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,gnu:gettext)
|
||||
("gtk+" ,gtk+)
|
||||
("libice" ,libice)
|
||||
("libsm" ,libsm)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:tests? #f ; there is no check target
|
||||
#:phases
|
||||
(alist-delete
|
||||
'configure
|
||||
%standard-phases)
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "INSTALLROOT=" out)
|
||||
"CC=gcc"
|
||||
"X11_LIBS = -lX11 -lSM -lICE -lgmodule-2.0"))))
|
||||
(home-page "http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html")
|
||||
(synopsis "System monitors")
|
||||
(description
|
||||
"GKrellM is a single process stack of system monitors which supports
|
||||
applying themes to match its appearance to your window manager, Gtk, or any
|
||||
other theme.")
|
||||
(license license:gpl3+)))
|
||||
@@ -0,0 +1,272 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; 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 glib)
|
||||
#: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 base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages xorg)
|
||||
|
||||
;; Export variables up-front to allow circular dependency with the 'xorg'
|
||||
;; module.
|
||||
#:export (dbus
|
||||
glib
|
||||
dbus-glib
|
||||
intltool
|
||||
itstool))
|
||||
|
||||
(define dbus
|
||||
(package
|
||||
(name "dbus")
|
||||
(version "1.6.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://dbus.freedesktop.org/releases/dbus/dbus-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list ;; Install the system bus socket under /var.
|
||||
"--localstatedir=/var"
|
||||
|
||||
;; XXX: Fix the following to allow system-wide
|
||||
;; config.
|
||||
;; "--sysconfdir=/etc"
|
||||
|
||||
"--with-session-socket-dir=/tmp")
|
||||
#:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
("pkg-config" ,pkg-config)
|
||||
("patch/localstatedir"
|
||||
,(search-patch "dbus-localstatedir.patch"))
|
||||
|
||||
;; Add a dependency on libx11 so that 'dbus-launch' has support for
|
||||
;; '--autolaunch'.
|
||||
("libx11" ,libx11)))
|
||||
|
||||
(home-page "http://dbus.freedesktop.org/")
|
||||
(synopsis "Message bus for inter-process communication (IPC)")
|
||||
(description
|
||||
"D-Bus is a message bus system, a simple way for applications to
|
||||
talk to one another. In addition to interprocess communication, D-Bus
|
||||
helps coordinate process lifecycle; it makes it simple and reliable to
|
||||
code a \"single instance\" application or daemon, and to launch
|
||||
applications and daemons on demand when their services are needed.
|
||||
|
||||
D-Bus supplies both a system daemon (for events such as \"new hardware
|
||||
device added\" or \"printer queue changed\") and a
|
||||
per-user-login-session daemon (for general IPC needs among user
|
||||
applications). Also, the message bus is built on top of a general
|
||||
one-to-one message passing framework, which can be used by any two apps
|
||||
to communicate directly (without going through the message bus
|
||||
daemon). Currently the communicating applications are on one computer,
|
||||
or through unencrypted TCP/IP suitable for use behind a firewall with
|
||||
shared NFS home directories.")
|
||||
(license license:gpl2+))) ; or Academic Free License 2.1
|
||||
|
||||
(define glib
|
||||
(package
|
||||
(name "glib")
|
||||
(version "2.37.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
name "/2.37/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1lp705q0g9jlfj24x8fpgjh7awmmara5iyj9kz5lhd49sr9s813k"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; everything
|
||||
"doc")) ; 20 MiB of GTK-Doc reference
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("gettext" ,guix:gettext)
|
||||
("libffi" ,libffi)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
("zlib" ,zlib)
|
||||
("perl" ,perl) ; needed by GIO tests
|
||||
("dbus" ,dbus) ; for GDBus tests
|
||||
("bash" ,bash)
|
||||
("tzdata" ,tzdata) ; for tests/gdatetime.c
|
||||
|
||||
("patch/tests-homedir"
|
||||
,(search-patch "glib-tests-homedir.patch"))
|
||||
("patch/tests-desktop"
|
||||
,(search-patch "glib-tests-desktop.patch"))
|
||||
("patch/tests-prlimit"
|
||||
,(search-patch "glib-tests-prlimit.patch"))))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/tests-homedir")
|
||||
(assoc-ref %build-inputs "patch/tests-desktop")
|
||||
(assoc-ref %build-inputs "patch/tests-prlimit"))
|
||||
#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; For tests/gdatetime.c.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo"))
|
||||
|
||||
;; Some tests want write access there.
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))
|
||||
|
||||
(substitute* '("glib/gspawn.c"
|
||||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
|
||||
;; Honor $(TESTS_ENVIRONMENT).
|
||||
(substitute* (find-files "." "^Makefile(\\.in)?$")
|
||||
(("^GTESTER[[:blank:]]*=(.*)$" _ rest)
|
||||
(string-append "GTESTER = $(TESTS_ENVIRONMENT) "
|
||||
rest))))
|
||||
%standard-phases)
|
||||
|
||||
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
|
||||
#:configure-flags (list (string-append "--with-html-dir="
|
||||
(assoc-ref %outputs "doc")
|
||||
"/share/gtk-doc"))))
|
||||
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
|
||||
(description
|
||||
"GLib provides data structure handling for C, portability wrappers,
|
||||
and interfaces for such runtime functionality as an event loop, threads,
|
||||
dynamic loading, and an object system.")
|
||||
(home-page "http://developer.gnome.org/glib/")
|
||||
(license license:lgpl2.0+))) ; some files are under lgpl2.1+
|
||||
|
||||
(define intltool
|
||||
(package
|
||||
(name "intltool")
|
||||
(version "0.50.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://launchpad.net/intltool/trunk/"
|
||||
version "/+download/intltool-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(;; Propagate gettext because users expect it to be there, and so does
|
||||
;; the `intltool-update' script.
|
||||
("gettext" ,guix:gettext)
|
||||
|
||||
;; `file' is used by `intltool-update' too.
|
||||
("file" ,file)
|
||||
|
||||
("perl-xml-parser" ,perl-xml-parser)
|
||||
("perl" ,perl)))
|
||||
(home-page "https://launchpad.net/intltool/+download")
|
||||
(synopsis "Tools to centralise translations of different file formats")
|
||||
(description
|
||||
"intltool is a set of tools to centralise translations of many different
|
||||
file formats using GNU gettext-compatible PO files.
|
||||
|
||||
The intltool collection can be used to do these things:
|
||||
|
||||
Extract translatable strings from various source files (.xml.in,
|
||||
glade, .desktop.in, .server.in, .oaf.in).
|
||||
|
||||
Collect the extracted strings together with messages from traditional
|
||||
source files (.c, .h) in po/$(PACKAGE).pot.
|
||||
|
||||
Merge back the translations from .po files into .xml, .desktop and
|
||||
oaf files. This merge step will happen at build resp. installation time.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define itstool
|
||||
(package
|
||||
(name "itstool")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://files.itstool.org/itstool/itstool-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1akq75aflihm3y7js8biy7b5mw2g11vl8yq90gydnwlwp0zxdzj6"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.itstool.org")
|
||||
(synopsis "Tool to translate XML documents with PO files")
|
||||
(description
|
||||
"ITS Tool allows you to translate your XML documents with PO files, using
|
||||
rules from the W3C Internationalization Tag Set (ITS) to determine what to
|
||||
translate and how to separate it into PO file messages.
|
||||
|
||||
PO files are the standard translation format for GNU and other Unix-like
|
||||
systems. They present translatable information as discrete messages, allowing
|
||||
each message to be translated independently. In contrast to whole-page
|
||||
translation, translating with a message-based format like PO means you can
|
||||
easily track changes to the source document down to the paragraph. When new
|
||||
strings are added or existing strings are modified, you only need to update the
|
||||
corresponding messages.
|
||||
|
||||
ITS Tool is designed to make XML documents translatable through PO files by
|
||||
applying standard ITS rules, as well as extension rules specific to ITS Tool.
|
||||
ITS also provides an industry standard way for authors to override translation
|
||||
information in their documents, such as whether a particular element should be
|
||||
translated.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define dbus-glib
|
||||
(package
|
||||
(name "dbus-glib")
|
||||
(version "0.100.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("dbus" ,dbus)
|
||||
("expat" ,expat)
|
||||
("glib" ,glib)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
|
||||
(synopsis "D-Bus GLib bindings")
|
||||
(description
|
||||
"GLib bindings for D-Bus. The package is obsolete and superseded
|
||||
by GDBus included in Glib.")
|
||||
(license license:gpl2))) ; or Academic Free License 2.1
|
||||
+10
-11
@@ -28,15 +28,14 @@
|
||||
(define-public global ; a global variable
|
||||
(package
|
||||
(name "global")
|
||||
(version "6.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/global/global-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dr250kz65wqpbms4lhz857mzmvmpmiaxgyqxvxkb4b0s840i14i"))))
|
||||
(version "6.2.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/global/global-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1l6g51kff5010gwmw08jbks1mssgddz7wggjvfsky3g000jkpvf1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("libtool" ,libtool)))
|
||||
@@ -45,7 +44,7 @@
|
||||
(list (string-append "--with-ncurses="
|
||||
(assoc-ref %build-inputs "ncurses")))))
|
||||
(home-page "http://www.gnu.org/software/global/")
|
||||
(synopsis "GNU GLOBAL source code tag system")
|
||||
(synopsis "Cross-environment source code tag system")
|
||||
(description
|
||||
"GNU GLOBAL is a source code tagging system that works the same way
|
||||
across diverse environments (Emacs, vi, less, Bash, web browser, etc).
|
||||
@@ -55,4 +54,4 @@ subdirectories, many #ifdef and many main() functions. It is similar
|
||||
to ctags or etags but is different from them at the point of
|
||||
independence of any editor. It runs on a UNIX (POSIX) compatible
|
||||
operating system like GNU and BSD.")
|
||||
(license "GPLv3+")))
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
;;; 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 gnome)
|
||||
#:use-module ((guix licenses) #:select (gpl2+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public gnome-doc-utils
|
||||
(package
|
||||
(name "gnome-doc-utils")
|
||||
(version "0.20.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/0.20/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("intltool" ,intltool)
|
||||
("libxml2" ,libxml2)
|
||||
("libxslt" ,libxslt)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-2" ,python-2)))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd
|
||||
(home-page "https://wiki.gnome.org/GnomeDocUtils")
|
||||
(synopsis
|
||||
"Documentation utilities for the Gnome project")
|
||||
(description
|
||||
"Gnome-doc-utils is a collection of documentation utilities for the
|
||||
Gnome project. It includes xml2po tool which makes it easier to translate
|
||||
and keep up to date translations of documentation.")
|
||||
(license gpl2+))) ; xslt under lgpl
|
||||
@@ -0,0 +1,138 @@
|
||||
;;; 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 gnunet)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages oggvorbis)
|
||||
#:use-module (gnu packages openssl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#: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 libextractor
|
||||
(package
|
||||
(name "libextractor")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libextractor/libextractor-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zvj64ig456c9ya3r8ib48ms42cnli9y7ig5p04xqm16z7vw5dyb"))))
|
||||
(build-system gnu-build-system)
|
||||
;; WARNING: Checks require /dev/shm to be in the build chroot, especially
|
||||
;; not to be a symbolic link to /run/shm.
|
||||
;; FIXME:
|
||||
;; The following dependencies are all optional, but should be
|
||||
;; available for maximum coverage:
|
||||
;; * libarchive
|
||||
;; * libavutil / libavformat / libavcodec / libswscale (ffmpeg)
|
||||
;; * libexiv2
|
||||
;; * libgif (giflib)
|
||||
;; * libgtk+ >= 3.0.0 (may probably drop glib then as a propagated input of
|
||||
;; gtk)
|
||||
;; * libgsf
|
||||
;; * libgstreamer
|
||||
;; * libmagic (file)
|
||||
;; * libmpeg2
|
||||
;; * libmp4v2
|
||||
;; * librpm
|
||||
;; * libsmf
|
||||
;; * libtidy
|
||||
(inputs
|
||||
`(("gettext" ,gnu:gettext)
|
||||
("flac" ,flac)
|
||||
("glib" ,glib)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libogg" ,libogg)
|
||||
("libtiff" ,libtiff)
|
||||
("libtool" ,libtool)
|
||||
("libvorbis" ,libvorbis)
|
||||
("pkg-config" ,pkg-config)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Library to extract meta-data from media files")
|
||||
(description
|
||||
"GNU Libextractor is a library used to extract meta data from files.
|
||||
The goal is to provide developers of file-sharing networks, browsers or
|
||||
WWW-indexing bots with a universal library to obtain simple keywords and
|
||||
meta data to match against queries and to show to users instead of only
|
||||
relying on filenames. libextractor contains the shell command extract that,
|
||||
similar to the well-known file command, can extract meta data from a file
|
||||
and print the results to stdout.
|
||||
|
||||
Currently, libextractor supports the following formats: HTML, MAN, PS, DVI,
|
||||
OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), FLAC,
|
||||
MP3 (ID3v1 and ID3v2), OGG, WAV, S3M (Scream Tracker 3), XM (eXtended Module),
|
||||
IT (Impulse Tracker), NSF(E) (NES music), SID (C64 music), EXIV2, JPEG, GIF,
|
||||
PNG, TIFF, DEB, RPM, TAR(.GZ), LZH, LHA, RAR, ZIP, CAB, 7-ZIP, AR, MTREE,
|
||||
PAX, CPIO, ISO9660, SHAR, RAW, XAR FLV, REAL, RIFF (AVI), MPEG, QT and ASF.
|
||||
Also, various additional MIME types are detected.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/libextractor/")))
|
||||
|
||||
(define-public libmicrohttpd
|
||||
(package
|
||||
(name "libmicrohttpd")
|
||||
(version "0.9.29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"169qpbmqprm296kicym63njxqf3qnjkk16qar73b813l7mj4jn8s"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("gnutls" ,gnutls)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "C library implementing an HTTP 1.1 server")
|
||||
(description
|
||||
"GNU libmicrohttpd is a small C library that is supposed to make it
|
||||
easy to run an HTTP server as part of another application. Key features
|
||||
that distinguish GNU Libmicrohttpd from other projects are:
|
||||
C library is fast and small;
|
||||
API is simple, expressive and fully reentrant;
|
||||
implementation is HTTP 1.1 compliant;
|
||||
HTTP server can listen on multiple ports;
|
||||
four different threading models (select, poll, pthread, thread pool);
|
||||
supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android,
|
||||
OS X, W32, Symbian and z/OS;
|
||||
support for IPv6;
|
||||
support for SHOUTcast;
|
||||
support for incremental processing of POST data (optional);
|
||||
support for basic and digest authentication (optional);
|
||||
support for SSL3 and TLS (requires libgcrypt and libgnutls, optional);
|
||||
binary is only about 32k (without TLS/SSL support and other optional features).")
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "http://www.gnu.org/software/libmicrohttpd/")))
|
||||
+193
-29
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -18,7 +19,11 @@
|
||||
|
||||
(define-module (gnu packages gnupg)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pth)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module ((gnu packages compression)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
@@ -29,7 +34,7 @@
|
||||
(define-public libgpg-error
|
||||
(package
|
||||
(name "libgpg-error")
|
||||
(version "1.10")
|
||||
(version "1.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -37,7 +42,7 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cal3jdnzdailr13qcy74grfbplbghkgr3qwk6qjjp4bass2j1jj"))))
|
||||
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://gnupg.org")
|
||||
(synopsis
|
||||
@@ -52,21 +57,19 @@ Daemon and possibly more in the future.")
|
||||
(define-public libgcrypt
|
||||
(package
|
||||
(name "libgcrypt")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ykkh7dm0gyndz7bbpvn3agijj8xb2h02m02f42hm504c18zqqjb"))))
|
||||
(version "1.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("libgpg-error" ,libgpg-error)))
|
||||
(home-page "http://gnupg.org/")
|
||||
(synopsis
|
||||
"GNU Libgcrypt, a general-pupose cryptographic library")
|
||||
(synopsis "Cryptographic function library")
|
||||
(description
|
||||
"GNU Libgcrypt is a general purpose cryptographic library based on
|
||||
the code from GnuPG. It provides functions for all
|
||||
@@ -78,7 +81,7 @@ functions, random numbers and a lot of supporting functions.")
|
||||
(define-public libassuan
|
||||
(package
|
||||
(name "libassuan")
|
||||
(version "2.0.3")
|
||||
(version "2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -86,7 +89,7 @@ functions, random numbers and a lot of supporting functions.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds"))))
|
||||
"1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
|
||||
@@ -103,7 +106,7 @@ provided.")
|
||||
(define-public libksba
|
||||
(package
|
||||
(name "libksba")
|
||||
(version "1.2.0")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -112,7 +115,7 @@ provided.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9"))))
|
||||
"0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("libgpg-error" ,libgpg-error)))
|
||||
@@ -128,7 +131,7 @@ specifications are building blocks of S/MIME and TLS.")
|
||||
(define-public gnupg
|
||||
(package
|
||||
(name "gnupg")
|
||||
(version "2.0.19")
|
||||
(version "2.0.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -136,25 +139,31 @@ specifications are building blocks of S/MIME and TLS.")
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg"))))
|
||||
"1xgf1q1phdawk6y66haaqcvfnlsqk12jmjin1m2d5x6fqw18kpq0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(;; TODO: Add missing optional deps.
|
||||
;; ("curl" ,curl)
|
||||
;; ("libusb" ,libusb)
|
||||
;; ("openldap" ,openldap)
|
||||
|
||||
("bzip2" ,guix:bzip2)
|
||||
`(("bzip2" ,guix:bzip2)
|
||||
("curl" ,curl)
|
||||
("libassuan" ,libassuan)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libgpg-error" ,libgpg-error)
|
||||
("libksba" ,libksba)
|
||||
("pth" ,pth)
|
||||
("libgpg-error" ,libgpg-error)
|
||||
("openldap" ,openldap)
|
||||
("zlib" ,guix:zlib)
|
||||
("readline" ,readline)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((configure (assoc-ref %standard-phases 'configure)))
|
||||
(substitute* "tests/openpgp/Makefile.in"
|
||||
(("/bin/sh") (which "bash")))
|
||||
(apply configure args)))
|
||||
%standard-phases)))
|
||||
(home-page "http://gnupg.org/")
|
||||
(synopsis
|
||||
"GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard")
|
||||
(synopsis "GNU Privacy Guard")
|
||||
(description
|
||||
"GnuPG is the GNU project's complete and free implementation of
|
||||
the OpenPGP standard as defined by RFC4880. GnuPG allows to
|
||||
@@ -166,3 +175,158 @@ applications. A wealth of frontend applications and libraries
|
||||
are available. Version 2 of GnuPG also provides support for
|
||||
S/MIME.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public pius
|
||||
(package
|
||||
(name "pius")
|
||||
(version "2.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/pgpius/pius/"
|
||||
version "/pius-"
|
||||
version ".tar.bz2"))
|
||||
(sha256 (base32
|
||||
"1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)
|
||||
("python" ,python-wrapper)
|
||||
("gpg" ,gnupg)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key #:allow-other-keys) #t)
|
||||
(alist-replace
|
||||
'build
|
||||
(lambda* (#:key #:allow-other-keys) #t)
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(gpg (string-append (assoc-ref inputs "gpg")
|
||||
"/bin/gpg2")))
|
||||
(mkdir out)
|
||||
(mkdir (string-append out "/bin"))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(("/usr/bin/gpg") gpg))
|
||||
(copy-file file (string-append out "/bin/" file)))
|
||||
'("pius" "pius-keyring-mgr" "pius-party-worksheet"))))
|
||||
%standard-phases)))))
|
||||
(synopsis "Programs to simplify GnuPG key signing")
|
||||
(description
|
||||
"Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
|
||||
parties. It is the main utility and makes it possible to quickly and easily
|
||||
sign each UID on a set of PGP keys. It is designed to take the pain out of
|
||||
the sign-all-the-keys part of PGP Keysigning Party while adding security
|
||||
to the process.
|
||||
|
||||
pius-keyring-mgr and pius-party-worksheet help organisers of
|
||||
PGP keysigning parties.")
|
||||
(license gpl2)
|
||||
(home-page "http://www.phildev.net/pius/index.shtml")))
|
||||
|
||||
(define-public signing-party
|
||||
(package
|
||||
(name "signing-party")
|
||||
(version "1.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.debian.org/debian/pool/main/s/signing-party/signing-party_"
|
||||
version ".orig.tar.gz"))
|
||||
(sha256 (base32
|
||||
"188gp0prbh8qs29lq3pbf0qibfd6jq4fk7i0pfrybl8aahvm84rx"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(alist-replace
|
||||
'unpack
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((unpack (assoc-ref %standard-phases 'unpack)))
|
||||
(apply unpack args)
|
||||
;; remove spurious symlink
|
||||
(delete-file "keyanalyze/pgpring/depcomp")))
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "keyanalyze/Makefile"
|
||||
(("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS")))
|
||||
(substitute* "keyanalyze/Makefile"
|
||||
(("./configure") (string-append "./configure --prefix=" out)))
|
||||
(substitute* "keyanalyze/pgpring/configure"
|
||||
(("/bin/sh") (which "bash")))
|
||||
(substitute* "gpgwrap/Makefile"
|
||||
(("\\} clean") (string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "
|
||||
out "/bin/gpgwrap\n")))
|
||||
(substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile"
|
||||
"keylookup/Makefile" "sig2dot/Makefile"
|
||||
"springgraph/Makefile")
|
||||
(("/usr") out))))
|
||||
(alist-replace
|
||||
'install
|
||||
(lambda* (#:key outputs #:allow-other-keys #:rest args)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(install (assoc-ref %standard-phases 'install)))
|
||||
(apply install args)
|
||||
(for-each
|
||||
(lambda (dir file)
|
||||
(copy-file (string-append dir "/" file)
|
||||
(string-append out "/bin/" file)))
|
||||
'("caff" "caff" "caff" "gpgdir" "gpg-key2ps"
|
||||
"gpglist" "gpg-mailkeys" "gpgparticipants")
|
||||
'("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps"
|
||||
"gpglist" "gpg-mailkeys" "gpgparticipants"))
|
||||
(for-each
|
||||
(lambda (dir file)
|
||||
(copy-file (string-append dir "/" file)
|
||||
(string-append out "/share/man/man1/" file)))
|
||||
'("caff" "caff" "caff" "gpgdir"
|
||||
"gpg-key2ps" "gpglist" "gpg-mailkeys"
|
||||
"gpgparticipants" "gpgsigs" "gpgwrap/doc"
|
||||
"keyanalyze" "keyanalyze/pgpring" "keyanalyze")
|
||||
'("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1"
|
||||
"gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1"
|
||||
"gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
|
||||
"process_keys.1" "pgpring.1" "keyanalyze.1"))))
|
||||
%standard-phases)))))
|
||||
(synopsis "collection of scripts for simplifying gnupg key signing")
|
||||
(description
|
||||
"signing-party is a collection for all kinds of PGP/GnuPG related things,
|
||||
including tools for signing keys, keyring analysis, and party preparation.
|
||||
|
||||
* caff: CA - Fire and Forget signs and mails a key
|
||||
|
||||
* pgp-clean: removes all non-self signatures from key
|
||||
|
||||
* pgp-fixkey: removes broken packets from keys
|
||||
|
||||
* gpg-mailkeys: simply mail out a signed key to its owner
|
||||
|
||||
* gpg-key2ps: generate PostScript file with fingerprint paper strips
|
||||
|
||||
* gpgdir: recursive directory encryption tool
|
||||
|
||||
* gpglist: show who signed which of your UIDs
|
||||
|
||||
* gpgsigs: annotates list of GnuPG keys with already done signatures
|
||||
|
||||
* gpgparticipants: create list of party participants for the organiser
|
||||
|
||||
* gpgwrap: a passphrase wrapper
|
||||
|
||||
* keyanalyze: minimum signing distance (MSD) analysis on keyrings
|
||||
|
||||
* keylookup: ncurses wrapper around gpg --search
|
||||
|
||||
* sig2dot: converts a list of GnuPG signatures to a .dot file
|
||||
|
||||
* springgraph: creates a graph from a .dot file")
|
||||
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
|
||||
;; and caff and gpgsigs: bsd-3, see
|
||||
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
|
||||
(license gpl2)
|
||||
(home-page "http://pgp-tools.alioth.debian.org/")))
|
||||
|
||||
+20
-25
@@ -21,18 +21,19 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module ((gnu packages compression)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages which))
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public libtasn1
|
||||
(package
|
||||
(name "libtasn1")
|
||||
(version "3.2")
|
||||
(version "3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -40,10 +41,10 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gvgndypwicchf7m660zh7jdgmkfj9g9xavpcc08pyd0120y0bk7"))))
|
||||
"1h1sz5py8zlg4yczybr6wa925pyadvjcxrdmhilwaqqgs4n2lrcj"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/libtasn1/")
|
||||
(synopsis "GNU Libtasn1, an ASN.1 library")
|
||||
(synopsis "ASN.1 library")
|
||||
(description
|
||||
"Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some
|
||||
other packages. The goal of this implementation is to be highly
|
||||
@@ -53,27 +54,22 @@ portable, and only require an ANSI C89 platform.")
|
||||
(define-public gnutls
|
||||
(package
|
||||
(name "gnutls")
|
||||
(version "3.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://gnu/gnutls/gnutls-"
|
||||
version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zsybr9plllk1phh83bx9bg7c5ccik427j4n3k1s9fiy4j69n0w3"))))
|
||||
(version "3.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
;; Note: Releases are no longer on ftp.gnu.org since the
|
||||
;; schism (after version 3.1.5).
|
||||
(string-append "mirror://gnupg/gnutls/v3.2/gnutls-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zvhzy87v9dfxfvmg1pl951kw55rp647cqdza8942fxq7spp158i"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Build of the Guile bindings is not parallel-safe. See
|
||||
;; <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
|
||||
;; for the actual fix.
|
||||
(arguments '(#:parallel-build? #f))
|
||||
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.0)
|
||||
;; ("lzo" ,lzo)
|
||||
("zlib" ,guix:zlib)
|
||||
("perl" ,perl)))
|
||||
(propagated-inputs
|
||||
@@ -81,8 +77,7 @@ portable, and only require an ANSI C89 platform.")
|
||||
("nettle" ,nettle)
|
||||
("which" ,which)))
|
||||
(home-page "http://www.gnu.org/software/gnutls/")
|
||||
(synopsis
|
||||
"The GNU Transport Layer Security Library")
|
||||
(synopsis "Transport layer security library")
|
||||
(description
|
||||
"GnuTLS is a project that aims to develop a library which provides
|
||||
a secure layer, over a reliable transport layer. Currently the GnuTLS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -20,7 +20,6 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gperf
|
||||
@@ -38,8 +37,7 @@
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:parallel-tests? #f))
|
||||
(home-page "http://www.gnu.org/software/gperf/")
|
||||
(synopsis
|
||||
"GNU gperf, a perfect hash function generator")
|
||||
(synopsis "Perfect hash function generator")
|
||||
(description
|
||||
"GNU gperf is a perfect hash function generator. For a given
|
||||
list of strings, it produces a hash function and hash table, in
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.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 gprolog)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gprolog
|
||||
(package
|
||||
(name "gprolog")
|
||||
(version "1.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gprolog/gprolog-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13miyas47bmijmadm68cbvb21n4s156gjafz7kfx9brk9djfkh0q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
'configure 'change-dir-n-fix-shells
|
||||
(lambda _
|
||||
(chdir "src")
|
||||
(substitute* "configure"
|
||||
(("-/bin/sh") (string-append "-" (which "sh")))
|
||||
(("= /bin/sh") (string-append "= " (which "sh")))))
|
||||
%standard-phases)))
|
||||
(home-page "https://www.gnu.org/software/gprolog/")
|
||||
(synopsis "Prolog compiler")
|
||||
(description
|
||||
"GNU Prolog is a free Prolog compiler with constraint solving over
|
||||
finite domains developed by Daniel Diaz.
|
||||
|
||||
GNU Prolog accepts Prolog+constraint programs and produces native
|
||||
binaries (like gcc does from a C source). The obtained executable is
|
||||
then stand-alone. The size of this executable can be quite small since
|
||||
GNU Prolog can avoid to link the code of most unused built-in
|
||||
predicates. The performances of GNU Prolog are very
|
||||
encouraging (comparable to commercial systems).
|
||||
|
||||
Beside the native-code compilation, GNU Prolog offers a classical
|
||||
interactive interpreter (top-level) with a debugger.
|
||||
|
||||
The Prolog part conforms to the ISO standard for Prolog with many
|
||||
extensions very useful in practice (e.g., global variables, OS
|
||||
interface, sockets).
|
||||
|
||||
GNU Prolog also includes an efficient constraint solver over finite domains.
|
||||
This opens contraint logic programming to the user combining the power of
|
||||
constraint programming to the declarativity of logic programming.")
|
||||
(license (list gpl2+ lgpl3+))))
|
||||
@@ -0,0 +1,124 @@
|
||||
;;; 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 graphviz)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.0+ epl1.0)))
|
||||
|
||||
(define-public graphviz
|
||||
(package
|
||||
(name "graphviz")
|
||||
(version "2.28.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xpwg99cd8sp0c6r8klsmc66h1pday64kmnr4v6f9jkqqmrpkank"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input.
|
||||
'(#:tests? #f
|
||||
|
||||
#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda _
|
||||
;; Work around bogus makefile when using an external
|
||||
;; libltdl. Failing to do so, one hits this error:
|
||||
;; "No rule to make target `-lltdl', needed by `libgvc.la'."
|
||||
(substitute* "lib/gvc/Makefile"
|
||||
(("am__append_5 *=.*")
|
||||
"am_append_5 =\n")))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("libXrender" ,libxrender)
|
||||
("libX11" ,libx11)
|
||||
("gts" ,gts)
|
||||
("gd" ,gd) ; FIXME: Our GD is too old
|
||||
("pango" ,pango)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("libltdl" ,libtool)
|
||||
("bison" ,bison)
|
||||
("libXaw" ,libxaw)
|
||||
("expat" ,expat)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://www.graphviz.org/")
|
||||
(synopsis "Graph visualization software")
|
||||
(description
|
||||
"Graphviz is a graph visualization tool suite. Graph visualization is a
|
||||
way of representing structural information as diagrams of abstract graphs and
|
||||
networks. It has important applications in networking, bioinformatics,
|
||||
software engineering, database and web design, machine learning, and in visual
|
||||
interfaces for other technical domains.")
|
||||
(license epl1.0)))
|
||||
|
||||
(define-public gts
|
||||
(package
|
||||
(name "gts")
|
||||
(version "0.7.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gts/gts-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda _
|
||||
(chmod "test/boolean/test.sh" #o777))
|
||||
%standard-phases)
|
||||
|
||||
;; Some data files used by the test suite are missing.
|
||||
;; See <http://sourceforge.net/p/gts/bugs/41/>.
|
||||
#:tests? #f))
|
||||
(inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
;; The gts.pc file has glib-2.0 as required.
|
||||
`(("glib" ,glib)))
|
||||
(home-page "http://gts.sourceforge.net/")
|
||||
|
||||
;; Note: Despite the name, this is not official GNU software.
|
||||
(synopsis "Triangulated Surface Library")
|
||||
(description
|
||||
"Library intended to provide a set of useful functions to deal with
|
||||
3D surfaces meshed with interconnected triangles.")
|
||||
(license lgpl2.0+)))
|
||||
@@ -0,0 +1,53 @@
|
||||
;;; 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 groff)
|
||||
#: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 bison)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages texinfo))
|
||||
|
||||
(define-public groff
|
||||
(package
|
||||
(name "groff")
|
||||
(version "1.22.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/groff/groff-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0xi07nhj5vdgax37rj25mwxzdmsz1ifx50hjgc6hqbkpqkd6821q"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("bison" ,bison)
|
||||
("ghostscript" ,ghostscript)
|
||||
("netpbm" ,netpbm)
|
||||
("perl" ,perl)
|
||||
("psutils" ,psutils)
|
||||
("texinfo" ,texinfo)))
|
||||
(synopsis "Typesetting from plain text mixed with formatting commands")
|
||||
(description
|
||||
"GNU Troff (Groff) is a software typesetting package which reads plain
|
||||
text mixed with formatting commands and produces formatted output.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/groff/")))
|
||||
@@ -0,0 +1,112 @@
|
||||
;;; 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 grub)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages qemu)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define qemu-for-tests
|
||||
;; Newer QEMU versions, such as 1.5.1, no longer support the 'shutdown'
|
||||
;; instruction. This leads to test hangs, as reported at
|
||||
;; <https://bugs.launchpad.net/bugs/947597> and fixed at
|
||||
;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
|
||||
;; Work around it by using an older QEMU.
|
||||
(package (inherit qemu)
|
||||
(version "1.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://wiki.qemu-project.org/download/qemu-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bqfrb5dlsxm8gxhkksz8qzi5fhj3xqhxyfwbqcphhcv1kpyfwip"))))
|
||||
|
||||
;; With recent GLib versions, we get a test failure:
|
||||
;; ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
|
||||
;; Simply disable the tests.
|
||||
(arguments `(#:tests? #f
|
||||
,@(package-arguments qemu)))
|
||||
|
||||
;; The manual fails to build with Texinfo 5.x.
|
||||
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
|
||||
|
||||
(define-public grub
|
||||
(package
|
||||
(name "grub")
|
||||
(version "2.00")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/grub/grub-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/gets"))
|
||||
#:configure-flags '("--disable-werror")
|
||||
#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-stuff
|
||||
(lambda _
|
||||
(substitute* "grub-core/Makefile.in"
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
;; TODO: Re-enable this test when we have Parted.
|
||||
(substitute* "tests/partmap_test.in"
|
||||
(("set -e") "exit 77")))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(;; ("lvm2" ,lvm2)
|
||||
("gettext" ,gnu:gettext)
|
||||
("freetype" ,freetype)
|
||||
;; ("libusb" ,libusb)
|
||||
("ncurses" ,ncurses)
|
||||
|
||||
("patch/gets" ,(search-patch "grub-gets-undeclared.patch"))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
|
||||
;; Dependencies for the test suite. The "real" QEMU is needed here,
|
||||
;; because several targets are used.
|
||||
("qemu" ,qemu-for-tests)
|
||||
("xorriso" ,xorriso)))
|
||||
(home-page "http://www.gnu.org/software/grub/")
|
||||
(synopsis "GRand unified boot loader")
|
||||
(description
|
||||
"GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand
|
||||
Unified Bootloader, which was originally designed and implemented by Erich
|
||||
Stefan Boleyn.
|
||||
|
||||
Briefly, the boot loader is the first software program that runs when a
|
||||
computer starts. It is responsible for loading and transferring control to
|
||||
the operating system kernel software (such as the Hurd or the Linux). The
|
||||
kernel, in turn, initializes the rest of the operating system (e.g., GNU).")
|
||||
(license gpl3+)))
|
||||
@@ -0,0 +1,84 @@
|
||||
;;; 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 grue-hunter)
|
||||
#: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 compression)
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public grue-hunter
|
||||
(package
|
||||
(name "grue-hunter")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://jxself.org/" name ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hjcpy5439qs3v2zykis7hsi0i17zjs62gks3zd8mnfw9ni4i2h3"))))
|
||||
(build-system trivial-build-system) ; no Makefile.PL
|
||||
(arguments `(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(use-modules (srfi srfi-1))
|
||||
|
||||
(let* ((tarball (assoc-ref %build-inputs "tarball"))
|
||||
(perl (string-append (assoc-ref %build-inputs
|
||||
"perl")
|
||||
"/bin"))
|
||||
(gunzip (string-append (assoc-ref %build-inputs
|
||||
"gzip")
|
||||
"/bin/gunzip"))
|
||||
(tar (string-append (assoc-ref %build-inputs
|
||||
"tar")
|
||||
"/bin/tar"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc")))
|
||||
(begin
|
||||
(mkdir out)
|
||||
(copy-file tarball "grue-hunter.tar.gz")
|
||||
(zero? (system* gunzip "grue-hunter.tar.gz"))
|
||||
(zero? (system* tar "xvf" "grue-hunter.tar"))
|
||||
|
||||
(mkdir-p bin)
|
||||
(copy-file "grue-hunter/gh.pl"
|
||||
(string-append bin "/grue-hunter"))
|
||||
(patch-shebang (string-append bin "/grue-hunter")
|
||||
(list perl))
|
||||
|
||||
(mkdir-p doc)
|
||||
(copy-file "grue-hunter/AGPLv3.txt"
|
||||
(string-append doc "/grue-hunter")))))))
|
||||
(inputs `(("perl" ,perl)
|
||||
("tar" ,tar)
|
||||
("gzip" ,gzip)
|
||||
("tarball" ,source)))
|
||||
(home-page "http://jxself.org/grue-hunter.shtml")
|
||||
(synopsis "Text adventure game")
|
||||
(description
|
||||
"Grue Hunter is a text adventure game written in Perl. You must make
|
||||
your way through an underground cave system in search of the Grue. Can you
|
||||
capture it and get out alive?")
|
||||
(license agpl3+)))
|
||||
@@ -61,7 +61,7 @@
|
||||
("shishi" ,shishi)
|
||||
("zlib" ,guix:zlib)
|
||||
))
|
||||
(synopsis "GNU GSS (Generic Security Service), a free implementatio of RFC 2743/2744")
|
||||
(synopsis "Generic Security Service library")
|
||||
(description
|
||||
"GNU GSS is an implementation of the Generic Security Service Application
|
||||
Program Interface (GSS-API). GSS-API is used by network servers to provide
|
||||
@@ -83,11 +83,13 @@ SMTP/IMAP servers. GSS consists of a library and a manual.")
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("libidn" ,libidn)
|
||||
("libntlm" ,libntlm)
|
||||
("gnutls" ,gnutls)
|
||||
("gss" ,gss)
|
||||
("zlib" ,guix:zlib)
|
||||
))
|
||||
(synopsis "GNU SASL, an implementation of the Simple Authentication and Security Layer framework")
|
||||
("zlib" ,guix:zlib)))
|
||||
(propagated-inputs
|
||||
;; Propagate GnuTLS because libgnutls.la reads `-lnettle', and Nettle is a
|
||||
;; propagated input of GnuTLS.
|
||||
`(("gnutls" ,gnutls)))
|
||||
(synopsis "Simple Authentication and Security Layer library")
|
||||
(description
|
||||
"GNU SASL is an implementation of the Simple Authentication and Security
|
||||
Layer framework and a few common SASL mechanisms. SASL is used by network
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
;;; 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 gstreamer)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.0+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
(define-public gstreamer
|
||||
(package
|
||||
(name "gstreamer")
|
||||
(version "1.0.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c0irk85jd2cihm5pmf4zxhlpg08qpxjcqv1l9qn2n3h2gsaj2lf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("glib" ,glib)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-wrapper" ,python-wrapper)))
|
||||
(home-page "http://gstreamer.freedesktop.org/")
|
||||
(synopsis
|
||||
"Multimedia library")
|
||||
(description
|
||||
"GStreamer is a library for constructing graphs of media-handling
|
||||
components. The applications it supports range from simple Ogg/Vorbis
|
||||
playback, audio/video streaming to complex audio (mixing) and video
|
||||
(non-linear editing) processing.
|
||||
|
||||
Applications can take advantage of advances in codec and filter technology
|
||||
transparently. Developers can add new codecs and filters by writing a
|
||||
simple plugin with a clean, generic interface.
|
||||
|
||||
This package provides the core library and elements.")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public gst-plugins-base
|
||||
(package
|
||||
(name "gst-plugins-base")
|
||||
(version "1.0.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s4pphbb5kpdh4rrmb8rala4sp499k4by59925k15xiz58xyhm4p"))))
|
||||
(build-system gnu-build-system)
|
||||
;; FIXME: Add more dependencies for further plugins.
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gstreamer" ,gstreamer)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-wrapper" ,python-wrapper)))
|
||||
(arguments
|
||||
`(#:tests? #f))
|
||||
;; All tests pass except for one:
|
||||
;; Running suite(s): pbutils library
|
||||
;; 85%: Checks: 7, Failures: 1, Errors: 0
|
||||
;; libs/pbutils.c:522:F:general:test_pb_utils_install_plugins:0: gst_install_plugins_sync() failed ;; with unexpected ret 201, which is neither HELPER_MISSING nor 1
|
||||
;; FAIL: libs/pbutils
|
||||
;; According to the documentation, "gst_install_plugins_sync (...)
|
||||
;; should almost never be used".
|
||||
(home-page "http://gstreamer.freedesktop.org/")
|
||||
(synopsis
|
||||
"Plugins for the gstreamer multimedia library")
|
||||
(description
|
||||
"GStreamer is a library for constructing graphs of media-handling
|
||||
components. The applications it supports range from simple Ogg/Vorbis
|
||||
playback, audio/video streaming to complex audio (mixing) and video
|
||||
(non-linear editing) processing.
|
||||
|
||||
Applications can take advantage of advances in codec and filter technology
|
||||
transparently. Developers can add new codecs and filters by writing a
|
||||
simple plugin with a clean, generic interface.
|
||||
|
||||
This package provides an essential exemplary set of elements.")
|
||||
(license lgpl2.0+)))
|
||||
@@ -0,0 +1,221 @@
|
||||
;;; 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 gtk)
|
||||
#: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 compression)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public atk
|
||||
(package
|
||||
(name "atk")
|
||||
(version "2.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/atk/2.8/atk-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("glib" ,glib)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "GNOME accessability toolkit")
|
||||
(description
|
||||
"ATK provides the set of accessibility interfaces that are implemented
|
||||
by other toolkits and applications. Using the ATK interfaces, accessibility
|
||||
tools have full access to view and control running applications.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://developer.gnome.org/atk/")))
|
||||
|
||||
(define-public cairo
|
||||
(package
|
||||
(name "cairo")
|
||||
(version "1.12.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cairographics.org/releases/cairo-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("glib" ,glib)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxrender" ,libxrender)
|
||||
("pixman" ,pixman)))
|
||||
(inputs
|
||||
`(("ghostscript" ,ghostscript)
|
||||
("libspectre" ,libspectre)
|
||||
("pkg-config" ,pkg-config)
|
||||
("poppler" ,poppler)
|
||||
("python" ,python-wrapper)
|
||||
("xextproto" ,xextproto)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
|
||||
(synopsis "2D graphics library")
|
||||
(description
|
||||
"Cairo is a 2D graphics library with support for multiple output devices.
|
||||
Currently supported output targets include the X Window System (via both
|
||||
Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
|
||||
output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
|
||||
|
||||
Cairo is designed to produce consistent output on all output media while
|
||||
taking advantage of display hardware acceleration when available
|
||||
eg. through the X Render Extension).
|
||||
|
||||
The cairo API provides operations similar to the drawing operators of
|
||||
PostScript and PDF. Operations in cairo including stroking and filling cubic
|
||||
Bézier splines, transforming and compositing translucent images, and
|
||||
antialiased text rendering. All drawing operations can be transformed by any
|
||||
affine transformation (scale, rotation, shear, etc.)")
|
||||
(license license:lgpl2.1) ; or Mozilla Public License 1.1
|
||||
(home-page "http://cairographics.org/")))
|
||||
|
||||
(define-public harfbuzz
|
||||
(package
|
||||
(name "harfbuzz")
|
||||
(version "0.9.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s6sffgf6ndy12fyln2bdnkn3cb1qfkch0rakdgkgwlq7n46zlx0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("icu4c" ,icu4c)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
(synopsis "opentype text shaping engine")
|
||||
(description
|
||||
"HarfBuzz is an OpenType text shaping engine.")
|
||||
(license (license:x11-style "file://COPYING"
|
||||
"See 'COPYING' in the distribution."))
|
||||
(home-page "http://www.freedesktop.org/wiki/Software/HarfBuzz/")))
|
||||
|
||||
(define-public pango
|
||||
(package
|
||||
(name "pango")
|
||||
(version "1.34.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/pango/1.34/pango-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0k7662qix7zzh7mf6ikdj594n8jpbfm25z8swz64zbm86kgk1shs"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("cairo" ,cairo)
|
||||
("harfbuzz" ,harfbuzz)))
|
||||
(inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "GNOME text and font handling library")
|
||||
(description
|
||||
"Pango is the core text and font handling library used in GNOME
|
||||
applications. It has extensive support for the different writing systems
|
||||
used throughout the world.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://developer.gnome.org/pango/")))
|
||||
|
||||
(define-public gdk-pixbuf
|
||||
(package
|
||||
(name "gdk-pixbuf")
|
||||
(version "2.28.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gdk-pixbuf/2.28/gdk-pixbuf-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libtiff" ,libtiff)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "GNOME image loading and manipulation library")
|
||||
(description
|
||||
"GdkPixbuf is a library for image loading and manipulation developed
|
||||
in the GNOME project.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://developer.gnome.org/gdk-pixbuf/")))
|
||||
|
||||
(define-public gtk+
|
||||
(package
|
||||
(name "gtk+")
|
||||
(version "2.24.20")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gtk+/2.24/gtk+-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18qdvb7nxi25hfnpmcy01p3majw9jnx83ikm263dk9rrjazvqrnc"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((configure (assoc-ref %standard-phases 'configure)))
|
||||
;; FIXME: re-enable tests requiring an X server
|
||||
(substitute* "gtk/Makefile.in"
|
||||
(("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
|
||||
(apply configure args)))
|
||||
%standard-phases)))
|
||||
(synopsis "Cross-platform toolkit for creating graphical user interfaces")
|
||||
(description
|
||||
"GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
|
||||
graphical user interfaces. Offering a complete set of widgets, GTK+ is
|
||||
suitable for projects ranging from small one-off tools to complete
|
||||
application suites.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "http://www.gtk.org/")))
|
||||
+155
-17
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -19,6 +19,7 @@
|
||||
(define-module (gnu packages guile)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gperf)
|
||||
@@ -29,6 +30,9 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ed)
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
@@ -57,17 +61,21 @@
|
||||
;; Insert a phase before `configure' to patch things up.
|
||||
#:phases (alist-cons-before
|
||||
'configure
|
||||
'patch-loader-search-path
|
||||
'patch-stuff
|
||||
(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")))))
|
||||
(("lt_dlinit.*$" match)
|
||||
(format #f
|
||||
" ~a~% lt_dladdsearchdir(\"~a/lib\");~%"
|
||||
match
|
||||
(assoc-ref outputs "out"))))
|
||||
|
||||
;; The usual /bin/sh...
|
||||
(substitute* "ice-9/popen.scm"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
%standard-phases)))
|
||||
(inputs `(("patch/snarf" ,(search-patch "guile-1.8-cpp-4.5.patch"))
|
||||
("gawk" ,gawk)
|
||||
@@ -81,7 +89,12 @@
|
||||
;; When cross-compiling, a native version of Guile itself is needed.
|
||||
(self-native-input? #t)
|
||||
|
||||
(synopsis "GNU Guile 1.8, an embeddable Scheme interpreter")
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_LOAD_PATH")
|
||||
(directories '("share/guile/site")))))
|
||||
|
||||
(synopsis "Scheme implementation intended especially for extensions")
|
||||
(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
|
||||
@@ -92,18 +105,23 @@ extensible. It supports many SRFIs.")
|
||||
(define-public guile-2.0
|
||||
(package
|
||||
(name "guile")
|
||||
(version "2.0.7")
|
||||
(version "2.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile/guile-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0f53pxkia4v17n0avwqlcjpy0n89hkazm2xsa6p84lv8k6k8y9vg"))))
|
||||
"0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkgconfig" ,pkg-config)))
|
||||
(inputs `(("libffi" ,libffi)
|
||||
("readline" ,readline)))
|
||||
("readline" ,readline)
|
||||
|
||||
;; TODO: On next core-updates, make Bash input unconditional.
|
||||
,@(if (%current-target-system)
|
||||
`(("bash" ,bash))
|
||||
'())))
|
||||
|
||||
(propagated-inputs
|
||||
`( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
|
||||
@@ -120,17 +138,32 @@ extensible. It supports many SRFIs.")
|
||||
|
||||
(self-native-input? #t)
|
||||
|
||||
(outputs '("out" "debug"))
|
||||
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
`(#:phases (alist-cons-before
|
||||
'configure 'pre-configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Tell (ice-9 popen) the file name of Bash.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "module/ice-9/popen.scm"
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases)))
|
||||
%standard-phases)
|
||||
|
||||
(synopsis "GNU Guile 2.0, an embeddable Scheme implementation")
|
||||
,@(if (%current-target-system)
|
||||
'(#:configure-flags '("CC_FOR_BUILD=gcc"))
|
||||
'())))
|
||||
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_LOAD_PATH")
|
||||
(directories '("share/guile/site/2.0")))
|
||||
(search-path-specification
|
||||
(variable "GUILE_LOAD_COMPILED_PATH")
|
||||
(directories '("share/guile/site/2.0")))))
|
||||
|
||||
(synopsis "Scheme implementation intended especially for extensions")
|
||||
(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.
|
||||
@@ -155,7 +188,7 @@ call interface, and powerful string processing.")
|
||||
"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)))
|
||||
(name (string-append "guile-reader-for-guile_" (package-version guile)))
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@@ -169,8 +202,14 @@ or 2.0."
|
||||
(native-inputs `(("pkgconfig" ,pkg-config)
|
||||
("gperf" ,gperf)))
|
||||
(inputs `(("guile" ,guile)))
|
||||
(synopsis "Guile-Reader, a simple framework for building readers for
|
||||
GNU Guile")
|
||||
(arguments `(#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
,(if (string-prefix? "2." (package-version guile))
|
||||
'(list (string-append "--with-guilemoduledir="
|
||||
out "/share/guile/site/2.0"))
|
||||
'(list (string-append "--with-guilemoduledir="
|
||||
out "/share/guile/site"))))))
|
||||
(synopsis "Framework for building readers for GNU Guile")
|
||||
(description
|
||||
"Guile-Reader is a simple framework for building readers for GNU Guile.
|
||||
|
||||
@@ -194,4 +233,103 @@ many readers as needed).")
|
||||
;; Guile-Reader built against Guile 2.0.
|
||||
(guile-reader guile-2.0))
|
||||
|
||||
(define-public guile-ncurses
|
||||
(package
|
||||
(name "guile-ncurses")
|
||||
(version "1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("guile" ,guile-2.0)))
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "--with-guilesitedir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.0"))
|
||||
#:phases (alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/guile/site/"))
|
||||
(files (find-files dir ".scm")))
|
||||
(substitute* files
|
||||
(("\"libguile-ncurses\"")
|
||||
(format #f "\"~a/lib/libguile-ncurses\""
|
||||
out)))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/guile-ncurses/")
|
||||
(synopsis "Guile bindings to ncurses")
|
||||
(description
|
||||
"GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
|
||||
provides functions for creating text user interfaces. The text user interface
|
||||
functionality is built on the ncurses libraries: curses, form, panel, and
|
||||
menu.")
|
||||
(license lgpl3+)))
|
||||
|
||||
(define-public mcron
|
||||
(package
|
||||
(name "mcron")
|
||||
(version "1.0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/mcron/mcron-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/install"))))
|
||||
(inputs
|
||||
`(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)
|
||||
("patch/install" ,(search-patch "mcron-install.patch"))))
|
||||
(home-page "http://www.gnu.org/software/mcron/")
|
||||
(synopsis "Run jobs at scheduled times")
|
||||
(description
|
||||
"The GNU package mcron (Mellor's cron) is a 100% compatible replacement
|
||||
for Vixie cron. It is written in pure Guile, and allows configuration files
|
||||
to be written in scheme (as well as Vixie's original format) for infinite
|
||||
flexibility in specifying when jobs should be run. Mcron was written by Dale
|
||||
Mellor.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public guile-lib
|
||||
(package
|
||||
(name "guile-lib")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'configure 'patch-module-dir
|
||||
(lambda _
|
||||
(substitute* "src/Makefile.in"
|
||||
(("^moddir[[:blank:]]*=[[:blank:]]*([[:graph:]]+)" _ rhs)
|
||||
(string-append "moddir = " rhs "/2.0\n"))))
|
||||
%standard-phases)))
|
||||
(inputs `(("guile" ,guile-2.0)))
|
||||
(home-page "http://www.nongnu.org/guile-lib/")
|
||||
(synopsis "Collection of useful Guile Scheme modules")
|
||||
(description
|
||||
"guile-lib is intended as an accumulation place for pure-scheme Guile
|
||||
modules, allowing for people to cooperate integrating their generic Guile
|
||||
modules into a coherent library. Think \"a down-scaled, limited-scope CPAN
|
||||
for Guile\".")
|
||||
|
||||
;; The whole is under GPLv3+, but some modules are under laxer
|
||||
;; distribution terms such as LGPL and public domain. See `COPYING' for
|
||||
;; details.
|
||||
(license gpl3+)))
|
||||
|
||||
;;; guile.scm ends here
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; 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 gv)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xorg)
|
||||
#: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 ghostscript/x
|
||||
(package (inherit ghostscript)
|
||||
(name (string-append (package-name ghostscript) "-with-x"))
|
||||
(inputs `(("libxext" ,libxext)
|
||||
("libxt" ,libxt)
|
||||
,@(package-inputs ghostscript)))))
|
||||
|
||||
(define-public gv
|
||||
(package
|
||||
(name "gv")
|
||||
(version "3.7.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gv/gv-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0q8s43z14vxm41pfa8s5h9kyyzk1fkwjhkiwbf2x70alm6rv6qi1"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs `(("ghostscript" ,ghostscript/x)))
|
||||
(inputs `(("libx11" ,libx11)
|
||||
("libxaw3d" ,libxaw3d)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxpm" ,libxpm)
|
||||
("pkg-config" ,pkg-config)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "PostScript and PDF viewer using Ghostscript as a back-end")
|
||||
(description
|
||||
"GNU gv allows to view and navigate through PostScript and PDF documents
|
||||
on an X display by providing a graphical user interface for the Ghostscript
|
||||
interpreter.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/gv/")))
|
||||
@@ -26,7 +26,7 @@
|
||||
(define-public help2man
|
||||
(package
|
||||
(name "help2man")
|
||||
(version "1.40.8")
|
||||
(version "1.43.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -34,7 +34,7 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s6phazn8jgvpbsby8kj2m58rj1zjghi1aipvamh8af226ssqfzj"))))
|
||||
"00yk86rvvaavg7y6i5bvk5xhm417jl9dpr8bqvqdksw0i48qv5v7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(;; There's no `check' target.
|
||||
#:tests? #f))
|
||||
@@ -45,7 +45,7 @@
|
||||
;; ("gettext" ,gettext)
|
||||
))
|
||||
(home-page "http://www.gnu.org/software/help2man/")
|
||||
(synopsis "GNU help2man generates man pages from `--help' output")
|
||||
(synopsis "Automatically generate man pages from program --help")
|
||||
(description
|
||||
"help2man produces simple manual pages from the ‘--help’ and
|
||||
‘--version’ output of other commands.")
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
;;; 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 hugs)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public hugs
|
||||
(package
|
||||
(name "hugs")
|
||||
(version "Sep2006")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cvs.haskell.org/Hugs/downloads/2006-09/"
|
||||
name "98-plus-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
'configure 'fix-sh-n-cp
|
||||
(lambda _
|
||||
(substitute*
|
||||
'("configure"
|
||||
"libraries/configure"
|
||||
"packages/time/configure"
|
||||
"packages/base/configure"
|
||||
"packages/X11/configure"
|
||||
"packages/HGL/configure"
|
||||
"packages/OpenAL/configure"
|
||||
"packages/OpenGL/configure"
|
||||
"packages/network/configure"
|
||||
"packages/unix/configure"
|
||||
"packages/Cabal/tests/HSQL/configure"
|
||||
"packages/ALUT/configure"
|
||||
"packages/GLUT/configure"
|
||||
"packages/base/cbits/execvpe.c"
|
||||
"packages/base/System/Process/Internals.hs"
|
||||
"packages/Cabal/Distribution/attic"
|
||||
"packages/Cabal/Distribution/Simple/Register.hs"
|
||||
"packages/Cabal/Distribution/Simple/Hugs.hs"
|
||||
"tools/hugs-hc"
|
||||
"src/machdep.c"
|
||||
"libraries/Makefile.in")
|
||||
(("/bin/sh") (which "sh")))
|
||||
(substitute* '("demos/Makefile.in"
|
||||
"libraries/Makefile.in")
|
||||
(("/bin/cp") (which "cp"))))
|
||||
%standard-phases)
|
||||
#:tests? #f)) ; no test target
|
||||
(home-page "http://haskell.org/hugs")
|
||||
(synopsis "Functional programming system based on Haskell 98")
|
||||
(description
|
||||
"Hugs 98 is an interpreter and programming environment for developing
|
||||
Haskell programs. It provides an almost complete implementation of Haskell
|
||||
98, which includes expression and pattern syntax, primitives for monadic I/O,
|
||||
with support for simple interactive programs, handle-based I/O, and exception
|
||||
handling. Hugs has a nearly complete implementation of the Haskell module
|
||||
system and supports a number of advanced extensions.")
|
||||
(license (bsd-style "file://License"
|
||||
"See License in the distribution."))))
|
||||
@@ -42,7 +42,7 @@
|
||||
,(search-patch "diffutils-gets-undeclared.patch"))))
|
||||
(arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
|
||||
(home-page "http://www.gnu.org/software/idutils/")
|
||||
(synopsis "GNU Idutils, a text searching utility")
|
||||
(synopsis "Identifier database utilities")
|
||||
(description
|
||||
"An \"ID database\" is a binary file containing a list of file
|
||||
names, a list of tokens, and a sparse matrix indicating which
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
;;; 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 imagemagick)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses) #:select (fsf-free))
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public imagemagick
|
||||
(package
|
||||
(name "imagemagick")
|
||||
(version "6.8.6-9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://imagemagick/ImageMagick-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bpj8676mph5cvyjsdgf27i6yg2iw9iskk5c69mvpxkyawgjw1vg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
;; Clear the `LIBRARY_PATH' setting, which otherwise
|
||||
;; interferes with our own use.
|
||||
(("^LIBRARY_PATH[[:blank:]]*=.*$")
|
||||
"")
|
||||
|
||||
;; Since the Makefile overrides $docdir, modify it to
|
||||
;; refer to what we want.
|
||||
(("^DOCUMENTATION_PATH[[:blank:]]*=.*$")
|
||||
(let ((doc (assoc-ref outputs "doc")))
|
||||
(string-append "DOCUMENTATION_PATH = "
|
||||
doc "/share/doc/"
|
||||
,name "-" ,version "\n")))))
|
||||
%standard-phases)))
|
||||
;; TODO: Add Jasper, LCMS, etc.
|
||||
(inputs `(("graphviz" ,graphviz)
|
||||
("ghostscript" ,ghostscript)
|
||||
("libx11" ,libx11)
|
||||
("zlib" ,zlib)
|
||||
("libxml2" ,libxml2)
|
||||
("libtiff" ,libtiff)
|
||||
("libpng" ,libpng)
|
||||
("libjpeg" ,libjpeg-8)
|
||||
("pango" ,pango)
|
||||
("freetype" ,freetype)
|
||||
("bzip2" ,bzip2)
|
||||
("xz" ,xz)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(outputs '("out"
|
||||
"doc")) ; 26 MiB of HTML documentation
|
||||
(home-page "http://www.imagemagick.org/")
|
||||
(synopsis "Create, edit, compose, or convert bitmap images")
|
||||
(description
|
||||
"ImageMagick® is a software suite to create, edit, compose, or convert
|
||||
bitmap images. It can read and write images in a variety of formats (over 100)
|
||||
including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,
|
||||
and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
|
||||
transform images, adjust image colors, apply various special effects, or draw
|
||||
text, lines, polygons, ellipses and Bézier curves.")
|
||||
(license (fsf-free "http://www.imagemagick.org/script/license.php"))))
|
||||
@@ -18,7 +18,8 @@
|
||||
|
||||
(define-module (gnu packages indent)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
@@ -34,11 +35,11 @@
|
||||
(sha256 (base32
|
||||
"0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "GNU Indent, a program for code indentation and formatting")
|
||||
(synopsis "Code reformatter")
|
||||
(description
|
||||
"GNU Indent can be used to make code easier to read. It can also convert
|
||||
from one style of writing C to another. Indent understands a substantial
|
||||
amount about the syntax of C, but it also attempts to cope with incomplete
|
||||
and misformed syntax. The GNU style of indenting is the default.")
|
||||
(license gpl3+)
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/indent/")))
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
;;; 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 irssi)
|
||||
#: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 glib)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public irssi
|
||||
(package
|
||||
(name "irssi")
|
||||
(version "0.8.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.irssi.org/files/irssi-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(ncurses (assoc-ref inputs "ncurses")))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--with-ncurses=" ncurses)))))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("pkg-config" ,pkg-config)
|
||||
("ncurses" ,ncurses)
|
||||
("perl" ,perl)))
|
||||
(home-page "http://www.irssi.org/")
|
||||
(synopsis "Irssi, a terminal-based IRC client")
|
||||
(description
|
||||
"Irssi is a terminal based IRC client for UNIX systems. It also supports
|
||||
SILC and ICB protocols via plugins.")
|
||||
(license gpl2+)))
|
||||
@@ -11,7 +11,7 @@ main="(@ (gnu build-support ld-wrapper) ld-wrapper)"
|
||||
exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@"
|
||||
!#
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -82,13 +82,26 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "
|
||||
(getenv "GUIX_LD_WRAPPER_DEBUG"))
|
||||
|
||||
(define (pure-file-name? file)
|
||||
;; Return #t when FILE is the name of a file either within the store or
|
||||
;; within the build directory.
|
||||
(or (not (string-prefix? "/" file))
|
||||
(string-prefix? %store-directory file)
|
||||
(string-prefix? %temporary-directory file)
|
||||
(and %build-directory
|
||||
(string-prefix? %build-directory file))))
|
||||
;; Return #t when FILE is the name of a file either within the store
|
||||
;; (possibly via a symlink) or within the build directory.
|
||||
(define %max-symlink-depth 50)
|
||||
|
||||
(let loop ((file file)
|
||||
(depth 0))
|
||||
(or (not (string-prefix? "/" file))
|
||||
(string-prefix? %store-directory file)
|
||||
(string-prefix? %temporary-directory file)
|
||||
(if %build-directory
|
||||
(string-prefix? %build-directory file)
|
||||
|
||||
;; When used from a user environment, FILE may refer to
|
||||
;; ~/.guix-profile/lib/libfoo.so, which is itself a symlink to the
|
||||
;; store. Check whether this is the case.
|
||||
(let ((s (false-if-exception (lstat file))))
|
||||
(and s
|
||||
(eq? 'symlink (stat:type s))
|
||||
(< depth %max-symlink-depth)
|
||||
(loop (readlink file) (+ 1 depth))))))))
|
||||
|
||||
(define (switch-arguments switch args)
|
||||
;; Return the arguments passed for the occurrences of SWITCH--e.g.,
|
||||
|
||||
@@ -38,9 +38,7 @@
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(home-page "https://www.gnu.org/software/less/")
|
||||
(synopsis
|
||||
"GNU less is a program similar to more, but which allows backward
|
||||
movement in the file as well as forward movement")
|
||||
(synopsis "Paginator for terminals")
|
||||
(description
|
||||
"GNU less is a program similar to more, but which allows backward
|
||||
movement in the file as well as forward movement. Also, less does not
|
||||
@@ -48,4 +46,4 @@ have to read the entire input file before starting, so with large input
|
||||
files it starts up faster than text editors like vi. Less uses
|
||||
termcap (or terminfo on some systems), so it can run on a variety of
|
||||
terminals. There is even limited support for hardcopy terminals.")
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
;;; 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 lesstif)
|
||||
#: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 xorg))
|
||||
|
||||
|
||||
(define-public lesstif
|
||||
(package
|
||||
(name "lesstif")
|
||||
(version "0.95.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/lesstif/lesstif/" version
|
||||
"/lesstif-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("printproto" ,printproto)))
|
||||
(inputs
|
||||
`(("libxext" ,libxext)
|
||||
("libxt" ,libxt)))
|
||||
(home-page "http://lesstif.sourceforge.net/")
|
||||
(synopsis "Clone of the Motif toolkit for the X window system")
|
||||
(description "Clone of the Motif toolkit for the X window system")
|
||||
(license license:gpl2+))) ; some files are lgpl2.1+ or x11
|
||||
@@ -0,0 +1,61 @@
|
||||
;;; 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 libdaemon)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public libdaemon
|
||||
(package
|
||||
(name "libdaemon")
|
||||
(version "0.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://0pointer.de/lennart/projects/libdaemon/libdaemon-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://0pointer.de/lennart/projects/libdaemon/")
|
||||
(synopsis "Lightweight C library that eases the writing of UNIX daemons")
|
||||
(description
|
||||
"libdaemon is a lightweight C library that eases the writing of UNIX
|
||||
daemons. It consists of the following parts:
|
||||
|
||||
• A wrapper around fork() which does the correct daemonization procedure of
|
||||
a process
|
||||
|
||||
• A wrapper around syslog() for simpler and compatible log output to Syslog
|
||||
or STDERR
|
||||
|
||||
• An API for writing PID files
|
||||
|
||||
• An API for serializing UNIX signals into a pipe for usage with select() or
|
||||
poll()
|
||||
|
||||
• An API for running subprocesses with STDOUT and STDERR redirected to
|
||||
syslog.
|
||||
|
||||
APIs like these are used in most daemon software available. It is not that
|
||||
simple to get it done right and code duplication is not a goal.")
|
||||
(license lgpl2.1+)))
|
||||
@@ -0,0 +1,63 @@
|
||||
;;; 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 libevent)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
(define-public libevent
|
||||
(package
|
||||
(name "libevent")
|
||||
(version "2.0.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/downloads/libevent/libevent/libevent-"
|
||||
version
|
||||
"-stable.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("patch/dns-tests" ,(search-patch "libevent-dns-tests.patch"))
|
||||
|
||||
;; Dependencies used for the tests and for `event_rpcgen.py'.
|
||||
("which" ,which)
|
||||
("python" ,python-wrapper)))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/dns-tests"))))
|
||||
(home-page "http://libevent.org/")
|
||||
(synopsis
|
||||
"libevent, an event notification library")
|
||||
(description
|
||||
"The libevent API provides a mechanism to execute a callback
|
||||
function when a specific event occurs on a file descriptor or after a
|
||||
timeout has been reached. Furthermore, libevent also support callbacks
|
||||
due to signals or regular timeouts.
|
||||
|
||||
libevent is meant to replace the event loop found in event driven
|
||||
network servers. An application just needs to call event_dispatch() and
|
||||
then add or remove events dynamically without having to change the event
|
||||
loop.")
|
||||
(license bsd-3)))
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -20,7 +20,6 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public libffi
|
||||
@@ -30,7 +29,7 @@
|
||||
(define out (assoc-ref outputs "out"))
|
||||
(mkdir (string-append out "/include"))
|
||||
(with-directory-excursion
|
||||
(string-append out "/lib/libffi-3.0.9/include")
|
||||
(string-append out "/lib/libffi-3.0.13/include")
|
||||
(for-each (lambda (h)
|
||||
(format #t "moving `~a' to includedir~%" h)
|
||||
(rename-file h (string-append out "/include/" h)))
|
||||
@@ -39,7 +38,7 @@
|
||||
(not (member x '("." ".."))))))))))
|
||||
(package
|
||||
(name "libffi")
|
||||
(version "3.0.9")
|
||||
(version "3.0.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -47,14 +46,15 @@
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ln4jbpb6clcsdpb9niqk0frgx4k0xki96wiv067ig0q4cajb7aq"))))
|
||||
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(#:modules ((guix build utils) (guix build gnu-build-system)
|
||||
(ice-9 ftw) (srfi srfi-26))
|
||||
#:phases (alist-cons-after 'install 'post-install
|
||||
,post-install-phase
|
||||
%standard-phases)))
|
||||
(synopsis "libffi, a foreign function call interface library")
|
||||
(outputs '("out" "debug"))
|
||||
(synopsis "Foreign function call interface library")
|
||||
(description
|
||||
"The libffi library provides a portable, high level programming interface
|
||||
to various calling conventions. This allows a programmer to call any
|
||||
|
||||
@@ -26,16 +26,16 @@
|
||||
(define-public libidn
|
||||
(package
|
||||
(name "libidn")
|
||||
(version "1.26")
|
||||
(version "1.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libidn/libidn-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0g657kv60rh486m7bwyp5k24ljmym4wnb8nmk6d3i3qgr1qlqbqa"))))
|
||||
"1yxbfdiwr3l91m79sksn6v5mgpl4lfj8i82zgryckas9hjb7ldfx"))))
|
||||
(build-system gnu-build-system)
|
||||
;; FIXME: No Java and C# libraries are currently built.
|
||||
(synopsis "GNU Libidn, a library to encode and decode internationalised domain names")
|
||||
(synopsis "Internationalized string processing library")
|
||||
(description
|
||||
"GNU Libidn is a fully documented implementation of the Stringprep,
|
||||
Punycode and IDNA specifications. Libidn's purpose is to encode and decode
|
||||
|
||||
@@ -46,7 +46,6 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
|
||||
|
||||
(define-public libjpeg-8
|
||||
(package (inherit libjpeg)
|
||||
(name "libjpeg-8")
|
||||
(version "8d")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
;;; 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 libphidget)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages libusb))
|
||||
|
||||
(define-public libphidget
|
||||
(package
|
||||
(name "libphidget")
|
||||
(version "2.1.8.20130320")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.phidgets.com/downloads/libraries/libphidget_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09ibrz1df5ajqcm9vmx6zw8qama2rzf0961yhmmfsy629qfhyrk0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("libusb" ,libusb)))
|
||||
(outputs '("out" "debug"))
|
||||
(home-page "http://www.phidgets.com/")
|
||||
(license lgpl3+)
|
||||
(synopsis "C library to manipulate Phidgets")
|
||||
(description synopsis)))
|
||||
@@ -0,0 +1,52 @@
|
||||
;;; 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 libpng)
|
||||
#:use-module (gnu packages)
|
||||
#:use-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))
|
||||
|
||||
(define-public libpng
|
||||
(package
|
||||
(name "libpng")
|
||||
(version "1.5.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
||||
;; Note: upstream removes older tarballs.
|
||||
(uri (list (string-append "mirror://sourceforge/libpng/libpng15/"
|
||||
version "/libpng-" version ".tar.xz")
|
||||
(string-append
|
||||
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
|
||||
"/libpng15/libpng-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "19wj293r4plbfgb43yhrc2qx8bsch9gbazazfqrj9haa7lsk29jp"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; libpng.la says "-lz", so propagate it.
|
||||
(propagated-inputs `(("zlib" ,zlib)))
|
||||
|
||||
(synopsis "Library for handling PNG files")
|
||||
(description
|
||||
"Libpng is the official PNG (Portable Network Graphics) reference
|
||||
library. It supports almost all PNG features and is extensible.")
|
||||
(license license:zlib)
|
||||
(home-page "http://www.libpng.org/pub/png/libpng.html")))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user