mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-08 02:04:06 +02:00
Compare commits
1089 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d9ef0f1aed | |||
| acc5bb1295 | |||
| ea2a6d895f | |||
| 769519d646 | |||
| e9f8ca4eab | |||
| ac9a01bb76 | |||
| 33aea188ee | |||
| 1889e0f680 | |||
| e2d4420262 | |||
| db7f9096fb | |||
| 72df09f07f | |||
| 489e5f24e3 | |||
| 061f401177 | |||
| 2dacb440f1 | |||
| 609ddc771e | |||
| 20d8e2de2c | |||
| 3eefe2847b | |||
| da6be170f0 | |||
| 623789cb3e | |||
| 07b14e54c5 | |||
| 3d90cd2b34 | |||
| d3aef2d6a3 | |||
| d058840601 | |||
| d59aeb33e7 | |||
| 212f88cc0c | |||
| b11d9ac9bb | |||
| b51ab1d3b3 | |||
| 4816dfa8bf | |||
| 8b2582d850 | |||
| 3a1a465066 | |||
| e41ef4a621 | |||
| 02a27b7fd9 | |||
| a3372225b2 | |||
| 47678334e4 | |||
| d6646874b1 | |||
| 65213427ee | |||
| b13a8bd441 | |||
| 7b106fee5d | |||
| 37826da4e3 | |||
| 8219295d38 | |||
| c8c0fc0864 | |||
| 06d652bee2 | |||
| 8c4cbb5892 | |||
| dc7c2fcd99 | |||
| c3e7fe5c4a | |||
| 30871dd5da | |||
| 70d4ce9e84 | |||
| 1ef3c20733 | |||
| 599b0d1b47 | |||
| f90b9a89e7 | |||
| 2ba0618f1a | |||
| 98d3893ad3 | |||
| 54ea22c1b3 | |||
| 9014f7d0de | |||
| 70566a12f1 | |||
| 786151d4e2 | |||
| 8f686be678 | |||
| 4cdf844341 | |||
| 2b53f88773 | |||
| fd0f0ff29d | |||
| 4af8fc9093 | |||
| 79daf14206 | |||
| e203536c96 | |||
| 40d611e5b0 | |||
| ced396639f | |||
| 850f19a1cd | |||
| 5b028ae84a | |||
| 256e510b28 | |||
| 1820454468 | |||
| 374a9096a0 | |||
| fcdb14b422 | |||
| 1e91748b9d | |||
| ce21ea9e02 | |||
| 5b03f052f7 | |||
| 9be0c66246 | |||
| 6f54d42c3f | |||
| e8db879cc0 | |||
| 3dda222b52 | |||
| 27ff9f0ab1 | |||
| 33476fa6a2 | |||
| 2e6add9819 | |||
| 83a4ff268e | |||
| ea61a1290f | |||
| 7276675c94 | |||
| df3395ad09 | |||
| f3cd03cc28 | |||
| b3f2ec4995 | |||
| 3e75d5b9ae | |||
| 1c1122b176 | |||
| fbfa903435 | |||
| c2e3af1aa9 | |||
| fdc93a4298 | |||
| aa9f9f95c8 | |||
| 706e43e923 | |||
| ed3791d800 | |||
| f46e42329c | |||
| 79a6627a9f | |||
| efe0daf227 | |||
| 0f6fa51951 | |||
| de8694e3da | |||
| 9604729d9b | |||
| 950636d541 | |||
| 8b5b7022ee | |||
| df03aa627e | |||
| 9133aa8f50 | |||
| 97ab8b816a | |||
| 632bc525eb | |||
| 584ef5f7ae | |||
| b35773ce5c | |||
| 13d294069a | |||
| b6c9267bba | |||
| 1a55aa61b2 | |||
| f268d19fc7 | |||
| bff640dd7d | |||
| 4c61a2af17 | |||
| a5e3711e95 | |||
| aed8778178 | |||
| c682b43e68 | |||
| 09604fe5da | |||
| 9c715dc05c | |||
| 3eb350f1b4 | |||
| f1a4ec0945 | |||
| ff548003c1 | |||
| a057620de7 | |||
| 99d8ed94b7 | |||
| ee0c5d8c8e | |||
| ac406e8547 | |||
| b00db6b9c8 | |||
| d989f017b9 | |||
| adce199e3e | |||
| be30fcd16a | |||
| f081e5f1d8 | |||
| ff868792e0 | |||
| 530584563e | |||
| 6b3593fe1e | |||
| 2b986961ec | |||
| 9e182624c9 | |||
| 1a5e947522 | |||
| 99810c58a6 | |||
| 0e4e6af082 | |||
| 2b0983b20d | |||
| a3d8eb37e6 | |||
| 36c450af8f | |||
| 3b46ec77ba | |||
| 662f33ece0 | |||
| 21e4a6cdb8 | |||
| 8b8162c82c | |||
| 658f220df5 | |||
| 8538eeb26d | |||
| d9ed6a8fa8 | |||
| a01d507b02 | |||
| 5842395477 | |||
| c550f38d9a | |||
| e8cb791ee4 | |||
| f07bf22f2e | |||
| 6b9d65bd8d | |||
| 8ea10f2ed9 | |||
| 419d9463ff | |||
| baeabffb57 | |||
| 998110763a | |||
| d92226ebcb | |||
| c486efb1ea | |||
| 0bd137d523 | |||
| 481c87b5b8 | |||
| f940291189 | |||
| edc157e669 | |||
| 3d76ac7b2a | |||
| 8a493da683 | |||
| 1f4d0c6e96 | |||
| 36de50b5ae | |||
| 9a0dc0dc35 | |||
| 19d21fbac4 | |||
| 8fddef7cac | |||
| b655203160 | |||
| 4003d033ee | |||
| 37a08e8994 | |||
| 4be1cb7f02 | |||
| f49974dabb | |||
| ba86fac0ac | |||
| 7a667ce28f | |||
| 5f35c1c6ab | |||
| 766d808208 | |||
| e6a517a1fb | |||
| 1738efcb75 | |||
| 8d8ab39698 | |||
| a0643809b7 | |||
| fc7cdef14b | |||
| 65b59c4e6c | |||
| 081b645881 | |||
| 75419a0a9b | |||
| d20c1f3065 | |||
| 1389321f00 | |||
| 9811b4b0ff | |||
| f3b429d974 | |||
| d3fbc6f975 | |||
| 482cc303d9 | |||
| 95d8062251 | |||
| 840372ecb5 | |||
| c766c8863c | |||
| db53aab457 | |||
| 02e84b8363 | |||
| f55126108e | |||
| b91bc237b2 | |||
| 0cfbacddcd | |||
| 427a235a20 | |||
| 5c9dea135e | |||
| 4f67ee5e39 | |||
| 8fdf8960d8 | |||
| 8f49b740d8 | |||
| 786acd3fe8 | |||
| 849882fa26 | |||
| 4e4a5555af | |||
| b5dc75925f | |||
| 4eec0f32f2 | |||
| 2c2b2e5b04 | |||
| fb8dc17b28 | |||
| d715a45f6d | |||
| 04b92d9ac9 | |||
| 9232c71434 | |||
| 76862c417e | |||
| f0967dc773 | |||
| 37b661bed9 | |||
| 00cba6c5a0 | |||
| ffef7b2a66 | |||
| 32b305fb56 | |||
| 2806efafa0 | |||
| 9eb61aa8f7 | |||
| 1cbb3714a6 | |||
| d1bd83b72f | |||
| 5b211154bc | |||
| c9b27432d2 | |||
| 217fc86333 | |||
| bc7a461cc9 | |||
| 4d178b58ae | |||
| 345dfdb720 | |||
| 1f63116ca8 | |||
| 47229b32f7 | |||
| 90fde16932 | |||
| bbe3948332 | |||
| b0d20e96a8 | |||
| b0fd3de157 | |||
| d7fcc88a89 | |||
| b7091dedef | |||
| a00ea5cba5 | |||
| feb7c0047f | |||
| fedcbee16a | |||
| 75f247dda8 | |||
| 11626c4ef5 | |||
| 49e6aa5385 | |||
| 57101b6487 | |||
| d404c5be08 | |||
| e669aabb91 | |||
| f372da558b | |||
| 1724387bcc | |||
| bf0b3e69ae | |||
| 01ea728245 | |||
| 4b1d44d609 | |||
| 30f67a9587 | |||
| d5c55bc2a7 | |||
| 572ef85126 | |||
| 5cc4e448ee | |||
| 92121f131e | |||
| e471b90e52 | |||
| ae91228254 | |||
| 8fbea716db | |||
| 2bc7f8c379 | |||
| e77b3ebd2a | |||
| 4025d20411 | |||
| a89745871f | |||
| c182524c43 | |||
| 65e86818cf | |||
| 175bee358b | |||
| 2e7c1716ae | |||
| 6f8cc1702c | |||
| 744095efea | |||
| 0fcf19116a | |||
| 9f2e04eaad | |||
| 8856ee7b9d | |||
| 0fc441dc13 | |||
| 29159afbaa | |||
| 3a6487616a | |||
| 88e1c76723 | |||
| 54e6226724 | |||
| 11131ac629 | |||
| 0b597e5517 | |||
| 1cb130bda2 | |||
| b709e23ef5 | |||
| e7b38e8487 | |||
| d31cbb93ce | |||
| ce1cd9a7b9 | |||
| 06ec87bd52 | |||
| a906fbd955 | |||
| 16f6588aee | |||
| a6356a32b8 | |||
| d451df8479 | |||
| 3f4efc59f0 | |||
| 47c846f9ed | |||
| c03c1426bd | |||
| 7101adead8 | |||
| 522d3cf350 | |||
| ef76675e8b | |||
| 98756cfccb | |||
| 1cb710f1fb | |||
| f98c00ab74 | |||
| 5d33059550 | |||
| dbbd7dea22 | |||
| 3777bf133e | |||
| 6e7d100ee3 | |||
| 77308a4eb5 | |||
| ffde23bf1e | |||
| 5064e82905 | |||
| 2930d0613a | |||
| 27446d3b1e | |||
| 3bafd4b8df | |||
| 2bcd893319 | |||
| bd79c9615a | |||
| 98fe415096 | |||
| 43cf782c5e | |||
| cbce4ef01e | |||
| 0626e8bd40 | |||
| ae521b7c43 | |||
| 3c78635bfe | |||
| d5cf275407 | |||
| e6b49f7d47 | |||
| 62e11d3051 | |||
| 022b728cd3 | |||
| f12a3c7658 | |||
| 493127241f | |||
| 93fcbc4ddb | |||
| a910ab23d3 | |||
| 3a7f175db7 | |||
| 9ded80a3cb | |||
| adcb7e9ca0 | |||
| 0fc77aac21 | |||
| 2da57f11b2 | |||
| e12b7e6217 | |||
| 1130f68732 | |||
| bd2b839c3c | |||
| a806d908cd | |||
| 8ba7cf0728 | |||
| 72f1199c74 | |||
| 5fc4110850 | |||
| caa2352f39 | |||
| b7da86ff56 | |||
| aa0b0c714b | |||
| 3ac5660019 | |||
| d7065ad369 | |||
| 9cf2984165 | |||
| 7671326836 | |||
| 69477daac9 | |||
| 1613bee190 | |||
| c13abb68a0 | |||
| 6255236244 | |||
| 5593b96976 | |||
| 79d15c0c41 | |||
| 3699795a8c | |||
| 8c4e19c1b4 | |||
| 1672274e6f | |||
| 64a2b45050 | |||
| 62df458b50 | |||
| 3478cf98e6 | |||
| f150a998c9 | |||
| 09be58292f | |||
| 396969b640 | |||
| 4dbcb0744c | |||
| cdce0ff17b | |||
| 80197ab0aa | |||
| ac1bd815bc | |||
| e82fce2180 | |||
| e7ff26ead7 | |||
| dea6ed5f59 | |||
| 400ed397f2 | |||
| f9e1e6bac6 | |||
| 4208601bb5 | |||
| 00c596a489 | |||
| d3171657a7 | |||
| bd2835fe68 | |||
| fdefbfd53a | |||
| 3b7fd1e766 | |||
| 5912f01e97 | |||
| a7539edb13 | |||
| 07b01260a0 | |||
| d619de32e3 | |||
| 7156d1e71b | |||
| 39caa6dbc7 | |||
| 5f42ab7d46 | |||
| 5b1b0aa2fd | |||
| f979c7b14c | |||
| e69aabe37d | |||
| c0d6641f7a | |||
| af6b6024f9 | |||
| 83df51e11a | |||
| 94ca82baec | |||
| a1ab9ce504 | |||
| 42337eab2b | |||
| 82e7bb9837 | |||
| c62a39174e | |||
| b8f6ad6750 | |||
| d4d03b652f | |||
| e0efaffe4b | |||
| e6d44c6bcf | |||
| e1e44912dc | |||
| 7309f55abc | |||
| 02352f186f | |||
| 8de7f580cd | |||
| bf55797e7b | |||
| b5e047ff9b | |||
| 115e10921e | |||
| 928f7ff31a | |||
| e0f2ac2c63 | |||
| c7e85bab13 | |||
| 89213f5ec3 | |||
| aa16403480 | |||
| c6ddca78fe | |||
| 7d51e25b3f | |||
| 2966911f9c | |||
| 9b4a28b913 | |||
| cc909a27cb | |||
| 67bd2766c9 | |||
| 190528f632 | |||
| 204b2ca8b9 | |||
| 1ff6e687c0 | |||
| e97d0696c0 | |||
| 48b506b95c | |||
| 0f083f50eb | |||
| 72bfa5ef9a | |||
| 015e02d6a5 | |||
| e12e4321d3 | |||
| bc998dcd1c | |||
| 1238aa538c | |||
| 2c9f5ce1ee | |||
| c69d577a6f | |||
| 2baa1f3f0c | |||
| c8894c3ca5 | |||
| b373e9926b | |||
| 328bf76757 | |||
| 4ff9ff9cba | |||
| e8e8afab26 | |||
| 52b40a6737 | |||
| 22a48b16d0 | |||
| 2bfc83d279 | |||
| cc3649bd17 | |||
| 9f9ae28f98 | |||
| 2b3ad8faf8 | |||
| fda44ca8b3 | |||
| ee338fe296 | |||
| 8451e354b5 | |||
| 78e06736fe | |||
| 6d9564b0d3 | |||
| ad4b1a9a47 | |||
| 2a69ad3369 | |||
| 7aa3aef400 | |||
| 85a94ac978 | |||
| 258cabed32 | |||
| 28b1f28153 | |||
| c3428a0879 | |||
| b207ef6ca1 | |||
| 605fbd4b98 | |||
| 31e151245c | |||
| c137ab9a63 | |||
| a2d5008635 | |||
| 7393bcc43b | |||
| b6bb61cdf7 | |||
| 2c917ee9cb | |||
| 5ea8a1afff | |||
| e81ef3f0a8 | |||
| ff3157795d | |||
| 0d19b6d752 | |||
| 43b9738ce9 | |||
| 8844aac6c6 | |||
| e6b16dcc13 | |||
| 57ed54ac88 | |||
| 0c73fc9e23 | |||
| bbfd6b915a | |||
| 034051e615 | |||
| e440725e7c | |||
| 29e8804f17 | |||
| da1910b031 | |||
| ab197930df | |||
| 60d30f1050 | |||
| 918e2ae852 | |||
| e7c07af656 | |||
| c2aca8c66c | |||
| 0212837f34 | |||
| ef9579b633 | |||
| 4bd667d0b3 | |||
| b52d73e0cb | |||
| 74c4333717 | |||
| 67fd8273f0 | |||
| 55f3ca86a0 | |||
| bbb9400c4c | |||
| ccc04fa425 | |||
| 71acbe87bc | |||
| 183f37b1dc | |||
| 2a77a21e86 | |||
| 9e0c7c1225 | |||
| 3bf26ffb08 | |||
| 856d637884 | |||
| ef0d69e72a | |||
| 487d289ece | |||
| 90e2971666 | |||
| c1fbc5d4e2 | |||
| 556cb3ca41 | |||
| 7041be9c11 | |||
| f493423d59 | |||
| a0597cd024 | |||
| 289db51c34 | |||
| c69882a548 | |||
| 84dce88dfa | |||
| 67829193d8 | |||
| 8e0288ae7e | |||
| 027472d480 | |||
| 2cbcf00b86 | |||
| 18a1cc2fd9 | |||
| 8832df9ea1 | |||
| f53e34191e | |||
| ce686240e6 | |||
| 5ae688c545 | |||
| 509e9fc4b0 | |||
| b391b7aeaa | |||
| 2bda68d8e7 | |||
| 069668f788 | |||
| 49dfc18f43 | |||
| 99438d8775 | |||
| b3a80ed56f | |||
| 1f215de55d | |||
| 80d73fb5a5 | |||
| 416b6a2a2d | |||
| 8441d86948 | |||
| c3a1f4623a | |||
| 6e09c50eaf | |||
| 4ca739f886 | |||
| add7248b35 | |||
| 01abc5cbc6 | |||
| 6cce547c0e | |||
| 9ad8bef856 | |||
| 83445f4590 | |||
| b61162017e | |||
| ba1ccf500b | |||
| 6180453020 | |||
| a08c8a37b2 | |||
| 3c20e7853b | |||
| b8a798d84e | |||
| 4423a03f95 | |||
| 250731ac62 | |||
| fa39bf58a7 | |||
| 412c748ff5 | |||
| 6272f97953 | |||
| 56d7d59c7a | |||
| b20700288a | |||
| fd203036c4 | |||
| 40a2d66fe8 | |||
| c4ebfb0977 | |||
| 61b4f6dec4 | |||
| 45fd19cbc2 | |||
| c652251c51 | |||
| 4b628d71ad | |||
| b5feebef5d | |||
| dc592f3cf8 | |||
| 0039b976d1 | |||
| 89438b98fb | |||
| efe3506396 | |||
| 6e1bcc3147 | |||
| 55f59e17b1 | |||
| 584a6de69d | |||
| dcf9d04120 | |||
| 693477f2db | |||
| b8f3db361d | |||
| dd79898f11 | |||
| 4f14e1f8b9 | |||
| 3f4e89f383 | |||
| 1514adcaf1 | |||
| 059a7ba6d6 | |||
| c2e3acbb65 | |||
| 2528f3a8bc | |||
| 42bf7db3a5 | |||
| 8b615b99c5 | |||
| ab2ccf8a8f | |||
| 89403c70ec | |||
| 6989890f65 | |||
| d4699fc394 | |||
| b04aaef066 | |||
| 5c5af663a3 | |||
| 46d2268b5c | |||
| ca63035eb3 | |||
| 4de7f5ec6b | |||
| 385ef7aa96 | |||
| 726b9784fb | |||
| 82dfda7421 | |||
| 1498f468a3 | |||
| cb22d95e3a | |||
| 53e5838736 | |||
| 57cadd9a78 | |||
| 168d06552b | |||
| f1e4c06694 | |||
| 88008ee7cf | |||
| b513eb0535 | |||
| 07511fff9f | |||
| 20d54481ec | |||
| 01038288e5 | |||
| 06ccb7d980 | |||
| e35c41e9bc | |||
| 05f0b49017 | |||
| 77485eea1d | |||
| 037a4467be | |||
| 58545527cd | |||
| ad9827a420 | |||
| 30ba442b3b | |||
| 73cb503c3e | |||
| f0f9761b52 | |||
| e622d1aed3 | |||
| 1be70bdea2 | |||
| e0d9e64146 | |||
| 8ec7fca6a8 | |||
| 4be0785090 | |||
| 487c8e1071 | |||
| fdddef21d1 | |||
| 74472b7a0d | |||
| 4278840aa8 | |||
| fc58af5d93 | |||
| e440f294f1 | |||
| 3fcabc0b93 | |||
| a467812a8b | |||
| c336aeef46 | |||
| 4b20467199 | |||
| ba5c4fa6bf | |||
| ebbb1e205a | |||
| 1434c1a022 | |||
| a0649b7b91 | |||
| 2389999184 | |||
| 474c4670a7 | |||
| 660edfadd9 | |||
| 5bba8f80c0 | |||
| 62fb1afea9 | |||
| 1594577539 | |||
| a6c69a6e24 | |||
| fdee1541e1 | |||
| ded6941599 | |||
| 586e5901b9 | |||
| 7b59abf211 | |||
| 6062acfbc9 | |||
| f9d3dd668e | |||
| 48f0cbb096 | |||
| b75d98f7a6 | |||
| bb0096af80 | |||
| ebe656f7fa | |||
| 1a4d986cb2 | |||
| 19dc246a62 | |||
| ac1c2576be | |||
| a7c9561567 | |||
| 931016b039 | |||
| aa0760f615 | |||
| 5298914c2a | |||
| ae943bc6be | |||
| 5a2f96278f | |||
| 49c005ffd5 | |||
| 0ccf94a014 | |||
| a4e5bf8684 | |||
| f3c8ade5a4 | |||
| bee73df6ad | |||
| a7c8ea872b | |||
| 82c9f24eb1 | |||
| 852c4060e0 | |||
| 5fb7352a7f | |||
| 40db13abc9 | |||
| f17e51bc67 | |||
| 0e3d375221 | |||
| f5661ffca4 | |||
| 419ab11952 | |||
| 2e1792d9f2 | |||
| c58ae148de | |||
| 11a9b44b03 | |||
| 759c34f141 | |||
| c582ba31b3 | |||
| a34e93a6cf | |||
| b7b468ad04 | |||
| 3cf0eb6400 | |||
| adb6b4e9a7 | |||
| 05a9449359 | |||
| 5b5bf85fff | |||
| d6f3c6c297 | |||
| fcb58dfd07 | |||
| d6aa5f961f | |||
| f233b2e232 | |||
| 8851235483 | |||
| 293f5f99aa | |||
| a78354495c | |||
| d9b1cf112c | |||
| 309b92b480 | |||
| 1c4c2fe93e | |||
| 685d09c76b | |||
| 75e4d299c2 | |||
| 9e266afecb | |||
| 705fcd0461 | |||
| 1a1e82b8bc | |||
| 32a2ede07f | |||
| 4d6a4d497b | |||
| ff515ad5a1 | |||
| 871c4b24b5 | |||
| 48230631a5 | |||
| 0693e16851 | |||
| 5e88438694 | |||
| 19a356fe3e | |||
| bdacbab4ec | |||
| 31a3cf0838 | |||
| 7961838b9a | |||
| 2f80bd6f6d | |||
| 560fe2e62c | |||
| d203bd5d0c | |||
| 55971e64d8 | |||
| 40c005a6d2 | |||
| 2529e06ed9 | |||
| ffef0ef524 | |||
| e12f753c38 | |||
| 85d6e9dd1a | |||
| 5c2ecd6e10 | |||
| bf8727a411 | |||
| 4bddb56076 | |||
| c04c6af930 | |||
| 113a5d609f | |||
| 034ecf47d2 | |||
| 5398bb8fe9 | |||
| e3932e0e1b | |||
| eb3dff6ebf | |||
| af029ea189 | |||
| 46c5586a54 | |||
| 3cbb27af5e | |||
| 953f4288dd | |||
| 5fd6626b2c | |||
| a7eb4095bb | |||
| d5ccfdc174 | |||
| b04c79d225 | |||
| 473f5d43f2 | |||
| a898dd116e | |||
| 383442c4c8 | |||
| bff6558cdf | |||
| d1dacedf18 | |||
| 6458ed2243 | |||
| 32f04f1167 | |||
| b3a91d2d2c | |||
| 7ba496abe1 | |||
| 4782ea19c5 | |||
| 67e6dd4269 | |||
| dd42b7af68 | |||
| ba9d7a384d | |||
| 7543037c2e | |||
| 93752bccf9 | |||
| 7e57da891b | |||
| aecbb8e949 | |||
| f9f16b7b12 | |||
| bdf71bbef6 | |||
| 8c4bd87607 | |||
| e3db04cf8f | |||
| 3308f22fed | |||
| 56b7297aae | |||
| 9b23399e50 | |||
| c5b9484086 | |||
| cd85068b60 | |||
| ea93b8623f | |||
| bf221a30ab | |||
| b1156aba47 | |||
| 728349ff37 | |||
| f3da9c3255 | |||
| f49930307e | |||
| e8c9b97af7 | |||
| dbc30539f1 | |||
| 17d16c89c6 | |||
| aba1229010 | |||
| 201dff3423 | |||
| 72ebaedf6e | |||
| 0a8ed62862 | |||
| dc5f6afac0 | |||
| 18f644732f | |||
| 67577ef19f | |||
| 44fa84cc24 | |||
| b12aaaa4f6 | |||
| 4818073cc4 | |||
| 686275b1b1 | |||
| 18d898365b | |||
| a647925d48 | |||
| 67bbc17c29 | |||
| 166fa4c2ec | |||
| 48e7beb8b1 | |||
| c669fb5805 | |||
| 4641e0a3e8 | |||
| 83f26e152d | |||
| 757330b741 | |||
| e9d4364bb9 | |||
| fb80369cee | |||
| 472144f622 | |||
| 4289ebc99d | |||
| a1907d4bb8 | |||
| 847493f3c4 | |||
| 77b0493615 | |||
| 120b2e21b3 | |||
| 00750f0145 | |||
| fc0ce80342 | |||
| 1757263cb9 | |||
| fb603c70af | |||
| d6eb888694 | |||
| 576fa5adc8 | |||
| 8872903c90 | |||
| dacd9c4981 | |||
| ebbaed106d | |||
| 83edb8ac2f | |||
| cfeb4afc48 | |||
| 6eaf041bc8 | |||
| 386804f308 | |||
| 219a15748d | |||
| fc9dab9d64 | |||
| 271a701b19 | |||
| 1272f8fa8c | |||
| a3a443fb14 | |||
| 3a295c3127 | |||
| 3b97682e71 | |||
| 8fa956b805 | |||
| 3a9a6f3f9e | |||
| 5900f3079f | |||
| a1497d7f4e | |||
| fc2a4019f6 | |||
| 830b2bb40a | |||
| 28523fcdcf | |||
| a455c7eb6a | |||
| e285f77f77 | |||
| 119fc6b990 | |||
| 39117f5ca4 | |||
| b38bbe3a5b | |||
| 6cc1f94ba5 | |||
| 746ce0fe2f | |||
| e20be9e30e | |||
| 0e2e9dc781 | |||
| 7dfe8f4da8 | |||
| a8bcc30d6d | |||
| 4a41b34b60 | |||
| d4c4ddeb4a | |||
| 62f0fadea7 | |||
| 08510daec8 | |||
| 0ded72257b | |||
| 7257c123fd | |||
| aeb85e1b7c | |||
| de58f0903f | |||
| 7a00c1fc0b | |||
| 16b5790f22 | |||
| cdf8c20bfc | |||
| 68b294b079 | |||
| 34bcf03d3e | |||
| ec64d521e1 | |||
| aa0ed34bf2 | |||
| 4a0d4d1b27 | |||
| a5a45d1822 | |||
| d6a9c314ce | |||
| c2abb6d048 | |||
| d34477d22e | |||
| 2e6aa8cc76 | |||
| c510680085 | |||
| 29a2518983 | |||
| 6e1f298518 | |||
| 5a4ee2fc5b | |||
| 933ffde866 | |||
| fb78838c61 | |||
| 92e84271ab | |||
| 558a9be50e | |||
| 41c670a6c4 | |||
| 651b2e347a | |||
| 13d64f0c36 | |||
| 1356081c27 | |||
| e3d6cd0aef | |||
| 9fe6bcde58 | |||
| af243280ff | |||
| 823ca4f288 | |||
| 04358e0f38 | |||
| e68faafcd3 | |||
| 2afd5f64e8 | |||
| 68495de32c | |||
| 526dbd808a | |||
| 32bb76083f | |||
| 370d7883cf | |||
| c702ac8021 | |||
| c64d2b7899 | |||
| 507354ac1e | |||
| 9632ca652c | |||
| e811d20856 | |||
| 04412a0576 | |||
| 1a74aa2177 | |||
| 4aa38ba799 | |||
| 5d6db1864c | |||
| ddd26bef7e | |||
| f3245ac924 | |||
| bcade5b40c | |||
| 60e738c3b7 | |||
| 69f3ef7558 | |||
| 4d02705348 | |||
| 42eed0f762 | |||
| c39ad8dd61 | |||
| 71b97f2df4 | |||
| a5c8e839e2 | |||
| ce67dbdc88 | |||
| 43cae46053 | |||
| a4f1504d18 | |||
| 6950bc7d4b | |||
| 894bf91b15 | |||
| ee8cdbd866 | |||
| 9abc0a2288 | |||
| 2a210ec364 | |||
| 78c8ab5782 | |||
| 4fca464f91 | |||
| 204baea3ef | |||
| 911271ca56 | |||
| 3d2b6612b3 | |||
| d6cca68094 | |||
| 7b478ce184 | |||
| 4dc59ee36b | |||
| 0efd01162f | |||
| 76b3f5be20 | |||
| 5e2ce939a5 | |||
| f3939bbcd1 | |||
| 61065a5384 | |||
| 698559a3aa | |||
| 5f5d345f53 | |||
| 2cbe77f480 | |||
| 1ddcd976a0 | |||
| 8fc4664f0e | |||
| b56f9d2271 | |||
| 5bb8ff2edd | |||
| 295db2baea | |||
| eb9379c682 | |||
| 54e92a3c05 | |||
| 436aeea0bf | |||
| a310d46cdd | |||
| 25632f9412 | |||
| 97731feda5 | |||
| 0bef017001 | |||
| cf7adf3954 | |||
| 892a857130 | |||
| 3ef72f23e6 | |||
| 432508202f | |||
| ce87998b2c | |||
| 5c20c167b8 | |||
| 3e30ec4255 | |||
| b4ef2bb4ac | |||
| bce3de8c33 | |||
| 5b47e87694 | |||
| 79eb796cc6 | |||
| 0f6b97e1a8 | |||
| c47216bede | |||
| bd98d33841 | |||
| 6094799db8 | |||
| fc27102e8a | |||
| fcd85e7ca8 | |||
| a9b4d9dab2 | |||
| 6f8ebeb67c | |||
| 56a998e94c | |||
| 1100e266a6 | |||
| d255c4e9f2 | |||
| 7f8750a383 | |||
| b39a170b3b | |||
| d543870175 | |||
| 8ddc279254 | |||
| 03b2e7f34a | |||
| c9dcd203e5 | |||
| f13901f6cb | |||
| 4b81a4df19 | |||
| 2d4f290e17 | |||
| 882f46bdd7 | |||
| 3deecc2f87 | |||
| 36d431c051 | |||
| 568f8e97a7 | |||
| 94ae360ab4 | |||
| a6f6e6c7b3 | |||
| 9f8d0595a2 | |||
| bb40939209 | |||
| d00631a4ff | |||
| 8e8403b996 | |||
| 33550057ae | |||
| 3c85becdf7 | |||
| c451c185de | |||
| a404ada964 | |||
| fcacbd0826 | |||
| 24061dccef | |||
| 794173c04a | |||
| 18f6d3537f | |||
| 9075b70fdc | |||
| ccd324ef6d | |||
| 57fb0b2312 | |||
| b2a13dcf54 | |||
| 2ca9efb154 | |||
| 0ab9e0ad28 | |||
| 8fdcc9a4a2 | |||
| 9fbec1f16f | |||
| 2bf228ab40 | |||
| 027eec1faf | |||
| 5b0d1fc8ab | |||
| 1158d6f4ea | |||
| e39609d41b | |||
| 02b3d4d442 | |||
| 3f89f7b20c | |||
| d121362bef | |||
| a243040e4d | |||
| b48654ff08 | |||
| 6b39fe14d9 | |||
| 8bcdaeef8e | |||
| 86e413b46f | |||
| 33730f95a9 | |||
| 5f65d3f998 | |||
| 883d0e0f83 | |||
| 77ae767bae | |||
| d7aacd8c84 | |||
| e1a0cd5c7b | |||
| 355e90f787 | |||
| 3ec013018a | |||
| ef3dcc29e5 | |||
| b84d3cb9bf | |||
| cd9d6853d4 | |||
| d83568b31d | |||
| 8975ae41b7 | |||
| fff231162b | |||
| 6e0a7e14e0 | |||
| f66846de2f | |||
| e0c204b2c2 | |||
| 5cbdcd4a9a | |||
| 9c664e9a85 | |||
| 133e135cc7 | |||
| 9b91ff6e74 | |||
| d22620424b | |||
| d3b0f2323e | |||
| e420a1974c | |||
| 115aae70b6 | |||
| 117043e5e8 | |||
| 9a7db2db5d | |||
| 6dd1ff6e9e | |||
| 7b6e9748c4 | |||
| 641992f1ee | |||
| 8a505cfd48 | |||
| 10bf5b6c29 | |||
| c7871f6111 | |||
| 363ea2f547 | |||
| 3d87fa6421 | |||
| d9711641a6 | |||
| 2adf8026c4 | |||
| 984c5f07cd | |||
| 6fdb90592a | |||
| c682b5f3a5 | |||
| 47eb631d50 | |||
| 14435577a8 | |||
| b41dc8345c | |||
| 84bbece4d5 | |||
| dc4f3b708f | |||
| 2ec28cfdfa | |||
| 50aec8eeba | |||
| 8d108e2d89 | |||
| a3bce9294d | |||
| c1efd598a8 | |||
| 6e0addaab7 | |||
| e712542373 | |||
| 265b95ec9c | |||
| d884f509f8 | |||
| 17eaf9a444 | |||
| e018ecb458 | |||
| 126a51d0e5 | |||
| 04b1cac9b7 | |||
| 1b3e7af0d7 | |||
| 26e42c6c26 | |||
| fc34e4ff12 | |||
| ed6dc37044 | |||
| e0431c7d7c | |||
| 5bb48ad74b | |||
| 4ec740ec18 | |||
| 81934cf7e9 | |||
| 34bc468f33 | |||
| d066971753 | |||
| 16f9d0985f | |||
| 8f1f7b614a | |||
| fdcfe68021 | |||
| 9749500d75 | |||
| 85ce0f1fbb | |||
| 96195363d9 | |||
| 87cc50cf07 | |||
| f3bb486988 | |||
| f321a1b7de | |||
| d304eecf24 | |||
| 1da8972e11 | |||
| 20b9a9ed98 | |||
| f215a51317 | |||
| facddec38e | |||
| e965869895 | |||
| f528be103a | |||
| 428080e755 | |||
| db597f0573 | |||
| 738ce4385b |
+7
-3
@@ -42,9 +42,13 @@
|
||||
;; For use with 'bug-reference-prog-mode'. Extra bug-reference
|
||||
;; configuration should be done in your Emacs user configuration file;
|
||||
;; refer to (info (guix) The Perfect Setup).
|
||||
(bug-reference-bug-regexp
|
||||
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
|
||||
(bug-reference-url-format . "https://issues.guix.gnu.org/%s")
|
||||
(eval . (setq-local
|
||||
;; #8545, guix/guix#8545, guix/guix!8545, but not !8545
|
||||
bug-reference-bug-regexp
|
||||
(rx (group (or (seq (zero-or-more "guix/guix") "#")
|
||||
(seq (one-or-more "guix/guix") "!"))
|
||||
(group (one-or-more digit))))))
|
||||
(bug-reference-url-format . "https://codeberg.org/guix/guix/issues/%s")
|
||||
|
||||
(eval . (add-to-list 'completion-ignored-extensions ".go"))
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ gnu/packages/assembly\.scm @guix/build-tools
|
||||
gnu/packages/autogen\.scm @guix/build-tools
|
||||
gnu/packages/autotools\.scm @guix/build-tools
|
||||
gnu/packages/bison\.scm @guix/build-tools
|
||||
gnu/packages/compiler-tools\.scm @guix/build-tools
|
||||
gnu/packages/m4\.scm @guix/build-tools
|
||||
gnu/packages/oyacc\.scm @guix/build-tools
|
||||
gnu/packages/re2c\.scm @guix/build-tools
|
||||
@@ -161,6 +162,8 @@ gnu/system/examples/bare-bones\.tmpl @guix/documentation
|
||||
gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
|
||||
gnu/system/examples/desktop\.tmpl @guix/documentation
|
||||
|
||||
gnu/packages/dotnet\.scm @guix/dotnet
|
||||
|
||||
gnu/packages/electronics\.scm @guix/electronics
|
||||
gnu/packages/hdl\.scm @guix/electronics
|
||||
gnu/packages/libftdi\.scm @guix/electronics
|
||||
|
||||
+41
-23
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
@@ -324,17 +324,31 @@ actual file name."
|
||||
((('span ('@ ('class "category")) ;raw Texinfo 6.8
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
((('span ('@ ('class "symbol-definition-category"))
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
((('span ;Texinfo 6, post-processed
|
||||
('@ ('class "symbol-definition-category"))
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
((('span ;Texinfo 7
|
||||
('@ ('class "category-def")) _ ...)
|
||||
('span ('strong ('@ ('class "def-name")) _ ...)
|
||||
_ ...)
|
||||
rest ...)
|
||||
#t)
|
||||
(x
|
||||
#f))))
|
||||
|
||||
(define (definition-class? class)
|
||||
;; Return true for "deffn def-line", "deftp def-line", etc.
|
||||
(string-suffix? " def-line" class))
|
||||
|
||||
(let ((shtml (call-with-input-file file html->shtml)))
|
||||
(let loop ((shtml shtml)
|
||||
(anchors anchors))
|
||||
(match shtml
|
||||
(('dt ('@ ('id id) _ ...) rest ...)
|
||||
((or ('dt ('@ ('id id) _ ...) rest ...) ;Texinfo 6
|
||||
('dt ('@ ('class (? definition-class?)) ;Texinfo 7
|
||||
('id id))
|
||||
rest ...))
|
||||
(if (and (string-prefix? "index-" id)
|
||||
(worthy-entry? rest))
|
||||
(alist-cons (anchor-id->key id)
|
||||
@@ -505,10 +519,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(loop rest (cons str strings)))
|
||||
((('*ENTITY* "additional" entity) . rest)
|
||||
(loop rest (cons (entity->string entity) strings)))
|
||||
((('*ENTITY* "additional-char" entity) . rest)
|
||||
(loop rest (cons (string
|
||||
(integer->char (string->number entity)))
|
||||
strings)))
|
||||
((('span _ lst ...) . rest) ;for <span class="roman">
|
||||
(loop (append lst rest) strings))
|
||||
((('var name) . rest) ;for @var{name} within @lisp
|
||||
((('var ('@ _) name) . rest) ;for @var{name} within @lisp
|
||||
(loop rest (cons name strings))) ;XXX: losing formatting
|
||||
((('var name) . rest) ;likewise (Texinfo 6)
|
||||
(loop rest (cons name strings)))
|
||||
(something
|
||||
(pk 'unsupported-code-snippet something)
|
||||
(primitive-exit 1)))))
|
||||
@@ -537,7 +557,10 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(link (@ (rel "stylesheet")
|
||||
(type "text/css")
|
||||
(href #$syntax-css-url)))))
|
||||
(('pre ('@ ('class "lisp")) code-snippet ...)
|
||||
((or ('pre ('@ ('class "lisp")) ;Texinfo 6
|
||||
code-snippet ...)
|
||||
('pre ('@ ('class "lisp-preformatted"))
|
||||
code-snippet ...))
|
||||
`(pre (@ (class "lisp"))
|
||||
,@(highlights->sxml*
|
||||
(pair-open/close
|
||||
@@ -545,14 +568,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(concatenate-snippets code-snippet)))
|
||||
anchors)))
|
||||
|
||||
;; Replace the ugly <strong> used for @deffn etc., which
|
||||
;; translate to <dt>, with more stylable markup.
|
||||
;; For Texinfo 6: Replace the ugly <strong> used for @deffn
|
||||
;; etc., which translate to <dt>, with more stylable
|
||||
;; markup. No such post-processing is needed for @deffn
|
||||
;; with Texinfo 7.
|
||||
(('dt ('@ ('id id)) ;raw Texinfo 6.8
|
||||
('span ('@ ('class "category")) category ...)
|
||||
('span ('strong thing)
|
||||
anchor))
|
||||
(highlight-definition id category thing '()))
|
||||
(('dt (@ ('id id))
|
||||
(('dt ('@ ('id id)) ;ditto
|
||||
('span ('@ ('class "category")) category ...)
|
||||
('span ('strong thing)
|
||||
(? space?) ('em args ...)
|
||||
@@ -808,16 +833,9 @@ in SOURCE."
|
||||
(match sxml
|
||||
(('*TOP* decl body ...)
|
||||
`(*TOP* ,decl ,@(map loop body)))
|
||||
(('head elements ...)
|
||||
;; Add reference to our own manual CSS, which provides
|
||||
;; support for the language menu.
|
||||
`(head ,@elements
|
||||
(link (@ (rel "stylesheet")
|
||||
(type "text/css")
|
||||
(href #$manual-css-url)))))
|
||||
(('body ('@ attributes ...) elements ...)
|
||||
`(body (@ ,@attributes)
|
||||
,(navigation-bar
|
||||
((or ('body ('@ _) elements ...)
|
||||
('body elements ...))
|
||||
`(body ,(navigation-bar
|
||||
;; TODO: Add "Contribute" menu, to report
|
||||
;; errors, etc.
|
||||
(list (menu-dropdown
|
||||
@@ -952,12 +970,12 @@ makeinfo OPTIONS."
|
||||
(mkdir-p (string-append #$output "/"
|
||||
(normalize language)))
|
||||
(setenv "LANGUAGE" language)
|
||||
(apply invoke #$(file-append texinfo "/bin/makeinfo")
|
||||
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
|
||||
"-o" (string-append #$output "/"
|
||||
(normalize language)
|
||||
"/html_node")
|
||||
opts)
|
||||
(apply invoke #$(file-append texinfo "/bin/makeinfo")
|
||||
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
|
||||
"--no-split"
|
||||
"-o"
|
||||
(string-append #$output "/"
|
||||
@@ -1409,7 +1427,7 @@ commit date (an integer)."
|
||||
(string-append #+tar "/bin:"
|
||||
#+xz "/bin:"
|
||||
#+zstd "/bin:"
|
||||
#+texinfo "/bin"))
|
||||
#+texinfo-7 "/bin"))
|
||||
(invoke "tar" "xf" #$(package-source guile))
|
||||
(mkdir-p (string-append #$output "/en/html_node"))
|
||||
|
||||
@@ -1428,7 +1446,7 @@ commit date (an integer)."
|
||||
(string-append #$output "/en/html_node")))))))))
|
||||
|
||||
(define %guile-manual-base-url
|
||||
"https://www.gnu.org/software/guile/manual")
|
||||
"https://doc.guix.gnu.org/guile/latest/en")
|
||||
|
||||
(define (for-all-languages index)
|
||||
(map (lambda (language)
|
||||
|
||||
@@ -706,13 +706,7 @@ Manual}). To set it up, enable it in the relevant modes:
|
||||
|
||||
When working from a Git checkout of Guix, setup is automatic:
|
||||
@code{bug-reference} automatically detects that the project is hosted on
|
||||
Codeberg@footnote{
|
||||
@c 'vc-git-repository-url' is used by
|
||||
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
|
||||
@c names for the remote.
|
||||
As of Emacs@tie{}30.2, auto-detection works if and
|
||||
only if the Git remote is called @code{upstream} or @code{origin}.} and
|
||||
infers the issue and pull request URL from there.
|
||||
Codeberg and infers the issue and pull request URL from there.
|
||||
|
||||
@node Guile Studio
|
||||
@subsection Guile Studio
|
||||
|
||||
+32
-14
@@ -646,9 +646,11 @@ This field contains a description of the source code origin. The
|
||||
|
||||
@enumerate
|
||||
@item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods
|
||||
exist, such as @code{git-fetch} for Git repositories.
|
||||
exist, such as @code{git-fetch} for Git repositories. @xref{origin
|
||||
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
|
||||
available download methods.
|
||||
@item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here
|
||||
the special `mirror://gnu` refers to a set of well known locations, all of
|
||||
the special @code{mirror://gnu} refers to a set of well known locations, all of
|
||||
which can be used by Guix to fetch the source, should some of them fail.
|
||||
@item The @code{sha256} checksum of the requested file. This is essential to ensure
|
||||
the source is not corrupted. Note that Guix works with base32 strings,
|
||||
@@ -1116,7 +1118,8 @@ Let's discuss those fields in depth.
|
||||
@subsubsection @code{git-fetch} method
|
||||
|
||||
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
|
||||
a Git repository and a commit. The commit can be any Git reference such as
|
||||
a Git repository and a commit (@pxref{origin Reference,,, guix, GNU Guix
|
||||
Reference Manual}). The commit can be any Git reference such as
|
||||
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
|
||||
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
|
||||
"v" version))}.
|
||||
@@ -1162,7 +1165,7 @@ Snippets might need additional Guile modules which can be imported from the
|
||||
|
||||
There are 3 different input types. In short:
|
||||
|
||||
@table @asis
|
||||
@table @code
|
||||
@item native-inputs
|
||||
Required for building but not runtime -- installing a package
|
||||
through a substitute won't install these inputs.
|
||||
@@ -1230,9 +1233,14 @@ It's advised to separate outputs only when you've shown it's worth it: if the
|
||||
output size is significant (compare with @code{guix size}) or in case the package is
|
||||
modular.
|
||||
|
||||
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
|
||||
Manual}, for more info.
|
||||
|
||||
@subsubsection Build system arguments
|
||||
|
||||
The @code{arguments} is a keyword-value list used to configure the build process.
|
||||
The @code{arguments} is a keyword-value list used to configure the build
|
||||
process; these arguments are passed to the @dfn{build system}
|
||||
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
|
||||
|
||||
The simplest argument @code{#:tests?} can be used to disable the test suite when
|
||||
building the package. This is mostly useful when the package does not feature
|
||||
@@ -1248,7 +1256,7 @@ following flags
|
||||
"CC=gcc")
|
||||
@end lisp
|
||||
|
||||
translate into
|
||||
translate into:
|
||||
|
||||
@example
|
||||
$ make CC=gcc prefix=/gnu/store/...-<out>
|
||||
@@ -1268,7 +1276,9 @@ Similarly, it's possible to set the configure flags:
|
||||
The @code{%build-inputs} variable is also generated in scope. It's an association
|
||||
table that maps the input names to their store directories.
|
||||
|
||||
The @code{phases} keyword lists the sequential steps of the build system. Typically
|
||||
The @code{phases} keyword lists the sequential steps of the build
|
||||
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
|
||||
details; in a nutshell,
|
||||
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
|
||||
more about those phases, you need to work out the appropriate build system
|
||||
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
|
||||
@@ -1383,10 +1393,12 @@ Its return value is ignored.
|
||||
|
||||
@subsubsection Code staging
|
||||
|
||||
The astute reader may have noticed the quasi-quote and comma syntax in the
|
||||
The astute reader may have noticed the hash-tilde and hash-dollar syntax in the
|
||||
argument field. Indeed, the build code in the package declaration should not be
|
||||
evaluated on the client side, but only when passed to the Guix daemon. This
|
||||
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
|
||||
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
|
||||
this mechanism, which is called @dfn{g-expressions}.
|
||||
|
||||
@subsubsection Utility functions
|
||||
|
||||
@@ -1395,7 +1407,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
|
||||
regular ``Unix-style'' installations.
|
||||
|
||||
Some like @code{chmod} are native to Guile.
|
||||
@xref{,,, guile, Guile reference manual} for a complete list.
|
||||
@xref{File System,,, guile, Guile reference manual} for a complete list.
|
||||
|
||||
Guix provides additional helper functions which prove especially handy in the
|
||||
context of package management.
|
||||
@@ -1529,9 +1541,9 @@ The recursive importer won't import packages for which Guix already has package
|
||||
definitions, except for the very first.
|
||||
|
||||
Not all applications can be packaged this way, only those relying on a select
|
||||
number of supported systems. Read about the full list of importers in
|
||||
the guix import section of the manual
|
||||
(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
|
||||
number of supported systems.
|
||||
@xref{Invoking guix import,,, guix, GNU Guix Reference Manual} for
|
||||
the full list of importers.
|
||||
|
||||
@node Automatic update
|
||||
@subsubsection Automatic update
|
||||
@@ -1551,6 +1563,9 @@ well:
|
||||
$ guix refresh hello --update
|
||||
@end example
|
||||
|
||||
@xref{Invoking guix refresh,,, guix, GNU Guix Reference Manual}, for
|
||||
more info.
|
||||
|
||||
@node Inheritance
|
||||
@subsubsection Inheritance
|
||||
|
||||
@@ -1575,7 +1590,9 @@ noticed that a significant number of them have a @code{inherit} field:
|
||||
|
||||
All unspecified fields are inherited from the parent package. This is very
|
||||
convenient to create alternative packages, for instance with different source,
|
||||
version or compilation options.
|
||||
version or compilation options. @xref{Defining Package Variants,,, guix,
|
||||
GNU Guix Reference Manual}, for a discussion of inheritance and of other
|
||||
ways to create package variants.
|
||||
|
||||
@node Getting help
|
||||
@subsection Getting help
|
||||
@@ -1616,7 +1633,8 @@ hopefully we will see your contributions soon!
|
||||
|
||||
@itemize
|
||||
@item
|
||||
The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
|
||||
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the
|
||||
@code{package} reference in the manual.
|
||||
|
||||
@item
|
||||
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotr’s hacking guide to GNU Guix}
|
||||
|
||||
+491
-114
@@ -49,7 +49,7 @@ Copyright @copyright{} 2017 humanitiesNerd@*
|
||||
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
|
||||
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@*
|
||||
Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@*
|
||||
Copyright @copyright{} 2017, 2019--2025 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2017, 2019--2026 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@*
|
||||
Copyright @copyright{} 2017 George Clemmer@*
|
||||
Copyright @copyright{} 2017 Andy Wingo@*
|
||||
@@ -151,6 +151,7 @@ Copyright @copyright{} 2025 Noé Lopez@*
|
||||
Copyright @copyright{} 2026 David Elsing@*
|
||||
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
|
||||
Copyright @copyright{} 2026 Yarl Baudig@*
|
||||
Copyright @copyright{} 2026 Joan Vilardaga Castro@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -259,11 +260,16 @@ Installation
|
||||
* Application Setup:: Application-specific setup.
|
||||
* Upgrading Guix:: Upgrading Guix and its build daemon.
|
||||
|
||||
Binary Installation
|
||||
|
||||
* Installation with a pre-mounted store::
|
||||
|
||||
Setting Up the Daemon
|
||||
|
||||
* Build Environment Setup:: Preparing the isolated build environment.
|
||||
* Daemon Offload Setup:: Offloading builds to remote machines.
|
||||
* SELinux Support:: Using an SELinux policy for the daemon.
|
||||
* AppArmor Support:: Using an AppArmor profile for the daemon.
|
||||
|
||||
System Installation
|
||||
|
||||
@@ -480,12 +486,14 @@ Home Services
|
||||
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
|
||||
* Desktop: Desktop Home Services. Services for graphical environments.
|
||||
* Guix: Guix Home Services. Services for Guix.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Fonts: Fonts Home Services. Services for managing User's fonts.
|
||||
* Sound: Sound Home Services. Dealing with audio.
|
||||
* Mail: Mail Home Services. Services for managing mail.
|
||||
* Messaging: Messaging Home Services. Services for managing messaging.
|
||||
* Media: Media Home Services. Services for managing media.
|
||||
* mpv Media Player::
|
||||
* Niri: Niri window manager. Setting up the Niri.
|
||||
* Sway: Sway window manager. Setting up the Sway configuration.
|
||||
* Networking: Networking Home Services. Networking services.
|
||||
* Secrets: Secrets Home Services. Services for storing secrets.
|
||||
@@ -876,6 +884,40 @@ installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
@menu
|
||||
* Installation with a pre-mounted store::
|
||||
@end menu
|
||||
|
||||
@node Installation with a pre-mounted store
|
||||
@subsection Installation with a pre-mounted store
|
||||
|
||||
@cindex pre-mounted store, installation on small root file system
|
||||
@cindex bind mounted store, binary installation
|
||||
@cindex binary installation using an alternative storage device
|
||||
If you need to install Guix on a system whose main file system is too
|
||||
small (as can be the case for the rescue environments of @acronym{VPS,
|
||||
Virtual Private Servers}, for example), you may need to expose the
|
||||
@file{/gnu} directory from a different storage device/partition. This
|
||||
can be achieved by mounting a secondary partition or directory at
|
||||
@file{/gnu}, via a bind mount for example. In the bind mount case,
|
||||
assuming the partition that should be used to hold the content of the
|
||||
store is mounted at @file{/mnt}, you could proceed like this
|
||||
@emph{before} starting the installation:
|
||||
|
||||
@example
|
||||
mkdir /mnt/gnu
|
||||
mkdir /gnu
|
||||
mount --bind /mnt/gnu /gnu
|
||||
@end example
|
||||
|
||||
@quotation Important
|
||||
If your foreign distribution uses systemd, do not attempt to mount
|
||||
directly on the store directory, @file{/gnu/store}, as this would
|
||||
conflict with the @file{gnu-store.mount} systemd unit and cause the
|
||||
@file{guix-daemon.service} to unmount it before starting, failing its
|
||||
execution. Mount on @file{/gnu} instead.
|
||||
@end quotation
|
||||
|
||||
@node Setting Up the Daemon
|
||||
@section Setting Up the Daemon
|
||||
|
||||
@@ -4780,14 +4822,94 @@ These options are provided for convenience, but you can also specify your
|
||||
configuration in the @file{~/.config/guix/channels.scm} file or using the
|
||||
@option{--channels} option (see below).
|
||||
|
||||
@item --channels=@var{file}
|
||||
@itemx -C @var{file}
|
||||
Read the list of channels from @var{file} instead of
|
||||
@item --channels=@var{file-or-uri}
|
||||
@itemx -C @var{file-or-uri}
|
||||
Read the list of channels from @var{file-or-uri} instead of
|
||||
@file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.
|
||||
@var{file} must contain Scheme code that
|
||||
@var{file-or-uri} must contain Scheme code that
|
||||
evaluates to a list of channel objects. @xref{Channels}, for more
|
||||
information.
|
||||
|
||||
As you can guess, @var{file-or-uri} can be a URL, in which case the
|
||||
given channels file is transparently downloaded. In the example below,
|
||||
we pull from the latest revision of Guix that was successfully
|
||||
evaluated:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
@cindex SWHID, for channel files
|
||||
Alternatively, you can refer to a channel file by its
|
||||
@uref{https://swhid.org,Software Hash Identifier}, or SWHID, which
|
||||
uniquely and unambiguously identifies contents, as in this example:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b
|
||||
@end example
|
||||
|
||||
This command downloads the data designated by the given identifier from
|
||||
@uref{https://archive.softwareheritage.org, the Software Heritage
|
||||
archive}.
|
||||
|
||||
@anchor{trusted-channels}
|
||||
@cindex trusted channels, for downloaded channel files
|
||||
In both cases, the command errors out if the returned channels are not
|
||||
among the user's @dfn{trusted channels}, defined as:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
the channels returned by @file{~/.config/guix/trusted-channels.scm},
|
||||
which has the same format as any channel file (these channels
|
||||
@emph{must} have an ``introduction'', @pxref{Channel Authentication};
|
||||
channels are identified by their introduction and other fields are
|
||||
ignored, including @code{url} and @code{name});
|
||||
|
||||
@item
|
||||
or, if the above file doesn't exist, the currently-used channels as
|
||||
returned by @command{guix describe}.
|
||||
@end itemize
|
||||
|
||||
@item --allow-untrusted-channels[=yes|no]
|
||||
Whether to allow pulls from untrusted channels.
|
||||
|
||||
By default, @command{guix pull} aborts when downloading a channel file
|
||||
that specifies an untrusted channel and merely warns if the list of
|
||||
channels comes from a local file. This option allows you to change
|
||||
that.
|
||||
|
||||
@quotation Warning
|
||||
Allowing untrusted channels can effectively lead to arbitrary code
|
||||
execution on your system.
|
||||
@end quotation
|
||||
|
||||
@anchor{unsafe-channel-evaluation}
|
||||
@item --unsafe-channel-evaluation
|
||||
Allow arbitrary code execution from channel files, both the default
|
||||
@file{channels.scm} files and those passed with @option{--channels} as
|
||||
mentioned above.
|
||||
|
||||
@cindex sandboxing, of channel evaluation
|
||||
By default, channel files are evaluated in an isolated ``sandbox''
|
||||
where only trivial declarative code returning a list of channels is
|
||||
allowed---calls to procedures such as @code{list}, @code{cons},
|
||||
@code{string-append}, as well as the @code{channel} constructor.
|
||||
Attempts from a channel file to access unauthorized bindings such as
|
||||
@code{system} (to run shell code) or to use additional modules with
|
||||
@code{use-modules} are impossible.
|
||||
|
||||
The @option{--unsafe-channel-evaluation} option disables these
|
||||
safeguards.
|
||||
|
||||
@quotation Warning
|
||||
When using @code{--unsafe-channel-evaluation}, channel files can
|
||||
@emph{run arbitrary code on your machine}. While this is useful in some
|
||||
cases, only use @code{--unsafe-channel-evaluation} when you fully
|
||||
understand the code of the channel files you use!
|
||||
@end quotation
|
||||
|
||||
@item --no-channel-files
|
||||
@itemx -q
|
||||
Inhibit loading of the user and system channel files,
|
||||
@@ -5029,12 +5151,68 @@ Use the @code{guix} channel from the specified @var{url}, at the
|
||||
given @var{commit} (a valid Git commit ID represented as a hexadecimal
|
||||
string or the name of a tag), or @var{branch}.
|
||||
|
||||
@item --channels=@var{file}
|
||||
@itemx -C @var{file}
|
||||
Read the list of channels from @var{file}. @var{file} must contain
|
||||
Scheme code that evaluates to a list of channel objects.
|
||||
@item --channels=@var{file-or-uri}
|
||||
@itemx -C @var{file-or-uri}
|
||||
Read the list of channels from @var{file-or-uri}. @var{file-or-uri}
|
||||
must contain Scheme code that evaluates to a list of channel objects.
|
||||
@xref{Channels} for more information.
|
||||
|
||||
When @var{file-or-uri} is a URL, channels are transparently downloaded.
|
||||
In the example below, we pull from the latest revision of Guix that was
|
||||
successfully evaluated:
|
||||
|
||||
@example
|
||||
guix time-machine \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master \
|
||||
-- describe
|
||||
@end example
|
||||
|
||||
@cindex SWHID, for channel files
|
||||
Note that downloading a channel file potentially harms reproducibility:
|
||||
the file might vanish or be modified on the server behind your back.
|
||||
From a reproducibility viewpoint the safe approach is to keep channel
|
||||
files under version control, or to refer to them by their
|
||||
@uref{https://swhid.org,Software Hash Identifier}, or SWHID, which
|
||||
uniquely and unambiguously identifies contents. Here is an example:
|
||||
|
||||
@example
|
||||
guix time-machine \
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \
|
||||
-- @dots{}
|
||||
@end example
|
||||
|
||||
This command downloads the data designated by the identifier from
|
||||
@uref{https://archive.softwareheritage.org, the Software Heritage
|
||||
archive}; it is fully reproducible because the data it refers to is
|
||||
immutable.
|
||||
|
||||
@xref{Invoking guix pull}, for more information, and @pxref{Invoking
|
||||
guix hash}, for info on how to compute the SWHID of a file.
|
||||
|
||||
@item --allow-untrusted-channels[=yes|no]
|
||||
Whether to allow pulls from untrusted channels.
|
||||
|
||||
@quotation Warning
|
||||
Allowing untrusted channels can effectively lead to arbitrary code
|
||||
execution on your system.
|
||||
@end quotation
|
||||
|
||||
@xref{trusted-channels, @command{guix pull} documentation}, for more
|
||||
info.
|
||||
|
||||
@item --unsafe-channel-evaluation
|
||||
Allow arbitrary code execution from channels files.
|
||||
|
||||
@quotation Warning
|
||||
When using @code{--unsafe-channel-evaluation}, channel files can
|
||||
@emph{run arbitrary code on your machine}. Only use
|
||||
@code{--unsafe-channel-evaluation} when you fully understand the code of
|
||||
the channel files you use!
|
||||
|
||||
@xref{unsafe-channel-evaluation, @option{--unsafe-channel-evaluation} in
|
||||
@command{guix pull}}, for background information.
|
||||
@end quotation
|
||||
|
||||
@item --no-channel-files
|
||||
@itemx -q
|
||||
Inhibit loading of the user and system channel files,
|
||||
@@ -5763,6 +5941,7 @@ pull} uses the latest commit with available substitutes for the package
|
||||
definitions: this is done by querying the continuous integration
|
||||
server at @url{https://ci.guix.gnu.org}.
|
||||
|
||||
@findex channel-with-substitutes-available
|
||||
@lisp
|
||||
(use-modules (guix ci))
|
||||
|
||||
@@ -5777,6 +5956,21 @@ substitutes. It only ensures that @command{guix pull} will not try to
|
||||
compile package definitions. This is particularly useful when using
|
||||
machines with limited resources.
|
||||
|
||||
@quotation Warning
|
||||
Use of this functionality in your channel file requires it to be
|
||||
evaluated in ``unsafe'' mode, with the
|
||||
@option{--unsafe-channel-evaluation} option.
|
||||
@xref{unsafe-channel-evaluation, the @command{guix pull} documentation},
|
||||
for more info.
|
||||
|
||||
However, a similar result can be achieved by running, say:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
@end quotation
|
||||
|
||||
@node Creating a Channel
|
||||
@section Creating a Channel
|
||||
|
||||
@@ -14686,8 +14880,32 @@ guix hash @var{option} @var{file} ...
|
||||
@end example
|
||||
|
||||
When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the
|
||||
hash of data read from standard input. @command{guix hash} has the
|
||||
following options:
|
||||
hash of data read from standard input.
|
||||
|
||||
Here are a few examples:
|
||||
|
||||
@table @asis
|
||||
@item SHA256 of a file for use in an @code{origin} record:
|
||||
@example
|
||||
guix hash example.tar.gz
|
||||
@end example
|
||||
|
||||
@item SHA256 of directory @var{checkout} for use in an @code{origin} record:
|
||||
@example
|
||||
guix hash -rx @var{checkout}
|
||||
@end example
|
||||
|
||||
@item SHA1 hash of @var{file} like the @code{sha1sum} command:
|
||||
@example
|
||||
guix hash -H sha1 -f hex @var{file}
|
||||
@end example
|
||||
|
||||
@cindex SWHID, computing
|
||||
@item SHA1 hash of @var{file} for a @code{swh:1:cnt} @uref{https://swhid.org, SWHID}:
|
||||
guix hash -S git -H sha1 -f hex @var{file}
|
||||
@end table
|
||||
|
||||
@command{guix hash} has the following options:
|
||||
|
||||
@table @code
|
||||
|
||||
@@ -15352,26 +15570,6 @@ repository used by the OCaml community.
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@end table
|
||||
|
||||
@item composer
|
||||
@cindex Composer
|
||||
@cindex PHP
|
||||
Import metadata from the @uref{https://getcomposer.org/, Composer} package
|
||||
archive used by the PHP community, as in this example:
|
||||
|
||||
@example
|
||||
guix import composer phpunit/phpunit
|
||||
@end example
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
@@ -15403,7 +15601,26 @@ Also, please note that versions are not compared across repositories.
|
||||
The first repository (from left to right) that has at least one version
|
||||
of a given package will prevail over any others, and the version
|
||||
imported will be the latest one found @emph{in this repository only}.
|
||||
@end table
|
||||
|
||||
@item composer
|
||||
@cindex Composer
|
||||
@cindex PHP
|
||||
Import metadata from the @uref{https://getcomposer.org/, Composer} package
|
||||
archive used by the PHP community, as in this example:
|
||||
|
||||
@example
|
||||
guix import composer phpunit/phpunit
|
||||
@end example
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@end table
|
||||
|
||||
@item go
|
||||
@@ -15994,51 +16211,10 @@ Use @var{host} as the OpenPGP key server when importing a public key.
|
||||
@cindex format conventions
|
||||
The @command{guix style} command helps users and packagers alike style
|
||||
their package definitions and configuration files according to the
|
||||
latest fashionable trends. It can either reformat whole files, with the
|
||||
@option{--whole-file} option, or apply specific @dfn{styling rules} to
|
||||
individual package definitions. The command currently provides the
|
||||
following styling rules:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
formatting package definitions according to the project's conventions
|
||||
(@pxref{Formatting Code});
|
||||
|
||||
@item
|
||||
rewriting package inputs to the ``new style'', as explained below.
|
||||
@end itemize
|
||||
|
||||
The way package inputs are written is going through a transition
|
||||
(@pxref{package Reference}, for more on package inputs). Until version
|
||||
1.3.0, package inputs were written using the ``old style'', where each
|
||||
input was given an explicit label, most of the time the package name:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "old style" (deprecated).
|
||||
(inputs `(("libunistring" ,libunistring)
|
||||
("libffi" ,libffi))))
|
||||
@end lisp
|
||||
|
||||
Today, the old style is deprecated and the preferred style looks like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "new style".
|
||||
(inputs (list libunistring libffi)))
|
||||
@end lisp
|
||||
|
||||
Likewise, uses of @code{alist-delete} and friends to manipulate inputs
|
||||
is now deprecated in favor of @code{modify-inputs} (@pxref{Defining
|
||||
Package Variants}, for more info on @code{modify-inputs}).
|
||||
|
||||
In the vast majority of cases, this is a purely mechanical change on the
|
||||
surface syntax that does not even incur a package rebuild. Running
|
||||
@command{guix style -S inputs} can do that for you, whether you're working on
|
||||
packages in Guix proper or in an external channel.
|
||||
latest fashionable trends, or patch them with specific rewrites. It can
|
||||
either reformat whole files, with the @option{--whole-file} option, or
|
||||
apply specific @dfn{styling rules} to individual package definitions.
|
||||
The command provides multiple styling rules, explained below.
|
||||
|
||||
The general syntax is:
|
||||
|
||||
@@ -16101,14 +16277,45 @@ definition of the Coreutils package like so:
|
||||
@end example
|
||||
|
||||
@item inputs
|
||||
Rewrite package inputs to the ``new style'', as described above. This
|
||||
is how you would rewrite inputs of package @code{whatnot} in your own
|
||||
channel:
|
||||
Rewrite package inputs to the ``new style''. This is how you would
|
||||
rewrite inputs of package @code{whatnot} in your own channel:
|
||||
|
||||
@example
|
||||
guix style -L ~/my/channel -S inputs whatnot
|
||||
@end example
|
||||
|
||||
The way package inputs are written is going through a transition
|
||||
(@pxref{package Reference}, for more on package inputs). Until version
|
||||
1.3.0, package inputs were written using the ``old style'', where each
|
||||
input was given an explicit label, most of the time the package name:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "old style" (deprecated).
|
||||
(inputs `(("libunistring" ,libunistring)
|
||||
("libffi" ,libffi))))
|
||||
@end lisp
|
||||
|
||||
Today, the old style is deprecated and the preferred style looks like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "new style".
|
||||
(inputs (list libunistring libffi)))
|
||||
@end lisp
|
||||
|
||||
Likewise, uses of @code{alist-delete} and friends to manipulate inputs
|
||||
is now deprecated in favor of @code{modify-inputs} (@pxref{Defining
|
||||
Package Variants}, for more info on @code{modify-inputs}).
|
||||
|
||||
In the vast majority of cases, this is a purely mechanical change on the
|
||||
surface syntax that does not even incur a package rebuild. Running
|
||||
@command{guix style -S inputs} can do that for you, whether you're working on
|
||||
packages in Guix proper or in an external channel.
|
||||
|
||||
Rewriting is done in a conservative way: preserving comments and bailing
|
||||
out if it cannot make sense of the code that appears in an inputs field.
|
||||
The @option{--input-simplification} option described below provides
|
||||
@@ -16147,6 +16354,29 @@ rebuild of the affected packages. Furthermore, if a package definition
|
||||
happens to be using G-expressions already, @command{guix style} leaves
|
||||
it unchanged.
|
||||
|
||||
@item remove-input
|
||||
@itemx remove-native-input
|
||||
@itemx remove-propagated-input
|
||||
These styling rules remove an input from the given package(s).
|
||||
|
||||
Removing these packages respects the package syntax, doesn't affect
|
||||
margin comments or parentheses, and will put all remaining inputs on a
|
||||
single line if there are less than three.
|
||||
|
||||
This is a focused styling rule for use in teams, when updating
|
||||
build-systems, or removing unwanted development inputs from
|
||||
native-inputs.
|
||||
|
||||
To remove package @var{whatnot} from all inputs, use the
|
||||
@code{--parameter} option:
|
||||
|
||||
@example
|
||||
guix style -S remove-input --parameter=@var{whatnot}
|
||||
@end example
|
||||
|
||||
It is also possible to do that for a collection of packages by appending
|
||||
them to the above invocation.
|
||||
|
||||
@item git-source
|
||||
If the @code{home-page} is a Git repository (as per
|
||||
@code{git-repository-url?}), and the actual Git repository is tagged
|
||||
@@ -28597,8 +28827,9 @@ host all all ::1/128 md5"))
|
||||
|
||||
@table @asis
|
||||
@item @code{log-destination} (default: @code{"syslog"})
|
||||
The logging method to use for PostgreSQL@. Multiple values are accepted,
|
||||
separated by commas.
|
||||
The logging method to use for PostgreSQL@. Valid values are
|
||||
@code{"stderr"}, @code{"csvlog"}, @code{"jsonlog"}, @code{"syslog"} and
|
||||
@code{"eventlog"}. Multiple values are accepted, separated by commas.
|
||||
|
||||
@item @code{hba-file} (default: @code{%default-postgres-hba})
|
||||
Filename or G-expression for the host-based authentication
|
||||
@@ -28613,9 +28844,6 @@ is to listen for connections from client applications. If set to
|
||||
@code{""} PostgreSQL does not listen on any Unix-domain sockets, in
|
||||
which case only TCP/IP sockets can be used to connect to the server.
|
||||
|
||||
By default, the @code{#false} value means the PostgreSQL default value
|
||||
will be used, which is currently @samp{/tmp}.
|
||||
|
||||
@item @code{extra-config} (default: @code{'()})
|
||||
List of additional keys and values to include in the PostgreSQL config
|
||||
file. Each entry in the list should be a list where the first element
|
||||
@@ -36006,6 +36234,15 @@ Launch the app as this group (it must be an existing group).
|
||||
A list of sockets (as path strings) which gunicorn will be listening
|
||||
on. This list must contain at least one socket.
|
||||
|
||||
@item @code{socket-user} (default: @code{user}) (type: string)
|
||||
Owner of the directory containing the socket (must be an existing user).
|
||||
|
||||
@item @code{socket-group} (default: @code{group}) (type: string)
|
||||
Group owner of the directory containing the socket (must be an existing group).
|
||||
|
||||
@item @code{socket-mode} (default: @code{#o750}) (type: integer)
|
||||
File mode to use for the directory containing the socket.
|
||||
|
||||
@item @code{workers} (default: @code{1}) (type: integer)
|
||||
The number of workers for the gunicorn app.
|
||||
|
||||
@@ -45652,6 +45889,81 @@ mount.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsubheading btrfs-scrub Service
|
||||
@cindex btrfs-scrub service
|
||||
@cindex solid state drives, periodic trim
|
||||
@cindex solid state drives, trim
|
||||
|
||||
@c This was copied from the btrfs-scrub manpage, with some Texinfo touch-ups.
|
||||
@quotation Information
|
||||
Scrub is a validation pass over all filesystem data and metadata that
|
||||
detects data checksum errors, basic super block errors, basic metadata
|
||||
block header errors, and disk read errors.
|
||||
|
||||
Scrub is done on a per-device base, if a device is specified to
|
||||
@command{btrfs scrub start}, then only that device will be
|
||||
scrubbed. Although btrfs will also try to read other device to find a
|
||||
good copy, if the mirror on that specified device failed to be read or
|
||||
pass verification.
|
||||
|
||||
If a path of btrfs is specified to @command{btrfs scrub start}, btrfs
|
||||
will scrub all devices in parallel.
|
||||
|
||||
On filesystems that use replicated block group profiles (e.g. RAID1),
|
||||
read-write scrub will also automatically repair any damage by copying
|
||||
verified good data from one of the other replicas.
|
||||
|
||||
Such automatic repair is also carried out when reading metadata or data
|
||||
from a read-write mounted filesystem.
|
||||
@end quotation
|
||||
|
||||
@defvar btrfs-scrub-service-type
|
||||
Type for a service that periodically runs @command{btrfs-scrub} on a
|
||||
certain device, whose value must be an
|
||||
@code{<btrfs-scrub-configuration>} object. The service can be
|
||||
instantiated in its default configuration with:
|
||||
|
||||
@lisp
|
||||
;; This will scrub the root (@file{/}) filesystem.
|
||||
(service btrfs-scrub-service-type)
|
||||
|
||||
;; This will scrub the @file{/gnu/store} filesystem (assuming it's a
|
||||
;; different filesystem from @file{/}).
|
||||
|
||||
(service btrfs-scrub-service-type
|
||||
(btrfs-scrub-configuration
|
||||
(to-scrub "/gnu/store")))
|
||||
@end lisp
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} btrfs-scrub-configuration
|
||||
Available @code{btrfs-scrub-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{btrfs-progs}) (type: file-like)
|
||||
The package providing the @command{btrfs} command.
|
||||
|
||||
@item @code{schedule} (default: @code{"0 0 1-7 * 0"}) (type: Shepherd calendar event)
|
||||
Schedule for launching @command{btrfs-scrub}, expressed as a string in
|
||||
traditional cron syntax or as a gexp evaluating to a Shepherd calendar
|
||||
event (@pxref{Timers,,, shepherd, The GNU Shepherd Manual}). By default
|
||||
this is set to run the 1st Sunday of the month, at 00:00.
|
||||
|
||||
@item @code{to-scrub} (default: @code{"/"}) (type: maybe-string)
|
||||
Device to scrub. It will scrub the root (@file{/}) if not given.
|
||||
|
||||
@item @code{extra-arguments} (type: maybe-list-of-strings)
|
||||
Extra options to append to @command{btrfs scrub start} (run @samp{man
|
||||
btrfs-scrub.8} for more information). Keep in mind that, by definition,
|
||||
this service uses the @option{-B} flag (do not background and print
|
||||
scrub statistics when finished).
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@cindex oom
|
||||
@cindex out of memory killer
|
||||
@cindex earlyoom
|
||||
@@ -46226,6 +46538,26 @@ up not being used much for the reasons described there.
|
||||
@end deftp
|
||||
@end defvar
|
||||
|
||||
@cindex fwupd
|
||||
@cindex firmware update
|
||||
@subsubheading fwupd Service
|
||||
|
||||
@defvar fwupd-service-type
|
||||
This service allows users of supported hardware to update their firmware. The
|
||||
service's value is a @code{fwupd-configuration} record.
|
||||
|
||||
@deftp {Data Type} fwupd-configuration
|
||||
This is the data type representing the configuration for the fwupd
|
||||
service.
|
||||
|
||||
@table @asis
|
||||
@item @code{fwupd} (default @code{fwupd})
|
||||
The fwupd package that will be installed in the system profile.
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
@end defvar
|
||||
|
||||
@node Hurd Services
|
||||
@subsection Hurd Services
|
||||
|
||||
@@ -50014,6 +50346,8 @@ accepts store items it receives from the coordinator:
|
||||
# guix archive --authorize < coordinator-public-key.txt
|
||||
@end example
|
||||
|
||||
@cindex @command{guix deploy, sudo configuration}
|
||||
@anchor{guix-deploy-via-sudo}
|
||||
@code{user}, in this example, specifies the name of the user account to log in
|
||||
as to perform the deployment. Its default value is @code{root}, but root
|
||||
login over SSH may be forbidden in some cases. To work around this,
|
||||
@@ -50230,13 +50564,27 @@ small to bootstrap a Guix system from.
|
||||
|
||||
@item @code{ssh-key} (default: @code{#f})
|
||||
If specified, the file name of the SSH private key to use to
|
||||
authenticate with the remote host.
|
||||
authenticate with the remote host. If left unspecified, a temporary SSH
|
||||
key is used during the early provisioning of the machine, after which
|
||||
the authentication with the final machine is handled by your SSH client
|
||||
or agent. It's a good idea to have your public SSH key authorized
|
||||
declaratively in the @code{operating-system} specification provided, via
|
||||
the @code{authorized-keys} field of the @code{openssh-configuration}
|
||||
record. To be able to run @samp{guix deploy} after the initial
|
||||
provisioning is done, an SSH connection to the root account or a
|
||||
password-less sudo configuration is needed (@pxref{guix-deploy-via-sudo,
|
||||
Invoking guix deploy}). For the later, you must also explicitly specify
|
||||
the @code{user} field, which otherwise defaults to @code{"root"}.
|
||||
|
||||
@item @code{ssh-public-key} (default: extracted from @code{ssh-key})
|
||||
If specified, either a public key as returned by
|
||||
@code{string->public-key} or the path to the SSH public key to use to
|
||||
authenticate with the remote host.
|
||||
|
||||
@item @code{user} (default: @code{"root"})
|
||||
The user to use for SSH authentication for the @samp{guix deploy}
|
||||
command once the initial provisioning is complete.
|
||||
|
||||
@end table
|
||||
|
||||
When deploying a machine for the first time, the following steps are
|
||||
@@ -50270,36 +50618,36 @@ server.
|
||||
Once the server has been provisioned and SSH is available, deployment
|
||||
continues by delegating it to the @code{managed-host-environment-type}.
|
||||
|
||||
Servers on the Hetzner Cloud service can be provisioned on the AArch64
|
||||
architecture using UEFI boot mode, or on the x86_64 architecture using
|
||||
BIOS boot mode. The @code{(gnu machine hetzner)} module exports the
|
||||
@code{%hetzner-os-arm} and @code{%hetzner-os-x86} operating systems that
|
||||
are compatible with those two architectures, and can be used as a base
|
||||
for defining your custom operating system.
|
||||
Depending on their type, x86_64 or AArch64 servers on the Hetzner Cloud
|
||||
service can be provisioned using BIOS or UEFI boot mode. The @code{(gnu
|
||||
machine hetzner)} module exports the @code{make-hetzner-os} procedure,
|
||||
which takes the server type string as an argument (e.g. @code{"cx23"})
|
||||
and returns a base @code{operating-system} definition compatible with
|
||||
it.
|
||||
|
||||
The following example shows the definition of two machines that are
|
||||
deployed on the Hetzner Cloud service. The first one uses the
|
||||
@code{%hetzner-os-arm} operating system to run a server with 16 shared
|
||||
vCPUs and 32 GB of RAM on the @code{aarch64} architecture, the second
|
||||
one uses the @code{%hetzner-os-x86} operating system on a server with 16
|
||||
shared vCPUs and 32 GB of RAM on the @code{x86_64} architecture.
|
||||
deployed on the Hetzner Cloud service. The first one for an ARM server
|
||||
type that has 16 shared vCPUs and 32 GB of RAM, the second for an x86_64
|
||||
server type that has 16 shared vCPUs and 32 GB of RAM.
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu machine)
|
||||
(gnu machine hetzner))
|
||||
|
||||
(list (machine
|
||||
(operating-system %hetzner-os-arm)
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type "cax41")
|
||||
(ssh-key "/home/charlie/.ssh/id_rsa"))))
|
||||
(machine
|
||||
(operating-system %hetzner-os-x86)
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type "cpx51")
|
||||
(ssh-public-key "/home/charlie/.ssh/id_rsa.pub")))))
|
||||
(list (let ((server-type "cax41"))
|
||||
(machine
|
||||
(operating-system (make-hetzner-os server-type))
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type server-type)
|
||||
(ssh-key "/home/charlie/.ssh/id_rsa")))))
|
||||
(let ((server-type "cpx51"))
|
||||
(machine
|
||||
(operating-system (make-hetzner-os server-type))
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type server-type)
|
||||
(ssh-public-key "/home/charlie/.ssh/id_rsa.pub"))))))
|
||||
@end lisp
|
||||
|
||||
@vindex GUIX_HETZNER_API_TOKEN
|
||||
@@ -51284,7 +51632,7 @@ after receiving @code{SIGHUP}.
|
||||
|
||||
After adding
|
||||
@lisp
|
||||
(shepherd-signal-action 'reload SIGHUP))
|
||||
(shepherd-signal-action 'reload SIGHUP)
|
||||
@end lisp
|
||||
|
||||
the @code{reload} action will be available and can be used with
|
||||
@@ -51932,8 +52280,10 @@ mount --rbind /sys /mnt/sys
|
||||
mount --rbind /dev /mnt/dev
|
||||
@end example
|
||||
|
||||
If your system is EFI-based, you must also mount the ESP partition.
|
||||
Assuming it is @file{/dev/sda1}, you can do so with:
|
||||
A quick way to check if your system booted with EFI support is to check
|
||||
if @file{/sys/firmware/efi} exists. If your system is EFI-based, you
|
||||
must also mount the ESP partition. Assuming it is @file{/dev/sda1}, you
|
||||
can do so with:
|
||||
|
||||
@example sh
|
||||
mount /dev/sda1 /mnt/boot/efi
|
||||
@@ -52219,12 +52569,13 @@ services)}.
|
||||
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
|
||||
* Desktop: Desktop Home Services. Services for graphical environments.
|
||||
* Guix: Guix Home Services. Services for Guix.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Fonts: Fonts Home Services. Services for managing User's fonts.
|
||||
* Sound: Sound Home Services. Dealing with audio.
|
||||
* Mail: Mail Home Services. Services for managing mail.
|
||||
* Messaging: Messaging Home Services. Services for managing messaging.
|
||||
* Media: Media Home Services. Services for managing media.
|
||||
* mpv Media Player::
|
||||
* Niri: Niri window manager. Setting up the Niri.
|
||||
* Sway: Sway window manager. Setting up the Sway configuration.
|
||||
* Networking: Networking Home Services. Networking services.
|
||||
@@ -53153,7 +53504,7 @@ specifying the command to run.
|
||||
@lisp
|
||||
(use-modules (gnu) (guix)
|
||||
(gnu home services shepherd)
|
||||
(gnu packages idutils))
|
||||
(gnu packages code))
|
||||
|
||||
(define idutils-service
|
||||
;; Index my 'doc' directory everyday at 12:15PM and 7:15PM.
|
||||
@@ -53424,6 +53775,32 @@ The list of accepted host key algorithms---e.g.,
|
||||
@item @code{accepted-key-types} (type: maybe-string-list)
|
||||
The list of accepted user public key types.
|
||||
|
||||
@item @code{control-master} (type: maybe-symbol)
|
||||
Enables the sharing of multiple sessions over a single network
|
||||
connection. Acceptable values are @code{'no}, @code{'yes},
|
||||
@code{'auto}, @code{'ask}, and @code{'autoask}.
|
||||
|
||||
@item @code{control-file-name} (type: maybe-string)
|
||||
The file name of the control socket used for connection sharing, or
|
||||
@code{"none"} to disable connection sharing.
|
||||
|
||||
@item @code{control-persist} (type: maybe-string)
|
||||
When used in conjunction with @env{control-master}, specifies that the
|
||||
master connection should remain open in the background (waiting for
|
||||
future client connections) after the initial client connection has been
|
||||
closed.
|
||||
|
||||
@item @code{sent-environment-variables} (type: maybe-env-list)
|
||||
Specifies which variables from the local environment should be sent to
|
||||
the server. The server must also support it, and the server must be
|
||||
configured to accept those environment variables.
|
||||
|
||||
@item @code{environment-variables} (type: maybe-string-alist)
|
||||
List of environment variables with corresponding values to send to the
|
||||
server, as an alist of strings of the form @code{'("@var{variable}" .
|
||||
"@var{value}")}. The server must also support it, and the server must
|
||||
be configured to accept those environment variables.
|
||||
|
||||
@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string)
|
||||
Extra content appended as-is to this @code{Host} block in
|
||||
@file{~/.ssh/config}.
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
|
||||
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
# Copyright © 2019 Timothy Sample <samplet@ngyro.com>
|
||||
# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
@@ -147,7 +147,7 @@ $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
|
||||
|
||||
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
|
||||
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
|
||||
cp "$<" "$@"
|
||||
sed -e s,@,@@,g "$<" > "$@"
|
||||
|
||||
infoimagedir = $(infodir)/images
|
||||
dist_infoimage_DATA = \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020-2022, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
@@ -61,7 +61,7 @@ TARGET."
|
||||
;; from the other package sets.
|
||||
(fold delete %base-packages
|
||||
(append (map specification->package
|
||||
'("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools"))
|
||||
'("kbd" "iproute2" "iw" "wireless-tools"))
|
||||
%base-packages-linux)))
|
||||
|
||||
(define %system-packages
|
||||
|
||||
+127
@@ -43,6 +43,133 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "c9dcd203e5356f13b736d5be121fd61874be1a93")
|
||||
(title
|
||||
(en "@command{pull} and @command{time-machine} can download channel
|
||||
files")
|
||||
(de "@command{pull} und @command{time-machine} können Kanaldateien
|
||||
herunterladen")
|
||||
(fr "@command{pull} et @command{time-machine} peuvent télécharger des
|
||||
fichiers canaux")
|
||||
(pt "@command{pull} e @command{time-machine} podem baixar arquivos de canal"))
|
||||
(body
|
||||
(en "The @command{guix pull} and @command{guix time-machine} can now
|
||||
be passed a URL as their @option{-C} (or @option{--channels}) option. For
|
||||
instance, the command below pulls from the latest successfully-evaluated
|
||||
commit of the @code{master} branch:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Alternatively, one may also specify a @uref{https://swhid.org, SWHID} that
|
||||
points to a channel file:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
To make that possible, channel files are now evaluated in an isolated
|
||||
environment (a @dfn{sandbox}), which prevents them from evaluating arbitrary
|
||||
code; if you have existing channel files that rely on \"non-standard\"
|
||||
features, you may now need to pass @option{--unsafe-channel-evaluation} to
|
||||
evaluate them. Furthermore, when fetching channels from a downloaded file,
|
||||
only @dfn{trusted channels} are allowed---one may specify them in
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
See @samp{info \"(guix)Invoking guix pull\"} for more information.")
|
||||
(de "Den Befehlen @command{guix pull} und @command{guix time-machine}
|
||||
kann jetzt eine URL mit der Option @option{-C} (oder @option{--channels})
|
||||
übergeben werden. Zum Beispiel lädt der folgende Befehl vom neuesten
|
||||
erfolgreich ausgewerteten Commit des @code{master}-Branches herunter:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Als Alternative kann man auch eine @uref{https://swhid.org, SWHID} angeben, die
|
||||
auf eine Kanaldatei verweist:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Damit das möglich ist, werden Kanaldateien jetzt in einer isolierten Umgebung
|
||||
ausgewertet (einer @dfn{Sandbox}), wodurch sie keinen beliebigen Code mehr
|
||||
ausführen können. Wenn Sie in bestehenden Dateien solche über den „Standard“
|
||||
hinausgehenden Funktionen benutzt haben, kann dazu jetzt verlangt werden, dass
|
||||
Sie @option{--unsafe-channel-evaluation} übergeben, um sie auszuwerten. Des
|
||||
Weiteren dürfen Kanäle aus heruntergeladenen Dateien nur als
|
||||
@dfn{vertrauenswürdig} markierte Kanäle verwenden, die Sie in
|
||||
@file{~/.config/guix/trusted-channels.scm} angeben.
|
||||
|
||||
Siehe @samp{info \"(guix.de) Aufruf von guix pull\"} für mehr Informationen.")
|
||||
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
|
||||
peuvent dorénavant prendre une URL pour l'option @option{-C} (ou
|
||||
@option{--channels}). Par exemple, la commande ci-dessous tire la dernière
|
||||
révision de la branch @code{master} à avoir été évaluée avec succès :
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
On peut également spécifier un @uref{https://swhid.org, SWHID} qui pointe vers
|
||||
un fichier canaux :
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Pour permettre cela, les fichiers canaux sont maintenant évalués dans un
|
||||
environnement isolé (un @dfn{bac à sable}), ce qui les empêche d'évaluer du
|
||||
code arbitraire ; lorsqu'on a des fichiers canaux qui dépendent de
|
||||
fonctionnalités « non standard », il peut dorénavant être nécessaire de passer
|
||||
l'option @option{--unsafe-channel-evaluation} pour les évaluer. De plus,
|
||||
lorsqu'un fichier canaux est téléchargé, seuls les @dfn{canaux de confiance}
|
||||
sont admis---on peut les énumérer dans
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
Voir @samp{info \"(guix.fr) Invoquer guix pull\"} pour plus
|
||||
d'informations.")
|
||||
(pt "Os comandos @command{guix pull} e @command{guix time-machine} já
|
||||
podem receber uma URL como opção para @option{-C} (or @option{--channels}).
|
||||
Por exemplo, o comando abaixo busca do commit mais recente evaluado com
|
||||
sucesso do ramo @code{master}:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Alternativamente, pode-se também especificar uma @uref{https://swhid.org,
|
||||
SWHID} que aponta para um arquivo de canal:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Para tornar isso possível, arquivos de canal agora são evaluados em um
|
||||
ambiente isolado (uma caixinha de areia, vulgo @dfn{sandbox}), o que os impede
|
||||
de evaluar código arbitrário; se você tem arquivos de canal que dependem de
|
||||
recursos \"não padrão\", pode ser necessário que você passe a opção
|
||||
@option{--unsafe-channel-evaluation} para evaluá-los. Além disso, quando se
|
||||
buscam canais de um arquivo baixado, somente @dfn{canais confiáveis} são
|
||||
permitidos---é possível especificá-los em
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
Veja @samp{info \"(guix.pt_BR)Invocando guix pull\"} para mais informação.")))
|
||||
|
||||
(entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c")
|
||||
(title
|
||||
(en "Records can refer to inherited values of thunked fields")
|
||||
|
||||
+28
-1
@@ -514,6 +514,7 @@ of Rebar and Mix build systems and Hex.pm importer."
|
||||
"gnu/packages/autogen.scm"
|
||||
"gnu/packages/autotools.scm"
|
||||
"gnu/packages/bison.scm"
|
||||
"gnu/packages/compiler-tools.scm"
|
||||
"gnu/packages/m4.scm"
|
||||
"gnu/packages/oyacc.scm"
|
||||
"gnu/packages/re2c.scm")))
|
||||
@@ -661,6 +662,12 @@ challenges"))
|
||||
"gnu/system/examples/lightweight-desktop.tmpl"
|
||||
"gnu/system/examples/desktop.tmpl")))
|
||||
|
||||
(define-team dotnet
|
||||
(team 'dotnet
|
||||
#:name ".NET"
|
||||
#:description ".NET programming environment."
|
||||
#:scope (list "gnu/packages/dotnet.scm")))
|
||||
|
||||
(define-team electronics
|
||||
(team 'electronics
|
||||
#:name "Electronics team"
|
||||
@@ -1241,6 +1248,11 @@ the \"texlive\" importer."
|
||||
"guix/build-system/zig.scm")))
|
||||
|
||||
|
||||
(define-member (person "Anderson Torres"
|
||||
"anderson.torres.8519@gmail.com"
|
||||
"AndersonTorres")
|
||||
community translations)
|
||||
|
||||
(define-member (person "Eric Bavier"
|
||||
"bavier@posteo.net"
|
||||
"bavier")
|
||||
@@ -1544,7 +1556,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Danny Milosavljevic"
|
||||
"dannym@friendly-machines.com"
|
||||
"daym")
|
||||
bootstrap hpc python rust science)
|
||||
bootstrap dotnet hpc python rust science)
|
||||
|
||||
(define-member (person "Andy Tai"
|
||||
"atai@atai.org"
|
||||
@@ -1666,6 +1678,21 @@ the \"texlive\" importer."
|
||||
"gemmaro")
|
||||
ruby)
|
||||
|
||||
(define-member (person "bdunahu"
|
||||
"bdunahu@operationnull.com"
|
||||
"bdunahu")
|
||||
games)
|
||||
|
||||
(define-member (person "Nomike"
|
||||
"nomike@nomike.com"
|
||||
"nomike")
|
||||
dotnet)
|
||||
|
||||
(define-member (person "Fabio Natali"
|
||||
"me@fabionatali.com"
|
||||
"fnat")
|
||||
emacs)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
|
||||
@@ -446,9 +446,11 @@ when booting a root file system on a Btrfs subvolume."
|
||||
(modules (menu-entry-multiboot-modules entry)))
|
||||
#~(format port "
|
||||
menuentry ~s {
|
||||
~a
|
||||
multiboot ~a root=~a~a~a
|
||||
}~%"
|
||||
#$label
|
||||
#$(grub-root-search device kernel)
|
||||
#$kernel
|
||||
#$(device-name->hurd-device-name device-name #:disk disk)
|
||||
(string-join (list #$@arguments) " " 'prefix)
|
||||
|
||||
+90
-24
@@ -74,16 +74,37 @@ Return the value associated with OPTION, or #f on failure."
|
||||
(loop (absolute target) (+ depth 1))
|
||||
file))))))
|
||||
|
||||
(define* (make-hurd-device-nodes #:optional (root "/"))
|
||||
(define* (make-hurd-device-nodes #:key (root "/") (hurd "/hurd"))
|
||||
"Make some of the nodes needed on GNU/Hurd."
|
||||
(define (scope dir)
|
||||
(string-append root (if (string-suffix? "/" root) "" "/") dir))
|
||||
(in-vicinity root dir))
|
||||
|
||||
(define scope-set-translator
|
||||
(match-lambda
|
||||
((file-name command)
|
||||
(scope-set-translator (list file-name command #o600)))
|
||||
((file-name command mode)
|
||||
(let ((mount-point (scope file-name)))
|
||||
(set-translator mount-point command mode)))))
|
||||
|
||||
(mkdir-p (scope "dev"))
|
||||
;; Don't create /dev/null etc just yet; the store
|
||||
;; messes-up the permission bits.
|
||||
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
|
||||
;; console-run on first boot.
|
||||
;; XXX: We must have `/dev/console` otherwise `console-run` tries to
|
||||
;; create it while the file-system is still read-only.
|
||||
(for-each (lambda (file)
|
||||
(call-with-output-file (scope file)
|
||||
(lambda (port)
|
||||
(display file port) ;avoid hard-linking
|
||||
(chmod port #o666))))
|
||||
'("dev/console"
|
||||
;; XXX What about vcs?
|
||||
;; Don't create /dev/null etc just yet; the store
|
||||
;; messes-up the permission bits.
|
||||
;; "dev/null"
|
||||
;; "dev/zero"
|
||||
;; "dev/full"
|
||||
;; "dev/random"
|
||||
;; "dev/urandom"
|
||||
))
|
||||
|
||||
(mkdir-p (scope "servers"))
|
||||
(for-each (lambda (file)
|
||||
@@ -101,22 +122,47 @@ Return the value associated with OPTION, or #f on failure."
|
||||
"suspend"))
|
||||
|
||||
(mkdir-p (scope "servers/socket"))
|
||||
(mkdir-p (scope "servers/bus/pci"))
|
||||
|
||||
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
|
||||
;; Set the 'gnu.translator' extended attribute for passive translator
|
||||
;; settings for pipes (servers/socet/1) and mount information (proc/mounts).
|
||||
;; Pipes are needed for guile-3.0.11 to startup, this enables moving
|
||||
;; "runsystem" to guile.
|
||||
;; XXX TODO: Set more passive xattr translators?
|
||||
(define servers
|
||||
`(
|
||||
;; ("servers/bus/pci" ("/hurd/pci-arbiter"))
|
||||
;; ("servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
|
||||
;; ("servers/crash-kill" ("/hurd/crash" "--kill"))
|
||||
;; ("servers/crash-suspend" ("/hurd/crash" "--suspend"))
|
||||
;; ("servers/password" ("/hurd/password"))
|
||||
;; PIPE -- for running runsystem as Guile
|
||||
("servers/socket/1" (,(in-vicinity hurd "pflocal")))
|
||||
;; /servers/socket/2 and /26 are created by 'static-networking-service'.
|
||||
;; XXX: Spawn pfinet without arguments on these nodes so that a DHCP
|
||||
;; client has someone to talk to?
|
||||
("proc" (,(in-vicinity hurd "procfs") "--stat-mode=444"))))
|
||||
|
||||
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
|
||||
;; settings?
|
||||
(mkdir-p (scope "servers/bus/pci")))
|
||||
(for-each scope-set-translator servers)
|
||||
|
||||
(define devices
|
||||
'())
|
||||
(for-each scope-set-translator devices))
|
||||
|
||||
(define (passive-translator-xattr? file-name)
|
||||
"Return true if FILE-NAME has an extended @code{gnu.translator} attribute
|
||||
set."
|
||||
(catch 'system-error
|
||||
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
|
||||
(lambda args
|
||||
(if (= ENODATA (system-error-errno args))
|
||||
#f
|
||||
(apply throw args)))))
|
||||
set.
|
||||
|
||||
Note that reading \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
|
||||
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
|
||||
needed."
|
||||
(and (file-exists? file-name)
|
||||
(catch 'system-error
|
||||
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
|
||||
(lambda args
|
||||
(if (= ENODATA (system-error-errno args))
|
||||
#f
|
||||
(apply throw args))))))
|
||||
|
||||
(define (passive-translator-installed? file-name)
|
||||
"Return true if @file{showtrans} finds a translator installed on FILE-NAME."
|
||||
@@ -136,7 +182,11 @@ set."
|
||||
(passive-translator-installed? file-name)))
|
||||
|
||||
(define* (set-translator file-name command #:optional (mode #o600))
|
||||
"Setup translator COMMAND on FILE-NAME."
|
||||
"Setup translator COMMAND on FILE-NAME.
|
||||
|
||||
Note that setting \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
|
||||
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
|
||||
needed."
|
||||
(unless (translated? file-name)
|
||||
(let ((dir (dirname file-name)))
|
||||
(unless (directory-exists? dir)
|
||||
@@ -168,7 +218,7 @@ set."
|
||||
"Make some of the device nodes needed on GNU/Hurd."
|
||||
|
||||
(define (scope dir)
|
||||
(string-append root (if (string-suffix? "/" root) "" "/") dir))
|
||||
(in-vicinity root dir))
|
||||
|
||||
(define scope-set-translator
|
||||
(match-lambda
|
||||
@@ -180,8 +230,19 @@ set."
|
||||
|
||||
(define (mkdir* dir)
|
||||
(let ((dir (scope dir)))
|
||||
(unless (file-exists? dir)
|
||||
(mkdir-p dir))))
|
||||
(unless (file-exists? dir)
|
||||
(mkdir-p dir))))
|
||||
|
||||
;; (define random-seed "/var/lib/random-seed")
|
||||
|
||||
;; ;; Create seed file to avoid
|
||||
;; ;; /gnu/store/...-hurd-x.y.z/hurd/random: Warning: Failed to read random seed file /var/lib/random-seed: No such file or directory
|
||||
;; (let ((file (scope random-seed)))
|
||||
;; (mkdir-p (dirname file))
|
||||
;; (call-with-output-file file
|
||||
;; (lambda (port)
|
||||
;; (display (iota 1000) port)
|
||||
;; (chmod port #o600))))
|
||||
|
||||
(define servers
|
||||
'(("servers/bus/pci" ("/hurd/pci-arbiter"))
|
||||
@@ -198,8 +259,14 @@ set."
|
||||
(define devices
|
||||
`(("dev/full" ("/hurd/null" "--full") #o666)
|
||||
("dev/null" ("/hurd/null") #o666)
|
||||
("dev/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed")
|
||||
#o644)
|
||||
;; The random translators, especially /dev/urandom, need to be non-passive
|
||||
;; When they exist in the file-system and reference /var/lib/random-seed
|
||||
;; while / is read-only. console-run will hang.
|
||||
;; ("dev/random" ("/hurd/random" "--seed-file" ,random-seed)
|
||||
;; #o644)
|
||||
;; ("dev/urandom" ("/hurd/random" "--seed-file" ,random-seed
|
||||
;; "--fast")
|
||||
;; #o644)
|
||||
("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666)
|
||||
|
||||
("dev/console" ("/hurd/term" "/dev/console" "device" "console"))
|
||||
@@ -284,7 +351,6 @@ set."
|
||||
(rename-file (scope "dev/console") (scope "dev/console-")))
|
||||
(for-each scope-set-translator devices)
|
||||
|
||||
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
|
||||
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
|
||||
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
|
||||
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
|
||||
|
||||
+1
-1
@@ -322,7 +322,7 @@ register-closure."
|
||||
|
||||
;; Populate /dev.
|
||||
(when make-device-nodes
|
||||
(make-device-nodes root))
|
||||
(make-device-nodes #:root root))
|
||||
|
||||
(when register-closures?
|
||||
(unless copy-closures?
|
||||
|
||||
+10
-12
@@ -125,18 +125,16 @@ entry will be expired even if it has been accessed recently.")
|
||||
(requirement shepherd-requirement)
|
||||
(modules '((shepherd support))) ;for '%user-runtime-dir'
|
||||
(start
|
||||
#~(lambda args
|
||||
((make-systemd-constructor
|
||||
(list #$(file-append gnupg "/bin/gpg-agent")
|
||||
"--supervised" "--enable-ssh-support")
|
||||
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
|
||||
#$(endpoint "browser" "S.gpg-agent.browser")
|
||||
#$(endpoint "extra" "S.gpg-agent.extra")
|
||||
;; #$(endpoint "scdaemon" "S.scdaemon")
|
||||
#$(endpoint "std" "S.gpg-agent"))
|
||||
;; Inherit graphical session environment.
|
||||
#:environment-variables (environ))
|
||||
args)))
|
||||
#~(make-systemd-constructor
|
||||
(list #$(file-append gnupg "/bin/gpg-agent")
|
||||
"--supervised" "--enable-ssh-support")
|
||||
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
|
||||
#$(endpoint "browser" "S.gpg-agent.browser")
|
||||
#$(endpoint "extra" "S.gpg-agent.extra")
|
||||
;; #$(endpoint "scdaemon" "S.scdaemon")
|
||||
#$(endpoint "std" "S.gpg-agent"))
|
||||
;; Inherit graphical session environment.
|
||||
#:environment-variables (environ)))
|
||||
(stop #~(make-systemd-destructor))
|
||||
(documentation "Start 'gpg-agent', the GnuPG passphrase
|
||||
agent, with support for handling OpenSSH material."))))
|
||||
|
||||
@@ -70,6 +70,11 @@
|
||||
openssh-host-proxy-command
|
||||
openssh-host-host-key-algorithms
|
||||
openssh-host-accepted-key-types
|
||||
openssh-host-control-master
|
||||
openssh-host-control-file-name
|
||||
openssh-host-control-persist
|
||||
openssh-host-sent-environment-variables
|
||||
openssh-host-environment-variables
|
||||
openssh-host-extra-content
|
||||
proxy-jump
|
||||
proxy-jump-host-name
|
||||
@@ -84,6 +89,9 @@
|
||||
(define (serialize-field-name name)
|
||||
(match name
|
||||
('accepted-key-types "PubkeyAcceptedKeyTypes")
|
||||
('sent-environment-variables "SendEnv")
|
||||
('environment-variables "SetEnv")
|
||||
('control-file-name "ControlPath")
|
||||
(_
|
||||
(let ((name (let ((str (symbol->string name)))
|
||||
(if (string-suffix? "?" str)
|
||||
@@ -130,6 +138,14 @@
|
||||
(define-maybe string)
|
||||
(define-maybe natural-number)
|
||||
|
||||
(define (serialize-symbol field value)
|
||||
(if (maybe-value-set? value)
|
||||
(string-append " " (serialize-field-name field) " "
|
||||
(symbol->string value) "\n")
|
||||
""))
|
||||
|
||||
(define-maybe symbol)
|
||||
|
||||
(define (serialize-raw-configuration-string field value)
|
||||
(string-append value "\n"))
|
||||
(define raw-configuration-string? string?)
|
||||
@@ -142,6 +158,33 @@
|
||||
|
||||
(define-maybe string-list)
|
||||
|
||||
(define (env-list? lst)
|
||||
(string-list? lst))
|
||||
|
||||
(define (serialize-env-list field lst)
|
||||
(string-append " " (serialize-field-name field) " "
|
||||
(string-join lst " ") "\n"))
|
||||
|
||||
(define-maybe env-list)
|
||||
|
||||
(define (string-alist? lst)
|
||||
(and (list? lst)
|
||||
(every (lambda (x)
|
||||
(and (pair? x)
|
||||
(string? (car x))
|
||||
(string? (cdr x))))
|
||||
lst)))
|
||||
|
||||
(define (serialize-string-alist field lst)
|
||||
(string-append " " (serialize-field-name field) " "
|
||||
(string-join
|
||||
(map (match-lambda
|
||||
((key . value)
|
||||
(format #nil "~s" (string-append key "=" value))))
|
||||
lst) " ") "\n"))
|
||||
|
||||
(define-maybe string-alist)
|
||||
|
||||
(define-record-type <proxy-command>
|
||||
(proxy-command command)
|
||||
proxy-command?
|
||||
@@ -275,6 +318,31 @@ through before connecting to the server.")
|
||||
(accepted-key-types
|
||||
maybe-string-list
|
||||
"The list of accepted user public key types.")
|
||||
(control-master
|
||||
maybe-symbol
|
||||
"Enables the sharing of multiple sessions over a single network connection.
|
||||
Acceptable values are @code{'no}, @code{'yes}, @code{'auto}, @code{'ask}, and
|
||||
@code{'autoask}.")
|
||||
(control-file-name
|
||||
maybe-string
|
||||
"The file name of the control socket used for connection sharing, or
|
||||
@code{\"none\"} to disable connection sharing.")
|
||||
(control-persist
|
||||
maybe-string
|
||||
"When used in conjunction with @env{control-master}, specifies that the
|
||||
master connection should remain open in the background (waiting for future
|
||||
client connections) after the initial client connection has been closed.")
|
||||
(sent-environment-variables
|
||||
maybe-env-list
|
||||
"Specifies which variables from the local environment should be sent to the
|
||||
server. The server must also support it, and the server must be configured to
|
||||
accept those environment variables.")
|
||||
(environment-variables
|
||||
maybe-string-alist
|
||||
"List of environment variables with corresponding values to send to the
|
||||
server, as an alist of strings of the form @code{'(\"@var{variable}\"
|
||||
. \"@var{value}\")}. The server must also support it, and the server must be
|
||||
configured to accept those environment variables.")
|
||||
(extra-content
|
||||
(raw-configuration-string "")
|
||||
"Extra content appended as-is to this @code{Host} block in
|
||||
|
||||
+16
-29
@@ -208,6 +208,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/cobol.scm \
|
||||
%D%/packages/code.scm \
|
||||
%D%/packages/commencement.scm \
|
||||
%D%/packages/compiler-tools.scm \
|
||||
%D%/packages/compression.scm \
|
||||
%D%/packages/compton.scm \
|
||||
%D%/packages/computer-architecture.scm \
|
||||
@@ -234,6 +235,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/darwin.scm \
|
||||
%D%/packages/data-language.scm \
|
||||
%D%/packages/databases.scm \
|
||||
%D%/packages/datalog.scm \
|
||||
%D%/packages/datamash.scm \
|
||||
%D%/packages/datastructures.scm \
|
||||
%D%/packages/dav.scm \
|
||||
@@ -729,7 +731,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/zig.scm \
|
||||
%D%/packages/zig-xyz.scm \
|
||||
%D%/packages/zile.scm \
|
||||
%D%/packages/zwave.scm \
|
||||
\
|
||||
%D%/services.scm \
|
||||
%D%/services/admin.scm \
|
||||
@@ -756,6 +757,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/docker.scm \
|
||||
%D%/services/authentication.scm \
|
||||
%D%/services/file-sharing.scm \
|
||||
%D%/services/firmware.scm \
|
||||
%D%/services/games.scm \
|
||||
%D%/services/ganeti.scm \
|
||||
%D%/services/getmail.scm \
|
||||
@@ -997,9 +999,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/agg-am_c_prototype.patch \
|
||||
%D%/packages/patches/agg-2.5-gcc8.patch \
|
||||
%D%/packages/patches/akonadi-paths.patch \
|
||||
%D%/packages/patches/akonadi-not-relocatable.patch \
|
||||
%D%/packages/patches/akonadi-timestamps.patch \
|
||||
%D%/packages/patches/alure-dumb-2.patch \
|
||||
%D%/packages/patches/amd-smi-newer-libdrm.patch \
|
||||
%D%/packages/patches/amd-smi-python.patch \
|
||||
%D%/packages/patches/ibus-anthy-fix-tests.patch \
|
||||
%D%/packages/patches/ibus-table-paths.patch \
|
||||
@@ -1168,7 +1170,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cryfs-boost-1.89-fix.patch \
|
||||
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
|
||||
%D%/packages/patches/ctranslate2-local-build.patch \
|
||||
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cups-relax-root-ownership-check.patch \
|
||||
%D%/packages/patches/cura-engine-gcc-14.patch \
|
||||
@@ -1179,8 +1180,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \
|
||||
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
|
||||
%D%/packages/patches/cursynth-wave-rand.patch \
|
||||
%D%/packages/patches/cvc5-reproducible-build.patch \
|
||||
%D%/packages/patches/cvc5-symfpu-compatibility.patch \
|
||||
%D%/packages/patches/cvs-CVE-2017-12836.patch \
|
||||
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \
|
||||
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
|
||||
@@ -1300,6 +1299,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/fbgemm-use-system-libraries.patch \
|
||||
%D%/packages/patches/fbreader-curl-7.62.patch \
|
||||
%D%/packages/patches/fbreader-fix-icon.patch \
|
||||
%D%/packages/patches/fdroidcl-fix-tests.patch \
|
||||
%D%/packages/patches/fenics-dolfin-algorithm.patch \
|
||||
%D%/packages/patches/fenics-dolfin-demo-init.patch \
|
||||
%D%/packages/patches/fenics-dolfin-boost.patch \
|
||||
@@ -1366,16 +1366,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
|
||||
%D%/packages/patches/ganeti-haskell-pythondir.patch \
|
||||
%D%/packages/patches/ganeti-lens-compat.patch \
|
||||
%D%/packages/patches/ganeti-openssh-test-fix.patch \
|
||||
%D%/packages/patches/ganeti-pyyaml-compat.patch \
|
||||
%D%/packages/patches/ganeti-procps-compat.patch \
|
||||
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
|
||||
%D%/packages/patches/ganeti-relax-dependencies.patch \
|
||||
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
|
||||
%D%/packages/patches/ganeti-shepherd-support.patch \
|
||||
%D%/packages/patches/ganeti-sphinx-import.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
|
||||
%D%/packages/patches/gawk-shell.patch \
|
||||
%D%/packages/patches/gcc-arm-bug-71399.patch \
|
||||
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||
@@ -1515,6 +1507,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
|
||||
%D%/packages/patches/glibc-supported-locales.patch \
|
||||
%D%/packages/patches/glibc-versioned-locpath.patch \
|
||||
%D%/packages/patches/glycin-sandbox-Adapt-bwrap-invocation.patch \
|
||||
%D%/packages/patches/gmime-disable-tests.patch \
|
||||
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
%D%/packages/patches/gmp-faulty-test.patch \
|
||||
@@ -1531,7 +1524,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gnumach-version.patch \
|
||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
|
||||
%D%/packages/patches/gnutls-no-which.patch \
|
||||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
%D%/packages/patches/gobject-introspection-cc.patch \
|
||||
%D%/packages/patches/gobject-introspection-girepository.patch \
|
||||
@@ -1588,11 +1580,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gtk2-theme-paths.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtk3-treeview-test-fix.patch \
|
||||
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
|
||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||
%D%/packages/patches/gtk4-demo-reproducible.patch \
|
||||
%D%/packages/patches/gtk4-needs-udmabuf.patch \
|
||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
@@ -1670,6 +1659,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/ispell-for-linphone-cmake.patch \
|
||||
%D%/packages/patches/jami-avutil-link.patch \
|
||||
%D%/packages/patches/jami-libjami-cmake.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
@@ -1752,7 +1742,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
|
||||
%D%/packages/patches/kismet-unbundle-boost.patch \
|
||||
%D%/packages/patches/kissfft-tflite-micro.patch \
|
||||
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
|
||||
%D%/packages/patches/kmod-module-directory.patch \
|
||||
%D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \
|
||||
%D%/packages/patches/knot-remove-runtime-deps.patch \
|
||||
@@ -1867,6 +1856,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \
|
||||
%D%/packages/patches/linux-pam-no-setfsuid.patch \
|
||||
%D%/packages/patches/linux-pam-unix_chkpwd.patch \
|
||||
%D%/packages/patches/linux-shmem-hurd-xattr.patch \
|
||||
%D%/packages/patches/lirc-localstatedir.patch \
|
||||
%D%/packages/patches/lirc-reproducible-build.patch \
|
||||
%D%/packages/patches/llvm-13-gcc-14.patch \
|
||||
@@ -1888,7 +1878,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lua-5.x-search-path-helpers.patch \
|
||||
%D%/packages/patches/lua-lgi-fix-pango.patch \
|
||||
%D%/packages/patches/lua-lgi-fix-ref.patch \
|
||||
%D%/packages/patches/luanti-paths.patch \
|
||||
%D%/packages/patches/lugaru-fix-sound.patch \
|
||||
%D%/packages/patches/luit-posix.patch \
|
||||
%D%/packages/patches/lxc-no-static-bin.patch \
|
||||
@@ -1916,7 +1905,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-build.patch \
|
||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
|
||||
%D%/packages/patches/mozjs-xp-win.patch \
|
||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||
%D%/packages/patches/libmodbus-disable-networking-test.patch \
|
||||
@@ -1929,8 +1917,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mediasdk-gcc-14.patch \
|
||||
%D%/packages/patches/memtest86+-build-reproducibly.patch \
|
||||
%D%/packages/patches/mercurial-hg-extension-path.patch \
|
||||
%D%/packages/patches/meson-keep-rpath-vicinity.patch \
|
||||
%D%/packages/patches/meson-gir-fallback-path.patch \
|
||||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||
%D%/packages/patches/mia-fix-boost-headers.patch \
|
||||
%D%/packages/patches/mia-gcc11.patch \
|
||||
@@ -1950,7 +1936,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/modglue-fix-build.patch \
|
||||
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
|
||||
%D%/packages/patches/module-init-tools-moduledir.patch \
|
||||
%D%/packages/patches/monero-use-system-miniupnpc.patch \
|
||||
%D%/packages/patches/mono-1.2.6-bootstrap.patch \
|
||||
%D%/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \
|
||||
%D%/packages/patches/mono-1.9.1-fixes.patch \
|
||||
@@ -1991,6 +1976,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/netbeans-25-nativeexecution-paths.patch \
|
||||
%D%/packages/patches/netbeans-25-terminal-no-login-shell.patch \
|
||||
%D%/packages/patches/netbeans-25-source-only-build.patch \
|
||||
%D%/packages/patches/netbeans-25-wayland-font-rendering.patch \
|
||||
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
|
||||
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
|
||||
%D%/packages/patches/netsurf-message-timestamp.patch \
|
||||
@@ -2016,10 +2002,13 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/nss-3.115-disable-broken-tests.patch \
|
||||
%D%/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch \
|
||||
%D%/packages/patches/ntp-fix-dereferencing-the-wrong-variable.patch \
|
||||
%D%/packages/patches/ntfs-3g-autoconf-sbin-helpers.patch \
|
||||
%D%/packages/patches/ntfs-3g-consistent-sbindir-usage.patch \
|
||||
%D%/packages/patches/nvi-add-function-prototypes.patch \
|
||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
%D%/packages/patches/nvi-db4.patch \
|
||||
%D%/packages/patches/obs-advanced-masks-nlohmann-json.patch \
|
||||
%D%/packages/patches/obs-modules-location.patch \
|
||||
%D%/packages/patches/ocaml-ctypes-test-oo.patch \
|
||||
%D%/packages/patches/ocaml-multiple-definitions.patch \
|
||||
@@ -2082,7 +2071,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-hurd64.patch \
|
||||
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
|
||||
%D%/packages/patches/open-zwave-hidapi.patch \
|
||||
%D%/packages/patches/opusfile-CVE-2022-47021.patch \
|
||||
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
|
||||
%D%/packages/patches/orca-fix-gst-init-check-call.patch \
|
||||
@@ -2121,7 +2109,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
%D%/packages/patches/python-daemon-relax-lockfile.patch \
|
||||
%D%/packages/patches/python-docrepr-fix-tests.patch \
|
||||
%D%/packages/patches/python-gpg-setup-72.patch \
|
||||
%D%/packages/patches/python-hdmedians-replace-nose.patch \
|
||||
%D%/packages/patches/python-jinja2-fragments-modify-conftest-py.patch \
|
||||
%D%/packages/patches/python-louvain-fix-test.patch \
|
||||
@@ -2463,7 +2450,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \
|
||||
%D%/packages/patches/libsequoia-remove-store.patch \
|
||||
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
|
||||
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
%D%/packages/patches/showtime-python-3.11-compat.patch \
|
||||
@@ -2623,9 +2609,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/wcstools-extend-makefiles.patch \
|
||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-abseil-cpp.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-gcc-14.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
|
||||
%D%/packages/patches/websocketpp-boost-compat.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
||||
|
||||
+203
-90
@@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
|
||||
;;; Copyright © 2025 Owen T. Heisler <writer@owenh.net>
|
||||
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -36,6 +37,7 @@
|
||||
#:use-module (gnu system)
|
||||
#:use-module (guix base32)
|
||||
#:use-module (guix colors)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix gexp)
|
||||
@@ -55,6 +57,7 @@
|
||||
#:use-module (ice-9 string-fun)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (json)
|
||||
#:use-module ((rnrs base) #:select (assert))
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-2)
|
||||
#:use-module (srfi srfi-34)
|
||||
@@ -66,8 +69,10 @@
|
||||
#:use-module (ssh session)
|
||||
#:use-module (ssh sftp)
|
||||
#:use-module (ssh shell)
|
||||
#:export (%hetzner-os-arm
|
||||
%hetzner-os-x86
|
||||
#:export (%hetzner-os-arm ;deprecated
|
||||
%hetzner-os-x86 ;deprecated
|
||||
make-hetzner-os
|
||||
|
||||
deploy-hetzner
|
||||
hetzner-configuration
|
||||
hetzner-configuration-allow-downgrades?
|
||||
@@ -82,6 +87,7 @@
|
||||
hetzner-configuration-server-type
|
||||
hetzner-configuration-ssh-key
|
||||
hetzner-configuration-ssh-public-key
|
||||
hetzner-configuration-user
|
||||
hetzner-configuration?
|
||||
hetzner-environment-type))
|
||||
|
||||
@@ -98,7 +104,7 @@
|
||||
|
||||
;; Operating system for arm servers using UEFI boot mode.
|
||||
|
||||
(define %hetzner-os-arm
|
||||
(define %hetzner-os-arm/efi
|
||||
(operating-system
|
||||
(host-name "guix-arm")
|
||||
(bootloader
|
||||
@@ -128,9 +134,9 @@
|
||||
|
||||
;; Operating system for x86 servers using BIOS boot mode.
|
||||
|
||||
(define %hetzner-os-x86
|
||||
(define %hetzner-os-x86/bios
|
||||
(operating-system
|
||||
(inherit %hetzner-os-arm)
|
||||
(inherit %hetzner-os-arm/efi)
|
||||
(host-name "guix-x86")
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
@@ -146,6 +152,51 @@
|
||||
(type "ext4"))
|
||||
%base-file-systems))))
|
||||
|
||||
(define %hetzner-os-x86/efi
|
||||
(operating-system
|
||||
(inherit %hetzner-os-arm/efi)
|
||||
(host-name "guix-x86")
|
||||
(initrd-modules
|
||||
(cons "virtio_scsi" %base-initrd-modules))))
|
||||
|
||||
(define (server-type-name->arch type-name)
|
||||
"Return a symbol corresponding to the server type architecture, e.g.
|
||||
@code{'x86} or @code{'arm}."
|
||||
(cond
|
||||
((string-prefix-ci? "cax" type-name)
|
||||
'arm)
|
||||
(else
|
||||
'x86)))
|
||||
|
||||
(define (server-type-name->bootloader type-name)
|
||||
"Return a symbol corresponding to the bootloader type, e.g.
|
||||
@code{'efi} or @code{'bios}."
|
||||
(if (eq? 'arm (server-type-name->arch type-name))
|
||||
'efi
|
||||
(cond
|
||||
((string-prefix-ci? "cx" type-name)
|
||||
'bios) ;old, cost-optimized x86 servers
|
||||
(else
|
||||
'efi)))) ;newer, regular performance/general purpose servers
|
||||
|
||||
(define* (make-hetzner-os server-type-name)
|
||||
"Return an operating server customized for SERVER-TYPE-NAME, a string like
|
||||
\"cx23\" or \"cax11\", denoting the Hetzner virtual server type."
|
||||
(match (server-type-name->arch server-type-name)
|
||||
('arm %hetzner-os-arm/efi)
|
||||
('x86
|
||||
(match (server-type-name->bootloader server-type-name)
|
||||
('bios %hetzner-os-x86/bios)
|
||||
('efi %hetzner-os-x86/efi)))))
|
||||
|
||||
(define-deprecated %hetzner-os-x86
|
||||
make-hetzner-os
|
||||
%hetzner-os-x86/bios)
|
||||
|
||||
(define-deprecated %hetzner-os-arm
|
||||
make-hetzner-os
|
||||
%hetzner-os-arm/efi)
|
||||
|
||||
(define (operating-system-authorize os)
|
||||
"Authorize the OS with the public signing key of the current machine."
|
||||
(if (file-exists? %public-key-file)
|
||||
@@ -191,6 +242,11 @@ Have you run 'guix archive --generate-key'?")
|
||||
;;; Hetzner configuration.
|
||||
;;;
|
||||
|
||||
;;; This parameter overrides the value returned by
|
||||
;;; `hetzner-configuration-ssh-key'.
|
||||
(define %hetzner-ssh-key-file
|
||||
(make-parameter #f))
|
||||
|
||||
(define-record-type* <hetzner-configuration> hetzner-configuration
|
||||
make-hetzner-configuration hetzner-configuration? this-hetzner-configuration
|
||||
(allow-downgrades? hetzner-configuration-allow-downgrades? ; boolean
|
||||
@@ -213,26 +269,39 @@ Have you run 'guix archive --generate-key'?")
|
||||
(default #t))
|
||||
(ipv6 hetzner-configuration-ipv6 ; boolean | string
|
||||
(default #t))
|
||||
(ssh-public-key hetzner-configuration-ssh-public-key ; public-key | string
|
||||
(ssh-public-key hetzner-configuration-ssh-public-key* ; #f | public-key | string
|
||||
(thunked)
|
||||
(default (public-key-from-file (hetzner-configuration-ssh-key this-hetzner-configuration)))
|
||||
(sanitize
|
||||
(lambda (value)
|
||||
(if (string? value) (public-key-from-file value) value))))
|
||||
(ssh-key hetzner-configuration-ssh-key
|
||||
(default #f))) ; #f | string
|
||||
(default (and=> (hetzner-configuration-ssh-key
|
||||
this-hetzner-configuration)
|
||||
public-key-from-file))
|
||||
(sanitize (lambda (value)
|
||||
(if (string? value)
|
||||
(public-key-from-file value)
|
||||
value))))
|
||||
(ssh-key hetzner-configuration-ssh-key* ; #f | string
|
||||
(default #f))
|
||||
(user hetzner-configuration-user ;string
|
||||
(default "root")))
|
||||
|
||||
(define (hetzner-configuration-ssh-key-fingerprint config)
|
||||
"Return the SSH public key fingerprint of CONFIG as a string."
|
||||
(and-let* ((pubkey (hetzner-configuration-ssh-public-key config))
|
||||
(hash (get-public-key-hash pubkey 'md5)))
|
||||
(define (hetzner-configuration-ssh-key config)
|
||||
(or (%hetzner-ssh-key-file)
|
||||
(hetzner-configuration-ssh-key* config)))
|
||||
|
||||
(define (hetzner-configuration-ssh-public-key config)
|
||||
(or (and=> (%hetzner-ssh-key-file) public-key-from-file)
|
||||
(hetzner-configuration-ssh-public-key* config)))
|
||||
|
||||
(define (public-key->fingerprint public-key)
|
||||
"Return the SSH public key fingerprint of PUBLIC-KEY, a Guile-SSH public key
|
||||
object, in the expected format for the Hetzner API."
|
||||
(let ((hash (get-public-key-hash public-key 'md5)))
|
||||
(bytevector->hex-string hash)))
|
||||
|
||||
(define (hetzner-configuration-ssh-key-public config)
|
||||
"Return the SSH public key of CONFIG as a string."
|
||||
(let ((public-key (hetzner-configuration-ssh-public-key config)))
|
||||
(format #f "ssh-~a ~a" (get-key-type public-key)
|
||||
(public-key->string public-key))))
|
||||
(define (public-key->string-with-type public-key)
|
||||
"Return the SSH public key string of PUBLIC-KEY, a Guile-SSH public key
|
||||
object, in the expected format for the Hetzner API."
|
||||
(format #f "ssh-~a ~a" (get-key-type public-key)
|
||||
(public-key->string public-key)))
|
||||
|
||||
|
||||
;;;
|
||||
@@ -245,21 +314,26 @@ Have you run 'guix archive --generate-key'?")
|
||||
;; Get the operating system WITHOUT the provenance service to avoid a
|
||||
;; duplicate symlink conflict in the store.
|
||||
(os ((@@ (gnu machine) %machine-operating-system) target)))
|
||||
(machine
|
||||
(inherit target)
|
||||
(operating-system
|
||||
(if (hetzner-configuration-authorize? config)
|
||||
(operating-system-authorize os)
|
||||
os))
|
||||
(environment managed-host-environment-type)
|
||||
(configuration
|
||||
(machine-ssh-configuration
|
||||
(allow-downgrades? (hetzner-configuration-allow-downgrades? config))
|
||||
(authorize? (hetzner-configuration-authorize? config))
|
||||
(build-locally? (hetzner-configuration-build-locally? config))
|
||||
(host-name (hetzner-server-public-ipv4 server))
|
||||
(identity (hetzner-configuration-ssh-key config))
|
||||
(system (hetzner-server-system server)))))))
|
||||
(match-record config <hetzner-configuration>
|
||||
( authorize? allow-downgrades? build-locally? user)
|
||||
(machine
|
||||
(inherit target)
|
||||
(operating-system
|
||||
(if authorize?
|
||||
(operating-system-authorize os)
|
||||
os))
|
||||
(environment managed-host-environment-type)
|
||||
(configuration
|
||||
(machine-ssh-configuration
|
||||
(allow-downgrades? allow-downgrades?)
|
||||
(authorize? authorize?)
|
||||
(build-locally? build-locally?)
|
||||
(host-name (hetzner-server-public-ipv4 server))
|
||||
;; XXX: match-record doesn't make use of custom accessors to obtain
|
||||
;; the value, so we can't bind SSH-KEY with it.
|
||||
(identity (hetzner-configuration-ssh-key config))
|
||||
(system (hetzner-server-system server))
|
||||
(user user)))))))
|
||||
|
||||
(define (hetzner-machine-location machine)
|
||||
"Find the location of MACHINE on the Hetzner API."
|
||||
@@ -363,43 +437,43 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
|
||||
"Return the form to bootstrap an operating system on SERVER."
|
||||
(let* ((os (machine-operating-system machine))
|
||||
(system (hetzner-server-system server))
|
||||
(type-name (hetzner-server-type-name (hetzner-server-type server)))
|
||||
(arm? (equal? "arm" (hetzner-server-architecture server)))
|
||||
(x86? (equal? "x86" (hetzner-server-architecture server)))
|
||||
(efi? (equal? 'efi (server-type-name->bootloader type-name)))
|
||||
(root-fs-type (operating-system-root-file-system-type os)))
|
||||
`(operating-system
|
||||
(host-name ,(operating-system-host-name os))
|
||||
(timezone "Etc/UTC")
|
||||
(bootloader (bootloader-configuration
|
||||
(bootloader ,(cond (arm? 'grub-efi-bootloader)
|
||||
(x86? 'grub-bootloader)))
|
||||
(targets ,(cond (arm? '(list "/boot/efi"))
|
||||
(x86? '(list "/dev/sda"))))
|
||||
(terminal-outputs '(console))))
|
||||
(bootloader ,(if efi?
|
||||
'grub-efi-bootloader
|
||||
'grub-bootloader))
|
||||
(targets ,(if efi?
|
||||
'(list "/boot/efi")
|
||||
'(list "/dev/sda")))
|
||||
(terminal-outputs '(console))))
|
||||
(initrd-modules (append
|
||||
,(cond (arm? '(list "sd_mod" "virtio_scsi"))
|
||||
(x86? '(list "virtio_scsi")))
|
||||
%base-initrd-modules))
|
||||
(file-systems ,(cond
|
||||
(arm? `(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/sda1")
|
||||
(type ,root-fs-type))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device "/dev/sda15")
|
||||
(type "vfat"))
|
||||
%base-file-systems))
|
||||
(x86? `(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/sda1")
|
||||
(type ,root-fs-type))
|
||||
%base-file-systems))))
|
||||
(file-systems (cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/sda1")
|
||||
(type ,root-fs-type))
|
||||
,@(if efi?
|
||||
'((file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device "/dev/sda15")
|
||||
(type "vfat")))
|
||||
'())
|
||||
%base-file-systems))
|
||||
(services
|
||||
(cons* (service dhcpcd-service-type)
|
||||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(openssh openssh-sans-x)
|
||||
(permit-root-login 'prohibit-password)))
|
||||
(openssh openssh-sans-x)
|
||||
(permit-root-login 'prohibit-password)))
|
||||
%base-services)))))
|
||||
|
||||
(define (rexec-verbose session cmd)
|
||||
@@ -421,8 +495,9 @@ values: list of output lines returned by CMD and its exit code."
|
||||
|
||||
(define (hetzner-machine-ssh-key machine)
|
||||
"Find the SSH key for MACHINE on the Hetzner API."
|
||||
(let* ((config (machine-configuration machine))
|
||||
(expected (hetzner-configuration-ssh-key-fingerprint config)))
|
||||
(and-let* ((config (machine-configuration machine))
|
||||
(public-key (hetzner-configuration-ssh-public-key config))
|
||||
(expected (public-key->fingerprint public-key)))
|
||||
(find (lambda (ssh-key)
|
||||
(equal? expected (hetzner-ssh-key-fingerprint ssh-key)))
|
||||
(hetzner-api-ssh-keys
|
||||
@@ -435,10 +510,12 @@ values: list of output lines returned by CMD and its exit code."
|
||||
(format #t "creating ssh key for '~a'...\n" name)
|
||||
(let* ((config (machine-configuration machine))
|
||||
(api (hetzner-configuration-api config))
|
||||
(pubkey (hetzner-configuration-ssh-public-key config))
|
||||
(_ (assert pubkey))
|
||||
(ssh-key (hetzner-api-ssh-key-create
|
||||
(hetzner-configuration-api config)
|
||||
(hetzner-configuration-ssh-key-fingerprint config)
|
||||
(hetzner-configuration-ssh-key-public config)
|
||||
api
|
||||
(public-key->fingerprint pubkey)
|
||||
(public-key->string-with-type pubkey)
|
||||
#:labels (hetzner-configuration-labels config))))
|
||||
(format #t "successfully created ssh key for '~a'\n" name)
|
||||
ssh-key)))
|
||||
@@ -464,6 +541,16 @@ values: list of output lines returned by CMD and its exit code."
|
||||
(formatted-message (G_ "primary ip '~a' does not exist.")
|
||||
name))))
|
||||
|
||||
(define temporary-ssh-key-file
|
||||
(let ((ssh-key-file (port-filename (mkstemp "/tmp/hetzner-key-XXXXXX")))
|
||||
(ssh-key #f))
|
||||
(lambda ()
|
||||
"Return a dynamically created, temporary private SSH key."
|
||||
(unless ssh-key
|
||||
(set! ssh-key (make-keypair 'ed25519))
|
||||
(private-key-to-file ssh-key ssh-key-file))
|
||||
ssh-key-file)))
|
||||
|
||||
(define (hetzner-machine-create-server machine)
|
||||
"Create the Hetzner server for MACHINE."
|
||||
(let* ((config (machine-configuration machine))
|
||||
@@ -471,13 +558,14 @@ values: list of output lines returned by CMD and its exit code."
|
||||
(server-type (hetzner-configuration-server-type config)))
|
||||
(format #t "creating '~a' server for '~a'...\n" server-type name)
|
||||
(let* ((ssh-key (hetzner-machine-ssh-key machine))
|
||||
(_ (assert ssh-key)) ;required during provisioning
|
||||
(ipv4 (hetzner-configuration-ipv4 config))
|
||||
(ipv6 (hetzner-configuration-ipv6 config))
|
||||
(api (hetzner-configuration-api config))
|
||||
(server (hetzner-api-server-create
|
||||
api
|
||||
(machine-display-name machine)
|
||||
(list ssh-key)
|
||||
#:ssh-keys (list ssh-key)
|
||||
#:ipv4 (if (string? ipv4)
|
||||
(hetzner-primary-ip-id (hetzner-resolve-ip api ipv4))
|
||||
ipv4)
|
||||
@@ -525,13 +613,15 @@ values: list of output lines returned by CMD and its exit code."
|
||||
(write-known-host! ssh-session)))
|
||||
|
||||
(define (hetzner-machine-enable-rescue-system machine server)
|
||||
"Enable the rescue system on the Hetzner SERVER for MACHINE."
|
||||
"Enable the rescue system on the Hetzner SERVER for MACHINE, provisioning it
|
||||
with the configured SSH key, or a dynamically created temporary one."
|
||||
(let* ((name (machine-display-name machine))
|
||||
(config (machine-configuration machine))
|
||||
(api (hetzner-configuration-api config))
|
||||
(ssh-keys (list (hetzner-machine-ssh-key machine))))
|
||||
(ssh-keys (and=> (hetzner-machine-ssh-key machine) list)))
|
||||
(format #t "enabling rescue system on '~a'...\n" name)
|
||||
(let ((action (hetzner-api-server-enable-rescue-system api server ssh-keys)))
|
||||
(let ((action (hetzner-api-server-enable-rescue-system
|
||||
api server #:ssh-keys ssh-keys)))
|
||||
(format #t "successfully enabled rescue system on '~a'\n" name)
|
||||
action)))
|
||||
|
||||
@@ -567,6 +657,7 @@ values: list of output lines returned by CMD and its exit code."
|
||||
(set! hetzner-machine-ssh-run-script hetzner-machine-ssh-run-script)
|
||||
|
||||
(define (hetzner-machine-rescue-install-os machine ssh-session server)
|
||||
"Init a minimal Guix System to bootstrap from."
|
||||
(let ((name (machine-display-name machine))
|
||||
(os (hetzner-machine-bootstrap-os-form machine server)))
|
||||
(format #t "installing guix operating system on '~a'...\n" name)
|
||||
@@ -585,19 +676,11 @@ chmod 600 /mnt/root/.ssh/authorized_keys
|
||||
|
||||
# Small instance don't have much disk space. Bind mount the store of the
|
||||
# rescue system to the tmp directory of the new Guix system.
|
||||
mkdir -p /mnt/tmp/gnu/store
|
||||
mkdir -p /gnu/store
|
||||
mount --bind /mnt/tmp/gnu/store /gnu/store
|
||||
mkdir -p /mnt/tmp/gnu
|
||||
mkdir -p /gnu
|
||||
mount --bind /mnt/tmp/gnu /gnu
|
||||
|
||||
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
|
||||
|
||||
# Modify the install script to point the systemd unit of the /gnu/store
|
||||
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
|
||||
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
|
||||
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
|
||||
sed -i \"s@install_unit gnu-store.mount\"\\
|
||||
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
|
||||
|
||||
chmod +x /tmp/guix-install.sh
|
||||
set +o pipefail # avoid hangup on 'yes' killing this script
|
||||
yes '' | /tmp/guix-install.sh
|
||||
@@ -671,7 +754,8 @@ apt-get install cloud-initramfs-growroot uidmap --assume-yes"))
|
||||
action)))
|
||||
|
||||
(define (hetzner-machine-provision machine)
|
||||
"Provision a server for MACHINE on the Hetzner Cloud service."
|
||||
"Provision a Guix System bootstrap server for MACHINE on the Hetzner Cloud
|
||||
service."
|
||||
(with-exception-handler
|
||||
(lambda (exception)
|
||||
(let ((config (machine-configuration machine))
|
||||
@@ -686,12 +770,10 @@ apt-get install cloud-initramfs-growroot uidmap --assume-yes"))
|
||||
(let ((ssh-session (hetzner-machine-wait-for-ssh machine server)))
|
||||
(hetzner-machine-rescue-install-packages machine ssh-session)
|
||||
(hetzner-machine-rescue-partition machine ssh-session)
|
||||
(hetzner-machine-rescue-install-os machine ssh-session server)
|
||||
(hetzner-machine-reboot machine server)
|
||||
(sleep 5)
|
||||
(hetzner-machine-authenticate-host machine server)
|
||||
server)))
|
||||
#:unwind? #t))
|
||||
(hetzner-machine-rescue-install-os machine ssh-session server))
|
||||
(hetzner-machine-reboot machine server)
|
||||
(hetzner-machine-authenticate-host machine server)
|
||||
server))))
|
||||
|
||||
(define (machine-not-provisioned machine)
|
||||
(formatted-message
|
||||
@@ -717,16 +799,47 @@ an environment type of 'hetzner-environment-type'."
|
||||
;;; System deployment.
|
||||
;;;
|
||||
|
||||
(define (cleanup-temporary-ssh-key/maybe api ssh-key)
|
||||
"Delete the temporary SSH private key file from the file system and the
|
||||
Hetzner API, if one was created used."
|
||||
(when (%hetzner-ssh-key-file)
|
||||
(format #t "cleaning up temporary ssh key~%")
|
||||
(delete-file (%hetzner-ssh-key-file))
|
||||
(%hetzner-ssh-key-file #f)
|
||||
(hetzner-api-ssh-key-delete api ssh-key)))
|
||||
|
||||
(define (deploy-hetzner machine)
|
||||
"Internal implementation of 'deploy-machine' for 'machine' instances with an
|
||||
environment type of 'hetzner-environment-type'."
|
||||
(hetzner-machine-validate machine)
|
||||
(unless (hetzner-machine-ssh-key machine)
|
||||
(hetzner-machine-ssh-key-create machine))
|
||||
(let ((server (or (hetzner-machine-server machine)
|
||||
(hetzner-machine-provision machine))))
|
||||
(deploy-machine (hetzner-machine-delegate machine server))))
|
||||
|
||||
(define server (hetzner-machine-server machine))
|
||||
(define config (machine-configuration machine))
|
||||
(define api (hetzner-configuration-api config))
|
||||
(define ssh-key #f) ;hetzner API key
|
||||
|
||||
;; Provisioning requires uploading an SSH key via the Hetzner API to
|
||||
;; authenticate non-interactively with the newly created server.
|
||||
(unless server ;provisioning?
|
||||
(unless (hetzner-configuration-ssh-public-key config)
|
||||
(format #t "using a temporary ssh key for provisioning~%")
|
||||
(%hetzner-ssh-key-file (temporary-ssh-key-file)))
|
||||
(set! ssh-key (or (hetzner-machine-ssh-key machine)
|
||||
(hetzner-machine-ssh-key-create machine))))
|
||||
|
||||
;; Cleaning-up here is a bit tricky, as `deploy-machine' returns a monadic
|
||||
;; value immediately, to be executed later; this means the clean-up must be
|
||||
;; delayed until monadic evaluation time.
|
||||
(let* ((server (or server (hetzner-machine-provision machine)))
|
||||
(delegate-machine (hetzner-machine-delegate machine server)))
|
||||
;; FIXME: The clean-up in the guard does not run even when
|
||||
;; `deploy-machine' fails.
|
||||
(guard (c (#t (cleanup-temporary-ssh-key/maybe api ssh-key)
|
||||
(raise c)))
|
||||
(mlet %store-monad
|
||||
((value (deploy-machine delegate-machine)))
|
||||
(cleanup-temporary-ssh-key/maybe api ssh-key)
|
||||
(return value)))))
|
||||
|
||||
|
||||
;;;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
|
||||
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -19,6 +20,7 @@
|
||||
(define-module (gnu machine hetzner http)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix records)
|
||||
#:use-module (ice-9 iconv)
|
||||
#:use-module (ice-9 match)
|
||||
@@ -51,6 +53,7 @@
|
||||
hetzner-api-action-wait
|
||||
hetzner-api-actions
|
||||
hetzner-api-create-ssh-key
|
||||
hetzner-api-images
|
||||
hetzner-api-locations
|
||||
hetzner-api-primary-ips
|
||||
hetzner-api-request-body
|
||||
@@ -81,6 +84,23 @@
|
||||
hetzner-error-code
|
||||
hetzner-error-message
|
||||
hetzner-error?
|
||||
hetzner-image?
|
||||
hetzner-image-id
|
||||
hetzner-image-type
|
||||
hetzner-image-status
|
||||
hetzner-image-name
|
||||
hetzner-image-description
|
||||
hetzner-image-disk-size
|
||||
hetzner-image-created
|
||||
hetzner-image-created-from
|
||||
hetzner-image-bound-to
|
||||
hetzner-image-os-flavor
|
||||
hetzner-image-os-version
|
||||
hetzner-image-rapid-deploy
|
||||
hetzner-image-protection
|
||||
hetzner-image-deprecated
|
||||
hetzner-image-deleted
|
||||
hetzner-image-architecture
|
||||
hetzner-ipv4-blocked?
|
||||
hetzner-ipv4-dns-ptr
|
||||
hetzner-ipv4-id
|
||||
@@ -148,6 +168,7 @@
|
||||
hetzner-ssh-key?
|
||||
make-hetzner-action
|
||||
make-hetzner-error
|
||||
make-hetzner-image
|
||||
make-hetzner-ipv4
|
||||
make-hetzner-ipv6
|
||||
make-hetzner-location
|
||||
@@ -168,7 +189,19 @@
|
||||
(make-parameter (getenv "GUIX_HETZNER_API_TOKEN")))
|
||||
|
||||
;; Ideally this would be a Guix image. Maybe one day.
|
||||
(define %hetzner-default-server-image "debian-11")
|
||||
(define %hetzner-default-server-image
|
||||
(mlambda (api)
|
||||
"Return the latest Debian image available. This image gets used for the
|
||||
initial system provisioning phase, before Guix System takes over."
|
||||
(let ((debian-images (filter (lambda (image)
|
||||
(string=? "debian"
|
||||
(hetzner-image-os-flavor image)))
|
||||
(hetzner-api-images api))))
|
||||
(hetzner-image-name
|
||||
(last (sort debian-images
|
||||
(lambda (x y)
|
||||
(< (string->number (hetzner-image-os-version x))
|
||||
(string->number (hetzner-image-os-version y))))))))))
|
||||
|
||||
;; Falkenstein, Germany
|
||||
(define %hetzner-default-server-location "fsn1")
|
||||
@@ -290,6 +323,43 @@
|
||||
(server-type hetzner-server-type "server_type"
|
||||
json->hetzner-server-type)) ; <hetzner-server-type>
|
||||
|
||||
(define-json-mapping <hetzner-image>
|
||||
make-hetzner-image hetzner-image? json->hetzner-image
|
||||
(id hetzner-image-id) ;integer
|
||||
(type hetzner-image-type) ;string
|
||||
(status hetzner-image-status) ;string
|
||||
(name hetzner-image-name "name" (null-or identity)) ;string | null
|
||||
(description hetzner-image-description) ;string
|
||||
(image-size hetzner-image-size "image_size" ;number | null (GiB)
|
||||
(null-or identity))
|
||||
(disk-size hetzner-image-disk-size "disk_size") ;number (GiB)
|
||||
(created hetzner-image-created) ;string (date)
|
||||
(created-from hetzner-image-created-from "created_from" ;object | null
|
||||
(null-or json->hetzner-image-created-from))
|
||||
(bound-to hetzner-image-bound-to "bound_to" (null-or identity)) ;integer | null
|
||||
(os-flavor hetzner-image-os-flavor "os_flavor") ;string
|
||||
(os-version hetzner-image-os-version "os_version" ;string | null
|
||||
(null-or identity))
|
||||
(rapid-deploy hetzner-image-rapid-deploy "rapid_deploy") ;boolean
|
||||
(protection hetzner-image-protection "protection" ;object
|
||||
json->hetzner-image-protection)
|
||||
(deprecated hetzner-image-deprecated) ;string
|
||||
(deleted hetzner-image-deleted "deleted" (null-or identity)) ;null | string
|
||||
(architecture hetzner-image-architecture)) ;string
|
||||
|
||||
(define (null-or parser)
|
||||
(lambda (value)
|
||||
(if (eq? 'null value)
|
||||
*unspecified*
|
||||
(parser value))))
|
||||
|
||||
(define-json-type <hetzner-image-created-from>
|
||||
(id) ;integer
|
||||
(name)) ;string
|
||||
|
||||
(define-json-type <hetzner-image-protection>
|
||||
(delete)) ;boolean
|
||||
|
||||
(define-json-mapping <hetzner-server-type>
|
||||
make-hetzner-server-type hetzner-server-type? json->hetzner-server-type
|
||||
(architecture hetzner-server-type-architecture) ; string
|
||||
@@ -598,11 +668,11 @@
|
||||
(apply hetzner-api-list api "/locations" "locations" json->hetzner-location options))
|
||||
|
||||
(define* (hetzner-api-server-create
|
||||
api name ssh-keys
|
||||
#:key
|
||||
api name #:key
|
||||
ssh-keys
|
||||
(ipv4 #f)
|
||||
(ipv6 #f)
|
||||
(image %hetzner-default-server-image)
|
||||
(image (%hetzner-default-server-image api))
|
||||
(labels '())
|
||||
(location %hetzner-default-server-location)
|
||||
(server-type %hetzner-default-server-type)
|
||||
@@ -620,7 +690,11 @@
|
||||
,@(if (integer? ipv6) `(("ipv6" . ,ipv6)) '())))
|
||||
("location" . ,location)
|
||||
("server_type" . ,server-type)
|
||||
("ssh_keys" . ,(apply vector (map hetzner-ssh-key-id ssh-keys)))
|
||||
,@(if ssh-keys
|
||||
`(("ssh_keys" .
|
||||
,(apply vector (map hetzner-ssh-key-id
|
||||
ssh-keys))))
|
||||
'())
|
||||
("start_after_create" . ,start-after-create?)))))
|
||||
(hetzner-api-action-wait api (hetzner-api-body-action body))
|
||||
(json->hetzner-server (assoc-ref body "server"))))
|
||||
@@ -631,12 +705,15 @@
|
||||
(hetzner-api-action-wait api (hetzner-api-body-action body))))
|
||||
|
||||
(define* (hetzner-api-server-enable-rescue-system
|
||||
api server ssh-keys #:key (type "linux64"))
|
||||
api server #:key ssh-keys (type "linux64"))
|
||||
"Enable the rescue system for SERVER with the Hetzner API."
|
||||
(let* ((ssh-keys (apply vector (map hetzner-ssh-key-id ssh-keys)))
|
||||
(let* ((ssh-keys (and ssh-keys
|
||||
(apply vector (map hetzner-ssh-key-id ssh-keys))))
|
||||
(body (hetzner-api-post
|
||||
api (hetzner-server-path server "/actions/enable_rescue")
|
||||
#:body `(("ssh_keys" . ,ssh-keys)
|
||||
#:body `(,@(if ssh-keys
|
||||
`(("ssh_keys" . ,ssh-keys))
|
||||
'())
|
||||
("type" . ,type)))))
|
||||
(hetzner-api-action-wait api (hetzner-api-body-action body))))
|
||||
|
||||
@@ -687,3 +764,8 @@
|
||||
"Get server types from the Hetzner API."
|
||||
(apply hetzner-api-list api "/server_types" "server_types"
|
||||
json->hetzner-server-type options))
|
||||
|
||||
(define* (hetzner-api-images api . options)
|
||||
"Get image types from the Hetzner API."
|
||||
(apply hetzner-api-list api "/images" "images"
|
||||
json->hetzner-image options))
|
||||
|
||||
+7
-1
@@ -164,6 +164,12 @@ flags."
|
||||
%default-package-module-path
|
||||
channels-scm))))
|
||||
|
||||
(define (strip-trailing-slash s)
|
||||
;; Strip the trailing slash of a string, if present.
|
||||
(if (string-suffix? "/" s)
|
||||
(string-drop-right s 1)
|
||||
s))
|
||||
|
||||
(define %patch-path
|
||||
;; Define it after '%package-module-path' so that '%load-path' contains user
|
||||
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
|
||||
@@ -172,7 +178,7 @@ flags."
|
||||
(if (string=? directory %distro-root-directory)
|
||||
(string-append directory "/gnu/packages/patches")
|
||||
directory))
|
||||
%load-path)))
|
||||
(map strip-trailing-slash %load-path))))
|
||||
|
||||
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
|
||||
;; See <https://github.com/alezost/guix.el/issues/30>.
|
||||
|
||||
@@ -1972,7 +1972,7 @@ maintenance releases.")
|
||||
(define-public dhcpcd
|
||||
(package
|
||||
(name "dhcpcd")
|
||||
(version "10.3.0")
|
||||
(version "10.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1981,7 +1981,7 @@ maintenance releases.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
|
||||
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl"))))
|
||||
(inputs (list bash-minimal coreutils-minimal eudev sed))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -4711,7 +4711,7 @@ information tool.")
|
||||
(define-public fastfetch-minimal
|
||||
(package
|
||||
(name "fastfetch-minimal")
|
||||
(version "2.60.0")
|
||||
(version "2.63.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4720,7 +4720,7 @@ information tool.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "089577qgxd63zqzd00fz381bfpmj6pwlmy2zfan9r6gbm1jvj4i8"))
|
||||
(base32 "13a5maf8jxyga5bga96s40binqp2i54pjlipsnqgfj85q01yzkg9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "src/3rdparty")
|
||||
|
||||
+22
-15
@@ -1230,28 +1230,35 @@ main repository.")
|
||||
(define-public fdroidcl
|
||||
(package
|
||||
(name "fdroidcl")
|
||||
(version "0.7.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mvdan/fdroidcl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s3fszlyyab9gbdrg52zcbafsb1mgb770skg7b3gj7f3pzfnra5n"))))
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hoverth/fdroidcl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bflahcsjarv4v6r61knl5gc5iydh1lwvqjgffhxr4pis4qfsqsa"))
|
||||
;; XXX: Reported upstream.
|
||||
;; See: <https://github.com/Hoverth/fdroidcl/pull/92>.
|
||||
(patches (search-patches "fdroidcl-fix-tests.patch"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "mvdan.cc/fdroidcl"
|
||||
#:tests? #f ;requires internet access
|
||||
#:install-source? #f))
|
||||
(inputs (list go-github-com-kr-pretty go-github-com-schollz-progressbar-v3))
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "mvdan.cc/fdroidcl"))
|
||||
(inputs
|
||||
(list go-github-com-kr-pretty
|
||||
go-github-com-pelletier-go-toml-v2
|
||||
go-github-com-rogpeppe-go-internal
|
||||
go-github-com-schollz-progressbar-v3))
|
||||
(home-page "https://github.com/Hoverth/fdroidcl")
|
||||
(synopsis "F-Droid desktop client")
|
||||
(description
|
||||
"While the Android client integrates with the system with regular update
|
||||
checks and notifications, this is a simple command line client that talks to
|
||||
connected devices via ADB.")
|
||||
(home-page "https://github.com/mvdan/fdroidcl")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public emacs-fdroid
|
||||
|
||||
@@ -2177,20 +2177,6 @@ interchange format for scientific data. This package contains the Python
|
||||
implementation of the ASDF Standard.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-asdf-3
|
||||
(package
|
||||
(inherit python-asdf)
|
||||
(version "3.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf" version))
|
||||
(sha256
|
||||
(base32 "0scnw5y4x5k3vyfylq0w612b662xlccx3gsscaw082zlv2yxfyh4"))))
|
||||
(propagated-inputs
|
||||
(modify-inputs propagated-inputs
|
||||
(prepend python-asdf-transform-schemas)))))
|
||||
|
||||
(define-public python-asdf-astropy
|
||||
(package
|
||||
(name "python-asdf-astropy")
|
||||
@@ -12132,7 +12118,7 @@ It can be used to calculate the trajectory of satellites.")
|
||||
gtksourceview-4
|
||||
healpix-cxx
|
||||
json-glib
|
||||
lcms
|
||||
lcms-next
|
||||
|
||||
;; XXX: It downloads script and data during start up, check if they
|
||||
;; may be presented as packages with wrapped environment variables
|
||||
|
||||
+123
-47
@@ -11,7 +11,7 @@
|
||||
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 okapi <okapi@firemail.cc>
|
||||
;;; Copyright © 2018, 2020, 2022-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
|
||||
@@ -63,6 +63,7 @@
|
||||
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -403,7 +404,7 @@ displays a histogram of the roundtrip time jitter.")
|
||||
(define-public webrtc-audio-processing
|
||||
(package
|
||||
(name "webrtc-audio-processing")
|
||||
(version "2.1")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -411,14 +412,30 @@ displays a histogram of the roundtrip time jitter.")
|
||||
(string-append "http://freedesktop.org/software/pulseaudio/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lrjzhshwj1rkh4fxh7sq2dkkfimlyjs2ha7s3ribsh2dnc6ps1m"))
|
||||
(patches (search-patches "webrtc-audio-processing-abseil-cpp.patch"
|
||||
"webrtc-audio-processing-gcc-14.patch"))))
|
||||
(base32 "0xfvq5lxg612vfzk3zk6896zcb4cgrrb7fq76w9h40magz0jymcm"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags (if (target-x86-32?)
|
||||
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
|
||||
#~'())))
|
||||
#~'())
|
||||
#:phases
|
||||
(if (or (target-x86-32?) (target-powerpc?))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda _
|
||||
(define (patch file)
|
||||
(invoke "patch" "-p1" "--force" "-i" file))
|
||||
|
||||
;; https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
|
||||
;; TODO: Move to the 'patches' field of the origin on
|
||||
;; the next rebuild.
|
||||
(patch #$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-byte-order-pointer-size.patch")))
|
||||
(patch #$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-x86-no-sse.patch"))))))
|
||||
#~%standard-phases)))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list abseil-cpp))
|
||||
(synopsis "WebRTC's Audio Processing Library")
|
||||
@@ -3454,7 +3471,7 @@ from being able to mix multiple JACK audio streams.")
|
||||
(define-public pipemixer
|
||||
(package
|
||||
(name "pipemixer")
|
||||
(version "0.4.1")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3463,19 +3480,8 @@ from being able to mix multiple JACK audio streams.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
|
||||
(base32 "104h2zdhqx5gdddnb7v7rhrflznh4v7d4g3s6vk2mxwf938zgm72"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pw-device
|
||||
(lambda _
|
||||
(substitute* "src/pw/device.c"
|
||||
;; TODO: Report upstream:
|
||||
;; ../source/src/pw/device.c:328:80: error: expected
|
||||
;; ‘;’ before ‘{’ token
|
||||
(("iter\\) \\{") "iter); {")))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
@@ -3875,6 +3881,58 @@ provided by Pipewire.")
|
||||
cross-platform audio input/output stream library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pyroomacoustics
|
||||
(package
|
||||
(name "python-pyroomacoustics")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LCAV/pyroomacoustics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0546506lg93nrybvilc4wgrgvn317w9zxv2jwikhpfy1i0qyrnkk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; Want to download data from the internet:
|
||||
"--ignore"
|
||||
"pyroomacoustics/directivities/tests/test_sofa_directivities.py"
|
||||
"--ignore"
|
||||
"pyroomacoustics/datasets/tests/test_download_uncompress.py"
|
||||
;; May fail because of slight numerical imprecision.
|
||||
"--ignore"
|
||||
"pyroomacoustics/experimental/tests/test_measure_rt60.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-extra-include-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory inputs "include/eigen3")
|
||||
":"
|
||||
(or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
|
||||
(propagated-inputs (list python-scipy))
|
||||
(native-inputs (list eigen
|
||||
pybind11
|
||||
python-cython
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-sofa))
|
||||
(inputs (list nanoflann))
|
||||
(home-page "https://github.com/LCAV/pyroomacoustics")
|
||||
(synopsis "Python library for room acoustics")
|
||||
(description "@code{pyroomacoustics} is a framework for simulating the
|
||||
acustic behaviour of rooms, such as computing the impulse response using
|
||||
different simulation methods.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pulsectl
|
||||
(package
|
||||
(name "python-pulsectl")
|
||||
@@ -3979,6 +4037,40 @@ to send and receive OSC messages using a nice and simple Python API. Also
|
||||
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python-sofa
|
||||
(package
|
||||
(name "python-sofa")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/spatialaudio/python-sofa/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0n6mdck2dawfm6napqhhxi8gjyvs6121pblcr7zjl37a8ldqvg29"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;No tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-wrong-dependency
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'datetime'")
|
||||
"")))))))
|
||||
(propagated-inputs (list python-netcdf4 python-numpy python-scipy))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/spatialaudio/python-sofa/")
|
||||
(synopsis
|
||||
"Python @acronym{Spatially Oriented Format for Acoustics, SOFA} API")
|
||||
(description
|
||||
"Python API for @acronym{Spatially Oriented Format for Acoustics, SOFA} files
|
||||
as specified in @url{https://www.sofaconventions.org, SOFA conventions}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-soundfile
|
||||
(package
|
||||
(name "python-soundfile")
|
||||
@@ -7116,32 +7208,6 @@ developing fully accurate DirectX Audio runtime libraries.")
|
||||
license:expat
|
||||
license:public-domain))))
|
||||
|
||||
(define-public gnaural
|
||||
(package
|
||||
(name "gnaural")
|
||||
(version "20110606")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list alsa-lib gtk+-2 libsndfile portaudio))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://gnaural.sourceforge.net/")
|
||||
(synopsis "Binaural beat synthesizer")
|
||||
(description "Gnaural is a programmable auditory binaural beat synthesizer
|
||||
intended to be used for brainwave entrainment. Gnaural supports creation of
|
||||
binaural beat tracks of different frequencies and exporting of tracks into
|
||||
different audio formats. Gnaural can also be linked over the internet with
|
||||
other Gnaural instances, allowing synchronous sessions between many users.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public darkice
|
||||
(package
|
||||
(name "darkice")
|
||||
@@ -8071,7 +8137,16 @@ Icecast server.")
|
||||
(lambda _
|
||||
(substitute* "misc.c"
|
||||
(("#include <stdio.h>\n" all)
|
||||
(string-append all "#include <string.h>\n")))))
|
||||
(string-append all "#include <string.h>\n")))
|
||||
(substitute* "wavsubs.c"
|
||||
(("#include \"wavsubs.h\"\n" all)
|
||||
(string-append all "#include <stdlib.h>")))
|
||||
(substitute* "wavfile.c"
|
||||
(("#include \"wavsubs.h\"\n" all)
|
||||
(string-append all "#include <stdlib.h>")))
|
||||
(substitute* "generator.c"
|
||||
(("#include \"wavsubs.h\"\n" all)
|
||||
(string-append all "#include <stdlib.h>")))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
@@ -8083,7 +8158,8 @@ Icecast server.")
|
||||
(inputs
|
||||
(list ncurses))
|
||||
(native-inputs
|
||||
`(("groff" ,groff-minimal) ; for nroff
|
||||
`(("gcc" ,gcc-9)
|
||||
("groff" ,groff-minimal) ; for nroff
|
||||
("util-linux" ,util-linux))) ; for col
|
||||
(home-page "https://github.com/bleskodev/siggen")
|
||||
(synopsis "Signal generation tools")
|
||||
|
||||
@@ -1989,7 +1989,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
# CONFIG_SCSI_VIRTIO is not set
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# end of SCSI device support
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+13
-9
@@ -893,7 +893,7 @@ is like a time machine for your data.")
|
||||
(define-public restic
|
||||
(package
|
||||
(name "restic")
|
||||
(version "0.17.3")
|
||||
(version "0.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -902,7 +902,7 @@ is like a time machine for your data.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wsgq7f0bfi0i5iiwcc3hlf2lhxcnz3zfs8p8bc6l913r9hvyg1x"))))
|
||||
(base32 "0gxhknn022bwg2s8hababqg3vjkzflq59vr67y7r1c8fjnlsgf4l"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -911,15 +911,18 @@ is like a time machine for your data.")
|
||||
#:import-path "github.com/restic/restic/cmd/restic"
|
||||
#:unpack-path "github.com/restic/restic"
|
||||
#:embed-files #~(list "children" "nodes" "text")
|
||||
#:test-flags
|
||||
;; Python is required.
|
||||
#~(list "-skip" "TestStdinFromCommand|TestStdinFromCommandNoOutput")
|
||||
#:test-subdirs #~(list "../../...")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-python-path
|
||||
(lambda* (#:key inputs unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(substitute* "cmd/restic/cmd_backup_integration_test.go"
|
||||
(("python")
|
||||
(search-input-file inputs "/bin/python3"))))))
|
||||
(add-after 'install 'install-docs
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(let* ((man "/share/man")
|
||||
(man-section (string-append man "/man")))
|
||||
;; Install all the man pages to "out".
|
||||
@@ -942,12 +945,12 @@ is like a time machine for your data.")
|
||||
go-github-com-cenkalti-backoff-v4
|
||||
go-github-com-cespare-xxhash-v2
|
||||
go-github-com-elithrar-simple-scrypt
|
||||
;; go-github-com-go-ole-go-ole ;windows only
|
||||
;; go-github-com-go-ole-go-ole ;Windows only
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-hashicorp-golang-lru-v2
|
||||
go-github-com-klauspost-compress
|
||||
;; go-github-com-microsoft-go-winio ;Windows only
|
||||
go-github-com-minio-minio-go-v7
|
||||
go-github-com-minio-sha256-simd
|
||||
go-github-com-ncw-swift-v2
|
||||
go-github-com-peterbourgon-unixtransport
|
||||
go-github-com-pkg-errors
|
||||
@@ -967,6 +970,7 @@ is like a time machine for your data.")
|
||||
go-golang-org-x-text
|
||||
go-golang-org-x-time
|
||||
go-google-golang-org-api
|
||||
python-minimal
|
||||
|
||||
;; XXX: These packages have to be bootstrapped to break cycle with
|
||||
;; go-google-golang-org-grpc.
|
||||
|
||||
+21
-15
@@ -13,7 +13,7 @@
|
||||
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2025-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2023 Advanced Micro Devices, Inc.
|
||||
;;;
|
||||
@@ -680,20 +680,26 @@ the user is too low. To raise such limit on a Guix System, refer to
|
||||
"0ifnw8vnkcgrksx7g5d9ii4kjppqnk32lvrybdybmibyvag6zfdc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-broken-makefile
|
||||
(lambda _
|
||||
;; Remove erroneous "-lm" target
|
||||
(substitute* "Makefile"
|
||||
(("hackbench.o -lm") "hackbench.o"))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "interbench" (string-append out "/bin"))
|
||||
(install-file "interbench.8" (string-append out "/share/man/man8"))))))))
|
||||
(list #:tests? #f ; no tests
|
||||
#:make-flags
|
||||
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration"
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-broken-makefile
|
||||
(lambda _
|
||||
;; Remove erroneous "-lm" target
|
||||
(substitute* "Makefile"
|
||||
(("hackbench.o -lm") "hackbench.o"))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "interbench"
|
||||
(string-append #$output "/bin"))
|
||||
(install-file "interbench.8"
|
||||
(string-append #$output
|
||||
"/share/man/man8")))))))
|
||||
(native-inputs (list gcc-10))
|
||||
(home-page "http://users.on.net/~ckolivas/interbench/")
|
||||
(synopsis "Interactivity benchmark")
|
||||
(description "interbench is designed to benchmark interactivity on Linux.
|
||||
|
||||
@@ -6272,6 +6272,17 @@ for clusters.")
|
||||
"1bvj7n2qxfvy1fmjqmm1w65fcj7fy5h74i0jgl0a0940mlhd7s9v"))))
|
||||
(properties `((upstream-name . "CelliD")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; "The `slot` argument of `GetAssayData()` was deprecated in
|
||||
;; SeuratObject 5.0.0 and is now defunct.", i = "Please use
|
||||
;; the `layer` argument instead."
|
||||
(add-after 'unpack 'fix-deprecated-argument
|
||||
(lambda _
|
||||
(substitute* '("R/mca.R" "tests/testthat/test_CelliD.R")
|
||||
(("slot") "layer")))))))
|
||||
(propagated-inputs
|
||||
(list r-biocparallel
|
||||
r-data-table
|
||||
|
||||
@@ -9505,16 +9505,16 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
|
||||
(define-public idr
|
||||
(package
|
||||
(name "idr")
|
||||
(version "2.0.3")
|
||||
(version "2.0.4.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nboley/idr")
|
||||
(url "https://github.com/kundajelab/idr")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04j876h6z444v2q79drxx283d3k5snd72kj895wbalnl42206x9g"))
|
||||
"01491ffhhj5plmpvvwmzp6c5arp5390h3jdpgsai92y6xbsgvxz8"))
|
||||
;; Delete generated C code.
|
||||
(snippet
|
||||
'(begin (delete-file "idr/inv_cdf.c") #t))))
|
||||
@@ -9522,11 +9522,21 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
|
||||
;; There is only one test ("test_inv_cdf.py") and it tests features that
|
||||
;; are no longer part of this package. It also asserts False, which
|
||||
;; causes the tests to always fail.
|
||||
(arguments `(#:tests? #f))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'numpy-compatibility
|
||||
(lambda _
|
||||
(substitute* "idr/idr.py"
|
||||
(("numpy.int") "int"))
|
||||
(substitute* "idr/inv_cdf.pyx"
|
||||
(("np.int_t") "np.int64_t")))))))
|
||||
(propagated-inputs
|
||||
(list python-scipy python-sympy python-numpy-1 python-matplotlib))
|
||||
(list python-scipy python-sympy python-numpy python-matplotlib))
|
||||
(native-inputs
|
||||
(list python-cython-0
|
||||
(list python-cython
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/nboley/idr")
|
||||
(synopsis "Tool to measure the irreproducible discovery rate (IDR)")
|
||||
@@ -15990,7 +16000,7 @@ dispersal. Its output can be processed by treeannotator (from the
|
||||
(inputs
|
||||
(list boost-for-mysql
|
||||
cereal
|
||||
cgal
|
||||
cgal-5
|
||||
gsl
|
||||
hdf5
|
||||
fftw
|
||||
@@ -17858,7 +17868,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
(define-public pigx-chipseq
|
||||
(package
|
||||
(name "pigx-chipseq")
|
||||
(version "0.1.0")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
|
||||
@@ -17866,7 +17876,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
"/pigx_chipseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"008n6drj9q5av86xihxlj4py2c9p3c5z5ld89c3bksrp77zxiy67"))))
|
||||
"09m1bpjapfxwhzrnvfs2g2zv28k6af7yf7s5ji861nb9bwlkmyi7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; parts of the tests rely on access to the network
|
||||
@@ -17917,7 +17927,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
python-magic
|
||||
python-xlrd
|
||||
trim-galore
|
||||
macs
|
||||
macs-3
|
||||
multiqc
|
||||
perl
|
||||
pandoc
|
||||
|
||||
+12
-11
@@ -361,18 +361,18 @@ Transmission BitTorrent daemon.")
|
||||
(name "aria2")
|
||||
(version "1.37.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/aria2/aria2/releases/"
|
||||
"download/release-" version
|
||||
"/aria2-" version ".tar.xz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aria2/aria2")
|
||||
(commit (string-append "release-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
|
||||
"1yr9yxr7z3bdg51afpzj0i63xl2rdk1prl20qws21y6r1x58vf65"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "aria2-unbundle-wslay.patch"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "deps")
|
||||
(delete-file "configure")))))
|
||||
(delete-file-recursively "deps")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -382,10 +382,13 @@ Transmission BitTorrent daemon.")
|
||||
#$output "/etc/bash_completion.d/"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-configure
|
||||
(add-after 'unpack 'update-gettext-version
|
||||
(lambda _
|
||||
(substitute* "configure.ac"
|
||||
(("0[.]18") "0.19.6"))))
|
||||
(("AM_GNU_GETTEXT_VERSION\\(.*\\)")
|
||||
(format #f "AM_GNU_GETTEXT_VERSION([~a])"
|
||||
#$(package-version (this-package-native-input
|
||||
"gettext-minimal")))))))
|
||||
(add-after 'unpack 'delete-socket-tests
|
||||
(lambda _
|
||||
(substitute* "test/LpdMessageDispatcherTest.cc"
|
||||
@@ -417,8 +420,6 @@ Transmission BitTorrent daemon.")
|
||||
"Aria2 is a lightweight, multi-protocol & multi-source command-line
|
||||
download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
|
||||
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
(properties
|
||||
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public uget
|
||||
|
||||
@@ -334,7 +334,7 @@ parallel study, and original language study.")
|
||||
(define-public book-emacs-lisp-elements
|
||||
(package
|
||||
(name "book-emacs-lisp-elements")
|
||||
(version "2.0.1")
|
||||
(version "2.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -343,7 +343,7 @@ parallel study, and original language study.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
|
||||
(base32 "06mhrb16h93n3s3srcfgmzsyh2lxx4ffj1di6qvczfg4039pi3c8"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -267,8 +267,8 @@
|
||||
;; rebooting.
|
||||
(if (member (or (%current-target-system)
|
||||
(%current-system))
|
||||
(package-supported-systems fuse-2))
|
||||
(list fuse-2)
|
||||
(package-supported-systems fuse))
|
||||
(list fuse)
|
||||
'())))
|
||||
(native-inputs
|
||||
(append (list pkg-config
|
||||
|
||||
@@ -69,6 +69,55 @@ match website theme.")
|
||||
(define-public adaptive-tab-bar-colour/icecat
|
||||
(make-icecat-extension adaptive-tab-bar-colour))
|
||||
|
||||
(define canvasblocker
|
||||
(package
|
||||
(name "canvasblocker")
|
||||
(version "1.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kkapsner/CanvasBlocker")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xxs6s7nrl4y4qiw2cpkqh170mbv78n0ixd874a72jjvczw2vpg7"))
|
||||
(modules '((guix build utils) (ice-9 match) (ice-9 ftw)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(for-each delete-file
|
||||
'("canvasblocker.xpi" "package-lock.json"))
|
||||
;; Delete all hidden files/directories except .tools.
|
||||
(for-each
|
||||
(match-lambda
|
||||
((or "." ".tools" ".."
|
||||
(? (lambda (name)
|
||||
(not (string-prefix? "." name)))))
|
||||
#t)
|
||||
((? file-is-directory? dir)
|
||||
(delete-file-recursively dir))
|
||||
(file
|
||||
(delete-file file)))
|
||||
(scandir "."))))))
|
||||
(build-system copy-build-system)
|
||||
(properties '((addon-id . "CanvasBlocker@kkapsner.de")))
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan ;deduced from .tools/build.js
|
||||
#~'(("." #$(assq-ref properties 'addon-id)
|
||||
#:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
|
||||
#:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
|
||||
(home-page "https://github.com/kkapsner/CanvasBlocker")
|
||||
(synopsis "Firefox extension to protect from being fingerprinted")
|
||||
(description "This extension allows users to prevent websites from using
|
||||
some Javascript APIs to fingerprint them. Users can choose to block the APIs
|
||||
entirely on some or all websites (which may break some websites) or just block
|
||||
or fake its fingerprinting-friendly readout API.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public canvasblocker/icecat
|
||||
(make-icecat-extension canvasblocker))
|
||||
|
||||
(define play-to-kodi
|
||||
(package
|
||||
(name "play-to-kodi")
|
||||
@@ -263,7 +312,7 @@ fill and submit login forms if a matching password entry is found.")
|
||||
(define keepassxc-browser
|
||||
(package
|
||||
(name "keepassxc-browser")
|
||||
(version "1.9.9.6")
|
||||
(version "1.9.10")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -273,7 +322,7 @@ fill and submit login forms if a matching password entry is found.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs"))
|
||||
"18kgmdvsq1kv9px8a1m7i10r4m0iik72qlnw9k2ijxmn1xikfyfb"))
|
||||
;; Default 'manifest.json' targets chromium based browsers and
|
||||
;; depends on background.service_worker support.
|
||||
;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659>
|
||||
@@ -328,7 +377,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
|
||||
(define noscript
|
||||
(package
|
||||
(name "noscript")
|
||||
(version "13.6.18.1984")
|
||||
(version "13.6.19.1984")
|
||||
(source (origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append
|
||||
@@ -336,7 +385,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
|
||||
version ".xpi"))
|
||||
(sha256
|
||||
(base32
|
||||
"0assv8v89hhg302q81vvv7ln3q8k9m6rzjkbprv2j05ghb23kkvm"))))
|
||||
"1lb3855w34avs7idvycv8cfpjnpic2mnsh9yqkidrdw7msr0na74"))))
|
||||
(build-system copy-build-system)
|
||||
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
|
||||
(arguments
|
||||
|
||||
@@ -275,14 +275,14 @@ generate such a compilation database.")
|
||||
(define-public bmake
|
||||
(package
|
||||
(name "bmake")
|
||||
(version "20260406")
|
||||
(version "20260508")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
|
||||
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
|
||||
(patches (search-patches "bmake-run-check-separately.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@@ -427,10 +427,7 @@ files and generates build instructions for the Ninja build system.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
|
||||
(patches
|
||||
(search-patches "meson-gir-fallback-path.patch"
|
||||
"meson-keep-rpath-vicinity.patch"))))
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1455,3 +1452,36 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
|
||||
@end itemize
|
||||
")
|
||||
(license license:wtfpl2)))
|
||||
|
||||
(define-public xmake
|
||||
(package
|
||||
(name "xmake")
|
||||
(version "3.0.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xmake-io/xmake.git")
|
||||
(commit (string-append "v" version))
|
||||
;; Requires some dependencies from "xmake-core-*" repos
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pdjz52w9lzfbcpx9wmzy0bsjg7i19xz43f63czk7jz9v0xba6gi"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; No check rule in make
|
||||
;; TODO: find how to run Lua tests in "test" directory
|
||||
#:tests? #f))
|
||||
(home-page "https://xmake.io/")
|
||||
(synopsis "Cross-platform build utility based on Lua")
|
||||
(description "@command{xmake} is a cross-platform build utility based on Lua.
|
||||
Features:
|
||||
@itemize
|
||||
@item Built-in caching and parallel compilation,
|
||||
@item Concise Lua syntax,
|
||||
@item Custom rules, plugins and modules,
|
||||
@item Support for C++20 modules and compile_commands.json,
|
||||
@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
+47
-26
@@ -47,6 +47,7 @@
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
@@ -62,6 +63,7 @@
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
@@ -81,6 +83,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
@@ -1093,32 +1096,8 @@ portability.")
|
||||
(license (list license:bsd-2 ;all files except...
|
||||
license:bsd-3)))) ;...the unidef.1 manual page
|
||||
|
||||
(define-public byacc
|
||||
(package
|
||||
(name "byacc")
|
||||
(version "20240109")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://invisible-mirror.net/archives/byacc/byacc-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
|
||||
(snippet
|
||||
#~(begin (delete-file "btyaccpar.c")
|
||||
(delete-file "yaccpar.c")))))
|
||||
(native-inputs
|
||||
(list gawk))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://invisible-island.net/byacc/byacc.html")
|
||||
(synopsis "Berkeley Yacc LALR parser generator")
|
||||
(description
|
||||
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
|
||||
specification from a file and generates an LALR(1) parser for it. The parsers
|
||||
consist of a set of LALR(1) parsing tables and a driver routine written in the
|
||||
C programming language.")
|
||||
(license license:public-domain)))
|
||||
(define-deprecated/public-alias byacc
|
||||
(@ (gnu packages compiler-tools) byacc))
|
||||
|
||||
(define-public argparse
|
||||
(package
|
||||
@@ -1500,6 +1479,48 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
|
||||
(home-page "https://microsoft.github.io/mimalloc/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public mps
|
||||
(package
|
||||
(name "mps")
|
||||
(version "1.118.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Ravenbrook/mps")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "078iv3fsz0dnfwb7g63apkvcksczbqfxrxm73k80jwnwca6pgafy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-cflags
|
||||
;; The recursive make call in the test suite doesn't pass CFLAGS
|
||||
;; down properly so we need to do it ourselves
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
(("CFLAGS=\"(.*)\"" _ flags)
|
||||
(string-append "CFLAGS=\"" flags " $(CFLAGS)\""))))))
|
||||
#:parallel-build? #f ;Parallel build fails
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
#~(list "CFLAGS=-Wno-error=dangling-pointer -Wno-maybe-uninitialized"
|
||||
;; These flags are needed for the recursive make calls in testing
|
||||
(string-append "CC=" #$(cc-for-target)) "-j" "1")))
|
||||
(inputs (list sqlite))
|
||||
(home-page "http://www.ravenbrook.com/project/mps")
|
||||
(synopsis "Memory pool system")
|
||||
(description
|
||||
"This package provides a cross-platform memory management system. It
|
||||
permits the flexible combination of memory management techniques, supporting
|
||||
manual and automatic memory management, in-line allocation, finalization,
|
||||
weakness, and multiple concurrent co-operating incremental generational
|
||||
garbage collections. It also includes a library of memory pool classes
|
||||
implementing specialized memory management policies.")
|
||||
(license license:bsd-2)))
|
||||
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
|
||||
(define-public orangeduck-mpc
|
||||
;; The last release lacks an 'install' target.
|
||||
|
||||
+16
-28
@@ -43,7 +43,6 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@@ -338,7 +337,7 @@ reconstruction capability.")
|
||||
(define-public cdrdao
|
||||
(package
|
||||
(name "cdrdao")
|
||||
(version "1.2.5")
|
||||
(version "1.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -348,30 +347,18 @@ reconstruction capability.")
|
||||
(string-append "rel_" (string-replace-substring version "." "_")))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
|
||||
(build-system gnu-build-system)
|
||||
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list
|
||||
;; GCDMaster depends on obsolete libgnomeuimm, see
|
||||
;; <https://github.com/cdrdao/cdrdao/issues/3>.
|
||||
"--without-gcdmaster"
|
||||
;; Use the native SCSI interface.
|
||||
"--without-scglib")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'fix-configure.ac
|
||||
(lambda _
|
||||
;; Remove references to missing macros.
|
||||
(substitute* "configure.ac"
|
||||
(("^AM_GCONF_SOURCE_2.*") "")
|
||||
;; This was introduced in autoconf-2.70, but is described
|
||||
;; as usually not needed in the autoconf documentation.
|
||||
(("^AC_CHECK_INCLUDES_DEFAULT") "")))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Use the native SCSI interface.
|
||||
"--without-scglib")))
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config))
|
||||
(list autoconf-2.72 automake `(,glib "bin") pkg-config))
|
||||
(inputs
|
||||
(list ao lame libmad libvorbis))
|
||||
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis))
|
||||
(home-page "https://cdrdao.sourceforge.net")
|
||||
(synopsis "Read and write CDs in disk-at-once mode")
|
||||
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
|
||||
@@ -1001,17 +988,18 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
|
||||
(define-public libudfread
|
||||
(package
|
||||
(name "libudfread")
|
||||
(version "1.2.0")
|
||||
(version "1.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://download.videolan.org/pub/videolan/libudfread/"
|
||||
name "-" version ".tar.xz"))
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list automake autoconf libtool pkg-config))
|
||||
(home-page "https://code.videolan.org/videolan/libudfread")
|
||||
(synopsis "C library to read UDF file systems")
|
||||
(description "@code{libudfread} is a C library for reading
|
||||
|
||||
@@ -79,12 +79,9 @@
|
||||
'("base/third_party/cityhash" ;Expat
|
||||
"base/third_party/double_conversion" ;BSD-3
|
||||
"base/third_party/icu" ;Unicode, X11-style
|
||||
"base/third_party/nspr" ;MPL-2.0
|
||||
"base/third_party/superfasthash" ;BSD-3
|
||||
"base/third_party/symbolize" ;BSD-3
|
||||
"base/third_party/xdg_user_dirs" ;Expat
|
||||
"buildtools/third_party/libc++" ;BSD
|
||||
"buildtools/third_party/libc++abi" ;BSD
|
||||
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"net/third_party/quiche" ;BSD-3
|
||||
"net/third_party/uri_template" ;ASL2.0
|
||||
@@ -222,7 +219,6 @@
|
||||
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
|
||||
"third_party/libaom/source/libaom/third_party/vector" ;Expat
|
||||
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
|
||||
"third_party/libc++" ;Expat
|
||||
"third_party/libdrm" ; Expat
|
||||
"third_party/libgav1" ;ASL2.0
|
||||
"third_party/libjingle_xmpp" ;BSD-3
|
||||
@@ -248,8 +244,6 @@
|
||||
"third_party/libzip" ;BSD-3
|
||||
"third_party/lit" ;BSD-3
|
||||
"third_party/lit/v3_0" ;BSD-3
|
||||
"third_party/llvm-libc" ;ASL2.0
|
||||
"third_party/llvm-libc/src/shared" ;ASL2.0
|
||||
"third_party/lottie" ;Expat
|
||||
"third_party/lss" ;BSD-3
|
||||
"third_party/lzma_sdk" ;public domain
|
||||
@@ -901,8 +895,9 @@
|
||||
"libvk_swiftshader.so"
|
||||
"vk_swiftshader_icd.json"
|
||||
|
||||
;; Chromium ships its own libGL
|
||||
;; implementation called ANGLE.
|
||||
;; Chromium ships its own libGL and
|
||||
;; vulkan implementation called ANGLE.
|
||||
"libvulkan.so.1"
|
||||
"libEGL.so" "libGLESv2.so"))
|
||||
(locales (string-append lib "/locales"))
|
||||
(resources (string-append lib "/resources"))
|
||||
@@ -921,7 +916,7 @@
|
||||
(("@@MENUNAME") "Chromium")
|
||||
(("@@PACKAGE") "chromium")
|
||||
(("/usr/bin/@@usr_bin_symlink_name") exe)
|
||||
(("@@uri_scheme") "x-scheme-handler/chromium")
|
||||
(("@@uri_scheme") "x-scheme-handler/chromium;")
|
||||
(("@@extra_desktop_entries") ""))
|
||||
|
||||
(mkdir-p man)
|
||||
|
||||
+53
-27
@@ -377,14 +377,14 @@ designs.")
|
||||
(define-public clojure-tools
|
||||
(package
|
||||
(name "clojure-tools")
|
||||
(version "1.12.4.1582")
|
||||
(version "1.12.4.1618")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
|
||||
(sha256 (base32 "08fy3k248sbsrbgl0lq3q4d23vp4chdawy230ardx61sssk9sxhk"))
|
||||
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
|
||||
;; Clojure source code.
|
||||
(snippet
|
||||
@@ -512,7 +512,7 @@ defining and using monads and useful monadic functions.")
|
||||
(define-public clojure-core-async
|
||||
(package
|
||||
(name "clojure-core-async")
|
||||
(version "1.8.741")
|
||||
(version "1.9.865")
|
||||
(home-page "https://github.com/clojure/core.async")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -522,7 +522,7 @@ defining and using monads and useful monadic functions.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
|
||||
"15pc2m58fscix85gsiwl9dlvw2x6alvc4qni46rry2sr00nfzd3r"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
@@ -546,7 +546,7 @@ work on Communicating Sequential Processes (CSP).")
|
||||
(define-public clojure-core-cache
|
||||
(package
|
||||
(name "clojure-core-cache")
|
||||
(version "1.2.249")
|
||||
(version "1.2.263")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -555,7 +555,7 @@ work on Communicating Sequential Processes (CSP).")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
|
||||
"19q81aki8wb120v6jfylwqgf965mwkhrpcsrs5zazjfjv8vq6glx"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
@@ -598,7 +598,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
|
||||
(define-public clojure-core-memoize
|
||||
(package
|
||||
(name "clojure-core-memoize")
|
||||
(version "1.2.273")
|
||||
(version "1.2.281")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -607,7 +607,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
|
||||
"0bnlqs7m69svhfadwy46wgc88j9ma9fhdk4586b4xxppamj6c5j4"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
@@ -734,7 +734,7 @@ maps also support conj/peek/pop operations.")
|
||||
(define-public clojure-data-xml
|
||||
(package
|
||||
(name "clojure-data-xml")
|
||||
(version "0.2.0-alpha10")
|
||||
(version "0.2.0-alpha11")
|
||||
(home-page "https://github.com/clojure/data.xml")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -744,7 +744,7 @@ maps also support conj/peek/pop operations.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
|
||||
"0k7hq3s4zbk0ryhgycivl1dk22fzh60522a57az8ykmixhqjxwhg"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
@@ -862,7 +862,7 @@ tree.
|
||||
(define-public clojure-tools-analyzer
|
||||
(package
|
||||
(name "clojure-tools-analyzer")
|
||||
(version "1.2.1")
|
||||
(version "1.2.2")
|
||||
(home-page "https://github.com/clojure/tools.analyzer")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -872,7 +872,7 @@ tree.
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
|
||||
"07cxphrmd6a3clnalrdqxlyin8l0lw0xhjy2rh9gaizxfv5c23jp"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
@@ -938,7 +938,7 @@ tools.analyzer, providing additional JVM-specific passes.")
|
||||
(define-public clojure-tools-cli
|
||||
(package
|
||||
(name "clojure-tools-cli")
|
||||
(version "1.3.250")
|
||||
(version "1.4.256")
|
||||
(home-page "https://github.com/clojure/tools.cli")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -947,7 +947,7 @@ tools.analyzer, providing additional JVM-specific passes.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
|
||||
(base32 "1kr1cpypzgzh8pkih5qamsaq8c96jfpcvmn9f330sic2shb53m55"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure/")
|
||||
@@ -959,29 +959,25 @@ tools.analyzer, providing additional JVM-specific passes.")
|
||||
work with command-line arguments.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-deps
|
||||
(define-public clojure-tools-deps-edn
|
||||
(package
|
||||
(name "clojure-tools-deps")
|
||||
(version "0.28.1578")
|
||||
(home-page "https://github.com/clojure/tools.deps")
|
||||
(name "clojure-tools-deps-edn")
|
||||
(version "0.9.22")
|
||||
(home-page "https://github.com/clojure/tools.deps.edn")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1w3f8cl81q4kln6iz74fnfzms4c4x279ivh1962pcg22q8l1w8d5"))))
|
||||
"082p6zpbb8vvdc9ncc0d66h3g7sax4pp0h4fymwiv0lakzyq3g9g"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
`(#:source-dirs '("src/main/clojure" "src/main/resources")
|
||||
#:java-source-dirs '("src/main/java")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()
|
||||
;; FIXME: Could not initialize class
|
||||
;; org.eclipse.aether.transport.http.SslSocketFactory
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'reference-clojure-jar-input
|
||||
@@ -992,12 +988,42 @@ work with command-line arguments.")
|
||||
(string-append "org.clojure/clojure {:local/root \""
|
||||
(assoc-ref inputs "clojure")
|
||||
"/share/java/clojure.jar\"}"))))))))
|
||||
(synopsis "Reader for @file{deps.edn}")
|
||||
(description "This package provides support for reading and manipulating
|
||||
@file{deps.edn} files and data structures. It can be used in scenarios where
|
||||
the @code{tools.deps} library is not needed for dep expansion.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public clojure-tools-deps
|
||||
(package
|
||||
(name "clojure-tools-deps")
|
||||
(version "0.29.1598")
|
||||
(home-page "https://github.com/clojure/tools.deps")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qds0ri6y8s7419x3pzl9yhhr19qli3l52yg9a78w47h0w6dd1kv"))))
|
||||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
`(#:source-dirs '("src/main/clojure" "src/main/resources")
|
||||
#:java-source-dirs '("src/main/java")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()
|
||||
;; FIXME: Could not initialize class
|
||||
;; org.eclipse.aether.transport.http.SslSocketFactory
|
||||
#:tests? #f))
|
||||
(propagated-inputs (list maven-3.8-core
|
||||
maven-resolver-1.6-connector-basic
|
||||
maven-resolver-1.6-transport-http
|
||||
maven-resolver-1.6-transport-file
|
||||
clojure-tools-gitlibs
|
||||
clojure-tools-cli
|
||||
clojure-tools-deps-edn
|
||||
clojure-data-xml
|
||||
cognitect-aws-api))
|
||||
(synopsis "Clojure library supporting clojure-tools")
|
||||
@@ -1175,7 +1201,7 @@ asynchronous support.")
|
||||
(define-public cognitect-aws-api
|
||||
(package
|
||||
(name "cognitect-aws-api")
|
||||
(version "0.8.800")
|
||||
(version "0.8.824")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1184,7 +1210,7 @@ asynchronous support.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17sxj3mvq4iasr0kchbx2anmrh25v8bvmpam4si704vksmnm28p3"))
|
||||
"0ivlcmsr7rvr7741k9wzniv2zxijida0b588nqngm5vrgna816yl"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
||||
+42
-2
@@ -1,8 +1,8 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2013, 2015, 2018, 2020, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
@@ -866,6 +866,46 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
|
||||
the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public idutils
|
||||
(package
|
||||
(name "idutils")
|
||||
(version "4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/idutils/idutils-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* (find-files "lib" "\\.c$")
|
||||
(("#if defined _IO_ftrylockfile")
|
||||
"#if defined _IO_EOF_SEEN"))
|
||||
(substitute* "lib/stdio-impl.h"
|
||||
(("^/\\* BSD stdio derived implementations")
|
||||
(string-append
|
||||
"#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN" "\n"
|
||||
"# define _IO_IN_BACKUP 0x100\n" "#endif\n\n"
|
||||
"/* BSD stdio derived implementations")))
|
||||
|
||||
;; 'gets' is deprecated in glibc 2.33 and its declaration is
|
||||
;; no longer visible by default from <stdio.h>.
|
||||
(substitute* "lib/stdio.in.h"
|
||||
(("_GL_WARN_ON_USE \\(gets.*")
|
||||
""))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list emacs-minimal))
|
||||
(home-page "https://www.gnu.org/software/idutils/")
|
||||
(synopsis "Identifier database utilities")
|
||||
(description
|
||||
"The GNU idutils package includes tools to create an index of textual
|
||||
tokens used in a list of file names and then to query that index. Thus, it
|
||||
allows the user to, for example, find all the uses of a particular function
|
||||
in a large programming project. In addition to handling textual tokens, it
|
||||
can also handle numeric constants and the contents of character strings.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public indent
|
||||
;; XXX: Not released anymore, but some patches fix CVEs.
|
||||
(let ((commit "1737c929cbe2ec8a181107df9742894a44c57f71")
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2024-2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@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 compiler-tools)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public byacc
|
||||
(package
|
||||
(name "byacc")
|
||||
(version "20240109")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://invisible-mirror.net/archives/byacc/byacc-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Remove machine-generated files
|
||||
(for-each delete-file
|
||||
(list "configure"
|
||||
"btyaccpar.c"
|
||||
"yaccpar.c"))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
gawk))
|
||||
(home-page "https://invisible-island.net/byacc/byacc.html")
|
||||
(synopsis "Berkeley Yacc LALR parser generator")
|
||||
(description
|
||||
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
|
||||
specification from a file and generates an LALR(1) parser for it. The parsers
|
||||
consist of a set of LALR(1) parsing tables and a driver routine written in the
|
||||
C programming language.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public oyacc
|
||||
(package
|
||||
(name "oyacc")
|
||||
(version "6.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ibara/yacc")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
#~(list (string-append "BINDIR=" #$output "/bin")
|
||||
(string-append "MANDIR=" #$output "/share/man/man1"))))
|
||||
(home-page "https://github.com/ibara/yacc")
|
||||
(synopsis "Portable YACC from OpenBSD")
|
||||
(description
|
||||
"@command{oyacc} is a portable version of the OpenBSD's
|
||||
@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies
|
||||
besides libc.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public oyacc-as-yacc-wrapper
|
||||
(package/inherit oyacc
|
||||
(name "oyacc-as-yacc-wrapper")
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:builder
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((bindir (string-append #$output "/bin"))
|
||||
(oyacc (string-append #$(this-package-input "oyacc")
|
||||
"/bin/oyacc")))
|
||||
(mkdir-p bindir)
|
||||
(symlink oyacc (string-append bindir "/yacc")))))))
|
||||
(inputs (list oyacc))
|
||||
(description
|
||||
"This package provides the @command{yacc} command, implemented as a
|
||||
symbolic link to the @command{oyacc} command from the same-named package.")))
|
||||
@@ -34,7 +34,7 @@
|
||||
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
|
||||
;;; Copyright © 2021, 2026 Ahmad Jarara <ajarara@fastmail.com>
|
||||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
@@ -3005,17 +3005,13 @@ can append files to the end of such compressed archives.")
|
||||
"00ibddiy62kbs9wl52c35j0hbqanx6pi7lvzkpzmbsizkj8mhp1p"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:configure-flags
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(list
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DCBOR_CUSTOM_ALLOC=ON"
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR=" lib)
|
||||
(string-append "-DCMAKE_INSTALL_RPATH=" lib)))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~'("-DWITH_TESTS=ON"
|
||||
"-DBUILD_SHARED_LIBS=ON")))
|
||||
(synopsis "The C library for parsing and generating CBOR")
|
||||
(native-inputs
|
||||
(list cmocka))
|
||||
(description
|
||||
"@acronym{CBOR, The Concise Binary Object Representation} is a data format
|
||||
whose design goals include the possibility of extremely small code size, fairly
|
||||
|
||||
+391
-89
@@ -50,6 +50,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages docker)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
@@ -70,6 +71,7 @@
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages prometheus)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
@@ -121,6 +123,365 @@
|
||||
"This package provides a Go library to read and manipulate checkpoint
|
||||
archives as created by Podman, CRI-O and containerd.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containerd-containerd-v2
|
||||
(package
|
||||
(name "go-github-com-containerd-containerd-v2")
|
||||
(version "2.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containerd/containerd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wxy5np689571s6lw77mx63nw75fx85w5svi0jplksmqzmjqp8wd"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containerd/containerd/api
|
||||
(delete-file-recursively "api")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/containerd/containerd/v2"
|
||||
#:test-subdirs
|
||||
#~(list "cmd/protoc-gen-go-fieldpath/..."
|
||||
"core/containers/..."
|
||||
"core/content/..."
|
||||
"core/diff"
|
||||
"core/diff/apply"
|
||||
"core/events/..."
|
||||
"core/images/..."
|
||||
"core/introspection/..."
|
||||
"core/leases/..."
|
||||
"core/metrics/..."
|
||||
"core/remotes/..."
|
||||
"core/sandbox/..."
|
||||
"core/streaming/..."
|
||||
"core/transfer"
|
||||
"core/transfer/archive/..."
|
||||
"core/transfer/image/..."
|
||||
"core/transfer/local/..."
|
||||
"core/transfer/plugins/..."
|
||||
"core/transfer/streaming/..."
|
||||
"core/unpack/..."
|
||||
"internal/cleanup/..."
|
||||
"internal/erofsutils/..."
|
||||
"internal/eventq/..."
|
||||
"internal/failpoint/..."
|
||||
"internal/fsverity/..."
|
||||
"internal/kmutex/..."
|
||||
"internal/lazyregexp/..."
|
||||
"internal/pprof/..."
|
||||
"internal/randutil/..."
|
||||
"internal/registrar/..."
|
||||
"internal/tomlext/..."
|
||||
"internal/truncindex/..."
|
||||
"internal/userns/..."
|
||||
"internal/wintls/..."
|
||||
"pkg/apparmor/..."
|
||||
"pkg/archive/..."
|
||||
"pkg/atomicfile/..."
|
||||
"pkg/blockio/..."
|
||||
"pkg/cap/..."
|
||||
"pkg/cio..."
|
||||
"pkg/deprecation/..."
|
||||
"pkg/dialer/..."
|
||||
"pkg/display/..."
|
||||
"pkg/epoch/..."
|
||||
"pkg/fifosync/..."
|
||||
"pkg/filters/..."
|
||||
"pkg/gc/..."
|
||||
"pkg/httpdbg/..."
|
||||
|
||||
;; TODO: Check why these submodule fail to build.
|
||||
;; "client/..."
|
||||
;; "cmd/containerd-shim-runc-v2/..."
|
||||
;; "cmd/containerd-stress/..."
|
||||
;; "cmd/containerd/..."
|
||||
;; "cmd/ctr/..."
|
||||
;; "cmd/gen-manpages/..."
|
||||
;; "contrib/..."
|
||||
;; "core/diff/proxy"
|
||||
;; "core/metadata/..."
|
||||
;; "core/mount/..."
|
||||
;; "core/runtime/..."
|
||||
;; "core/snapshots/..."
|
||||
;; "core/transfer/proxy/..."
|
||||
;; "core/transfer/registry/..."
|
||||
;; "integration/..."
|
||||
;; "internal/cri/..."
|
||||
;; "internal/nri/..."
|
||||
;; "pkg/cdi/..."
|
||||
#;"plugins/...")
|
||||
#:test-flags
|
||||
#~(list "-skip" (string-join
|
||||
;; panic: cannot statfs cgroup root [recovered]
|
||||
(list "TestValidateConfig"
|
||||
;; io_test.go:40: failed to start binary process:
|
||||
;; fork/exec /bin/echo: no such file or directory
|
||||
"TestNewBinaryIO"
|
||||
;; expected success: got executable file not found in $PATH
|
||||
"TestExecutorWithArgs"
|
||||
"TestSetEnv"
|
||||
"TestStdIOPipes"
|
||||
;; panic: cannot statfs cgroup root
|
||||
"TestContainerCapabilities"
|
||||
"TestContainerSpecTty"
|
||||
"TestContainerSpecReadonlyRootfs"
|
||||
"TestContainerSpecWithExtraMounts"
|
||||
"TestContainerAndSandboxPrivileged"
|
||||
"TestPrivilegedBindMount"
|
||||
"TestCgroupNamespace"
|
||||
"TestPidNamespace/node_namespace_mode"
|
||||
;; failed to apply b: invalid argument
|
||||
"TestDiffTar/IgnoreSockets"
|
||||
"TestBinDirVerifyImage/max_verifiers_=_-1,_with_timeout"
|
||||
"TestContainerSpecDefaultPath"
|
||||
;; Error: Not equal:
|
||||
;; expected: 1000
|
||||
;; actual : 123
|
||||
"TestSetPositiveOomScoreAdjustment")
|
||||
"|"))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-dario-cat-mergo
|
||||
go-github-com-adalogics-go-fuzz-headers
|
||||
go-github-com-checkpoint-restore-checkpointctl
|
||||
go-github-com-checkpoint-restore-go-criu-v7
|
||||
go-github-com-containerd-btrfs-v2
|
||||
go-github-com-containerd-cgroups-v3
|
||||
go-github-com-containerd-console
|
||||
go-github-com-containerd-containerd-api
|
||||
go-github-com-containerd-continuity
|
||||
go-github-com-containerd-errdefs
|
||||
go-github-com-containerd-errdefs-pkg
|
||||
go-github-com-containerd-fifo
|
||||
go-github-com-containerd-go-cni
|
||||
go-github-com-containerd-go-runc
|
||||
go-github-com-containerd-imgcrypt-v2
|
||||
go-github-com-containerd-log
|
||||
go-github-com-containerd-nri
|
||||
go-github-com-containerd-otelttrpc
|
||||
go-github-com-containerd-platforms
|
||||
go-github-com-containerd-plugin
|
||||
go-github-com-containerd-ttrpc
|
||||
go-github-com-containerd-typeurl-v2
|
||||
go-github-com-containerd-zfs-v2
|
||||
go-github-com-containernetworking-cni
|
||||
go-github-com-containernetworking-plugins
|
||||
go-github-com-coreos-go-systemd-v22
|
||||
go-github-com-davecgh-go-spew
|
||||
go-github-com-distribution-reference
|
||||
go-github-com-docker-go-events
|
||||
go-github-com-docker-go-metrics
|
||||
go-github-com-docker-go-units
|
||||
go-github-com-emicklei-go-restful-v3
|
||||
go-github-com-fsnotify-fsnotify
|
||||
go-github-com-google-certtostore
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-google-uuid
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
|
||||
go-github-com-intel-goresctrl
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-mdlayher-vsock
|
||||
;;go-github-com-microsoft-go-winio ;Windows only
|
||||
;;go-github-com-microsoft-hcsshim ;Windows only
|
||||
go-github-com-moby-locker
|
||||
go-github-com-moby-sys-mountinfo
|
||||
go-github-com-moby-sys-sequential
|
||||
go-github-com-moby-sys-signal
|
||||
go-github-com-moby-sys-symlink
|
||||
go-github-com-moby-sys-user
|
||||
go-github-com-moby-sys-userns
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-opencontainers-image-spec
|
||||
go-github-com-opencontainers-runtime-spec
|
||||
go-github-com-opencontainers-runtime-tools
|
||||
go-github-com-opencontainers-selinux
|
||||
go-github-com-pelletier-go-toml-v2
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-tchap-go-patricia-v2
|
||||
go-github-com-urfave-cli-v2
|
||||
go-github-com-vishvananda-netlink
|
||||
go-github-com-vishvananda-netns
|
||||
go-go-etcd-io-bbolt
|
||||
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
|
||||
go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-trace
|
||||
go-go-uber-org-goleak
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-time
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf
|
||||
go-gopkg-in-inf-v0
|
||||
go-k8s-io-apimachinery
|
||||
go-k8s-io-client-go
|
||||
go-k8s-io-cri-api
|
||||
go-k8s-io-klog-v2
|
||||
go-tags-cncf-io-container-device-interface))
|
||||
(home-page "https://containerd.io/")
|
||||
(synopsis "Container runtime support daemon")
|
||||
(description
|
||||
"Containerd is a container runtime with an emphasis on simplicity,
|
||||
robustness, and portability. It is available as a daemon, which can manage
|
||||
the complete container lifecycle of its host system: image transfer and
|
||||
storage, container execution and supervision, low-level storage and network
|
||||
attachments, etc.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containers-gvisor-tap-vsock
|
||||
(package
|
||||
(name "go-github-com-containers-gvisor-tap-vsock")
|
||||
(version "0.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/gvisor-tap-vsock")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file-recursively "vendor")
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containers/gvisor-tap-vsock/tools
|
||||
(delete-file-recursively "tools")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/containers/gvisor-tap-vsock"
|
||||
#:unpack-path "github.com/containers/gvisor-tap-vsock"
|
||||
#:build-flags
|
||||
#~(list (string-append "-ldflags="
|
||||
"-X github.com/containers/gvisor-tap-vsock"
|
||||
"/pkg/types.gitVersion=" #$version))
|
||||
#:test-flags
|
||||
#~(list "-skip"
|
||||
(string-join
|
||||
;; Received unexpected error:
|
||||
;; listen unix /tmp/guix-.../test.sock: bind: invalid argument
|
||||
(list "TestNotificationSender_Success"
|
||||
;; Requires network
|
||||
"TestSuite"
|
||||
"TestDNS")
|
||||
"|"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prune-tests
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
;; Requires working DNS.
|
||||
(substitute* "pkg/services/dns/dns_test.go"
|
||||
(("Should pass DNS requests to default system DNS.*" all)
|
||||
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
|
||||
(("\"redhat.com\",")
|
||||
"\"localhost\",")
|
||||
(("\"52.200.142.250\"")
|
||||
"\"127.0.0.1\""))))))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify
|
||||
go-github-com-foxcpp-go-mockdns))
|
||||
(propagated-inputs
|
||||
(list go-github-com-apparentlymart-go-cidr
|
||||
go-github-com-containers-winquit
|
||||
go-github-com-coreos-stream-metadata-go
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-google-gopacket
|
||||
go-github-com-inetaf-tcpproxy
|
||||
go-github-com-insomniacslk-dhcp
|
||||
;; go-github-com-linuxkit-virtsock ;Windows only
|
||||
go-github-com-mdlayher-vsock
|
||||
;; go-github-com-microsoft-go-winio ;Windows only
|
||||
go-github-com-miekg-dns
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-packets
|
||||
go-github-com-songgao-water
|
||||
go-github-com-vishvananda-netlink
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-yaml-v3
|
||||
go-gvisor-dev-gvisor))
|
||||
(home-page "https://github.com/containers/gvisor-tap-vsock")
|
||||
(synopsis "Network stack for virtualization based on gVisor")
|
||||
(description "This package provides a replacement for @code{libslirp} and
|
||||
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
|
||||
and brings a configurable DNS server and dynamic port forwarding.
|
||||
|
||||
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
|
||||
|
||||
The binary is called @command{gvproxy}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-rootless-containers-rootlesskit-v3
|
||||
(package
|
||||
(name "go-github-com-rootless-containers-rootlesskit-v3")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rootless-containers/rootlesskit")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0giw1whjpm64h8f1iamgym246rr3wl01w7zgw4lygrj7dqk3clmb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/rootless-containers/rootlesskit/v3"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-containernetworking-plugins
|
||||
go-github-com-containers-gvisor-tap-vsock
|
||||
go-github-com-gofrs-flock
|
||||
go-github-com-google-uuid
|
||||
go-github-com-gorilla-mux
|
||||
go-github-com-insomniacslk-dhcp
|
||||
go-github-com-masterminds-semver-v3
|
||||
go-github-com-moby-sys-mountinfo
|
||||
go-github-com-moby-vpnkit
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-water
|
||||
go-github-com-urfave-cli-v2
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gotest-tools-v3))
|
||||
(home-page "https://github.com/rootless-containers/rootlesskit")
|
||||
(synopsis "Linux-native fakeroot using user namespaces in Golang")
|
||||
(description
|
||||
"@code{RootlessKit} is a Linux-native implementation of \"fake root\" using
|
||||
@url{http://man7.org/linux/man-pages/man7/user_namespaces.7.html,(code
|
||||
user_namespaces(7))}. It is used to run containers engines as an
|
||||
unprivileged user, known as \"Rootless mode\".")
|
||||
(license license:asl2.0)))
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
;;; Executables:
|
||||
@@ -150,7 +511,7 @@ as created by Podman, CRI-O and containerd.")))
|
||||
(define-public crun
|
||||
(package
|
||||
(name "crun")
|
||||
(version "1.26")
|
||||
(version "1.27.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -160,7 +521,7 @@ as created by Podman, CRI-O and containerd.")))
|
||||
"/crun-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
|
||||
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -545,7 +906,7 @@ Layer-4 sockets.")
|
||||
(define-public cni-plugins
|
||||
(package
|
||||
(name "cni-plugins")
|
||||
(version "1.9.0")
|
||||
(version "1.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -554,7 +915,7 @@ Layer-4 sockets.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
|
||||
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
@@ -595,92 +956,33 @@ configure network interfaces in Linux containers.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public gvisor-tap-vsock
|
||||
(package
|
||||
(package/inherit go-github-com-containers-gvisor-tap-vsock
|
||||
(name "gvisor-tap-vsock")
|
||||
(version "0.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/gvisor-tap-vsock")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file-recursively "vendor")
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containers/gvisor-tap-vsock/tools
|
||||
(delete-file-recursively "tools")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
|
||||
#:unpack-path "github.com/containers/gvisor-tap-vsock"
|
||||
#:build-flags
|
||||
#~(list (string-append "-ldflags="
|
||||
"-X github.com/containers/gvisor-tap-vsock"
|
||||
"/pkg/types.gitVersion=" #$version))
|
||||
#:test-flags
|
||||
;; serve UDP error: *net.OpError read udp 127.0.0.1:5354: use of closed
|
||||
;; network connection
|
||||
#~(list "-skip" "TestSuite")
|
||||
#:test-subdirs
|
||||
#~(list "../../...") ;test the whole library
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prune-tests
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
;; Requires working DNS.
|
||||
(substitute* "pkg/services/dns/dns_test.go"
|
||||
(("Should pass DNS requests to default system DNS.*" all)
|
||||
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
|
||||
(("\"redhat.com\",")
|
||||
"\"localhost\",")
|
||||
(("\"52.200.142.250\"")
|
||||
"\"127.0.0.1\""))))))))
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:skip-build? _ #t) #f)
|
||||
((#:tests? _ #t) #f)
|
||||
((#:phases _ '%standard-phases)
|
||||
#~(modify-phases %standard-phases
|
||||
;; Build binary outputs are taken from project's Makefile.
|
||||
(replace 'build
|
||||
(lambda arguments
|
||||
(for-each
|
||||
(lambda (cmd)
|
||||
(apply (assoc-ref %standard-phases 'build)
|
||||
`(,@arguments #:import-path ,cmd)))
|
||||
(list "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
|
||||
"github.com/containers/gvisor-tap-vsock/cmd/qemu-wrapper"
|
||||
"github.com/containers/gvisor-tap-vsock/cmd/vm"))))
|
||||
(add-after 'install 'fix-bin-name
|
||||
(lambda _
|
||||
(rename-file (string-append #$output "/bin/vm")
|
||||
(string-append #$output "/bin/gvforwarder"))))))))
|
||||
(native-inputs
|
||||
(list go-github-com-apparentlymart-go-cidr
|
||||
go-github-com-containers-winquit
|
||||
go-github-com-coreos-stream-metadata-go
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-foxcpp-go-mockdns
|
||||
go-github-com-google-gopacket
|
||||
go-github-com-inetaf-tcpproxy
|
||||
go-github-com-insomniacslk-dhcp
|
||||
;; go-github-com-linuxkit-virtsock ;Windows only
|
||||
go-github-com-mdlayher-vsock
|
||||
;; go-github-com-microsoft-go-winio ;Windows only
|
||||
go-github-com-miekg-dns
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-packets
|
||||
go-github-com-songgao-water
|
||||
go-github-com-stretchr-testify
|
||||
go-github-com-vishvananda-netlink
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-yaml-v3
|
||||
go-gvisor-dev-gvisor))
|
||||
(home-page "https://github.com/containers/gvisor-tap-vsock")
|
||||
(synopsis "Network stack for virtualization based on gVisor")
|
||||
(description "This package provides a replacement for @code{libslirp} and
|
||||
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
|
||||
and brings a configurable DNS server and dynamic port forwarding.
|
||||
|
||||
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
|
||||
|
||||
The binary is called @command{gvproxy}.")
|
||||
(license license:asl2.0)))
|
||||
(package-propagated-inputs go-github-com-containers-gvisor-tap-vsock))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public catatonit
|
||||
(package
|
||||
@@ -885,7 +1187,7 @@ being rootless and not requiring any daemon to be running.")
|
||||
(define-public buildah
|
||||
(package
|
||||
(name "buildah")
|
||||
(version "1.43.0")
|
||||
(version "1.43.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -893,7 +1195,7 @@ being rootless and not requiring any daemon to be running.")
|
||||
(url "https://github.com/containers/buildah")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
|
||||
(base32 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
+80
-1
@@ -28,7 +28,7 @@
|
||||
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2022 muradm <mail@muradm.net>
|
||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
||||
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2022, 2026 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2022-2025 David Elsing <david.elsing@posteo.net>
|
||||
;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022-2024, 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
@@ -937,6 +937,85 @@ inspired by the @url{https://github.com/gruns/icecream, Python library} of the
|
||||
same name.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public tinyformat
|
||||
(package
|
||||
(name "tinyformat")
|
||||
(version "2.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/c42f/tinyformat")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j8bxrg7i4rn98iqpfh03krshgcbwh8hq8nm0p3sfdqpira3vi3y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "../source/tinyformat.h"
|
||||
(string-append #$output "/include")))))))
|
||||
(home-page "https://github.com/c42f/tinyformat")
|
||||
(synopsis "Minimal, type-safe printf replacement library for C++")
|
||||
(description "@code{tinyformat} is a type-safe @code{printf} replacement
|
||||
library in a single C++ header file. Design goals include:
|
||||
|
||||
@itemize
|
||||
@item Type-safety and extensibility for user defined types
|
||||
@item C99 @code{printf} compatibility, to the extent possible using
|
||||
@code{std::ostream}
|
||||
@item POSIX extension for positional arguments
|
||||
@item Simplicity and minimalism; a single header file to include and
|
||||
distribute with your projects
|
||||
@item Augment rather than replace the standard stream formatting mechanism
|
||||
@item C++98 support, with optional C++11 niceties
|
||||
@end itemize")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public span
|
||||
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "span")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tcbrindle/span")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
|
||||
(snippet
|
||||
#~(delete-file "test/catch.hpp"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-catch2
|
||||
(lambda _
|
||||
;; Use catch2 from Guix.
|
||||
(substitute* (find-files "test" "\\.cpp$")
|
||||
(("#include \"catch.hpp\"")
|
||||
"#include <catch2/catch.hpp>"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "../source/include/tcb/span.hpp"
|
||||
(string-append #$output "/include")))))))
|
||||
(native-inputs
|
||||
(list catch2))
|
||||
(home-page "https://github.com/tcbrindle/span")
|
||||
(synopsis "C++20's @code{std::span} shim for older compilers")
|
||||
(description "This package provides a single-header implementation of
|
||||
C++20's @code{std::span}, conforming to the C++20 committee draft. It is
|
||||
compatible with C++11, but will use newer language features if they are
|
||||
available.")
|
||||
(license license:boost1.0))))
|
||||
|
||||
(define-public google-highway
|
||||
(package
|
||||
(name "google-highway")
|
||||
|
||||
@@ -1010,7 +1010,7 @@ SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
|
||||
(define-public rhash
|
||||
(package
|
||||
(name "rhash")
|
||||
(version "1.4.3")
|
||||
(version "1.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1019,7 +1019,7 @@ SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
|
||||
(file-name (string-append "rhash-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0glaghjvwh9ziiqf599v0fdr6jrgc7lcnriq0h7r41k3jrkglh0y"))))
|
||||
"0ylkxhkj4nzmb0iampn2lv7v4yw59x7dl8mdcxqcx2mfxv7ijq4z"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
||||
+83
-61
@@ -1061,6 +1061,31 @@ auto-completion and syntax highlighting.")
|
||||
\"special\", or \"backslash commands\") on PostgreSQL.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-sqlite-anyio
|
||||
(package
|
||||
(name "python-sqlite-anyio")
|
||||
(version "0.2.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/davidbrochart/sqlite-anyio")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "075fnrrwzn9xc2clkcsyfycjc870khcwnpdg4g726qwl44pfzy2a"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:build-backend "poetry.core.masonry.api")) ;XXX: python-uv-build is required
|
||||
(propagated-inputs (list python-anyio python-typing-extensions))
|
||||
(native-inputs (list python-poetry-core python-pytest))
|
||||
(home-page "https://github.com/davidbrochart/sqlite-anyio")
|
||||
(synopsis "Asynchronous client for SQLite using AnyIO")
|
||||
(description "This package provides an asynchronous client for SQLite
|
||||
using @code{AnyIO}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-sqlitedict
|
||||
(package
|
||||
(name "python-sqlitedict")
|
||||
@@ -1166,73 +1191,70 @@ auto-completion and syntax highlighting.")
|
||||
(name "mysql")
|
||||
(version "5.7.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"https://dev.mysql.com/get/Downloads/MySQL-"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.gz")
|
||||
(string-append
|
||||
(string-append
|
||||
"https://downloads.mysql.com/archives/get/file/"
|
||||
name "-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
|
||||
(sha256
|
||||
(base32
|
||||
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("-DBUILD_CONFIG=mysql_release"
|
||||
"-DWITH_SSL=system"
|
||||
"-DWITH_ZLIB=system"
|
||||
"-DDEFAULT_CHARSET=utf8"
|
||||
"-DDEFAULT_COLLATION=utf8_general_ci"
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
|
||||
"-DINSTALL_INFODIR=share/mysql/docs"
|
||||
"-DINSTALL_MANDIR=share/man"
|
||||
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
|
||||
"-DINSTALL_SCRIPTDIR=bin"
|
||||
"-DINSTALL_INCLUDEDIR=include/mysql"
|
||||
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
|
||||
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
|
||||
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
||||
"-DINSTALL_DOCDIR=share/mysql/docs"
|
||||
"-DINSTALL_SHAREDIR=share/mysql"
|
||||
;; Get rid of test data.
|
||||
"-DINSTALL_MYSQLTESTDIR="
|
||||
"-DINSTALL_SQLBENCHDIR=")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'install 'remove-extra-binaries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Remove the 3 *_embedded files, which weigh in at
|
||||
;; 14 MiB each.
|
||||
(for-each delete-file
|
||||
(find-files (string-append out "/bin")
|
||||
"_embedded$"))
|
||||
#t)))
|
||||
(add-after
|
||||
'install 'wrap-mysql_helpers
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(awk (assoc-ref inputs "gawk"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(grep (assoc-ref inputs "grep"))
|
||||
(ps (assoc-ref inputs "procps"))
|
||||
(sed (assoc-ref inputs "sed")))
|
||||
(wrap-program (string-append bin "/mysql_config")
|
||||
`("PATH" ":" suffix
|
||||
(,(string-append awk "/bin")
|
||||
,(string-append coreutils "/bin")
|
||||
,(string-append sed "/bin"))))
|
||||
(wrap-program (string-append bin "/mysqld_safe")
|
||||
`("PATH" ":" suffix
|
||||
(,(string-append awk "/bin")
|
||||
,(string-append coreutils "/bin")
|
||||
,(string-append grep "/bin")
|
||||
,(string-append ps "/bin")
|
||||
,(string-append sed "/bin"))))))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_CONFIG=mysql_release"
|
||||
"-DWITH_SSL=system"
|
||||
"-DWITH_ZLIB=system"
|
||||
"-DDEFAULT_CHARSET=utf8"
|
||||
"-DDEFAULT_COLLATION=utf8_general_ci"
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
|
||||
"-DINSTALL_INFODIR=share/mysql/docs"
|
||||
"-DINSTALL_MANDIR=share/man"
|
||||
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
|
||||
"-DINSTALL_SCRIPTDIR=bin"
|
||||
"-DINSTALL_INCLUDEDIR=include/mysql"
|
||||
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
|
||||
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
|
||||
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
||||
"-DINSTALL_DOCDIR=share/mysql/docs"
|
||||
"-DINSTALL_SHAREDIR=share/mysql"
|
||||
;; Get rid of test data.
|
||||
"-DINSTALL_MYSQLTESTDIR="
|
||||
"-DINSTALL_SQLBENCHDIR=")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'remove-extra-binaries
|
||||
(lambda _
|
||||
;; Remove the 3 *_embedded files, which weigh in at
|
||||
;; 14 MiB each.
|
||||
(for-each delete-file
|
||||
(find-files (string-append #$output "/bin")
|
||||
"_embedded$"))))
|
||||
(add-after 'install 'wrap-mysql_helpers
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(gawk (search-input-file inputs "bin/gawk"))
|
||||
(coreutils (search-input-file inputs "bin/ls"))
|
||||
(grep (search-input-file inputs "bin/grep"))
|
||||
(ps (search-input-file inputs "bin/ps"))
|
||||
(sed (search-input-file inputs "bin/sed")))
|
||||
(wrap-program (search-input-file outputs "bin/mysql_config")
|
||||
`("PATH" suffix
|
||||
,(list (dirname gawk)
|
||||
(dirname coreutils)
|
||||
(dirname sed))))
|
||||
(wrap-program (search-input-file outputs "bin/mysqld_safe")
|
||||
`("PATH" suffix
|
||||
,(list (dirname gawk)
|
||||
(dirname coreutils)
|
||||
(dirname grep)
|
||||
(dirname ps)
|
||||
(dirname sed))))))))))
|
||||
(native-inputs
|
||||
(list bison perl pkg-config))
|
||||
(inputs
|
||||
@@ -1246,7 +1268,7 @@ auto-completion and syntax highlighting.")
|
||||
ncurses
|
||||
openssl-1.1
|
||||
procps
|
||||
rpcsvc-proto ; rpcgen
|
||||
rpcsvc-proto ; rpcgen
|
||||
sed
|
||||
zlib))
|
||||
(home-page "https://www.mysql.com/")
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; 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 datalog)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public souffle
|
||||
(package
|
||||
(name "souffle")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/souffle-lang/souffle")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete bundled dependencies. souffle also uses a forked
|
||||
;; and modified version of json11. We cannot unbundle
|
||||
;; that.
|
||||
(for-each delete-file
|
||||
(list "licenses/TCBRINDLE SPAN.txt"
|
||||
"licenses/TINYFORMAT.txt"
|
||||
"src/include/souffle/utility/span.h"
|
||||
"src/include/souffle/utility/tinyformat.h"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
|
||||
(string-append "-DPACKAGE_VERSION="
|
||||
#$version))
|
||||
;; We disable these tests since they fail with gcc 14. This issue
|
||||
;; has been reported upstream:
|
||||
;; https://github.com/souffle-lang/souffle/issues/2576
|
||||
#:test-exclude (string-join
|
||||
(list "syntactic/cpp_keywords_run_souffle"
|
||||
"syntactic/cpp_keywords_c_run_souffle"
|
||||
"syntactic/cpp_keywords_compare_std_outputs"
|
||||
"syntactic/cpp_keywords_compare_csv"
|
||||
"syntactic/cpp_keywords_c_compare_std_outputs"
|
||||
"syntactic/cpp_keywords_c_compare_csv")
|
||||
"|")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'replace-bundled-libraries
|
||||
(lambda _
|
||||
;; Patch souffle to use tinyformat from Guix.
|
||||
(substitute* (find-files "src" "\\.(cpp|h)$")
|
||||
(("#include \"souffle/utility/tinyformat.h\"")
|
||||
"#include <tinyformat.h>"))
|
||||
;; Replace span.h with a header that uses span from Guix
|
||||
;; and provides the same namespace.
|
||||
(call-with-output-file "src/include/souffle/utility/span.h"
|
||||
(lambda (port)
|
||||
(display "#pragma once
|
||||
#include <span.hpp>
|
||||
namespace souffle {
|
||||
using tcb::span;
|
||||
}
|
||||
"
|
||||
port))))))))
|
||||
(inputs
|
||||
(list libffi
|
||||
ncurses
|
||||
python
|
||||
span
|
||||
sqlite
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list bison
|
||||
flex
|
||||
tinyformat))
|
||||
(home-page "https://souffle-lang.github.io/")
|
||||
(synopsis "Datalog variant")
|
||||
(description "Soufflé is a variant of Datalog for tool designers crafting
|
||||
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
|
||||
from a logic specification. The Soufflé language is similar to Datalog (but
|
||||
has terms known as records), and is frequently used as a domain-specific
|
||||
language for analysis problems.")
|
||||
(license (list license:upl ; main license
|
||||
;; src/include/souffle/profile/htmlJsChartistPlugin.h
|
||||
;; src/include/souffle/utility/json11.h
|
||||
license:expat))))
|
||||
+21
-20
@@ -978,26 +978,27 @@ engineering.")
|
||||
(define-public seer-gdb
|
||||
(package
|
||||
(name "seer-gdb")
|
||||
(version "1.16")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/epasveer/seer.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
|
||||
(version "2.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/epasveer/seer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Those are strangely manual
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src"))))))
|
||||
(list
|
||||
#:tests? #f ;tests are strangely manual
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src"))))))
|
||||
(inputs
|
||||
(list qtbase-5 qtcharts-5 qtwayland-5))
|
||||
(list gdb qtbase qtcharts qtsvg qtwayland))
|
||||
(synopsis "GUI frontend for GDB")
|
||||
(description "This package provides a frontend to GDB, the GNU debugger.")
|
||||
(home-page "https://github.com/epasveer/seer")
|
||||
@@ -1037,7 +1038,7 @@ to aid in debugging.")
|
||||
(define-public delve
|
||||
(package
|
||||
(name "delve")
|
||||
(version "1.25.2")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1047,7 +1048,7 @@ to aid in debugging.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b6vp6m4vjx4wfs1djhpizvz40s563jwld9lgjq82svaiilrmlqa"))
|
||||
"0mf363l7md4193cgrpb6hkhmsgnlnrx44q1bzw3zq0bmjrcg3fj7"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
@@ -1065,7 +1066,7 @@ to aid in debugging.")
|
||||
(list go-github-com-cilium-ebpf
|
||||
go-github-com-cosiner-argv
|
||||
go-github-com-creack-pty
|
||||
go-github-com-derekparker-trie
|
||||
go-github-com-derekparker-trie-v3
|
||||
go-github-com-go-delve-liner
|
||||
go-github-com-google-go-dap
|
||||
go-github-com-hashicorp-golang-lru
|
||||
|
||||
@@ -311,18 +311,6 @@ tmpfs/ramfs filesystems.")
|
||||
tables. It includes a library and command-line utility.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public parted-3.4
|
||||
(package
|
||||
(inherit parted)
|
||||
(version "3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parted/parted-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))))
|
||||
|
||||
(define-public fdisk
|
||||
(package
|
||||
(name "fdisk")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
@@ -841,14 +841,14 @@ to result in system-wide compromise.")
|
||||
(define-public unbound
|
||||
(package
|
||||
(name "unbound")
|
||||
(version "1.24.2")
|
||||
(version "1.25.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.unbound.net/downloads/unbound-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1nwwwmwazwx40nm88lhh7k1basml2ai6j9q30gnclvca00zbbrs4"))))
|
||||
(base32 "0vsqmgnq7ibi0b3akzy45nqf0wazmb0bmpk2fp8wyn89gckvds0g"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "python"))
|
||||
(native-inputs
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages containers)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages golang)
|
||||
@@ -198,6 +199,50 @@ enforce convention and best practices for metrics collection in Docker
|
||||
projects.")
|
||||
(license (list license:asl2.0 license:cc-by-sa4.0))))
|
||||
|
||||
(define-public go-github-com-moby-policy-helpers
|
||||
(package
|
||||
(name "go-github-com-moby-policy-helpers")
|
||||
(version "0.0.0-20260507153417-a39d60132186")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/moby/policy-helpers")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12fa602jianip7dg98f2i9i686s2a9bsclw8sqxw1ac1v19qlqr8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "vendor"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.25
|
||||
#:embed-files #~(list ".*\\.json")
|
||||
#:import-path "github.com/moby/policy-helpers"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-containerd-containerd-v2
|
||||
go-github-com-containerd-errdefs
|
||||
go-github-com-containerd-platforms
|
||||
go-github-com-distribution-reference
|
||||
go-github-com-gofrs-flock
|
||||
go-github-com-in-toto-in-toto-golang
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-opencontainers-image-spec
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-sigstore-protobuf-specs
|
||||
go-github-com-sigstore-sigstore
|
||||
go-github-com-sigstore-sigstore-go
|
||||
go-github-com-theupdateframework-go-tuf-v2
|
||||
go-golang-org-x-sync))
|
||||
(home-page "https://github.com/moby/policy-helpers")
|
||||
(synopsis "Policy helpers for Docker")
|
||||
(description "This package provides a policy helpers for Moby (Docker)
|
||||
and BuildKit. It is a work in progress.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-docker
|
||||
(package
|
||||
(name "python-docker")
|
||||
@@ -328,6 +373,26 @@ application’s services. Then, using a single command, the containers are
|
||||
created and all the services are started as specified in the configuration.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public docker-policy-helper
|
||||
(package/inherit go-github-com-moby-policy-helpers
|
||||
(name "docker-policy-helper")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:import-path _) "github.com/moby/policy-helpers/cmd/policy-helper")
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:skip-build? _ #t) #f)
|
||||
((#:tests? _ #t) #f)
|
||||
((#:unpack-path _ "") "github.com/moby/policy-helpers")
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'install 'fix-bin-name
|
||||
(lambda _
|
||||
(rename-file (string-append #$output "/bin/policy-helper")
|
||||
(string-append #$output "/bin/docker-policy-helper"))))))))
|
||||
(native-inputs (package-propagated-inputs go-github-com-moby-policy-helpers))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public python-docker-pycreds
|
||||
(package
|
||||
(name "python-docker-pycreds")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2018, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
@@ -192,21 +192,20 @@ markup) can be customized and extended by the user.")
|
||||
|
||||
(define-deprecated asciidoc-py3 asciidoc)
|
||||
|
||||
(define-public doxygen
|
||||
(define-public doxygen-1.16
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.14.0")
|
||||
(version "1.16.1")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-"
|
||||
version ".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-"
|
||||
version "/doxygen-" version
|
||||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-" version
|
||||
".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-" version
|
||||
"/doxygen-" version ".src.tar.gz")))
|
||||
(sha256
|
||||
(base32 "1a33w82ln692qsf3ls0j31f6khljjs1cy3bwd70pra2fa4xy6710"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list bison
|
||||
@@ -250,6 +249,25 @@ IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
|
||||
and to some extent D.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public doxygen-1.14
|
||||
(package
|
||||
(inherit doxygen-1.16)
|
||||
(name "doxygen")
|
||||
(version "1.14.0")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-"
|
||||
version ".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-"
|
||||
version "/doxygen-" version
|
||||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))))
|
||||
|
||||
(define-public doxygen doxygen-1.14)
|
||||
|
||||
(define-public halibut
|
||||
(package
|
||||
(name "halibut")
|
||||
|
||||
@@ -415,6 +415,43 @@ e-books for convenient reading.")
|
||||
accessing and converting various ebook file formats.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public epub-thumbnailer
|
||||
;; See: <https://github.com/marianosimone/epub-thumbnailer/issues/46>.
|
||||
(let ((commit "de4b5bf0fcd1817d560f180231f7bd22d330f1be")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "epub-thumbnailer")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(home-page "https://github.com/marianosimone/epub-thumbnailer")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bkknrcds67qkgci6kdkv51fz8hzmqg8z1vkkni4jl4vgix7cjxg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests provided
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'strip 'rename-program
|
||||
(lambda _
|
||||
(with-directory-excursion #$output
|
||||
(rename-file "bin/epub-thumbnailer.py"
|
||||
"bin/epub-thumbnailer")))))))
|
||||
(propagated-inputs (list python-pillow))
|
||||
(native-inputs (list python-setuptools))
|
||||
(synopsis
|
||||
"Extract the cover of an epub book and create a thumbnail for it")
|
||||
(description
|
||||
"@code{epub-thumbnailer} is a simple script that tries to find a cover
|
||||
into an epub file and creates a thumbnail for it.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public inkbox
|
||||
(package
|
||||
(name "inkbox")
|
||||
|
||||
@@ -204,48 +204,3 @@ and EFI variable management.")
|
||||
;; Library routines (in lib/) are under LGPL 2.1.
|
||||
;; Compiling/linking/using OpenSSL is permitted.
|
||||
(license (list license:gpl2 license:lgpl2.1))))
|
||||
|
||||
(define-public efilinux
|
||||
(package
|
||||
(name "efilinux")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mfleming/efilinux")
|
||||
(commit (string-append "efilinux-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc"
|
||||
,@(match (%current-system)
|
||||
("aarch64-linux"
|
||||
'("ARCH=aarch64"))
|
||||
("armhf-linux"
|
||||
'("ARCH=arm"))
|
||||
(_ '()))
|
||||
(string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
|
||||
"/include")
|
||||
(string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
|
||||
"/lib"))
|
||||
#:tests? #f ; No tests exist.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file "efilinux.efi"
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/libexec"))
|
||||
#t)))))
|
||||
(inputs
|
||||
(list gnu-efi))
|
||||
(synopsis "Minimal Linux loader for UEFI")
|
||||
(description "This package provides a minimal Linux loader as an UEFI
|
||||
program.")
|
||||
(home-page "https://github.com/mfleming/efilinux")
|
||||
(license license:bsd-2)))
|
||||
|
||||
+410
-33
@@ -105,11 +105,13 @@
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libffi)
|
||||
@@ -240,8 +242,8 @@ are also taken from the original.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public abc
|
||||
(let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
|
||||
(revision "10"))
|
||||
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
|
||||
(revision "11"))
|
||||
(package
|
||||
(name "abc")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -253,7 +255,7 @@ are also taken from the original.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
|
||||
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list readline))
|
||||
@@ -278,7 +280,7 @@ formal verification.")
|
||||
(package
|
||||
(inherit abc)
|
||||
(name "abc-yosyshq")
|
||||
(version "0.64")
|
||||
(version "0.65")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -287,12 +289,53 @@ formal verification.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
|
||||
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
|
||||
(home-page "https://github.com/YosysHQ/abc/")
|
||||
(description "ABC is a program for sequential logic synthesis and
|
||||
formal verification. This is the Yosyshq fork of ABC.")
|
||||
(license (license:non-copyleft "file:///copyright.txt"))))
|
||||
|
||||
(define-public appcsxcad
|
||||
(package
|
||||
(name "appcsxcad")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/AppCSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "145awcsg4vl2xmrh5yf9fcasmghrai3x6ivgdxmrm1w3v9gyaccf"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:tests? #f)) ;No tests.
|
||||
(inputs (list boost
|
||||
cgal
|
||||
csxcad
|
||||
eigen
|
||||
expat
|
||||
freetype
|
||||
gmp
|
||||
hdf5
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
openmpi
|
||||
qcsxcad
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://github.com/thliebig/AppCSXCAD")
|
||||
(synopsis "Minimal GUI application for the @code{qcsxcad} library")
|
||||
(description
|
||||
"A minimal application for the @code{qcsxcad} library which is used to
|
||||
describe geometrical objects and their physical and non-physical properties.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public apycula
|
||||
(package
|
||||
(name "apycula")
|
||||
@@ -404,7 +447,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(define-public ciel
|
||||
(package
|
||||
(name "ciel")
|
||||
(version "2.4.0")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -413,7 +456,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
|
||||
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
@@ -443,6 +486,62 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
chip design and @acronym{EDA, Electronic Design Automation}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public csxcad
|
||||
(package
|
||||
(name "csxcad")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/CSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c383zsv4fp40kmpawamfi9zg3b8x3d4m091ldwk15mii3467hp3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "-DFPARSER_ROOT_DIR=" #$(this-package-input "fparser")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake-and-sources
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
((" system\n")
|
||||
"")
|
||||
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
|
||||
"find_package(HDF5 REQUIRED COMPONENTS C HL)"))
|
||||
;; Fix missing `std::`.
|
||||
;; This is fixed in upstream already but not tagged.
|
||||
(substitute* "src/CSPropDiscMaterial.cpp"
|
||||
(("\tcout ")
|
||||
"\tstd::cout ")))))))
|
||||
(inputs (list boost
|
||||
cgal
|
||||
eigen
|
||||
fparser
|
||||
hdf5
|
||||
gmp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
mpfr
|
||||
openmpi
|
||||
tinyxml
|
||||
vtk
|
||||
zlib))
|
||||
(home-page "https://github.com/thliebig/CSXCAD")
|
||||
(synopsis "3D geometry library for C++")
|
||||
(description
|
||||
"@code{csxcad} is a C++ library to describe geometrical objects
|
||||
and their physical or non-physical properties for electromagnetics simulations.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public comedilib
|
||||
(package
|
||||
(name "comedilib")
|
||||
@@ -467,7 +566,7 @@ individual low-level driver modules.")
|
||||
(define-public eqy
|
||||
(package
|
||||
(name "eqy")
|
||||
(version "0.64")
|
||||
(version "0.65")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -917,7 +1016,7 @@ files.")
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.7")
|
||||
(version "0.30.8")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -926,7 +1025,7 @@ files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
|
||||
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1069,7 +1168,7 @@ characterization result in a liberty library file.")
|
||||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "10.0.1")
|
||||
(version "10.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1077,7 +1176,7 @@ characterization result in a liberty library file.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
|
||||
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -1202,7 +1301,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
|
||||
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html"
|
||||
@@ -1234,7 +1333,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
|
||||
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list python-wrapper))
|
||||
(arguments
|
||||
@@ -1264,7 +1363,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
|
||||
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
@@ -1281,7 +1380,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
|
||||
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
@@ -1303,6 +1402,60 @@ libraries.")
|
||||
(description "This package contains the official KiCad project and
|
||||
worksheet templates.")))
|
||||
|
||||
(define-public kicad-cern-libraries
|
||||
;; Upstream does not tag releases.
|
||||
(let ((commit "980670fefdf71965aae6c56194d7f2a68c3e6a68")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "kicad-cern-libraries")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/ohwr/cern-kicad-libs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0lr1p28gknbgsr86hbzh87plagcyc040v6141xmha280n78h2l62"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("SchLib" "share/kicad/cern/")
|
||||
("PcbLib" "share/kicad/cern/")
|
||||
("CERN.sqlite" "share/kicad/cern/")
|
||||
("CERN_Linux.kicad_dbl" "share/kicad/cern/")
|
||||
("fp-lib-table" "share/kicad/cern/")
|
||||
("sym-lib-table" "share/kicad/cern/")
|
||||
("README.md" "share/doc/kicad-cern-libraries/")
|
||||
("LICENSE" "share/doc/kicad-cern-libraries/")
|
||||
("LICENSES" "share/doc/kicad-cern-libraries/")
|
||||
("CHECKSUMS" "share/doc/kicad-cern-libraries/")
|
||||
("pcblib_conversion_log.txt" "share/doc/kicad-cern-libraries/")
|
||||
("schlib_conversion_log.txt" "share/doc/kicad-cern-libraries/"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adapt-library-tables
|
||||
(lambda _
|
||||
(substitute* "sym-lib-table"
|
||||
(("\\$\\{KICAD9_SYMBOL_DIR\\}")
|
||||
"${KICAD10_SYMBOL_DIR}")))))))
|
||||
(propagated-inputs (list sqliteodbc))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CERN_LIB_DIR")
|
||||
(files '("share/kicad/cern"))
|
||||
(separator #f))))
|
||||
(home-page "https://gitlab.com/ohwr/cern-kicad-libs")
|
||||
(synopsis "CERN component libraries for KiCad")
|
||||
(description
|
||||
"This package provides CERN's KiCad component libraries, including
|
||||
schematic symbols, footprints, a SQLite-backed database library, and KiCad
|
||||
library tables. The libraries are generated from CERN's Altium Designer
|
||||
libraries.")
|
||||
(license license:ohl2-p))))
|
||||
|
||||
(define-public lepton-eda
|
||||
(package
|
||||
(name "lepton-eda")
|
||||
@@ -1504,7 +1657,7 @@ an embedded event driven algorithm.")
|
||||
(define-public librelane
|
||||
(package
|
||||
(name "librelane")
|
||||
(version "3.0.2")
|
||||
(version "3.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1513,7 +1666,7 @@ an embedded event driven algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
|
||||
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1770,6 +1923,31 @@ management with library, schematic and board editors.")
|
||||
(license (list license:expat ;libfst and fastlz-derived sources
|
||||
license:bsd-2))))) ;for lz4-derived sources
|
||||
|
||||
(define-public python-csxcad
|
||||
(package
|
||||
(inherit csxcad)
|
||||
(name "python-csxcad")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Tests are broken in v0.6.3.
|
||||
;; Check on update.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'prepare-build
|
||||
(lambda _
|
||||
(chdir "./python")
|
||||
(setenv "CSXCAD_INSTALL_PATH"
|
||||
#$(this-package-input "csxcad")))))))
|
||||
(native-inputs (list python-minimal python-cython python-numpy
|
||||
python-setuptools))
|
||||
(inputs (list csxcad fparser hdf5 python-numpy tinyxml))
|
||||
(synopsis "Python bindings for @code{csxcad}")
|
||||
(description "Library for describing geometrical objects and their
|
||||
physical and non-physical properties.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public python-lln-libparse
|
||||
(package
|
||||
(name "python-lln-libparse")
|
||||
@@ -2020,7 +2198,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(define-public magic
|
||||
(package
|
||||
(name "magic")
|
||||
(version "8.3.633")
|
||||
(version "8.3.644")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2029,7 +2207,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
|
||||
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2059,7 +2237,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(define-public mcy
|
||||
(package
|
||||
(name "mcy")
|
||||
(version "0.64")
|
||||
(version "0.65")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2122,7 +2300,7 @@ coverage.")
|
||||
(define-public netgen
|
||||
(package
|
||||
(name "netgen")
|
||||
(version "1.5.318")
|
||||
(version "1.5.319")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2131,7 +2309,7 @@ coverage.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
|
||||
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2479,6 +2657,66 @@ such as:
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public openems
|
||||
(package
|
||||
(name "openems")
|
||||
(version "0.0.36")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/openEMS")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vxlknnji7kha0kabpjqh48i4r0rqlla9gcxhn69d0gcw76albmw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DCSXCAD_ROOT_DIR="
|
||||
#$(this-package-input "csxcad"))
|
||||
(string-append "-DFPARSER_ROOT_DIR="
|
||||
#$(this-package-input "fparser")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
((" system\n") "")
|
||||
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
|
||||
"find_package(HDF5 1.8 REQUIRED)"))))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key tests? source inputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(let* ((testsuite (string-append source "/TESTSUITE"))
|
||||
(testsuite-tmp "/tmp/openEMS-TESTSUITE"))
|
||||
;; Testsuite directory needs to be writable.
|
||||
(copy-recursively testsuite testsuite-tmp)
|
||||
(invoke "octave" "--no-gui" "--eval"
|
||||
(string-append
|
||||
"addpath('" #$output "/share/openEMS/matlab');"
|
||||
"addpath('"
|
||||
(search-input-directory inputs "share/CSXCAD/matlab")
|
||||
"');"
|
||||
;; Work around bug in test script.
|
||||
"addpath('" testsuite-tmp "/helperscripts');"
|
||||
"run('" testsuite-tmp "/run_testsuite.m');")))))))))
|
||||
(native-inputs (list cmake-minimal octave pkg-config))
|
||||
(inputs (list boost
|
||||
csxcad
|
||||
fparser
|
||||
hdf5
|
||||
openmpi
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://www.openems.de")
|
||||
(synopsis "Electromagnetic field solver")
|
||||
(description "@code{OpenEMS} is an electromagnetic field solver using
|
||||
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pcb-rnd
|
||||
(package
|
||||
(name "pcb-rnd")
|
||||
@@ -3282,6 +3520,44 @@ integrated circuit Hardware Description Language} and SystemVerilog
|
||||
parser library for Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-openems
|
||||
(package
|
||||
(inherit openems)
|
||||
(name "python-openems")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests. Check again on package upgrade.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-sources
|
||||
;; Check if this is still needed on upgrade.
|
||||
(lambda _
|
||||
(substitute* "python/openEMS/_nf2ff.pxd"
|
||||
(("cimport cython.numeric")
|
||||
"import cython
|
||||
from cython cimport numeric"))))
|
||||
(add-before 'build 'prepare-build
|
||||
(lambda* _
|
||||
(chdir "./python")
|
||||
(setenv "CSXCAD_INSTALL_PATH"
|
||||
#$(this-package-input "csxcad"))
|
||||
(setenv "OPENEMS_INSTALL_PATH"
|
||||
#$(this-package-input "openems")))))))
|
||||
(native-inputs (list python-cython python-setuptools))
|
||||
(inputs (list csxcad
|
||||
fparser
|
||||
openems
|
||||
python-csxcad
|
||||
python-hdf5storage
|
||||
python-numpy
|
||||
tinyxml))
|
||||
(home-page "https://www.openems.de")
|
||||
(synopsis "Python API for the electromagnetic field solver @code{OpenEMS}")
|
||||
(description "@code{OpenEMS} is an electromagnetic field solver using
|
||||
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pyucis
|
||||
(package
|
||||
(name "python-pyucis")
|
||||
@@ -3513,7 +3789,7 @@ set.")
|
||||
(define-public fusesoc
|
||||
(package
|
||||
(name "fusesoc")
|
||||
(version "2.4.5")
|
||||
(version "2.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3522,7 +3798,7 @@ set.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
|
||||
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3791,6 +4067,36 @@ design.")
|
||||
to enforce it.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pyxhdl
|
||||
(package
|
||||
(name "python-pyxhdl")
|
||||
(version "0.53")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/davidel/pyxhdl")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16dqqhbg5q6fxlhnfcjimxv1zgziw5g46askjhfg8g2hn7i3vfal"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags #~(list "tests/test_runner.py")))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-numpy python-misc-utils))
|
||||
(home-page "https://github.com/davidel/pyxhdl")
|
||||
(synopsis
|
||||
"Python frontend for @acronym{HDL, Hardware Description Languages}")
|
||||
(description
|
||||
"PyXHDL replaces HDL code by Python, generating VHDL (>= 2008) and
|
||||
Verilog (SystemVerilog >= 2012) code to be used for synthesis and simulation.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-vunit
|
||||
(package
|
||||
(name "python-vunit")
|
||||
@@ -3879,6 +4185,71 @@ automated testing of HDL code.")
|
||||
;; subdirectories are under ASL.
|
||||
(license (list license:mpl2.0 license:asl2.0))))
|
||||
|
||||
(define-public qcsxcad
|
||||
(package
|
||||
(name "qcsxcad")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/QCSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ag1shyhsmfsvqm35fi2kfnbcngmln8rjsv88f97gyx9wiqc808y"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;No tests.
|
||||
#:qtbase qtbase ;For Qt 6
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-sources
|
||||
;; Fix missing `std::`-prefix and missing include.
|
||||
;; This is fixed in upstream but not tagged with a version.
|
||||
(lambda _
|
||||
(substitute* "vtkInteractorStyleRubberBand2DPlane.cpp"
|
||||
(("#include \"vtkCamera.h\"")
|
||||
"#include <iostream>\n#include \"vtkCamera.h\"")
|
||||
(("\tcerr ")
|
||||
"\tstd::cerr "))
|
||||
(substitute* "VTKPrimitives.cpp"
|
||||
(("#include \"VTKPrimitives.h\"")
|
||||
"#include <iostream>\n#include \"VTKPrimitives.h\"")
|
||||
(("\tcerr ")
|
||||
"\tstd::cerr ")
|
||||
(("\tcout ")
|
||||
"\tstd::cout "))
|
||||
(substitute* "QVTKStructure.cpp"
|
||||
(("#include \"QVTKStructure.h\"")
|
||||
"#include <iostream>\n#include \"QVTKStructure.h\"")
|
||||
(("\tcerr ")
|
||||
"\tstd::cerr ")
|
||||
(("\tcout ")
|
||||
"\tstd::cout ")))))))
|
||||
(inputs (list boost
|
||||
cgal
|
||||
csxcad
|
||||
eigen
|
||||
freetype
|
||||
gmp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
openmpi
|
||||
qt5compat
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://github.com/thliebig/QCSXCAD")
|
||||
(synopsis "GUI library for @code{csxcad}")
|
||||
(description
|
||||
"GUI library for @code{csxcad} --- a library for describing geometrical
|
||||
objects and their properties. This library is used in @code{appcsxcad}
|
||||
which provides a standalone graphical frontend to @{csxcad}.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public qrouter
|
||||
(package
|
||||
(name "qrouter")
|
||||
@@ -4233,7 +4604,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
|
||||
(define-public sby
|
||||
(package
|
||||
(name "sby")
|
||||
(version "0.64")
|
||||
(version "0.65")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4242,7 +4613,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jksspdgq2grk4a80i5yfc9bazfij37wpmrlkvygpz9ys5ny1432"))))
|
||||
(base32 "19cvbvg6jjh7lj1sd7jz7yd5wrlswg6dmyajc7kxgl7dd97ivpwy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4665,7 +5036,7 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(define-public yosys
|
||||
(package
|
||||
(name "yosys")
|
||||
(version "0.64")
|
||||
(version "0.65")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4673,15 +5044,16 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(url "https://github.com/YosysHQ/yosys")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "13gw5msk1kv05jkb330nybvx2s0ixm6l6mdpyapnqmv3lkhby1mj"))
|
||||
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "vanilla-test" ;TODO: restore to "test" with next release
|
||||
#:test-target "all"
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
"ENABLE_FUNCTIONAL_TESTS=1"
|
||||
"ENABLE_EDITLINE=1"
|
||||
"ENABLE_LIBYOSYS=1"
|
||||
"ENABLE_PYOSYS=1"
|
||||
@@ -4696,6 +5068,11 @@ parallel computing platforms. It also supports serial execution.")
|
||||
#$(this-package-input "abc-yosyshq")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; TODO: Remove when fixed.
|
||||
(add-after 'unpack 'remove-aiger
|
||||
(lambda _
|
||||
(substitute* "tests/Makefile"
|
||||
((".*aiger.*") ""))))
|
||||
(add-before 'configure 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "backends/smt2/smtio.py"
|
||||
@@ -4786,12 +5163,12 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(git-reference
|
||||
(url "https://github.com/povik/yosys-slang")
|
||||
;; No tags, nor releases.
|
||||
(commit "4e53d772996184b07e9bfe784060f96e6cb0a267")
|
||||
(commit "cf20b1ba0d2c9df0508f927930a87565e7e0d220")
|
||||
(recursive? #t))) ;requires slang and fmt
|
||||
(file-name "yosys-slang")
|
||||
(sha256
|
||||
(base32
|
||||
"1jjr1b6xd1sr9fkyfyl4y2wkzl51m7g10bw97mnw81v2mzssrs2q")))))
|
||||
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4")))))
|
||||
;; Optional dependencies increase considerably package closure.
|
||||
;; - gtkwave: required only for vcd2fst binary, used by ‘sim’ command.
|
||||
;; - graphviz, xdot: used by ‘show’ command to display schematics.
|
||||
@@ -4822,7 +5199,7 @@ for various application domains, including FPGAs and ASICs.")
|
||||
license:expat
|
||||
;; yosys-slang/third_party/fmt
|
||||
license:bsd-2 license:bsd-3 license:psfl
|
||||
;; yosys
|
||||
;; yosys, yosys-slang
|
||||
license:isc))))
|
||||
|
||||
(define-deprecated-package yosys-clang yosys)
|
||||
|
||||
+402
-99
@@ -1092,8 +1092,8 @@ agentically, with any LLM.")
|
||||
|
||||
(define-public emacs-gptel-prompts
|
||||
;; No releases.
|
||||
(let ((commit "f1c29208c1f0b62918ac6682038da5db4184fc51")
|
||||
(revision "2"))
|
||||
(let ((commit "f6d590c70dd2a1bab4426e2d4e51543e9953feb2")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "emacs-gptel-prompts")
|
||||
(version (git-version "1.0" revision commit))
|
||||
@@ -1104,7 +1104,7 @@ agentically, with any LLM.")
|
||||
(commit commit)))
|
||||
(method git-fetch)
|
||||
(sha256
|
||||
(base32 "1bw98biq7m1xigjmgm3w7dzac99vww619d0n24rq15kcrra7sg84"))
|
||||
(base32 "1gnv2kzs09xzdywckwscg7sz3ay8904gj19k6vbwrmh7isyygxan"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ;no tests
|
||||
@@ -2078,8 +2078,8 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
|
||||
(define-public emacs-puni
|
||||
;; No tagged release upstream
|
||||
(let ((commit "f430f5b0a14c608176e3376058eb380ab0824621")
|
||||
(revision "3"))
|
||||
(let ((commit "fe132f803868f325cf6f162139e327b76df9e4c1")
|
||||
(revision "4"))
|
||||
(package
|
||||
(name "emacs-puni")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -2091,7 +2091,7 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kvxll2yx4lh5x04cigdizncp2kbva1iidz9fjnbi8qqfm6pq5qq"))))
|
||||
"0ffjpb0ilhcng1wwmnl1lx7h8v1z0bgsq6wb7x4x2rwsrvqjv9hm"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no actual tests
|
||||
(propagated-inputs (list emacs-with-editor))
|
||||
@@ -2864,6 +2864,31 @@ process, passing on the arguments as command line arguments.")
|
||||
"Magit-annex adds a few git-annex operations to the Magit interface.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-magit-lfs
|
||||
;; Last tag is from 2021 and missing changes adjusting to transient.el
|
||||
;; deprecations.
|
||||
(let ((commit "cd9f46e1840270be27e2c2d9dcf036ff0781f66d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-magit-lfs")
|
||||
(version (git-version "0.4.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Ailrun/magit-lfs")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0psnyxrc7fy2vng81mak0ji7kw58ly01frzr5z2xpj08hxx16b3c"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-magit emacs-transient emacs-dash))
|
||||
(home-page "https://github.com/Ailrun/magit-lfs")
|
||||
(synopsis "Git LFS support for Magit")
|
||||
(description "@code{magit-lfs} provides Magit integration for git-lfs.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-magit-tbdiff
|
||||
(package
|
||||
(name "emacs-magit-tbdiff")
|
||||
@@ -3731,7 +3756,7 @@ organizing remote Go repository clones.")
|
||||
(define-public emacs-ghub
|
||||
(package
|
||||
(name "emacs-ghub")
|
||||
(version "5.1.0")
|
||||
(version "5.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3740,7 +3765,7 @@ organizing remote Go repository clones.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d49qkkza9my2xz1vdyq7l3vmmjbamhsqm9xy7xikisyhsngvj73"))))
|
||||
(base32 "09bi4h71dvwnkq110zrm14a9qal4294kgmhlhaa44lsw8g3v4826"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4095,7 +4120,7 @@ prover, version 4.")
|
||||
(define-public emacs-lem
|
||||
(package
|
||||
(name "emacs-lem")
|
||||
(version "0.24")
|
||||
(version "0.25")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4105,7 +4130,7 @@ prover, version 4.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"181cibmv6da4rjr6p3nqpza6i7v4scc4qndznhyjb9nhbf3gsil4"))))
|
||||
"1h28bwy0nd08lxvpqdxqcbg0n2j09ilb7rf3nj6csflz64nhg40x"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6175,6 +6200,33 @@ always indented. It reindents after every change, making it more reliable
|
||||
than @code{electric-indent-mode}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-isayt
|
||||
;; No tags. The Version header has not been updated since 2021.
|
||||
(let ((commit "32967c11a5a24b3c1d85cbf41a9b52a996739b45")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-isayt")
|
||||
(version (git-version "0.0.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/andreyorst/isayt.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15i8z06k7iakw50lx9akq2ggddm7z99crwqbb0sx81bzddaz2s63"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://gitlab.com/andreyorst/isayt.el")
|
||||
(synopsis "Automatically indent lisp expressions while typing")
|
||||
(description
|
||||
"@code{isayt-mode} is a minor mode to adjust indentation of
|
||||
S-expressions automatically as you type. It is similar to
|
||||
@code{aggressive-indent-mode}, but it uses @code{syntax-ppss} and
|
||||
@code{indent-sexp} instead of a timer and @code{indent-according-to-mode}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-smarttabs
|
||||
(package
|
||||
(name "emacs-smarttabs")
|
||||
@@ -7152,7 +7204,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(define-public emacs-ellama
|
||||
(package
|
||||
(name "emacs-ellama")
|
||||
(version "1.17.0")
|
||||
(version "1.17.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -7162,7 +7214,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03y4hyrsmq6m7si191r3ndp06x5w53adpig272ymm0i4v9gnzlr9"))))
|
||||
"1ibqmhp6mszr85lfb6fwfx9npn46kzcb26vqprrla61w8nrplx97"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9272,14 +9324,16 @@ This mode supports Apache HTTP Server 2.4 and major modules.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/raxod502/apheleia")
|
||||
(url "https://github.com/radian-software/apheleia")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vs532hjkwj19laigqvvk11r0gwhv5vd8v6wh5598dzmfw3yh4bm"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:include #~(cons "^scripts/formatters/" %default-include)
|
||||
#:exclude #~(cons "\\.js$" %default-exclude)))
|
||||
(native-inputs (list emacs-buttercup))
|
||||
(home-page "https://github.com/raxod502/apheleia")
|
||||
(home-page "https://github.com/radian-software/apheleia")
|
||||
(synopsis "Reformat buffer stably")
|
||||
(description
|
||||
"This package allows for a buffer to be reformatted without moving point,
|
||||
@@ -9928,13 +9982,13 @@ for the Zig programming language in Emacs.")
|
||||
(define-public emacs-erc
|
||||
(package
|
||||
(name "emacs-erc")
|
||||
(version "5.6.1")
|
||||
(version "5.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/erc-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "13dzip6xhj0mf8hs8wk08pfxny5gwpbzfsqkmz146xvl2d8m621x"))))
|
||||
(base32 "0rm7aw6p8736ssp4z7vmfmwff93h4dwcv9pz3b83f9060i2svvvn"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://www.gnu.org/software/emacs/erc.html")
|
||||
@@ -18092,11 +18146,14 @@ Application Programming Interface}}, a free and open-source quotations
|
||||
(name "emacs-spinner")
|
||||
(version "1.7.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/spinner-"
|
||||
version ".tar"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Malabarba/spinner.el")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv"))))
|
||||
(base32
|
||||
"1m872dj1n05mkvgfyiqsbri489vmff5zdmv4xx5qj2s91sp046rl"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/Malabarba/spinner.el")
|
||||
(synopsis "Emacs mode-line spinner for operations in progress")
|
||||
@@ -18766,9 +18823,13 @@ and tooling.")
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "elfeed-curl.el"
|
||||
("elfeed-curl-program-name"
|
||||
(search-input-file inputs "/bin/curl"))))))))
|
||||
(search-input-file inputs "/bin/curl")))
|
||||
(substitute* "elfeed-lib.el"
|
||||
(("\\(executable-find \"gzip\"\\)")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/bin/gzip") "\""))))))))
|
||||
(inputs
|
||||
(list curl))
|
||||
(list curl gzip))
|
||||
(home-page "https://github.com/skeeto/elfeed")
|
||||
(synopsis "Atom/RSS feed reader for Emacs")
|
||||
(description
|
||||
@@ -20232,7 +20293,7 @@ multiple project types.")
|
||||
(define-public emacs-tp
|
||||
(package
|
||||
(name "emacs-tp")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -20241,7 +20302,7 @@ multiple project types.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zhvridy6p7dy9hpf088k166a1c918hqf6k3jmnm7raw8vflc7qq"))))
|
||||
"01g72x2lqmrdh3qgd3135hgijka975xg92ki36qyv71vi20rhmnm"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://codeberg.org/martianh/tp.el")
|
||||
(synopsis "Utilities to create transient menus for POSTing to an API")
|
||||
@@ -20381,7 +20442,7 @@ implementation.")
|
||||
(define-public emacs-cider
|
||||
(package
|
||||
(name "emacs-cider")
|
||||
(version "1.20.0")
|
||||
(version "1.21.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -20390,26 +20451,30 @@ implementation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
|
||||
(base32 "19wx9mc488qipm08s7hc0zrfmiylw577lmf3jpvqcjq7amx14jgc"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
|
||||
#:exclude ;don't exclude 'cider-test.el'
|
||||
#~(list "^\\.dir-locals\\.el$" "^test/")
|
||||
#:lisp-directory "lisp"
|
||||
#:test-command
|
||||
#~(list "eldev" "--use-emacsloadpath" "-dtT" "-p" "test")
|
||||
#:exclude
|
||||
#~(list "^\\.dir-locals\\.el$" "^test/")
|
||||
#:phases
|
||||
;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
|
||||
;; string, and `patch-el-files' phase chokes on it (even though the
|
||||
;; file is excluded from installation). Remove the phase altogether
|
||||
;; since there is no "/bin/executable" to replace in the code base
|
||||
;; anyway.
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'patch-el-files)
|
||||
(add-before 'check 'skip-failing-tests
|
||||
(lambda _ ;; Require network.
|
||||
(delete-file "test/cider-jar-tests.el"))))))
|
||||
(add-after 'unpack 'remove-network-tests
|
||||
(lambda _
|
||||
(delete-file "../test/cider-jar-tests.el")))
|
||||
(replace 'check
|
||||
(lambda* (#:key test-command tests?
|
||||
#:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion ".."
|
||||
(setenv "EMACSLOADPATH"
|
||||
(string-append (getcwd) ":"
|
||||
(getenv "EMACSLOADPATH")))
|
||||
(apply invoke test-command))))))))
|
||||
(native-inputs (list emacs-buttercup emacs-eldev))
|
||||
(propagated-inputs
|
||||
(list emacs-clojure-mode
|
||||
@@ -22674,7 +22739,7 @@ are common in Chromium-derived projects.")
|
||||
(define-public emacs-gnosis
|
||||
(package
|
||||
(name "emacs-gnosis")
|
||||
(version "0.10.3")
|
||||
(version "0.10.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -22683,12 +22748,13 @@ are common in Chromium-derived projects.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0kpzc2jw51sklz15v0d0vzm5ck05n3d90l02la4nxn8r85jb1f53"))))
|
||||
(base32 "1cjm8hj62zm9k89pnsh5hbgjqqnh53byw4mijl76a7cn8args4gy"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:lisp-directory "lisp"
|
||||
#:test-command
|
||||
#~(list "make" "test" "GUIX_SHELL=")
|
||||
#~(list "make" "-C" ".." "test" "GUIX_SHELL=")
|
||||
#:emacs emacs-no-x ;tests require built-in SQLite support
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -22701,9 +22767,9 @@ are common in Chromium-derived projects.")
|
||||
"/.emacs.d"))))
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(invoke "make" "doc" "GUIX_SHELL="))))))
|
||||
(invoke "make" "-C" ".." "doc" "GUIX_SHELL="))))))
|
||||
(native-inputs (list texinfo))
|
||||
(propagated-inputs (list emacs-transient))
|
||||
(propagated-inputs (list emacs-keymap-popup))
|
||||
(home-page "https://thanosapollo.org/projects/gnosis/")
|
||||
(synopsis "Personal knowledge system for GNU Emacs")
|
||||
(description
|
||||
@@ -25363,7 +25429,7 @@ with Eglot.")
|
||||
(define-public emacs-jabber
|
||||
(package
|
||||
(name "emacs-jabber")
|
||||
(version "0.10.3")
|
||||
(version "0.10.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -25372,7 +25438,7 @@ with Eglot.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v1a09h6ndqhkwyn44cnx1b0l4p155a09mfjrfmg62li50hvw1zm"))))
|
||||
"0d0rl5rhx73safq95212c4qlmds3sa1mc79ji4p2v974m43x9d89"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -25394,16 +25460,6 @@ with Eglot.")
|
||||
"../src/picomemo")
|
||||
(invoke "chmod" "--recursive" "u+w"
|
||||
"../src/picomemo")))
|
||||
(add-after 'unpack 'fix-test-runner
|
||||
(lambda _
|
||||
;; Replace grep -oP (Perl regex) with a
|
||||
;; POSIX-compatible alternative so the test
|
||||
;; runner counts results correctly.
|
||||
(substitute* "../Makefile"
|
||||
(("grep -oP '\\^Ran \\\\K\\[0-9\\]\\+'")
|
||||
(string-append
|
||||
"grep -o 'Ran [0-9]*'"
|
||||
" | grep -o '[0-9]*'")))))
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
;; These 4 tests pass outside the build
|
||||
@@ -25439,7 +25495,7 @@ with Eglot.")
|
||||
(base32
|
||||
"044xd1gn9lpd5yrb3c1lmvqsc1chbkhd3vnh7800hxn23a0hxbzj")))))
|
||||
(inputs (list mbedtls))
|
||||
(propagated-inputs (list emacs-fsm))
|
||||
(propagated-inputs (list emacs-fsm emacs-keymap-popup))
|
||||
(home-page "https://thanosapollo.org/projects/jabber/")
|
||||
(synopsis "XMPP (Jabber) client for Emacs")
|
||||
(description
|
||||
@@ -28636,7 +28692,7 @@ match and total match information in the mode-line in various search modes.")
|
||||
(define-public emacs-pg
|
||||
(package
|
||||
(name "emacs-pg")
|
||||
(version "0.65")
|
||||
(version "0.66")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/emarsden/pg-el")
|
||||
@@ -28644,7 +28700,7 @@ match and total match information in the mode-line in various search modes.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"164kfd0lc1qw3wnlxqyjmqd3yhmkkf81qmgdx0kydlrij8a7z594"))))
|
||||
"1il3p0pckmyrkr5sbrv04wnyqmy7pfknlps5lp56r294x59bdyw7"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-peg))
|
||||
(home-page "https://github.com/emarsden/pg-el")
|
||||
@@ -32162,6 +32218,32 @@ symbols. Currently the code distinguishes Lisp functions, built-in functions,
|
||||
macros, faces and variables. To enable call @code{highlight-defined-mode}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-highlight-quoted
|
||||
;; The last tagged release is from 2014 and predates a license change from
|
||||
;; BSD 3-clause to BSD 2-clause.
|
||||
(let ((commit "24103478158cd19fbcfb4339a3f1fa1f054f1469")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-highlight-quoted")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Fanael/highlight-quoted")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gq8inxfni9zgz2brqm4nlswgr8b0spq15wr532xfrgr456g10ks"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/Fanael/highlight-quoted")
|
||||
(synopsis "Highlight Lisp quotes and quoted symbols")
|
||||
(description
|
||||
"@code{highlight-quoted-mode} is a minor mode for highlighting Lisp
|
||||
quotes and quoted symbols.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public emacs-parinfer-mode
|
||||
(package
|
||||
(name "emacs-parinfer-mode")
|
||||
@@ -35600,7 +35682,7 @@ and comments.")
|
||||
(define-public emacs-yeetube
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.1.12")
|
||||
(version "2.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -35609,7 +35691,7 @@ and comments.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0zvbfwxq3dx14ynpafpvv1swg7hbg3k9avir9b7cymf4r5hrjnx3"))
|
||||
"0phlcmf54f2wih7rksazf8k2jz4i31siqzd4gb7x3d6zddk2rs97"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
@@ -35624,7 +35706,7 @@ and comments.")
|
||||
(format #f "~s" (search-input-file inputs
|
||||
(string-append "/bin/" program))))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(propagated-inputs (list emacs-compat emacs-keymap-popup))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
@@ -36922,6 +37004,48 @@ Nix expressions. It supports syntax highlighting, indenting and refilling of
|
||||
comments.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public emacs-nix-ts-mode
|
||||
(package
|
||||
(name "emacs-nix-ts-mode")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nix-community/nix-ts-mode.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1x8flq97vrxqvqmf25dr5wnmvwpa0l3zv5hyz2af3aj4yy1ic35n"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:emacs emacs-no-x ; tests need treesit support
|
||||
#:test-command #~(list "ert-runner" "-l" "test/guix-treesit.el")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Tests load the Nix tree-sitter grammar. Guix informs Emacs of
|
||||
;; tree-sitter grammars via site-run-file, which ert-runner does not
|
||||
;; load by default.
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
(with-output-to-file "test/guix-treesit.el"
|
||||
(lambda _
|
||||
(display "\
|
||||
(with-eval-after-load 'treesit
|
||||
(when-let* ((grammar-path (getenv \"TREE_SITTER_GRAMMAR_PATH\")))
|
||||
(mapcar (lambda (x) (add-to-list 'treesit-extra-load-path x))
|
||||
(split-string grammar-path \":\"))))
|
||||
"))))))))
|
||||
(native-inputs (list emacs-ert-runner))
|
||||
(propagated-inputs (list tree-sitter-nix))
|
||||
(home-page "https://github.com/nix-community/nix-ts-mode")
|
||||
(synopsis "Major mode for Nix expressions, powered by tree-sitter")
|
||||
(description
|
||||
"This package provides a major mode for editing Nix expressions, powered
|
||||
by built-in Emacs tree-sitter support.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-libmpdel
|
||||
(package
|
||||
(name "emacs-libmpdel")
|
||||
@@ -38038,7 +38162,7 @@ in Docker environment.")
|
||||
(define-public emacs-dape
|
||||
(package
|
||||
(name "emacs-dape")
|
||||
(version "0.26.0")
|
||||
(version "0.27.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -38047,7 +38171,7 @@ in Docker environment.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pib99g20kx7jqxbr7xv6xgpihjrb1yyd84qs05i0xscpgy8yj9l"))))
|
||||
(base32 "12cvry61nrr7xjsd7f445ik273lv4na4wkxad795pflibqz7q6r3"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
;; FIXME python tests pass, JS tests require additional dependencies
|
||||
@@ -38659,7 +38783,7 @@ as Emacs Lisp.")
|
||||
(define-public emacs-transient
|
||||
(package
|
||||
(name "emacs-transient")
|
||||
(version "0.13.1")
|
||||
(version "0.13.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -38668,7 +38792,7 @@ as Emacs Lisp.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "161drbhzdp9fn0xkc0aza992g9h8prml513y8byyxvi6lqbqn8x4"))))
|
||||
(base32 "0c5kdzs55xzn4ksrxlm94s4w4mbamh7l5ycjnq9pvgqvggzijqng"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test suite
|
||||
@@ -41184,6 +41308,39 @@ work.")
|
||||
text-property translator.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public emacs-kkp
|
||||
;; No tags.
|
||||
(let ((commit "73957230ffdd3dedf16f4436f61471bd1365abf6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-kkp")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/benotn/kkp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1j5igiys8asjg0v18flc7p71xjynqi7v8s06qgkac8djvjamd4lh"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-command
|
||||
#~(list "emacs" "--batch" "-L" "." "-l" "kkp-tests.el"
|
||||
"-f" "ert-run-tests-batch-and-exit")))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://github.com/benotn/kkp")
|
||||
(synopsis "Kitty Keyboard Protocol input support")
|
||||
(description
|
||||
"@file{kkp.el} implements support for the
|
||||
@url{https://sw.kovidgoyal.net/kitty/keyboard-protocol, Kitty Keyboard
|
||||
Protocol} in Emacs. It provides an alternative, improved way to transmit
|
||||
keyboard input from a terminal to Emacs running in that terminal. For
|
||||
debugging key translation, see @file{kkp-debug.el}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-noter
|
||||
(package
|
||||
(name "emacs-org-noter")
|
||||
@@ -41715,7 +41872,7 @@ time.")
|
||||
(define-public emacs-mastodon
|
||||
(package
|
||||
(name "emacs-mastodon")
|
||||
(version "2.0.16")
|
||||
(version "2.0.17")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41724,7 +41881,7 @@ time.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z8qwnc01d9hx5m1xj3acpdzllfh4rxmypzcr3jl4ipp6dybzbx6"))))
|
||||
(base32 "1pz0ac5r6g34x0nlwwh55c369swiv8h3dr6ndkkm7k2ql7f75xdv"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -41831,7 +41988,7 @@ a decentralized social network that runs on an Org Mode file over HTTP.")
|
||||
(define-public emacs-fedi
|
||||
(package
|
||||
(name "emacs-fedi")
|
||||
(version "0.3")
|
||||
(version "0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41840,7 +41997,7 @@ a decentralized social network that runs on an Org Mode file over HTTP.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ldag8659nqphc2isw1n3xv8dqf468ppwf1q10zn03sdj4dc1i11"))))
|
||||
(base32 "0xlsh4a42mymi4jrb32ak4srbm28hq67jwijnpbyfzfkchjsqimj"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-markdown-mode))
|
||||
@@ -41874,7 +42031,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
(define-public emacs-fj
|
||||
(package
|
||||
(name "emacs-fj")
|
||||
(version "0.36")
|
||||
(version "0.37")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41883,17 +42040,9 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "10v79lxnaya8h8qkdpvr7ns8330nrrl2h5mz4wh15blcp87ha37l"))))
|
||||
(base32 "09ff20am16ysjpbqx7b92qgmvyar9b6blm32flkvzqxccqqinxya"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-command #~(list "make" "tests")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'remove-cask
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("cask ") "")))))))
|
||||
(arguments (list #:test-command #~(list "make" "tests" "CASK=")))
|
||||
(native-inputs
|
||||
(list emacs-el-mock emacs-exemplify-ert emacs-exemplify-eval))
|
||||
(propagated-inputs (list emacs-fedi emacs-magit emacs-tp emacs-transient))
|
||||
@@ -41903,6 +42052,96 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
"Fj contains basic functions for interacting with a Forgejo instance.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-keymap-popup
|
||||
(package
|
||||
(name "emacs-keymap-popup")
|
||||
(version "0.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thanosapollo/emacs-keymap-popup")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bzvjvczzzrnsjs3fjcaad3y1xdhbrvxab5pg9zxkypxhw3yzx8n"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;tests need a live display read-loop
|
||||
(home-page "https://codeberg.org/thanosapollo/emacs-keymap-popup")
|
||||
(synopsis "Elisp library to create key-driven popup menus")
|
||||
(description "This package provides @code{keymap-popup-define}, a macro
|
||||
to define a keymap along with popup data and documentation in one place. It
|
||||
is similar to the @code{transient} Elisp library, but aims to be simpler to
|
||||
use. Among its features are:
|
||||
@table @code
|
||||
@item :switch
|
||||
buffer-local toggle with [on]/[off] display
|
||||
@item :keymap
|
||||
sub-menu with stack navigation (q / C-g pops back)
|
||||
@item :stay-open
|
||||
command executes without dismissing the popup
|
||||
@item :inapt-if
|
||||
grays out and blocks entries based on a predicate
|
||||
@item :c-u
|
||||
prefix argument mode (C-u highlights eligible entries)
|
||||
@item :if
|
||||
conditionally hide entries
|
||||
@item :group
|
||||
@itemx :row
|
||||
column layout
|
||||
@item keymap-popup-annotate
|
||||
add popup descriptions to existing keymaps
|
||||
@end table")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-forgejo
|
||||
(package
|
||||
(name "emacs-forgejo")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thanosapollo/emacs-forgejo")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hf4sckxdygxa84g3pi3m2qy16ngx76jsrf192q5l4fppsyirnws"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:lisp-directory "lisp"
|
||||
#:emacs emacs ;tests requires sqlite
|
||||
#:test-command #~(list "make" "-C" ".." "test")))
|
||||
(propagated-inputs (list emacs-keymap-popup emacs-markdown-mode))
|
||||
(home-page "https://codeberg.org/thanosapollo/emacs-forgejo")
|
||||
(synopsis "Emacs front-end for Forgejo instances")
|
||||
(description "This package provides an Emacs front-end for Forgejo
|
||||
instances such as Codeberg or self-hosted servers. It allows you to browse,
|
||||
filter, and manage issues and pull requests from Emacs. All API responses are
|
||||
cached in a local SQLite database for fast offline re-display. Among the
|
||||
other things it can do are:
|
||||
@itemize
|
||||
@item
|
||||
Submit and merge PRs via
|
||||
AGit-Flow (https://forgejo.org/docs/latest/user/agit-support/) push options
|
||||
@item
|
||||
Full code review workflow with threaded comments
|
||||
@item
|
||||
Watch rules with per-repo filter polling and desktop notifications
|
||||
@item
|
||||
Label, assignee, and milestone management
|
||||
@item
|
||||
SQLite cache for instant display and offline usage
|
||||
@item
|
||||
Multi-host support with per-instance token configuration
|
||||
@item
|
||||
@code{#} and @code{@@} completion in composition buffers (@code{gfm-mode})
|
||||
@item
|
||||
Repository settings editor
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ebdb-i18n-chn
|
||||
(package
|
||||
(name "emacs-ebdb-i18n-chn")
|
||||
@@ -45741,29 +45980,28 @@ the selected region with @code{| tr -d a-z}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-shell-pop
|
||||
(let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-shell-pop")
|
||||
(version (git-version "0.64" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyagi/shell-pop-el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/kyagi/shell-pop-el")
|
||||
(synopsis "Utility which helps with pop up shell buffer")
|
||||
(description
|
||||
"This Emacs utility helps you pop up and pop out shell buffer window
|
||||
(package
|
||||
(name "emacs-shell-pop")
|
||||
(version "0.70")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyagi/shell-pop-el")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sdi7ckn3dcxy9kw7xz2b5z46fgjjn5mvwpqsmjh3qa6kqirlwmi"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/kyagi/shell-pop-el")
|
||||
(synopsis "Utility which helps with pop up shell buffer")
|
||||
(description
|
||||
"This Emacs utility helps you pop up and pop out shell buffer window
|
||||
easily. Four pre-set options are: @samp{shell}, @samp{terminal},
|
||||
@samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if
|
||||
you use some other configuration.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-shell-here
|
||||
(let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a")
|
||||
@@ -47045,6 +47283,71 @@ notebooks")
|
||||
execute code split into cells according to certain magic comments.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-codex-ide
|
||||
(package
|
||||
(name "emacs-codex-ide")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dgillis/emacs-codex-ide")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xasn1yp494wqr2z9ddq3s71la27cvdvlv4alid2k5bjj89fv2gz"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons "^bin/codex-ide-mcp-server\\.py$" %default-include)
|
||||
#:test-command #~(list "bin/run-tests.sh")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-bridge-script-path
|
||||
(lambda _
|
||||
(emacs-substitute-variables "codex-ide-mcp-bridge.el"
|
||||
("codex-ide-emacs-bridge-script-path"
|
||||
(string-append #$output "/share/emacs/site-lisp/codex-ide2-"
|
||||
#$version "/bin/codex-ide-mcp-server.py")))))
|
||||
(add-before 'check 'remove-failing-tests
|
||||
(lambda _
|
||||
(emacs-batch-edit-file "codex-ide.el"
|
||||
'(progn
|
||||
(defun remove-test (file all-test-names)
|
||||
(with-current-buffer
|
||||
(find-file-noselect
|
||||
(format "tests/codex-ide-%s-tests.el" file))
|
||||
(dolist (test-name all-test-names)
|
||||
(save-excursion
|
||||
(re-search-forward
|
||||
(format "codex-ide-%s" test-name))
|
||||
(beginning-of-defun)
|
||||
(goto-char (match-beginning 0))
|
||||
(kill-sexp)))
|
||||
(basic-save-buffer)))
|
||||
(remove-test
|
||||
"context"
|
||||
(list (concat "compose-turn-input-does-not-"
|
||||
"duplicate-prompt-context-block")))
|
||||
(remove-test
|
||||
"mcp"
|
||||
(list "mcp-script-uses-emacsclient-bridge-responses"
|
||||
(concat "mcp-script-decodes-base64-bridge-"
|
||||
"response-with-control-and-unicode-text")
|
||||
(concat "mcp-script-starts-with-"
|
||||
"optional-server-name-flag"))))))))))
|
||||
(native-inputs (list zsh))
|
||||
(propagated-inputs (list emacs-transient python))
|
||||
(home-page "https://github.com/dgillis/emacs-codex-ide")
|
||||
(synopsis "Codex app-server integration for Emacs")
|
||||
(description
|
||||
"Codex IDE for Emacs provides a native Emacs interface for Codex
|
||||
app-server sessions. It renders conversations in Emacs buffers, supports
|
||||
interactive approvals, clickable file references, diff views, session
|
||||
management, and an optional MCP bridge for exposing live Emacs context to
|
||||
Codex.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public emacs-ein
|
||||
;; XXX: Upstream doesn't make any release, and didn't set any version.
|
||||
(let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2"))
|
||||
|
||||
@@ -702,8 +702,8 @@ editor (with wide ints)" )
|
||||
#~(cons "--with-wide-int" #$flags))))))
|
||||
|
||||
(define-public emacs-next-minimal
|
||||
(let ((commit "509228fc6c026921c67459f21164e0325efc583b")
|
||||
(revision "2"))
|
||||
(let ((commit "d969185878bf50faedbafbd609c361875b891b53")
|
||||
(revision "3"))
|
||||
(package
|
||||
(inherit emacs-minimal)
|
||||
(name "emacs-next-minimal")
|
||||
@@ -717,7 +717,7 @@ editor (with wide ints)" )
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04aalyrx5jysk5fhlka98fhfx23sy99zp8j16i0ils20sflyig6n"))
|
||||
(base32 "1pmx71b6pazjpyfs1d2ngby1idsviwbap3xbr5b7dgf0rngim32s"))
|
||||
(patches
|
||||
(search-patches "emacs-next-disable-jit-compilation.patch"
|
||||
"emacs-next-exec-path.patch"
|
||||
|
||||
@@ -1920,7 +1920,7 @@ and Zilog Z80 families, plus many of their variants.")
|
||||
(define-public python-psptool
|
||||
(package
|
||||
(name "python-psptool")
|
||||
(version "3.1")
|
||||
(version "3.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1929,36 +1929,40 @@ and Zilog Z80 families, plus many of their variants.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
|
||||
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'unittest))
|
||||
(native-inputs
|
||||
(list python-psptrace-bootstrap
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-psptrace-bootstrap
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cryptography
|
||||
python-prettytable))
|
||||
(home-page "https://github.com/PSPReverse/psptool")
|
||||
(synopsis "Tool for dealing with AMD binary blobs")
|
||||
(description "PSPTool is a tool for dealing with AMD binary blobs")
|
||||
(description "PSPTool is a tool for dealing with AMD binary blobs.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-psptrace
|
||||
(package
|
||||
(name "python-psptrace")
|
||||
(version "0.7")
|
||||
(version "0.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psptrace" version))
|
||||
(sha256
|
||||
(base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
|
||||
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests in PyPI or Git
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-prettytable
|
||||
python-psptool))
|
||||
|
||||
+21
-16
@@ -148,7 +148,7 @@
|
||||
(define-public ares
|
||||
(package
|
||||
(name "ares")
|
||||
(version "145")
|
||||
(version "147")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -157,23 +157,28 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
|
||||
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete non-free blobs: Supersoft Diagnostics II.
|
||||
#~(delete-file-recursively "tests/i8080/tests"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ; No tests
|
||||
#:configure-flags
|
||||
#~(list "-DARES_BUILD_LOCAL=FALSE"
|
||||
"-DARES_BUILD_OFFICIAL=TRUE"
|
||||
"-DARES_BUNDLE_SHADERS=FALSE"
|
||||
"-DARES_SKIP_DEPS=TRUE"
|
||||
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-libglvnd
|
||||
(lambda _
|
||||
;; XXX: Our mesa doesn't have libglvnd support.
|
||||
(substitute* "ruby/cmake/os-linux.cmake"
|
||||
(("OpenGL::GLX") "OpenGL::GL")))))))
|
||||
(list
|
||||
#:tests? #f ; non-free blobs
|
||||
#:configure-flags
|
||||
#~(list "-DARES_BUILD_LOCAL=FALSE"
|
||||
"-DARES_BUILD_OFFICIAL=TRUE"
|
||||
"-DARES_BUNDLE_SHADERS=FALSE"
|
||||
"-DARES_SKIP_DEPS=TRUE"
|
||||
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-libglvnd
|
||||
(lambda _
|
||||
;; TODO: Our mesa doesn't have libglvnd support.
|
||||
(substitute* "ruby/cmake/os-linux.cmake"
|
||||
(("OpenGL::GLX") "OpenGL::GL")))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
|
||||
+334
-216
@@ -33,7 +33,7 @@
|
||||
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
|
||||
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022, 2024-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
|
||||
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
|
||||
@@ -46,7 +46,7 @@
|
||||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;; Copyright © 2025-2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
|
||||
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
|
||||
@@ -438,9 +438,8 @@ optimizer; and it can produce photorealistic and design review images.")
|
||||
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
|
||||
(snippet
|
||||
;; Remove a non-free file.
|
||||
'(begin
|
||||
(delete-file "doc/psfig.sty")
|
||||
#t))
|
||||
#~(begin
|
||||
(delete-file "doc/psfig.sty")))
|
||||
(patches (search-patches "fastcap-mulSetup.patch"
|
||||
"fastcap-mulGlobal.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -450,79 +449,93 @@ optimizer; and it can produce photorealistic and design review images.")
|
||||
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line
|
||||
;; 3.
|
||||
`(("texlive" ,(texlive-local-tree))
|
||||
("ghostscript" ,ghostscript)))
|
||||
("ghostscript" ,ghostscript)
|
||||
("libfaketime" ,libfaketime)))
|
||||
(arguments
|
||||
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
|
||||
(list
|
||||
#:make-flags #~(list "CC=gcc" "RM=rm" "SHELL=sh"
|
||||
(string-append
|
||||
"CFLAGS="
|
||||
"-Wno-error=implicit-int"
|
||||
" -Wno-error=return-mismatch"
|
||||
" -Wno-error=implicit-function-declaration")
|
||||
"all")
|
||||
#:parallel-build? #f
|
||||
#:tests? #f ;; no tests-suite
|
||||
#:modules ((srfi srfi-1)
|
||||
,@%default-gnu-modules)
|
||||
#:modules `((srfi srfi-1)
|
||||
,@%default-gnu-modules)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'make-doc
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
|
||||
(add-before 'make-doc 'fix-doc
|
||||
(lambda _
|
||||
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
|
||||
(substitute* (find-files "doc" "\\.tex")
|
||||
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
|
||||
all file scale)
|
||||
(string-append "\\includegraphics[scale=" scale "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
|
||||
all file width)
|
||||
(string-append "\\includegraphics[width=" width "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
|
||||
all file height)
|
||||
(string-append "\\includegraphics[height=" height "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
|
||||
(string-append "\\includegraphics{" file "}")))
|
||||
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
|
||||
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
|
||||
all options class)
|
||||
(string-append "\\documentclass[" options "]{"
|
||||
class "}\n"
|
||||
"\\usepackage{graphicx}\n"
|
||||
"\\usepackage{robinspace}"))
|
||||
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
|
||||
(string-append "%" all))
|
||||
(("\\\\setstretch\\{.*\\}" all)
|
||||
(string-append "%" all)))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(add-before 'install 'clean-bin
|
||||
(lambda _
|
||||
(delete-file (string-append (getcwd) "/bin/README"))
|
||||
#t))
|
||||
(add-before 'install 'make-pdf
|
||||
(lambda _
|
||||
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
|
||||
(with-directory-excursion "doc"
|
||||
(and
|
||||
(for-each (lambda (file)
|
||||
(invoke "dvips" file "-o"))
|
||||
(find-files "." "\\.dvi"))
|
||||
(for-each (lambda (file)
|
||||
(invoke "ps2pdf" file))
|
||||
'("mtt.ps" "ug.ps" "tcad.ps"))
|
||||
(invoke "make" "clean")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(data (string-append out "/share"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append data "/doc/" ,name "-" ,version))
|
||||
(examples (string-append doc "/examples")))
|
||||
(with-directory-excursion "bin"
|
||||
(for-each (lambda (f)
|
||||
(install-file f bin))
|
||||
(find-files "." ".*")))
|
||||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "examples" examples)
|
||||
#t))))))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'build 'make-doc
|
||||
(lambda _
|
||||
(invoke "faketime"
|
||||
"1970-01-01 00:00:00"
|
||||
"make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
|
||||
(add-before 'make-doc 'fix-doc
|
||||
(lambda _
|
||||
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
|
||||
(substitute* (find-files "doc" "\\.tex")
|
||||
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
|
||||
all file scale)
|
||||
(string-append "\\includegraphics[scale=" scale "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
|
||||
all file width)
|
||||
(string-append "\\includegraphics[width=" width "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
|
||||
all file height)
|
||||
(string-append "\\includegraphics[height=" height "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
|
||||
(string-append "\\includegraphics{" file "}")))
|
||||
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
|
||||
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
|
||||
all options class)
|
||||
(string-append "\\documentclass[" options "]{"
|
||||
class "}\n"
|
||||
"\\usepackage{graphicx}\n"
|
||||
"\\usepackage{robinspace}"))
|
||||
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
|
||||
(string-append "%" all))
|
||||
(("\\\\setstretch\\{.*\\}" all)
|
||||
(string-append "%" all)))))
|
||||
(delete 'configure)
|
||||
(add-before 'install 'clean-bin
|
||||
(lambda _
|
||||
(delete-file (string-append (getcwd) "/bin/README"))))
|
||||
(add-before 'install 'make-pdf
|
||||
(lambda _
|
||||
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
|
||||
(with-directory-excursion "doc"
|
||||
(for-each (lambda (file)
|
||||
(invoke "faketime"
|
||||
"-f"
|
||||
"1970-01-01 00:00:00"
|
||||
"dvips" file "-o"))
|
||||
(find-files "." "\\.dvi"))
|
||||
(for-each (lambda (file)
|
||||
(invoke "faketime"
|
||||
"-f"
|
||||
"1970-01-01 00:00:00"
|
||||
"ps2pdf" file))
|
||||
'("mtt.ps" "ug.ps" "tcad.ps"))
|
||||
(invoke "make" "clean"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let* ((data (string-append #$output "/share"))
|
||||
(bin (string-append #$output "/bin"))
|
||||
(doc (string-append data "/doc/" #$name "-" #$version))
|
||||
(examples (string-append doc "/examples")))
|
||||
(with-directory-excursion "bin"
|
||||
(for-each (lambda (f)
|
||||
(install-file f bin))
|
||||
(find-files "." ".*")))
|
||||
(with-directory-excursion "doc"
|
||||
(for-each (lambda (f)
|
||||
(install-file f doc))
|
||||
(find-files "." ".pdf")))
|
||||
(copy-recursively "examples" examples)))))))
|
||||
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
|
||||
(synopsis "Multipole-accelerated capacitance extraction program")
|
||||
(description
|
||||
@@ -901,64 +914,65 @@ user-level language.")
|
||||
|
||||
;; TODO: Keep in sync with radare2.
|
||||
(define-public iaito
|
||||
;; Commit "Release 6.1.2"
|
||||
(let ((commit "790878048ecb62f4d2f1b5f848948059dd5bb8fe")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "iaito")
|
||||
(version (git-version "6.1.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/iaito")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"00nqn3mx2fj5higz4niwl0nx04vnjwzccw6zjx3rhwf6fj5yfamm"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((guix build gnu-build-system) (guix build qt-utils)
|
||||
(guix build utils))
|
||||
#:imported-modules `((guix build qt-utils)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system assumes the sdb lib is installed alongside
|
||||
;; radare2. We already patch the radare2 package to use a
|
||||
;; system-installed sdb rather than install its own, so we must
|
||||
;; propagate those changes here.
|
||||
(add-before 'configure 'add-sdb-libs
|
||||
(lambda _
|
||||
(substitute* '("./src/lib_radare2.pri")
|
||||
(("pkg-config --libs r_core" all)
|
||||
(string-append all " sdb")))))
|
||||
(add-after 'install 'wrap-qt
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-all-qt-programs #:outputs outputs
|
||||
#:inputs inputs
|
||||
#:qtbase (assoc-ref inputs "qtbase")))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg
|
||||
qtwayland
|
||||
radare2
|
||||
sdb))
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(home-page "https://github.com/radareorg/iaito")
|
||||
(synopsis "Official radare2 GUI")
|
||||
(description "Iaito is the official graphical interface for radare2, a
|
||||
(package
|
||||
(name "iaito")
|
||||
(version "6.1.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/iaito")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"16sp73k6ighjwp80nvf55lwzv0fb8p4ki76mnsc8xhl3vq7pka0w"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((guix build gnu-build-system) (guix build qt-utils)
|
||||
(guix build utils))
|
||||
#:imported-modules `((guix build qt-utils)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system assumes the sdb lib is installed alongside
|
||||
;; radare2. We already patch the radare2 package to use a
|
||||
;; system-installed sdb rather than install its own, so we must
|
||||
;; propagate those changes here.
|
||||
(add-before 'configure 'add-sdb-libs
|
||||
(lambda _
|
||||
(substitute* '("./src/lib_radare2.pri")
|
||||
(("pkg-config --libs r_core" all)
|
||||
(string-append all " sdb")))))
|
||||
(add-after 'install 'wrap-qt
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-all-qt-programs #:outputs outputs
|
||||
#:inputs inputs
|
||||
#:qtbase (assoc-ref inputs "qtbase")))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg
|
||||
qtwayland
|
||||
radare2
|
||||
sdb))
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(native-search-paths (list (search-path-specification
|
||||
(variable "R2_LIBR_PLUGINS")
|
||||
(files (list "lib/radare2"))
|
||||
(separator #f)))) ;single value
|
||||
(home-page "https://github.com/radareorg/iaito")
|
||||
(synopsis "Official radare2 GUI")
|
||||
(description "Iaito is the official graphical interface for radare2, a
|
||||
libre reverse engineering framework. Iaito focuses on simplicity, parity with
|
||||
commands, features, and keybindings.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public inspekt3d
|
||||
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
|
||||
@@ -1042,32 +1056,6 @@ in the context of per-cpu data. The library offers ABI headers to interface
|
||||
with the kernel and various utilities such as per-cpu counters.")
|
||||
(license (list license:lgpl2.1 license:expat)))))
|
||||
|
||||
(define-public linsmith
|
||||
(package
|
||||
(name "linsmith")
|
||||
(version "0.99.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/linsmith/linsmith/linsmith-"
|
||||
version "/linsmith-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1629p29casy9pgy8hzva1bmgrvh923qk01ls3anik6zqn6swkjfn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("CFLAGS=-fcommon")))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list gtk+-2 libgnomeui))
|
||||
(home-page "https://jcoppens.com/soft/linsmith/index.en.php")
|
||||
(synopsis "Smith Charting program")
|
||||
(description "LinSmith is a Smith Charting program, mainly designed for
|
||||
educational use. As such, there is an emphasis on capabilities that improve
|
||||
the 'showing the effect of'-style of operation.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public valeronoi
|
||||
(package
|
||||
(name "valeronoi")
|
||||
@@ -1240,7 +1228,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
|
||||
(define-public minicom
|
||||
(package
|
||||
(name "minicom")
|
||||
(version "2.10")
|
||||
(version "2.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1248,7 +1236,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
|
||||
(url "https://salsa.debian.org/minicom-team/minicom.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0sxbyf1li3lsrvkjpn04xz6ywa42ggfc1fhdrmsibfkhqja9abn0"))
|
||||
(base32 "15k20qbxrjdxadwzkp31hjy7apdasrsgs532kwmlkpzs92ff4ghs"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -1373,24 +1361,33 @@ determines the frequencies, decay constants, amplitudes, and phases of those sin
|
||||
(define-public guile-libctl
|
||||
(package
|
||||
(name "guile-libctl")
|
||||
(version "4.2.0")
|
||||
(version "4.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/NanoComp/libctl/releases/download/v"
|
||||
version "/libctl-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/NanoComp/libctl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x8r56lpfq83kfbq28vr25icl19xpfd6fjrxzcpdmv30l9pash83"))))
|
||||
"1lsch1qc5w9yyprrvawfwbnz7na4qah0p752kxxv144xp8yq98x7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-shared")))
|
||||
(list #:configure-flags
|
||||
#~(list "--enable-shared")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Avoid bin/sh shebang in configure.
|
||||
(add-before 'bootstrap 'no-/bin/sh
|
||||
(lambda _ (delete-file "autogen.sh"))))))
|
||||
(native-inputs
|
||||
`(("fortran" ,gfortran)))
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
gfortran))
|
||||
(inputs
|
||||
(list guile-2.2))
|
||||
(home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
|
||||
(list guile-3.0))
|
||||
(home-page "https://libctl.readthedocs.io/en/latest/")
|
||||
(synopsis "Flexible control files implementation for scientific simulations")
|
||||
(description
|
||||
"Libctl is a Guile-based library implementing flexible control files
|
||||
@@ -1400,7 +1397,7 @@ for scientific simulations.")
|
||||
(define-public mpb
|
||||
(package
|
||||
(name "mpb")
|
||||
(version "1.8.0")
|
||||
(version "1.12.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1409,50 +1406,41 @@ for scientific simulations.")
|
||||
version "/mpb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jgrb7dd6qs6j6y1gnxmdgrh79l2bvqa6nk60a4pw1annsks4brd"))))
|
||||
"197dm8z5hfikivb73rhywyq976rn1k621bf1admgc5xjaii20awd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-libctl="
|
||||
(assoc-ref %build-inputs "libctl")
|
||||
"/share/libctl")
|
||||
"--enable-shared")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'relax-gcc-14-strictness
|
||||
(lambda _
|
||||
(setenv "CFLAGS"
|
||||
(string-join
|
||||
(list "-Wno-error=incompatible-pointer-types"
|
||||
"-Wno-error=implicit-function-declaration"
|
||||
"-Wno-error=int-conversion")
|
||||
" ")))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "--with-libctl="
|
||||
#$(this-package-input "guile-libctl") "/share/libctl")
|
||||
"--enable-shared")))
|
||||
(native-inputs
|
||||
`(("fortran" ,gfortran)
|
||||
("pkg-config" ,pkg-config)
|
||||
("swig" ,swig-4.0)))
|
||||
(list gfortran
|
||||
pkg-config
|
||||
swig-4.4))
|
||||
(inputs
|
||||
`(("fftw" ,fftw)
|
||||
("gsl" ,gsl)
|
||||
("guile" ,guile-2.2)
|
||||
("hdf5" ,hdf5)
|
||||
("openblas" ,openblas)
|
||||
("libctl" ,guile-libctl)
|
||||
("readline" ,readline)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
|
||||
(list fftw
|
||||
gsl
|
||||
guile-3.0
|
||||
guile-libctl
|
||||
hdf5
|
||||
openblas
|
||||
readline
|
||||
zlib))
|
||||
(home-page "https://mpb.readthedocs.io/en/latest/")
|
||||
(synopsis "Computes band structures and electromagnetic modes of dielectric
|
||||
structures")
|
||||
(description
|
||||
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
|
||||
of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
|
||||
fully-vectorial and three-dimensional methods.")
|
||||
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates
|
||||
(harmonic modes) of Maxwell's equations in periodic dielectric structures for
|
||||
arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public meep
|
||||
(package
|
||||
(name "meep")
|
||||
(version "1.30.1")
|
||||
(version "1.33.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1461,7 +1449,7 @@ fully-vectorial and three-dimensional methods.")
|
||||
version "/meep-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h80d7i7v06fxfdsa496b542dvr105c4v1n7pk8m3jssvbxvv2a0"))))
|
||||
"1azhgz6s95siqmnxb3if6waxbvia3bij5jmxgxjz4sgn2ahw1axx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
@@ -1471,11 +1459,11 @@ fully-vectorial and three-dimensional methods.")
|
||||
(native-inputs
|
||||
(list gfortran
|
||||
pkg-config
|
||||
swig-4.0))
|
||||
swig-4.4))
|
||||
(inputs
|
||||
(list fftw
|
||||
gsl
|
||||
guile-2.2
|
||||
guile-3.0
|
||||
guile-libctl
|
||||
harminv
|
||||
hdf5
|
||||
@@ -1730,7 +1718,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(define-public radare2
|
||||
(package
|
||||
(name "radare2")
|
||||
(version "6.1.2") ;keep in sync with iaito
|
||||
(version "6.1.4") ;keep in sync with iaito
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1738,7 +1726,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1d4sslhjxm00fchqcszfa59wf51v632jvf7aj4af0vdhl9f9n8k2"))
|
||||
"0gq90rwwmkfc7v1rhyr3lw859rsm1ryhzrwidhhh6pbp6jv03k6w"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
|
||||
@@ -1794,6 +1782,10 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(propagated-inputs
|
||||
;; In the Libs: section of r_hash.pc.
|
||||
(list xxhash))
|
||||
(native-search-paths (list (search-path-specification
|
||||
(variable "R2_LIBR_PLUGINS")
|
||||
(files (list "lib/radare2"))
|
||||
(separator #f)))) ;single value
|
||||
(home-page "https://radare.org/")
|
||||
(synopsis "Reverse engineering framework")
|
||||
(description
|
||||
@@ -1811,6 +1803,131 @@ like relocation symbols. It is able to deal with malformed binaries, making
|
||||
it suitable for security research and analysis.")
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public r2ghidra
|
||||
(package
|
||||
(name "r2ghidra")
|
||||
(version "6.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/r2ghidra")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04x7vmg67zz0llkz3r3nmcky5z8c4ha31z8jzkm19dnyslw2qlxr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled libs and remove their references.
|
||||
#~(begin (delete-file-recursively "subprojects")
|
||||
(substitute* "ghidra/deps.mk"
|
||||
(("ZLIB_LDFLAGS=.*") "")
|
||||
(("ZLIB_CFLAGS=.*") ""))
|
||||
(substitute* "src/Makefile"
|
||||
(("(all:) subprojects-zlib" _ f) f)
|
||||
(("PUGIXML_OBJS=.*") "")
|
||||
(("PUGIXML_SRCS=.*") "")
|
||||
(("PUGIXML_CFLAGS=.*") ""))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(let* ((zlib #$(this-package-input "zlib"))
|
||||
(pugixml #$(this-package-input "pugixml-next")))
|
||||
(list (string-append "CC=" #$(cc-for-target))
|
||||
(format #f "ZLIB_LDFLAGS=-L~a/lib/ -lz" zlib)
|
||||
(format #f "LDFLAGS=-L~a/lib/ -lpugixml" pugixml)
|
||||
(format #f "ZLIB_CFLAGS=-I~a/include/" zlib)
|
||||
(format #f "PUGIXML_CFLAGS=-I~a/include/" pugixml)
|
||||
;; Ensure this matches R2_LIBR_PLUGINS as exported
|
||||
;; by radare2 & iaito.
|
||||
(format #f "PLUGDIR=~a/lib/radare2" #$output)))
|
||||
#:tests? #f ;no 'check' rule, test dir may require 3rd-party binaries
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-git-and-copy-ghidra
|
||||
(lambda _
|
||||
;; GIT is assumed to point to the git binary, but it is
|
||||
;; only checked to be a file; this short-circuits the check.
|
||||
(setenv "GIT" "configure")
|
||||
(copy-recursively
|
||||
(search-input-directory %build-inputs "share/ghidra-native")
|
||||
"subprojects/ghidra-native")))
|
||||
(add-before 'build 'set-system-sleighhome
|
||||
;; Helper files which try to install in radare2's path
|
||||
;; in the store, irrespective of PLUGDIR. As long as
|
||||
;; r2ghidra knows where to find them, we can place them
|
||||
;; anywhere.
|
||||
(lambda _
|
||||
(let ((sleighhome
|
||||
(in-vicinity #$output "lib/radare2/sleighhome")))
|
||||
;; Hardcoded path to check.
|
||||
(substitute* "src/SleighAsm.cpp"
|
||||
(("(path = strdup \\()[^\\)]*" _ f)
|
||||
(string-append f "\"" sleighhome "\"")))
|
||||
;; Install location.
|
||||
(substitute* "ghidra/Makefile"
|
||||
(("(sleigh-install D=\")\\$\\(DD\\)" _ f)
|
||||
(string-append f sleighhome)))))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
pugixml-next
|
||||
radare2
|
||||
sdb
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list ghidra-native
|
||||
pkg-config
|
||||
python-minimal))
|
||||
(home-page "https://www.radare.org/")
|
||||
(synopsis "Native Ghidra Decompiler for radare2")
|
||||
(description
|
||||
"r2ghidra is a radare2 plugin which integrates the
|
||||
@url{https://www.nsa.gov/ghidra,Ghidra} decompiler.")
|
||||
;; Specified lgpl3 'only' in README.
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public ghidra-native
|
||||
;; Latest commit; last release (8/2025) incompatible with current r2ghidra.
|
||||
(let ((commit "df065bad0f9e7cea233479048681f811c4f640a2")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "ghidra-native")
|
||||
(version (git-version "0.6.2" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/ghidra-native")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14bzrl856x3bsqjpks85rzxcxncfmnjwc5knv2h4lybfz4bxcn39"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags #~(list "patch")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install ;no install target
|
||||
(lambda _
|
||||
(let ((ghidra-native-patched
|
||||
(in-vicinity #$output "/share/ghidra-native/src")))
|
||||
(copy-recursively "src" ghidra-native-patched)))))))
|
||||
(home-page "https://www.radare.org/")
|
||||
(synopsis "Native parts of ghidra")
|
||||
(description
|
||||
"This package contains the native parts of ghidra, to be used from
|
||||
r2ghidra.")
|
||||
(properties '((hidden? . #t))) ;only provides source files
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public rayforge
|
||||
(package
|
||||
(name "rayforge")
|
||||
@@ -2011,7 +2128,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||
(define-public gpx
|
||||
(package
|
||||
(name "gpx")
|
||||
(version "2.5.2")
|
||||
(version "2.6.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2020,7 +2137,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
|
||||
"1izs8s5npkbfrsyk17429hyl1vyrbj9dp6vmdlbb2vh6mfgl54h8"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://github.com/markwal/GPX")
|
||||
(synopsis "Converting gcode to x3g files for 3D printing")
|
||||
@@ -2135,7 +2252,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
|
||||
(define-public manifold
|
||||
(package
|
||||
(name "manifold")
|
||||
(version "3.3.2")
|
||||
(version "3.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2144,7 +2261,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bq1gzvhyp0b9v0q6magwf0yi9lzqgh3fj9104wqfvpl2skgzkg7"))))
|
||||
(base32 "0x65708r6xln8sd53abbn1qnhz3wxnicn2837ida73ihargk5js1"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list onetbb clipper2 assimp python-nanobind googletest))
|
||||
(arguments
|
||||
@@ -2642,7 +2759,7 @@ but also adds new features and improves existing ones.")
|
||||
(define-public emacs-scad-mode
|
||||
(package
|
||||
(name "emacs-scad-mode")
|
||||
(version "98.0")
|
||||
(version "99.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2650,9 +2767,10 @@ but also adds new features and improves existing ones.")
|
||||
(url "https://github.com/openscad/emacs-scad-mode")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "19mn6z98c8s7mspa7j8xw7za33gmpsy4iw2r9xiggdv7yh6mh8h8"))
|
||||
(base32 "0mqfvff8f7lqjviwz30j7vkb098xd0k8bdzznb77aw4q7gdsf8nm"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(synopsis "Emacs mode to edit OpenSCAD files")
|
||||
(description
|
||||
@@ -2927,7 +3045,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
|
||||
(define-public cgns
|
||||
(package
|
||||
(name "cgns")
|
||||
(version "4.3.0")
|
||||
(version "4.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2936,7 +3054,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jig1y7lv9qk1ri2gqws7ffpajmhxnank7gbyna9hfaghsxdlnvd"))))
|
||||
(base32 "0r8y6lddp7q9nb6804c6bbr4y0pv7ssdzi9m5ddx50ksvfv382fw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
@@ -3969,7 +4087,7 @@ G-codes to binary and vice versa.")
|
||||
(list bash-minimal
|
||||
boost-1.83
|
||||
cereal
|
||||
cgal
|
||||
cgal-5
|
||||
curl
|
||||
dbus
|
||||
eigen
|
||||
|
||||
@@ -136,41 +136,3 @@ whenever possible to the extent that the above points are not compromised.
|
||||
affect your score when code golfing.")
|
||||
(properties `((lint-hidden-cpe-vendors "premio" "jenkins")))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public shakespeare-spl
|
||||
(package
|
||||
(name "shakespeare-spl")
|
||||
(version "1.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/shakespearelang/spl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lxpfhv01kcwy4l4xgx7j765g8g0v74jns0cr908nfw55h5fy1hj"))
|
||||
(patches
|
||||
(search-patches
|
||||
"shakespeare-spl-fix-grammar.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules (,@%default-gnu-imported-modules
|
||||
(guix build copy-build-system))
|
||||
#:modules ((guix build copy-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:install-plan '(("spl/bin" "bin")
|
||||
("spl/lib" "lib")
|
||||
("spl/include" "include"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'build
|
||||
(assoc-ref gnu:%standard-phases 'build)))))
|
||||
(native-inputs
|
||||
(list bison flex))
|
||||
(home-page "http://shakespearelang.sourceforge.net/")
|
||||
(synopsis "Write programs like Shakespearean plays")
|
||||
(description "Shakespeare is a programming language with the design goal
|
||||
of making programs read like plays. The characters in the play are variables.
|
||||
If you want to assign a character, let's say Juliet, a positive value, you put
|
||||
her and another character on the stage and let that character praise Juliet.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2025 Julian Flake <flake@uni-koblenz.de>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025-2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1526,6 +1527,8 @@ supports automatic snapshots timelines.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~'("CFLAGS=-Wno-error=implicit-int")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tool-locations
|
||||
@@ -1660,7 +1663,7 @@ with the included @command{xfstests-check} helper.")
|
||||
(define-public zfs
|
||||
(package
|
||||
(name "zfs")
|
||||
(version "2.4.1")
|
||||
(version "2.4.2")
|
||||
(outputs '("out" "module" "src"))
|
||||
(source
|
||||
(origin
|
||||
@@ -1669,7 +1672,7 @@ with the included @command{xfstests-check} helper.")
|
||||
"/download/zfs-" version
|
||||
"/zfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "140k7hf83s509zq3igdh7dm7vw3hd99wgf4fax7ia8q01xvnjyy1"))))
|
||||
(base32 "13y7pqdkpplai7vkb06xv1c7pw5fl70clhg2qnjbx5gjd870s9ky"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1698,7 +1701,7 @@ with the included @command{xfstests-check} helper.")
|
||||
(search-input-directory
|
||||
inputs
|
||||
"lib/modules/build")))))
|
||||
(add-after 'unpack 'patch-source
|
||||
(add-after 'bootstrap 'patch-source
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; New feature "compatibility=" in 2.1.0.
|
||||
;; This feature looks up in two locations:
|
||||
@@ -1760,11 +1763,15 @@ with the included @command{xfstests-check} helper.")
|
||||
(("\\$\\(sysconfdir)") (string-append #$output "/etc")))
|
||||
(substitute* "udev/vdev_id"
|
||||
(("PATH=/bin:/sbin:/usr/bin:/usr/sbin")
|
||||
(string-append "PATH="
|
||||
(dirname (which "chmod")) ":"
|
||||
(dirname (which "grep")) ":"
|
||||
(dirname (which "sed")) ":"
|
||||
(dirname (which "gawk")))))
|
||||
(format #f "PATH=~a"
|
||||
(list->search-path-as-string
|
||||
(map (lambda (name)
|
||||
(dirname (search-input-file inputs name)))
|
||||
'("bin/chmod"
|
||||
"bin/grep"
|
||||
"bin/sed"
|
||||
"bin/gawk"))
|
||||
":"))))
|
||||
(substitute* '("Makefile.am" "Makefile.in")
|
||||
(("\\$\\(prefix)/src") (string-append #$output:src "/src")))
|
||||
(substitute* (find-files "udev/rules.d/" ".rules.in$")
|
||||
@@ -1799,8 +1806,11 @@ with the included @command{xfstests-check} helper.")
|
||||
(string-append #$output
|
||||
"/share/bash-completion/completions")))))))
|
||||
(native-inputs
|
||||
(list attr kmod pkg-config))
|
||||
(inputs (list eudev
|
||||
(list attr autoconf automake libtool kmod pkg-config))
|
||||
(inputs (list coreutils-minimal
|
||||
eudev
|
||||
gawk
|
||||
grep
|
||||
kmod
|
||||
libaio
|
||||
libtirpc
|
||||
@@ -1808,6 +1818,7 @@ with the included @command{xfstests-check} helper.")
|
||||
openssl
|
||||
python
|
||||
python-cffi
|
||||
sed
|
||||
util-linux
|
||||
`(,util-linux "lib")
|
||||
zlib))
|
||||
|
||||
+16
-80
@@ -42,6 +42,7 @@
|
||||
;;; Copyright © 2025-2026 Hennadii Stepanov <hebasto@gmail.com>
|
||||
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2026 Robin Templeton <robin@guixotic.coop>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -235,14 +236,15 @@ line client and a client based on Qt.")
|
||||
"04kh88xklyq5w2x0zykfas6ssxajp1z33c2899fq342jnfr510b6"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:qtbase original-flags #f)
|
||||
qtbase-5)))
|
||||
((#:configure-flags original-flags '())
|
||||
#~(cons "-DWITH_QT_VERSION=6"
|
||||
#$original-flags))))
|
||||
(native-inputs
|
||||
(modify-inputs native-inputs
|
||||
(delete qttools)
|
||||
(append imagemagick
|
||||
librsvg
|
||||
qttools-5)))
|
||||
qttools)))
|
||||
(home-page "https://bitcoinknots.org")
|
||||
(synopsis "Enhanced Bitcoin node/wallet based on Bitcoin Core")
|
||||
(description "Bitcoin Knots connects to the Bitcoin peer-to-peer network
|
||||
@@ -907,7 +909,7 @@ blockchain.")
|
||||
;; the system's dynamically linked library.
|
||||
(package
|
||||
(name "monero")
|
||||
(version "0.18.4.6")
|
||||
(version "0.18.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -916,16 +918,15 @@ blockchain.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "monero-use-system-miniupnpc.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled dependencies.
|
||||
(for-each
|
||||
delete-file-recursively
|
||||
'("external/miniupnp" "external/rapidjson"))))
|
||||
'("external/rapidjson"))))
|
||||
(sha256
|
||||
(base32 "0s03rwa1pfxxrj03f170sr6yd5v2wpqdfzam7gas1s71gg6v6ap6"))))
|
||||
(base32 "0i0x4aacw2id877hdarp4vjc0cgs0yijsgrx85890xdypik2m8zq"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
@@ -942,7 +943,6 @@ blockchain.")
|
||||
libsodium
|
||||
libunwind
|
||||
libusb
|
||||
miniupnpc-2.1
|
||||
openssl
|
||||
protobuf
|
||||
rapidjson
|
||||
@@ -1012,7 +1012,7 @@ the Monero command line client and daemon.")
|
||||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.18.4.7")
|
||||
(version "0.18.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1028,7 +1028,7 @@ the Monero command line client and daemon.")
|
||||
;; See the 'extract-monero-sources' phase.
|
||||
(delete-file-recursively "monero")))
|
||||
(sha256
|
||||
(base32 "1nbv07jjwznz2x0ch1467vhnd0b4j3y01gv78dzbm7pilbb9wh72"))))
|
||||
(base32 "17r588gwdy5q0r9zy6382c64aglhym0l3a4pd8rr1v3li5v78fcb"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
@@ -1553,7 +1553,7 @@ agent.")
|
||||
(define-public kitsas
|
||||
(package
|
||||
(name "kitsas")
|
||||
(version "5.9")
|
||||
(version "5.11.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1562,7 +1562,7 @@ agent.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hx8fad8pyma6gq60ziiqd5mbflwzjn0115lsdvf72sz86jryl70"))))
|
||||
"1rlg36r62ngl4zpqja7fv407i6xnax2wh7y5jcplsx3zi7nrnkk5"))))
|
||||
(build-system qt-build-system)
|
||||
(inputs (list libzip qtsvg qtwebengine qt5compat))
|
||||
(arguments
|
||||
@@ -2544,7 +2544,7 @@ files.")
|
||||
(define-public xmrig
|
||||
(package
|
||||
(name "xmrig")
|
||||
(version "6.25.0")
|
||||
(version "6.26.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2552,7 +2552,7 @@ files.")
|
||||
(url "https://github.com/xmrig/xmrig")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "0hchl2vwsn7aps6y1zjhxczm8l8lvl5ac8hblwl3qj0y2n7iszjz"))
|
||||
(sha256 (base32 "12s0nk3b1nyh76gqcfdr3158y0kcrkfprahajnbv0k34rp49m4k4"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; TODO: Try to use system libraries instead of bundled ones in
|
||||
@@ -2601,7 +2601,7 @@ mining.")
|
||||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "4.14")
|
||||
(version "4.15.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2610,7 +2610,7 @@ mining.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
|
||||
(sha256 (base32 "0v0wpm4bxikm8b78hsc3rp9x59574b2r39sbk2z3sjbyyshrqfpx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
@@ -2652,67 +2652,3 @@ combines the advantages of pool and solo mining; you still fully control your
|
||||
Monero node and what it mines, but you get frequent payouts like on a regular
|
||||
pool.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public opentaxsolver
|
||||
;; The OTS version is formatted like tax-year_version. So, at time of
|
||||
;; writing, the version is 2023_21.03. Each part of this is used in
|
||||
;; different places in the source uri, so it's convenient to have them
|
||||
;; separately like this.
|
||||
(let ((tax-year "2023")
|
||||
(ots-version "21.03"))
|
||||
(package
|
||||
(name "opentaxsolver")
|
||||
(version (string-append tax-year "_" ots-version))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/opentaxsolver/OTS_"
|
||||
tax-year "/v" ots-version
|
||||
"_linux/OpenTaxSolver" version "_linux64.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i543bvclnyiwnyjlskhr2bxlsigggvwdhg2519rf12lsghgfszq"))
|
||||
(patches (search-patches "opentaxsolver-file-browser-fix.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
;; OTS does provide a shellscript that does exactly this, but we
|
||||
;; need to do it ourselves to specify the correct compiler and to
|
||||
;; delete the GUI binaries.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(delete-file "Run_taxsolve_GUI")
|
||||
(delete-file-recursively "bin")
|
||||
(mkdir "bin")
|
||||
(chdir "src/Gui_gtk")
|
||||
(invoke "make"
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
(chdir "..")
|
||||
(invoke "make"
|
||||
(string-append "CC=" #$(cc-for-target)))))
|
||||
;; OTS doesn't provide a `make install` target, because it assumes
|
||||
;; it'll be run from the tarball. So, we do it ourselves, making
|
||||
;; sure to replicate the directory structure of the tarball.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(copy-recursively "../bin"
|
||||
(string-append #$output "/bin"))
|
||||
(symlink (string-append #$output "/bin/ots_gui2")
|
||||
(string-append #$output "/bin/Run_taxsolve_GUI"))
|
||||
(copy-recursively "../tax_form_files"
|
||||
(string-append #$output "/tax_form_files"))
|
||||
(copy-recursively "formdata"
|
||||
(string-append #$output "/src/formdata")))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list gtk+-2))
|
||||
(synopsis "Yearly tax preparation tool")
|
||||
(description
|
||||
"OpenTaxSolver is a program for calculating tax form entries for
|
||||
federal and state personal income taxes. It automatically fills out and
|
||||
prints your forms for mailing.")
|
||||
(home-page "https://opentaxsolver.sourceforge.net/")
|
||||
(license license:gpl2+))))
|
||||
|
||||
+390
-3
@@ -73,6 +73,7 @@
|
||||
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Joan Vilardaga Castro <codeberg-hn80@joanvc.cat>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1633,6 +1634,392 @@ These fonts include glyphs from multiple icon sets:
|
||||
@item Codeicons
|
||||
@end itemize
|
||||
|
||||
The monospaced variant ensures all glyphs have uniform width, which is essential
|
||||
for terminal emulators that require consistent character spacing.")
|
||||
;; https://github.com/ryanoasis/nerd-fonts/blob/master/license-audit.md
|
||||
(license (list license:expat license:cc-by4.0 license:unlicense
|
||||
license:asl2.0 license:silofl1.1))))
|
||||
|
||||
(define-public font-nerd-fira-code
|
||||
(package
|
||||
(name "font-nerd-fira-code")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ryanoasis/nerd-fonts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0adash47a0pmvhhbqr9wzp3r287hzj50f28pswdxm30l0br6zgfa"))
|
||||
(modules '((srfi srfi-26)
|
||||
(ice-9 ftw)
|
||||
(guix build utils)))
|
||||
(snippet
|
||||
;; Remove fonts we don't use to save space and build time.
|
||||
#~(begin
|
||||
(delete-file-recursively "patched-fonts")
|
||||
(with-directory-excursion "src/unpatched-fonts"
|
||||
(let ((keep? (cut member <>
|
||||
'("." ".." "FiraCode"))))
|
||||
(for-each delete-file-recursively
|
||||
(scandir "."
|
||||
(negate keep?)))))))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "src/unpatched-fonts/FiraCode")))
|
||||
(add-before 'install 'build
|
||||
(lambda _
|
||||
(for-each (lambda (font)
|
||||
;; Patch every font variant with normal, mono and
|
||||
;; proportional modes.
|
||||
;; --complete: Include all icon sets.
|
||||
;; --mono will generate the Mono variants.
|
||||
;; --variable-width-glyphs will generate the
|
||||
;; Proportional variants (used for graphical
|
||||
;; environments).
|
||||
;; If no flag is specified, the no-mono no-proportional
|
||||
;; font will be built.
|
||||
;; --ext ttf: Generate TrueType font.
|
||||
;; --no-progressbars: Disable progress bars for clean build
|
||||
;; output.
|
||||
(for-each (lambda (mode)
|
||||
(apply invoke "fontforge" "-script"
|
||||
"../../../font-patcher"
|
||||
`("--complete" ,@(if mode
|
||||
(list mode)
|
||||
'())
|
||||
"--ext"
|
||||
"ttf"
|
||||
"--no-progressbars"
|
||||
"--outputdir"
|
||||
"."
|
||||
,font)))
|
||||
'(#nil "--mono" "--variable-width-glyphs")))
|
||||
'("Bold/FiraCode-Bold.ttf"
|
||||
"Light/FiraCode-Light.ttf"
|
||||
"Medium/FiraCode-Medium.ttf"
|
||||
"Regular/FiraCode-Regular.ttf"
|
||||
"Retina/FiraCode-Retina.ttf"
|
||||
"SemiBold/FiraCode-SemiBold.ttf"))))
|
||||
(add-after 'build 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(for-each (lambda (font)
|
||||
;; Use Python script with fontforge to validate the font.
|
||||
(invoke "python3" "-c"
|
||||
(format #f
|
||||
"import fontforge
|
||||
name = ~s
|
||||
font = fontforge.open(name)
|
||||
glyph_count = len([g for g in font.glyphs() if g.unicode > 0])
|
||||
print(f'Font has {glyph_count} glyphs with Unicode mapping')
|
||||
if glyph_count < 8000:
|
||||
raise ValueError(f'Font has too few glyphs: {glyph_count}')
|
||||
print(f'✓ Font validation passed for {name}')
|
||||
font.close()~%"
|
||||
font)))
|
||||
'("FiraCodeNerdFont-Bold.ttf"
|
||||
"FiraCodeNerdFont-Light.ttf"
|
||||
"FiraCodeNerdFont-Medium.ttf"
|
||||
"FiraCodeNerdFont-Regular.ttf"
|
||||
"FiraCodeNerdFont-Retina.ttf"
|
||||
"FiraCodeNerdFont-SemiBold.ttf"
|
||||
"FiraCodeNerdFontMono-Bold.ttf"
|
||||
"FiraCodeNerdFontMono-Light.ttf"
|
||||
"FiraCodeNerdFontMono-Medium.ttf"
|
||||
"FiraCodeNerdFontMono-Regular.ttf"
|
||||
"FiraCodeNerdFontMono-Retina.ttf"
|
||||
"FiraCodeNerdFontMono-SemiBold.ttf"
|
||||
"FiraCodeNerdFontPropo-Bold.ttf"
|
||||
"FiraCodeNerdFontPropo-Light.ttf"
|
||||
"FiraCodeNerdFontPropo-Medium.ttf"
|
||||
"FiraCodeNerdFontPropo-Regular.ttf"
|
||||
"FiraCodeNerdFontPropo-Retina.ttf"
|
||||
"FiraCodeNerdFontPropo-SemiBold.ttf"))))))))
|
||||
(native-inputs (list fontforge python-minimal))
|
||||
(home-page "https://www.nerdfonts.com/")
|
||||
(synopsis "Fira Code with an iconic font collection")
|
||||
(description
|
||||
"This package provides the Fira Code font with the extra
|
||||
glyphs from Nerd Fonts.
|
||||
|
||||
@itemize
|
||||
@item Fira Code
|
||||
@item Fira Code Mono
|
||||
@end itemize
|
||||
|
||||
These fonts include glyphs from multiple icon sets:
|
||||
|
||||
@itemize
|
||||
@item Powerline with Extra Symbols
|
||||
@item Font Awesome and Font Awesome Extension
|
||||
@item Material Design Icons
|
||||
@item Weather Icons
|
||||
@item Devicons
|
||||
@item Octicons
|
||||
@item Font Logos (formerly Font Linux)
|
||||
@item Pomicons
|
||||
@item Codeicons
|
||||
@end itemize
|
||||
|
||||
The monospaced variant ensures all glyphs have uniform width, which is essential
|
||||
for terminal emulators that require consistent character spacing.")
|
||||
;; https://github.com/ryanoasis/nerd-fonts/blob/master/license-audit.md
|
||||
(license (list license:expat license:cc-by4.0 license:unlicense
|
||||
license:asl2.0 license:silofl1.1))))
|
||||
|
||||
(define-public font-nerd-jetbrains-mono
|
||||
(package
|
||||
(name "font-nerd-jetbrains-mono")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ryanoasis/nerd-fonts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0adash47a0pmvhhbqr9wzp3r287hzj50f28pswdxm30l0br6zgfa"))
|
||||
(modules '((srfi srfi-26)
|
||||
(ice-9 ftw)
|
||||
(guix build utils)))
|
||||
(snippet
|
||||
;; Remove fonts we don't use to save space and build time.
|
||||
#~(begin
|
||||
(delete-file-recursively "patched-fonts")
|
||||
(with-directory-excursion "src/unpatched-fonts"
|
||||
(let ((keep? (cut member <>
|
||||
'("." ".." "JetBrainsMono"))))
|
||||
(for-each delete-file-recursively
|
||||
(scandir "."
|
||||
(negate keep?)))))))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "src/unpatched-fonts/JetBrainsMono")))
|
||||
(add-before 'install 'build
|
||||
(lambda _
|
||||
(for-each (lambda (font)
|
||||
;; Patch every font variant with normal, mono and
|
||||
;; proportional modes.
|
||||
;; --complete: Include all icon sets.
|
||||
;; --mono will generate the Mono variants.
|
||||
;; --variable-width-glyphs will generate the
|
||||
;; Proportional variants (used for graphical
|
||||
;; environments).
|
||||
;; If no flag is specified, the no-mono no-proportional
|
||||
;; font will be built.
|
||||
;; --ext ttf: Generate TrueType font.
|
||||
;; --no-progressbars: Disable progress bars for clean build
|
||||
;; output.
|
||||
(for-each (lambda (mode)
|
||||
(apply invoke "fontforge" "-script"
|
||||
"../../../font-patcher"
|
||||
`("--complete" ,@(if mode
|
||||
(list mode)
|
||||
'())
|
||||
"--ext"
|
||||
"ttf"
|
||||
"--no-progressbars"
|
||||
"--outputdir"
|
||||
"."
|
||||
,font)))
|
||||
'(#nil "--mono" "--variable-width-glyphs")))
|
||||
`("Ligatures/Bold/JetBrainsMono-Bold.ttf"
|
||||
"Ligatures/BoldItalic/JetBrainsMono-BoldItalic.ttf"
|
||||
"Ligatures/ExtraBold/JetBrainsMono-ExtraBold.ttf"
|
||||
,(string-append "Ligatures/ExtraBoldItalic/"
|
||||
"JetBrainsMono-ExtraBoldItalic.ttf")
|
||||
"Ligatures/ExtraLight/JetBrainsMono-ExtraLight.ttf"
|
||||
,(string-append "Ligatures/ExtraLightItalic/"
|
||||
"JetBrainsMono-ExtraLightItalic.ttf")
|
||||
"Ligatures/Italic/JetBrainsMono-Italic.ttf"
|
||||
"Ligatures/Light/JetBrainsMono-Light.ttf"
|
||||
"Ligatures/LightItalic/JetBrainsMono-LightItalic.ttf"
|
||||
"Ligatures/Medium/JetBrainsMono-Medium.ttf"
|
||||
,(string-append "Ligatures/MediumItalic/"
|
||||
"JetBrainsMono-MediumItalic.ttf")
|
||||
"Ligatures/Regular/JetBrainsMono-Regular.ttf"
|
||||
"Ligatures/SemiBold/JetBrainsMono-SemiBold.ttf"
|
||||
,(string-append "Ligatures/SemiBoldItalic/"
|
||||
"JetBrainsMono-SemiBoldItalic.ttf")
|
||||
"Ligatures/Thin/JetBrainsMono-Thin.ttf"
|
||||
"Ligatures/ThinItalic/JetBrainsMono-ThinItalic.ttf"
|
||||
"NoLigatures/Bold/JetBrainsMonoNL-Bold.ttf"
|
||||
,(string-append "NoLigatures/BoldItalic/"
|
||||
"JetBrainsMonoNL-BoldItalic.ttf")
|
||||
"NoLigatures/ExtraBold/JetBrainsMonoNL-ExtraBold.ttf"
|
||||
,(string-append "NoLigatures/ExtraBoldItalic/"
|
||||
"JetBrainsMonoNL-ExtraBoldItalic.ttf")
|
||||
,(string-append "NoLigatures/ExtraLight/"
|
||||
"JetBrainsMonoNL-ExtraLight.ttf")
|
||||
,(string-append "NoLigatures/ExtraLightItalic/"
|
||||
"JetBrainsMonoNL-ExtraLightItalic.ttf")
|
||||
"NoLigatures/Italic/JetBrainsMonoNL-Italic.ttf"
|
||||
"NoLigatures/Light/JetBrainsMonoNL-Light.ttf"
|
||||
,(string-append "NoLigatures/LightItalic/"
|
||||
"JetBrainsMonoNL-LightItalic.ttf")
|
||||
"NoLigatures/Medium/JetBrainsMonoNL-Medium.ttf"
|
||||
,(string-append "NoLigatures/MediumItalic/"
|
||||
"JetBrainsMonoNL-MediumItalic.ttf")
|
||||
"NoLigatures/Regular/JetBrainsMonoNL-Regular.ttf"
|
||||
"NoLigatures/SemiBold/JetBrainsMonoNL-SemiBold.ttf"
|
||||
,(string-append "NoLigatures/SemiBoldItalic/"
|
||||
"JetBrainsMonoNL-SemiBoldItalic.ttf")
|
||||
"NoLigatures/Thin/JetBrainsMonoNL-Thin.ttf"
|
||||
,(string-append "NoLigatures/ThinItalic/"
|
||||
"JetBrainsMonoNL-ThinItalic.ttf")))))
|
||||
(add-after 'build 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(for-each (lambda (font)
|
||||
;; Use Python script with fontforge to validate the font.
|
||||
(invoke "python3" "-c"
|
||||
(format #f
|
||||
"import fontforge
|
||||
name = ~s
|
||||
font = fontforge.open(name)
|
||||
glyph_count = len([g for g in font.glyphs() if g.unicode > 0])
|
||||
print(f'Font has {glyph_count} glyphs with Unicode mapping')
|
||||
if glyph_count < 8000:
|
||||
raise ValueError(f'Font has too few glyphs: {glyph_count}')
|
||||
print(f'✓ Font validation passed for {name}')
|
||||
font.close()~%"
|
||||
font)))
|
||||
'("JetBrainsMonoNerdFont-Bold.ttf"
|
||||
"JetBrainsMonoNerdFont-Bold.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Bold.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Bold.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Bold.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Bold.ttf"
|
||||
"JetBrainsMonoNerdFont-BoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-BoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-BoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-BoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-BoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-BoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraBold.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraBold.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraBold.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraBold.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraBold.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraBold.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraLight.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraLight.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraLight.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraLight.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraLight.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraLight.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraLightItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-ExtraLightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-Italic.ttf"
|
||||
"JetBrainsMonoNerdFont-Italic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Italic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Italic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Italic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Italic.ttf"
|
||||
"JetBrainsMonoNerdFont-Light.ttf"
|
||||
"JetBrainsMonoNerdFont-Light.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Light.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Light.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Light.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Light.ttf"
|
||||
"JetBrainsMonoNerdFont-LightItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-LightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-LightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-LightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-LightItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-LightItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-Medium.ttf"
|
||||
"JetBrainsMonoNerdFont-Medium.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Medium.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Medium.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Medium.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Medium.ttf"
|
||||
"JetBrainsMonoNerdFont-MediumItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-MediumItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-MediumItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-MediumItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-MediumItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-MediumItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-Regular.ttf"
|
||||
"JetBrainsMonoNerdFont-Regular.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Regular.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Regular.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Regular.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Regular.ttf"
|
||||
"JetBrainsMonoNerdFont-SemiBold.ttf"
|
||||
"JetBrainsMonoNerdFont-SemiBold.ttf"
|
||||
"JetBrainsMonoNerdFontMono-SemiBold.ttf"
|
||||
"JetBrainsMonoNerdFontMono-SemiBold.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-SemiBold.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-SemiBold.ttf"
|
||||
"JetBrainsMonoNerdFont-SemiBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-SemiBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-Thin.ttf"
|
||||
"JetBrainsMonoNerdFont-Thin.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Thin.ttf"
|
||||
"JetBrainsMonoNerdFontMono-Thin.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Thin.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-Thin.ttf"
|
||||
"JetBrainsMonoNerdFont-ThinItalic.ttf"
|
||||
"JetBrainsMonoNerdFont-ThinItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ThinItalic.ttf"
|
||||
"JetBrainsMonoNerdFontMono-ThinItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ThinItalic.ttf"
|
||||
"JetBrainsMonoNerdFontPropo-ThinItalic.ttf"))))))))
|
||||
(native-inputs (list fontforge python-minimal))
|
||||
(home-page "https://www.nerdfonts.com/")
|
||||
(synopsis "JetBrains Mono with an iconic font collection")
|
||||
(description
|
||||
"This package provides the JetBrains Mono font with the extra
|
||||
glyphs from Nerd Fonts.
|
||||
|
||||
@itemize
|
||||
@item JetBrains
|
||||
@item JetBrains Mono
|
||||
@end itemize
|
||||
|
||||
These fonts include glyphs from multiple icon sets:
|
||||
|
||||
@itemize
|
||||
@item Powerline with Extra Symbols
|
||||
@item Font Awesome and Font Awesome Extension
|
||||
@item Material Design Icons
|
||||
@item Weather Icons
|
||||
@item Devicons
|
||||
@item Octicons
|
||||
@item Font Logos (formerly Font Linux)
|
||||
@item Pomicons
|
||||
@item Codeicons
|
||||
@end itemize
|
||||
|
||||
The monospaced variant ensures all glyphs have uniform width, which is essential
|
||||
for terminal emulators that require consistent character spacing.")
|
||||
;; https://github.com/ryanoasis/nerd-fonts/blob/master/license-audit.md
|
||||
@@ -3873,17 +4260,17 @@ typographical palette.")
|
||||
(define-public font-mona-sans
|
||||
(package
|
||||
(name "font-mona-sans")
|
||||
(version "2.0.8")
|
||||
(version "2.0.26")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/github/mona-sans")
|
||||
(commit version)))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gdblparf0v5mdbp891wnsc5x4dxr433fg0dmz0mhzrdw9vaalig"))))
|
||||
"09b6apxq659y4dkkm5swy683q6hviibv1cd48ragm5rd1376hsaz"))))
|
||||
(build-system font-build-system)
|
||||
(outputs '("out" "ttf" "woff"))
|
||||
(home-page "https://github.com/mona-sans")
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
|
||||
@@ -1382,15 +1382,14 @@ Font Format (WOFF).")
|
||||
(hidden-package
|
||||
(package
|
||||
(name "fontconfig-minimal")
|
||||
(version "2.17.1")
|
||||
(version "2.16.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gitlab.freedesktop.org/api/v4/projects/890"
|
||||
"/packages/generic/fontconfig/" version "/fontconfig-"
|
||||
version ".tar.xz"))
|
||||
"https://www.freedesktop.org/software/"
|
||||
"fontconfig/release/fontconfig-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0hd5dw15q0i7518w1zqjcvyhvmlcf3ycv6df0ny1zz7zyj9swp4z"))
|
||||
"086jdsdxmc9ryr0n0dmgs0vfnkhkxxw5hsgpr888pfn9biaxqcva"))
|
||||
(patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
;; In Requires or Requires.private of fontconfig.pc.
|
||||
|
||||
@@ -142,7 +142,6 @@
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages rust-crates)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sqlite)
|
||||
@@ -749,7 +748,7 @@ other applications that need to directly deal with input devices.")
|
||||
python-pytest
|
||||
python-structlog
|
||||
python-pyaml
|
||||
valgrind/interactive))
|
||||
valgrind/pinned))
|
||||
(home-page "https://libinput.pages.freedesktop.org/libei/")
|
||||
(synopsis "Emulated Input protocol implementation")
|
||||
(description
|
||||
@@ -794,16 +793,16 @@ the freedesktop.org XDG Base Directory specification.")
|
||||
(define-public elogind
|
||||
(package
|
||||
(name "elogind")
|
||||
(version "257.14")
|
||||
(version "255.17")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/elogind/elogind")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/elogind/elogind")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16cbkkia2wmcjwqxgzl714igi9sgpcl4sdvag388vlh941136bs9"))))
|
||||
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -3302,7 +3301,6 @@ compatible with the well-known scripts of the same name.")
|
||||
(list gettext-minimal
|
||||
`(,glib "bin")
|
||||
gst-plugins-good ;for wavparse plugin
|
||||
(librsvg-for-system) ;SVG loader needed for one test
|
||||
pkg-config
|
||||
python
|
||||
python-dbusmock
|
||||
|
||||
+16
-2
@@ -7,6 +7,7 @@
|
||||
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -183,7 +184,7 @@ FTP browser, as well as non-interactive commands such as @code{ncftpput} and
|
||||
(define-public weex
|
||||
(package
|
||||
(name "weex")
|
||||
(version "2.8.2")
|
||||
(version "2.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -192,8 +193,21 @@ FTP browser, as well as non-interactive commands such as @code{ncftpput} and
|
||||
"/weex_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ir761hjncr1bamaqcw9j7x57xi3s9jax3223bxwbq30a0vsw1pd"))))
|
||||
"00qnw5q2i0xa2a51jp5737r3jx959rl1gbi9flpwin8s8ymqd9bj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-dependency-tracking")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-/bin/sh
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "po/Makefile.in.in"
|
||||
(("/bin/sh")
|
||||
(search-input-file inputs "/bin/sh")))
|
||||
(substitute* "intl/Makefile.in"
|
||||
(("/bin/sh")
|
||||
(search-input-file inputs "/bin/sh"))))))))
|
||||
(native-inputs
|
||||
(list automake autoconf gettext-minimal))
|
||||
(home-page "https://weex.sourceforge.net/")
|
||||
|
||||
@@ -558,7 +558,7 @@ PCM data.")
|
||||
(define-public nml
|
||||
(package
|
||||
(name "nml")
|
||||
(version "0.8.1")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -567,7 +567,7 @@ PCM data.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03qrpnv2r2kjjfqkc67sqjzxq59li7vb1jhbdhgif8kf2x92805k"))))
|
||||
(base32 "1kn70sskwpl2wcjlkdvxqja04khjb0vwwkgnyr67df1q3mga6l8m"))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
@@ -2391,6 +2391,47 @@ games.")
|
||||
(home-page "https://openmw.org")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public jolt-physics
|
||||
(package
|
||||
(name "jolt-physics")
|
||||
(version "5.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jrouwe/JoltPhysics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dzqi4mxrzg5cyf5k8rdlb078939ib849n7gs6014d3ljymf839r"))
|
||||
(modules '((guix build utils)))
|
||||
;; Unbundle Roboto font.
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "Assets/Fonts")
|
||||
(substitute* "TestFramework/TestFramework.cmake"
|
||||
((".*Roboto-Regular\\.ttf.*") ""))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'change-directory
|
||||
(lambda _
|
||||
(chdir "Build")))
|
||||
(add-after 'install 'change-directory
|
||||
(lambda _
|
||||
(chdir ".."))))))
|
||||
(home-page "https://github.com/jrouwe/JoltPhysics")
|
||||
(synopsis "Rigid body physics and collision detection library")
|
||||
(description
|
||||
"Jolt Physics is a multi core friendly rigid body physics and collision
|
||||
detection library, written in C++. It is suitable for games and VR
|
||||
applications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public godot-lts
|
||||
(package
|
||||
(name "godot")
|
||||
@@ -3579,63 +3620,76 @@ physics engine is just a system for procedural animation.")
|
||||
(define-public libtcod
|
||||
(package
|
||||
(name "libtcod")
|
||||
(version "1.15.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libtcod/libtcod")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pzr8ajmbqvh43ldjajx962xirj3rf8ayh344p6mqlrmb8gxrfr5"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "src/vendor/utf8proc")
|
||||
(delete-file-recursively "src/vendor/zlib")
|
||||
(delete-file "src/vendor/stb_truetype.h")
|
||||
(delete-file "src/vendor/stb_sprintf.h")
|
||||
(delete-file "src/vendor/lodepng.cpp")
|
||||
(delete-file "src/vendor/lodepng.h")
|
||||
|
||||
(substitute* "buildsys/autotools/sources.am"
|
||||
(("\\.\\./\\.\\./src/vendor/lodepng\\.cpp \\\\\n") "")
|
||||
(("\\.\\./\\.\\./src/vendor/stb\\.c \\\\")
|
||||
"../../src/vendor/stb.c")
|
||||
(("\\.\\./\\.\\./src/vendor/utf8proc/utf8proc\\.c") ""))
|
||||
|
||||
(substitute* "src/libtcod/sys_sdl_img_png.cpp"
|
||||
(("\\.\\./vendor/") ""))
|
||||
|
||||
(substitute* '("src/libtcod/color/canvas.cpp"
|
||||
"src/libtcod/sys_sdl_img_png.cpp"
|
||||
"src/libtcod/tileset/truetype.cpp"
|
||||
"src/libtcod/tileset/tilesheet.cpp")
|
||||
(("\\.\\./\\.\\./vendor/") ""))
|
||||
|
||||
(substitute* "src/libtcod/console/printing.cpp"
|
||||
(("\\.\\./\\.\\./vendor/utf8proc/") ""))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(version "2.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libtcod/libtcod")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zl1w4kpiiarh0f1q3j95k9vp90fx98hxl1ykma9hlkfw33srmy0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(rmdir "vcpkg")
|
||||
(with-directory-excursion "src"
|
||||
;; Delete the bundled third party libraries.
|
||||
(with-directory-excursion "vendor"
|
||||
(for-each delete-file
|
||||
'("khrplatform.h"
|
||||
"lodepng.c"
|
||||
"lodepng.h"
|
||||
"stb_ds.h"
|
||||
"stb_truetype.h"))
|
||||
(for-each delete-file-recursively '("utf8proc" "zlib")))
|
||||
;; Do not fetch the libraries from their Git repositories.
|
||||
;; Instead, find the required packages available in Guix and link
|
||||
;; them.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("FetchContent_MakeAvailable\\(SDL3\\)")
|
||||
"find_package(SDL3 REQUIRED)")
|
||||
(("FetchContent_MakeAvailable\\(ZLIB\\)")
|
||||
"find_package(ZLIB REQUIRED)")
|
||||
(("FetchContent_MakeAvailable\\(lodepng-c\\)")
|
||||
"find_library(LODEPNG_LIB NAMES lodepng REQUIRED)")
|
||||
(("lodepng-c") "${LODEPNG_LIB}")
|
||||
(("FetchContent_MakeAvailable\\(utf8proc\\)")
|
||||
(string-append "find_package(PkgConfig REQUIRED)\n"
|
||||
" pkg_check_modules(UTF8PROC REQUIRED"
|
||||
" libutf8proc)"))
|
||||
(("utf8proc\\:\\:utf8proc") "utf8proc")
|
||||
((".*FetchContent_MakeAvailable\\(Stb.*") "")))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-gnu-ld"
|
||||
"LIBS=-lutf8proc -llodepng")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-to-build-dir
|
||||
(lambda _
|
||||
(chdir "buildsys/autotools")
|
||||
(patch-shebang "get_version.py"))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DLIBTCOD_TESTS=ON"
|
||||
"-DBUILD_SHARED_LIBS=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-commands
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/libtcod/tileset_fallback.c"
|
||||
(("popen\\(\"fc-match")
|
||||
(string-append "popen(\""
|
||||
(search-input-file inputs "/bin/fc-match"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "tests"
|
||||
(copy-recursively "../../source/data" "data")
|
||||
(setenv "LD_LIBRARY_PATH" "..")
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "./unittest"
|
||||
;; No video device available.
|
||||
"~[!nonportable]"))))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
python
|
||||
pkg-config
|
||||
stb-sprintf
|
||||
stb-truetype))
|
||||
(list catch2-3.8 pkg-config))
|
||||
(inputs
|
||||
(list lodepng sdl2 utf8proc zlib))
|
||||
(list fontconfig lodepng/c sdl3 stb-truetype utf8proc zlib))
|
||||
(home-page "https://github.com/libtcod/libtcod")
|
||||
(synopsis "Library specifically designed for writing roguelikes")
|
||||
(description
|
||||
|
||||
+29
-84
@@ -1407,10 +1407,10 @@ want what you have.")
|
||||
(license license:cc-by-sa3.0)))
|
||||
|
||||
(define-public cockatrice
|
||||
(let ((release-date "2023-09-14"))
|
||||
(let ((release-date "2026-05-08"))
|
||||
(package
|
||||
(name "cockatrice")
|
||||
(version "2.9.0")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1420,28 +1420,30 @@ want what you have.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jhn6pprd3j8m312mm8nlb9hwcchg3qkks5rw0x7d22alk922dlv"))
|
||||
"11hzw3zmnnsfc4w23kwhzpflmbaj3bgrvsz734wk89fvs5dcdccc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Strip image URLs as they point towards non-free web services
|
||||
'(substitute* "cockatrice/src/settings/downloadsettings.cpp"
|
||||
(("downloadURLs.append\\(\".*\"\\);") "")))))
|
||||
'(substitute* "libcockatrice_settings/libcockatrice/settings/download_settings.cpp"
|
||||
(("\"https://.*\",?") "")))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DWITH_SERVER=1"
|
||||
"-DWITH_CLIENT=1"
|
||||
"-DWITH_ORACLE=1"
|
||||
"-DTEST=1")))
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:configure-flags #~(list "-DWITH_SERVER=1"
|
||||
"-DWITH_CLIENT=1"
|
||||
"-DWITH_ORACLE=1"
|
||||
"-DTEST=1")))
|
||||
(native-inputs
|
||||
(list googletest pkg-config))
|
||||
(inputs
|
||||
(list protobuf
|
||||
qtbase-5
|
||||
qtmultimedia-5
|
||||
qtsvg-5
|
||||
qttools-5
|
||||
qtwebsockets-5
|
||||
qtwayland-5
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qttools
|
||||
qttranslations
|
||||
qtwebsockets
|
||||
qtwayland
|
||||
xz
|
||||
zlib))
|
||||
(home-page "https://cockatrice.github.io")
|
||||
@@ -6038,7 +6040,7 @@ Transport Tycoon Deluxe.")
|
||||
(package
|
||||
(inherit openttd)
|
||||
(name "openttd-jgrpp")
|
||||
(version "0.72.0")
|
||||
(version "0.72.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6047,7 +6049,7 @@ Transport Tycoon Deluxe.")
|
||||
(commit (string-append "jgrpp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xbnnx03y8vhbgi6s7hsxhiqhsy6rhj7fypq6dfqh0z74m5bldkf"))))
|
||||
(base32 "02w6ka0pvqwdc5hpx7xaw24rgi24zrsxnn40zkb71kgrgbwxcpa2"))))
|
||||
(inputs (modify-inputs inputs
|
||||
(append zstd harfbuzz)))
|
||||
(arguments
|
||||
@@ -7747,7 +7749,7 @@ for Un*x systems with X11.")
|
||||
(define-public freeciv
|
||||
(package
|
||||
(name "freeciv")
|
||||
(version "3.2.3")
|
||||
(version "3.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -7759,7 +7761,7 @@ for Un*x systems with X11.")
|
||||
(version-major+minor version) "/" version
|
||||
"/freeciv-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "01ykv00dd5p1lql98dvsz01zsdbcxvymmqp7k547mnacpmc6v7cq"))))
|
||||
(base32 "0b6kxm214ljklh7x7nz2rjzp5mwl6wjr3lsiqavlzp39pw49b8g0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list curl cyrus-sasl gtk+ sdl2-mixer sqlite zlib))
|
||||
@@ -9244,7 +9246,7 @@ making Yamagi Quake II one of the most solid Quake II implementations available.
|
||||
(define-public nudoku
|
||||
(package
|
||||
(name "nudoku")
|
||||
(version "7.0.0")
|
||||
(version "8.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -9253,7 +9255,7 @@ making Yamagi Quake II one of the most solid Quake II implementations available.
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07y7278s3k8dvpsv2vykfyzkbiv9sh62lvmmzrpj2nyf915pc3g2"))))
|
||||
(base32 "1hcbzgn5jivy1mca1h25mwrmy7iav4j7dp7vmp3fa2lx6qwmiv7s"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal pkg-config))
|
||||
@@ -9966,63 +9968,6 @@ ncurses for text display.")
|
||||
(home-page "https://frotz.sourceforge.net")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public naev
|
||||
(package
|
||||
(name "naev")
|
||||
(version "0.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/naev/naev")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t))) ; for game data
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14rvwacvc2gqyh193w8ymaznqrrymbznndfp6f5fjcs90iqnc4p5"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
;; XXX: Do not add debugging symbols, which cause the build to fail.
|
||||
`(#:configure-flags (list "--buildtype=release")
|
||||
#:tests? #f)) ;sole test fails with a missing "/dev/dri" error
|
||||
(native-inputs
|
||||
(list gettext-minimal pkg-config))
|
||||
(inputs
|
||||
(list enet
|
||||
freetype
|
||||
glpk
|
||||
libpng
|
||||
libunibreak
|
||||
libvorbis
|
||||
libwebp
|
||||
libxml2
|
||||
luajit
|
||||
openal
|
||||
openblas
|
||||
pcre2
|
||||
physfs
|
||||
python
|
||||
python-pyyaml
|
||||
sdl2
|
||||
sdl2-image
|
||||
suitesparse))
|
||||
(home-page "https://naev.org/")
|
||||
(synopsis "Game about space exploration, trade and combat")
|
||||
(description
|
||||
"Naev is a 2d action/rpg space game that combines elements from
|
||||
the action, RPG and simulation genres. You pilot a spaceship from
|
||||
a top-down perspective, and are more or less free to do what you want.
|
||||
As the genre name implies, you’re able to trade and engage in combat
|
||||
at will. Beyond that, there’s an ever-growing number of story-line
|
||||
missions, equipment, and ships; even the galaxy itself grows larger
|
||||
with each release. For the literacy-inclined, there are large amounts
|
||||
of lore accompanying everything from planets to equipment.")
|
||||
(license (list license:gpl3
|
||||
license:public-domain
|
||||
license:expat ;edtaa3func.c
|
||||
license:bsd-2 ;distance_field.c
|
||||
license:bsd-3)))) ;perlin.c
|
||||
|
||||
(define-public frotz-dumb-terminal
|
||||
(package
|
||||
(name "frotz-dumb-terminal")
|
||||
@@ -10225,7 +10170,7 @@ their own levels.")
|
||||
(define-public libmanette
|
||||
(package
|
||||
(name "libmanette")
|
||||
(version "0.2.13")
|
||||
(version "0.2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libmanette/"
|
||||
@@ -10233,7 +10178,7 @@ their own levels.")
|
||||
"libmanette-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bnqfxd9b5vff9256f8vxd404fkvbvc5gxva6qcjj2fyw3yw4z18"))))
|
||||
"1n513s8ksjbrwqq7k46f3550avx11gly3a85shsdrwc0f4k4kcs8"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list `(,glib "bin") ; for glib-compile-resources
|
||||
@@ -11056,7 +11001,7 @@ fight each other on an arena-like map.")
|
||||
(define-public flare-engine
|
||||
(package
|
||||
(name "flare-engine")
|
||||
(version "1.14")
|
||||
(version "1.15")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -11065,7 +11010,7 @@ fight each other on an arena-like map.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gyaxr6zykwg5kg9xc3vlb5a6fas4z3zbk53y0zlfl35n4vqlh84"))))
|
||||
"1fnqirvislxl48jad9i1mwn7zlbd4zrmhjis4dmzy4wng5qjv1x3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -11085,7 +11030,7 @@ action RPGs.")
|
||||
(define-public flare-game
|
||||
(package
|
||||
(name "flare-game")
|
||||
(version "1.14")
|
||||
(version "1.15")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -11094,7 +11039,7 @@ action RPGs.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1as9dsg0ddz14jjk4y5nj0ml20cwncrcnbdk10r1jaa2vss9bbn3"))))
|
||||
"1d7asy7wqas6r6nq846fmvdrshr98mzpwg0xi86wwmpbjrnjipnv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
(define-public gramps
|
||||
(package
|
||||
(name "gramps")
|
||||
(version "5.2.3")
|
||||
(version "6.0.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -53,7 +53,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gzhi5hxpgc6pxs40xsxf67hndjifnfhm89s3ly68c70x83qmwhd"))))
|
||||
(base32 "06kdcf6h9rqdcsx097a3n2z4q8yvln20ja7ajwrna1i133591bra"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -68,6 +68,11 @@
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-gexiv2-dependency
|
||||
(lambda _
|
||||
;; Use our own version
|
||||
(substitute* (find-files "." ".*\\.py$")
|
||||
(("\"GExiv2\", \"0.10\"") "\"GExiv2\", \"0.16\""))))
|
||||
(add-before 'check 'prepare-tests
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))
|
||||
@@ -113,6 +118,7 @@
|
||||
python-bsddb3
|
||||
python-jsonschema
|
||||
python-lxml
|
||||
python-orjson
|
||||
python-pillow
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
|
||||
+13
-33
@@ -2122,28 +2122,9 @@ Unidata/UCAR UDUNITS-2 library, and the cftime calendar functionality.")
|
||||
(sha256
|
||||
(base32
|
||||
"1f5l7b372dfyibawhcnlz700z11a0dxqd7kr731nwfmhwz2v3438"))
|
||||
(modules '((guix build utils)))
|
||||
;; TODO: Unbundle more when missing packages are available.
|
||||
(snippet #~(with-directory-excursion "vendor"
|
||||
(for-each delete-file-recursively
|
||||
'("github.com/BurntSushi"
|
||||
"github.com/SAP"
|
||||
"github.com/ajstarks"
|
||||
"github.com/aws"
|
||||
"github.com/beorn7"
|
||||
"github.com/dgryski"
|
||||
"github.com/go-test"
|
||||
"github.com/gofrs"
|
||||
"github.com/golang"
|
||||
"github.com/google"
|
||||
"github.com/jmespath"
|
||||
"github.com/mattn"
|
||||
"github.com/prometheus"
|
||||
"github.com/redis"
|
||||
"github.com/spf13"
|
||||
"go.uber.org"
|
||||
"golang.org/x"
|
||||
"google.golang.org/protobuf"))))))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2157,16 +2138,16 @@ Unidata/UCAR UDUNITS-2 library, and the cftime calendar functionality.")
|
||||
"-X github.com/go-spatial/tegola/internal/"
|
||||
"build.Version=" #$version))))
|
||||
(inputs
|
||||
(list ;; go-cloud-google-com-go-storage
|
||||
(list go-cloud-google-com-go-storage
|
||||
go-github-com-ajstarks-svgo
|
||||
go-github-com-akrylysov-algnhsa
|
||||
go-github-com-aws-aws-sdk-go
|
||||
;; go-github-com-azure-azure-storage-blob-go
|
||||
go-github-com-azure-azure-storage-blob-go
|
||||
go-github-com-burntsushi-toml
|
||||
go-github-com-dimfeld-httptreemux
|
||||
go-github-com-gdey-tbltest
|
||||
;; go-github-com-go-spatial-cobra
|
||||
;; go-github-com-go-spatial-geom
|
||||
go-github-com-go-spatial-cobra
|
||||
go-github-com-go-spatial-geom
|
||||
go-github-com-go-spatial-proj
|
||||
go-github-com-go-test-deep
|
||||
go-github-com-golang-protobuf
|
||||
@@ -2179,15 +2160,14 @@ Unidata/UCAR UDUNITS-2 library, and the cftime calendar functionality.")
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-redis-go-redis-v9
|
||||
go-github-com-sap-go-hdb
|
||||
;; go-github-com-theckman-goconstraint
|
||||
go-github-com-theckman-goconstraint
|
||||
go-go-uber-org-zap
|
||||
;; go-gopkg-in-go-playground-colors-v1
|
||||
go-gopkg-in-go-playground-colors-v1
|
||||
|
||||
;; XXX: Indirect dependencies, remove when all direct ones are
|
||||
;; packaged.
|
||||
go-github-com-golang-groupcache ;go.opencensus.io/trace
|
||||
go-github-com-spf13-pflag ;github.com/go-spatial/cobra
|
||||
go-golang-org-x-xerrors)) ;cloud.google.com/go
|
||||
;; XXX: These packages have to be bootstrapped to break cycle with
|
||||
;; go-google-golang-org-grpc.
|
||||
go-github-com-envoyproxy-go-control-plane
|
||||
go-github-com-envoyproxy-go-control-plane-envoy))
|
||||
(home-page "https://tegola.io")
|
||||
(synopsis "Vector tile server for maps")
|
||||
(description "Tegola is a free vector tile server written in Go. Tegola
|
||||
|
||||
@@ -50,15 +50,15 @@
|
||||
(define-public lcms
|
||||
(package
|
||||
(name "lcms")
|
||||
(version "2.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
||||
(version-major+minor version)
|
||||
"/lcms2-" (version-major+minor version) ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))
|
||||
(version "2.13.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
||||
(version-major+minor version)
|
||||
"/lcms2-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"121v414bg2zk0fcwx0kigr2l6nxl88nmblfn3gq5lz5jwybffwyl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")))
|
||||
@@ -73,8 +73,19 @@ Consortium standard (ICC), approved as ISO 15076-1.")
|
||||
(home-page "https://www.littlecms.com/")
|
||||
(properties '((cpe-name . "little_cms_color_engine")))))
|
||||
|
||||
;; Can be removed after 2027/05/01.
|
||||
(define-deprecated-package lcms-next lcms)
|
||||
(define-public lcms-next
|
||||
(package
|
||||
(inherit lcms)
|
||||
(name "lcms-next")
|
||||
(version "2.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
||||
(version-major+minor version)
|
||||
"/lcms2-" (version-major+minor version) ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))))
|
||||
|
||||
(define-public libpaper
|
||||
(package
|
||||
|
||||
@@ -994,7 +994,7 @@ useful for C++.")
|
||||
(define-public python-pygobject
|
||||
(package
|
||||
(name "python-pygobject")
|
||||
(version "3.54.5")
|
||||
(version "3.54.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1003,7 +1003,7 @@ useful for C++.")
|
||||
"/pygobject-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11dm5yi80v143dn21bayqxb53w67hk1lishmrw35c97m91inyrdn"))))
|
||||
"1rxsj85xl73a14vz7s30sy8lx9sswd2j2hgj3i4mcz8g989hknm8"))))
|
||||
(build-system meson-build-system)
|
||||
;; The tests require mutter, which would introduce a circular dependency.
|
||||
(arguments (list #:tests? #f))
|
||||
|
||||
@@ -2074,6 +2074,43 @@ used in text editing environments to provide a complete and integrated
|
||||
feature-set for programming Vala effectively.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public vala-lint
|
||||
(package
|
||||
(name "vala-lint")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/vala-lang/vala-lint")
|
||||
(commit "28dbf44dd2c5ec2fc7273982d35ff8cb0ef46283")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pl581xaxr8f1gm66fygazfa3ms9mdjqvb3zpl55gbbsc36fjyhs"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-vala-lint-symlink
|
||||
(lambda _
|
||||
(let ((bindir (string-append #$output "/bin")))
|
||||
(symlink "io.elementary.vala-lint"
|
||||
(string-append bindir "/vala-lint"))))))))
|
||||
(native-inputs
|
||||
(list gobject-introspection
|
||||
pkg-config
|
||||
vala))
|
||||
(inputs
|
||||
(list glib json-glib vala))
|
||||
(home-page "https://github.com/vala-lang/vala-lint")
|
||||
(synopsis "Code-style checker for Vala")
|
||||
(description
|
||||
"Vala-lint checks Vala source code for common formatting and style
|
||||
issues. It can be configured to enable or disable individual checks and can
|
||||
report line and column locations for detected issues.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public yaru-theme
|
||||
(package
|
||||
|
||||
+235
-228
@@ -215,7 +215,6 @@
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages sdl)
|
||||
@@ -2085,7 +2084,7 @@ offline sources, providing a centralized place for managing your contacts.")
|
||||
(define-public gnome-desktop
|
||||
(package
|
||||
(name "gnome-desktop")
|
||||
(version "44.5")
|
||||
(version "44.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -2094,16 +2093,11 @@ offline sources, providing a centralized place for managing your contacts.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0br33ma7l45nr8yp9bcjqgy9zrj57yy2fnkc0b0yh0rsdrd9kq10"))))
|
||||
"1129nh32ga5vv869fwby3n2lvj2chd9wys8j1jdnisr8lg3bk30x"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-problematic-tests
|
||||
(lambda _
|
||||
;; The languages test fails due to Guix defaulting to C.UTF-8.
|
||||
(substitute* "tests/meson.build"
|
||||
((".*'languages':.*") ""))))
|
||||
(add-before 'configure 'patch-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libgnome-desktop/gnome-languages.c"
|
||||
@@ -2693,7 +2687,7 @@ and single page document formats like PDF and DejaVu.")
|
||||
(define-public gsettings-desktop-schemas
|
||||
(package
|
||||
(name "gsettings-desktop-schemas")
|
||||
(version "49.1")
|
||||
(version "48.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -2702,7 +2696,7 @@ and single page document formats like PDF and DejaVu.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qqfxml3kqg87ly5w8rhqalin6qv20jcn2gqkdmhga75sn1pyykp"))))
|
||||
"1lqv5mn7r1c8nxm6dfxgvk56r2sqfgafkj5jm1jzh65z2dc1b3z6"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
@@ -2880,7 +2874,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
|
||||
(define-public adwaita-icon-theme
|
||||
(package
|
||||
(name "adwaita-icon-theme")
|
||||
(version "49.0")
|
||||
(version "48.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -2888,7 +2882,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p3mj6bl8wp1cri2qdszqrqqs47irh7qvajr5yaaly5js5hn85k5"))))
|
||||
"04kfi8qpvghhmj83p03k509pnsp8ywlrii1qm0xv056dxf39pznb"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -3227,7 +3221,6 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
@@ -3235,13 +3228,17 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
||||
(lambda _
|
||||
(substitute* "meson_post_install.py"
|
||||
(("gtk-update-icon-cache") "true"))))
|
||||
(add-after 'unpack 'skip-modules-test
|
||||
;; This test fails with 'GLib-GObject-FATAL-CRITICAL: cannot
|
||||
;; register existing type 'GIRepository' since the GNOME 49
|
||||
;; upgrades.
|
||||
(lambda _
|
||||
(substitute* "tests/meson.build"
|
||||
((".*'modules', .*") ""))))
|
||||
|
||||
#$@(if (this-package-input "gjs")
|
||||
'()
|
||||
'((add-after 'unpack 'skip-gjs-test
|
||||
(lambda _
|
||||
;; When the optional dependency on GJS is missing, skip
|
||||
;; the GJS plugin tests.
|
||||
(substitute* "tests/modules.c"
|
||||
(("g_test_add.*JavaScript.*" all)
|
||||
(string-append "// " all "\n")))
|
||||
(delete-file "tests/catalogs/gjsplugin.xml")))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
@@ -3497,7 +3494,7 @@ XML/CSS rendering engine.")
|
||||
(define-public libgsf
|
||||
(package
|
||||
(name "libgsf")
|
||||
(version "1.14.55")
|
||||
(version "1.14.54")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -3505,7 +3502,7 @@ XML/CSS rendering engine.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c91l0l3camxpanpgp634nd68vz3v0jbk9bxs5dfmlsvl6xhmmkl"))))
|
||||
"08vny43clswk95djch50z17hdnns2p8qc93if6qcy4r598k6k26i"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "bin" "doc"))
|
||||
(arguments
|
||||
@@ -3553,7 +3550,7 @@ for dealing with different structured file formats.")
|
||||
(define-public librsvg
|
||||
(package
|
||||
(name "librsvg")
|
||||
(version "2.61.4")
|
||||
(version "2.58.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/librsvg/"
|
||||
@@ -3561,31 +3558,45 @@ for dealing with different structured file formats.")
|
||||
"librsvg-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"036afbhd2h4brbd491kmgig0ib1df3s7j9bx8349b3zjs4lfm87w"))))
|
||||
(build-system meson-build-system)
|
||||
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc" "debug"))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list #$@(if (%current-target-system)
|
||||
#~( ;; g-ir-scanner can't import its modules
|
||||
#~(list "--disable-static"
|
||||
#$@(if (%current-target-system)
|
||||
#~(;; g-ir-scanner can't import its modules
|
||||
;; and vala currently can't be cross-compiled.
|
||||
"-Dintrospection=false"
|
||||
"-Dvala=false"
|
||||
"--enable-introspection=no"
|
||||
"--enable-vala=no"
|
||||
;; These two are necessary for cross-compiling.
|
||||
(string-append
|
||||
"--build=" #$(nix-system->gnu-triplet
|
||||
(%current-system)))
|
||||
(string-append
|
||||
"--host=" #$(%current-target-system))
|
||||
;; This is needed when cross-compiling for some
|
||||
;; architectures as autoconf and rust disagree about
|
||||
;; the target triplet.
|
||||
(string-append "-Dtriplet="
|
||||
(string-append "RUST_TARGET="
|
||||
#$(platform-rust-target
|
||||
(lookup-platform-by-target
|
||||
(%current-target-system)))))
|
||||
#~())
|
||||
"-Dpixbuf-loader=enabled") ;disabled since 2.61.2
|
||||
#:imported-modules (append %cargo-build-system-modules
|
||||
%meson-build-system-modules)
|
||||
#~("--enable-vala")))
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
|
||||
#$@(if (%current-target-system)
|
||||
#~((string-append "RUST_TARGET="
|
||||
#$(platform-rust-target
|
||||
(lookup-platform-by-target
|
||||
(%current-target-system)))))
|
||||
#~()))
|
||||
#:imported-modules %cargo-build-system-modules
|
||||
#:modules
|
||||
'(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build meson-build-system)
|
||||
(guix build gnu-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -3602,19 +3613,12 @@ for dealing with different structured file formats.")
|
||||
(lambda _
|
||||
;; Something about the build environment resists building
|
||||
;; successfully with the '--locked' flag.
|
||||
(substitute* "meson/cargo_wrapper.py"
|
||||
(("\"--locked\",?") ""))
|
||||
;; This is needed so Cargo embeds the correct RUNPATH
|
||||
;; information to the binaries it produces,
|
||||
;; e.g. libpixbufloader_svg.so.
|
||||
(setenv "RUSTFLAGS"
|
||||
(string-append "-C link-arg=-Wl,-rpath,"
|
||||
#$output "/lib"))))
|
||||
(add-after 'unpack 'prepare-for-tests
|
||||
(substitute* '("Makefile.am" "Makefile.in")
|
||||
(("--locked") ""))))
|
||||
(add-after 'unpack 'loosen-test-boundaries
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp") ;placate fontconfig errors
|
||||
;; Increase reftest tolerance a bit to account for different
|
||||
;; libraries like pango, etc.
|
||||
;; harfbuzz, pango, etc.
|
||||
(setenv "RSVG_TEST_TOLERANCE" "20")
|
||||
;; These tests fail even after loosening the tolerance.
|
||||
(substitute* "rsvg/tests/reference.rs"
|
||||
@@ -3622,16 +3626,19 @@ for dealing with different structured file formats.")
|
||||
((".*rtl_tspan_svg.*") ""))))
|
||||
(add-before 'configure 'pre-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "gdk-pixbuf-loader/meson.build"
|
||||
(substitute* "gdk-pixbuf-loader/Makefile.in"
|
||||
;; By default the gdk-pixbuf loader is installed under
|
||||
;; gdk-pixbuf's prefix. Work around that.
|
||||
(("pixbuf_dep.get_variable.*'gdk_pixbuf_moduledir'.*),")
|
||||
(format #f "get_option('prefix') / '~a',"
|
||||
#$%gdk-pixbuf-loaders-directory))
|
||||
(("pixbuf_dep.get_variable.*'gdk_pixbuf_query_loaders'.*),")
|
||||
(format #f "'~a'," (which "gdk-pixbuf-query-loaders")))
|
||||
(("pixbuf_dep.get_variable.*'gdk_pixbuf_cache_file'.*)")
|
||||
(format #f "prefix / '~a'" #$%gdk-pixbuf-loaders-cache-file)))))
|
||||
(("gdk_pixbuf_moduledir = .*$")
|
||||
(string-append "gdk_pixbuf_moduledir = "
|
||||
"$(prefix)/"
|
||||
#$(dirname %gdk-pixbuf-loaders-cache-file) "/"
|
||||
"loaders\n")))
|
||||
(substitute* "configure"
|
||||
(("gdk_pixbuf_cache_file=.*")
|
||||
(string-append "gdk_pixbuf_cache_file="
|
||||
#$output "/"
|
||||
#$%gdk-pixbuf-loaders-cache-file "\n")))))
|
||||
(add-after 'unpack 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
@@ -3643,30 +3650,23 @@ for dealing with different structured file formats.")
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums))))
|
||||
(add-after 'install 'sanitize-pkg-config-files
|
||||
(lambda _
|
||||
(substitute* (find-files #$output "\\.pc$")
|
||||
(("^Requires.private:.*") "")))))))
|
||||
patch-cargo-checksums)))))))
|
||||
(native-inputs
|
||||
(append
|
||||
(list gdk-pixbuf
|
||||
gi-docgen
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
python
|
||||
python-docutils ;for rst2man
|
||||
rust
|
||||
rust-cargo-c
|
||||
`(,rust "cargo")
|
||||
vala)
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(inputs
|
||||
(cons* dav1d
|
||||
freetype
|
||||
(cons* freetype
|
||||
gobject-introspection
|
||||
harfbuzz
|
||||
libxml2
|
||||
pango
|
||||
(cargo-inputs 'librsvg)))
|
||||
@@ -4667,7 +4667,7 @@ and RDP protocols.")
|
||||
(define-public dconf
|
||||
(package
|
||||
(name "dconf")
|
||||
(version "0.49.0")
|
||||
(version "0.40.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -4676,7 +4676,7 @@ and RDP protocols.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dkc7nbd0byibf6i5gm9xqclr7i94n1p1qbqcnwxnml1lm4px90n"))))
|
||||
"0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4685,8 +4685,7 @@ and RDP protocols.")
|
||||
;; there and loaded without having to set GCONF_PROFILE, which cannot be
|
||||
;; safely set globally (as a gconf profile is a per-user thing).
|
||||
#:configure-flags #~(list "--sysconfdir=/etc"
|
||||
"-Dgtk_doc=true"
|
||||
"--wrap-mode=nodownload") ;for gvdb
|
||||
"-Dgtk_doc=true")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'increase-test-timeout
|
||||
(lambda _
|
||||
@@ -5212,26 +5211,17 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
|
||||
(define-public gi-docgen
|
||||
(package
|
||||
(name "gi-docgen")
|
||||
(version "2026.1")
|
||||
(version "2025.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gi_docgen" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1df7yb6d5zsr4wks4p2lf40a2v4v2dasx3pv2v3d2ma25d7krb35"))))
|
||||
"1i9dlwirizc0n5sw9w60yscaj14x9x06fdq64kwxqkia13d6dq3z"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-commands
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("gidocgen/config.py"
|
||||
"gidocgen/utils.py")
|
||||
(("find_program\\(['\"]dot['\"])")
|
||||
(format #f "find_program(~s)"
|
||||
(search-input-file inputs "bin/dot")))))))))
|
||||
(native-inputs (list python-pytest-bootstrap python-setuptools))
|
||||
(inputs (list graphviz-14))
|
||||
(native-inputs
|
||||
(list python-pytest-bootstrap
|
||||
python-setuptools))
|
||||
(propagated-inputs (list python-jinja2
|
||||
python-markdown
|
||||
python-markupsafe
|
||||
@@ -6988,10 +6978,10 @@ side panel;
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
|
||||
(define-public libglycin
|
||||
(define-public glycin-loaders
|
||||
(package
|
||||
(name "libglycin")
|
||||
(version "2.1.1")
|
||||
(name "glycin-loaders")
|
||||
(version "2.0.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -7001,16 +6991,12 @@ side panel;
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
|
||||
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
|
||||
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-Dglycin-loaders=false"
|
||||
"-Dglycin-thumbnailer=true"
|
||||
"-Dlibglycin=true"
|
||||
"-Dlibglycin-gtk4=true")
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
,@%cargo-build-system-modules)
|
||||
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
|
||||
@@ -7096,15 +7082,18 @@ side panel;
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/sophie-h/test-images.git")
|
||||
(commit "b3a107267cc4f1d136b7007938556250ce06fc4f")))
|
||||
(commit "b148bcf70847d6f126a8e83e27e1c59d2e474adf")))
|
||||
(file-name "glycin-test-images")
|
||||
(sha256
|
||||
(base32
|
||||
"1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
|
||||
"16s3lss4cbny5d0ixhc0vaxxcvq2n7rcnbklrxdm84p2m21192vm")))))
|
||||
(inputs (cons* bubblewrap
|
||||
libheif
|
||||
libjxl
|
||||
librsvg
|
||||
(cargo-inputs 'glycin)))
|
||||
;; The following inputs are 'Required' in the pkg-config files.
|
||||
(propagated-inputs (list fontconfig glib gtk lcms libseccomp))
|
||||
(propagated-inputs (list fontconfig glib gtk lcms-next libseccomp))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/glycin")
|
||||
(synopsis "Rust library for sandboxed image decoding")
|
||||
(description "Glycin is a sandbox image decoder for image viewers and
|
||||
@@ -7112,22 +7101,6 @@ thumbnails to display untrusted content safely. This package provides the
|
||||
runtime image loader executables that are used inside the sandbox.")
|
||||
(license (list license:mpl2.0 license:lgpl2.1+))))
|
||||
|
||||
(define-public glycin-loaders
|
||||
(package/inherit libglycin
|
||||
(name "glycin-loaders")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags original-flags #~(list))
|
||||
#~(list "-Dglycin-loaders=true"
|
||||
"-Dglycin-thumbnailer=false"
|
||||
"-Dlibglycin=false"
|
||||
"-Dlibglycin-gtk4=false"))))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(prepend libheif
|
||||
libjxl
|
||||
librsvg)))))
|
||||
|
||||
(define-public loupe
|
||||
(package
|
||||
(name "loupe")
|
||||
@@ -7198,7 +7171,6 @@ runtime image loader executables that are used inside the sandbox.")
|
||||
gtk
|
||||
lcms
|
||||
libadwaita
|
||||
libglycin
|
||||
libgweather
|
||||
libseccomp
|
||||
(cargo-inputs 'loupe)))
|
||||
@@ -7239,14 +7211,14 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
|
||||
(define-public msgraph
|
||||
(package
|
||||
(name "msgraph")
|
||||
(version "0.3.4")
|
||||
(version "0.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/msgraph/"
|
||||
(version-major+minor version) "/"
|
||||
"msgraph-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1iyn0jdqgw238cxaxvji0v9ds0xwfzffz65xpgzywcibn3kfqc87"))))
|
||||
(base32 "04j00lf0aqiccgbg95jh9sxmx48bgsrg110ilap9014r58py3mrp"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
|
||||
(inputs (list gnome-online-accounts json-glib libsoup librest))
|
||||
@@ -7259,7 +7231,7 @@ MS Graph APIs.")
|
||||
(define-public gvfs
|
||||
(package
|
||||
(name "gvfs")
|
||||
(version "1.58.1")
|
||||
(version "1.58.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gvfs/"
|
||||
@@ -7267,7 +7239,7 @@ MS Graph APIs.")
|
||||
"gvfs-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fywnla2xwyi44jfipyixcczxh5h34c4lzfzf9lsgzxip9mpslzw"))))
|
||||
"0bqq9z1y31yk3c8wz8i8fql7dr8cfxsd5a49xc4v7z6hfdlf76yx"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -7617,7 +7589,7 @@ environments.")
|
||||
(define-public yelp-xsl
|
||||
(package
|
||||
(name "yelp-xsl")
|
||||
(version "49.0")
|
||||
(version "42.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -7626,7 +7598,7 @@ environments.")
|
||||
(version-major version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1v7va1xa80pyj0dyfraalvsag4m0lza4v87r2i7phyz6iy7kmm2r"))))
|
||||
(base32 "1lfpmdc4y46a528q5filn6xs8add921avrnwl2vpysp6n9zb1szx"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list mallard-ducktype
|
||||
@@ -7654,7 +7626,7 @@ jQuery.Syntax JavaScript libraries.")
|
||||
(define-public yelp
|
||||
(package
|
||||
(name "yelp")
|
||||
(version "49.0")
|
||||
(version "42.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -7662,7 +7634,7 @@ jQuery.Syntax JavaScript libraries.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mrlqsbr2wb0k2p3dmywzdb0c0rzcx1dv6qlimxzx9ab3w5lwqg6"))))
|
||||
"18w95bfhq3d364af1qqb63rgaixkrl7xk0x079x6m7lscwic9k16"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -7687,9 +7659,7 @@ jQuery.Syntax JavaScript libraries.")
|
||||
`("PATH" ":" prefix
|
||||
(,(dirname (search-input-file inputs "bin/groff"))))))))))
|
||||
(native-inputs
|
||||
(list desktop-file-utils
|
||||
`(,glib "bin") ;for glib-genmarshal, etc.
|
||||
`(,gtk "bin")
|
||||
(list `(,glib "bin") ; for glib-genmarshal, etc.
|
||||
intltool
|
||||
itstool
|
||||
pkg-config))
|
||||
@@ -7698,14 +7668,13 @@ jQuery.Syntax JavaScript libraries.")
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gsettings-desktop-schemas
|
||||
libadwaita
|
||||
libhandy
|
||||
libxslt
|
||||
man-db ;for URIs like "man:ls"
|
||||
groff-minimal ;ditto
|
||||
gtk
|
||||
man-db ;for URIs like "man:ls"
|
||||
groff-minimal ;ditto
|
||||
gtk+
|
||||
sqlite
|
||||
webkitgtk
|
||||
webkitgtk-for-gtk3
|
||||
yelp-xsl))
|
||||
(home-page "https://wiki.gnome.org/Apps/Yelp")
|
||||
(synopsis "GNOME help browser")
|
||||
@@ -7994,88 +7963,57 @@ configuration program to choose applications starting on login.")
|
||||
(define-public gjs
|
||||
(package
|
||||
(name "gjs")
|
||||
(version "1.88.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "subprojects"
|
||||
"gobject-introspection-tests")))))
|
||||
(version "1.84.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rh1fkkb35aa1zrhzbizzxllkwc3snkw67i901in61ap6kgjw51m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "installed-tests/scripts/testCommandLine.sh"
|
||||
(("Valentín") "")
|
||||
(("☭") ""))
|
||||
(substitute* "modules/script/package.js"
|
||||
(("type_default_interface_ref")
|
||||
"type_default_interface_get"))))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build meson-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:configure-flags #~(list "-Dinstalled_tests=false")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-gi
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/gjs")
|
||||
`("GI_TYPELIB_PATH" suffix
|
||||
(,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GObject-2.0.typelib"))
|
||||
,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GIRepository-2.0.typelib")))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; For the missing /etc/machine-id.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(setenv "HOME" (getcwd))
|
||||
;; In Guix, gobject-introspection is patched to always embed
|
||||
;; the absolute path of a typelib library; unfortunately it
|
||||
;; does this also for test typelibs not meant to be installed;
|
||||
;; work around it via temporary symlinks.
|
||||
(let* ((test-libraries (find-files (getcwd)
|
||||
"\\.so(\\.[0-9]*)?$"))
|
||||
(test-library-links (map (lambda (x)
|
||||
(cons x (string-append
|
||||
#$output "/lib/"
|
||||
(basename x))))
|
||||
test-libraries)))
|
||||
(for-each (match-lambda
|
||||
((old . new)
|
||||
(symlink old new)))
|
||||
test-library-links)
|
||||
(invoke "xvfb-run" "--" "dbus-run-session"
|
||||
"meson" "test" "--print-errorlogs" "-t" "0"
|
||||
"-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1"))
|
||||
(for-each delete-file (map cdr test-library-links))))))
|
||||
(add-after 'install 'delete-installed-tests
|
||||
(lambda _
|
||||
;; Installed tests libraries are installed despite
|
||||
;; -Dinstalled_tests=false.
|
||||
(delete-file-recursively
|
||||
(string-append #$output "/libexec/installed-tests"))))
|
||||
(add-after 'install 'sanitize-pkg-config-files
|
||||
(lambda _
|
||||
(substitute* (find-files #$output "\\.pc$")
|
||||
(("^Requires.private:.*") "")))))))
|
||||
'(#:configure-flags '("-Dinstalled_tests=false")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; The test suite requires a running X server.
|
||||
(system "Xvfb :1 &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
|
||||
;; For the missing /etc/machine-id.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(setenv "HOME" (getcwd))))
|
||||
(add-after 'unpack 'skip-failing-tests
|
||||
(lambda _
|
||||
;; Expects to test against 2.84, but we're using 2.86.
|
||||
(substitute* "installed-tests/js/testIntrospection.js"
|
||||
(("const skip = imports.gi.versions.GioUnix !== '2\\.0';")
|
||||
"const skip = true;"))))
|
||||
(add-after 'install 'wrap-gi
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (string-append (assoc-ref outputs "out")
|
||||
"/bin/gjs")
|
||||
`("GI_TYPELIB_PATH" suffix
|
||||
(,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GObject-2.0.typelib"))
|
||||
,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
|
||||
(native-inputs
|
||||
(list `(,glib "bin") ;for glib-compile-resources
|
||||
pkg-config
|
||||
@@ -8083,16 +8021,16 @@ configuration program to choose applications starting on login.")
|
||||
;; For testing
|
||||
dbus
|
||||
dconf ;required to properly store settings
|
||||
gtk+
|
||||
sysprof
|
||||
util-linux
|
||||
xvfb-run))
|
||||
(inputs (list mozjs readline))
|
||||
xorg-server-for-tests))
|
||||
(propagated-inputs
|
||||
;; These are all in the Requires field of gjs-1.0.pc.
|
||||
(list glib gobject-introspection))
|
||||
;; These are all in the Requires.private field of gjs-1.0.pc.
|
||||
;; Check the version of mozjs required in meson.build.
|
||||
(list cairo gobject-introspection mozjs-128))
|
||||
(inputs
|
||||
(list gtk+ readline))
|
||||
(synopsis "Javascript bindings for GNOME")
|
||||
(home-page "https://gitlab.gnome.org/GNOME/gjs")
|
||||
(home-page "https://wiki.gnome.org/Gjs")
|
||||
(description
|
||||
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
|
||||
javascript engine and the GObject introspection framework.")
|
||||
@@ -8414,7 +8352,7 @@ window manager.")
|
||||
(define-public gnome-online-accounts
|
||||
(package
|
||||
(name "gnome-online-accounts")
|
||||
(version "3.56.4")
|
||||
(version "3.54.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -8422,7 +8360,7 @@ window manager.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cv1l757g4iac39l0ccwvqhibyjdjhy9q8p86fp8mqs5mfnix0ra"))))
|
||||
"10bwrc50aqaf7j3qabv7zpfnf2dmf9mwbmnjpgqfqsmny2ba80pb"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9943,7 +9881,7 @@ easy, safe, and automatic.")
|
||||
(define-public tinysparql
|
||||
(package
|
||||
(name "tinysparql")
|
||||
(version "3.10.1")
|
||||
(version "3.9.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/tinysparql/"
|
||||
@@ -9951,7 +9889,7 @@ easy, safe, and automatic.")
|
||||
"tinysparql-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r824dz8szfwd2z95nk8ffkvwq0ayva0wa6n1railrxnkmw3wzss"))))
|
||||
"13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -10234,7 +10172,6 @@ through portals.")
|
||||
gst-plugins-base
|
||||
json-glib
|
||||
libadwaita
|
||||
libglycin
|
||||
libportal
|
||||
libseccomp
|
||||
libselinux
|
||||
@@ -10306,7 +10243,7 @@ is complete it provides a graphical representation of each selected folder.")
|
||||
(define-public gnome-backgrounds
|
||||
(package
|
||||
(name "gnome-backgrounds")
|
||||
(version "49.0")
|
||||
(version "48.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -10315,7 +10252,7 @@ is complete it provides a graphical representation of each selected folder.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dgl8jxczx2cwszg07bhrjpcg2rywfcak2d5md20x84bwl6jdzh1"))))
|
||||
"1n8ypmdgpp2hj7jsbpicha0d2pfnqbwmavcjfzlmr3qd5rxmn73a"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gettext-minimal))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
|
||||
@@ -10380,7 +10317,7 @@ beautifying border effects.")
|
||||
(define-public dconf-editor
|
||||
(package
|
||||
(name "dconf-editor")
|
||||
(version "49.0")
|
||||
(version "45.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -10388,7 +10325,7 @@ beautifying border effects.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16fkppclv7xzglfafqg8b9nd5cjqlfwlyci800gg7psivzxcra4h"))))
|
||||
"1pa1k510qx4v0ywhqwpj3qfjyz8qiiis4565ghhydnpfg1v2k00i"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
@@ -11627,6 +11564,71 @@ accessibility infrastructure.")
|
||||
(license license:lgpl2.0)
|
||||
(properties '((upstream-name . "pyatspi")))))
|
||||
|
||||
(define-public accerciser
|
||||
(package
|
||||
(name "accerciser")
|
||||
(version "3.48.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/GNOME/accerciser.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ddh466im0hxqx0ncxglrif72jfwcdl1ayarw874mp1464wkbc4m"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:imported-modules (append %meson-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules
|
||||
`((guix build meson-build-system)
|
||||
((guix build pyproject-build-system) #:prefix py:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gnome-post-install
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")
|
||||
(("update_desktop_database: true")
|
||||
"update_desktop_database: false"))))
|
||||
(add-after 'install 'wrap-python
|
||||
(assoc-ref py:%standard-phases 'wrap))
|
||||
(add-after 'wrap-python 'wrap-program
|
||||
(lambda _
|
||||
(let ((typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append #$output "/bin/accerciser")
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,typelib-path)))))))))
|
||||
(native-inputs
|
||||
(list (list glib "bin")
|
||||
gettext-minimal
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
yelp-tools))
|
||||
(inputs
|
||||
(list appstream
|
||||
appstream-glib
|
||||
at-spi2-core
|
||||
bash-minimal
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk+
|
||||
python
|
||||
python-dbus
|
||||
python-pyatspi
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
python-pyxdg))
|
||||
(synopsis "Accessibility explorer")
|
||||
(description "This package provides an interactive accessibility explorer
|
||||
for the GNOME desktop.")
|
||||
(home-page "https://gitlab.gnome.org/GNOME/accerciser")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public orca
|
||||
(package
|
||||
(name "orca")
|
||||
@@ -12964,7 +12966,8 @@ to.")
|
||||
(inputs
|
||||
(list gtk+ (librsvg-for-system) libxml2))
|
||||
(arguments
|
||||
`(#:configure-flags '("CFLAGS=-fcommon")))
|
||||
`(#:configure-flags
|
||||
'("CFLAGS=-fcommon -Wno-error=incompatible-pointer-types")))
|
||||
(home-page "https://glabels.org/")
|
||||
(synopsis "Program for creating labels and business cards")
|
||||
(description
|
||||
@@ -13001,6 +13004,10 @@ card sheets that you’ll find at most office supply stores.")
|
||||
libgee
|
||||
tepl
|
||||
uchardet))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "CFLAGS=-g -O2 -Wno-error=incompatible-pointer-types")))
|
||||
(home-page "https://wiki.gnome.org/Apps/GNOME-LaTeX")
|
||||
(synopsis "LaTeX editor for the GNOME desktop")
|
||||
(description
|
||||
@@ -13446,7 +13453,7 @@ GObject introspection bindings.")
|
||||
(define-public sysprof
|
||||
(package
|
||||
(name "sysprof")
|
||||
(version "49.0")
|
||||
(version "48.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -13454,7 +13461,7 @@ GObject introspection bindings.")
|
||||
(version-major version) "/"
|
||||
"sysprof-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0y18535lymqv684n8aa2v601d61v6aj8f84690cq8p3q6yb1617z"))))
|
||||
(base32 "1qmv76877vkw2ajfnc4cr8gw5qch5m32qm1fybig3vgizvymgwal"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -13751,7 +13758,7 @@ Document Analysis and Recognition program.")
|
||||
(define-public libadwaita
|
||||
(package
|
||||
(name "libadwaita")
|
||||
(version "1.8.4")
|
||||
(version "1.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libadwaita/"
|
||||
@@ -13759,7 +13766,7 @@ Document Analysis and Recognition program.")
|
||||
"libadwaita-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"074j59bz5zgnb7grw3clpwyxickw9268k6fj0980bw8gdxxvfayh"))))
|
||||
"1cdda2sk1w5jmfkism8v6ihl03gs2s72klx7j230wx4i847nx6jq"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
||||
+102
-45
@@ -82,6 +82,7 @@
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
@@ -435,16 +436,16 @@ libskba (working with X.509 certificates and CMS data).")
|
||||
(substitute* "checks/Makefile.in"
|
||||
(("/bin/sh") (which "sh"))))))))))
|
||||
|
||||
(define-public gpgme
|
||||
(define-public gpgme-2
|
||||
(package
|
||||
(name "gpgme")
|
||||
(version "1.24.1")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0px87fbp90xp8vf1wms02flk14zmrqsfr135f5his1kiiqjx01ga"))))
|
||||
(base32 "0rj9g0kablnmj7vh6hfhmmz0qhdhj869i09afm8snbl4bilv06l2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -456,7 +457,7 @@ libskba (working with X.509 certificates and CMS data).")
|
||||
(propagated-inputs
|
||||
;; As required by the pkg-config's Requires.private.
|
||||
(list libgpg-error libassuan))
|
||||
(home-page "https://www.gnupg.org/related_software/gpgme/")
|
||||
(home-page "https://gnupg.org/software/gpgme/index.html")
|
||||
(synopsis "Library providing simplified access to GnuPG functionality")
|
||||
(description
|
||||
"GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
|
||||
@@ -470,57 +471,107 @@ instead. This way bug fixes or improvements can be done at a central place
|
||||
and every application benefits from this.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public gpgme-1
|
||||
(package
|
||||
(inherit gpgme-2)
|
||||
(version "1.24.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0px87fbp90xp8vf1wms02flk14zmrqsfr135f5his1kiiqjx01ga"))))))
|
||||
|
||||
(define-public gpgme gpgme-1)
|
||||
|
||||
(define-public gpgmepp
|
||||
(package
|
||||
(name "gpgmepp")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gpgmepp/gpgmepp-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "10jkaqzjr5gy04bmcw75q6iy2isk17plixwn61ps4237q14n0yfl"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; FIXME: BUILD_TESTING variable is enabled by deault, but still no tests
|
||||
;; are found.
|
||||
#:tests? #f))
|
||||
(propagated-inputs
|
||||
;; As required by the pkg-config's Requires.private.
|
||||
(list gpgme-2 libgpg-error))
|
||||
(home-page "https://gnupg.org/software/gpgme/index.html")
|
||||
(synopsis "C++ bindings/wrapper for GPGME")
|
||||
(description
|
||||
"GPGME++ is a C++ wrapper (or C++ bindings) for the GnuPG project's
|
||||
@acronym{GPGME, GnuPG Made Easy} library.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public qgpgme-qt5
|
||||
(package
|
||||
(inherit gpgme)
|
||||
(name "qgpgme-qt5")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/qgpgme/qgpgme-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1bb198dk49bd7yx4cf4w07acjhllilx1nczdna7139ncflj5nr0m"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir-and-symlink
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gpgme (assoc-ref inputs "gpgme")))
|
||||
(symlink (string-append gpgme "/lib/libgpgmepp.la")
|
||||
"lang/cpp/src/libgpgmepp.la")
|
||||
(symlink (string-append gpgme "/lib/libgpgme.la")
|
||||
"src/libgpgme.la"))
|
||||
(chdir "lang/qt"))))))
|
||||
(propagated-inputs (list gpgme)) ;required by QGpgmeConfig.cmake
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "gpg-agent" "--daemon"))))))
|
||||
(propagated-inputs
|
||||
(list gpgme-2 ;for FindGpgme.cmake and QGpgmeQt6Config.cmake
|
||||
gpgmepp ;for QGpgmeQt6Config.cmake
|
||||
libgpg-error)) ;for FindLibGpgError.cmake and QGpgmeQt6Config.cmake
|
||||
(native-inputs
|
||||
(modify-inputs native-inputs
|
||||
(prepend pkg-config)))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(prepend qtbase-5)))
|
||||
(list gnupg ;for tests
|
||||
pkg-config))
|
||||
(home-page "https://gnupg.org/software/gpgme/index.html")
|
||||
(synopsis "Qt API bindings for gpgme")
|
||||
(description "QGpgme provides a very high level Qt API around GpgMEpp.
|
||||
|
||||
QGpgME was originally developed as part of libkleo and incorporated into
|
||||
gpgpme starting with version 1.7.")
|
||||
(license license:gpl2+))) ;; Note: this differs from gpgme
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public qgpgme
|
||||
(package
|
||||
(inherit gpgme)
|
||||
(name "qgpgme")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/qgpgme/qgpgme-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1bb198dk49bd7yx4cf4w07acjhllilx1nczdna7139ncflj5nr0m"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir-and-symlink
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gpgme (assoc-ref inputs "gpgme")))
|
||||
(symlink (string-append gpgme "/lib/libgpgmepp.la")
|
||||
"lang/cpp/src/libgpgmepp.la")
|
||||
(symlink (string-append gpgme "/lib/libgpgme.la")
|
||||
"src/libgpgme.la"))
|
||||
(chdir "lang/qt"))))))
|
||||
(propagated-inputs (list gpgme)) ;required by QGpgmeConfig.cmake
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "gpg-agent" "--daemon"))))))
|
||||
(propagated-inputs
|
||||
(list gpgme-2 ;for FindGpgme.cmake and QGpgmeQt6Config.cmake
|
||||
gpgmepp ;for QGpgmeQt6Config.cmake
|
||||
libgpg-error)) ;for FindLibGpgError.cmake and QGpgmeQt6Config.cmake
|
||||
(native-inputs
|
||||
(modify-inputs native-inputs
|
||||
(prepend pkg-config)))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(prepend qtbase)))
|
||||
(list gnupg ;for tests
|
||||
pkg-config))
|
||||
(home-page "https://gnupg.org/software/gpgme/index.html")
|
||||
(synopsis "Qt API bindings for gpgme")
|
||||
(description "QGpgme provides a very high level Qt API around GpgMEpp.")
|
||||
(license license:gpl2+)))
|
||||
@@ -584,21 +635,20 @@ interface (FFI) of Guile.")
|
||||
(define-public python-gpg
|
||||
(package
|
||||
(name "python-gpg")
|
||||
(version "1.10.0")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gpg" version))
|
||||
(patches (search-patches "python-gpg-setup-72.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
|
||||
"0f2l0iyc8gp49i604c5wpliaa1dsyj0i0p9xc9zfj4z7fwaavdsf"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No test suite.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-environment
|
||||
(add-before 'build 'patch-setup.py
|
||||
(lambda _
|
||||
;; GPGME is built with large file support, so we need to set
|
||||
;; _FILE_OFFSET_BITS to 64 in all users of the GPGME library.
|
||||
@@ -608,9 +658,16 @@ interface (FFI) of Guile.")
|
||||
"extra_macros = { \"_FILE_OFFSET_BITS\": 64 }")))
|
||||
#~())
|
||||
(substitute* "setup.py"
|
||||
(("cc") (which "gcc"))))))))
|
||||
(("cc") (which "gcc"))
|
||||
(("\\/usr\\/lib\\/x86_64-linux-gnu( -lgpg-error)" _ keep)
|
||||
(string-append #$(this-package-input "libgpg-error") "/lib"
|
||||
keep))
|
||||
(("\\/usr\\/lib\\/x86_64-linux-gnu( -lgpgme)" _ keep)
|
||||
(string-append #$(this-package-input "gpgme") "/lib" keep))
|
||||
(("\\/usr\\/local(', 'include', 'gpgme\\.h')" _ keep)
|
||||
(string-append #$(this-package-input "gpgme") keep))))))))
|
||||
(inputs
|
||||
(list gpgme))
|
||||
(list gpgme-2 libgpg-error))
|
||||
(native-inputs
|
||||
(list swig-4.0 python-setuptools))
|
||||
(home-page (package-home-page gpgme))
|
||||
|
||||
+375
-376
@@ -106,6 +106,355 @@
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages time))
|
||||
|
||||
(define-public mozjs
|
||||
(package
|
||||
(name "mozjs")
|
||||
(version "140.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
||||
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
||||
"/releases/" version "esr/source/firefox-"
|
||||
version "esr.source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
||||
#:modules `((guix build cargo-utils)
|
||||
,@%default-gnu-modules)
|
||||
#:test-target "check-jstests"
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Disable debugging symbols to save space.
|
||||
"--disable-debug"
|
||||
"--disable-debug-symbols"
|
||||
;; This is important because without it gjs will segfault during the
|
||||
;; configure phase. With jemalloc only the standalone mozjs console
|
||||
;; will work.
|
||||
"--disable-jemalloc"
|
||||
"--enable-tests"
|
||||
"--enable-hardening"
|
||||
"--enable-optimize"
|
||||
"--enable-release"
|
||||
"--enable-readline"
|
||||
"--enable-rust-simd"
|
||||
"--enable-shared-js"
|
||||
"--with-system-icu"
|
||||
"--with-system-nspr"
|
||||
"--with-system-zlib"
|
||||
"--with-intl-api")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python-3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("python/mozbuild/mozpack/files.py"
|
||||
"python/mozbuild/mozbuild/util.py"
|
||||
"python/mozbuild/mozbuild/action/process_define_files.py"
|
||||
"python/mozbuild/mozbuild/backend/base.py"
|
||||
"python/mozbuild/mozbuild/preprocessor.py")
|
||||
(("\"rU\"") "\"r\""))))
|
||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||
(lambda _
|
||||
(let ((null-hash
|
||||
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
||||
(for-each (lambda (file)
|
||||
(format #t "patching checksums in ~a~%" file)
|
||||
(substitute* file
|
||||
(("^checksum = \".*\"")
|
||||
(string-append "checksum = \"" null-hash "\""))))
|
||||
(find-files "." "Cargo\\.lock$"))
|
||||
(for-each generate-all-checksums
|
||||
'("js" "third_party/rust")))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
;; The configure script does not accept environment variables as
|
||||
;; arguments. It also must be run from a different directory,
|
||||
;; but not the root directory either.
|
||||
(mkdir "run-configure-from-here")
|
||||
(chdir "run-configure-from-here")
|
||||
;; Configure script writes to $HOME.
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
(setenv "AUTOCONF" (which "autoconf"))
|
||||
(apply invoke "python" "../configure.py"
|
||||
"--enable-project=js"
|
||||
(string-append "--prefix=" #$output)
|
||||
configure-flags)))
|
||||
(add-before 'check 'adjust-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
(substitute* "shell/os.js"
|
||||
;; FIXME: Why does the killed process have an exit status?
|
||||
((".*killed process should not have exitStatus.*")
|
||||
""))
|
||||
|
||||
;; Most of the timezone related failures are probably
|
||||
;; attributable to our use of a system-provided icu4c library
|
||||
;; instead of the bundled one.
|
||||
(for-each
|
||||
delete-file
|
||||
'( ;; FIXME: An one-hour difference is produced after DST
|
||||
;; starting in the timezone the test suite uses.
|
||||
"non262/Date/15.9.5.7.js"
|
||||
|
||||
;; The test suite expects a lightly patched ICU. Disable tests
|
||||
;; that do not work with the system version. See
|
||||
;; "intl/icu-patches" for clues.
|
||||
|
||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||
;; related patch for why this is failing.
|
||||
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
|
||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
|
||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||
"non262/Intl/available-locales-supported.js"
|
||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||
"non262/Intl/available-locales-resolved.js"
|
||||
|
||||
;;; Since 115:
|
||||
;; Mismatching array lengths
|
||||
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
|
||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||
;; these generated tests
|
||||
"non262/Intl/DateTimeFormat/timeZone_version.js"
|
||||
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||
"non262/Intl/Collator/implicithan.js"
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||
"non262/Intl/Collator/big5han-gb2312han.js"
|
||||
|
||||
;; Since 128:
|
||||
;; FIXME: got (void 0), expected "GMT"
|
||||
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
|
||||
;; FIXME: got 7, expected 9: parts count mismatch
|
||||
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
|
||||
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
|
||||
|
||||
;; Since 140:
|
||||
;; RangeError: invalid time zone: America/Coyhaique
|
||||
"non262/Temporal/ZonedDateTime/zones-and-links.js"
|
||||
;; got 2042, expected 2043
|
||||
"non262/Temporal/Intl/consistent-dates.js"
|
||||
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
|
||||
"non262/Intl/DateTimeFormat/timeZone_links.js"
|
||||
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
|
||||
;; Test262Error: Expected true but got false
|
||||
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
|
||||
;; Test262Error: getTimeZoneTransition(next) does not return its input
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/result-type.js"
|
||||
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/transition-at-instant-boundaries.js"
|
||||
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/specific-tzdb-values.js"
|
||||
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
|
||||
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
|
||||
;; TypeError: can't access property "epochNanoseconds",
|
||||
;; before.getTimeZoneTransition(...) is null
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/transitions-close-together.js")))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(setenv "JSTESTS_EXTRA_ARGS"
|
||||
(string-join
|
||||
(list
|
||||
;; Do not run tests marked as "random".
|
||||
"--exclude-random"
|
||||
;; Exclude web platform tests.
|
||||
"--wpt=disabled"
|
||||
;; Respect the daemons configured number of jobs.
|
||||
(string-append "--worker-count="
|
||||
(number->string (parallel-job-count)))))))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
llvm ;for llvm-objdump
|
||||
m4
|
||||
perl
|
||||
pkg-config
|
||||
python-wrapper
|
||||
rust
|
||||
`(,rust "cargo")
|
||||
rust-cbindgen))
|
||||
(inputs
|
||||
(list icu4c-77 readline zlib))
|
||||
(propagated-inputs
|
||||
(list nspr)) ; in the Requires.private field of mozjs-*.pc
|
||||
(home-page
|
||||
"https://spidermonkey.dev/")
|
||||
(synopsis "Mozilla JavaScript engine")
|
||||
(description "SpiderMonkey is Mozilla's JavaScript engine written
|
||||
in C/C++.")
|
||||
(license license:mpl2.0))) ; and others for some files
|
||||
|
||||
(define-public mozjs-128
|
||||
(package
|
||||
(inherit mozjs)
|
||||
(version "128.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
||||
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
||||
"/releases/" version "esr/source/firefox-"
|
||||
version "esr.source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--enable-rust-simd" #$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'adjust-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
(substitute* "shell/os.js"
|
||||
;; FIXME: Why does the killed process have an exit status?
|
||||
((".*killed process should not have exitStatus.*")
|
||||
""))
|
||||
|
||||
;; This was fixed sometime between 102.15.1 and 115.11.0.
|
||||
;; These tests are supposed to be skipped on all 64-bit systems.
|
||||
#$@(if (target-riscv64?)
|
||||
#~((substitute* '("non262/Array/regress-157652.js"
|
||||
"non262/regress/regress-422348.js")
|
||||
(("mips64") "mips64|riscv64")))
|
||||
#~())
|
||||
|
||||
;; FIXME: An one-hour difference is produced after DST
|
||||
;; starting in the timezone the test suite uses.
|
||||
(delete-file "non262/Date/15.9.5.7.js")
|
||||
|
||||
;; The test suite expects a lightly patched ICU. Disable tests
|
||||
;; that do not work with the system version. See
|
||||
;; "intl/icu-patches" for clues.
|
||||
|
||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||
;; related patch for why this is failing.
|
||||
(delete-file "non262/Intl/DateTimeFormat/\
|
||||
fractional-second-digits-append-item.js")
|
||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||
(delete-file "non262/Intl/available-locales-supported.js")
|
||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||
(delete-file "non262/Intl/available-locales-resolved.js")
|
||||
|
||||
;;; Since 115:
|
||||
;; Mismatching array lengths
|
||||
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
||||
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
||||
;; America/Santa_Isabel -> America/Tijuana
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||
;; these generated tests
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
||||
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||
(delete-file "non262/Intl/Collator/implicithan.js")
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
|
||||
|
||||
;; Since 128:
|
||||
;; FIXME: got (void 0), expected "GMT"
|
||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
|
||||
;; FIXME: got 7, expected 9: parts count mismatch
|
||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
|
||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
|
||||
(inputs
|
||||
(list icu4c-73 readline zlib))))
|
||||
|
||||
(define-public mozjs-115
|
||||
(package
|
||||
(inherit mozjs)
|
||||
(version "115.26.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.mozilla.org/pub/firefox"
|
||||
"/releases/" version "esr/source/firefox-"
|
||||
version "esr.source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--enable-rust-simd" #$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'adjust-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
;; The test suite expects a lightly patched ICU. Disable tests
|
||||
;; that do not work with the system version. See
|
||||
;; "intl/icu-patches" for clues.
|
||||
|
||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||
;; related patch for why this is failing.
|
||||
(delete-file "non262/Intl/DateTimeFormat/\
|
||||
fractional-second-digits-append-item.js")
|
||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||
(delete-file "non262/Intl/available-locales-supported.js")
|
||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||
(delete-file "non262/Intl/available-locales-resolved.js")
|
||||
|
||||
;;; Since 115:
|
||||
;; Mismatching array lengths
|
||||
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
||||
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
||||
;; America/Santa_Isabel -> America/Tijuana
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||
;; these generated tests
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
||||
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||
(delete-file "non262/Intl/Collator/implicithan.js")
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
|
||||
|
||||
(replace 'pre-check
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
(substitute* "shell/os.js"
|
||||
;; FIXME: Why does the killed process have an exit status?
|
||||
((".*killed process should not have exitStatus.*")
|
||||
""))
|
||||
|
||||
;; XXX: Delete all tests that test time zone functionality,
|
||||
;; because the test suite uses /etc/localtime to figure out
|
||||
;; the offset from the hardware clock, which does not work
|
||||
;; in the build container. See <tests/non262/Date/shell.js>.
|
||||
(delete-file-recursively "non262/Date")
|
||||
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
|
||||
|
||||
(setenv "JSTESTS_EXTRA_ARGS"
|
||||
(string-join
|
||||
(list
|
||||
;; Do not run tests marked as "random".
|
||||
"--exclude-random"
|
||||
;; Exclude web platform tests.
|
||||
"--wpt=disabled"
|
||||
;; Respect the daemons configured number of jobs.
|
||||
(string-append "--worker-count="
|
||||
(number->string
|
||||
(parallel-job-count)))))))))))))
|
||||
(inputs
|
||||
(list icu4c-73 readline zlib))))
|
||||
|
||||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
||||
|
||||
(define mozilla-compare-locales
|
||||
@@ -256,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"zh-TW"))
|
||||
|
||||
;;; Please keep these versions in sync with icedove.
|
||||
(define %icecat-base-version "140.10.1")
|
||||
(define %icecat-base-version "140.11.0")
|
||||
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
|
||||
(define %icecat-build-id "20260428000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-build-id "20260519000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
@@ -278,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fx52y52c3dmgr5gm64x40r2n6zq5ckqiqsd6vlhsly5wb1w0xaf"))))
|
||||
"0a70qpx0grqyqxzdyaxdb2xcc5932dai05bsh0jdlvrm2whls0qv"))))
|
||||
|
||||
(gnuzilla-commit "5162cbc74c483c361ad5709c767c5cb2395ff4f9")
|
||||
(gnuzilla-commit "056d96e6f753cee6320873a57c18e0b31a7ce57a")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -291,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"06qyirgjjgy7fwn7mbrz23wsdv9a88w70pz8qm1yszln74xxdsp0"))))
|
||||
"1yr7zlqsk4qh7l994clmrnansq50pdv1c9bmrvr6avbi9p47ns25"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
@@ -900,364 +1249,15 @@ testing.")
|
||||
(cpe-name . "firefox_esr")
|
||||
(cpe-version . ,(first (string-split version #\-)))))))
|
||||
|
||||
(define-public mozjs
|
||||
(package
|
||||
(name "mozjs")
|
||||
(version %icecat-version)
|
||||
(source (origin (inherit icecat-source)
|
||||
(patches (search-patches "mozjs-xp-win.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
||||
#:modules `((guix build cargo-utils)
|
||||
,@%default-gnu-modules)
|
||||
#:test-target "check-jstests"
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Disable debugging symbols to save space.
|
||||
"--disable-debug"
|
||||
"--disable-debug-symbols"
|
||||
;; This is important because without it gjs will segfault during the
|
||||
;; configure phase. With jemalloc only the standalone mozjs console
|
||||
;; will work.
|
||||
"--disable-jemalloc"
|
||||
"--enable-tests"
|
||||
"--enable-hardening"
|
||||
"--enable-optimize"
|
||||
"--enable-release"
|
||||
"--enable-readline"
|
||||
"--enable-rust-simd"
|
||||
"--enable-shared-js"
|
||||
"--with-system-icu"
|
||||
"--with-system-nspr"
|
||||
"--with-system-zlib"
|
||||
"--with-intl-api")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python-3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("python/mozbuild/mozpack/files.py"
|
||||
"python/mozbuild/mozbuild/util.py"
|
||||
"python/mozbuild/mozbuild/action/process_define_files.py"
|
||||
"python/mozbuild/mozbuild/backend/base.py"
|
||||
"python/mozbuild/mozbuild/preprocessor.py")
|
||||
(("\"rU\"") "\"r\""))))
|
||||
(add-after 'unpack 'restore-api-compat
|
||||
(lambda _
|
||||
(substitute* "js/public/GCAPI.h"
|
||||
(("enum class GCReason")
|
||||
"#define FIRST_FIREFOX_REASON FIRST_ICECAT_REASON
|
||||
#define LAST_FIREFOX_REASON LAST_ICECAT_REASON
|
||||
enum class GCReason"))))
|
||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||
(lambda _
|
||||
(let ((null-hash
|
||||
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
||||
(for-each (lambda (file)
|
||||
(format #t "patching checksums in ~a~%" file)
|
||||
(substitute* file
|
||||
(("^checksum = \".*\"")
|
||||
(string-append "checksum = \"" null-hash "\""))))
|
||||
(find-files "." "Cargo\\.lock$"))
|
||||
(for-each generate-all-checksums
|
||||
'("js" "third_party/rust")))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
;; The configure script does not accept environment variables as
|
||||
;; arguments. It also must be run from a different directory,
|
||||
;; but not the root directory either.
|
||||
(mkdir "run-configure-from-here")
|
||||
(chdir "run-configure-from-here")
|
||||
;; Configure script writes to $HOME.
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
(setenv "AUTOCONF" (which "autoconf"))
|
||||
(apply invoke "python" "../configure.py"
|
||||
"--enable-project=js"
|
||||
(string-append "--prefix=" #$output)
|
||||
configure-flags)))
|
||||
(add-before 'check 'adjust-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
(substitute* "shell/os.js"
|
||||
;; FIXME: Why does the killed process have an exit status?
|
||||
((".*killed process should not have exitStatus.*")
|
||||
""))
|
||||
|
||||
;; Most of the timezone related failures are probably
|
||||
;; attributable to our use of a system-provided icu4c library
|
||||
;; instead of the bundled one.
|
||||
(for-each
|
||||
delete-file
|
||||
'( ;; FIXME: An one-hour difference is produced after DST
|
||||
;; starting in the timezone the test suite uses.
|
||||
"non262/Date/15.9.5.7.js"
|
||||
|
||||
;; The test suite expects a lightly patched ICU. Disable tests
|
||||
;; that do not work with the system version. See
|
||||
;; "intl/icu-patches" for clues.
|
||||
|
||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||
;; related patch for why this is failing.
|
||||
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
|
||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
|
||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||
"non262/Intl/available-locales-supported.js"
|
||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||
"non262/Intl/available-locales-resolved.js"
|
||||
|
||||
;;; Since 115:
|
||||
;; Mismatching array lengths
|
||||
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
|
||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||
;; these generated tests
|
||||
"non262/Intl/DateTimeFormat/timeZone_version.js"
|
||||
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||
"non262/Intl/Collator/implicithan.js"
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||
"non262/Intl/Collator/big5han-gb2312han.js"
|
||||
|
||||
;; Since 128:
|
||||
;; FIXME: got (void 0), expected "GMT"
|
||||
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
|
||||
;; FIXME: got 7, expected 9: parts count mismatch
|
||||
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
|
||||
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
|
||||
|
||||
;; Since 140:
|
||||
;; RangeError: invalid time zone: America/Coyhaique
|
||||
"non262/Temporal/ZonedDateTime/zones-and-links.js"
|
||||
;; got 2042, expected 2043
|
||||
"non262/Temporal/Intl/consistent-dates.js"
|
||||
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
|
||||
"non262/Intl/DateTimeFormat/timeZone_links.js"
|
||||
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
|
||||
;; Test262Error: Expected true but got false
|
||||
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
|
||||
;; Test262Error: getTimeZoneTransition(next) does not return its input
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/result-type.js"
|
||||
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/transition-at-instant-boundaries.js"
|
||||
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/specific-tzdb-values.js"
|
||||
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
|
||||
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
|
||||
;; TypeError: can't access property "epochNanoseconds",
|
||||
;; before.getTimeZoneTransition(...) is null
|
||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||
getTimeZoneTransition/transitions-close-together.js")))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(setenv "JSTESTS_EXTRA_ARGS"
|
||||
(string-join
|
||||
(list
|
||||
;; Do not run tests marked as "random".
|
||||
"--exclude-random"
|
||||
;; Exclude web platform tests.
|
||||
"--wpt=disabled"
|
||||
;; Respect the daemons configured number of jobs.
|
||||
(string-append "--worker-count="
|
||||
(number->string (parallel-job-count)))))))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
llvm ;for llvm-objdump
|
||||
m4
|
||||
perl
|
||||
pkg-config
|
||||
python-wrapper
|
||||
rust
|
||||
`(,rust "cargo")
|
||||
rust-cbindgen))
|
||||
(inputs
|
||||
(list icu4c-77 readline zlib))
|
||||
(propagated-inputs
|
||||
(list nspr)) ; in the Requires.private field of mozjs-*.pc
|
||||
(home-page
|
||||
"https://spidermonkey.dev/")
|
||||
(synopsis "Mozilla JavaScript engine")
|
||||
(description "SpiderMonkey is Mozilla's JavaScript engine written
|
||||
in C/C++.")
|
||||
(license license:mpl2.0))) ; and others for some files
|
||||
|
||||
(define-public mozjs-128
|
||||
(package
|
||||
(inherit mozjs)
|
||||
(version "128.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
||||
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
||||
"/releases/" version "esr/source/firefox-"
|
||||
version "esr.source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--enable-rust-simd" #$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'adjust-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
(substitute* "shell/os.js"
|
||||
;; FIXME: Why does the killed process have an exit status?
|
||||
((".*killed process should not have exitStatus.*")
|
||||
""))
|
||||
|
||||
;; This was fixed sometime between 102.15.1 and 115.11.0.
|
||||
;; These tests are supposed to be skipped on all 64-bit systems.
|
||||
#$@(if (target-riscv64?)
|
||||
#~((substitute* '("non262/Array/regress-157652.js"
|
||||
"non262/regress/regress-422348.js")
|
||||
(("mips64") "mips64|riscv64")))
|
||||
#~())
|
||||
|
||||
;; FIXME: An one-hour difference is produced after DST
|
||||
;; starting in the timezone the test suite uses.
|
||||
(delete-file "non262/Date/15.9.5.7.js")
|
||||
|
||||
;; The test suite expects a lightly patched ICU. Disable tests
|
||||
;; that do not work with the system version. See
|
||||
;; "intl/icu-patches" for clues.
|
||||
|
||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||
;; related patch for why this is failing.
|
||||
(delete-file "non262/Intl/DateTimeFormat/\
|
||||
fractional-second-digits-append-item.js")
|
||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||
(delete-file "non262/Intl/available-locales-supported.js")
|
||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||
(delete-file "non262/Intl/available-locales-resolved.js")
|
||||
|
||||
;;; Since 115:
|
||||
;; Mismatching array lengths
|
||||
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
||||
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
||||
;; America/Santa_Isabel -> America/Tijuana
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||
;; these generated tests
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
||||
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||
(delete-file "non262/Intl/Collator/implicithan.js")
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
|
||||
|
||||
;; Since 128:
|
||||
;; FIXME: got (void 0), expected "GMT"
|
||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
|
||||
;; FIXME: got 7, expected 9: parts count mismatch
|
||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
|
||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
|
||||
(inputs
|
||||
(list icu4c-73 readline zlib))))
|
||||
|
||||
(define-public mozjs-115
|
||||
(package
|
||||
(inherit mozjs)
|
||||
(version "115.26.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.mozilla.org/pub/firefox"
|
||||
"/releases/" version "esr/source/firefox-"
|
||||
version "esr.source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--enable-rust-simd" #$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'adjust-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
;; The test suite expects a lightly patched ICU. Disable tests
|
||||
;; that do not work with the system version. See
|
||||
;; "intl/icu-patches" for clues.
|
||||
|
||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||
;; related patch for why this is failing.
|
||||
(delete-file "non262/Intl/DateTimeFormat/\
|
||||
fractional-second-digits-append-item.js")
|
||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||
(delete-file "non262/Intl/available-locales-supported.js")
|
||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||
(delete-file "non262/Intl/available-locales-resolved.js")
|
||||
|
||||
;;; Since 115:
|
||||
;; Mismatching array lengths
|
||||
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
||||
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
||||
;; America/Santa_Isabel -> America/Tijuana
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||
;; these generated tests
|
||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
||||
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||
(delete-file "non262/Intl/Collator/implicithan.js")
|
||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
|
||||
|
||||
(replace 'pre-check
|
||||
(lambda _
|
||||
(with-directory-excursion "../js/src/tests"
|
||||
(substitute* "shell/os.js"
|
||||
;; FIXME: Why does the killed process have an exit status?
|
||||
((".*killed process should not have exitStatus.*")
|
||||
""))
|
||||
|
||||
;; XXX: Delete all tests that test time zone functionality,
|
||||
;; because the test suite uses /etc/localtime to figure out
|
||||
;; the offset from the hardware clock, which does not work
|
||||
;; in the build container. See <tests/non262/Date/shell.js>.
|
||||
(delete-file-recursively "non262/Date")
|
||||
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
|
||||
|
||||
(setenv "JSTESTS_EXTRA_ARGS"
|
||||
(string-join
|
||||
(list
|
||||
;; Do not run tests marked as "random".
|
||||
"--exclude-random"
|
||||
;; Exclude web platform tests.
|
||||
"--wpt=disabled"
|
||||
;; Respect the daemons configured number of jobs.
|
||||
(string-append "--worker-count="
|
||||
(number->string
|
||||
(parallel-job-count)))))))))))))
|
||||
(inputs
|
||||
(list icu4c-73 readline zlib))))
|
||||
|
||||
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
|
||||
(define %icecat-140.9.1-base-version "140.9.1")
|
||||
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
|
||||
(define icecat-140.9.1-source
|
||||
(let* ((major-version (first (string-split %icecat-140.9.1-base-version #\.)))
|
||||
(minor-version (second (string-split %icecat-140.9.1-base-version #\.)))
|
||||
(sub-version (third (string-split %icecat-140.9.1-base-version #\.)))
|
||||
(define %icecat-140.10.2-base-version "140.10.2")
|
||||
(define %icecat-140.10.2-version (string-append %icecat-140.10.2-base-version "-gnu1"))
|
||||
(define icecat-140.10.2-source
|
||||
(let* ((major-version (first (string-split %icecat-140.10.2-base-version #\.)))
|
||||
(minor-version (second (string-split %icecat-140.10.2-base-version #\.)))
|
||||
(sub-version (third (string-split %icecat-140.10.2-base-version #\.)))
|
||||
|
||||
(upstream-firefox-version (string-append %icecat-140.9.1-base-version "esr"))
|
||||
(upstream-firefox-version (string-append %icecat-140.10.2-base-version "esr"))
|
||||
(upstream-firefox-source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1267,9 +1267,9 @@ fractional-second-digits-append-item.js")
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
|
||||
"0xsfy8b80mh6kb13928ym3pdrnfyfs98xwz6fwrc20p7f99zcsvr"))))
|
||||
|
||||
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
|
||||
(gnuzilla-commit "f04b721394b9d1103e92dbe989060f96756fe54c")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1280,7 +1280,7 @@ fractional-second-digits-append-item.js")
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
|
||||
"05d3793565pxz1h3wmwxk8j4cfqci4c0jic4q4ys8rbnfz98cj6z"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
@@ -1290,7 +1290,7 @@ fractional-second-digits-append-item.js")
|
||||
|
||||
(origin
|
||||
(method computed-origin-method)
|
||||
(file-name (string-append "icecat-" %icecat-140.9.1-version ".tar.zst"))
|
||||
(file-name (string-append "icecat-" %icecat-140.10.2-version ".tar.zst"))
|
||||
(sha256 #f)
|
||||
(uri
|
||||
(delay
|
||||
@@ -1298,9 +1298,9 @@ fractional-second-digits-append-item.js")
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((firefox-dir
|
||||
(string-append "firefox-" #$%icecat-140.9.1-base-version))
|
||||
(string-append "firefox-" #$%icecat-140.10.2-base-version))
|
||||
(icecat-dir
|
||||
(string-append "icecat-" #$%icecat-140.9.1-version)))
|
||||
(string-append "icecat-" #$%icecat-140.10.2-version)))
|
||||
|
||||
(set-path-environment-variable
|
||||
"PATH" '("bin")
|
||||
@@ -1408,14 +1408,13 @@ preferences/advanced-scripts.dtd"
|
||||
"--sort=name"
|
||||
icecat-dir)))))))))
|
||||
|
||||
|
||||
(define %icedove-build-id "20260403000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icedove-build-id "20260509000000") ;must be of the form YYYYMMDDhhmmss
|
||||
;;; See <https://product-details.mozilla.org/1.0/thunderbird_versions.json>
|
||||
;;; for the source of truth regarding Thunderbird releases.
|
||||
;;; Please keep these version numbers in sync with icecat.
|
||||
;;; Please also update thunderbird-comm-source and thunderbird-comm-l10n to
|
||||
;;; the icedove version.
|
||||
(define %icedove-version "140.9.1")
|
||||
(define %icedove-version "140.10.2")
|
||||
|
||||
;; Provides the "comm" folder which is inserted into the icecat source.
|
||||
;; Avoids the duplication of Icecat's source tarball. Pick the changeset that
|
||||
@@ -1427,11 +1426,11 @@ preferences/advanced-scripts.dtd"
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://hg.mozilla.org/releases/comm-esr140")
|
||||
(changeset "427d792f23672fc4adbe9436ce7dddbb2bfb287a")))
|
||||
(changeset "098a7023447feeb0b722efc9eed25f56ed3e9bc1")))
|
||||
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"09fj375a0zb5kgvw94f13997zhcj67a4g5ylpdbjzfql0chh572p"))
|
||||
"1dy24va6qwhmx55paj1mcvh5rxbpdr8l5pbxk6rkgbs1kdi6rbf7"))
|
||||
(patches (search-patches "icedove-observer-fix.patch"))))
|
||||
|
||||
;;; To regenerate, see the `format-locales' helper defined above.
|
||||
@@ -1507,9 +1506,9 @@ preferences/advanced-scripts.dtd"
|
||||
(define thunderbird-comm-l10n
|
||||
;; The commit to use can be found in the mail/locales/l10n-changesets.json
|
||||
;; file in Thunderbird's source (e.g.:
|
||||
;; <https://hg-edge.mozilla.org/releases/comm-esr140/file/efb07defaa2d56105675dc1d936af581ebfd8ffa/mail/locales/l10n-changesets.json>)
|
||||
;; <https://hg-edge.mozilla.org/releases/comm-esr140/file/098a7023447feeb0b722efc9eed25f56ed3e9bc1/mail/locales/l10n-changesets.json>)
|
||||
;; where the hash in the URL is the changeset from thunderbird-comm-source.
|
||||
(let* ((commit "7c86eab97e77f00ca7ed8f224d38338a3ed46693")
|
||||
(let* ((commit "938c3663efd9771a2bbdcc02d1236142424a50de")
|
||||
(revision "0")
|
||||
(version (git-version %icedove-version revision commit)))
|
||||
(origin
|
||||
@@ -1520,7 +1519,7 @@ preferences/advanced-scripts.dtd"
|
||||
(file-name (git-file-name "thunderbird-l10n" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1navma2gwcgbbiwcwrc5lrx2jk3qmrnrc6i8pvhb8156pz4cg5nd")))))
|
||||
"1ncn0rfz0g3ich7h3hc6znvndydsyzj1ml8gd31hpslcnc33ydjx")))))
|
||||
|
||||
(define icedove-source
|
||||
(let ((name (string-append "icedove-" %icedove-version)))
|
||||
@@ -1543,7 +1542,7 @@ preferences/advanced-scripts.dtd"
|
||||
;; Extract the base Icecat tarball, renaming its top-level
|
||||
;; directory.
|
||||
(invoke "tar" "--transform" (string-append "s,[^/]*," #$name ",")
|
||||
"-xf" #$icecat-140.9.1-source)
|
||||
"-xf" #$icecat-140.10.2-source)
|
||||
(chdir #$name)
|
||||
|
||||
;; Merge the Thunderdbird localization data.
|
||||
|
||||
@@ -706,7 +706,7 @@ files.")
|
||||
(package
|
||||
(inherit go-github-com-nwaples-rardecode)
|
||||
(name "go-github-com-nwaples-rardecode-v2")
|
||||
(version "2.0.0-beta.2")
|
||||
(version "2.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -715,7 +715,7 @@ files.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1344mxfdgs5fps6mqxk6352arrfszi33kmq394rgmqpf4394f1y7"))))
|
||||
(base32 "1i48ca45726jyhg8i1j14ikf0pc16i1gq027zlmf12l3z37vzw78"))))
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/nwaples/rardecode/v2"))))
|
||||
|
||||
@@ -493,6 +493,32 @@ originated from https://github.com/zhenjl/cityhash and
|
||||
https://github.com/zentures/cityhash projects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bramvdbogaerde-go-scp
|
||||
(package
|
||||
(name "go-github-com-bramvdbogaerde-go-scp")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bramvdbogaerde/go-scp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16rf7fzrfhqadlzcxfqi3q7dv73hjmnr4fgad33psrjan1kq5w78"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;Tests fail, as they try to connect to a local server
|
||||
#:import-path "github.com/bramvdbogaerde/go-scp"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-crypto))
|
||||
(home-page "https://github.com/bramvdbogaerde/go-scp")
|
||||
(synopsis "Golang scp client")
|
||||
(description
|
||||
"This package is a simple scp package to copy files over SSH.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public go-github-com-btcsuite-btcd-btcec
|
||||
(let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
|
||||
(revision "0"))
|
||||
@@ -1260,6 +1286,34 @@ for Go applications. It's an alternative fork of deprecated
|
||||
@url{https://github.com/mozilla-services/pkcs7}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-dromara-dongle
|
||||
(package
|
||||
(name "go-github-com-dromara-dongle")
|
||||
(version "1.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dromara/dongle")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c4kiv2xk0s6lb2svdy2y38rklx4qj95asniwv3s24h69frabb6x"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/dromara/dongle"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-crypto))
|
||||
(home-page "https://dongle.go-pkg.com/")
|
||||
(synopsis "Semantic and developer-friendly crypto package for Golang")
|
||||
(description
|
||||
"Package dongle is a simple, semantic and developer-friendly Golang
|
||||
crypto package.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-dvsekhvalnov-jose2go
|
||||
(package
|
||||
(name "go-github-com-dvsekhvalnov-jose2go")
|
||||
@@ -1749,6 +1803,33 @@ See http://keccak.noekeon.org.")
|
||||
MurmurHash} revision (aka MurmurHash3).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-hdevalence-ed25519consensus
|
||||
(package
|
||||
(name "go-github-com-hdevalence-ed25519consensus")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hdevalence/ed25519consensus")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dmkl3hnv0h0r4apvs34jf1cz4wcj34cksiiij4p1z4kqcldwdi9"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/hdevalence/ed25519consensus"))
|
||||
(propagated-inputs
|
||||
(list go-filippo-io-edwards25519))
|
||||
(home-page "https://github.com/hdevalence/ed25519consensus")
|
||||
(synopsis "Ed25519 signature library for Golang")
|
||||
(description
|
||||
"This package provides an @url{https://en.wikipedia.org/wiki/EdDSA,
|
||||
Ed25519} implementation with validation rules intended for consensus-critical
|
||||
contexts.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-hiddeco-sshsig
|
||||
(package
|
||||
(name "go-github-com-hiddeco-sshsig")
|
||||
@@ -2073,7 +2154,7 @@ the Go standard library's TLS 1.3 implementation.")
|
||||
(define-public go-github-com-melbahja-goph
|
||||
(package
|
||||
(name "go-github-com-melbahja-goph")
|
||||
(version "1.4.0")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2082,7 +2163,7 @@ the Go standard library's TLS 1.3 implementation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1w6sn6m3bsh60flp0fdbv70c2d1ky12mpj09100qf64w0v1d32k0"))))
|
||||
(base32 "1ncvs9pbjg7m8yp3h8wbhxvzvks1g06a5qcjrkw2k515m2yqhg8k"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2879,15 +2960,17 @@ package.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/refraction-networking/utls")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/refraction-networking/utls")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03kgwxdm2lg28fn2w5q7ql2szsiwj2xjdf477h1g3a4a9y9j6zk0"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/refraction-networking/utls"
|
||||
#:tests? #f)) ;requires internet access
|
||||
(list
|
||||
#:import-path "github.com/refraction-networking/utls"
|
||||
#:test-flags
|
||||
#~(list "-skip" "TestVerifyHostname")))
|
||||
(propagated-inputs
|
||||
(list go-github-com-andybalholm-brotli
|
||||
go-github-com-cloudflare-circl
|
||||
@@ -2899,10 +2982,12 @@ package.")
|
||||
go-golang-org-x-sys))
|
||||
(home-page "https://github.com/refraction-networking/utls")
|
||||
(synopsis "Fork of the Go standard TLS library")
|
||||
(description "uTLS is a fork of “crypto/tls”, which provides ClientHello
|
||||
fingerprinting resistance, low-level access to handshake, fake session tickets
|
||||
and some other features. Handshake is still performed by “crypto/tls”, this
|
||||
library merely changes ClientHello part of it and provides low-level access.")
|
||||
(description
|
||||
"uTLS is a fork of @code{crypto/tls}, which provides
|
||||
@url{https://www.rfc-editor.org/rfc/rfc9849.html, ClientHello} fingerprinting
|
||||
resistance, low-level access to handshake, fake session tickets and some other
|
||||
features. Handshake is still performed by @code{crypto/tls}, this library
|
||||
merely changes ClientHello part of it and provides low-level access.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-rfjakob-eme
|
||||
@@ -3900,7 +3985,7 @@ is an extremely fast non-cryptographic hash algorithm.")
|
||||
;; XXX: Source only, to break cycle with
|
||||
;; go-github-com-zmap-zcrypto. Addintional inputs requaired only to
|
||||
;; build CLI:
|
||||
;;
|
||||
;;
|
||||
;; - github.com/sirupsen/logrus
|
||||
;; - github.com/zmap/zcrypto
|
||||
;; - github.com/zmap/zlint/v3
|
||||
|
||||
+515
-25
@@ -2288,7 +2288,7 @@ functions.")
|
||||
(define-public go-github-com-aws-aws-sdk-go-v2
|
||||
(package
|
||||
(name "go-github-com-aws-aws-sdk-go-v2")
|
||||
(version "1.41.1")
|
||||
(version "1.41.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2297,27 +2297,14 @@ functions.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))
|
||||
(base32 "1j68835z0dgzxwf3m4gfir50wi6r30yx3g78y63x55sdg2imbhsk"))
|
||||
;; XXX: It contains a lot of sub packages defined with go.mod, consider
|
||||
;; to pack them separately.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/aws/aws-sdk-go-v2/config
|
||||
;; - github.com/aws/aws-sdk-go-v2/credentials
|
||||
;; - github.com/aws/aws-sdk-go-v2/feature/ec2/imds
|
||||
;; - github.com/aws/aws-sdk-go-v2/feature/s3/manager
|
||||
;; - github.com/aws/aws-sdk-go-v2/internal/configsources
|
||||
;; - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/iam
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/kms
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/s3
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/sqs
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/sso
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/ssoidc
|
||||
;; - github.com/aws/aws-sdk-go-v2/service/sts
|
||||
;; All of the submodules prefixed with
|
||||
;; "github.com/aws/aws-sdk-go-v2" and contain go.mod file.
|
||||
(for-each delete-file-recursively
|
||||
(list "config"
|
||||
"credentials"
|
||||
@@ -2325,10 +2312,12 @@ functions.")
|
||||
"feature/s3/manager"
|
||||
"internal/configsources"
|
||||
"internal/endpoints/v2"
|
||||
"service/cloudwatchlogs"
|
||||
"service/iam"
|
||||
"service/kms"
|
||||
"service/s3"
|
||||
"service/sqs"
|
||||
"service/ssm"
|
||||
"service/sso"
|
||||
"service/ssooidc"
|
||||
"service/sts"))))))
|
||||
@@ -2349,7 +2338,7 @@ functions.")
|
||||
(define-public go-github-com-aws-aws-sdk-go-v2-config
|
||||
(package
|
||||
(name "go-github-com-aws-aws-sdk-go-v2-config")
|
||||
(version "1.32.7")
|
||||
(version "1.32.17")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2359,7 +2348,7 @@ functions.")
|
||||
#:subdir "config"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04cv6g96hhmjl6snql6a909grq4yxyjk95a3dzk6mpihvg79q47p"))
|
||||
(base32 "1j68835z0dgzxwf3m4gfir50wi6r30yx3g78y63x55sdg2imbhsk"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
@@ -2618,6 +2607,50 @@ configuration sources in AWS.")
|
||||
structured records.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-aws-aws-sdk-go-v2-service-cloudwatchlogs
|
||||
(package
|
||||
(name "go-github-com-aws-aws-sdk-go-v2-service-cloudwatchlogs")
|
||||
(version "1.66.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aws/aws-sdk-go-v2")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "service/cloudwatchlogs"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "133768fizkn8hp0xrf90bh64y14gxzj45zfa1711igwafijwlvnl"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "service" "cloudwatchlogs")
|
||||
(delete-all-but "." "service")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs"
|
||||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-aws-aws-sdk-go-v2
|
||||
go-github-com-aws-aws-sdk-go-v2-internal-configsources
|
||||
go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
|
||||
go-github-com-aws-smithy-go))
|
||||
(home-page "https://github.com/aws/aws-sdk-go-v2")
|
||||
(synopsis "AWS SDK for Go v2 - CloudWatch Logs module")
|
||||
(description
|
||||
"This package provides the API client, operations, and parameter types
|
||||
for Amazon CloudWatch Logs.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-aws-aws-sdk-go-v2-service-kms
|
||||
(package
|
||||
(name "go-github-com-aws-aws-sdk-go-v2-service-kms")
|
||||
@@ -2792,6 +2825,50 @@ parameter types for AWS Secrets Manager.")
|
||||
Amazon Simple Queue Service.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-aws-aws-sdk-go-v2-service-ssm
|
||||
(package
|
||||
(name "go-github-com-aws-aws-sdk-go-v2-service-ssm")
|
||||
(version "1.67.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aws/aws-sdk-go-v2")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "service/ssm"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "055i6c41zppxhf5kgxky7a8nc1wzsaxd6vbdyv0wqqbg8zbw5fjb"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "service" "ssm")
|
||||
(delete-all-but "." "service")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/aws/aws-sdk-go-v2/service/ssm"
|
||||
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-aws-aws-sdk-go-v2
|
||||
go-github-com-aws-aws-sdk-go-v2-internal-configsources
|
||||
go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2
|
||||
go-github-com-aws-smithy-go))
|
||||
(home-page "https://github.com/aws/aws-sdk-go-v2")
|
||||
(synopsis "AWS Golang SDK for Simple Systems Manager")
|
||||
(description
|
||||
"Package ssm provides the API client, operations, and parameter types for
|
||||
Amazon Simple Systems Manager.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
|
||||
(package
|
||||
(name "go-github-com-aws-aws-sdk-go-v2-service-sso")
|
||||
@@ -2971,7 +3048,7 @@ signing.")
|
||||
(define-public go-github-com-aws-smithy-go-metrics-smithyotelmetrics
|
||||
(package
|
||||
(name "go-github-com-aws-smithy-go-metrics-smithyotelmetrics")
|
||||
(version "1.0.2")
|
||||
(version "1.0.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2981,15 +3058,29 @@ signing.")
|
||||
#:subdir "metrics/smithyotelmetrics"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16jbv7cyj85048f4kcrib8k2yif165sc099h0aklal5dwlf85xcg"))))
|
||||
(base32 "15f2j863rb9cp4927sn48gsccnn6cm6cn8zjc8mycas4fw07lswr"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "metrics" "smithyotelmetrics")
|
||||
(delete-all-but "." "metrics")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/aws/smithy-go/metrics/smithyotelmetrics"
|
||||
#:unpack-path "github.com/aws/smithy-go"))
|
||||
(propagated-inputs
|
||||
(list go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel)) ; for go.opentelemetry.io/otel/metric
|
||||
(list go-github-com-aws-smithy-go
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-metric))
|
||||
(home-page "https://github.com/aws/smithy-go")
|
||||
(synopsis "AWS Smithy OTEL metrics adapter")
|
||||
(description
|
||||
@@ -3092,6 +3183,35 @@ the OTEL Go SDK.")
|
||||
"This package provides a minimal templating engine for Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-azure-azure-pipeline-go
|
||||
(package
|
||||
(name "go-github-com-azure-azure-pipeline-go")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Azure/azure-pipeline-go")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "154qwr7v1q2wjp263jhkvrygi728q568zc930h3fxp75v32laqwb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/Azure/azure-pipeline-go"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-mattn-go-ieproxy
|
||||
go-github-com-pkg-errors))
|
||||
(home-page "https://github.com/Azure/azure-pipeline-go")
|
||||
(synopsis "HTTP request/response middleware pipeline for Go")
|
||||
(description
|
||||
"Package pipeline implements an HTTP request/response middleware pipeline
|
||||
whose policy objects mutate an HTTP request's URL, query parameters, and/or
|
||||
headers before the request is sent over the wire.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
|
||||
(package
|
||||
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
|
||||
@@ -3424,6 +3544,40 @@ Servers with Azure File Sync for fast access near where the data is being
|
||||
used.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-azure-azure-storage-blob-go
|
||||
(package
|
||||
(name "go-github-com-azure-azure-storage-blob-go")
|
||||
(version "0.0.0-20180706173141-f0a732ea9441")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Azure/azure-storage-blob-go")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1y3ql7208a2h2pf3zrd2qrqpyjda2mpf78cw9jyvi33211cqcdky"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:tests? #f
|
||||
#:import-path "github.com/Azure/azure-storage-blob-go"))
|
||||
(native-inputs
|
||||
(list go-gopkg-in-check-v1))
|
||||
(propagated-inputs
|
||||
(list go-github-com-google-uuid
|
||||
go-github-com-azure-azure-pipeline-go
|
||||
|
||||
;; TODO: Complete packaging.
|
||||
#;go-github-com-azure-go-autorest-autorest-adal))
|
||||
(home-page "https://github.com/Azure/azure-storage-blob-go")
|
||||
(synopsis "Microsoft Azure Blob Storage Library for Go")
|
||||
(description
|
||||
"The Microsoft Azure Storage SDK for Go to build applications that takes
|
||||
advantage of Azure's scalable cloud storage.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-azure-go-ntlmssp
|
||||
(package
|
||||
(name "go-github-com-azure-go-ntlmssp")
|
||||
@@ -3733,6 +3887,43 @@ differentiate between installs of Mozilla software in @code{installs.ini} and
|
||||
@code{profiles.ini}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bradfitz-go-tool-cache
|
||||
(package
|
||||
(name "go-github-com-bradfitz-go-tool-cache")
|
||||
(version "0.0.0-20260315044010-9fc622d67f65")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bradfitz/go-tool-cache")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qzjh8wglknfhik4vpksx4ya5kci818q6mvny9fjqcgpaywj0v15"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/bradfitz/go-tool-cache"
|
||||
#:build-flags #~(list "-tags=libsqlite3")
|
||||
#:test-flags #~(list "-tags=libsqlite3")))
|
||||
(native-inputs
|
||||
(list go-github-com-google-go-cmp))
|
||||
(propagated-inputs
|
||||
(list go-github-com-bradfitz-parentdeath
|
||||
go-github-com-go-jose-go-jose-v4
|
||||
go-github-com-golang-jwt-jwt-v5
|
||||
go-github-com-pierrec-lz4-v4
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-prometheus-client-model
|
||||
go-modernc-org-sqlite))
|
||||
(home-page "https://github.com/bradfitz/go-tool-cache")
|
||||
(synopsis "Share Go test caching across network")
|
||||
(description
|
||||
"This package allows a user to share their Go build cache across the
|
||||
network,using GOCACHEPROG.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-brianvoe-gofakeit-v6
|
||||
(package
|
||||
(name "go-github-com-brianvoe-gofakeit-v6")
|
||||
@@ -4347,6 +4538,116 @@ OAuth authorization against a server, typically @code{GitHub.com}.")
|
||||
transient error handling.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-cloudflare-cfssl
|
||||
(package
|
||||
(name "go-github-com-cloudflare-cfssl")
|
||||
(version "1.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cloudflare/cfssl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rs1mn6ddylcv9kfjjvs9aghwz4r2i22f1ksfnv2q9jbmfzykk2x"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(begin (delete-file-recursively "vendor")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/cloudflare/cfssl"
|
||||
#:unpack-path "github.com/cloudflare/cfssl"
|
||||
#:test-subdirs
|
||||
#~(list "api/..."
|
||||
"auth/..."
|
||||
;;"bundle/..."
|
||||
"certinfo/..."
|
||||
"certdb/..."
|
||||
"cli/..."
|
||||
"config/..."
|
||||
"crl/..."
|
||||
"crypto/..."
|
||||
"csr/..."
|
||||
"errors/..."
|
||||
"helpers/..."
|
||||
"info/..."
|
||||
"initca/..."
|
||||
"log/..."
|
||||
"multiroot/..."
|
||||
"ocsp/..."
|
||||
"revoke/..."
|
||||
;; "scan/..."
|
||||
"selfsign/..."
|
||||
"signer/..."
|
||||
"transport/..."
|
||||
"ubiquity/..."
|
||||
"whitelist/...")
|
||||
#:test-flags
|
||||
#~(list "-vet=off"
|
||||
"-skip" (string-join
|
||||
;; panic: attempt to write a readonly database [recovered]
|
||||
(list "TestSqliteTrivial"
|
||||
"TestRevokeMain"
|
||||
"TestSQLite"
|
||||
"TestParseSerialNumber"
|
||||
"TestSignerDBPersistence"
|
||||
"TestInvalidRevocation"
|
||||
"TestCRLGeneration"
|
||||
"TestInsertValidCertificate"
|
||||
"TestInsertMissingAKI"
|
||||
"TestInsertMissingSerial"
|
||||
"TestInsertMissingExpiry"
|
||||
"TestInsertMissingPEM"
|
||||
"TestInsertInvalidSerial"
|
||||
"TestInsertInvalidAKI"
|
||||
"TestInsertInvalidStatus"
|
||||
"TestInsertInvalidPEM"
|
||||
"TestInsertInvalidExpiry"
|
||||
"TestInsertWrongSerial"
|
||||
"TestInsertWrongAKI"
|
||||
"TestInsertWrongExpiry"
|
||||
"TestInsertRevokedCertificate"
|
||||
"TestRevocation"
|
||||
"TestRevokeExpiry"
|
||||
"TestOCSPGeneration"
|
||||
"TestOCSPGeneration"
|
||||
;; exec: "cfssl": executable file not found in $PATH
|
||||
"TestStartCFSSLServer"
|
||||
"TestCreateCertificateChain"
|
||||
"TestCreateSelfSignedCert"
|
||||
"TestSignerWithDB"
|
||||
"TestSqliteRealResponse"
|
||||
"TestOCSPRefreshMain"
|
||||
;; requires network
|
||||
"TestCachedCRLSet"
|
||||
"TestLdap"
|
||||
"TestGood"
|
||||
"TestLint")
|
||||
"|"))))
|
||||
(propagated-inputs
|
||||
(list go-github-com-cloudflare-backoff
|
||||
go-github-com-cloudflare-redoctober
|
||||
go-github-com-go-sql-driver-mysql
|
||||
go-github-com-google-certificate-transparency-go
|
||||
go-github-com-jmhodges-clock
|
||||
go-github-com-jmoiron-sqlx
|
||||
go-github-com-kisielk-sqlstruct
|
||||
go-github-com-lib-pq
|
||||
go-github-com-mattn-go-sqlite3
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-zmap-zcrypto
|
||||
go-github-com-zmap-zlint-v3
|
||||
go-golang-org-x-crypto))
|
||||
(home-page "https://github.com/cloudflare/cfssl")
|
||||
(synopsis "Cloudflare's PKI and TLS toolkit")
|
||||
(description
|
||||
"This package provides the source code of CloudFlare's PKI/TLS swiss army knife.
|
||||
It is both a command line tool and an HTTP API server for signing, verifying, and
|
||||
bundling TLS certificates.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-cloudinary-cloudinary-go-v2
|
||||
(package
|
||||
(name "go-github-com-cloudinary-cloudinary-go-v2")
|
||||
@@ -4664,7 +4965,7 @@ it mimics the functionality and signatures of the standard `os` package.")
|
||||
(define-public go-github-com-containerd-containerd-api
|
||||
(package
|
||||
(name "go-github-com-containerd-containerd-api")
|
||||
(version "1.9.0")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4674,7 +4975,7 @@ it mimics the functionality and signatures of the standard `os` package.")
|
||||
#:subdir "api"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06pl08p1f86z70hy9si5h7p2bgassqjsy625pvzxazxix35ggq6x"))
|
||||
(base32 "0pmcgi5jdcf0cx6z6qlppzqqwf6fhglfxd4sdr00wgbhvhfzchm3"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
@@ -6982,6 +7283,36 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
|
||||
(list
|
||||
#:import-path "github.com/go-jose/go-jose/v4"))))
|
||||
|
||||
(define-public go-github-com-go-json-experiment-json
|
||||
(package
|
||||
(name "go-github-com-go-json-experiment-json")
|
||||
(version "0.0.0-20251027170946-4849db3c2f7e")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/go-json-experiment/json")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02baiz4vy02zr4319mr1k8s85zz4x418kh7bddg2k82h2k6qy5gf"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.25
|
||||
#:test-flags
|
||||
#~(list "-skip" "TestSynctestMarshal")
|
||||
#:import-path "github.com/go-json-experiment/json"))
|
||||
(home-page "https://github.com/go-json-experiment/json")
|
||||
(synopsis "JSON serialization in Go")
|
||||
(description
|
||||
"This package implements semantic processing of JSON as specified in
|
||||
@url{https://rfc-editor.org/rfc/rfc8259.html, RFC 8259}. JSON is a simple
|
||||
data interchange format that can represent primitive data types such as
|
||||
booleans, strings, and numbers, in addition to structured data types such as
|
||||
objects and arrays.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-go-ldap-ldap-v3
|
||||
(package
|
||||
(name "go-github-com-go-ldap-ldap-v3")
|
||||
@@ -7591,6 +7922,32 @@ for web automation and scraping, providing a simple API to control Chrome or
|
||||
Chromium browsers programmatically.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-go-sourcemap-sourcemap
|
||||
(package
|
||||
(name "go-github-com-go-sourcemap-sourcemap")
|
||||
(version "2.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/go-sourcemap/sourcemap")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11scr3yyhdinlx43k5lzyv215181d477ki74q9k9lnnff3w0jq40"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; A test tries to download jquery.
|
||||
#:import-path "github.com/go-sourcemap/sourcemap"))
|
||||
(home-page "https://github.com/go-sourcemap/sourcemap")
|
||||
(synopsis "Source maps consumer for Golang")
|
||||
(description
|
||||
"This package provides a consumer/parser for JavaScript source maps that
|
||||
allows Go programs to map minified JavaScript code locations back to their
|
||||
original source file locations, line numbers, and function names.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-go-webauthn-webauthn
|
||||
(package
|
||||
(name "go-github-com-go-webauthn-webauthn")
|
||||
@@ -9765,6 +10122,37 @@ tolerated by attempting to communicate to potentially dead nodes through
|
||||
multiple routes.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public go-github-com-hashicorp-raft
|
||||
(package
|
||||
(name "go-github-com-hashicorp-raft")
|
||||
(version "1.7.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hashicorp/raft")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yynmxqqc98vz3gfckky9wz0r9a4rw0mpdhw8w5nzj272wl6rjxl"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;Tests require previous version of raft
|
||||
#:import-path "github.com/hashicorp/raft"))
|
||||
(native-inputs (list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-hashicorp-go-msgpack-v2
|
||||
go-github-com-hashicorp-go-metrics
|
||||
go-github-com-hashicorp-go-hclog))
|
||||
(home-page "https://github.com/hashicorp/raft")
|
||||
(synopsis "Golang implementation of the Raft consensus protocol")
|
||||
(description
|
||||
"This package provides a Golang implementation of the Raft Protocol,
|
||||
that manages a replicated log and can be used to manage replicated state
|
||||
machines.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public go-github-com-hashicorp-serf
|
||||
(package
|
||||
(name "go-github-com-hashicorp-serf")
|
||||
@@ -17711,6 +18099,32 @@ StatHat} account.")
|
||||
REST APIs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-studio-b12-gowebdav
|
||||
(package
|
||||
(name "go-github-com-studio-b12-gowebdav")
|
||||
(version "0.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/studio-b12/gowebdav")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wa69g86vm61xr7kxvj6v6902h39xbdakkwk8z6lv883vm7mh2x4"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/studio-b12/gowebdav"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-net))
|
||||
(home-page "https://github.com/studio-b12/gowebdav")
|
||||
(synopsis "WebDAV client library in Go")
|
||||
(description
|
||||
"This package is a @code{WebDAV} client library with a command line tool
|
||||
included.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-swaggo-echo-swagger
|
||||
(package
|
||||
(name "go-github-com-swaggo-echo-swagger")
|
||||
@@ -18104,6 +18518,37 @@ side of the connection, using various OS-specific facilities.")
|
||||
Tailscale for access control.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-tailscale-xnet
|
||||
(package
|
||||
(name "go-github-com-tailscale-xnet")
|
||||
(version "0.0.0-20240729143630-8497ac4dab2e")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tailscale/xnet")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rca6xkmkf8ax50dgb165xm0kd20r39vp3xklfc15pfwachj9hw5"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:test-flags #~(list "-vet=off")
|
||||
#:import-path "github.com/tailscale/xnet"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-crypto
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-term
|
||||
go-golang-org-x-text))
|
||||
(home-page "https://github.com/tailscale/xnet")
|
||||
(synopsis "Tailscale's fork of golang.org/x/net")
|
||||
(description
|
||||
"This package is a temporary dev fork of @code{golang.org/x/net} for use in
|
||||
Tailscale.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-tdewolff-minify-v2
|
||||
(package
|
||||
(name "go-github-com-tdewolff-minify-v2")
|
||||
@@ -23487,6 +23932,37 @@ feature set and features are added on as the need arises.")
|
||||
;;; Executables:
|
||||
;;;
|
||||
|
||||
(define-public cfssl
|
||||
(package/inherit go-github-com-cloudflare-cfssl
|
||||
(name "cfssl")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:tests? _ #t) #f)
|
||||
((#:skip-build? _ #t) #f)
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:import-path _) "github.com/cloudflare/cfssl/cmd/...")))
|
||||
(native-inputs
|
||||
(package-propagated-inputs go-github-com-cloudflare-cfssl))
|
||||
(propagated-inputs '())
|
||||
(description
|
||||
"This package provides Cloudflare's PKI and TLS toolkit which includes
|
||||
the following commands:
|
||||
@itemize
|
||||
@item @command{cfssl-bundle} - create a certificate bundle that contains the
|
||||
client cer
|
||||
@item @command{cfssl-certinfo} - output certinfo about the given cert
|
||||
@item @command{cfssl-newkey} - generate a new key and CSR
|
||||
@item @command{cfssl-scan} - scan a host for issues
|
||||
@item @command{cfssl} - command line tool to issue/sign/bundle client
|
||||
certificate
|
||||
@item @command{cfssljson} - splits out JSON with cert, csr, and key fields to
|
||||
separate files
|
||||
@item @command{mkbundle} - command line tool for building certificate pool
|
||||
bundles
|
||||
@item @command{multirootca} - program, which is a certificate authority server
|
||||
that can use multiple signing keys
|
||||
@end itemize")))
|
||||
|
||||
(define-public lyrebird
|
||||
(package
|
||||
(name "lyrebird")
|
||||
@@ -23658,6 +24134,20 @@ go-github-com-tdewolff-minify-v2 source.")))
|
||||
the TLS @acronym{SNI, Server Name Indication} of the TLS handshake. It
|
||||
carries no encryption keys and cannot decode the traffic that it proxies.")))
|
||||
|
||||
(define-public go-tool-cache
|
||||
(package/inherit go-github-com-bradfitz-go-tool-cache
|
||||
(name "go-tool-cache")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:tests? _ #t) #f)
|
||||
((#:skip-build? _ #t) #f)
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:import-path _) "github.com/bradfitz/go-tool-cache/cmd/...")
|
||||
((#:unpack-path _ "") "github.com/bradfitz/go-tool-cache")))
|
||||
(native-inputs
|
||||
(package-propagated-inputs go-github-com-bradfitz-go-tool-cache))
|
||||
(propagated-inputs '())))
|
||||
|
||||
(define-public menshen
|
||||
(package/inherit go-0xacab-org-leap-menshen
|
||||
(name "menshen")
|
||||
|
||||
+651
-93
File diff suppressed because it is too large
Load Diff
@@ -1075,7 +1075,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(package
|
||||
(inherit go-1.24)
|
||||
(name "go")
|
||||
(version "1.25.8")
|
||||
(version "1.25.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1084,7 +1084,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vgz80mrxlkljr8ynficwvshinirqxbiv2ikscf941ladbv0g604"))))
|
||||
(base32 "1jy7pfpmd9biqrkpys5f4mw73lh7zx9545z0qsml2nn4g69awl48"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.24)
|
||||
((#:phases phases)
|
||||
@@ -1120,7 +1120,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(package
|
||||
(inherit go-1.24)
|
||||
(name "go")
|
||||
(version "1.26.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1129,9 +1129,9 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1blfc89jxlr7n35j77i523k8rsxvz16f44qzd0h65c940zrrmf77"))))
|
||||
(base32 "16yrb9si7swc6vnxjj5ga5pvyjkab5w8z589fqml61q0rypnn6ay"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.24)
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
;; There is no real discussion on the issue among humans, a lot
|
||||
|
||||
@@ -927,7 +927,7 @@ transformed into common image formats for display or printing.")
|
||||
(inputs
|
||||
(list boost-1.83
|
||||
cairomm-1.14
|
||||
cgal
|
||||
cgal-5
|
||||
expat
|
||||
gmp
|
||||
gtk+
|
||||
|
||||
+44
-17
@@ -628,9 +628,17 @@ with the @command{autotrace} utility or as a C library, @code{libautotrace}.")
|
||||
#:configure-flags
|
||||
(list
|
||||
"-DEMBREE_ISPC_SUPPORT=OFF"
|
||||
;; They SAY that that's the default--but it isn't
|
||||
;; (that would be AVX512--and that segfaults GCC (!)).
|
||||
"-DEMBREE_MAX_ISA=AVX2")))
|
||||
,@(cond
|
||||
((target-x86-64?)
|
||||
;; They SAY that that's the default--but it isn't
|
||||
;; (that would be AVX512--and that segfaults GCC (!)).
|
||||
`("-DEMBREE_MAX_ISA=AVX2"))
|
||||
((target-aarch64?)
|
||||
`("-DEMBREE_ARM=ON"
|
||||
"-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF"
|
||||
"-DCMAKE_CXX_FLAGS=-flax-vector-conversions"))
|
||||
(else
|
||||
'())))))
|
||||
(inputs
|
||||
(list glfw onetbb))
|
||||
(home-page "https://www.embree.org/")
|
||||
@@ -639,13 +647,16 @@ with the @command{autotrace} utility or as a C library, @code{libautotrace}.")
|
||||
"Embree is a collection of high-performance ray tracing kernels.
|
||||
Embree is meant to increase performance of photo-realistic rendering
|
||||
applications.")
|
||||
;; From the README: Embree requires at least an x86 CPU with support for
|
||||
;; SSE2 or an Apple M1 CPU.
|
||||
(supported-systems '("x86_64-linux" "aarch64-linux"))
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public embree-3
|
||||
(package
|
||||
(inherit embree)
|
||||
(name "embree")
|
||||
(version "3.3.15")
|
||||
(version "3.13.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1047,28 +1058,29 @@ output, ambient occlusion lighting, and support for various triangle mesh and
|
||||
volumetric texture formats beneficial for molecular visualization.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public cgal
|
||||
(define-public cgal-5
|
||||
(package
|
||||
(name "cgal")
|
||||
(version "5.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/CGAL/cgal/releases/download/v" version
|
||||
"/CGAL-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dsqvnyd2ic50pr28gfz34bpnyx3i2csf1rikmc661hywdz5xcfd"))))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/CGAL/cgal")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rym0xi4kh4nv2pdj178gygkalvrwgx38v13b0zm3jl0v1af9bhv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; Prevent two mostly-duplicate directories. Use Guix's versioned
|
||||
;; default for licences instead of CGAL's unversioned one.
|
||||
(list (string-append "-DCGAL_INSTALL_DOC_DIR=share/doc/"
|
||||
,name "-" ,version))
|
||||
#:tests? #f)) ; no test target
|
||||
(inputs
|
||||
(list mpfr gmp boost))
|
||||
,name "-"
|
||||
,version))
|
||||
#:tests? #f)) ;no test target
|
||||
(inputs (list mpfr gmp boost))
|
||||
(home-page "https://www.cgal.org/")
|
||||
(synopsis "Computational geometry algorithms library")
|
||||
(description
|
||||
@@ -1085,6 +1097,21 @@ many more.")
|
||||
;; permissive licenses.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public cgal
|
||||
(package
|
||||
(inherit cgal-5)
|
||||
(name "cgal")
|
||||
(version "6.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/CGAL/cgal")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cbrqa9h8vx31fw0rp7fn00ndmcgip0xmcc303ycjjc8rirnsz9j"))))))
|
||||
|
||||
(define-public geomcpp
|
||||
;; XXX: No releases.
|
||||
(let ((commit "730b3d35bc4fcd5f68764239682d936bae192811")
|
||||
|
||||
+20
-32
@@ -578,10 +578,7 @@ This package provides the core library and elements.")
|
||||
(substitute* "tests/check/meson.build"
|
||||
;; This test causes nondeterministic failures (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
|
||||
((".*'elements/appsrc.c'.*") "")
|
||||
;; This one is flaky (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5016>).
|
||||
((".*'elements/inputselector.c'.*") ""))
|
||||
((".*'elements/appsrc.c'.*") ""))
|
||||
;; Some other tests fail on other architectures.
|
||||
#$@(cond
|
||||
((target-x86-32?)
|
||||
@@ -769,8 +766,7 @@ model to base your own plug-in on, here it is.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-Dgpl=enabled"
|
||||
"-Dsctp-internal-usrsctp=disabled"
|
||||
#:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled"
|
||||
;; TODO: Figure out why audiovisualizer test
|
||||
;; fails on riscv64-linux.
|
||||
#$@(if (target-riscv64?)
|
||||
@@ -780,15 +776,6 @@ model to base your own plug-in on, here it is.")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@%common-gstreamer-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "ext/resindvd/resindvdsrc.c"
|
||||
;; `g_module_open' is a wrapper above dlopen; pass it the
|
||||
;; absolute file name of the library to ensure it is always
|
||||
;; found.
|
||||
(("\"libdvdcss\"")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "lib/libdvdcss.so"))))))
|
||||
(add-after 'unpack 'adjust-tests
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
|
||||
@@ -802,18 +789,18 @@ model to base your own plug-in on, here it is.")
|
||||
|
||||
;; The 'elements_shm.test_shm_live' test sometimes times out
|
||||
;; (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790>).
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
|
||||
((".*'elements/shm\\.c'.*") "")
|
||||
|
||||
;; The 'elements_curlhttpsrc' test sometimes times out.
|
||||
((".*'elements/curlhttpsrc\\.c'.*") "")
|
||||
|
||||
;; The 'mxfdemux' test fails for unknown reasons (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921>).
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921).
|
||||
((".*'elements/mxfdemux.c'.*") "")
|
||||
|
||||
;; Unexpected critical/warning, see
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/792>
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3000>
|
||||
((".*'elements/netsim\\.c'.*") "")
|
||||
|
||||
;; TODO: Figure out why this test fails on riscv64-linux.
|
||||
@@ -822,19 +809,30 @@ model to base your own plug-in on, here it is.")
|
||||
"'elements/viewfinderbin.c'], true, ],"))
|
||||
'())
|
||||
|
||||
;; This test is flaky.
|
||||
;; This test is flaky on at least some architectures.
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
|
||||
(("'elements/camerabin\\.c'\\].*],")
|
||||
"'elements/camerabin.c'], true, ],")
|
||||
#$@(if (member (%current-system)
|
||||
'("aarch64-linux" "riscv64-linux"))
|
||||
`((("'elements/camerabin\\.c'\\].*],")
|
||||
"'elements/camerabin.c'], true, ],"))
|
||||
'())
|
||||
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
|
||||
((".*elements/dtls\\.c.*") "")
|
||||
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
|
||||
((".*elements/mxfdemux\\.c.*") "")
|
||||
|
||||
;; Unable to create pipeline 'bin.
|
||||
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
|
||||
;; no element "vulkanupload"
|
||||
((".*elements/vkcolorconvert\\.c.*") "")
|
||||
((".*elements/vkupload\\.c.*") "")))))
|
||||
((".*elements/vkupload\\.c.*") ""))
|
||||
(substitute* "tests/check/elements/zxing.c"
|
||||
;; zxing 1.2.0 seemingly changed the type representation of
|
||||
;; the EAN_13 structure; disable it.
|
||||
((".*\"EAN_13\".*")
|
||||
"")))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Tests require a running X server.
|
||||
@@ -1164,19 +1162,9 @@ after their category.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
#:configure-flags #~(list "-Dgpl=enabled")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@%common-gstreamer-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "ext/dvdread/dvdreadsrc.c"
|
||||
;; `g_module_open' is a wrapper above dlopen; pass it the
|
||||
;; absolute file name of the library to ensure it is always
|
||||
;; found.
|
||||
(("\"libdvdcss\"")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "lib/libdvdcss.so"))))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Tests require a running X server.
|
||||
|
||||
+38
-44
@@ -24,7 +24,7 @@
|
||||
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
@@ -387,7 +387,7 @@ applications.")
|
||||
(define-public pango
|
||||
(package
|
||||
(name "pango")
|
||||
(version "1.57.1")
|
||||
(version "1.56.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -396,7 +396,7 @@ applications.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dfvlag7jhf4fzraxwhx4s016h2z7igq3knza9vfklkss8igs00a"))))
|
||||
"0jnmydds9dmdah4fjj5rr5gmf1imxlxjc0w98if642n98vmsdf67"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -647,7 +647,7 @@ highlighting and other features typical of a source code editor.")
|
||||
(define-public gdk-pixbuf
|
||||
(package
|
||||
(name "gdk-pixbuf")
|
||||
(version "2.44.5")
|
||||
(version "2.44.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -655,7 +655,7 @@ highlighting and other features typical of a source code editor.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s5b010jlinmki5iidbj2yip8n2sxc6xc0qmcvpc104v2c4kxfb9"))
|
||||
"05xxpl3sd37lsp5qqy01m0w9c14dqfi84x9rawsffyj2y71sm8ck"))
|
||||
(patches
|
||||
(search-patches
|
||||
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
|
||||
@@ -781,7 +781,7 @@ images.")
|
||||
(hidden-package
|
||||
(package
|
||||
(name "at-spi2-core")
|
||||
(version "2.60.0")
|
||||
(version "2.52.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -789,7 +789,7 @@ images.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16fb2hv12k2vzh462gbd4qf8ipvnb2ijrc5d7w56dzfqjwd0rrc0"))))
|
||||
"1azmbzik0gl2s03c9lq3dff3h1iql1zvlwn28yhizl68421zrhqa"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -987,7 +987,7 @@ application suites.")
|
||||
(package
|
||||
(inherit gtk+-2)
|
||||
(name "gtk+")
|
||||
(version "3.24.52")
|
||||
(version "3.24.51")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -996,11 +996,10 @@ application suites.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"197w1mb5vqm5d07sgdqkg54can7f1p4yjh42zx0y8z6m9p43shck"))
|
||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
|
||||
(patches (search-patches
|
||||
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"
|
||||
"gtk3-treeview-test-fix.patch"))))
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
||||
;; There is no "doc" output, because adding gtk-doc here would introduce a
|
||||
;; dependency cycle with itself.
|
||||
(outputs '("out" "bin"))
|
||||
@@ -1076,20 +1075,22 @@ application suites.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))
|
||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||
;; fail for unknown reasons (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
((" 'flipping-icons.ui',.*") "")
|
||||
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
||||
;; This test fails just on i686-linux, for unknown reasons.
|
||||
#$@(if (target-x86-32?)
|
||||
#~((substitute* "testsuite/reftests/meson.build"
|
||||
((" 'linear-gradient.ui',.*") "")))
|
||||
#~())))
|
||||
;; These tests fail only in the containerized environment, for
|
||||
;; unknown reasons.
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))
|
||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||
;; fail for unknown reasons (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
((" 'flipping-icons.ui',.*") "")
|
||||
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
||||
;; This test fails just on i686-linux, for unknown reasons.
|
||||
#$@(if (target-x86-32?)
|
||||
#~((substitute* "testsuite/reftests/meson.build"
|
||||
((" 'linear-gradient.ui',.*") "")))
|
||||
#~())))
|
||||
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||
(assoc-ref glib-or-gtk:%standard-phases
|
||||
'generate-gdk-pixbuf-loaders-cache-file))
|
||||
@@ -1113,13 +1114,13 @@ application suites.")
|
||||
"/share/applications")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
|
||||
(define-public gtk
|
||||
(package
|
||||
(name "gtk")
|
||||
(version "4.22.1")
|
||||
(version "4.20.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1127,11 +1128,9 @@ application suites.")
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1z2mkmazc2d51jbg3qwwdycycqiwswm88nhw6bxscz8j86f5lyyd"))
|
||||
(base32 "0ly1gqc6ybxv5f2a9hvjp5k6l9mfzy2yv8iy2xqnr9l8628g4wr8"))
|
||||
(patches
|
||||
(search-patches "gtk4-demo-reproducible.patch"
|
||||
"gtk4-needs-udmabuf.patch"
|
||||
"gtk4-respect-GUIX_GTK4_PATH.patch"))
|
||||
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
|
||||
(modules '((guix build utils)))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "bin" "doc"))
|
||||
@@ -1199,9 +1198,6 @@ application suites.")
|
||||
(("[ \t]*'empty-text.node',") "")
|
||||
(("[ \t]*'testswitch.node',") "")
|
||||
(("[ \t]*'widgetfactory.node',") "")
|
||||
;; The gtklistitemmanager test is flaky (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/6547>).
|
||||
((".*'gtklistitemmanager.c',.*") "")
|
||||
;; XXX: Figure out why this fails and report upstream.
|
||||
((".*'memorytexture',.*") "")
|
||||
((".*'yuv-matrix-dmabuf',.*") ""))
|
||||
@@ -1258,10 +1254,8 @@ application suites.")
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Tests require a running X server. The '-noreset' option is
|
||||
;; necessary to avoid spurious "Failed to open display" test
|
||||
;; errors.
|
||||
(system "Xvfb :1 +extension GLX -screen 0 1024x768x24 -noreset &")
|
||||
;; Tests require a running X server.
|
||||
(system "Xvfb :1 +extension GLX &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
;; Tests write to $HOME.
|
||||
(setenv "HOME" (getcwd))
|
||||
@@ -1304,7 +1298,6 @@ application suites.")
|
||||
docbook-xsl
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
glibc-utf8-locales ;some tests require en_US.UTF-8
|
||||
gobject-introspection ;for building introspection data
|
||||
graphene
|
||||
gtk-doc/stable ;for building documentation
|
||||
@@ -1328,6 +1321,7 @@ application suites.")
|
||||
(inputs
|
||||
(list colord ;for color printing support
|
||||
cups ;for CUPS print-backend
|
||||
ffmpeg ;for ffmpeg media-backend
|
||||
fribidi
|
||||
gi-docgen
|
||||
gstreamer ;for gstreamer media-backend
|
||||
@@ -1371,8 +1365,8 @@ application suites.")
|
||||
(native-search-paths
|
||||
(list
|
||||
(search-path-specification
|
||||
(variable "GUIX_GTK4_PATH")
|
||||
(files '("lib/gtk-4.0")))))
|
||||
(variable "GUIX_GTK4_PATH")
|
||||
(files '("lib/gtk-4.0")))))
|
||||
(search-paths native-search-paths)
|
||||
(home-page "https://www.gtk.org/")
|
||||
(synopsis "Cross-platform widget toolkit")
|
||||
@@ -2211,7 +2205,7 @@ information.")
|
||||
(define-public gtk-doc
|
||||
(package
|
||||
(name "gtk-doc")
|
||||
(version "1.35.1")
|
||||
(version "1.34.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -2219,7 +2213,7 @@ information.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qi5bgqca1chdcfw7v4h3sw8jg661nmp77d7x658mn6nxlj9y731"))
|
||||
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
|
||||
(patches
|
||||
(search-patches "gtk-doc-respect-xml-catalog.patch"
|
||||
"gtk-doc-mkhtml-test-fix.patch"))))
|
||||
|
||||
@@ -340,6 +340,49 @@ more.")
|
||||
currently does not do much, but it might in the future.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-arguments
|
||||
(package
|
||||
(name "guile-arguments")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/fishinthecalculator/arguments")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r71l6099afk017a3ck5mpp2xhb3bm45s6nga24lhby52rxbkayl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'generate-api-reference
|
||||
(lambda _
|
||||
(invoke "scripts/generate_api_reference.sh")))
|
||||
(add-after 'build 'build-html-manual
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke `("make" "html" ,@make-flags))))
|
||||
(add-after 'install 'install-html-manual
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke `("make" "install-html" ,@make-flags)))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
guile-documenta
|
||||
pkg-config
|
||||
texinfo))
|
||||
(inputs (list guile-3.0))
|
||||
(synopsis "Parse command line arguments into structured objects")
|
||||
(description "This package provides a Guile library to parse command line
|
||||
arguments into structured objects. It allows declaring arguments through a
|
||||
small @acronym{DSL, Domain Specific Language}, then call a procedure to parse the
|
||||
command line into a structured object.")
|
||||
(home-page "https://codeberg.org/fishinthecalculator/arguments")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-oauth
|
||||
(package
|
||||
(name "guile-oauth")
|
||||
@@ -3026,12 +3069,12 @@ users and in some situations.")
|
||||
(define-public guile-g-golf
|
||||
(package
|
||||
(name "guile-g-golf")
|
||||
(version "0.8.3")
|
||||
(version "0.8.7")
|
||||
(source
|
||||
(g-golf-source #:version version
|
||||
#:hash
|
||||
(content-hash
|
||||
"1cbvb42dy94612m8040y3km9941jhi17mf78yc4pavlala8x6937")))
|
||||
"0lwwr78fwdcap7606r5rszw6369lsq876zmr9mdsw37d4nimm7xi")))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3125,6 +3168,12 @@ object-oriented programming system, GOOPS.")
|
||||
(package
|
||||
(inherit guile-g-golf)
|
||||
(name "g-golf-gtk-4-examples")
|
||||
(version "0.8.3")
|
||||
(source
|
||||
(g-golf-source #:version version
|
||||
#:hash
|
||||
(content-hash
|
||||
"1cbvb42dy94612m8040y3km9941jhi17mf78yc4pavlala8x6937")))
|
||||
(arguments
|
||||
(list
|
||||
#:modules `(((guix build guile-build-system)
|
||||
@@ -4643,14 +4692,14 @@ serializing continuations or delimited continuations.")
|
||||
(define-public guile-hoot
|
||||
(package
|
||||
(name "guile-hoot")
|
||||
(version "0.8.0")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.spritely.institute/releases"
|
||||
"/guile-hoot/guile-hoot-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0swlwq2h6bibaqa28gqwi318izqagzaiw2jbb1afr4sb4chjb0p9"))))
|
||||
(base32 "1gfi2wggvsfsmqnxc4k27ir7vz6xkc7fwcjzsl72n118skig94pj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6077,7 +6126,7 @@ implementation in itself.")
|
||||
(define-public guile-uuid
|
||||
(package
|
||||
(name "guile-uuid")
|
||||
(version "0.9.0")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6086,7 +6135,7 @@ implementation in itself.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0g508aajkyi513wbhm1rhs03ilnb701lwlrvppkmc0vynydlk9ws"))))
|
||||
(base32 "01gza8zsjmazc02p9vm7pgidvfzdi786asc7c4r8cnjxdn3sigvd"))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
@@ -6095,6 +6144,7 @@ implementation in itself.")
|
||||
(lambda _
|
||||
(invoke "guile" "--no-auto-compile" "run-tests.scm")
|
||||
(delete-file "run-tests.scm")
|
||||
(delete-file "guix.scm")
|
||||
(delete-file-recursively "tests")))
|
||||
(add-after 'build 'install-info-documentation
|
||||
(lambda _
|
||||
|
||||
@@ -467,15 +467,15 @@ without requiring the source code to be rewritten.")
|
||||
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_LOAD_PATH")
|
||||
(files '("share/guile/site/3.0")))
|
||||
(variable "GUILE_LOAD_PATH")
|
||||
(files '("share/guile/site/3.0")))
|
||||
(search-path-specification
|
||||
(variable "GUILE_LOAD_COMPILED_PATH")
|
||||
(files '("lib/guile/3.0/site-ccache"
|
||||
"share/guile/site/3.0")))
|
||||
(variable "GUILE_LOAD_COMPILED_PATH")
|
||||
(files '("lib/guile/3.0/site-ccache"
|
||||
"share/guile/site/3.0")))
|
||||
(search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files '("lib/guile/3.0/extensions")))))))
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files '("lib/guile/3.0/extensions")))))))
|
||||
|
||||
(define-public guile-3.0.11
|
||||
(package
|
||||
|
||||
+103
-100
@@ -24,6 +24,7 @@
|
||||
;;; Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -161,7 +162,7 @@ sets, and tools to deal with register databases.")
|
||||
(define-public brillo
|
||||
(package
|
||||
(name "brillo")
|
||||
(version "1.4.12")
|
||||
(version "1.4.13")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -169,7 +170,7 @@ sets, and tools to deal with register databases.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"16n4j45mfhd1zxwbpl8342vyqf8rj3plhcl90xp02m46hn58v8bl"))
|
||||
"0qq2c2l9wyrh2kz1adicmizymln1878hynnixhyck7j5f4rk45gq"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -221,92 +222,94 @@ Notable features include:
|
||||
(license (list license:bsd-0 license:gpl3+))))
|
||||
|
||||
(define-public deskflow
|
||||
(package
|
||||
(name "deskflow")
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/deskflow/deskflow")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fd2pasc8l0rb9k2f97ip69h4y8gppz1v7jik46476h477ykz7p7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DCMAKE_SKIP_RPATH=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-files
|
||||
(lambda _
|
||||
(substitute* "deploy/linux/deploy.cmake"
|
||||
(("message.FATAL_ERROR.*os-release.*")
|
||||
"set(RELEASE_FILE_CONTENTS \"\")\n"))
|
||||
(substitute* "src/lib/deskflow/unix/AppUtilUnix.cpp"
|
||||
(("/usr/share/X11/xkb/rules/evdev.xml")
|
||||
(string-append #$(this-package-input "xkeyboard-config")
|
||||
"/share/X11/xkb/rules/evdev.xml")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
;; From the project GitHub actions: "Integration tests are
|
||||
;; flakey by nature, make them optional". See:
|
||||
;; <.github/workflows/continuous-integration.yml>.
|
||||
(invoke "./bin/legacytests"))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda _
|
||||
(let ((qtbase #$(this-package-input "qtbase")))
|
||||
(wrap-program (string-append #$output "/bin/deskflow")
|
||||
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
|
||||
(,(string-append qtbase "/lib/qt6/plugins/platforms"))))))))))
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
googletest
|
||||
sysprof
|
||||
vulkan-headers
|
||||
coreutils
|
||||
help2man
|
||||
pkg-config))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
cli11
|
||||
gdk-pixbuf
|
||||
libei
|
||||
libportal
|
||||
libx11
|
||||
libxi
|
||||
libxinerama
|
||||
libxkbcommon
|
||||
libxkbfile
|
||||
libxrandr
|
||||
libxtst
|
||||
libsm
|
||||
libice
|
||||
openssl
|
||||
pugixml
|
||||
python
|
||||
qtbase
|
||||
qtsvg
|
||||
qttranslations
|
||||
qttools
|
||||
qtwayland
|
||||
tomlplusplus
|
||||
wayland
|
||||
wayland-protocols
|
||||
xkeyboard-config))
|
||||
(home-page "https://deskflow.org/")
|
||||
(synopsis "Share a single keyboard and mouse between multiple computers")
|
||||
(description
|
||||
"Deskflow is a keyboard and mouse sharing app. Use the keyboard,
|
||||
(let ((commit "ef96c2c36228f853e266b9f6d80076ac8683ff02")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "deskflow")
|
||||
(version (git-version "1.26.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/deskflow/deskflow")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05sijkk74dq9hr7j8q2wms7zdf05p15x4627nvhqdazxwdv0r03l"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DCMAKE_SKIP_RPATH=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-files
|
||||
(lambda _
|
||||
(substitute* "deploy/linux/deploy.cmake"
|
||||
(("message.FATAL_ERROR.*os-release.*")
|
||||
"set(RELEASE_FILE_CONTENTS \"\")\n"))
|
||||
(substitute* "src/lib/deskflow/unix/AppUtilUnix.cpp"
|
||||
(("/usr/share/X11/xkb/rules/evdev.xml")
|
||||
(string-append #$(this-package-input "xkeyboard-config")
|
||||
"/share/X11/xkb/rules/evdev.xml")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
;; From the project GitHub actions: "Integration tests are
|
||||
;; flakey by nature, make them optional". See:
|
||||
;; <.github/workflows/continuous-integration.yml>.
|
||||
(invoke "./bin/legacytests"))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda _
|
||||
(let ((qtbase #$(this-package-input "qtbase")))
|
||||
(wrap-program (string-append #$output "/bin/deskflow")
|
||||
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
|
||||
(,(string-append qtbase "/lib/qt6/plugins/platforms"))))))))))
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
googletest
|
||||
sysprof
|
||||
vulkan-headers
|
||||
coreutils
|
||||
help2man
|
||||
pkg-config))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
cli11
|
||||
gdk-pixbuf
|
||||
libei
|
||||
libportal
|
||||
libx11
|
||||
libxi
|
||||
libxinerama
|
||||
libxkbcommon
|
||||
libxkbfile
|
||||
libxrandr
|
||||
libxtst
|
||||
libsm
|
||||
libice
|
||||
openssl
|
||||
pugixml
|
||||
python
|
||||
qtbase
|
||||
qtsvg
|
||||
qttranslations
|
||||
qttools
|
||||
qtwayland
|
||||
tomlplusplus
|
||||
wayland
|
||||
wayland-protocols
|
||||
xkeyboard-config))
|
||||
(home-page "https://deskflow.org/")
|
||||
(synopsis "Share a single keyboard and mouse between multiple computers")
|
||||
(description
|
||||
"Deskflow is a keyboard and mouse sharing app. Use the keyboard,
|
||||
mouse,or trackpad of one computer to control nearby computers, and work
|
||||
seamlessly between them. It's like a software KVM (but without the video).
|
||||
TLS encryption is enabled by default. It supports Wayland clipboard
|
||||
sharing.")
|
||||
(license license:gpl2)))
|
||||
(license license:gpl2))))
|
||||
|
||||
;; Added on 2025-09-24.
|
||||
(define-deprecated-package barrier
|
||||
@@ -1036,7 +1039,7 @@ specific SMBIOS tables.")
|
||||
(define-public liquidctl
|
||||
(package
|
||||
(name "liquidctl")
|
||||
(version "1.15.0")
|
||||
(version "1.16.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1045,7 +1048,7 @@ specific SMBIOS tables.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cj4ag6h08clklqg63wpw1vvxfjx37a7ib081dd1z5bl0580zxl9"))))
|
||||
"0i5865wrpkz2cbzs28ngn7qgwiifjb89h0c2qhymg3vhqhywpprl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -1379,7 +1382,7 @@ Features:
|
||||
(define-public wavemon
|
||||
(package
|
||||
(name "wavemon")
|
||||
(version "0.9.4")
|
||||
(version "0.9.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1388,16 +1391,16 @@ Features:
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0s3yz15vzx90fxyb8bgryksn0cr2gpz9inbcx4qjrgs7zfbm4pgh"))))
|
||||
(base32 "0f2x433jqf2469ybdziq50ggqbk3s4mi2i8s997b9lbcvj3nbdrw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc"
|
||||
;; Makefile.in (ab)uses $(datadir) as $(docdir). Set it to Guix's
|
||||
;; standard --docdir since it's only used as such.
|
||||
(string-append "datadir=" (assoc-ref %outputs "out")
|
||||
"/share/doc/" ,name "-" ,version))
|
||||
#:tests? #f)) ; no tests
|
||||
(list #:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
;; Makefile.in (ab)uses $(datadir) as $(docdir). Set it to
|
||||
;; Guix's standard --docdir since it's only used as such.
|
||||
(string-append "datadir=" (assoc-ref %outputs "out")
|
||||
"/share/doc/" #$name "-" #$version))
|
||||
#:tests? #f)) ; no tests
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
@@ -1591,7 +1594,7 @@ and libtss2-tcti-mssim.")
|
||||
(define-public tpm2-tools
|
||||
(package
|
||||
(name "tpm2-tools")
|
||||
(version "5.5")
|
||||
(version "5.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1599,7 +1602,7 @@ and libtss2-tcti-mssim.")
|
||||
"releases/download/" version "/"
|
||||
"tpm2-tools-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "08y16q92dh7frsyw0zlm3q9gsfqyls0li248s2pgsysk633lknqz"))))
|
||||
(base32 "0flqf32w7nx2z26m6cf16483pm0k4bi55rbw5x7ny9bra1mx641q"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
@@ -1717,7 +1720,7 @@ your network, send SCPI commands, and receive responses.")
|
||||
(define-public lxi-tools
|
||||
(package
|
||||
(name "lxi-tools")
|
||||
(version "2.5")
|
||||
(version "2.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1727,7 +1730,7 @@ your network, send SCPI commands, and receive responses.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xc99xhca386az73rpsrf3z0j7y0hrv0xcwj1dr2ahr7lhnjznqp"))))
|
||||
"0xkg1hipixzg5ssfy1k6w0yjsr9qbkv1bhx2xw2pqk9plaj9jrcn"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1737,7 +1740,7 @@ your network, send SCPI commands, and receive responses.")
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(substitute* "build-aux/meson/postinstall.py"
|
||||
(("gtk-update-icon-cache") (which "true"))
|
||||
(("gtk4-update-icon-cache") (which "true"))
|
||||
(("update-desktop-database") (which "true"))))))))
|
||||
(native-inputs
|
||||
(list bash-completion
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016, 2018, 2019, 2021, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2013, 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2022, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
|
||||
@@ -116,6 +116,66 @@
|
||||
top of CLISP.")
|
||||
(license license:bsd-4))))
|
||||
|
||||
(define-public hugs
|
||||
(package
|
||||
(name "hugs")
|
||||
(version "Sep2006")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.haskell.org/hugs/downloads/2006-09/"
|
||||
name "98-plus-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma"))
|
||||
(patches (search-patches "hugs-fix-build.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-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")))
|
||||
#t)))
|
||||
#:tests? #f)) ; no test target
|
||||
(native-inputs (list gcc-13))
|
||||
(home-page "https://www.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 (license:non-copyleft "file://License"
|
||||
"See License in the distribution."))))
|
||||
|
||||
;; This package contains lots of generated .hc files containing C code to
|
||||
;; bootstrap the compiler without a Haskell compiler. The included .hc files
|
||||
;; cover not just the compiler sources but also all Haskell libraries.
|
||||
|
||||
@@ -173,7 +173,7 @@ chip written in platform-independent VHDL.")
|
||||
(define-public open-logic
|
||||
(package
|
||||
(name "open-logic")
|
||||
(version "4.4.1")
|
||||
(version "4.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -185,7 +185,7 @@ chip written in platform-independent VHDL.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zydrmx35s3mi35im4s4lfd9mmzdwdrnxfh9fg4d12v4ai7ijfrk"))))
|
||||
"00y8lv55b8z7dd9gy7312wb08szi342xvqbahd12k14jyxhn109j"))))
|
||||
(outputs
|
||||
'("out" "olo"))
|
||||
(properties
|
||||
|
||||
@@ -49,123 +49,6 @@
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public musl-cross
|
||||
(let ((revision "3")
|
||||
(commit "a8a66490dae7f23a2cf5e256f3a596d1ccfe1a03"))
|
||||
(package
|
||||
(name "musl-cross")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/GregorR/musl-cross")
|
||||
(commit commit)))
|
||||
(file-name "musl-cross-checkout")
|
||||
(sha256
|
||||
(base32
|
||||
"1xvl9y017wb2qaphy9zqh3vrhm8hklr8acvzzcjc35d1jjhyl58y"))
|
||||
(patches (search-patches "musl-cross-locale.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests in main project.
|
||||
#:modules
|
||||
((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(srfi srfi-1)) ; drop
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(setenv "SHELL" "bash")
|
||||
(setenv "CONFIG_SHELL" "bash")
|
||||
#t))
|
||||
(add-after 'unpack 'unpack-dependencies
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(define (install-file* source-key destination-directory
|
||||
destination-suffix)
|
||||
(let* ((source-file (assoc-ref inputs source-key))
|
||||
(source-basename (basename source-file))
|
||||
(source-parts (string-split source-basename #\-))
|
||||
(destination-file
|
||||
(string-join (drop source-parts 1) "-")))
|
||||
(copy-file source-file
|
||||
(string-append destination-directory "/"
|
||||
destination-file destination-suffix))))
|
||||
(for-each (lambda (name)
|
||||
(install-file* name "tarballs" ""))
|
||||
'("binutils" "target-gcc-5" "linux-headers" "musl"))
|
||||
(copy-file (string-append (assoc-ref inputs "config.sub")
|
||||
"/share/automake-1.16/config.sub")
|
||||
"tarballs/config.sub;hb=3d5db9ebe860")
|
||||
(copy-file (string-append (assoc-ref inputs "config.sub")
|
||||
"/share/automake-1.16/config.guess")
|
||||
"tarballs/config.guess;hb=3d5db9ebe860")
|
||||
(substitute* "config.sh"
|
||||
(("^CC_BASE_PREFIX=.*")
|
||||
(string-append "CC_BASE_PREFIX=" (assoc-ref outputs "out")
|
||||
"/crossgcc\n")))
|
||||
;; Note: Important: source/gcc-5.3.0/gcc/exec-tool.in
|
||||
;; Note: Important: source/kernel-headers-3.12.6-5/tools/install.sh
|
||||
;; Note: Important: move-if-change (twice)
|
||||
;; Make sure that shebangs are patched after new extractions.
|
||||
(substitute* "defs.sh"
|
||||
(("touch \"[$]2/extracted\"")
|
||||
(string-append "touch \"$2/extracted\"
|
||||
for s in mkinstalldirs move-if-change compile depcomp callprocs configure \\
|
||||
mkdep compile libtool-ldflags config.guess install-sh missing config.sub \\
|
||||
config.rpath progtest.m4 lib-ld.m4 acx.m4 gen-fixed.sh mkheader.sh ylwrap \\
|
||||
merge.sh godeps.sh lock-and-run.sh print-sysroot-suffix.sh mkconfig.sh \\
|
||||
genmultilib exec-tool.in install.sh
|
||||
do
|
||||
find . -name $s -exec sed -i -e 's;!/bin/sh;!" (assoc-ref inputs "bash")
|
||||
"/bin/sh;' '{}' ';'
|
||||
find . -name $s -exec sed -i -e 's; /bin/sh; " (assoc-ref inputs "bash")
|
||||
"/bin/sh;' '{}' ';'
|
||||
done
|
||||
" )))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "./build.sh")))
|
||||
(delete 'install))))
|
||||
(native-inputs
|
||||
`(("config.sub" ,automake)
|
||||
("bash" ,bash)
|
||||
("flex" ,flex)
|
||||
("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("mpc" ,mpc)
|
||||
("binutils"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://ftpmirror.gnu.org/gnu/binutils/binutils-2.27.tar.bz2")
|
||||
(sha256
|
||||
(base32 "125clslv17xh1sab74343fg6v31msavpmaa1c1394zsqa773g5rn"))))
|
||||
("target-gcc-5"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://ftpmirror.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.bz2")
|
||||
(sha256
|
||||
(base32 "1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq"))))
|
||||
("linux-headers"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "http://ftp.barfooze.de/pub/sabotage/tarballs/linux-headers-4.19.88.tar.xz")
|
||||
(sha256
|
||||
(base32 "1srgi2nqw892jb6yd4kzacf2xzwfvzhsv2957xfh1nvbs7varwyk"))))
|
||||
("musl"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "http://www.musl-libc.org/releases/musl-1.1.24.tar.gz")
|
||||
(sha256
|
||||
(base32 "18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k"))))))
|
||||
(supported-systems (remove target-hurd? %supported-systems))
|
||||
(home-page "https://github.com/osresearch/heads")
|
||||
(synopsis "Cross gcc 5 toolchain")
|
||||
(description "Musl-cross toolchain: binutils, gcc 5 and musl.")
|
||||
(license license:isc))))
|
||||
|
||||
;; This package provides a "dev.cpio" file usable as a base for booting Heads.
|
||||
(define-public heads-dev-cpio
|
||||
(package
|
||||
|
||||
@@ -414,7 +414,7 @@ much more.")
|
||||
(define-public bvi
|
||||
(package
|
||||
(name "bvi")
|
||||
(version "1.4.2")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -422,7 +422,7 @@ much more.")
|
||||
"/bvi-" version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wllrvs8r8bdm11sx01095j8cj4drjmw0dlkjfdkm5lnnk11dfjb"))))
|
||||
"1jvldfxdpgf044hnhjhxi24a9bkbn8adl22icc8rfarv39m72h35"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; no check target
|
||||
(inputs
|
||||
|
||||
+4
-68
@@ -1,7 +1,4 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -19,69 +16,8 @@
|
||||
;;; 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)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gcc))
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (gnu packages haskell))
|
||||
|
||||
(define-public hugs
|
||||
(package
|
||||
(name "hugs")
|
||||
(version "Sep2006")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.haskell.org/hugs/downloads/2006-09/"
|
||||
name "98-plus-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma"))
|
||||
(patches (search-patches "hugs-fix-build.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-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")))
|
||||
#t)))
|
||||
#:tests? #f)) ; no test target
|
||||
(native-inputs (list gcc-13))
|
||||
(home-page "https://www.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 (non-copyleft "file://License"
|
||||
"See License in the distribution."))))
|
||||
;; XXX: Deprecated on <2026-05-17>.
|
||||
(define-deprecated/public-alias hugs (@ (gnu packages haskell) hugs))
|
||||
|
||||
+136
-17
@@ -334,6 +334,61 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
(define %add-to-hurd-subdirs
|
||||
(list "libmachdevdde" "libddekit"))
|
||||
|
||||
(define-public libacpica
|
||||
(let ((commit "0c3593e27947ef0734a070143caadaed28438354")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libacpica")
|
||||
(home-page "https://salsa.debian.org/hurd-team/libacpica")
|
||||
(version (git-version "20220331" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0hyfg4w2ch6a833kkxjcsddqq2712gqlbvrl6zv5yzvallpfzh7d"))
|
||||
(file-name (git-file-name name version))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((srfi srfi-26)
|
||||
(ice-9 rdelim)
|
||||
(guix build utils)
|
||||
(guix build gnu-build-system))
|
||||
#:make-flags #~`(,(string-append "CC=" #$(cc-for-target))
|
||||
,(string-append "PREFIX=" #$output))
|
||||
;; As we are using the Debian package as upstream, we follow their
|
||||
;; build:
|
||||
;; * apply patches in debian/patches taken from the
|
||||
;; debian/patches/series file
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda* (#:key target #:allow-other-keys)
|
||||
(let* ((patch-directory "debian/patches/")
|
||||
(series (string-append patch-directory "series"))
|
||||
(text (with-input-from-file series read-string))
|
||||
(lines (string-split (string-trim-right text) #\newline))
|
||||
(patches (filter (negate (cute string-prefix? "#" <>))
|
||||
lines))
|
||||
(patch-files (map
|
||||
(cute string-append patch-directory <>)
|
||||
patches)))
|
||||
(for-each
|
||||
(cute invoke "patch" "--force" "-p1" "-i" <>)
|
||||
patch-files)))))))
|
||||
(inputs (list libirqhelp
|
||||
libpciaccess))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems %hurd-systems)
|
||||
(synopsis "ACPICA as a library")
|
||||
(description "libacpica provides ACPICA as a library.")
|
||||
(license (list bsd-3
|
||||
gpl2)))))
|
||||
|
||||
(define-public hurd
|
||||
(package
|
||||
(name "hurd")
|
||||
@@ -404,17 +459,73 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
# Remove this script when Linux and the Hurd have xattr patches.
|
||||
PATH=@PATH@
|
||||
|
||||
fsck --yes --force /
|
||||
fsysopts / --writable
|
||||
# XXX Work around a race condition (probably in the root translator).
|
||||
for i in $(seq 100000); do :; done
|
||||
|
||||
# This is necessary to make stat / return the correct device ids.
|
||||
# As / should be read-only at this point, this should be a no-op.
|
||||
fsysopts / --update --readonly
|
||||
|
||||
if test -f /etc/fstab; then
|
||||
fsck --all --preen --verbose
|
||||
else
|
||||
echo \"No /etc/fstab found, ignoring...\"
|
||||
fi
|
||||
|
||||
case $? in
|
||||
# Successful completion
|
||||
0)
|
||||
fsysopts / --writable
|
||||
;;
|
||||
# Filesystem modified (but ok now)
|
||||
1)
|
||||
fsysopts / --writable
|
||||
;;
|
||||
# Filesystem modified, filesystem should be restarted
|
||||
# Ideally we would only restart the filesystem
|
||||
2 | 3)
|
||||
# Note: this /sbin gets substituted
|
||||
/sbin/reboot
|
||||
;;
|
||||
# Fsck couldn't fix it.
|
||||
4 | 5 | 8 | 9)
|
||||
echo \"Automatic boot failed... help!\"
|
||||
exit 1
|
||||
;;
|
||||
# Signal that really interrupted something
|
||||
20 | 130 | 131)
|
||||
echo \"Boot interrupted\"
|
||||
exit 1
|
||||
;;
|
||||
# Special `let fsck finish' interruption (SIGQUIT)
|
||||
12)
|
||||
echo \"Boot interrupted (filesystem checks complete)\"
|
||||
exit 1
|
||||
;;
|
||||
# Oh dear.
|
||||
*)
|
||||
echo \"Unknown error during fsck (exit status $?)\"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Create seed file to avoid
|
||||
# /gnu/store/...-hurd-x.y.z/hurd/random: Warning: Failed to read random seed file /var/lib/random-seed: No such file or directory
|
||||
mkdir -p /var/lib
|
||||
seq 1000 > /var/lib/random-seed
|
||||
|
||||
# The random translators, especially /dev/urandom, need to be non-passive
|
||||
# When they exist in the file-system and reference /var/lib/random-seed
|
||||
# while / is read-only. console-run will hang.
|
||||
settrans --create --active /dev/random /hurd/random --seed-file /var/lib/random-seed
|
||||
settrans --create --active /dev/urandom /hurd/random --seed-file /var/lib/random-seed --fast
|
||||
|
||||
# Only after this we can run guile.
|
||||
mkdir -p /servers/socket
|
||||
rm -f /servers/socket/1
|
||||
# Note: this /hurd/ gets substituted
|
||||
# Note: this /hurd gets substituted
|
||||
settrans --create /servers/socket/1 /hurd/pflocal
|
||||
|
||||
# Upon second boot, (file-exists? /dev/null) in hurd-boot-system hangs unless:
|
||||
rm -f /dev/urandom
|
||||
|
||||
# parse multiboot arguments
|
||||
for i in \"$@\"; do
|
||||
case $i in
|
||||
@@ -434,7 +545,8 @@ exec ${system}/rc \"$@\"
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(sed (assoc-ref inputs "sed"))
|
||||
(grep (assoc-ref inputs "grep"))
|
||||
(util-linux (assoc-ref inputs "util-linux")))
|
||||
(util-linux (assoc-ref inputs "util-linux"))
|
||||
(e2fsprogs (assoc-ref inputs "e2fsprogs")))
|
||||
(substitute* '("daemons/runttys.c" "daemons/getty.c" "utils/login.c")
|
||||
(("/bin/login")
|
||||
(string-append out "/bin/login"))
|
||||
@@ -450,9 +562,13 @@ exec ${system}/rc \"$@\"
|
||||
;; name.
|
||||
(substitute* '("boot/boot.c"
|
||||
"daemons/console-run.c"
|
||||
"startup/startup.c")
|
||||
"startup/startup.c"
|
||||
"sutils/swapon.c"
|
||||
"tmpfs/tmpfs.c")
|
||||
(("/hurd/")
|
||||
(string-append out "/hurd/")))
|
||||
(string-append out "/hurd/"))
|
||||
(("/sbin/")
|
||||
(string-append out "/sbin/")))
|
||||
(substitute* '("libdiskfs/boot-start.c"
|
||||
"libdiskfs/opts-std-startup.c")
|
||||
(("_HURD_STARTUP")
|
||||
@@ -466,13 +582,15 @@ exec ${system}/rc \"$@\"
|
||||
(string-append "PATH=" out "/bin"
|
||||
":" out "/sbin"
|
||||
":" coreutils "/bin"
|
||||
":" e2fsprogs "/sbin"
|
||||
":" grep "/bin"
|
||||
":" sed "/bin"
|
||||
":" util-linux "/sbin\n"))
|
||||
(("/sbin/") (string-append out "/sbin/"))
|
||||
(("/libexec/") (string-append out "/libexec/"))
|
||||
(("/hurd/") (string-append out "/hurd/")))
|
||||
#t)))
|
||||
(substitute* "sutils/fsck.c"
|
||||
(("/sbin/") (in-vicinity e2fsprogs "sbin/"))))))
|
||||
(add-after 'patch-shebangs 'patch-libexec-shebangs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; XXX: Since the 'patch-shebangs' phase doesn't traverse
|
||||
@@ -482,8 +600,7 @@ exec ${system}/rc \"$@\"
|
||||
(path (list (string-append bash "/bin"))))
|
||||
(for-each (lambda (file)
|
||||
(patch-shebang file path))
|
||||
(find-files (string-append out "/libexec")))
|
||||
#t)))
|
||||
(find-files (string-append out "/libexec"))))))
|
||||
(add-after 'build 'build-libdde-linux
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
(let ((arch ,(match (or (%current-target-system)
|
||||
@@ -588,7 +705,8 @@ exec ${system}/rc \"$@\"
|
||||
"CFLAGS=-fcommon")))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt) ;for /hurd/random
|
||||
`(("libacpica" ,libacpica) ;for hurd/acpi.static
|
||||
("libgcrypt" ,libgcrypt) ;for /hurd/random
|
||||
("libdaemon" ,libdaemon) ;for /bin/console --daemonize
|
||||
("libxcrypt" ,libxcrypt) ;for password hashing
|
||||
("unifont" ,unifont)
|
||||
@@ -600,6 +718,7 @@ exec ${system}/rc \"$@\"
|
||||
;; Tools for the /libexec/* scripts.
|
||||
("bash-minimal" ,bash-minimal)
|
||||
("coreutils" ,coreutils)
|
||||
("e2fsprogs" ,e2fsprogs) ;for fsck.ext2
|
||||
("sed" ,sed)
|
||||
("grep" ,grep)
|
||||
("util-linux" ,util-linux "static") ;libuuid.a, for parted
|
||||
@@ -739,11 +858,11 @@ in userland processes thanks to the DDE layer.")
|
||||
(license gpl2))))
|
||||
|
||||
(define-public rumpkernel
|
||||
(let ((commit "2aad456903b2dc2232fa18c7f286cea6d77b570f")
|
||||
(revision "0"))
|
||||
(let ((commit "debian/0_20250111-6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "rumpkernel")
|
||||
(version (git-version "0-20250111" revision commit))
|
||||
(version (git-version "0-20250111" revision (substring commit 7)))
|
||||
;; This uses the Debian Salsa rumpkernel package git as upstream as that
|
||||
;; is where development happens. Once things have stabilized, upstream
|
||||
;; may change to the NetBSD git from where Debian takes their snapshots.
|
||||
@@ -754,7 +873,7 @@ in userland processes thanks to the DDE layer.")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"14fiv2llvd5s1vi9gigmi1vi0b9yvg2zqyc9xg67ffxl1phv7p8j"))
|
||||
"1pvd54k06rlgvppfbzl1d0qqcjc0kshamw1iw40s3apabh87pw1i"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -89,14 +89,14 @@
|
||||
(define-public ibus-minimal
|
||||
(package
|
||||
(name "ibus")
|
||||
(version "1.5.34-rc2")
|
||||
(version "1.5.32")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ibus/ibus")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "1x05dwhi79s1mqgs34srdr2d5fvkyvihqvcnw91630xyf4r76b1h"))))
|
||||
(sha256 (base32 "1rn2xpzi6x57n01rjin4a2h8yy1wdmvadgnglw0p6bdnc31q17a6"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
@@ -204,7 +204,7 @@
|
||||
wayland
|
||||
xmodmap))
|
||||
(native-inputs
|
||||
(list autoconf-2.72
|
||||
(list autoconf
|
||||
automake
|
||||
docbook-xml-4.1.2
|
||||
`(,glib "bin") ;for glib-genmarshal
|
||||
|
||||
@@ -18,49 +18,7 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages idutils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages))
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (guix deprecation))
|
||||
|
||||
(define-public idutils
|
||||
(package
|
||||
(name "idutils")
|
||||
(version "4.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/idutils/idutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* (find-files "lib" "\\.c$")
|
||||
(("#if defined _IO_ftrylockfile")
|
||||
"#if defined _IO_EOF_SEEN"))
|
||||
(substitute* "lib/stdio-impl.h"
|
||||
(("^/\\* BSD stdio derived implementations")
|
||||
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
|
||||
"# define _IO_IN_BACKUP 0x100\n"
|
||||
"#endif\n\n"
|
||||
"/* BSD stdio derived implementations")))
|
||||
|
||||
;; 'gets' is deprecated in glibc 2.33 and its declaration is
|
||||
;; no longer visible by default from <stdio.h>.
|
||||
(substitute* "lib/stdio.in.h"
|
||||
(("_GL_WARN_ON_USE \\(gets.*") ""))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("emacs" ,emacs-minimal)))
|
||||
(home-page "https://www.gnu.org/software/idutils/")
|
||||
(synopsis "Identifier database utilities")
|
||||
(description
|
||||
"The GNU idutils package includes tools to create an index of textual
|
||||
tokens used in a list of file names and then to query that index. Thus, it
|
||||
allows the user to, for example, find all the uses of a particular function
|
||||
in a large programming project. In addition to handling textual tokens, it
|
||||
can also handle numeric constants and the contents of character strings.")
|
||||
(license gpl3+)))
|
||||
(define-deprecated/public-alias idutils (@ (gnu packages code) idutils))
|
||||
|
||||
+33
-2
@@ -2699,6 +2699,37 @@ no dependency or linkage required. It's made for C (ISO C90), and has a C++
|
||||
wrapper with a more convenient interface on top.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public lodepng/c
|
||||
(package/inherit lodepng
|
||||
(name "lodepng-c")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:make-flags _ '())
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"CFLAGS=-fPIC"))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
(rename-file "lodepng.cpp" "lodepng.c")))
|
||||
;; The unittest target requires the <vector> header which is
|
||||
;; available only for C++.
|
||||
(delete 'check)
|
||||
(replace 'build
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" "lodepng.o" make-flags)
|
||||
(invoke #$(cc-for-target) "-fPIC" "-O3"
|
||||
"-o" "liblodepng.so"
|
||||
"-shared" "lodepng.o")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "lodepng.h" (string-append #$output "/include"))
|
||||
(install-file "liblodepng.so" (string-append #$output "/lib"))
|
||||
(install-file "README.md"
|
||||
(string-append #$output
|
||||
"/share/doc/lodepng"))))))))
|
||||
(properties '((upstream-name . "lodepng")))))
|
||||
|
||||
(define-public icoutils
|
||||
(package
|
||||
(name "icoutils")
|
||||
@@ -2854,7 +2885,7 @@ Format) file format decoder and encoder.")
|
||||
(define-public libjxl
|
||||
(package
|
||||
(name "libjxl")
|
||||
(version "0.11.2")
|
||||
(version "0.11.1")
|
||||
(outputs (list "out" "pixbuf-loader"))
|
||||
(source
|
||||
(origin
|
||||
@@ -2865,7 +2896,7 @@ Format) file format decoder and encoder.")
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c7d0mlxmmjby00hzgwqfyr6nb6lqcgcjsqcdmg2l10rmxiw33rg"))
|
||||
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete the bundles that will not be used.
|
||||
|
||||
@@ -966,16 +966,14 @@ animating a series of images.")
|
||||
(define-public mujs
|
||||
(package
|
||||
(name "mujs")
|
||||
(version "1.3.7")
|
||||
(version "1.3.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/ccxvii/mujs")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mujs.com/downloads/mujs-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "031raywxz1znh70rvh915bhrcaysxa1kbv4gfhl4ghcqagpd975d"))
|
||||
(base32 "17fq82h1z4p1j1g5hqmzz5ar4lz2p63qfmbkhsjmmzjfvlh5lvcm"))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2024, 2025 Spencer King <spencer.king@geneoscopy.com>
|
||||
;;; Copyright © 2024-2026 Spencer King <spencer.king@wustl.edu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -5592,6 +5592,28 @@ arbitrary normed vector spaces (e.g. matrix-valued integrands).")
|
||||
format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public julia-quantuminterface
|
||||
(package
|
||||
(name "julia-quantuminterface")
|
||||
(version "0.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/qojulia/QuantumInterface.jl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05792hkhjghlpm919ip8hzbhwv8xcngmyyks2nr8bln6qa8f8r9i"))))
|
||||
(build-system julia-build-system)
|
||||
(native-inputs (list julia-safetestsets))
|
||||
(home-page "https://github.com/qojulia/QuantumInterface.jl")
|
||||
(synopsis "Lightweight interface for Quantum Physics related packages")
|
||||
(description
|
||||
"This package provides a lightweight interface for Quantum Physics
|
||||
related packages.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public julia-quaternions
|
||||
(package
|
||||
(name "julia-quaternions")
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
;;; Copyright © 2023-2025 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025, 2026 Sughosha <sughosha@disroot.org>
|
||||
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -65,14 +65,14 @@
|
||||
(define-public kqtquickcharts
|
||||
(package
|
||||
(name "kqtquickcharts")
|
||||
(version "25.12.2")
|
||||
(version "26.04.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/release-service/"
|
||||
version "/src/kqtquickcharts-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z2421ffvxfp85pl80203g3pd3xg8dh60rd6zxy182bkr5l5hymw"))))
|
||||
"0d4i7l41wrhgn8m408y8fj50w0s9y0v1lv2v8dyqssqbimdxgk8l"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs (list extra-cmake-modules))
|
||||
(inputs (list qtdeclarative))
|
||||
@@ -89,14 +89,14 @@ charts.")
|
||||
(define-public analitza
|
||||
(package
|
||||
(name "analitza")
|
||||
(version "25.12.2")
|
||||
(version "26.04.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/release-service/"
|
||||
version "/src/analitza-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1bn5f3pz7fa9sjjmy0cxaypxsl4lbf9lsfx5pbwj0s5d4xlrh62r"))))
|
||||
(base32 "1rn1w6spz776zl23ri5fdk499f7ihldkh3iv03cimda1l26h6v61"))))
|
||||
(native-inputs (list extra-cmake-modules qttools))
|
||||
(inputs (list eigen qtbase qtdeclarative qtsvg))
|
||||
(build-system qt-build-system)
|
||||
@@ -111,7 +111,7 @@ expressions and let you evaluate and draw them.")
|
||||
(define-public gcompris-qt
|
||||
(package
|
||||
(name "gcompris-qt")
|
||||
(version "26.0")
|
||||
(version "26.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -119,7 +119,7 @@ expressions and let you evaluate and draw them.")
|
||||
"mirror://kde//stable/gcompris/qt/src/gcompris-qt-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0czk3srhx7g370mhx8yk13ak004h6y8lzqdbj0wqhvnxjszghgbx"))))
|
||||
(base32 "0f8kycj62ipfjwrk8bisq5a7cv7zh84p9vry3g62q0czn9ivi2f3"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:qtbase qtbase
|
||||
@@ -179,14 +179,14 @@ Currently available boards include:
|
||||
(define-public kalgebra
|
||||
(package
|
||||
(name "kalgebra")
|
||||
(version "25.12.2")
|
||||
(version "26.04.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/release-service/"
|
||||
version "/src/kalgebra-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0h08lhm9ycyzjs3vga4rbdxl04j11n6p2xypzgirxx6hmg0nhnk9"))))
|
||||
(base32 "0br2ffh50p7l7w3ym5393vjcw8pzr3z9snqk9j99qdm1kpslxhck"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -231,14 +231,14 @@ such as addition, trigonometric functions or derivatives.")
|
||||
(define-public ktouch
|
||||
(package
|
||||
(name "ktouch")
|
||||
(version "25.12.2")
|
||||
(version "26.04.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/release-service/"
|
||||
version "/src/ktouch-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0iawk7dv8zqlypgxvf0n2qzk5q0yg8kkri1cak85za7kj2sf99cy"))))
|
||||
(base32 "0hd2vp8yj24aa8wa3hh2lhnsjqh4i7p65i5036h0272ciyhzp4zy"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
(list extra-cmake-modules kdoctools pkg-config))
|
||||
@@ -369,30 +369,44 @@ to perform data analysis.")
|
||||
(define-public marble
|
||||
(package
|
||||
(name "marble")
|
||||
(version "25.12.2")
|
||||
(version "26.04.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/release-service/"
|
||||
version "/src/marble-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "078a342zkbd93pbgpv4ys1zynnrc08lk7rh6nqjzmgz046591qir"))))
|
||||
(base32 "04gz0ivzs385c87myh1pwiy92c8j9ycm6i979bw3k2al0jxfnjqp"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
;; FIXME: libmarblewidget-qt5.so.28 not found. Also enable the
|
||||
;; corresponding configure flag to build tests.
|
||||
(list
|
||||
#:tests? #f
|
||||
#:test-exclude
|
||||
(string-append "("
|
||||
(string-join '("MarbleRunnerManagerTest"
|
||||
"MarbleMapTest"
|
||||
"MarbleWidgetTest"
|
||||
"RenderPluginTest"
|
||||
"AbstractDataPluginModelTest"
|
||||
"AbstractDataPluginTest"
|
||||
"AbstractFloatItemTest")
|
||||
"|")
|
||||
")")
|
||||
#:qtbase qtbase
|
||||
#:configure-flags #~(list "-DBUILD_MARBLE_TOOLS=YES" ;file conversion tools
|
||||
"-DBUILD_TOUCH=YES")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'alter-osmctools-lookup
|
||||
(lambda _
|
||||
(substitute* "tools/vectorosm-tilecreator/autotests/CMakeLists.txt"
|
||||
(("\\$<TARGET_FILE:osmconvert>")
|
||||
(which "osmconvert"))))))))
|
||||
(native-inputs (list abseil-cpp extra-cmake-modules kdoctools osmctools
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_MARBLE_TOOLS=YES" ;file conversion tools
|
||||
"-DBUILD_TOUCH=YES")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'alter-osmctools-lookup
|
||||
(lambda _
|
||||
(substitute* "tools/vectorosm-tilecreator/autotests/CMakeLists.txt"
|
||||
(("\\$<TARGET_FILE:osmconvert>")
|
||||
(which "osmconvert"))))))))
|
||||
(native-inputs (list abseil-cpp
|
||||
extra-cmake-modules
|
||||
kdoctools
|
||||
osmctools
|
||||
python-minimal
|
||||
qttools))
|
||||
;; One optional dependency missing: libwlocate.
|
||||
(inputs (list gpsd
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user