mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
Compare commits
603 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 56a2e73176 | |||
| 7bb2f0ff0a | |||
| f9352e775a | |||
| 7b8d8ff554 | |||
| 653d6df637 | |||
| 26ab377e95 | |||
| f547ae6b32 | |||
| 13ad7015b0 | |||
| 1991f966c5 | |||
| b9a0f5b687 | |||
| f2d04195b3 | |||
| 5dccd38536 | |||
| f288524973 | |||
| 5770ffb35c | |||
| 7d0c549c4a | |||
| 207db11fa1 | |||
| a73be88c46 | |||
| 3738e4120d | |||
| fa063107b4 | |||
| bb999ef836 | |||
| fdd943b856 | |||
| e7b5efd279 | |||
| 677a6c0d29 | |||
| 6b4904dfd3 | |||
| 4dbb6d4824 | |||
| 2eca62de26 | |||
| 91d2d03018 | |||
| 262bbd48ed | |||
| 020cfae99c | |||
| 1d2a979ce0 | |||
| a26a3b1543 | |||
| 835ffe10b5 | |||
| 8c13e0d148 | |||
| 2ab9d97715 | |||
| 06446566fa | |||
| 06e60fa953 | |||
| 5f3c6cb4f0 | |||
| db6a3cb88e | |||
| 10b0f77759 | |||
| 53a6e6c265 | |||
| c8a9e2e4be | |||
| 96e5158454 | |||
| 285c999b4a | |||
| 356e875dbd | |||
| 82439e7c15 | |||
| 8590246b0d | |||
| d1ca352166 | |||
| 29814efeb4 | |||
| ec41aaa7a5 | |||
| e3cba19d4c | |||
| a921b10203 | |||
| d41e25e9d0 | |||
| 49874bbe26 | |||
| cb136a78bc | |||
| e5d594116d | |||
| 93269c6a19 | |||
| 3b95be4c32 | |||
| c4dc308db8 | |||
| 9631f209c6 | |||
| ba043eba1d | |||
| 352b4af89d | |||
| 288aac9516 | |||
| 08d67dabd8 | |||
| b0d7f1fb84 | |||
| 6201b6b3d4 | |||
| e65a762352 | |||
| f0575ec5f8 | |||
| c268360cbc | |||
| d297332586 | |||
| 6ba414e652 | |||
| ff6abba8da | |||
| 408350929a | |||
| d7ef2c3849 | |||
| 58f80b8bf8 | |||
| e159db37b9 | |||
| af5be0747e | |||
| 1c44261a95 | |||
| c1db2ec7ce | |||
| 4f854f22d6 | |||
| 3052442ccc | |||
| fd282bc30b | |||
| cdbce7bde1 | |||
| 2fdc8069a5 | |||
| 5f08f7ca8f | |||
| 4101c66394 | |||
| 1dbaad7655 | |||
| dd28224f29 | |||
| 35ab64e691 | |||
| 7f51abcf62 | |||
| f7915c8adf | |||
| 96ad9b1d0f | |||
| ef24823438 | |||
| 1ce7b2f873 | |||
| 62ea3c567b | |||
| fc3c1dcc3a | |||
| e366db9895 | |||
| 4e37e99209 | |||
| 177153e227 | |||
| 47bad035e5 | |||
| ec642693d1 | |||
| 9f79730638 | |||
| e5708dc3f6 | |||
| 764212ac89 | |||
| b828eea81f | |||
| 531c0919c3 | |||
| 97114123f1 | |||
| 4674ea4632 | |||
| f48e051149 | |||
| ea7f2ef51f | |||
| acd6f28e52 | |||
| 9a61f7cade | |||
| 145c58163c | |||
| d1456b5bdb | |||
| 4e9a537dc6 | |||
| e1a141ba05 | |||
| b6d5df0a1b | |||
| 260569eba6 | |||
| e80e6efb2c | |||
| 0f79eee7a8 | |||
| d0dc42f561 | |||
| 3c0d02d922 | |||
| 3be6810d70 | |||
| dd32fe9421 | |||
| 252971a8a8 | |||
| 33172185a4 | |||
| 63a2bff6d6 | |||
| a3336f316f | |||
| 60a0989ff4 | |||
| c7b6defcc2 | |||
| 625cab2354 | |||
| c4abea1c92 | |||
| d82b165c50 | |||
| 8d85eaa08a | |||
| d95c23b8e9 | |||
| 5a50987447 | |||
| 65079b0834 | |||
| a7858b1f43 | |||
| d7e96e15e2 | |||
| fb1cfd5a12 | |||
| bf278d66a4 | |||
| 476d47199c | |||
| 12dbd4eade | |||
| f6d8fbf51f | |||
| dcd9b79522 | |||
| 6f8617364a | |||
| 4d4b32e55d | |||
| 3eaa5c4b64 | |||
| 9423b0852f | |||
| 49c03407d9 | |||
| 6fd253d813 | |||
| b9356e2091 | |||
| 2692226265 | |||
| 9d37a4e2bb | |||
| 3922f782c3 | |||
| 88c50916a9 | |||
| d75514f691 | |||
| f613601332 | |||
| a3cd4b294b | |||
| dd49eb9b03 | |||
| 966a862de5 | |||
| 5ced9f5244 | |||
| 17bce7e91e | |||
| e90f984f6b | |||
| 089894acd2 | |||
| 62731e5a39 | |||
| 1fb2861f59 | |||
| dc3898474f | |||
| a62afef0b4 | |||
| beb60aab5a | |||
| 422bd68f33 | |||
| e3195bade4 | |||
| 253ea3d0c4 | |||
| 68d0c2994f | |||
| 306aed69b9 | |||
| 030804d105 | |||
| 482f6f11bd | |||
| c2de43b3f4 | |||
| c0cccef4e1 | |||
| 6b2991d415 | |||
| f7930abe44 | |||
| 03d2bd9466 | |||
| 45726c9da3 | |||
| 03b70a3d94 | |||
| 853f4a5829 | |||
| 0260ba592b | |||
| 6923165663 | |||
| 75b658df36 | |||
| f33368cf9a | |||
| 6098f4f4a5 | |||
| 2590886427 | |||
| da4da11cf8 | |||
| e7036c1ba3 | |||
| 95b4ac2305 | |||
| f372a3473f | |||
| 4fb74f7c9f | |||
| dee08db07e | |||
| 433fc7fa26 | |||
| 7da3c4e78b | |||
| 19b6ddebed | |||
| 357b27614f | |||
| 8e781e2d2f | |||
| 1ae9b9e15c | |||
| 8e62cb06b8 | |||
| f3996f4199 | |||
| f1b54c3200 | |||
| c9c438d288 | |||
| 9766c25d14 | |||
| 286592d526 | |||
| 8ae30b7e27 | |||
| 7d239d8c25 | |||
| 69fd5f0bad | |||
| 54422ff97e | |||
| 9a4c1b3f02 | |||
| 8aade1a93d | |||
| 420693d235 | |||
| dc2d577f47 | |||
| 2825f1acd2 | |||
| 7c84f21aa5 | |||
| ab1cc3db34 | |||
| cc13d301d6 | |||
| 961f97cb62 | |||
| a47c54e0dd | |||
| 92a337f808 | |||
| 943b175266 | |||
| 78b9c0ccdd | |||
| 8aff3877d8 | |||
| 996a6291fe | |||
| 2bdc288618 | |||
| 9a27c100c1 | |||
| 0146b38e94 | |||
| f76be00493 | |||
| e0172230e0 | |||
| 97233c5442 | |||
| 04a7a846af | |||
| 079066e7dd | |||
| 7c47b8f764 | |||
| f025385bdb | |||
| c6c2300e79 | |||
| 3b003f3103 | |||
| 0feacfa065 | |||
| da9f8f3c61 | |||
| bf0e3d29e0 | |||
| 7fe3e8c05e | |||
| 7d96fba5ef | |||
| e682a2523d | |||
| e5d1c1fa01 | |||
| 9d15102058 | |||
| 7fa279fda2 | |||
| cc8fff6347 | |||
| dc10064766 | |||
| 3d0a8eb3e8 | |||
| f7a449064f | |||
| d3cd8b1140 | |||
| 4175a9dc58 | |||
| 0bbc106a5b | |||
| 94fd1c54d7 | |||
| c0c72c89cf | |||
| e029cd1f4e | |||
| 263cf88246 | |||
| 73bc25c4f4 | |||
| 1b36252502 | |||
| 0f222b2e38 | |||
| 4b9a83d71e | |||
| 365aff1a72 | |||
| f2744c123b | |||
| 88582b391e | |||
| 0c721f45f8 | |||
| b894ea062c | |||
| 7989cc9278 | |||
| 8faa91afec | |||
| 1763c32c81 | |||
| af34c9b790 | |||
| 27bee5bb33 | |||
| 208de0c937 | |||
| e9e259fb74 | |||
| ee6413e65a | |||
| cf9fb848f8 | |||
| 29eabc2118 | |||
| b2eaadb981 | |||
| 7825b59f52 | |||
| 436fb24325 | |||
| 1be7c61b29 | |||
| 5f17c0f8a8 | |||
| cf6c1ff5a0 | |||
| e7fcb51410 | |||
| c157cbc83a | |||
| 9317cbda51 | |||
| 011732b593 | |||
| 0dda872432 | |||
| 0a1c135125 | |||
| 847aea1b04 | |||
| 3a8094fb00 | |||
| f0ae597e5e | |||
| abc4d3d0f5 | |||
| 045032da6c | |||
| 53504e0853 | |||
| fdf39db81c | |||
| a088fb3ad8 | |||
| e242f768ca | |||
| e1598eda08 | |||
| 09b3dfd2a0 | |||
| 23ff9c8561 | |||
| a89e2a3ea7 | |||
| aa985b4490 | |||
| 4d61ac6abe | |||
| 4cdf113e85 | |||
| 34b8ea1ed6 | |||
| 64290a43dd | |||
| f01cb36cdb | |||
| 98285d92aa | |||
| bc04c749c6 | |||
| f060ef89ba | |||
| 3eadbe98c9 | |||
| 3fac797905 | |||
| ea1a943351 | |||
| d861164790 | |||
| dfce6fdf93 | |||
| 06cbbaa7a7 | |||
| ab955bf477 | |||
| 3af6251536 | |||
| 539fbc97fb | |||
| a801030585 | |||
| be9f912735 | |||
| 49cde2ab3a | |||
| 367e4fba9f | |||
| 8bc2a54144 | |||
| 8b05df3d4a | |||
| ea4638b39c | |||
| 8f85184a40 | |||
| b92cf7666b | |||
| aa617e2861 | |||
| 81d987d832 | |||
| dd6c4f4410 | |||
| add6f6018b | |||
| 220f873ee6 | |||
| 91474c42aa | |||
| e65e1d2fc8 | |||
| 5f96be46e6 | |||
| d365ebbfa3 | |||
| 988562497f | |||
| b6581ec5b5 | |||
| a865e0da63 | |||
| 9292eaf638 | |||
| 7f356e6716 | |||
| 626fe758ef | |||
| 716e304eec | |||
| 432701ef70 | |||
| 5e6bf17a82 | |||
| 3167572692 | |||
| 37c3deb32c | |||
| c167c0bbaa | |||
| 44b4427914 | |||
| f8575db7b7 | |||
| 36e237255b | |||
| b16d5fdabd | |||
| c2d7e36003 | |||
| 3a4810e1c8 | |||
| 9d2cd161fd | |||
| 571de0404e | |||
| 55f4dd4f47 | |||
| 6612eed815 | |||
| 3e14da5df8 | |||
| 7388b23bba | |||
| bef36f254c | |||
| a55be36a59 | |||
| fa40367a47 | |||
| b554a3a86c | |||
| 5a50410ca3 | |||
| 49f0d89545 | |||
| 9816db5f83 | |||
| abd67e0958 | |||
| 1ab774ce06 | |||
| c7cd19afef | |||
| ae1e19c7c5 | |||
| 9c7c6db698 | |||
| eac4e471f9 | |||
| 2d663dfda1 | |||
| 1f014f6662 | |||
| 090d10d485 | |||
| a84dbf053b | |||
| 8e60ba185b | |||
| c95b1f8565 | |||
| e49f693183 | |||
| ac81d6cc58 | |||
| 51b81cfaa0 | |||
| 729577d4ec | |||
| b17c564f25 | |||
| 14606244c9 | |||
| 4c38dd1ef1 | |||
| 280b58b5f1 | |||
| c81e576af0 | |||
| ec058c3794 | |||
| 927991ee7d | |||
| 9d3216a0f3 | |||
| 1c7bc06f40 | |||
| 9ea70ecb14 | |||
| d173b1a328 | |||
| 6a0670f76c | |||
| 09583e6d0b | |||
| b4423626f6 | |||
| ca4f49e5ac | |||
| 8c89910d15 | |||
| 71c0e4fa90 | |||
| 6c5403af96 | |||
| 01e0d677c2 | |||
| 177ec7ea2a | |||
| ee73e64128 | |||
| 2ebc5bcd01 | |||
| 967592e54a | |||
| 83cd26edd0 | |||
| 6939a0a82a | |||
| 14aca1d021 | |||
| a6576cdf8f | |||
| 4c4f0a65aa | |||
| 574acfddad | |||
| d1ea058a8e | |||
| 2925452b8f | |||
| 9da5f7d439 | |||
| c950f85d99 | |||
| 74b70156b6 | |||
| 65bf267eb1 | |||
| 4ca1598ef7 | |||
| 6faf9c9d2c | |||
| 87b0fa31f5 | |||
| ab6526a622 | |||
| 5eeb82a84a | |||
| 6be35f3cf3 | |||
| 29718a7e26 | |||
| 915a65be60 | |||
| c927378264 | |||
| d19169d6fe | |||
| 35214b74c3 | |||
| 0bf267dc9d | |||
| ebabffee9a | |||
| 9e1478372d | |||
| 866c553529 | |||
| f1cfa19c6a | |||
| 4b5b399ede | |||
| 405dba6531 | |||
| f23df92a74 | |||
| 7582f6afb3 | |||
| 9f260cbb59 | |||
| 2ed1c1e7d8 | |||
| 0c11b38aa9 | |||
| a65efd197e | |||
| 1266dac744 | |||
| 104649b9b6 | |||
| edf5afdf64 | |||
| 653cecb541 | |||
| 80ec5a283a | |||
| 8362d456d7 | |||
| 916807dd1c | |||
| 73a69ba191 | |||
| 7cc959367b | |||
| 304225ef47 | |||
| e7b497a0ba | |||
| 9d140cb1dc | |||
| 9518b973a1 | |||
| 98b7ee21f9 | |||
| 69a9e1f524 | |||
| ef6483fa86 | |||
| 9a6fe9f57e | |||
| 3fd07693e6 | |||
| 5cfe593d1d | |||
| eddd7240b4 | |||
| 16dbadf1a4 | |||
| fdc5244db0 | |||
| a12b82bbb5 | |||
| 09c6ba0999 | |||
| f3498d185a | |||
| 0b7a345cbb | |||
| 4b29b0c0ef | |||
| 18d19b8ccb | |||
| b5643ea653 | |||
| c046cb96fc | |||
| 2e91e34c7c | |||
| 50ef7655ad | |||
| a04ab29762 | |||
| 564b4b5efc | |||
| af59966289 | |||
| 14c23573d5 | |||
| a775aba05b | |||
| c0ea496361 | |||
| a139fd1b10 | |||
| 380da4c1b0 | |||
| 9ea4014217 | |||
| a4e0d6a2f9 | |||
| 19ccd20030 | |||
| ea32fbf0ef | |||
| 610516759f | |||
| 4a0e3883ab | |||
| d0116a7eff | |||
| 93d7fc4b14 | |||
| 410caee026 | |||
| 422eac13f8 | |||
| 161a27551d | |||
| 0e9768cc48 | |||
| 5fb6a3c9d2 | |||
| f73145e260 | |||
| b3c05575cc | |||
| 2c23b5d553 | |||
| 705cf8d550 | |||
| c4ef2f0908 | |||
| 2673998f05 | |||
| 4caf46c9c0 | |||
| b39cb906e6 | |||
| c2fd47dc4b | |||
| 90ef67272b | |||
| 2896419ba2 | |||
| e97321b001 | |||
| 3d13c6521f | |||
| 2ff68b65cf | |||
| 653ebfec28 | |||
| f1b6c8eab7 | |||
| fad47a0a17 | |||
| 40ff359758 | |||
| fe65f7962d | |||
| bdd838ab49 | |||
| 2fe3cad675 | |||
| a5c6f2c900 | |||
| 4bdf867a1d | |||
| d79a708327 | |||
| c9038d1468 | |||
| f9af700e96 | |||
| 9b563fe4a4 | |||
| 76b2aa8373 | |||
| 60abf7f890 | |||
| bdf4f734a4 | |||
| 03d46a7c93 | |||
| b526c32a1d | |||
| 883fe6a7bb | |||
| 074b8c33ad | |||
| 3a449f40ab | |||
| 465855e0b7 | |||
| 45f7aef913 | |||
| b32c423413 | |||
| 7649c4f9a0 | |||
| 1550e1680e | |||
| f2316d4539 | |||
| 5cf637d780 | |||
| b3f15ace72 | |||
| da487763ac | |||
| 4b3ce85752 | |||
| 9738e02139 | |||
| 8f937512cf | |||
| 2be39debad | |||
| 40e5d36c5b | |||
| 872a56a20e | |||
| dad004ff7e | |||
| 3544bda352 | |||
| da31334a9f | |||
| 72b0e21a7b | |||
| 97fc431c8a | |||
| 9e3d75857f | |||
| f3373a3889 | |||
| 35d9682a72 | |||
| 849ef5f4ab | |||
| 85a20cdfd6 | |||
| 30a60977b2 | |||
| 83c53a96fb | |||
| 2cfd280a81 | |||
| 3f0983d21f | |||
| c2f6f17b62 | |||
| 7eb778d021 | |||
| 08437bb4a2 | |||
| a6fd16f2fe | |||
| a414340c52 | |||
| 6f4ec72fb7 | |||
| 1bd8fce1bc | |||
| 9125930f1e | |||
| 95274d41e6 | |||
| f5988ff887 | |||
| be46b944ca | |||
| 7f4480ed72 | |||
| 6fec6bd8e5 | |||
| 77434f5fe3 | |||
| d57316955e | |||
| 17613f253b | |||
| b1e9604dde | |||
| efd3786bd4 | |||
| 856769d97a | |||
| 608173f1c2 | |||
| f5bd01d13e | |||
| aad63a2a69 | |||
| 77df468183 | |||
| 11260eb90f | |||
| 2a7acf189a | |||
| dd6c11b027 | |||
| c4abde2c9d | |||
| 8ab02a4d12 | |||
| b5b6c63230 | |||
| 4dbfc50f3b | |||
| 8545494e6a | |||
| 417eb6f063 | |||
| 2f0250d909 | |||
| 51ab56fb05 | |||
| 809e605c41 | |||
| 5750869bc4 | |||
| dcaa615162 | |||
| a807cbcbaa | |||
| 2bcfcc9135 | |||
| 9ba7d3e5de | |||
| c67da6924a |
+1
-1
@@ -2,7 +2,7 @@
|
||||
"repoOwner": "terrapkg",
|
||||
"repoName": "packages",
|
||||
"resetAuthor": true,
|
||||
"targetBranchChoices": ["el10", "f41", "f42", "f43", "frawhide"],
|
||||
"targetBranchChoices": ["frawhide", "f43", "f42", "el10"],
|
||||
"branchLabelMapping": {
|
||||
"^sync-(.+)$": "$1"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
// Configure sccache environment variables for GitHub Actions cache integration
|
||||
//
|
||||
// This script is still unused until we build terra-sccache with this supported,
|
||||
// Turns out that Fedora's sccache build has the GHA feature support disabled.
|
||||
//
|
||||
// Note: ACTIONS_CACHE_SERVICE_V2 and SCCACHE_GHA_ENABLED are set at workflow level
|
||||
module.exports = async ({ github, context, core, exec }) => {
|
||||
// Find sccache path (try which command)
|
||||
let sccachePath = "sccache";
|
||||
try {
|
||||
const result = await exec.getExecOutput("which", ["sccache"], {
|
||||
ignoreReturnCode: true,
|
||||
silent: true,
|
||||
});
|
||||
if (result.exitCode === 0 && result.stdout.trim()) {
|
||||
sccachePath = result.stdout.trim();
|
||||
core.info(`Found sccache at: ${sccachePath}`);
|
||||
}
|
||||
} catch (e) {
|
||||
core.debug(`Could not find sccache path: ${e.message}`);
|
||||
}
|
||||
|
||||
// Check sccache version
|
||||
try {
|
||||
const versionResult = await exec.getExecOutput(sccachePath, ["--version"], {
|
||||
ignoreReturnCode: true,
|
||||
silent: true,
|
||||
});
|
||||
core.info(`sccache version: ${versionResult.stdout.trim()}`);
|
||||
} catch (e) {
|
||||
core.warning(`Could not get sccache version: ${e.message}`);
|
||||
}
|
||||
|
||||
// Debug: Show what environment variables are available
|
||||
core.info("=== Environment Variables Diagnostic ===");
|
||||
core.info(`SCCACHE_GHA_ENABLED: ${process.env.SCCACHE_GHA_ENABLED}`);
|
||||
core.info(
|
||||
`ACTIONS_CACHE_SERVICE_V2: ${process.env.ACTIONS_CACHE_SERVICE_V2}`,
|
||||
);
|
||||
core.info(
|
||||
`ACTIONS_RESULTS_URL: ${process.env.ACTIONS_RESULTS_URL ? "SET (length: " + process.env.ACTIONS_RESULTS_URL.length + ")" : "NOT SET"}`,
|
||||
);
|
||||
core.info(
|
||||
`ACTIONS_RUNTIME_TOKEN: ${process.env.ACTIONS_RUNTIME_TOKEN ? "SET (length: " + process.env.ACTIONS_RUNTIME_TOKEN.length + ")" : "NOT SET"}`,
|
||||
);
|
||||
core.info(`RUSTC_WRAPPER: ${process.env.RUSTC_WRAPPER}`);
|
||||
core.info(`SCCACHE_LOG: ${process.env.SCCACHE_LOG}`);
|
||||
core.info("========================================");
|
||||
|
||||
// Export SCCACHE_PATH so it's available to subsequent steps
|
||||
core.exportVariable("SCCACHE_PATH", sccachePath);
|
||||
|
||||
// Expose the GHA cache related variables to make it easier for users to
|
||||
// integrate with GHA support (from upstream mozilla/sccache-action)
|
||||
if (process.env.ACTIONS_RESULTS_URL) {
|
||||
core.exportVariable("ACTIONS_RESULTS_URL", process.env.ACTIONS_RESULTS_URL);
|
||||
core.info("✓ Exported ACTIONS_RESULTS_URL");
|
||||
} else {
|
||||
core.error(
|
||||
"ACTIONS_RESULTS_URL is not set - GitHub Actions cache WILL NOT work",
|
||||
);
|
||||
}
|
||||
|
||||
if (process.env.ACTIONS_RUNTIME_TOKEN) {
|
||||
core.exportVariable(
|
||||
"ACTIONS_RUNTIME_TOKEN",
|
||||
process.env.ACTIONS_RUNTIME_TOKEN,
|
||||
);
|
||||
core.info("✓ Exported ACTIONS_RUNTIME_TOKEN");
|
||||
} else {
|
||||
core.error(
|
||||
"ACTIONS_RUNTIME_TOKEN is not set - GitHub Actions cache WILL NOT work",
|
||||
);
|
||||
}
|
||||
|
||||
// Set cache version and restore keys for this specific build matrix
|
||||
if (process.env.SCCACHE_GHA_VERSION) {
|
||||
core.exportVariable("SCCACHE_GHA_VERSION", process.env.SCCACHE_GHA_VERSION);
|
||||
}
|
||||
if (process.env.SCCACHE_GHA_CACHE_FROM) {
|
||||
core.exportVariable(
|
||||
"SCCACHE_GHA_CACHE_FROM",
|
||||
process.env.SCCACHE_GHA_CACHE_FROM,
|
||||
);
|
||||
}
|
||||
|
||||
// Check if cache busting is enabled
|
||||
const inputs =
|
||||
(github &&
|
||||
github.context &&
|
||||
github.context.payload &&
|
||||
github.context.payload.inputs) ||
|
||||
{};
|
||||
const rawBustCache =
|
||||
inputs.bust_cache ??
|
||||
inputs.bustCache ??
|
||||
process.env.INPUT_BUST_CACHE ??
|
||||
process.env.BUST_CACHE;
|
||||
let bustCache = false;
|
||||
|
||||
if (typeof rawBustCache === "string") {
|
||||
const v = rawBustCache.toLowerCase().trim();
|
||||
bustCache = v === "true" || v === "1" || v === "yes";
|
||||
} else {
|
||||
bustCache = !!rawBustCache;
|
||||
}
|
||||
|
||||
if (bustCache) {
|
||||
core.exportVariable("SCCACHE_RECACHE", "1");
|
||||
core.info("SCCACHE_RECACHE enabled because bust_cache is true");
|
||||
}
|
||||
|
||||
// Stop any running sccache daemon so it picks up the new environment variables
|
||||
core.info("Stopping any running sccache daemon to pick up configuration...");
|
||||
try {
|
||||
await exec.exec(sccachePath, ["--stop-server"], {
|
||||
ignoreReturnCode: true,
|
||||
});
|
||||
core.info("✓ sccache daemon stopped successfully");
|
||||
} catch (e) {
|
||||
core.debug(
|
||||
`Could not stop sccache daemon (it may not be running): ${e.message}`,
|
||||
);
|
||||
}
|
||||
|
||||
// Verify sccache can see the GHA environment variables by starting server with explicit env
|
||||
core.info("Starting sccache server with GHA environment variables...");
|
||||
const sccacheEnv = {
|
||||
...process.env,
|
||||
SCCACHE_GHA_ENABLED: process.env.SCCACHE_GHA_ENABLED || "on",
|
||||
ACTIONS_CACHE_SERVICE_V2: process.env.ACTIONS_CACHE_SERVICE_V2 || "on",
|
||||
};
|
||||
|
||||
try {
|
||||
await exec.exec(sccachePath, ["--start-server"], {
|
||||
ignoreReturnCode: true,
|
||||
env: sccacheEnv,
|
||||
});
|
||||
core.info("✓ sccache server started");
|
||||
} catch (e) {
|
||||
core.warning(`Could not start sccache server: ${e.message}`);
|
||||
}
|
||||
|
||||
// Show the current sccache configuration
|
||||
core.info("Verifying sccache configuration:");
|
||||
try {
|
||||
const statsResult = await exec.getExecOutput(
|
||||
sccachePath,
|
||||
["--show-stats"],
|
||||
{
|
||||
ignoreReturnCode: true,
|
||||
env: sccacheEnv,
|
||||
},
|
||||
);
|
||||
|
||||
// Check if it's using GitHub Actions cache
|
||||
if (statsResult.stdout.includes("GitHub Actions")) {
|
||||
core.info("✓ sccache is configured to use GitHub Actions cache");
|
||||
} else if (statsResult.stdout.includes("Local disk")) {
|
||||
core.error(
|
||||
"✗ sccache is using Local disk cache instead of GitHub Actions cache!",
|
||||
);
|
||||
core.error(
|
||||
"This means SCCACHE_GHA_ENABLED or required env vars are not being recognized.",
|
||||
);
|
||||
core.info("Stats output:");
|
||||
core.info(statsResult.stdout);
|
||||
}
|
||||
} catch (e) {
|
||||
core.debug(`Could not show sccache stats: ${e.message}`);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,121 @@
|
||||
module.exports = async ({ github, context, core, exec }) => {
|
||||
if (!exec) {
|
||||
throw new Error("exec parameter is required but was not provided");
|
||||
}
|
||||
|
||||
// Use SCCACHE_PATH if set, otherwise default to 'sccache' (will use PATH)
|
||||
const sccachePath = process.env.SCCACHE_PATH || "sccache";
|
||||
core.debug(`Using sccache path: ${sccachePath}`);
|
||||
|
||||
const percentage = (x, y) => Math.round((x / y) * 100 || 0);
|
||||
const plural = (count, base, pluralForm = base + "s") =>
|
||||
`${count} ${count === 1 ? base : pluralForm}`;
|
||||
const sumStats = (stats) =>
|
||||
Object.values(stats.counts).reduce((acc, val) => acc + val, 0);
|
||||
const formatDuration = (duration) => {
|
||||
const ms = duration.nanos / 1e6;
|
||||
return `${duration.secs}s ${ms}ms`;
|
||||
};
|
||||
|
||||
const formatJsonStats = (stats) => {
|
||||
const cacheErrorCount = sumStats(stats.stats.cache_errors);
|
||||
const cacheHitCount = sumStats(stats.stats.cache_hits);
|
||||
const cacheMissCount = sumStats(stats.stats.cache_misses);
|
||||
const totalHits = cacheHitCount + cacheMissCount + cacheErrorCount;
|
||||
const ratio = percentage(cacheHitCount, totalHits);
|
||||
|
||||
const writeDuration = formatDuration(stats.stats.cache_write_duration);
|
||||
const readDuration = formatDuration(stats.stats.cache_read_hit_duration);
|
||||
const compilerDuration = formatDuration(
|
||||
stats.stats.compiler_write_duration,
|
||||
);
|
||||
|
||||
const noticeHit = plural(cacheHitCount, "hit");
|
||||
const noticeMiss = plural(cacheMissCount, "miss", "misses");
|
||||
const noticeError = plural(cacheErrorCount, "error");
|
||||
const notice = `${ratio}% - ${noticeHit}, ${noticeMiss}, ${noticeError}`;
|
||||
|
||||
const table = [
|
||||
[{ data: "Cache hit %", header: true }, { data: `${ratio}%` }],
|
||||
[
|
||||
{ data: "Cache hits", header: true },
|
||||
{ data: cacheHitCount.toString() },
|
||||
],
|
||||
[
|
||||
{ data: "Cache misses", header: true },
|
||||
{ data: cacheMissCount.toString() },
|
||||
],
|
||||
[
|
||||
{ data: "Cache errors", header: true },
|
||||
{ data: cacheErrorCount.toString() },
|
||||
],
|
||||
[
|
||||
{ data: "Compile requests", header: true },
|
||||
{ data: stats.stats.compile_requests.toString() },
|
||||
],
|
||||
[
|
||||
{ data: "Requests executed", header: true },
|
||||
{ data: stats.stats.requests_executed.toString() },
|
||||
],
|
||||
[
|
||||
{ data: "Cache writes", header: true },
|
||||
{ data: stats.stats.cache_writes.toString() },
|
||||
],
|
||||
[
|
||||
{ data: "Cache write errors", header: true },
|
||||
{ data: stats.stats.cache_write_errors.toString() },
|
||||
],
|
||||
[{ data: "Cache write duration", header: true }, { data: writeDuration }],
|
||||
[
|
||||
{ data: "Cache read hit duration", header: true },
|
||||
{ data: readDuration },
|
||||
],
|
||||
[
|
||||
{ data: "Compiler write duration", header: true },
|
||||
{ data: compilerDuration },
|
||||
],
|
||||
];
|
||||
return { table, notice };
|
||||
};
|
||||
|
||||
const getOutput = async (command, args = []) => {
|
||||
core.debug(`get_output: ${command} ${args.join(" ")}`);
|
||||
const output = await exec.getExecOutput(command, args, {
|
||||
ignoreReturnCode: false,
|
||||
silent: false,
|
||||
});
|
||||
if (!output.stdout.endsWith("\n")) {
|
||||
process.stdout.write("\n");
|
||||
}
|
||||
return output.stdout.toString();
|
||||
};
|
||||
|
||||
const humanStats = await core.group("Get human-readable stats", async () => {
|
||||
return getOutput(sccachePath, ["--show-stats"]);
|
||||
});
|
||||
|
||||
const jsonStats = await core.group("Get JSON stats", async () => {
|
||||
return getOutput(sccachePath, ["--show-stats", "--stats-format=json"]);
|
||||
});
|
||||
|
||||
const stats = JSON.parse(jsonStats);
|
||||
const formattedStats = formatJsonStats(stats);
|
||||
|
||||
core.notice(formattedStats.notice, {
|
||||
title: `sccache stats - ${context.job}`,
|
||||
});
|
||||
core.info("\nFull human-readable stats:");
|
||||
core.info(humanStats);
|
||||
|
||||
core.summary.addHeading("sccache stats", 2);
|
||||
core.summary.addTable(formattedStats.table);
|
||||
core.summary.addDetails(
|
||||
"Full human-readable stats",
|
||||
"\n\n```\n" + humanStats + "\n```\n\n",
|
||||
);
|
||||
core.summary.addDetails(
|
||||
"Full JSON Stats",
|
||||
"\n\n```json\n" + JSON.stringify(stats, null, 2) + "\n```\n\n",
|
||||
);
|
||||
await core.summary.write();
|
||||
};
|
||||
@@ -18,6 +18,11 @@ on:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
bust_cache:
|
||||
description: "Whether to bust the cache"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
packages:
|
||||
@@ -30,6 +35,12 @@ on:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
env:
|
||||
RUSTC_WRAPPER: sccache
|
||||
# SCCACHE_NO_DAEMON: "1"
|
||||
# Disable incremental compilation so sccache works better
|
||||
CARGO_INCREMENTAL: "false"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
@@ -64,6 +75,19 @@ jobs:
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
|
||||
|
||||
- name: Run sccache-cache
|
||||
uses: mozilla-actions/sccache-action@v0.0.9
|
||||
|
||||
- name: Configure sccache
|
||||
run: |
|
||||
set -euo pipefail
|
||||
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
|
||||
if [ "${{ inputs.bust_cache }}" = "true" ]; then
|
||||
echo "SCCACHE_BUST_CACHE=true" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build -D "vendor Terra" ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
|
||||
|
||||
@@ -105,4 +129,4 @@ jobs:
|
||||
run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: inputs.publish && (cancelled() || failure())
|
||||
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
@@ -13,9 +13,8 @@ jobs:
|
||||
matrix:
|
||||
branch:
|
||||
- frawhide
|
||||
- f41
|
||||
- f42
|
||||
- f43
|
||||
- f42
|
||||
- el10
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
|
||||
@@ -8,7 +8,6 @@ on:
|
||||
- frawhide
|
||||
- f43
|
||||
- f42
|
||||
- f41
|
||||
- el10
|
||||
paths:
|
||||
- comps.xml
|
||||
|
||||
@@ -48,9 +48,8 @@ jobs:
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f41 || true
|
||||
copy_over f42 || true
|
||||
copy_over f43 || true
|
||||
copy_over f42 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -48,9 +48,8 @@ jobs:
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f41 || true
|
||||
copy_over f42 || true
|
||||
copy_over f43 || true
|
||||
copy_over f42 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -48,9 +48,8 @@ jobs:
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f41 || true
|
||||
copy_over f42 || true
|
||||
copy_over f43 || true
|
||||
copy_over f42 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Terra Sources
|
||||
|
||||
[](https://repology.org/repository/terra_rawhide)
|
||||
|
||||
Terra is a rolling-release Fedora repository for all the software you need.
|
||||
With Terra, you can install the latest packages knowing that quality and security are assured.
|
||||
|
||||
@@ -55,9 +57,9 @@ First of all, thanks for being interested in contributing to Terra! If you have
|
||||
|
||||
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
|
||||
|
||||
## pkgs.org
|
||||
## Searching Packages
|
||||
|
||||
pkgs.org provides a list of the packages available in the main stream: https://fedora.pkgs.org/rawhide/terra/
|
||||
[pkgs.org](https://fedora.pkgs.org/rawhide/terra/) and [Repology](https://repology.org/) provide a list of the packages available in Terra.
|
||||
|
||||
## Questions?
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global __requires_exclude ^lib-.*.so
|
||||
%global __provides_exclude ^lib-.*.so
|
||||
|
||||
%global ver Audacity-3.7.5
|
||||
%global ver Audacity-3.7.7
|
||||
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
|
||||
|
||||
Name: audacity-freeworld
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: bitwarden-cli.bin
|
||||
Version: 2025.11.0
|
||||
Version: 2025.12.0
|
||||
Release: 1%?dist
|
||||
Summary: Bitwarden command-line client
|
||||
License: GPL-3.0-only
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%endif
|
||||
|
||||
Name: bitwarden-cli
|
||||
Version: 2025.10.0
|
||||
Version: 2025.12.0
|
||||
Release: 1%?dist
|
||||
Summary: Bitwarden command-line client
|
||||
License: GPL-3.0-only
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%undefine __brp_mangle_shebangs
|
||||
|
||||
Name: chdig
|
||||
Version: 25.11.2
|
||||
Version: 25.12.1
|
||||
Release: 1%?dist
|
||||
Summary: Dig into ClickHouse with TUI interface
|
||||
URL: https://github.com/azat/chdig
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 0.0.814
|
||||
Version: 0.0.839
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 0.0.814
|
||||
Version: 0.0.839
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
@@ -33,7 +33,7 @@ mkdir -p %{buildroot}%{_datadir}/applications/
|
||||
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
||||
ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/
|
||||
ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
|
||||
ln -s %_datadir/discord/DiscordCanary %buildroot%_bindir/discord-canary
|
||||
ln -s %_datadir/discord-canary/DiscordCanary %buildroot%_bindir/discord-canary
|
||||
|
||||
%files
|
||||
%_bindir/discord-canary
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-openasar
|
||||
Version: 0.0.116
|
||||
Version: 0.0.119
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 0.0.167
|
||||
Version: 0.0.171
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb
|
||||
Version: 0.0.167
|
||||
Version: 0.0.171
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord
|
||||
Version: 0.0.116
|
||||
Version: 0.0.119
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 9615228a515fd77abb0cab5de21528f1f33d26f6
|
||||
%global commit_date 20251104
|
||||
%global commit b50c32d7c3e74af4faeb92fb0e8f49108d85ff90
|
||||
%global commit_date 20251211
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision-nightly
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: feishin
|
||||
Version: 0.21.2
|
||||
Version: 0.22.0
|
||||
Release: 1%?dist
|
||||
Summary: A modern self-hosted music player
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
|
||||
|
||||
%global ver 13.3.0
|
||||
%global commit 1e29613cc0762caa92eed384e25147e5b75f4dc8
|
||||
%global commit bee989ec55e7034a782fd18bd4e694b74a62ac32
|
||||
%global shortcommit %{sub %{commit} 1 7}
|
||||
%global commit_date 20251125
|
||||
%global commit_date 20251224
|
||||
%global devel_name QtColorWidgets
|
||||
%global _distro_extra_cflags -fuse-ld=mold
|
||||
%global _distro_extra_cxxflags -fuse-ld=mold
|
||||
|
||||
@@ -1,38 +1,22 @@
|
||||
%global commit 3f5eda113f33fead76a5a53e0b71c11b254d68fd
|
||||
%global commit 8076be6b34f72b721f9bc00d9e3f8cbe26dfeb9b
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250615
|
||||
%global ver 1.10.1
|
||||
%global commit_date 20251226
|
||||
%global ver 1.11.4^
|
||||
%global base_name goofcord
|
||||
%global git_name GoofCord
|
||||
%global debug_package %{nil}
|
||||
# Exclude private libraries
|
||||
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
%ifnarch aarch64 armv7hl armv7l
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
|
||||
%elifarch aarch64 armv7hl armv7l
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
|
||||
%endif
|
||||
|
||||
%electronmeta
|
||||
|
||||
Name: %{base_name}-nightly
|
||||
Version: %{ver}^%{commit_date}.git.%{shortcommit}
|
||||
Release: 1%{?dist}
|
||||
Version: %{ver}%{commit_date}.git.%{shortcommit}
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: A privacy-minded Legcord fork.
|
||||
Group: Applications/Internet
|
||||
URL: https://github.com/Milkshiift/%{git_name}
|
||||
Source0: %{url}/archive/%{commit}/%{git_name}-%{commit}.tar.gz
|
||||
BuildRequires: anda-srpm-macros >= 0.2.26
|
||||
BuildRequires: bun-bin
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: git
|
||||
BuildRequires: make
|
||||
BuildRequires: nodejs
|
||||
BuildRequires: nodejs-npm
|
||||
BuildRequires: python3
|
||||
%ifarch aarch64
|
||||
BuildRequires: zlib-ng-compat-devel
|
||||
%endif
|
||||
Packager: Gilver E. <rockgrub@disroot.org>
|
||||
|
||||
%description
|
||||
@@ -42,59 +26,31 @@ A highly configurable and privacy minded Discord client.
|
||||
%autosetup -n %{git_name}-%{commit}
|
||||
|
||||
%build
|
||||
%ifarch aarch64 armv7hl armv7l
|
||||
%ifarch %{arm64} armv7hl armv7l
|
||||
sed -i '/\"x64\",/d' electron-builder.ts
|
||||
%endif
|
||||
bun install
|
||||
bun run packageLinux --publish=never
|
||||
%bun_build -r build -R
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_datadir}/%{git_name}
|
||||
%ifarch x86_64
|
||||
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
|
||||
%elifarch aarch64
|
||||
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
|
||||
%elifarch armv7hl armv7l
|
||||
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
|
||||
%endif
|
||||
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
ln -sf %{_datadir}/%{git_name}/%{git_name} %{buildroot}%{_bindir}/%{git_name}
|
||||
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
|
||||
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
|
||||
|
||||
%ifarch x86_64
|
||||
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
|
||||
%elifarch aarch64
|
||||
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
|
||||
%elifarch armv7hl armv7l
|
||||
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
|
||||
%endif
|
||||
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{git_name}/%{git_name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{git_name}.desktop
|
||||
%electron_install -d %{base_name} -s %{base_name} -i %{base_name} -D -O -U %U -E UseOzonePlatform,WaylandWindowDecorations
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/%{git_name}.desktop
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/%{base_name}.desktop
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/%{git_name}
|
||||
%{_datadir}/applications/%{git_name}.desktop
|
||||
%{_datadir}/%{git_name}/
|
||||
%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
|
||||
%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
|
||||
%{_bindir}/%{base_name}
|
||||
%{_datadir}/applications/%{base_name}.desktop
|
||||
%{_libdir}/%{base_name}/
|
||||
%{_iconsdir}/hicolor/16x16/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/48x48/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/64x64/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/256x256/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/512x512/apps/%{base_name}.png
|
||||
%{_iconsdir}/hicolor/1024x1024/apps/%{base_name}.png
|
||||
|
||||
%changelog
|
||||
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1^20250615.git.3f5eda1
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
rpm.global("commit", gh_commit("Milkshiift/GoofCord"));
|
||||
if rpm.changed {
|
||||
if rpm.changed() {
|
||||
let v = gh_tag("Milkshiift/GoofCord");
|
||||
v.crop(1);
|
||||
rpm.global("ver", v);
|
||||
if `[\d.]+-beta\.\d+`.find_all(v).len == 1 {
|
||||
let v = sub(`-beta\.\d+`, `~`, v);
|
||||
rpm.global("ver", v);
|
||||
} else {
|
||||
rpm.global("ver", v + `^`);
|
||||
}
|
||||
rpm.global("commit_date", date());
|
||||
rpm.release();
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ project pkg {
|
||||
rpm {
|
||||
spec = "goofcord.spec"
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,17 @@
|
||||
%global git_name GoofCord
|
||||
%global debug_package %{nil}
|
||||
# Exclude private libraries
|
||||
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
%ifnarch aarch64 armv7hl armv7l
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
|
||||
%elifarch aarch64 armv7hl armv7l
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
|
||||
%endif
|
||||
|
||||
%electronmeta
|
||||
|
||||
Name: goofcord
|
||||
Version: 1.11.1
|
||||
Version: 1.11.4
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: A privacy-minded Legcord fork.
|
||||
Group: Applications/Internet
|
||||
URL: https://github.com/Milkshiift/%{git_name}
|
||||
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
|
||||
BuildRequires: anda-srpm-macros >= 0.2.26
|
||||
BuildRequires: bun-bin
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: make
|
||||
BuildRequires: nodejs
|
||||
BuildRequires: nodejs-npm
|
||||
BuildRequires: python3
|
||||
%ifarch aarch64
|
||||
BuildRequires: zlib-ng-compat-devel
|
||||
%endif
|
||||
Packager: Gilver E. <rockgrub@disroot.org>
|
||||
|
||||
%description
|
||||
@@ -36,41 +21,13 @@ A highly configurable and privacy minded Discord client.
|
||||
%autosetup -n %{git_name}-%{version}
|
||||
|
||||
%build
|
||||
%ifarch aarch64 armv7hl armv7l
|
||||
%ifarch %{arm64} armv7hl armv7l
|
||||
sed -i '/\"x64\",/d' electron-builder.ts
|
||||
%endif
|
||||
bun install
|
||||
bun run packageLinux
|
||||
%bun_build -r build -R
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||
%ifarch x86_64
|
||||
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{name}
|
||||
%elifarch aarch64
|
||||
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{name}
|
||||
%elifarch armv7hl armv7l
|
||||
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{name}
|
||||
%endif
|
||||
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
ln -sf %{_datadir}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
|
||||
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{name}.png
|
||||
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{name}.png
|
||||
|
||||
%ifarch x86_64
|
||||
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
|
||||
%elifarch aarch64
|
||||
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
|
||||
%elifarch armv7hl armv7l
|
||||
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
|
||||
%endif
|
||||
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{name}/%{name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{name}.desktop
|
||||
%electron_install -D -O -U %U -E UseOzonePlatform,WaylandWindowDecorations
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
@@ -80,7 +37,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
%license LICENSE
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/%{name}/
|
||||
%{_libdir}/%{name}/
|
||||
%{_iconsdir}/hicolor/16x16/apps/%{name}.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/%{name}.png
|
||||
%{_iconsdir}/hicolor/48x48/apps/%{name}.png
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
rpm.version(gh_tag("Milkshiift/GoofCord"));
|
||||
let v = gh_tag("Milkshiift/GoofCord");
|
||||
|
||||
if `[\d.]+-beta\.\d+`.find_all(v).len == 0 {
|
||||
rpm.version(v);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
%global crate halloy
|
||||
|
||||
Name: halloy
|
||||
Version: 2025.11
|
||||
Version: 2025.12
|
||||
Release: 1%?dist
|
||||
Summary: An open-source IRC client written in Rust, with the Iced GUI library
|
||||
Packager: Yoong jin <solomoncyj@gmail.com>
|
||||
@@ -18,6 +18,7 @@ BuildRequires: alsa-lib-devel
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
|
||||
|
||||
%description
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "helium-browser-bin.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
%global __requires_exclude libffmpeg.so|libvk_swiftshader.so|libvulkan.so|libEGL.so|libGLESv2.so
|
||||
%global __provides_exclude_from %{_libdir}/%{name}/.*\\.so
|
||||
%global appid net.imput.helium
|
||||
|
||||
%ifarch x86_64
|
||||
%define arch x86_64
|
||||
%elifarch aarch64
|
||||
%define arch arm64
|
||||
%endif
|
||||
|
||||
Name: helium-browser-bin
|
||||
Version: 0.7.7.1
|
||||
Release: 1%?dist
|
||||
Summary: Private, fast, and honest web browser based on Chromium
|
||||
|
||||
URL: https://helium.computer
|
||||
License: GPL-3.0-only AND BSD-3-Clause
|
||||
|
||||
Source0: https://github.com/imputnet/helium-linux/releases/download/%{version}/helium-%{version}-%{arch}_linux.tar.xz
|
||||
Source1: https://github.com/imputnet/helium-linux/archive/refs/tags/%{version}.tar.gz
|
||||
Source2: net.imput.helium.metainfo.xml
|
||||
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
BuildRequires: terra-appstream-helper
|
||||
|
||||
Requires: xdg-utils
|
||||
Requires: liberation-fonts
|
||||
|
||||
Packager: Nadia P <nyadiia@pm.me>
|
||||
|
||||
%description
|
||||
Private, fast, and honest web browser based on Chromium.
|
||||
Based on ungoogled-chromium with additional privacy and usability improvements.
|
||||
|
||||
%prep
|
||||
%autosetup -n helium-%{version}-%{arch}_linux
|
||||
tar --strip-components=1 -zxvf %{SOURCE1}
|
||||
|
||||
sed -i \
|
||||
-e 's/Exec=chromium/Exec=%{name}/' \
|
||||
-e 's/Name=Helium$/Name=Helium Browser/' \
|
||||
-e 's/Icon=helium/Icon=%{appid}/' \
|
||||
helium.desktop
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
install -dm755 %{buildroot}%{_libdir}/%{name}
|
||||
cp -a * %{buildroot}%{_libdir}/%{name}/
|
||||
|
||||
sed -i 's/exists_desktop_file || generate_desktop_file/true/' \
|
||||
%{buildroot}%{_libdir}/%{name}/chrome-wrapper
|
||||
|
||||
install -Dm644 helium.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
install -Dm644 product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{appid}.png
|
||||
|
||||
rm -f %{buildroot}%{_libdir}/%{name}/helium.desktop
|
||||
rm -f %{buildroot}%{_libdir}/%{name}/product_logo_256.png
|
||||
|
||||
install -dm755 %{buildroot}%{_bindir}
|
||||
cat > %{buildroot}%{_bindir}/%{name} << EOF
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
XDG_CONFIG_HOME="\${XDG_CONFIG_HOME:-\"\$HOME/.config\"}"
|
||||
|
||||
SYS_CONF="%{_sysconfdir}/helium-browser-flags.conf"
|
||||
USR_CONF="\${XDG_CONFIG_HOME}/helium-browser-flags.conf"
|
||||
|
||||
FLAGS=()
|
||||
|
||||
append_flags_file() {
|
||||
local file="\$1"
|
||||
[[ -r "\$file" ]] || return 0
|
||||
local line safe_line
|
||||
while IFS= read -r line; do
|
||||
[[ "\$line" =~ ^[[:space:]]*(#|\$) ]] && continue
|
||||
case "\$line" in
|
||||
*'\$('*|*'\`'*)
|
||||
echo "Warning: ignoring unsafe line in \$file: \$line" >&2
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
set -f
|
||||
safe_line=\${line//\$/\\\\\$}
|
||||
safe_line=\${safe_line//~/\\\\~}
|
||||
eval "set -- \$safe_line"
|
||||
set +f
|
||||
for token in "\$@"; do
|
||||
FLAGS+=("\$token")
|
||||
done
|
||||
done < "\$file"
|
||||
}
|
||||
|
||||
append_flags_file "\$SYS_CONF"
|
||||
append_flags_file "\$USR_CONF"
|
||||
|
||||
if [[ -n "\${HELIUM_USER_FLAGS:-}" ]]; then
|
||||
read -r -a ENV_FLAGS <<< "\$HELIUM_USER_FLAGS"
|
||||
FLAGS+=("\${ENV_FLAGS[@]}")
|
||||
fi
|
||||
|
||||
exec %{_libdir}/%{name}/chrome-wrapper "\${FLAGS[@]}" "\$@"
|
||||
EOF
|
||||
chmod 755 %{buildroot}%{_bindir}/%{name}
|
||||
|
||||
%terra_appstream -o %{SOURCE2}
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE LICENSE.ungoogled_chromium
|
||||
%{_libdir}/%{name}/
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/icons/hicolor/256x256/apps/%{appid}.png
|
||||
%{_metainfodir}/%{appid}.metainfo.xml
|
||||
|
||||
%changelog
|
||||
* Wed Dec 03 2025 Nadia P <nyadiia@pm.me> - 0.6.9.1-1
|
||||
- Initial package
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<component type="runtime">
|
||||
<id>net.imput.helium</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-only AND BSD-3-Clause</project_license>
|
||||
|
||||
<name>Helium Browser</name>
|
||||
<summary>Private, fast, and honest web browser based on Chromium.</summary>
|
||||
|
||||
<icon type="local">
|
||||
/usr/share/icons/hicolor/256x256/apps/net.imput.helium.png
|
||||
</icon>
|
||||
<description>
|
||||
<p>
|
||||
Private, fast, and honest web browser based on Chromium.
|
||||
Based on ungoogled-chromium with additional privacy and usability improvements.
|
||||
</p>
|
||||
</description>
|
||||
<url type="homepage">https://helium.computer</url>
|
||||
|
||||
<releases>
|
||||
<release version="0.6.9.1" />
|
||||
</releases>
|
||||
</component>
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("imputnet/helium-linux"));
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "juce.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f8864a6dc5..6518db0532 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -137,10 +137,10 @@ write_basic_package_version_file("${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
||||
VERSION ${JUCE_VERSION}
|
||||
COMPATIBILITY ExactVersion)
|
||||
|
||||
-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
+set(JUCE_INSTALL_DESTINATION "lib64/cmake/juce" CACHE STRING
|
||||
"The location, relative to the install prefix, where the JUCE config file will be installed")
|
||||
|
||||
-set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
|
||||
+set(JUCE_MODULE_PATH "share/juce/modules")
|
||||
set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
|
||||
set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
@@ -148,7 +148,6 @@ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
-set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
|
||||
set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
|
||||
get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
@@ -181,7 +180,7 @@ if(("${CMAKE_SOURCE_DIR}" STREQUAL "${JUCE_SOURCE_DIR}") AND (NOT JUCE_BUILD_HEL
|
||||
_juce_add_lv2_manifest_helper_target()
|
||||
|
||||
if(TARGET juce_lv2_helper)
|
||||
- install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}")
|
||||
+ install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin")
|
||||
install(EXPORT LV2_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
endif()
|
||||
endif()
|
||||
diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
|
||||
index 17e5520974..afcd55981d 100644
|
||||
--- a/extras/Build/juceaide/CMakeLists.txt
|
||||
+++ b/extras/Build/juceaide/CMakeLists.txt
|
||||
@@ -168,7 +168,7 @@ else()
|
||||
|
||||
add_executable(juce::juceaide ALIAS juceaide)
|
||||
|
||||
- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
+ set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING
|
||||
"The location, relative to the install prefix, where juceaide will be installed")
|
||||
|
||||
install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
|
||||
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
|
||||
index db8a56774d..652da64743 100644
|
||||
--- a/modules/CMakeLists.txt
|
||||
+++ b/modules/CMakeLists.txt
|
||||
@@ -31,7 +31,7 @@
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_modules(
|
||||
- INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules"
|
||||
+ INSTALL_PATH "share/juce/modules"
|
||||
ALIAS_NAMESPACE juce
|
||||
juce_analytics
|
||||
juce_animation
|
||||
@@ -0,0 +1,87 @@
|
||||
Name: juce
|
||||
Version: 8.0.12
|
||||
Release: 2%{?dist}
|
||||
License: AGPL-3.0
|
||||
Summary: framework for audio application and plug-in development
|
||||
URL: https://juce.com
|
||||
Source: https://github.com/juce-framework/JUCE/archive/refs/tags/%{version}.tar.gz
|
||||
Patch0: fix-install-dirs.patch
|
||||
Packager: metcya <metcya@gmail.com>
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: cmake
|
||||
BuildRequires: pkgconfig(alsa)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(flac)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(jack)
|
||||
BuildRequires: ladspa-devel
|
||||
BuildRequires: pkgconfig(libjpeg)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(vorbis)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: webkit2gtk4.1-devel
|
||||
|
||||
# for building docs
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: python3
|
||||
BuildRequires: graphviz
|
||||
|
||||
%description
|
||||
JUCE is an open-source cross-platform C++ application framework for creating
|
||||
desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2
|
||||
audio plug-ins and plug-in hosts. JUCE can be easily integrated with existing
|
||||
projects via CMake, or can be used as a project generation tool via the
|
||||
Projucer, which supports exporting projects for Xcode (macOS and iOS), Visual
|
||||
Studio, Android Studio, and Linux Makefiles as well as containing a source code
|
||||
editor.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for %{name}
|
||||
|
||||
%description doc
|
||||
Documentation files for %{name}
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n JUCE-%{version}
|
||||
|
||||
%build
|
||||
%cmake -DJUCER_ENABLE_GPL_MODE=1 \
|
||||
-DJUCE_BUILD_EXTRAS=ON \
|
||||
-DJUCE_TOOL_INSTALL_DIR=bin
|
||||
%cmake_build
|
||||
|
||||
pushd docs/doxygen
|
||||
python3 build.py
|
||||
popd
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
pushd docs/doxygen/doc
|
||||
find -type f -exec install -Dm 644 '{}' -t %{buildroot}%{_pkgdocdir} \;
|
||||
popd
|
||||
|
||||
%files
|
||||
%doc README.md CODE_OF_CONDUCT.md CHANGE_LIST.md BREAKING_CHANGES.md
|
||||
%license LICENSE.md
|
||||
%{_bindir}/juceaide
|
||||
%{_bindir}/juce_lv2_helper
|
||||
%dir %{_libdir}/cmake/%{name}
|
||||
%{_libdir}/cmake/%{name}/*
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_datadir}/%{name}/modules
|
||||
%{_datadir}/%{name}/modules/*
|
||||
|
||||
%files doc
|
||||
%license LICENSE.md
|
||||
%doc %{_pkgdocdir}/*
|
||||
|
||||
%changelog
|
||||
* Tue Dec 23 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Install doc subpackage license
|
||||
|
||||
* Fri Dec 19 2025 metcya <metcya@gmail.com> - 8.0.12
|
||||
- Package juce
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("juce-framework/JUCE"));
|
||||
@@ -3,10 +3,10 @@
|
||||
%global gtk4_version 4.14.4
|
||||
%global libadwaita_version 1.5.1
|
||||
%global pure_protobuf_version 2.0.0
|
||||
%global raw_ver v1.94.0
|
||||
%global raw_ver v1.98.0
|
||||
|
||||
Name: komikku
|
||||
Version: 1.94.0
|
||||
Version: 1.98.0
|
||||
%forgemeta
|
||||
Release: 1%?dist
|
||||
Summary: A manga reader for GNOME
|
||||
@@ -14,7 +14,7 @@ Summary: A manga reader for GNOME
|
||||
BuildArch: noarch
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://valos.gitlab.io/Komikku
|
||||
URL: https://apps.gnome.org/Komikku/
|
||||
Source0: https://codeberg.org/valos/%{appname}/archive/%{raw_ver}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 94128d8fbcac0a14af4c529b29e0d91b0b997796
|
||||
%global commit_date 20251114
|
||||
%global commit baf407ce7cf37b279999ca22ca03b06a44415da7
|
||||
%global commit_date 20251216
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global debug_package %nil
|
||||
%global __strip /bin/true
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Disable X11 for RHEL 10+
|
||||
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
%global commit 57d9d4eb42be3d1b80e7895b79e7ac9e417f5e28
|
||||
%global commit c0d989c83913fb9c990d961c44da4816b8d2de18
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20251126
|
||||
%global ver 0.40.0
|
||||
%global commit_date 20251225
|
||||
%global ver 0.41.0
|
||||
|
||||
Name: mpv-nightly
|
||||
Version: %ver^%commit_date.%shortcommit
|
||||
@@ -188,7 +188,6 @@ sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
|
||||
-Dsdl2-audio=enabled \
|
||||
-Dsdl2-gamepad=enabled \
|
||||
-Dsdl2-video=enabled \
|
||||
-Dsdl2=enabled \
|
||||
-Dshaderc=disabled \
|
||||
-Dsndio=disabled \
|
||||
-Dspirv-cross=disabled \
|
||||
|
||||
@@ -20,6 +20,7 @@ BuildRequires: gtk3-devel
|
||||
BuildRequires: rust-gdk-pixbuf-sys-devel
|
||||
BuildRequires: glib2-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: terra-appstream-helper
|
||||
|
||||
@@ -36,26 +37,31 @@ npm install
|
||||
npm run tauri build
|
||||
|
||||
%install
|
||||
install -Dpm755 src-tauri/target/release/NeoHtop %buildroot%_bindir/NeoHtop
|
||||
install -Dpm644 %{SOURCE1} %buildroot%{_datadir}/applications/NeoHtop.desktop
|
||||
install -Dpm755 src-tauri/target/release/NeoHtop %{buildroot}%{_bindir}/NeoHtop
|
||||
install -Dpm644 %{SOURCE1} %{buildroot}%{_appsdir}/NeoHtop.desktop
|
||||
# don't mind the numbers not matching, this is how the offical rpm installs these files
|
||||
install -Dpm644 src-tauri/icons/128x128@2x.png %buildroot%{_iconsdir}/hicolor/256x256@2/apps/NeoHtop.png
|
||||
install -Dpm644 src-tauri/icons/32x32.png %buildroot%{_iconsdir}/hicolor/32x32/apps/NeoHtop.png
|
||||
install -Dpm644 src-tauri/icons/128x128.png %buildroot%{_iconsdir}/hicolor/128x128/apps/NeoHtop.png
|
||||
install -Dpm644 src-tauri/icons/128x128@2x.png %{buildroot}%{_hicolordir}/256x256@2/apps/NeoHtop.png
|
||||
install -Dpm644 src-tauri/icons/32x32.png %{buildroot}%{_hicolordir}/32x32/apps/NeoHtop.png
|
||||
install -Dpm644 src-tauri/icons/128x128.png %{buildroot}%{_hicolordir}/128x128/apps/NeoHtop.png
|
||||
|
||||
%terra_appstream -o %{SOURCE2}
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_appsdir}/NeoHtop.desktop
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%_bindir/NeoHtop
|
||||
%{_datadir}/applications/NeoHtop.desktop
|
||||
%{_iconsdir}/hicolor/256x256@2/apps/NeoHtop.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/NeoHtop.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/NeoHtop.png
|
||||
%{_bindir}/NeoHtop
|
||||
%{_appsdir}/NeoHtop.desktop
|
||||
%{_hicolordir}/256x256@2/apps/NeoHtop.png
|
||||
%{_hicolordir}/32x32/apps/NeoHtop.png
|
||||
%{_hicolordir}/128x128/apps/NeoHtop.png
|
||||
%{_metainfodir}/com.github.neohtop.metainfo.xml
|
||||
|
||||
%changelog
|
||||
* Wed Dec 24 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Clean up build, add %check
|
||||
* Wed Nov 19 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Add metainfo
|
||||
* Sat Feb 15 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "waveterm.spec"
|
||||
spec = "newsraft.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: newsraft
|
||||
Version: 0.34
|
||||
Release: 1%?dist
|
||||
Summary: Newsraft is a feed reader with text-based user interface.
|
||||
|
||||
# It's hosted on codeberg but updates are easier from the github mirror.
|
||||
URL: https://codeberg.org/newsraft/%{name}
|
||||
Source0: https://github.com/newsraft/%{name}/archive/refs/tags/%{name}-%{version}.tar.gz
|
||||
License: ISC
|
||||
|
||||
# The Requires and BuildRequires are duplicated because they are used both
|
||||
# at build and runtime.
|
||||
BuildRequires: anda-srpm-macros gcc make
|
||||
BuildRequires: sqlite-devel
|
||||
BuildRequires: gumbo-parser-devel
|
||||
BuildRequires: expat-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: scdoc %dnl This is just for man pages.
|
||||
|
||||
Requires: sqlite-devel
|
||||
Requires: gumbo-parser-devel
|
||||
Requires: expat-devel
|
||||
Requires: libcurl-devel
|
||||
|
||||
Packager: arbormoss <arbormoss@woodsprite.dev>
|
||||
|
||||
%description
|
||||
%summary.
|
||||
It's greatly inspired by Newsboat and tries to be its lightweight counterpart.
|
||||
|
||||
%prep
|
||||
# The source just has an ugly dir name.
|
||||
%autosetup -n %name-%name-%version
|
||||
|
||||
%build
|
||||
%{make_build}
|
||||
%{make_build} man
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps/
|
||||
mkdir -p %{buildroot}%{_datadir}/applications/
|
||||
|
||||
install -Dm755 %{name} %{buildroot}%{_bindir}/%{name}
|
||||
install -Dm644 doc/%{name}.1 %{buildroot}%{_mandir}/man1/
|
||||
install -Dm644 doc/%{name}.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/
|
||||
install -Dm644 doc/%{name}.desktop %{buildroot}%{_datadir}/applications/
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license doc/license.txt
|
||||
%{_bindir}/%{name}
|
||||
%{_mandir}/man1/%{name}.1.*
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
|
||||
|
||||
%changelog
|
||||
* Wed Dec 10 2025 arbormoss <arbormoss@woodsprite.dev>
|
||||
- Intial Commit
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("newsraft/newsraft"));
|
||||
@@ -2,8 +2,8 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: peazip
|
||||
Version: 10.7.0
|
||||
Release: 1%?dist
|
||||
Version: 10.8.0
|
||||
Release: 3%?dist
|
||||
Summary: Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager
|
||||
License: LGPL-3.0-only
|
||||
URL: https://peazip.github.io
|
||||
@@ -88,15 +88,20 @@ Qt6 version of pea.
|
||||
|
||||
%build
|
||||
cd peazip-sources
|
||||
lazbuild --add-package dev/metadarkstyle/metadarkstyle.lpk
|
||||
lazbuild --ws=gtk2 dev/project_peach.lpi && cp dev/peazip ../peazip.gtk2
|
||||
lazbuild --ws=gtk3 dev/project_peach.lpi && cp dev/peazip ../peazip.gtk3
|
||||
lazbuild --ws=qt5 dev/project_peach.lpi && cp dev/peazip ../peazip.qt5
|
||||
lazbuild --ws=qt6 dev/project_peach.lpi && cp dev/peazip ../peazip.qt6
|
||||
lazbuild --ws=gtk2 dev/project_pea.lpi && cp dev/pea ../pea.gtk2
|
||||
lazbuild --ws=gtk3 dev/project_pea.lpi && cp dev/pea ../pea.gtk3
|
||||
lazbuild --ws=qt5 dev/project_pea.lpi && cp dev/pea ../pea.qt5
|
||||
lazbuild --ws=qt6 dev/project_pea.lpi && cp dev/pea ../pea.qt6
|
||||
rm res/portable
|
||||
# use system binaries
|
||||
sed -E -e 's&(\bHSYSBIN\b\s*)=\s*[0-9];&\1= 2;&' -i dev/peach.pas
|
||||
# set paths, needs trailing slash
|
||||
sed -E -e 's&(\bHBINPATH\b\s*)=\s*'"''"';&\1= '"'"'%_bindir'"'"';&' -i dev/peach.pas
|
||||
lazbuild --add-package $(pwd)/dev/metadarkstyle/metadarkstyle.lpk
|
||||
lazbuild --ws=gtk2 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.gtk2
|
||||
lazbuild --ws=gtk3 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.gtk3
|
||||
lazbuild --ws=qt5 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.qt5
|
||||
lazbuild --ws=qt6 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.qt6
|
||||
lazbuild --ws=gtk2 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.gtk2
|
||||
lazbuild --ws=gtk3 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.gtk3
|
||||
lazbuild --ws=qt5 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.qt5
|
||||
lazbuild --ws=qt6 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.qt6
|
||||
|
||||
%install
|
||||
install -Dm755 peazip.* -t %buildroot%_bindir
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit d09cc3fdb2071552f18b4564e1c77cb288b580db
|
||||
%global commit_date 20251104
|
||||
%global commit a720bf5041fd832a278378fd6f5cf9a0b3f8cc6f
|
||||
%global commit_date 20251217
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: rp-bookshelf
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2025-11-26
|
||||
%global ver 2025-12-26
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
%endif
|
||||
|
||||
Name: scrcpy
|
||||
Version: 3.3.3
|
||||
Release: 2%?dist
|
||||
Version: 3.3.4
|
||||
Release: 1%?dist
|
||||
Summary: Display and control your Android device
|
||||
License: Apache-2.0 AND Proprietary
|
||||
URL: https://github.com/Genymobile/scrcpy
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
%endif
|
||||
|
||||
Name: signal-desktop
|
||||
Version: 7.80.1
|
||||
Version: 7.83.0
|
||||
Release: 1%?dist
|
||||
Summary: A private messenger for Windows, macOS, and Linux
|
||||
URL: https://signal.org
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "snow.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<component type="desktop-application">
|
||||
<id>com.github.snow</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>MIT</project_license>
|
||||
<icon
|
||||
type="local"
|
||||
>/usr/share/icons/hicolor/1024x1024/apps/snow_icon.png</icon>
|
||||
|
||||
<name>snow</name>
|
||||
<summary>Classic Macintosh emulator</summary>
|
||||
|
||||
<description>
|
||||
<p>
|
||||
Snow emulates classic (Motorola 68k-based) Macintosh computers.
|
||||
It features a graphical user interface to operate and debug the emulated machine.
|
||||
The aim of this project is to emulate the Macintosh on a hardware-level as much as possible,
|
||||
as opposed to emulators that patch the ROM or intercept system calls.
|
||||
</p>
|
||||
</description>
|
||||
|
||||
<launchable type="desktop-id">snow.desktop</launchable>
|
||||
|
||||
<url type="homepage">https://github.com/twvd/snow</url>
|
||||
<provides>
|
||||
<binary>snowemu</binary>
|
||||
</provides>
|
||||
|
||||
<keywords>
|
||||
<keyword>macintosh</keyword>
|
||||
</keywords>
|
||||
|
||||
<releases>
|
||||
<release version="1.2.0" />
|
||||
</releases>
|
||||
</component>
|
||||
@@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Categories=System;Emulator;
|
||||
Comment=Classic Macintosh emulator
|
||||
Exec=snowemu
|
||||
Icon=snow_icon
|
||||
Name=snow
|
||||
Type=Application
|
||||
@@ -0,0 +1,81 @@
|
||||
%global appid com.github.snow
|
||||
|
||||
Name: snow
|
||||
Version: 1.2.0
|
||||
Release: 2%?dist
|
||||
Summary: Classic Macintosh emulator
|
||||
URL: https://github.com/twvd/snow
|
||||
Source0: %url/archive/refs/tags/v%version.tar.gz
|
||||
Source1: snow.desktop
|
||||
Source2: %appid.metainfo.xml
|
||||
License: MIT
|
||||
|
||||
BuildRequires: cargo
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: mold
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: cargo-rpm-macros
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: terra-appstream-helper
|
||||
BuildRequires: SDL2-devel
|
||||
Provides: snowemu
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
%description
|
||||
Snow emulates classic (Motorola 68k-based) Macintosh computers.
|
||||
It features a graphical user interface to operate and debug the emulated machine.
|
||||
The aim of this project is to emulate the Macintosh on a hardware-level as much as possible,
|
||||
as opposed to emulators that patch the ROM or intercept system calls.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for %{name}
|
||||
|
||||
%description doc
|
||||
Documentation files for %{name}
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version}
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
%cargo_build
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_pkgdocdir}
|
||||
install -Dm755 target/rpm/snow_frontend_egui %{buildroot}%{_bindir}/snowemu
|
||||
|
||||
install -Dm644 docs/images/snow_icon.png %{buildroot}%{_hicolordir}/1024x1024/apps/snow_icon.png
|
||||
|
||||
install -Dm644 %{SOURCE1} %{buildroot}%{_appsdir}/snow.desktop
|
||||
|
||||
cp -a docs/* %{buildroot}%{_pkgdocdir}/
|
||||
rm %{buildroot}%{_pkgdocdir}/*.toml
|
||||
rm %{buildroot}%{_pkgdocdir}/images/*.icns
|
||||
rm %{buildroot}%{_pkgdocdir}/images/*.ico
|
||||
rm -r %{buildroot}%{_pkgdocdir}/theme
|
||||
|
||||
%terra_appstream -o %{SOURCE2}
|
||||
|
||||
%cargo_license_summary_online
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_appsdir}/snow.desktop
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%{_bindir}/snowemu
|
||||
%{_hicolordir}/1024x1024/apps/snow_icon.png
|
||||
%{_appsdir}/snow.desktop
|
||||
%{_metainfodir}/%appid.metainfo.xml
|
||||
|
||||
%files doc
|
||||
%license LICENSE
|
||||
%doc %{_pkgdocdir}/*
|
||||
|
||||
%changelog
|
||||
* Tue Dec 23 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Initial commit
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("twvd/snow"));
|
||||
@@ -1 +1 @@
|
||||
v1.12.12
|
||||
v1.12.14
|
||||
@@ -1,7 +1,7 @@
|
||||
#? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git
|
||||
|
||||
Name: throne
|
||||
Version: 1.0.9
|
||||
Version: 1.0.12
|
||||
Release: 1%?dist
|
||||
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
||||
URL: https://github.com/throneproj/Throne
|
||||
@@ -39,6 +39,7 @@ BuildRequires: sed
|
||||
BuildRequires: golang
|
||||
BuildRequires: rpm_macro(gobuildflags)
|
||||
BuildRequires: protobuf-compiler
|
||||
BuildRequires: desktop-file-utils
|
||||
Requires: %{name}-core
|
||||
%define core Core
|
||||
|
||||
@@ -86,17 +87,20 @@ popd
|
||||
install -Dm755 %__cmake_builddir/Throne %buildroot%_libdir/%name/%name
|
||||
install -Dm755 %__cmake_builddir/%core %buildroot%_libdir/%name/%core
|
||||
install -Dpm755 %{SOURCE4} %{buildroot}%{_bindir}/%{name}
|
||||
install -Dpm644 %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
install -Dpm644 %{SOURCE3} %{buildroot}%{_appsdir}/%{name}.desktop
|
||||
install -Dpm644 res/Throne.ico -t %buildroot%_iconsdir/
|
||||
install -Dpm644 res/public/Throne.png -t %buildroot%_datadir/pixmaps/
|
||||
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{name}
|
||||
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{core}
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_appsdir}/%{name}.desktop
|
||||
|
||||
%files
|
||||
%attr(0755, -, -) %{_bindir}/%{name}
|
||||
%attr(0755, -, -) %{_libdir}/%{name}/%{name}
|
||||
%attr(0644, -, -) %{_datadir}/icons/Throne.ico
|
||||
%attr(0644, -, -) %{_datadir}/applications/%{name}.desktop
|
||||
%attr(0644, -, -) %{_iconsdir}/Throne.ico
|
||||
%attr(0644, -, -) %{_appsdir}/%{name}.desktop
|
||||
%_datadir/pixmaps/Throne.png
|
||||
|
||||
%files core
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Name: vesktop
|
||||
Obsoletes: VencordDesktop < 1.5.8-1
|
||||
Obsoletes: vencord-desktop < 1.5.8-1
|
||||
Version: 1.6.1
|
||||
Version: 1.6.3
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 3039aec58203513f29edb03f84471ea941a0c226 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@gmail.com>
|
||||
Date: Mon, 24 Sep 2018 18:28:26 +0200
|
||||
Subject: [PATCH] Use @SYSTEM wide ciphers for gnutls
|
||||
|
||||
Gnutls upstream has support for system defined ciphers list
|
||||
This is decribed at
|
||||
https://fedoraproject.org/wiki/Packaging:CryptoPolicies
|
||||
Also found on the debian wiki
|
||||
https://wiki.debian.org/CryptoPolicy
|
||||
|
||||
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
|
||||
---
|
||||
modules/misc/gnutls.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c
|
||||
index 7b63cc34c4..3ca665f3d3 100644
|
||||
--- a/modules/misc/gnutls.c
|
||||
+++ b/modules/misc/gnutls.c
|
||||
@@ -768,12 +768,14 @@ static void CloseServer (vlc_tls_creds_t *crd)
|
||||
"hash functions and compression methods can be selected. " \
|
||||
"Refer to GNU TLS documentation for detailed syntax.")
|
||||
static const char *const priorities_values[] = {
|
||||
+ "@SYSTEM",
|
||||
"PERFORMANCE",
|
||||
"NORMAL",
|
||||
"SECURE128",
|
||||
"SECURE256",
|
||||
};
|
||||
static const char *const priorities_text[] = {
|
||||
+ N_("System (default to system crypto ciphers policy)"),
|
||||
N_("Performance (prioritize faster ciphers)"),
|
||||
N_("Normal"),
|
||||
N_("Secure 128-bits (exclude 256-bits ciphers)"),
|
||||
--
|
||||
2.25.4
|
||||
|
||||
@@ -0,0 +1,775 @@
|
||||
From 81d6d56df6e5a66ed99970e2c559539858f4a0b7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
||||
Date: Sat, 5 May 2018 15:28:15 +0300
|
||||
Subject: [PATCH 01/11] avcodec: avoid signedness mismatch warning
|
||||
|
||||
Bitmask should be unsigned, but ffmpeg seems confused with itself.
|
||||
|
||||
(cherry picked from commit 8544233e7fde2965435e32a445494898440ecc30)
|
||||
---
|
||||
modules/codec/avcodec/audio.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
|
||||
index 50a76c7a18e..e5af0ca5f2f 100644
|
||||
--- a/modules/codec/avcodec/audio.c
|
||||
+++ b/modules/codec/avcodec/audio.c
|
||||
@@ -593,9 +593,9 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
uint32_t pi_order_src[i_order_max];
|
||||
|
||||
int i_channels_src = 0;
|
||||
- int64_t channel_layout =
|
||||
+ uint64_t channel_layout =
|
||||
p_sys->p_context->channel_layout ? p_sys->p_context->channel_layout :
|
||||
- av_get_default_channel_layout( p_sys->p_context->channels );
|
||||
+ (uint64_t)av_get_default_channel_layout( p_sys->p_context->channels );
|
||||
|
||||
if( channel_layout )
|
||||
{
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From c7709e7a048eb69b656d7f9663debbc1dde1f591 Mon Sep 17 00:00:00 2001
|
||||
From: Ilkka Ollakka <ileoo@videolan.org>
|
||||
Date: Wed, 5 Jul 2023 12:51:34 +0300
|
||||
Subject: [PATCH 02/11] avcodec: use p_dec->fmt_out instead of context channels
|
||||
on audio channel-count
|
||||
|
||||
reduces the need of ifdefs when adding ch_layout support
|
||||
|
||||
(cherry picked from commit bddf5ba19111d1cc4463d9876c4bc4ba75f82d7f)
|
||||
---
|
||||
modules/codec/avcodec/audio.c | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
|
||||
index e5af0ca5f2f..26166c084e5 100644
|
||||
--- a/modules/codec/avcodec/audio.c
|
||||
+++ b/modules/codec/avcodec/audio.c
|
||||
@@ -484,15 +484,15 @@ static block_t * ConvertAVFrame( decoder_t *p_dec, AVFrame *frame )
|
||||
/* Interleave audio if required */
|
||||
if( av_sample_fmt_is_planar( ctx->sample_fmt ) )
|
||||
{
|
||||
- p_block = block_Alloc(frame->linesize[0] * ctx->channels);
|
||||
+ p_block = block_Alloc(frame->linesize[0] * p_dec->fmt_out.audio.i_channels );
|
||||
if ( likely(p_block) )
|
||||
{
|
||||
- const void *planes[ctx->channels];
|
||||
- for (int i = 0; i < ctx->channels; i++)
|
||||
+ const void *planes[p_dec->fmt_out.audio.i_channels];
|
||||
+ for (int i = 0; i < p_dec->fmt_out.audio.i_channels; i++)
|
||||
planes[i] = frame->extended_data[i];
|
||||
|
||||
aout_Interleave(p_block->p_buffer, planes, frame->nb_samples,
|
||||
- ctx->channels, p_dec->fmt_out.audio.i_format);
|
||||
+ p_dec->fmt_out.audio.i_channels, p_dec->fmt_out.audio.i_format);
|
||||
p_block->i_nb_samples = frame->nb_samples;
|
||||
}
|
||||
av_frame_free(&frame);
|
||||
@@ -511,7 +511,7 @@ static block_t * ConvertAVFrame( decoder_t *p_dec, AVFrame *frame )
|
||||
{
|
||||
aout_ChannelExtract( p_buffer->p_buffer,
|
||||
p_dec->fmt_out.audio.i_channels,
|
||||
- p_block->p_buffer, ctx->channels,
|
||||
+ p_block->p_buffer, p_dec->fmt_out.audio.i_channels,
|
||||
p_block->i_nb_samples, p_sys->pi_extraction,
|
||||
p_dec->fmt_out.audio.i_bitspersample );
|
||||
p_buffer->i_nb_samples = p_block->i_nb_samples;
|
||||
@@ -600,13 +600,13 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
if( channel_layout )
|
||||
{
|
||||
for( unsigned i = 0; i < i_order_max
|
||||
- && i_channels_src < p_sys->p_context->channels; i++ )
|
||||
+ && i_channels_src < p_dec->fmt_out.audio.i_channels; i++ )
|
||||
{
|
||||
if( channel_layout & pi_channels_map[i][0] )
|
||||
pi_order_src[i_channels_src++] = pi_channels_map[i][1];
|
||||
}
|
||||
|
||||
- if( i_channels_src != p_sys->p_context->channels && b_trust )
|
||||
+ if( i_channels_src != p_dec->fmt_out.audio.i_channels && b_trust )
|
||||
msg_Err( p_dec, "Channel layout not understood" );
|
||||
|
||||
/* Detect special dual mono case */
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 99b14966182995314f5b29fd972d6a9000ea3e00 Mon Sep 17 00:00:00 2001
|
||||
From: Ilkka Ollakka <ileoo@videolan.org>
|
||||
Date: Wed, 5 Jul 2023 13:33:09 +0300
|
||||
Subject: [PATCH 03/11] avcodec: audio decoder to use ch_layout
|
||||
|
||||
(cherry picked from commit 496f0f2a659c1339d1e37330d446e9b6ce96e76b)
|
||||
---
|
||||
modules/codec/avcodec/audio.c | 42 ++++++++++++++++++++++++++++-------
|
||||
1 file changed, 34 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
|
||||
index 26166c084e5..ad8a40ab4ed 100644
|
||||
--- a/modules/codec/avcodec/audio.c
|
||||
+++ b/modules/codec/avcodec/audio.c
|
||||
@@ -139,7 +139,11 @@ static int OpenAudioCodec( decoder_t *p_dec )
|
||||
}
|
||||
|
||||
ctx->sample_rate = p_dec->fmt_in.audio.i_rate;
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ av_channel_layout_default( &ctx->ch_layout, p_dec->fmt_in.audio.i_channels );
|
||||
+#else
|
||||
ctx->channels = p_dec->fmt_in.audio.i_channels;
|
||||
+#endif
|
||||
ctx->block_align = p_dec->fmt_in.audio.i_blockalign;
|
||||
ctx->bit_rate = p_dec->fmt_in.i_bitrate;
|
||||
ctx->bits_per_coded_sample = p_dec->fmt_in.audio.i_bitspersample;
|
||||
@@ -395,12 +399,17 @@ static int DecodeBlock( decoder_t *p_dec, block_t **pp_block )
|
||||
ret = avcodec_receive_frame( ctx, frame );
|
||||
if( ret == 0 )
|
||||
{
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ int channels = frame->ch_layout.nb_channels;
|
||||
+#else
|
||||
+ int channels = ctx->channels;
|
||||
+#endif
|
||||
/* checks and init from first decoded frame */
|
||||
- if( ctx->channels <= 0 || ctx->channels > INPUT_CHAN_MAX
|
||||
+ if( channels <= 0 || channels > INPUT_CHAN_MAX
|
||||
|| ctx->sample_rate <= 0 )
|
||||
{
|
||||
msg_Warn( p_dec, "invalid audio properties channels count %d, sample rate %d",
|
||||
- ctx->channels, ctx->sample_rate );
|
||||
+ channels, ctx->sample_rate );
|
||||
goto drop;
|
||||
}
|
||||
else if( p_dec->fmt_out.audio.i_rate != (unsigned int)ctx->sample_rate )
|
||||
@@ -580,6 +589,16 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
p_dec->fmt_out.audio.i_rate = p_sys->p_context->sample_rate;
|
||||
|
||||
/* */
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ if( p_sys->i_previous_channels == p_sys->p_context->ch_layout.nb_channels &&
|
||||
+ p_sys->i_previous_layout == p_sys->p_context->ch_layout.u.mask )
|
||||
+ return;
|
||||
+ if( b_trust )
|
||||
+ {
|
||||
+ p_sys->i_previous_channels = p_sys->p_context->ch_layout.nb_channels;
|
||||
+ p_sys->i_previous_layout = p_sys->p_context->ch_layout.u.mask;
|
||||
+ }
|
||||
+#else
|
||||
if( p_sys->i_previous_channels == p_sys->p_context->channels &&
|
||||
p_sys->i_previous_layout == p_sys->p_context->channel_layout )
|
||||
return;
|
||||
@@ -588,25 +607,32 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
p_sys->i_previous_channels = p_sys->p_context->channels;
|
||||
p_sys->i_previous_layout = p_sys->p_context->channel_layout;
|
||||
}
|
||||
+#endif
|
||||
|
||||
const unsigned i_order_max = sizeof(pi_channels_map)/sizeof(*pi_channels_map);
|
||||
uint32_t pi_order_src[i_order_max];
|
||||
|
||||
int i_channels_src = 0;
|
||||
- uint64_t channel_layout =
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ uint64_t channel_layout_mask = p_sys->p_context->ch_layout.u.mask;
|
||||
+ int channel_count = p_sys->p_context->ch_layout.nb_channels;
|
||||
+#else
|
||||
+ uint64_t channel_layout_mask =
|
||||
p_sys->p_context->channel_layout ? p_sys->p_context->channel_layout :
|
||||
(uint64_t)av_get_default_channel_layout( p_sys->p_context->channels );
|
||||
+ int channel_count = p_sys->p_context->channels;
|
||||
+#endif
|
||||
|
||||
- if( channel_layout )
|
||||
+ if( channel_layout_mask )
|
||||
{
|
||||
for( unsigned i = 0; i < i_order_max
|
||||
- && i_channels_src < p_dec->fmt_out.audio.i_channels; i++ )
|
||||
+ && i_channels_src < channel_count; i++ )
|
||||
{
|
||||
- if( channel_layout & pi_channels_map[i][0] )
|
||||
+ if( channel_layout_mask & pi_channels_map[i][0] )
|
||||
pi_order_src[i_channels_src++] = pi_channels_map[i][1];
|
||||
}
|
||||
|
||||
- if( i_channels_src != p_dec->fmt_out.audio.i_channels && b_trust )
|
||||
+ if( i_channels_src != channel_count && b_trust )
|
||||
msg_Err( p_dec, "Channel layout not understood" );
|
||||
|
||||
/* Detect special dual mono case */
|
||||
@@ -638,7 +664,7 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
{
|
||||
msg_Warn( p_dec, "no channel layout found");
|
||||
p_dec->fmt_out.audio.i_physical_channels = 0;
|
||||
- p_dec->fmt_out.audio.i_channels = p_sys->p_context->channels;
|
||||
+ p_dec->fmt_out.audio.i_channels = channel_count;
|
||||
}
|
||||
|
||||
aout_FormatPrepare( &p_dec->fmt_out.audio );
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From c44edb85e4f25cbc7a848211d2d3ca9f03bd46e6 Mon Sep 17 00:00:00 2001
|
||||
From: Ilkka Ollakka <ileoo@videolan.org>
|
||||
Date: Tue, 4 Jul 2023 16:52:38 +0300
|
||||
Subject: [PATCH 04/11] avcodec: use p_enc audio channels instead of context
|
||||
channels in encoder
|
||||
|
||||
Allows to have less conditions in code when adding new ch_layout use
|
||||
|
||||
(cherry-picked from commit 29747a8abb98ba53a64aa6761983891eeed2e0e4)
|
||||
---
|
||||
modules/codec/avcodec/encoder.c | 24 ++++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
|
||||
index 4919ccf0e0e..52848de0658 100644
|
||||
--- a/modules/codec/avcodec/encoder.c
|
||||
+++ b/modules/codec/avcodec/encoder.c
|
||||
@@ -790,7 +790,7 @@ int InitVideoEnc( vlc_object_t *p_this )
|
||||
}
|
||||
}
|
||||
}
|
||||
- if( i_channels_src != p_context->channels )
|
||||
+ if( i_channels_src != p_enc->fmt_out.audio.i_channels )
|
||||
msg_Err( p_enc, "Channel layout not understood" );
|
||||
|
||||
p_sys->i_channels_to_reorder =
|
||||
@@ -897,7 +897,7 @@ int InitVideoEnc( vlc_object_t *p_this )
|
||||
if( ret )
|
||||
{
|
||||
if( p_enc->fmt_in.i_cat != AUDIO_ES ||
|
||||
- (p_context->channels <= 2 && i_codec_id != AV_CODEC_ID_MP2
|
||||
+ (p_enc->fmt_out.audio.i_channels <= 2 && i_codec_id != AV_CODEC_ID_MP2
|
||||
&& i_codec_id != AV_CODEC_ID_MP3) )
|
||||
errmsg:
|
||||
{
|
||||
@@ -922,7 +922,7 @@ errmsg:
|
||||
goto error;
|
||||
}
|
||||
|
||||
- if( p_context->channels > 2 )
|
||||
+ if( p_enc->fmt_out.audio.i_channels > 2 )
|
||||
{
|
||||
p_context->channels = 2;
|
||||
p_context->channel_layout = channel_mask[p_context->channels][1];
|
||||
@@ -1028,7 +1028,7 @@ errmsg:
|
||||
p_context->frame_size :
|
||||
AV_INPUT_BUFFER_MIN_SIZE;
|
||||
p_sys->i_buffer_out = av_samples_get_buffer_size(NULL,
|
||||
- p_sys->p_context->channels, p_sys->i_frame_size,
|
||||
+ p_enc->fmt_out.audio.i_channels, p_sys->i_frame_size,
|
||||
p_sys->p_context->sample_fmt, DEFAULT_ALIGN);
|
||||
p_sys->p_buffer = av_malloc( p_sys->i_buffer_out );
|
||||
if ( unlikely( p_sys->p_buffer == NULL ) )
|
||||
@@ -1278,7 +1278,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
|
||||
{
|
||||
block_t *p_block = NULL;
|
||||
//How much we need to copy from new packet
|
||||
- const size_t leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes;
|
||||
+ const size_t leftover = leftover_samples * p_enc->fmt_out.audio.i_channels * p_sys->i_sample_bytes;
|
||||
|
||||
av_frame_unref( p_sys->frame );
|
||||
p_sys->frame->format = p_sys->p_context->sample_fmt;
|
||||
@@ -1301,7 +1301,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
|
||||
// We need to deinterleave from p_aout_buf to p_buffer the leftover bytes
|
||||
if( p_sys->b_planar )
|
||||
aout_Deinterleave( p_sys->p_interleave_buf, p_sys->p_buffer,
|
||||
- p_sys->i_frame_size, p_sys->p_context->channels, p_enc->fmt_in.i_codec );
|
||||
+ p_sys->i_frame_size, p_enc->fmt_out.audio.i_channels, p_enc->fmt_in.i_codec );
|
||||
else
|
||||
memcpy( p_sys->p_buffer + buffer_delay, p_aout_buf->p_buffer, leftover);
|
||||
|
||||
@@ -1319,7 +1319,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
|
||||
memset( p_sys->p_buffer + (leftover+buffer_delay), 0, padding_size );
|
||||
buffer_delay += padding_size;
|
||||
}
|
||||
- if( avcodec_fill_audio_frame( p_sys->frame, p_sys->p_context->channels,
|
||||
+ if( avcodec_fill_audio_frame( p_sys->frame, p_enc->fmt_out.audio.i_channels,
|
||||
p_sys->p_context->sample_fmt, p_sys->b_planar ? p_sys->p_interleave_buf : p_sys->p_buffer,
|
||||
p_sys->i_buffer_out,
|
||||
DEFAULT_ALIGN) < 0 )
|
||||
@@ -1349,7 +1349,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
|
||||
|
||||
//i_bytes_left is amount of bytes we get
|
||||
i_samples_left = p_aout_buf ? p_aout_buf->i_nb_samples : 0;
|
||||
- buffer_delay = p_sys->i_samples_delay * p_sys->i_sample_bytes * p_sys->p_context->channels;
|
||||
+ buffer_delay = p_sys->i_samples_delay * p_sys->i_sample_bytes * p_enc->fmt_out.audio.i_channels;
|
||||
|
||||
//p_sys->i_buffer_out = p_sys->i_frame_size * chan * p_sys->i_sample_bytes
|
||||
//Calculate how many bytes we would need from current buffer to fill frame
|
||||
@@ -1418,12 +1418,12 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
|
||||
p_sys->frame->channels = p_sys->p_context->channels;
|
||||
|
||||
const int in_bytes = p_sys->frame->nb_samples *
|
||||
- p_sys->p_context->channels * p_sys->i_sample_bytes;
|
||||
+ p_enc->fmt_out.audio.i_channels* p_sys->i_sample_bytes;
|
||||
|
||||
if( p_sys->b_planar )
|
||||
{
|
||||
aout_Deinterleave( p_sys->p_buffer, p_aout_buf->p_buffer,
|
||||
- p_sys->frame->nb_samples, p_sys->p_context->channels, p_enc->fmt_in.i_codec );
|
||||
+ p_sys->frame->nb_samples, p_enc->fmt_out.audio.i_channels, p_enc->fmt_in.i_codec );
|
||||
|
||||
}
|
||||
else
|
||||
@@ -1431,7 +1431,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
|
||||
memcpy(p_sys->p_buffer, p_aout_buf->p_buffer, in_bytes);
|
||||
}
|
||||
|
||||
- if( avcodec_fill_audio_frame( p_sys->frame, p_sys->p_context->channels,
|
||||
+ if( avcodec_fill_audio_frame( p_sys->frame, p_enc->fmt_out.audio.i_channels,
|
||||
p_sys->p_context->sample_fmt,
|
||||
p_sys->p_buffer,
|
||||
p_sys->i_buffer_out,
|
||||
@@ -1457,7 +1457,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
|
||||
if( p_aout_buf->i_nb_samples > 0 )
|
||||
{
|
||||
memcpy( p_sys->p_buffer + buffer_delay, p_aout_buf->p_buffer,
|
||||
- p_aout_buf->i_nb_samples * p_sys->i_sample_bytes * p_sys->p_context->channels);
|
||||
+ p_aout_buf->i_nb_samples * p_sys->i_sample_bytes * p_enc->fmt_out.audio.i_channels);
|
||||
p_sys->i_samples_delay += p_aout_buf->i_nb_samples;
|
||||
}
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From b8ad80a20e9e84082dac2848070d251fa68412c7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
|
||||
Date: Tue, 23 Apr 2024 13:13:30 +0700
|
||||
Subject: [PATCH 05/11] codec: avcodec: map AYUV as RAWVIDEO with ffmpeg 6.0
|
||||
|
||||
(cherry picked from commit 955ef939467a628eb8da08e0d5eaefc9a3484cba)
|
||||
---
|
||||
modules/codec/avcodec/fourcc.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c
|
||||
index 33c6cae09ab..97f3188211d 100644
|
||||
--- a/modules/codec/avcodec/fourcc.c
|
||||
+++ b/modules/codec/avcodec/fourcc.c
|
||||
@@ -182,8 +182,12 @@ static const struct vlc_avcodec_fourcc video_codecs[] =
|
||||
/* AV_CODEC_ID_V210X */
|
||||
{ VLC_CODEC_TMV, AV_CODEC_ID_TMV },
|
||||
{ VLC_CODEC_V210, AV_CODEC_ID_V210 },
|
||||
-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 54, 50, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100
|
||||
+#if LIBAVCODEC_VERSION_MICRO >= 100
|
||||
+# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 42, 102 )
|
||||
+ { VLC_CODEC_VUYA, AV_CODEC_ID_RAWVIDEO },
|
||||
+# elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 54, 50, 100 )
|
||||
{ VLC_CODEC_VUYA, AV_CODEC_ID_AYUV },
|
||||
+# endif
|
||||
#endif
|
||||
/* AV_CODEC_ID_DPX */
|
||||
{ VLC_CODEC_MAD, AV_CODEC_ID_MAD },
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 58c05240c26b6eef56e7c5ab35b14ccd8377667f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
|
||||
Date: Thu, 13 Jun 2024 12:21:58 +0700
|
||||
Subject: [PATCH 06/11] avcodec: encoder: fix channel_layout conditionals
|
||||
|
||||
---
|
||||
modules/codec/avcodec/encoder.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
|
||||
index 52848de0658..6bd58f5071d 100644
|
||||
--- a/modules/codec/avcodec/encoder.c
|
||||
+++ b/modules/codec/avcodec/encoder.c
|
||||
@@ -43,12 +43,13 @@
|
||||
#include <vlc_cpu.h>
|
||||
|
||||
#include <libavcodec/avcodec.h>
|
||||
-#include <libavutil/channel_layout.h>
|
||||
|
||||
#include "avcodec.h"
|
||||
#include "avcommon.h"
|
||||
|
||||
-#if LIBAVUTIL_VERSION_CHECK( 52,2,6,0,0 )
|
||||
+#define API_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_CHECK( 52, 2, 6, 0, 100))
|
||||
+
|
||||
+#if API_CHANNEL_LAYOUT
|
||||
# include <libavutil/channel_layout.h>
|
||||
#endif
|
||||
|
||||
@@ -157,6 +158,7 @@ struct encoder_sys_t
|
||||
|
||||
|
||||
/* Taken from audio.c*/
|
||||
+#if API_CHANNEL_LAYOUT
|
||||
static const uint64_t pi_channels_map[][2] =
|
||||
{
|
||||
{ AV_CH_FRONT_LEFT, AOUT_CHAN_LEFT },
|
||||
@@ -193,6 +195,7 @@ static const uint32_t channel_mask[][2] = {
|
||||
{AOUT_CHANS_7_1, AV_CH_LAYOUT_7POINT1},
|
||||
{AOUT_CHANS_8_1, AV_CH_LAYOUT_OCTAGONAL},
|
||||
};
|
||||
+#endif
|
||||
|
||||
static const char *const ppsz_enc_options[] = {
|
||||
"keyint", "bframes", "vt", "qmin", "qmax", "codec", "hq",
|
||||
@@ -746,7 +749,7 @@ int InitVideoEnc( vlc_object_t *p_this )
|
||||
p_context->time_base.num = 1;
|
||||
p_context->time_base.den = p_context->sample_rate;
|
||||
p_context->channels = p_enc->fmt_out.audio.i_channels;
|
||||
-#if LIBAVUTIL_VERSION_CHECK( 52, 2, 6, 0, 0)
|
||||
+#if API_CHANNEL_LAYOUT
|
||||
p_context->channel_layout = channel_mask[p_context->channels][1];
|
||||
|
||||
/* Setup Channel ordering for multichannel audio
|
||||
@@ -925,7 +928,9 @@ errmsg:
|
||||
if( p_enc->fmt_out.audio.i_channels > 2 )
|
||||
{
|
||||
p_context->channels = 2;
|
||||
+#if API_CHANNEL_LAYOUT
|
||||
p_context->channel_layout = channel_mask[p_context->channels][1];
|
||||
+#endif
|
||||
|
||||
/* Change fmt_in in order to ask for a channels conversion */
|
||||
p_enc->fmt_in.audio.i_channels =
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 3db6e677680a1a94e473fe9d9fc121af34cdcf2b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
|
||||
Date: Sat, 17 Aug 2024 11:22:33 +0700
|
||||
Subject: [PATCH 07/11] codec: avcodec: fix audio channel_layout conditionals
|
||||
|
||||
---
|
||||
modules/codec/avcodec/audio.c | 23 +++++++++++++++--------
|
||||
1 file changed, 15 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
|
||||
index ad8a40ab4ed..c74757c76ae 100644
|
||||
--- a/modules/codec/avcodec/audio.c
|
||||
+++ b/modules/codec/avcodec/audio.c
|
||||
@@ -41,8 +41,11 @@
|
||||
#include <libavcodec/avcodec.h>
|
||||
#include <libavutil/mem.h>
|
||||
|
||||
-#include <libavutil/channel_layout.h>
|
||||
+#define API_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_CHECK( 52, 2, 6, 0, 100))
|
||||
|
||||
+#if API_CHANNEL_LAYOUT
|
||||
+# include <libavutil/channel_layout.h>
|
||||
+#endif
|
||||
|
||||
/*****************************************************************************
|
||||
* decoder_sys_t : decoder descriptor
|
||||
@@ -598,7 +601,7 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
p_sys->i_previous_channels = p_sys->p_context->ch_layout.nb_channels;
|
||||
p_sys->i_previous_layout = p_sys->p_context->ch_layout.u.mask;
|
||||
}
|
||||
-#else
|
||||
+#elif API_CHANNEL_LAYOUT
|
||||
if( p_sys->i_previous_channels == p_sys->p_context->channels &&
|
||||
p_sys->i_previous_layout == p_sys->p_context->channel_layout )
|
||||
return;
|
||||
@@ -612,15 +615,19 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
|
||||
const unsigned i_order_max = sizeof(pi_channels_map)/sizeof(*pi_channels_map);
|
||||
uint32_t pi_order_src[i_order_max];
|
||||
|
||||
- int i_channels_src = 0;
|
||||
+ int i_channels_src = 0, channel_count;
|
||||
+ uint64_t channel_layout_mask;
|
||||
#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
- uint64_t channel_layout_mask = p_sys->p_context->ch_layout.u.mask;
|
||||
- int channel_count = p_sys->p_context->ch_layout.nb_channels;
|
||||
-#else
|
||||
- uint64_t channel_layout_mask =
|
||||
+ channel_layout_mask = p_sys->p_context->ch_layout.u.mask;
|
||||
+ channel_count = p_sys->p_context->ch_layout.nb_channels;
|
||||
+#elif API_CHANNEL_LAYOUT
|
||||
+ channel_layout_mask =
|
||||
p_sys->p_context->channel_layout ? p_sys->p_context->channel_layout :
|
||||
(uint64_t)av_get_default_channel_layout( p_sys->p_context->channels );
|
||||
- int channel_count = p_sys->p_context->channels;
|
||||
+ channel_count = p_sys->p_context->channels;
|
||||
+#else
|
||||
+ channel_layout_mask = NULL;
|
||||
+ channel_count = p_sys->p_context->channels;
|
||||
#endif
|
||||
|
||||
if( channel_layout_mask )
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From b5bb9bda03a06fc1cfd682dacb571b688b5558d9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
|
||||
Date: Tue, 23 Apr 2024 13:14:53 +0700
|
||||
Subject: [PATCH 08/11] demux/mux: avformat: use ch_layout from ffmpeg 5.1
|
||||
|
||||
merger pick from commit a55ec32ab3760d9edb6f05481cd3a981aa42878d
|
||||
and fixup 195f0c98599b55950c49a62f98d9d3495be310df
|
||||
---
|
||||
modules/demux/avformat/demux.c | 4 ++++
|
||||
modules/demux/avformat/mux.c | 4 ++++
|
||||
2 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c
|
||||
index 3b355bb3fae..830dc0157e2 100644
|
||||
--- a/modules/demux/avformat/demux.c
|
||||
+++ b/modules/demux/avformat/demux.c
|
||||
@@ -401,7 +401,11 @@ int avformat_OpenDemux( vlc_object_t *p_this )
|
||||
es_format_Init( &es_fmt, AUDIO_ES, fcc );
|
||||
es_fmt.i_original_fourcc = CodecTagToFourcc( cp->codec_tag );
|
||||
es_fmt.i_bitrate = cp->bit_rate;
|
||||
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 24, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100
|
||||
+ es_fmt.audio.i_channels = cp->ch_layout.nb_channels;
|
||||
+#else
|
||||
es_fmt.audio.i_channels = cp->channels;
|
||||
+#endif
|
||||
es_fmt.audio.i_rate = cp->sample_rate;
|
||||
es_fmt.audio.i_bitspersample = cp->bits_per_coded_sample;
|
||||
es_fmt.audio.i_blockalign = cp->block_align;
|
||||
diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
|
||||
index c708276954c..8bf8735885f 100644
|
||||
--- a/modules/demux/avformat/mux.c
|
||||
+++ b/modules/demux/avformat/mux.c
|
||||
@@ -267,7 +267,11 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
|
||||
{
|
||||
case AUDIO_ES:
|
||||
codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 24, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100
|
||||
+ av_channel_layout_default( &codecpar->ch_layout, fmt->audio.i_channels );
|
||||
+#else
|
||||
codecpar->channels = fmt->audio.i_channels;
|
||||
+#endif
|
||||
codecpar->sample_rate = fmt->audio.i_rate;
|
||||
stream->time_base = (AVRational){1, codecpar->sample_rate};
|
||||
if (fmt->i_bitrate == 0) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From fa001cda7f6b22843438c39dfc078050bb54c72a Mon Sep 17 00:00:00 2001
|
||||
From: Ilkka Ollakka <ileoo@videolan.org>
|
||||
Date: Tue, 4 Jul 2023 16:53:43 +0300
|
||||
Subject: [PATCH 09/11] avcodec: add handling of new ch_layout in audio encoder
|
||||
|
||||
conditioned to avcodec version where is it added
|
||||
|
||||
(cherry picked from commit c4302ca59dd79efd7208a45a3fcdc44388fd03a8)
|
||||
---
|
||||
modules/codec/avcodec/encoder.c | 15 +++++++++++++--
|
||||
1 file changed, 13 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
|
||||
index 6bd58f5071d..757f93b4684 100644
|
||||
--- a/modules/codec/avcodec/encoder.c
|
||||
+++ b/modules/codec/avcodec/encoder.c
|
||||
@@ -927,11 +927,14 @@ errmsg:
|
||||
|
||||
if( p_enc->fmt_out.audio.i_channels > 2 )
|
||||
{
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ av_channel_layout_default( &p_context->ch_layout, 2 );
|
||||
+#else
|
||||
p_context->channels = 2;
|
||||
-#if API_CHANNEL_LAYOUT
|
||||
+# if API_CHANNEL_LAYOUT
|
||||
p_context->channel_layout = channel_mask[p_context->channels][1];
|
||||
+# endif
|
||||
#endif
|
||||
-
|
||||
/* Change fmt_in in order to ask for a channels conversion */
|
||||
p_enc->fmt_in.audio.i_channels =
|
||||
p_enc->fmt_out.audio.i_channels = 2;
|
||||
@@ -1288,8 +1291,12 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
|
||||
av_frame_unref( p_sys->frame );
|
||||
p_sys->frame->format = p_sys->p_context->sample_fmt;
|
||||
p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay;
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ av_channel_layout_copy(&p_sys->frame->ch_layout, &p_sys->p_context->ch_layout);
|
||||
+#else
|
||||
p_sys->frame->channel_layout = p_sys->p_context->channel_layout;
|
||||
p_sys->frame->channels = p_sys->p_context->channels;
|
||||
+#endif
|
||||
|
||||
p_sys->frame->pts = date_Get( &p_sys->buffer_date ) * p_sys->p_context->time_base.den /
|
||||
CLOCK_FREQ / p_sys->p_context->time_base.num;
|
||||
@@ -1419,8 +1426,12 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
|
||||
p_sys->frame->pts = date_Get( &p_sys->buffer_date ) * p_sys->p_context->time_base.den /
|
||||
CLOCK_FREQ / p_sys->p_context->time_base.num;
|
||||
|
||||
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ av_channel_layout_copy(&p_sys->frame->ch_layout, &p_sys->p_context->ch_layout);
|
||||
+#else
|
||||
p_sys->frame->channel_layout = p_sys->p_context->channel_layout;
|
||||
p_sys->frame->channels = p_sys->p_context->channels;
|
||||
+#endif
|
||||
|
||||
const int in_bytes = p_sys->frame->nb_samples *
|
||||
p_enc->fmt_out.audio.i_channels* p_sys->i_sample_bytes;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From bb62989ccc12866d308e6f38dc1513de9cb1c6da Mon Sep 17 00:00:00 2001
|
||||
From: Ilkka Ollakka <ileoo@videolan.org>
|
||||
Date: Tue, 4 Jul 2023 16:55:28 +0300
|
||||
Subject: [PATCH 10/11] avcodec: use ch_layout for channel layout in audio
|
||||
encoder
|
||||
|
||||
channels and channel_layout has been deprecated in FFMPEG 5.1 and will be removed eventually
|
||||
|
||||
also always create the mapping, as ch_layout is always there
|
||||
|
||||
(cherry picked from commit b73dc8841d999c6be9de718cd2cd3aeb13279792)
|
||||
---
|
||||
modules/codec/avcodec/encoder.c | 53 ++++++++++++++-------------------
|
||||
1 file changed, 22 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
|
||||
index 757f93b4684..ae746c99fc8 100644
|
||||
--- a/modules/codec/avcodec/encoder.c
|
||||
+++ b/modules/codec/avcodec/encoder.c
|
||||
@@ -183,6 +183,7 @@ static const uint64_t pi_channels_map[][2] =
|
||||
{ AV_CH_STEREO_RIGHT, 0 },
|
||||
};
|
||||
|
||||
+# if !LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
static const uint32_t channel_mask[][2] = {
|
||||
{0,0},
|
||||
{AOUT_CHAN_CENTER, AV_CH_LAYOUT_MONO},
|
||||
@@ -195,6 +196,7 @@ static const uint32_t channel_mask[][2] = {
|
||||
{AOUT_CHANS_7_1, AV_CH_LAYOUT_7POINT1},
|
||||
{AOUT_CHANS_8_1, AV_CH_LAYOUT_OCTAGONAL},
|
||||
};
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
static const char *const ppsz_enc_options[] = {
|
||||
@@ -748,49 +750,36 @@ int InitVideoEnc( vlc_object_t *p_this )
|
||||
date_Set( &p_sys->buffer_date, AV_NOPTS_VALUE );
|
||||
p_context->time_base.num = 1;
|
||||
p_context->time_base.den = p_context->sample_rate;
|
||||
- p_context->channels = p_enc->fmt_out.audio.i_channels;
|
||||
-#if API_CHANNEL_LAYOUT
|
||||
- p_context->channel_layout = channel_mask[p_context->channels][1];
|
||||
|
||||
- /* Setup Channel ordering for multichannel audio
|
||||
+ /* Setup Channel ordering for audio
|
||||
* as VLC channel order isn't same as libavcodec expects
|
||||
*/
|
||||
|
||||
p_sys->i_channels_to_reorder = 0;
|
||||
|
||||
- /* Specified order
|
||||
+ /* Create channel layout for avcodec
|
||||
* Copied from audio.c
|
||||
*/
|
||||
- const unsigned i_order_max = 8 * sizeof(p_context->channel_layout);
|
||||
- uint32_t pi_order_dst[AOUT_CHAN_MAX] = { };
|
||||
+#if API_CHANNEL_LAYOUT
|
||||
+ uint32_t pi_order_dst[AOUT_CHAN_MAX] = { 0 };
|
||||
uint32_t order_mask = 0;
|
||||
int i_channels_src = 0;
|
||||
-
|
||||
- if( p_context->channel_layout )
|
||||
- {
|
||||
- msg_Dbg( p_enc, "Creating channel order for reordering");
|
||||
- for( unsigned i = 0; i < sizeof(pi_channels_map)/sizeof(*pi_channels_map); i++ )
|
||||
- {
|
||||
- if( p_context->channel_layout & pi_channels_map[i][0] )
|
||||
- {
|
||||
- msg_Dbg( p_enc, "%d %"PRIx64" mapped to %"PRIx64"", i_channels_src, pi_channels_map[i][0], pi_channels_map[i][1]);
|
||||
- pi_order_dst[i_channels_src++] = pi_channels_map[i][1];
|
||||
- order_mask |= pi_channels_map[i][1];
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
+ msg_Dbg( p_enc, "Creating channel order for reordering");
|
||||
+# if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
|
||||
+ av_channel_layout_default( &p_context->ch_layout, p_enc->fmt_out.audio.i_channels );
|
||||
+ uint64_t channel_mask = p_context->ch_layout.u.mask;
|
||||
+# else
|
||||
+ p_context->channels = p_enc->fmt_out.audio.i_channels;
|
||||
+ p_context->channel_layout = channel_mask[p_context->channels][1];
|
||||
+ uint64_t channel_mask = p_context->channel_layout;
|
||||
+# endif
|
||||
+ for( unsigned i = 0; i < sizeof(pi_channels_map)/sizeof(*pi_channels_map); i++ )
|
||||
{
|
||||
- msg_Dbg( p_enc, "Creating default channel order for reordering");
|
||||
- /* Create default order */
|
||||
- for( unsigned int i = 0; i < __MIN( i_order_max, (unsigned)p_sys->p_context->channels ); i++ )
|
||||
+ if( channel_mask & pi_channels_map[i][0] )
|
||||
{
|
||||
- if( i < sizeof(pi_channels_map)/sizeof(*pi_channels_map) )
|
||||
- {
|
||||
- msg_Dbg( p_enc, "%d channel is %"PRIx64"", i_channels_src, pi_channels_map[i][1]);
|
||||
- pi_order_dst[i_channels_src++] = pi_channels_map[i][1];
|
||||
- order_mask |= pi_channels_map[i][1];
|
||||
- }
|
||||
+ msg_Dbg( p_enc, "%d %"PRIx64" mapped to %"PRIx64"", i_channels_src, pi_channels_map[i][0], pi_channels_map[i][1]);
|
||||
+ pi_order_dst[i_channels_src++] = pi_channels_map[i][1];
|
||||
+ order_mask |= pi_channels_map[i][1];
|
||||
}
|
||||
}
|
||||
if( i_channels_src != p_enc->fmt_out.audio.i_channels )
|
||||
@@ -799,6 +788,8 @@ int InitVideoEnc( vlc_object_t *p_this )
|
||||
p_sys->i_channels_to_reorder =
|
||||
aout_CheckChannelReorder( NULL, pi_order_dst, order_mask,
|
||||
p_sys->pi_reorder_layout );
|
||||
+#else
|
||||
+ p_context->channels = p_enc->fmt_out.audio.i_channels;
|
||||
#endif
|
||||
|
||||
if ( p_enc->fmt_out.i_codec == VLC_CODEC_MP4A )
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From e020f9abb31809584e33d740593d6ae5a190771d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
|
||||
Date: Mon, 12 Aug 2024 19:32:42 +0700
|
||||
Subject: [PATCH 11/11] codec: avcodec: bypass removed define for Intel
|
||||
workarounds
|
||||
|
||||
adapted from cherry picked commit 1280728ad305f00ceba3491ce11bf66107017a6c
|
||||
---
|
||||
modules/codec/avcodec/d3d11va.c | 4 ++++
|
||||
modules/codec/avcodec/dxva2.c | 4 ++++
|
||||
2 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
|
||||
index e1560a9312c..5260628364f 100644
|
||||
--- a/modules/codec/avcodec/d3d11va.c
|
||||
+++ b/modules/codec/avcodec/d3d11va.c
|
||||
@@ -55,6 +55,10 @@
|
||||
#define D3D_DecoderSurface ID3D11VideoDecoderOutputView
|
||||
#include "directx_va.h"
|
||||
|
||||
+#ifndef FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO
|
||||
+# define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 // moved to libavcodec/dxva2_internal.h :/
|
||||
+#endif
|
||||
+
|
||||
static int Open(vlc_va_t *, AVCodecContext *, const AVPixFmtDescriptor *, enum PixelFormat,
|
||||
const es_format_t *, picture_sys_t *p_sys);
|
||||
static void Close(vlc_va_t *, void **);
|
||||
diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c
|
||||
index 2e6809a0541..037ad7d4488 100644
|
||||
--- a/modules/codec/avcodec/dxva2.c
|
||||
+++ b/modules/codec/avcodec/dxva2.c
|
||||
@@ -43,6 +43,10 @@
|
||||
#define D3D_DecoderSurface IDirect3DSurface9
|
||||
#include "directx_va.h"
|
||||
|
||||
+#ifndef FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO
|
||||
+# define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 // moved to libavcodec/dxva2_internal.h :/
|
||||
+#endif
|
||||
+
|
||||
static int Open(vlc_va_t *, AVCodecContext *, const AVPixFmtDescriptor *, enum PixelFormat,
|
||||
const es_format_t *, picture_sys_t *p_sys);
|
||||
static void Close(vlc_va_t *, void **);
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From a761e1c202b632e7865d18fcf11a2b9e285ea9ae Mon Sep 17 00:00:00 2001
|
||||
From: Tristan Matthews <tmatth@videolan.org>
|
||||
Date: Wed, 1 Feb 2023 23:39:36 -0500
|
||||
Subject: [PATCH] opus_header: fix channel mapping family 1 parsing
|
||||
|
||||
Fixes #27808
|
||||
|
||||
(cherry picked from commit 79fa6af0a98921f9d34933761f4fe20ef6c35309)
|
||||
---
|
||||
modules/codec/opus_header.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/codec/opus_header.c b/modules/codec/opus_header.c
|
||||
index 4069a5cf4613..b134b20b625b 100644
|
||||
--- a/modules/codec/opus_header.c
|
||||
+++ b/modules/codec/opus_header.c
|
||||
@@ -205,7 +205,7 @@ int opus_header_parse(const unsigned char *packet, int len, OpusHeader *h)
|
||||
h->nb_coupled = ch;
|
||||
|
||||
/* Multi-stream support */
|
||||
- if(h->channel_mapping == 2)
|
||||
+ if(h->channel_mapping <= 2)
|
||||
{
|
||||
if (h->nb_coupled + h->nb_streams > 255)
|
||||
return 0;
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
From a618e31cf209168ae420e95750734a37359969e1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
|
||||
Date: Sun, 7 Jul 2024 11:14:05 +0200
|
||||
Subject: [PATCH] mux: avformat: fix avio callbacks signature with ffmpeg 6.1
|
||||
|
||||
API signature changes introduced depending on a positive define,
|
||||
then removed later, making it break prior or post removal...
|
||||
|
||||
(adapted from commit 503c04fad9239420be26d67aab4d5f63c53eb4f7)
|
||||
---
|
||||
modules/codec/avcodec/avcommon_compat.h | 3 +++
|
||||
modules/demux/avformat/mux.c | 18 ++++++++++++++++++
|
||||
2 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h
|
||||
index 9d16b3dc47d9..561ad83f99f9 100644
|
||||
--- a/modules/codec/avcodec/avcommon_compat.h
|
||||
+++ b/modules/codec/avcodec/avcommon_compat.h
|
||||
@@ -77,6 +77,9 @@
|
||||
#ifndef FF_MAX_B_FRAMES
|
||||
# define FF_MAX_B_FRAMES 16 // FIXME: remove this
|
||||
#endif
|
||||
+#ifndef FF_API_AVIO_WRITE_NONCONST // removed in ffmpeg 7
|
||||
+# define FF_API_AVIO_WRITE_NONCONST (LIBAVFORMAT_VERSION_MAJOR < 61)
|
||||
+#endif
|
||||
|
||||
#endif /* HAVE_LIBAVCODEC_AVCODEC_H */
|
||||
|
||||
diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
|
||||
index 8bf8735885f5..033a87bdaaad 100644
|
||||
--- a/modules/demux/avformat/mux.c
|
||||
+++ b/modules/demux/avformat/mux.c
|
||||
@@ -74,11 +74,20 @@ static int AddStream( sout_mux_t *, sout_input_t * );
|
||||
static void DelStream( sout_mux_t *, sout_input_t * );
|
||||
static int Mux ( sout_mux_t * );
|
||||
|
||||
+#if FF_API_AVIO_WRITE_NONCONST
|
||||
static int IOWrite( void *opaque, uint8_t *buf, int buf_size );
|
||||
+#else
|
||||
+static int IOWrite( void *opaque, const uint8_t *buf, int buf_size );
|
||||
+#endif
|
||||
static int64_t IOSeek( void *opaque, int64_t offset, int whence );
|
||||
#if LIBAVFORMAT_VERSION_CHECK( 57, 7, 0, 40, 100 )
|
||||
+# if FF_API_AVIO_WRITE_NONCONST
|
||||
static int IOWriteTyped(void *opaque, uint8_t *buf, int buf_size,
|
||||
enum AVIODataMarkerType type, int64_t time);
|
||||
+# else
|
||||
+int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,
|
||||
+ enum AVIODataMarkerType type, int64_t time);
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -411,8 +420,13 @@ static int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input )
|
||||
}
|
||||
|
||||
#if LIBAVFORMAT_VERSION_CHECK( 57, 7, 0, 40, 100 )
|
||||
+# if FF_API_AVIO_WRITE_NONCONST
|
||||
int IOWriteTyped(void *opaque, uint8_t *buf, int buf_size,
|
||||
enum AVIODataMarkerType type, int64_t time)
|
||||
+# else
|
||||
+int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,
|
||||
+ enum AVIODataMarkerType type, int64_t time)
|
||||
+# endif
|
||||
{
|
||||
VLC_UNUSED(time);
|
||||
|
||||
@@ -512,7 +526,11 @@ static int Control( sout_mux_t *p_mux, int i_query, va_list args )
|
||||
/*****************************************************************************
|
||||
* I/O wrappers for libavformat
|
||||
*****************************************************************************/
|
||||
+#if FF_API_AVIO_WRITE_NONCONST
|
||||
static int IOWrite( void *opaque, uint8_t *buf, int buf_size )
|
||||
+#else
|
||||
+static int IOWrite( void *opaque, const uint8_t *buf, int buf_size )
|
||||
+#endif
|
||||
{
|
||||
sout_mux_t *p_mux = opaque;
|
||||
sout_mux_sys_t *p_sys = p_mux->p_sys;
|
||||
--
|
||||
GitLab
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,46 @@
|
||||
From a945944c2d50cacfacdd5b16d4ea5e7b4766a9fc Mon Sep 17 00:00:00 2001
|
||||
From: Steve Lhomme <robux4@ycbcr.xyz>
|
||||
Date: Mon, 16 Dec 2024 09:28:55 +0100
|
||||
Subject: [PATCH] nfs: fix libnfs API v2 support
|
||||
|
||||
Introduced in libnfs 6.0.0.
|
||||
|
||||
Co-authored-by: ronnie sahlberg <ronniesahlberg@gmail.com>
|
||||
Co-authored-by: Thomas Guillem <thomas@gllm.fr>
|
||||
---
|
||||
modules/access/nfs.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/access/nfs.c b/modules/access/nfs.c
|
||||
index f164cda86499..3510c3fe1f14 100644
|
||||
--- a/modules/access/nfs.c
|
||||
+++ b/modules/access/nfs.c
|
||||
@@ -188,7 +188,8 @@ nfs_read_cb(int i_status, struct nfs_context *p_nfs, void *p_data,
|
||||
else
|
||||
{
|
||||
p_sys->res.read.i_len = i_status;
|
||||
- memcpy(p_sys->res.read.p_buf, p_data, i_status);
|
||||
+ if (p_sys->res.read.p_buf != NULL && p_data != NULL)
|
||||
+ memcpy(p_sys->res.read.p_buf, p_data, i_status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,9 +209,15 @@ FileRead(stream_t *p_access, void *p_buf, size_t i_len)
|
||||
return 0;
|
||||
|
||||
p_sys->res.read.i_len = 0;
|
||||
+#ifdef LIBNFS_API_V2
|
||||
+ p_sys->res.read.p_buf = NULL;
|
||||
+ if (nfs_read_async(p_sys->p_nfs, p_sys->p_nfsfh, p_buf, i_len, nfs_read_cb,
|
||||
+ p_access) < 0)
|
||||
+#else
|
||||
p_sys->res.read.p_buf = p_buf;
|
||||
if (nfs_read_async(p_sys->p_nfs, p_sys->p_nfsfh, i_len, nfs_read_cb,
|
||||
p_access) < 0)
|
||||
+#endif
|
||||
{
|
||||
msg_Err(p_access, "nfs_read_async failed");
|
||||
return 0;
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
From ba5dc03aecc1d96f81b76838f845ebde7348cf62 Mon Sep 17 00:00:00 2001
|
||||
From: David Rosca <nowrep@gmail.com>
|
||||
Date: Fri, 20 Dec 2024 20:24:36 +0100
|
||||
Subject: [PATCH] avcodec: vaapi: Support VAAPI with latest FFmpeg
|
||||
|
||||
---
|
||||
configure.ac | 20 +------------
|
||||
modules/codec/Makefile.am | 2 +-
|
||||
modules/codec/avcodec/avcommon_compat.h | 3 ++
|
||||
modules/codec/avcodec/vaapi.c | 38 +++++++++++++++++++++++--
|
||||
4 files changed, 41 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 00afb063c455..089339e10e0b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2550,25 +2550,7 @@ AM_CONDITIONAL([HAVE_VAAPI], [test "${have_vaapi}" = "yes"])
|
||||
AM_CONDITIONAL([HAVE_VAAPI_DRM], [test "${have_vaapi_drm}" = "yes"])
|
||||
AM_CONDITIONAL([HAVE_VAAPI_X11], [test "${have_vaapi_x11}" = "yes"])
|
||||
AM_CONDITIONAL([HAVE_VAAPI_WL], [test "${have_vaapi_wl}" = "yes"])
|
||||
-
|
||||
-have_avcodec_vaapi="no"
|
||||
-AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [
|
||||
- VLC_SAVE_FLAGS
|
||||
- CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
|
||||
- CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
|
||||
- AC_CHECK_HEADERS([libavcodec/vaapi.h], [
|
||||
- AC_MSG_NOTICE([VA API acceleration activated])
|
||||
- have_avcodec_vaapi="yes"
|
||||
- ],[
|
||||
- AS_IF([test -n "${enable_libva}"], [
|
||||
- AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
|
||||
- ], [
|
||||
- AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
|
||||
- ])
|
||||
- ])
|
||||
- VLC_RESTORE_FLAGS
|
||||
-])
|
||||
-AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
|
||||
+AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"])
|
||||
|
||||
dnl
|
||||
dnl dxva2 needs avcodec
|
||||
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
|
||||
index 6d9465fdaef9..dd04391c1bf7 100644
|
||||
--- a/modules/codec/Makefile.am
|
||||
+++ b/modules/codec/Makefile.am
|
||||
@@ -416,7 +416,7 @@ libvaapi_plugin_la_SOURCES = \
|
||||
codec/avcodec/vaapi.c hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
|
||||
libvaapi_plugin_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
libvaapi_plugin_la_CFLAGS = $(AM_CFLAGS) $(AVCODEC_CFLAGS)
|
||||
-libvaapi_plugin_la_LIBADD = $(LIBVA_LIBS)
|
||||
+libvaapi_plugin_la_LIBADD = $(LIBVA_LIBS) $(AVCODEC_LIBS)
|
||||
if HAVE_AVCODEC_VAAPI
|
||||
if HAVE_VAAPI_DRM
|
||||
codec_LTLIBRARIES += libvaapi_drm_plugin.la
|
||||
diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h
|
||||
index ac02c06d2339..8ab6910f3250 100644
|
||||
--- a/modules/codec/avcodec/avcommon_compat.h
|
||||
+++ b/modules/codec/avcodec/avcommon_compat.h
|
||||
@@ -84,6 +84,9 @@
|
||||
#ifndef FF_API_AVIO_WRITE_NONCONST // removed in ffmpeg 7
|
||||
# define FF_API_AVIO_WRITE_NONCONST (LIBAVFORMAT_VERSION_MAJOR < 61)
|
||||
#endif
|
||||
+#ifndef FF_API_STRUCT_VAAPI_CONTEXT
|
||||
+# define FF_API_STRUCT_VAAPI_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
+#endif
|
||||
|
||||
#endif /* HAVE_LIBAVCODEC_AVCODEC_H */
|
||||
|
||||
diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
|
||||
index c83269e43f30..e203baaf9ee2 100644
|
||||
--- a/modules/codec/avcodec/vaapi.c
|
||||
+++ b/modules/codec/avcodec/vaapi.c
|
||||
@@ -42,12 +42,25 @@
|
||||
# include <va/va_drm.h>
|
||||
#endif
|
||||
#include <libavcodec/avcodec.h>
|
||||
+#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
#include <libavcodec/vaapi.h>
|
||||
+#else
|
||||
+#include <libavutil/hwcontext_vaapi.h>
|
||||
+#endif
|
||||
|
||||
#include "avcodec.h"
|
||||
#include "va.h"
|
||||
#include "../../hw/vaapi/vlc_vaapi.h"
|
||||
|
||||
+#if !FF_API_STRUCT_VAAPI_CONTEXT
|
||||
+struct vaapi_context
|
||||
+{
|
||||
+ VADisplay display;
|
||||
+ VAConfigID config_id;
|
||||
+ VAContextID context_id;
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
struct vlc_va_sys_t
|
||||
{
|
||||
struct vlc_vaapi_instance *va_inst;
|
||||
@@ -145,8 +158,10 @@ static void Delete(vlc_va_t *va, void **hwctx)
|
||||
|
||||
(void) hwctx;
|
||||
|
||||
- vlc_vaapi_DestroyContext(o, sys->hw_ctx.display, sys->hw_ctx.context_id);
|
||||
- vlc_vaapi_DestroyConfig(o, sys->hw_ctx.display, sys->hw_ctx.config_id);
|
||||
+ if (sys->hw_ctx.context_id != VA_INVALID_ID)
|
||||
+ vlc_vaapi_DestroyContext(o, sys->hw_ctx.display, sys->hw_ctx.context_id);
|
||||
+ if (sys->hw_ctx.config_id != VA_INVALID_ID)
|
||||
+ vlc_vaapi_DestroyConfig(o, sys->hw_ctx.display, sys->hw_ctx.config_id);
|
||||
vlc_vaapi_ReleaseInstance(sys->va_inst);
|
||||
free(sys);
|
||||
}
|
||||
@@ -196,6 +211,7 @@ static int Create(vlc_va_t *va, AVCodecContext *ctx, const AVPixFmtDescriptor *d
|
||||
sys->hw_ctx.config_id = VA_INVALID_ID;
|
||||
sys->hw_ctx.context_id = VA_INVALID_ID;
|
||||
|
||||
+#if FF_API_STRUCT_VAAPI_CONTEXT
|
||||
sys->hw_ctx.config_id =
|
||||
vlc_vaapi_CreateConfigChecked(o, sys->hw_ctx.display, i_profile,
|
||||
VAEntrypointVLD, i_vlc_chroma);
|
||||
@@ -211,6 +227,24 @@ static int Create(vlc_va_t *va, AVCodecContext *ctx, const AVPixFmtDescriptor *d
|
||||
goto error;
|
||||
|
||||
ctx->hwaccel_context = &sys->hw_ctx;
|
||||
+#else
|
||||
+ AVBufferRef *hwdev_ref = av_hwdevice_ctx_alloc(AV_HWDEVICE_TYPE_VAAPI);
|
||||
+ if (hwdev_ref == NULL)
|
||||
+ goto error;
|
||||
+
|
||||
+ AVHWDeviceContext *hwdev_ctx = (void *) hwdev_ref->data;
|
||||
+ AVVAAPIDeviceContext *vadev_ctx = hwdev_ctx->hwctx;
|
||||
+ vadev_ctx->display = va_dpy;
|
||||
+
|
||||
+ if (av_hwdevice_ctx_init(hwdev_ref) < 0)
|
||||
+ {
|
||||
+ av_buffer_unref(&hwdev_ref);
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
+ ctx->hw_device_ctx = hwdev_ref;
|
||||
+#endif
|
||||
+
|
||||
va->sys = sys;
|
||||
va->description = vaQueryVendorString(sys->hw_ctx.display);
|
||||
va->get = Get;
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "vlc.spec"
|
||||
extra_repos = ["https://repos.fyralabs.com/terrarawhide-multimedia"]
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
subrepo = "multimedia"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
diff --git a/share/vlc.appdata.xml.in.in b/share/vlc.appdata.xml.in.in
|
||||
index cc9c39a..3c55620 100644
|
||||
--- a/share/vlc.appdata.xml.in.in
|
||||
+++ b/share/vlc.appdata.xml.in.in
|
||||
@@ -18,7 +18,7 @@
|
||||
<url type="bugtracker">https://trac.videolan.org/vlc/</url>
|
||||
<url type="donation">https://www.videolan.org/contribute.html</url>
|
||||
<releases>
|
||||
- <release version="@VERSION@" />
|
||||
+ <release version="@VERSION@" date="@DATE@" />
|
||||
</releases>
|
||||
<provides>
|
||||
<library>libvlc.so.5</library>
|
||||
@@ -38,4 +38,5 @@
|
||||
<image>http://images.videolan.org/vlc/screenshots/2.0.0/vlc-2.0-gnome3-debian.jpg</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
+ <content_rating type="oars-1.1" />
|
||||
</component>
|
||||
@@ -0,0 +1,84 @@
|
||||
From 6ea9b13fe82fae2b25b7371c6c36d6296db28ccb Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <antonio.larrosa@gmail.com>
|
||||
Date: Thu, 14 Feb 2019 10:09:30 +0100
|
||||
Subject: [PATCH] Fix building vlc with libfdk-aac v2
|
||||
|
||||
When flushing the encoder, we now need to provide non-null buffer
|
||||
parameters for everything, even if they are unused.
|
||||
|
||||
The encoderDelay parameter has been replaced by two, nDelay and
|
||||
nDelayCore.
|
||||
|
||||
This is based on:
|
||||
https://git.libav.org/?p=libav.git;a=commitdiff_plain;h=141c960e21d2860e354f9b90df136184dd00a9a8;hp=c8bca9fe466f810fd484e2c6db7ef7bc83b5a943
|
||||
|
||||
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
|
||||
---
|
||||
modules/codec/fdkaac.c | 27 +++++++++++++++++++++------
|
||||
1 file changed, 21 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/fdkaac.c b/modules/codec/fdkaac.c
|
||||
index e0b3088c4a..3ac7b756a3 100644
|
||||
--- a/modules/codec/fdkaac.c
|
||||
+++ b/modules/codec/fdkaac.c
|
||||
@@ -92,6 +92,11 @@ static void CloseEncoder(vlc_object_t *);
|
||||
#define SIGNALING_COMPATIBLE 1
|
||||
#define SIGNALING_HIERARCHICAL 2
|
||||
|
||||
+#define FDKENC_VER_AT_LEAST(vl0, vl1) \
|
||||
+ (defined(AACENCODER_LIB_VL0) && \
|
||||
+ ((AACENCODER_LIB_VL0 > vl0) || \
|
||||
+ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1)))
|
||||
+
|
||||
static const int pi_aot_values[] = { PROFILE_AAC_LC, PROFILE_AAC_HE, PROFILE_AAC_HE_v2, PROFILE_AAC_LD, PROFILE_AAC_ELD };
|
||||
static const char *const ppsz_aot_descriptions[] =
|
||||
{ N_("AAC-LC"), N_("HE-AAC"), N_("HE-AAC-v2"), N_("AAC-LD"), N_("AAC-ELD") };
|
||||
@@ -288,7 +293,11 @@ static int OpenEncoder(vlc_object_t *p_this)
|
||||
p_sys->i_maxoutputsize = 768*p_enc->fmt_in.audio.i_channels;
|
||||
p_enc->fmt_in.audio.i_bitspersample = 16;
|
||||
p_sys->i_frame_size = info.frameLength;
|
||||
+#if FDKENC_VER_AT_LEAST(4, 0)
|
||||
+ p_sys->i_encoderdelay = info.nDelay;
|
||||
+#else
|
||||
p_sys->i_encoderdelay = info.encoderDelay;
|
||||
+#endif
|
||||
|
||||
p_enc->fmt_out.i_extra = info.confSize;
|
||||
if (p_enc->fmt_out.i_extra) {
|
||||
@@ -351,21 +360,27 @@ static block_t *EncodeAudio(encoder_t *p_enc, block_t *p_aout_buf)
|
||||
int out_identifier = OUT_BITSTREAM_DATA;
|
||||
int out_size, out_elem_size;
|
||||
void *in_ptr, *out_ptr;
|
||||
+ uint8_t dummy_buf[1];
|
||||
|
||||
if (unlikely(i_samples == 0)) {
|
||||
// this forces the encoder to purge whatever is left in the internal buffer
|
||||
+ /* Must be a non-null pointer, even if it's a dummy. We could use
|
||||
+ * the address of anything else on the stack as well. */
|
||||
+ in_ptr = dummy_buf;
|
||||
+ in_size = 0;
|
||||
+
|
||||
in_args.numInSamples = -1;
|
||||
} else {
|
||||
in_ptr = p_buffer + (i_samples - i_samples_left)*p_enc->fmt_in.audio.i_channels;
|
||||
in_size = 2*p_enc->fmt_in.audio.i_channels*i_samples_left;
|
||||
- in_elem_size = 2;
|
||||
in_args.numInSamples = p_enc->fmt_in.audio.i_channels*i_samples_left;
|
||||
- in_buf.numBufs = 1;
|
||||
- in_buf.bufs = &in_ptr;
|
||||
- in_buf.bufferIdentifiers = &in_identifier;
|
||||
- in_buf.bufSizes = &in_size;
|
||||
- in_buf.bufElSizes = &in_elem_size;
|
||||
}
|
||||
+ in_elem_size = 2;
|
||||
+ in_buf.numBufs = 1;
|
||||
+ in_buf.bufs = &in_ptr;
|
||||
+ in_buf.bufferIdentifiers = &in_identifier;
|
||||
+ in_buf.bufSizes = &in_size;
|
||||
+ in_buf.bufElSizes = &in_elem_size;
|
||||
block_t *p_block;
|
||||
p_block = block_Alloc(p_sys->i_maxoutputsize);
|
||||
p_block->i_buffer = p_sys->i_maxoutputsize;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,239 @@
|
||||
From 1c27f57498b7e0f52acc7b4520c4172a2462632d Mon Sep 17 00:00:00 2001
|
||||
From: Juliane de Sartiges <jill@videolabs.io>
|
||||
Date: Wed, 27 Jul 2022 09:32:25 +0200
|
||||
Subject: [PATCH] freerdp: update to freerdp2 api
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
modules/access/rdp.c | 85 ++++++++++++++++++++------------------------
|
||||
2 files changed, 40 insertions(+), 47 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b454198157..cb23a9b2ab 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2094,7 +2094,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
|
||||
|
||||
dnl RDP/Remote Desktop access module
|
||||
dnl
|
||||
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
|
||||
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 2.0.0], (RDP/Remote Desktop client support) )
|
||||
|
||||
dnl
|
||||
dnl Real RTSP plugin
|
||||
diff --git a/modules/access/rdp.c b/modules/access/rdp.c
|
||||
index 0c39663c64..04ae005938 100644
|
||||
--- a/modules/access/rdp.c
|
||||
+++ b/modules/access/rdp.c
|
||||
@@ -45,18 +45,6 @@
|
||||
# include <freerdp/version.h>
|
||||
#endif
|
||||
|
||||
-#if !defined(FREERDP_VERSION_MAJOR) || \
|
||||
- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
|
||||
-# define SoftwareGdi sw_gdi
|
||||
-# define Fullscreen fullscreen
|
||||
-# define ServerHostname hostname
|
||||
-# define Username username
|
||||
-# define Password password
|
||||
-# define ServerPort port
|
||||
-# define EncryptionMethods encryption
|
||||
-# define ContextSize context_size
|
||||
-#endif
|
||||
-
|
||||
#include <errno.h>
|
||||
#ifdef HAVE_POLL
|
||||
# include <poll.h>
|
||||
@@ -75,6 +63,8 @@
|
||||
|
||||
#define CFG_PREFIX "rdp-"
|
||||
|
||||
+#define FREERDP_PIXEL_BPP(_format) (_format >> 24)
|
||||
+
|
||||
/*****************************************************************************
|
||||
* Module descriptor
|
||||
*****************************************************************************/
|
||||
@@ -139,11 +129,12 @@ typedef struct vlcrdp_context_t vlcrdp_context_t;
|
||||
|
||||
/* updates handlers */
|
||||
|
||||
-static void desktopResizeHandler( rdpContext *p_context )
|
||||
+static BOOL desktopResizeHandler( rdpContext *p_context )
|
||||
{
|
||||
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
|
||||
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
|
||||
rdpGdi *p_gdi = p_context->gdi;
|
||||
+ int i_colordepth = FREERDP_PIXEL_BPP( p_gdi->dstFormat );
|
||||
|
||||
if ( p_sys->es )
|
||||
{
|
||||
@@ -151,11 +142,13 @@ static void desktopResizeHandler( rdpContext *p_context )
|
||||
p_sys->es = NULL;
|
||||
}
|
||||
|
||||
- /* Now init and fill es format */
|
||||
vlc_fourcc_t i_chroma;
|
||||
- switch( p_gdi->bytesPerPixel )
|
||||
+ /* Now init and fill es format */
|
||||
+ switch ( i_colordepth )
|
||||
{
|
||||
default:
|
||||
+ msg_Dbg( p_vlccontext->p_demux, "invalid color depth %d", i_colordepth);
|
||||
+ /* fallthrough */
|
||||
case 16:
|
||||
i_chroma = VLC_CODEC_RGB16;
|
||||
break;
|
||||
@@ -163,7 +156,7 @@ static void desktopResizeHandler( rdpContext *p_context )
|
||||
i_chroma = VLC_CODEC_RGB24;
|
||||
break;
|
||||
case 32:
|
||||
- i_chroma = VLC_CODEC_RGB32;
|
||||
+ i_chroma = VLC_CODEC_ARGB;
|
||||
break;
|
||||
}
|
||||
es_format_t fmt;
|
||||
@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context )
|
||||
fmt.video.i_height = p_gdi->height;
|
||||
fmt.video.i_frame_rate_base = 1000;
|
||||
fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
|
||||
- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
|
||||
+ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * (i_colordepth >> 3);
|
||||
|
||||
if ( p_sys->p_block )
|
||||
p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
|
||||
@@ -184,20 +177,21 @@ static void desktopResizeHandler( rdpContext *p_context )
|
||||
p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
|
||||
|
||||
p_sys->es = es_out_Add( p_vlccontext->p_demux->out, &fmt );
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
-static void beginPaintHandler( rdpContext *p_context )
|
||||
+static BOOL beginPaintHandler( rdpContext *p_context )
|
||||
{
|
||||
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
|
||||
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
|
||||
rdpGdi *p_gdi = p_context->gdi;
|
||||
- p_gdi->primary->hdc->hwnd->invalid->null = 1;
|
||||
- p_gdi->primary->hdc->hwnd->ninvalid = 0;
|
||||
+ p_gdi->primary->hdc->hwnd->invalid->null = TRUE;
|
||||
if ( ! p_sys->p_block && p_sys->i_framebuffersize )
|
||||
p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
-static void endPaintHandler( rdpContext *p_context )
|
||||
+static BOOL endPaintHandler( rdpContext *p_context )
|
||||
{
|
||||
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
|
||||
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
|
||||
@@ -208,11 +202,12 @@ static void endPaintHandler( rdpContext *p_context )
|
||||
p_sys->p_block->i_buffer = p_sys->i_framebuffersize;
|
||||
memcpy( p_sys->p_block->p_buffer, p_gdi->primary_buffer, p_sys->p_block->i_buffer );
|
||||
}
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
/* instance handlers */
|
||||
|
||||
-static bool preConnectHandler( freerdp *p_instance )
|
||||
+static BOOL preConnectHandler( freerdp *p_instance )
|
||||
{
|
||||
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
|
||||
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
|
||||
@@ -229,49 +224,54 @@ static bool preConnectHandler( freerdp *p_instance )
|
||||
p_instance->settings->EncryptionMethods =
|
||||
var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" );
|
||||
|
||||
- return true;
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
-static bool postConnectHandler( freerdp *p_instance )
|
||||
+static BOOL postConnectHandler( freerdp *p_instance )
|
||||
{
|
||||
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
|
||||
|
||||
msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
|
||||
-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
|
||||
p_instance->settings->DesktopWidth,
|
||||
p_instance->settings->DesktopHeight,
|
||||
p_instance->settings->ColorDepth
|
||||
-#else
|
||||
- p_instance->settings->width,
|
||||
- p_instance->settings->height,
|
||||
- p_instance->settings->color_depth
|
||||
-#endif
|
||||
);
|
||||
|
||||
p_instance->update->DesktopResize = desktopResizeHandler;
|
||||
p_instance->update->BeginPaint = beginPaintHandler;
|
||||
p_instance->update->EndPaint = endPaintHandler;
|
||||
+ UINT32 format;
|
||||
+ switch ( p_instance->settings->ColorDepth )
|
||||
+ {
|
||||
+ default:
|
||||
+ msg_Dbg( p_vlccontext->p_demux, "no valid pixel format found for color depth %d bpp", p_instance->settings->ColorDepth);
|
||||
+ /* fallthrough */
|
||||
+ case 16:
|
||||
+ format = PIXEL_FORMAT_RGB16;
|
||||
+ break;
|
||||
+ case 24:
|
||||
+ format = PIXEL_FORMAT_RGB24;
|
||||
+ break;
|
||||
+ case 32:
|
||||
+ format = PIXEL_FORMAT_ARGB32;
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
gdi_init( p_instance,
|
||||
- CLRBUF_16BPP |
|
||||
-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
|
||||
- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
|
||||
- CLRBUF_24BPP |
|
||||
-#endif
|
||||
- CLRBUF_32BPP, NULL );
|
||||
+ format );
|
||||
|
||||
desktopResizeHandler( p_instance->context );
|
||||
- return true;
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
-static bool authenticateHandler( freerdp *p_instance, char** ppsz_username,
|
||||
+static BOOL authenticateHandler( freerdp *p_instance, char** ppsz_username,
|
||||
char** ppsz_password, char** ppsz_domain )
|
||||
{
|
||||
VLC_UNUSED(ppsz_domain);
|
||||
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
|
||||
*ppsz_username = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" );
|
||||
*ppsz_password = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "password" );
|
||||
- return true;
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -432,10 +432,6 @@ static int Open( vlc_object_t *p_this )
|
||||
if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
|
||||
p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
|
||||
|
||||
-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
|
||||
- freerdp_channels_global_init();
|
||||
-#endif
|
||||
-
|
||||
p_sys->p_instance = freerdp_new();
|
||||
if ( !p_sys->p_instance )
|
||||
{
|
||||
@@ -512,9 +508,6 @@ static void Close( vlc_object_t *p_this )
|
||||
|
||||
freerdp_disconnect( p_sys->p_instance );
|
||||
freerdp_free( p_sys->p_instance );
|
||||
-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
|
||||
- freerdp_channels_global_uninit();
|
||||
-#endif
|
||||
|
||||
if ( p_sys->p_block )
|
||||
block_Release( p_sys->p_block );
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 78b9ce2..b9c1563 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -910,9 +910,9 @@ AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
|
||||
|
||||
|
||||
dnl
|
||||
-dnl Domain name i18n support via GNU libidn
|
||||
+dnl Domain name i18n support via GNU libidn2
|
||||
dnl
|
||||
-PKG_CHECK_MODULES([IDN], [libidn], [
|
||||
+PKG_CHECK_MODULES([IDN], [libidn2], [
|
||||
have_libidn="yes"
|
||||
AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
|
||||
], [
|
||||
diff --git a/src/text/url.c b/src/text/url.c
|
||||
index 2eb4b8d..467b7f3 100644
|
||||
--- a/src/text/url.c
|
||||
+++ b/src/text/url.c
|
||||
@@ -873,7 +873,7 @@ char *vlc_uri_fixup(const char *str)
|
||||
}
|
||||
|
||||
#if defined (HAVE_IDN)
|
||||
-# include <idna.h>
|
||||
+# include <idn2.h>
|
||||
#elif defined (_WIN32)
|
||||
# include <windows.h>
|
||||
# include <vlc_charset.h>
|
||||
@@ -914,16 +914,13 @@ static char *vlc_idna_to_ascii (const char *idn)
|
||||
#if defined (HAVE_IDN)
|
||||
char *adn;
|
||||
|
||||
- switch (idna_to_ascii_8z(idn, &adn, IDNA_ALLOW_UNASSIGNED))
|
||||
+ switch (idn2_to_ascii_8z(idn, &adn, IDN2_ALLOW_UNASSIGNED|IDN2_NFC_INPUT|IDN2_NONTRANSITIONAL))
|
||||
{
|
||||
- case IDNA_SUCCESS:
|
||||
+ case IDN2_OK:
|
||||
return adn;
|
||||
- case IDNA_MALLOC_ERROR:
|
||||
+ case IDN2_MALLOC:
|
||||
errno = ENOMEM;
|
||||
return NULL;
|
||||
- case IDNA_DLOPEN_ERROR:
|
||||
- errno = ENOSYS;
|
||||
- return NULL;
|
||||
default:
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
@@ -0,0 +1,17 @@
|
||||
diff -up vlc-3.0.21/modules/access/live555.cpp.orig vlc-3.0.21/modules/access/live555.cpp
|
||||
--- vlc-3.0.21/modules/access/live555.cpp.orig 2024-06-05 17:56:07.000000000 +0200
|
||||
+++ vlc-3.0.21/modules/access/live555.cpp 2024-12-06 11:41:08.633053039 +0100
|
||||
@@ -236,8 +236,13 @@ struct demux_sys_t
|
||||
bool b_no_data; /* if we never received any data */
|
||||
int i_no_data_ti; /* consecutive number of TaskInterrupt */
|
||||
|
||||
+#if LIVEMEDIA_LIBRARY_VERSION_INT >= 1732752000
|
||||
+ std::atomic_char event_rtsp;
|
||||
+ std::atomic_char event_data;
|
||||
+#else
|
||||
char event_rtsp;
|
||||
char event_data;
|
||||
+#endif
|
||||
|
||||
bool b_get_param; /* Does the server support GET_PARAMETER */
|
||||
bool b_paused; /* Are we paused? */
|
||||
@@ -0,0 +1,11 @@
|
||||
--- ./share/lua/intf/modules/httprequests.lua.Orig 2023-08-05 06:03:51.000000000 -0400
|
||||
+++ ./share/lua/intf/modules/httprequests.lua 2024-05-28 14:02:41.569002601 -0400
|
||||
@@ -34,7 +34,7 @@
|
||||
what = common.us_tonumber(what)
|
||||
end
|
||||
if type(what) == "number" then
|
||||
- return math.floor(what*math.pow(10,precision)+0.5) / math.pow(10,precision)
|
||||
+ return math.floor(what*(10^precision)+0.5) / (10^precision)
|
||||
end
|
||||
return nil
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
%vlc_plugindir %{_libdir}/vlc/plugins
|
||||
@@ -0,0 +1,48 @@
|
||||
Backport of https://code.videolan.org/videolan/vlc/-/merge_requests/3843
|
||||
"Switch from deprecated MFX to VPL" for 3.0, as direct use of intel-mediasdk
|
||||
is deprecated in favour of oneVPL.
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2923,9 +2923,9 @@ fi
|
||||
|
||||
|
||||
dnl
|
||||
-dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder
|
||||
+dnl Intel oneAPI Video Processing Library
|
||||
dnl
|
||||
-PKG_ENABLE_MODULES_VLC([MFX], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto])
|
||||
+PKG_ENABLE_MODULES_VLC([VPL], [qsv], [vpl], [Intel oneAPI Video Processing Library encoder], [auto])
|
||||
|
||||
dnl
|
||||
dnl libfluidsynth (MIDI synthetizer) plugin
|
||||
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
|
||||
--- a/modules/codec/Makefile.am
|
||||
+++ b/modules/codec/Makefile.am
|
||||
@@ -610,9 +610,9 @@ codec_LTLIBRARIES += $(LTLIBdav1d)
|
||||
codec_LTLIBRARIES += $(LTLIBcrystalhd)
|
||||
|
||||
libqsv_plugin_la_SOURCES = codec/qsv.c
|
||||
-libqsv_plugin_la_CFLAGS = $(AM_CFLAGS) $(MFX_CFLAGS)
|
||||
+libqsv_plugin_la_CFLAGS = $(AM_CFLAGS) $(VPL_CFLAGS)
|
||||
libqsv_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
|
||||
-libqsv_plugin_la_LIBADD = $(MFX_LIBS)
|
||||
+libqsv_plugin_la_LIBADD = $(VPL_LIBS)
|
||||
EXTRA_LTLIBRARIES += libqsv_plugin.la
|
||||
codec_LTLIBRARIES += $(LTLIBqsv)
|
||||
|
||||
diff --git a/modules/codec/qsv.c b/modules/codec/qsv.c
|
||||
--- a/modules/codec/qsv.c
|
||||
+++ b/modules/codec/qsv.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <vlc_picture.h>
|
||||
#include <vlc_codec.h>
|
||||
|
||||
-#include <mfx/mfxvideo.h>
|
||||
+#include <vpl/mfxvideo.h>
|
||||
|
||||
#define SOUT_CFG_PREFIX "sout-qsv-"
|
||||
|
||||
--
|
||||
GitLab
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(find(`\"name\":\"Linux\",\"latestVersion\":\"([\d.]+)\"`, get(`https://www.videolan.org/vlc/`), 1));
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
Name: vpkedit
|
||||
Version: 5.0.0.3
|
||||
Version: 5.0.0.4
|
||||
Release: 1%?dist
|
||||
Summary: A CLI/GUI tool to create, read, and write several pack file formats
|
||||
License: MIT
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "webapp-manager.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("linuxmint/webapp-manager"));
|
||||
@@ -0,0 +1,70 @@
|
||||
Name: webapp-manager
|
||||
Version: master.lmde7
|
||||
Release: 1%?dist
|
||||
Summary: Web Application Manager
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://github.com/linuxmint/webapp-manager
|
||||
Source: %{url}/archive/refs/tags/%{version}.tar.gz
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: python3-beautifulsoup4
|
||||
Requires: python3-configobj
|
||||
Requires: python3-gobject
|
||||
Requires: python3-pillow
|
||||
Requires: python3-setproctitle
|
||||
Requires: python3-tldextract
|
||||
Requires: xapps
|
||||
|
||||
BuildRequires: gettext
|
||||
BuildRequires: make
|
||||
BuildRequires: python3-devel
|
||||
|
||||
Packager: metcya <metcya@gmail.com>
|
||||
|
||||
%description
|
||||
Launch websites as if they were apps.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version}
|
||||
|
||||
%build
|
||||
%make_build buildmo
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_datadir}/locale
|
||||
cp -r usr/share/locale/* %{buildroot}%{_datadir}/locale
|
||||
install -Dm 755 usr/bin/%{name} -t %{buildroot}%{_bindir}
|
||||
install -Dm 755 usr/lib/%{name}/*.py -t %{buildroot}%{_libdir}/%{name}/
|
||||
install -Dm 644 usr/share/applications/%{name}.desktop -t %{buildroot}%{_datadir}/applications
|
||||
install -Dm 644 usr/share/desktop-directories/webapps-webapps.directory -t %{buildroot}%{_datadir}/desktop-directories/webapps-webapps.directory
|
||||
install -Dm 644 usr/share/glib-2.0/schemas/org.x.%{name}.gschema.xml -t %{buildroot}%{_datadir}/glib-2.0/schemas
|
||||
install -Dm 644 usr/share/icons/hicolor/scalable/apps/webapp-manager.svg -t %{buildroot}%{_scalableiconsdir}
|
||||
install -Dm 644 usr/share/icons/hicolor/scalable/categories/applications-webapps.svg -t %{buildroot}%{_hicolordir}/scalable/categories
|
||||
install -Dm 644 usr/share/%{name}/*.ui -t %{buildroot}%{_datadir}/%{name}
|
||||
install -Dm 644 usr/share/%{name}/firefox/userChrome-with-navbar.css -t %{buildroot}%{_datadir}/%{name}/firefox
|
||||
install -Dm 644 usr/share/%{name}/firefox/profile/{places.sqlite,search.json.mozlz4,user.js} -t %{buildroot}%{_datadir}/%{name}/firefox/profile
|
||||
install -Dm 644 usr/share/%{name}/firefox/profile/chrome/userChrome.css -t %{buildroot}%{_datadir}/%{name}/firefox/profile/chrome
|
||||
install -Dm 644 etc/xdg/menus/applications-merged/webapps.menu -t %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/%{name}
|
||||
%{_libdir}/%{name}/*.py
|
||||
%{_appsdir}/%{name}.desktop
|
||||
%{_datadir}/desktop-directories/webapps-webapps.directory
|
||||
%{_datadir}/glib-2.0/schemas/org.x.%{name}.gschema.xml
|
||||
%{_scalableiconsdir}/%{name}.svg
|
||||
%{_hicolordir}/scalable/categories/applications-webapps.svg
|
||||
%{_datadir}/%{name}/
|
||||
%{_sysconfdir}/xdg/menus/applications-merged/webapps.menu
|
||||
|
||||
%dnl %find_lang does not work because the upstream Makefile does not place them in the right spot.
|
||||
%{_datadir}/locale/*/*/webapp-manager.mo
|
||||
|
||||
%changelog
|
||||
* Mon Dec 22 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Build fixes
|
||||
|
||||
* Fri Dec 19 2025 metcya <metcya@gmail.com>
|
||||
- Port to Terra
|
||||
@@ -1,9 +1,9 @@
|
||||
# Fedora sometimes sources the snapshots under stable versions and just bumps release
|
||||
# For user clarity I have separated these into different packages
|
||||
%global commit 533f41704766765cfb3706fb2aa197acbb05df32
|
||||
%global commit 81a692e2ee6b311367f18a17a9a61a0ef1c0ad18
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 20250102
|
||||
%global commit_date 20251105
|
||||
%global commit_date 20251224
|
||||
|
||||
Name: winetricks-git
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -24,7 +24,7 @@ Packager: Cappy Ishihara <cappy@fyralabs.com>
|
||||
# todo: investigate why
|
||||
#ExclusiveArch: x86_64
|
||||
|
||||
BuildRequires: git-core gcc make
|
||||
BuildRequires: git-core gcc make desktop-file-utils
|
||||
# Required for usocket native module built with node-gyp
|
||||
BuildRequires: python3 gcc-c++
|
||||
|
||||
@@ -90,7 +90,10 @@ install -d -m 0755 %{buildroot}%{_bindir}
|
||||
ln -svf %{_datadir}/youtube-music/youtube-music %{buildroot}%{_bindir}/youtube-music
|
||||
|
||||
# Install desktop file
|
||||
install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/youtube-music.desktop
|
||||
install -D -m 0644 %{SOURCE1} %{buildroot}%{_appsdir}/youtube-music.desktop
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_appsdir}/youtube-music.desktop
|
||||
|
||||
%files
|
||||
%license license
|
||||
@@ -99,10 +102,10 @@ install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/youtube-music
|
||||
%{_bindir}/youtube-music
|
||||
%{_datadir}/youtube-music
|
||||
%{_datadir}/icons/hicolor/*/apps/youtube-music*
|
||||
%{_datadir}/applications/youtube-music.desktop
|
||||
|
||||
|
||||
%{_appsdir}/youtube-music.desktop
|
||||
|
||||
%changelog
|
||||
* Thu Dec 25 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Add %check
|
||||
* Sat Aug 03 2024 Cappy Ishihara <cappy@cappuchino.xyz>
|
||||
- Initial Release
|
||||
|
||||
@@ -3,5 +3,5 @@ Name=CTWM
|
||||
Comment=Claude's Tab Window Manager
|
||||
TryExec=ctwm
|
||||
Exec=ctwm
|
||||
Type=Xsession
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Summary: Lightweight window manager with virtual workspaces
|
||||
Name: ctwm
|
||||
Summary: Lightweight window manager with virtual workspaces
|
||||
Version: 4.1.0
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
URL: https://ctwm.org
|
||||
BuildRequires: libjpeg-turbo-devel libX11-devel libXext-devel libXmu-devel libXpm-devel libXt-devel libXrandr-devel cmake gcc m4
|
||||
BuildRequires: libjpeg-turbo-devel libX11-devel libXext-devel libXmu-devel libXpm-devel libXt-devel libXrandr-devel cmake gcc m4 desktop-file-utils
|
||||
Source0: https://www.ctwm.org/dist/%{name}-%{version}.tar.xz
|
||||
Source1: %{name}.desktop
|
||||
License: MIT
|
||||
Requires: m4
|
||||
Requires: m4
|
||||
# Derived from RPMSphere's packaging
|
||||
|
||||
%description
|
||||
@@ -22,7 +22,10 @@ CTWM is a window manager based on TWM (with virtual workspaces added).
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%{__install} -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/%{name}.desktop
|
||||
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/%{name}.desktop
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/xsessions/%{name}.desktop
|
||||
|
||||
%files
|
||||
%doc README.md CHANGES.md
|
||||
@@ -35,6 +38,8 @@ CTWM is a window manager based on TWM (with virtual workspaces added).
|
||||
%{_datadir}/examples/ctwm/system.ctwmrc
|
||||
|
||||
%changelog
|
||||
* Wed Dec 24 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Add %check section
|
||||
* Tue Dec 17 2024 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Add .desktop and .rhai file, fix dependancies, and switch to .tar.xz source (smaller download)
|
||||
* Thu Jun 27 2024 Jaiden Riordan <jade@fyralabs.com> - 4.1.0
|
||||
@@ -52,4 +57,3 @@ CTWM is a window manager based on TWM (with virtual workspaces added).
|
||||
* Tue May 3 2005 Richard Levitte <richard@levitte.org>
|
||||
- Received the original from Johan Vromans. Adjusted it to become
|
||||
an official .spec file.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||
%global major_version 49
|
||||
%global minor_version 1
|
||||
%global minor_version 2
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global portal_helper 0
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
%global realname hyprland-protocols
|
||||
%global ver 0.7.0
|
||||
%global commit bd153e76f751f150a09328dbdeb5e4fab9d23622
|
||||
%global commit_date 20251005
|
||||
%global commit 3f3860b869014c00e8b9e0528c7b4ddc335c21ab
|
||||
%global commit_date 20251209
|
||||
%global shortcommit %{sub %commit 1 7}
|
||||
|
||||
Name: %realname.nightly
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#? https://src.fedoraproject.org/rpms/hyprutils/blob/rawhide/f/hyprutils.spec
|
||||
|
||||
%global realname hyprutils
|
||||
%global ver 0.10.4
|
||||
%global ver 0.11.0
|
||||
|
||||
%global commit 0168583075baffa083032ed13a8bea8ea12f281a
|
||||
%global commit_date 20251125
|
||||
%global commit 51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9
|
||||
%global commit_date 20251221
|
||||
%global shortcommit %{sub %commit 1 7}
|
||||
|
||||
Name: %realname.nightly
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
From 0cc287336b32e601e70b26d60d9335abde538a18 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Williamson <awilliam@redhat.com>
|
||||
Date: Mon, 16 Oct 2023 17:57:16 -0700
|
||||
Subject: [PATCH] Give the kuriikwsfiltereng_private a VERSION and SOVERSION
|
||||
(#26)
|
||||
|
||||
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||
---
|
||||
src/urifilters/ikws/CMakeLists.txt | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/urifilters/ikws/CMakeLists.txt b/src/urifilters/ikws/CMakeLists.txt
|
||||
index 7d42584c3..393588993 100644
|
||||
--- a/src/urifilters/ikws/CMakeLists.txt
|
||||
+++ b/src/urifilters/ikws/CMakeLists.txt
|
||||
@@ -1,6 +1,11 @@
|
||||
add_subdirectory(searchproviders)
|
||||
|
||||
add_library(kuriikwsfiltereng_private kuriikwsfiltereng.cpp searchprovider.cpp searchproviderregistry.cpp)
|
||||
+set_target_properties(kuriikwsfiltereng_private PROPERTIES
|
||||
+ VERSION ${KIO_VERSION}
|
||||
+ SOVERSION ${KIO_SOVERSION}
|
||||
+ EXPORT_NAME kuriikwsfiltereng_private
|
||||
+)
|
||||
generate_export_header(kuriikwsfiltereng_private) # We need this to be a shared lib, because otherwise we have duplicate Q_GLOBAL_STATICs
|
||||
target_link_libraries(kuriikwsfiltereng_private PUBLIC KF6::KIOGui)
|
||||
install(TARGETS kuriikwsfiltereng_private ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -1,290 +0,0 @@
|
||||
From 7b1154d235f752b9fd1797f87861f11ef89d5d7a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Thu, 15 Feb 2024 14:38:21 +0100
|
||||
Subject: [PATCH 1/7] Improve discrete GPU detection using switcheroo-control
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 34 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index ef246d3936..695bf27a1e 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,6 +62,40 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
+ if (gpus.length() < 2) {
|
||||
+ // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ // Check if the Default GPU is Discrete
|
||||
+ for (const auto &gpu : gpus) {
|
||||
+ bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
+ if (defaultGpu) {
|
||||
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
+ if (discreteGpu) {
|
||||
+ // If the default GPU is Discret there is no need to apply the env vars
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ return true;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Find the first Discrete GPU
|
||||
+ for (const auto &gpu : gpus) {
|
||||
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
+ if (!discreteGpu) {
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // fallback to old behavior
|
||||
+ // find the first non-Default GPU
|
||||
for (const auto &gpu : gpus) {
|
||||
bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
if (!defaultGpu) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 29c056a6a71b0de226369c03d02f47ab56a7877a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 21 Feb 2024 15:57:28 +0100
|
||||
Subject: [PATCH 2/7] make gpus length comparison easier to reade
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index 695bf27a1e..dfe6a9982b 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,7 +62,7 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
- if (gpus.length() < 2) {
|
||||
+ if (gpus.length() <= 1) {
|
||||
// Skip checking for Default or Discrete GPUs when 1 or no GPU is available
|
||||
return false;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From afc22129301ac2e33673ce9415b1e0d329a57c59 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 21 Feb 2024 16:27:05 +0100
|
||||
Subject: [PATCH 3/7] lookup needed GPU entries in a single loop
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 56 +++++++++++++++++-----------------------
|
||||
1 file changed, 23 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index dfe6a9982b..57436e4789 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -67,45 +67,35 @@ static bool checkGpuWithSwitcheroo()
|
||||
return false;
|
||||
}
|
||||
|
||||
- // Check if the Default GPU is Discrete
|
||||
- for (const auto &gpu : gpus) {
|
||||
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
- if (defaultGpu) {
|
||||
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
- if (discreteGpu) {
|
||||
- // If the default GPU is Discret there is no need to apply the env vars
|
||||
- s_gpuCheck = GpuCheck::Present;
|
||||
- return true;
|
||||
- }
|
||||
- break;
|
||||
+ QVariantMap defaultGpu;
|
||||
+ QVariantMap firstDiscreteGpu;
|
||||
+ QVariantMap firstNonDefaultGpu;
|
||||
+
|
||||
+ for (const auto &gpu : std::as_const(gpus)) {
|
||||
+ if (defaultGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Default")])) {
|
||||
+ defaultGpu = gpu;
|
||||
+ } else if (firstNonDefaultGpu.isEmpty()) {
|
||||
+ firstNonDefaultGpu = gpu;
|
||||
+ }
|
||||
+ if (firstDiscreteGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Discrete")])) {
|
||||
+ firstDiscreteGpu = gpu;
|
||||
}
|
||||
}
|
||||
|
||||
- // Find the first Discrete GPU
|
||||
- for (const auto &gpu : gpus) {
|
||||
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
- if (!discreteGpu) {
|
||||
- s_gpuCheck = GpuCheck::Present;
|
||||
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
- for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
- s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
- }
|
||||
- return true;
|
||||
- }
|
||||
+ if (!defaultGpu.isEmpty() && defaultGpu[QStringLiteral("Discrete")].toBool()) {
|
||||
+ // If the default GPU is discrete we don't need to check for another device or apply special env vars
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
- // fallback to old behavior
|
||||
- // find the first non-Default GPU
|
||||
- for (const auto &gpu : gpus) {
|
||||
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
- if (!defaultGpu) {
|
||||
- s_gpuCheck = GpuCheck::Present;
|
||||
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
- for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
- s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
- }
|
||||
- return true;
|
||||
+ // Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
|
||||
+ for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
}
|
||||
+ return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From d05cabb8e3e4aa60c8453edc0f6231d9bcb6d64e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 21 Feb 2024 16:27:25 +0100
|
||||
Subject: [PATCH 4/7] correct absent gpu comment
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index 57436e4789..bbef5ba8f2 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -99,7 +99,7 @@ static bool checkGpuWithSwitcheroo()
|
||||
}
|
||||
#endif
|
||||
|
||||
- // No non-default GPU found
|
||||
+ // No discrete or non-default GPU found
|
||||
s_gpuCheck = GpuCheck::Absent;
|
||||
return true;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 7f9f76ce9bb472b54bf7297b8b5c078eb0c194c9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Thu, 22 Feb 2024 08:33:19 +0100
|
||||
Subject: [PATCH 5/7] check exact GPU count and fallback to solid when none are
|
||||
found
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index bbef5ba8f2..d3bf895ea5 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,9 +62,15 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
- if (gpus.length() <= 1) {
|
||||
- // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
|
||||
+ auto gpu_count = gpus.length();
|
||||
+
|
||||
+ if (gpu_count == 0) {
|
||||
+ // No GPUs? Something might have gone wrong on the other end
|
||||
return false;
|
||||
+ } else if (gpu_count == 1) {
|
||||
+ // There is only one GPU, no need to check for others
|
||||
+ s_gpuCheck = GpuCheck::Absent;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
QVariantMap defaultGpu;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 87ca7b125be15963c45867705f4b75e40b379437 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 4 Sep 2024 23:58:18 +0000
|
||||
Subject: [PATCH 6/7] Simplify GPU count check
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index d3bf895ea5..5e8450f2f9 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,12 +62,10 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
- auto gpu_count = gpus.length();
|
||||
-
|
||||
- if (gpu_count == 0) {
|
||||
+ if (gpus.isEmpty()) {
|
||||
// No GPUs? Something might have gone wrong on the other end
|
||||
return false;
|
||||
- } else if (gpu_count == 1) {
|
||||
+ } else if (gpus.size() == 1) {
|
||||
// There is only one GPU, no need to check for others
|
||||
s_gpuCheck = GpuCheck::Absent;
|
||||
return true;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 1920a2ea3b67331b419fc19a377b57a36466fb9f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Thu, 5 Sep 2024 02:01:41 +0200
|
||||
Subject: [PATCH 7/7] Fix non default GPU fallback
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index 5e8450f2f9..2f5547ab8f 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -94,6 +94,9 @@ static bool checkGpuWithSwitcheroo()
|
||||
|
||||
// Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
|
||||
for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
|
||||
+ if (gpu.isEmpty()) {
|
||||
+ continue;
|
||||
+ }
|
||||
s_gpuCheck = GpuCheck::Present;
|
||||
auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 6e7775d315f389df0a440ed62b842ce83dc9a27e Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Fella <nicolas.fella@gmx.de>
|
||||
Date: Fri, 1 Mar 2024 22:16:07 +0100
|
||||
Subject: [PATCH] [kterminallauncherjob] Inherit default process environment
|
||||
from parent
|
||||
|
||||
Before Qt 6.3, an empty (default constructed) QProcessEnvironment caused
|
||||
QProcess to incorrectly inherit the environment variables from the parent
|
||||
process. This was fixed in qtbase 5fc9c02a695.
|
||||
|
||||
CommandLauncherJob was adjusted for this in 916984940f64e07db9b4d152be9f2a87dda0cfb4,
|
||||
however here we are overriding its default env with our own default-constructed one
|
||||
|
||||
BUG: 482107
|
||||
---
|
||||
src/gui/kterminallauncherjob.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/kterminallauncherjob.cpp b/src/gui/kterminallauncherjob.cpp
|
||||
index c4e83fb11b..edd99327bd 100644
|
||||
--- a/src/gui/kterminallauncherjob.cpp
|
||||
+++ b/src/gui/kterminallauncherjob.cpp
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
QString m_fullCommand; // "xterm -e ls"
|
||||
QString m_desktopName;
|
||||
QByteArray m_startupId;
|
||||
- QProcessEnvironment m_environment;
|
||||
+ QProcessEnvironment m_environment{QProcessEnvironment::InheritFromParent};
|
||||
};
|
||||
|
||||
KTerminalLauncherJob::KTerminalLauncherJob(const QString &command, QObject *parent)
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "kf6-kio.spec"
|
||||
}
|
||||
labels {
|
||||
subrepo = "extras"
|
||||
updbranch = 1
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
@@ -1,369 +0,0 @@
|
||||
%global framework kio
|
||||
|
||||
%global stable_kf6 stable
|
||||
%global majmin_ver_kf6 6.20
|
||||
%global ecm_ver 6.20.0
|
||||
%global ecm_rel 1
|
||||
|
||||
Name: kf6-%{framework}
|
||||
Version: %{majmin_ver_kf6}.0
|
||||
Release: 1%{?dist}.switcheroo
|
||||
Summary: KDE Frameworks 6 Tier 3 solution for filesystem abstraction
|
||||
|
||||
Obsoletes: kf6-%{framework}.switcheroo < 6.14.0-4
|
||||
|
||||
License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT
|
||||
URL: https://invent.kde.org/frameworks/%{framework}
|
||||
|
||||
Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz
|
||||
Source1: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz.sig
|
||||
|
||||
# https://invent.kde.org/frameworks/kio/-/issues/26
|
||||
# I'm not sending this upstream because I'm not sure it's really
|
||||
# exactly what upstream will want, but it solves the practical
|
||||
# issue for us for now
|
||||
Patch0: 0001-Give-the-kuriikwsfiltereng_private-a-VERSION-and-SOV.patch
|
||||
|
||||
%if 0%{?flatpak}
|
||||
# Disable the help: and ghelp: protocol for Flatpak builds, to avoid depending
|
||||
# on the docbook stack.
|
||||
Patch101: kio-no-help-protocol.patch
|
||||
%endif
|
||||
|
||||
Provides: kf6-%{framework}
|
||||
BuildRequires: extra-cmake-modules
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: kf6-rpm-macros
|
||||
BuildRequires: cmake
|
||||
BuildRequires: cmake(KF6Archive)
|
||||
BuildRequires: cmake(KF6Crash)
|
||||
BuildRequires: cmake(KF6Solid)
|
||||
BuildRequires: switcheroo-control
|
||||
BuildRequires: cmake(KF6ColorScheme)
|
||||
BuildRequires: cmake(KF6Config)
|
||||
BuildRequires: cmake(KF6CoreAddons)
|
||||
BuildRequires: cmake(KF6DBusAddons)
|
||||
BuildRequires: cmake(KF6DocTools)
|
||||
BuildRequires: cmake(KF6GuiAddons)
|
||||
BuildRequires: cmake(KF6I18n)
|
||||
BuildRequires: cmake(KF6Service)
|
||||
BuildRequires: qt6-qtbase-private-devel
|
||||
BuildRequires: cmake(KF6Bookmarks)
|
||||
BuildRequires: cmake(KF6Completion)
|
||||
BuildRequires: cmake(KF6ConfigWidgets)
|
||||
BuildRequires: cmake(KF6IconThemes)
|
||||
BuildRequires: cmake(KF6ItemViews)
|
||||
BuildRequires: cmake(KF6JobWidgets)
|
||||
BuildRequires: cmake(KF6WindowSystem)
|
||||
BuildRequires: cmake(KF6Notifications)
|
||||
BuildRequires: cmake(KF6Wallet)
|
||||
BuildRequires: cmake(KF6WidgetsAddons)
|
||||
BuildRequires: cmake(KF6XmlGui)
|
||||
|
||||
BuildRequires: libacl-devel
|
||||
%if !0%{?flatpak}
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: libxslt-devel
|
||||
%endif
|
||||
BuildRequires: pkgconfig(blkid)
|
||||
BuildRequires: pkgconfig(mount)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: cmake(Qt6UiPlugin)
|
||||
BuildRequires: cmake(Qt6Qml)
|
||||
|
||||
BuildRequires: cmake(KF6KDED)
|
||||
BuildRequires: cmake(Qt6Core5Compat)
|
||||
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-file-widgets%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-gui%{?_isa} = %{version}-%{release}
|
||||
|
||||
Requires: kf6-kded
|
||||
|
||||
%description
|
||||
KDE Frameworks 6 Tier 3 solution for filesystem abstraction
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: kf6-kbookmarks-devel
|
||||
Requires: cmake(KF6Completion)
|
||||
Requires: cmake(KF6Config)
|
||||
Requires: cmake(KF6CoreAddons)
|
||||
Requires: cmake(KF6ItemViews)
|
||||
Requires: cmake(KF6JobWidgets)
|
||||
Requires: cmake(KF6Service)
|
||||
Requires: cmake(KF6Solid)
|
||||
Requires: cmake(KF6XmlGui)
|
||||
Requires: cmake(KF6WindowSystem)
|
||||
Requires: qt6-qtbase-devel
|
||||
Obsoletes: kf6-kio.switcheroo-devel < 6.14.0-4
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for %{name}
|
||||
Requires: %{name}-core = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
Obsoletes: kf6-kio.switcheroo-doc < 6.14.0-4
|
||||
%description doc
|
||||
Documentation for %{name}.
|
||||
|
||||
%package core
|
||||
Summary: Core components of the KIO Framework
|
||||
%{?kf6_kinit_requires}
|
||||
Requires: %{name}-core-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-doc = %{version}-%{release}
|
||||
Requires: kf6-filesystem
|
||||
Recommends: switcheroo-control
|
||||
Obsoletes: kf6-kio.switcheroo-core < 6.14.0-4
|
||||
%description core
|
||||
KIOCore library provides core non-GUI components for working with KIO.
|
||||
|
||||
%package core-libs
|
||||
Summary: Runtime libraries for KIO Core
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: kf6-kio.switcheroo-core-libs < 6.14.0-4
|
||||
%description core-libs
|
||||
%{summary}.
|
||||
|
||||
%package widgets
|
||||
Summary: Widgets for KIO Framework
|
||||
## org.kde.klauncher6 service referenced from : widgets/krun.cpp
|
||||
## included here for completeness, even those -core already has a dependency.
|
||||
%{?kf6_kinit_requires}
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: kf6-kio.switcheroo-widgets < 6.14.0-4
|
||||
%description widgets
|
||||
KIOWidgets contains classes that provide generic job control, progress
|
||||
reporting, etc.
|
||||
|
||||
%package widgets-libs
|
||||
Summary: Runtime libraries for KIO Widgets library
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: kf6-kio.switcheroo-widgets-libs < 6.14.0-4
|
||||
%description widgets-libs
|
||||
%{summary}.
|
||||
|
||||
%package file-widgets
|
||||
Summary: Widgets for file-handling for KIO Framework
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: kf6-kio.switcheroo-file-widgets < 6.14.0-4
|
||||
%description file-widgets
|
||||
The KIOFileWidgets library provides the file selection dialog and
|
||||
its components.
|
||||
|
||||
%package gui
|
||||
Summary: Gui components for the KIO Framework
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Provides: kf6-kio-gui = %version-%release
|
||||
Obsoletes: kf6-kio.switcheroo-gui < 6.14.0-4
|
||||
%description gui
|
||||
%{summary}.
|
||||
|
||||
%package qch-doc
|
||||
Summary: Developer Documentation files for %{name}
|
||||
BuildArch: noarch
|
||||
Obsoletes: kf6-kio.switcheroo-qch-doc < 6.14.0-4
|
||||
%description qch-doc
|
||||
Developer Documentation files for %{name} for use with KDevelop or QtCreator.
|
||||
|
||||
%package html
|
||||
Summary: Developer Documentation files for %{name}
|
||||
BuildArch: noarch
|
||||
%description html
|
||||
Developer Documentation files for %{name} in HTML format
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{framework}-%{version} -p1
|
||||
|
||||
|
||||
%build
|
||||
%cmake_kf6
|
||||
%cmake_build_kf6
|
||||
|
||||
|
||||
%install
|
||||
%cmake_install_kf6
|
||||
%find_lang kf6-kio --all-name --with-man --with-html
|
||||
|
||||
%files
|
||||
%license LICENSES/*.txt
|
||||
%doc README.md
|
||||
|
||||
%files core
|
||||
%{_kf6_libexecdir}/kioexec
|
||||
%{_kf6_libexecdir}/kiod6
|
||||
%{_kf6_libexecdir}/kioworker
|
||||
%{_kf6_bindir}/ktelnetservice6
|
||||
%{_kf6_bindir}/ktrash6
|
||||
%{_kf6_plugindir}/kio/
|
||||
%{_kf6_plugindir}/kded/
|
||||
%{_kf6_plugindir}/kiod/
|
||||
%{_kf6_plugindir}/kio_dnd/
|
||||
%{_kf6_datadir}/kf6/searchproviders/*.desktop
|
||||
%{_kf6_datadir}/applications/*.desktop
|
||||
%{_datadir}/dbus-1/services/org.kde.*.service
|
||||
%{_kf6_datadir}/qlogging-categories6/*categories
|
||||
|
||||
%files core-libs
|
||||
%{_kf6_libdir}/libKF6KIOCore.so.*
|
||||
|
||||
%files doc -f kf6-kio.lang
|
||||
|
||||
%files gui
|
||||
%{_kf6_libdir}/libKF6KIOGui.so.*
|
||||
|
||||
%files widgets
|
||||
%dir %{_kf6_plugindir}/urifilters/
|
||||
%{_kf6_plugindir}/urifilters/*.so
|
||||
%{_kf6_libdir}/libkuriikwsfiltereng_private.so.*
|
||||
|
||||
%files widgets-libs
|
||||
%{_kf6_libdir}/libKF6KIOWidgets.so.*
|
||||
|
||||
%files file-widgets
|
||||
%{_kf6_libdir}/libKF6KIOFileWidgets.so.*
|
||||
|
||||
%files devel
|
||||
%{_kf6_includedir}/*
|
||||
%{_kf6_libdir}/*.so
|
||||
%{_kf6_libdir}/cmake/KF6KIO/
|
||||
%{_kf6_datadir}/kdevappwizard/templates/kioworker6.tar.bz2
|
||||
%{_kf6_qtplugindir}/designer/kio6widgets.so
|
||||
%{_qt6_docdir}/*/*.tags
|
||||
%{_qt6_docdir}/*/*.index
|
||||
|
||||
%files qch-doc
|
||||
%{_qt6_docdir}/*.qch
|
||||
|
||||
%files html
|
||||
%{_qt6_docdir}/*/*
|
||||
%exclude %{_qt6_docdir}/*/*.tags
|
||||
%exclude %{_qt6_docdir}/*/*.index
|
||||
|
||||
%changelog
|
||||
* Fri Feb 07 2025 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.11.0-1
|
||||
- 6.11.0
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.10.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Tue Jan 07 2025 Steve Cossette <farchord@gmail.com> - 6.10.0-2
|
||||
- File Picker: Fix 'All supported files' for more than 3
|
||||
filters
|
||||
|
||||
* Fri Jan 03 2025 Steve Cossette <farchord@gmail.com> - 6.10.0-1
|
||||
- 6.10.0
|
||||
|
||||
* Sat Dec 14 2024 Steve Cossette <farchord@gmail.com> - 6.9.0-1
|
||||
- 6.9.0
|
||||
|
||||
* Sat Nov 02 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.8.0-1
|
||||
- 6.8.0
|
||||
|
||||
* Mon Oct 14 2024 Jan Grulich <jgrulich@redhat.com> - 6.7.0-2
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Fri Oct 04 2024 Steve Cossette <farchord@gmail.com> - 6.7.0-1
|
||||
- 6.7.0
|
||||
|
||||
* Mon Sep 16 2024 Steve Cossette <farchord@gmail.com> - 6.6.0-1
|
||||
- 6.6.0
|
||||
|
||||
* Sat Aug 10 2024 Steve Cossette <farchord@gmail.com> - 6.5.0-1
|
||||
- 6.5.0
|
||||
|
||||
* Fri Jul 19 2024 Steve Cossette <farchord@gmail.com> - 6.4.1-1
|
||||
- 6.4.1
|
||||
|
||||
* Thu Jul 18 2024 Steve Cossette <farchord@gmail.com> - 6.4.0-3
|
||||
- Fix for a regression in Frameworks 6.4.0
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jul 06 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.4.0-1
|
||||
- 6.4.0
|
||||
|
||||
* Sat Jun 01 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.3.0-1
|
||||
- 6.3.0
|
||||
|
||||
* Sat May 04 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.2.0-1
|
||||
- 6.2.0
|
||||
|
||||
* Wed Apr 10 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.1.0-1
|
||||
- 6.1.0
|
||||
|
||||
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.0.0-7
|
||||
- Re-enable docs
|
||||
|
||||
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.0.0-6
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Fri Mar 15 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-5
|
||||
- add 6e7775d315f389df0a440ed62b842ce83dc9a27e.patch
|
||||
[kterminallauncherjob] Inherit default process environment from parent
|
||||
|
||||
* Mon Mar 11 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 6.0.0-4
|
||||
- Soften switcheroo-control dependency
|
||||
|
||||
* Sat Mar 09 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-3
|
||||
- add missing BuildArch: noarch to -doc package
|
||||
|
||||
* Sat Mar 2 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-2
|
||||
- move qt designer plugin to -devel
|
||||
|
||||
* Wed Feb 21 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.0.0-1
|
||||
- 6.0.0
|
||||
|
||||
* Fri Feb 16 2024 Jan Grulich <jgrulich@redhat.com> - 5.249.0-2
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Wed Jan 31 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.249.0-1
|
||||
- 5.249.0
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.248.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.248.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jan 10 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.248.0-1
|
||||
- 5.248.0
|
||||
|
||||
* Tue Jan 09 2024 Marie Loise Nolden <loise@kde.org> - 5.247.0-2
|
||||
- add doc package for KF6 API
|
||||
|
||||
* Wed Dec 20 2023 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.247.0-1
|
||||
- 5.247.0
|
||||
|
||||
* Sat Dec 02 2023 Justin Zobel <justin.zobel@gmail.com> - 5.246.0-1
|
||||
- Update to 5.246.0
|
||||
|
||||
* Wed Nov 29 2023 Jan Grulich <jgrulich@redhat.com> - 5.245.0-3
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Mon Nov 20 2023 Alessandro Astone <ales.astone@gmail.com> - 5.245.0-2
|
||||
- Add back kuriikwsfiltereng SOVERSION patch
|
||||
|
||||
* Thu Nov 09 2023 Steve Cossette <farchord@gmail.com> - 5.245.0-1
|
||||
- 5.245.0
|
||||
|
||||
* Tue Oct 17 2023 Jan Grulich <jgrulich@redhat.com> - 5.240.0^20231010.060359.1c34fd4-4
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Mon Oct 16 2023 Adam Williamson <awilliam@redhat.com> - 5.240.0^20231010.060359.1c34fd4-3
|
||||
- Give kuriikwsfiltereng_private library a proper soname to fix deps
|
||||
|
||||
* Mon Oct 09 2023 Steve Cossette <farchord@gmail.com> - 5.240.0^20231010.060359.1c34fd4-2
|
||||
- Fixed a problem with the -doc subpackage building differently on different arches.
|
||||
|
||||
* Mon Oct 09 2023 Steve Cossette <farchord@gmail.com> - 5.240.0^20231010.060359.1c34fd4-1
|
||||
- Initial Release
|
||||
@@ -1,20 +0,0 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
let pkg = "kf6-kio";
|
||||
let branch = bump::as_bodhi_ver(labels.branch);
|
||||
|
||||
let url = `https://bodhi.fedoraproject.org/updates/?search=${pkg}&status=stable&releases=${branch}&rows_per_page=1&page=1`;
|
||||
|
||||
for entry in get(url).json().updates[0].title.split(' ') {
|
||||
let matches = find_all(`${pkg}-([\d.]+)-(\d+)\.[\w\d]+$`, entry);
|
||||
if matches.len() == 0 { continue; }
|
||||
if matches[0][1].ends_with(".0") {
|
||||
rpm.global("majmin_ver_kf6", matches[0][1][0..matches[0][1].len()-2]);
|
||||
rpm.f = sub(`Release: (.+?)\n`, "Release: " + matches[0][2] + "%{?dist}.switcheroo\n", rpm.f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
let vr = bump::bodhi_vr("extra-cmake-modules", branch);
|
||||
rpm.global("ecm_ver", vr[1]);
|
||||
rpm.global("ecm_rel", vr[2]);
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 7f92a0f5aab4936f24f5a47a717a7444af1d3f42
|
||||
%global commit 88709e6ee84ddf7266457f8246c476bee3212ba3
|
||||
|
||||
Name: lightdm-kde-greeter
|
||||
Version: 6.0.5
|
||||
Version: 6.1.2
|
||||
Release: 1%?dist
|
||||
Summary: Login screen using the LightDM framework
|
||||
License: GPL-3.0-or-later
|
||||
@@ -22,10 +22,11 @@ BuildRequires: cmake(KF6Auth)
|
||||
BuildRequires: cmake(KF6NetworkManagerQt)
|
||||
BuildRequires: cmake(Plasma)
|
||||
BuildRequires: pkgconfig(gtk+-2.0)
|
||||
BuildRequires: pkgconfig(libei-1.0)
|
||||
BuildRequires: pkgconfig(liblightdm-gobject-1)
|
||||
BuildRequires: systemd-rpm-macros
|
||||
Requires: lightdm
|
||||
Requires: plasma-workspace-qml
|
||||
Requires: plasma-workspace
|
||||
Requires: polkit
|
||||
Provides: lightdm-greeter
|
||||
|
||||
@@ -81,7 +82,8 @@ mkdir -p %buildroot%_sharedstatedir/%name
|
||||
%_datadir/dbus-1/system-services/org.kde.kcontrol.kcmlightdm.service
|
||||
%_datadir/dbus-1/system.d/org.kde.kcontrol.kcmlightdm.conf
|
||||
%_datadir/polkit-1/actions/org.kde.kcontrol.kcmlightdm.policy
|
||||
%_datadir/xgreeters/lightdm-kde-greeter.desktop
|
||||
%_datadir/lightdm/greeters/lightdm-kde-greeter.desktop
|
||||
%_datadir/xgreeters/lightdm-kde-greeter-x11.desktop
|
||||
%_datadir/%name/
|
||||
%_kf6_libexecdir/kauth/kcmlightdmhelper
|
||||
%_qt6_plugindir/plasma/kcms/systemsettings/kcm_lightdm.so
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
|
||||
%global commit ca7670c0a74c42f03c0bb4196773519c270a0d75
|
||||
%global commit f4b7c634dc4f95086dcda70113fbc2f6ce22eed7
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-app-launch
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-download-manager
|
||||
%global commit 4ceb67059014b9b7e0e15f860297fe60b95903a2
|
||||
%global commit ff2bc3a8f57b6124ca866c108c49aabcbe22bdf8
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-download-manager
|
||||
Version: 0.2.2
|
||||
Version: 0.3.0
|
||||
Release: 1%?dist
|
||||
Summary: Upload Download Manager for Lomiri
|
||||
License: LGPLv3
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit 54e10292fdecc42d2f5b296209d5b67f8ae90423
|
||||
%global commit 7790e87e4412428562dfbe66bfb5906319c2daa9
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
|
||||
%global commit 4111d119b21d58754f8b4bcaa7665cab7263be00
|
||||
%global commit 401b1c0ff861f3d50b2726389b366f9d1420eb33
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-ui-toolkit
|
||||
Version: 1.3.5110
|
||||
Release: 2%?dist
|
||||
Version: 1.3.5902
|
||||
Release: 1%?dist
|
||||
Summary: QML components to ease the creation of beautiful applications in QML for Lomiri
|
||||
|
||||
License: LGPL-3.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: mangowc
|
||||
Version: 0.10.5
|
||||
Version: 0.10.8
|
||||
Release: 1%?dist
|
||||
Summary: wayland compositor base wlroots and scenefx (dwm but wayland)
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global crate matugen
|
||||
|
||||
Name: rust-matugen
|
||||
Version: 3.0.0
|
||||
Version: 3.1.0
|
||||
Release: 1%?dist
|
||||
Summary: Material you color generation tool with templates
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# prevent library files from being installed
|
||||
%global cargo_install_lib 0
|
||||
|
||||
%global upstream_version v2.11.2
|
||||
%global upstream_version v2.12.2
|
||||
%global ver %{sub %upstream_version 2}
|
||||
|
||||
Name: walker
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user