Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 20 additions & 17 deletions pkgbuilds/cua-hyprland-plugin/DOWNSTREAM-PROVENANCE.json
Original file line number Diff line number Diff line change
@@ -1,57 +1,60 @@
{
"files": {
"CMakeLists.txt": "7e874a595e1abd708cb0626bd9f0f58d79b4b4bbc6d99b45a0cbe1c5c53b43bc",
"CMakeLists.txt": "be5a67cf11bdd3195082e8b4225b1cd9c9bfe7fd66572a6aa5774c654b72f7f1",
"LICENSE.md": "c0779290c1d4783169aa3dbfb55feb505e563ef8a004bbf55298ceffcfbda8d9",
"SOURCE-PROVENANCE.json": "1753557e38e218e329c1b2e028ed1b03341b746b06f78d984323847c471a1fc5",
"SOURCE-PROVENANCE.json": "292ac8fa09bec96cbd499d5d57cc8ea9b1c00fe6347162fb6960c45f972bdb9d",
"cmake/DetectHyprlandAPI.cmake": "216133ec0eb141c3696bf3770a23e63e46521c9e91a0245a7cb75c20a75ba2c5",
"cmake/VerifyRuntime.cmake": "5869f79a418e7aa6178d2b9166c36cd01c3093c2579b647624968244db57b761",
"include/cua_hyprland/protocol.hpp": "7051463b3c61a2dc93c388e66b6136b7bb524f8694350f249f9d2b5c55826493",
"include/cua_hyprland/session.hpp": "e6a968e4f2ac28122cb7413a0e318f6222d2a0a1b7b0c45f4ab419a78639ebea",
"include/cua_hyprland/status.hpp": "56a9656647c0f4eeb0c588cd4b98a77df198d1f90421f973e9a80e6802f61495",
"src/drag_geometry.hpp": "c5b783d15ff197f22938f08f8d176bab5d45544fe989d150f15cb99295acedb8",
"src/foreground_route.hpp": "4aa016c237b33c15e352a9f5f64bbbca7e1a9c1671ffd593a95a0d87994fb519",
"src/foreground_route.hpp": "4544bb0086137aa8de71e9233832ffd021f2207921c4b788484396a3c9b9c9ef",
"src/ime_popup_guard.cpp": "7a15a88a45866559206d83b0eb6dbd4b9ece9025ded07bfea90a726ebd05cec0",
"src/ime_popup_guard.hpp": "71e6cfa650b755f78d4593adc0ee5cab340c3c277ea4540c2b1e08a6b28ff276",
"src/inject_server.cpp": "0935283580c50fcf0e4ad956f858885700536002b1d86d2f078da9c4404ee9e8",
"src/inject_server.hpp": "67de008b4d6983371207bb22a57bab154b1dedda9b38d1207d3ac8cb379382eb",
"src/input_client_deadline.hpp": "00a91a789ff698820607449ff7152e2fb50d0f315e0fa9c5c3855752bfffe2ef",
"src/input_experiment.cpp": "7017748c782b64b0bc1d257f4ade1a8d46fd19ce940ecc21f22d628614fcef37",
"src/input_experiment.cpp": "543a11341abaffe13e44b1a308b5a115e15f05b835990d693169d4d6b8f59f0f",
"src/input_experiment.hpp": "9da2ddab7f0de6e9cf02aea53e9119acef17ef8513af849bb5aa3d137ebd12c3",
"src/input_grant.hpp": "90b544b2f559bacd920b85ab5915f09ff201de3c05a052ce1b71ff71f767e6a6",
"src/keyboard_layout.hpp": "bc2ec039ac1974caebbb66fe4acb7a2a81832c9054b3aa644a9adcc8954a2467",
"src/keymap_equivalence.hpp": "29b929e8f12da686ddd1c438285cf635847dc121b7e19871de50ebb550d802b9",
"src/owned_socket_path.hpp": "8e784656d944c700f3ded383c93a8cadf846dabdaa4cc12673bcb637c26d9fd1",
"src/passive_pointer_target.hpp": "ede36fd9fd6e95ae5923c751f12591084392be9d2270eb06ad64eb4f245169fa",
"src/plugin.cpp": "712fd73ef8e9046e0fd91531b7bf5da50ce37ccca9df174160137e1924a74b09",
"src/plugin.cpp": "763a04135a6b525f7d1e6fa65400998454757131da062121507eae82e1c9db82",
"src/primary_trace.cpp": "e9468d1a3f3be2a90d47bf8c4a638ad8a60fe10b6297582ab7825751cb707aa9",
"src/primary_trace.hpp": "8d62535fb0b24a02bb80d9a8dcd540b39204afb2f3b4bcb5cabd5275c3b5eaa7",
"src/protocol.cpp": "bd083d65efb05e80946566dc535b1a6fadaa581c66ec327eff41796feba795b1",
"src/seat_lifetime.hpp": "386cf5c72c178f8eec0824f2a7d46fa755b0bb000861f9a6e00802f6b81fb779",
"src/session.cpp": "0105c7ba5f9e2dbdd9a21f48be0bc1f2bde930f6aa19f77e2216403d7790e4df",
"src/status.cpp": "e46e81e5e8ae3b1f50af5dcaa6c1776e236321c788fe61b402c9923c797b1270",
"tests/agent_keymap_test.py": "9b112f520a97a77a0d55f1009cd2594988d3c1e8e7bcaa39f213ffad2644dc56",
"tests/agent_key_repeat_test.py": "59aff13081387f5218ee68b21d537f04e8108e19f4a7e60ac8b30a6b87601363",
"tests/cmake-api/CMakeLists.txt": "6a66c8f98023f029998af917fcd3ec6b1388607bdf7acaf5bdfaef9141962685",
"tests/cmake-api/include/src/plugins/PluginAPI.hpp": "86c8ad51e668908d18928cef1b04e8e6d32a33894525640b52f0b31769c870a0",
"tests/desktop_fault_policy_fixture.cpp": "ac24d675ebc64cc98148e852eb5aba5858bffc06332678d14276d04b317aaf15",
"tests/desktop_fault_policy_test.py": "c3f624c0239036babd23eaaf1bb6b722f3a0c3321a5d3d6668ae7ab4910ca95c",
"tests/desktop_fault_policy_fixture.cpp": "bdf9a924421d1845e7f106b8f416d01ad200027e86ea8d7c00b0e8e4f3582bd2",
"tests/desktop_fault_policy_test.py": "5f06ad4ffae3b6ec5061091ddca09ad6611c4e559f0181d8d69258540b21f898",
"tests/drag_geometry_test.cpp": "d32ea649d008fc051fe18555d6fbc54ba5d057b61880b648c5df8aa076a53fbc",
"tests/foreground_modifiers_test.py": "abf0ddde2d51c6639c8bdca8fdda51cdc8f922b57575a00fc8925c683ccc3bb2",
"tests/foreground_route_test.cpp": "1024168828b13ee6abd8242941e73c042e9381b39108e3ada74823039c7e7932",
"tests/foreground_modifiers_test.py": "65e963c8465e14e1e7a5127f90f533cc9b35c5556f44ca8f4af756273423dcbb",
"tests/foreground_route_test.cpp": "8edf9eb9f6ddee1f445664864c61a4bf3136b3982f92a90dd80dddc04666d45d",
"tests/input_client_deadline_test.cpp": "d62373a7815d531f1269c9a838773595f43e8bcef6482fa140edb162e59a6cac",
"tests/input_grant_test.cpp": "1f327b7ee678189ebad6a50bb1b9bd06767521cebc9cfb478d92de4a8bf7e7fe",
"tests/keyboard_layout_test.cpp": "3bb0fade4675d7ad92a81eb4a1c5201dd1d01bcc418b7ea59a4284dc235e5fb2",
"tests/keyboard_layout_test.cpp": "8044e2d537567cefffc1cf5becab0998402c264d9e973e9904dfcea02db08b56",
"tests/keymap_equivalence_test.cpp": "58df28fbd05ef4645cf0fe91ddcd28da0fa4182a8ebda370d7b3f8a616bc7845",
"tests/mock-hyprland/mock.hpp": "3aeb1a4b9d6b83506b66c129d3fa812330fad4509fe218a0dbb99dd2bb5b6319",
"tests/mock-hyprland/src/config/values/types/BoolValue.hpp": "47cf2cca89f71a273573968cb9b8ba46a1496841d6c892756ebf123500a7ecb3",
"tests/mock-hyprland/src/plugins/PluginAPI.hpp": "5654d90ec9090a88bea3d31f8a79617d4c79742b09068648e64448319d395110",
"tests/owned_socket_path_test.cpp": "eaff6b5c6f148eca6c8650ee3dc212a5e892f002ee4f68b2a1290c7205ee7e42",
"tests/passive_pointer_target_test.cpp": "2aeef1de1dc8932b26ab8c41b83fb16a4289ff96c177a5816088f07b9a168948",
"tests/plugin_api_test.cpp": "1e7e200c309996ee945c88e172273ae942be2837e24564d422dee79d8b77d8a2",
"tests/plugin_input_lifetime_test.cpp": "82e57b335ea1216ea24cca07fe4feebafebdebb779785fde20b8dab6ee222e1b",
"tests/plugin_api_test.cpp": "013236fbbf8232b577e53893893344c3e13f32ee904a4f89430f885dd58d948b",
"tests/plugin_input_lifetime_test.cpp": "1d7af6477b444c7f342b6a7275781967c1ac910e335f5df2cff8c48f952ea1ce",
"tests/protocol_test.cpp": "119cfe0df81c0c00036a2d181764eda7601d6ee72459c2275a96226d4f670447",
"tests/seat_lifetime_test.cpp": "b07570edbe0a142f97c54560eeb93e8327c435ab3b8cbc7496d55175e387b78a",
"tests/status_test.cpp": "b8990efc53ec3820cfe498c920b9220c4b70615ad585468558e032e7619e32f3",
"tests/transport_test.cpp": "deef114a950a27eaff0a530165ddf7db0bfc0fe7e8fb55bdbb66135c8e0c04c9",
"verify.py": "fb35d62313ff4661f892f88666919b33b160f8b6d4fb2d5d52610708bf7f4a54"
},
"patch_sha256": "e74d9021111a5c217b12f3e13c1bbdd260e829c60db5fc2f7293ba4846e1a7d7",
"patch_sha256": "87d3f560cfbd195748321a7e7ad2cb921c77cc022877de7890d3a711940f6e3c",
"schema": 1,
"upstream_manifest_sha256": "1753557e38e218e329c1b2e028ed1b03341b746b06f78d984323847c471a1fc5",
"upstream_revision": "fc188250b4ca8549b8e61f937fdb1fb560770e86"
"upstream_manifest_sha256": "292ac8fa09bec96cbd499d5d57cc8ea9b1c00fe6347162fb6960c45f972bdb9d",
"upstream_revision": "58aba84b5b83d77e7e2b0f006547699eb594e50d"
}
70 changes: 37 additions & 33 deletions pkgbuilds/cua-hyprland-plugin/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Verified upstream kit plus a separately pinned Omarchy keyboard-remap patch.
# Verified upstream kit plus a separately pinned Omarchy patch.
# Normal reruns need a fresh build directory; makepkg -e reuses verified extracted trees.
# Profile kit: original source bytes and separately committed packaging tooling.
# shellcheck shell=bash disable=SC2034,SC2154
pkgname=cua-hyprland-plugin
pkgver=0.28.2
pkgver=0.32.0
# Profile validation starts package releases at 2, above upstream's generic -1 build of the same Driver.
pkgrel=2
pkgdesc='Cua input candidate for reviewed profile omarchy-edge-20260928-remaps'
pkgrel=3
pkgdesc='Cua input candidate for reviewed profile omarchy-hyprland-0562r4-remaps'
arch=('x86_64')
url='https://github.com/trycua/cua'
license=('MIT')
depends=('hyprland=0.56.2-3' 'aquamarine=0.15.1-1' 'glibc=2.44+r50+g1848099f063e-1' 'hyprcursor=0.1.13-7' 'hyprgraphics=0.5.1-4' 'hyprlang=0.6.8-5' 'hyprutils=0.14.2-1' 'libgcc=16.2.1+r23+gd564253eb6c8-1' 'libstdc++=16.2.1+r23+gd564253eb6c8-1' 'libxkbcommon=1.13.2-1' 'wayland=1.26.0-1' 'python>=3.11' 'binutils')
depends=('hyprland=0.56.2-4' 'aquamarine=0.15.1-1' 'glibc=2.44+r50+g1848099f063e-1' 'hyprcursor=0.1.13-7' 'hyprgraphics=0.5.1-4' 'hyprlang=0.6.8-5' 'hyprutils=0.14.2-1' 'libgcc=16.2.1+r23+gd564253eb6c8-1' 'libstdc++=16.2.1+r23+gd564253eb6c8-1' 'libxkbcommon=1.13.2-1' 'wayland=1.26.0-1' 'python>=3.11' 'binutils')
makedepends=('cmake>=3.30' 'ninja' 'pkgconf' 'gcc' 'patch')
options=('!strip' '!debug' '!lto')
_stem='cua-hyprland-plugin-0.28.2-fc188250b4ca8549b8e61f937fdb1fb560770e86'
_archive_sha256='c5b44066e2d80b2e309ef567560c1015d3ec82423c380dd152a337f39aaed1d8'
_kit_sha256='593e0b59f4d50059e30d32d5f6ac1472862dd17a573229cfbfbda74779fb8f82'
_profile_sha256='33581ad88d2f21995f0ec4d2855f9e9870fedd8c4de66b6383e4fde5cebf7f4f'
_stem='cua-hyprland-plugin-0.32.0-58aba84b5b83d77e7e2b0f006547699eb594e50d'
_archive_sha256='25bc3b2d353ba6bb6ecd17e4b67b11b0d6b731a5ae01025197442c97e50acf7a'
_kit_sha256='3c2141dcb2583d918ef2cdb6ff3805dec62119a439a29c811a93cc980d621423'
_profile_sha256='b20d98979137fb5216768d95215f80d372d9bfd2269b541d7bcf664a12f80b97'
_verifier_sha256='480f649cbd35a0ddc7f49dc0a3a44785402c9e0ec9653b0f8ea4965d52d7f900'
_cxx="${CUA_RELEASE_CXX:-/usr/bin/g++}"
_download_name='cua-hyprland-plugin-0.26.1-cc54254464c0c9aebfd6547fe7e4a0ceaf0456d7-profile-omarchy-stable-20260910-kit-1.1.0-5dacea79a6a5927e59fca7b51e6c04e94fa45133ac1b8fb7f4e1f442d113eb9a-67f89ceb47edd973aa748820eadd02ddbfb3d3e4.tar.gz'
Expand All @@ -26,18 +26,18 @@ source=('https://github.com/trycua/cua/releases/download/cua-hyprland-kit-v1.1.0
'PROFILE.json')
noextract=("$_download_name" "${_stem}.tar.gz")
sha256sums=('a89bfa7f6490f598719dfabdd2a5badc137e27b0764fd25e6a05e1f969433520'
'c5b44066e2d80b2e309ef567560c1015d3ec82423c380dd152a337f39aaed1d8'
'33581ad88d2f21995f0ec4d2855f9e9870fedd8c4de66b6383e4fde5cebf7f4f')
'25bc3b2d353ba6bb6ecd17e4b67b11b0d6b731a5ae01025197442c97e50acf7a'
'b20d98979137fb5216768d95215f80d372d9bfd2269b541d7bcf664a12f80b97')

# Downstream inputs are also checked explicitly when makepkg integrity is skipped.
declare -gA _downstream_sha256=(
['independent-keymaps.patch']='e74d9021111a5c217b12f3e13c1bbdd260e829c60db5fc2f7293ba4846e1a7d7'
['DOWNSTREAM-PROVENANCE.json']='af7c4a8dfb38573ebb5352b03ad4274c10cb4ea45c57243c231fd241dc8a6f3f'
['downstream.patch']='87d3f560cfbd195748321a7e7ad2cb921c77cc022877de7890d3a711940f6e3c'
['DOWNSTREAM-PROVENANCE.json']='814e136f4684886107b5ccfa7ffc773a1ad0cea7dcddebd977c6f35c6e87ce00'
['downstream.py']='7c9725805ad038737bd4d346c85f27991ce9ddfff436a32ebf515cad1bf98ca1'
['downstream_test.py']='7b9a992979b22a5e061fdf011ac6be59a3f1ae6e0d7c0a8ff631f74e71984c5a'
)
source+=('independent-keymaps.patch' 'DOWNSTREAM-PROVENANCE.json' 'downstream.py' 'downstream_test.py')
sha256sums+=('e74d9021111a5c217b12f3e13c1bbdd260e829c60db5fc2f7293ba4846e1a7d7' 'af7c4a8dfb38573ebb5352b03ad4274c10cb4ea45c57243c231fd241dc8a6f3f' '7c9725805ad038737bd4d346c85f27991ce9ddfff436a32ebf515cad1bf98ca1' '7b9a992979b22a5e061fdf011ac6be59a3f1ae6e0d7c0a8ff631f74e71984c5a')
source+=('downstream.patch' 'DOWNSTREAM-PROVENANCE.json' 'downstream.py' 'downstream_test.py')
sha256sums+=('87d3f560cfbd195748321a7e7ad2cb921c77cc022877de7890d3a711940f6e3c' '814e136f4684886107b5ccfa7ffc773a1ad0cea7dcddebd977c6f35c6e87ce00' '7c9725805ad038737bd4d346c85f27991ce9ddfff436a32ebf515cad1bf98ca1' '7b9a992979b22a5e061fdf011ac6be59a3f1ae6e0d7c0a8ff631f74e71984c5a')

_verify_download() {
python3 -I - "$SRCDEST/$_download_name" "$_download_sha256" "$srcdir" "$1" "$SRCDEST/PROFILE.json" \
Expand All @@ -51,7 +51,7 @@ import tarfile

expected = {'KIT-PROVENANCE.json': '7beb736adfd334eed52e84070177634269e3a09f8bb25971b38606933ff4c997', 'PKGBUILD': 'b945a6a6eda13d0e382770edd5419485e3196041956663eb38f5183b05d30db3', 'PROFILE-PKGBUILD.in': 'c350d1b2375946cb0166893d67a1fc01344ee5e3215bbe801b4d54bb361d6bce', 'PROFILE-USAGE.md': 'c14d8e8103fccab59e558758f4249f86bce700a8723cd4ba1b97b1102e02bbd2', 'PROFILE.json': '5dacea79a6a5927e59fca7b51e6c04e94fa45133ac1b8fb7f4e1f442d113eb9a', 'SHA256SUMS': '34a2126bcfab983f171382aafac3ef218475b652f4583c58f4a04088044cb935', 'SOURCE-PROVENANCE.json': '54f514664c84e1358a435f29cd6befd5661b0b133d76997191c000b10f021a75', 'cua-hyprland-plugin-0.26.1-cc54254464c0c9aebfd6547fe7e4a0ceaf0456d7.tar.gz': '47bca9e018f32f4fcfe683f91c7475c60368f3b65d318cc35c1f2de88a4ee9ab', 'lifecycle.py': 'b18dceb8b8e05b93586ddd3a2f1d90d70ae1c36088e54fc05c89e08585290990', 'profile_bundle.py': 'ac883883814787da477c037f017939ee92c9fb5f46f373af7de1331b24f1f6da', 'profile_verify.py': '480f649cbd35a0ddc7f49dc0a3a44785402c9e0ec9653b0f8ea4965d52d7f900'}
kit_stem = 'cua-hyprland-plugin-0.26.1-cc54254464c0c9aebfd6547fe7e4a0ceaf0456d7'
stem = 'cua-hyprland-plugin-0.28.2-fc188250b4ca8549b8e61f937fdb1fb560770e86'
stem = 'cua-hyprland-plugin-0.32.0-58aba84b5b83d77e7e2b0f006547699eb594e50d'

def require(condition, message):
if not condition:
Expand All @@ -76,13 +76,14 @@ with tarfile.open(fileobj=io.BytesIO(data), mode='r:gz') as contents:
require(digest(content) == expected[member.name], 'outer kit member checksum mismatch')
payload[member.name] = content
require(payload.keys() == expected.keys(), 'outer kit inventory mismatch')
# Rebase the kit onto the Driver 0.28.2 source release, whose plugin files are
# byte-identical to 0.26.1, and derive the reviewed Omarchy edge profile for it.
# Tooling and compiler, compositor, header and runtime hashes stay upstream's.
# Rebase the kit onto the Driver 0.32.0 source release, whose manifest has the fields
# this verifier checks, and derive the reviewed Omarchy edge profile for it.
# Tooling, compiler and runtime hashes stay upstream's. The compositor and its
# headers are re-measured from Arch's 0.56.2-4 rebuild of the same Hyprland release.
source_file = Path(source_path)
require(source_file.is_file() and not source_file.is_symlink(), 'source archive must be a regular file')
source_data = source_file.read_bytes()
require(digest(source_data) == 'c5b44066e2d80b2e309ef567560c1015d3ec82423c380dd152a337f39aaed1d8',
require(digest(source_data) == '25bc3b2d353ba6bb6ecd17e4b67b11b0d6b731a5ae01025197442c97e50acf7a',
'source archive checksum mismatch')
with tarfile.open(fileobj=io.BytesIO(source_data), mode='r:gz') as contents:
manifest_data = contents.extractfile(stem + '/SOURCE-PROVENANCE.json').read()
Expand All @@ -93,13 +94,16 @@ payload['SOURCE-PROVENANCE.json'] = manifest_data
identity = {'revision': manifest['source_revision'], 'driver_version': manifest['driver_version'],
'archive_sha256': digest(source_data), 'manifest_sha256': digest(manifest_data)}
profile_data = Path(profile_path).read_bytes()
require(digest(profile_data) == '33581ad88d2f21995f0ec4d2855f9e9870fedd8c4de66b6383e4fde5cebf7f4f',
require(digest(profile_data) == 'b20d98979137fb5216768d95215f80d372d9bfd2269b541d7bcf664a12f80b97',
'local profile checksum mismatch')
profile = json.loads(payload['PROFILE.json'])
profile.update(profile_id='omarchy-edge-20260928-remaps', package_release=2, source=identity)
profile['hyprland']['package_version'] = '0.56.2-3'
profile.update(profile_id='omarchy-hyprland-0562r4-remaps', package_release=3, source=identity)
profile['hyprland'].update(package_version='0.56.2-4',
sha256='55da553be71222566ee73b973d2f56dbb9939044d8f22f81aa54b66c83f2f6d1',
headers_sha256='1fdefe6ac027a159d04a5dfee4928ec7ebd15544a9a25b5f66d2f5a46fcf364a')
profile['runtime']['packages'].update(aquamarine='0.15.1-1', glibc='2.44+r50+g1848099f063e-1')
require(json.loads(profile_data) == profile, 'local profile changes more than the reviewed source and package versions')
require(json.loads(profile_data) == profile,
'local profile changes more than the reviewed source, package versions and re-measured compositor')
payload['PROFILE.json'] = profile_data
provenance = json.loads(payload['KIT-PROVENANCE.json'])
provenance.update(profile_sha256=digest(profile_data), source=identity)
Expand All @@ -119,12 +123,12 @@ payload['PKGBUILD'] = recipe.encode()
payload['SHA256SUMS'] = ''.join(f'{digest(body)} {name}\n' for name, body in sorted(payload.items())
if name != 'SHA256SUMS').encode()
del expected[kit_stem + '.tar.gz']
expected.update({stem + '.tar.gz': 'c5b44066e2d80b2e309ef567560c1015d3ec82423c380dd152a337f39aaed1d8',
'SOURCE-PROVENANCE.json': '1753557e38e218e329c1b2e028ed1b03341b746b06f78d984323847c471a1fc5',
'PROFILE.json': '33581ad88d2f21995f0ec4d2855f9e9870fedd8c4de66b6383e4fde5cebf7f4f',
'KIT-PROVENANCE.json': '593e0b59f4d50059e30d32d5f6ac1472862dd17a573229cfbfbda74779fb8f82',
'PKGBUILD': '502c3e91e524516e6e42b3c0d4c2db4214b850ee5699abc9e2a4fda91a6551d4',
'SHA256SUMS': '00a1271037f0facd0b9d2d00ce55e7303fac6622e766bc0760fac3942c122cbd'})
expected.update({stem + '.tar.gz': '25bc3b2d353ba6bb6ecd17e4b67b11b0d6b731a5ae01025197442c97e50acf7a',
'SOURCE-PROVENANCE.json': '292ac8fa09bec96cbd499d5d57cc8ea9b1c00fe6347162fb6960c45f972bdb9d',
'PROFILE.json': 'b20d98979137fb5216768d95215f80d372d9bfd2269b541d7bcf664a12f80b97',
'KIT-PROVENANCE.json': '3c2141dcb2583d918ef2cdb6ff3805dec62119a439a29c811a93cc980d621423',
'PKGBUILD': '610d426d6f88238fc6fae56afc1d54ba7866800d14e97777d9b47ddc9b347cc0',
'SHA256SUMS': '093dc8708a9b440977662d7f00bccace24b0b9253e6bf0d1decad2655b886881'})
require(payload.keys() == expected.keys(), 'derived kit inventory mismatch')
for name, content in payload.items():
require(digest(content) == expected[name], 'derived kit checksum mismatch: ' + name)
Expand Down Expand Up @@ -175,12 +179,12 @@ _verify() {

_downstream() {
local name
for name in independent-keymaps.patch DOWNSTREAM-PROVENANCE.json downstream.py downstream_test.py; do
for name in downstream.patch DOWNSTREAM-PROVENANCE.json downstream.py downstream_test.py; do
printf '%s %s\n' "${_downstream_sha256[$name]}" "$SRCDEST/$name" | sha256sum -c - || return 1
done
python3 -B "$SRCDEST/downstream.py" "$1" \
--pristine "$srcdir/$_stem" --source "$srcdir/omarchy-source" \
--patch "$SRCDEST/independent-keymaps.patch" --manifest "$SRCDEST/DOWNSTREAM-PROVENANCE.json" \
--patch "$SRCDEST/downstream.patch" --manifest "$SRCDEST/DOWNSTREAM-PROVENANCE.json" \
--kit "$srcdir/cua-profile-kit" --kit-sha256 "$_kit_sha256" \
--archive "$srcdir/cua-profile-kit/${_stem}.tar.gz" --cxx "$_cxx" "${@:2}"
}
Expand Down Expand Up @@ -229,7 +233,7 @@ package() {
for name in KIT-PROVENANCE.json PROFILE.json profile_verify.py; do
install -Dm644 "$srcdir/cua-profile-kit/$name" "$pkgdir/usr/share/$pkgname/$name" || return 1
done
for name in DOWNSTREAM-PROVENANCE.json independent-keymaps.patch; do
for name in DOWNSTREAM-PROVENANCE.json downstream.patch; do
install -Dm644 "$SRCDEST/$name" "$pkgdir/usr/share/$pkgname/$name" || return 1
done
}
Loading
Loading