Compare commits
	
		
			415 Commits
		
	
	
		
			beta/20231
			...
			beta/20241
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c2d5c3b764 | |||
| 41f5d151d9 | |||
| 542bd54c6b | |||
| eb60b68747 | |||
| 950e32e9a6 | |||
| 6ddd6a7f9e | |||
| 9ab5e52c8d | |||
| 56401d4125 | |||
| 7fdd2f5740 | |||
| 0f7e33cf33 | |||
| 73258efdf7 | |||
| a29d5f791f | |||
| 5186c27325 | |||
| 7e926a3e23 | |||
| 93cde493d8 | |||
| cb829676e3 | |||
| 112c6a4d7a | |||
| 188f487695 | |||
| 0af01cc62d | |||
| a8acc71830 | |||
| eaf409d6d3 | |||
| 42e3eeabf6 | |||
| 41cb6528c2 | |||
| b6aa9eedfa | |||
| 3c1b2c22b2 | |||
| fb660b928f | |||
| 2f163846c7 | |||
| c6f79f4132 | |||
| 6b9cb684ec | |||
| 1d0fa772e2 | |||
| 51c716d718 | |||
| 5e4556f786 | |||
| da667056fd | |||
| 9d00c4f4e3 | |||
| f5743da2d6 | |||
| 7152b51597 | |||
| 4a53397561 | |||
| d86a90207a | |||
| 7b298deee8 | |||
| 056cf14613 | |||
| 2e75dd8777 | |||
| 8bda8da414 | |||
| b7fb63ae40 | |||
| 31bd0392da | |||
| 59f3aa7c44 | |||
| 9aeb405644 | |||
| 9e1d8e3e56 | |||
| b65774add0 | |||
| c55486988f | |||
| 39833924af | |||
| a194e86d7a | |||
| 8cfd9bc3fc | |||
| bdec942d72 | |||
| 35d5595401 | |||
| 7330a87082 | |||
| 7243b10e81 | |||
| 964c8e0553 | |||
| 96c00ff019 | |||
| c8716d1113 | |||
| 630e5e9fe4 | |||
| f447327c02 | |||
| 650f98636b | |||
| b92cd902b9 | |||
| b99c2674b4 | |||
| 1524ba0177 | |||
| 5503769023 | |||
| 89354a07e1 | |||
| 69400bee2a | |||
| 0e07f9cee7 | |||
| d2eba1d91e | |||
| 78389d8c28 | |||
| e6d820850a | |||
| 0a7f9349a9 | |||
| 99254f8d02 | |||
| 010a2c4eea | |||
| 61163037d4 | |||
| 3577982a93 | |||
| 3ad0b92dcd | |||
| 91475c3a3f | |||
| 9379af23ec | |||
| 406a251c85 | |||
| 20e2852e44 | |||
| 3225f90ce8 | |||
| df3e76a1cf | |||
| c5e15d26a0 | |||
| 77e019b02b | |||
| 89bed2bf85 | |||
| 519871e458 | |||
| 0a842042b0 | |||
| 9aeb2377dc | |||
| 6ad5f4b850 | |||
| f5c63d24fb | |||
| 5cb34bd31c | |||
| e56a966de1 | |||
| acc0c97234 | |||
| 665af7c0c3 | |||
| fa51e042e5 | |||
| 3b9fb0bfca | |||
| 3673b0646c | |||
| 2e2f6423f8 | |||
| 28c1cbbb34 | |||
| 87c215deb7 | |||
| 77eddcd962 | |||
| 043a715c59 | |||
| 5bd3ead22d | |||
| a9aa1cac80 | |||
| 409ba70258 | |||
| dc50f19815 | |||
| d83895dcc9 | |||
| e24a3d6a4d | |||
| 06de33e1be | |||
| c8fbcd8c6b | |||
| 31269fe8fc | |||
| a676ad395a | |||
| 04c71d02e0 | |||
| 1fe60b9c33 | |||
| 51ef7a83da | |||
| 588a8abdac | |||
| 8a149b6c4f | |||
| 6105f4f7ce | |||
| 92341b27b6 | |||
| f39afdac4c | |||
| 690f2dd85c | |||
| bd45d6a406 | |||
| 5b92e4708a | |||
| 63c01f1439 | |||
| 73aeb02ebd | |||
| 9d91317089 | |||
| 474bc5f6a4 | |||
| f5b64e955b | |||
| b88627d125 | |||
| 200978a044 | |||
| a673ff9890 | |||
| 7803dd0991 | |||
| a8a736bc8c | |||
| ff7acf9932 | |||
| afde816b23 | |||
| 0745c3b798 | |||
| 1376ee1f4b | |||
| 2b03107bd5 | |||
| cd1ab0ed12 | |||
| a13c6ae0e7 | |||
| 1ef9a85148 | |||
| 072eafbaf4 | |||
| 201f3182ca | |||
| 23130a5752 | |||
| f28d47bc51 | |||
| ee7818eefb | |||
| f25e66aa6a | |||
| 79b19aec01 | |||
| 4c92cb9936 | |||
| 1c81553245 | |||
| 5c2fec53da | |||
| f706abe5a6 | |||
| 610c27f751 | |||
| 6d20d3b515 | |||
| a0b583aa8d | |||
| 3855a5e951 | |||
| 6689bce782 | |||
| 860ddf22b6 | |||
| ef716d657d | |||
| b0fe0251d1 | |||
| 1ec2d5f27b | |||
| 23316993e5 | |||
| d42fe78676 | |||
| 78724c2a7b | |||
| e14fbe9437 | |||
| 82c63d5a89 | |||
| a72af9cba5 | |||
| d7c642a2fe | |||
| 08f3339693 | |||
| 402515365d | |||
| df102068bc | |||
| d40e884a1f | |||
| 5371dac882 | |||
| 0f62829588 | |||
| 39da97396c | |||
| 406edda453 | |||
| bbbeda6a26 | |||
| 6b3efff7cc | |||
| 3531b8b354 | |||
| 487446cbc3 | |||
| d5349490f5 | |||
| 7650f45d6f | |||
| a98f6ca4e3 | |||
| 0b96cf5f1f | |||
| 07e0b10478 | |||
| b38e216721 | |||
| 91f32f2421 | |||
| 06c3ffa6ce | |||
| ae53d92c2e | |||
| 97e477416a | |||
| 3d3b4612df | |||
| 7060afe467 | |||
| f56026439a | |||
| 0a24bec5ec | |||
| 38b7880d5f | |||
| 71a88b75ab | |||
| 37e1780762 | |||
| e054fc9592 | |||
| 8305c0a082 | |||
| 7b03484497 | |||
| 4d29e11cd3 | |||
| f67a181e83 | |||
| 24edba9a2f | |||
| d1cde3792b | |||
| 3dfcae1c09 | |||
| 50ce16e0ab | |||
| 66e31bea1e | |||
| 154ce53e2d | |||
| 35f850289f | |||
| c8b52262bc | |||
| 4b17fa1a12 | |||
| 35482fa92f | |||
| 788ecaa496 | |||
| f40a8215d1 | |||
| c6ff91bdb1 | |||
| 99d415b1fe | |||
| 4edc2d6369 | |||
| 146dd21679 | |||
| fa2caa6d7c | |||
| 90e9a36a9e | |||
| 95e36ef89b | |||
| 79b906f12f | |||
| 92522d5cce | |||
| 25b74cdf6e | |||
| 0245671855 | |||
| 7c3eab9107 | |||
| 5b6ab48037 | |||
| 6003d007b8 | |||
| 30db1ba5f5 | |||
| 6aaac12758 | |||
| a0fc85d0a9 | |||
| 9c6bdec0f0 | |||
| ce8381e817 | |||
| 677ebe3297 | |||
| fa67ac0462 | |||
| c0c56023cc | |||
| e7ee0acf3a | |||
| f1f521973b | |||
| a4300308dc | |||
| 815d324118 | |||
| 2343f34b4f | |||
| 692ba0d5a8 | |||
| 84150e8977 | |||
| 9360458b9e | |||
| 46a955aa3d | |||
| 009a3902cb | |||
| 32b76c8da4 | |||
| 2bbd9637da | |||
| 2d664eacb1 | |||
| f1c90f316a | |||
| 5abed96b56 | |||
| f524c39c5f | |||
| 2215d51f98 | |||
| 127b39bec2 | |||
| 43fecd1d4a | |||
| 760f6dc72c | |||
| eaf155d8a4 | |||
| 3e7087e5e6 | |||
| 4ebb881be4 | |||
| a4014b7b6f | |||
| 93d2201277 | |||
| 2bf414e27e | |||
| c72e847bd4 | |||
| 74120737ca | |||
| f2424f4968 | |||
| 9d7eae0af8 | |||
| 38febbf0bc | |||
| bd8938b1df | |||
| 1e4c450423 | |||
| c1df66f28d | |||
| 721ea4b017 | |||
| b6737f1d50 | |||
| 15eb51c7ca | |||
| e74be0934e | |||
| a4b758611c | |||
| c00ea7ac51 | |||
| 58a53e70d1 | |||
| 4ca37a6293 | |||
| e2da7777de | |||
| 48e9887129 | |||
| 2af4bc663b | |||
| 72100f4700 | |||
| b7207e4b03 | |||
| 250196bbac | |||
| 04a57dfdbb | |||
| 4a3a49b0ec | |||
| 4342b9053f | |||
| ef0045c927 | |||
| d45f86362b | |||
| c4c2415d6b | |||
| b2318c7f7f | |||
| f46b94baeb | |||
| adfafd9dda | |||
| 45271413b6 | |||
| 87aed4c039 | |||
| 03c20a4205 | |||
| ddb1409195 | |||
| a74b54939d | |||
| 0af4af1685 | |||
| 850decf38e | |||
| bd39fbd5a4 | |||
| 7d7428af21 | |||
| 5cd2490f24 | |||
| ca85303110 | |||
| 46ca469bec | |||
| 49e64bb027 | |||
| 8dd04cab92 | |||
| be9725ec0c | |||
| b4de00ce61 | |||
| e753dd509e | |||
| 20c4081d88 | |||
| 48cfd8e29f | |||
| 3344fbaf9d | |||
| 5e362c2c2e | |||
| 7bd469525d | |||
| f457ed5076 | |||
| ed78c35fda | |||
| d42d1cd343 | |||
| 762cbbff38 | |||
| 500681fb69 | |||
| 8b09149ecd | |||
| eae76a619a | |||
| aa44599a66 | |||
| a8be1f0271 | |||
| d5bacf6b9f | |||
| bb8f4cc3a7 | |||
| 1d7d10a12d | |||
| c689997456 | |||
| 8fc1ba342c | |||
| 6b313e193d | |||
| 167550abc3 | |||
| 7736b5c34c | |||
| 1dd0ad71e9 | |||
| db4e0d3767 | |||
| b1e129b0e2 | |||
| 3818885095 | |||
| 6cbda2cea1 | |||
| 2656769a59 | |||
| 86c1bf8373 | |||
| f7bf2899f7 | |||
| dc7c366afa | |||
| b7c3f3b553 | |||
| a6b7ef76f8 | |||
| 17d6d56af4 | |||
| b5443e6484 | |||
| 3d0db97a17 | |||
| 23413a8f45 | |||
| 7f414f652e | |||
| c6833d69fb | |||
| 238547506f | |||
| cb68ee560c | |||
| 517f87826d | |||
| 0725683727 | |||
| 52f95ac8ed | |||
| 8d41ab6eb9 | |||
| b4b1cda9e6 | |||
| e46a123609 | |||
| 8e33a6125f | |||
| 3e17a9b247 | |||
| 38e5d0967a | |||
| 5ed836f34e | |||
| 7b55954245 | |||
| 8c75ac8a1f | |||
| 92546c7358 | |||
| 855b023349 | |||
| a0f0dd132a | |||
| 428756e568 | |||
| 04a8dfa468 | |||
| cbef11a9ca | |||
| 122628239c | |||
| 8922387217 | |||
| be85034d78 | |||
| 885f05ba12 | |||
| 60cfc8938f | |||
| 31c5cead63 | |||
| 1c576a7a3a | |||
| 92be4fa7dc | |||
| 6360e52eb5 | |||
| d38858c1f3 | |||
| 088c367485 | |||
| fc7109950b | |||
| 5776ab7c7d | |||
| d4d34ad4fc | |||
| 86d55fa985 | |||
| 303acbda64 | |||
| a433974340 | |||
| 7a759dab7a | |||
| d2e87150b4 | |||
| ec60458dbe | |||
| 8a9aea2f28 | |||
| ae86464658 | |||
| 5f0163df05 | |||
| 493addcbd8 | |||
| f144b27db8 | |||
| 861c42e3d5 | |||
| 873c4c72b9 | |||
| 3e012c32d5 | |||
| 6bff3c54f1 | |||
| e55eaa5d8e | |||
| 1a17735d55 | |||
| 4e5f153230 | |||
| 15351a5aae | |||
| e89aa95673 | |||
| 3609dae584 | |||
| 8b21b0fda9 | |||
| 811a93cc27 | |||
| baeb90bced | |||
| 439fea530d | |||
| 55415d6062 | |||
| 9d3b5cd0c5 | |||
| 4e549d123e | |||
| 77193b26d9 | |||
| afb514ee02 | 
							
								
								
									
										1
									
								
								.clang-tidy
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1 @@
 | 
			
		||||
Checks: '-*,analyzer-cplusplus.NewDeleteLeaks'
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,2 @@
 | 
			
		||||
custom: ['https://jami.net/whydonate/']
 | 
			
		||||
lfx_crowdfunding: jami-a-gnu-package
 | 
			
		||||
							
								
								
									
										13
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,9 +1,18 @@
 | 
			
		||||
*.user
 | 
			
		||||
doc/Doxyfile
 | 
			
		||||
 | 
			
		||||
### VisualStudioCode ###
 | 
			
		||||
.vscode/**/*
 | 
			
		||||
!.vscode/settings.json
 | 
			
		||||
!.vscode/tasks.json
 | 
			
		||||
!.vscode/launch.json
 | 
			
		||||
!.vscode/extensions.json
 | 
			
		||||
 | 
			
		||||
### VisualStudioCode Patch ###
 | 
			
		||||
# Ignore all local history of files
 | 
			
		||||
**/.history
 | 
			
		||||
 | 
			
		||||
GeneratedFiles/
 | 
			
		||||
.vs/
 | 
			
		||||
.vscode/
 | 
			
		||||
x64/
 | 
			
		||||
x86/
 | 
			
		||||
[wW]in32/
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,6 +1,6 @@
 | 
			
		||||
[submodule "3rdparty/qrencode-win32"]
 | 
			
		||||
	path = 3rdparty/qrencode-win32
 | 
			
		||||
	url = https://github.com/BlueDragon747/qrencode-win32.git
 | 
			
		||||
	url = https://github.com/blizzard4591/qrencode-win32.git
 | 
			
		||||
	ignore = dirty
 | 
			
		||||
[submodule "3rdparty/libqrencode"]
 | 
			
		||||
	url = https://github.com/fukuchi/libqrencode.git
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										49
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,49 @@
 | 
			
		||||
{
 | 
			
		||||
    "version": "0.2.0",
 | 
			
		||||
    "configurations": [
 | 
			
		||||
        {
 | 
			
		||||
            "name": "Jami-Client-Debug",
 | 
			
		||||
            "type": "cppdbg",
 | 
			
		||||
            "request": "launch",
 | 
			
		||||
            "program": "",
 | 
			
		||||
            "linux":{
 | 
			
		||||
                "MIMode": "gdb",
 | 
			
		||||
                "program": "${workspaceFolder}/build/jami",
 | 
			
		||||
                "args": [
 | 
			
		||||
                    "-d",
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
            "osx": {
 | 
			
		||||
                "MIMode": "lldb",
 | 
			
		||||
                "program": "${workspaceFolder}/build/Jami.app/Contents/MacOS/Jami",
 | 
			
		||||
                "environment": [
 | 
			
		||||
                    {
 | 
			
		||||
                        "name": "NO_COLOR",
 | 
			
		||||
                        "value": "true",
 | 
			
		||||
                    }
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
            "cwd": "${workspaceFolder}",
 | 
			
		||||
            "preLaunchTask": "cmake-build",
 | 
			
		||||
            "externalConsole": false, // A macOS dev may want to set this to true.
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            // Using this configuration will require manually reconfiguring the project using
 | 
			
		||||
            // build.py --no-libwrap, otherwise the daemon executable will not be built and the
 | 
			
		||||
            // client will not be built with ENABLE_LIBWRAP=False.
 | 
			
		||||
            "name": "Jami-Daemon-Debug",
 | 
			
		||||
            "type": "cppdbg",
 | 
			
		||||
            "request": "launch",
 | 
			
		||||
            "linux": {
 | 
			
		||||
                "MIMode": "gdb",
 | 
			
		||||
                "program": "${workspaceFolder}/daemon/bin/dbus/jamid",
 | 
			
		||||
            },
 | 
			
		||||
            "program": "",
 | 
			
		||||
            "args": [
 | 
			
		||||
                "-cdp",
 | 
			
		||||
            ],
 | 
			
		||||
            "cwd": "${workspaceFolder}",
 | 
			
		||||
            "preLaunchTask": "cmake-build",
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,15 @@
 | 
			
		||||
{
 | 
			
		||||
    "C_Cpp.default.includePath": [
 | 
			
		||||
        "${default}",
 | 
			
		||||
        "${workspaceFolder}/**",
 | 
			
		||||
        "/usr/lib/libqt-jami/include/**",
 | 
			
		||||
        "/usr/lib64/qt-jami/include/**",
 | 
			
		||||
    ],
 | 
			
		||||
    "C_Cpp.default.cppStandard": "c++17",
 | 
			
		||||
    "C_Cpp.default.cStandard": "c11",
 | 
			
		||||
    "cmake.configureOnOpen": true,
 | 
			
		||||
    "editor.formatOnSave": true,
 | 
			
		||||
    "editor.defaultFormatter": "xaver.clang-format",
 | 
			
		||||
    "files.eol": "\n",
 | 
			
		||||
    "cSpell.enabled": false,
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										93
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,93 @@
 | 
			
		||||
{
 | 
			
		||||
    "version": "2.0.0",
 | 
			
		||||
    "tasks": [
 | 
			
		||||
        {
 | 
			
		||||
            "label": "run-tests",
 | 
			
		||||
            "type": "shell",
 | 
			
		||||
            "command": "ctest",
 | 
			
		||||
            "options": {
 | 
			
		||||
                "cwd": "${workspaceFolder}/build/tests",
 | 
			
		||||
                "env": {
 | 
			
		||||
                    "HOME": "/tmp"
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
            "args": [
 | 
			
		||||
                "-V",
 | 
			
		||||
                "-R"
 | 
			
		||||
            ],
 | 
			
		||||
            "group": {
 | 
			
		||||
                "kind": "test",
 | 
			
		||||
                "isDefault": true
 | 
			
		||||
            },
 | 
			
		||||
            "problemMatcher": [],
 | 
			
		||||
            "detail": "Run the tests using CTest."
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "label": "cmake-configure",
 | 
			
		||||
            "type": "shell",
 | 
			
		||||
            "command": "cmake",
 | 
			
		||||
            "args": [
 | 
			
		||||
                "-S", ".",
 | 
			
		||||
                "-B", "build",
 | 
			
		||||
                "-DCMAKE_BUILD_TYPE=Debug",
 | 
			
		||||
                "-DCMAKE_PREFIX_PATH=\"/usr/lib64/qt-jami;/usr/lib/libqt-jami\"",
 | 
			
		||||
            ],
 | 
			
		||||
            "group": "build",
 | 
			
		||||
            "problemMatcher": [],
 | 
			
		||||
            "detail": "Generate the build system files with CMake."
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "label": "cmake-configure-tests",
 | 
			
		||||
            "type": "shell",
 | 
			
		||||
            "command": "cmake",
 | 
			
		||||
            "args": [
 | 
			
		||||
                "-S", ".",
 | 
			
		||||
                "-B", "build",
 | 
			
		||||
                "-DBUILD_TESTING=${input:buildTestingInput}"
 | 
			
		||||
            ],
 | 
			
		||||
            "group": "build",
 | 
			
		||||
            "problemMatcher": [],
 | 
			
		||||
            "detail": "Generate the build system files with CMake."
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "label": "cmake-build",
 | 
			
		||||
            "type": "shell",
 | 
			
		||||
            "command": "cmake",
 | 
			
		||||
            "args": [
 | 
			
		||||
                "--build", "build",
 | 
			
		||||
                "-j$(nproc)",
 | 
			
		||||
            ],
 | 
			
		||||
            "group": {
 | 
			
		||||
                "kind": "build",
 | 
			
		||||
                "isDefault": true
 | 
			
		||||
            },
 | 
			
		||||
            "problemMatcher": [
 | 
			
		||||
                "$gcc"
 | 
			
		||||
            ],
 | 
			
		||||
            "detail": "Compile the project using the generated build system.",
 | 
			
		||||
            "dependsOn": [
 | 
			
		||||
                "cmake-configure"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "label": "cmake-clean",
 | 
			
		||||
            "type": "shell",
 | 
			
		||||
            "command": "rm",
 | 
			
		||||
            "args": [
 | 
			
		||||
                "-rf",
 | 
			
		||||
                "build"
 | 
			
		||||
            ],
 | 
			
		||||
            "group": "build",
 | 
			
		||||
            "problemMatcher": [],
 | 
			
		||||
            "detail": "Clean the build directory."
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "inputs": [
 | 
			
		||||
        {
 | 
			
		||||
            "id": "buildTestingInput",
 | 
			
		||||
            "type": "pickString",
 | 
			
		||||
            "description": "Do you want to enable testing?",
 | 
			
		||||
            "options": ["True", "False"],
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2
									
								
								3rdparty/md4c
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
							
								
								
									
										2
									
								
								3rdparty/qrencode-win32
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
							
								
								
									
										258
									
								
								CMakeLists.txt
									
									
									
									
									
								
							
							
						
						@ -1,4 +1,4 @@
 | 
			
		||||
# Copyright (C) 2020-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2020-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Albert Babí <albert.babi@savoirfairelinux.com>
 | 
			
		||||
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
 | 
			
		||||
@ -21,7 +21,7 @@
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
 | 
			
		||||
 | 
			
		||||
cmake_minimum_required(VERSION 3.16)
 | 
			
		||||
cmake_minimum_required(VERSION 3.19)
 | 
			
		||||
 | 
			
		||||
if(APPLE)
 | 
			
		||||
  project(Jami)
 | 
			
		||||
@ -29,11 +29,42 @@ else()
 | 
			
		||||
  project(jami)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
option(WITH_DAEMON_SUBMODULE "Build with daemon submodule" OFF)
 | 
			
		||||
option(ENABLE_TESTS "Build with tests" OFF)
 | 
			
		||||
set(CMAKE_SCRIPTS_DIR ${PROJECT_SOURCE_DIR}/extras/build/cmake)
 | 
			
		||||
include(${CMAKE_SCRIPTS_DIR}/extra_tools.cmake)
 | 
			
		||||
 | 
			
		||||
option(WITH_DAEMON_SUBMODULE "Build with daemon submodule" ON)
 | 
			
		||||
option(JAMICORE_AS_SUBDIR "Build Jami-core as a subdir dependency" OFF)
 | 
			
		||||
option(WITH_WEBENGINE "Build with WebEngine" ON)
 | 
			
		||||
if(WITH_WEBENGINE)
 | 
			
		||||
  add_definitions(-DWITH_WEBENGINE)
 | 
			
		||||
option(ENABLE_LIBWRAP "Enable libwrap (single process mode)" ON)
 | 
			
		||||
if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 | 
			
		||||
    OR ENABLE_LIBWRAP
 | 
			
		||||
    # because mocks use the same interface present in qtwrapper/
 | 
			
		||||
    OR ENABLE_TEST)
 | 
			
		||||
  set(ENABLE_LIBWRAP true)
 | 
			
		||||
endif()
 | 
			
		||||
option(ENABLE_ASAN "Enable address sanitization" OFF)
 | 
			
		||||
if(ENABLE_ASAN AND NOT MSVC)
 | 
			
		||||
  message(STATUS "Address sanitization enabled for client")
 | 
			
		||||
  # Add AddressSanitizer flags for both compiler and linker
 | 
			
		||||
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
 | 
			
		||||
  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# These values are exposed to QML and are better off being defined as values.
 | 
			
		||||
define_macro_with_value(WITH_WEBENGINE)
 | 
			
		||||
define_macro_with_value(APPSTORE)
 | 
			
		||||
 | 
			
		||||
# jami-core
 | 
			
		||||
if(NOT WITH_DAEMON_SUBMODULE)
 | 
			
		||||
  set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/../daemon)
 | 
			
		||||
else()
 | 
			
		||||
  set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/daemon)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# For now only MSVC is supported for building Jami-core within the
 | 
			
		||||
# client cmake.
 | 
			
		||||
if(JAMICORE_AS_SUBDIR)
 | 
			
		||||
  add_subdirectory(${DAEMON_DIR})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# init some variables for includes, libs, etc.
 | 
			
		||||
@ -43,24 +74,51 @@ set(CLIENT_LIBS, "")
 | 
			
		||||
 | 
			
		||||
set(CMAKE_CXX_STANDARD 17)
 | 
			
		||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
			
		||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -ggdb")
 | 
			
		||||
if(NOT MSVC)
 | 
			
		||||
  set(CMAKE_CXX_FLAGS_DEBUG "-Og -ggdb")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
include(${PROJECT_SOURCE_DIR}/extras/build/cmake/contrib_tools.cmake)
 | 
			
		||||
set(EXTRA_PATCHES_DIR ${PROJECT_SOURCE_DIR}/extras/patches)
 | 
			
		||||
 | 
			
		||||
list(APPEND QWINDOWKIT_OPTIONS
 | 
			
		||||
  QWINDOWKIT_BUILD_WIDGETS OFF
 | 
			
		||||
  QWINDOWKIT_INSTALL OFF
 | 
			
		||||
  QWINDOWKIT_BUILD_STATIC ON
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if(WIN32)
 | 
			
		||||
  list(APPEND QWINDOWKIT_OPTIONS QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS OFF)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# qmsetup uses the wrong package dir on some distributions
 | 
			
		||||
# (including Fedora and openSUSE Leap at least)
 | 
			
		||||
check_distro_needs_qmsetup_patch(DISTRO_NEEDS_QMSETUP_PATCH)
 | 
			
		||||
if(DISTRO_NEEDS_QMSETUP_PATCH)
 | 
			
		||||
  list(APPEND QWINDOWKIT_PATCHES ${EXTRA_PATCHES_DIR}/0001-fix-fedora-fc-build.patch)
 | 
			
		||||
  set(qmsetup_cmake_path ${CMAKE_BINARY_DIR}/_install/lib64/cmake/qmsetup)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# qwindowkit (frameless window)
 | 
			
		||||
add_fetch_content(
 | 
			
		||||
  TARGET qwindowkit
 | 
			
		||||
  URL https://github.com/stdware/qwindowkit.git
 | 
			
		||||
  BRANCH 79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef
 | 
			
		||||
  PATCHES ${QWINDOWKIT_PATCHES}
 | 
			
		||||
  OPTIONS ${QWINDOWKIT_OPTIONS}
 | 
			
		||||
)
 | 
			
		||||
list(APPEND CLIENT_INCLUDE_DIRS ${QWindowKit_BINARY_DIR}/include)
 | 
			
		||||
list(APPEND CLIENT_LIBS QWindowKit::Quick)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_AUTOMOC ON)
 | 
			
		||||
set(CMAKE_AUTORCC ON)
 | 
			
		||||
set(CMAKE_AUTOUIC ON)
 | 
			
		||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
 | 
			
		||||
 | 
			
		||||
# Main project directories:
 | 
			
		||||
 | 
			
		||||
# jami-daemon
 | 
			
		||||
if(NOT WITH_DAEMON_SUBMODULE)
 | 
			
		||||
  set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/../daemon)
 | 
			
		||||
else()
 | 
			
		||||
  set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/daemon)
 | 
			
		||||
endif()
 | 
			
		||||
# src
 | 
			
		||||
set(LIBCLIENT_SRC_DIR ${PROJECT_SOURCE_DIR}/src/libclient)
 | 
			
		||||
set(APP_SRC_DIR ${PROJECT_SOURCE_DIR}/src/app)
 | 
			
		||||
set(VERSION_INFO_DIR ${PROJECT_SOURCE_DIR}/src/version_info)
 | 
			
		||||
# doc
 | 
			
		||||
set(DOC_DIR ${PROJECT_SOURCE_DIR}/doc)
 | 
			
		||||
# extras
 | 
			
		||||
@ -74,29 +132,24 @@ set(TESTS_DIR ${PROJECT_SOURCE_DIR}/tests)
 | 
			
		||||
# Here we let find_package(<PackageName>...) try to find Qt 6,
 | 
			
		||||
# If it is found, find_package will succeed, and the CMake variable
 | 
			
		||||
# QT_VERSION_MAJOR will be defined 6.
 | 
			
		||||
set(QT6_MINVER_MINOR 4)
 | 
			
		||||
set(QT6_MINVER_MINOR 6)
 | 
			
		||||
if(QT6_VER AND QT6_PATH)
 | 
			
		||||
  find_package(QT NAMES Qt6 REQUIRED
 | 
			
		||||
    PATHS ${QT6_PATH} NO_DEFAULT_PATH)
 | 
			
		||||
else()
 | 
			
		||||
  message(STATUS "Looking for Qt 6" ${CMAKE_PREFIX_PATH})
 | 
			
		||||
  message(STATUS "Looking for Qt 6 in ${CMAKE_PREFIX_PATH}")
 | 
			
		||||
  find_package(QT NAMES Qt6 REQUIRED)
 | 
			
		||||
endif()
 | 
			
		||||
if (${QT_VERSION_MINOR} GREATER_EQUAL ${QT6_MINVER_MINOR})
 | 
			
		||||
  # Qt version is 6.4 or higher
 | 
			
		||||
  # Enforce a minimum Qt version of 6.6.2 for the Windows build
 | 
			
		||||
  # https://github.com/stdware/qwindowkit/issues/23
 | 
			
		||||
  if(MSVC AND ${QT_VERSION_MINOR} EQUAL 6 AND ${QT_VERSION_PATCH} LESS 2)
 | 
			
		||||
    message(FATAL_ERROR "Qt 6.6.2 or higher is required. Found ${QT_VERSION}")
 | 
			
		||||
  endif()
 | 
			
		||||
  # Qt version is 6.6 or higher
 | 
			
		||||
  message(STATUS "Found a suitable Qt version ${QT_VERSION}")
 | 
			
		||||
else()
 | 
			
		||||
  message(FATAL_ERROR "Qt 6.4 or higher is required. Found ${QT_VERSION}")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(MSVC)
 | 
			
		||||
  set(DEFAULT_BUILD_TYPE "Debug")
 | 
			
		||||
  if(NOT CMAKE_BUILD_TYPE)
 | 
			
		||||
    message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.")
 | 
			
		||||
    set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE
 | 
			
		||||
        STRING "Choose the type of build." FORCE)
 | 
			
		||||
  endif()
 | 
			
		||||
  set(OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/x64/${CMAKE_BUILD_TYPE}")
 | 
			
		||||
  message(FATAL_ERROR "Qt 6.6 or higher is required. Found ${QT_VERSION}")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# libjamiclient
 | 
			
		||||
@ -159,6 +212,23 @@ include(FindPython3)
 | 
			
		||||
find_package(Python3 3.6 REQUIRED COMPONENTS Interpreter)
 | 
			
		||||
set(PYTHON_EXEC ${Python3_EXECUTABLE})
 | 
			
		||||
 | 
			
		||||
# Versioning and build ID generation
 | 
			
		||||
set(VERSION_FILE ${CMAKE_CURRENT_BINARY_DIR}/version_info.cpp)
 | 
			
		||||
# Touch the file to make sure it exists at configure time as
 | 
			
		||||
# we add it to the target_sources below.
 | 
			
		||||
file(TOUCH ${VERSION_FILE})
 | 
			
		||||
add_custom_target(
 | 
			
		||||
  generate_version_info ALL
 | 
			
		||||
  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
 | 
			
		||||
  COMMAND ${CMAKE_COMMAND}
 | 
			
		||||
  -DAPP_SOURCE_DIR=${CMAKE_SOURCE_DIR}
 | 
			
		||||
  -DAPP_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
 | 
			
		||||
  -DCORE_SOURCE_DIR=${DAEMON_DIR}
 | 
			
		||||
  -DCPP_INT_FILE=${VERSION_INFO_DIR}/version_info.cpp.in
 | 
			
		||||
  -P ${CMAKE_SCRIPTS_DIR}/generate_version_info.cmake
 | 
			
		||||
)
 | 
			
		||||
list(APPEND CLIENT_INCLUDE_DIRS ${VERSION_INFO_DIR})
 | 
			
		||||
 | 
			
		||||
# Resource auto-gen
 | 
			
		||||
# QML and related code files
 | 
			
		||||
# Check files in the app's src directory and force a reconfigure if it
 | 
			
		||||
@ -175,6 +245,7 @@ execute_process(
 | 
			
		||||
  ${PYTHON_EXEC} ${SCRIPTS_DIR}/gen_qml_qrc.py ${GEN_QRC_ARGS}
 | 
			
		||||
  WORKING_DIRECTORY ${APP_SRC_DIR})
 | 
			
		||||
set(QML_RESOURCES_QML ${APP_SRC_DIR}/qml.qrc)
 | 
			
		||||
 | 
			
		||||
# Image and misc. resources
 | 
			
		||||
# check files in the resources directory and force a reconfigure if it
 | 
			
		||||
# changes
 | 
			
		||||
@ -186,10 +257,16 @@ execute_process(
 | 
			
		||||
  WORKING_DIRECTORY ${APP_SRC_DIR})
 | 
			
		||||
set(QML_RESOURCES ${APP_SRC_DIR}/resources.qrc)
 | 
			
		||||
 | 
			
		||||
# Find modules (QtCreator) under the root source dir.
 | 
			
		||||
list(APPEND QML_DIRS ${APP_SRC_DIR})
 | 
			
		||||
set(QML_IMPORT_PATH ${QML_DIRS}
 | 
			
		||||
  CACHE STRING "Qt Creator extra qml import paths" FORCE)
 | 
			
		||||
 | 
			
		||||
# library compatibility (boost, libnotify, etc.)
 | 
			
		||||
add_definitions(-DQT_NO_KEYWORDS)
 | 
			
		||||
 | 
			
		||||
set(COMMON_SOURCES
 | 
			
		||||
  ${VERSION_FILE}
 | 
			
		||||
  ${APP_SRC_DIR}/bannedlistmodel.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/accountlistmodel.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/networkmanager.cpp
 | 
			
		||||
@ -244,9 +321,12 @@ set(COMMON_SOURCES
 | 
			
		||||
  ${APP_SRC_DIR}/messageparser.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/previewengine.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/imagedownloader.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/pluginversionmanager.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/connectioninfolistmodel.cpp
 | 
			
		||||
  ${APP_SRC_DIR}/pluginversionmanager.cpp)
 | 
			
		||||
 | 
			
		||||
set(COMMON_HEADERS
 | 
			
		||||
  ${APP_SRC_DIR}/global.h
 | 
			
		||||
  ${APP_SRC_DIR}/avatarimageprovider.h
 | 
			
		||||
  ${APP_SRC_DIR}/networkmanager.h
 | 
			
		||||
  ${APP_SRC_DIR}/smartlistmodel.h
 | 
			
		||||
@ -310,8 +390,9 @@ set(COMMON_HEADERS
 | 
			
		||||
  ${APP_SRC_DIR}/messageparser.h
 | 
			
		||||
  ${APP_SRC_DIR}/htmlparser.h
 | 
			
		||||
  ${APP_SRC_DIR}/imagedownloader.h
 | 
			
		||||
  ${APP_SRC_DIR}/pluginversionmanager.h)
 | 
			
		||||
 | 
			
		||||
  ${APP_SRC_DIR}/pluginversionmanager.h
 | 
			
		||||
  ${APP_SRC_DIR}/connectioninfolistmodel.h
 | 
			
		||||
  ${APP_SRC_DIR}/pttlistener.h)
 | 
			
		||||
 | 
			
		||||
# For libavutil/avframe.
 | 
			
		||||
set(LIBJAMI_CONTRIB_DIR "${DAEMON_DIR}/contrib")
 | 
			
		||||
@ -327,6 +408,8 @@ if(Vulkan_FOUND)
 | 
			
		||||
  add_definitions(-DHAS_VULKAN)
 | 
			
		||||
  include_directories(${Vulkan_INCLUDE_DIR})
 | 
			
		||||
endif()
 | 
			
		||||
# Define PREFER_VULKAN to prefer Vulkan over the default API
 | 
			
		||||
# on GNU/Linux and Windows. Metal is always preferred on macOS.
 | 
			
		||||
 | 
			
		||||
if(MSVC)
 | 
			
		||||
  set(WINDOWS_SYS_LIBS
 | 
			
		||||
@ -347,10 +430,6 @@ if(MSVC)
 | 
			
		||||
  # preprocessor defines
 | 
			
		||||
  add_definitions(-DUNICODE -DQT_NO_DEBUG -DNDEBUG)
 | 
			
		||||
 | 
			
		||||
  # dependencies
 | 
			
		||||
  set(QRENCODE_DIR
 | 
			
		||||
    ${PROJECT_SOURCE_DIR}/3rdparty/qrencode-win32/qrencode-win32)
 | 
			
		||||
 | 
			
		||||
  # compiler options
 | 
			
		||||
  add_compile_options(
 | 
			
		||||
    /wd4068 /wd4099 /wd4189 /wd4267 /wd4577 /wd4467 /wd4715 /wd4828)
 | 
			
		||||
@ -368,12 +447,13 @@ if(MSVC)
 | 
			
		||||
    "/NODEFAULTLIB:LIBCMT")
 | 
			
		||||
 | 
			
		||||
  # client deps
 | 
			
		||||
  set(QRENCODE_LIB
 | 
			
		||||
    ${QRENCODE_DIR}/vc8/qrcodelib/x64/Release-Lib/qrcodelib.lib)
 | 
			
		||||
  set(QRENCODE_DIR ${PROJECT_SOURCE_DIR}/3rdparty/qrencode-win32/qrencode-win32)
 | 
			
		||||
  file(GLOB_RECURSE QRENCODE_LIB ${QRENCODE_DIR}/qrcodelib.lib)
 | 
			
		||||
  file(GLOB_RECURSE QRENCODE_INCLUDE ${QRENCODE_DIR}/qrencode.h)
 | 
			
		||||
  get_filename_component(QRENCODE_INCLUDE_DIR ${QRENCODE_INCLUDE} DIRECTORY)
 | 
			
		||||
 | 
			
		||||
  # daemon
 | 
			
		||||
  set(JAMID_SRC_PATH ${DAEMON_DIR}/contrib/msvc/include)
 | 
			
		||||
  set(JAMID_LIB ${DAEMON_DIR}/build/x64/ReleaseLib_win32/bin/libjami.lib)
 | 
			
		||||
  set(GNUTLS_LIB ${DAEMON_DIR}/contrib/msvc/lib/x64/libgnutls.lib)
 | 
			
		||||
 | 
			
		||||
  # Beta config
 | 
			
		||||
@ -389,16 +469,18 @@ if(MSVC)
 | 
			
		||||
  include_directories(
 | 
			
		||||
    ${JAMID_SRC_PATH}
 | 
			
		||||
    ${LIBCLIENT_SRC_DIR}
 | 
			
		||||
    ${QRENCODE_DIR})
 | 
			
		||||
    ${QRENCODE_INCLUDE_DIR})
 | 
			
		||||
elseif (NOT APPLE)
 | 
			
		||||
  list(APPEND COMMON_SOURCES
 | 
			
		||||
    ${APP_SRC_DIR}/xrectsel.c
 | 
			
		||||
    ${APP_SRC_DIR}/connectivitymonitor.cpp
 | 
			
		||||
    ${APP_SRC_DIR}/dbuserrorhandler.cpp
 | 
			
		||||
    ${APP_SRC_DIR}/appversionmanager.cpp)
 | 
			
		||||
    ${APP_SRC_DIR}/appversionmanager.cpp
 | 
			
		||||
    ${APP_SRC_DIR}/screencastportal.cpp)
 | 
			
		||||
  list(APPEND COMMON_HEADERS
 | 
			
		||||
    ${APP_SRC_DIR}/xrectsel.h
 | 
			
		||||
    ${APP_SRC_DIR}/dbuserrorhandler.h)
 | 
			
		||||
    ${APP_SRC_DIR}/dbuserrorhandler.h
 | 
			
		||||
    ${APP_SRC_DIR}/screencastportal.h)
 | 
			
		||||
  list(APPEND QT_MODULES DBus)
 | 
			
		||||
 | 
			
		||||
  find_package(PkgConfig REQUIRED)
 | 
			
		||||
@ -413,6 +495,11 @@ elseif (NOT APPLE)
 | 
			
		||||
    add_definitions(${GIO_CFLAGS})
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  pkg_check_modules(GIOUNIX REQUIRED gio-unix-2.0)
 | 
			
		||||
  if(GIOUNIX_FOUND)
 | 
			
		||||
    add_definitions(${GIOUNIX_CFLAGS})
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  pkg_check_modules(LIBNM libnm)
 | 
			
		||||
  if(LIBNM_FOUND)
 | 
			
		||||
    add_definitions(-DUSE_LIBNM)
 | 
			
		||||
@ -493,6 +580,29 @@ else()
 | 
			
		||||
    OPTIONAL_COMPONENTS LinguistTools)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
 | 
			
		||||
    if (DEFINED ENV{XDG_SESSION_TYPE})
 | 
			
		||||
        if ($ENV{XDG_SESSION_TYPE} STREQUAL "x11")
 | 
			
		||||
            set(PTT_PLATFORM "x11")
 | 
			
		||||
            list(APPEND COMMON_HEADER ${APP_SRC_DIR}/platform/X11/xcbkeyboard.H)
 | 
			
		||||
        # TODO: add Wayland support
 | 
			
		||||
        endif ()
 | 
			
		||||
    endif ()
 | 
			
		||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
 | 
			
		||||
    set(PTT_PLATFORM "windows")
 | 
			
		||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
 | 
			
		||||
    set(PTT_PLATFORM "macos")
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
if (NOT ${PTT_PLATFORM} STREQUAL "")
 | 
			
		||||
    message(STATUS "Platform: ${PTT_PLATFORM}")
 | 
			
		||||
    add_definitions(-DHAVE_GLOBAL_PTT)
 | 
			
		||||
    list(APPEND COMMON_SOURCES ${APP_SRC_DIR}/platform/${PTT_PLATFORM}/pttlistener.cpp)
 | 
			
		||||
else ()
 | 
			
		||||
    message(WARNING "Global push-to-talk not supported.")
 | 
			
		||||
    list(APPEND COMMON_SOURCES ${APP_SRC_DIR}/platform/local/pttlistener.cpp)
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
# common includes
 | 
			
		||||
include_directories(
 | 
			
		||||
  ${PROJECT_SOURCE_DIR}
 | 
			
		||||
@ -501,6 +611,7 @@ include_directories(
 | 
			
		||||
if(ENABLE_LIBWRAP)
 | 
			
		||||
  list(APPEND COMMON_HEADERS
 | 
			
		||||
    ${LIBCLIENT_SRC_DIR}/qtwrapper/instancemanager_wrap.h)
 | 
			
		||||
  add_definitions(-DENABLE_LIBWRAP=true)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# SFPM
 | 
			
		||||
@ -509,6 +620,7 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
 | 
			
		||||
set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
 | 
			
		||||
 | 
			
		||||
# md4c
 | 
			
		||||
set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE)
 | 
			
		||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
 | 
			
		||||
add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
 | 
			
		||||
list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
 | 
			
		||||
@ -534,6 +646,9 @@ qt_add_executable(
 | 
			
		||||
  ${QML_RESOURCES_QML}
 | 
			
		||||
  ${SFPM_OBJECTS})
 | 
			
		||||
 | 
			
		||||
# Make sure we can find the generated version file
 | 
			
		||||
add_dependencies(${PROJECT_NAME} generate_version_info)
 | 
			
		||||
 | 
			
		||||
foreach(MODULE ${QT_MODULES})
 | 
			
		||||
  list(APPEND QT_LIBS "Qt::${MODULE}")
 | 
			
		||||
endforeach()
 | 
			
		||||
@ -546,7 +661,7 @@ if(MSVC)
 | 
			
		||||
    WIN32_EXECUTABLE TRUE)
 | 
			
		||||
 | 
			
		||||
  list(APPEND CLIENT_LIBS
 | 
			
		||||
    ${JAMID_LIB}
 | 
			
		||||
    ${LIBJAMI_LIB}
 | 
			
		||||
    ${GNUTLS_LIB}
 | 
			
		||||
    ${LIBCLIENT_NAME}
 | 
			
		||||
    ${QT_LIBS}
 | 
			
		||||
@ -593,7 +708,6 @@ elseif (NOT APPLE)
 | 
			
		||||
    ${GLIB_LIBRARIES}
 | 
			
		||||
    ${GIO_LIBRARIES})
 | 
			
		||||
 | 
			
		||||
  # Installation rules
 | 
			
		||||
  install(
 | 
			
		||||
    TARGETS ${PROJECT_NAME}
 | 
			
		||||
    RUNTIME DESTINATION bin)
 | 
			
		||||
@ -724,16 +838,24 @@ else()
 | 
			
		||||
  list(APPEND CLIENT_LIBS
 | 
			
		||||
    "-framework AVFoundation"
 | 
			
		||||
    "-framework CoreAudio -framework CoreMedia -framework CoreVideo"
 | 
			
		||||
    "-framework VideoToolbox -framework AudioUnit"
 | 
			
		||||
    "-framework VideoToolbox -framework AudioUnit -framework Carbon"
 | 
			
		||||
    "-framework Security"
 | 
			
		||||
      compression
 | 
			
		||||
      resolv
 | 
			
		||||
    )
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  set(APP_CONTAINER "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app/Contents")
 | 
			
		||||
 | 
			
		||||
  # ringtones. Copy the entire directory to the app bundle.
 | 
			
		||||
  # daemon/ringtones -> Jami.app/Contents/Resources/ringtones
 | 
			
		||||
  execute_process(
 | 
			
		||||
    COMMAND ${CMAKE_COMMAND} -E copy_directory
 | 
			
		||||
    ${DAEMON_DIR}/ringtones
 | 
			
		||||
    ${APP_CONTAINER}/Resources/ringtones
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  # translations
 | 
			
		||||
  if(Qt${QT_VERSION_MAJOR}LinguistTools_FOUND)
 | 
			
		||||
    set(APP_CONTAINER
 | 
			
		||||
      "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app/Contents")
 | 
			
		||||
    file(GLOB TS_FILES ${PROJECT_SOURCE_DIR}/translations/*.ts)
 | 
			
		||||
 | 
			
		||||
    # Generate lproj folders.
 | 
			
		||||
@ -761,26 +883,26 @@ else()
 | 
			
		||||
          MACOSX_BUNDLE_SHORT_VERSION_STRING "${JAMI_VERSION}"
 | 
			
		||||
          MACOSX_BUNDLE_BUNDLE_VERSION "${JAMI_BUILD}"
 | 
			
		||||
          MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}")
 | 
			
		||||
      if(APPSTORE)
 | 
			
		||||
          message(STATUS "app store version")
 | 
			
		||||
          set_target_properties(${PROJECT_NAME} PROPERTIES
 | 
			
		||||
               XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/resources/entitlements/appstore/Jami.entitlements")
 | 
			
		||||
      else()
 | 
			
		||||
          set_target_properties(${PROJECT_NAME} PROPERTIES
 | 
			
		||||
                SPARKLE_URL "${SPARKLE_URL}"
 | 
			
		||||
                SPARKLE_PUBLIC_KEY "${SPARKLE_PUBLIC_KEY}"
 | 
			
		||||
                XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/resources/entitlements/Jami.entitlements"
 | 
			
		||||
                XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME TRUE)
 | 
			
		||||
      endif()
 | 
			
		||||
      if(DEPLOY)
 | 
			
		||||
          add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
 | 
			
		||||
                             COMMAND ${CMAKE_COMMAND} -DQML_SRC_DIR=${SRC_DIR}
 | 
			
		||||
                             -DMAC_DEPLOY_QT_PATH=${CMAKE_PREFIX_PATH}/bin
 | 
			
		||||
                             -DEXE_NAME="${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app"
 | 
			
		||||
                             -DSPARKLE_PATH=${SPARKLE_FRAMEWORK}
 | 
			
		||||
                             -DENABLE_SPARKLE=${ENABLE_SPARKLE}
 | 
			
		||||
                             -P ${EXTRAS_DIR}/build/cmake/macos_qt_deploy.cmake)
 | 
			
		||||
      endif()
 | 
			
		||||
  if(APPSTORE)
 | 
			
		||||
    message(STATUS "app store version")
 | 
			
		||||
    set_target_properties(${PROJECT_NAME} PROPERTIES
 | 
			
		||||
          XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/resources/entitlements/appstore/Jami.entitlements")
 | 
			
		||||
  else()
 | 
			
		||||
    set_target_properties(${PROJECT_NAME} PROPERTIES
 | 
			
		||||
          SPARKLE_URL "${SPARKLE_URL}"
 | 
			
		||||
          SPARKLE_PUBLIC_KEY "${SPARKLE_PUBLIC_KEY}"
 | 
			
		||||
          XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/resources/entitlements/Jami.entitlements"
 | 
			
		||||
          XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME TRUE)
 | 
			
		||||
  endif()
 | 
			
		||||
  if(DEPLOY)
 | 
			
		||||
    execute_process(COMMAND
 | 
			
		||||
      "${CMAKE_PREFIX_PATH}/bin/macdeployqt"
 | 
			
		||||
      "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app"
 | 
			
		||||
      -qmldir=${QML_SRC_DIR})
 | 
			
		||||
    if(${ENABLE_SPARKLE} MATCHES true)
 | 
			
		||||
      file(COPY ${SPARKLE_FRAMEWORK} DESTINATION ${EXE_NAME}/Contents/Frameworks/)
 | 
			
		||||
    endif()
 | 
			
		||||
  endif()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_include_directories(${PROJECT_NAME} PRIVATE ${CLIENT_INCLUDE_DIRS})
 | 
			
		||||
@ -791,7 +913,7 @@ qt_import_qml_plugins(${PROJECT_NAME})
 | 
			
		||||
qt_finalize_executable(${PROJECT_NAME})
 | 
			
		||||
 | 
			
		||||
# tests
 | 
			
		||||
if(ENABLE_TESTS)
 | 
			
		||||
if(BUILD_TESTING)
 | 
			
		||||
  message("Add Jami tests")
 | 
			
		||||
  add_subdirectory(${TESTS_DIR})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										33
									
								
								INSTALL.md
									
									
									
									
									
								
							
							
						
						@ -7,14 +7,14 @@ There are essentially two ways to build `client-qt`:
 | 
			
		||||
 | 
			
		||||
## Disclaimer
 | 
			
		||||
 | 
			
		||||
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.4 is necessary.
 | 
			
		||||
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.6 is necessary.
 | 
			
		||||
This version is generally not packaged on a lot of platforms, and to control available plugins and such, we have our own Qt packaged (available on https://jami.net on the distributions we support).
 | 
			
		||||
So, you will need to get Qt 6.4 first. For this, there is 3 methods:
 | 
			
		||||
So, you will need to get Qt 6.6 first. For this, there is 3 methods:
 | 
			
		||||
 | 
			
		||||
### Qt from our repo (recommended)
 | 
			
		||||
 | 
			
		||||
If your distribution is supported, we provide a Qt package (libqt-jami) on our repo.
 | 
			
		||||
The files will be installed in `/usr/lib/libqt-jami`.
 | 
			
		||||
The files will be installed to `/usr/lib/libqt-jami` on Debian-like distributions. For RPM based distributions the files will be installed to `/usr/lib64/qt-jami`.
 | 
			
		||||
 | 
			
		||||
#### Install libqt-jami, Ubuntu based
 | 
			
		||||
 | 
			
		||||
@ -49,7 +49,7 @@ sudo dnf update && sudo dnf install jami-libqt
 | 
			
		||||
 | 
			
		||||
### Qt from your distribution
 | 
			
		||||
 | 
			
		||||
If Qt 6.4 is available, you can use the packages from your distribution:
 | 
			
		||||
If Qt 6.6 is available, you can use the packages from your distribution:
 | 
			
		||||
 | 
			
		||||
It should be (For now qt5 only is packaged by distributions, so names can change).
 | 
			
		||||
 | 
			
		||||
@ -118,7 +118,7 @@ Then, you can build daemon and the client using:
 | 
			
		||||
 | 
			
		||||
If you use a Qt version that is not system-wide installed, you need to
 | 
			
		||||
specify its path using the `--qt` flag, e.g.
 | 
			
		||||
`./build.py --install --qt=/home/<username>/Qt/6.4.1/gcc_64`.
 | 
			
		||||
`./build.py --install --qt=/home/<username>/Qt/6.6.1/gcc_64`.
 | 
			
		||||
 | 
			
		||||
Now you will have the daemon in `daemon/bin/dbus/jamid` and the client in
 | 
			
		||||
`build/jami`. You can now run Jami using:
 | 
			
		||||
@ -131,10 +131,15 @@ Notes:
 | 
			
		||||
 | 
			
		||||
- `--global-install` to install client-qt globally under /usr/local
 | 
			
		||||
- `--prefix` to change the destination of the install.
 | 
			
		||||
+ For developers:
 | 
			
		||||
    + `--asan` add address sanitizer on the binary
 | 
			
		||||
    + `--debug` enable debug symbols
 | 
			
		||||
    + `--testing` will build the tests for both the daemon and client
 | 
			
		||||
    + `--no-libwrap` will build the DBUS version.
 | 
			
		||||
 | 
			
		||||
## Build only the client
 | 
			
		||||
 | 
			
		||||
In order to use the Qt Client it is necessary to have the Qt version 6.4 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
 | 
			
		||||
In order to use the Qt Client it is necessary to have the Qt version 6.6 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
 | 
			
		||||
 | 
			
		||||
## Build only this repository
 | 
			
		||||
 | 
			
		||||
@ -184,7 +189,7 @@ Only 64-bit MSVC build can be compiled.
 | 
			
		||||
 | 
			
		||||
- Download [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)
 | 
			
		||||
 | 
			
		||||
- Using the online installer, install the following Qt 6.4.3 components:
 | 
			
		||||
- Using the online installer, install the following Qt 6.6.1 components:
 | 
			
		||||
 | 
			
		||||
  - Git 2.10.2
 | 
			
		||||
  - MSVC 2019 64-bit
 | 
			
		||||
@ -203,11 +208,11 @@ Only 64-bit MSVC build can be compiled.
 | 
			
		||||
  | ------------ | ------------ | --------------------------------------------------- | ---------------- |
 | 
			
		||||
  | Requirement: | 10.0.18362.0 | V142 (VisualStudio 2019) / V143 (VisualStudio 2022) | matching Toolset |
 | 
			
		||||
 | 
			
		||||
- Install Qt Vs Tools under extensions, and configure msvc2017*64 path under Qt Options. \_See the Qt notes below.*
 | 
			
		||||
- Install Qt Vs Tools under extensions, and configure msvc2019\_64 path under Qt Options. *See the Qt notes below.*
 | 
			
		||||
 | 
			
		||||
  |                      | Qt Version |
 | 
			
		||||
  | -------------------- | ---------- |
 | 
			
		||||
  | Minimum requirement: | 6.4.3      |
 | 
			
		||||
  | Minimum requirement: | 6.6.2      |
 | 
			
		||||
 | 
			
		||||
- Install [Python3](https://www.python.org/downloads/) for Windows
 | 
			
		||||
 | 
			
		||||
@ -233,7 +238,7 @@ Only 64-bit MSVC build can be compiled.
 | 
			
		||||
- Using a new **Non-Elevated Command Prompt**
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
    python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
 | 
			
		||||
    python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.6.2/msvc2019_64)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> **SDK** Note:
 | 
			
		||||
@ -276,19 +281,19 @@ Once the build has finished, you should then be able to use the Visual Studio So
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
    python extras\scripts\build-windows.py --init
 | 
			
		||||
    python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
 | 
			
		||||
    python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.6.2/msvc2019_64)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Building On MacOS
 | 
			
		||||
 | 
			
		||||
**Set up**
 | 
			
		||||
 | 
			
		||||
- macOS minimum version 10.15
 | 
			
		||||
- macOS minimum version 11.0
 | 
			
		||||
- install python3
 | 
			
		||||
- download xcode
 | 
			
		||||
- install Qt 6.4
 | 
			
		||||
- install Qt 6.6
 | 
			
		||||
 | 
			
		||||
Qt 6.4 can be installed via brew
 | 
			
		||||
Qt 6.6 can be installed via brew
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
brew install qt
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								JamiInstaller/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,3 +1,4 @@
 | 
			
		||||
/obj
 | 
			
		||||
/bin
 | 
			
		||||
Components.wxs
 | 
			
		||||
AppComponents.wxs
 | 
			
		||||
CrtComponents.wxs
 | 
			
		||||
 | 
			
		||||
@ -3,13 +3,11 @@
 | 
			
		||||
    <?define Name="Jami" ?>
 | 
			
		||||
    <?define ExeName="Jami" ?>
 | 
			
		||||
    <?define AppName="Jami" ?>
 | 
			
		||||
    <?define Manufacturer="Savoir-Faire Linux"?>
 | 
			
		||||
 | 
			
		||||
    <?if $(var.Configuration) = Release ?>
 | 
			
		||||
    <?define ReleaseDir="..\x64\Release"?>
 | 
			
		||||
    <?else?>
 | 
			
		||||
    <?define ReleaseDir="..\x64\Beta"?>
 | 
			
		||||
    <?endif ?>
 | 
			
		||||
 | 
			
		||||
    <?define Manufacturer="Savoir-Faire Linux"?>
 | 
			
		||||
    <?define UcrtDir="C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64"?>
 | 
			
		||||
</Include>
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-16"?>
 | 
			
		||||
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 | 
			
		||||
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 | 
			
		||||
  <DeployedProjects />
 | 
			
		||||
  <DirectoryMappings />
 | 
			
		||||
  <FileMappings />
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
<Project ToolsVersion="4.0"
 | 
			
		||||
  DefaultTargets="Build"
 | 
			
		||||
  InitialTargets="EnsureWixToolsetInstalled"
 | 
			
		||||
  xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
			
		||||
    <Platform Condition=" '$(Platform)' == '' ">x64</Platform>
 | 
			
		||||
@ -16,7 +19,7 @@
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
 | 
			
		||||
    <OutputPath>bin\$(Configuration)\</OutputPath>
 | 
			
		||||
    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
 | 
			
		||||
    <DefineConstants>HarvestPath=..\x64\Release</DefineConstants>
 | 
			
		||||
    <DefineConstants>AppHarvestPath=..\x64\Release;CrtHarvestPath=$(VC_CRT_Dir)</DefineConstants>
 | 
			
		||||
    <SuppressPdbOutput>True</SuppressPdbOutput>
 | 
			
		||||
    <CompilerAdditionalOptions>
 | 
			
		||||
    </CompilerAdditionalOptions>
 | 
			
		||||
@ -26,7 +29,7 @@
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Beta|x64' ">
 | 
			
		||||
    <OutputPath>bin\$(Configuration)\</OutputPath>
 | 
			
		||||
    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
 | 
			
		||||
    <DefineConstants>HarvestPath=..\x64\Beta</DefineConstants>
 | 
			
		||||
    <DefineConstants>AppHarvestPath=..\x64\Beta;CrtHarvestPath=$(VC_CRT_Dir)</DefineConstants>
 | 
			
		||||
    <SuppressPdbOutput>True</SuppressPdbOutput>
 | 
			
		||||
    <CompilerAdditionalOptions>
 | 
			
		||||
    </CompilerAdditionalOptions>
 | 
			
		||||
@ -35,8 +38,8 @@
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="Product.wxs" />
 | 
			
		||||
    <Compile Include="StandardComponents.wxs" />
 | 
			
		||||
    <Compile Include="Components.wxs" />
 | 
			
		||||
    <Compile Include="AppComponents.wxs" />
 | 
			
		||||
    <Compile Include="CrtComponents.wxs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Content Include="Config.wxi" />
 | 
			
		||||
@ -58,13 +61,36 @@
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <EmbeddedResource Include="Localization.wxl" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
 | 
			
		||||
  <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
 | 
			
		||||
  <Import Project="$(WixTargetsPath)"
 | 
			
		||||
    Condition=" '$(WixTargetsPath)' != '' " />
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets"
 | 
			
		||||
    Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
 | 
			
		||||
  <Target Name="EnsureWixToolsetInstalled"
 | 
			
		||||
    Condition=" '$(WixTargetsImported)' != 'true' ">
 | 
			
		||||
    <Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
 | 
			
		||||
  </Target>
 | 
			
		||||
  <Target Name="BeforeBuild">
 | 
			
		||||
    <HeatDirectory Directory="..\x64\$(Configuration)" PreprocessorVariable="var.HarvestPath" OutputFile="Components.wxs" ComponentGroupName="HeatGenerated" DirectoryRefId="APPLICATIONFOLDER" AutogenerateGuids="true" ToolPath="$(WixToolPath)" SuppressFragments="true" SuppressRegistry="true" SuppressRootDirectory="true" Transforms="HarvestFilter.xslt" />
 | 
			
		||||
    <HeatDirectory Directory="..\x64\$(Configuration)"
 | 
			
		||||
      PreprocessorVariable="var.AppHarvestPath"
 | 
			
		||||
      OutputFile="AppComponents.wxs"
 | 
			
		||||
      ComponentGroupName="AppHeatGenerated"
 | 
			
		||||
      DirectoryRefId="APPLICATIONFOLDER"
 | 
			
		||||
      AutogenerateGuids="true"
 | 
			
		||||
      ToolPath="$(WixToolPath)"
 | 
			
		||||
      SuppressFragments="true"
 | 
			
		||||
      SuppressRegistry="true"
 | 
			
		||||
      SuppressRootDirectory="true"
 | 
			
		||||
      Transforms="HarvestFilter.xslt" />
 | 
			
		||||
    <HeatDirectory Directory="$(VC_CRT_Dir)"
 | 
			
		||||
      PreprocessorVariable="var.CrtHarvestPath"
 | 
			
		||||
      OutputFile="CrtComponents.wxs"
 | 
			
		||||
      ComponentGroupName="CrtHeatGenerated"
 | 
			
		||||
      DirectoryRefId="APPLICATIONFOLDER"
 | 
			
		||||
      AutogenerateGuids="true"
 | 
			
		||||
      ToolPath="$(WixToolPath)"
 | 
			
		||||
      SuppressFragments="true"
 | 
			
		||||
      SuppressRegistry="true"
 | 
			
		||||
      SuppressRootDirectory="true" />
 | 
			
		||||
  </Target>
 | 
			
		||||
  <Target Name="AfterBuild">
 | 
			
		||||
  </Target>
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,14 @@
 | 
			
		||||
<WixLocalization Culture="en-us"
 | 
			
		||||
    xmlns="http://schemas.microsoft.com/wix/2006/localization">
 | 
			
		||||
    <String Id="AdvancedWelcomeEulaDlgDescriptionPerMachine">By installing this software you agree to the terms in the license agreement</String>
 | 
			
		||||
    <UI Dialog="ExitDialog" Control="OptionalCheckBox" Width="10" Height="10" X="135" Y="110" />
 | 
			
		||||
    <UI Dialog="ExitDialog" Control="OptionalText" X="150" Y="110" />
 | 
			
		||||
    <UI Dialog="ExitDialog"
 | 
			
		||||
        Control="OptionalCheckBox"
 | 
			
		||||
        Width="10"
 | 
			
		||||
        Height="10"
 | 
			
		||||
        X="135"
 | 
			
		||||
        Y="110" />
 | 
			
		||||
    <UI Dialog="ExitDialog"
 | 
			
		||||
        Control="OptionalText"
 | 
			
		||||
        X="150"
 | 
			
		||||
        Y="110" />
 | 
			
		||||
</WixLocalization>
 | 
			
		||||
 | 
			
		||||
@ -1,134 +1,220 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<?include Config.wxi?>
 | 
			
		||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 | 
			
		||||
  <Product Id="*" Name="$(var.Name)" Language="1033" Version="$(fun.AutoVersion(1.0))" Manufacturer="$(var.Manufacturer)" UpgradeCode="7c45b52b-0390-4fe8-947a-3f13e82dd346">
 | 
			
		||||
    <Package InstallerVersion="301" Compressed="yes" InstallScope="perMachine" />
 | 
			
		||||
  <Product Id="*"
 | 
			
		||||
    Name="$(var.Name)"
 | 
			
		||||
    Language="1033"
 | 
			
		||||
    Version="$(fun.AutoVersion(1.0))"
 | 
			
		||||
    Manufacturer="$(var.Manufacturer)"
 | 
			
		||||
    UpgradeCode="7c45b52b-0390-4fe8-947a-3f13e82dd346">
 | 
			
		||||
    <Package InstallerVersion="301"
 | 
			
		||||
      Compressed="yes"
 | 
			
		||||
      InstallScope="perMachine" />
 | 
			
		||||
 | 
			
		||||
    <MajorUpgrade Schedule="afterInstallInitialize" AllowDowngrades="yes"/>
 | 
			
		||||
    <MediaTemplate EmbedCab="yes" CompressionLevel="high" MaximumUncompressedMediaSize="4" />
 | 
			
		||||
    <MajorUpgrade Schedule="afterInstallInitialize"
 | 
			
		||||
      AllowDowngrades="yes"/>
 | 
			
		||||
    <MediaTemplate EmbedCab="yes"
 | 
			
		||||
      CompressionLevel="high"
 | 
			
		||||
      MaximumUncompressedMediaSize="4" />
 | 
			
		||||
 | 
			
		||||
    <!--Disables interaction of the package with the Restart Manager.-->
 | 
			
		||||
    <Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" />
 | 
			
		||||
    <Property Id="MSIRESTARTMANAGERCONTROL"
 | 
			
		||||
      Value="Disable" />
 | 
			
		||||
 | 
			
		||||
    <!--Icon File should be in release folder(not wix project), otherwise cannot be read-->
 | 
			
		||||
    <Icon Id="icon.ico" SourceFile="$(var.ReleaseDir)\jami.ico" />
 | 
			
		||||
    <Property Id="ARPPRODUCTICON" Value="icon.ico" />
 | 
			
		||||
    <Property Id="ARPNOMODIFY" Value="1" />
 | 
			
		||||
    <Icon Id="icon.ico"
 | 
			
		||||
      SourceFile="$(var.ReleaseDir)\jami.ico" />
 | 
			
		||||
    <Property Id="ARPPRODUCTICON"
 | 
			
		||||
      Value="icon.ico" />
 | 
			
		||||
    <Property Id="ARPNOMODIFY"
 | 
			
		||||
      Value="1" />
 | 
			
		||||
 | 
			
		||||
    <!-- It seems that QtWebEngineProcess.exe versioning requires us to force reinstall. -->
 | 
			
		||||
    <Property Id="REINSTALLMODE" Value="dms" />
 | 
			
		||||
    <Property Id="REINSTALLMODE"
 | 
			
		||||
      Value="dms" />
 | 
			
		||||
 | 
			
		||||
    <Feature Id="ProductFeature" Title="Main" Level="1" Absent="disallow">
 | 
			
		||||
      <ComponentGroupRef Id="StandardComponents" Primary="yes" />
 | 
			
		||||
      <ComponentGroupRef Id="HeatGenerated" />
 | 
			
		||||
    <Feature Id="ProductFeature"
 | 
			
		||||
      Title="Main"
 | 
			
		||||
      Level="1"
 | 
			
		||||
      Absent="disallow">
 | 
			
		||||
      <ComponentGroupRef Id="MainExecutable"
 | 
			
		||||
        Primary="yes" />
 | 
			
		||||
      <ComponentGroupRef Id="AppHeatGenerated" />
 | 
			
		||||
      <ComponentGroupRef Id="CrtHeatGenerated" />
 | 
			
		||||
      <ComponentRef Id="ApplicationShortcutDesktop" />
 | 
			
		||||
      <ComponentRef Id="ApplicationShortcutStartMenu" />
 | 
			
		||||
      <ComponentRef Id="RegistryEntries" />
 | 
			
		||||
      <ComponentRef Id="URLProtocolRegistryEntries" />
 | 
			
		||||
    </Feature>
 | 
			
		||||
 | 
			
		||||
    <!--Visual C++ Redist merge module-->
 | 
			
		||||
    <DirectoryRef Id="TARGETDIR">
 | 
			
		||||
      <Merge Id="VCRedist" SourceFile="$(env.VCRedistMergeModule)" DiskId="1" Language="0" />
 | 
			
		||||
    </DirectoryRef>
 | 
			
		||||
    <Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden" Level="1">
 | 
			
		||||
      <MergeRef Id="VCRedist"/>
 | 
			
		||||
    </Feature>
 | 
			
		||||
 | 
			
		||||
    <SetProperty After="FindRelatedProducts" Id="FirstInstall" Value="true">
 | 
			
		||||
    <SetProperty After="FindRelatedProducts"
 | 
			
		||||
      Id="FirstInstall"
 | 
			
		||||
      Value="true">
 | 
			
		||||
      NOT Installed AND NOT WIX_UPGRADE_DETECTED AND NOT WIX_DOWNGRADE_DETECTED
 | 
			
		||||
    </SetProperty>
 | 
			
		||||
    <SetProperty After="SetFirstInstall" Id="Upgrading" Value="true">
 | 
			
		||||
    <SetProperty After="SetFirstInstall"
 | 
			
		||||
      Id="Upgrading"
 | 
			
		||||
      Value="true">
 | 
			
		||||
      WIX_UPGRADE_DETECTED AND NOT (REMOVE="ALL")
 | 
			
		||||
    </SetProperty>
 | 
			
		||||
    <SetProperty After="RemoveExistingProducts" Id="RemovingForUpgrade" Sequence="execute" Value="true">
 | 
			
		||||
      (REMOVE="ALL") AND UPGRADINGPRODUCTCODE
 | 
			
		||||
    <SetProperty After="RemoveExistingProducts"
 | 
			
		||||
      Id="RemovingForUpgrade"
 | 
			
		||||
      Sequence="execute"
 | 
			
		||||
      Value="true"> (REMOVE="ALL") AND UPGRADINGPRODUCTCODE
 | 
			
		||||
    </SetProperty>
 | 
			
		||||
    <SetProperty After="SetUpgrading" Id="Uninstalling" Value="true">
 | 
			
		||||
    <SetProperty After="SetUpgrading"
 | 
			
		||||
      Id="Uninstalling"
 | 
			
		||||
      Value="true">
 | 
			
		||||
      Installed AND (REMOVE="ALL") AND NOT (WIX_UPGRADE_DETECTED OR UPGRADINGPRODUCTCODE)
 | 
			
		||||
    </SetProperty>
 | 
			
		||||
    <SetProperty After="SetUninstalling" Id="Maintenance" Value="true">
 | 
			
		||||
    <SetProperty After="SetUninstalling"
 | 
			
		||||
      Id="Maintenance"
 | 
			
		||||
      Value="true">
 | 
			
		||||
      Installed AND NOT Upgrading AND NOT Uninstalling AND NOT UPGRADINGPRODUCTCODE
 | 
			
		||||
    </SetProperty>
 | 
			
		||||
 | 
			
		||||
    <!--SetDirectory of APPLICATIONFOLDER -->
 | 
			
		||||
    <SetDirectory Id="APPLICATIONFOLDER" Value="[ProgramFiles64Folder][ApplicationFolderName]">APPLICATIONFOLDER=""</SetDirectory>
 | 
			
		||||
    <SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]" After="CostFinalize" />
 | 
			
		||||
    <SetDirectory Id="APPLICATIONFOLDER"
 | 
			
		||||
      Value="[ProgramFiles64Folder][ApplicationFolderName]">APPLICATIONFOLDER=""</SetDirectory>
 | 
			
		||||
    <SetProperty Id="ARPINSTALLLOCATION"
 | 
			
		||||
      Value="[APPLICATIONFOLDER]"
 | 
			
		||||
      After="CostFinalize" />
 | 
			
		||||
 | 
			
		||||
    <UIRef Id="CustomUI" />
 | 
			
		||||
    <WixVariable Id="WixUIInfoIcon" Value="icon.ico"/>
 | 
			
		||||
    <WixVariable Id="WixUIBannerBmp" Value="top-banner.bmp" />
 | 
			
		||||
    <WixVariable Id="WixUIDialogBmp" Value="main-banner.bmp" />
 | 
			
		||||
    <WixVariable Id="WixUISupportPerUser" Value="0" />
 | 
			
		||||
    <WixVariable Id="WixUIInfoIcon"
 | 
			
		||||
      Value="icon.ico"/>
 | 
			
		||||
    <WixVariable Id="WixUIBannerBmp"
 | 
			
		||||
      Value="top-banner.bmp" />
 | 
			
		||||
    <WixVariable Id="WixUIDialogBmp"
 | 
			
		||||
      Value="main-banner.bmp" />
 | 
			
		||||
    <WixVariable Id="WixUISupportPerUser"
 | 
			
		||||
      Value="0" />
 | 
			
		||||
 | 
			
		||||
    <CustomAction Id="RemoveOldJamiFiles"
 | 
			
		||||
                  Directory="APPLICATIONFOLDER"
 | 
			
		||||
                  ExeCommand="cmd /c "del vc_redist.x64.exe; del uninstall.exe; del WinSparkle.dll;""
 | 
			
		||||
                  Execute="deferred"
 | 
			
		||||
                  Return="ignore"
 | 
			
		||||
                  HideTarget="no"
 | 
			
		||||
                  Impersonate="no"/>
 | 
			
		||||
      Directory="APPLICATIONFOLDER"
 | 
			
		||||
      ExeCommand="cmd /c "del vc_redist.x64.exe; del uninstall.exe; del WinSparkle.dll;""
 | 
			
		||||
      Execute="deferred"
 | 
			
		||||
      Return="ignore"
 | 
			
		||||
      HideTarget="no"
 | 
			
		||||
      Impersonate="no"/>
 | 
			
		||||
 | 
			
		||||
    <Property Id="QtExecCmdLine"
 | 
			
		||||
              Value='"[APPLICATIONFOLDER]/$(var.ExeName).exe" --term'/>
 | 
			
		||||
      Value='"[APPLICATIONFOLDER]/$(var.ExeName).exe" --term'/>
 | 
			
		||||
    <CustomAction Id="TerminateAppProcess"
 | 
			
		||||
                  BinaryKey="WixCA"
 | 
			
		||||
                  DllEntry="CAQuietExec"
 | 
			
		||||
                  Execute="immediate"
 | 
			
		||||
                  Return="ignore"/>
 | 
			
		||||
      BinaryKey="WixCA"
 | 
			
		||||
      DllEntry="CAQuietExec"
 | 
			
		||||
      Execute="immediate"
 | 
			
		||||
      Return="ignore"/>
 | 
			
		||||
  </Product>
 | 
			
		||||
 | 
			
		||||
  <Fragment Id="DirectoryStructure">
 | 
			
		||||
    <Directory Id="TARGETDIR" Name="SourceDir">
 | 
			
		||||
    <Directory Id="TARGETDIR"
 | 
			
		||||
      Name="SourceDir">
 | 
			
		||||
      <Directory Id="ProgramFiles64Folder">
 | 
			
		||||
        <Directory Id="APPLICATIONFOLDER" Name="$(var.Name)" />
 | 
			
		||||
        <Directory Id="APPLICATIONFOLDER"
 | 
			
		||||
          Name="$(var.Name)" />
 | 
			
		||||
      </Directory>
 | 
			
		||||
      <Directory Id="DesktopFolder" Name="Desktop" />
 | 
			
		||||
      <Directory Id="DesktopFolder"
 | 
			
		||||
        Name="Desktop" />
 | 
			
		||||
      <Directory Id="ProgramMenuFolder">
 | 
			
		||||
        <Directory Id="ApplicationProgramsFolder" />
 | 
			
		||||
      </Directory>
 | 
			
		||||
      <Directory Id="WindowsFolder" Name="WINDOWS"/>
 | 
			
		||||
      <Directory Id="WindowsFolder"
 | 
			
		||||
        Name="WINDOWS"/>
 | 
			
		||||
    </Directory>
 | 
			
		||||
  </Fragment>
 | 
			
		||||
 | 
			
		||||
  <Fragment>
 | 
			
		||||
    <ComponentGroup Id="MainExecutable"
 | 
			
		||||
      Directory="APPLICATIONFOLDER">
 | 
			
		||||
      <Component Id="cmp9CFEE34E3A162AB05264E8B756EC1DEC"
 | 
			
		||||
        Guid="*">
 | 
			
		||||
        <File Id="fileMain.exe"
 | 
			
		||||
          KeyPath="yes"
 | 
			
		||||
          Source="$(var.ReleaseDir)\$(var.ExeName).exe" />
 | 
			
		||||
      </Component>
 | 
			
		||||
    </ComponentGroup>
 | 
			
		||||
  </Fragment>
 | 
			
		||||
 | 
			
		||||
  <Fragment Id="Shortcuts">
 | 
			
		||||
    <DirectoryRef Id="DesktopFolder">
 | 
			
		||||
      <Component Id="ApplicationShortcutDesktop" Guid="*" Win64="yes">
 | 
			
		||||
        <Shortcut Id="ApplicationShortcutDesktop" Name="$(var.Name)" Description="Launch $(var.Name)" Target="[#fileMain.exe]" WorkingDirectory="INSTALLFOLDER" />
 | 
			
		||||
        <RemoveFolder Id="DesktopFolder" On="uninstall" />
 | 
			
		||||
        <RegistryValue Root="HKCU" Key="Software\jami.net\$(var.Name)" Name="desktop" Type="integer" Value="1" KeyPath="yes" />
 | 
			
		||||
      <Component Id="ApplicationShortcutDesktop"
 | 
			
		||||
        Guid="*"
 | 
			
		||||
        Win64="yes">
 | 
			
		||||
        <Shortcut Id="ApplicationShortcutDesktop"
 | 
			
		||||
          Name="$(var.Name)"
 | 
			
		||||
          Description="Launch $(var.Name)"
 | 
			
		||||
          Target="[#fileMain.exe]"
 | 
			
		||||
          WorkingDirectory="INSTALLFOLDER" />
 | 
			
		||||
        <RemoveFolder Id="DesktopFolder"
 | 
			
		||||
          On="uninstall" />
 | 
			
		||||
        <RegistryValue Root="HKCU"
 | 
			
		||||
          Key="Software\jami.net\$(var.Name)"
 | 
			
		||||
          Name="desktop"
 | 
			
		||||
          Type="integer"
 | 
			
		||||
          Value="1"
 | 
			
		||||
          KeyPath="yes" />
 | 
			
		||||
        <Condition>FirstInstall</Condition>
 | 
			
		||||
      </Component>
 | 
			
		||||
    </DirectoryRef>
 | 
			
		||||
 | 
			
		||||
    <DirectoryRef Id="ApplicationProgramsFolder">
 | 
			
		||||
      <Component Id="ApplicationShortcutStartMenu" Guid="*" Win64="yes">
 | 
			
		||||
        <Shortcut Id="ApplicationShortcutStartMenu" Name="$(var.Name)" Description="Launch $(var.Name)" Target="[#fileMain.exe]" WorkingDirectory="INSTALLFOLDER" />
 | 
			
		||||
        <RemoveFolder Id="StartMenuFolder" On="uninstall" />
 | 
			
		||||
        <RegistryValue Root="HKCU" Key="Software\jami.net\$(var.Name)" Name="startmenu" Type="integer" Value="1" KeyPath="yes" />
 | 
			
		||||
      <Component Id="ApplicationShortcutStartMenu"
 | 
			
		||||
        Guid="*"
 | 
			
		||||
        Win64="yes">
 | 
			
		||||
        <Shortcut Id="ApplicationShortcutStartMenu"
 | 
			
		||||
          Name="$(var.Name)"
 | 
			
		||||
          Description="Launch $(var.Name)"
 | 
			
		||||
          Target="[#fileMain.exe]"
 | 
			
		||||
          WorkingDirectory="INSTALLFOLDER" />
 | 
			
		||||
        <RemoveFolder Id="StartMenuFolder"
 | 
			
		||||
          On="uninstall" />
 | 
			
		||||
        <RegistryValue Root="HKCU"
 | 
			
		||||
          Key="Software\jami.net\$(var.Name)"
 | 
			
		||||
          Name="startmenu"
 | 
			
		||||
          Type="integer"
 | 
			
		||||
          Value="1"
 | 
			
		||||
          KeyPath="yes" />
 | 
			
		||||
      </Component>
 | 
			
		||||
    </DirectoryRef>
 | 
			
		||||
  </Fragment>
 | 
			
		||||
 | 
			
		||||
  <Fragment Id="OtherRegistryEntries">
 | 
			
		||||
    <DirectoryRef Id="TARGETDIR">
 | 
			
		||||
      <Component Id="RegistryEntries" Guid="*" Win64="yes">
 | 
			
		||||
        <RegistryValue Root="HKCU" Key="Software\jami.net\$(var.AppName)" Name="hasRun" Type="integer" Value="0" KeyPath="yes" />
 | 
			
		||||
      <Component Id="RegistryEntries"
 | 
			
		||||
        Guid="*"
 | 
			
		||||
        Win64="yes">
 | 
			
		||||
        <RegistryValue Root="HKCU"
 | 
			
		||||
          Key="Software\jami.net\$(var.AppName)"
 | 
			
		||||
          Name="hasRun"
 | 
			
		||||
          Type="integer"
 | 
			
		||||
          Value="0"
 | 
			
		||||
          KeyPath="yes" />
 | 
			
		||||
      </Component>
 | 
			
		||||
    </DirectoryRef>
 | 
			
		||||
  </Fragment>
 | 
			
		||||
 | 
			
		||||
  <Fragment Id="URLProtocol">
 | 
			
		||||
    <DirectoryRef Id="TARGETDIR">
 | 
			
		||||
      <Component Id="URLProtocolRegistryEntries" Guid="*" Win64="yes">
 | 
			
		||||
        <RegistryKey Root="HKCR" Key="jami" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
 | 
			
		||||
          <RegistryValue Type="string" Name="URL Protocol" Value="" />
 | 
			
		||||
          <RegistryValue Type="string" Value="URL:jami"/>
 | 
			
		||||
      <Component Id="URLProtocolRegistryEntries"
 | 
			
		||||
        Guid="*"
 | 
			
		||||
        Win64="yes">
 | 
			
		||||
        <RegistryKey Root="HKCR"
 | 
			
		||||
          Key="jami"
 | 
			
		||||
          ForceCreateOnInstall="yes"
 | 
			
		||||
          ForceDeleteOnUninstall="yes">
 | 
			
		||||
          <RegistryValue Type="string"
 | 
			
		||||
            Name="URL Protocol"
 | 
			
		||||
            Value="" />
 | 
			
		||||
          <RegistryValue Type="string"
 | 
			
		||||
            Value="URL:jami"/>
 | 
			
		||||
          <RegistryKey Key="DefaultIcon">
 | 
			
		||||
            <RegistryValue Type="string" Value="[APPLICATIONFOLDER]$(var.ExeName).exe" />
 | 
			
		||||
            <RegistryValue Type="string"
 | 
			
		||||
              Value="[APPLICATIONFOLDER]$(var.ExeName).exe" />
 | 
			
		||||
          </RegistryKey>
 | 
			
		||||
          <RegistryKey Key="shell\open\command">
 | 
			
		||||
            <RegistryValue Type="string" Value='"[APPLICATIONFOLDER]$(var.ExeName).exe" "%1"' />
 | 
			
		||||
            <RegistryValue Type="string"
 | 
			
		||||
              Value='"[APPLICATIONFOLDER]$(var.ExeName).exe" "%1"' />
 | 
			
		||||
          </RegistryKey>
 | 
			
		||||
        </RegistryKey>
 | 
			
		||||
      </Component>
 | 
			
		||||
@ -137,47 +223,88 @@
 | 
			
		||||
 | 
			
		||||
  <Fragment Id="UI">
 | 
			
		||||
    <UI Id="CustomUI">
 | 
			
		||||
      <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
 | 
			
		||||
      <Property Id="WixAppFolder"
 | 
			
		||||
        Value="WixPerMachineFolder" />
 | 
			
		||||
 | 
			
		||||
      <!--APPLICATIONFOLDER required by WixUI_Advanced, ApplicationFolderName reset APPLICATIONFOLDER path-->
 | 
			
		||||
      <Property Id="ApplicationFolderName" Value="$(var.Manufacturer)\$(var.AppName)" />
 | 
			
		||||
      <Property Id="ApplicationFolderName"
 | 
			
		||||
        Value="$(var.Manufacturer)\$(var.AppName)" />
 | 
			
		||||
      <UIRef Id="WixUI_Advanced" />
 | 
			
		||||
 | 
			
		||||
      <!--Remove User Exit Dialog-->
 | 
			
		||||
      <Publish Dialog="AdvancedWelcomeEulaDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="InstallDirDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="FeaturesDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="MaintenanceWelcomeDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="MaintenanceTypeDlg" Control="Cancel" Property="AbortInstall" Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="AdvancedWelcomeEulaDlg"
 | 
			
		||||
        Control="Cancel"
 | 
			
		||||
        Property="AbortInstall"
 | 
			
		||||
        Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="InstallDirDlg"
 | 
			
		||||
        Control="Cancel"
 | 
			
		||||
        Property="AbortInstall"
 | 
			
		||||
        Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="FeaturesDlg"
 | 
			
		||||
        Control="Cancel"
 | 
			
		||||
        Property="AbortInstall"
 | 
			
		||||
        Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="MaintenanceWelcomeDlg"
 | 
			
		||||
        Control="Cancel"
 | 
			
		||||
        Property="AbortInstall"
 | 
			
		||||
        Value="1">1</Publish>
 | 
			
		||||
      <Publish Dialog="MaintenanceTypeDlg"
 | 
			
		||||
        Control="Cancel"
 | 
			
		||||
        Property="AbortInstall"
 | 
			
		||||
        Value="1">1</Publish>
 | 
			
		||||
 | 
			
		||||
      <!--Launch Program If Checkbox is clicked-->
 | 
			
		||||
      <Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
 | 
			
		||||
      <Publish Dialog="ExitDialog"
 | 
			
		||||
        Control="Finish"
 | 
			
		||||
        Event="DoAction"
 | 
			
		||||
        Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
 | 
			
		||||
 | 
			
		||||
      <InstallUISequence>
 | 
			
		||||
        <Show Dialog="UserExit" OnExit="cancel">NOT AbortInstall = 1</Show>
 | 
			
		||||
        <Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />
 | 
			
		||||
        <Show Dialog="UserExit"
 | 
			
		||||
          OnExit="cancel">NOT AbortInstall = 1</Show>
 | 
			
		||||
        <Custom Action="Overwrite_WixSetDefaultPerMachineFolder"
 | 
			
		||||
          After="WixSetDefaultPerMachineFolder" />
 | 
			
		||||
      </InstallUISequence>
 | 
			
		||||
    </UI>
 | 
			
		||||
    <InstallExecuteSequence>
 | 
			
		||||
      <Custom Action='TerminateAppProcess' Before='InstallValidate'/>
 | 
			
		||||
      <Custom Action="RemoveOldJamiFiles" After="RemoveFiles" />
 | 
			
		||||
      <Custom Action="LaunchApplication_nonUI" After="InstallFinalize"> WIXNONUILAUNCH </Custom>
 | 
			
		||||
      <Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />
 | 
			
		||||
      <Custom Action='TerminateAppProcess'
 | 
			
		||||
        Before='InstallValidate'/>
 | 
			
		||||
      <Custom Action="RemoveOldJamiFiles"
 | 
			
		||||
        After="RemoveFiles" />
 | 
			
		||||
      <Custom Action="LaunchApplication_nonUI"
 | 
			
		||||
        After="InstallFinalize"> WIXNONUILAUNCH </Custom>
 | 
			
		||||
      <Custom Action="Overwrite_WixSetDefaultPerMachineFolder"
 | 
			
		||||
        After="WixSetDefaultPerMachineFolder" />
 | 
			
		||||
    </InstallExecuteSequence>
 | 
			
		||||
 | 
			
		||||
    <!--License check box text, Launch check box text (auto check)-->
 | 
			
		||||
    <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Launch $(var.Name)" />
 | 
			
		||||
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch $(var.Name)" />
 | 
			
		||||
    <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT"
 | 
			
		||||
      Value="Launch $(var.Name)" />
 | 
			
		||||
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
 | 
			
		||||
      Value="Launch $(var.Name)" />
 | 
			
		||||
    <!--CheckBox Default Set to One-->
 | 
			
		||||
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1"/>
 | 
			
		||||
    <Property Id="LicenseAccepted" Value="1"/>
 | 
			
		||||
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX"
 | 
			
		||||
      Value="1"/>
 | 
			
		||||
    <Property Id="LicenseAccepted"
 | 
			
		||||
      Value="1"/>
 | 
			
		||||
 | 
			
		||||
    <Property Id="WixShellExecTarget" Value="[#fileMain.exe]" />
 | 
			
		||||
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
 | 
			
		||||
    <CustomAction Id="LaunchApplication_nonUI" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes"/>
 | 
			
		||||
    <CustomAction Id="Overwrite_WixSetDefaultPerMachineFolder" Property="WixPerMachineFolder" Value="[ProgramFiles64Folder][ApplicationFolderName]" Execute="immediate" />
 | 
			
		||||
    <Property Id="WixShellExecTarget"
 | 
			
		||||
      Value="[#fileMain.exe]" />
 | 
			
		||||
    <CustomAction Id="LaunchApplication"
 | 
			
		||||
      BinaryKey="WixCA"
 | 
			
		||||
      DllEntry="WixShellExec"
 | 
			
		||||
      Impersonate="yes" />
 | 
			
		||||
    <CustomAction Id="LaunchApplication_nonUI"
 | 
			
		||||
      BinaryKey="WixCA"
 | 
			
		||||
      DllEntry="WixShellExec"
 | 
			
		||||
      Impersonate="yes"/>
 | 
			
		||||
    <CustomAction Id="Overwrite_WixSetDefaultPerMachineFolder"
 | 
			
		||||
      Property="WixPerMachineFolder"
 | 
			
		||||
      Value="[ProgramFiles64Folder][ApplicationFolderName]"
 | 
			
		||||
      Execute="immediate" />
 | 
			
		||||
    <!--License File-->
 | 
			
		||||
    <WixVariable Id="WixUILicenseRtf" Value="$(var.ReleaseDir)\License.rtf"/>
 | 
			
		||||
    <WixVariable Id="WixUILicenseRtf"
 | 
			
		||||
      Value="$(var.ReleaseDir)\License.rtf"/>
 | 
			
		||||
  </Fragment>
 | 
			
		||||
 | 
			
		||||
</Wix>
 | 
			
		||||
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!--
 | 
			
		||||
    Generated with WiX's heat tool using the command:
 | 
			
		||||
    heat.exe dir x64\Release -ag -cg ProductComponents -dr APPLICATIONFOLDER -srd -var var.ReleaseDir -out JamiInstaller\Components.wxs
 | 
			
		||||
    Includes:
 | 
			
		||||
        - the api-ms-win dlls missing parts of vc merge module for windows 7 support
 | 
			
		||||
        - Jami.exe with a named Id so we can reference it in Product.wxs to launch after install
 | 
			
		||||
 | 
			
		||||
    We run heat in the prebuild step on x64\Release without Jami.exe (instead of an XSLT file), to harvest everything else.
 | 
			
		||||
-->
 | 
			
		||||
<?include Config.wxi?>
 | 
			
		||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 | 
			
		||||
    <Fragment>
 | 
			
		||||
        <ComponentGroup Id="StandardComponents">
 | 
			
		||||
            <Component Id="cmp9C61F84AF9761955FBF397AFAE21C11B" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil2089BEC9A7AB899CED5A5EE501789299" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-core-file-l1-2-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp03BB2697EE10869C4A329E3EA987EFAA" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil44C27F2C97596734BB3BEB7C21F7B71C" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-core-file-l2-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp6B6AA7AEA5A4D324A4EE7DAE1B1193E0" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil1D16BE23D323A1E37FC1FC7354A9305F" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-core-localization-l1-2-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpB5454FB66442C9BFD2145AE30B32D7A9" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil031B78DF53F7A3AC109410907624FC3E" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-core-processthreads-l1-1-1.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp9F6D22CD9B1739E4F75F92F3A07E4CA1" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filE9A3672FA504AA8E518DD72A02CD3E77" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-core-synch-l1-2-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp9451422B7074D46F019614C3DE73BD17" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil3C902CA2889BB8855D285C3FBABB334F" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-core-timezone-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp349250459EC2D8C328EED5138B073E7A" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil2466F3D9FBA095A007D0909040D4D688" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-conio-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpCC880F2B054A87EF5FC68232652231BF" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil605A691486569535A1C3548F7DCE753C" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-convert-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpD6CB40D5A5AFF2161B7B4B4F06F03301" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil09AE032A32E2E542A232F7941AC77320" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-environment-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpC02538029646A27A9F786AD690EB3C8E" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil7DE9C3CADCA188356922B0CBD8E313E7" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-filesystem-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp8E50197B377636123F0F1F94FFB004E7" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil584F158D11B8A380C73F1EFE8BBA92B4" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-heap-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp7F729C94A363C73DC4D91B6F48E4F859" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil4BE19B924B98D56F3155B66496D574E5" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-locale-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp7C573E66B0904BA73880788F7057AF88" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filE8495C446FA1237E92562498D20261AA" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-math-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp7A91CED53D8F6E5F20F2049B3B5CD143" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil06951EB208628753677745AF15CC12A5" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-multibyte-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp1CE713C705A95306A1D246AC3AB9DE25" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil8D102BB81768F998470C34797459E306" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-private-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp35840DFBF4D6AE827AFC4EF2A17BB3EB" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filC6C457BD901F940DCB673D271728F9FE" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-process-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpEBB86BDA48FE3B9E2043C1A80D26ACD5" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filE1B2095225B01DEFA5DA9895B432FBCB" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-runtime-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp80C8534B553078EA8B86F100FF542776" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filDAFE58019AD70832B8304DCEA534B5EE" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-stdio-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpCFC348111B5343749A2273A62421C07C" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil1F1B38DB330CA413655F715578D4BE1A" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-string-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp7D5450E04EC419244107942A00DF7DDF" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filEB03BCF3155C5BAE2C2EDBF036EB659D" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-time-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp5456679BDCC818B2E9476B416F71AAA5" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fil5B120DD384CABED37DFC2652C6462666" KeyPath="yes" Source="$(var.UcrtDir)\api-ms-win-crt-utility-l1-1-0.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmpF23755F862A15FFCBD109C85599B7F20" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="filD6887AD9110E4A8D49143C9A8F0B5843" KeyPath="yes" Source="$(var.UcrtDir)\ucrtbase.dll" />
 | 
			
		||||
            </Component>
 | 
			
		||||
            <Component Id="cmp9CFEE34E3A162AB05264E8B756EC1DEC" Directory="APPLICATIONFOLDER" Guid="*">
 | 
			
		||||
                <File Id="fileMain.exe" KeyPath="yes" Source="$(var.ReleaseDir)\$(var.ExeName).exe" />
 | 
			
		||||
            </Component>
 | 
			
		||||
        </ComponentGroup>
 | 
			
		||||
    </Fragment>
 | 
			
		||||
</Wix>
 | 
			
		||||
@ -38,7 +38,7 @@ cf [INSTALL.md](/INSTALL.md)
 | 
			
		||||
 | 
			
		||||
# License
 | 
			
		||||
 | 
			
		||||
Copyright (C) 2020-2023 Savoir-faire Linux Inc.
 | 
			
		||||
Copyright (C) 2020-2024 Savoir-faire Linux Inc.
 | 
			
		||||
 | 
			
		||||
Jami is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										142
									
								
								build.py
									
									
									
									
									
								
							
							
						
						@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# build.py --- Convenience script for building and running Jami
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
@ -28,6 +28,7 @@ import shutil
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
import time
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
OSX_DISTRIBUTION_NAME = "osx"
 | 
			
		||||
WIN32_DISTRIBUTION_NAME = "win32"
 | 
			
		||||
@ -44,7 +45,7 @@ APT_BASED_DISTROS = [
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
DNF_BASED_DISTROS = [
 | 
			
		||||
    'fedora', 'rhel',
 | 
			
		||||
    'fedora', 'rhel', 'almalinux',
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
PACMAN_BASED_DISTROS = [
 | 
			
		||||
@ -98,8 +99,8 @@ ZYPPER_DEPENDENCIES = [
 | 
			
		||||
    # daemon
 | 
			
		||||
    'speexdsp-devel', 'speex-devel', 'libdbus-c++-devel', 'jsoncpp-devel', 'yaml-cpp-devel',
 | 
			
		||||
    'yasm', 'libuuid-devel', 'libnettle-devel', 'libopus-devel', 'libexpat-devel',
 | 
			
		||||
    'libgnutls-devel', 'msgpack-devel', 'libavcodec-devel', 'libavdevice-devel', 'pcre-devel',
 | 
			
		||||
    'alsa-devel', 'libpulse-devel', 'libudev-devel', 'libva-devel', 'libvdpau-devel',
 | 
			
		||||
    'libgnutls-devel', 'msgpack-c-devel', 'msgpack-cxx-devel', 'libavcodec-devel', 'libavdevice-devel', 'pcre-devel',
 | 
			
		||||
    'alsa-devel', 'libpulse-devel', 'libudev-devel', 'libva-devel', 'libvdpau-devel', 'pipewire-devel',
 | 
			
		||||
    'libopenssl-devel', 'libavutil-devel',
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -107,8 +108,10 @@ ZYPPER_CLIENT_DEPENDENCIES = [
 | 
			
		||||
    # lrc
 | 
			
		||||
    'qt6-core-devel', 'qt6-dbus-devel', 'qt6-linguist-devel',
 | 
			
		||||
    # client-qt
 | 
			
		||||
    'qt6-svg-devel', 'qt6-multimedia-devel', 'qt6-declarative-devel',
 | 
			
		||||
    'qt6-quickcontrols2-devel',
 | 
			
		||||
    'qt6-concurrent-devel', 'qt6-qt5compat-devel', 'qt6-qt5compat-imports',
 | 
			
		||||
    'qt6-svg-devel', 'qt6-multimedia-devel', 'qt6-multimedia-imports',
 | 
			
		||||
    'qt6-declarative-devel', 'qt6-qmlcompiler-private-devel',
 | 
			
		||||
    'qt6-quickcontrols2-devel', 'qt6-shadertools-devel',
 | 
			
		||||
    'qrencode-devel', 'NetworkManager-devel'
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -127,7 +130,7 @@ DNF_DEPENDENCIES = [
 | 
			
		||||
    'gcc-c++', 'which', 'alsa-lib-devel', 'systemd-devel', 'libuuid-devel',
 | 
			
		||||
    'uuid-devel', 'gnutls-devel', 'nettle-devel', 'opus-devel', 'speexdsp-devel',
 | 
			
		||||
    'yaml-cpp-devel', 'swig', 'jsoncpp-devel',
 | 
			
		||||
    'patch', 'libva-devel', 'openssl-devel', 'libvdpau-devel', 'msgpack-devel',
 | 
			
		||||
    'patch', 'libva-devel', 'openssl-devel', 'libvdpau-devel', 'pipewire-devel', 'msgpack-devel',
 | 
			
		||||
    'sqlite-devel', 'openssl-static', 'pandoc', 'nasm',
 | 
			
		||||
    'bzip2'
 | 
			
		||||
]
 | 
			
		||||
@ -151,7 +154,7 @@ APT_DEPENDENCIES = [
 | 
			
		||||
    'libopus-dev', 'libpcre3-dev', 'libpulse-dev', 'libssl-dev',
 | 
			
		||||
    'libspeex-dev', 'libspeexdsp-dev', 'libswscale-dev', 'libtool',
 | 
			
		||||
    'libudev-dev', 'libyaml-cpp-dev', 'sip-tester', 'swig',
 | 
			
		||||
    'uuid-dev', 'yasm', 'libjsoncpp-dev', 'libva-dev', 'libvdpau-dev', 'libmsgpack-dev',
 | 
			
		||||
    'uuid-dev', 'yasm', 'libjsoncpp-dev', 'libva-dev', 'libvdpau-dev', 'libpipewire-0.3-dev', 'libmsgpack-dev',
 | 
			
		||||
    'pandoc', 'nasm', 'dpkg-dev', 'libsystemd-dev'
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@ -243,8 +246,8 @@ def run_dependencies(args):
 | 
			
		||||
 | 
			
		||||
    elif args.distribution in DNF_BASED_DISTROS:
 | 
			
		||||
        if args.assume_yes:
 | 
			
		||||
            for i, _ in enumerate(DNF_INSTALL_SCRIPT):
 | 
			
		||||
                DNF_INSTALL_SCRIPT[i] += ASSUME_YES_FLAG
 | 
			
		||||
            for i, _ in enumerate(RPM_INSTALL_SCRIPT):
 | 
			
		||||
                RPM_INSTALL_SCRIPT[i] += ASSUME_YES_FLAG
 | 
			
		||||
        execute_script(
 | 
			
		||||
            RPM_INSTALL_SCRIPT,
 | 
			
		||||
            {"packages": ' '.join(map(shlex.quote, DNF_DEPENDENCIES))})
 | 
			
		||||
@ -363,10 +366,10 @@ def cwd(path):
 | 
			
		||||
def run_install(args):
 | 
			
		||||
    # Platforms with special compilation scripts
 | 
			
		||||
    if args.distribution == WIN32_DISTRIBUTION_NAME:
 | 
			
		||||
        with cwd('daemon/compat/msvc'):
 | 
			
		||||
            execute_script(
 | 
			
		||||
                ['python winmake.py -iv '
 | 
			
		||||
                 f'-s {args.sdk} -b daemon'])
 | 
			
		||||
        if not args.pywinmake:
 | 
			
		||||
            with cwd('daemon/compat/msvc'):
 | 
			
		||||
                execute_script([f'python winmake.py -iv -s {args.sdk} -b daemon'])
 | 
			
		||||
 | 
			
		||||
        build_windows = 'extras/scripts/build-windows.py'
 | 
			
		||||
        execute_script([f'python {build_windows} --init'])
 | 
			
		||||
        execute_script([f'python {build_windows} --qt={args.qt}'])
 | 
			
		||||
@ -386,12 +389,18 @@ def run_install(args):
 | 
			
		||||
        install_args.append('-u')
 | 
			
		||||
    if args.debug:
 | 
			
		||||
        install_args.append('-d')
 | 
			
		||||
    if args.testing:
 | 
			
		||||
        install_args.append('-t')
 | 
			
		||||
    if args.asan:
 | 
			
		||||
        install_args.append('-A')
 | 
			
		||||
    if args.no_libwrap:
 | 
			
		||||
        install_args.append('-W')
 | 
			
		||||
    if args.no_webengine:
 | 
			
		||||
        install_args.append('-w')
 | 
			
		||||
    if args.arch:
 | 
			
		||||
        install_args += ('-a', args.arch)
 | 
			
		||||
    if args.extra_cmake_flags:
 | 
			
		||||
        install_args += ('-D', args.extra_cmake_flags)
 | 
			
		||||
 | 
			
		||||
    if args.distribution == OSX_DISTRIBUTION_NAME:
 | 
			
		||||
        # The `universal_newlines` parameter has been renamed to `text` in
 | 
			
		||||
@ -458,6 +467,93 @@ def run_clean():
 | 
			
		||||
                    'git submodule foreach git clean -xfd'])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def clean_contribs(contribs):
 | 
			
		||||
    """
 | 
			
		||||
    Helper to clean one or more of the libjami contribs.
 | 
			
		||||
 | 
			
		||||
    Takes a list of contrib names(space separated) to clean, or 'all' to clean all contribs.
 | 
			
		||||
 | 
			
		||||
    Contribs are assumed to be in the contrib_dir: daemon/contrib
 | 
			
		||||
    Artifacts to remove include:
 | 
			
		||||
    - build directory: <contrib_dir>/<native_dir>/<contrib_name>
 | 
			
		||||
    - build stamp: <contrib_dir>/<native_dir>/.<contrib_name>
 | 
			
		||||
    - tarball: <contrib_dir>/tarballs/<contrib_name>*.tar.*
 | 
			
		||||
    - build artifacts (we don't care about the contents of share):
 | 
			
		||||
        - <contrib_dir>/<abi_triplet>/bin/<contrib_name>
 | 
			
		||||
        - <contrib_dir>/<abi_triplet>/lib/<contrib_name>*
 | 
			
		||||
        - <contrib_dir>/<abi_triplet>/include/<contrib_name>*
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Not supported on Windows
 | 
			
		||||
    if platform.system() == 'Windows':
 | 
			
		||||
        print('Cleaning contribs is not supported on Windows. Exiting.')
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 | 
			
		||||
    # Assume we are using the submodule here.
 | 
			
		||||
    contrib_dir = 'daemon/contrib'
 | 
			
		||||
    sub_dirs = os.listdir(contrib_dir)
 | 
			
		||||
 | 
			
		||||
    # Let's find the abi triplet:
 | 
			
		||||
    # The abi_triplet is 3 parts: <arch>-<vendor>-<sys> and should be the only directory
 | 
			
		||||
    # named like that in the contrib directory. We can use a regex to find it.
 | 
			
		||||
    triplet_pattern = re.compile(r'^[a-zA-Z0-9_]+-[a-zA-Z0-9_]+-[a-zA-Z0-9_]+$')
 | 
			
		||||
    def is_triplet(s):
 | 
			
		||||
        return bool(triplet_pattern.match(s))
 | 
			
		||||
    abi_triplet = ''
 | 
			
		||||
    for sub_dir in sub_dirs:
 | 
			
		||||
        if is_triplet(sub_dir):
 | 
			
		||||
            abi_triplet = sub_dir
 | 
			
		||||
            break
 | 
			
		||||
 | 
			
		||||
    # If we didn't find the abi triplet, we need to stop.
 | 
			
		||||
    if abi_triplet == '':
 | 
			
		||||
        print('Could not find the abi triplet for the contribs. Exiting.')
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 | 
			
		||||
    # Let's find the native build source directory (native-*)
 | 
			
		||||
    native_dir = ''
 | 
			
		||||
    for sub_dir in sub_dirs:
 | 
			
		||||
        if sub_dir.startswith('native'):
 | 
			
		||||
            native_dir = os.path.join(contrib_dir, sub_dir)
 | 
			
		||||
            break
 | 
			
		||||
 | 
			
		||||
    # If we didn't find the native build source directory, we need to stop.
 | 
			
		||||
    if native_dir == '':
 | 
			
		||||
        print('Could not find the native build source directory. Exiting.')
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 | 
			
		||||
    # If contribs is 'all', construct the list of all contribs from the contrib native directory
 | 
			
		||||
    # list of directories only
 | 
			
		||||
    if contribs == ['all']:
 | 
			
		||||
        contribs = [d for d in os.listdir(native_dir) if os.path.isdir(os.path.join(native_dir, d))]
 | 
			
		||||
 | 
			
		||||
    # Clean each contrib
 | 
			
		||||
    for contrib in contribs:
 | 
			
		||||
        print(f'Cleaning contrib: {contrib} for {abi_triplet} in {native_dir}')
 | 
			
		||||
        build_dir = os.path.join(native_dir, contrib, '*')
 | 
			
		||||
        build_stamp = os.path.join(native_dir, f'.{contrib}*')
 | 
			
		||||
        tarball = os.path.join(contrib_dir, 'tarballs', f'{contrib}*.tar.*')
 | 
			
		||||
        bins = os.path.join(contrib_dir, abi_triplet, 'bin', contrib)
 | 
			
		||||
        libs = os.path.join(contrib_dir, abi_triplet, 'lib', f'lib{contrib}*')
 | 
			
		||||
        includes = os.path.join(contrib_dir, abi_triplet, 'include', f'{contrib}*')
 | 
			
		||||
 | 
			
		||||
        # EXCEPTIONS: pjproject and ffmpeg
 | 
			
		||||
        if contrib == 'pjproject':
 | 
			
		||||
            libs =  f' {os.path.join(contrib_dir, abi_triplet, "lib", "libpj*")}' \
 | 
			
		||||
                    f' {os.path.join(contrib_dir, abi_triplet, "lib", "libsrtp*")}'
 | 
			
		||||
            includes = os.path.join(contrib_dir, abi_triplet, 'include', 'pj*')
 | 
			
		||||
        elif contrib == 'ffmpeg':
 | 
			
		||||
            libs = f' {os.path.join(contrib_dir, abi_triplet, "lib", "libav*")}' \
 | 
			
		||||
                   f' {os.path.join(contrib_dir, abi_triplet, "lib", "libsw*")}'
 | 
			
		||||
            includes = f' {os.path.join(contrib_dir, abi_triplet, "include", "libav*")}' \
 | 
			
		||||
                       f' {os.path.join(contrib_dir, abi_triplet, "include", "libsw*")}'
 | 
			
		||||
 | 
			
		||||
        # For a dry run:
 | 
			
		||||
        #  execute_script([f'find {build_dir} {build_stamp} {tarball} {bins} {libs} {includes}'], fail=False)
 | 
			
		||||
 | 
			
		||||
        execute_script([f'rm -rf {build_dir} {build_stamp} {tarball} {bins} {libs} {includes}'], fail=False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def run_run(args):
 | 
			
		||||
    run_env = os.environ
 | 
			
		||||
 | 
			
		||||
@ -626,11 +722,16 @@ def parse_args():
 | 
			
		||||
    ap.add_argument('--global-install', default=False, action='store_true')
 | 
			
		||||
    ap.add_argument('--debug', default=False, action='store_true',
 | 
			
		||||
                    help='Build with debug support; run in GDB')
 | 
			
		||||
    ap.add_argument('--asan', default=False, action='store_true',
 | 
			
		||||
                    help='Build both daemon and client with ASAN')
 | 
			
		||||
    ap.add_argument('--background', default=False, action='store_true')
 | 
			
		||||
    ap.add_argument('--no-priv-install', dest='priv_install',
 | 
			
		||||
                    default=True, action='store_false')
 | 
			
		||||
    ap.add_argument('--qt', type=str,
 | 
			
		||||
                    help='Use the Qt path supplied')
 | 
			
		||||
    ap.add_argument('--testing', dest='testing',
 | 
			
		||||
                    default=False, action='store_true',
 | 
			
		||||
                    help='Enable testing for both client and daemon')
 | 
			
		||||
    ap.add_argument('--no-libwrap', dest='no_libwrap',
 | 
			
		||||
                    default=False, action='store_true',
 | 
			
		||||
                    help='Disable libwrap. Also set --disable-shared option to daemon configure')
 | 
			
		||||
@ -640,6 +741,15 @@ def parse_args():
 | 
			
		||||
                    default=False, action='store_true',
 | 
			
		||||
                    help='Do not use Qt WebEngine.')
 | 
			
		||||
    ap.add_argument('--arch')
 | 
			
		||||
    ap.add_argument('--clean-contribs', nargs='+',
 | 
			
		||||
                    help='Clean the specified contribs (space separated) or \
 | 
			
		||||
                          "all" to clean all contribs before building.')
 | 
			
		||||
    ap.add_argument('--pywinmake', dest='pywinmake',
 | 
			
		||||
                    default=False, action='store_true',
 | 
			
		||||
                    help='Build Jami for Windows using pywinmake')
 | 
			
		||||
    # Allow supplying extra congifure flags to the client cmake.
 | 
			
		||||
    ap.add_argument('--extra-cmake-flags', type=str,
 | 
			
		||||
                    help='Extra flags to pass to the client cmake')
 | 
			
		||||
 | 
			
		||||
    dist = choose_distribution()
 | 
			
		||||
 | 
			
		||||
@ -686,6 +796,10 @@ def choose_distribution():
 | 
			
		||||
def main():
 | 
			
		||||
    parsed_args = parse_args()
 | 
			
		||||
 | 
			
		||||
    # Clean contribs if specified first.
 | 
			
		||||
    if parsed_args.clean_contribs:
 | 
			
		||||
        clean_contribs(parsed_args.clean_contribs)
 | 
			
		||||
 | 
			
		||||
    if parsed_args.dependencies:
 | 
			
		||||
        run_dependencies(parsed_args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								daemon
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						@ -1,7 +1,7 @@
 | 
			
		||||
#  Taken from:
 | 
			
		||||
#  https://cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
 | 
			
		||||
#
 | 
			
		||||
#  Copyright (C) 2021-2023 Savoir-faire Linux Inc.
 | 
			
		||||
#  Copyright (C) 2021-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
#  This program is free software; you can redistribute it and/or modify
 | 
			
		||||
#  it under the terms of the GNU General Public License as published by
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										92
									
								
								extras/build/cmake/contrib_tools.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,92 @@
 | 
			
		||||
# Copyright (C) 2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
 | 
			
		||||
 | 
			
		||||
include(FetchContent)
 | 
			
		||||
include(CMakeParseArguments)
 | 
			
		||||
 | 
			
		||||
# Helper function to check if we're on a distribution that requires us
 | 
			
		||||
# to apply a patch in order for qmsetup to use the right package directory
 | 
			
		||||
function(check_distro_needs_qmsetup_patch DISTRO_NEEDS_QMSETUP_PATCH)
 | 
			
		||||
  set(${DISTRO_NEEDS_QMSETUP_PATCH} FALSE PARENT_SCOPE)
 | 
			
		||||
  # Check for the existence of /etc/os-release
 | 
			
		||||
  if(EXISTS "/etc/os-release")
 | 
			
		||||
    # Read the content of the file
 | 
			
		||||
    file(READ "/etc/os-release" OS_RELEASE_CONTENT)
 | 
			
		||||
      # Check if the distribution is Fedora or Red Hat-based
 | 
			
		||||
      string(REGEX MATCH "ID=fedora|ID_LIKE=\"rhel fedora\"|ID_LIKE=\"rhel centos fedora\"" RED_HAT_BASED "${OS_RELEASE_CONTENT}")
 | 
			
		||||
      # Check if the distribution is openSUSE Leap
 | 
			
		||||
      string(REGEX MATCH "ID=\"opensuse-leap\"" OPENSUSE_LEAP "${OS_RELEASE_CONTENT}")
 | 
			
		||||
      if(RED_HAT_BASED)
 | 
			
		||||
        set(${DISTRO_NEEDS_QMSETUP_PATCH} TRUE PARENT_SCOPE)
 | 
			
		||||
        message(STATUS "Running on a Red Hat-based distribution (Fedora, RHEL, CentOS, etc.)")
 | 
			
		||||
      elseif(OPENSUSE_LEAP)
 | 
			
		||||
        set(${DISTRO_NEEDS_QMSETUP_PATCH} TRUE PARENT_SCOPE)
 | 
			
		||||
        message(STATUS "Running on openSUSE Leap")
 | 
			
		||||
      else()
 | 
			
		||||
        message(STATUS "Distribution is not openSUSE Leap or Red Hat-based")
 | 
			
		||||
      endif()
 | 
			
		||||
  else()
 | 
			
		||||
    message(STATUS "Cannot determine the distribution type: /etc/os-release not found")
 | 
			
		||||
  endif()
 | 
			
		||||
endfunction()
 | 
			
		||||
 | 
			
		||||
# Helper function to add external content with patches and options.
 | 
			
		||||
# Parameters:
 | 
			
		||||
#   TARGET: Name of the target to create
 | 
			
		||||
#   URL: URL of the git repository
 | 
			
		||||
#   BRANCH: Branch to checkout
 | 
			
		||||
#   PATCHES: List of patch files to apply
 | 
			
		||||
#   OPTIONS: List of options to set prior to calling FetchContent_MakeAvailable
 | 
			
		||||
function(add_fetch_content)
 | 
			
		||||
  # Parse function arguments
 | 
			
		||||
  set(oneValueArgs TARGET URL BRANCH)
 | 
			
		||||
  set(multiValueArgs PATCHES OPTIONS)
 | 
			
		||||
  cmake_parse_arguments(PARSE_ARGV 0 AFCWP "" "${oneValueArgs}" "${multiValueArgs}")
 | 
			
		||||
 | 
			
		||||
  # Create a string for the patch command
 | 
			
		||||
  set(patch_cmd "")
 | 
			
		||||
  # If patches is not empty, start the command with "git apply"
 | 
			
		||||
  if(NOT "${AFCWP_PATCHES}" STREQUAL "")
 | 
			
		||||
    set(patch_cmd git apply)
 | 
			
		||||
  endif()
 | 
			
		||||
  foreach(patch_file IN LISTS AFCWP_PATCHES)
 | 
			
		||||
    list(APPEND patch_cmd "${patch_file}")
 | 
			
		||||
  endforeach()
 | 
			
		||||
 | 
			
		||||
  # Declare the external content
 | 
			
		||||
  FetchContent_Declare(
 | 
			
		||||
    ${AFCWP_TARGET}
 | 
			
		||||
    GIT_REPOSITORY ${AFCWP_URL}
 | 
			
		||||
    GIT_TAG ${AFCWP_BRANCH}
 | 
			
		||||
    PATCH_COMMAND ${patch_cmd}
 | 
			
		||||
    UPDATE_DISCONNECTED 1
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  # Apply options
 | 
			
		||||
  list(LENGTH AFCWP_OPTIONS options_length)
 | 
			
		||||
  if(NOT ${options_length} EQUAL 0)
 | 
			
		||||
    math(EXPR max_idx "${options_length} - 1")
 | 
			
		||||
    foreach(idx RANGE 0 ${max_idx} 2)
 | 
			
		||||
      list(GET AFCWP_OPTIONS ${idx} key)
 | 
			
		||||
      math(EXPR value_idx "${idx} + 1")
 | 
			
		||||
      list(GET AFCWP_OPTIONS ${value_idx} value)
 | 
			
		||||
      set(${key} ${value} CACHE STRING "${key}" FORCE)
 | 
			
		||||
    endforeach()
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  # Make the content available
 | 
			
		||||
  FetchContent_MakeAvailable(${AFCWP_TARGET})
 | 
			
		||||
endfunction()
 | 
			
		||||
							
								
								
									
										38
									
								
								extras/build/cmake/extra_tools.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,38 @@
 | 
			
		||||
# Copyright (C) 2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
 | 
			
		||||
 | 
			
		||||
# Function to define a macro with a specific value or default to 0 if not already set.
 | 
			
		||||
# This is useful to if within the code we don't want to use #ifdef but rather use the
 | 
			
		||||
# value of the macro.
 | 
			
		||||
function(define_macro_with_value MACRO_NAME)
 | 
			
		||||
  if(DEFINED ${MACRO_NAME})
 | 
			
		||||
    # Convert ON/OFF to 1/0
 | 
			
		||||
    if(${${MACRO_NAME}} STREQUAL "ON")
 | 
			
		||||
      set(MACRO_VALUE "1")
 | 
			
		||||
    elseif(${${MACRO_NAME}} STREQUAL "OFF")
 | 
			
		||||
      set(MACRO_VALUE "0")
 | 
			
		||||
    # If the macro is defined and its value is neither "ON" nor "OFF",
 | 
			
		||||
    # set MACRO_VALUE to the macro's current value
 | 
			
		||||
    else()
 | 
			
		||||
      set(MACRO_VALUE "${${MACRO_NAME}}")
 | 
			
		||||
    endif()
 | 
			
		||||
  else()
 | 
			
		||||
    set(MACRO_VALUE "0")
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  # Add the macro definition to the compiler command line
 | 
			
		||||
  add_definitions("-D${MACRO_NAME}=${MACRO_VALUE}")
 | 
			
		||||
endfunction()
 | 
			
		||||
							
								
								
									
										34
									
								
								extras/build/cmake/generate_version_info.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,34 @@
 | 
			
		||||
find_package(Git QUIET REQUIRED)
 | 
			
		||||
 | 
			
		||||
message(STATUS "Generating version information...")
 | 
			
		||||
 | 
			
		||||
function(configure_version_string SOURCE_DIR VERSION_STRING_OUT)
 | 
			
		||||
  # Get short git SHA
 | 
			
		||||
  execute_process(
 | 
			
		||||
    COMMAND "${GIT_EXECUTABLE}" rev-parse --short HEAD
 | 
			
		||||
    WORKING_DIRECTORY "${SOURCE_DIR}"
 | 
			
		||||
    OUTPUT_VARIABLE _GIT_SHA
 | 
			
		||||
    OUTPUT_STRIP_TRAILING_WHITESPACE
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  # Output the VERSION_STRING_OUT to the caller
 | 
			
		||||
  set(${VERSION_STRING_OUT} "${_GIT_SHA}" PARENT_SCOPE)
 | 
			
		||||
endfunction()
 | 
			
		||||
 | 
			
		||||
# These need to be set to the parent scripts values for configure_file to work,
 | 
			
		||||
# as it prepends CMAKE_CURRENT_SOURCE_DIR to the <input> and CMAKE_CURRENT_BINARY_DIR
 | 
			
		||||
# to <output>.
 | 
			
		||||
set(CMAKE_CURRENT_SOURCE_DIR ${APP_SOURCE_DIR})
 | 
			
		||||
set(CMAKE_CURRENT_BINARY_DIR ${APP_BINARY_DIR})
 | 
			
		||||
 | 
			
		||||
# Generate the version string for the application and core
 | 
			
		||||
configure_version_string(${APP_SOURCE_DIR} APP_VERSION_STRING)
 | 
			
		||||
configure_version_string(${CORE_SOURCE_DIR} CORE_VERSION_STRING)
 | 
			
		||||
 | 
			
		||||
# Get output file names with the .in extension removed
 | 
			
		||||
get_filename_component(VERSION_CPP_FILENAME ${CPP_INT_FILE} NAME_WE)
 | 
			
		||||
set(VERSION_CPP_FILE "${CMAKE_CURRENT_BINARY_DIR}/${VERSION_CPP_FILENAME}.cpp")
 | 
			
		||||
 | 
			
		||||
message(STATUS "infiles: ${CPP_INT_FILE}")
 | 
			
		||||
message(STATUS "outfiles: ${VERSION_CPP_FILE}")
 | 
			
		||||
configure_file(${CPP_INT_FILE} ${VERSION_CPP_FILE})
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
message("Qt deploying in dir " ${QML_SRC_DIR})
 | 
			
		||||
execute_process(COMMAND "${MAC_DEPLOY_QT_PATH}/macdeployqt"
 | 
			
		||||
                            ${EXE_NAME}
 | 
			
		||||
                            -qmldir=${QML_SRC_DIR})
 | 
			
		||||
if(${ENABLE_SPARKLE} MATCHES true)
 | 
			
		||||
    file(COPY ${SPARKLE_PATH} DESTINATION ${EXE_NAME}/Contents/Frameworks/)
 | 
			
		||||
endif()
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# Copyright (C) 2015-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2015-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
 | 
			
		||||
# Author: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>
 | 
			
		||||
@ -53,33 +53,36 @@ set(CMAKE_FIND_LIBRARY_SUFFIXES_orig ${CMAKE_FIND_LIBRARY_SUFFIXES})
 | 
			
		||||
 | 
			
		||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so;.dll")
 | 
			
		||||
 | 
			
		||||
# Add the lib prefix for Windows checks.
 | 
			
		||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 | 
			
		||||
  set(CMAKE_FIND_LIBRARY_PREFIXES "lib;")
 | 
			
		||||
endif()
 | 
			
		||||
set(LIBJAMI_NAMES
 | 
			
		||||
  jami-core
 | 
			
		||||
  jami
 | 
			
		||||
  ring
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if(WITH_DAEMON_SUBMODULE)
 | 
			
		||||
  find_library(LIBJAMI_LIB NAMES jami ring
 | 
			
		||||
  find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
 | 
			
		||||
    PATHS ${DAEMON_DIR}/src/.libs
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/lib
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/libexec
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/bin
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/bin
 | 
			
		||||
    NO_DEFAULT_PATH)
 | 
			
		||||
else()
 | 
			
		||||
  # Search only in these given PATHS.
 | 
			
		||||
  find_library(LIBJAMI_LIB NAMES jami ring
 | 
			
		||||
  find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
 | 
			
		||||
    PATHS ${LIBJAMI_BUILD_DIR}/.libs
 | 
			
		||||
    PATHS ${RING_BUILD_DIR}/.libs
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/lib
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/libexec
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/bin
 | 
			
		||||
    PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/bin
 | 
			
		||||
    NO_DEFAULT_PATH)
 | 
			
		||||
 | 
			
		||||
  # Search elsewhere as well (e.g. system-wide).
 | 
			
		||||
  if(NOT LIBJAMI_LIB)
 | 
			
		||||
    find_library(LIBJAMI_LIB NAMES jami ring)
 | 
			
		||||
    find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES})
 | 
			
		||||
  endif()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
@ -88,27 +91,29 @@ if(NOT LIBJAMI_LIB)
 | 
			
		||||
  set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.lib")
 | 
			
		||||
 | 
			
		||||
  if(WITH_DAEMON_SUBMODULE)
 | 
			
		||||
    find_library(LIBJAMI_LIB NAMES jami ring
 | 
			
		||||
    find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
 | 
			
		||||
      PATHS ${DAEMON_DIR}/src/.libs
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/lib
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/libexec
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/lib
 | 
			
		||||
      NO_DEFAULT_PATH)
 | 
			
		||||
  else()
 | 
			
		||||
    # Search only in these given PATHS.
 | 
			
		||||
    find_library(LIBJAMI_LIB NAMES jami ring
 | 
			
		||||
    find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
 | 
			
		||||
      PATHS ${LIBJAMI_BUILD_DIR}/.libs
 | 
			
		||||
      PATHS ${RING_BUILD_DIR}/.libs
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/lib
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/libexec
 | 
			
		||||
      PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/lib
 | 
			
		||||
      NO_DEFAULT_PATH)
 | 
			
		||||
 | 
			
		||||
    # Search elsewhere as well (e.g. system-wide).
 | 
			
		||||
    if(NOT LIBJAMI_LIB)
 | 
			
		||||
      find_library(LIBJAMI_LIB NAMES jami ring)
 | 
			
		||||
      find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES})
 | 
			
		||||
    endif()
 | 
			
		||||
 | 
			
		||||
    if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
FROM ubuntu:20.04
 | 
			
		||||
FROM ubuntu:22.04
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
ENV QT_QUICK_BACKEND software
 | 
			
		||||
@ -10,7 +10,7 @@ RUN apt-get update && \
 | 
			
		||||
 | 
			
		||||
RUN apt install gnupg dirmngr ca-certificates curl --no-install-recommends
 | 
			
		||||
RUN curl -s https://dl.jami.net/public-key.gpg | tee /usr/share/keyrings/jami-archive-keyring.gpg > /dev/null
 | 
			
		||||
RUN sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/internal/ubuntu_20.04/ jami main' > /etc/apt/sources.list.d/jami.list"
 | 
			
		||||
RUN sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/internal/ubuntu_22.04/ jami main' > /etc/apt/sources.list.d/jami.list"
 | 
			
		||||
RUN apt-get update && apt-get install libqt-jami -y
 | 
			
		||||
 | 
			
		||||
RUN apt-get install -y -o Acquire::Retries=10 \
 | 
			
		||||
@ -51,6 +51,7 @@ RUN apt-get install -y -o Acquire::Retries=10 \
 | 
			
		||||
        libswscale-dev \
 | 
			
		||||
        libavdevice-dev \
 | 
			
		||||
        libopus-dev \
 | 
			
		||||
        libpipewire-0.3-dev \
 | 
			
		||||
        libudev-dev \
 | 
			
		||||
        libgsm1-dev \
 | 
			
		||||
        libjsoncpp-dev \
 | 
			
		||||
@ -65,5 +66,11 @@ RUN apt-get install -y -o Acquire::Retries=10 \
 | 
			
		||||
        libvdpau-dev \
 | 
			
		||||
        libssl-dev
 | 
			
		||||
RUN apt-get install -y pandoc \
 | 
			
		||||
        libcppunit-dev \
 | 
			
		||||
        googletest \
 | 
			
		||||
        libgtest-dev
 | 
			
		||||
        libgtest-dev \
 | 
			
		||||
        wget
 | 
			
		||||
 | 
			
		||||
# Install a recent version of CMake
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
 | 
			
		||||
RUN /opt/install-cmake.sh
 | 
			
		||||
							
								
								
									
										4
									
								
								extras/ci/client-qt-gnulinux/Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (C) 2022-2023 Savoir-faire Linux Inc.
 | 
			
		||||
 * Copyright (C) 2022-2024 Savoir-faire Linux Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU Affero General Public License as
 | 
			
		||||
@ -113,7 +113,7 @@ pipeline {
 | 
			
		||||
                                    cd ${dockerTopDir}
 | 
			
		||||
                                    ./build.py --install --qt /usr/lib/libqt-jami/
 | 
			
		||||
                                    cd build
 | 
			
		||||
                                    cmake .. -DENABLE_TESTS=True
 | 
			
		||||
                                    cmake .. -DBUILD_TESTING=True
 | 
			
		||||
                                    make -j${cpuCount}
 | 
			
		||||
                                """)
 | 
			
		||||
                                // Run tests
 | 
			
		||||
 | 
			
		||||
@ -1,131 +1,240 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Copyright (C) 2015-2023 Savoir-faire Linux Inc. -->
 | 
			
		||||
<!-- Copyright (C) 2015-2024 Savoir-faire Linux Inc. -->
 | 
			
		||||
<component type="desktop-application">
 | 
			
		||||
 <id>net.jami.Jami</id>
 | 
			
		||||
 <metadata_license>CC-BY-SA-3.0</metadata_license>
 | 
			
		||||
 <project_license>GPL-3.0+</project_license>
 | 
			
		||||
 <name>Jami</name>
 | 
			
		||||
 <summary>Privacy-oriented voice, video, chat, and conference platform</summary>
 | 
			
		||||
 <summary xml:lang="hu">Adatvédelem-orientált hang-, video-, csevegés- és konferenciaplatform</summary>
 | 
			
		||||
 <icon type="stock">jami</icon>
 | 
			
		||||
 <description>
 | 
			
		||||
  <id>net.jami.Jami</id>
 | 
			
		||||
  <metadata_license>CC-BY-SA-3.0</metadata_license>
 | 
			
		||||
  <project_license>GPL-3.0+</project_license>
 | 
			
		||||
  <name>Jami</name>
 | 
			
		||||
 | 
			
		||||
  <summary>Privacy-oriented voice, video, chat, and conference platform</summary>
 | 
			
		||||
  <summary xml:lang="hu">Adatvédelem-orientált hang-, video-, csevegés- és konferenciaplatform</summary>
 | 
			
		||||
  <icon type="stock">jami</icon>
 | 
			
		||||
 | 
			
		||||
  <description>
 | 
			
		||||
    <p>
 | 
			
		||||
      An end-to-end encrypted secure and distributed voice, video, and
 | 
			
		||||
      chat communication platform that requires no central server and
 | 
			
		||||
      leaves the power of privacy and freedom in the hands of users.
 | 
			
		||||
      Jami [1], a GNU package, is software for universal and
 | 
			
		||||
      distributed peer-to-peer communication that respects the
 | 
			
		||||
      freedom and privacy of its users.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami supports the following key features:
 | 
			
		||||
      Jami is the simplest and easiest way to connect with people
 | 
			
		||||
      (and devices) with instant messaging, audio and video calls
 | 
			
		||||
      over the Internet and LAN/WAN intranets.
 | 
			
		||||
    </p>
 | 
			
		||||
    <ul>
 | 
			
		||||
      <li>One-to-one conversations</li>
 | 
			
		||||
      <li>File sharing</li>
 | 
			
		||||
      <li>Audio calls and conferences</li>
 | 
			
		||||
      <li>Video calls and conferences</li>
 | 
			
		||||
      <li>Screen sharing in video calls and conferences</li>
 | 
			
		||||
      <li>Recording and sending audio messages</li>
 | 
			
		||||
      <li>Recording and sending video messages</li>
 | 
			
		||||
      <li>Functioning as a SIP phone software</li>
 | 
			
		||||
    </ul>
 | 
			
		||||
    <p>
 | 
			
		||||
      Client applications for GNU/Linux, Windows, macOS, iOS, Android,
 | 
			
		||||
      and Android TV are available, making Jami an interoperable and
 | 
			
		||||
      Jami is a free/libre, end-to-end encrypted, and private
 | 
			
		||||
      communication platform.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami – which used to be known as Ring – is also an
 | 
			
		||||
      open-source alternative (to Facebook Messenger, Signal,
 | 
			
		||||
      Skype, Teams, Telegram, TikTok, Viber, WhatsApp, Zoom) that
 | 
			
		||||
      prioritizes the privacy of its users.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami has a professional-looking design and is available for
 | 
			
		||||
      a wide range of platforms. Unlike the alternatives, calls
 | 
			
		||||
      using Jami are directly between users as it does not use
 | 
			
		||||
      servers to handle calls.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      This gives the greatest privacy as the distributed nature
 | 
			
		||||
      of Jami means your calls are only between participants.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      One-to-one and group conversations with Jami are enhanced
 | 
			
		||||
      with: instant messaging; audio and video calling;
 | 
			
		||||
      recording and sending audio and video messages;
 | 
			
		||||
      file transfers; screen sharing; and, location sharing.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami can also function as a SIP client.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami has multiple extensions [2] available:
 | 
			
		||||
      Audio Filter; Auto Answer; Green Screen; Watermark; and,
 | 
			
		||||
      Whisper Transcript.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami can be easily deployed in organizations with the
 | 
			
		||||
      “Jami Account Management Server” (JAMS) [3], allowing users
 | 
			
		||||
      to connect with their corporate credentials or create local
 | 
			
		||||
      accounts. JAMS allows you to manage your own Jami community
 | 
			
		||||
      while taking advantage of Jami’s distributed network
 | 
			
		||||
      architecture.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami is available for GNU/Linux, Windows, macOS, iOS,
 | 
			
		||||
      Android, and Android TV, making Jami an interoperable and
 | 
			
		||||
      cross-platform communication framework.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <p xml:lang="hu">
 | 
			
		||||
      Végpontokig titkosított biztonságos és elosztott hang-, videó-
 | 
			
		||||
      és csevegés-kommunikációs platform, amely nem igényel központi
 | 
			
		||||
      kiszolgálót, és a felhasználók kezében hagyja a magánélet és a
 | 
			
		||||
      szabadság hatalmát.
 | 
			
		||||
    <p>
 | 
			
		||||
      Manage multiple SIP accounts, Jami accounts and JAMS
 | 
			
		||||
      accounts with the Jami client installed on one or multiple
 | 
			
		||||
      devices.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p xml:lang="hu">
 | 
			
		||||
      A Jami a következő főbb funkciókat támogatja:
 | 
			
		||||
    <p>
 | 
			
		||||
      Jami is free, unlimited, private, advertising free,
 | 
			
		||||
      compatible, fast, autonomous, and anonymous.
 | 
			
		||||
    </p>
 | 
			
		||||
    <ul>
 | 
			
		||||
      <li xml:lang="hu">Személyes beszélgetések</li>
 | 
			
		||||
      <li xml:lang="hu">Fájlmegosztás</li>
 | 
			
		||||
      <li xml:lang="hu">Hanghívások és konferenciák</li>
 | 
			
		||||
      <li xml:lang="hu">Videohívások és konferenciák</li>
 | 
			
		||||
      <li xml:lang="hu">Képernyőmegosztás videohívásokban és
 | 
			
		||||
        konferenciákon</li>
 | 
			
		||||
      <li xml:lang="hu">Hangüzenetek rögzítése és küldése</li>
 | 
			
		||||
      <li xml:lang="hu">Videoüzenetek rögzítése és küldése</li>
 | 
			
		||||
      <li xml:lang="hu">SIP-telefonszoftverként működik</li>
 | 
			
		||||
    </ul>
 | 
			
		||||
    <p xml:lang="hu">
 | 
			
		||||
      Elérhetők a GNU/Linux, Windows, macOS, iOS, Android és Android TV
 | 
			
		||||
      ügyfélalkalmazásai, így a Jami interoperábilis és többplatformos
 | 
			
		||||
      kommunikációs keretrendszerré válik.
 | 
			
		||||
    <p>
 | 
			
		||||
      [1] https://jami.net/
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      [2] https://jami.net/extensions/
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      [3] https://jami.biz/
 | 
			
		||||
    </p>
 | 
			
		||||
  </description>
 | 
			
		||||
 | 
			
		||||
 </description>
 | 
			
		||||
  <description xml:lang="hu">
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami [1], egy GNU-csomag, egy univerzális és elosztott
 | 
			
		||||
      társ-társ kommunikációra szolgáló szoftver, amely
 | 
			
		||||
      tiszteletben tartja a felhasználók szabadságát és
 | 
			
		||||
      magánéletét.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami a legegyszerűbb és legegyszerűbb módja annak, hogy
 | 
			
		||||
      azonnali üzenetküldéssel, hang- és videohívásokkal
 | 
			
		||||
      kapcsolódjon az emberekhez (és eszközökhöz) az interneten és
 | 
			
		||||
      a LAN/WAN intraneteken keresztül.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami egy ingyenes, teljes körűen titkosított és privát
 | 
			
		||||
      kommunikációs platform.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami – amelyet korábban Ring néven ismertek – egy nyílt
 | 
			
		||||
      forráskódú alternatíva is (a Facebook Messenger, a Signal,
 | 
			
		||||
      a Skype, a Teams, a Telegram, a TikTok, a Viber, a WhatsApp,
 | 
			
		||||
      a Zoom számára), amely előtérbe helyezi a felhasználók
 | 
			
		||||
      magánéletét.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami professzionális megjelenésű, és platformok széles
 | 
			
		||||
      skálájához elérhető. Az alternatívákkal ellentétben a Jami-t
 | 
			
		||||
      használó hívások közvetlenül a felhasználók között zajlanak,
 | 
			
		||||
      mivel nem használ kiszolgálókat a hívások kezelésére.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Ez biztosítja a legnagyobb magánéletet, mivel a Jami
 | 
			
		||||
      elosztott jellege azt jelenti, hogy a hívások csak a
 | 
			
		||||
      résztvevők között zajlanak.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jamival folytatott személyes és csoportos beszélgetéseket
 | 
			
		||||
      a következők javítják: azonnali üzenetküldés; hang- és
 | 
			
		||||
      videohívások; hang- és videoüzenetek rögzítése és küldése;
 | 
			
		||||
      fájlátvitel; képernyőmegosztás; és helymegosztás.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami SIP-ügyfélként is működhet.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami-nek több bővítménye [2] is elérhető: hangszűrő;
 | 
			
		||||
      automatikus válasz; zöld képernyő; vízjel; és, suttogó
 | 
			
		||||
      átirat.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami könnyen telepíthető a szervezetekben
 | 
			
		||||
      a „Jami fiókkezelő kiszolgálóval” (JAMS) [3], amely lehetővé
 | 
			
		||||
      teszi a felhasználók számára, hogy csatlakozzanak vállalati
 | 
			
		||||
      hitelesítő adataikhoz, vagy helyi fiókokat hozzanak létre.
 | 
			
		||||
      A JAMS lehetővé teszi saját Jami közösségének kezelését,
 | 
			
		||||
      miközben kihasználja a Jami elosztott hálózati
 | 
			
		||||
      architektúráját.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami elérhető GNU/Linux, Windows, macOS, iOS, Android és
 | 
			
		||||
      Android TV rendszereken, így a Jami egy interoperábilis és
 | 
			
		||||
      platformok közötti kommunikációs keretrendszer.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      Kezeljen több SIP-fiókot, Jami-fiókot és JAMS-fiókot az egy
 | 
			
		||||
      vagy több eszközre telepített Jami-ügyféllel.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      A Jami ingyenes, korlátlan, privát, reklámmentes,
 | 
			
		||||
      kompatibilis, gyors, autonóm és névtelen.
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      [1] https://jami.net/hu/
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      [2] https://jami.net/hu/extensions/
 | 
			
		||||
    </p>
 | 
			
		||||
    <p>
 | 
			
		||||
      [3] https://jami.biz/
 | 
			
		||||
    </p>
 | 
			
		||||
  </description>
 | 
			
		||||
 | 
			
		||||
 <url type="homepage">https://jami.net/</url>
 | 
			
		||||
 <url type="bugtracker">https://git.jami.net/savoirfairelinux/jami-client-qt/issues</url>
 | 
			
		||||
 <url type="faq">https://jami.net/help/</url>
 | 
			
		||||
 <url type="help">https://docs.jami.net</url>
 | 
			
		||||
 <url type="donation">https://www.paypal.com/donate/?hosted_button_id=MGUDJLQZ4TP5W</url>
 | 
			
		||||
 <url type="translate">https://www.transifex.com/savoirfairelinux/jami</url>
 | 
			
		||||
  <url type="homepage">https://jami.net/</url>
 | 
			
		||||
  <url type="bugtracker">https://git.jami.net/savoirfairelinux/jami-client-qt/issues</url>
 | 
			
		||||
  <url type="faq">https://docs.jami.net/user/faq.html</url>
 | 
			
		||||
  <url type="help">https://forum.jami.net/</url>
 | 
			
		||||
  <url type="donation">https://jami.net/whydonate/</url>
 | 
			
		||||
  <url type="translate">https://www.transifex.com/savoirfairelinux/jami</url>
 | 
			
		||||
 | 
			
		||||
 <!-- Maximum caption length is 60 characters -->
 | 
			
		||||
 <!-- Officially GIF is not an allowed video format, but it appears to work nonetheless -->
 | 
			
		||||
 <screenshots>
 | 
			
		||||
  <screenshot type="default">
 | 
			
		||||
   <caption>Send Audio, Video and Chat messages</caption>
 | 
			
		||||
   <caption xml:lang="hu">Hang-, video- és csevegőüzeneteket küldhet</caption>
 | 
			
		||||
   <image type="source" width="1310" height="650">https://dl.jami.net/media-resources/screenshots/jami_linux_audiovideo.png</image>
 | 
			
		||||
  </screenshot>
 | 
			
		||||
  <screenshot>
 | 
			
		||||
   <caption>Easily share desktop contents</caption>
 | 
			
		||||
   <caption xml:lang="hu">Könnyen megoszthatja az asztali tartalmat</caption>
 | 
			
		||||
   <image type="source" width="1016" height="659">https://dl.jami.net/media-resources/screenshots/jami_linux_screenshare.png</image>
 | 
			
		||||
  </screenshot>
 | 
			
		||||
  <screenshot>
 | 
			
		||||
   <caption>Crystal clear audio calls between Jami users</caption>
 | 
			
		||||
   <caption xml:lang="hu">Kristálytiszta hanghívások a Jami felhasználók között</caption>
 | 
			
		||||
   <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/audio-call_web.webm</video>
 | 
			
		||||
  </screenshot>
 | 
			
		||||
  <screenshot>
 | 
			
		||||
   <caption>Conference calls with an unlimited participants</caption>
 | 
			
		||||
   <caption xml:lang="hu">Konferenciahívások korlátlan számú résztvevővel</caption>
 | 
			
		||||
   <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/conference_web.webm</video>
 | 
			
		||||
  </screenshot>
 | 
			
		||||
  <screenshot>
 | 
			
		||||
   <caption>Encrypted and secure text messaging, no servers</caption>
 | 
			
		||||
   <caption xml:lang="hu">Titkosított és biztonságos csevegési üzenetküldés, kiszolgálók nélkül</caption>
 | 
			
		||||
   <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/chat_web.webm</video>
 | 
			
		||||
  </screenshot>
 | 
			
		||||
  <screenshot>
 | 
			
		||||
   <caption>Send files of any size</caption>
 | 
			
		||||
   <caption xml:lang="hu">Bármilyen méretű fájl küldése</caption>
 | 
			
		||||
   <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/files-share_web.webm</video>
 | 
			
		||||
  </screenshot>
 | 
			
		||||
 </screenshots>
 | 
			
		||||
  <!-- Maximum caption length is 60 characters -->
 | 
			
		||||
  <!-- Officially GIF is not an allowed video format, but it appears to work nonetheless -->
 | 
			
		||||
  <screenshots>
 | 
			
		||||
    <screenshot type="default">
 | 
			
		||||
      <image type="source" width="1310" height="650">https://dl.jami.net/media-resources/screenshots/jami_linux_audiovideo.png</image>
 | 
			
		||||
      <caption>Send chat messages and talk with audio and video</caption>
 | 
			
		||||
      <caption xml:lang="hu">Csevegőüzenetek küldése, valamint hang- és videobeszélgetés</caption>
 | 
			
		||||
    </screenshot>
 | 
			
		||||
    <screenshot>
 | 
			
		||||
      <image type="source" width="1016" height="659">https://dl.jami.net/media-resources/screenshots/jami_linux_screenshare.png</image>
 | 
			
		||||
      <caption>Screen sharing</caption>
 | 
			
		||||
      <caption xml:lang="hu">Képernyőmegosztás</caption>
 | 
			
		||||
    </screenshot>
 | 
			
		||||
    <screenshot>
 | 
			
		||||
      <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/audio-call_web.webm</video>
 | 
			
		||||
      <caption>Crystal clear audio calls between Jami users</caption>
 | 
			
		||||
      <caption xml:lang="hu">Kristálytiszta hanghívások a Jami felhasználók között</caption>
 | 
			
		||||
    </screenshot>
 | 
			
		||||
    <screenshot>
 | 
			
		||||
      <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/conference_web.webm</video>
 | 
			
		||||
      <caption>Conference calls with an unlimited number of participants</caption>
 | 
			
		||||
      <caption xml:lang="hu">Konferenciahívások korlátlan számú résztvevővel</caption>
 | 
			
		||||
    </screenshot>
 | 
			
		||||
    <screenshot>
 | 
			
		||||
      <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/chat_web.webm</video>
 | 
			
		||||
      <caption>Encrypted and secure text messaging without servers</caption>
 | 
			
		||||
      <caption xml:lang="hu">Titkosított és biztonságos csevegési üzenetküldés, kiszolgálók nélkül</caption>
 | 
			
		||||
    </screenshot>
 | 
			
		||||
    <screenshot>
 | 
			
		||||
      <video container="webm" codec="vp9" width="600" height="400">https://dl.jami.net/media-resources/gifs_features/conversiongif_webm/files-share_web.webm</video>
 | 
			
		||||
      <caption>Transfer files of any size</caption>
 | 
			
		||||
      <caption xml:lang="hu">Bármilyen méretű fájl küldése</caption>
 | 
			
		||||
    </screenshot>
 | 
			
		||||
  </screenshots>
 | 
			
		||||
 | 
			
		||||
 <launchable type="desktop-id">jami.desktop</launchable>
 | 
			
		||||
  <launchable type="desktop-id">jami.desktop</launchable>
 | 
			
		||||
 | 
			
		||||
 <provides><binary>jami</binary></provides>
 | 
			
		||||
  <provides><binary>jami</binary></provides>
 | 
			
		||||
 | 
			
		||||
 <!-- https://specifications.freedesktop.org/menu-spec/latest/apa.html -->
 | 
			
		||||
 <!-- https://specifications.freedesktop.org/menu-spec/latest/apas02.html -->
 | 
			
		||||
 <categories>
 | 
			
		||||
  <category>Chat</category>
 | 
			
		||||
  <category>Communication</category>
 | 
			
		||||
  <category>FileTransfer</category>
 | 
			
		||||
  <category>InstantMessaging</category>
 | 
			
		||||
  <category>Network</category>
 | 
			
		||||
  <category>P2P</category>
 | 
			
		||||
  <category>Productivity</category>
 | 
			
		||||
 </categories>
 | 
			
		||||
  <!-- https://specifications.freedesktop.org/menu-spec/latest/apa.html -->
 | 
			
		||||
  <!-- https://specifications.freedesktop.org/menu-spec/latest/apas02.html -->
 | 
			
		||||
  <categories>
 | 
			
		||||
    <category>Chat</category>
 | 
			
		||||
    <category>Communication</category>
 | 
			
		||||
    <category>FileTransfer</category>
 | 
			
		||||
    <category>InstantMessaging</category>
 | 
			
		||||
    <category>Network</category>
 | 
			
		||||
    <category>P2P</category>
 | 
			
		||||
    <category>Productivity</category>
 | 
			
		||||
  </categories>
 | 
			
		||||
 | 
			
		||||
 <translation type="gettext">jami-client-qt</translation>
 | 
			
		||||
  <translation type="gettext">jami-client-qt</translation>
 | 
			
		||||
 | 
			
		||||
 <content_rating type="oars-1.1">
 | 
			
		||||
  <content_attribute id="social-chat">intense</content_attribute>
 | 
			
		||||
  <content_attribute id="social-audio">intense</content_attribute>
 | 
			
		||||
 </content_rating>
 | 
			
		||||
  <content_rating type="oars-1.1">
 | 
			
		||||
    <content_attribute id="social-chat">intense</content_attribute>
 | 
			
		||||
    <content_attribute id="social-audio">intense</content_attribute>
 | 
			
		||||
  </content_rating>
 | 
			
		||||
 | 
			
		||||
 <requires><id>net.jami.daemon</id></requires>
 | 
			
		||||
  <requires><id>net.jami.daemon</id></requires>
 | 
			
		||||
 | 
			
		||||
</component>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								extras/packaging/gnu-linux/Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,4 +1,4 @@
 | 
			
		||||
// Copyright (C) 2021-2023 Savoir-faire Linux Inc.
 | 
			
		||||
// Copyright (C) 2021-2024 Savoir-faire Linux Inc.
 | 
			
		||||
//
 | 
			
		||||
// Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
# -*- mode: makefile; -*-
 | 
			
		||||
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
 | 
			
		||||
#
 | 
			
		||||
@ -46,10 +46,10 @@ DEBIAN_DSC_FILENAME := jami_$(DEBIAN_VERSION).dsc
 | 
			
		||||
 | 
			
		||||
# Qt versions
 | 
			
		||||
QT_MAJOR := 6
 | 
			
		||||
QT_MINOR := 4
 | 
			
		||||
QT_PATCH := 3
 | 
			
		||||
QT_TARBALL_CHECKSUM := 29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4
 | 
			
		||||
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-2
 | 
			
		||||
QT_MINOR := 6
 | 
			
		||||
QT_PATCH := 1
 | 
			
		||||
QT_TARBALL_CHECKSUM := dd3668f65645fe270bc615d748bd4dc048bd17b9dc297025106e6ecc419ab95d
 | 
			
		||||
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-1
 | 
			
		||||
DEBIAN_QT_DSC_FILENAME := libqt-jami_$(DEBIAN_QT_VERSION).dsc
 | 
			
		||||
QT_JAMI_PREFIX := /usr/lib/libqt-jami
 | 
			
		||||
 | 
			
		||||
@ -166,10 +166,17 @@ DISTRIBUTIONS := \
 | 
			
		||||
	debian_unstable \
 | 
			
		||||
	ubuntu_20.04 \
 | 
			
		||||
	ubuntu_22.04 \
 | 
			
		||||
	ubuntu_23.04 \
 | 
			
		||||
	ubuntu_23.10 \
 | 
			
		||||
	ubuntu_24.04 \
 | 
			
		||||
	ubuntu_24.10 \
 | 
			
		||||
	fedora_37 \
 | 
			
		||||
	fedora_38 \
 | 
			
		||||
	fedora_39 \
 | 
			
		||||
	fedora_40 \
 | 
			
		||||
	fedora_41 \
 | 
			
		||||
	alma_9 \
 | 
			
		||||
	opensuse-leap_15.4 \
 | 
			
		||||
	opensuse-leap_15.5 \
 | 
			
		||||
	snap
 | 
			
		||||
 | 
			
		||||
IS_SHELL_INTERACTIVE := $(shell [ -t 0 ] && echo yes)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										106
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_alma_9
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,106 @@
 | 
			
		||||
FROM almalinux:9
 | 
			
		||||
RUN dnf clean all
 | 
			
		||||
RUN dnf update -y
 | 
			
		||||
RUN dnf install -y epel-release
 | 
			
		||||
RUN dnf install -y 'dnf-command(config-manager)'
 | 
			
		||||
RUN dnf config-manager --set-enabled crb
 | 
			
		||||
RUN dnf config-manager --set-enabled appstream
 | 
			
		||||
RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
 | 
			
		||||
    dnf install -y mock
 | 
			
		||||
RUN yum install -y wget && \
 | 
			
		||||
    wget https://repo.almalinux.org/almalinux/9/devel/x86_64/os/Packages/uuid-c++-devel-1.6.2-55.el9.x86_64.rpm && \
 | 
			
		||||
    yum localinstall -y uuid-c++-devel-1.6.2-55.el9.x86_64.rpm && \
 | 
			
		||||
    rm -f uuid-c++-devel-1.6.2-55.el9.x86_64.rpm
 | 
			
		||||
RUN yum install -y xorg-x11-xauth
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
        git \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        tar \
 | 
			
		||||
        make \
 | 
			
		||||
        autoconf \
 | 
			
		||||
        automake \
 | 
			
		||||
        nasm \
 | 
			
		||||
        speexdsp-devel \
 | 
			
		||||
        pulseaudio-libs-devel \
 | 
			
		||||
        libcanberra-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libtool \
 | 
			
		||||
        mesa-libgbm-devel \
 | 
			
		||||
        mesa-dri-drivers \
 | 
			
		||||
        dbus-devel \
 | 
			
		||||
        expat-devel \
 | 
			
		||||
        pcre-devel \
 | 
			
		||||
        yaml-cpp-devel \
 | 
			
		||||
        libXext-devel \
 | 
			
		||||
        libXfixes-devel \
 | 
			
		||||
        yasm \
 | 
			
		||||
        speex-devel \
 | 
			
		||||
        gsm-devel \
 | 
			
		||||
        chrpath \
 | 
			
		||||
        check \
 | 
			
		||||
        astyle \
 | 
			
		||||
        gettext-devel \
 | 
			
		||||
        gcc-c++ \
 | 
			
		||||
        which \
 | 
			
		||||
        alsa-lib-devel \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        libuuid-devel \
 | 
			
		||||
        uuid-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        nettle-devel \
 | 
			
		||||
        opus-devel \
 | 
			
		||||
        patch \
 | 
			
		||||
        jsoncpp-devel \
 | 
			
		||||
        libnatpmp-devel \
 | 
			
		||||
        webkitgtk4-devel \
 | 
			
		||||
        cryptopp-devel \
 | 
			
		||||
        libva-devel \
 | 
			
		||||
        libvdpau-devel \
 | 
			
		||||
        msgpack-devel \
 | 
			
		||||
        NetworkManager-libnm-devel \
 | 
			
		||||
        openssl-devel \
 | 
			
		||||
        clutter-devel \
 | 
			
		||||
        clutter-gtk-devel \
 | 
			
		||||
        libappindicator-gtk3-devel \
 | 
			
		||||
        libnotify-devel \
 | 
			
		||||
        libupnp-devel \
 | 
			
		||||
        qrencode-devel \
 | 
			
		||||
        libargon2-devel \
 | 
			
		||||
        libsndfile-devel \
 | 
			
		||||
        libdrm \
 | 
			
		||||
        gperf \
 | 
			
		||||
        bison \
 | 
			
		||||
        clang \
 | 
			
		||||
        clang-devel \
 | 
			
		||||
        llvm-devel \
 | 
			
		||||
        nodejs \
 | 
			
		||||
        flex \
 | 
			
		||||
        gstreamer1 gstreamer1-devel \
 | 
			
		||||
        gstreamer1-plugins-base-devel \
 | 
			
		||||
        gstreamer1-plugins-good \
 | 
			
		||||
        gstreamer1-plugins-bad-free-devel \
 | 
			
		||||
        nss-devel \
 | 
			
		||||
        libxcb* \
 | 
			
		||||
        libxkb* \
 | 
			
		||||
        libX11-devel \
 | 
			
		||||
        vulkan-devel \
 | 
			
		||||
        libXrender-devel \
 | 
			
		||||
        xcb-util-* \
 | 
			
		||||
        xz \
 | 
			
		||||
        xkeyboard-config \
 | 
			
		||||
        libnotify \
 | 
			
		||||
        wget \
 | 
			
		||||
        libstdc++-static \
 | 
			
		||||
        sqlite-devel \
 | 
			
		||||
        perl-generators \
 | 
			
		||||
        perl-English \
 | 
			
		||||
        libxshmfence-devel \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        clang \
 | 
			
		||||
        cmake \
 | 
			
		||||
        fmt-devel \
 | 
			
		||||
        python3-html5lib \
 | 
			
		||||
        cups-devel \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
CMD ["/opt/build-package-rpm.sh"]
 | 
			
		||||
@ -8,7 +8,12 @@ RUN apt-get update && \
 | 
			
		||||
        devscripts \
 | 
			
		||||
        equivs \
 | 
			
		||||
        python-is-python3 \
 | 
			
		||||
        wget
 | 
			
		||||
        wget \
 | 
			
		||||
        curl
 | 
			
		||||
 | 
			
		||||
# nodejs
 | 
			
		||||
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
 | 
			
		||||
RUN apt install nodejs -y
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
@ -18,9 +23,15 @@ RUN /opt/prebuild-package-debian.sh qt-deps
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh jami-deps
 | 
			
		||||
 | 
			
		||||
# Install CMake 3.19 for Qt 6
 | 
			
		||||
# Install CMake 3.21 for Qt 6
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
 | 
			
		||||
RUN /opt/install-cmake.sh
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
 | 
			
		||||
 | 
			
		||||
# Setting this variable so that FFmpeg gets built without pipewiregrab
 | 
			
		||||
# (see daemon/contrib/bootstrap and daemon/contrib/src/ffmpeg/rules.mak)
 | 
			
		||||
# We rely on PipeWire for screen sharing on Wayland, but the version available on Debian 11 is too old.
 | 
			
		||||
ENV DISABLE_PIPEWIRE=true
 | 
			
		||||
 | 
			
		||||
CMD ["/opt/build-package-debian.sh"]
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,14 @@ RUN apt-get update --allow-releaseinfo-change && \
 | 
			
		||||
        wget \
 | 
			
		||||
        nasm
 | 
			
		||||
 | 
			
		||||
# As of January 2024, the default compiler on Debian testing is GCC 13.2.0, which
 | 
			
		||||
# can't build one of Qt 6.6.1's dependencies, see:
 | 
			
		||||
# https://github.com/qt/qtquick3d-assimp/commit/253f8bfa621a9fa6cd2c36291cdaa8c60c99322c
 | 
			
		||||
# The linked commit above fixes the problem and is included in more recent versions of Qt.
 | 
			
		||||
# For now, we use GCC 12 as a temporary workaround:
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
 | 
			
		||||
RUN /opt/install-gcc-debian.sh 12
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
 | 
			
		||||
@ -19,9 +27,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh jami-deps
 | 
			
		||||
 | 
			
		||||
# Install CMake 3.19 for Qt 6
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
 | 
			
		||||
RUN /opt/install-cmake.sh
 | 
			
		||||
RUN apt-get remove -y libre2-dev libre2-11
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
 | 
			
		||||
CMD ["/opt/build-package-debian.sh"]
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,14 @@ RUN apt-get update && \
 | 
			
		||||
        libdbus-1-dev \
 | 
			
		||||
        wget
 | 
			
		||||
 | 
			
		||||
# As of January 2024, the default compiler on Debian unstable is GCC 13.2.0, which
 | 
			
		||||
# can't build one of Qt 6.6.1's dependencies, see:
 | 
			
		||||
# https://github.com/qt/qtquick3d-assimp/commit/253f8bfa621a9fa6cd2c36291cdaa8c60c99322c
 | 
			
		||||
# The linked commit above fixes the problem and is included in more recent versions of Qt.
 | 
			
		||||
# For now, we use GCC 12 as a temporary workaround:
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
 | 
			
		||||
RUN /opt/install-gcc-debian.sh 12
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
 | 
			
		||||
@ -19,9 +27,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh jami-deps
 | 
			
		||||
 | 
			
		||||
# Install CMake 3.19 for Qt 6
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
 | 
			
		||||
RUN /opt/install-cmake.sh
 | 
			
		||||
RUN apt-get remove -y libre2-dev libre2-11
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
 | 
			
		||||
CMD ["/opt/build-package-debian.sh"]
 | 
			
		||||
 | 
			
		||||
@ -98,6 +98,7 @@ RUN dnf install -y \
 | 
			
		||||
        clang \
 | 
			
		||||
        cmake \
 | 
			
		||||
        fmt-devel \
 | 
			
		||||
        pipewire-devel \
 | 
			
		||||
        cups-devel #Chromium for Qt
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
 | 
			
		||||
@ -98,7 +98,8 @@ RUN dnf install -y \
 | 
			
		||||
        cmake \
 | 
			
		||||
        fmt-devel \
 | 
			
		||||
        python3-html5lib \
 | 
			
		||||
        cups-devel
 | 
			
		||||
        cups-devel \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										105
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_fedora_39
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,105 @@
 | 
			
		||||
FROM fedora:39
 | 
			
		||||
 | 
			
		||||
RUN dnf clean all
 | 
			
		||||
RUN dnf update -y
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
 | 
			
		||||
    dnf install -y mock
 | 
			
		||||
 | 
			
		||||
RUN dnf groupinstall -y "X Software Development"
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
        git \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        tar \
 | 
			
		||||
        make \
 | 
			
		||||
        autoconf \
 | 
			
		||||
        automake \
 | 
			
		||||
        nasm \
 | 
			
		||||
        speexdsp-devel \
 | 
			
		||||
        pulseaudio-libs-devel \
 | 
			
		||||
        libcanberra-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libtool \
 | 
			
		||||
        mesa-libgbm-devel \
 | 
			
		||||
        mesa-dri-drivers \
 | 
			
		||||
        dbus-devel \
 | 
			
		||||
        expat-devel \
 | 
			
		||||
        pcre-devel \
 | 
			
		||||
        yaml-cpp-devel \
 | 
			
		||||
        libXext-devel \
 | 
			
		||||
        libXfixes-devel \
 | 
			
		||||
        yasm \
 | 
			
		||||
        speex-devel \
 | 
			
		||||
        gsm-devel \
 | 
			
		||||
        chrpath \
 | 
			
		||||
        check \
 | 
			
		||||
        astyle \
 | 
			
		||||
        uuid-c++-devel \
 | 
			
		||||
        gettext-devel \
 | 
			
		||||
        gcc-c++ \
 | 
			
		||||
        which \
 | 
			
		||||
        alsa-lib-devel \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        libuuid-devel \
 | 
			
		||||
        uuid-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        nettle-devel \
 | 
			
		||||
        opus-devel \
 | 
			
		||||
        patch \
 | 
			
		||||
        jsoncpp-devel \
 | 
			
		||||
        libnatpmp-devel \
 | 
			
		||||
        webkitgtk4-devel \
 | 
			
		||||
        cryptopp-devel \
 | 
			
		||||
        libva-devel \
 | 
			
		||||
        libvdpau-devel \
 | 
			
		||||
        msgpack-devel \
 | 
			
		||||
        NetworkManager-libnm-devel \
 | 
			
		||||
        openssl-devel \
 | 
			
		||||
        clutter-devel \
 | 
			
		||||
        clutter-gtk-devel \
 | 
			
		||||
        libappindicator-gtk3-devel \
 | 
			
		||||
        libnotify-devel \
 | 
			
		||||
        libupnp-devel \
 | 
			
		||||
        qrencode-devel \
 | 
			
		||||
        libargon2-devel \
 | 
			
		||||
        libsndfile-devel \
 | 
			
		||||
        libdrm \
 | 
			
		||||
        gperf \
 | 
			
		||||
        bison \
 | 
			
		||||
        clang \
 | 
			
		||||
        clang-devel \
 | 
			
		||||
        llvm-devel \
 | 
			
		||||
        nodejs \
 | 
			
		||||
        flex \
 | 
			
		||||
        gstreamer1 gstreamer1-devel \
 | 
			
		||||
        gstreamer1-plugins-base-devel \
 | 
			
		||||
        gstreamer1-plugins-good \
 | 
			
		||||
        gstreamer1-plugins-bad-free-devel \
 | 
			
		||||
        nss-devel \
 | 
			
		||||
        libxcb* \
 | 
			
		||||
        libxkb* \
 | 
			
		||||
        libX11-devel \
 | 
			
		||||
        vulkan-devel \
 | 
			
		||||
        libXrender-devel \
 | 
			
		||||
        xcb-util-* \
 | 
			
		||||
        xz \
 | 
			
		||||
        xkeyboard-config \
 | 
			
		||||
        libnotify \
 | 
			
		||||
        wget \
 | 
			
		||||
        libstdc++-static \
 | 
			
		||||
        sqlite-devel \
 | 
			
		||||
        perl-generators \
 | 
			
		||||
        perl-English \
 | 
			
		||||
        libxshmfence-devel \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        clang \
 | 
			
		||||
        cmake \
 | 
			
		||||
        fmt-devel \
 | 
			
		||||
        python3.10 \
 | 
			
		||||
        cups-devel \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
 | 
			
		||||
CMD ["/opt/build-package-rpm.sh"]
 | 
			
		||||
							
								
								
									
										105
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_fedora_40
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,105 @@
 | 
			
		||||
FROM fedora:40
 | 
			
		||||
 | 
			
		||||
RUN dnf clean all
 | 
			
		||||
RUN dnf update -y
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
 | 
			
		||||
    dnf install -y mock
 | 
			
		||||
 | 
			
		||||
RUN dnf groupinstall -y "X Software Development"
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
        git \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        tar \
 | 
			
		||||
        make \
 | 
			
		||||
        autoconf \
 | 
			
		||||
        automake \
 | 
			
		||||
        nasm \
 | 
			
		||||
        speexdsp-devel \
 | 
			
		||||
        pulseaudio-libs-devel \
 | 
			
		||||
        libcanberra-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libtool \
 | 
			
		||||
        mesa-libgbm-devel \
 | 
			
		||||
        mesa-dri-drivers \
 | 
			
		||||
        dbus-devel \
 | 
			
		||||
        expat-devel \
 | 
			
		||||
        pcre-devel \
 | 
			
		||||
        yaml-cpp-devel \
 | 
			
		||||
        libXext-devel \
 | 
			
		||||
        libXfixes-devel \
 | 
			
		||||
        yasm \
 | 
			
		||||
        speex-devel \
 | 
			
		||||
        gsm-devel \
 | 
			
		||||
        chrpath \
 | 
			
		||||
        check \
 | 
			
		||||
        astyle \
 | 
			
		||||
        uuid-c++-devel \
 | 
			
		||||
        gettext-devel \
 | 
			
		||||
        gcc-c++ \
 | 
			
		||||
        which \
 | 
			
		||||
        alsa-lib-devel \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        libuuid-devel \
 | 
			
		||||
        uuid-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        nettle-devel \
 | 
			
		||||
        opus-devel \
 | 
			
		||||
        patch \
 | 
			
		||||
        jsoncpp-devel \
 | 
			
		||||
        libnatpmp-devel \
 | 
			
		||||
        webkitgtk4-devel \
 | 
			
		||||
        cryptopp-devel \
 | 
			
		||||
        libva-devel \
 | 
			
		||||
        libvdpau-devel \
 | 
			
		||||
        msgpack-devel \
 | 
			
		||||
        NetworkManager-libnm-devel \
 | 
			
		||||
        openssl-devel \
 | 
			
		||||
        clutter-devel \
 | 
			
		||||
        clutter-gtk-devel \
 | 
			
		||||
        libappindicator-gtk3-devel \
 | 
			
		||||
        libnotify-devel \
 | 
			
		||||
        libupnp-devel \
 | 
			
		||||
        qrencode-devel \
 | 
			
		||||
        libargon2-devel \
 | 
			
		||||
        libsndfile-devel \
 | 
			
		||||
        libdrm \
 | 
			
		||||
        gperf \
 | 
			
		||||
        bison \
 | 
			
		||||
        clang \
 | 
			
		||||
        clang-devel \
 | 
			
		||||
        llvm-devel \
 | 
			
		||||
        nodejs \
 | 
			
		||||
        flex \
 | 
			
		||||
        gstreamer1 gstreamer1-devel \
 | 
			
		||||
        gstreamer1-plugins-base-devel \
 | 
			
		||||
        gstreamer1-plugins-good \
 | 
			
		||||
        gstreamer1-plugins-bad-free-devel \
 | 
			
		||||
        nss-devel \
 | 
			
		||||
        libxcb* \
 | 
			
		||||
        libxkb* \
 | 
			
		||||
        libX11-devel \
 | 
			
		||||
        vulkan-devel \
 | 
			
		||||
        libXrender-devel \
 | 
			
		||||
        xcb-util-* \
 | 
			
		||||
        xz \
 | 
			
		||||
        xkeyboard-config \
 | 
			
		||||
        libnotify \
 | 
			
		||||
        wget \
 | 
			
		||||
        libstdc++-static \
 | 
			
		||||
        sqlite-devel \
 | 
			
		||||
        perl-generators \
 | 
			
		||||
        perl-English \
 | 
			
		||||
        libxshmfence-devel \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        clang \
 | 
			
		||||
        cmake \
 | 
			
		||||
        fmt-devel \
 | 
			
		||||
        python3.10 \
 | 
			
		||||
        cups-devel \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
 | 
			
		||||
CMD ["/opt/build-package-rpm.sh"]
 | 
			
		||||
							
								
								
									
										103
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_fedora_41
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,103 @@
 | 
			
		||||
FROM fedora:41
 | 
			
		||||
 | 
			
		||||
RUN dnf clean all
 | 
			
		||||
RUN dnf update -y
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
 | 
			
		||||
    dnf install -y mock
 | 
			
		||||
 | 
			
		||||
RUN dnf group install -y x-software-development
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y \
 | 
			
		||||
        git \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        tar \
 | 
			
		||||
        make \
 | 
			
		||||
        autoconf \
 | 
			
		||||
        automake \
 | 
			
		||||
        nasm \
 | 
			
		||||
        speexdsp-devel \
 | 
			
		||||
        pulseaudio-libs-devel \
 | 
			
		||||
        libcanberra-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libtool \
 | 
			
		||||
        mesa-libgbm-devel \
 | 
			
		||||
        mesa-dri-drivers \
 | 
			
		||||
        dbus-devel \
 | 
			
		||||
        expat-devel \
 | 
			
		||||
        pcre-devel \
 | 
			
		||||
        yaml-cpp-devel \
 | 
			
		||||
        libXext-devel \
 | 
			
		||||
        libXfixes-devel \
 | 
			
		||||
        yasm \
 | 
			
		||||
        speex-devel \
 | 
			
		||||
        gsm-devel \
 | 
			
		||||
        chrpath \
 | 
			
		||||
        check \
 | 
			
		||||
        astyle \
 | 
			
		||||
        uuid-c++-devel \
 | 
			
		||||
        gettext-devel \
 | 
			
		||||
        gcc-c++ \
 | 
			
		||||
        which \
 | 
			
		||||
        alsa-lib-devel \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        libuuid-devel \
 | 
			
		||||
        uuid-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        nettle-devel \
 | 
			
		||||
        opus-devel \
 | 
			
		||||
        patch \
 | 
			
		||||
        jsoncpp-devel \
 | 
			
		||||
        libnatpmp-devel \
 | 
			
		||||
        webkitgtk4-devel \
 | 
			
		||||
        cryptopp-devel \
 | 
			
		||||
        libva-devel \
 | 
			
		||||
        libvdpau-devel \
 | 
			
		||||
        msgpack-devel \
 | 
			
		||||
        NetworkManager-libnm-devel \
 | 
			
		||||
        openssl-devel \
 | 
			
		||||
        clutter-devel \
 | 
			
		||||
        clutter-gtk-devel \
 | 
			
		||||
        libappindicator-gtk3-devel \
 | 
			
		||||
        libnotify-devel \
 | 
			
		||||
        libupnp-devel \
 | 
			
		||||
        qrencode-devel \
 | 
			
		||||
        libargon2-devel \
 | 
			
		||||
        libsndfile-devel \
 | 
			
		||||
        libdrm \
 | 
			
		||||
        gperf \
 | 
			
		||||
        bison \
 | 
			
		||||
        clang18-devel \
 | 
			
		||||
        llvm18-devel \
 | 
			
		||||
        nodejs \
 | 
			
		||||
        flex \
 | 
			
		||||
        gstreamer1 gstreamer1-devel \
 | 
			
		||||
        gstreamer1-plugins-base-devel \
 | 
			
		||||
        gstreamer1-plugins-good \
 | 
			
		||||
        gstreamer1-plugins-bad-free-devel \
 | 
			
		||||
        nss-devel \
 | 
			
		||||
        libxcb* \
 | 
			
		||||
        libxkb* \
 | 
			
		||||
        libX11-devel \
 | 
			
		||||
        vulkan-devel \
 | 
			
		||||
        libXrender-devel \
 | 
			
		||||
        xcb-util-* \
 | 
			
		||||
        xz \
 | 
			
		||||
        xkeyboard-config \
 | 
			
		||||
        libnotify \
 | 
			
		||||
        wget \
 | 
			
		||||
        libstdc++-static \
 | 
			
		||||
        sqlite-devel \
 | 
			
		||||
        perl-generators \
 | 
			
		||||
        perl-English \
 | 
			
		||||
        libxshmfence-devel \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        cmake \
 | 
			
		||||
        fmt-devel \
 | 
			
		||||
        python3.10 \
 | 
			
		||||
        cups-devel \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
 | 
			
		||||
CMD ["/opt/build-package-rpm.sh"]
 | 
			
		||||
@ -59,6 +59,7 @@ RUN zypper --non-interactive install -y \
 | 
			
		||||
        ffmpeg-4-libavutil-devel \
 | 
			
		||||
        gtk3-devel\
 | 
			
		||||
        qrencode-devel \
 | 
			
		||||
        python310 \
 | 
			
		||||
        python3-python-dateutil \
 | 
			
		||||
        python3-html5lib \
 | 
			
		||||
        libsndfile-devel \
 | 
			
		||||
@ -67,9 +68,11 @@ RUN zypper --non-interactive install -y \
 | 
			
		||||
        bison \
 | 
			
		||||
        flex \
 | 
			
		||||
        ffmpeg ffmpeg-devel \
 | 
			
		||||
        nodejs12 \
 | 
			
		||||
        nodejs18 \
 | 
			
		||||
        mozilla-nss-devel \
 | 
			
		||||
        python-xml \
 | 
			
		||||
        python3-six \
 | 
			
		||||
        python3-importlib-metadata \
 | 
			
		||||
        libxcb* \
 | 
			
		||||
        libxkb* \
 | 
			
		||||
        libX11-devel \
 | 
			
		||||
@ -96,7 +99,12 @@ RUN zypper --non-interactive install -y \
 | 
			
		||||
        gstreamer-plugins-bad-devel \
 | 
			
		||||
        gstreamer-plugins-base-devel \
 | 
			
		||||
        cmake \
 | 
			
		||||
        wget
 | 
			
		||||
        wget \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
 | 
			
		||||
# openSUSE Leap 15.4 comes with Python 3.6 by default,
 | 
			
		||||
# but we need at least 3.7 to compile Qt 6.6.1
 | 
			
		||||
RUN rm /usr/bin/python3 && ln -s /usr/bin/python3.10 /usr/bin/python3
 | 
			
		||||
 | 
			
		||||
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 50
 | 
			
		||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 50
 | 
			
		||||
@ -105,4 +113,10 @@ ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-r
 | 
			
		||||
 | 
			
		||||
ENV CC=gcc
 | 
			
		||||
ENV CXX=g++
 | 
			
		||||
 | 
			
		||||
# Setting this variable so that FFmpeg gets built without pipewiregrab
 | 
			
		||||
# (see daemon/contrib/bootstrap and daemon/contrib/src/ffmpeg/rules.mak)
 | 
			
		||||
# We rely on PipeWire for screen sharing on Wayland, but the version available on openSUSE Leap 15.4 is too old.
 | 
			
		||||
ENV DISABLE_PIPEWIRE=true
 | 
			
		||||
 | 
			
		||||
CMD ["/opt/build-package-rpm.sh"]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										117
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_opensuse-leap_15.5
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,117 @@
 | 
			
		||||
FROM opensuse/leap:15.5
 | 
			
		||||
 | 
			
		||||
RUN zypper --gpg-auto-import-keys refresh
 | 
			
		||||
 | 
			
		||||
RUN zypper --non-interactive install -y \
 | 
			
		||||
        dnf \
 | 
			
		||||
        dnf-command\(builddep\) \
 | 
			
		||||
        rpmdevtools \
 | 
			
		||||
        Mesa-dri-devel Mesa-dri \
 | 
			
		||||
        git \
 | 
			
		||||
        gcc10 \
 | 
			
		||||
        gcc10-c++ \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        tar \
 | 
			
		||||
        make \
 | 
			
		||||
        autoconf \
 | 
			
		||||
        automake \
 | 
			
		||||
        nasm \
 | 
			
		||||
        speexdsp-devel \
 | 
			
		||||
        libpulse-devel \
 | 
			
		||||
        libcanberra-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libtool \
 | 
			
		||||
        pcre-devel \
 | 
			
		||||
        yaml-cpp-devel \
 | 
			
		||||
        libXext-devel \
 | 
			
		||||
        libXfixes-devel \
 | 
			
		||||
        yasm \
 | 
			
		||||
        speex-devel \
 | 
			
		||||
        libgsm-devel \
 | 
			
		||||
        chrpath \
 | 
			
		||||
        check \
 | 
			
		||||
        astyle \
 | 
			
		||||
        gettext-devel \
 | 
			
		||||
        which \
 | 
			
		||||
        alsa-lib-devel \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        libuuid-devel \
 | 
			
		||||
        uuid-devel \
 | 
			
		||||
        libopus-devel \
 | 
			
		||||
        patch \
 | 
			
		||||
        jsoncpp-devel \
 | 
			
		||||
        webkit2gtk3-devel \
 | 
			
		||||
        libcryptopp-devel \
 | 
			
		||||
        libva-devel \
 | 
			
		||||
        libvdpau-devel \
 | 
			
		||||
        msgpack-c-devel \
 | 
			
		||||
        msgpack-cxx-devel \
 | 
			
		||||
        clutter-devel \
 | 
			
		||||
        openssl-devel \
 | 
			
		||||
        clutter-gtk-devel \
 | 
			
		||||
        libnma-devel \
 | 
			
		||||
        libcryptopp-devel \
 | 
			
		||||
        libexpat-devel \
 | 
			
		||||
        gnome-icon-theme-symbolic \
 | 
			
		||||
        libgsm-devel \
 | 
			
		||||
        gtk3-devel \
 | 
			
		||||
        libappindicator-devel \
 | 
			
		||||
        sqlite-devel \
 | 
			
		||||
        ffmpeg-4-libavutil-devel \
 | 
			
		||||
        gtk3-devel\
 | 
			
		||||
        qrencode-devel \
 | 
			
		||||
        python310 \
 | 
			
		||||
        python3-python-dateutil \
 | 
			
		||||
        python3-html5lib \
 | 
			
		||||
        libsndfile-devel \
 | 
			
		||||
        libdrm \
 | 
			
		||||
        gperf \
 | 
			
		||||
        bison \
 | 
			
		||||
        flex \
 | 
			
		||||
        ffmpeg ffmpeg-devel \
 | 
			
		||||
        nodejs20 \
 | 
			
		||||
        mozilla-nss-devel \
 | 
			
		||||
        python-xml \
 | 
			
		||||
        python3-six \
 | 
			
		||||
        python3-importlib-metadata \
 | 
			
		||||
        libxcb* \
 | 
			
		||||
        libxkb* \
 | 
			
		||||
        libX11-devel \
 | 
			
		||||
        libXrender-devel \
 | 
			
		||||
        libfreetype6 \
 | 
			
		||||
        xcb-util-image-devel \
 | 
			
		||||
        xcb-util-keysyms-devel \
 | 
			
		||||
        xcb-util-renderutil-devel \
 | 
			
		||||
        xcb-util-wm-devel \
 | 
			
		||||
        xorg-x11-devel \
 | 
			
		||||
        xz \
 | 
			
		||||
        xkeyboard-config \
 | 
			
		||||
        libnotify \
 | 
			
		||||
        argon2-devel \
 | 
			
		||||
        libxshmfence-devel \
 | 
			
		||||
        xproto-devel \
 | 
			
		||||
        xcb-proto-devel \
 | 
			
		||||
        xcb-* \
 | 
			
		||||
        xorg-* \
 | 
			
		||||
        vulkan-devel \
 | 
			
		||||
        ninja \
 | 
			
		||||
        gstreamer-devel \
 | 
			
		||||
        gstreamer-plugins-good \
 | 
			
		||||
        gstreamer-plugins-bad-devel \
 | 
			
		||||
        gstreamer-plugins-base-devel \
 | 
			
		||||
        cmake \
 | 
			
		||||
        wget \
 | 
			
		||||
        pipewire-devel
 | 
			
		||||
 | 
			
		||||
# openSUSE Leap 15.5 comes with Python 3.6 by default,
 | 
			
		||||
# but we need at least 3.7 to compile Qt 6.6.1
 | 
			
		||||
RUN rm /usr/bin/python3 && ln -s /usr/bin/python3.10 /usr/bin/python3
 | 
			
		||||
 | 
			
		||||
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 50
 | 
			
		||||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 50
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
 | 
			
		||||
 | 
			
		||||
ENV CC=gcc
 | 
			
		||||
ENV CXX=g++
 | 
			
		||||
CMD ["/opt/build-package-rpm.sh"]
 | 
			
		||||
@ -69,7 +69,11 @@ COPY --from=builder /snap/snapcraft /snap/snapcraft
 | 
			
		||||
COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft
 | 
			
		||||
 | 
			
		||||
# Generate locale and install dependencies.
 | 
			
		||||
RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales && locale-gen en_US.UTF-8
 | 
			
		||||
RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales wget && locale-gen en_US.UTF-8
 | 
			
		||||
 | 
			
		||||
# Install CMake 3.21 for Qt 6
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
 | 
			
		||||
RUN /opt/install-cmake.sh
 | 
			
		||||
 | 
			
		||||
# Set the proper environment.
 | 
			
		||||
ENV LANG="en_US.UTF-8"
 | 
			
		||||
 | 
			
		||||
@ -11,8 +11,13 @@ RUN apt-get update && \
 | 
			
		||||
        wget \
 | 
			
		||||
        curl
 | 
			
		||||
 | 
			
		||||
# Installing GCC 10 because GCC 9 (the default on Ubuntu 20.04) doesn't support
 | 
			
		||||
# the --std=gnu++20 option, which is used by one of Qt 6.6.1's dependencies
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
 | 
			
		||||
RUN /opt/install-gcc-debian.sh 10
 | 
			
		||||
 | 
			
		||||
# nodejs
 | 
			
		||||
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
 | 
			
		||||
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
 | 
			
		||||
RUN apt install nodejs -y
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
@ -23,9 +28,15 @@ RUN /opt/prebuild-package-debian.sh qt-deps
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh jami-deps
 | 
			
		||||
 | 
			
		||||
# Install CMake 3.19 for Qt 6
 | 
			
		||||
# Install CMake 3.21 for Qt 6
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
 | 
			
		||||
RUN /opt/install-cmake.sh
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
 | 
			
		||||
 | 
			
		||||
# Setting this variable so that FFmpeg gets built without pipewiregrab
 | 
			
		||||
# (see daemon/contrib/bootstrap and daemon/contrib/src/ffmpeg/rules.mak)
 | 
			
		||||
# We rely on PipeWire for screen sharing on Wayland, but the version available on Ubuntu 20.04 is too old.
 | 
			
		||||
ENV DISABLE_PIPEWIRE=true
 | 
			
		||||
 | 
			
		||||
CMD ["/opt/build-package-debian.sh"]
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,12 @@ RUN apt-get update && \
 | 
			
		||||
        devscripts \
 | 
			
		||||
        equivs \
 | 
			
		||||
        python-is-python3 \
 | 
			
		||||
        wget
 | 
			
		||||
        wget \
 | 
			
		||||
        curl
 | 
			
		||||
 | 
			
		||||
# nodejs
 | 
			
		||||
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
 | 
			
		||||
RUN apt install nodejs -y
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_ubuntu_23.10
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,30 @@
 | 
			
		||||
FROM ubuntu:23.10
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
 | 
			
		||||
RUN apt-get clean
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
    apt-get install -y -o Acquire::Retries=10 \
 | 
			
		||||
        devscripts \
 | 
			
		||||
        equivs \
 | 
			
		||||
        python-is-python3 \
 | 
			
		||||
        wget
 | 
			
		||||
 | 
			
		||||
# The default compiler on Ubuntu 23.10, GCC 13.2.0, can't build one of Qt 6.6.1's
 | 
			
		||||
# dependencies, see:
 | 
			
		||||
# https://github.com/qt/qtquick3d-assimp/commit/253f8bfa621a9fa6cd2c36291cdaa8c60c99322c
 | 
			
		||||
# The linked commit above fixes the problem and is included in more recent versions of Qt.
 | 
			
		||||
# For now, we use GCC 12 as a temporary workaround:
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
 | 
			
		||||
RUN /opt/install-gcc-debian.sh 12
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh qt-deps
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh jami-deps
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
 | 
			
		||||
CMD ["/opt/build-package-debian.sh"]
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
FROM ubuntu:23.04
 | 
			
		||||
FROM ubuntu:24.04
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,9 @@ RUN apt-get update && \
 | 
			
		||||
        python-is-python3 \
 | 
			
		||||
        wget
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
 | 
			
		||||
RUN /opt/install-gcc-debian.sh 13
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
 | 
			
		||||
							
								
								
									
										29
									
								
								extras/packaging/gnu-linux/docker/Dockerfile_ubuntu_24.10
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,29 @@
 | 
			
		||||
FROM ubuntu:24.10
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
 | 
			
		||||
RUN apt-get clean
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
    apt-get install -y -o Acquire::Retries=10 \
 | 
			
		||||
        devscripts \
 | 
			
		||||
        equivs \
 | 
			
		||||
        python-is-python3 \
 | 
			
		||||
        wget
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh qt-deps
 | 
			
		||||
 | 
			
		||||
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
 | 
			
		||||
RUN /opt/prebuild-package-debian.sh jami-deps
 | 
			
		||||
 | 
			
		||||
# Remove the libre2-dev package in order to force Qt to build using the bundled
 | 
			
		||||
# version of the RE2 library. This is necessary because the system version of the
 | 
			
		||||
# library on Ubuntu 24.10 (libre2-11) is not compatible with the one used in
 | 
			
		||||
# Qt 6.6.1 due to an API change:
 | 
			
		||||
# https://codereview.qt-project.org/c/qt/qtwebengine/+/516094
 | 
			
		||||
RUN apt-get remove -y libre2-dev libre2-11
 | 
			
		||||
 | 
			
		||||
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
 | 
			
		||||
CMD ["/opt/build-package-debian.sh"]
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
;;; Copyright (C) 2021-2023 Savoir-faire Linux Inc.
 | 
			
		||||
;;; Copyright (C) 2021-2024 Savoir-faire Linux Inc.
 | 
			
		||||
;;;
 | 
			
		||||
;;; Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
 | 
			
		||||
;;;
 | 
			
		||||
 | 
			
		||||
@ -53,6 +53,7 @@ Build-Depends: debhelper (>= 9),
 | 
			
		||||
               libvulkan-dev [linux-any],
 | 
			
		||||
               libx11-dev,
 | 
			
		||||
               libx11-xcb-dev,
 | 
			
		||||
               libsm-dev,
 | 
			
		||||
               libxcb-glx0-dev,
 | 
			
		||||
               libxcb-icccm4-dev,
 | 
			
		||||
               libxcb-image0-dev,
 | 
			
		||||
@ -91,6 +92,7 @@ Build-Depends: debhelper (>= 9),
 | 
			
		||||
               libgl1-mesa-dri,
 | 
			
		||||
# pkg-kde-tools (>= 0.15.17~),
 | 
			
		||||
               python3:any,
 | 
			
		||||
               python3-bs4,
 | 
			
		||||
               python3-html5lib,
 | 
			
		||||
# qtbase5-private-dev (>= 5.15.2+dfsg~),
 | 
			
		||||
               xauth <!nocheck>,
 | 
			
		||||
@ -298,10 +300,11 @@ Build-Depends: debhelper (>= 9),
 | 
			
		||||
# libvpx-dev (>= 1.8),
 | 
			
		||||
               libvpx-dev,
 | 
			
		||||
               libwebp-dev,
 | 
			
		||||
# libx11-xcb-dev,
 | 
			
		||||
               libx11-xcb-dev,
 | 
			
		||||
               libxcb-dri3-dev,
 | 
			
		||||
# libxcomposite-dev,
 | 
			
		||||
               libxcursor-dev,
 | 
			
		||||
               libxcb-cursor-dev,
 | 
			
		||||
               libxdamage-dev,
 | 
			
		||||
               libxml2-dev,
 | 
			
		||||
               libxnvctrl-dev,
 | 
			
		||||
@ -312,7 +315,7 @@ Build-Depends: debhelper (>= 9),
 | 
			
		||||
               libxtst-dev,
 | 
			
		||||
               mesa-common-dev,
 | 
			
		||||
               ninja-build,
 | 
			
		||||
               nodejs (>= 10.19),
 | 
			
		||||
               nodejs (>= 14.21),
 | 
			
		||||
# pkg-config,
 | 
			
		||||
# pkg-kde-tools,
 | 
			
		||||
               protobuf-compiler,
 | 
			
		||||
 | 
			
		||||
@ -1,740 +0,0 @@
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/base/debug/profiler.h                                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h                                                         | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/base/logging.h                                                                   | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc                                                      | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h                               | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h                          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc                                | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h                                 | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h                                     | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h                        | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/extensions/common/constants.h                                                    | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h                             | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h                                     | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h                                                    | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h                                                     | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h                                                            | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/base/parse_number.h                                                          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h                 | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h                                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h                        | 6 ++++--
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h              | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h                                   | 2 +-
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h                   | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h  | 4 ++--
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h     | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h                                      | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h                        | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h                                    | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h                                    | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h                                 | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc                                  | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h                                  | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp                                      | 4 ++++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h                       | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h                          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h                                                | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h                                                   | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h                                                | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h                                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h                                                             | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h                                         | 1 +
 | 
			
		||||
 qtwebengine/src/core/browsing_data_remover_delegate_qt.h                                                           | 2 ++
 | 
			
		||||
 54 files changed, 71 insertions(+), 5 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
 | 
			
		||||
index 1229e06234..c7ed55e70f 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef BASE_DEBUG_PROFILER_H_
 | 
			
		||||
 #define BASE_DEBUG_PROFILER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 
 | 
			
		||||
 #include <string>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
 | 
			
		||||
index 60c3c5c474..6c8021cfde 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
 | 
			
		||||
@@ -7,6 +7,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <iosfwd>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/logging.h b/qtwebengine/src/3rdparty/chromium/base/logging.h
 | 
			
		||||
index a3ff92f0fd..c272f796a9 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/base/logging.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/base/logging.h
 | 
			
		||||
@@ -7,6 +7,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 
 | 
			
		||||
+
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <cassert>
 | 
			
		||||
 #include <cstdint>
 | 
			
		||||
 #include <sstream>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
 | 
			
		||||
index 96f8c3bd7c..c3f087b1a9 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
 | 
			
		||||
@@ -6,6 +6,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "ui/gfx/animation/keyframe/target_property.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace cc {
 | 
			
		||||
 
 | 
			
		||||
 static_assert(TargetProperty::LAST_TARGET_PROPERTY <
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
 | 
			
		||||
index 2aba73ebcb..2e028fddcf 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
 | 
			
		||||
 #define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
 | 
			
		||||
index 3069c858d3..f4614b73c6 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
 | 
			
		||||
 #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 #include "base/callback_forward.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
 | 
			
		||||
index 80fd26f4f4..3f08972a7a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
 // found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
 #include "device/base/synchronization/one_writer_seqlock.h"
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 #include "base/threading/platform_thread.h"
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
 | 
			
		||||
index 6a3eeda565..525301379c 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 #define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <atomic>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 #include "base/atomicops.h"
 | 
			
		||||
 #include "base/check.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
 | 
			
		||||
index 3cf2914e10..4b0552440c 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
 | 
			
		||||
 #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <ostream>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
 | 
			
		||||
index c24205c402..ee67ecf189 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
 | 
			
		||||
 #define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <map>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
 | 
			
		||||
index 9ac68e2be9..ef2761020d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
 | 
			
		||||
@@ -10,6 +10,8 @@
 | 
			
		||||
 #include "build/chromeos_buildflags.h"
 | 
			
		||||
 #include "extensions/common/extensions_export.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace extensions {
 | 
			
		||||
 
 | 
			
		||||
 // Scheme we serve extension content from.
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
 | 
			
		||||
index 4ba8de8460..6352b90196 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
 | 
			
		||||
 #define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <set>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
 | 
			
		||||
index a9c7adb5b5..943bd4e470 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
 | 
			
		||||
@@ -7,6 +7,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <stdint.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace gpu {
 | 
			
		||||
 namespace webgpu {
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
 | 
			
		||||
index 027f1a5af3..70759b2ae4 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
 | 
			
		||||
 #define GPU_CONFIG_GPU_FEATURE_INFO_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
 | 
			
		||||
index 3ea2191b50..0a1ae11202 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef GPU_CONFIG_GPU_PREFERENCES_H_
 | 
			
		||||
 #define GPU_CONFIG_GPU_PREFERENCES_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
 | 
			
		||||
index f72970c67a..d7f0b7d492 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef GPU_CONFIG_GPU_UTIL_H_
 | 
			
		||||
 #define GPU_CONFIG_GPU_UTIL_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 #include "build/build_config.h"
 | 
			
		||||
 #include "gpu/config/gpu_feature_info.h"
 | 
			
		||||
 #include "gpu/gpu_export.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
 | 
			
		||||
index 4e49ab7112..e99d2dd7aa 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
 | 
			
		||||
@@ -7,6 +7,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "base/strings/string_piece.h"
 | 
			
		||||
 #include "net/base/net_export.h"
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 // This file contains utility functions for parsing numbers, in the context of
 | 
			
		||||
 // network protocols.
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
 | 
			
		||||
index 2e9c319a3d..4d723d18f2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <bitset>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <ostream>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
 | 
			
		||||
index 6a300ed0c0..3e30f1cb02 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
 | 
			
		||||
 #define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
 #include "absl/strings/string_view.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
 | 
			
		||||
index 52f1501728..db4d310849 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
 | 
			
		||||
 #define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
 | 
			
		||||
index 138ca2efec..08f06e7b8c 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
 | 
			
		||||
 #define PDF_DOCUMENT_ATTACHMENT_INFO_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
 | 
			
		||||
index b4fdb9a6d3..375d3ef327 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
 | 
			
		||||
@@ -38,6 +38,10 @@ namespace pp {
 | 
			
		||||
 /// As a further optimization, we can add support for this later.
 | 
			
		||||
 class ThreadSafeThreadTraits {
 | 
			
		||||
  public:
 | 
			
		||||
+
 | 
			
		||||
+  typedef pp::Lock Lock;
 | 
			
		||||
+  typedef pp::AutoLock AutoLock;
 | 
			
		||||
+
 | 
			
		||||
   class RefCount {
 | 
			
		||||
    public:
 | 
			
		||||
     /// Default constructor. In debug mode, this checks that the object is being
 | 
			
		||||
@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
 | 
			
		||||
     int32_t ref_;
 | 
			
		||||
   };
 | 
			
		||||
 
 | 
			
		||||
-  typedef pp::Lock Lock;
 | 
			
		||||
-  typedef pp::AutoLock AutoLock;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 /// The non-thread-safe version of thread traits. Using this class as the
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
 | 
			
		||||
index 0aad3ac782..7f7a1057d7 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
 | 
			
		||||
 #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <bitset>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
 | 
			
		||||
index c47536d63e..443f47afd0 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <limits.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <cstddef>
 | 
			
		||||
 #include <cstring>
 | 
			
		||||
 #include <ostream>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
 | 
			
		||||
index e13aa2221d..0ce848486d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
 #define GLSLANG_SHADERLANG_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
-
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include "KHR/khrplatform.h"
 | 
			
		||||
 
 | 
			
		||||
 #include <array>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
 | 
			
		||||
index 18175e15c7..28332857bc 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
 #include <array>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 // This type is defined here to simplify ANGLE's integration with glslang for SPIR-V.
 | 
			
		||||
 using ShCompileOptions = uint64_t;
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
 | 
			
		||||
index c63049b174..82b27837b5 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 #define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <array>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 namespace blink {
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
 | 
			
		||||
index 14c5548766..43c9a8d6a5 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
 | 
			
		||||
 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace blink {
 | 
			
		||||
 
 | 
			
		||||
 enum class DarkModeResult : uint8_t {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
 | 
			
		||||
index 80b3150b67..6377196230 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
 | 
			
		||||
@@ -116,7 +116,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
 | 
			
		||||
 
 | 
			
		||||
     // An identifier for a document transition shared element. `id.valid()`
 | 
			
		||||
     // returns true if this has been set, and false otherwise.
 | 
			
		||||
-    DocumentTransitionSharedElementId document_transition_shared_element_id;
 | 
			
		||||
+    cc::DocumentTransitionSharedElementId document_transition_shared_element_id;
 | 
			
		||||
 
 | 
			
		||||
     // An identifier to tag shared element resources generated and cached in the
 | 
			
		||||
     // Viz process. This generated resource can be used as content for other
 | 
			
		||||
@@ -285,7 +285,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
 | 
			
		||||
     return state_.compositor_element_id;
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
-  const blink::DocumentTransitionSharedElementId&
 | 
			
		||||
+  const cc::DocumentTransitionSharedElementId&
 | 
			
		||||
   DocumentTransitionSharedElementId() const {
 | 
			
		||||
     return state_.document_transition_shared_element_id;
 | 
			
		||||
   }
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
 | 
			
		||||
index c7e4f2b378..f30ce91b36 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
 | 
			
		||||
@@ -34,6 +34,7 @@
 | 
			
		||||
 #include <sys/types.h>
 | 
			
		||||
 
 | 
			
		||||
 #include <string>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 #include "client/linux/handler/microdump_extra_info.h"
 | 
			
		||||
 #include "common/using_std_string.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
 | 
			
		||||
index 2d58d76cb6..139af564ea 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
 #include "dawn/common/TypedInteger.h"
 | 
			
		||||
 #include "dawn/common/ityp_array.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <bitset>
 | 
			
		||||
 #include <iostream>
 | 
			
		||||
 #include <limits>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
 | 
			
		||||
index 374bd8302a..0884eb2a19 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
 | 
			
		||||
 #define SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
 | 
			
		||||
index fa5fc3a7e9..6cec934670 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_SPIRV_NAMER_H_
 | 
			
		||||
 #define SRC_TINT_READER_SPIRV_NAMER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <unordered_map>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
 | 
			
		||||
index f378d57817..98d1336f9a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_WGSL_LEXER_H_
 | 
			
		||||
 #define SRC_TINT_READER_WGSL_LEXER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 #include "src/tint/reader/wgsl/token.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
 | 
			
		||||
index 7b5b6754ed..62b1ca7e36 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_WGSL_TOKEN_H_
 | 
			
		||||
 #define SRC_TINT_READER_WGSL_TOKEN_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <string_view>
 | 
			
		||||
 #include <variant>  // NOLINT: cpplint doesn't recognise this
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
 | 
			
		||||
index 4be648b37a..cac7238ef2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "src/tint/writer/spirv/instruction.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <utility>
 | 
			
		||||
 
 | 
			
		||||
 namespace tint::writer::spirv {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
 | 
			
		||||
index 46a5deb55b..4c3080ff25 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_WRITER_SPIRV_OPERAND_H_
 | 
			
		||||
 #define SRC_TINT_WRITER_SPIRV_OPERAND_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
 | 
			
		||||
index a3099e15db..2e6f0eea70 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
 | 
			
		||||
@@ -30,6 +30,7 @@
 | 
			
		||||
 #include <cstddef>
 | 
			
		||||
 #include <cstdint>
 | 
			
		||||
 #include <cstring>
 | 
			
		||||
+#include <cstdio>
 | 
			
		||||
 #include <new>
 | 
			
		||||
 #include <utility>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
 | 
			
		||||
index d2731dac7a..46bc87ef92 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
 | 
			
		||||
 #define CONSTANTS_ANNOTATION_FLAGS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace pdfium {
 | 
			
		||||
 namespace annotation_flags {
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
 | 
			
		||||
index 1b4c53815b..472042fabc 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
 #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <array>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 #include "perfetto/ext/base/optional.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
 | 
			
		||||
index c56f0344f9..cd7824929e 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
 | 
			
		||||
@@ -20,6 +20,8 @@
 | 
			
		||||
 #include "perfetto/ext/base/optional.h"
 | 
			
		||||
 #include "perfetto/trace_processor/status.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace perfetto {
 | 
			
		||||
 
 | 
			
		||||
 namespace protos {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
 | 
			
		||||
index 3164650728..512a26943d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
 | 
			
		||||
@@ -10,6 +10,10 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <algorithm> // std::lower_bound
 | 
			
		||||
 
 | 
			
		||||
+#include <string.h>
 | 
			
		||||
+#include <algorithm>
 | 
			
		||||
+#include <iterator>
 | 
			
		||||
+
 | 
			
		||||
 static constexpr const char* gColorNames[] = {
 | 
			
		||||
     "aliceblue",
 | 
			
		||||
     "antiquewhite",
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
 | 
			
		||||
index b7c586b80e..19ccbb024a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
 | 
			
		||||
@@ -146,6 +146,7 @@ available through VmaAllocatorCreateInfo::pRecordSettings.
 | 
			
		||||
     #endif // #if VMA_VULKAN_VERSION >= 1001000
 | 
			
		||||
 #endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdio>
 | 
			
		||||
 #ifndef VULKAN_H_
 | 
			
		||||
     #include <vulkan/vulkan.h>
 | 
			
		||||
 #endif
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
 | 
			
		||||
index 5fd37b4613..ce70405dd2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
 | 
			
		||||
@@ -11,6 +11,7 @@
 | 
			
		||||
 #ifndef CALL_RTP_DEMUXER_H_
 | 
			
		||||
 #define CALL_RTP_DEMUXER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <map>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <utility>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
 | 
			
		||||
index b70ac4aa59..7ba5555647 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
 | 
			
		||||
@@ -13,6 +13,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <gio/gio.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 namespace webrtc {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
 | 
			
		||||
index ca249541d0..534214dbfa 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
 #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
 | 
			
		||||
 #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
 | 
			
		||||
index 708d6c98ac..898016d886 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
 | 
			
		||||
@@ -8,6 +8,7 @@
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include "base/component_export.h"
 | 
			
		||||
 #include "ui/base/ime/text_input_type.h"
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
 | 
			
		||||
index d97a696fd5..68b18d80cd 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef UI_EVENTS_GESTURE_EVENT_DETAILS_H_
 | 
			
		||||
 #define UI_EVENTS_GESTURE_EVENT_DETAILS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string.h>
 | 
			
		||||
 
 | 
			
		||||
 #include "base/check_op.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
 | 
			
		||||
index 7ff15f0fc5..136cebc09e 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
 | 
			
		||||
 #define UI_EVENTS_TYPES_SCROLL_TYPES_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace ui {
 | 
			
		||||
 
 | 
			
		||||
 enum class ScrollGranularity : uint8_t {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
 | 
			
		||||
index 1ad025fec1..adadf96190 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef UI_GFX_LINEAR_GRADIENT_H_
 | 
			
		||||
 #define UI_GFX_LINEAR_GRADIENT_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <array>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
 | 
			
		||||
index fdac44e31e..a752dba6a2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef V8_BASE_LOGGING_H_
 | 
			
		||||
 #define V8_BASE_LOGGING_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <cstring>
 | 
			
		||||
 #include <sstream>
 | 
			
		||||
 #include <string>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
 | 
			
		||||
index 61644ffe05..6fbc037437 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef V8_BASE_MACROS_H_
 | 
			
		||||
 #define V8_BASE_MACROS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <limits>
 | 
			
		||||
 #include <type_traits>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
 | 
			
		||||
index c1d69c18f0..eb33c6816a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
 | 
			
		||||
 #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
 | 
			
		||||
diff --git a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
 | 
			
		||||
index 4e690ffb19..dfa884cd65 100644
 | 
			
		||||
--- a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
 | 
			
		||||
+++ b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
 | 
			
		||||
@@ -6,6 +6,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "content/public/browser/browsing_data_remover_delegate.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace QtWebEngineCore {
 | 
			
		||||
 
 | 
			
		||||
 class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {
 | 
			
		||||
@ -0,0 +1,348 @@
 | 
			
		||||
From 24fb774485f719df1e84dda31605d3f69202d69f Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 | 
			
		||||
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
 | 
			
		||||
Date: Thu, 8 Aug 2024 14:59:17 -0400
 | 
			
		||||
Subject: [PATCH] qtwebengine: enable building with Python 3.12
 | 
			
		||||
 | 
			
		||||
Replace the deprecated imp module by importlib:
 | 
			
		||||
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/524014
 | 
			
		||||
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/534568
 | 
			
		||||
 | 
			
		||||
Update six to fix html5lib import failure:
 | 
			
		||||
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/535605
 | 
			
		||||
https://issues.chromium.org/issues/40286977
 | 
			
		||||
---
 | 
			
		||||
 .../protobufs/binary_proto_generator.py          |  8 ++++++--
 | 
			
		||||
 .../mojo/public/tools/mojom/mojom/fileutil.py    |  1 -
 | 
			
		||||
 .../tools/mojom/mojom/fileutil_unittest.py       |  5 +----
 | 
			
		||||
 .../mojom/mojom/generate/generator_unittest.py   |  7 ++-----
 | 
			
		||||
 .../mojom/mojom/generate/translate_unittest.py   |  4 ----
 | 
			
		||||
 .../tools/mojom/mojom/parse/ast_unittest.py      |  6 ------
 | 
			
		||||
 .../mojom/parse/conditional_features_unittest.py |  8 ++------
 | 
			
		||||
 .../mojo/public/tools/mojom/mojom/parse/lexer.py |  1 -
 | 
			
		||||
 .../tools/mojom/mojom/parse/lexer_unittest.py    |  7 ++-----
 | 
			
		||||
 .../tools/mojom/mojom/parse/parser_unittest.py   |  5 -----
 | 
			
		||||
 .../third_party/catapult/third_party/six/six.py  | 16 ++++++++++++++++
 | 
			
		||||
 11 files changed, 29 insertions(+), 39 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py b/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
 | 
			
		||||
index 2a1802dccdc..8b9de65ed0b 100755
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
 """
 | 
			
		||||
 from __future__ import print_function
 | 
			
		||||
 import abc
 | 
			
		||||
-import imp
 | 
			
		||||
+from importlib import util as imp_util
 | 
			
		||||
 import optparse
 | 
			
		||||
 import os
 | 
			
		||||
 import re
 | 
			
		||||
@@ -68,7 +68,11 @@ class GoogleProtobufModuleImporter:
 | 
			
		||||
       raise ImportError(fullname)
 | 
			
		||||
 
 | 
			
		||||
     filepath = self._fullname_to_filepath(fullname)
 | 
			
		||||
-    return imp.load_source(fullname, filepath)
 | 
			
		||||
+    spec = imp_util.spec_from_file_location(fullname, filepath)
 | 
			
		||||
+    loaded = imp_util.module_from_spec(spec)
 | 
			
		||||
+    spec.loader.exec_module(loaded)
 | 
			
		||||
+
 | 
			
		||||
+    return loaded
 | 
			
		||||
 
 | 
			
		||||
 class BinaryProtoGenerator:
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py
 | 
			
		||||
index 29daec367c5..124f12c134b 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py
 | 
			
		||||
@@ -3,7 +3,6 @@
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
 import errno
 | 
			
		||||
-import imp
 | 
			
		||||
 import os.path
 | 
			
		||||
 import sys
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil_unittest.py
 | 
			
		||||
index 48eaf4eca94..c93d22898d2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil_unittest.py
 | 
			
		||||
@@ -2,19 +2,16 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
 import os.path
 | 
			
		||||
 import shutil
 | 
			
		||||
-import sys
 | 
			
		||||
 import tempfile
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
 from mojom import fileutil
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class FileUtilTest(unittest.TestCase):
 | 
			
		||||
   def testEnsureDirectoryExists(self):
 | 
			
		||||
-    """Test that EnsureDirectoryExists fuctions correctly."""
 | 
			
		||||
+    """Test that EnsureDirectoryExists functions correctly."""
 | 
			
		||||
 
 | 
			
		||||
     temp_dir = tempfile.mkdtemp()
 | 
			
		||||
     try:
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
 | 
			
		||||
index 76cda3981f3..7143e07c4d7 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
 | 
			
		||||
@@ -2,12 +2,11 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
+import importlib.util
 | 
			
		||||
 import os.path
 | 
			
		||||
 import sys
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 def _GetDirAbove(dirname):
 | 
			
		||||
   """Returns the directory "above" this file containing |dirname| (which must
 | 
			
		||||
   also be "above" this file)."""
 | 
			
		||||
@@ -20,12 +19,11 @@ def _GetDirAbove(dirname):
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
 try:
 | 
			
		||||
-  imp.find_module("mojom")
 | 
			
		||||
+  importlib.util.find_spec("mojom")
 | 
			
		||||
 except ImportError:
 | 
			
		||||
   sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib"))
 | 
			
		||||
 from mojom.generate import generator
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class StringManipulationTest(unittest.TestCase):
 | 
			
		||||
   """generator contains some string utilities, this tests only those."""
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +67,5 @@ class StringManipulationTest(unittest.TestCase):
 | 
			
		||||
     self.assertEquals("SNAKE_D3D11_CASE",
 | 
			
		||||
                       generator.ToUpperSnakeCase("snakeD3d11Case"))
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 if __name__ == "__main__":
 | 
			
		||||
   unittest.main()
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/translate_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
 | 
			
		||||
index 4259374513f..558e71e1193 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
 | 
			
		||||
@@ -2,16 +2,12 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
-import os.path
 | 
			
		||||
-import sys
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
 from mojom.generate import module as mojom
 | 
			
		||||
 from mojom.generate import translate
 | 
			
		||||
 from mojom.parse import ast
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class TranslateTest(unittest.TestCase):
 | 
			
		||||
   """Tests |parser.Parse()|."""
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/ast_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
 | 
			
		||||
index c36376712e7..b289f7b11f6 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
 | 
			
		||||
@@ -2,14 +2,10 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
-import os.path
 | 
			
		||||
-import sys
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
 from mojom.parse import ast
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class _TestNode(ast.NodeBase):
 | 
			
		||||
   """Node type for tests."""
 | 
			
		||||
 
 | 
			
		||||
@@ -20,13 +16,11 @@ class _TestNode(ast.NodeBase):
 | 
			
		||||
   def __eq__(self, other):
 | 
			
		||||
     return super().__eq__(other) and self.value == other.value
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class _TestNodeList(ast.NodeListBase):
 | 
			
		||||
   """Node list type for tests."""
 | 
			
		||||
 
 | 
			
		||||
   _list_item_type = _TestNode
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class ASTTest(unittest.TestCase):
 | 
			
		||||
   """Tests various AST classes."""
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
 | 
			
		||||
index 5fc582025ee..2fa5d2be6ab 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
 | 
			
		||||
@@ -2,12 +2,11 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
+import importlib.util
 | 
			
		||||
 import os
 | 
			
		||||
 import sys
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 def _GetDirAbove(dirname):
 | 
			
		||||
   """Returns the directory "above" this file containing |dirname| (which must
 | 
			
		||||
   also be "above" this file)."""
 | 
			
		||||
@@ -18,9 +17,8 @@ def _GetDirAbove(dirname):
 | 
			
		||||
     if tail == dirname:
 | 
			
		||||
       return path
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 try:
 | 
			
		||||
-  imp.find_module('mojom')
 | 
			
		||||
+  importlib.util.find_spec("mojom")
 | 
			
		||||
 except ImportError:
 | 
			
		||||
   sys.path.append(os.path.join(_GetDirAbove('pylib'), 'pylib'))
 | 
			
		||||
 import mojom.parse.ast as ast
 | 
			
		||||
@@ -29,7 +27,6 @@ import mojom.parse.parser as parser
 | 
			
		||||
 
 | 
			
		||||
 ENABLED_FEATURES = frozenset({'red', 'green', 'blue'})
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class ConditionalFeaturesTest(unittest.TestCase):
 | 
			
		||||
   """Tests |mojom.parse.conditional_features|."""
 | 
			
		||||
 
 | 
			
		||||
@@ -356,6 +353,5 @@ class ConditionalFeaturesTest(unittest.TestCase):
 | 
			
		||||
                       conditional_features.RemoveDisabledDefinitions,
 | 
			
		||||
                       definition, ENABLED_FEATURES)
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 if __name__ == '__main__':
 | 
			
		||||
   unittest.main()
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py
 | 
			
		||||
index 73ca15df94c..1083a1af7bb 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py
 | 
			
		||||
@@ -2,7 +2,6 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
 import os.path
 | 
			
		||||
 import sys
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
 | 
			
		||||
index ce376da66e0..bc9f8354316 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
 | 
			
		||||
@@ -2,12 +2,11 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
+import importlib.util
 | 
			
		||||
 import os.path
 | 
			
		||||
 import sys
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 def _GetDirAbove(dirname):
 | 
			
		||||
   """Returns the directory "above" this file containing |dirname| (which must
 | 
			
		||||
   also be "above" this file)."""
 | 
			
		||||
@@ -18,17 +17,15 @@ def _GetDirAbove(dirname):
 | 
			
		||||
     if tail == dirname:
 | 
			
		||||
       return path
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 sys.path.insert(1, os.path.join(_GetDirAbove("mojo"), "third_party"))
 | 
			
		||||
 from ply import lex
 | 
			
		||||
 
 | 
			
		||||
 try:
 | 
			
		||||
-  imp.find_module("mojom")
 | 
			
		||||
+  importlib.util.find_spec("mojom")
 | 
			
		||||
 except ImportError:
 | 
			
		||||
   sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib"))
 | 
			
		||||
 import mojom.parse.lexer
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 # This (monkey-patching LexToken to make comparison value-based) is evil, but
 | 
			
		||||
 # we'll do it anyway. (I'm pretty sure ply's lexer never cares about comparing
 | 
			
		||||
 # for object identity.)
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/parser_unittest.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
 | 
			
		||||
index 0513343ec7e..0a26307b1a3 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
 | 
			
		||||
@@ -2,16 +2,12 @@
 | 
			
		||||
 # Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
 # found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
-import imp
 | 
			
		||||
-import os.path
 | 
			
		||||
-import sys
 | 
			
		||||
 import unittest
 | 
			
		||||
 
 | 
			
		||||
 from mojom.parse import ast
 | 
			
		||||
 from mojom.parse import lexer
 | 
			
		||||
 from mojom.parse import parser
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 class ParserTest(unittest.TestCase):
 | 
			
		||||
   """Tests |parser.Parse()|."""
 | 
			
		||||
 
 | 
			
		||||
@@ -1375,6 +1371,5 @@ class ParserTest(unittest.TestCase):
 | 
			
		||||
         r" *associated\? MyInterface& a;$"):
 | 
			
		||||
       parser.Parse(source3, "my_file.mojom")
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 if __name__ == "__main__":
 | 
			
		||||
   unittest.main()
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/catapult/third_party/six/six.py b/qtwebengine/src/3rdparty/chromium/third_party/catapult/third_party/six/six.py
 | 
			
		||||
index 83f69783d1a..5e7f0ce4437 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/catapult/third_party/six/six.py
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/catapult/third_party/six/six.py
 | 
			
		||||
@@ -71,6 +71,11 @@ else:
 | 
			
		||||
             MAXSIZE = int((1 << 63) - 1)
 | 
			
		||||
         del X
 | 
			
		||||
 
 | 
			
		||||
+if PY34:
 | 
			
		||||
+    from importlib.util import spec_from_loader
 | 
			
		||||
+else:
 | 
			
		||||
+    spec_from_loader = None
 | 
			
		||||
+
 | 
			
		||||
 
 | 
			
		||||
 def _add_doc(func, doc):
 | 
			
		||||
     """Add documentation to a function."""
 | 
			
		||||
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
 | 
			
		||||
             return self
 | 
			
		||||
         return None
 | 
			
		||||
 
 | 
			
		||||
+    def find_spec(self, fullname, path, target=None):
 | 
			
		||||
+        if fullname in self.known_modules:
 | 
			
		||||
+            return spec_from_loader(fullname, self)
 | 
			
		||||
+        return None
 | 
			
		||||
+
 | 
			
		||||
     def __get_module(self, fullname):
 | 
			
		||||
         try:
 | 
			
		||||
             return self.known_modules[fullname]
 | 
			
		||||
@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object):
 | 
			
		||||
         return None
 | 
			
		||||
     get_source = get_code  # same as get_code
 | 
			
		||||
 
 | 
			
		||||
+    def create_module(self, spec):
 | 
			
		||||
+        return self.load_module(spec.name)
 | 
			
		||||
+
 | 
			
		||||
+    def exec_module(self, module):
 | 
			
		||||
+        pass
 | 
			
		||||
+
 | 
			
		||||
 _importer = _SixMetaPathImporter(__name__)
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
-- 
 | 
			
		||||
2.34.1
 | 
			
		||||
 | 
			
		||||
@ -1,52 +0,0 @@
 | 
			
		||||
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
 | 
			
		||||
Date: Mon, 29 May 2023 13:09:53 -0400
 | 
			
		||||
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
 | 
			
		||||
 | 
			
		||||
Using O_PATH requires correctly specifying whether the fd is writable or
 | 
			
		||||
not. Stating that the fd is writable without it actually being writable
 | 
			
		||||
results into rejection on xdg-desktop-portal side. Other implementations
 | 
			
		||||
like xdg-open or gtk have also moved away from O_PATH fds so this will
 | 
			
		||||
make a matching implementation and avoid possible rejections from xdp.
 | 
			
		||||
 | 
			
		||||
Fixes: QTBUG-113143
 | 
			
		||||
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
 | 
			
		||||
---
 | 
			
		||||
 qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
 | 
			
		||||
 1 file changed, 2 insertions(+), 6 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
 | 
			
		||||
index a0e5466c58..fe0fdaa625 100644
 | 
			
		||||
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
 | 
			
		||||
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
 | 
			
		||||
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
 | 
			
		||||
     // handle_token (s) -  A string that will be used as the last element of the @handle.
 | 
			
		||||
     // writable (b) - Whether to allow the chosen application to write to the file.
 | 
			
		||||
 
 | 
			
		||||
-#ifdef O_PATH
 | 
			
		||||
-    const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
 | 
			
		||||
+    const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
 | 
			
		||||
     if (fd != -1) {
 | 
			
		||||
         QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
 | 
			
		||||
                                                               "/org/freedesktop/portal/desktop"_L1,
 | 
			
		||||
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
 | 
			
		||||
         QDBusUnixFileDescriptor descriptor;
 | 
			
		||||
         descriptor.giveFileDescriptor(fd);
 | 
			
		||||
 
 | 
			
		||||
-        const QVariantMap options = {{"writable"_L1, true}};
 | 
			
		||||
+        const QVariantMap options = {};
 | 
			
		||||
 
 | 
			
		||||
         // FIXME parent_window_id
 | 
			
		||||
         message << QString() << QVariant::fromValue(descriptor) << options;
 | 
			
		||||
 
 | 
			
		||||
         return QDBusConnection::sessionBus().call(message);
 | 
			
		||||
     }
 | 
			
		||||
-#else
 | 
			
		||||
-    Q_UNUSED(url);
 | 
			
		||||
-#endif
 | 
			
		||||
 
 | 
			
		||||
     return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
 | 
			
		||||
 }
 | 
			
		||||
-- 
 | 
			
		||||
2.40.1
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,16 @@
 | 
			
		||||
 qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp | 2 +-
 | 
			
		||||
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
 | 
			
		||||
index 3488120543..120e47a76f 100644
 | 
			
		||||
--- a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
 | 
			
		||||
+++ b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
 | 
			
		||||
@@ -472,7 +472,7 @@ void TokenizeBinary(TokenList& output_tokens, const char* input, size_t length)
 | 
			
		||||
     }
 | 
			
		||||
     catch (const DeadlyImportError& e)
 | 
			
		||||
     {
 | 
			
		||||
-        if (!is64bits && (length > std::numeric_limits<std::uint32_t>::max())) {
 | 
			
		||||
+        if (!is64bits && (length > std::numeric_limits<uint32_t>::max())) {
 | 
			
		||||
             throw DeadlyImportError("The FBX file is invalid. This may be because the content is too big for this older version (", ai_to_string(version), ") of the FBX format. (", e.what(), ")");
 | 
			
		||||
         }
 | 
			
		||||
         throw;
 | 
			
		||||
@ -0,0 +1,26 @@
 | 
			
		||||
From cf208d11dc8a9a02160a57283596ec8bab964a09 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
 | 
			
		||||
Date: Mon, 27 May 2024 16:01:21 -0400
 | 
			
		||||
Subject: [PATCH] qtwayland: downgrade wl-seat to avoid high-resolution
 | 
			
		||||
 scrolling events
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 qtwayland/src/client/qwaylandinputdevice.cpp | 2 +-
 | 
			
		||||
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwayland/src/client/qwaylandinputdevice.cpp b/qtwayland/src/client/qwaylandinputdevice.cpp
 | 
			
		||||
index a4f8757e3c..ad0aa7941c 100644
 | 
			
		||||
--- a/qtwayland/src/client/qwaylandinputdevice.cpp
 | 
			
		||||
+++ b/qtwayland/src/client/qwaylandinputdevice.cpp
 | 
			
		||||
@@ -383,7 +383,7 @@ QWaylandInputDevice::Touch::~Touch()
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 QWaylandInputDevice::QWaylandInputDevice(QWaylandDisplay *display, int version, uint32_t id)
 | 
			
		||||
-    : QtWayland::wl_seat(display->wl_registry(), id, qMin(version, 9))
 | 
			
		||||
+    : QtWayland::wl_seat(display->wl_registry(), id, qMin(version, 7))
 | 
			
		||||
     , mQDisplay(display)
 | 
			
		||||
     , mDisplay(display->wl_display())
 | 
			
		||||
 {
 | 
			
		||||
-- 
 | 
			
		||||
2.45.0
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,40 @@
 | 
			
		||||
From 420b3e5ac2e91b7a99488ac34577e2798a84a68c Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 | 
			
		||||
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
 | 
			
		||||
Date: Tue, 6 Aug 2024 17:35:56 -0400
 | 
			
		||||
Subject: [PATCH] qtbase: fix CMake error
 | 
			
		||||
 | 
			
		||||
For more information, see:
 | 
			
		||||
https://github.com/qt/qtbase/commit/3411f2984a5325a35e3bed1f961e5973d8a565b9
 | 
			
		||||
---
 | 
			
		||||
 qtbase/configure.cmake            | 1 +
 | 
			
		||||
 qtbase/src/corelib/CMakeLists.txt | 1 -
 | 
			
		||||
 2 files changed, 1 insertion(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtbase/configure.cmake b/qtbase/configure.cmake
 | 
			
		||||
index 43de2aa026..37a82dcdb6 100644
 | 
			
		||||
--- a/qtbase/configure.cmake
 | 
			
		||||
+++ b/qtbase/configure.cmake
 | 
			
		||||
@@ -18,6 +18,7 @@ if(TARGET ZLIB::ZLIB)
 | 
			
		||||
     set_property(TARGET ZLIB::ZLIB PROPERTY IMPORTED_GLOBAL TRUE)
 | 
			
		||||
 endif()
 | 
			
		||||
 
 | 
			
		||||
+qt_find_package(Threads PROVIDED_TARGETS Threads::Threads)
 | 
			
		||||
 qt_find_package(WrapOpenSSLHeaders PROVIDED_TARGETS WrapOpenSSLHeaders::WrapOpenSSLHeaders MODULE_NAME core)
 | 
			
		||||
 # openssl_headers
 | 
			
		||||
 # OPENSSL_VERSION_MAJOR is not defined for OpenSSL 1.1.1
 | 
			
		||||
diff --git a/qtbase/src/corelib/CMakeLists.txt b/qtbase/src/corelib/CMakeLists.txt
 | 
			
		||||
index 31b81734e8..b62e2f763b 100644
 | 
			
		||||
--- a/qtbase/src/corelib/CMakeLists.txt
 | 
			
		||||
+++ b/qtbase/src/corelib/CMakeLists.txt
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
 # Copyright (C) 2022 The Qt Company Ltd.
 | 
			
		||||
 # SPDX-License-Identifier: BSD-3-Clause
 | 
			
		||||
 
 | 
			
		||||
-qt_find_package(Threads PROVIDED_TARGETS Threads::Threads)
 | 
			
		||||
 qt_find_package(WrapPCRE2 PROVIDED_TARGETS WrapPCRE2::WrapPCRE2)
 | 
			
		||||
 qt_find_package(WrapZLIB PROVIDED_TARGETS WrapZLIB::WrapZLIB)
 | 
			
		||||
 
 | 
			
		||||
-- 
 | 
			
		||||
2.34.1
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,40 @@
 | 
			
		||||
From 4c7360faeb0fb7f1dfd995619fb8c596b4e15606 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 | 
			
		||||
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
 | 
			
		||||
Date: Thu, 8 Aug 2024 10:29:43 -0400
 | 
			
		||||
Subject: [PATCH] qtwebengine: add missing chromium dependencies
 | 
			
		||||
 | 
			
		||||
For more information, see:
 | 
			
		||||
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/555586
 | 
			
		||||
---
 | 
			
		||||
 chromium/content/public/browser/BUILD.gn                         | 1 +
 | 
			
		||||
 chromium/extensions/browser/api/declarative_net_request/BUILD.gn | 1 +
 | 
			
		||||
 2 files changed, 2 insertions(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn b/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn
 | 
			
		||||
index b25bf5764e7..dfbfb2ec77b 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn
 | 
			
		||||
@@ -515,6 +515,7 @@ jumbo_source_set("browser_sources") {
 | 
			
		||||
     "//cc",
 | 
			
		||||
     "//components/services/storage/public/cpp",
 | 
			
		||||
     "//components/viz/host",
 | 
			
		||||
+    "//components/spellcheck:buildflags",
 | 
			
		||||
     "//content/browser",  # Must not be public_deps!
 | 
			
		||||
     "//device/fido",
 | 
			
		||||
     "//gpu",
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
 | 
			
		||||
index 1fc492f5a0c..13a266e22f1 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
 | 
			
		||||
@@ -23,6 +23,7 @@ source_set("declarative_net_request") {
 | 
			
		||||
     "//extensions/common",
 | 
			
		||||
     "//extensions/common/api",
 | 
			
		||||
     "//services/preferences/public/cpp",
 | 
			
		||||
+    "//components/web_cache/browser",
 | 
			
		||||
   ]
 | 
			
		||||
 
 | 
			
		||||
   public_deps = [ "//extensions/browser:browser_sources" ]
 | 
			
		||||
-- 
 | 
			
		||||
2.34.1
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,49 @@
 | 
			
		||||
From ab6d5bebaf68a9f4d00440b2adbaffe0e5b2ae6c Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 | 
			
		||||
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
 | 
			
		||||
Date: Thu, 8 Aug 2024 10:55:08 -0400
 | 
			
		||||
Subject: [PATCH] qtwebengine: fix libxml2 build error
 | 
			
		||||
 | 
			
		||||
Version 2.12 of libxml2 introduced a change that broke chromium's build,
 | 
			
		||||
see: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/523633
 | 
			
		||||
---
 | 
			
		||||
 .../third_party/blink/renderer/core/xml/xslt_processor.h     | 5 +++++
 | 
			
		||||
 .../blink/renderer/core/xml/xslt_processor_libxslt.cc        | 4 ++++
 | 
			
		||||
 2 files changed, 9 insertions(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
 | 
			
		||||
index d53835e9675..72536e4fd7d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
 | 
			
		||||
@@ -77,7 +77,12 @@ class XSLTProcessor final : public ScriptWrappable {
 | 
			
		||||
 
 | 
			
		||||
   void reset();
 | 
			
		||||
 
 | 
			
		||||
+#if LIBXML_VERSION >= 21200
 | 
			
		||||
+  static void ParseErrorFunc(void* user_data, const xmlError*);
 | 
			
		||||
+#else
 | 
			
		||||
   static void ParseErrorFunc(void* user_data, xmlError*);
 | 
			
		||||
+#endif
 | 
			
		||||
+
 | 
			
		||||
   static void GenericErrorFunc(void* user_data, const char* msg, ...);
 | 
			
		||||
 
 | 
			
		||||
   // Only for libXSLT callbacks
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
 | 
			
		||||
index 133e0b3355d..e8e6a09f485 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
 | 
			
		||||
@@ -66,7 +66,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) {
 | 
			
		||||
   // It would be nice to do something with this error message.
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+#if LIBXML_VERSION >= 21200
 | 
			
		||||
+void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
 | 
			
		||||
+#else
 | 
			
		||||
 void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
 | 
			
		||||
+#endif
 | 
			
		||||
   FrameConsole* console = static_cast<FrameConsole*>(user_data);
 | 
			
		||||
   if (!console)
 | 
			
		||||
     return;
 | 
			
		||||
-- 
 | 
			
		||||
2.34.1
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,34 @@
 | 
			
		||||
From 6e0848a1c51c6494e3b7410c5fe38941d48fcb36 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 | 
			
		||||
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
 | 
			
		||||
Date: Wed, 16 Oct 2024 22:32:12 -0400
 | 
			
		||||
Subject: [PATCH] qtwebengine: fix v8 build error
 | 
			
		||||
 | 
			
		||||
In file included from ../../../3rdparty/chromium/v8/src/heap/cppgc/sweeper.h:14,
 | 
			
		||||
                 from ./../../../3rdparty/chromium/v8/src/heap/cppgc/sweeper.cc:5,
 | 
			
		||||
                 from gen/v8/cppgc_base_jumbo_7.cc:5:
 | 
			
		||||
../../../3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h: In member function 'void cppgc::internal::StatsCollector::ForAllAllocationObservers(Callback)':
 | 
			
		||||
../../../3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h:401:48: error: cannot convert 'std::vector<cppgc::internal::StatsCollector::AllocationObserver*>::iterator' to 'const char*'
 | 
			
		||||
  401 |         std::remove(allocation_observers_.begin(), allocation_observers_.end(),
 | 
			
		||||
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
 | 
			
		||||
      |                                                |
 | 
			
		||||
      |                                                std::vector<cppgc::internal::StatsCollector::AllocationObserver*>::iterator
 | 
			
		||||
---
 | 
			
		||||
 .../src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h    | 1 +
 | 
			
		||||
 1 file changed, 1 insertion(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h b/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h
 | 
			
		||||
index 2cf728489d..d8414ae3c6 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h
 | 
			
		||||
@@ -8,6 +8,7 @@
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 #include <stdint.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <algorithm>
 | 
			
		||||
 #include <atomic>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
-- 
 | 
			
		||||
2.47.0
 | 
			
		||||
 | 
			
		||||
@ -1,2 +1,7 @@
 | 
			
		||||
0001-fix-gcc13.patch
 | 
			
		||||
0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
 | 
			
		||||
0001-qtwebengine-enable-building-with-Python-3.12.patch
 | 
			
		||||
0002-fix-binary-tokenizer.patch
 | 
			
		||||
0003-qtwayland-downgrade-wl-seat-to-avoid-high-resolution.patch
 | 
			
		||||
0004-qtbase-fix-CMake-error.patch
 | 
			
		||||
0005-qtwebengine-add-missing-chromium-dependencies.patch
 | 
			
		||||
0006-qtwebengine-fix-libxml2-build-error.patch
 | 
			
		||||
0007-qtwebengine-fix-v8-build-error.patch
 | 
			
		||||
@ -22,7 +22,7 @@ Build-Depends: debhelper (>= 9),
 | 
			
		||||
               libpulse-dev,
 | 
			
		||||
               libasound2-dev,
 | 
			
		||||
               libexpat1-dev,
 | 
			
		||||
               libpcre3-dev,
 | 
			
		||||
               libpcre3-dev | libpcre2-dev,
 | 
			
		||||
               libyaml-cpp-dev,
 | 
			
		||||
               libboost-dev,
 | 
			
		||||
               libxext-dev,
 | 
			
		||||
@ -45,6 +45,8 @@ Build-Depends: debhelper (>= 9),
 | 
			
		||||
               libvdpau-dev,
 | 
			
		||||
               libssl-dev,
 | 
			
		||||
               libargon2-dev | libargon2-0-dev,
 | 
			
		||||
# TODO: remove libpipewire-0.2-dev once we stop supporting Ubuntu 20.04
 | 
			
		||||
               libpipewire-0.3-dev | libpipewire-0.2-dev,
 | 
			
		||||
# other
 | 
			
		||||
               nasm,
 | 
			
		||||
               yasm,
 | 
			
		||||
@ -68,7 +70,7 @@ Depends: gnupg,
 | 
			
		||||
Replaces: jami,
 | 
			
		||||
          jami-libclient,
 | 
			
		||||
          jami-daemon,
 | 
			
		||||
          libqt-jami (>= 6.4.3),
 | 
			
		||||
          libqt-jami (>= 6.6.1),
 | 
			
		||||
Conflicts: jami,
 | 
			
		||||
           jami-libclient,
 | 
			
		||||
           jami-libclient-gnome,
 | 
			
		||||
@ -84,7 +86,7 @@ Architecture: any
 | 
			
		||||
Depends: ${shlibs:Depends},
 | 
			
		||||
         ${misc:Depends},
 | 
			
		||||
         jami-daemon (=${binary:Version}),
 | 
			
		||||
         libqt-jami (>= 6.4.3)
 | 
			
		||||
         libqt-jami (>= 6.6.1)
 | 
			
		||||
Provides: jami-qt
 | 
			
		||||
Replaces: jami-all,
 | 
			
		||||
          jami-libclient (<= 20220516.0214.9b42ad3~dfsg1-1)
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@ Upstream-Name: jami
 | 
			
		||||
Upstream-Contact: Amin Bandali <bandali@gnu.org>
 | 
			
		||||
Source: https://dl.jami.net/release/tarballs/
 | 
			
		||||
Files: *
 | 
			
		||||
Copyright: 2004-2023 Savoir-faire Linux Inc.
 | 
			
		||||
Copyright: 2004-2024 Savoir-faire Linux Inc.
 | 
			
		||||
License: GPL-3+
 | 
			
		||||
Comment: Upstream embeds everything that is needed to build Jami inside the release tarball.
 | 
			
		||||
 Everything that is already in Debian has been removed.
 | 
			
		||||
@ -50,7 +50,7 @@ Files: daemon/src/media/audio/opensl/audio_common.h
 | 
			
		||||
       daemon/src/media/audio/opensl/audio_recorder.h
 | 
			
		||||
       daemon/src/media/audio/opensl/buf_manager.h
 | 
			
		||||
Copyright: 2015 The Android Open Source Project
 | 
			
		||||
           2015-2023 Savoir-faire Linux Inc.
 | 
			
		||||
           2015-2024 Savoir-faire Linux Inc.
 | 
			
		||||
License: Apache-2.0
 | 
			
		||||
 | 
			
		||||
Files: daemon/extras/tools/bootstrap
 | 
			
		||||
 | 
			
		||||
@ -99,8 +99,12 @@ if [ -f /etc/os-release ]; then
 | 
			
		||||
        ENDTAG="ubuntu_20.04"
 | 
			
		||||
    elif [ "${UBUNTU_CODENAME}" = "jammy" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_22.04" ]; then
 | 
			
		||||
        ENDTAG="ubuntu_22.04"
 | 
			
		||||
    elif [ "${UBUNTU_CODENAME}" = "lunar" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_23.04" ]; then
 | 
			
		||||
        ENDTAG="ubuntu_23.04"
 | 
			
		||||
    elif [ "${UBUNTU_CODENAME}" = "mantic" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_23.10" ]; then
 | 
			
		||||
        ENDTAG="ubuntu_23.10"
 | 
			
		||||
    elif [ "${UBUNTU_CODENAME}" = "noble" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_24.04" ]; then
 | 
			
		||||
        ENDTAG="ubuntu_24.04"
 | 
			
		||||
    elif [ "${UBUNTU_CODENAME}" = "oracular" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_24.10" ]; then
 | 
			
		||||
        ENDTAG="ubuntu_24.10"
 | 
			
		||||
    elif [ "${ID}" = "debian" ] && \
 | 
			
		||||
             [ "$(command -v lsb_release)" ] && \
 | 
			
		||||
             [ "$(lsb_release -rs)" = "testing" ]; then
 | 
			
		||||
 | 
			
		||||
@ -50,6 +50,7 @@ BuildRequires: libuuid-devel
 | 
			
		||||
BuildRequires: libva-devel
 | 
			
		||||
BuildRequires: libvdpau-devel
 | 
			
		||||
BuildRequires: pcre-devel
 | 
			
		||||
BuildRequires: pipewire-devel
 | 
			
		||||
BuildRequires: uuid-devel
 | 
			
		||||
BuildRequires: yaml-cpp-devel
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,9 @@
 | 
			
		||||
%define computed_job_count_ %(echo $(( %available_memory / %memory_required_per_core / %max_parallel_builds )))
 | 
			
		||||
%define computed_job_count %max %computed_job_count_ 1
 | 
			
		||||
%define job_count %min %cpu_count %computed_job_count
 | 
			
		||||
# Exclude vendored Qt6 from dependency generator
 | 
			
		||||
%define __provides_exclude_from ^%{_libdir}/qt-jami/.*$
 | 
			
		||||
%define __requires_exclude ^libQt6.*$
 | 
			
		||||
 | 
			
		||||
Name:          %{name}
 | 
			
		||||
Version:       %{version}
 | 
			
		||||
@ -26,8 +29,8 @@ License:       GPLv3+
 | 
			
		||||
Vendor:        Savoir-faire Linux Inc.
 | 
			
		||||
URL:           https://jami.net/
 | 
			
		||||
Source:        jami-libqt-%{version}.tar.xz
 | 
			
		||||
Patch0:        0001-fix-gcc13.patch
 | 
			
		||||
Patch1:        0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
 | 
			
		||||
Patch0:        0001-fix-gcc14.patch
 | 
			
		||||
Patch1:        0002-qtwebengine-add-missing-chromium-dependencies.patch
 | 
			
		||||
 | 
			
		||||
%global gst 0.10
 | 
			
		||||
%if 0%{?fedora} || 0%{?rhel} > 7
 | 
			
		||||
@ -48,6 +51,7 @@ BuildRequires: ffmpeg
 | 
			
		||||
BuildRequires: python-xml
 | 
			
		||||
BuildRequires: mozilla-nss-devel
 | 
			
		||||
%else
 | 
			
		||||
BuildRequires: python-six
 | 
			
		||||
BuildRequires: pkgconfig(gstreamer-%{gst})
 | 
			
		||||
BuildRequires: pkgconfig(gstreamer-app-%{gst})
 | 
			
		||||
BuildRequires: pkgconfig(gstreamer-audio-%{gst})
 | 
			
		||||
@ -62,8 +66,8 @@ This package contains Qt libraries for Jami.
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
%setup -n qt-everywhere-src-%{version}
 | 
			
		||||
%patch0 -p1
 | 
			
		||||
%patch1 -p1
 | 
			
		||||
%patch -P 0 -p1
 | 
			
		||||
%patch -P 1 -p1
 | 
			
		||||
 | 
			
		||||
%build
 | 
			
		||||
echo "Building Qt using %{job_count} parallel jobs"
 | 
			
		||||
@ -84,6 +88,15 @@ cat qtbase/src/corelib/global/qendian.h
 | 
			
		||||
sed -i 's,#include <string.h>,#include <string.h>\n#include <limits>,g' qtbase/src/corelib/global/qfloat16.h
 | 
			
		||||
sed -i 's,#include <QtCore/qbytearray.h>,#include <QtCore/qbytearray.h>\n#include <limits>,g' qtbase/src/corelib/text/qbytearraymatcher.h
 | 
			
		||||
cat qtwebengine/configure.cmake
 | 
			
		||||
 | 
			
		||||
#https://bugreports.qt.io/browse/QTBUG-117979
 | 
			
		||||
if test -f "/usr/bin/python3.10"; then
 | 
			
		||||
  /usr/bin/python3.10 -m venv env
 | 
			
		||||
  source env/bin/activate
 | 
			
		||||
  python -m pip install html5lib
 | 
			
		||||
  python -m pip install six
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# recent gcc version do not like lto from qt
 | 
			
		||||
CXXFLAGS="${CXXFLAGS} -fno-lto" CFLAGS="${CFLAGS} -fno-lto" LDFLAGS="$(CFLAGS) ${LDFLAGS}" ./configure \
 | 
			
		||||
  -opensource \
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,9 @@
 | 
			
		||||
%define version     RELEASE_VERSION
 | 
			
		||||
%define release     0
 | 
			
		||||
 | 
			
		||||
# Exclude vendored Qt6 from dependency generator
 | 
			
		||||
%define __requires_exclude ^libQt6.*$
 | 
			
		||||
 | 
			
		||||
Name:          %{name}
 | 
			
		||||
Version:       %{version}
 | 
			
		||||
Release:       %{release}%{?dist}
 | 
			
		||||
 | 
			
		||||
@ -1,740 +0,0 @@
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/base/debug/profiler.h                                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h                                                         | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/base/logging.h                                                                   | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc                                                      | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h                               | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h                          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc                                | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h                                 | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h                                     | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h                        | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/extensions/common/constants.h                                                    | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h                             | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h                                     | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h                                                    | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h                                                     | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h                                                            | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/base/parse_number.h                                                          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h                 | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h                                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h                        | 6 ++++--
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h              | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h                                   | 2 +-
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h                   | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h  | 4 ++--
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h     | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h                                      | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h                        | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h                                    | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h                                    | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h                                 | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc                                  | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h                                  | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp                                      | 4 ++++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h                       | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h                          | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h                                   | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h                                                | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h                                                   | 2 ++
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h                                                | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h                                                            | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h                                                             | 1 +
 | 
			
		||||
 qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h                                         | 1 +
 | 
			
		||||
 qtwebengine/src/core/browsing_data_remover_delegate_qt.h                                                           | 2 ++
 | 
			
		||||
 54 files changed, 71 insertions(+), 5 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
 | 
			
		||||
index 1229e06234..c7ed55e70f 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef BASE_DEBUG_PROFILER_H_
 | 
			
		||||
 #define BASE_DEBUG_PROFILER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 
 | 
			
		||||
 #include <string>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
 | 
			
		||||
index 60c3c5c474..6c8021cfde 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
 | 
			
		||||
@@ -7,6 +7,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <iosfwd>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/base/logging.h b/qtwebengine/src/3rdparty/chromium/base/logging.h
 | 
			
		||||
index a3ff92f0fd..c272f796a9 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/base/logging.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/base/logging.h
 | 
			
		||||
@@ -7,6 +7,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 
 | 
			
		||||
+
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <cassert>
 | 
			
		||||
 #include <cstdint>
 | 
			
		||||
 #include <sstream>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
 | 
			
		||||
index 96f8c3bd7c..c3f087b1a9 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
 | 
			
		||||
@@ -6,6 +6,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "ui/gfx/animation/keyframe/target_property.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace cc {
 | 
			
		||||
 
 | 
			
		||||
 static_assert(TargetProperty::LAST_TARGET_PROPERTY <
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
 | 
			
		||||
index 2aba73ebcb..2e028fddcf 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
 | 
			
		||||
 #define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
 | 
			
		||||
index 3069c858d3..f4614b73c6 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
 | 
			
		||||
 #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 #include "base/callback_forward.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
 | 
			
		||||
index 80fd26f4f4..3f08972a7a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
 // found in the LICENSE file.
 | 
			
		||||
 
 | 
			
		||||
 #include "device/base/synchronization/one_writer_seqlock.h"
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 #include "base/threading/platform_thread.h"
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
 | 
			
		||||
index 6a3eeda565..525301379c 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 #define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <atomic>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 #include "base/atomicops.h"
 | 
			
		||||
 #include "base/check.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
 | 
			
		||||
index 3cf2914e10..4b0552440c 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
 | 
			
		||||
 #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <ostream>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
 | 
			
		||||
index c24205c402..ee67ecf189 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
 | 
			
		||||
 #define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <map>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
 | 
			
		||||
index 9ac68e2be9..ef2761020d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
 | 
			
		||||
@@ -10,6 +10,8 @@
 | 
			
		||||
 #include "build/chromeos_buildflags.h"
 | 
			
		||||
 #include "extensions/common/extensions_export.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace extensions {
 | 
			
		||||
 
 | 
			
		||||
 // Scheme we serve extension content from.
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
 | 
			
		||||
index 4ba8de8460..6352b90196 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
 | 
			
		||||
 #define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <set>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
 | 
			
		||||
index a9c7adb5b5..943bd4e470 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
 | 
			
		||||
@@ -7,6 +7,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <stdint.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace gpu {
 | 
			
		||||
 namespace webgpu {
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
 | 
			
		||||
index 027f1a5af3..70759b2ae4 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
 | 
			
		||||
 #define GPU_CONFIG_GPU_FEATURE_INFO_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
 | 
			
		||||
index 3ea2191b50..0a1ae11202 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef GPU_CONFIG_GPU_PREFERENCES_H_
 | 
			
		||||
 #define GPU_CONFIG_GPU_PREFERENCES_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
 | 
			
		||||
index f72970c67a..d7f0b7d492 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef GPU_CONFIG_GPU_UTIL_H_
 | 
			
		||||
 #define GPU_CONFIG_GPU_UTIL_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 #include "build/build_config.h"
 | 
			
		||||
 #include "gpu/config/gpu_feature_info.h"
 | 
			
		||||
 #include "gpu/gpu_export.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
 | 
			
		||||
index 4e49ab7112..e99d2dd7aa 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
 | 
			
		||||
@@ -7,6 +7,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "base/strings/string_piece.h"
 | 
			
		||||
 #include "net/base/net_export.h"
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 // This file contains utility functions for parsing numbers, in the context of
 | 
			
		||||
 // network protocols.
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
 | 
			
		||||
index 2e9c319a3d..4d723d18f2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <bitset>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <ostream>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
 | 
			
		||||
index 6a300ed0c0..3e30f1cb02 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
 | 
			
		||||
 #define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
 #include "absl/strings/string_view.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
 | 
			
		||||
index 52f1501728..db4d310849 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
 | 
			
		||||
 #define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
 | 
			
		||||
index 138ca2efec..08f06e7b8c 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
 | 
			
		||||
 #define PDF_DOCUMENT_ATTACHMENT_INFO_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
 | 
			
		||||
index b4fdb9a6d3..375d3ef327 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
 | 
			
		||||
@@ -38,6 +38,10 @@ namespace pp {
 | 
			
		||||
 /// As a further optimization, we can add support for this later.
 | 
			
		||||
 class ThreadSafeThreadTraits {
 | 
			
		||||
  public:
 | 
			
		||||
+
 | 
			
		||||
+  typedef pp::Lock Lock;
 | 
			
		||||
+  typedef pp::AutoLock AutoLock;
 | 
			
		||||
+
 | 
			
		||||
   class RefCount {
 | 
			
		||||
    public:
 | 
			
		||||
     /// Default constructor. In debug mode, this checks that the object is being
 | 
			
		||||
@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
 | 
			
		||||
     int32_t ref_;
 | 
			
		||||
   };
 | 
			
		||||
 
 | 
			
		||||
-  typedef pp::Lock Lock;
 | 
			
		||||
-  typedef pp::AutoLock AutoLock;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 /// The non-thread-safe version of thread traits. Using this class as the
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
 | 
			
		||||
index 0aad3ac782..7f7a1057d7 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
 | 
			
		||||
 #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <bitset>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
 | 
			
		||||
index c47536d63e..443f47afd0 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <limits.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <cstddef>
 | 
			
		||||
 #include <cstring>
 | 
			
		||||
 #include <ostream>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
 | 
			
		||||
index e13aa2221d..0ce848486d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
 #define GLSLANG_SHADERLANG_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
-
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include "KHR/khrplatform.h"
 | 
			
		||||
 
 | 
			
		||||
 #include <array>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
 | 
			
		||||
index 18175e15c7..28332857bc 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
 #include <array>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 // This type is defined here to simplify ANGLE's integration with glslang for SPIR-V.
 | 
			
		||||
 using ShCompileOptions = uint64_t;
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
 | 
			
		||||
index c63049b174..82b27837b5 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 #define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <array>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 namespace blink {
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
 | 
			
		||||
index 14c5548766..43c9a8d6a5 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
 | 
			
		||||
 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace blink {
 | 
			
		||||
 
 | 
			
		||||
 enum class DarkModeResult : uint8_t {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
 | 
			
		||||
index 80b3150b67..6377196230 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
 | 
			
		||||
@@ -116,7 +116,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
 | 
			
		||||
 
 | 
			
		||||
     // An identifier for a document transition shared element. `id.valid()`
 | 
			
		||||
     // returns true if this has been set, and false otherwise.
 | 
			
		||||
-    DocumentTransitionSharedElementId document_transition_shared_element_id;
 | 
			
		||||
+    cc::DocumentTransitionSharedElementId document_transition_shared_element_id;
 | 
			
		||||
 
 | 
			
		||||
     // An identifier to tag shared element resources generated and cached in the
 | 
			
		||||
     // Viz process. This generated resource can be used as content for other
 | 
			
		||||
@@ -285,7 +285,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
 | 
			
		||||
     return state_.compositor_element_id;
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
-  const blink::DocumentTransitionSharedElementId&
 | 
			
		||||
+  const cc::DocumentTransitionSharedElementId&
 | 
			
		||||
   DocumentTransitionSharedElementId() const {
 | 
			
		||||
     return state_.document_transition_shared_element_id;
 | 
			
		||||
   }
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
 | 
			
		||||
index c7e4f2b378..f30ce91b36 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
 | 
			
		||||
@@ -34,6 +34,7 @@
 | 
			
		||||
 #include <sys/types.h>
 | 
			
		||||
 
 | 
			
		||||
 #include <string>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
 #include "client/linux/handler/microdump_extra_info.h"
 | 
			
		||||
 #include "common/using_std_string.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
 | 
			
		||||
index 2d58d76cb6..139af564ea 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
 #include "dawn/common/TypedInteger.h"
 | 
			
		||||
 #include "dawn/common/ityp_array.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <bitset>
 | 
			
		||||
 #include <iostream>
 | 
			
		||||
 #include <limits>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
 | 
			
		||||
index 374bd8302a..0884eb2a19 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
 | 
			
		||||
 #define SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
 | 
			
		||||
index fa5fc3a7e9..6cec934670 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_SPIRV_NAMER_H_
 | 
			
		||||
 #define SRC_TINT_READER_SPIRV_NAMER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <unordered_map>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
 | 
			
		||||
index f378d57817..98d1336f9a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_WGSL_LEXER_H_
 | 
			
		||||
 #define SRC_TINT_READER_WGSL_LEXER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 #include "src/tint/reader/wgsl/token.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
 | 
			
		||||
index 7b5b6754ed..62b1ca7e36 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_READER_WGSL_TOKEN_H_
 | 
			
		||||
 #define SRC_TINT_READER_WGSL_TOKEN_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <string_view>
 | 
			
		||||
 #include <variant>  // NOLINT: cpplint doesn't recognise this
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
 | 
			
		||||
index 4be648b37a..cac7238ef2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "src/tint/writer/spirv/instruction.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <utility>
 | 
			
		||||
 
 | 
			
		||||
 namespace tint::writer::spirv {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
 | 
			
		||||
index 46a5deb55b..4c3080ff25 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 #ifndef SRC_TINT_WRITER_SPIRV_OPERAND_H_
 | 
			
		||||
 #define SRC_TINT_WRITER_SPIRV_OPERAND_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
 | 
			
		||||
index a3099e15db..2e6f0eea70 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
 | 
			
		||||
@@ -30,6 +30,7 @@
 | 
			
		||||
 #include <cstddef>
 | 
			
		||||
 #include <cstdint>
 | 
			
		||||
 #include <cstring>
 | 
			
		||||
+#include <cstdio>
 | 
			
		||||
 #include <new>
 | 
			
		||||
 #include <utility>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
 | 
			
		||||
index d2731dac7a..46bc87ef92 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
 | 
			
		||||
 #define CONSTANTS_ANNOTATION_FLAGS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace pdfium {
 | 
			
		||||
 namespace annotation_flags {
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
 | 
			
		||||
index 1b4c53815b..472042fabc 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
 #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
 | 
			
		||||
 
 | 
			
		||||
 #include <array>
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 #include "perfetto/ext/base/optional.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
 | 
			
		||||
index c56f0344f9..cd7824929e 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
 | 
			
		||||
@@ -20,6 +20,8 @@
 | 
			
		||||
 #include "perfetto/ext/base/optional.h"
 | 
			
		||||
 #include "perfetto/trace_processor/status.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace perfetto {
 | 
			
		||||
 
 | 
			
		||||
 namespace protos {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
 | 
			
		||||
index 3164650728..512a26943d 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
 | 
			
		||||
@@ -10,6 +10,10 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <algorithm> // std::lower_bound
 | 
			
		||||
 
 | 
			
		||||
+#include <string.h>
 | 
			
		||||
+#include <algorithm>
 | 
			
		||||
+#include <iterator>
 | 
			
		||||
+
 | 
			
		||||
 static constexpr const char* gColorNames[] = {
 | 
			
		||||
     "aliceblue",
 | 
			
		||||
     "antiquewhite",
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
 | 
			
		||||
index b7c586b80e..19ccbb024a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
 | 
			
		||||
@@ -146,6 +146,7 @@ available through VmaAllocatorCreateInfo::pRecordSettings.
 | 
			
		||||
     #endif // #if VMA_VULKAN_VERSION >= 1001000
 | 
			
		||||
 #endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdio>
 | 
			
		||||
 #ifndef VULKAN_H_
 | 
			
		||||
     #include <vulkan/vulkan.h>
 | 
			
		||||
 #endif
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
 | 
			
		||||
index 5fd37b4613..ce70405dd2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
 | 
			
		||||
@@ -11,6 +11,7 @@
 | 
			
		||||
 #ifndef CALL_RTP_DEMUXER_H_
 | 
			
		||||
 #define CALL_RTP_DEMUXER_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <map>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <utility>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
 | 
			
		||||
index b70ac4aa59..7ba5555647 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
 | 
			
		||||
@@ -13,6 +13,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <gio/gio.h>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 namespace webrtc {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
 | 
			
		||||
index ca249541d0..534214dbfa 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
 #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
 | 
			
		||||
 #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
 | 
			
		||||
index 708d6c98ac..898016d886 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
 | 
			
		||||
@@ -8,6 +8,7 @@
 | 
			
		||||
 #include <string>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include "base/component_export.h"
 | 
			
		||||
 #include "ui/base/ime/text_input_type.h"
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
 | 
			
		||||
index d97a696fd5..68b18d80cd 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef UI_EVENTS_GESTURE_EVENT_DETAILS_H_
 | 
			
		||||
 #define UI_EVENTS_GESTURE_EVENT_DETAILS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string.h>
 | 
			
		||||
 
 | 
			
		||||
 #include "base/check_op.h"
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
 | 
			
		||||
index 7ff15f0fc5..136cebc09e 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
 #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
 | 
			
		||||
 #define UI_EVENTS_TYPES_SCROLL_TYPES_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace ui {
 | 
			
		||||
 
 | 
			
		||||
 enum class ScrollGranularity : uint8_t {
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
 | 
			
		||||
index 1ad025fec1..adadf96190 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef UI_GFX_LINEAR_GRADIENT_H_
 | 
			
		||||
 #define UI_GFX_LINEAR_GRADIENT_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <array>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
 | 
			
		||||
index fdac44e31e..a752dba6a2 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef V8_BASE_LOGGING_H_
 | 
			
		||||
 #define V8_BASE_LOGGING_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <cstring>
 | 
			
		||||
 #include <sstream>
 | 
			
		||||
 #include <string>
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
 | 
			
		||||
index 61644ffe05..6fbc037437 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef V8_BASE_MACROS_H_
 | 
			
		||||
 #define V8_BASE_MACROS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <limits>
 | 
			
		||||
 #include <type_traits>
 | 
			
		||||
 
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
 | 
			
		||||
index c1d69c18f0..eb33c6816a 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
 | 
			
		||||
 #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
 #include <string>
 | 
			
		||||
 
 | 
			
		||||
 // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
 | 
			
		||||
diff --git a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
 | 
			
		||||
index 4e690ffb19..dfa884cd65 100644
 | 
			
		||||
--- a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
 | 
			
		||||
+++ b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
 | 
			
		||||
@@ -6,6 +6,8 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "content/public/browser/browsing_data_remover_delegate.h"
 | 
			
		||||
 
 | 
			
		||||
+#include <cstdint>
 | 
			
		||||
+
 | 
			
		||||
 namespace QtWebEngineCore {
 | 
			
		||||
 
 | 
			
		||||
 class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {
 | 
			
		||||
@ -0,0 +1,26 @@
 | 
			
		||||
From 9721082687c9529fe6ae3c5304dcf079158e8a77 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Sam James <sam@gentoo.org>
 | 
			
		||||
Date: Sun, 04 Jun 2023 04:15:16 +0100
 | 
			
		||||
Subject: [PATCH] heap: Add missing <algorithm> include for std::remove
 | 
			
		||||
 | 
			
		||||
GCC 14 changes some internal includes within libstdc++ so this transient
 | 
			
		||||
include gets lost. Include <algorithm> explicitly for std::remove.
 | 
			
		||||
 | 
			
		||||
Change-Id: Iab8a2c751a0f9c9dc6a770d6296ad6de724ef3bb
 | 
			
		||||
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4583222
 | 
			
		||||
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
 | 
			
		||||
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
 | 
			
		||||
Cr-Commit-Position: refs/heads/main@{#88037}
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h b/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h
 | 
			
		||||
index 2cf728489d..d8414ae3c6 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/heap/cppgc/stats-collector.h
 | 
			
		||||
@@ -8,6 +8,7 @@
 | 
			
		||||
 #include <stddef.h>
 | 
			
		||||
 #include <stdint.h>
 | 
			
		||||
 | 
			
		||||
+#include <algorithm>
 | 
			
		||||
 #include <atomic>
 | 
			
		||||
 #include <vector>
 | 
			
		||||
@ -1,52 +0,0 @@
 | 
			
		||||
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
 | 
			
		||||
Date: Mon, 29 May 2023 13:09:53 -0400
 | 
			
		||||
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
 | 
			
		||||
 | 
			
		||||
Using O_PATH requires correctly specifying whether the fd is writable or
 | 
			
		||||
not. Stating that the fd is writable without it actually being writable
 | 
			
		||||
results into rejection on xdg-desktop-portal side. Other implementations
 | 
			
		||||
like xdg-open or gtk have also moved away from O_PATH fds so this will
 | 
			
		||||
make a matching implementation and avoid possible rejections from xdp.
 | 
			
		||||
 | 
			
		||||
Fixes: QTBUG-113143
 | 
			
		||||
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
 | 
			
		||||
---
 | 
			
		||||
 qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
 | 
			
		||||
 1 file changed, 2 insertions(+), 6 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
 | 
			
		||||
index a0e5466c58..fe0fdaa625 100644
 | 
			
		||||
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
 | 
			
		||||
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
 | 
			
		||||
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
 | 
			
		||||
     // handle_token (s) -  A string that will be used as the last element of the @handle.
 | 
			
		||||
     // writable (b) - Whether to allow the chosen application to write to the file.
 | 
			
		||||
 
 | 
			
		||||
-#ifdef O_PATH
 | 
			
		||||
-    const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
 | 
			
		||||
+    const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
 | 
			
		||||
     if (fd != -1) {
 | 
			
		||||
         QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
 | 
			
		||||
                                                               "/org/freedesktop/portal/desktop"_L1,
 | 
			
		||||
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
 | 
			
		||||
         QDBusUnixFileDescriptor descriptor;
 | 
			
		||||
         descriptor.giveFileDescriptor(fd);
 | 
			
		||||
 
 | 
			
		||||
-        const QVariantMap options = {{"writable"_L1, true}};
 | 
			
		||||
+        const QVariantMap options = {};
 | 
			
		||||
 
 | 
			
		||||
         // FIXME parent_window_id
 | 
			
		||||
         message << QString() << QVariant::fromValue(descriptor) << options;
 | 
			
		||||
 
 | 
			
		||||
         return QDBusConnection::sessionBus().call(message);
 | 
			
		||||
     }
 | 
			
		||||
-#else
 | 
			
		||||
-    Q_UNUSED(url);
 | 
			
		||||
-#endif
 | 
			
		||||
 
 | 
			
		||||
     return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
 | 
			
		||||
 }
 | 
			
		||||
-- 
 | 
			
		||||
2.40.1
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,40 @@
 | 
			
		||||
From 04778c7f54c8a1a0e7fced75c5ef39ced82cece1 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 | 
			
		||||
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
 | 
			
		||||
Date: Sat, 12 Oct 2024 16:21:35 -0400
 | 
			
		||||
Subject: [PATCH] qtwebengine: add missing chromium dependencies
 | 
			
		||||
 | 
			
		||||
For more information, see:
 | 
			
		||||
https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/555586
 | 
			
		||||
---
 | 
			
		||||
 chromium/content/public/browser/BUILD.gn                         | 1 +
 | 
			
		||||
 chromium/extensions/browser/api/declarative_net_request/BUILD.gn | 1 +
 | 
			
		||||
 2 files changed, 2 insertions(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn b/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn
 | 
			
		||||
index b25bf5764e7..dfbfb2ec77b 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/BUILD.gn
 | 
			
		||||
@@ -515,6 +515,7 @@ jumbo_source_set("browser_sources") {
 | 
			
		||||
     "//cc",
 | 
			
		||||
     "//components/services/storage/public/cpp",
 | 
			
		||||
     "//components/viz/host",
 | 
			
		||||
+    "//components/spellcheck:buildflags",
 | 
			
		||||
     "//content/browser",  # Must not be public_deps!
 | 
			
		||||
     "//device/fido",
 | 
			
		||||
     "//gpu",
 | 
			
		||||
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
 | 
			
		||||
index 1fc492f5a0c..13a266e22f1 100644
 | 
			
		||||
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
 | 
			
		||||
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
 | 
			
		||||
@@ -23,6 +23,7 @@ source_set("declarative_net_request") {
 | 
			
		||||
     "//extensions/common",
 | 
			
		||||
     "//extensions/common/api",
 | 
			
		||||
     "//services/preferences/public/cpp",
 | 
			
		||||
+    "//components/web_cache/browser",
 | 
			
		||||
   ]
 | 
			
		||||
 
 | 
			
		||||
   public_deps = [ "//extensions/browser:browser_sources" ]
 | 
			
		||||
-- 
 | 
			
		||||
2.47.0
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# Copyright (C) 2019-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2019-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
 | 
			
		||||
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
 | 
			
		||||
@ -138,6 +138,10 @@ apps:
 | 
			
		||||
    autostart: jami.desktop
 | 
			
		||||
    common-id: net.jami.Jami
 | 
			
		||||
    desktop: usr/share/applications/jami.desktop
 | 
			
		||||
    environment:
 | 
			
		||||
      PIPEWIRE_CONFIG_NAME: "$SNAP/usr/share/pipewire/pipewire.conf"
 | 
			
		||||
      PIPEWIRE_MODULE_DIR: "$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pipewire-0.3"
 | 
			
		||||
      SPA_PLUGIN_DIR: "$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/spa-0.2"
 | 
			
		||||
    slots:
 | 
			
		||||
    - dbus-jami
 | 
			
		||||
    - dbus-ring
 | 
			
		||||
@ -168,7 +172,7 @@ package-repositories:
 | 
			
		||||
    components: [main]
 | 
			
		||||
    suites: [jami]
 | 
			
		||||
    key-id: A295D773307D25A33AE72F2F64CD5FA175348F84
 | 
			
		||||
    url: https://dl.jami.net/nightly/ubuntu_20.04/
 | 
			
		||||
    url: https://dl.jami.net/internal/ubuntu_20.04/
 | 
			
		||||
 | 
			
		||||
parts:
 | 
			
		||||
  desktop-launch:
 | 
			
		||||
@ -255,6 +259,8 @@ parts:
 | 
			
		||||
      sed -i -E 's|(tmpName) << (PACKAGE_NAME << "_shm_")|\1 << "snap.jami." << \2|' ./daemon/src/media/video/sinkclient.cpp
 | 
			
		||||
      sed -i -E 's|^Icon=.*|Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/jami.svg|' extras/data/jami.desktop
 | 
			
		||||
    override-build: |
 | 
			
		||||
      $SNAPCRAFT_PART_BUILD/extras/packaging/gnu-linux/scripts/install-pipewire-from-source.sh
 | 
			
		||||
 | 
			
		||||
      cd $SNAPCRAFT_PART_BUILD/daemon/contrib
 | 
			
		||||
      mkdir -p native
 | 
			
		||||
      cd native
 | 
			
		||||
@ -319,6 +325,12 @@ parts:
 | 
			
		||||
    - libgnutls28-dev # TLS
 | 
			
		||||
    - gnutls-bin
 | 
			
		||||
    - libssl-dev
 | 
			
		||||
    - git            # PipeWire build dependencies
 | 
			
		||||
    - libasound2-dev #
 | 
			
		||||
    - libdbus-1-dev  # These packages are needed by the
 | 
			
		||||
    - libglib2.0-dev # install-pipewire-from-source.sh
 | 
			
		||||
    - ninja-build    # script in order to build PipeWire
 | 
			
		||||
    - pkg-config     # from source.
 | 
			
		||||
    stage-packages:
 | 
			
		||||
    - libgnutls30
 | 
			
		||||
    - libavutil56
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
 | 
			
		||||
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
 | 
			
		||||
@ -44,6 +44,23 @@ QUILT_REFRESH_ARGS="-p 1"
 | 
			
		||||
 | 
			
		||||
if [ ! -f "${qt_deb_path}" ] || [ "${FORCE_REBUILD_QT}" = "true" ]; then
 | 
			
		||||
    (
 | 
			
		||||
 | 
			
		||||
        # HACK: For now on ubuntu 24.04 there is no python3.10 package
 | 
			
		||||
        # So create a PyEnv environment to install the required packages
 | 
			
		||||
        if cat /etc/os-release | grep -Eq "24.04"; then
 | 
			
		||||
            apt-get install git gcc make python3-pip libssl-dev curl libreadline-dev -y
 | 
			
		||||
            curl https://pyenv.run | bash
 | 
			
		||||
            export PYENV_ROOT="$HOME/.pyenv"
 | 
			
		||||
            [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
 | 
			
		||||
            eval "$(pyenv init -)"
 | 
			
		||||
            pyenv install 3.10.0
 | 
			
		||||
            pyenv local 3.10.0
 | 
			
		||||
 | 
			
		||||
            python -m pip install html5lib
 | 
			
		||||
            python -m pip install six
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        flock 9                 # block until the lock file is gone
 | 
			
		||||
        test -f "${qt_deb_path}" && exit 0 # check again
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
 | 
			
		||||
# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
 | 
			
		||||
@ -35,7 +35,6 @@ rpmdev-setuptree
 | 
			
		||||
 | 
			
		||||
# Copy the source tarball.
 | 
			
		||||
cp --reflink=auto "/src/$RELEASE_TARBALL_FILENAME" /root/rpmbuild/SOURCES
 | 
			
		||||
 | 
			
		||||
cp patches/*.patch /root/rpmbuild/SOURCES/
 | 
			
		||||
 | 
			
		||||
QT_JAMI_PREFIX="/usr/lib64/qt-jami"
 | 
			
		||||
@ -44,9 +43,9 @@ LD_LIBRARY_PATH="${QT_JAMI_PREFIX}/lib:${LD_LIBRARY_PATH}"
 | 
			
		||||
PKG_CONFIG_PATH="${QT_JAMI_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"
 | 
			
		||||
CMAKE_PREFIX_PATH="${QT_JAMI_PREFIX}/lib/cmake:${CMAKE_PREFIX_PATH}"
 | 
			
		||||
QT_MAJOR=6
 | 
			
		||||
QT_MINOR=4
 | 
			
		||||
QT_MINOR=6
 | 
			
		||||
QT_PATCH=3
 | 
			
		||||
QT_RELEASE_PATCH=2
 | 
			
		||||
QT_RELEASE_PATCH=0
 | 
			
		||||
 | 
			
		||||
QT_MAJOR_MINOR=${QT_MAJOR}.${QT_MINOR}
 | 
			
		||||
QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
 | 
			
		||||
@ -54,7 +53,7 @@ QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
 | 
			
		||||
QT_TARBALL_URL=https://download.qt.io/archive/qt/$QT_MAJOR_MINOR/\
 | 
			
		||||
$QT_MAJOR_MINOR_PATCH/single/qt-everywhere-src-$QT_MAJOR_MINOR_PATCH.tar.xz
 | 
			
		||||
 | 
			
		||||
QT_TARBALL_SHA256="29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4"
 | 
			
		||||
QT_TARBALL_SHA256="69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104"
 | 
			
		||||
QT_TARBALL_FILE_NAME=$(basename "$QT_TARBALL_URL")
 | 
			
		||||
CACHED_QT_TARBALL=$TARBALLS/$QT_TARBALL_FILE_NAME
 | 
			
		||||
 | 
			
		||||
@ -105,18 +104,20 @@ if [ ! -f "${RPM_PATH}" ]; then
 | 
			
		||||
        # Cache the built Qt RPM package.
 | 
			
		||||
        if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.el8.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_33" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc33.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_34" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc34.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_35" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc35.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_36" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc36.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_37" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc37.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_38" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc38.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_39" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc39.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_40" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc40.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "fedora_41" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc41.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        elif [[ "${DISTRIBUTION}" == "alma_9" ]]; then
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.el9.x86_64.rpm "${RPM_PATH}"
 | 
			
		||||
        else
 | 
			
		||||
            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2020-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2020-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
 | 
			
		||||
# Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
 | 
			
		||||
 | 
			
		||||
@ -7,9 +7,9 @@ then
 | 
			
		||||
    apt-get remove cmake cmake-data -y
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
wget https://github.com/Kitware/CMake/releases/download/v3.19.8/cmake-3.19.8-Linux-x86_64.sh \
 | 
			
		||||
wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.sh\
 | 
			
		||||
      -q -O /tmp/cmake-install.sh
 | 
			
		||||
echo "aa5a0e0dd5594b7fd7c107a001a2bfb5f83d9b5d89cf4acabf423c5d977863ad  /tmp/cmake-install.sh" | sha256sum --check 
 | 
			
		||||
echo "63cb3406f5320edc94504212fe75e8625751ec21e8d5dab76d8ed67ed780066e  /tmp/cmake-install.sh" | sha256sum --check
 | 
			
		||||
chmod u+x /tmp/cmake-install.sh
 | 
			
		||||
/tmp/cmake-install.sh --skip-license --prefix=/usr/local/
 | 
			
		||||
rm /tmp/cmake-install.sh
 | 
			
		||||
							
								
								
									
										11
									
								
								extras/packaging/gnu-linux/scripts/install-gcc-debian.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						@ -0,0 +1,11 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
VERSION=$1
 | 
			
		||||
 | 
			
		||||
apt-get install -y -o Acquire::Retries=10 \
 | 
			
		||||
    gcc-$VERSION \
 | 
			
		||||
    g++-$VERSION
 | 
			
		||||
 | 
			
		||||
rm /usr/bin/gcc /usr/bin/g++
 | 
			
		||||
ln -s /usr/bin/gcc-$VERSION /usr/bin/gcc
 | 
			
		||||
ln -s /usr/bin/g++-$VERSION /usr/bin/g++
 | 
			
		||||
							
								
								
									
										35
									
								
								extras/packaging/gnu-linux/scripts/install-pipewire-from-source.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						@ -0,0 +1,35 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# The purpose of this script is to build PipeWire from source in a snap based on core20 / Ubuntu 20.04
 | 
			
		||||
# It must be called in the "override-build" section of the relevant part in snapcraft.yaml
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
OLD_WD=$(pwd)
 | 
			
		||||
cd /tmp
 | 
			
		||||
 | 
			
		||||
# Get a version of Meson that's recent enough to build PipeWire 1.0.5 (the one available via apt is too old)
 | 
			
		||||
wget -q https://github.com/mesonbuild/meson/releases/download/0.61.1/meson-0.61.1.tar.gz
 | 
			
		||||
echo "feb2cefb325b437dbf36146df7c6b87688ddff0b0205caa31dc64055c6da410c  meson-0.61.1.tar.gz" | sha256sum --check
 | 
			
		||||
tar xzf meson-0.61.1.tar.gz
 | 
			
		||||
 | 
			
		||||
# Build PipeWire 1.0.5 and install it in the /usr directory of the build environment
 | 
			
		||||
wget -q https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/1.0.5/pipewire-1.0.5.tar.gz
 | 
			
		||||
echo "c5a5de26d684a1a84060ad7b6131654fb2835e03fccad85059be92f8e3ffe993  pipewire-1.0.5.tar.gz" | sha256sum --check
 | 
			
		||||
tar xzf pipewire-1.0.5.tar.gz
 | 
			
		||||
cd pipewire-1.0.5
 | 
			
		||||
../meson-0.61.1/meson.py setup builddir -Dsession-managers=media-session -Dalsa=disabled -Dprefix=/usr
 | 
			
		||||
../meson-0.61.1/meson.py compile -C builddir
 | 
			
		||||
../meson-0.61.1/meson.py install -C builddir
 | 
			
		||||
 | 
			
		||||
# The files installed by the previous command are only for the "Build" step of the snap
 | 
			
		||||
# creation process (https://snapcraft.io/docs/how-snapcraft-builds). In order to ensure
 | 
			
		||||
# that PipeWire is installed in the final snap archive, we also need to copy all the
 | 
			
		||||
# required files under the $SNAPCRAFT_PART_INSTALL directory.
 | 
			
		||||
../meson-0.61.1/meson.py configure builddir -Dprefix=$SNAPCRAFT_PART_INSTALL/usr/
 | 
			
		||||
../meson-0.61.1/meson.py install -C builddir
 | 
			
		||||
 | 
			
		||||
# Cleanup
 | 
			
		||||
cd /tmp
 | 
			
		||||
rm -rf meson-0.61.1  meson-0.61.1.tar.gz  pipewire-1.0.5  pipewire-1.0.5.tar.gz
 | 
			
		||||
cd $OLD_WD
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,7 @@ cat << EOFILE > ${REPO_FOLDER}/${SPARKLE_FILE}
 | 
			
		||||
            <pubDate>$DATE_RFC2822</pubDate>
 | 
			
		||||
            <sparkle:version>${BUILD}</sparkle:version>
 | 
			
		||||
            <sparkle:shortVersionString>${VERSION}</sparkle:shortVersionString>
 | 
			
		||||
            <sparkle:minimumSystemVersion>10.15.0</sparkle:minimumSystemVersion>
 | 
			
		||||
            <sparkle:minimumSystemVersion>11.0</sparkle:minimumSystemVersion>
 | 
			
		||||
            <enclosure url="${REPO_URL}/$(basename ${PACKAGE})" type="application/octet-stream" $(./sign_update ${PACKAGE}) />
 | 
			
		||||
        </item>
 | 
			
		||||
$(echo -e "${ITEMS}")
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										25
									
								
								extras/patches/0001-fix-fedora-fc-build.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,25 @@
 | 
			
		||||
From 161d28abb6784115ad71fcb6977e112e9d5756d4 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
 | 
			
		||||
Date: Tue, 23 Jan 2024 15:38:34 -0500
 | 
			
		||||
Subject: [PATCH] fix-fedora-fc-build
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 CMakeLists.txt | 2 +-
 | 
			
		||||
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
 | 
			
		||||
index 0fb89c8..3a6ad6d 100644
 | 
			
		||||
--- a/CMakeLists.txt
 | 
			
		||||
+++ b/CMakeLists.txt
 | 
			
		||||
@@ -65,7 +65,7 @@ if(NOT TARGET qmsetup::library)
 | 
			
		||||
     )
 | 
			
		||||
 
 | 
			
		||||
     # Find package again
 | 
			
		||||
-    find_package(qmsetup REQUIRED PATHS ${_package_path})
 | 
			
		||||
+    find_package(qmsetup REQUIRED PATHS ${_package_path} ${qmsetup_cmake_path})
 | 
			
		||||
 
 | 
			
		||||
     # Update import path
 | 
			
		||||
     set(qmsetup_DIR ${_package_path} CACHE PATH "" FORCE)
 | 
			
		||||
-- 
 | 
			
		||||
2.34.1
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
"""
 | 
			
		||||
Build, test, and package the project.
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,7 @@ mutually exclusive required arguments:
 | 
			
		||||
  -z, --zip         Build portable archive
 | 
			
		||||
 | 
			
		||||
examples:
 | 
			
		||||
1.  build.py --qt=C:/Qt/6.4.3/msvc2019_64  # Build the app using a specific Qt
 | 
			
		||||
1.  build.py --qt=C:/Qt/6.6.2/msvc2019_64  # Build the app using a specific Qt
 | 
			
		||||
2.  build.py --init pack --msi             # Build the app and an MSI installer
 | 
			
		||||
3.  build.py --init --tests                # Build the app and run tests
 | 
			
		||||
    build.py pack --zip --skip-build       # Generate a 7z archive of the app
 | 
			
		||||
@ -65,6 +65,20 @@ this_dir = os.path.dirname(os.path.realpath(__file__))
 | 
			
		||||
repo_root_dir = os.path.abspath(os.path.join(this_dir, os.pardir, os.pardir))
 | 
			
		||||
build_dir = os.path.join(repo_root_dir, "build")
 | 
			
		||||
 | 
			
		||||
def get_latest_toolset_version():
 | 
			
		||||
    """Get the latest toolset version."""
 | 
			
		||||
    # Get the visual studio version. Use only the major version number.
 | 
			
		||||
    # Then: toolset = 2022 ? "v143" : 2019 ? "v142" : 2017 ? "v141" : "v140"
 | 
			
		||||
    vs_ver = get_vs_prop("installationVersion")
 | 
			
		||||
    if vs_ver is None:
 | 
			
		||||
        return None
 | 
			
		||||
    vs_ver = int(vs_ver.split(".")[0])
 | 
			
		||||
    if vs_ver == 17:
 | 
			
		||||
        return "v143"
 | 
			
		||||
    elif vs_ver == 16:
 | 
			
		||||
        return "v142"
 | 
			
		||||
    else:
 | 
			
		||||
        return "v141"
 | 
			
		||||
 | 
			
		||||
def find_latest_qt_path():
 | 
			
		||||
    """Find the latest Qt installation path."""
 | 
			
		||||
@ -190,40 +204,31 @@ def init_submodules():
 | 
			
		||||
    """Initialize any git submodules in the project."""
 | 
			
		||||
    print("Initializing submodules...")
 | 
			
		||||
 | 
			
		||||
    if execute_cmd(["git", "submodule", "update", "--init"], False):
 | 
			
		||||
    # Init the client submodules for Windows other than the daemon.
 | 
			
		||||
    submodules = [
 | 
			
		||||
        "3rdparty/qrencode-win32",
 | 
			
		||||
        "3rdparty/SortFilterProxyModel",
 | 
			
		||||
        "3rdparty/md4c",
 | 
			
		||||
        "3rdparty/tidy-html5",
 | 
			
		||||
    ]
 | 
			
		||||
    if execute_cmd(["git", "submodule", "update", "--init" ] + submodules,
 | 
			
		||||
                   False):
 | 
			
		||||
        print("Submodule initialization error.")
 | 
			
		||||
    else:
 | 
			
		||||
        if execute_cmd(["git", "submodule", "update", "--recursive"], False):
 | 
			
		||||
            print("Submodule recursive checkout error.")
 | 
			
		||||
        else:
 | 
			
		||||
            print("Submodule recursive checkout finished.")
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def build_deps():
 | 
			
		||||
    """Build the dependencies for the project."""
 | 
			
		||||
    print('Patching and building qrencode')
 | 
			
		||||
    apply_cmd = [
 | 
			
		||||
        'git',
 | 
			
		||||
        'apply',
 | 
			
		||||
        '--reject',
 | 
			
		||||
        '--ignore-whitespace',
 | 
			
		||||
        '--whitespace=fix'
 | 
			
		||||
    ]
 | 
			
		||||
    print('Building qrencode')
 | 
			
		||||
    qrencode_dir = os.path.join(repo_root_dir, '3rdparty', 'qrencode-win32')
 | 
			
		||||
    patch_file = os.path.join(repo_root_dir, 'qrencode-win32.patch')
 | 
			
		||||
    apply_cmd.append(patch_file)
 | 
			
		||||
    if execute_cmd(apply_cmd, False, None, qrencode_dir):
 | 
			
		||||
        print("Couldn't patch qrencode-win32.")
 | 
			
		||||
 | 
			
		||||
    vs_env_vars = {}
 | 
			
		||||
    vs_env_vars.update(get_vs_env())
 | 
			
		||||
 | 
			
		||||
    msbuild_args = get_ms_build_args("x64", "Release-Lib")
 | 
			
		||||
 | 
			
		||||
    toolset = get_latest_toolset_version()
 | 
			
		||||
    print(f'Using toolset {toolset}')
 | 
			
		||||
    msbuild_args = get_ms_build_args("x64", "Release-Lib", toolset)
 | 
			
		||||
    proj_path = os.path.join(
 | 
			
		||||
        qrencode_dir, "qrencode-win32", "vc8", "qrcodelib", "qrcodelib.vcxproj"
 | 
			
		||||
        qrencode_dir, "qrencode-win32", "vc15", "qrcodelib", "qrcodelib.vcxproj"
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    build_project(msbuild_args, proj_path, vs_env_vars)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -264,20 +269,18 @@ def build(config_str, qt_dir, tests):
 | 
			
		||||
 | 
			
		||||
    # Get the daemon bin/include directories.
 | 
			
		||||
    daemon_dir = os.path.join(repo_root_dir, "daemon")
 | 
			
		||||
    daemon_bin_dir = os.path.join(
 | 
			
		||||
        daemon_dir, "build", "x64", "ReleaseLib_win32", "bin")
 | 
			
		||||
    daemon_bin_dir = os.path.join(daemon_dir, "build", "lib")
 | 
			
		||||
 | 
			
		||||
    # We need to update the minimum SDK version to be able to
 | 
			
		||||
    # build with system theme support
 | 
			
		||||
    cmake_options = [
 | 
			
		||||
        "-DWITH_DAEMON_SUBMODULE=ON",
 | 
			
		||||
        "-DJAMICORE_AS_SUBDIR=ON",
 | 
			
		||||
        "-DCMAKE_PREFIX_PATH=" + qt_dir,
 | 
			
		||||
        "-DCMAKE_MSVCIDE_RUN_PATH=" + qt_dir + "\\bin",
 | 
			
		||||
        "-DCMAKE_INSTALL_PREFIX=" + daemon_bin_dir,
 | 
			
		||||
        "-DLIBJAMI_INCLUDE_DIR=" + daemon_dir + "\\src\\jami",
 | 
			
		||||
        "-DCMAKE_INSTALL_PREFIX=" + os.getcwd(),
 | 
			
		||||
        "-DCMAKE_SYSTEM_VERSION=" + WIN_SDK_VERSION,
 | 
			
		||||
        "-DCMAKE_BUILD_TYPE=" + "Release",
 | 
			
		||||
        "-DENABLE_TESTS=" + str(tests).lower(),
 | 
			
		||||
        "-DBUILD_TESTING=" + str(tests).lower(),
 | 
			
		||||
        "-DBETA=" + str((0, 1)[config_str == "Beta"]),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -99,6 +99,12 @@ for ARCH in "${ARCHS[@]}"; do
 | 
			
		||||
  echo "$ARCH"
 | 
			
		||||
  cd "$DAEMON"
 | 
			
		||||
  HOST="${ARCH}-apple-darwin"
 | 
			
		||||
  SDKROOT=$(xcrun --sdk macosx --show-sdk-path)
 | 
			
		||||
 | 
			
		||||
  CC="xcrun -sdk macosx clang"
 | 
			
		||||
  CXX="xcrun -sdk macosx clang++"
 | 
			
		||||
  CFLAGS="-arch $ARCH -isysroot $SDKROOT"
 | 
			
		||||
  CXXFLAGS="-std=c++17 $CFLAGS"
 | 
			
		||||
  CONFIGURE_FLAGS=" --without-dbus --host=${HOST} -with-contrib=$DAEMON/contrib/${ARCH}-apple-darwin${OS_VER} --prefix=${INSTALL}/daemon/$ARCH"
 | 
			
		||||
 | 
			
		||||
  if [ "${debug}" = "true" ]; then
 | 
			
		||||
@ -113,7 +119,11 @@ for ARCH in "${ARCHS[@]}"; do
 | 
			
		||||
  mkdir -p "build-macos-${ARCH}"
 | 
			
		||||
  cd "build-macos-${ARCH}"
 | 
			
		||||
 | 
			
		||||
  "$DAEMON"/configure $CONFIGURE_FLAGS ARCH="$ARCH" || exit 1
 | 
			
		||||
  "$DAEMON"/configure $CONFIGURE_FLAGS ARCH="$ARCH" \
 | 
			
		||||
    CC="$CC $CFLAGS" \
 | 
			
		||||
    CXX="$CXX $CXXFLAGS" \
 | 
			
		||||
    CFLAGS="$CFLAGS" \
 | 
			
		||||
    CXXFLAGS="$CXXFLAGS" || exit 1
 | 
			
		||||
 | 
			
		||||
  echo "$CONFIGURE_FLAGS"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2022-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2022-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
@ -62,7 +62,8 @@ def gen_qml_qrc(with_webengine):
 | 
			
		||||
                continue
 | 
			
		||||
            filtered = [k for k in files if k.endswith('.qml') or
 | 
			
		||||
                        k.endswith('.js') or k.endswith('.html') or
 | 
			
		||||
                        k.endswith('.css') or k.endswith('.conf')]
 | 
			
		||||
                        k.endswith('.css') or k.endswith('.conf') or
 | 
			
		||||
                        k == 'qmldir']
 | 
			
		||||
            # if there are no files of interest in this directory, skip it
 | 
			
		||||
            if not filtered:
 | 
			
		||||
                continue
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
@ -32,7 +32,7 @@ import re
 | 
			
		||||
# script as set in the project CMakeLists, which should in turn be
 | 
			
		||||
# where the resources.qrc will be located (currently 'src/app').
 | 
			
		||||
resdir = os.path.join('..', '..', 'resources')
 | 
			
		||||
qmlfile = os.path.join('constant', 'JamiResources.qml')
 | 
			
		||||
qmlfile = os.path.join('net/jami/Constants', 'JamiResources.qml')
 | 
			
		||||
resfile = os.path.join('resources.qrc')
 | 
			
		||||
 | 
			
		||||
print("Generating resource.qrc file ...")
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
# Copyright (C) 2019-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2019-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
# install.sh --- build and install Jami daemon and client
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
@ -29,6 +29,8 @@ export OSTYPE
 | 
			
		||||
  # -W: disable libwrap and shared library
 | 
			
		||||
  # -w: do not use Qt WebEngine
 | 
			
		||||
  # -a: arch to build
 | 
			
		||||
  # -A: enable AddressSanitizer
 | 
			
		||||
  # -D: extra CMake flags for the client
 | 
			
		||||
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
@ -43,9 +45,12 @@ proc='1'
 | 
			
		||||
priv_install=true
 | 
			
		||||
enable_libwrap=true
 | 
			
		||||
enable_webengine=true
 | 
			
		||||
asan=
 | 
			
		||||
extra_cmake_flags=''
 | 
			
		||||
arch=''
 | 
			
		||||
enable_testing=false
 | 
			
		||||
 | 
			
		||||
while getopts gsc:dQ:P:p:uWwa: OPT; do
 | 
			
		||||
while getopts gsc:dQ:P:p:uWwa:AtD: OPT; do
 | 
			
		||||
  case "$OPT" in
 | 
			
		||||
    g)
 | 
			
		||||
      global='true'
 | 
			
		||||
@ -77,6 +82,15 @@ while getopts gsc:dQ:P:p:uWwa: OPT; do
 | 
			
		||||
    a)
 | 
			
		||||
      arch="${OPTARG}"
 | 
			
		||||
    ;;
 | 
			
		||||
    A)
 | 
			
		||||
      asan='true'
 | 
			
		||||
    ;;
 | 
			
		||||
    t)
 | 
			
		||||
      enable_testing='true'
 | 
			
		||||
    ;;
 | 
			
		||||
    D)
 | 
			
		||||
      extra_cmake_flags="${OPTARG}"
 | 
			
		||||
    ;;
 | 
			
		||||
    \?)
 | 
			
		||||
      exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
@ -116,7 +130,7 @@ else
 | 
			
		||||
    mkdir -p contrib/native
 | 
			
		||||
    (
 | 
			
		||||
        cd contrib/native
 | 
			
		||||
        ../bootstrap ${prefix:+"--prefix=$prefix"}
 | 
			
		||||
        ../bootstrap ${prefix:+"--prefix=$prefix"} ${asan:+"--enable-asan"}
 | 
			
		||||
        make -j"${proc}"
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
@ -135,6 +149,10 @@ else
 | 
			
		||||
      CONFIGURE_FLAGS+=" --enable-debug"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ "${asan}" = "true" ]; then
 | 
			
		||||
      CONFIGURE_FLAGS+=" --enable-asan"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Build the daemon itself.
 | 
			
		||||
    test -f configure || ./autogen.sh
 | 
			
		||||
 | 
			
		||||
@ -183,6 +201,17 @@ client_cmake_flags=(-DCMAKE_BUILD_TYPE="${BUILD_TYPE}"
 | 
			
		||||
                    -DCMAKE_PREFIX_PATH="${qtpath}"
 | 
			
		||||
                    -DENABLE_LIBWRAP="${enable_libwrap}"
 | 
			
		||||
                    -DWITH_WEBENGINE="${enable_webengine}")
 | 
			
		||||
 | 
			
		||||
if [ "${asan}" = "true" ]; then
 | 
			
		||||
    client_cmake_flags+=(-DENABLE_ASAN=true)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "${enable_testing}" = "true" ]; then
 | 
			
		||||
    client_cmake_flags+=(-DBUILD_TESTING=On)
 | 
			
		||||
else
 | 
			
		||||
    client_cmake_flags+=(-DBUILD_TESTING=Off)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ "$OSTYPE" == "darwin"* ]]; then
 | 
			
		||||
    #detect arch for macos
 | 
			
		||||
    CMAKE_OSX_ARCHITECTURES="arm64"
 | 
			
		||||
@ -207,6 +236,11 @@ else
 | 
			
		||||
                         -DWITH_DAEMON_SUBMODULE=true)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Add extra flags for the client
 | 
			
		||||
if [ -n "${extra_cmake_flags}" ]; then
 | 
			
		||||
    client_cmake_flags+=(${extra_cmake_flags})
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "info: Configuring $client client with flags: ${client_cmake_flags[*]}"
 | 
			
		||||
cmake .. "${client_cmake_flags[@]}"
 | 
			
		||||
make -j"${proc}" V=1
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,8 @@ rm -rf Jami.app/Contents/Frameworks/QtWebEngineQuickDelegatesQml.framework
 | 
			
		||||
rm -rf Jami.app/Contents/Frameworks/QtWebEngineQuick.framework
 | 
			
		||||
rm -rf Jami.app/Contents/Frameworks/QtWebEngineCore.framework
 | 
			
		||||
rm -rf Jami.app/Contents/Frameworks/QtWebChannel.framework
 | 
			
		||||
echo "remove web dSYM files"
 | 
			
		||||
find Jami.app/Contents/Resources/qml -type d -name "*.dSYM" -exec rm -r {} \;
 | 
			
		||||
codesign --force --sign "${APP_CERTIFICATE}" --entitlements ../resources/entitlements/appstore/Jami.entitlements Jami.app
 | 
			
		||||
codesign --verify Jami.app
 | 
			
		||||
echo "create .pkg"
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/python
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
##  Copyright (C) 2016-2023 Savoir-faire Linux Inc.
 | 
			
		||||
##  Copyright (C) 2016-2024 Savoir-faire Linux Inc.
 | 
			
		||||
##
 | 
			
		||||
##  Author: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com>
 | 
			
		||||
##  Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
 | 
			
		||||
 | 
			
		||||
@ -1,243 +0,0 @@
 | 
			
		||||
From 261d830b9b4126d76519db0e6b6b51b5a730eb40 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
 | 
			
		||||
Date: Tue, 4 Dec 2018 17:42:43 -0500
 | 
			
		||||
Subject: [PATCH] b
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 .../vc8/qrcodelib/qrcodelib.vcxproj           | 129 +++++++++++++++++-
 | 
			
		||||
 1 file changed, 125 insertions(+), 4 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj b/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj
 | 
			
		||||
index aabc6b6..8d8293b 100644
 | 
			
		||||
--- a/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj
 | 
			
		||||
+++ b/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj
 | 
			
		||||
@@ -5,45 +5,84 @@
 | 
			
		||||
       <Configuration>Debug-Dll</Configuration>
 | 
			
		||||
       <Platform>Win32</Platform>
 | 
			
		||||
     </ProjectConfiguration>
 | 
			
		||||
+    <ProjectConfiguration Include="Debug-Dll|x64">
 | 
			
		||||
+      <Configuration>Debug-Dll</Configuration>
 | 
			
		||||
+      <Platform>x64</Platform>
 | 
			
		||||
+    </ProjectConfiguration>
 | 
			
		||||
     <ProjectConfiguration Include="Debug-Lib|Win32">
 | 
			
		||||
       <Configuration>Debug-Lib</Configuration>
 | 
			
		||||
       <Platform>Win32</Platform>
 | 
			
		||||
     </ProjectConfiguration>
 | 
			
		||||
+    <ProjectConfiguration Include="Debug-Lib|x64">
 | 
			
		||||
+      <Configuration>Debug-Lib</Configuration>
 | 
			
		||||
+      <Platform>x64</Platform>
 | 
			
		||||
+    </ProjectConfiguration>
 | 
			
		||||
     <ProjectConfiguration Include="Release-Dll|Win32">
 | 
			
		||||
       <Configuration>Release-Dll</Configuration>
 | 
			
		||||
       <Platform>Win32</Platform>
 | 
			
		||||
     </ProjectConfiguration>
 | 
			
		||||
+    <ProjectConfiguration Include="Release-Dll|x64">
 | 
			
		||||
+      <Configuration>Release-Dll</Configuration>
 | 
			
		||||
+      <Platform>x64</Platform>
 | 
			
		||||
+    </ProjectConfiguration>
 | 
			
		||||
     <ProjectConfiguration Include="Release-Lib|Win32">
 | 
			
		||||
       <Configuration>Release-Lib</Configuration>
 | 
			
		||||
       <Platform>Win32</Platform>
 | 
			
		||||
     </ProjectConfiguration>
 | 
			
		||||
+    <ProjectConfiguration Include="Release-Lib|x64">
 | 
			
		||||
+      <Configuration>Release-Lib</Configuration>
 | 
			
		||||
+      <Platform>x64</Platform>
 | 
			
		||||
+    </ProjectConfiguration>
 | 
			
		||||
   </ItemGroup>
 | 
			
		||||
   <PropertyGroup Label="Globals">
 | 
			
		||||
     <ProjectGuid>{9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}</ProjectGuid>
 | 
			
		||||
     <RootNamespace>qrcodelib</RootNamespace>
 | 
			
		||||
     <Keyword>Win32Proj</Keyword>
 | 
			
		||||
+    <WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
			
		||||
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'" Label="Configuration">
 | 
			
		||||
     <ConfigurationType>StaticLibrary</ConfigurationType>
 | 
			
		||||
-    <PlatformToolset>v110_xp</PlatformToolset>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
+    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
+    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
+  </PropertyGroup>
 | 
			
		||||
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" Label="Configuration">
 | 
			
		||||
+    <ConfigurationType>StaticLibrary</ConfigurationType>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
     <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
     <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'" Label="Configuration">
 | 
			
		||||
     <ConfigurationType>StaticLibrary</ConfigurationType>
 | 
			
		||||
-    <PlatformToolset>v110_xp</PlatformToolset>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
+    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
+  </PropertyGroup>
 | 
			
		||||
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" Label="Configuration">
 | 
			
		||||
+    <ConfigurationType>StaticLibrary</ConfigurationType>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
     <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'" Label="Configuration">
 | 
			
		||||
     <ConfigurationType>DynamicLibrary</ConfigurationType>
 | 
			
		||||
-    <PlatformToolset>v110_xp</PlatformToolset>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
+    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
+    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
+  </PropertyGroup>
 | 
			
		||||
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'" Label="Configuration">
 | 
			
		||||
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
     <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
     <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'" Label="Configuration">
 | 
			
		||||
     <ConfigurationType>DynamicLibrary</ConfigurationType>
 | 
			
		||||
-    <PlatformToolset>v110_xp</PlatformToolset>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
+    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
+  </PropertyGroup>
 | 
			
		||||
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="Configuration">
 | 
			
		||||
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
 | 
			
		||||
+    <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
 | 
			
		||||
     <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
			
		||||
@@ -52,15 +91,27 @@
 | 
			
		||||
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'" Label="PropertySheets">
 | 
			
		||||
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
   </ImportGroup>
 | 
			
		||||
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" Label="PropertySheets">
 | 
			
		||||
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
+  </ImportGroup>
 | 
			
		||||
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'" Label="PropertySheets">
 | 
			
		||||
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
   </ImportGroup>
 | 
			
		||||
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" Label="PropertySheets">
 | 
			
		||||
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
+  </ImportGroup>
 | 
			
		||||
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'" Label="PropertySheets">
 | 
			
		||||
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
   </ImportGroup>
 | 
			
		||||
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'" Label="PropertySheets">
 | 
			
		||||
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
+  </ImportGroup>
 | 
			
		||||
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'" Label="PropertySheets">
 | 
			
		||||
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
   </ImportGroup>
 | 
			
		||||
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="PropertySheets">
 | 
			
		||||
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
+  </ImportGroup>
 | 
			
		||||
   <PropertyGroup Label="UserMacros" />
 | 
			
		||||
   <PropertyGroup>
 | 
			
		||||
     <_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
 | 
			
		||||
@@ -70,11 +121,17 @@
 | 
			
		||||
     <IntDir>../.build/$(ProjectName)/$(Configuration)\</IntDir>
 | 
			
		||||
     <LinkIncremental>true</LinkIncremental>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">
 | 
			
		||||
+    <LinkIncremental>true</LinkIncremental>
 | 
			
		||||
+  </PropertyGroup>
 | 
			
		||||
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">
 | 
			
		||||
     <OutDir>../.build/$(Configuration)\</OutDir>
 | 
			
		||||
     <IntDir>../.build/$(ProjectName)/$(Configuration)\</IntDir>
 | 
			
		||||
     <LinkIncremental>false</LinkIncremental>
 | 
			
		||||
   </PropertyGroup>
 | 
			
		||||
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">
 | 
			
		||||
+    <LinkIncremental>false</LinkIncremental>
 | 
			
		||||
+  </PropertyGroup>
 | 
			
		||||
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">
 | 
			
		||||
     <OutDir>../.build/$(Configuration)\</OutDir>
 | 
			
		||||
     <IntDir>../.build/$(ProjectName)/$(Configuration)\</IntDir>
 | 
			
		||||
@@ -104,6 +161,26 @@
 | 
			
		||||
       <TargetMachine>MachineX86</TargetMachine>
 | 
			
		||||
     </Link>
 | 
			
		||||
   </ItemDefinitionGroup>
 | 
			
		||||
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">
 | 
			
		||||
+    <ClCompile>
 | 
			
		||||
+      <Optimization>Disabled</Optimization>
 | 
			
		||||
+      <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
 | 
			
		||||
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
 | 
			
		||||
+      <PrecompiledHeader>
 | 
			
		||||
+      </PrecompiledHeader>
 | 
			
		||||
+      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
+    </ClCompile>
 | 
			
		||||
+    <Link>
 | 
			
		||||
+      <AdditionalDependencies>libpng15d.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
+      <AdditionalLibraryDirectories>..\qrcode\png;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
+      <ModuleDefinitionFile>qrcodelib.def</ModuleDefinitionFile>
 | 
			
		||||
+      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
			
		||||
+      <SubSystem>Windows</SubSystem>
 | 
			
		||||
+    </Link>
 | 
			
		||||
+  </ItemDefinitionGroup>
 | 
			
		||||
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">
 | 
			
		||||
     <ClCompile>
 | 
			
		||||
       <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
@@ -124,6 +201,26 @@
 | 
			
		||||
       <TargetMachine>MachineX86</TargetMachine>
 | 
			
		||||
     </Link>
 | 
			
		||||
   </ItemDefinitionGroup>
 | 
			
		||||
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">
 | 
			
		||||
+    <ClCompile>
 | 
			
		||||
+      <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
 | 
			
		||||
+      <PrecompiledHeader>
 | 
			
		||||
+      </PrecompiledHeader>
 | 
			
		||||
+      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
+    </ClCompile>
 | 
			
		||||
+    <Link>
 | 
			
		||||
+      <AdditionalDependencies>libpng15.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
+      <AdditionalLibraryDirectories>..\qrcode\png;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
+      <ModuleDefinitionFile>qrcodelib.def</ModuleDefinitionFile>
 | 
			
		||||
+      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
			
		||||
+      <SubSystem>Windows</SubSystem>
 | 
			
		||||
+      <OptimizeReferences>true</OptimizeReferences>
 | 
			
		||||
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
			
		||||
+    </Link>
 | 
			
		||||
+  </ItemDefinitionGroup>
 | 
			
		||||
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">
 | 
			
		||||
     <ClCompile>
 | 
			
		||||
       <Optimization>Disabled</Optimization>
 | 
			
		||||
@@ -137,6 +234,19 @@
 | 
			
		||||
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
 | 
			
		||||
     </ClCompile>
 | 
			
		||||
   </ItemDefinitionGroup>
 | 
			
		||||
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">
 | 
			
		||||
+    <ClCompile>
 | 
			
		||||
+      <Optimization>Disabled</Optimization>
 | 
			
		||||
+      <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
 | 
			
		||||
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
 | 
			
		||||
+      <PrecompiledHeader>
 | 
			
		||||
+      </PrecompiledHeader>
 | 
			
		||||
+      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
+    </ClCompile>
 | 
			
		||||
+  </ItemDefinitionGroup>
 | 
			
		||||
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">
 | 
			
		||||
     <ClCompile>
 | 
			
		||||
       <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
@@ -147,6 +257,17 @@
 | 
			
		||||
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
     </ClCompile>
 | 
			
		||||
   </ItemDefinitionGroup>
 | 
			
		||||
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">
 | 
			
		||||
+    <ClCompile>
 | 
			
		||||
+      <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
 | 
			
		||||
+      <PrecompiledHeader>
 | 
			
		||||
+      </PrecompiledHeader>
 | 
			
		||||
+      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
+    </ClCompile>
 | 
			
		||||
+  </ItemDefinitionGroup>
 | 
			
		||||
   <ItemGroup>
 | 
			
		||||
     <ClCompile Include="qrcodelib.cpp" />
 | 
			
		||||
     <ClCompile Include="..\..\bitstream.c" />
 | 
			
		||||
-- 
 | 
			
		||||
2.19.0.windows.1
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
 | 
			
		||||
	<key>LSMinimumSystemVersion</key>
 | 
			
		||||
	<string>10.15</string>
 | 
			
		||||
	<string>11.0</string>
 | 
			
		||||
	<key>CFBundleVersion</key>
 | 
			
		||||
	<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
 | 
			
		||||
	<key>LSApplicationCategoryType</key>
 | 
			
		||||
@ -36,5 +36,7 @@
 | 
			
		||||
	<string>Jami requires to access your microphone to make calls and record audio</string>
 | 
			
		||||
	<key>ITSAppUsesNonExemptEncryption</key>
 | 
			
		||||
	<true/>
 | 
			
		||||
    <key>NSAppleEventsUsageDescription</key>
 | 
			
		||||
    <string>Jami requires to monitor global key events for push-to-talk functionality.</string>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								resources/icons/Connected_Black_24dp.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,12 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
			
		||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
			
		||||
	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
 | 
			
		||||
<path id="noun-connection-5025318" d="M18,6.3c1.2,0,2.2-1,2.2-2.1C20.1,3,19.2,2,18,2c-1.2,0-2.2,1-2.2,2.1c0,0.5,0.2,1.1,0.6,1.5
 | 
			
		||||
	l-3.3,3.8c-0.8-0.6-2-0.5-2.7,0.2L7.3,7.1c0.5-0.8,0.2-1.9-0.6-2.4C5.9,4.2,4.8,4.5,4.3,5.3C3.8,6.1,4,7.2,4.9,7.7
 | 
			
		||||
	C5.6,8.1,6.4,8,7,7.5l3.1,2.5c-0.5,0.8-0.4,1.9,0.3,2.6l-2.9,2.9c-1.1-0.7-2.5-0.4-3.2,0.7c-0.7,1.1-0.4,2.5,0.7,3.2
 | 
			
		||||
	c1.1,0.7,2.5,0.4,3.2-0.7c0.6-0.9,0.5-2.1-0.3-2.9l2.9-2.9c0.3,0.2,0.7,0.3,1.2,0.3c0,0,0.1,0,0.1,0l0.8,4.8
 | 
			
		||||
	c-1.1,0.3-1.7,1.4-1.4,2.5c0.3,1.1,1.4,1.7,2.5,1.4c1.1-0.3,1.7-1.4,1.4-2.5c-0.3-0.9-1-1.4-1.9-1.4c0,0-0.1,0-0.1,0l-0.8-4.8
 | 
			
		||||
	c0.4-0.1,0.7-0.3,0.9-0.6l3.6,2.7c-0.4,0.8-0.2,1.8,0.6,2.2c0.8,0.4,1.8,0.2,2.2-0.6c0.4-0.8,0.2-1.8-0.6-2.2
 | 
			
		||||
	c-0.6-0.4-1.4-0.3-1.9,0.2l-3.6-2.7c0.2-0.3,0.3-0.7,0.3-1.1c0-0.5-0.2-1.1-0.6-1.5l3.3-3.8C17.1,6.2,17.5,6.3,18,6.3L18,6.3z"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										23
									
								
								resources/icons/Connecting_Black_24dp.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,23 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
			
		||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
			
		||||
	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
 | 
			
		||||
<g id="noun-waiting-3611673" transform="translate(-13.64 -30.48)">
 | 
			
		||||
	<path id="Path_278" d="M25.9,34.5c0.5,0,0.8-0.4,0.8-0.8c0-0.5-0.4-0.8-0.8-0.8c-0.5,0-0.8,0.4-0.8,0.8c0,0.2,0.1,0.4,0.2,0.6
 | 
			
		||||
		C25.4,34.4,25.6,34.5,25.9,34.5z"/>
 | 
			
		||||
	<path id="Path_279" d="M32.7,36.9c0.4-0.4,0.4-1.1,0-1.5c-0.4-0.4-1.1-0.4-1.5,0c-0.4,0.4-0.4,1.1,0,1.5c0.2,0.2,0.5,0.3,0.8,0.3
 | 
			
		||||
		C32.2,37.2,32.5,37.1,32.7,36.9z"/>
 | 
			
		||||
	<path id="Path_280" d="M34.5,41c-0.7,0-1.2,0.5-1.2,1.2s0.5,1.2,1.2,1.2c0.7,0,1.2-0.5,1.2-1.2c0-0.3-0.1-0.6-0.3-0.8
 | 
			
		||||
		C35.1,41.1,34.8,41,34.5,41z"/>
 | 
			
		||||
	<path id="Path_281" d="M31.9,47c-0.7,0-1.3,0.6-1.3,1.3c0,0.7,0.6,1.3,1.3,1.3c0.7,0,1.3-0.6,1.3-1.3c0-0.3-0.1-0.7-0.4-0.9
 | 
			
		||||
		C32.6,47.1,32.3,47,31.9,47z"/>
 | 
			
		||||
	<path id="Path_282" d="M25.9,49.4c-0.8,0-1.4,0.6-1.4,1.4c0,0.8,0.6,1.4,1.4,1.4c0.8,0,1.4-0.6,1.4-1.4c0-0.4-0.1-0.7-0.4-1
 | 
			
		||||
		C26.6,49.5,26.2,49.4,25.9,49.4z"/>
 | 
			
		||||
	<path id="Path_283" d="M18.7,47.2L18.7,47.2c-0.6,0.6-0.6,1.6,0,2.2c0.6,0.6,1.6,0.6,2.2,0c0.6-0.6,0.6-1.6,0-2.2
 | 
			
		||||
		c-0.3-0.3-0.7-0.5-1.1-0.5C19.4,46.7,19,46.9,18.7,47.2z"/>
 | 
			
		||||
	<path id="Path_284" d="M18.9,42.2c0-0.9-0.7-1.7-1.6-1.7s-1.7,0.7-1.7,1.6c0,0.9,0.7,1.7,1.6,1.7c0.4,0,0.9-0.2,1.2-0.5
 | 
			
		||||
		C18.8,43,18.9,42.6,18.9,42.2z"/>
 | 
			
		||||
	<path id="Path_285" d="M21.1,34.9c-0.7-0.3-1.5-0.1-1.9,0.6c-0.3,0.7-0.1,1.5,0.6,1.9c0.7,0.3,1.5,0.1,1.9-0.6
 | 
			
		||||
		c0.1-0.2,0.2-0.5,0.1-0.7C21.8,35.5,21.5,35.1,21.1,34.9z"/>
 | 
			
		||||
</g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
@ -1,15 +1,21 @@
 | 
			
		||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="43" height="52.655" viewBox="0 0 43 52.655">
 | 
			
		||||
  <defs>
 | 
			
		||||
    <clipPath id="clip-path">
 | 
			
		||||
      <rect id="Rectangle_268" data-name="Rectangle 268" width="38" height="24" transform="translate(-0.407 0.083)" fill="#fff" stroke="#707070" stroke-width="1"/>
 | 
			
		||||
    </clipPath>
 | 
			
		||||
  </defs>
 | 
			
		||||
  <g id="Icon_Donate" transform="translate(-22 -189.345)">
 | 
			
		||||
    <rect id="Rectangle_267" data-name="Rectangle 267" width="43" height="10" rx="5" transform="translate(22 232)" fill="#9eb3c3"/>
 | 
			
		||||
    <path id="Path_459" data-name="Path 459" d="M9.674,17.083,8.562,16.07C4.609,12.486,2,10.122,2,7.221A4.18,4.18,0,0,1,6.221,3,4.6,4.6,0,0,1,9.674,4.6,4.6,4.6,0,0,1,13.128,3a4.18,4.18,0,0,1,4.221,4.221c0,2.9-2.609,5.265-6.562,8.856Z" transform="translate(22.407 199.828)" fill="#ff0045" opacity="0.3"/>
 | 
			
		||||
    <path id="Path_460" data-name="Path 460" d="M6.953,12.088l-.718-.654C3.684,9.122,2,7.6,2,5.724A2.7,2.7,0,0,1,4.724,3,2.966,2.966,0,0,1,6.953,4.035,2.966,2.966,0,0,1,9.182,3a2.7,2.7,0,0,1,2.724,2.724c0,1.872-1.684,3.4-4.235,5.716Z" transform="translate(45.571 186.345)" fill="#ff0045" opacity="0.16"/>
 | 
			
		||||
    <g id="Mask_Group_38" data-name="Mask Group 38" transform="translate(24.407 213.918)" clip-path="url(#clip-path)">
 | 
			
		||||
      <path id="Path_270" data-name="Path 270" d="M12.649,22.542l-1.544-1.406C5.621,16.163,2,12.883,2,8.857A5.8,5.8,0,0,1,7.857,3a6.377,6.377,0,0,1,4.792,2.226A6.377,6.377,0,0,1,17.442,3,5.8,5.8,0,0,1,23.3,8.857c0,4.025-3.621,7.306-9.105,12.289Z" transform="translate(5.992 5.54)" fill="#ff0045"/>
 | 
			
		||||
    </g>
 | 
			
		||||
  </g>
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
			
		||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
			
		||||
	 viewBox="0 0 43 52.7" style="enable-background:new 0 0 43 52.7;" xml:space="preserve">
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
	.st0{fill:#9EB3C3;}
 | 
			
		||||
	.st1{opacity:0.3;fill:#FF0045;enable-background:new    ;}
 | 
			
		||||
	.st2{opacity:0.16;fill:#FF0045;enable-background:new    ;}
 | 
			
		||||
	.st3{fill:#FF0045;}
 | 
			
		||||
</style>
 | 
			
		||||
<g id="Icon_Donate" transform="translate(-22 -189.345)">
 | 
			
		||||
	<path id="Rectangle_267" class="st0" d="M27,232h33c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5H27c-2.8,0-5-2.2-5-5l0,0
 | 
			
		||||
		C22,234.2,24.2,232,27,232z"/>
 | 
			
		||||
	<path id="Path_459" class="st1" d="M32.1,216.9l-1.1-1c-4-3.6-6.6-5.9-6.6-8.8c0-2.3,1.8-4.2,4.1-4.2c0,0,0.1,0,0.1,0
 | 
			
		||||
		c1.3,0,2.6,0.6,3.5,1.6c0.9-1,2.1-1.6,3.5-1.6c2.3,0,4.2,1.8,4.2,4.1c0,0,0,0.1,0,0.1c0,2.9-2.6,5.3-6.6,8.9L32.1,216.9z"/>
 | 
			
		||||
	<path id="Path_460" class="st2" d="M52.5,198.4l-0.7-0.7c-2.6-2.3-4.2-3.8-4.2-5.7c0-1.5,1.2-2.7,2.7-2.7c0,0,0,0,0,0
 | 
			
		||||
		c0.9,0,1.7,0.4,2.2,1c0.6-0.7,1.4-1,2.2-1c1.5,0,2.7,1.2,2.7,2.7c0,0,0,0,0,0c0,1.9-1.7,3.4-4.2,5.7L52.5,198.4z"/>
 | 
			
		||||
	<path class="st3" d="M37.3,236.7h11.4c3.1-3,4.9-5.5,4.9-8.4c0,0,0-0.1,0-0.1c0-3.2-2.7-5.8-5.9-5.7c-1.8,0-3.6,0.8-4.8,2.2
 | 
			
		||||
		c-1.2-1.4-2.9-2.2-4.8-2.2c0,0-0.1,0-0.1,0c-3.2,0-5.8,2.7-5.7,5.9C32.4,231.2,34.3,233.7,37.3,236.7z"/>
 | 
			
		||||
</g>
 | 
			
		||||
</svg>
 | 
			
		||||
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB  | 
							
								
								
									
										10
									
								
								resources/icons/Receive.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,10 @@
 | 
			
		||||
<svg id="Receive" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12" viewBox="0 0 12 12">
 | 
			
		||||
  <defs>
 | 
			
		||||
    <clipPath id="clip-path">
 | 
			
		||||
      <rect id="Rectangle_429" data-name="Rectangle 429" width="12" height="12" fill="none"/>
 | 
			
		||||
    </clipPath>
 | 
			
		||||
  </defs>
 | 
			
		||||
  <g id="Group_225" data-name="Group 225" clip-path="url(#clip-path)">
 | 
			
		||||
    <path id="Path_333" data-name="Path 333" d="M6.43,8.784,3.007,5.362,4.06,4.309l2.37,2.37,4.314-4.314A5.966,5.966,0,0,0,6,0c-.032,0-.061.008-.094.01A5.98,5.98,0,0,0,.094,5.074,5.911,5.911,0,0,0,0,6a5.911,5.911,0,0,0,.094.926A5.98,5.98,0,0,0,5.906,11.99c.032,0,.061.01.094.01a6,6,0,0,0,5.533-8.32Z" fill="#60c880"/>
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 702 B  | 
							
								
								
									
										6
									
								
								resources/icons/add_a_photo_black_24dp.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,6 @@
 | 
			
		||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
 | 
			
		||||
  <g id="add_a_photo_black_24dp" opacity="1">
 | 
			
		||||
    <path id="Path_248" data-name="Path 248" d="M0,0H24V24H0Z" fill="none"/>
 | 
			
		||||
    <path id="Path_249" data-name="Path 249" d="M21,6H17.83L16,4H10V6h5.12l1.83,2H21V20H5V11H3v9a2.006,2.006,0,0,0,2,2H21a2.006,2.006,0,0,0,2-2V8A2.006,2.006,0,0,0,21,6ZM8,14a5,5,0,1,0,5-5A5,5,0,0,0,8,14Zm5-3a3,3,0,1,1-3,3A3.009,3.009,0,0,1,13,11ZM5,6H8V4H5V1H3V4H0V6H3V9H5Z" fill="black"/>
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 512 B  | 
							
								
								
									
										4
									
								
								resources/icons/add_photo_alternate_black_24dp.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,4 @@
 | 
			
		||||
<svg id="add_photo_alternate_black_24dp" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
 | 
			
		||||
  <path id="Path_250" data-name="Path 250" d="M0,0H24V24H0Z" fill="none"/>
 | 
			
		||||
  <path id="Path_251" data-name="Path 251" d="M18,20H4V6h9V4H4A2.006,2.006,0,0,0,2,6V20a2.006,2.006,0,0,0,2,2H18a2.006,2.006,0,0,0,2-2V11H18Zm-7.79-3.17L8.25,14.47,5.5,18h11l-3.54-4.71ZM20,4V1H18V4H15c.01.01,0,2,0,2h3V8.99c.01.01,2,0,2,0V6h3V4Z" fill="#fff"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 462 B  |