git: 508ccc2b498d - main - graphics/pdfium: fix fetch

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 09 Oct 2026 23:44:33 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=508ccc2b498db6ac810d53ffcb9e11790210d40a

commit 508ccc2b498db6ac810d53ffcb9e11790210d40a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-10-06 02:42:35 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-10-09 23:44:26 +0000

    graphics/pdfium: fix fetch
    
    Fetch now auto-normalizes distfiles which eliminates their variability.
    
    PR:             299197
    Reported by:    fallout
    Approved by:    portmgr@ (unbreak; blanket); this is also a new port
---
 graphics/pdfium/Makefile                           |  10 +-
 graphics/pdfium/distinfo                           | 134 ++++++++++-----------
 ...cator_partition__allocator_partition__alloc.gni |  16 +++
 .../pdfium/files/patch-build-config-clang-BUILD.gn |   8 +-
 .../files/patch-build_config_compiler__cpu__abi.gn |  14 +++
 .../files/patch-third__party_zlib_cpu__features.c  |  32 +++++
 6 files changed, 133 insertions(+), 81 deletions(-)

diff --git a/graphics/pdfium/Makefile b/graphics/pdfium/Makefile
index 63b58923baae..1c822850002a 100644
--- a/graphics/pdfium/Makefile
+++ b/graphics/pdfium/Makefile
@@ -74,6 +74,8 @@ DISTFILES+=	${PDFIUM_COMMIT}.tar.gz:pdfium_src \
 		0732f7097d066a81e673f90862994f76886fc638.tar.gz:tools_mem \
 		df65d5c8f2932045c5af72cd7ecd0c8002fa631e.tar.gz:v8
 DIST_SUBDIR=	${PORTNAME}
+# Googlesource archives are not reproducible; normalize them right after fetching
+FETCH_CMD=	${SH} ${PORTSDIR}/Tools/scripts/fetch-normalize.sh
 EXTRACT_ONLY=	${PDFIUM_COMMIT}${EXTRACT_SUFX}
 WRKSRC=		${WRKDIR}
 
@@ -159,14 +161,6 @@ _DEPS_DIRS=	base/allocator/partition_allocator:89615a645f0220fb03875111c2d9ae4de
 
 BINARY_ALIAS=	python3=${PYTHON_CMD}
 
-pre-checksum:
-	@${GUNZIP_CMD} -c ${DISTDIR}/${DIST_SUBDIR}/${PDFIUM_COMMIT}.tar.gz | ${GZIP_CMD} -n > ${DISTDIR}/${DIST_SUBDIR}/${PDFIUM_COMMIT}.tar.gz.tmp
-	@${MV} ${DISTDIR}/${DIST_SUBDIR}/${PDFIUM_COMMIT}.tar.gz.tmp ${DISTDIR}/${DIST_SUBDIR}/${PDFIUM_COMMIT}.tar.gz
-.for dep in ${_DEPS_DIRS}
-	@${GUNZIP_CMD} -c ${DISTDIR}/${DIST_SUBDIR}/${dep:C/^.*://}.tar.gz | ${GZIP_CMD} -n > ${DISTDIR}/${DIST_SUBDIR}/${dep:C/^.*://}.tar.gz.tmp
-	@${MV} ${DISTDIR}/${DIST_SUBDIR}/${dep:C/^.*://}.tar.gz.tmp ${DISTDIR}/${DIST_SUBDIR}/${dep:C/^.*://}.tar.gz
-.endfor
-
 post-extract:
 .for dep in ${_DEPS_DIRS}
 	@${MKDIR} ${WRKSRC}/${dep:C/:.*//}
diff --git a/graphics/pdfium/distinfo b/graphics/pdfium/distinfo
index 87c49cd92b66..afed2eff5a57 100644
--- a/graphics/pdfium/distinfo
+++ b/graphics/pdfium/distinfo
@@ -1,69 +1,69 @@
-TIMESTAMP = 1790817911
-SHA256 (pdfium/fc46361ce75055cd549cb938fae5d6a3fe3a1a05.tar.gz) = 2ec4330b56d4f37558f4eecf73cd7802c3fd10433c46120d500a5971988eb50d
-SIZE (pdfium/fc46361ce75055cd549cb938fae5d6a3fe3a1a05.tar.gz) = 13132733
-SHA256 (pdfium/89615a645f0220fb03875111c2d9ae4dea9887d8.tar.gz) = c7373aa15daaac1b3f3371db74213f2cc46d3a08134820bcb5334da270261eb6
-SIZE (pdfium/89615a645f0220fb03875111c2d9ae4dea9887d8.tar.gz) = 895629
-SHA256 (pdfium/2cd94c0abeada712aeea6906d99021913c9fc28d.tar.gz) = dd5b6e5a2075ae2feb1fabcc9fa8b470bce6483fb3822daa633485c857b5ec57
-SIZE (pdfium/2cd94c0abeada712aeea6906d99021913c9fc28d.tar.gz) = 1968362
-SHA256 (pdfium/6f6a5dbf04b734214f3b1f386567d101ec9d607e.tar.gz) = efacbbf3aa7ac03a9816e5a21336a6d5193f0c8bf5c00e017692681a97a296df
-SIZE (pdfium/6f6a5dbf04b734214f3b1f386567d101ec9d607e.tar.gz) = 60895
-SHA256 (pdfium/59ed3059c846ef5f92865d933fb705db55b1dc45.tar.gz) = 3541d2f564de37163d58223b10b2e90dc6bd78252810d90895df2195e426f81b
-SIZE (pdfium/59ed3059c846ef5f92865d933fb705db55b1dc45.tar.gz) = 321454704
-SHA256 (pdfium/435e7d977fb36fb47854a4c552c0706dad0bd7cf.tar.gz) = a5efe02ff71b751c9fec5c05fb27198a88826dd9918fb5135c8dc24b9c78b491
-SIZE (pdfium/435e7d977fb36fb47854a4c552c0706dad0bd7cf.tar.gz) = 3235821
-SHA256 (pdfium/70510081984cfcdb14a15b3e08dfe9776dc7ed37.tar.gz) = aa4f368105d5919667ce491449be7c601823cef097a6f4cfd30f7d8a54bf6bf7
-SIZE (pdfium/70510081984cfcdb14a15b3e08dfe9776dc7ed37.tar.gz) = 29677
-SHA256 (pdfium/36a8df4ad006eaa0572fb446edb8145fe5403592.tar.gz) = dc0cd217b08342ed217613c4e9926e4ec6f01623441b6628b606ba938759b4c6
-SIZE (pdfium/36a8df4ad006eaa0572fb446edb8145fe5403592.tar.gz) = 1679311
-SHA256 (pdfium/beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44.tar.gz) = 14bc55d570ed7389fff4d820b75b5dc92ef6806af55532b2e7e921cf3796864e
-SIZE (pdfium/beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44.tar.gz) = 4235113
-SHA256 (pdfium/34164f547b7df3f5d794ff67e9f885c36819ebfc.tar.gz) = 8225c302718b0d85d56d481c4c3482ac9a663ca0e1330c6b92b23b4627d9903c
-SIZE (pdfium/34164f547b7df3f5d794ff67e9f885c36819ebfc.tar.gz) = 143755
-SHA256 (pdfium/782eea126dc5c755827be751a099eb01826175cf.tar.gz) = 070f20161a4a2f15b366952b93f647f2174b1a73318408efc9837d81be59339b
-SIZE (pdfium/782eea126dc5c755827be751a099eb01826175cf.tar.gz) = 65405
-SHA256 (pdfium/4800589f76dc62fbe523a74a59e0d4850a5dd7df.tar.gz) = 02f3ca447e82ecb2c23e923eb5a45164c2e694afec950c1c3bacb622224b6fb6
-SIZE (pdfium/4800589f76dc62fbe523a74a59e0d4850a5dd7df.tar.gz) = 2599595
-SHA256 (pdfium/4fe3307fb2d9f86d19777c7eb0e4809e9694dde7.tar.gz) = c3c8e4170f3a15951a120ce874c26ea78cbc8612cf6ad86c783fec86804d7235
-SIZE (pdfium/4fe3307fb2d9f86d19777c7eb0e4809e9694dde7.tar.gz) = 901437
-SHA256 (pdfium/886fc1e645388080b72f6d9b06347533a0018045.tar.gz) = e931b08a7e99857d4f8e904edaf00289a9c3c17306fb5e3661ec288f61457cbb
-SIZE (pdfium/886fc1e645388080b72f6d9b06347533a0018045.tar.gz) = 38075242
-SHA256 (pdfium/2607d3b5b0113992fe84d3848859eae13b3b52c1.tar.gz) = 1c5c61c64c0649ed163f342c3d0a9ee171e5beb044ca03ad04a14b04b67a0f51
-SIZE (pdfium/2607d3b5b0113992fe84d3848859eae13b3b52c1.tar.gz) = 3704457
-SHA256 (pdfium/8cc91d9b6ab9991802fd208ee03a69714fd0251c.tar.gz) = aeb356335d9c223fcd2a2ef7d620440a5eda4d3418c40eebd5fe5ef1a2921cb5
-SIZE (pdfium/8cc91d9b6ab9991802fd208ee03a69714fd0251c.tar.gz) = 55719414
-SHA256 (pdfium/d15c278eed5d38d9acf2d8054cf37baba93cef8e.tar.gz) = af7ffb09f75a8b3e2b86bc7695f23fb8923cde08cd5e23ca4b5db07dc0bf7add
-SIZE (pdfium/d15c278eed5d38d9acf2d8054cf37baba93cef8e.tar.gz) = 34028
-SHA256 (pdfium/c3027d884967773057bf74b957e3fea87e5df4d7.tar.gz) = fde980e8ea3996f6484c1de546e3d9548e182f5d4c070c0bfd1c88edc0243dcd
-SIZE (pdfium/c3027d884967773057bf74b957e3fea87e5df4d7.tar.gz) = 124221
-SHA256 (pdfium/97b436da4c33663581d394f4ee0a5977fc38c2f4.tar.gz) = 33ae41427dd6b8a48aa883811306b223f9e1e75d310bc4076b07685397949ee1
-SIZE (pdfium/97b436da4c33663581d394f4ee0a5977fc38c2f4.tar.gz) = 9030365
-SHA256 (pdfium/fc1897a2c12aa27e703c3ed48b62eba8abf4ce19.tar.gz) = 3142286db6e59c4af5cb05a1957613341fac938974b33e1c6c78be4b1fcf0873
-SIZE (pdfium/fc1897a2c12aa27e703c3ed48b62eba8abf4ce19.tar.gz) = 808138
-SHA256 (pdfium/640f254ad0fa03f6b1f29f89b7dd9366f2f6e533.tar.gz) = a92e7dadf994bd6f9dc1511d034d50cb76e3ac169f72fef878a52d3fa3034a5c
-SIZE (pdfium/640f254ad0fa03f6b1f29f89b7dd9366f2f6e533.tar.gz) = 2624812
-SHA256 (pdfium/0179a807421cf96731cdfa10008bba04fda243c1.tar.gz) = f85b2bb8afdf8cc252055e8a8b45d274315808f1ae3d787a4eb3cbcf0170a6f5
-SIZE (pdfium/0179a807421cf96731cdfa10008bba04fda243c1.tar.gz) = 350577
-SHA256 (pdfium/320824188c37e5c28738b9652a0ca8087c934bc9.tar.gz) = 06da6bc9f7829b22c5d6af33055f2f750b05ac4552e529ab3d355135a583f57e
-SIZE (pdfium/320824188c37e5c28738b9652a0ca8087c934bc9.tar.gz) = 8047137
-SHA256 (pdfium/4256084ae14175d38a3ff7d739dca83ae49ccec6.tar.gz) = 6a759820466fbb3161fc4a127fb4c0954d345ee7c8c368dda10149608089eb8e
-SIZE (pdfium/4256084ae14175d38a3ff7d739dca83ae49ccec6.tar.gz) = 10302
-SHA256 (pdfium/525a09a813be0f75b646ee93fc2a31c27b87d722.tar.gz) = 3d34844573900673487956208ec083104a2f0eda8a6635ba17d16f9eac173dfe
-SIZE (pdfium/525a09a813be0f75b646ee93fc2a31c27b87d722.tar.gz) = 2433580
-SHA256 (pdfium/f7356eed293f8208c40b3c1b344a50bd70971983.tar.gz) = ec87c84ab0936709439e06f8de10ea2c37016480ce524f64f47b1e65f17d9268
-SIZE (pdfium/f7356eed293f8208c40b3c1b344a50bd70971983.tar.gz) = 425714
-SHA256 (pdfium/5549c93c9a1c66137ceed424f08c86ce9988290c.tar.gz) = 0ad1139ecc2bc4f4781f4c66a58dee90771f8b9533113e09ee801732654d6d69
-SIZE (pdfium/5549c93c9a1c66137ceed424f08c86ce9988290c.tar.gz) = 80120854
-SHA256 (pdfium/7f51783942943e965cd56facf786544ccfc07713.tar.gz) = 2599ea3856f5bcaac8d9439fa78119cf3e0796c6888334d54f0ddc56844288af
-SIZE (pdfium/7f51783942943e965cd56facf786544ccfc07713.tar.gz) = 20864
+TIMESTAMP = 1791250672
+SHA256 (pdfium/fc46361ce75055cd549cb938fae5d6a3fe3a1a05.tar.gz) = dcbaa2294cfbc8be1400400cb48b48353a0ffe4615db737870f303ee53f82aac
+SIZE (pdfium/fc46361ce75055cd549cb938fae5d6a3fe3a1a05.tar.gz) = 12924365
+SHA256 (pdfium/89615a645f0220fb03875111c2d9ae4dea9887d8.tar.gz) = ddbf9c1d3da578c3f1e1e465841f7f624d679f6dfab99fe829a4234e62a98853
+SIZE (pdfium/89615a645f0220fb03875111c2d9ae4dea9887d8.tar.gz) = 874372
+SHA256 (pdfium/2cd94c0abeada712aeea6906d99021913c9fc28d.tar.gz) = 639aa3bbb572268b7d3a20df07338b5b5aa7217a1f126d4143f0ded5de67cc92
+SIZE (pdfium/2cd94c0abeada712aeea6906d99021913c9fc28d.tar.gz) = 1896848
+SHA256 (pdfium/6f6a5dbf04b734214f3b1f386567d101ec9d607e.tar.gz) = ac10b7a3f9f71c140c25745ee1a9421c1235eb93267df7ac5f0869d6025686b9
+SIZE (pdfium/6f6a5dbf04b734214f3b1f386567d101ec9d607e.tar.gz) = 56948
+SHA256 (pdfium/59ed3059c846ef5f92865d933fb705db55b1dc45.tar.gz) = 1e2df749c7bd8b3e2ed9c6ba309af7010f32188f69c59d9c6abd63d77eedb993
+SIZE (pdfium/59ed3059c846ef5f92865d933fb705db55b1dc45.tar.gz) = 321118849
+SHA256 (pdfium/435e7d977fb36fb47854a4c552c0706dad0bd7cf.tar.gz) = 4172d91210ea78c2c20699cea210cfe393c1fb6edd85fbb00d72327036ab0e40
+SIZE (pdfium/435e7d977fb36fb47854a4c552c0706dad0bd7cf.tar.gz) = 3158506
+SHA256 (pdfium/70510081984cfcdb14a15b3e08dfe9776dc7ed37.tar.gz) = 351be20d1ea76761fbb15a190b48c5a29edac215054b162d2479987d7e95dfbd
+SIZE (pdfium/70510081984cfcdb14a15b3e08dfe9776dc7ed37.tar.gz) = 28874
+SHA256 (pdfium/36a8df4ad006eaa0572fb446edb8145fe5403592.tar.gz) = 94dc4468c849937d02ac7b0ba2b514557d450379f53c3ac8371af8c19c55c4d0
+SIZE (pdfium/36a8df4ad006eaa0572fb446edb8145fe5403592.tar.gz) = 1639390
+SHA256 (pdfium/beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44.tar.gz) = d384eabc08b3606c2070e99ce918ece29f1dc2dd85856dc4aa8fc877095042dc
+SIZE (pdfium/beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44.tar.gz) = 4229424
+SHA256 (pdfium/34164f547b7df3f5d794ff67e9f885c36819ebfc.tar.gz) = 8b228edff0d2acdbd3b081096ddf1a1e250e9b0f731107e4a29b7e6d4eea2f2c
+SIZE (pdfium/34164f547b7df3f5d794ff67e9f885c36819ebfc.tar.gz) = 139291
+SHA256 (pdfium/782eea126dc5c755827be751a099eb01826175cf.tar.gz) = b886a024752e3214d006cf28f70fcdec523554844c36f4c4a36f815759da8857
+SIZE (pdfium/782eea126dc5c755827be751a099eb01826175cf.tar.gz) = 64294
+SHA256 (pdfium/4800589f76dc62fbe523a74a59e0d4850a5dd7df.tar.gz) = 1f019d3d0e2622e82593879a5cbdcf62cf5280e4c3c12a3bab82175fd184dc1f
+SIZE (pdfium/4800589f76dc62fbe523a74a59e0d4850a5dd7df.tar.gz) = 2557444
+SHA256 (pdfium/4fe3307fb2d9f86d19777c7eb0e4809e9694dde7.tar.gz) = 986229238d7a6ecb0f612e1fa2e9d654c9e6243d0c2481e5e82e3bcfd01989b2
+SIZE (pdfium/4fe3307fb2d9f86d19777c7eb0e4809e9694dde7.tar.gz) = 887500
+SHA256 (pdfium/886fc1e645388080b72f6d9b06347533a0018045.tar.gz) = 1233e9f77d010b68140007da2034a180ff278a5fc3ad6771a8c8c01c594d092d
+SIZE (pdfium/886fc1e645388080b72f6d9b06347533a0018045.tar.gz) = 37879128
+SHA256 (pdfium/2607d3b5b0113992fe84d3848859eae13b3b52c1.tar.gz) = a52e5efe8ca8f2105cdddd3c36ee7f6b69293a601a6e0a6ea0744eae965824c4
+SIZE (pdfium/2607d3b5b0113992fe84d3848859eae13b3b52c1.tar.gz) = 3690779
+SHA256 (pdfium/8cc91d9b6ab9991802fd208ee03a69714fd0251c.tar.gz) = c0ee2fa0ef3ae8f1d00af88dd286dd1e5be12697dc2f5a592520bcfacf2e7ec0
+SIZE (pdfium/8cc91d9b6ab9991802fd208ee03a69714fd0251c.tar.gz) = 55369992
+SHA256 (pdfium/d15c278eed5d38d9acf2d8054cf37baba93cef8e.tar.gz) = e80fa79dcc4bf01bf841b3b17994484a176e94178006b1a920e7b33576f5fd22
+SIZE (pdfium/d15c278eed5d38d9acf2d8054cf37baba93cef8e.tar.gz) = 31871
+SHA256 (pdfium/c3027d884967773057bf74b957e3fea87e5df4d7.tar.gz) = 4bedba2cbdb313760551dfacea76960ace886c8356936a4678b5b77ebebbc9d8
+SIZE (pdfium/c3027d884967773057bf74b957e3fea87e5df4d7.tar.gz) = 122442
+SHA256 (pdfium/97b436da4c33663581d394f4ee0a5977fc38c2f4.tar.gz) = 976bff4c75303cc340e47ad29f00a689c3dfb855cd9b9afc3f956419d2470e50
+SIZE (pdfium/97b436da4c33663581d394f4ee0a5977fc38c2f4.tar.gz) = 8559637
+SHA256 (pdfium/fc1897a2c12aa27e703c3ed48b62eba8abf4ce19.tar.gz) = 15cb8f57853b8a88df776bce58d7407fb481eb0a8d7b6e322f6e34a1772fbca7
+SIZE (pdfium/fc1897a2c12aa27e703c3ed48b62eba8abf4ce19.tar.gz) = 801622
+SHA256 (pdfium/640f254ad0fa03f6b1f29f89b7dd9366f2f6e533.tar.gz) = b1b36c116fff93a43d579cd080086ab7d5daf763fa4fc7f29b0a774bd1a1fc35
+SIZE (pdfium/640f254ad0fa03f6b1f29f89b7dd9366f2f6e533.tar.gz) = 2603338
+SHA256 (pdfium/0179a807421cf96731cdfa10008bba04fda243c1.tar.gz) = 513fa6e957994a02c9d02dc2304e4a9f15b96e1ebf199e02c5daeb5385cd2ca0
+SIZE (pdfium/0179a807421cf96731cdfa10008bba04fda243c1.tar.gz) = 347580
+SHA256 (pdfium/320824188c37e5c28738b9652a0ca8087c934bc9.tar.gz) = 4f5214d57231f9616849cf8e58efefc0de1f25e1f2293b4f4c6b14bcdbf6b3e9
+SIZE (pdfium/320824188c37e5c28738b9652a0ca8087c934bc9.tar.gz) = 7813021
+SHA256 (pdfium/4256084ae14175d38a3ff7d739dca83ae49ccec6.tar.gz) = bbcfcb90937a2269c8c088fe1ba04552d80b5fe4c5dc42b40eabababaac458d0
+SIZE (pdfium/4256084ae14175d38a3ff7d739dca83ae49ccec6.tar.gz) = 9845
+SHA256 (pdfium/525a09a813be0f75b646ee93fc2a31c27b87d722.tar.gz) = 4d76e0decb3d72b664cd218b2f82faf76d391ba0c85a1cf02f8b2d59cf1e1683
+SIZE (pdfium/525a09a813be0f75b646ee93fc2a31c27b87d722.tar.gz) = 2384716
+SHA256 (pdfium/f7356eed293f8208c40b3c1b344a50bd70971983.tar.gz) = d09b05e0500bf40d59d22b8dba0876411ed64a48f0930461a855ec6d9dc05af4
+SIZE (pdfium/f7356eed293f8208c40b3c1b344a50bd70971983.tar.gz) = 425475
+SHA256 (pdfium/5549c93c9a1c66137ceed424f08c86ce9988290c.tar.gz) = d4e903d5ba9e25f16fd3ae9a820355fcb8f385bb5a32f3b5febea0b97e1a7406
+SIZE (pdfium/5549c93c9a1c66137ceed424f08c86ce9988290c.tar.gz) = 79587417
+SHA256 (pdfium/7f51783942943e965cd56facf786544ccfc07713.tar.gz) = 3c98cc21e1524df896848b3d7f2c90bf71dff50e1e27b5ce0a9d1220ed1e400e
+SIZE (pdfium/7f51783942943e965cd56facf786544ccfc07713.tar.gz) = 20326
 SHA256 (pdfium/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb) = ec973eccd669d417fbf2d0a4dac730744a3174268ff062db5451b55c82bc3492
 SIZE (pdfium/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb) = 26759650
-SHA256 (pdfium/285e94b8fa95ad3b7d16b80798ec8dce6febb8c8.tar.gz) = 538048cd2a12317bc4e0dceb321595e9794d766d16e30b6de1dd49dee6b5cafe
-SIZE (pdfium/285e94b8fa95ad3b7d16b80798ec8dce6febb8c8.tar.gz) = 1393210
-SHA256 (pdfium/450d823868eaee61e2b2cb986e19aec287f16d58.tar.gz) = 28610f7b3597a19055c022783dd7599cdb451462583a85cb5c924b0c97479785
-SIZE (pdfium/450d823868eaee61e2b2cb986e19aec287f16d58.tar.gz) = 692211
-SHA256 (pdfium/e1878fbb1ff79de75d54b6b57caa19a92b90079b.tar.gz) = a39ea8fefdf121418835ef6a88487c99cb288200986371bbaae6b97028c66cc9
-SIZE (pdfium/e1878fbb1ff79de75d54b6b57caa19a92b90079b.tar.gz) = 112313
-SHA256 (pdfium/0732f7097d066a81e673f90862994f76886fc638.tar.gz) = 9f05de64920e5f86f5b5d0da0c88730a141c1c8f7440127cb67ff54a892a472e
-SIZE (pdfium/0732f7097d066a81e673f90862994f76886fc638.tar.gz) = 66068
-SHA256 (pdfium/df65d5c8f2932045c5af72cd7ecd0c8002fa631e.tar.gz) = 3c37da15c71322c0a08b4fbd615fd2d36ad5fa0d1d92cd96b4b5b5c1a93af07f
-SIZE (pdfium/df65d5c8f2932045c5af72cd7ecd0c8002fa631e.tar.gz) = 31701826
+SHA256 (pdfium/285e94b8fa95ad3b7d16b80798ec8dce6febb8c8.tar.gz) = 1ddc792951bec95e76da111656fcc7662002a0039fee9cb8a39ee61aff5e12eb
+SIZE (pdfium/285e94b8fa95ad3b7d16b80798ec8dce6febb8c8.tar.gz) = 1384639
+SHA256 (pdfium/450d823868eaee61e2b2cb986e19aec287f16d58.tar.gz) = 402a950503b3e52e7202ca88b39c5928cb2616243d7e34700486b95ba9582378
+SIZE (pdfium/450d823868eaee61e2b2cb986e19aec287f16d58.tar.gz) = 653635
+SHA256 (pdfium/e1878fbb1ff79de75d54b6b57caa19a92b90079b.tar.gz) = 46d72a410ed1a9a6f3d7861ff07878c98bcf27bc79ce8560032502297f4009ec
+SIZE (pdfium/e1878fbb1ff79de75d54b6b57caa19a92b90079b.tar.gz) = 108982
+SHA256 (pdfium/0732f7097d066a81e673f90862994f76886fc638.tar.gz) = 827a6eec5a1425c2f197711546c8a4f628bc3df19b8de1f992b05ce256ac85f7
+SIZE (pdfium/0732f7097d066a81e673f90862994f76886fc638.tar.gz) = 63611
+SHA256 (pdfium/df65d5c8f2932045c5af72cd7ecd0c8002fa631e.tar.gz) = c25ff4a8e54d6e78a7ec66c8ff953e765e734901ec35cb208dd64983be7ad364
+SIZE (pdfium/df65d5c8f2932045c5af72cd7ecd0c8002fa631e.tar.gz) = 30946369
diff --git a/graphics/pdfium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/graphics/pdfium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
new file mode 100644
index 000000000000..3a0403d245b6
--- /dev/null
+++ b/graphics/pdfium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
@@ -0,0 +1,16 @@
+-- Disable ARM memory tagging in PartitionAlloc on FreeBSD.
+-- The build treats FreeBSD as Linux (is_linux), but the MTE code needs Linux-only
+-- headers (asm/hwcap.h, sys/prctl.h) that do not exist on FreeBSD.
+
+--- base/allocator/partition_allocator/partition_alloc.gni.orig	2026-09-24 10:00:00 UTC
++++ base/allocator/partition_allocator/partition_alloc.gni
+@@ -111,7 +111,8 @@
+ use_large_empty_slot_span_ring = true
+ 
+ has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan &&
+-                     !is_hwasan && (is_linux || is_android)
++                     !is_hwasan && (is_linux || is_android) &&
++                     current_os != "freebsd"
+ 
+ declare_args() {
+   # Whether PartitionAlloc is built in official mode.
diff --git a/graphics/pdfium/files/patch-build-config-clang-BUILD.gn b/graphics/pdfium/files/patch-build-config-clang-BUILD.gn
index 2f6c7bb57798..9b904f2968ba 100644
--- a/graphics/pdfium/files/patch-build-config-clang-BUILD.gn
+++ b/graphics/pdfium/files/patch-build-config-clang-BUILD.gn
@@ -6,16 +6,12 @@
 
 --- build/config/clang/BUILD.gn.orig	2026-09-24 10:29:01 UTC
 +++ build/config/clang/BUILD.gn
-@@ -198,6 +198,12 @@ template("clang_lib") {
+@@ -198,6 +198,8 @@ template("clang_lib") {
          }
        } else if (is_apple) {
          _dir = "darwin"
 +      } else if (current_os == "freebsd") {
-+        if (current_cpu == "x64") {
-+          _dir = read_file("//.freebsd_clang_rt_dir", "trim string")
-+        } else {
-+          assert(false)  # Unhandled FreeBSD cpu type
-+        }
++        _dir = read_file("//.freebsd_clang_rt_dir", "trim string")
        } else if (is_linux || is_chromeos) {
          if (current_cpu == "x64") {
            _dir = "x86_64-unknown-linux-gnu"
diff --git a/graphics/pdfium/files/patch-build_config_compiler__cpu__abi.gn b/graphics/pdfium/files/patch-build_config_compiler__cpu__abi.gn
index 0b460b855fbc..d4eaac51379d 100644
--- a/graphics/pdfium/files/patch-build_config_compiler__cpu__abi.gn
+++ b/graphics/pdfium/files/patch-build_config_compiler__cpu__abi.gn
@@ -18,3 +18,17 @@
      } else {
        cpu_abi_cflags += [ "-m64" ]
        cpu_abi_ldflags += [ "-m64" ]
+@@ -85,7 +90,12 @@ if ((is_posix && !is_apple) || is_fuchsia) {
+   } else if (current_cpu == "arm64") {
+     if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
+-      cpu_abi_cflags += [ "--target=aarch64-linux-gnu" ]
+-      cpu_abi_ldflags += [ "--target=aarch64-linux-gnu" ]
++      if (current_os == "freebsd") {
++        cpu_abi_cflags += [ "--target=aarch64-unknown-freebsd" ]
++        cpu_abi_ldflags += [ "--target=aarch64-unknown-freebsd" ]
++      } else {
++        cpu_abi_cflags += [ "--target=aarch64-linux-gnu" ]
++        cpu_abi_ldflags += [ "--target=aarch64-linux-gnu" ]
++      }
+     }
+     if (target_os == "chromeos" && cros_target_cpu_arch != "" &&
diff --git a/graphics/pdfium/files/patch-third__party_zlib_cpu__features.c b/graphics/pdfium/files/patch-third__party_zlib_cpu__features.c
new file mode 100644
index 000000000000..bec84ad82099
--- /dev/null
+++ b/graphics/pdfium/files/patch-third__party_zlib_cpu__features.c
@@ -0,0 +1,32 @@
+-- Use elf_aux_info(3) and machine/elf.h for ARMv8 feature detection on FreeBSD.
+-- <asm/hwcap.h> is Linux-only; the build treats FreeBSD as Linux (ARMV8_OS_LINUX),
+-- so zlib fails to compile on aarch64.
+
+--- third_party/zlib/cpu_features.c.orig	2026-09-24 10:00:00 UTC
++++ third_party/zlib/cpu_features.c
+@@ -46,7 +46,11 @@
+ #if defined(ARMV8_OS_ANDROID)
+ #include <cpu-features.h>
+ #elif defined(ARMV8_OS_LINUX)
++#if defined(__FreeBSD__)
++#include <machine/elf.h>
++#else
+ #include <asm/hwcap.h>
++#endif
+ #include <sys/auxv.h>
+ #elif defined(ARMV8_OS_FUCHSIA)
+ #include <zircon/features.h>
+@@ -114,7 +118,12 @@
+     arm_cpu_enable_crc32 = !!(features & ANDROID_CPU_ARM_FEATURE_CRC32);
+     arm_cpu_enable_pmull = !!(features & ANDROID_CPU_ARM_FEATURE_PMULL);
+ #elif defined(ARMV8_OS_LINUX) && defined(__aarch64__)
+-    unsigned long features = getauxval(AT_HWCAP);
++    unsigned long features = 0;
++#if defined(__FreeBSD__)
++    elf_aux_info(AT_HWCAP, &features, sizeof(features));
++#else
++    features = getauxval(AT_HWCAP);
++#endif
+     arm_cpu_enable_crc32 = !!(features & HWCAP_CRC32);
+     arm_cpu_enable_pmull = !!(features & HWCAP_PMULL);
+ #elif defined(ARMV8_OS_LINUX) && (defined(__ARM_NEON) || defined(__ARM_NEON__))