From 619e2a78313c479108f5076bb986307980e660b9 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sat, 24 Apr 2021 12:35:25 +0200 Subject: [PATCH 001/140] parallel: update to 20210422. --- srcpkgs/parallel/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/parallel/template b/srcpkgs/parallel/template index c20964551f8..6481bd1f156 100644 --- a/srcpkgs/parallel/template +++ b/srcpkgs/parallel/template @@ -1,6 +1,6 @@ # Template file for 'parallel' pkgname=parallel -version=20210322 +version=20210422 revision=1 build_style=gnu-configure depends="perl" @@ -10,7 +10,7 @@ maintainer="Leah Neukirchen " license="GPL-3.0-or-later" homepage="https://www.gnu.org/software/parallel/" distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2" -checksum=98f71b445a23a18bb4e9bce4f374b93e6a6d9decdf892be8d22459f224b85694 +checksum=be3e6a3b644467bef25905cb4fd917e67eef982ba4f6e258df25bb0235b59ee8 pre_configure() { # no html and pdf doc From 98c5f5935740d9bf1fca9df350064e50999725d8 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sat, 24 Apr 2021 12:37:00 +0200 Subject: [PATCH 002/140] nncp: update to 6.4.0. --- srcpkgs/nncp/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/nncp/template b/srcpkgs/nncp/template index 5f934bc6f5b..de0aa1311cc 100644 --- a/srcpkgs/nncp/template +++ b/srcpkgs/nncp/template @@ -1,6 +1,6 @@ # Template file for 'nncp' pkgname=nncp -version=6.3.0 +version=6.4.0 revision=1 build_style=go go_import_path=cypherpunks.ru/nncp @@ -9,7 +9,7 @@ maintainer="Leah Neukirchen " license="GPL-3.0-only" homepage="http://www.nncpgo.org/" distfiles="http://www.nncpgo.org/download/${pkgname}-${version}.tar.xz" -checksum=76c26a11e3423540bb7b8470820176a35fcd0493b21a872ec223eb9443ba466b +checksum=3d0d1156d69af698d402663cf84e51cc3d40a50d300e34d1105a6f7532e4b99b do_build() { make From a58409dea1e691dde675075dca219e4e4fedf6c3 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sat, 24 Apr 2021 12:38:36 +0200 Subject: [PATCH 003/140] fdkaac: update to 1.0.2. --- srcpkgs/fdkaac/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/fdkaac/template b/srcpkgs/fdkaac/template index 8fcdcb7c736..d31dc8eb9a6 100644 --- a/srcpkgs/fdkaac/template +++ b/srcpkgs/fdkaac/template @@ -1,6 +1,6 @@ # Template file for 'fdkaac' pkgname=fdkaac -version=1.0.1 +version=1.0.2 revision=1 build_style=gnu-configure hostmakedepends="automake" @@ -10,7 +10,7 @@ maintainer="Leah Neukirchen " license="MIT, BSD-4-Clause, Zlib" homepage="https://github.com/nu774/fdkaac" distfiles="https://github.com/nu774/${pkgname}/archive/v${version}.tar.gz" -checksum=ce9459111cee48c84b2e5e7154fa5a182c8ec1132da880656de3c1bc3bf2cc79 +checksum=8a0b67792605fb8955d6be78a81e3a4029e9b7d0f594d8ed76e0fbcef90be0c8 pre_configure() { autoreconf -fi From c19b7af769459fc0d3f94c27550067f3a1af62b0 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:17 +0100 Subject: [PATCH 004/140] akonadi-calendar: update to 21.04.0 --- srcpkgs/akonadi-calendar/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi-calendar/template b/srcpkgs/akonadi-calendar/template index b9d0442f167..4ce1a3c1b4d 100644 --- a/srcpkgs/akonadi-calendar/template +++ b/srcpkgs/akonadi-calendar/template @@ -1,6 +1,6 @@ # Template file for 'akonadi-calendar' pkgname=akonadi-calendar -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-qmake qt5-host-tools @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-calendar-${version}.tar.xz" -checksum=93275e67e403056a5d7ba9c4231a10ec08e2df542525378d507d37e493f8f114 +checksum=a198bade1dd014d78a289eb76712388f055c7e7d7359c44aba2c857eba14c9f9 akonadi-calendar-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 5119ae2b1310bccbf4d6680550611b211cb1e2e4 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:20 +0100 Subject: [PATCH 005/140] akonadi-contacts: update to 21.04.0 --- srcpkgs/akonadi-contacts/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi-contacts/template b/srcpkgs/akonadi-contacts/template index 45c4f7fe35f..fab227d6bb2 100644 --- a/srcpkgs/akonadi-contacts/template +++ b/srcpkgs/akonadi-contacts/template @@ -1,6 +1,6 @@ # Template file for 'akonadi-contacts' pkgname=akonadi-contacts -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext kcoreaddons" @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.0-or-later, GPL-2.0-or-later" homepage="https://community.kde.org/KDE_PIM/Akonadi" distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-contacts-${version}.tar.xz" -checksum=2437f17f249df22e125aa3c5e12ba39a54fc063fe146b9756b5104e946cf87e2 +checksum=508e27b5a95b4ecc4070cc0b73d6cb8d74bc06f23874d8bcc6dbdd86fa6e6084 if [ "$CROSS_BUILD" ];then hostmakedepends+=" qt5-qmake qt5-host-tools python3 kconfig" From 76288faeca41a793e00b06b4c5802fdf5c3c5371 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:22 +0100 Subject: [PATCH 006/140] akonadi-import-wizard: update to 21.04.0 --- srcpkgs/akonadi-import-wizard/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi-import-wizard/template b/srcpkgs/akonadi-import-wizard/template index d55c65f015c..7658f8ac84d 100644 --- a/srcpkgs/akonadi-import-wizard/template +++ b/srcpkgs/akonadi-import-wizard/template @@ -1,6 +1,6 @@ # Template file for 'akonadi-import-wizard' pkgname=akonadi-import-wizard -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kcoreaddons kdoctools qt5-host-tools qt5-qmake @@ -11,7 +11,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=f6718d41395a191077a18b3d20940083a81efcdd9eb489371a95308e9ff70d20 +checksum=b0550d12a791f72fea3bf567d2f626226f9feecccd3e4571fe443fe5aabfbdc5 akonadi-import-wizard-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From 78a3e2adb4a4906f6a395d05b58225160ba7516b Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:24 +0100 Subject: [PATCH 007/140] akonadi-mime: update to 21.04.0 --- srcpkgs/akonadi-mime/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi-mime/template b/srcpkgs/akonadi-mime/template index ea4766ba3ed..8d02897f3fa 100644 --- a/srcpkgs/akonadi-mime/template +++ b/srcpkgs/akonadi-mime/template @@ -1,6 +1,6 @@ # Template file for 'akonadi-mime' pkgname=akonadi-mime -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kcoreaddons kdoctools python3 @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later, GPL-2.0-or-later" homepage="https://community.kde.org/KDE_PIM/Akonadi" distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-mime-${version}.tar.xz" -checksum=f45d97ddfed592db897cb7dd0e50183dd72b0f2bdb761168917bd4b739d7ddb6 +checksum=3b40689ef271be84d48cabf97ddb6e76e76287b7e7045b8e898660807512fb0c if [ "$CROSS_BUILD" ];then hostmakedepends+=" qt5-qmake qt5-host-tools kconfig" From 38197bd4408249ca0051859374a87886809b3b91 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:26 +0100 Subject: [PATCH 008/140] akonadi-notes: update to 21.04.0 --- srcpkgs/akonadi-notes/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi-notes/template b/srcpkgs/akonadi-notes/template index 7cb79ec96ba..70da10f5dac 100644 --- a/srcpkgs/akonadi-notes/template +++ b/srcpkgs/akonadi-notes/template @@ -1,6 +1,6 @@ # Template file for 'akonadi-notes' pkgname=akonadi-notes -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-qmake qt5-host-tools @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://kontact.kde.org/" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=87455a4cab94a8dae020e3a6ecf1e924440d8df1840bde6cb69a046e5cace5ba +checksum=40f071df637788f0512d7c158846010e42ce10615d30375191e611892f1e1550 akonadi-notes-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From 39ed7d33bc70665a74b1fa6e634616cb7a72833a Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:28 +0100 Subject: [PATCH 009/140] akonadi-search: update to 21.04.0 --- srcpkgs/akonadi-search/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi-search/template b/srcpkgs/akonadi-search/template index 7d1d6e6f45e..3279749c547 100644 --- a/srcpkgs/akonadi-search/template +++ b/srcpkgs/akonadi-search/template @@ -1,6 +1,6 @@ # Template file for 'akonadi-search' pkgname=akonadi-search -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 AppStream @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-search-${version}.tar.xz" -checksum=f85cac2a99e94772d780ea8cbaaf069f86fd7c0b3e7a5c6ea1dbad5a2c104c2d +checksum=c7dc4fec6f7938b9862904495dac0f1ae7cc3d1c8164a70d3bf01660f14e3fa1 akonadi-search-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 4131f43271c44c4499e28998181d73d2cccbfc46 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:31 +0100 Subject: [PATCH 010/140] akonadi5: update to 21.04.0 --- srcpkgs/akonadi5/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template index 5225f361508..d7569af90bb 100644 --- a/srcpkgs/akonadi5/template +++ b/srcpkgs/akonadi5/template @@ -1,6 +1,6 @@ # Template file for 'akonadi5' pkgname=akonadi5 -version=20.12.3 +version=21.04.0 revision=1 wrksrc="akonadi-${version}" build_style=cmake @@ -18,7 +18,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM/Akonadi" distfiles="${KDE_SITE}/release-service/${version}/src/akonadi-${version}.tar.xz" -checksum=b919ac1d1c8534c304925ba51f7f79b1b5fd8fa21fb906ee3a5829c403f4922d +checksum=3fb7424fe9096739780bf87391509fa1259d59de679f1b62f2beb18d796741cd if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-tools-devel qt5-devel kconfig kcoreaddons" From dcc4535a8e550b178617c35177859e0b9112205e Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:37 +0100 Subject: [PATCH 011/140] ark: update to 21.04.0 --- srcpkgs/ark/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/ark/template b/srcpkgs/ark/template index 1d94001fdbd..e6c70e49d0a 100644 --- a/srcpkgs/ark/template +++ b/srcpkgs/ark/template @@ -1,6 +1,6 @@ # Template file for 'ark' pkgname=ark -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" @@ -13,7 +13,7 @@ maintainer="John " license="GPL-2.0-or-later" homepage="https://kde.org/applications/en/utilities/org.kde.ark" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=e4f2dfe595f7b51879c8db3734ad56a2363a934013ee4bd4bc8c94a210405b3b +checksum=0e5e0552598038e38f42d813aefb46ebee9a3d00ffb1ea163b526de58ce39e0c do_check() { : From 3fa1dda82f8c8c4b66d31a2f8fbb42dc7a2aeaba Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:39 +0100 Subject: [PATCH 012/140] baloo-widgets5: update to 21.04.0 --- srcpkgs/baloo-widgets5/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/baloo-widgets5/template b/srcpkgs/baloo-widgets5/template index 8707807ea2c..62443834736 100644 --- a/srcpkgs/baloo-widgets5/template +++ b/srcpkgs/baloo-widgets5/template @@ -1,6 +1,6 @@ # Template file for 'baloo-widgets5' pkgname=baloo-widgets5 -version=20.12.3 +version=21.04.0 revision=1 wrksrc="baloo-widgets-${version}" build_style=cmake @@ -13,7 +13,7 @@ maintainer="John " license="LGPL-2.1-or-later, GPL-2.0-or-later" homepage="https://invent.kde.org/libraries/baloo-widgets" distfiles="${KDE_SITE}/release-service/${version}/src/baloo-widgets-${version}.tar.xz" -checksum=113bec52f93b0c18f62e0c5814a8221ea1c8e2f26e6079937d337564fffbf633 +checksum=3996d5741c2f88c5e32ecd672148f7d255a863a4c355e92f120ae67c2c48c523 baloo-widgets5-devel_package() { short_desc+=" - development" From caea6978c6dd96b56e48b0a03bddf69c52e4a504 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:41 +0100 Subject: [PATCH 013/140] calendarsupport: update to 21.04.0 --- srcpkgs/calendarsupport/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/calendarsupport/template b/srcpkgs/calendarsupport/template index fd393f83edc..bc3e8b2ac36 100644 --- a/srcpkgs/calendarsupport/template +++ b/srcpkgs/calendarsupport/template @@ -1,6 +1,6 @@ # Template file for 'calendarsupport' pkgname=calendarsupport -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kconfig python3 qt5-host-tools qt5-qmake @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/calendarsupport-${version}.tar.xz" -checksum=ab418fb8ed8a9aee1d0798fe934e59593b6b985c85220405814f159c954a8d10 +checksum=8fd41c24640abfaf8cb3e338ed9700c86e90c7f69dbf37ff6b54175fe30d7d54 calendarsupport-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 6a69e2131b4bfabf0b798c2093235f797ca738eb Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:51 +0100 Subject: [PATCH 014/140] dolphin: update to 21.04.0 --- srcpkgs/dolphin/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dolphin/template b/srcpkgs/dolphin/template index 6d49c330ee0..7bfd47b7e4b 100644 --- a/srcpkgs/dolphin/template +++ b/srcpkgs/dolphin/template @@ -1,6 +1,6 @@ # Template file for 'dolphin' pkgname=dolphin -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -14,7 +14,7 @@ maintainer="John " license="GPL-2.0-or-later, GFDL-1.2-or-later" homepage="https://kde.org/applications/en/system/org.kde.dolphin" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=9794b825de2440f53bd237c0bc1c974e89431b5c440ab81ccc1135e696f8a1f3 +checksum=4988e59d4e3edfd58c2d0857745398fc1840c87ec03ea13b0d73254874cfbdbe if [ "$CROSS_BUILD" ]; then LDFLAGS=" -Wl,-rpath-link,../bin" From 90c548e63f2377a7bb800b4afd488969c0537a98 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:56 +0100 Subject: [PATCH 015/140] elisa: update to 21.04.0 --- srcpkgs/elisa/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/elisa/template b/srcpkgs/elisa/template index dd3bc47166b..f81c2069914 100644 --- a/srcpkgs/elisa/template +++ b/srcpkgs/elisa/template @@ -1,6 +1,6 @@ # Template file for 'elisa' pkgname=elisa -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -14,7 +14,7 @@ maintainer="John " license="GPL-3.0-or-later" homepage="https://kde.org/applications/en/multimedia/org.kde.elisa" distfiles="${KDE_SITE}/release-service/${version}/src/elisa-${version}.tar.xz" -checksum=7a97d305b4319f077db6ce387895c2c3442112d5a3d9d4d68d0c2d884ce79865 +checksum=4fa3843e58cf9007ef0b59d9e8df083400c083098d8b14da5df6cd8bc8315194 if [ "$CROSS_BUILD" ]; then hostmakedepends+=" kpackage-devel kconfig-devel kcoreaddons-devel" From 9d9303bd7b5b045c9edd7faddb8aa06b9f75e181 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:04 +0100 Subject: [PATCH 016/140] grantleetheme: update to 21.04.0 --- srcpkgs/grantleetheme/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/grantleetheme/template b/srcpkgs/grantleetheme/template index ee3c7553d0b..3d2653ae6a7 100644 --- a/srcpkgs/grantleetheme/template +++ b/srcpkgs/grantleetheme/template @@ -1,6 +1,6 @@ # Template file for 'grantleetheme' pkgname=grantleetheme -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="KDE_INSTALL_USE_QT_SYS_PATHS=TRUE" @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/grantleetheme-${version}.tar.xz" -checksum=e33dacd0d4e51e69be2590b4916cfcd4db5ad6ce57d4f8d97f6326e4eb2a3a7d +checksum=9afa6d2414a67362f2c86c6d0379375feafa80323e15fd8fd70131a3d589adcb grantleetheme-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedpends}" From 4c80332662fd0c23678d567ba0ad3986d9c6d249 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:37 +0100 Subject: [PATCH 017/140] kalarmcal: update to 21.04.0 --- srcpkgs/kalarmcal/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kalarmcal/template b/srcpkgs/kalarmcal/template index e8a5505e709..e53b066f690 100644 --- a/srcpkgs/kalarmcal/template +++ b/srcpkgs/kalarmcal/template @@ -1,6 +1,6 @@ # Template file for 'kalarmcal' pkgname=kalarmcal -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -12,7 +12,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=0f7e1b46f81c9a77178ea93b536b3985aad00dcf5bd01881b7945bccf96d98a0 +checksum=a3866ca74629e1d29372db8f01779ab042d8663b52404343597efe6155ace532 kalarmcal-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 595000c8254ba337daa7421d46851bf4745ce743 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:46 +0100 Subject: [PATCH 018/140] kate5: update to 21.04.0 --- srcpkgs/kate5/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kate5/template b/srcpkgs/kate5/template index a01026c622f..0c29f7e25c9 100644 --- a/srcpkgs/kate5/template +++ b/srcpkgs/kate5/template @@ -1,6 +1,6 @@ # Template file for 'kate5' pkgname=kate5 -version=20.12.3 +version=21.04.0 revision=1 wrksrc="${pkgname%5}-${version}" build_style=cmake @@ -14,7 +14,7 @@ maintainer="John " license="GPL-3.0-or-later, LGPL-2.0-or-later, GPL-2.0-or-later" homepage="https://kde.org/applications/en/utilities/org.kde.kate" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname%5}-${version}.tar.xz" -checksum=81bc2d8afe1958186feec8b1b275da5d6eb52bd8b4fa154896d19830d628d4fd +checksum=3780cc0de0cf078add7901e255a6524c34f093a4aff2a2d032ed88c20a7421d4 if [ "$CROSS_BUILD" ]; then configure_args+=" -DKF5_HOST_TOOLING=/usr/lib/cmake" From deae2e3b1740a818ea3a669566fca2e7e089b7be Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:54 +0100 Subject: [PATCH 019/140] kcalutils: update to 21.04.0 --- srcpkgs/kcalutils/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kcalutils/template b/srcpkgs/kcalutils/template index 1610e7c7cb4..b224a937547 100644 --- a/srcpkgs/kcalutils/template +++ b/srcpkgs/kcalutils/template @@ -1,6 +1,6 @@ # Template file for 'kcalutils' pkgname=kcalutils -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.0-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kcalutils-${version}.tar.xz" -checksum=1d1f333e55c0d6e476315bf8e08fc2a332e51a122985f6757eb669560148432b +checksum=1b13ea5e03426a7985a4274006cb1c3b855556fcd2ebc5b757bd2ac6e143744f kcalutils-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From b8e650373955d92fb0afb83ff656977524ed2030 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:02 +0100 Subject: [PATCH 020/140] kdeconnect: update to 21.04.0 --- common/shlibs | 4 ++-- srcpkgs/kdeconnect/template | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/shlibs b/common/shlibs index d2cd0cd4c79..52a2fa27678 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3080,8 +3080,8 @@ libsquirrel.so.0 squirrel-libs-3.1_1 libsqstdlib.so.0 squirrel-libs-3.1_1 libexecinfo.so.1 libexecinfo-1.1_1 libkdeconnectpluginkcm.so.2 kdeconnect-20.12.2_1 -libkdeconnectinterfaces.so.20 kdeconnect-20.12.2_1 -libkdeconnectcore.so.20 kdeconnect-20.12.2_1 +libkdeconnectinterfaces.so.21 kdeconnect-21.03.80_1 +libkdeconnectcore.so.21 kdeconnect-21.03.80_1 libkpmcore.so.10 kpmcore-4.2.0_1 libpkcs11-helper.so.1 pkcs11-helper-1.25.1_6 libr_core.so.5.0.0 radare2-5.0.0_1 diff --git a/srcpkgs/kdeconnect/template b/srcpkgs/kdeconnect/template index ab3eda20f4d..a7162f4fe35 100644 --- a/srcpkgs/kdeconnect/template +++ b/srcpkgs/kdeconnect/template @@ -1,6 +1,6 @@ # Template file for 'kdeconnect' pkgname=kdeconnect -version=20.12.3 +version=21.04.0 revision=1 wrksrc="kdeconnect-kde-${version}" build_style=cmake @@ -15,5 +15,5 @@ maintainer="John " license="GPL-2.0-or-later" homepage="https://github.com/KDE/kdeconnect-kde" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-kde-${version}.tar.xz" -checksum=0198a5de49b168485f67e47b0f01f36fef78a3f8be796e8876f3cb6c819608a8 +checksum=f7c1aecd4e312367a164bbf43f73e657f99b851eece7d72525231522221476fd python_version=3 From cd16ab75b3de92d37bc7db75901ba065c3f0d927 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:16 +0100 Subject: [PATCH 021/140] kdepim-runtime: update to 21.04.0 --- srcpkgs/kdepim-runtime/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kdepim-runtime/template b/srcpkgs/kdepim-runtime/template index 1c4318f57e4..0bd05b6b553 100644 --- a/srcpkgs/kdepim-runtime/template +++ b/srcpkgs/kdepim-runtime/template @@ -1,6 +1,6 @@ # Template file for 'kdepim-runtime' pkgname=kdepim-runtime -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake # XXX KolabLibraries, Kolabxml @@ -14,7 +14,7 @@ maintainer="John " license="GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later, AGPL-3.0-or-later, BSD-3-Clause, BSD-2-Clause" homepage="https://invent.kde.org/unmaintained/kdepimlibs" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=bb6b315389c4b5cfc1d1737d70feed1c7f3bf50c5a01f88efda061b7e666e352 +checksum=ead3479e34ca942516d33383bca4bc1d4fd9f81858e12421f935d41d3dd42ed4 post_install() { for license in AGPL-3.0-or-later.txt BSD-3-Clause.txt BSD-2-Clause.txt; do From 75ccaa1f39b4792f03c8bf20bb580db04e647084 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:33 +0100 Subject: [PATCH 022/140] khelpcenter: update to 21.04.0 --- srcpkgs/khelpcenter/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/khelpcenter/template b/srcpkgs/khelpcenter/template index 764687445dc..32db9c684d5 100644 --- a/srcpkgs/khelpcenter/template +++ b/srcpkgs/khelpcenter/template @@ -1,6 +1,6 @@ # Template file for 'khelpcenter' pkgname=khelpcenter -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -11,7 +11,7 @@ maintainer="John " license="GPL-2.0-or-later" homepage="https://kde.org/applications/en/system/org.kde.Help" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=0e29e793687395d0349d23856a790ea2bab88c1b3f13ab5e0fdd1445627f3d56 +checksum=fb9655db22859ec75f1a05a966106469885de7e148d1f5b41354fe36d88ddb11 if [ "$CROSS_BUILD" ]; then hostmakedepends+=" kconfig kdoctools python3 qt5-host-tools qt5-qmake" From 5b92015f241722a51c0cc2d33cc8d0e3bb872ee8 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:34 +0100 Subject: [PATCH 023/140] kidentitymanagement: update to 21.04.0 --- srcpkgs/kidentitymanagement/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kidentitymanagement/template b/srcpkgs/kidentitymanagement/template index ba430b39dea..80ec39cd867 100644 --- a/srcpkgs/kidentitymanagement/template +++ b/srcpkgs/kidentitymanagement/template @@ -1,6 +1,6 @@ # Template file for 'kidentitymanagement' pkgname=kidentitymanagement -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -12,7 +12,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://invent.kde.org/pim/kidentitymanagement" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=036a3b55d11a106ca2a4ab0712942baeea58b7559422730eaf6f904c4a902d98 +checksum=aaf5bf200f9bb9caf1571ebd1dc2075bda1e2afe6be27b9cc9857dffe99903f9 kidentitymanagement-devel_package() { short_desc+=" - development" From 340dae235bae87dac37bc59faceccc4645d364c3 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:39 +0100 Subject: [PATCH 024/140] kimap: update to 21.04.0 --- srcpkgs/kimap/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/kimap/template b/srcpkgs/kimap/template index 332a609aa03..e193f57ff7e 100644 --- a/srcpkgs/kimap/template +++ b/srcpkgs/kimap/template @@ -1,7 +1,7 @@ # Template file for 'kimap' pkgname=kimap -version=20.12.3 -revision=2 +version=21.04.0 +revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 gettext kcoreaddons" @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kimap-${version}.tar.xz" -checksum=321dbb9881480e7fa75a9a6c8b117030f0cbc97e5e43f39dff8fe643fd271320 +checksum=dd2e04c17c2fad5ec51cf1087ea59ffe1c72070afed80f4e4bbae0f0a3e66c39 do_check() { : # XXX: QFATAL : FakeServerTest::testLoadScenario() Unable to start the server From a6bc34efa69cb9adcfb78c171975b36c9f4f8038 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:45 +0100 Subject: [PATCH 025/140] kldap: update to 21.04.0 --- srcpkgs/kldap/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/kldap/template b/srcpkgs/kldap/template index 9affc422101..49529a61862 100644 --- a/srcpkgs/kldap/template +++ b/srcpkgs/kldap/template @@ -1,17 +1,17 @@ # Template file for 'kldap' pkgname=kldap -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 gettext kcoreaddons kdoctools" -makedepends="kio-devel" +makedepends="kio-devel qtkeychain-qt5-devel" short_desc="LDAP access API for KDE" maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kldap-${version}.tar.xz" -checksum=4c0cbcdffe92b0f7884721f564702aab65a208e5938c9a118a1ef30082d9d653 +checksum=8f00ce4fb66efd5566c40d26c959bf1c863646b56d7c0b56a314827ff1bf18d7 kldap-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 7d490d495041809707d08bac532313c3455aa5c0 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:48 +0100 Subject: [PATCH 026/140] kmail-account-wizard: update to 21.04.0 --- srcpkgs/kmail-account-wizard/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kmail-account-wizard/template b/srcpkgs/kmail-account-wizard/template index f69a776d6eb..08dac9af87c 100644 --- a/srcpkgs/kmail-account-wizard/template +++ b/srcpkgs/kmail-account-wizard/template @@ -1,6 +1,6 @@ # Template file for 'kmail-account-wizard' pkgname=kmail-account-wizard -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kcoreaddons qt5-qmake qt5-host-tools python3 @@ -12,4 +12,4 @@ maintainer="John " license="GPL-2.0-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kmail-account-wizard-${version}.tar.xz" -checksum=16143e040aa0eb4a608557b9ba01cdec2be371d90adf358df8767b5ba8234cb6 +checksum=0cc0f1b49a6687dfdeafcfbbf0d909b10dde2206eab2138b39307a59a6e45449 From 0e206c093e9817481c7107684f90a445792fdacc Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:54 +0100 Subject: [PATCH 027/140] kmail: update to 21.04.0 --- srcpkgs/kmail/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kmail/template b/srcpkgs/kmail/template index 38cf2c597f9..746cbc06d03 100644 --- a/srcpkgs/kmail/template +++ b/srcpkgs/kmail/template @@ -1,6 +1,6 @@ # Template file for 'kmail' pkgname=kmail -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-host-tools qt5-qmake @@ -15,4 +15,4 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later, GFDL-1.2-or-later" homepage="https://kde.org/applications/en/internet/org.kde.kmail2" distfiles="${KDE_SITE}/release-service/${version}/src/kmail-${version}.tar.xz" -checksum=411e4d40ae86105b879a11b0b1a80686ad63737089f22508565d1880f7c45ca4 +checksum=dc01c873f918ec780692e8cade59d5dba595d42ada9d4fc0d28d22865788f085 From 5baa6743841daca6e4df8bb6d052b6083827204c Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:56 +0100 Subject: [PATCH 028/140] kmailtransport: update to 21.04.0 --- srcpkgs/kmailtransport/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/kmailtransport/template b/srcpkgs/kmailtransport/template index 86aff7a0d45..998fec15eae 100644 --- a/srcpkgs/kmailtransport/template +++ b/srcpkgs/kmailtransport/template @@ -1,17 +1,18 @@ # Template file for 'kmailtransport' pkgname=kmailtransport -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 gettext kcoreaddons kconfig" -makedepends="akonadi-mime-devel kcmutils-devel ksmtp-devel libkgapi-devel" +makedepends="akonadi-mime-devel kcmutils-devel ksmtp-devel libkgapi-devel + qtkeychain-qt5-devel" short_desc="Mail Transport Service" maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kmailtransport-${version}.tar.xz" -checksum=d718d7b74a5a478ca070d8ddae6927351e470dcf79550c4d0d64b94a331859d4 +checksum=da36d1bc3ea62d1f9de0daca1945d0cc87cf035559dea32b7af35d89f048fcc9 kmailtransport-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From b0e832a2a5fccdffd43d3a07ae50b1325880a418 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:58 +0100 Subject: [PATCH 029/140] kmbox: update to 21.04.0 --- srcpkgs/kmbox/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kmbox/template b/srcpkgs/kmbox/template index 718912a97d2..aea7c00c99a 100644 --- a/srcpkgs/kmbox/template +++ b/srcpkgs/kmbox/template @@ -1,6 +1,6 @@ # Template file for 'kmbox' pkgname=kmbox -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kmbox-${version}.tar.xz" -checksum=0ec56cfdb4a697a64c57962733df5d77c253f80e6a718b6ed974ccc9eefd9033 +checksum=a4f33928ac8924060d5cd86dc17cb7a97c9b9f01fe4621b0fed53604328ce106 kmbox-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From 6fd79e39c9ec357c87aae5e0f9239220716725ea Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:59 +0100 Subject: [PATCH 030/140] kmime: update to 21.04.0 --- srcpkgs/kmime/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kmime/template b/srcpkgs/kmime/template index a83c63f3362..0e2d677aab2 100644 --- a/srcpkgs/kmime/template +++ b/srcpkgs/kmime/template @@ -1,6 +1,6 @@ # Template file for 'kmime' pkgname=kmime -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules python3 gettext" @@ -10,7 +10,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/kmime-${version}.tar.xz" -checksum=381e6839d8f830e5b7b31a6272122676e935cf4b25857ca9b247cc9572ef476d +checksum=042b6cb9eaa5160ee722680c340984d92d3ac1e49d52c38ee68c5b8cf25adb24 if [ "CROSS_BUILD" ];then hostmakedepends+=" qt5-qmake qt5-host-tools" From 1400da42be36d7aa8e4b125fd6f2cd92844902ce Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:07 +0100 Subject: [PATCH 031/140] knights: update to 21.04.0 --- srcpkgs/knights/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/knights/template b/srcpkgs/knights/template index e2f3ae82981..d496b282674 100644 --- a/srcpkgs/knights/template +++ b/srcpkgs/knights/template @@ -1,6 +1,6 @@ # Template file for 'knights' pkgname=knights -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,4 +11,4 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://kde.org/applications/en/games/org.kde.knights" distfiles="${KDE_SITE}/release-service/${version}/src/knights-${version}.tar.xz" -checksum=497b1785ef27a00e2ac852855f160950116b3c86fa053ad187f9611712ef057d +checksum=c392a3b3f02cc52aedd3e22e90950d3204fb1465f49bcfdd1a1fcd7237c68327 From f27041029786be06973a8cb496bea62f5360e940 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:26 +0100 Subject: [PATCH 032/140] konsole: update to 21.04.0 --- srcpkgs/konsole/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/konsole/template b/srcpkgs/konsole/template index 8c95b7bf738..326a0943e53 100644 --- a/srcpkgs/konsole/template +++ b/srcpkgs/konsole/template @@ -1,6 +1,6 @@ # Template file for 'konsole' pkgname=konsole -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF -GNinja" @@ -13,7 +13,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.0-or-later, GFDL-1.2-or-later" homepage="https://kde.org/applications/en/system/org.kde.konsole" distfiles="${KDE_SITE}/release-service/${version}/src/konsole-${version}.tar.xz" -checksum=24cd42fdc4ae2e17526bfab9c5ad516bb25b22d654782e98aa52f6e39bdd138d +checksum=260a1748a065c22d3bb63ffe57bd4bc79067e24a24f6332e5c91317d0e0799b6 replaces="konsole5>=0" # FIXME: after we switch cmake build-style to ninja, remove this as well as # the ninja host-dependency and configure_arg as they will become superfluous From 084f1cd8559670320c2ccca38f0777370e4d9087 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:30 +0100 Subject: [PATCH 033/140] kontactinterface: update to 21.04.0 --- srcpkgs/kontactinterface/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kontactinterface/template b/srcpkgs/kontactinterface/template index a3cf1131901..7f06aca0863 100644 --- a/srcpkgs/kontactinterface/template +++ b/srcpkgs/kontactinterface/template @@ -1,6 +1,6 @@ # Template file for 'kontactinterface' pkgname=kontactinterface -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://kontact.kde.org/" distfiles="${KDE_SITE}/release-service/${version}/src/kontactinterface-${version}.tar.xz" -checksum=3c9f395c2eaf843689e3ace68d8c06cbdbe914f4888657c676cdfe05ba981ddb +checksum=d51c282f477b8d32bf736169e8d56cbbc5fa3536247de9dd10d49646be3c9bc0 kontactinterface-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 981376283a11bb3f6abd4582b081b4ff3c35ec9e Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:43 +0100 Subject: [PATCH 034/140] kpimtextedit: update to 21.04.0 --- srcpkgs/kpimtextedit/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kpimtextedit/template b/srcpkgs/kpimtextedit/template index 262f36077cf..19861360d3e 100644 --- a/srcpkgs/kpimtextedit/template +++ b/srcpkgs/kpimtextedit/template @@ -1,6 +1,6 @@ # Template file for 'kpimtextedit' pkgname=kpimtextedit -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-qmake qt5-host-tools @@ -13,7 +13,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://invent.kde.org/pim/kpimtextedit" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=3377669943dfe8990d011a2ceb9d01759518f5097732424afa723ffd7e61931e +checksum=37db75a87a014d9517b88cd0fc2d85ebcf0982c2c4d1bf75d8e37562023792a9 if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-tools-devel" From c238abb2c5771990e56abb81bf8e60b1f2e09f46 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:47 +0100 Subject: [PATCH 035/140] kqtquickcharts: update to 21.04.0 --- srcpkgs/kqtquickcharts/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kqtquickcharts/template b/srcpkgs/kqtquickcharts/template index 0b60638e294..5fb76fd4bfa 100644 --- a/srcpkgs/kqtquickcharts/template +++ b/srcpkgs/kqtquickcharts/template @@ -1,6 +1,6 @@ # Template file for 'kqtquickcharts' pkgname=kqtquickcharts -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-host-tools qt5-qmake" @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://edu.kde.org/" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=b274baf4532a89cae9490d65069f57c105b17ddd39e1186171c89ecb14128cc5 +checksum=9a1f95fa26c43c1daaf22a2219a115dd59e9bbea20f20a8d1efc8dd475189c26 kqtquickcharts-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From ac00ed482cf55da6f2adc72f4ed9a251684a17b7 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:55 +0100 Subject: [PATCH 036/140] ksmtp: update to 21.04.0 --- srcpkgs/ksmtp/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/ksmtp/template b/srcpkgs/ksmtp/template index 1996eb712bd..65e917cc53c 100644 --- a/srcpkgs/ksmtp/template +++ b/srcpkgs/ksmtp/template @@ -1,6 +1,6 @@ # Template file for 'ksmtp' pkgname=ksmtp -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/ksmtp-${version}.tar.xz" -checksum=8667c3591c28a7fd08d1d0b726bd641b2cf5b9a51f228317b934e041608cb962 +checksum=c557835c9ee292f23f82f4aa67d6516cc9012ad529b5c1d8ea1931f07c64c456 ksmtp-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From 7f8217930a8db6e1541581b1f7ea84d423244572 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:02 +0100 Subject: [PATCH 037/140] ktnef: update to 21.04.0 --- srcpkgs/ktnef/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/ktnef/template b/srcpkgs/ktnef/template index 535f5aebe64..1188507c981 100644 --- a/srcpkgs/ktnef/template +++ b/srcpkgs/ktnef/template @@ -1,6 +1,6 @@ # Template file for 'ktnef' pkgname=ktnef -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/ktnef-${version}.tar.xz" -checksum=78d7f3d512a1ab1d7ef4af81b47a865e933b2338004ddb174d35913f13887873 +checksum=1efda4eeeddad6cc7a12ebbc686f563849cbf2d75f3e7b58673d9f27965b407f ktnef-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From ffcd1ef11ab3150dc130b39d6077968f9c4c2cb6 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:36 +0100 Subject: [PATCH 038/140] libgravatar: update to 21.04.0 --- srcpkgs/libgravatar/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libgravatar/template b/srcpkgs/libgravatar/template index 18162025484..74f5688724a 100644 --- a/srcpkgs/libgravatar/template +++ b/srcpkgs/libgravatar/template @@ -1,6 +1,6 @@ # Template file for 'libgravatar' pkgname=libgravatar -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/libgravatar-${version}.tar.xz" -checksum=c4a2dacfd5b69b19ae8cb2e1c7295cd968e27ea1dea31f98cee06740b6991c8c +checksum=79bb158802903e291308f5111b72015069b2d4e931f2faf0ac0b00e05aba2652 libgravatar-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From bcc453b103bc47e1cd2f60597aee5a5c272b7074 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:47 +0100 Subject: [PATCH 039/140] libkdepim: update to 21.04.0 --- srcpkgs/libkdepim/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libkdepim/template b/srcpkgs/libkdepim/template index 71813b6be22..24b5f2b4832 100644 --- a/srcpkgs/libkdepim/template +++ b/srcpkgs/libkdepim/template @@ -1,6 +1,6 @@ # Template file for 'libkdepim' pkgname=libkdepim -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/libkdepim-${version}.tar.xz" -checksum=ca4d3680cdf2a49c61338184ff7e299766c446c16471f7608a331014d5ec35ab +checksum=8bb23222eafc0bb3c04a1be4003e27cf7bb00aea9a90b377b3fc5ac970a225aa if [ "$CROSS_BUILD" ]; then configure_args+=" -DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" From 487f2320e63d07482dbb286b8a2446dfdfa0cc07 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:51 +0100 Subject: [PATCH 040/140] libkgapi: update to 21.04.0 --- srcpkgs/libkgapi/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libkgapi/template b/srcpkgs/libkgapi/template index 2af240c1fc4..2241e447046 100644 --- a/srcpkgs/libkgapi/template +++ b/srcpkgs/libkgapi/template @@ -1,6 +1,6 @@ # Template file for 'libkgapi' pkgname=libkgapi -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-host-tools qt5-qmake python3 @@ -12,7 +12,7 @@ maintainer="John " license="LGPL-2.1-or-later" homepage="https://invent.kde.org/pim/libkgapi" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=fd668411c3d1e9f65237d15d884efd5cfb7cae0a90fa517bcf833f3980653941 +checksum=dfc5412756307e910ab6a9c3d9f14c2cfa095d6f58b767af465fbe55c10b01f5 do_check() { : From 6d324008385bc724430478b946aedfa7894d6c81 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:52 +0100 Subject: [PATCH 041/140] libkipi5: update to 21.04.0 --- srcpkgs/libkipi5/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libkipi5/template b/srcpkgs/libkipi5/template index 78bc22530f8..8ec4d17ecbc 100644 --- a/srcpkgs/libkipi5/template +++ b/srcpkgs/libkipi5/template @@ -1,6 +1,6 @@ # Template file for 'libkipi5' pkgname=libkipi5 -version=20.12.3 +version=21.04.0 revision=1 wrksrc="libkipi-${version}" build_style=cmake @@ -13,7 +13,7 @@ maintainer="John " license="GPL-2.0-or-later" homepage="https://invent.kde.org/graphics/libkipi" distfiles="${KDE_SITE}/release-service/${version}/src/libkipi-${version}.tar.xz" -checksum=bb6fff214e3a74e17cb7b49f5e9a92252127ec6cb65e6832da3ac789c7bd14a8 +checksum=0b471aa97a396f4e8f596b14be549618d8fe96925d5469ab402efd80a15b683e conflicts="libkipi" libkipi5-devel_package() { From 959f59cb0721e273d64ed79357ecc177d41d584d Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:54 +0100 Subject: [PATCH 042/140] libkleo: update to 21.04.0 --- srcpkgs/libkleo/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libkleo/template b/srcpkgs/libkleo/template index 9ad732af326..3b81460680a 100644 --- a/srcpkgs/libkleo/template +++ b/srcpkgs/libkleo/template @@ -1,6 +1,6 @@ # Template file for 'libkleo' pkgname=libkleo -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-qmake qt5-host-tools @@ -11,7 +11,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/libkleo-${version}.tar.xz" -checksum=9949cc5492cf2ea9a349b56aa7d88a79d0f96a48baa73c9339e521e09448950c +checksum=df6cfd8a776f10fe9645c593fb085d13d60a843de32921a2da2e011db8856f1c libkleo-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From 1e9413c73c229fefa20ab2a3277163c8ebe47f04 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:00 +0100 Subject: [PATCH 043/140] libksieve: update to 21.04.0 --- srcpkgs/libksieve/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libksieve/template b/srcpkgs/libksieve/template index f27e7c17eec..ff893fe0396 100644 --- a/srcpkgs/libksieve/template +++ b/srcpkgs/libksieve/template @@ -1,6 +1,6 @@ # Template file for 'libksieve' pkgname=libksieve -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/libksieve-${version}.tar.xz" -checksum=009f80fba22ad1eed770b780df6b0757a83e97eec6ba0454f496eaf6b54c2448 +checksum=94233aab2af077e2715283e3c1ee63de8699405eb5feb269b4199d3c2b8efe13 libksieve-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From b40199022473cb4b7cd1b945792c52b62362329d Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:04 +0100 Subject: [PATCH 044/140] mailcommon: update to 21.04.0 --- srcpkgs/mailcommon/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/mailcommon/template b/srcpkgs/mailcommon/template index e5c4615dc9e..bb36a9ec06d 100644 --- a/srcpkgs/mailcommon/template +++ b/srcpkgs/mailcommon/template @@ -1,6 +1,6 @@ # Template file for 'mailcommon' pkgname=mailcommon -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kconfig libxslt qt5-qmake @@ -12,7 +12,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/mailcommon-${version}.tar.xz" -checksum=9568a0de8ca61d0af950ba7c407d5fede2c89eb245976e2224c596e8cdbe177c +checksum=fd8137c4991f578dae0fdaf29e44330654b4fdff9adf9ce5fbd44e9bdd844cd2 mailcommon-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedpends}" From 851033754823a49f71e1be4d9a82dc5ac9d13876 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:06 +0100 Subject: [PATCH 045/140] mailimporter: update to 21.04.0 --- srcpkgs/mailimporter/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/mailimporter/template b/srcpkgs/mailimporter/template index fb5faea25c6..07eb6841f5c 100644 --- a/srcpkgs/mailimporter/template +++ b/srcpkgs/mailimporter/template @@ -1,6 +1,6 @@ # Template file for 'mailimporter' pkgname=mailimporter -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kcoreaddons qt5-qmake qt5-host-tools python3 @@ -11,7 +11,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/mailimporter-${version}.tar.xz" -checksum=d67af2f3f62ccf934b4c23982750c05e70bbc144bea231eba560278363de73d2 +checksum=656ba4469a8d51a5c336e6b16dc5a976119102103535dba269fa65c60656fb1b mailimporter-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From 8f283a478efa1e68999289a533f2927fac246c9a Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:38 +0100 Subject: [PATCH 046/140] messagelib: update to 21.04.0 --- srcpkgs/messagelib/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/messagelib/template b/srcpkgs/messagelib/template index 0e74a09c710..e20991c2ba6 100644 --- a/srcpkgs/messagelib/template +++ b/srcpkgs/messagelib/template @@ -1,6 +1,6 @@ # Template file for 'messagelib' pkgname=messagelib -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 @@ -14,7 +14,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/messagelib-${version}.tar.xz" -checksum=3aae37239d281aa6137b57baa5ac8834f5f95786847cc72fd879f664fce12c23 +checksum=2fa33e75aef77ce89f91a777b14dafe9f51fffc431dfd975767e830167c65be3 #TODO: fix build without qca-qt5 From a813c97d54cd0525ac11ce7146702a5aebc27132 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:44 +0100 Subject: [PATCH 047/140] okular: update to 21.04.0 --- srcpkgs/okular/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/okular/template b/srcpkgs/okular/template index 3bbf7b3eb30..e411893b98f 100644 --- a/srcpkgs/okular/template +++ b/srcpkgs/okular/template @@ -1,6 +1,6 @@ # Template file for 'okular' pkgname=okular -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules pkg-config gettext kcoreaddons @@ -16,7 +16,7 @@ maintainer="John " license="GPL-2.0-only" homepage="https://kde.org/applications/en/graphics/org.kde.okular" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=ae570fcd2b35cc9c061c1c55b6f8de256358f0f5dd8d0a8283f13eae006b73dc +checksum=1ee7c4c19a88ccac8351b150a7b4fd601db83634a7d361b10e6324dfe9cb1b50 do_check() { cd build From c887ab546cc867d670b81fcfc37a2b28be2db46b Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:49 +0100 Subject: [PATCH 048/140] pim-data-exporter: update to 21.04.0 --- srcpkgs/pim-data-exporter/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/pim-data-exporter/template b/srcpkgs/pim-data-exporter/template index 5cf988e52fd..df2eaf81c5c 100644 --- a/srcpkgs/pim-data-exporter/template +++ b/srcpkgs/pim-data-exporter/template @@ -1,6 +1,6 @@ # Template file for 'pim-data-exporter' pkgname=pim-data-exporter -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kdoctools qt5-host-tools qt5-qmake @@ -12,4 +12,4 @@ maintainer="John " license="GPL-2.0-or-later" homepage="https://kontact.kde.org/" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=987420ed8accd4a1c9db7baf35807b2c92e1f80eb606aed074b859208829ec9f +checksum=369c4e1443e05625627063c1e673fd7efc09dd04c2fa4522249804fa76c87365 From f8415d2470f3d14617946351f24f3893d908f2cb Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:50 +0100 Subject: [PATCH 049/140] pimcommon: update to 21.04.0 --- srcpkgs/pimcommon/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/pimcommon/template b/srcpkgs/pimcommon/template index bbd43f034bd..4bc430f2623 100644 --- a/srcpkgs/pimcommon/template +++ b/srcpkgs/pimcommon/template @@ -1,6 +1,6 @@ # Template file for 'pimcommon' pkgname=pimcommon -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 libxslt @@ -13,7 +13,7 @@ maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/pimcommon-${version}.tar.xz" -checksum=0b9a0ad2128f41aa5de06dc2a9b28d631ca6a47a5fcf26e5320045f08228fea1 +checksum=b6e180c48b133563ad5b86b7f33353a97b92a995eaf9db7bdfcfd60bc4acf92e pimcommon-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedepends}" From e70c0b569b5427984c60ce6b666247ee1f0edb70 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:56 +0100 Subject: [PATCH 050/140] spectacle: update to 21.04.0 --- srcpkgs/spectacle/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/spectacle/template b/srcpkgs/spectacle/template index 094fa25d513..5f5b6fe942b 100644 --- a/srcpkgs/spectacle/template +++ b/srcpkgs/spectacle/template @@ -1,6 +1,6 @@ # Template file for 'spectacle' pkgname=spectacle -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -14,4 +14,4 @@ maintainer="John " license="LGPL-2.0-or-later, GPL-2.0-or-later" homepage="https://kde.org/applications/en/utilities/org.kde.spectacle" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=4ce20ea1a81be1ec81c3917fc12e3c904cd95e58d559d56bd3d3bd2a15e149c0 +checksum=e08a9820f9b53efbefaceaf00a477b95370bfba9c620e371a19e1756cf4d0e33 From 78d66879ccb1b7a222c57251fe569e190be33be2 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:45 +0100 Subject: [PATCH 051/140] kpmcore: update to 21.04.0 --- common/shlibs | 2 +- srcpkgs/kpmcore/template | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 52a2fa27678..a6895b823c6 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3082,7 +3082,7 @@ libexecinfo.so.1 libexecinfo-1.1_1 libkdeconnectpluginkcm.so.2 kdeconnect-20.12.2_1 libkdeconnectinterfaces.so.21 kdeconnect-21.03.80_1 libkdeconnectcore.so.21 kdeconnect-21.03.80_1 -libkpmcore.so.10 kpmcore-4.2.0_1 +libkpmcore.so.11 kpmcore-21.03.80_1 libpkcs11-helper.so.1 pkcs11-helper-1.25.1_6 libr_core.so.5.0.0 radare2-5.0.0_1 libr_config.so.5.0.0 radare2-5.0.0_1 diff --git a/srcpkgs/kpmcore/template b/srcpkgs/kpmcore/template index b463f8b14d4..0673235c5ad 100644 --- a/srcpkgs/kpmcore/template +++ b/srcpkgs/kpmcore/template @@ -1,6 +1,6 @@ # Template file for 'kpmcore' pkgname=kpmcore -version=20.12.1 +version=21.04.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -14,7 +14,7 @@ maintainer="jambonmcyeah " license="GPL-3.0-or-later" homepage="https://kde.org/applications/system/org.kde.partitionmanager" distfiles="${KDE_SITE}/release-service/$version/src/$pkgname-$version.tar.xz" -checksum=3b109cf4066499e9ab2858528f7634eaf9f5a3f7e7ee6b01b209a6ec64f8d85b +checksum=e7b2ff18f8aac6b7922755d8fe84000c8c4410b13f27d540bd0b4ac1410b6731 if [ -n "$CROSS_BUILD" ]; then configure_args+=" -DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" From 3a8b5690452c423ded6eaeb78f69be33e826d82a Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 14:30:50 +0100 Subject: [PATCH 052/140] partitionmanager: rebuild against kpmcore-21.04.0 --- srcpkgs/partitionmanager/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/partitionmanager/template b/srcpkgs/partitionmanager/template index 074dd1fa7a8..6b4830f9652 100644 --- a/srcpkgs/partitionmanager/template +++ b/srcpkgs/partitionmanager/template @@ -1,7 +1,7 @@ # Template file for 'partitionmanager' pkgname=partitionmanager version=4.2.0 -revision=1 +revision=2 build_style=cmake configure_args="-DBUILD_TESTING=OFF" hostmakedepends="qt5-devel kdoctools kconfig qt5-qmake cmake python3 From ac8fc3bbdf5d5185a0f47c03f4457068c66af86e Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 18:59:43 +0100 Subject: [PATCH 053/140] kleopatra: update to 21.04.0 --- srcpkgs/kleopatra/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/kleopatra/template b/srcpkgs/kleopatra/template index ef0ff2f38fa..33a3b08d89c 100644 --- a/srcpkgs/kleopatra/template +++ b/srcpkgs/kleopatra/template @@ -1,7 +1,7 @@ # Template file for 'kleopatra' pkgname=kleopatra -version=20.12.3 -revision=2 +version=21.04.0 +revision=1 build_style=cmake hostmakedepends="extra-cmake-modules kdoctools qt5-qmake qt5-host-tools kcoreaddons gettext kconfig" makedepends="kcmutils-devel AppStream kitemmodels-devel gpgmeqt-devel libkleo-devel kmime-devel" @@ -12,7 +12,7 @@ maintainer="Justin Jagieniak " license="GPL-2.0-or-later, LGPL-2.1-or-later, GFDL-1.2-or-later" homepage="https://www.kde.org/applications/utilities/kleopatra/" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum="bf30f99bc6abd44d512ca8c53a7e81af625db72547a33df5c581101d787feaa0" +checksum=c03bc7147e35d2994a0a7d323108d6b34e2e2c70768a5481bec3b04da7b6a870 do_check() { QT_QPA_PLATFORM=offscreen CTEST_OUTPUT_ON_FAILURE=TRUE \ From 8ca4d744c6db583bb3da77171f41a44a56fb44eb Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:34 +0100 Subject: [PATCH 054/140] akregator: update to 21.04.0 --- srcpkgs/akregator/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akregator/template b/srcpkgs/akregator/template index 7ac7f74a76d..bd36bdc9dbf 100644 --- a/srcpkgs/akregator/template +++ b/srcpkgs/akregator/template @@ -1,6 +1,6 @@ # Template file for 'akregator' pkgname=akregator -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" @@ -13,4 +13,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later, GFDL-1.2-only" homepage="https://www.kde.org/applications/internet/akregator" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=0b154aea2e1c87ba1f103931ba5e82f2bf6582e4a2779bd6407826739c8bd981 +checksum=550bd98de26af1e4bcce0744e5a445c7a500b04ebafb1185402841b874d7a3df From e3c3facb9b6cd9cb2177fac35fa334fafeb58676 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:23:58 +0100 Subject: [PATCH 055/140] eventviews: update to 21.04.0 --- srcpkgs/eventviews/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/eventviews/template b/srcpkgs/eventviews/template index f98487bc3c6..b33b52521f2 100644 --- a/srcpkgs/eventviews/template +++ b/srcpkgs/eventviews/template @@ -1,6 +1,6 @@ # Template file for 'eventviews' pkgname=eventviews -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools kcoreaddons kconfig @@ -11,7 +11,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=7b624e52fae929c9c69d989ec24601f10fd1af50674a2ce3ce7108e2f2866e5e +checksum=bbd80c0c5c078d0a539cfa43f3b3414e05cae2b2ec9b0d6d986702fa9c3c09ff eventviews-devel_package() { short_desc+=" - development" From c433f6778b8e9d85b5d5d42260b5004a703386de Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:13 +0100 Subject: [PATCH 056/140] incidenceeditor: update to 21.04.0 --- srcpkgs/incidenceeditor/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/incidenceeditor/template b/srcpkgs/incidenceeditor/template index 38164fa470a..ba22880b00c 100644 --- a/srcpkgs/incidenceeditor/template +++ b/srcpkgs/incidenceeditor/template @@ -1,6 +1,6 @@ # Template file for 'incidenceeditor' pkgname=incidenceeditor -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools kcoreaddons kconfig @@ -11,7 +11,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=44059c06fc725b085a196c619cdb509829f7a57f17eced56fc6755cdcd07ce13 +checksum=bf6381e0d26d60234cdbb285d3b46bf30dc7df559b30fc855379c0274b1390b9 incidenceeditor-devel_package() { short_desc+=" - development" From 51c0530b3c83aaf64311de517116991467571bc6 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:32 +0100 Subject: [PATCH 057/140] kaddressbook: update to 21.04.0 --- srcpkgs/kaddressbook/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kaddressbook/template b/srcpkgs/kaddressbook/template index efb82bd64f9..ab124a8735f 100644 --- a/srcpkgs/kaddressbook/template +++ b/srcpkgs/kaddressbook/template @@ -1,6 +1,6 @@ # Template file for 'kaddressbook' pkgname=kaddressbook -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" @@ -13,4 +13,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://kde.org/applications/en/office/org.kde.kaddressbook" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=83eda4fd1e4caeccb4de6c0c3368056307b19a7f390b92be605c10676967d795 +checksum=740df0cad1a5708657bb54c038a9fb3bfe2176e493dd0a1a14c5a226896634dd From dc377419d3a20f771edc1b84ff7039c4c7324924 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:24:35 +0100 Subject: [PATCH 058/140] kalarm: update to 21.04.0 --- srcpkgs/kalarm/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kalarm/template b/srcpkgs/kalarm/template index c24d86bace8..202f098f2ce 100644 --- a/srcpkgs/kalarm/template +++ b/srcpkgs/kalarm/template @@ -1,6 +1,6 @@ # Template file for 'kalarm' pkgname=kalarm -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools libxslt kdoctools @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://www.kde.org/applications/utilities/kalarm" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=df542b1a9f1a3eb226c25060fa196a0eecce0ac621de2a16f6bc6d58ea4e795e +checksum=2250a8fee91268be83bc5125858290e6a3239da5dd5810688f09364dad619efd From c151a2dfaa4babfd4749ef8ca7bcbf381f03fc76 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:25:26 +0100 Subject: [PATCH 059/140] kget: update to 21.04.0 --- srcpkgs/kget/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kget/template b/srcpkgs/kget/template index 813a7446ac7..f6c35837d66 100644 --- a/srcpkgs/kget/template +++ b/srcpkgs/kget/template @@ -1,6 +1,6 @@ # Template file for 'kget' pkgname=kget -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" @@ -14,4 +14,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://invent.kde.org/network/kget" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=d4eed8f395262cfd94c2b8c9caea3523d78c68000d471c1d76ad1aecc6f6024e +checksum=3b07ea59013a97704f1eaa3aa578770e611708ddc871c1bb6d13a0331e499a53 From a199153b8bee59e3ceb9fde9d80a348e6617ed18 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:09 +0100 Subject: [PATCH 060/140] knotes: update to 21.04.0 --- srcpkgs/knotes/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/knotes/template b/srcpkgs/knotes/template index 1b406cab784..34ed06d2cc3 100644 --- a/srcpkgs/knotes/template +++ b/srcpkgs/knotes/template @@ -1,6 +1,6 @@ # Template file for 'knotes' pkgname=knotes -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools libxslt @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later, GFDL-1.2-only" homepage="https://kde.org/applications/en/utilities/org.kde.knotes" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=06d6f3e444a29b03e6b8cee42b867f0373e71a5b94f65469cd163dcab114c4d8 +checksum=581858d55d85f43f88ca690aae039cc5f80c02516501388c916b66fbab02c17f From 7cff82e8e09a6b80e38f0e9ebe53752f851f47e9 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:22 +0100 Subject: [PATCH 061/140] konqueror: update to 21.04.0 --- srcpkgs/konqueror/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/konqueror/template b/srcpkgs/konqueror/template index 0fdb0b8e36a..9dad677f0a5 100644 --- a/srcpkgs/konqueror/template +++ b/srcpkgs/konqueror/template @@ -1,6 +1,6 @@ # Template file for 'konqueror' pkgname=konqueror -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" @@ -14,7 +14,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://kde.org/applications/internet/org.kde.konqueror" distfiles="${KDE_SITE}/release-service/${version}/src/konqueror-${version}.tar.xz" -checksum=472491923e677815e11e6fe9cd8c8919dc52d37b7350eaad82adfbb203bed2f8 +checksum=e1fce3cf8f448d2657c3839f8f85c248b656e5a9307f546c746717b05b89b412 pre_check() { export QT_QPA_PLATFORM=offscreen From 5968832b064b729e18a7d3e714321e7ced706f48 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:28 +0100 Subject: [PATCH 062/140] kontact: update to 21.04.0 --- srcpkgs/kontact/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kontact/template b/srcpkgs/kontact/template index ff5107e0cbd..8ae5f6fb565 100644 --- a/srcpkgs/kontact/template +++ b/srcpkgs/kontact/template @@ -1,6 +1,6 @@ # Template file for 'kontact' pkgname=kontact -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools kdoctools @@ -13,4 +13,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://kde.org/applications/en/office/org.kde.kontact" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=b4c56888239f525af814172e221ee6f2cdea17d2ddc20e28fa5443168451da6f +checksum=e92ccd70b3ba9f4533db615af37618b4c9ea7d28a35598ee430cb339cf40a121 From 75f1b914b2c3090f935815ae8ed14a70f9b62ee7 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:36 +0100 Subject: [PATCH 063/140] korganizer: update to 21.04.0 --- srcpkgs/korganizer/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/korganizer/template b/srcpkgs/korganizer/template index d2c8c969c7d..c4060688636 100644 --- a/srcpkgs/korganizer/template +++ b/srcpkgs/korganizer/template @@ -1,6 +1,6 @@ # Template file for 'korganizer' pkgname=korganizer -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools kdoctools @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://kde.org/applications/en/office/org.kde.korganizer" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=fc20c61e99778fce7e67c5514010e4436418a74de160191c95b417036b3ebf9a +checksum=d0b04b6cab2c0498d30f3b59e51b7ae3e784376ef0d8246973049761bfe5cb7e From 45141502ed8c693b71d0583d96790200cf957aa2 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:49 +0100 Subject: [PATCH 064/140] krdc: update to 21.04.0 --- srcpkgs/krdc/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/krdc/template b/srcpkgs/krdc/template index 5db019fc2ec..373d0325ef4 100644 --- a/srcpkgs/krdc/template +++ b/srcpkgs/krdc/template @@ -1,6 +1,6 @@ # Template file for 'krdc' pkgname=krdc -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" @@ -16,7 +16,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, GFDL-1.2-only, LGPL-2.1-or-later" homepage="https://kde.org/applications/en/internet/org.kde.krdc" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=223e9efc636d752456aeb777523d556bd2d2b919a6729f5bf8e53ef643b8fc68 +checksum=8173c476dfec24fe12309b6726363c1a06566ec04e98330432cc53a375f33822 krdc-devel_package() { short_desc+=" - development files" From fc0cda0104d2781435f60010de6b3e87b55ef7c5 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:26:52 +0100 Subject: [PATCH 065/140] krfb: update to 21.04.0 --- srcpkgs/krfb/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/krfb/template b/srcpkgs/krfb/template index 421988cf4f4..81931451858 100644 --- a/srcpkgs/krfb/template +++ b/srcpkgs/krfb/template @@ -1,6 +1,6 @@ # Template file for 'krfb' pkgname=krfb -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 kdoctools @@ -14,4 +14,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later, GFDL-1.2-only, LGPL-2.1-or-later" homepage="https://kde.org/applications/en/system/org.kde.krfb" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=8479b5ac9c955d06171b8ce4ec80ec178d7de263b441db3459fc1f307ed5e518 +checksum=8f1e9efb25d115a4b37037ff50d9123fc477318521a690db610b5bf41c084e6e From 5e163e84993e5998e1f48662cf53d62828c0bad0 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:27:29 +0100 Subject: [PATCH 066/140] ktuberling: update to 21.04.0 --- srcpkgs/ktuberling/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/ktuberling/template b/srcpkgs/ktuberling/template index bb0527410a1..86926be3140 100644 --- a/srcpkgs/ktuberling/template +++ b/srcpkgs/ktuberling/template @@ -1,6 +1,6 @@ # Template file for 'ktuberling' pkgname=ktuberling -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules qt5-host-tools qt5-qmake kdoctools @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://kde.org/applications/en/games/org.kde.ktuberling" distfiles="${KDE_SITE}/release-service/${version}/src/ktuberling-${version}.tar.xz" -checksum=06a949bf9eb07bdb42732e70c5cc0bdabc4aafedd257d58c5392b60de64c9f34 +checksum=518c00bbf363153b4948662c1299e0c24ce5258bbfc410efc383920adf1dcf93 From 80125529e5c7851a05f4694e2fa334d43f8ad9d6 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 21 Mar 2021 13:28:02 +0100 Subject: [PATCH 067/140] libktorrent: update to 21.04.0 --- srcpkgs/libktorrent/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libktorrent/template b/srcpkgs/libktorrent/template index e35c2cccb49..c1d402127f0 100644 --- a/srcpkgs/libktorrent/template +++ b/srcpkgs/libktorrent/template @@ -1,6 +1,6 @@ # Template file for 'libktorrent' pkgname=libktorrent -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext qt5-host-tools qt5-qmake python3 doxygen" @@ -11,7 +11,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://apps.kde.org/en/ktorrent" distfiles="${KDE_SITE}/release-service/${version}/src/libktorrent-${version}.tar.xz" -checksum=c31e083cf551e9b51a0641177469da6419c67182f61e4d1f2a000e7ef2767efa +checksum=3b95d6ae91c416533129a3762742afdf7fea57526a12cded6e75ca2da65e1031 if [ "$CROSS_BUILD" ]; then hostmakedepends+=" kcoreaddons" From 4717b56f9439245b90716e806c9af40fbd468942 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 24 Apr 2021 14:51:22 +0200 Subject: [PATCH 068/140] mariadb: remove git from hostmakedepends This caused a cyclic dep between git <> mariadb git is only used in CMake if the source dir would actually be a git checkout --- srcpkgs/mariadb/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template index e6b8a820277..db79671bf9d 100644 --- a/srcpkgs/mariadb/template +++ b/srcpkgs/mariadb/template @@ -17,7 +17,7 @@ configure_args="-DBUILD_CONFIG=mysql_release -DWITH_EMBEDDED_SERVER=ON -DPLUGIN_TOKUDB=NO -DPLUGIN_BLACKHOLE=YES -DPLUGIN_PARTITION=YES -DWITH_EXTRA_CHARSETS=complex -DWITH_LIBWRAP=OFF -DWITH_READLINE=ON -DWITH_SYSTEMD=no -DWITH_PCRE=system" -hostmakedepends="bison perl flex pkg-config git" +hostmakedepends="bison perl flex pkg-config" makedepends="ncurses-devel gnutls-devel libaio-devel boost-devel pam-devel zlib-devel pcre2-devel libatomic-devel" depends="mariadb-client" From a51d497f3edfa8495e91cefc22756d89b91f314f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:38 +0200 Subject: [PATCH 069/140] kcachegrind: update to 21.04.0. --- srcpkgs/kcachegrind/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kcachegrind/template b/srcpkgs/kcachegrind/template index 68c92d1033b..7d5d7893713 100644 --- a/srcpkgs/kcachegrind/template +++ b/srcpkgs/kcachegrind/template @@ -1,6 +1,6 @@ # Template file for 'kcachegrind' pkgname=kcachegrind -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext kcoreaddons kdoctools @@ -12,5 +12,5 @@ maintainer="Piotr Wójcik " license="GPL-2.0-only, GFDL-1.2-only" homepage="https://kde.org/applications/development/kcachegrind/" distfiles="${KDE_SITE}/release-service/${version}/src/kcachegrind-${version}.tar.xz" -checksum=95e18b85ae69a522f1f0047960c2dbcc2553af284d18b45d5373746a7e5f69ea +checksum=b91ce13625d1e0925fc27c8ec00e6b809d5765c6c612c7feda968454c6fdb4ad python_version=2 From 51f3fbe36c2b329bcaa7f8ec8ebbb0ae7b0145a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:38 +0200 Subject: [PATCH 070/140] libkcddb: update to 21.04.0. --- srcpkgs/libkcddb/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/libkcddb/template b/srcpkgs/libkcddb/template index 6b68669db59..736e1206be1 100644 --- a/srcpkgs/libkcddb/template +++ b/srcpkgs/libkcddb/template @@ -1,6 +1,6 @@ # Template file for 'libkcddb' pkgname=libkcddb -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext kconfig kcoreaddons kdoctools @@ -11,7 +11,7 @@ maintainer="Piotr Wójcik " license="GPL-2.0-or-later, LGPL-2.0-or-later, BSD-3-Clause, GFDL-1.2-only" homepage="https://projects.kde.org/projects/kde/kdemultimedia/libkcddb" distfiles="${KDE_SITE}/release-service/${version}/src/libkcddb-${version}.tar.xz" -checksum=206229847e0fdde6d1cb36c7be87bd81e7723dd4774d06a872279a4b4390ee54 +checksum=997f61de1e98adf6d07eb51823bc7df3a9d686230e91e5e86bbd529b8185ebbb pre_check() { export QT_QPA_PLATFORM=offscreen @@ -26,6 +26,6 @@ libkcddb-devel_package() { vmove usr/include vmove "usr/lib/*.so" vmove usr/lib/qt5/mkspecs - vlicense cmake/COPYING-CMAKE-SCRIPTS + vlicense LICENSES/BSD-3-Clause.txt } } From 2a396b9b0168f3ecaaf6dfef466ff67e1213b471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:38 +0200 Subject: [PATCH 071/140] marble5: update to 21.04.0. --- srcpkgs/marble5/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/marble5/template b/srcpkgs/marble5/template index 38d2b43fef4..7486faf0994 100644 --- a/srcpkgs/marble5/template +++ b/srcpkgs/marble5/template @@ -1,6 +1,6 @@ # Template file for 'marble5' pkgname=marble5 -version=20.12.3 +version=21.04.0 revision=1 wrksrc="marble-${version}" build_style=cmake @@ -8,13 +8,14 @@ configure_args="-DBUILD_MARBLE_TESTS=NO -DKF5_HOST_TOOLING=/usr/lib/cmake" hostmakedepends="extra-cmake-modules kconfig-devel kcoreaddons-devel kdoctools kpackage-devel perl qt5-host-tools qt5-qmake gettext" makedepends="gpsd-devel knewstuff-devel kparts-devel krunner-devel phonon-qt5-devel - qt5-location-devel qt5-serialport-devel qt5-webkit-devel shapelib-devel" + qt5-location-devel qt5-serialport-devel qt5-webkit-devel shapelib-devel + protobuf-devel" short_desc="Virtual globe and world atlas" maintainer="Piotr Wójcik " license="LGPL-2.1-or-later, GFDL-1.2-only" homepage="https://marble.kde.org" distfiles="${KDE_SITE}/release-service/${version}/src/marble-${version}.tar.xz" -checksum=57b1b129dd0301c124ab5f930af9dfe044cedfcd42a6b180c6cf3c594fba7bc2 +checksum=187efcf9976f7e478a5420f5c4fd7ca73782b9bff58626e37e78c2efcae9c3b0 pre_configure() { vsed -i CMakeLists.txt -e 's/-Wcast-align//' From e7041dccad9ed30ce9b0f73ea9cb4209cecfac48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:38 +0200 Subject: [PATCH 072/140] umbrello: update to 21.04.0. --- srcpkgs/umbrello/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/umbrello/template b/srcpkgs/umbrello/template index cee0fe29525..0bfa4566c15 100644 --- a/srcpkgs/umbrello/template +++ b/srcpkgs/umbrello/template @@ -1,6 +1,6 @@ # Template file for 'umbrello' pkgname=umbrello -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext kcoreaddons kconfig kdoctools qt5-host-tools qt5-qmake" @@ -10,7 +10,7 @@ maintainer="Piotr Wójcik " license="GPL-2.0-or-later, LGPL-2.0-or-later, GFDL-1.2-or-later" homepage="https://umbrello.kde.org/" distfiles="${KDE_SITE}/release-service/${version}/src/umbrello-${version}.tar.xz" -checksum=57fb7d988e115be18514f807bab483a19877acc3f1910aeb952c4d8372f4d378 +checksum=1d5f7c637a59a68a1ee3c15f3c992a38f0a75671a407b299a64fc01b98d4bc9f python_version=2 pre_configure() { From bd54d655e837d0bc8ce40d70d7812f632ab88188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:38 +0200 Subject: [PATCH 073/140] python3-PyICU: update to 2.7.2. --- srcpkgs/python3-PyICU/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-PyICU/template b/srcpkgs/python3-PyICU/template index 6d2da03b053..d6e94875a2b 100644 --- a/srcpkgs/python3-PyICU/template +++ b/srcpkgs/python3-PyICU/template @@ -1,6 +1,6 @@ # Template file for 'python3-PyICU' pkgname=python3-PyICU -version=2.7.1 +version=2.7.2 revision=1 wrksrc="pyicu-v${version}" build_style=python3-module @@ -14,7 +14,7 @@ license="MIT" homepage="https://pypi.org/project/PyICU/" changelog="https://gitlab.pyicu.org/main/pyicu/-/raw/main/CHANGES" distfiles="https://gitlab.pyicu.org/main/pyicu/-/archive/v${version}/pyicu-v${version}.tar.bz2" -checksum=c36114e39ab62a7c0fba56e8c5256c1eeae05d5207c766d3dd7ed422a8d877a3 +checksum=4cf32084652fefdbdef8b1f1e16cb3bd424eb72d816e0d7c22b3faa07029dd1c pre_check() { export PYTHONPATH=$(cd build/lib* && pwd) From 38e49b16cd097fa0520fb12c770c835ff6356955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:39 +0200 Subject: [PATCH 074/140] python3-cheetah3: update to 3.2.6.post2. --- srcpkgs/python3-cheetah3/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-cheetah3/template b/srcpkgs/python3-cheetah3/template index fe46fbe0960..060110a29e1 100644 --- a/srcpkgs/python3-cheetah3/template +++ b/srcpkgs/python3-cheetah3/template @@ -1,6 +1,6 @@ # Template file for 'python3-cheetah3' pkgname=python3-cheetah3 -version=3.2.6.post1 +version=3.2.6.post2 revision=1 wrksrc="Cheetah3-${version}" build_style=python3-module @@ -13,7 +13,7 @@ maintainer="Piotr Wójcik " license="MIT" homepage="http://www.cheetahtemplate.org/" distfiles="${PYPI_SITE}/C/Cheetah3/Cheetah3-${version}.tar.gz" -checksum=58b5d84e5fbff6cf8e117414b3ea49ef51654c02ee887d155113c5b91d761967 +checksum=63157d7a00a273b59676b5be5aa817c75c37efc88478231f1a160f4cfb7f7878 conflicts="python-cheetah>=0" do_check() { From d50a214e8455a0fb0203fa6f491590f0ca399bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:39 +0200 Subject: [PATCH 075/140] python3-jsondiff: update to 1.3.0. --- srcpkgs/python3-jsondiff/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/python3-jsondiff/template b/srcpkgs/python3-jsondiff/template index 7880b58ef06..3ced80f9644 100644 --- a/srcpkgs/python3-jsondiff/template +++ b/srcpkgs/python3-jsondiff/template @@ -1,7 +1,7 @@ # Template file for 'python3-jsondiff' pkgname=python3-jsondiff -version=1.2.0 -revision=3 +version=1.3.0 +revision=1 wrksrc="jsondiff-${version}" build_style=python3-module hostmakedepends="python3-setuptools" @@ -12,7 +12,7 @@ maintainer="Piotr Wójcik " license="MIT" homepage="https://github.com/ZoomerAnalytics/jsondiff" distfiles="${PYPI_SITE}/j/jsondiff/jsondiff-${version}.tar.gz" -checksum=34941bc431d10aa15828afe1cbb644977a114e75eef6cc74fb58951312326303 +checksum=5122bf4708a031b02db029366184a87c5d0ddd5a327a5884ee6cf0193e599d71 post_install() { vlicense LICENSE From 5d1df9b9c6a82a809b8b34539416fef041a3e946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 24 Apr 2021 16:31:39 +0200 Subject: [PATCH 076/140] python3-xxhash: update to 2.0.2. --- srcpkgs/python3-xxhash/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/python3-xxhash/template b/srcpkgs/python3-xxhash/template index 2d1658271cf..e185a116352 100644 --- a/srcpkgs/python3-xxhash/template +++ b/srcpkgs/python3-xxhash/template @@ -1,7 +1,7 @@ # Template file for 'python3-xxhash' pkgname=python3-xxhash -version=2.0.0 -revision=2 +version=2.0.2 +revision=1 wrksrc="xxhash-${version}" build_style=python3-module hostmakedepends="python3-setuptools" @@ -12,7 +12,7 @@ maintainer="Piotr Wójcik " license="BSD-2-Clause" homepage="https://github.com/ifduyue/python-xxhash" distfiles="${PYPI_SITE}/x/xxhash/xxhash-${version}.tar.gz" -checksum=58ca818554c1476fa1456f6cd4b87002e2294f09baf0f81e5a2a4968e62c423c +checksum=b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49 pre_build() { export XXHASH_LINK_SO=1 From 60bdb2e15212e977378f6750e539dc693aa0bf8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Fri, 23 Apr 2021 18:23:51 +0200 Subject: [PATCH 077/140] firefox: enable in i686 --- srcpkgs/firefox/template | 4 ---- 1 file changed, 4 deletions(-) diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template index fdc688c6089..338a2bb5b9e 100644 --- a/srcpkgs/firefox/template +++ b/srcpkgs/firefox/template @@ -46,10 +46,6 @@ if [ "$XBPS_WORDSIZE" = "32" ]; then nodebug=yes fi -if [ "$XBPS_TARGET_MACHINE" = i686 ]; then - broken="out of memory allocating 65536 bytes after a total of 1181696000 bytes" -fi - # we need this because cargo verifies checksums of all files in vendor # crates when it builds and gives us no way to override or update the # file sanely... so just clear out the file list From 87b5cfbbeef97a6ee884ab98684b0dd5ab3b3191 Mon Sep 17 00:00:00 2001 From: Will Springer Date: Tue, 13 Apr 2021 01:17:10 -0700 Subject: [PATCH 078/140] OpenRCT2: fix build type By default it produces a debug build, which crashes on assertions instead of discarding them. --- srcpkgs/OpenRCT2/template | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/srcpkgs/OpenRCT2/template b/srcpkgs/OpenRCT2/template index c5256b65287..b36795aa9f7 100644 --- a/srcpkgs/OpenRCT2/template +++ b/srcpkgs/OpenRCT2/template @@ -5,7 +5,7 @@ pkgname=OpenRCT2 _objects_version=1.0.21 _titles_version=0.1.2c version=0.3.3 -revision=1 +revision=2 build_style=cmake configure_args=" -DOPENRCT2_VERSION_TAG=${version} @@ -37,6 +37,8 @@ skip_extraction="objects.zip title-sequences.zip" replaces="OpenRCT2-data>=0" +CXXFLAGS="-DNDEBUG" + build_options="multiplayer scripting" build_options_default="multiplayer scripting" desc_option_multiplayer="Enable multiplayer support" @@ -48,7 +50,7 @@ fi if [ "$CROSS_BUILD" ]; then hostmakedepends+=" OpenRCT2" - CXXFLAGS="-DHAVE_IMMINTRIN_H=false -DSDL_DISABLE_IMMINTRIN_H=1" + CXXFLAGS+=" -DHAVE_IMMINTRIN_H=false -DSDL_DISABLE_IMMINTRIN_H=1" fi pre_configure() { From c4703a604c4eb5eadb4a97ff20b64f0284a73997 Mon Sep 17 00:00:00 2001 From: amak Date: Sat, 24 Apr 2021 11:53:15 +1000 Subject: [PATCH 079/140] upmpdcli: update to 1.5.12 --- srcpkgs/upmpdcli/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/upmpdcli/template b/srcpkgs/upmpdcli/template index 9aebe7b1e68..73fb2e4165a 100644 --- a/srcpkgs/upmpdcli/template +++ b/srcpkgs/upmpdcli/template @@ -1,6 +1,6 @@ # Template file for 'upmpdcli' pkgname=upmpdcli -version=1.5.11 +version=1.5.12 revision=1 build_style=gnu-configure hostmakedepends="pkg-config tar" @@ -10,7 +10,7 @@ maintainer="amak " license="LGPL-2.1-or-later" homepage="https://www.lesbonscomptes.com/upmpdcli" distfiles="https://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-${version}.tar.gz" -checksum=7c8c6ab866114699405223c60457448dcce35fc13e1e374f68b60eefc55f4f04 +checksum=1d7b6ab360c2549a7e3eff4f261471761dd837e18327a3ca29de1981c090ff3b python_version=3 system_accounts="_upmpdcli" From b82f4d545ecfe98e7ed57e8e7445c6f50f3218dd Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov Date: Wed, 10 Mar 2021 10:23:22 +1100 Subject: [PATCH 080/140] New package: libinstpatch-1.1.6 --- common/shlibs | 1 + srcpkgs/libinstpatch-devel | 1 + srcpkgs/libinstpatch/template | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 120000 srcpkgs/libinstpatch-devel create mode 100644 srcpkgs/libinstpatch/template diff --git a/common/shlibs b/common/shlibs index a6895b823c6..47a56de6dd8 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3927,3 +3927,4 @@ libldacBT_enc.so.2 ldacBT-2.0.2.3_1 libgumbo.so.1 gumbo-parser-0.10.1_2 libmariadb.so.3 libmariadbclient-10.5.9_1 libmariadbd.so.19 libmariadbclient-10.5.9_1 +libinstpatch-1.0.so.2 libinstpatch-1.1.6_1 diff --git a/srcpkgs/libinstpatch-devel b/srcpkgs/libinstpatch-devel new file mode 120000 index 00000000000..f2dc88bd2ed --- /dev/null +++ b/srcpkgs/libinstpatch-devel @@ -0,0 +1 @@ +libinstpatch \ No newline at end of file diff --git a/srcpkgs/libinstpatch/template b/srcpkgs/libinstpatch/template new file mode 100644 index 00000000000..76b23bb89d4 --- /dev/null +++ b/srcpkgs/libinstpatch/template @@ -0,0 +1,23 @@ +# Template file for 'libinstpatch' +pkgname=libinstpatch +version=1.1.6 +revision=1 +build_style=cmake +hostmakedepends="pkg-config glib-devel" +makedepends="libglib-devel libsndfile-devel" +short_desc="Instrument file software library" +maintainer="Evgeny Ermakov " +license="LGPL-2.1-only" +homepage="https://github.com/swami/libinstpatch" +distfiles="${homepage}/archive/v${version}.tar.gz" +checksum=8e9861b04ede275d712242664dab6ffa9166c7940fea3b017638681d25e10299 + +libinstpatch-devel_package() { + depends="${makedepends} ${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +} From 699af6d0faa8ba0729e9c2a4585bebb9be5ede1a Mon Sep 17 00:00:00 2001 From: Evgeny Ermakov Date: Mon, 12 Oct 2020 03:52:49 +1100 Subject: [PATCH 081/140] New package: muse-4.0.0 --- srcpkgs/muse/template | 26 ++++++++++++++++++++++++++ srcpkgs/muse/update | 1 + 2 files changed, 27 insertions(+) create mode 100644 srcpkgs/muse/template create mode 100644 srcpkgs/muse/update diff --git a/srcpkgs/muse/template b/srcpkgs/muse/template new file mode 100644 index 00000000000..51f5b4c3743 --- /dev/null +++ b/srcpkgs/muse/template @@ -0,0 +1,26 @@ +# Template file for 'muse' +pkgname=muse +version=4.0.0 +revision=1 +wrksrc="muse-${version}" +build_wrksrc=src +build_style=cmake +build_helper=qmake +configure_args="-DENABLE_RTAUDIO=OFF -DLIB_INSTALL_DIR=/usr/lib + $(vopt_bool alsa ENABLE_ALSA) $(vopt_bool python ENABLE_PYTHON)" +hostmakedepends="pkg-config qt5-host-tools qt5-qmake" +makedepends="$(vopt_if alsa alsa-lib-devel) dssi-devel fluidsynth-devel + jack-devel ladish-devel ladspa-sdk libinstpatch-devel liblo-devel liblrdf-devel libsamplerate-devel + libsndfile-devel lilv-devel lv2 rubberband-devel qt5-svg-devel qt5-tools-devel + $(vopt_if python python3-devel)" +depends="desktop-file-utils qt5-svg $(vopt_if python 'python3-six python3-Pyro4')" +short_desc="MIDI/Audio sequencer with recording and editing capabilities" +maintainer="Evgeny Ermakov " +license="GPL-2.0-or-later" +homepage="https://muse-sequencer.github.io" +distfiles="https://github.com/muse-sequencer/muse/archive/${version/pre/-pre}.tar.gz" +checksum=cdd4c76a19f5be2d72832f6ed0d22218647c58b33f2da45ab2223a4c04bddf96 +python_version=3 + +build_options="alsa python" +build_options_default="alsa python" diff --git a/srcpkgs/muse/update b/srcpkgs/muse/update new file mode 100644 index 00000000000..0dbd6ad5da4 --- /dev/null +++ b/srcpkgs/muse/update @@ -0,0 +1 @@ +pattern="MusE \K[\d.]*\d" From 86137a41e07e8f419bb87836f26da6f4350bc014 Mon Sep 17 00:00:00 2001 From: glaulher Date: Sat, 24 Apr 2021 14:31:13 -0300 Subject: [PATCH 082/140] icewm: update to 2.3.2. --- srcpkgs/icewm/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/icewm/template b/srcpkgs/icewm/template index 6b893aa533f..1008bce045f 100644 --- a/srcpkgs/icewm/template +++ b/srcpkgs/icewm/template @@ -1,6 +1,6 @@ # Template file for 'icewm' pkgname=icewm -version=2.3.1 +version=2.3.2 revision=1 build_style=cmake make_cmd=make @@ -17,7 +17,7 @@ maintainer="Glaulher " license="GPL-2.0-or-later" homepage="https://ice-wm.org/" distfiles="https://github.com/ice-wm/icewm/archive/${version}.tar.gz" -checksum=b44136a519fc2c5b8077879d1d13f2375646ff1580f3db54dd418dfc3b98e5fe +checksum=42b6fd45c21ad2d106d4e6bebe62b628241c6209521a564eeef129c69cf23c41 # broken tests make_check=no From 744642341f58069f793ce71fc2e8edd599ccae62 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Sat, 24 Apr 2021 18:30:22 +0200 Subject: [PATCH 083/140] dbeaver: update to 21.0.3. --- .../patches/colortheme-plugin-update-url.patch | 13 +++++++++++++ srcpkgs/dbeaver/template | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/dbeaver/patches/colortheme-plugin-update-url.patch diff --git a/srcpkgs/dbeaver/patches/colortheme-plugin-update-url.patch b/srcpkgs/dbeaver/patches/colortheme-plugin-update-url.patch new file mode 100644 index 00000000000..c8c9b887c81 --- /dev/null +++ b/srcpkgs/dbeaver/patches/colortheme-plugin-update-url.patch @@ -0,0 +1,13 @@ +diff --git plugins/org.jkiss.dbeaver.ext.ui.colortheme/pom.xml plugins/org.jkiss.dbeaver.ext.ui.colortheme/pom.xml +index 173322136b..6b9034eab5 100644 +--- plugins/org.jkiss.dbeaver.ext.ui.colortheme/pom.xml ++++ plugins/org.jkiss.dbeaver.ext.ui.colortheme/pom.xml +@@ -16,7 +16,7 @@ + + + eclipse-color-theme +- https://eclipse-color-theme.github.com/update ++ https://eclipse-color-theme.github.io/update/ + p2 + + diff --git a/srcpkgs/dbeaver/template b/srcpkgs/dbeaver/template index 74249a29683..839984621cd 100644 --- a/srcpkgs/dbeaver/template +++ b/srcpkgs/dbeaver/template @@ -1,6 +1,6 @@ # Template file for 'dbeaver' pkgname=dbeaver -version=21.0.2 +version=21.0.3 revision=1 # the build downloads binaries linked to glibc archs="x86_64" @@ -11,7 +11,7 @@ maintainer="Kyle Nusbaum " license="Apache-2.0" homepage="https://dbeaver.io" distfiles="https://github.com/dbeaver/dbeaver/archive/${version}.tar.gz" -checksum=39f9d518d057884a2bfd2a4cee656190fe849b06fd7184b465d159c618a28837 +checksum=1573aee8642e6f65edc41b08376873765ddde72146c8b374d7e1e7e4cbbb0844 nopie=true do_build() { From 56cfa491e8148f58797b93c433d00fec253ab958 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Sat, 24 Apr 2021 20:30:46 +0200 Subject: [PATCH 084/140] electrum: update to 4.1.2. --- srcpkgs/electrum/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/electrum/template b/srcpkgs/electrum/template index 5a7f44bcd33..b1a6a423ab5 100644 --- a/srcpkgs/electrum/template +++ b/srcpkgs/electrum/template @@ -1,6 +1,6 @@ # Template file for 'electrum' pkgname=electrum -version=4.1.1 +version=4.1.2 revision=1 build_style=python3-module hostmakedepends="python3-setuptools python3-PyQt5-devel-tools" @@ -20,7 +20,7 @@ maintainer="Charles E. Lehner " license="MIT" homepage="https://electrum.org/" distfiles="https://github.com/spesmilo/electrum/archive/${version}.tar.gz" -checksum=359e14d91cdbeff4dd3c1c9973831c2d9dc3b95a84e795314705a73d72ecfbc8 +checksum=f1e0565a50e2f21a35a180f927239625f14e23a1d87be0a962bbb7895001ab82 post_install() { sed -i -e 's|electrum %u|electrum|' \ From b7bbfef51e588700a851f61e293c79cc7bff6d2c Mon Sep 17 00:00:00 2001 From: yopito Date: Sat, 24 Apr 2021 00:05:28 +0200 Subject: [PATCH 085/140] freecad: update to 0.19.2 --- srcpkgs/freecad/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template index 6c9f27c97df..a1127268079 100644 --- a/srcpkgs/freecad/template +++ b/srcpkgs/freecad/template @@ -1,6 +1,6 @@ # Template file for 'freecad' pkgname=freecad -version=0.19.1 +version=0.19.2 revision=1 wrksrc="FreeCAD-${version}" build_style=cmake @@ -36,7 +36,7 @@ maintainer="yopito " license="LGPL-2.0-or-later" homepage="https://freecadweb.org/" distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz" -checksum=5ec0003c18df204f7b449d4ac0a82f945b41613a0264127de3ef16f6b2efa60f +checksum=47e39e3d6fcafe6e0c68923fb1b86acda16986268e5e6011694057b940139fba if [ "$XBPS_TARGET_LIBC" = musl ]; then makedepends+=" libexecinfo-devel" From b9da422d279ee291dfd8106afe12d9e8126fc079 Mon Sep 17 00:00:00 2001 From: skmpz Date: Sat, 24 Apr 2021 16:16:20 +0300 Subject: [PATCH 086/140] libjpeg-turbo: update to 2.1.0. --- srcpkgs/libjpeg-turbo/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libjpeg-turbo/template b/srcpkgs/libjpeg-turbo/template index 777adf3c4de..408b0c4fb92 100644 --- a/srcpkgs/libjpeg-turbo/template +++ b/srcpkgs/libjpeg-turbo/template @@ -1,6 +1,6 @@ # Template file for 'libjpeg-turbo' pkgname=libjpeg-turbo -version=2.0.6 +version=2.1.0 revision=1 build_style=cmake configure_args="-DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR=/usr/lib" @@ -10,7 +10,7 @@ maintainer="Orphaned " license="IJG, BSD-3-Clause, Zlib" homepage="https://libjpeg-turbo.org/" distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.gz" -checksum=d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb +checksum=bef89803e506f27715c5627b1e3219c95b80fc31465d4452de2a909d382e4444 provides="jpeg-8_1" replaces="jpeg>=0" From 083d70b33df805ee57af571d21754ede4a872e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ey=C3=9Fer?= Date: Fri, 23 Apr 2021 00:56:15 +0200 Subject: [PATCH 087/140] podman: update to 3.1.2. --- srcpkgs/podman/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/podman/template b/srcpkgs/podman/template index 710f2352df4..0e2dd3ae025 100644 --- a/srcpkgs/podman/template +++ b/srcpkgs/podman/template @@ -1,6 +1,6 @@ # Template file for 'podman' pkgname=podman -version=3.1.1 +version=3.1.2 revision=1 build_style=go go_import_path="github.com/containers/podman/v3" @@ -14,7 +14,7 @@ maintainer="Cameron Nemo " license="Apache-2.0" homepage="https://podman.io/" distfiles="https://github.com/containers/podman/archive/v${version}.tar.gz" -checksum=4e6fb106c6363566b6edc4ac6caee0bdf6b788e01255c3b3bfcb64f4b6842229 +checksum=5a0d42e03d15e32c5c54a147da5ef1b8928ec00982ac9e3f1edc82c5e614b6d2 if [ "$CROSS_BUILD" ]; then go_build_tags+=" containers_image_openpgp" From 5587ba829bb8e77417f82737c85db9d1d00c9347 Mon Sep 17 00:00:00 2001 From: skmpz Date: Sat, 24 Apr 2021 09:43:45 +0300 Subject: [PATCH 088/140] tiff: update to 4.3.0. --- .../tiff/patches/CVE-2017-11613_part1.patch | 40 ------------------- .../tiff/patches/CVE-2017-11613_part2.patch | 33 --------------- srcpkgs/tiff/template | 8 ++-- 3 files changed, 4 insertions(+), 77 deletions(-) delete mode 100644 srcpkgs/tiff/patches/CVE-2017-11613_part1.patch delete mode 100644 srcpkgs/tiff/patches/CVE-2017-11613_part2.patch diff --git a/srcpkgs/tiff/patches/CVE-2017-11613_part1.patch b/srcpkgs/tiff/patches/CVE-2017-11613_part1.patch deleted file mode 100644 index 12e20b21120..00000000000 --- a/srcpkgs/tiff/patches/CVE-2017-11613_part1.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3719385a3fac5cfb20b487619a5f08abbf967cf8 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Sun, 11 Mar 2018 11:14:01 +0100 -Subject: [PATCH] ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613) - -In ChopUpSingleUncompressedStrip(), if the computed number of strips is big -enough and we are in read only mode, validate that the file size is consistent -with that number of strips to avoid useless attempts at allocating a lot of -memory for the td_stripbytecount and td_stripoffset arrays. - -Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2724 ---- - libtiff/tif_dirread.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c -index 3fc0c8e..1a3259c 100644 ---- libtiff/tif_dirread.c -+++ libtiff/tif_dirread.c -@@ -5698,6 +5698,17 @@ ChopUpSingleUncompressedStrip(TIFF* tif) - if( nstrips == 0 ) - return; - -+ /* If we are going to allocate a lot of memory, make sure that the */ -+ /* file is as big as needed */ -+ if( tif->tif_mode == O_RDONLY && -+ nstrips > 1000000 && -+ (tif->tif_dir.td_stripoffset[0] >= TIFFGetFileSize(tif) || -+ tif->tif_dir.td_stripbytecount[0] > -+ TIFFGetFileSize(tif) - tif->tif_dir.td_stripoffset[0]) ) -+ { -+ return; -+ } -+ - newcounts = (uint64*) _TIFFCheckMalloc(tif, nstrips, sizeof (uint64), - "for chopped \"StripByteCounts\" array"); - newoffsets = (uint64*) _TIFFCheckMalloc(tif, nstrips, sizeof (uint64), --- -libgit2 0.27.0 - diff --git a/srcpkgs/tiff/patches/CVE-2017-11613_part2.patch b/srcpkgs/tiff/patches/CVE-2017-11613_part2.patch deleted file mode 100644 index bd3b13ed417..00000000000 --- a/srcpkgs/tiff/patches/CVE-2017-11613_part2.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7a092f8af2568d61993a8cc2e7a35a998d7d37be Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Sat, 17 Mar 2018 09:36:29 +0100 -Subject: [PATCH] ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613) - -Rework fix done in 3719385a3fac5cfb20b487619a5f08abbf967cf8 to work in more -cases like https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6979. -Credit to OSS Fuzz - -Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2724 ---- - libtiff/tif_dirread.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c -index 1a3259c..6baa7b3 100644 ---- libtiff/tif_dirread.c -+++ libtiff/tif_dirread.c -@@ -5702,9 +5702,8 @@ ChopUpSingleUncompressedStrip(TIFF* tif) - /* file is as big as needed */ - if( tif->tif_mode == O_RDONLY && - nstrips > 1000000 && -- (tif->tif_dir.td_stripoffset[0] >= TIFFGetFileSize(tif) || -- tif->tif_dir.td_stripbytecount[0] > -- TIFFGetFileSize(tif) - tif->tif_dir.td_stripoffset[0]) ) -+ (offset >= TIFFGetFileSize(tif) || -+ stripbytes > (TIFFGetFileSize(tif) - offset) / (nstrips - 1)) ) - { - return; - } --- -libgit2 0.27.0 - diff --git a/srcpkgs/tiff/template b/srcpkgs/tiff/template index e8531ee23d1..4179cf8afc5 100644 --- a/srcpkgs/tiff/template +++ b/srcpkgs/tiff/template @@ -1,18 +1,18 @@ # Template file for 'tiff' pkgname=tiff -version=4.2.0 -revision=2 +version=4.3.0 +revision=1 build_style=gnu-configure configure_args="--enable-cxx --without-x" hostmakedepends="automake libtool" makedepends="jbigkit-devel libjpeg-turbo-devel liblzma-devel libzstd-devel zlib-devel" short_desc="Library and tools for reading and writing TIFF data files" -maintainer="Orphaned " +maintainer="skmpz " license="libtiff" homepage="http://libtiff.maptools.org/" distfiles="http://download.osgeo.org/libtiff/tiff-${version}.tar.gz" -checksum=eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb +checksum=0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8 pre_configure() { autoreconf -fi From cbf533b96cda72aacdd22affd38243df18a592f4 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Fri, 23 Apr 2021 23:40:09 +0300 Subject: [PATCH 089/140] yoshimi: update to 2.0.1. --- srcpkgs/yoshimi/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/yoshimi/template b/srcpkgs/yoshimi/template index 64a6c9ad433..b836098f1c8 100644 --- a/srcpkgs/yoshimi/template +++ b/srcpkgs/yoshimi/template @@ -1,7 +1,7 @@ # Template file for 'yoshimi' pkgname=yoshimi -version=1.7.4 -revision=2 +version=2.0.1 +revision=1 build_wrksrc=src build_style=cmake configure_args="-DCMAKE_INSTALL_DATAROOTDIR=/usr/share" @@ -13,7 +13,7 @@ maintainer="Andrea Brancaleoni " license="GPL-2.0-or-later" homepage="https://yoshimi.github.io/" distfiles="https://github.com/Yoshimi/$pkgname/archive/$version.tar.gz" -checksum=27a8e33bda72aafae604e14841bed6373fc9e00ff70c98f1e13215d6a8808318 +checksum=b80a8b49bdf0e1f6c382627afc46c82d03219b7e45cdecd933e6fc046a939967 case "$XBPS_TARGET_MACHINE" in *-musl) makedepends+=" argp-standalone";; From 9a9f67304fa1547bc587a1a4295867596b85ed4d Mon Sep 17 00:00:00 2001 From: Anthony Iliopoulos Date: Sat, 24 Apr 2021 00:13:56 +0200 Subject: [PATCH 090/140] python3: remove obsolete --with-threads configure option Thread-less builds became unsupported in upstream commit a6a4dc816d68 ("bpo-31370: Remove support for threads-less builds (#3385)"), and as such this config option has been unrecognized since python3.7. --- srcpkgs/python3-tkinter/template | 2 +- srcpkgs/python3/template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-tkinter/template b/srcpkgs/python3-tkinter/template index d52b5cdb66e..bb0f962c486 100644 --- a/srcpkgs/python3-tkinter/template +++ b/srcpkgs/python3-tkinter/template @@ -47,7 +47,7 @@ do_configure() { fi ./configure ${configure_args} ${_args} \ --enable-shared --enable-ipv6 --enable-loadable-sqlite-extensions \ - --with-threads --with-computed-gotos --with-dbmliborder=gdbm:ndbm \ + --with-computed-gotos --with-dbmliborder=gdbm:ndbm \ --with-system-expat --with-system-ffi --without-ensurepip } diff --git a/srcpkgs/python3/template b/srcpkgs/python3/template index 223a28dc128..96a4a9dfd7e 100644 --- a/srcpkgs/python3/template +++ b/srcpkgs/python3/template @@ -48,7 +48,7 @@ do_configure() { fi ./configure ${configure_args} ${_args} \ --enable-shared --enable-ipv6 --enable-loadable-sqlite-extensions \ - --with-threads --with-computed-gotos --with-dbmliborder=gdbm:ndbm \ + --with-computed-gotos --with-dbmliborder=gdbm:ndbm \ --with-system-expat --with-system-ffi --without-ensurepip } From abc9e1fd71d0a0dc033512b0de94ea15a5085bb0 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 24 Apr 2021 00:35:56 +0300 Subject: [PATCH 091/140] inxi: update to 3.3.04. --- srcpkgs/inxi/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/inxi/template b/srcpkgs/inxi/template index 98b00dde339..87ebbdb9ff3 100644 --- a/srcpkgs/inxi/template +++ b/srcpkgs/inxi/template @@ -1,6 +1,6 @@ # Template file for 'inxi' pkgname=inxi -version=3.2.01 +version=3.3.04 revision=1 wrksrc="inxi-${version}-1" depends="dmidecode file glxinfo pciutils perl usbutils xdpyinfo xprop xrandr @@ -11,7 +11,7 @@ license="GPL-3.0-or-later" homepage="https://smxi.org/docs/inxi.htm" changelog="https://raw.githubusercontent.com/smxi/inxi/master/inxi.changelog" distfiles="https://github.com/smxi/inxi/archive/${version}-1.tar.gz" -checksum=5949170421249ef9c88abe577cca0487ad77195b8b0bea4a6ade1211efee85e5 +checksum=1f029f5f667e0396ab9f6ba2c51cf7937ea38bf504d1621a8c50e19205a7a671 do_install() { vbin inxi From 545078772f036f46aa36c6f7279cc853836de9a2 Mon Sep 17 00:00:00 2001 From: eater <=@eater.me> Date: Thu, 22 Apr 2021 14:19:28 +0200 Subject: [PATCH 092/140] terraform: update to 0.15.0 --- srcpkgs/terraform/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/terraform/template b/srcpkgs/terraform/template index b6c3a4e641e..ee187a2a91c 100644 --- a/srcpkgs/terraform/template +++ b/srcpkgs/terraform/template @@ -1,6 +1,6 @@ # Template file for 'terraform' pkgname=terraform -version=0.14.7 +version=0.15.0 revision=1 build_style=go go_import_path="github.com/hashicorp/$pkgname" @@ -9,4 +9,4 @@ maintainer="Andrea Brancaleoni " license="MPL-2.0" homepage="https://www.terraform.io/" distfiles="https://$go_import_path/archive/v$version.tar.gz" -checksum=8d411d067d35660f7e2622dacb5be87e108929321b6732c6770ec89ebe07231d +checksum=89e1d82ee6f02bb9c280f1d9ab0c0edc6061c4442bf43af0f4e4f1001730188e From ba1ac84a5e63a26af17dfe809d437b9b1de2d583 Mon Sep 17 00:00:00 2001 From: yopito Date: Sat, 24 Apr 2021 23:22:05 +0200 Subject: [PATCH 093/140] okteta: update to 0.26.6 --- .../patches/cmake.testing.working_dir.patch | 26 +++++++++++++++++++ srcpkgs/okteta/template | 6 ++--- 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/okteta/patches/cmake.testing.working_dir.patch diff --git a/srcpkgs/okteta/patches/cmake.testing.working_dir.patch b/srcpkgs/okteta/patches/cmake.testing.working_dir.patch new file mode 100644 index 00000000000..7a5dc935288 --- /dev/null +++ b/srcpkgs/okteta/patches/cmake.testing.working_dir.patch @@ -0,0 +1,26 @@ +upstream bug: https://bugs.kde.org/show_bug.cgi?id=436128 + +--- kasten/controllers/CMakeLists.txt.ORIG 2021-03-29 13:51:56.000000000 +0200 ++++ kasten/controllers/CMakeLists.txt 2021-04-24 23:12:17.358195447 +0200 +@@ -584,15 +584,12 @@ + LINK_LIBRARIES structureview-tested-srcs Qt5::Test poddecoder-typeeditors + ) + +- # remove useless default definition of QT_TESTCASE_BUILDDIR in interface from imported target Qt5::Test +- get_target_property(qttestdefs Qt5::Test INTERFACE_COMPILE_DEFINITIONS) +- list(FILTER qttestdefs EXCLUDE REGEX [[^QT_TESTCASE_BUILDDIR=]]) +- set_property(TARGET Qt5::Test PROPERTY INTERFACE_COMPILE_DEFINITIONS ${qttestdefs}) +- # set the definition as needed for our tests +- target_compile_definitions(customtostringtest PRIVATE QT_TESTCASE_BUILDDIR="${CMAKE_CURRENT_BINARY_DIR}") +- target_compile_definitions(jsparsertest PRIVATE QT_TESTCASE_BUILDDIR="${CMAKE_CURRENT_BINARY_DIR}") +- # TODO: still fragile once __FILE__ is neither absolute or full relative path to this build dir +- # look into using custom code intead of simple QFINDTESTDATA usage ++ # The tests below are using data files that are pointed via QFINDTESTDATA macro, ++ # that is related to cmake WORKING_DIRECTORY. WORKING_DIRECTORY points the current ++ # directory, while data files are stored in test/ subdirectory. ++ # So set WORKING_DIRECTORY correctly. ++ target_compile_definitions(customtostringtest PRIVATE WORKING_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}/test") ++ target_compile_definitions(jsparsertest PRIVATE WORKING_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}/test") + + #replace tool unit tests + ecm_add_test( diff --git a/srcpkgs/okteta/template b/srcpkgs/okteta/template index 6cef4e659fe..a8c011b8352 100644 --- a/srcpkgs/okteta/template +++ b/srcpkgs/okteta/template @@ -1,7 +1,7 @@ # Template file for 'okteta' pkgname=okteta reverts="4.14.3_1" -version=0.26.5 +version=0.26.6 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext python qt5-qmake qt5-host-tools @@ -13,9 +13,9 @@ checkdepends="AppStream" short_desc="Hexadecimal editor for binary files" maintainer="yopito " license="GPL-2.0-or-later, LGPL-2.1-or-later" -homepage="https://kde.org/applications/utilities/org.kde.okteta" +homepage="https://apps.kde.org/okteta/" distfiles="${KDE_SITE}/okteta/${version}/src/okteta-${version}.tar.xz" -checksum=9fc7edfff73e7b0583af540b0c052f9221ca3f11ea3fc3604c2bcedb09c29a97 +checksum=c569cd5b55503e46df1a5b5c9162b08888c426aa52c6f3f2f926c658bee0144c pre_check() { export QT_QPA_PLATFORM=offscreen From 2342012e9efa637fb4c29ad0ef611649867ceecc Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Tue, 20 Apr 2021 12:30:39 +0200 Subject: [PATCH 094/140] elogind: update to 246.10. --- srcpkgs/elogind/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/elogind/template b/srcpkgs/elogind/template index d4bfe499bc5..59824140e88 100644 --- a/srcpkgs/elogind/template +++ b/srcpkgs/elogind/template @@ -1,6 +1,6 @@ # Template file for 'elogind' pkgname=elogind -version=246.9.2 +version=246.10 revision=1 build_style=meson configure_args="-Dcgroup-controller=elogind -Dhalt-path=/usr/bin/halt @@ -17,7 +17,7 @@ maintainer="Enno Boland " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/elogind/elogind" distfiles="https://github.com/${pkgname}/${pkgname}/archive/v${version}.tar.gz" -checksum=dd2fcf22a89a078cad22e633d2f14a4cc9f4a9c8bae25c0e39fc4aec3e273bc9 +checksum=c490dc158c8f5bca8d00ecfcc7ad5af24d1c7b9e59990a0b3b1323996221a922 conf_files="/etc/elogind/*.conf" # tests fail differently due to containerization and kernel features make_check=extended From 2ca69e335bf2cf2e20fbd02ea9ac31591250fcd5 Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Sun, 25 Apr 2021 07:26:41 +0200 Subject: [PATCH 095/140] Revert "elogind: update to 246.10." This reverts commit 2342012e9efa637fb4c29ad0ef611649867ceecc. elogind breaks libseatd backend with this error message: 00:00:00.006 [ERROR] [wlr] [libseat] [libseat/backend/logind.c:267] Could not activate session: Permission denied --- srcpkgs/elogind/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/elogind/template b/srcpkgs/elogind/template index 59824140e88..72f4aa18f42 100644 --- a/srcpkgs/elogind/template +++ b/srcpkgs/elogind/template @@ -1,7 +1,8 @@ # Template file for 'elogind' pkgname=elogind -version=246.10 -revision=1 +reverts="246.10_1" +version=246.9.2 +revision=2 build_style=meson configure_args="-Dcgroup-controller=elogind -Dhalt-path=/usr/bin/halt -Drootlibexecdir=/usr/libexec/elogind -Dreboot-path=/usr/bin/reboot @@ -17,7 +18,7 @@ maintainer="Enno Boland " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/elogind/elogind" distfiles="https://github.com/${pkgname}/${pkgname}/archive/v${version}.tar.gz" -checksum=c490dc158c8f5bca8d00ecfcc7ad5af24d1c7b9e59990a0b3b1323996221a922 +checksum=dd2fcf22a89a078cad22e633d2f14a4cc9f4a9c8bae25c0e39fc4aec3e273bc9 conf_files="/etc/elogind/*.conf" # tests fail differently due to containerization and kernel features make_check=extended From c4ecb8adf50cf7e875e0d22745a304364c0bcdab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Sun, 25 Apr 2021 01:29:15 -0300 Subject: [PATCH 096/140] ZMusic: stop dlopening deps. Force it to link against libfluidsynth and libsndfile (which fixes a bug, because it only tried dlopening libfluidsynth.so.{1,2} and we ship .3). Also add mpg123 as a bonus and remove the unused openal (not mentioned at all) and gme (their version fixes bugs still present in upstream) deps. --- srcpkgs/ZMusic/template | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/srcpkgs/ZMusic/template b/srcpkgs/ZMusic/template index 3eb79a261c0..5d630d1aa3f 100644 --- a/srcpkgs/ZMusic/template +++ b/srcpkgs/ZMusic/template @@ -1,13 +1,11 @@ # Template file for 'ZMusic' pkgname=ZMusic version=1.1.6 -revision=1 +revision=2 build_style=cmake -configure_args="-DGME_INCLUDE_DIR=/usr/include -DGME_LIBRARIES=gme" +configure_args="-DDYN_SNDFILE=OFF -DDYN_FLUIDSYNTH=OFF -DDYN_MPG123=OFF" hostmakedepends="pkg-config" -makedepends="zlib-devel alsa-lib-devel libgme-devel libopenal-devel libsndfile-devel" -# these are dlopened -depends="libfluidsynth libopenal libsndfile" +makedepends="zlib-devel alsa-lib-devel libsndfile-devel fluidsynth-devel mpg123-devel" short_desc="GZDoom's music system" maintainer="Érico Nogueira " license="GPL-3.0-or-later" From 55d8c766df70e57fb14cfdd1d2e7ce67744884d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Sun, 25 Apr 2021 01:36:09 -0300 Subject: [PATCH 097/140] gzdoom: update to 4.5.0, adopt. Force linking to gtk and openal instead of dlopening. Clean up unused deps. Thanks nbm for initial update diff and prompting. --- srcpkgs/gzdoom/template | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/srcpkgs/gzdoom/template b/srcpkgs/gzdoom/template index 8ee85e03174..ce1204db0d0 100644 --- a/srcpkgs/gzdoom/template +++ b/srcpkgs/gzdoom/template @@ -1,23 +1,25 @@ # Template file for 'gzdoom' pkgname=gzdoom -version=4.4.2 +version=4.5.0 revision=1 -_tagdate=2020-06-16 +_tagdate=2021-10-31 +_widepix_commit=f4bb3541edd570cbccb58e5cdaba3dc0979208b9 wrksrc="${pkgname}-g${version}" build_style=cmake -configure_args="-DINSTALL_PK3_PATH=share/gzdoom" +configure_args="-DINSTALL_PK3_PATH=share/gzdoom -DDYN_GTK=OFF -DDYN_OPENAL=OFF" hostmakedepends="pkg-config tar xz" -makedepends="SDL2-devel gtk+3-devel fluidsynth-devel libgme-devel libgomp-devel - ppl-devel ZMusic-devel" -depends="gtk+3" +makedepends="SDL2-devel gtk+3-devel libgomp-devel ZMusic-devel libopenal-devel" short_desc="Advanced Doom source port with OpenGL support" -maintainer="Michael Straube " +maintainer="Érico Nogueira " license="GPL-3.0-or-later" homepage="https://www.zdoom.org" -distfiles="https://github.com/coelckers/${pkgname}/archive/g${version}.tar.gz - https://github.com/coelckers/${pkgname}/releases/download/g${version}/${pkgname}_${version}_amd64.deb" -checksum="d0ede9aefa8834b6d97a8a5336e57077475f43c297447f75b37550ee93010674 - ccff299967bd47c8154d3af835fe514df29fc0560831437074a4b5ada674e6ba" +# WARNING: watch out for new submodules +distfiles="https://github.com/coelckers/gzdoom/archive/g${version}.tar.gz + https://github.com/coelckers/gzdoom/releases/download/g${version}/gzdoom_${version}_amd64.deb + https://github.com/nashmuhandes/WidePix/archive/${_widepix_commit}.tar.gz" +checksum="21eb1a221dae532a6c29f243584be3d5454f8eb4da85a67e405115f89666611d + 2f07795728940fca07aa9771d5a8bb77f7764862b96cc5a4126a5b8db7a357b8 + e0b85ca089a3714968f56acc9525f352dbec14f15e88e0aef1cdece64c4f3cbf" skip_extraction="${pkgname}_${version}_amd64.deb" nocross=yes @@ -33,6 +35,11 @@ post_extract() { bsdtar xOf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}_${version}_amd64.deb data.tar.xz | tar --strip-components=4 -xJf - ./usr/share/{pixmaps/gzdoom.png,applications/gzdoom.desktop} + rmdir wadsrc_widescreen/static + mv ../WidePix-${_widepix_commit} wadsrc_widescreen/static +} + +post_patch() { vsed -e "s|GIT_DESCRIPTION|\"${version}\"|g" -i src/gitinfo.cpp vsed -e "s|VERSIONSTR|\"${version}\"|g" -i src/gitinfo.cpp vsed -e "s|GIT_TIME|\"${_tagdate}\"|g" -i src/gitinfo.cpp From bd67d62f0497b211f22e8221dac792fb0a759d14 Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Sun, 25 Apr 2021 11:51:14 +0200 Subject: [PATCH 098/140] wine: update to 6.7. --- srcpkgs/wine/patches/musl-ns_name_skip.patch | 4 ++-- srcpkgs/wine/template | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/srcpkgs/wine/patches/musl-ns_name_skip.patch b/srcpkgs/wine/patches/musl-ns_name_skip.patch index 3246959f9bb..9ddf5fd665e 100644 --- a/srcpkgs/wine/patches/musl-ns_name_skip.patch +++ b/srcpkgs/wine/patches/musl-ns_name_skip.patch @@ -1,7 +1,7 @@ diff --git a/dlls/dnsapi/libresolv.c b/dlls/dnsapi/libresolv.c index ac52147..0f8c2ef 100644 ---- wine-6.6/dlls/dnsapi/libresolv.c -+++ wine-6.6/dlls/dnsapi/libresolv.c +--- wine-6.7/dlls/dnsapi/libresolv.c ++++ wine-6.7/dlls/dnsapi/libresolv.c @@ -57,6 +57,43 @@ WINE_DEFAULT_DEBUG_CHANNEL(dnsapi); diff --git a/srcpkgs/wine/template b/srcpkgs/wine/template index 5b0d64f18e2..a88ba370500 100644 --- a/srcpkgs/wine/template +++ b/srcpkgs/wine/template @@ -1,6 +1,6 @@ # Template file for 'wine' pkgname=wine -version=6.6 +version=6.7 revision=1 _pkgver=${version/r/-r} create_wrksrc=yes @@ -13,8 +13,8 @@ license="LGPL-2.1-or-later" homepage="http://www.winehq.org/" distfiles="https://dl.winehq.org/wine/source/${version%.*}.x/wine-${_pkgver}.tar.xz https://github.com/wine-staging/wine-staging/archive/v${_pkgver}.tar.gz" -checksum="99e522c6dcc0ac1d53d201bf3054891fdf11864257473c3eb341e37671fd84ad - c3fbcce35388b917981d72533d7d66ccc57b2b1e5af01435af0cb9b054744206" +checksum="c30514b7761d4611514ae021cb1e354128d77eff54a283f1401ee702277bbea4 + e539bde0f7ffcb9f70c5474f0f397bdbbc3b48a1922d2abf0a32dc2d6f994694" build_options="mingw staging" build_options_default="mingw" From 934399ec7cd848749cc5df14d81124a60b8fde9b Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Sun, 25 Apr 2021 11:52:47 +0200 Subject: [PATCH 099/140] gscan2pdf: update to 2.12.1. --- srcpkgs/gscan2pdf/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gscan2pdf/template b/srcpkgs/gscan2pdf/template index cbd28388243..9c137da14b8 100644 --- a/srcpkgs/gscan2pdf/template +++ b/srcpkgs/gscan2pdf/template @@ -1,6 +1,6 @@ # Template file for 'gscan2pdf'. pkgname=gscan2pdf -version=2.12.0 +version=2.12.1 revision=1 build_style=perl-module hostmakedepends="perl gettext" @@ -16,7 +16,7 @@ maintainer="Helmut Pozimski " license="GPL-3.0-or-later" homepage="http://gscan2pdf.sourceforge.net" distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.xz" -checksum=a3c4666546e1a6346c906a24d547833f2293c7d3a3663f48daa1ec7c9539d103 +checksum=e5c10a9e695674308d29fe8661c5bb7230e25dfbc098716c26a3188ef1e54074 nocross=yes do_check() { From 285c72a5a4b1124c21b8196ca323c3ae5523c32a Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Sun, 25 Apr 2021 11:56:12 +0200 Subject: [PATCH 100/140] linux5.4: update to 5.4.114. --- srcpkgs/linux5.4/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/linux5.4/template b/srcpkgs/linux5.4/template index 7393717ae68..b1e8f6aeafc 100644 --- a/srcpkgs/linux5.4/template +++ b/srcpkgs/linux5.4/template @@ -1,6 +1,6 @@ # Template file for 'linux5.4' pkgname=linux5.4 -version=5.4.113 +version=5.4.114 revision=1 wrksrc="linux-${version}" short_desc="Linux kernel and modules (${version%.*} series)" @@ -8,7 +8,7 @@ maintainer="Helmut Pozimski " license="GPL-2.0-only" homepage="https://www.kernel.org" distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz" -checksum=30cde92463c474b75f9eb197654570dd6dbb32ec20695544c5469f292662da47 +checksum=be98f087cb58f23bc5edb8ee80a4794a569d48049d75b1a8eaef9f80fede9557 python_version=3 patch_args="-Np1" From 26552f4f24f430ff916acae8f2ac125cf7fb5d52 Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Sun, 25 Apr 2021 12:00:19 +0200 Subject: [PATCH 101/140] libkdcraw5: update to 20.04.0. --- srcpkgs/libkdcraw5/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libkdcraw5/template b/srcpkgs/libkdcraw5/template index dcdac192107..34a2e432eee 100644 --- a/srcpkgs/libkdcraw5/template +++ b/srcpkgs/libkdcraw5/template @@ -1,6 +1,6 @@ # Template file for 'libkdcraw5' pkgname=libkdcraw5 -version=20.12.3 +version=20.04.0 revision=1 wrksrc="libkdcraw-${version}" build_style=cmake @@ -12,7 +12,7 @@ maintainer="Helmut Pozimski " license="GPL-2.0-or-later" homepage="https://www.kde.org/applications/graphics/" distfiles="${KDE_SITE}/release-service/${version}/src/libkdcraw-${version}.tar.xz" -checksum=4f12042ea57547cf03d5c82c5adb31b8df3c6b7c6b0fd4eb195885f109c88def +checksum=a8abe962fc739abcc2efeb97472a366c6c3c47b7398e61660e71febe9aedfe5a libkdcraw5-devel_package() { depends="${sourcepkg}>=${version}_${revision}" From 259dcb7a60e3e053d2677900760eb887e8013d62 Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Sun, 25 Apr 2021 12:47:39 +0200 Subject: [PATCH 102/140] gwenview: update to 20.04.0. --- srcpkgs/gwenview/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gwenview/template b/srcpkgs/gwenview/template index 30718e233b4..b771d3e490a 100644 --- a/srcpkgs/gwenview/template +++ b/srcpkgs/gwenview/template @@ -1,6 +1,6 @@ # Template file for 'gwenview' pkgname=gwenview -version=20.12.3 +version=20.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules pkg-config qt5-qmake qt5-host-tools @@ -14,7 +14,7 @@ maintainer="Helmut Pozimski " license="GPL-2.0-or-later" homepage="https://www.kde.org/applications/graphics/gwenview" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=68234a515f0870c295020a4a7495f42e785e4ad1cce536c77f108a41561b41a2 +checksum=420671703565f5d2824d430589cd104e6030fd2ffd13ba6453af92d897c9a574 patch_args="-Np1" pre_configure() { From 5295577e7ca90d306de2d259fe239d2b37be0373 Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Sun, 25 Apr 2021 12:52:10 +0200 Subject: [PATCH 103/140] lxqt-powermanagement: update to 0.17.1. --- srcpkgs/lxqt-powermanagement/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/lxqt-powermanagement/template b/srcpkgs/lxqt-powermanagement/template index 827218fc19f..e68666dddab 100644 --- a/srcpkgs/lxqt-powermanagement/template +++ b/srcpkgs/lxqt-powermanagement/template @@ -1,6 +1,6 @@ # Template file for 'lxqt-powermanagement' pkgname=lxqt-powermanagement -version=0.17.0 +version=0.17.1 revision=1 build_style=cmake hostmakedepends="lxqt-build-tools qt5-qmake qt5-host-tools perl" @@ -10,4 +10,4 @@ maintainer="Helmut Pozimski " license="LGPL-2.1-or-later" homepage="https://lxqt.org/" distfiles="https://github.com/lxqt/lxqt-powermanagement/releases/download/${version}/lxqt-powermanagement-${version}.tar.xz" -checksum=b74abdc3294c109e3cd2316ae2fbea305a799141e225c5e1a229920f295690b1 +checksum=93e14720571c6c9f30abb507df3cf0249e69824c0ca374fefd1f688614ead202 From e2c66b105f28c667da391ebe01256a0b15924522 Mon Sep 17 00:00:00 2001 From: Domenico Panella Date: Sun, 25 Apr 2021 11:51:13 +0200 Subject: [PATCH 104/140] dolphin-plugins: update to 21.04.0 --- srcpkgs/dolphin-plugins/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dolphin-plugins/template b/srcpkgs/dolphin-plugins/template index 26452a19baa..415a419f040 100644 --- a/srcpkgs/dolphin-plugins/template +++ b/srcpkgs/dolphin-plugins/template @@ -1,6 +1,6 @@ # Template file for 'dolphin-plugins' pkgname=dolphin-plugins -version=20.12.3 +version=21.04.0 revision=1 build_style=cmake hostmakedepends="extra-cmake-modules gettext qt5-qmake qt5-host-tools kcoreaddons kconfig" @@ -10,4 +10,4 @@ maintainer="Domenico Panella " license="GPL-2.0-or-later" homepage="https://kde.org/applications/en/system/org.kde.dolphin_plugins" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=fcb2ca9acf2ef3b7aaa8d5bf66920fc79983952cda7223416d172802ad9a5e80 +checksum=9fb395bfc62b726a4feae87b89d97294262cdadbeadf69706d7f314b1ff488d2 From 8ade716d56aa24052c27fd37c91c0ce352af0ec2 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sun, 25 Apr 2021 14:02:44 +0200 Subject: [PATCH 105/140] wireguard-dkms: update to 1.0.20210424. --- srcpkgs/wireguard-dkms/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/wireguard-dkms/template b/srcpkgs/wireguard-dkms/template index 48b237c4537..f80865965f4 100644 --- a/srcpkgs/wireguard-dkms/template +++ b/srcpkgs/wireguard-dkms/template @@ -1,6 +1,6 @@ # Template file for 'wireguard-dkms' pkgname=wireguard-dkms -version=1.0.20210219 +version=1.0.20210424 revision=1 wrksrc="wireguard-linux-compat-${version}" build_wrksrc="src" @@ -10,7 +10,7 @@ maintainer="Leah Neukirchen " license="GPL-2.0-only" homepage="https://www.wireguard.com/" distfiles="https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz" -checksum=99d35296b8d847a0d4db97a4dda96b464311a6354e75fe0bef6e7c4578690f00 +checksum=8839139a53733bd20602e39cfc679a8176747dae8fe9f9c7fce28f8fba71abde dkms_modules="wireguard ${version}" From 232a9dfceab1f33393dcb51fcd454ff80201a186 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sun, 25 Apr 2021 14:04:01 +0200 Subject: [PATCH 106/140] wireguard-tools: update to 1.0.20210424. --- srcpkgs/wireguard-tools/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/wireguard-tools/template b/srcpkgs/wireguard-tools/template index a089ff234b1..fdff0618751 100644 --- a/srcpkgs/wireguard-tools/template +++ b/srcpkgs/wireguard-tools/template @@ -1,6 +1,6 @@ # Template file for 'wireguard-tools' pkgname=wireguard-tools -version=1.0.20210315 +version=1.0.20210424 revision=1 build_wrksrc="src" build_style=gnu-makefile @@ -11,7 +11,7 @@ maintainer="Leah Neukirchen " license="GPL-2.0-only" homepage="https://www.wireguard.com/" distfiles="https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz" -checksum=af001d5492be6bf58ef0bebe04b446b6f50eb53e1226fab679cc34af40733a22 +checksum=b288b0c43871d919629d7e77846ef0b47f8eeaa9ebc9cedeee8233fc6cc376ad make_dirs="/etc/wireguard 0700 root root" post_extract() { From b16ce553434d7058ea718b0a43b33701ab35a1be Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sun, 25 Apr 2021 14:05:45 +0200 Subject: [PATCH 107/140] scite: update to 5.0.2. --- srcpkgs/scite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/scite/template b/srcpkgs/scite/template index e56284d0f4f..5ea146beafb 100644 --- a/srcpkgs/scite/template +++ b/srcpkgs/scite/template @@ -1,6 +1,6 @@ # Template file for 'scite' pkgname=scite -version=5.0.1 +version=5.0.2 revision=1 create_wrksrc=yes hostmakedepends="pkg-config" @@ -10,7 +10,7 @@ maintainer="Leah Neukirchen " license="MIT" homepage="https://www.scintilla.org/SciTEDownload.html" distfiles="https://www.scintilla.org/scite${version//./}.tgz" -checksum=6d5d7b9caa895a3b72245e4b7459a678b9325d497c28bc92bc92f21fd65329b7 +checksum=56dd05fccc199bd8853f3554dab0c9909a0bacb1bf8122c4ddf3b812527ec202 post_extract() { sed -i 's/gthread-2.0/& lua/' scite/gtk/makefile From e4a92bcda18fc58ced62396108ee38da31058da9 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 24 Apr 2021 11:18:26 -0400 Subject: [PATCH 108/140] xpra: update to 4.1.3. --- srcpkgs/xpra/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template index 302effb9ded..a67db644e15 100644 --- a/srcpkgs/xpra/template +++ b/srcpkgs/xpra/template @@ -1,6 +1,6 @@ # Template file for 'xpra' pkgname=xpra -version=4.1.2 +version=4.1.3 revision=1 build_style=python3-module make_install_args="$(vopt_with docs)" @@ -17,7 +17,7 @@ license="GPL-2.0-or-later" homepage="https://xpra.org/" changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md" distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz" -checksum=2b7b05ec77ee0c16a8312e231d8429699b5b2aada7b549c72f5521a5f8563dfe +checksum=1afaec02bb283361b4b9b0902726612d14d1a25ea9bca913e448a3190f7c6dca conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*" system_groups="xpra" From 97b2198afa35b8848bdd67aab2292a6624d842aa Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 24 Apr 2021 11:20:03 -0400 Subject: [PATCH 109/140] python3-pytools: update to 2021.2.5. --- srcpkgs/python3-pytools/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-pytools/template b/srcpkgs/python3-pytools/template index e1c2bd5f80d..dcff9324826 100644 --- a/srcpkgs/python3-pytools/template +++ b/srcpkgs/python3-pytools/template @@ -1,6 +1,6 @@ # Template file for 'python3-pytools' pkgname=python3-pytools -version=2021.2.3 +version=2021.2.5 revision=1 wrksrc=${pkgname#*-}-${version} build_style=python3-module @@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford " license="X11" homepage="https://pypi.org/project/pytools" distfiles="${PYPI_SITE}/p/pytools/pytools-${version}.tar.gz" -checksum=5f953063afe8218ef42d71dd461ce8f9587899ea561db19c64f2701a08eee57e +checksum=a96eae85aad86fe63cefa06e6cd9f6dcf8e85bd9aab0fd00b7f381a6366c5776 post_install() { vlicense LICENSE From 19765879034e1c8eb4b711b3c36acc04655691c0 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 24 Apr 2021 11:28:03 -0400 Subject: [PATCH 110/140] python3-hypothesis: update to 6.10.0. --- srcpkgs/python3-hypothesis/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-hypothesis/template b/srcpkgs/python3-hypothesis/template index f66e8e3ddc1..b30cf143d99 100644 --- a/srcpkgs/python3-hypothesis/template +++ b/srcpkgs/python3-hypothesis/template @@ -1,6 +1,6 @@ # Template file for 'python3-hypothesis' pkgname=python3-hypothesis -version=6.9.0 +version=6.10.0 revision=1 wrksrc="hypothesis-hypothesis-python-${version}" build_wrksrc=hypothesis-python @@ -15,7 +15,7 @@ license="MPL-2.0" homepage="https://hypothesis.works/" changelog="https://hypothesis.readthedocs.io/en/latest/changes.html" distfiles="https://github.com/HypothesisWorks/hypothesis/archive/hypothesis-python-${version}.tar.gz" -checksum=c44ee0355477012d4fad8650aff95bfcb6346a21ea8248010ee915c30eff462a +checksum=26e01da7c57768e0c3a69bac6789a505a69fe1f4696953c587d827806108c931 do_check() { # Manually run the tests that tox considers part of the "full" suite, From fe6bdca2673d8582a0e188d54e76cf62e793043e Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 24 Apr 2021 11:30:40 -0400 Subject: [PATCH 111/140] python3-breathe: update to 4.29.1. --- srcpkgs/python3-breathe/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-breathe/template b/srcpkgs/python3-breathe/template index 2c041b141f2..59f8adea7cc 100644 --- a/srcpkgs/python3-breathe/template +++ b/srcpkgs/python3-breathe/template @@ -1,6 +1,6 @@ # Template file for 'python3-breathe' pkgname=python3-breathe -version=4.29.0 +version=4.29.1 revision=1 wrksrc="breathe-${version}" build_style=python3-module @@ -14,7 +14,7 @@ license="BSD-3-Clause" homepage="https://github.com/michaeljones/breathe" changelog="https://raw.githubusercontent.com/michaeljones/breathe/master/README.rst" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=5fc965cfd248c01909a4ba78f3d7130d85e08b6f373b5224f4fc682cbfd760b4 +checksum=72cf9ade88f3e9163e0730e4089fde7b92464f691d29250019983457a977df44 post_install() { vlicense LICENSE From 4b0068232c56e3164b47700d48ddf1455fc8d5fe Mon Sep 17 00:00:00 2001 From: John Date: Sat, 24 Apr 2021 14:59:32 +0200 Subject: [PATCH 112/140] electron10: update to 10.4.3. --- .../files/patches/electron-exclude-content-test-patches.patch | 2 +- srcpkgs/electron10/template | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/electron10/files/patches/electron-exclude-content-test-patches.patch b/srcpkgs/electron10/files/patches/electron-exclude-content-test-patches.patch index ccc17a0f303..45622364427 100644 --- a/srcpkgs/electron10/files/patches/electron-exclude-content-test-patches.patch +++ b/srcpkgs/electron10/files/patches/electron-exclude-content-test-patches.patch @@ -4,7 +4,7 @@ for patch_dir, repo in dirs.items(): git.import_patches(repo=repo, patch_data=patch_from_dir(patch_dir), threeway=threeway is not None, -+ exclude=['test/mjsunit/**', 'content/test/**', 'test/cctest/**', 'test/unittests/**'], ++ exclude=['test/mjsunit/**', 'content/test/**', 'test/cctest/**', 'test/unittests/**', 'third_party/blink/web_tests/**'], committer_name="Electron Scripts", committer_email="scripts@electron") diff --git a/srcpkgs/electron10/template b/srcpkgs/electron10/template index aecda9043c4..66f1c7cad0b 100644 --- a/srcpkgs/electron10/template +++ b/srcpkgs/electron10/template @@ -1,6 +1,6 @@ # Template file for 'electron10' pkgname=electron10 -version=10.4.0 +version=10.4.3 _nodever=12.16.3 _chromiumver=85.0.4183.121 revision=1 @@ -30,7 +30,7 @@ homepage="https://electronjs.org" distfiles="https://github.com/electron/electron/archive/v$version.tar.gz>electron-${version}.tar.gz https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$_chromiumver.tar.xz https://github.com/nodejs/node/archive/v$_nodever.tar.gz>node-$_nodever.tar.gz" -checksum="83dfdc6921ab0263c08168536570720b19eb251a1655715fc5b9b100efecde38 +checksum="8482357505daee86201c147c268ac073db44c3b5474e8e223431535186f60892 e018547e54566410fb365d9f3dae10037c30fca5debe6ba8baceef3ad3b03d28 dcd0a1e619ff326399ca8fd87f61c255f4d1e9bff47860064993f01e4ff37fe1" From ff430634cb4438fb20d15e55c1ff8c1d347b9b70 Mon Sep 17 00:00:00 2001 From: FollieHiyuki Date: Sun, 25 Apr 2021 17:47:04 +0300 Subject: [PATCH 113/140] lmdb: update to 0.9.28 --- srcpkgs/lmdb/template | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/srcpkgs/lmdb/template b/srcpkgs/lmdb/template index 2dd36d13f5a..61f1b8a6075 100644 --- a/srcpkgs/lmdb/template +++ b/srcpkgs/lmdb/template @@ -1,6 +1,6 @@ # Template file for 'lmdb' pkgname=lmdb -version=0.9.24 +version=0.9.28 revision=1 wrksrc="lmdb-LMDB_${version}" short_desc="Lightning Memory-Mapped Database Manager" @@ -8,11 +8,8 @@ maintainer="Orphaned " license="OLDAP-2.8" homepage="http://symas.com/mdb/" distfiles="https://github.com/LMDB/lmdb/archive/LMDB_${version}.tar.gz" -checksum=44602436c52c29d4f301f55f6fd8115f945469b868348e3cddaf91ab2473ea26 +checksum=47457d3d3ae2c489b52078a07e9f55ec6e094b48c2204029c7754e2972fe1882 -post_extract() { - sed -i 's,man/man1,share/&,' libraries/liblmdb/Makefile -} do_build() { cd libraries/liblmdb make ${makejobs} XCFLAGS="$CFLAGS" CC="$CC" From 7bec508cab92af947174b54df5a62b490e449818 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sun, 25 Apr 2021 09:57:01 -0400 Subject: [PATCH 114/140] python3-pip: update to 21.1. Install entrypoint script as `pip3` and make `pip` a symlink. Closes #30075. --- .../patches/no-versioned-pip.patch | 24 +++++++++---------- srcpkgs/python3-pip/template | 11 ++++----- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/srcpkgs/python3-pip/patches/no-versioned-pip.patch b/srcpkgs/python3-pip/patches/no-versioned-pip.patch index b3a50bb2c13..7fb56fda667 100644 --- a/srcpkgs/python3-pip/patches/no-versioned-pip.patch +++ b/srcpkgs/python3-pip/patches/no-versioned-pip.patch @@ -1,13 +1,11 @@ ---- setup.py.orig 2021-01-30 17:47:39.874134606 -0500 -+++ setup.py 2021-01-30 17:47:54.435139352 -0500 -@@ -74,10 +74,6 @@ - entry_points={ - "console_scripts": [ - "pip=pip._internal.cli.main:main", -- "pip{}=pip._internal.cli.main:main".format(sys.version_info[0]), -- "pip{}.{}=pip._internal.cli.main:main".format( -- *sys.version_info[:2] -- ), - ], - }, - +--- setup.py ++++ setup.py +@@ -70,8 +70,6 @@ + entry_points={ + "console_scripts": [ +- "pip=pip._internal.cli.main:main", + "pip{}=pip._internal.cli.main:main".format(sys.version_info[0]), +- "pip{}.{}=pip._internal.cli.main:main".format(*sys.version_info[:2]), + ], + }, + zip_safe=False, diff --git a/srcpkgs/python3-pip/template b/srcpkgs/python3-pip/template index d0a3a1d7516..0e885d68f04 100644 --- a/srcpkgs/python3-pip/template +++ b/srcpkgs/python3-pip/template @@ -1,6 +1,6 @@ # Template file for 'python3-pip' pkgname=python3-pip -version=21.0.1 +version=21.1 revision=1 wrksrc="pip-${version}" build_style=python3-module @@ -12,12 +12,11 @@ license="MIT" homepage="https://pip.pypa.io/" changelog="https://raw.githubusercontent.com/pypa/pip/master/NEWS.rst" distfiles="${PYPI_SITE}/p/pip/pip-${version}.tar.gz" -checksum=99bbde183ec5ec037318e774b0d8ae0a64352fe53b2c7fd630be1d07e94f41e5 - -do_check() { - : tests have unpackaged dependencies -} +checksum=a810bf07c3723a28621c29abe8e34429fa082c337f89aea9a795865416b66d3e +# Tests have unpackaged dependencies +make_check=no post_install() { vlicense LICENSE.txt + ln -s pip3 "${DESTDIR}/usr/bin/pip" } From b11089afa9673b70731b3ed7cca17779c1cddb9f Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sun, 25 Apr 2021 10:05:04 -0400 Subject: [PATCH 115/140] python3-setuptools: update to 56.0.0. --- srcpkgs/python3-setuptools/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-setuptools/template b/srcpkgs/python3-setuptools/template index 07655e0d2f3..9eef05df33e 100644 --- a/srcpkgs/python3-setuptools/template +++ b/srcpkgs/python3-setuptools/template @@ -1,6 +1,6 @@ # Template file for 'python3-setuptools' pkgname=python3-setuptools -version=54.1.1 +version=56.0.0 revision=1 wrksrc="setuptools-${version}" build_style=python3-module @@ -12,7 +12,7 @@ license="MIT" homepage="https://github.com/pypa/setuptools" changelog="https://raw.githubusercontent.com/pypa/setuptools/master/CHANGES.rst" distfiles="${PYPI_SITE}/s/setuptools/setuptools-${version}.tar.gz" -checksum=1ce82798848a978696465866bb3aaab356003c42d6143e1111fcf069ac838274 +checksum=08a1c0f99455307c48690f00d5c2ac2c1ccfab04df00454fef854ec145b81302 provides="python3-distribute-${version}_1" replaces="python3-distribute>=0" # Tests rely on jaraco.path, which relies on singledispatch, both unpackaged; From 7feedc1b57b6cef87eeddc2a9518972df73f28b0 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sun, 25 Apr 2021 10:11:26 -0400 Subject: [PATCH 116/140] python3-networkx: update to 2.5.1. --- srcpkgs/python3-networkx/template | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/srcpkgs/python3-networkx/template b/srcpkgs/python3-networkx/template index e0c7b03fe59..2e132b43257 100644 --- a/srcpkgs/python3-networkx/template +++ b/srcpkgs/python3-networkx/template @@ -1,7 +1,7 @@ # Template file for 'python3-networkx' pkgname=python3-networkx -version=2.5 -revision=2 +version=2.5.1 +revision=1 wrksrc="networkx-${version}" build_style=python3-module hostmakedepends="python3-setuptools unzip" @@ -12,11 +12,7 @@ maintainer="Peter Bui " license="BSD-3-Clause" homepage="https://networkx.github.io/" distfiles="${PYPI_SITE}/n/networkx/networkx-${version}.tar.gz" -checksum=7978955423fbc9639c10498878be59caf99b44dc304c2286162fd24b458c1602 - -do_check() { - pytest -} +checksum=109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a post_install() { vlicense LICENSE.txt From cd3e2c56bc2eccbd3f8a837d29fa00656b7708e8 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sun, 25 Apr 2021 10:20:26 -0400 Subject: [PATCH 117/140] python-Cython: update to 0.29.23. --- srcpkgs/python-Cython/template | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/srcpkgs/python-Cython/template b/srcpkgs/python-Cython/template index 00c790ce5d3..fe4a8c9d5c7 100644 --- a/srcpkgs/python-Cython/template +++ b/srcpkgs/python-Cython/template @@ -1,7 +1,7 @@ # Template file for 'python-Cython' pkgname=python-Cython -version=0.29.22 -revision=3 +version=0.29.23 +revision=1 wrksrc="Cython-${version}" build_style=python-module hostmakedepends="python-setuptools python3-setuptools" @@ -13,7 +13,9 @@ license="Apache-2.0" homepage="https://cython.org/" changelog="https://raw.githubusercontent.com/cython/cython/master/CHANGES.rst" distfiles="${PYPI_SITE}/C/Cython/Cython-${version}.tar.gz" -checksum=df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406 +checksum=6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e +# Tests are flaky +make_check=no alternatives=" cython:cygdb:/usr/bin/cygdb2 From 8ed491255e07d1644a0afa0a1c6c26a123abfa07 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sun, 25 Apr 2021 10:21:56 -0400 Subject: [PATCH 118/140] python3-pandas: update to 1.2.4. --- srcpkgs/python3-pandas/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template index c8a7de702c0..1416f2d2bcc 100644 --- a/srcpkgs/python3-pandas/template +++ b/srcpkgs/python3-pandas/template @@ -1,6 +1,6 @@ # Template file for 'python3-pandas' pkgname=python3-pandas -version=1.2.3 +version=1.2.4 revision=1 wrksrc="pandas-${version}" build_style=python3-module @@ -14,7 +14,7 @@ license="BSD-3-Clause" homepage="https://pandas.pydata.org/" changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html" distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz" -checksum=89df1a3cabd86e5dd3c7a5fdd7ec5338b2613e7a7d60f30254a4e7b08902dade +checksum=544aac5ad33db4fcb091f9b99603e30c049fc4c3622949c1c807d597eceb82bb pre_build() { # setup.py allows a -j argument to parallelize builds From afc21c7ec221a50c8f63f5079a7b27c439abcbc3 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sun, 25 Apr 2021 11:31:18 -0400 Subject: [PATCH 119/140] Solaar: update to 1.0.6. --- srcpkgs/Solaar/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/Solaar/template b/srcpkgs/Solaar/template index 718e672cb21..393cede0f0a 100644 --- a/srcpkgs/Solaar/template +++ b/srcpkgs/Solaar/template @@ -1,6 +1,6 @@ # Template file for 'Solaar' pkgname=Solaar -version=1.0.5 +version=1.0.6 revision=1 build_style=python3-module hostmakedepends="python3-setuptools" @@ -10,6 +10,6 @@ maintainer="Young Jin Park " license="GPL-3.0-or-later" homepage="https://pwr-solaar.github.io/Solaar/" distfiles="https://github.com/pwr-Solaar/Solaar/archive/${version}.tar.gz" -checksum=6514f278da3f3a96dda6f254b786a2b106e1a5c20e0c20e61c8273b3e5c33973 +checksum=fb879136911978f8f0183262a86f2b47a50b1816516599ae9a6681ad1d9a4e49 # Package provides no tests make_check=no From 0d219464e548224188fb58e85cde01442e05a96a Mon Sep 17 00:00:00 2001 From: Peter Bui Date: Fri, 23 Apr 2021 22:36:25 -0400 Subject: [PATCH 120/140] chromium: update to 90.0.4430.85. - Built for x86_64, x86_64-musl. - Tested on x86_64. --- srcpkgs/chromium/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 75b1c48613b..3276f5b667d 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,7 +1,7 @@ # Template file for 'chromium' pkgname=chromium # See http://www.chromium.org/developers/calendar for the latest version -version=90.0.4430.72 +version=90.0.4430.85 revision=1 archs="i686* x86_64* aarch64* armv7l* ppc64le*" short_desc="Google's attempt at creating a safer, faster, and more stable browser" @@ -9,7 +9,7 @@ maintainer="Enno Boland " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=a5cc88ca8fffac21ec4d1646980f698dfb6f388a225dd7a2c5a3d252a4098943 +checksum=01c5594d4b7eaa67e00b4fa16ae0c9d35ec5917467abd387ba1b5cc332d44922 nocross=yes lib32disabled=yes From e1a3a69e21e09edf8246cdab4131f1d2bb7202c7 Mon Sep 17 00:00:00 2001 From: Peter Bui Date: Sat, 24 Apr 2021 09:54:14 -0400 Subject: [PATCH 121/140] chromium-widevine: update to 90.0.4430.85. --- srcpkgs/chromium-widevine/INSTALL | 2 +- srcpkgs/chromium-widevine/template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/chromium-widevine/INSTALL b/srcpkgs/chromium-widevine/INSTALL index fed7323d9db..3f5b65d3fc6 100644 --- a/srcpkgs/chromium-widevine/INSTALL +++ b/srcpkgs/chromium-widevine/INSTALL @@ -1,6 +1,6 @@ # INSTALL -checksum=43f141970ab61d9c5a993dcf094625d9a7a1d24212a3c2443e7092b40c3a354c +checksum=39de976ede3d759fd696e59bd7ac3447093ab67b65972a41caa557edbee12952 _baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable" _filename="google-chrome-stable_${VERSION%_*}-1_amd64.deb" DISTFILE="${_baseUrl}/${_filename}" diff --git a/srcpkgs/chromium-widevine/template b/srcpkgs/chromium-widevine/template index cac7cca3dd5..c8b624d2819 100644 --- a/srcpkgs/chromium-widevine/template +++ b/srcpkgs/chromium-widevine/template @@ -6,7 +6,7 @@ _chromeVersion="current" _channel="stable" pkgname=chromium-widevine -version=90.0.4430.72 +version=90.0.4430.85 revision=1 archs="x86_64" create_wrksrc=yes From f061f4eebf7120781cd6c798522379a3f2691bb4 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 22 Apr 2021 21:54:34 +0300 Subject: [PATCH 122/140] qt5ct: update to 1.2. --- srcpkgs/qt5ct/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/qt5ct/template b/srcpkgs/qt5ct/template index 02f6e9442fe..3cd4cf71343 100644 --- a/srcpkgs/qt5ct/template +++ b/srcpkgs/qt5ct/template @@ -1,6 +1,6 @@ # Template file for 'qt5ct' pkgname=qt5ct -version=1.1 +version=1.2 revision=1 build_style=qmake hostmakedepends="qt5-qmake qt5-tools qt5-host-tools" @@ -11,7 +11,7 @@ maintainer="Yuusha Spacewolf " license="BSD-2-Clause" homepage="https://sourceforge.net/projects/qt5ct/" distfiles="${SOURCEFORGE_SITE}/project/qt5ct/qt5ct-${version}.tar.bz2" -checksum=af77c4dbf7f9ba97fe0218648167395bca7bcb2b9c1886a9c98b1e343127ddd2 +checksum=1de3f06e6d5d0746bf19a949e56cc04b53bdbc18294f38cb20759f35006b872e post_install() { vlicense COPYING From e21739642cfed8b8797fe1d53ed13e6586ef7bad Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 22 Apr 2021 22:39:52 +0300 Subject: [PATCH 123/140] hydrogen: update to 1.0.2. --- srcpkgs/hydrogen/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/hydrogen/template b/srcpkgs/hydrogen/template index 2f4005fd125..f2ee7cca705 100644 --- a/srcpkgs/hydrogen/template +++ b/srcpkgs/hydrogen/template @@ -1,6 +1,6 @@ # Template file for 'hydrogen' pkgname=hydrogen -version=1.0.1 +version=1.0.2 revision=1 build_style=cmake # Our flags has -g already, DEBUG=ON will add -O0 @@ -15,7 +15,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="http://www.hydrogen-music.org/" distfiles="https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz" -checksum=de6e8ba259ff340037f24e80f8b34592138603b080b02cfa3214ef9b0d66ac63 +checksum=de1ce64da8ae7a84d7fbd789e84010d6a837378bc9811acb282c30b9ee8042f5 post_patch() { vsed -i '/INSTALL/s,"data,"/usr/share/hydrogen/data,' \ From 859f4a7208bf944a06d0d234a57cc0053dd00902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= Date: Sun, 25 Apr 2021 18:54:35 +0200 Subject: [PATCH 124/140] gcsf: update to 0.1.28. --- srcpkgs/gcsf/template | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/srcpkgs/gcsf/template b/srcpkgs/gcsf/template index 7d4cc54bb19..201c3cbd299 100644 --- a/srcpkgs/gcsf/template +++ b/srcpkgs/gcsf/template @@ -1,7 +1,7 @@ # Template file for 'gcsf' pkgname=gcsf -version=0.1.25 -revision=4 +version=0.1.28 +revision=1 build_style=cargo hostmakedepends="pkg-config" makedepends="fuse-devel openssl-devel" @@ -10,16 +10,7 @@ maintainer="Benjamín Albiñana " license="MIT" homepage="https://github.com/harababurel/gcsf" distfiles="https://github.com/harababurel/gcsf/archive/${version}.tar.gz" -checksum=10d2d612da4e6738d10744dd4e22acdf7a94cf492c71e079e6cf52112f761187 - -case "$XBPS_TARGET_MACHINE" in - aarch64-musl) broken="https://github.com/nix-rust/nix/issues/951" ;; -esac - -pre_build() { - cargo update --package openssl-sys --precise 0.9.58 - cargo update --package openssl --precise 0.10.22 -} +checksum=8bc7f94630eefda55ac8851a4071d7782385b711ea8f6313e2e64be05f686592 post_install() { vlicense LICENSE From 9b839802fdaabb8b2d3884a63458e028111fdab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= Date: Sun, 25 Apr 2021 18:05:26 +0200 Subject: [PATCH 125/140] exiftool: update to 12.25. --- srcpkgs/exiftool/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/exiftool/template b/srcpkgs/exiftool/template index b8bf1d7970e..13f2008dbef 100644 --- a/srcpkgs/exiftool/template +++ b/srcpkgs/exiftool/template @@ -1,6 +1,6 @@ # Template file for 'exiftool' pkgname=exiftool -version=12.24 +version=12.25 revision=1 wrksrc="Image-ExifTool-${version}" build_style=perl-module @@ -10,4 +10,4 @@ license="Artistic-1.0-Perl, GPL-1.0-or-later" homepage="https://exiftool.org/" changelog="https://exiftool.org/history.html" distfiles="https://exiftool.org/Image-ExifTool-${version}.tar.gz" -checksum=4bbc925eda0072426ffb3b0a6dcedeff173da798fde1efff846a7579854a2f98 +checksum=97821df046ef24c04e1dd5855847a9db768193c9e6471fbd5145e1e6e3a37887 From 409951aec37f24b6be1101d257c77f4598684ca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= Date: Sun, 25 Apr 2021 17:58:00 +0200 Subject: [PATCH 126/140] gifski: update to 1.4.3. --- srcpkgs/gifski/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gifski/template b/srcpkgs/gifski/template index 3e2537f258d..b7733d3608f 100644 --- a/srcpkgs/gifski/template +++ b/srcpkgs/gifski/template @@ -1,6 +1,6 @@ # Template file for 'gifski' pkgname=gifski -version=1.4.0 +version=1.4.3 revision=1 build_style=cargo configure_args="--features=openmp" @@ -10,7 +10,7 @@ maintainer="Benjamín Albiñana " license="AGPL-3.0-only" homepage="https://gif.ski" distfiles="https://github.com/ImageOptim/gifski/archive/${version}.tar.gz" -checksum=8a82b9e6a8bb376049018bc7fa3dd21c68e5bceb44b385948e761ccdfd73830d +checksum=74b98ede664e3da420ead70e3da1dfeb1a6e33545a618124e6b49da8f399902f post_install() { vlicense LICENSE From 81d2678577b0df67d012b5eac454abdf95648cbc Mon Sep 17 00:00:00 2001 From: teldra Date: Sun, 25 Apr 2021 10:34:06 +0200 Subject: [PATCH 127/140] gajim: update to 1.3.2. --- srcpkgs/gajim/template | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/srcpkgs/gajim/template b/srcpkgs/gajim/template index 848542981dc..4067251e113 100644 --- a/srcpkgs/gajim/template +++ b/srcpkgs/gajim/template @@ -1,8 +1,7 @@ # Template file for 'gajim' pkgname=gajim -version=1.3.1 +version=1.3.2 revision=1 -wrksrc=gajim-gajim-${version} build_style=python3-module hostmakedepends="gettext python3-setuptools" depends="python3-gobject python3-nbxmpp python3-pyasn1 python3-setuptools @@ -14,7 +13,7 @@ license="GPL-3.0-only" homepage="https://www.gajim.org" changelog="https://dev.gajim.org/gajim/gajim/raw/gajim-${version}/ChangeLog" distfiles="https://gajim.org/downloads/${version%.*}/gajim-${version}.tar.gz" -checksum=6a051d51fb45b80b19ccc47a2fb4c3eee948e598f49e63a9f929e158870d101c +checksum=70ea462b3f3c3b3c0b8d3129fae912d24062e77a8cce80781f69e8f43eda5fee # Does not find gdk, introspection typelib # even wtih gdk-pixbuf in checkdepends make_check=no From c74f45f4407575622cc3b5830edaf82834767392 Mon Sep 17 00:00:00 2001 From: Piraty Date: Sun, 25 Apr 2021 17:12:09 +0200 Subject: [PATCH 128/140] shellcheck: update to 0.7.2. --- srcpkgs/shellcheck/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template index 83bcd922ab7..33381c2dac8 100644 --- a/srcpkgs/shellcheck/template +++ b/srcpkgs/shellcheck/template @@ -1,7 +1,7 @@ # Template file for 'shellcheck' pkgname=shellcheck -version=0.7.1 -revision=3 +version=0.7.2 +revision=1 build_style=haskell-stack stackage="lts-16.13" hostmakedepends="pandoc" @@ -10,7 +10,7 @@ maintainer="Diogo Leal " license="GPL-3.0-or-later" homepage="https://www.shellcheck.net/" distfiles="https://github.com/koalaman/shellcheck/archive/v${version}.tar.gz" -checksum=50a219bde5c16fc0a40e2e3725b6c192ff589bc8a2569c32b62dcaece0495896 +checksum=5911f6133951d0ba6d643025bc50f2afb6c6f66d7225dc3d42e8845bfdf74c3c nocross=yes nopie_files="/usr/bin/shellcheck" From 6ab1b0b92eba1d8ab9ab50d6db75163d79bd3e67 Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Tue, 20 Apr 2021 13:21:08 +0200 Subject: [PATCH 129/140] gnome-photos: update to 40.0. --- .../patches/fix-double-declaration.diff | 11 + srcpkgs/gnome-photos/patches/tracker3.patch | 4151 ----------------- srcpkgs/gnome-photos/template | 7 +- 3 files changed, 14 insertions(+), 4155 deletions(-) create mode 100644 srcpkgs/gnome-photos/patches/fix-double-declaration.diff delete mode 100644 srcpkgs/gnome-photos/patches/tracker3.patch diff --git a/srcpkgs/gnome-photos/patches/fix-double-declaration.diff b/srcpkgs/gnome-photos/patches/fix-double-declaration.diff new file mode 100644 index 00000000000..0162e13db42 --- /dev/null +++ b/srcpkgs/gnome-photos/patches/fix-double-declaration.diff @@ -0,0 +1,11 @@ +--- src/photos-base-manager.h.orig 2021-04-20 13:16:07.042348375 +0200 ++++ src/photos-base-manager.h 2021-04-20 13:16:16.974347953 +0200 +@@ -78,8 +78,6 @@ guint photos_base_manager_ + + GObject *photos_base_manager_get_previous_object (PhotosBaseManager *self, GObject *object); + +-PhotosSparqlTemplate *photos_base_manager_get_sparql_template (PhotosBaseManager *self, gint flags); +- + const gchar *photos_base_manager_get_title (PhotosBaseManager *self); + + gchar *photos_base_manager_get_where (PhotosBaseManager *self, gint flags); diff --git a/srcpkgs/gnome-photos/patches/tracker3.patch b/srcpkgs/gnome-photos/patches/tracker3.patch deleted file mode 100644 index 6062fac2b26..00000000000 --- a/srcpkgs/gnome-photos/patches/tracker3.patch +++ /dev/null @@ -1,4151 +0,0 @@ -From 4673c40a7c006ccb6de203ec2b25ca39a74782d9 Mon Sep 17 00:00:00 2001 -From: Sam Thursfield -Date: Wed, 27 May 2020 13:07:58 +0200 -Subject: [PATCH 1/3] Fix build failure due to undefined M_PI constant - -The header needs to be included. - -Previously I suppose libtracker-sparql.h pulled this in. ---- - src/photos-utils.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/photos-utils.c b/src/photos-utils.c -index 1d7be577..d659b47d 100644 ---- a/src/photos-utils.c -+++ b/src/photos-utils.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - #include "photos-application.h" - #include "photos-device-item.h" --- -GitLab - - -From 18f126a67a37d1f6efe546e42eef22ae15da7642 Mon Sep 17 00:00:00 2001 -From: Sam Thursfield -Date: Sun, 7 Jun 2020 21:53:20 +0200 -Subject: [PATCH 2/3] Generate queries using SPARQL templates - -The code to generate SPARQL queries was split across many different -source files, making it difficult to make big changes. Now the -queries are written out as templates and we use template substitution -to build the SPARQL that we send to Tracker. ---- - src/meson.build | 5 + - src/photos-base-manager.c | 15 ++ - src/photos-base-manager.h | 4 + - src/photos-filterable.c | 8 - - src/photos-filterable.h | 3 - - src/photos-query-builder.c | 207 +++++++++----------- - src/photos-search-type-manager.c | 59 +----- - src/photos-search-type.c | 67 +++---- - src/photos-search-type.h | 6 +- - src/photos-sparql-template.c | 187 ++++++++++++++++++ - src/photos-sparql-template.h | 38 ++++ - src/photos.gresource.xml | 4 + - src/queries/all.sparql.template | 31 +++ - src/queries/collections.sparql.template | 14 ++ - src/queries/favorite-photos.sparql.template | 12 ++ - src/queries/photos.sparql.template | 11 ++ - 16 files changed, 446 insertions(+), 225 deletions(-) - create mode 100644 src/photos-sparql-template.c - create mode 100644 src/photos-sparql-template.h - create mode 100644 src/queries/all.sparql.template - create mode 100644 src/queries/collections.sparql.template - create mode 100644 src/queries/favorite-photos.sparql.template - create mode 100644 src/queries/photos.sparql.template - -diff --git a/src/meson.build b/src/meson.build -index 9919f0cf..b5b2759c 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -195,6 +195,7 @@ sources = common_sources + files( - 'photos-source.c', - 'photos-source-manager.c', - 'photos-source-notification.c', -+ 'photos-sparql-template.c', - 'photos-spinner-box.c', - 'photos-thumbnail-factory.c', - 'photos-tool.c', -@@ -290,6 +291,10 @@ resource_data = files( - 'photos-selection-toolbar.ui', - 'photos-share-dialog.ui', - 'photos-zoom-controls.ui', -+ 'queries/all.sparql.template', -+ 'queries/collections.sparql.template', -+ 'queries/favorite-photos.sparql.template', -+ 'queries/photos.sparql.template', - ) - - sources += gnome.compile_resources( -diff --git a/src/photos-base-manager.c b/src/photos-base-manager.c -index d49d19a5..052638d5 100644 ---- a/src/photos-base-manager.c -+++ b/src/photos-base-manager.c -@@ -250,6 +250,12 @@ photos_base_manager_default_get_where (PhotosBaseManager *self, gint flags) - } - - -+static PhotosSparqlTemplate * -+photos_base_manager_default_get_sparql_template (PhotosBaseManager *self, gint flags) -+{ -+ return NULL; -+} -+ - static void - photos_base_manager_default_remove_object_by_id (PhotosBaseManager *self, const gchar *id) - { -@@ -438,6 +444,7 @@ photos_base_manager_class_init (PhotosBaseManagerClass *class) - class->get_object_by_id = photos_base_manager_default_get_object_by_id; - class->get_previous_object = photos_base_manager_default_get_previous_object; - class->get_where = photos_base_manager_default_get_where; -+ class->get_sparql_template = photos_base_manager_default_get_sparql_template; - class->remove_object_by_id = photos_base_manager_default_remove_object_by_id; - class->set_active_object = photos_base_manager_default_set_active_object; - -@@ -714,6 +721,14 @@ photos_base_manager_get_where (PhotosBaseManager *self, gint flags) - } - - -+PhotosSparqlTemplate * -+photos_base_manager_get_sparql_template (PhotosBaseManager *self, gint flags) -+{ -+ g_return_val_if_fail (PHOTOS_IS_BASE_MANAGER (self), NULL); -+ return PHOTOS_BASE_MANAGER_GET_CLASS (self)->get_sparql_template (self, flags); -+} -+ -+ - void - photos_base_manager_process_new_objects (PhotosBaseManager *self, GHashTable *new_objects) - { -diff --git a/src/photos-base-manager.h b/src/photos-base-manager.h -index 99d203e9..04cfa7db 100644 ---- a/src/photos-base-manager.h -+++ b/src/photos-base-manager.h -@@ -24,6 +24,7 @@ - #define PHOTOS_BASE_MANAGER_H - - #include -+#include "photos-sparql-template.h" - - G_BEGIN_DECLS - -@@ -46,6 +47,7 @@ struct _PhotosBaseManagerClass - gchar *(*get_where) (PhotosBaseManager *self, gint flags); - void (*remove_object_by_id) (PhotosBaseManager *self, const gchar *id); - gboolean (*set_active_object) (PhotosBaseManager *self, GObject *object); -+ PhotosSparqlTemplate *(*get_sparql_template) (PhotosBaseManager *self, gint flags); - - /* signals */ - void (*active_changed) (PhotosBaseManager *self, GObject *object); -@@ -80,6 +82,8 @@ const gchar *photos_base_manager_get_title (PhotosBaseMana - - gchar *photos_base_manager_get_where (PhotosBaseManager *self, gint flags); - -+PhotosSparqlTemplate *photos_base_manager_get_sparql_template (PhotosBaseManager *self, gint flags); -+ - void photos_base_manager_process_new_objects (PhotosBaseManager *self, GHashTable *new_objects); - - void photos_base_manager_remove_object (PhotosBaseManager *self, GObject *object); -diff --git a/src/photos-filterable.c b/src/photos-filterable.c -index 361b1c29..aaa4109c 100644 ---- a/src/photos-filterable.c -+++ b/src/photos-filterable.c -@@ -69,14 +69,6 @@ photos_filterable_get_id (PhotosFilterable *self) - } - - --gchar * --photos_filterable_get_where (PhotosFilterable *self) --{ -- g_return_val_if_fail (PHOTOS_IS_FILTERABLE (self), NULL); -- return PHOTOS_FILTERABLE_GET_IFACE (self)->get_where (self); --} -- -- - gboolean - photos_filterable_is_search_criterion (PhotosFilterable *self) - { -diff --git a/src/photos-filterable.h b/src/photos-filterable.h -index e768bca0..8a3415fc 100644 ---- a/src/photos-filterable.h -+++ b/src/photos-filterable.h -@@ -37,7 +37,6 @@ struct _PhotosFilterableInterface - gboolean (*get_builtin) (PhotosFilterable *self); - gchar *(*get_filter) (PhotosFilterable *self); - const gchar *(*get_id) (PhotosFilterable *self); -- gchar *(*get_where) (PhotosFilterable *self); - gboolean (*is_search_criterion) (PhotosFilterable *self); - }; - -@@ -47,8 +46,6 @@ gchar *photos_filterable_get_filter (PhotosFilterable *self - - const gchar *photos_filterable_get_id (PhotosFilterable *self); - --gchar *photos_filterable_get_where (PhotosFilterable *self); -- - gboolean photos_filterable_is_search_criterion (PhotosFilterable *self); - - G_END_DECLS -diff --git a/src/photos-query-builder.c b/src/photos-query-builder.c -index 2c52a130..5d9d8a5a 100644 ---- a/src/photos-query-builder.c -+++ b/src/photos-query-builder.c -@@ -26,112 +26,76 @@ - #include - - #include "photos-base-manager.h" -+#include "photos-query.h" - #include "photos-query-builder.h" - #include "photos-search-type.h" - #include "photos-source-manager.h" - #include "photos-search-match-manager.h" - #include "photos-search-type-manager.h" - -+#define PHOTOS_QUERY_COLLECTIONS_IDENTIFIER "photos:collection:" -+#define PHOTOS_QUERY_LOCAL_COLLECTIONS_IDENTIFIER "photos:collection:local:" - --static gchar * --photos_query_builder_filter (PhotosSearchContextState *state, gint flags) --{ -- gchar *sparql; -- g_autofree gchar *src_mngr_filter = NULL; -- g_autofree gchar *srch_mtch_mngr_filter = NULL; -- g_autofree gchar *srch_typ_mngr_filter = NULL; -+const gchar *collections_default_filter = \ -+ "(fn:starts-with (nao:identifier (?urn), '" PHOTOS_QUERY_COLLECTIONS_IDENTIFIER "')" -+ " || (?urn = nfo:image-category-screenshot))"; - -- src_mngr_filter = photos_base_manager_get_filter (state->src_mngr, flags); -- srch_mtch_mngr_filter = photos_base_manager_get_filter (state->srch_mtch_mngr, flags); -- srch_typ_mngr_filter = photos_base_manager_get_filter (state->srch_typ_mngr, flags); - -- sparql = g_strdup_printf ("FILTER (%s && %s && %s)", -- src_mngr_filter, -- srch_mtch_mngr_filter, -- srch_typ_mngr_filter); -- -- return sparql; --} -+/* This includes mimetype blocklist */ -+const gchar *photos_default_filter = \ -+ "(nie:mimeType(?urn) != 'image/gif' && nie:mimeType(?urn) != 'image/x-eps')"; - - - static gchar * --photos_query_builder_optional (void) --{ -- return g_strdup ("OPTIONAL { ?urn nco:creator ?creator . } " -- "OPTIONAL { ?urn nco:publisher ?publisher . }"); --} -- -- --static gchar * --photos_query_builder_inner_where (PhotosSearchContextState *state, gboolean global, gint flags) -+photos_query_builder_query (PhotosSearchContextState *state, -+ gboolean global, -+ gint flags, -+ PhotosOffsetController *offset_cntrlr) - { -- g_autofree gchar *item_mngr_where = NULL; -+ PhotosSparqlTemplate *template; -+ const gchar *projection = NULL; -+ g_autofree gchar *item_pattern = NULL; -+ g_autofree gchar *search_filter = NULL; -+ g_autofree gchar *source_filter = NULL; -+ const gchar *order = NULL; -+ g_autofree gchar *offset_limit = NULL; - gchar *sparql; -- g_autofree gchar *srch_typ_mngr_where = NULL; - -- srch_typ_mngr_where = photos_base_manager_get_where (state->srch_typ_mngr, flags); -+ template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags); -+ -+ projection = "?urn " -+ "nie:url (?urn) " -+ "nfo:fileName (?urn) " -+ "nie:mimeType (?urn) " -+ "nie:title (?urn) " -+ "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') " -+ "tracker:coalesce (nfo:fileLastModified (?urn), nie:contentLastModified (?urn)) AS ?mtime " -+ "nao:identifier (?urn) " -+ "rdf:type (?urn) " -+ "nie:dataSource(?urn) " -+ "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) " -+ "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) " -+ "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn)) " -+ "nfo:width (?urn) " -+ "nfo:height (?urn) " -+ "nfo:equipment (?urn) " -+ "nfo:orientation (?urn) " -+ "nmm:exposureTime (?urn) " -+ "nmm:fnumber (?urn) " -+ "nmm:focalLength (?urn) " -+ "nmm:isoSpeed (?urn) " -+ "nmm:flash (?urn) " -+ "slo:location (?urn) "; -+ -+ item_pattern = photos_base_manager_get_where (state->item_mngr, flags); - - if (!(flags & PHOTOS_QUERY_FLAGS_UNFILTERED)) - { -- if (global) -- { -- /* TODO: SearchCategoryManager */ -- -- item_mngr_where = photos_base_manager_get_where (state->item_mngr, flags); -- } -+ source_filter = photos_base_manager_get_filter (state->src_mngr, flags); -+ search_filter = photos_base_manager_get_filter (state->srch_mtch_mngr, flags); - } - -- sparql = g_strdup_printf ("WHERE { %s %s }", -- srch_typ_mngr_where, -- (item_mngr_where != NULL) ? item_mngr_where : ""); -- -- return sparql; --} -- -- --static gchar * --photos_query_builder_where (PhotosSearchContextState *state, gboolean global, gint flags) --{ -- const gchar *count_items = "COUNT (?item) AS ?count"; -- gboolean item_defined; -- g_autofree gchar *filter = NULL; -- g_autofree gchar *optional = NULL; -- gchar *sparql; -- g_autofree gchar *where_sparql = NULL; -- -- where_sparql = photos_query_builder_inner_where (state, global, flags); -- item_defined = strstr (where_sparql, "?item") != NULL; -- -- optional = photos_query_builder_optional (); -- -- if (!(flags & PHOTOS_QUERY_FLAGS_UNFILTERED)) -- filter = photos_query_builder_filter (state, flags); -- -- sparql = g_strdup_printf ("WHERE {{" -- " SELECT ?urn rdf:type (?urn) AS ?type %s %s GROUP BY (?urn)" -- " }" -- " %s %s" -- "}", -- item_defined ? count_items : "", -- where_sparql, -- optional, -- (filter != NULL) ? filter : ""); -- -- return sparql; --} -- -- --static gchar * --photos_query_builder_query (PhotosSearchContextState *state, -- gboolean global, -- gint flags, -- PhotosOffsetController *offset_cntrlr) --{ -- gchar *sparql; -- g_autofree gchar *tail_sparql = NULL; -- g_autofree gchar *where_sparql = NULL; -- -- where_sparql = photos_query_builder_where (state, global, flags); -+ order = "ORDER BY DESC (?mtime)"; - - if (global && (flags & PHOTOS_QUERY_FLAGS_UNLIMITED) == 0) - { -@@ -144,35 +108,19 @@ photos_query_builder_query (PhotosSearchContextState *state, - step = photos_offset_controller_get_step (offset_cntrlr); - } - -- tail_sparql = g_strdup_printf ("ORDER BY DESC (?mtime) LIMIT %d OFFSET %d", step, offset); -+ offset_limit = g_strdup_printf ("LIMIT %d OFFSET %d", step, offset); - } - -- sparql = g_strconcat ("SELECT ?urn " -- "nie:url (?urn) " -- "nfo:fileName (?urn) " -- "nie:mimeType (?urn) " -- "nie:title (?urn) " -- "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') " -- "tracker:coalesce (nfo:fileLastModified (?urn), nie:contentLastModified (?urn)) AS ?mtime " -- "nao:identifier (?urn) " -- "rdf:type (?urn) " -- "nie:dataSource(?urn) " -- "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) " -- "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) " -- "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn)) " -- "nfo:width (?urn) " -- "nfo:height (?urn) " -- "nfo:equipment (?urn) " -- "nfo:orientation (?urn) " -- "nmm:exposureTime (?urn) " -- "nmm:fnumber (?urn) " -- "nmm:focalLength (?urn) " -- "nmm:isoSpeed (?urn) " -- "nmm:flash (?urn) " -- "slo:location (?urn) ", -- where_sparql, -- tail_sparql, -- NULL); -+ sparql = photos_sparql_template_get_sparql (template, -+ "projection", projection, -+ "collections_default_filter", collections_default_filter, -+ "item_pattern", item_pattern, -+ "photos_default_filter", photos_default_filter, -+ "source_filter", source_filter ? source_filter : "", -+ "search_filter", search_filter ? search_filter : "", -+ "order", order, -+ "offset_limit", offset_limit ? offset_limit : "", -+ NULL); - - return sparql; - } -@@ -234,12 +182,37 @@ photos_query_builder_collection_icon_query (PhotosSearchContextState *state, con - PhotosQuery * - photos_query_builder_count_query (PhotosSearchContextState *state, gint flags) - { -- PhotosQuery *query; -+ PhotosSparqlTemplate *template; -+ const gchar *projection = NULL; -+ g_autofree gchar *item_pattern = NULL; -+ g_autofree gchar *search_filter = NULL; -+ g_autofree gchar *source_filter = NULL; - g_autofree gchar *sparql = NULL; -- g_autofree gchar *where_sparql = NULL; -+ PhotosQuery *query; -+ -+ template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags); -+ -+ projection = "COUNT(?urn) "; -+ -+ item_pattern = photos_base_manager_get_where (state->item_mngr, flags); -+ -+ if (! (flags & PHOTOS_QUERY_FLAGS_UNFILTERED)) -+ { -+ source_filter = photos_base_manager_get_filter (state->src_mngr, flags); -+ search_filter = photos_base_manager_get_filter (state->srch_mtch_mngr, flags); -+ } -+ -+ sparql = photos_sparql_template_get_sparql (template, -+ "projection", projection, -+ "collections_default_filter", collections_default_filter, -+ "item_pattern", item_pattern, -+ "photos_default_filter", photos_default_filter, -+ "source_filter", source_filter ? source_filter : "", -+ "search_filter", search_filter ? search_filter : "", -+ "order", "", -+ "offset_limit", "", -+ NULL); - -- where_sparql = photos_query_builder_where (state, TRUE, flags); -- sparql = g_strconcat ("SELECT DISTINCT COUNT(?urn) ", where_sparql, NULL); - query = photos_query_new (state, sparql); - - return query; -diff --git a/src/photos-search-type-manager.c b/src/photos-search-type-manager.c -index 87f441ed..5c87d4a4 100644 ---- a/src/photos-search-type-manager.c -+++ b/src/photos-search-type-manager.c -@@ -41,13 +41,6 @@ struct _PhotosSearchTypeManager - G_DEFINE_TYPE (PhotosSearchTypeManager, photos_search_type_manager, PHOTOS_TYPE_BASE_MANAGER); - - --static const gchar *BLACKLISTED_MIME_TYPES[] = --{ -- "image/gif", -- "image/x-eps" --}; -- -- - static gchar * - photos_search_type_manager_get_filter (PhotosBaseManager *mngr, gint flags) - { -@@ -69,9 +62,8 @@ photos_search_type_manager_get_filter (PhotosBaseManager *mngr, gint flags) - return filter; - } - -- --static gchar * --photos_search_type_manager_get_where (PhotosBaseManager *mngr, gint flags) -+static PhotosSparqlTemplate * -+photos_search_type_manager_get_sparql_template (PhotosBaseManager *mngr, gint flags) - { - GObject *search_type; - -@@ -86,74 +78,39 @@ photos_search_type_manager_get_where (PhotosBaseManager *mngr, gint flags) - else - search_type = photos_base_manager_get_object_by_id (mngr, PHOTOS_SEARCH_TYPE_STOCK_ALL); - -- return photos_filterable_get_where (PHOTOS_FILTERABLE (search_type)); -+ return photos_search_type_get_sparql_template (PHOTOS_SEARCH_TYPE (search_type)); - } - -- - static void - photos_search_type_manager_init (PhotosSearchTypeManager *self) - { - PhotosSearchType *search_type; -- gchar *item_filter; -- gchar *all_filter; -- gchar *blacklisted_mime_types_filter; -- gchar *col_filter; -- gchar **strv; -- guint i; -- guint n_elements; -- -- n_elements = G_N_ELEMENTS (BLACKLISTED_MIME_TYPES); -- strv = (gchar **) g_malloc0_n (n_elements + 1, sizeof (gchar *)); -- for (i = 0; i < n_elements; i++) -- strv[i] = g_strdup_printf ("nie:mimeType(?urn) != '%s'", BLACKLISTED_MIME_TYPES[i]); -- -- blacklisted_mime_types_filter = g_strjoinv (" && ", strv); -- -- item_filter = g_strdup_printf ("(fn:contains (?type, 'nmm#Photo') && %s)", blacklisted_mime_types_filter); -- col_filter = g_strdup_printf ("(fn:contains (?type, 'nfo#DataContainer')" -- " && ?count > 0" -- " && (fn:starts-with (nao:identifier (?urn), '%s')" -- " || (?urn = nfo:image-category-screenshot)))", -- PHOTOS_QUERY_COLLECTIONS_IDENTIFIER); -- all_filter = g_strdup_printf ("(%s || %s)", col_filter, item_filter); - - search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_ALL, - _("All"), -- "?urn a rdfs:Resource. " -- "OPTIONAL {?item a nmm:Photo; nie:isPartOf ?urn}", -- all_filter); -+ "resource:///org/gnome/Photos/all.sparql.template"); - photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type)); - g_object_unref (search_type); - - search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_COLLECTIONS, - _("Albums"), -- "?urn a nfo:DataContainer. " -- "?item a nmm:Photo; nie:isPartOf ?urn.", -- col_filter); -+ "resource:///org/gnome/Photos/collections.sparql.template"); - photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type)); - g_object_unref (search_type); - - search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_FAVORITES, - _("Favorites"), -- "?urn a nmm:Photo; nao:hasTag nao:predefined-tag-favorite. ", -- blacklisted_mime_types_filter); -+ "resource:///org/gnome/Photos/favorite-photos.sparql.template"); - photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type)); - g_object_unref (search_type); - - search_type = photos_search_type_new_full (PHOTOS_SEARCH_TYPE_STOCK_PHOTOS, - _("Photos"), -- "?urn a nmm:Photo", -- blacklisted_mime_types_filter); -+ "resource:///org/gnome/Photos/photos.sparql.template"); - photos_base_manager_add_object (PHOTOS_BASE_MANAGER (self), G_OBJECT (search_type)); - g_object_unref (search_type); - - photos_base_manager_set_active_object_by_id (PHOTOS_BASE_MANAGER (self), PHOTOS_SEARCH_TYPE_STOCK_ALL); -- -- g_free (item_filter); -- g_free (all_filter); -- g_free (blacklisted_mime_types_filter); -- g_free (col_filter); -- g_strfreev (strv); - } - - -@@ -163,7 +120,7 @@ photos_search_type_manager_class_init (PhotosSearchTypeManagerClass *class) - PhotosBaseManagerClass *base_manager_class = PHOTOS_BASE_MANAGER_CLASS (class); - - base_manager_class->get_filter = photos_search_type_manager_get_filter; -- base_manager_class->get_where = photos_search_type_manager_get_where; -+ base_manager_class->get_sparql_template = photos_search_type_manager_get_sparql_template; - } - - -diff --git a/src/photos-search-type.c b/src/photos-search-type.c -index 44dc60eb..f3bbae15 100644 ---- a/src/photos-search-type.c -+++ b/src/photos-search-type.c -@@ -25,24 +25,23 @@ - - #include "photos-filterable.h" - #include "photos-search-type.h" -+#include "photos-sparql-template.h" - - - struct _PhotosSearchType - { - GObject parent_instance; -- gchar *filter; - gchar *id; - gchar *name; -- gchar *where; -+ PhotosSparqlTemplate *sparql_template; - }; - - enum - { - PROP_0, -- PROP_FILTER, - PROP_ID, - PROP_NAME, -- PROP_WHERE, -+ PROP_SPARQL_TEMPLATE, - }; - - static void photos_search_type_filterable_iface_init (PhotosFilterableInterface *iface); -@@ -53,14 +52,6 @@ G_DEFINE_TYPE_WITH_CODE (PhotosSearchType, photos_search_type, G_TYPE_OBJECT, - photos_search_type_filterable_iface_init)); - - --static gchar * --photos_search_type_get_filter (PhotosFilterable *iface) --{ -- PhotosSearchType *self = PHOTOS_SEARCH_TYPE (iface); -- return g_strdup (self->filter); --} -- -- - static const gchar * - photos_search_type_get_id (PhotosFilterable *filterable) - { -@@ -69,14 +60,6 @@ photos_search_type_get_id (PhotosFilterable *filterable) - } - - --static gchar * --photos_search_type_get_where (PhotosFilterable *iface) --{ -- PhotosSearchType *self = PHOTOS_SEARCH_TYPE (iface); -- return g_strdup (self->where); --} -- -- - static gboolean - photos_search_type_is_search_criterion (PhotosFilterable *iface) - { -@@ -84,15 +67,20 @@ photos_search_type_is_search_criterion (PhotosFilterable *iface) - } - - -+PhotosSparqlTemplate * -+photos_search_type_get_sparql_template (PhotosSearchType *self) -+{ -+ return self->sparql_template; -+} -+ - static void - photos_search_type_finalize (GObject *object) - { - PhotosSearchType *self = PHOTOS_SEARCH_TYPE (object); - -- g_free (self->filter); - g_free (self->id); - g_free (self->name); -- g_free (self->where); -+ g_clear_object (&self->sparql_template); - - G_OBJECT_CLASS (photos_search_type_parent_class)->finalize (object); - } -@@ -113,6 +101,10 @@ photos_search_type_get_property (GObject *object, guint prop_id, GValue *value, - g_value_set_string (value, self->name); - break; - -+ case PROP_SPARQL_TEMPLATE: -+ g_value_set_object (value, self->sparql_template); -+ break; -+ - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; -@@ -127,10 +119,6 @@ photos_search_type_set_property (GObject *object, guint prop_id, const GValue *v - - switch (prop_id) - { -- case PROP_FILTER: -- self->filter = g_value_dup_string (value); -- break; -- - case PROP_ID: - self->id = g_value_dup_string (value); - break; -@@ -139,8 +127,8 @@ photos_search_type_set_property (GObject *object, guint prop_id, const GValue *v - self->name = g_value_dup_string (value); - break; - -- case PROP_WHERE: -- self->where = g_value_dup_string (value); -+ case PROP_SPARQL_TEMPLATE: -+ self->sparql_template = g_object_ref (g_value_get_object (value)); - break; - - default: -@@ -165,14 +153,6 @@ photos_search_type_class_init (PhotosSearchTypeClass *class) - object_class->get_property = photos_search_type_get_property; - object_class->set_property = photos_search_type_set_property; - -- g_object_class_install_property (object_class, -- PROP_FILTER, -- g_param_spec_string ("filter", -- "", -- "", -- "(true)", -- G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)); -- - g_object_class_install_property (object_class, - PROP_ID, - g_param_spec_string ("id", -@@ -190,11 +170,11 @@ photos_search_type_class_init (PhotosSearchTypeClass *class) - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); - - g_object_class_install_property (object_class, -- PROP_WHERE, -- g_param_spec_string ("where", -- "", -+ PROP_SPARQL_TEMPLATE, -+ g_param_spec_object ("sparql-template", - "", - "", -+ PHOTOS_TYPE_SPARQL_TEMPLATE, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)); - } - -@@ -202,9 +182,7 @@ photos_search_type_class_init (PhotosSearchTypeClass *class) - static void - photos_search_type_filterable_iface_init (PhotosFilterableInterface *iface) - { -- iface->get_filter = photos_search_type_get_filter; - iface->get_id = photos_search_type_get_id; -- iface->get_where = photos_search_type_get_where; - iface->is_search_criterion = photos_search_type_is_search_criterion; - } - -@@ -217,12 +195,13 @@ photos_search_type_new (const gchar *id, const gchar *name) - - - PhotosSearchType * --photos_search_type_new_full (const gchar *id, const gchar *name, const gchar *where, const gchar *filter) -+photos_search_type_new_full (const gchar *id, const gchar *name, const gchar *template_path) - { -+ g_autoptr (PhotosSparqlTemplate) template = photos_sparql_template_new (template_path); -+ - return g_object_new (PHOTOS_TYPE_SEARCH_TYPE, - "id", id, - "name", name, -- "filter", filter, -- "where", where, -+ "sparql-template", template, - NULL); - } -diff --git a/src/photos-search-type.h b/src/photos-search-type.h -index 2f7135bd..7d699dd4 100644 ---- a/src/photos-search-type.h -+++ b/src/photos-search-type.h -@@ -24,6 +24,7 @@ - #define PHOTOS_SEARCH_TYPE_H - - #include -+#include "photos-sparql-template.h" - - G_BEGIN_DECLS - -@@ -39,8 +40,9 @@ PhotosSearchType *photos_search_type_new (const gchar *id, con - - PhotosSearchType *photos_search_type_new_full (const gchar *id, - const gchar *name, -- const gchar *where, -- const gchar *filter); -+ const gchar *template_path); -+ -+PhotosSparqlTemplate *photos_search_type_get_sparql_template (PhotosSearchType *self); - - G_END_DECLS - -diff --git a/src/photos-sparql-template.c b/src/photos-sparql-template.c -new file mode 100644 -index 00000000..b32437c0 ---- /dev/null -+++ b/src/photos-sparql-template.c -@@ -0,0 +1,187 @@ -+/* -+ * Photos - access, organize and share your photos on GNOME -+ * Copyright © 2020 Sam Thursfield -+ * -+ * 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, see . -+ */ -+ -+#include -+ -+#include "photos-sparql-template.h" -+ -+#define MAX_SPARQL_TEMPLATE_SIZE (1024 * 10) -+ -+struct _PhotosSparqlTemplate { -+ GObject parent_instance; -+ gchar *template_path; -+ gchar *template_text; -+}; -+ -+G_DEFINE_TYPE (PhotosSparqlTemplate, photos_sparql_template, G_TYPE_OBJECT) -+ -+enum { -+ PROP_0, -+ PROP_TEMPLATE_PATH, -+ N_PROPS -+}; -+ -+PhotosSparqlTemplate * -+photos_sparql_template_new (const gchar *template_path) -+{ -+ return g_object_new (PHOTOS_TYPE_SPARQL_TEMPLATE, "template-path", template_path, NULL); -+} -+ -+static void -+photos_sparql_template_constructed (GObject *object) -+{ -+ PhotosSparqlTemplate *self = PHOTOS_SPARQL_TEMPLATE (object); -+ g_autoptr (GFile) file = NULL; -+ g_autoptr (GFileInputStream) stream = NULL; -+ gchar buffer[MAX_SPARQL_TEMPLATE_SIZE + 1]; -+ gsize bytes_read; -+ g_autoptr (GError) error = NULL; -+ -+ G_OBJECT_CLASS (photos_sparql_template_parent_class)->constructed (object); -+ -+ file = g_file_new_for_uri (self->template_path); -+ -+ stream = g_file_read (file, NULL, &error); -+ -+ if (!stream) -+ { -+ g_critical ("Failed to open template %s: %s", self->template_path, error->message); -+ } -+ -+ g_input_stream_read_all (G_INPUT_STREAM (stream), buffer, MAX_SPARQL_TEMPLATE_SIZE, &bytes_read, NULL, &error); -+ -+ if (error) -+ { -+ g_critical ("Failed to read template %s: %s", self->template_path, error->message); -+ } -+ -+ buffer[bytes_read] = '\0'; -+ -+ self->template_text = g_strdup (buffer); -+} -+ -+static void -+photos_sparql_template_finalize (GObject *object) -+{ -+ G_OBJECT_CLASS (photos_sparql_template_parent_class)->finalize (object); -+} -+ -+static void -+photos_sparql_template_get_property (GObject *object, -+ guint prop_id, -+ GValue *value, -+ GParamSpec *pspec) -+{ -+ PhotosSparqlTemplate *self = PHOTOS_SPARQL_TEMPLATE (object); -+ -+ switch (prop_id) -+ { -+ case PROP_TEMPLATE_PATH: -+ g_value_set_string (value, self->template_path); -+ break; -+ -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ } -+} -+ -+static void -+photos_sparql_template_set_property (GObject *object, -+ guint prop_id, -+ const GValue *value, -+ GParamSpec *pspec) -+{ -+ PhotosSparqlTemplate *self = PHOTOS_SPARQL_TEMPLATE (object); -+ -+ switch (prop_id) -+ { -+ case PROP_TEMPLATE_PATH: -+ self->template_path = g_value_dup_string (value); -+ break; -+ -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ } -+} -+ -+static void -+photos_sparql_template_class_init (PhotosSparqlTemplateClass *klass) -+{ -+ GObjectClass *object_class = G_OBJECT_CLASS (klass); -+ -+ object_class->constructed = photos_sparql_template_constructed; -+ object_class->finalize = photos_sparql_template_finalize; -+ object_class->get_property = photos_sparql_template_get_property; -+ object_class->set_property = photos_sparql_template_set_property; -+ -+ g_object_class_install_property (object_class, -+ PROP_TEMPLATE_PATH, -+ g_param_spec_string ("template-path", -+ "Template path", -+ "Path to the template file.", -+ NULL, -+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); -+} -+ -+static void -+photos_sparql_template_init (PhotosSparqlTemplate *self) -+{ -+} -+ -+ -+gchar * -+photos_sparql_template_get_sparql (PhotosSparqlTemplate *self, -+ const gchar *first_binding_name, ...) -+{ -+ va_list va; -+ gchar *sparql; -+ -+ sparql = self->template_text; -+ -+ /* FIXME: this is an inefficent way to do template substitutions -+ * because we allocate and free a copy of the string for each binding. -+ * We should check https://gitlab.gnome.org/GNOME/template-glib/ -+ */ -+ if (first_binding_name) -+ { -+ GRegex *regex; -+ gchar *name_regex; -+ const gchar *name; -+ const gchar *value; -+ -+ va_start (va, first_binding_name); -+ name = first_binding_name; -+ do { -+ value = va_arg (va, const gchar *); -+ -+ if (value == NULL) -+ { -+ g_critical ("Missing value for argument \"%s\"", name); -+ break; -+ } -+ -+ name_regex = g_strdup_printf ("{{\\s?%s\\s?}}", name); -+ regex = g_regex_new (name_regex, 0, 0, NULL); -+ sparql = g_regex_replace_literal (regex, sparql, -1, 0, value, 0, NULL) ; -+ } while ((name = va_arg (va, const gchar *))); -+ -+ va_end (va); -+ } -+ -+ return sparql; -+} -diff --git a/src/photos-sparql-template.h b/src/photos-sparql-template.h -new file mode 100644 -index 00000000..66351b38 ---- /dev/null -+++ b/src/photos-sparql-template.h -@@ -0,0 +1,38 @@ -+/* -+ * Photos - access, organize and share your photos on GNOME -+ * Copyright © 2020 Sam Thursfield -+ * -+ * 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, see . -+ */ -+ -+#pragma once -+ -+#include -+ -+G_BEGIN_DECLS -+ -+#define PHOTOS_TYPE_SPARQL_TEMPLATE (photos_sparql_template_get_type()) -+ -+G_DECLARE_FINAL_TYPE (PhotosSparqlTemplate, photos_sparql_template, PHOTOS, SPARQL_TEMPLATE, GObject) -+ -+struct _PhotosSparqlTemplateClass -+{ -+ GObjectClass parent_class; -+}; -+ -+PhotosSparqlTemplate *photos_sparql_template_new (const gchar *template_path); -+ -+gchar *photos_sparql_template_get_sparql (PhotosSparqlTemplate *self, const gchar *first_binding_name, ...) G_GNUC_NULL_TERMINATED; -+ -+G_END_DECLS -diff --git a/src/photos.gresource.xml b/src/photos.gresource.xml -index 1015b11d..39e6d842 100644 ---- a/src/photos.gresource.xml -+++ b/src/photos.gresource.xml -@@ -35,6 +35,10 @@ - photos-selection-toolbar.ui - photos-share-dialog.ui - photos-zoom-controls.ui -+ queries/all.sparql.template -+ queries/collections.sparql.template -+ queries/favorite-photos.sparql.template -+ queries/photos.sparql.template - - - -diff --git a/src/queries/all.sparql.template b/src/queries/all.sparql.template -new file mode 100644 -index 00000000..1cef98e8 ---- /dev/null -+++ b/src/queries/all.sparql.template -@@ -0,0 +1,31 @@ -+SELECT {{projection}} -+{ -+ { -+ SELECT {{projection}} -+ { -+ { -+ SELECT ?urn COUNT(?item) AS ?count -+ { -+ ?urn a nfo:DataContainer. -+ ?item a nmm:Photo; nie:isPartOf ?urn. -+ } GROUP BY ?urn -+ } -+ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}}) -+ } -+ GROUP BY ?urn -+ } -+ UNION -+ { -+ SELECT {{projection}} -+ { -+ ?urn a nmm:Photo . -+ OPTIONAL { ?urn nco:creator ?creator . } -+ OPTIONAL { ?urn nco:publisher ?publisher . } -+ {{item_pattern}} -+ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ } -+ GROUP BY ?urn -+ } -+} -+{{order}} -+{{offset_limit}} -diff --git a/src/queries/collections.sparql.template b/src/queries/collections.sparql.template -new file mode 100644 -index 00000000..20b35cd6 ---- /dev/null -+++ b/src/queries/collections.sparql.template -@@ -0,0 +1,14 @@ -+SELECT {{projection}} -+{ -+ { -+ SELECT ?urn COUNT(?item) AS ?count -+ { -+ ?urn a nfo:DataContainer. -+ ?item a nmm:Photo; nie:isPartOf ?urn. -+ } GROUP BY ?urn -+ } -+ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}}) -+} -+GROUP BY ?urn -+{{order}} -+{{offset_limit}} -diff --git a/src/queries/favorite-photos.sparql.template b/src/queries/favorite-photos.sparql.template -new file mode 100644 -index 00000000..0885a08a ---- /dev/null -+++ b/src/queries/favorite-photos.sparql.template -@@ -0,0 +1,12 @@ -+SELECT {{projection}} -+{ -+ ?urn a nmm:Photo . -+ ?urn a nmm:Photo; nao:hasTag nao:predefined-tag-favorite . -+ OPTIONAL { ?urn nco:creator ?creator . } -+ OPTIONAL { ?urn nco:publisher ?publisher . } -+ {{item_pattern}} -+ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+} -+GROUP BY ?urn -+{{order}} -+{{offset_limit}} -diff --git a/src/queries/photos.sparql.template b/src/queries/photos.sparql.template -new file mode 100644 -index 00000000..4eb10b74 ---- /dev/null -+++ b/src/queries/photos.sparql.template -@@ -0,0 +1,11 @@ -+SELECT {{projection}} -+{ -+ ?urn a nmm:Photo . -+ OPTIONAL { ?urn nco:creator ?creator . } -+ OPTIONAL { ?urn nco:publisher ?publisher . } -+ {{item_pattern}} -+ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+} -+GROUP BY ?urn -+{{order}} -+{{offset_limit}} --- -GitLab - - -From dbbb76f228bad33334e0574784c34efb7071f950 Mon Sep 17 00:00:00 2001 -From: Sam Thursfield -Date: Sat, 23 May 2020 13:36:25 +0200 -Subject: [PATCH 3/3] Port to Tracker 3 - -Notable changes: - - * User data (favourites, albums) is now stored in a private database in - ~/.local/share/gnome-photos. This is combined with the Tracker Miner - FS index of photos at query time. - * Inside Flatpak, the app connects to Tracker via the new - xdg-tracker-portal instead of talking directly over D-Bus. Access is - limited by the portal so the app can only see the Pictures graph. - * The Flatpak build can use a bundled version of Tracker Miners, if a - suitable version is not available on the host. - * Change detection is done using TrackerNotifier instead of watching - the GraphUpdated D-Bus signal directly. - -Closes https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/59 -Closes https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/152 ---- - data/meson.build | 2 + - data/tracker/meson.build | 33 ++ - ...e.Photos.Tracker3.Miner.Extract.service.in | 7 + - ...ome.Photos.Tracker3.Miner.Files.service.in | 7 + - data/tracker/org.gnome.Photos.domain.rule.in | 20 + - flatpak/org.gnome.Photos.json | 49 +- - meson.build | 3 +- - src/meson.build | 19 +- - ...freedesktop.Tracker3.Miner.Files.Index.xml | 11 + - src/org.freedesktop.Tracker3.Miner.xml | 56 +++ - src/photos-application.c | 176 ++----- - src/photos-base-item.c | 10 + - src/photos-indexing-notification.c | 53 +- - src/photos-item-manager.c | 69 +-- - src/photos-quarks.c | 20 +- - src/photos-query-builder.c | 148 ++++-- - src/photos-search-context.c | 3 + - src/photos-search-context.h | 1 + - src/photos-search-match-manager.c | 2 +- - src/photos-source.c | 14 +- - src/photos-tracker-change-event.c | 136 ----- - src/photos-tracker-change-event.h | 64 --- - src/photos-tracker-change-monitor.c | 468 ------------------ - src/photos-tracker-change-monitor.h | 42 -- - src/photos-tracker-controller.c | 12 +- - src/photos-tracker-extract-priority.xml | 2 +- - src/photos-tracker-import-controller.c | 85 ++-- - src/photos-tracker-queue.c | 206 +++++++- - src/photos-tracker-queue.h | 7 + - src/photos-tracker-resources.xml | 31 -- - src/photos-utils.c | 24 +- - src/photos-utils.h | 2 +- - src/queries/all.sparql.template | 34 +- - src/queries/collections.sparql.template | 20 +- - src/queries/favorite-photos.sparql.template | 20 +- - src/queries/photos.sparql.template | 22 +- - 36 files changed, 736 insertions(+), 1142 deletions(-) - create mode 100644 data/tracker/meson.build - create mode 100644 data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in - create mode 100644 data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in - create mode 100644 data/tracker/org.gnome.Photos.domain.rule.in - create mode 100644 src/org.freedesktop.Tracker3.Miner.Files.Index.xml - create mode 100644 src/org.freedesktop.Tracker3.Miner.xml - delete mode 100644 src/photos-tracker-change-event.c - delete mode 100644 src/photos-tracker-change-event.h - delete mode 100644 src/photos-tracker-change-monitor.c - delete mode 100644 src/photos-tracker-change-monitor.h - delete mode 100644 src/photos-tracker-resources.xml - -diff --git a/data/meson.build b/data/meson.build -index f51a4511..9b528c96 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -83,3 +83,5 @@ install_data( - photos_namespace.to_lower() + '.gschema.xml', - install_dir: join_paths(photos_datadir, 'glib-2.0', 'schemas'), - ) -+ -+subdir('tracker') -diff --git a/data/tracker/meson.build b/data/tracker/meson.build -new file mode 100644 -index 00000000..accc99c2 ---- /dev/null -+++ b/data/tracker/meson.build -@@ -0,0 +1,33 @@ -+# Files needed for running Tracker inside the Flatpak sandbox, for systems -+# which don't have a suitable version of Tracker in the host OS. -+# -+# We must export the .service files from the sandbox so they work on the -+# session bus. This means the Tracker domain name must correspond with the -+# application ID. -+ -+ -+domain_ontologies_dir = get_option('datadir') / 'tracker3' / 'domain-ontologies' -+dbus_services_dir = get_option('datadir') / 'dbus-1' / 'services' -+ -+tracker_domain_config = configuration_data() -+tracker_domain_config.set('application_id', photos_namespace) -+tracker_domain_config.set('domain_rule', get_option('prefix') / domain_ontologies_dir / photos_namespace + '.domain.rule') -+ -+configure_file( -+ input: 'org.gnome.Photos.domain.rule.in', -+ output: photos_namespace + '.domain.rule', -+ configuration: tracker_domain_config, -+ install_dir: domain_ontologies_dir) -+ -+configure_file( -+ input: 'org.gnome.Photos.Tracker3.Miner.Extract.service.in', -+ output: photos_namespace + '.Tracker3.Miner.Extract.service', -+ configuration: tracker_domain_config, -+ install_dir: dbus_services_dir) -+ -+configure_file( -+ input: 'org.gnome.Photos.Tracker3.Miner.Files.service.in', -+ output: photos_namespace + '.Tracker3.Miner.Files.service', -+ configuration: tracker_domain_config, -+ install_dir: dbus_services_dir) -+ -diff --git a/data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in b/data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in -new file mode 100644 -index 00000000..eb7a87aa ---- /dev/null -+++ b/data/tracker/org.gnome.Photos.Tracker3.Miner.Extract.service.in -@@ -0,0 +1,7 @@ -+[D-BUS Service] -+Name=@application_id@.Tracker3.Miner.Extract -+Exec=/app/libexec/tracker-extract-3 --domain-ontology @domain_rule@ -+ -+# Miner details needed for tracker-control -+Path=/org/freedesktop/Tracker3/Miner/Extract -+NameSuffix=Miner.Files -diff --git a/data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in b/data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in -new file mode 100644 -index 00000000..4fa7371d ---- /dev/null -+++ b/data/tracker/org.gnome.Photos.Tracker3.Miner.Files.service.in -@@ -0,0 +1,7 @@ -+[D-BUS Service] -+Name=@application_id@.Tracker3.Miner.Files -+Exec=/app/libexec/tracker-miner-fs-3 --domain-ontology @domain_rule@ --initial-sleep 0 -+ -+# Miner details needed for tracker-control -+Path=/org/freedesktop/Tracker3/Miner/Files -+NameSuffix=Miner.Files -diff --git a/data/tracker/org.gnome.Photos.domain.rule.in b/data/tracker/org.gnome.Photos.domain.rule.in -new file mode 100644 -index 00000000..8f5fc4a1 ---- /dev/null -+++ b/data/tracker/org.gnome.Photos.domain.rule.in -@@ -0,0 +1,20 @@ -+# This defines a private Tracker domain for GNOME Photos. -+# -+# It's used to run the Tracker indexer inside a Flatpak sandbox, when Photos is -+# running on a host that doesn't have a suitable version of Tracker installed. -+ -+[DomainOntology] -+# Location for the Tracker database -+CacheLocation=$XDG_CACHE_HOME/gnome-photos/miner/files -+ -+# Name of the ontology to use, must be one located in -+# $(sharedir)/tracker/ontologies -+OntologyName=nepomuk -+ -+# DBus name for the owner (not optional). Tracker will use -+# the domain as the prefix of the DBus name for all the -+# services related to this domain ontology. -+Domain=@application_id@ -+ -+# List of miners we expect to run in this domain. -+Miners=Miner.Files;Miner.Extract -diff --git a/flatpak/org.gnome.Photos.json b/flatpak/org.gnome.Photos.json -index 4d3ac2a8..adfdaf34 100644 ---- a/flatpak/org.gnome.Photos.json -+++ b/flatpak/org.gnome.Photos.json -@@ -7,7 +7,7 @@ - "tags": [ "nightly" ], - "desktop-file-name-prefix": "(Nightly) ", - "finish-args": [ -- "--env=TRACKER_SPARQL_BACKEND=bus", -+ "--add-policy=Tracker3.dbus:org.freedesktop.Tracker3.Miner.Files=tracker:Pictures", - "--filesystem=xdg-download", - "--filesystem=xdg-pictures", - "--metadata=X-DConf=migrate-path=/org/gnome/photos/", -@@ -17,8 +17,8 @@ - "--socket=wayland", - "--socket=x11", - "--talk-name=org.freedesktop.FileManager1", -- "--talk-name=org.freedesktop.Tracker1", -- "--talk-name=org.freedesktop.Tracker1.Miner.Extract", -+ "--talk-name=org.freedesktop.Tracker3.Miner.Files", -+ "--talk-name=org.freedesktop.Tracker3.Miner.Files.Index", - "--talk-name=com.intel.dleyna-renderer", - "--talk-name=org.gnome.ControlCenter", - "--talk-name=org.gnome.SettingsDaemon", -@@ -248,50 +248,22 @@ - } - ] - }, -- { -- "name": "tracker", -- "buildsystem": "meson", -- "cleanup": [ "/bin", "/etc", "/lib/girepository-1.0", "/share/dbus-1", "/share/gir-1.0" ], -- "config-opts": [ "-Dbash_completion=no", "-Ddocs=false", "-Dsystemd_user_services=no" ], -- "sources": [ -- { -- "type": "git", -- "url": "https://gitlab.gnome.org/GNOME/tracker.git", -- "branch": "tracker-2.3" -- } -- ] -- }, -- { -- "name": "intltool", -- "cleanup": [ "*" ], -- "sources": [ -- { -- "type": "archive", -- "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz", -- "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd" -- } -- ] -- }, - { - "name": "tracker-miners", - "buildsystem": "meson", -- "cleanup": [ "/etc", -- "/share/dbus-1/services/org.freedesktop.Tracker1.Miner.Extract.service", -- "/share/dbus-1/services/org.freedesktop.Tracker1.Writeback.service", -- "/share/tracker/miners/org.freedesktop.Tracker1.Miner.Applications.service", -- "/share/tracker/miners/org.freedesktop.Tracker1.Miner.Extract.service", -- "/share/tracker/miners/org.freedesktop.Tracker1.Miner.RSS.service", -- "/share/glib-2.0/schemas/org.freedesktop.Tracker.Writeback.gschema.xml" ], -- "config-opts": [ "-Dextract=true", -+ "cleanup": [ "/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Extract.service", -+ "/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.service", -+ "/share/dbus-1/services/org.freedesktop.Tracker3.Writeback.service" ], -+ "config-opts": [ "-Dman=false", - "-Dminer_fs=true", - "-Dminer_rss=false", -- "-Dsystemd_user_services=no", -+ "-Dsystemd_user_services=false", - "-Dwriteback=false" ], - "sources": [ - { - "type": "git", - "url": "https://gitlab.gnome.org/GNOME/tracker-miners.git", -- "branch": "tracker-miners-2.3" -+ "branch": "master" - } - ] - }, -@@ -303,7 +275,8 @@ - { - "type": "git", - "url": "https://gitlab.gnome.org/GNOME/gnome-photos.git", -- "disable-shallow-clone": "true" -+ "disable-shallow-clone": "true", -+ "branch": "sam/tracker3" - } - ] - } -diff --git a/meson.build b/meson.build -index ead63250..d20e1289 100644 ---- a/meson.build -+++ b/meson.build -@@ -172,8 +172,7 @@ libgdata_dep = dependency('libgdata', version: '>= 0.15.2') - libgfgraph_dep = dependency('libgfbgraph-0.2', version: '>= 0.2.1') - libjpeg_dep = dependency('libjpeg') - libpng_dep = dependency('libpng16') --tracker_control_dep = dependency('tracker-control-2.0') --tracker_sparql_dep = dependency('tracker-sparql-2.0') -+tracker_sparql_dep = dependency('tracker-sparql-3.0') - - dbus_dep = dependency('dbus-1') - dbus_services_dir = dbus_dep.get_pkgconfig_variable( -diff --git a/src/meson.build b/src/meson.build -index b5b2759c..6b3b7f01 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -205,8 +205,6 @@ sources = common_sources + files( - 'photos-tool-enhance.c', - 'photos-tool-filter-button.c', - 'photos-tool-filters.c', -- 'photos-tracker-change-event.c', -- 'photos-tracker-change-monitor.c', - 'photos-tracker-collection-view-controller.c', - 'photos-tracker-collections-controller.c', - 'photos-tracker-controller.c', -@@ -367,22 +365,18 @@ sources += gnome.gdbus_codegen( - autocleanup: 'all', - ) - --tracker_extract_priority = 'photos-tracker-extract-priority' -- - sources += gnome.gdbus_codegen( -- tracker_extract_priority, -- tracker_extract_priority + '.xml', -- interface_prefix: 'org.freedesktop.Tracker1.', -+ 'photos-tracker-miner', -+ 'org.freedesktop.Tracker3.Miner.xml', -+ interface_prefix: 'org.freedesktop.Tracker3.', - namespace: 'Tracker', - autocleanup: 'all', - ) - --tracker_resources = 'photos-tracker-resources' -- - sources += gnome.gdbus_codegen( -- tracker_resources, -- tracker_resources + '.xml', -- interface_prefix: 'org.freedesktop.Tracker1.', -+ 'photos-tracker-miner-index', -+ 'org.freedesktop.Tracker3.Miner.Files.Index.xml', -+ interface_prefix: 'org.freedesktop.Tracker3.', - namespace: 'Tracker', - autocleanup: 'all', - ) -@@ -401,7 +395,6 @@ deps = common_deps + [ - libgdata_dep, - libgfgraph_dep, - m_dep, -- tracker_control_dep, - tracker_sparql_dep, - ] - -diff --git a/src/org.freedesktop.Tracker3.Miner.Files.Index.xml b/src/org.freedesktop.Tracker3.Miner.Files.Index.xml -new file mode 100644 -index 00000000..e368f1e2 ---- /dev/null -+++ b/src/org.freedesktop.Tracker3.Miner.Files.Index.xml -@@ -0,0 +1,11 @@ -+ -+ -+ -+ -+ -+ " -+ Extension flags, no allowed values at the moment -+ -+ -+ -+ -diff --git a/src/org.freedesktop.Tracker3.Miner.xml b/src/org.freedesktop.Tracker3.Miner.xml -new file mode 100644 -index 00000000..6fe09c84 ---- /dev/null -+++ b/src/org.freedesktop.Tracker3.Miner.xml -@@ -0,0 +1,56 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/src/photos-application.c b/src/photos-application.c -index f7b4b56e..7d6758cd 100644 ---- a/src/photos-application.c -+++ b/src/photos-application.c -@@ -36,7 +36,6 @@ - #include - #include - #include --#include - - #include "photos-application.h" - #include "photos-base-item.h" -@@ -68,7 +67,8 @@ - #include "photos-share-notification.h" - #include "photos-share-point-manager.h" - #include "photos-thumbnail-factory.h" --#include "photos-tracker-extract-priority.h" -+#include "photos-tracker-miner-index.h" -+#include "photos-tracker-queue.h" - #include "photos-utils.h" - - -@@ -127,8 +127,7 @@ struct _PhotosApplication - PhotosSearchProvider *search_provider; - PhotosSelectionController *sel_cntrlr; - PhotosThumbnailFactory *factory; -- TrackerMinerManager *miner_manager; -- TrackerExtractPriority *extract_priority; -+ TrackerMinerFilesIndex *miner_control_proxy; - gboolean empty_results; - gboolean main_window_deleted; - guint create_miners_count; -@@ -149,7 +148,6 @@ static guint signals[LAST_SIGNAL] = { 0 }; - - static void photos_application_search_context_iface_init (PhotosSearchContextInterface *iface); - -- - G_DEFINE_TYPE_WITH_CODE (PhotosApplication, photos_application, GTK_TYPE_APPLICATION, - G_IMPLEMENT_INTERFACE (PHOTOS_TYPE_SEARCH_CONTEXT, - photos_application_search_context_iface_init)); -@@ -174,7 +172,6 @@ static const gchar *DESKTOP_KEY_PICTURE_OPTIONS = "picture-options"; - static const gchar *DESKTOP_KEY_COLOR_SHADING_TYPE = "color-shading-type"; - static const gchar *DESKTOP_KEY_PRIMARY_COLOR = "primary-color"; - static const gchar *DESKTOP_KEY_SECONDARY_COLOR = "secondary-color"; --static const gchar *MINER_FILES = "org.gnome.Photos.Tracker1.Miner.Files"; - - typedef struct _PhotosApplicationCreateData PhotosApplicationCreateData; - typedef struct _PhotosApplicationImportData PhotosApplicationImportData; -@@ -582,27 +579,6 @@ photos_application_actions_update (PhotosApplication *self) - } - - --static void --photos_application_tracker_clear_rdf_types (GObject *source_object, GAsyncResult *res, gpointer user_data) --{ -- PhotosApplication *self = PHOTOS_APPLICATION (user_data); -- TrackerExtractPriority *extract_priority = TRACKER_EXTRACT_PRIORITY (source_object); -- -- { -- g_autoptr (GError) error = NULL; -- -- if (!tracker_extract_priority_call_clear_rdf_types_finish (extract_priority, res, &error)) -- { -- g_warning ("Unable to call ClearRdfTypes: %s", error->message); -- goto out; -- } -- } -- -- out: -- g_application_release (G_APPLICATION (self)); --} -- -- - static gboolean - photos_application_delete_event (PhotosApplication *self) - { -@@ -639,16 +615,6 @@ photos_application_destroy (PhotosApplication *self) - self->create_window_cancellable = g_cancellable_new (); - - photos_application_stop_miners (self); -- -- if (self->extract_priority != NULL) -- { -- g_application_hold (G_APPLICATION (self)); -- tracker_extract_priority_call_clear_rdf_types (self->extract_priority, -- NULL, -- photos_application_tracker_clear_rdf_types, -- self); -- g_clear_object (&self->extract_priority); -- } - } - - -@@ -738,57 +704,34 @@ photos_application_gegl_init_fishes_idle (gpointer user_data) - } - - --static void --photos_application_tracker_set_rdf_types (GObject *source_object, GAsyncResult *res, gpointer user_data) -+static TrackerMinerFilesIndex * -+photos_application_get_miner_fs_control_proxy (GCancellable *cancellable) - { -- PhotosApplication *self = PHOTOS_APPLICATION (user_data); -- TrackerExtractPriority *extract_priority = TRACKER_EXTRACT_PRIORITY (source_object); -- -- { -- g_autoptr (GError) error = NULL; -+ g_autoptr (PhotosTrackerQueue) tracker_queue = NULL; -+ const gchar *miner_fs_control_busname; -+ g_autoptr (GError) error = NULL; -+ TrackerMinerFilesIndex *miner_control_proxy; - -- if (!tracker_extract_priority_call_set_rdf_types_finish (extract_priority, res, &error)) -- { -- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) -- g_warning ("Unable to call SetRdfTypes: %s", error->message); -+ tracker_queue = photos_tracker_queue_dup_singleton (cancellable, &error); - -- goto out; -- } -+ if (!tracker_queue) { -+ g_warning ("Error getting Tracker queue: %s. Import will not work.", error->message); -+ return NULL; - } - -- out: -- g_application_release (G_APPLICATION (self)); --} -- -- --static void --photos_application_tracker_extract_priority (GObject *source_object, GAsyncResult *res, gpointer user_data) --{ -- PhotosApplication *self = PHOTOS_APPLICATION (user_data); -- const gchar *const rdf_types[] = {"nfo:Image", NULL}; -- -- { -- g_autoptr (GError) error = NULL; -- -- self->extract_priority = tracker_extract_priority_proxy_new_for_bus_finish (res, &error); -- if (error != NULL) -- { -- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) -- g_warning ("Unable to create TrackerExtractPriority proxy: %s", error->message); -- -- goto out; -- } -+ miner_fs_control_busname = photos_tracker_queue_get_miner_fs_control_busname (tracker_queue); -+ miner_control_proxy = tracker_miner_files_index_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, -+ G_DBUS_PROXY_FLAGS_NONE, -+ miner_fs_control_busname, -+ "/org/freedesktop/Tracker3/Miner/Files/Control", -+ NULL, -+ &error); -+ if (!miner_control_proxy) { -+ g_warning ("Error getting Tracker Miner FS control proxy: %s. Import will not work", error->message); -+ return NULL; - } - -- g_application_hold (G_APPLICATION (self)); -- tracker_extract_priority_call_set_rdf_types (self->extract_priority, -- rdf_types, -- self->create_window_cancellable, -- photos_application_tracker_set_rdf_types, -- self); -- -- out: -- g_application_release (G_APPLICATION (self)); -+ return miner_control_proxy; - } - - -@@ -826,15 +769,10 @@ photos_application_create_window (PhotosApplication *self) - self->init_fishes_id = g_idle_add (photos_application_gegl_init_fishes_idle, self); - - g_application_hold (G_APPLICATION (self)); -- tracker_extract_priority_proxy_new_for_bus (G_BUS_TYPE_SESSION, -- G_DBUS_PROXY_FLAGS_NONE, -- "org.gnome.Photos.Tracker1.Miner.Extract", -- "/org/freedesktop/Tracker1/Extract/Priority", -- self->create_window_cancellable, -- photos_application_tracker_extract_priority, -- self); - - photos_application_start_miners (self); -+ -+ self->miner_control_proxy = photos_application_get_miner_fs_control_proxy (NULL); - return TRUE; - } - -@@ -1111,18 +1049,18 @@ photos_application_get_state (PhotosSearchContext *context) - - - static void --photos_application_import_index_file (GObject *source_object, GAsyncResult *res, gpointer user_data) -+photos_application_import_index_location (GObject *source_object, GAsyncResult *res, gpointer user_data) - { - PhotosApplication *self; - g_autoptr (GFile) file = G_FILE (user_data); -- TrackerMinerManager *manager = TRACKER_MINER_MANAGER (source_object); -+ TrackerMinerFilesIndex *miner_control_proxy = TRACKER_MINER_FILES_INDEX (source_object); - - self = PHOTOS_APPLICATION (g_application_get_default ()); - - { - g_autoptr (GError) error = NULL; - -- if (!tracker_miner_manager_index_file_for_process_finish (manager, res, &error)) -+ if (!tracker_miner_files_index_call_index_location_finish (miner_control_proxy, res, &error)) - { - g_autofree gchar *uri = NULL; - -@@ -1345,6 +1283,8 @@ photos_application_import_file_copy (GObject *source_object, GAsyncResult *res, - else - { - g_autofree gchar *destination_uri = NULL; -+ const gchar *tracker_priority_graphs[] = { TRACKER_PICTURES_GRAPH }; -+ const gchar *tracker_index_location_flags[] = { "for-process" }; - - g_assert_true (G_IS_FILE (destination)); - g_set_object (&data->destination, destination); -@@ -1361,11 +1301,13 @@ photos_application_import_file_copy (GObject *source_object, GAsyncResult *res, - - g_application_hold (G_APPLICATION (self)); - g_application_mark_busy (G_APPLICATION (self)); -- tracker_miner_manager_index_file_for_process_async (self->miner_manager, -- destination, -- NULL, -- photos_application_import_index_file, -- g_object_ref (destination)); -+ tracker_miner_files_index_call_index_location (self->miner_control_proxy, -+ destination_uri, -+ tracker_priority_graphs, -+ tracker_index_location_flags, -+ NULL, -+ photos_application_import_index_location, -+ g_object_ref (destination)); - } - - out: -@@ -1529,9 +1471,9 @@ photos_application_import (PhotosApplication *self) - selection = photos_selection_controller_get_selection (self->sel_cntrlr); - g_return_if_fail (selection != NULL); - -- if (self->miner_manager == NULL) -+ if (!self->miner_control_proxy) - { -- g_warning ("No TrackerMinerManager, importing from attached devices won't work"); -+ g_warning ("No Tracker3.Miner.Files.Index proxy, importing from attached devices won't work"); - goto out; - } - -@@ -1563,6 +1505,7 @@ photos_application_import (PhotosApplication *self) - gtk_widget_show_all (dialog); - - data = photos_application_import_data_new (self, files, ctime_latest); -+ - g_signal_connect (dialog, - "response", - G_CALLBACK (photos_application_import_response), -@@ -2234,35 +2177,7 @@ photos_application_share_current (PhotosApplication *self) - static void - photos_application_start_miners (PhotosApplication *self) - { -- { -- g_autoptr (GError) error = NULL; -- -- self->miner_manager = tracker_miner_manager_new_full (TRUE, &error); -- if (error != NULL) -- g_warning ("Unable to create a TrackerMinerManager: %s", error->message); -- } -- -- if (self->miner_manager != NULL) -- { -- GSList *available = NULL; -- GSList *miner_files = NULL; -- -- available = tracker_miner_manager_get_available (self->miner_manager); -- miner_files = g_slist_find_custom (available, MINER_FILES, (GCompareFunc) strcmp); -- if (miner_files == NULL) -- { -- g_warning ("Unable to find miner %s", MINER_FILES); -- } -- else -- { -- if (!tracker_miner_manager_is_active (self->miner_manager, MINER_FILES)) -- g_warning ("Unable to activate miner %s", MINER_FILES); -- } -- -- g_slist_free_full (available, g_free); -- } -- -- photos_application_create_online_miners (self); -+ photos_application_create_online_miners (self); - } - - -@@ -2991,6 +2906,7 @@ photos_application_dispose (GObject *object) - g_clear_object (&self->insta_action); - g_clear_object (&self->load_next_action); - g_clear_object (&self->load_previous_action); -+ g_clear_object (&self->miner_control_proxy); - g_clear_object (&self->open_action); - g_clear_object (&self->preview_menu_action); - g_clear_object (&self->primary_menu_action); -@@ -3019,8 +2935,7 @@ photos_application_dispose (GObject *object) - g_clear_object (&self->camera_cache); - g_clear_object (&self->sel_cntrlr); - g_clear_object (&self->factory); -- g_clear_object (&self->extract_priority); -- g_clear_object (&self->miner_manager); -+ g_clear_object (&self->miner_control_proxy); - - if (self->state != NULL) - { -@@ -3148,8 +3063,7 @@ photos_application_get_miners_running (PhotosApplication *self) - return self->miners_running; - } - -- --gint -+int - photos_application_get_scale_factor (PhotosApplication *self) - { - GList *windows; -diff --git a/src/photos-base-item.c b/src/photos-base-item.c -index 0d72f9c5..4ef69224 100644 ---- a/src/photos-base-item.c -+++ b/src/photos-base-item.c -@@ -2756,6 +2756,16 @@ photos_base_item_update_info_from_type (PhotosBaseItem *self) - } - - -+static gdouble -+get_double_with_default (TrackerSparqlCursor *cursor, PhotosQueryColumns column, gdouble default_value) -+{ -+ if (tracker_sparql_cursor_is_bound (cursor, column)) { -+ return tracker_sparql_cursor_get_double (cursor, column); -+ } else { -+ return default_value; -+ } -+} -+ - static void - photos_base_item_populate_from_cursor (PhotosBaseItem *self, TrackerSparqlCursor *cursor) - { -diff --git a/src/photos-indexing-notification.c b/src/photos-indexing-notification.c -index 72394983..122d0d91 100644 ---- a/src/photos-indexing-notification.c -+++ b/src/photos-indexing-notification.c -@@ -26,12 +26,13 @@ - #include - #include - #include --#include - - #include "photos-application.h" - #include "photos-gom-miner.h" - #include "photos-indexing-notification.h" - #include "photos-notification-manager.h" -+#include "photos-tracker-queue.h" -+#include "photos-tracker-miner.h" - - - struct _PhotosIndexingNotification -@@ -41,7 +42,7 @@ struct _PhotosIndexingNotification - GtkWidget *primary_label; - GtkWidget *secondary_label; - GtkWidget *spinner; -- TrackerMinerManager *manager; -+ TrackerMiner *miner_fs_proxy; - gboolean closed; - gboolean on_display; - guint timeout_id; -@@ -56,8 +57,6 @@ enum - REMOTE_MINER_TIMEOUT = 10 /* s */ - }; - --static const gchar *MINER_FILES = "org.gnome.Photos.Tracker1.Miner.Files"; -- - - static void - photos_indexing_notification_remove_timeout (PhotosIndexingNotification *self) -@@ -180,16 +179,18 @@ photos_indexing_notification_check_notification (PhotosIndexingNotification *sel - GSList *running = NULL; - gboolean is_indexing_local = FALSE; - gboolean is_indexing_remote = FALSE; -+ GError *error = NULL; -+ gdouble progress; - -- running = tracker_miner_manager_get_running (self->manager); -- if (g_slist_find_custom (running, (gconstpointer) MINER_FILES, (GCompareFunc) g_strcmp0) != NULL) -- { -- gdouble progress; -+ tracker_miner_call_get_progress_sync (self->miner_fs_proxy, &progress, NULL, &error); -+ if (error) { -+ g_warning ("Couldn't get indexing progress from Tracker Miner FS: %s", error->message); - -- tracker_miner_manager_get_status (self->manager, MINER_FILES, NULL, &progress, NULL); -- if (progress < 1) -- is_indexing_local = TRUE; -- } -+ g_clear_error (&error); -+ } else { -+ if (progress < 1) -+ is_indexing_local = TRUE; -+ } - - app = g_application_get_default (); - miners_running = photos_application_get_miners_running (PHOTOS_APPLICATION (app)); -@@ -222,7 +223,6 @@ photos_indexing_notification_dispose (GObject *object) - photos_indexing_notification_remove_timeout (self); - - g_clear_object (&self->ntfctn_mngr); -- g_clear_object (&self->manager); - - G_OBJECT_CLASS (photos_indexing_notification_parent_class)->dispose (object); - } -@@ -240,13 +240,25 @@ photos_indexing_notification_init (PhotosIndexingNotification *self) - app = g_application_get_default (); - - { -+ g_autoptr (PhotosTrackerQueue) tracker_queue; - g_autoptr (GError) error = NULL; -+ const gchar *miner_fs_busname; -+ -+ tracker_queue = photos_tracker_queue_dup_singleton (NULL, &error); -+ -+ if (tracker_queue) { -+ miner_fs_busname = photos_tracker_queue_get_miner_fs_busname (tracker_queue); -+ self->miner_fs_proxy = tracker_miner_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, -+ G_DBUS_PROXY_FLAGS_NONE, -+ miner_fs_busname, -+ "/org/freedesktop/Tracker3/Miner/Files", -+ NULL, -+ &error); -+ } - -- self->manager = tracker_miner_manager_new_full (TRUE, &error); - if (error != NULL) - { -- g_warning ("Unable to create a TrackerMinerManager, indexing progress notification won't work: %s", -- error->message); -+ g_warning ("Unable to create proxy for Tracker Miner FS, indexing progress notification won't work"); - return; - } - } -@@ -293,10 +305,11 @@ photos_indexing_notification_init (PhotosIndexingNotification *self) - self, - G_CONNECT_SWAPPED); - -- g_signal_connect_swapped (self->manager, -- "miner-progress", -- G_CALLBACK (photos_indexing_notification_check_notification), -- self); -+ g_signal_connect_object (self->miner_fs_proxy, -+ "progress", -+ G_CALLBACK (photos_indexing_notification_check_notification), -+ self, -+ G_CONNECT_SWAPPED); - } - - -diff --git a/src/photos-item-manager.c b/src/photos-item-manager.c -index 337891c1..4dfe3c7e 100644 ---- a/src/photos-item-manager.c -+++ b/src/photos-item-manager.c -@@ -41,12 +41,9 @@ - #include "photos-query.h" - #include "photos-search-context.h" - #include "photos-single-item-job.h" --#include "photos-tracker-change-event.h" --#include "photos-tracker-change-monitor.h" - #include "photos-tracker-queue.h" - #include "photos-utils.h" - -- - struct _PhotosItemManager - { - PhotosBaseManager parent_instance; -@@ -60,7 +57,7 @@ struct _PhotosItemManager - PhotosBaseItem *active_collection; - PhotosBaseManager **item_mngr_chldrn; - PhotosLoadState load_state; -- PhotosTrackerChangeMonitor *monitor; -+ TrackerNotifier *notifier; - PhotosTrackerQueue *queue; - PhotosWindowMode mode; - gboolean fullscreen; -@@ -311,7 +308,7 @@ photos_item_manager_add_cursor_for_mode (PhotosItemManager *self, - g_return_if_fail (base_item_type == G_TYPE_NONE - || (base_item_type != PHOTOS_TYPE_BASE_ITEM - && g_type_is_a (base_item_type, PHOTOS_TYPE_BASE_ITEM))); -- g_return_if_fail (TRACKER_SPARQL_IS_CURSOR (cursor)); -+ g_return_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor)); - g_return_if_fail (mode != PHOTOS_WINDOW_MODE_NONE); - g_return_if_fail (mode != PHOTOS_WINDOW_MODE_EDIT); - g_return_if_fail (mode != PHOTOS_WINDOW_MODE_PREVIEW); -@@ -529,21 +526,23 @@ photos_item_manager_item_created (PhotosItemManager *self, const gchar *urn) - - - static void --photos_item_manager_changes_pending_foreach (gpointer key, gpointer value, gpointer user_data) -+photos_item_manager_changes_pending_foreach (gpointer data, -+ gpointer user_data) - { - PhotosItemManager *self = PHOTOS_ITEM_MANAGER (user_data); -- PhotosTrackerChangeEvent *change_event = (PhotosTrackerChangeEvent *) value; -- PhotosTrackerChangeEventType change_type; -+ TrackerNotifierEvent *event = (TrackerNotifierEvent *) data; -+ TrackerNotifierEventType change_type; - const gchar *change_urn; - -- change_type = photos_tracker_change_event_get_type (change_event); -- change_urn = photos_tracker_change_event_get_urn (change_event); -+ change_type = tracker_notifier_event_get_event_type (event); -+ change_urn = tracker_notifier_event_get_urn (event); - -- if (change_type == PHOTOS_TRACKER_CHANGE_EVENT_CHANGED) -+ if (change_type == TRACKER_NOTIFIER_EVENT_UPDATE) - { - GObject *object; - - object = photos_base_manager_get_object_by_id (PHOTOS_BASE_MANAGER (self), change_urn); -+ g_message ("UPDATE event for %s, object %p", change_urn, object); - if (object != NULL) - { - photos_base_item_refresh (PHOTOS_BASE_ITEM (object)); -@@ -557,15 +556,17 @@ photos_item_manager_changes_pending_foreach (gpointer key, gpointer value, gpoin - } - } - } -- else if (change_type == PHOTOS_TRACKER_CHANGE_EVENT_CREATED) -+ else if (change_type == TRACKER_NOTIFIER_EVENT_CREATE) - { -+ g_message ("CREATE event for %s", change_urn); - photos_item_manager_item_created (self, change_urn); - } -- else if (change_type == PHOTOS_TRACKER_CHANGE_EVENT_DELETED) -+ else if (change_type == TRACKER_NOTIFIER_EVENT_DELETE) - { - GObject *object; - - object = photos_base_manager_get_object_by_id (PHOTOS_BASE_MANAGER (self), change_urn); -+ g_message ("DELETE event for %s, object %p", change_urn, object); - if (object != NULL) - { - photos_base_item_destroy (PHOTOS_BASE_ITEM (object)); -@@ -577,9 +578,15 @@ photos_item_manager_changes_pending_foreach (gpointer key, gpointer value, gpoin - - - static void --photos_item_manager_changes_pending (PhotosItemManager *self, GHashTable *changes) --{ -- g_hash_table_foreach (changes, photos_item_manager_changes_pending_foreach, self); -+photos_item_manager_changes_pending (PhotosItemManager *self, -+ const gchar *service, -+ const gchar *graph, -+ GPtrArray *events, -+ gpointer user_data) -+{ -+ if (g_str_equal (graph, TRACKER_PICTURES_GRAPH)) { -+ g_ptr_array_foreach (events, photos_item_manager_changes_pending_foreach, self); -+ } - } - - -@@ -717,7 +724,7 @@ photos_item_manager_wait_for_changes_timeout (gpointer user_data) - g_autoptr (PhotosQuery) query = NULL; - g_autofree gchar *sparql = NULL; - -- sparql = g_strdup_printf ("SELECT ?urn nie:url (?urn) WHERE { ?urn nie:url '%s' }", uri); -+ sparql = g_strdup_printf ("SELECT ?urn nie:isStoredAs (?urn) WHERE { ?urn nie:isStoredAs '%s' }", uri); - query = photos_query_new (NULL, sparql); - photos_tracker_queue_select (self->queue, - query, -@@ -1038,7 +1045,7 @@ photos_item_manager_dispose (GObject *object) - g_clear_object (&self->active_object); - g_clear_object (&self->loader_cancellable); - g_clear_object (&self->active_collection); -- g_clear_object (&self->monitor); -+ g_clear_object (&self->notifier); - g_clear_object (&self->queue); - - G_OBJECT_CLASS (photos_item_manager_parent_class)->dispose (object); -@@ -1093,20 +1100,24 @@ photos_item_manager_init (PhotosItemManager *self) - - self->mode = PHOTOS_WINDOW_MODE_NONE; - -- self->monitor = photos_tracker_change_monitor_dup_singleton (NULL, NULL); -- if (G_LIKELY (self->monitor != NULL)) -- g_signal_connect_object (self->monitor, -- "changes-pending", -- G_CALLBACK (photos_item_manager_changes_pending), -- self, -- G_CONNECT_SWAPPED); -- - { - g_autoptr (GError) error = NULL; - - self->queue = photos_tracker_queue_dup_singleton (NULL, &error); - if (G_UNLIKELY (error != NULL)) -- g_warning ("Unable to create PhotosTrackerQueue: %s", error->message); -+ { -+ g_warning ("Unable to create PhotosTrackerQueue: %s", error->message); -+ self->notifier = NULL; -+ } -+ else -+ { -+ self->notifier = photos_tracker_queue_get_notifier (self->queue); -+ g_signal_connect_object (self->notifier, -+ "events", -+ G_CALLBACK (photos_item_manager_changes_pending), -+ self, -+ G_CONNECT_SWAPPED); -+ } - } - - self->fullscreen = FALSE; -@@ -1241,7 +1252,7 @@ photos_item_manager_add_item (PhotosItemManager *self, - g_return_if_fail (base_item_type == G_TYPE_NONE - || (base_item_type != PHOTOS_TYPE_BASE_ITEM - && g_type_is_a (base_item_type, PHOTOS_TYPE_BASE_ITEM))); -- g_return_if_fail (TRACKER_SPARQL_IS_CURSOR (cursor)); -+ g_return_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor)); - - id = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_URN, NULL); - g_return_if_fail (id != NULL && id[0] != '\0'); -@@ -1370,7 +1381,7 @@ photos_item_manager_create_item (PhotosItemManager *self, - g_return_val_if_fail (base_item_type == G_TYPE_NONE - || (base_item_type != PHOTOS_TYPE_BASE_ITEM - && g_type_is_a (base_item_type, PHOTOS_TYPE_BASE_ITEM)), NULL); -- g_return_val_if_fail (TRACKER_SPARQL_IS_CURSOR (cursor), NULL); -+ g_return_val_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor), NULL); - - id = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_URN, NULL); - item = PHOTOS_BASE_ITEM (photos_base_manager_get_object_by_id (PHOTOS_BASE_MANAGER (self), id)); -diff --git a/src/photos-quarks.c b/src/photos-quarks.c -index 0870ef62..5ee25745 100644 ---- a/src/photos-quarks.c -+++ b/src/photos-quarks.c -@@ -25,68 +25,68 @@ - GQuark - photos_quarks_flash_off_quark (void) - { -- return g_quark_from_static_string ("http://www.tracker-project.org/temp/nmm#flash-off"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nmm#flash-off"); - } - - - GQuark - photos_quarks_flash_on_quark (void) - { -- return g_quark_from_static_string ("http://www.tracker-project.org/temp/nmm#flash-on"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nmm#flash-on"); - } - - - GQuark - photos_quarks_orientation_bottom_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-bottom"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-bottom"); - } - - - GQuark - photos_quarks_orientation_bottom_mirror_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-bottom-mirror"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-bottom-mirror"); - } - - - GQuark - photos_quarks_orientation_left_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-left"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-left"); - } - - - GQuark - photos_quarks_orientation_left_mirror_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-left-mirror"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-left-mirror"); - } - - - GQuark - photos_quarks_orientation_right_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-right"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-right"); - } - - - GQuark - photos_quarks_orientation_right_mirror_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-right-mirror"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-right-mirror"); - } - - - GQuark - photos_quarks_orientation_top_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-top"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-top"); - } - - - GQuark - photos_quarks_orientation_top_mirror_quark (void) - { -- return g_quark_from_static_string ("http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#orientation-top-mirror"); -+ return g_quark_from_static_string ("http://tracker.api.gnome.org/ontology/v3/nfo#orientation-top-mirror"); - } -diff --git a/src/photos-query-builder.c b/src/photos-query-builder.c -index 5d9d8a5a..9b1baf29 100644 ---- a/src/photos-query-builder.c -+++ b/src/photos-query-builder.c -@@ -25,6 +25,7 @@ - - #include - -+#include "photos-application.h" - #include "photos-base-manager.h" - #include "photos-query.h" - #include "photos-query-builder.h" -@@ -32,6 +33,7 @@ - #include "photos-source-manager.h" - #include "photos-search-match-manager.h" - #include "photos-search-type-manager.h" -+#include "photos-tracker-queue.h" - - #define PHOTOS_QUERY_COLLECTIONS_IDENTIFIER "photos:collection:" - #define PHOTOS_QUERY_LOCAL_COLLECTIONS_IDENTIFIER "photos:collection:local:" -@@ -48,12 +50,14 @@ const gchar *photos_default_filter = \ - - static gchar * - photos_query_builder_query (PhotosSearchContextState *state, -- gboolean global, -+ const gchar *values, - gint flags, - PhotosOffsetController *offset_cntrlr) - { - PhotosSparqlTemplate *template; -- const gchar *projection = NULL; -+ const gchar *miner_fs_busname = NULL; -+ const gchar *main_projection = NULL; -+ const gchar *second_projection = NULL; - g_autofree gchar *item_pattern = NULL; - g_autofree gchar *search_filter = NULL; - g_autofree gchar *source_filter = NULL; -@@ -63,29 +67,35 @@ photos_query_builder_query (PhotosSearchContextState *state, - - template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags); - -- projection = "?urn " -- "nie:url (?urn) " -- "nfo:fileName (?urn) " -- "nie:mimeType (?urn) " -- "nie:title (?urn) " -- "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') " -- "tracker:coalesce (nfo:fileLastModified (?urn), nie:contentLastModified (?urn)) AS ?mtime " -- "nao:identifier (?urn) " -- "rdf:type (?urn) " -- "nie:dataSource(?urn) " -- "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) " -- "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) " -- "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn)) " -- "nfo:width (?urn) " -- "nfo:height (?urn) " -- "nfo:equipment (?urn) " -- "nfo:orientation (?urn) " -- "nmm:exposureTime (?urn) " -- "nmm:fnumber (?urn) " -- "nmm:focalLength (?urn) " -- "nmm:isoSpeed (?urn) " -- "nmm:flash (?urn) " -- "slo:location (?urn) "; -+ miner_fs_busname = photos_tracker_queue_get_miner_fs_busname (state->queue); -+ -+ main_projection = "?urn " -+ "?file " -+ "nfo:fileName (?file) AS ?filename " -+ "nie:mimeType (?urn) AS ?mimetype " -+ "nie:title (?urn) AS ?title " -+ "tracker:coalesce (nco:fullname (?creator), nco:fullname (?publisher), '') AS ?author_name " -+ "tracker:coalesce (nfo:fileLastModified (?file), nie:contentLastModified (?urn)) AS ?mtime " -+ "nao:identifier (?urn) AS ?identifier " -+ "rdf:type (?urn) AS ?type " -+ "nie:dataSource(?urn) AS ?datasource " -+ "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) AS ?has_contributor " -+ "tracker:coalesce(nfo:fileCreated (?file), nie:contentCreated (?urn)) AS ?ctime " -+ "nfo:width (?urn) AS ?width " -+ "nfo:height (?urn) AS ?height " -+ "nfo:equipment (?urn) AS ?equipment " -+ "nfo:orientation (?urn) AS ?orientation " -+ "nmm:exposureTime (?urn) AS ?exposure_time " -+ "nmm:fnumber (?urn) AS ?fnumber " -+ "nmm:focalLength (?urn) AS ?focal_length " -+ "nmm:isoSpeed (?urn) AS ?isospeed " -+ "nmm:flash (?urn) AS ?flash " -+ "slo:location (?urn) AS ?location "; -+ -+ second_projection = "?urn ?file ?filename ?mimetype ?title ?author_name ?mtime ?identifier ?type ?datasource " -+ "( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) AS ?is_favorite " -+ "?has_contributor ?ctime ?width ?height ?equipment ?orientation ?exposure_time ?fnumber " -+ "?focal_length ?isospeed ?flash ?location "; - - item_pattern = photos_base_manager_get_where (state->item_mngr, flags); - -@@ -97,7 +107,7 @@ photos_query_builder_query (PhotosSearchContextState *state, - - order = "ORDER BY DESC (?mtime)"; - -- if (global && (flags & PHOTOS_QUERY_FLAGS_UNLIMITED) == 0) -+ if (values == NULL && (flags & PHOTOS_QUERY_FLAGS_UNLIMITED) == 0) - { - gint offset = 0; - gint step = 60; -@@ -112,12 +122,16 @@ photos_query_builder_query (PhotosSearchContextState *state, - } - - sparql = photos_sparql_template_get_sparql (template, -- "projection", projection, -+ "miner_fs_busname", miner_fs_busname, -+ "main_projection", main_projection, -+ "second_projection", second_projection, -+ "final_projection", second_projection, -+ "values", values ? values : "", - "collections_default_filter", collections_default_filter, - "item_pattern", item_pattern, - "photos_default_filter", photos_default_filter, -- "source_filter", source_filter ? source_filter : "", -- "search_filter", search_filter ? search_filter : "", -+ "source_filter", source_filter ? source_filter : "(true)", -+ "search_filter", search_filter ? search_filter : "(true)", - "order", order, - "offset_limit", offset_limit ? offset_limit : "", - NULL); -@@ -133,6 +147,7 @@ photos_query_builder_create_collection_query (PhotosSearchContextState *state, - { - GTimeVal tv; - PhotosQuery *query; -+ g_autoptr (TrackerResource) collection = NULL; - g_autofree gchar *identifier = NULL; - g_autofree gchar *sparql = NULL; - g_autofree gchar *time = NULL; -@@ -147,13 +162,14 @@ photos_query_builder_create_collection_query (PhotosSearchContextState *state, - tv.tv_usec = 0; - time = g_time_val_to_iso8601 (&tv); - -- sparql = g_strdup_printf ("INSERT { _:res a nfo:DataContainer ; a nie:DataObject ; " -- "nie:contentLastModified '%s' ; " -- "nie:title '%s' ; " -- "nao:identifier '%s' }", -- time, -- name, -- identifier); -+ collection = tracker_resource_new ("_:res"); -+ tracker_resource_add_uri (collection, "rdf:type", "nfo:DataContainer"); -+ tracker_resource_add_uri (collection, "rdf:type", "nie:DataObject"); -+ tracker_resource_set_string (collection, "nie:contentLastModified", time); -+ tracker_resource_set_string (collection, "nie:title", name); -+ tracker_resource_set_string (collection, "nao:identifier", identifier); -+ -+ sparql = tracker_resource_print_sparql_update (collection, NULL, "tracker:Pictures"); - - query = photos_query_new (state, sparql); - -@@ -183,7 +199,9 @@ PhotosQuery * - photos_query_builder_count_query (PhotosSearchContextState *state, gint flags) - { - PhotosSparqlTemplate *template; -- const gchar *projection = NULL; -+ const gchar *miner_fs_busname = NULL; -+ const gchar *count_projection = NULL; -+ const gchar *value_projection = NULL; - g_autofree gchar *item_pattern = NULL; - g_autofree gchar *search_filter = NULL; - g_autofree gchar *source_filter = NULL; -@@ -192,7 +210,10 @@ photos_query_builder_count_query (PhotosSearchContextState *state, gint flags) - - template = photos_base_manager_get_sparql_template (state->srch_typ_mngr, flags); - -- projection = "COUNT(?urn) "; -+ miner_fs_busname = photos_tracker_queue_get_miner_fs_busname (state->queue); -+ -+ value_projection = "?urn "; -+ count_projection = "COUNT(?urn) "; - - item_pattern = photos_base_manager_get_where (state->item_mngr, flags); - -@@ -203,12 +224,16 @@ photos_query_builder_count_query (PhotosSearchContextState *state, gint flags) - } - - sparql = photos_sparql_template_get_sparql (template, -- "projection", projection, -+ "miner_fs_busname", miner_fs_busname, -+ "main_projection", value_projection, -+ "second_projection", value_projection, -+ "final_projection", count_projection, -+ "values", "", - "collections_default_filter", collections_default_filter, - "item_pattern", item_pattern, - "photos_default_filter", photos_default_filter, -- "source_filter", source_filter ? source_filter : "", -- "search_filter", search_filter ? search_filter : "", -+ "source_filter", source_filter ? source_filter : "(true)", -+ "search_filter", search_filter ? search_filter : "(true)", - "order", "", - "offset_limit", "", - NULL); -@@ -267,7 +292,7 @@ photos_query_builder_fetch_collections_local (PhotosSearchContextState *state) - g_autofree gchar *sparql = NULL; - - sparql = photos_query_builder_query (state, -- TRUE, -+ NULL, - PHOTOS_QUERY_FLAGS_COLLECTIONS - | PHOTOS_QUERY_FLAGS_LOCAL - | PHOTOS_QUERY_FLAGS_UNLIMITED, -@@ -287,7 +312,7 @@ photos_query_builder_global_query (PhotosSearchContextState *state, - PhotosQuery *query; - g_autofree gchar *sparql = NULL; - -- sparql = photos_query_builder_query (state, TRUE, flags, offset_cntrlr); -+ sparql = photos_query_builder_query (state, NULL, flags, offset_cntrlr); - query = photos_query_new (state, sparql); - - return query; -@@ -316,10 +341,19 @@ photos_query_builder_set_collection_query (PhotosSearchContextState *state, - PhotosQuery *query; - g_autofree gchar *sparql = NULL; - -- sparql = g_strdup_printf ("%s { <%s> nie:isPartOf <%s> }", -- setting ? "INSERT" : "DELETE", -- item_urn, -- collection_urn); -+ if (setting) -+ sparql = g_strdup_printf ("INSERT DATA { " -+ " GRAPH tracker:Pictures {" -+ " <%s> a nie:DataObject , nmm:Photo ; " -+ " nie:isPartOf <%s> " -+ " }" -+ "}", item_urn, collection_urn); -+ else -+ sparql = g_strdup_printf ("DELETE DATA { " -+ " GRAPH tracker:Pictures {" -+ " <%s> nie:isPartOf <%s> " -+ " }" -+ "}", item_urn, collection_urn); - query = photos_query_new (state, sparql); - - return query; -@@ -329,17 +363,14 @@ photos_query_builder_set_collection_query (PhotosSearchContextState *state, - PhotosQuery * - photos_query_builder_single_query (PhotosSearchContextState *state, gint flags, const gchar *resource) - { -- g_autoptr (GRegex) regex = NULL; - PhotosQuery *query; -- g_autofree gchar *replacement = NULL; - g_autofree gchar *sparql = NULL; -- g_autofree gchar *tmp = NULL; -+ g_autofree gchar *values = NULL; -+ -+ values = g_strdup_printf ("VALUES ?urn { <%s> }", resource); - -- tmp = photos_query_builder_query (state, FALSE, flags, NULL); -+ sparql = photos_query_builder_query (state, values, flags, NULL); - -- regex = g_regex_new ("\\?urn", 0, 0, NULL); -- replacement = g_strconcat ("<", resource, ">", NULL); -- sparql = g_regex_replace (regex, tmp, -1, 0, replacement, 0, NULL); - query = photos_query_new (state, sparql); - - return query; -@@ -360,7 +391,14 @@ photos_query_builder_update_mtime_query (PhotosSearchContextState *state, const - tv.tv_usec = 0; - time = g_time_val_to_iso8601 (&tv); - -- sparql = g_strdup_printf ("INSERT OR REPLACE { <%s> nie:contentLastModified '%s' }", resource, time); -+ sparql = g_strdup_printf ("WITH tracker:Pictures " -+ "DELETE { <%s> nie:contentLastModified ?time } " -+ "INSERT { " -+ " <%s> a nmm:Photo ; " -+ " nie:contentLastModified '%s' " -+ "}" -+ "WHERE { <%s> nie:contentLastModified ?time }", -+ resource, resource, time, resource); - query = photos_query_new (state, sparql); - - return query; -diff --git a/src/photos-search-context.c b/src/photos-search-context.c -index 4b503798..6f8694bc 100644 ---- a/src/photos-search-context.c -+++ b/src/photos-search-context.c -@@ -31,6 +31,7 @@ - #include "photos-search-match-manager.h" - #include "photos-search-type-manager.h" - #include "photos-source-manager.h" -+#include "photos-tracker-queue.h" - - - G_DEFINE_INTERFACE (PhotosSearchContext, photos_search_context, G_TYPE_OBJECT); -@@ -54,6 +55,7 @@ photos_search_context_state_new (PhotosSearchContext *self) - state->srch_cntrlr = photos_search_controller_new (); - state->srch_mtch_mngr = photos_search_match_manager_new (state->srch_cntrlr); - state->srch_typ_mngr = photos_search_type_manager_new (); -+ state->queue = photos_tracker_queue_dup_singleton (NULL, NULL); - - return state; - } -@@ -68,6 +70,7 @@ photos_search_context_state_free (PhotosSearchContextState *state) - g_object_unref (state->srch_mtch_mngr); - g_object_unref (state->srch_typ_mngr); - g_object_unref (state->srch_cntrlr); -+ g_clear_object (&state->queue); - g_slice_free (PhotosSearchContextState, state); - } - -diff --git a/src/photos-search-context.h b/src/photos-search-context.h -index 2af6cf96..5a18d386 100644 ---- a/src/photos-search-context.h -+++ b/src/photos-search-context.h -@@ -41,6 +41,7 @@ struct _PhotosSearchContextState - gpointer srch_typ_mngr; - gpointer offset_cntrlr; - gpointer srch_cntrlr; -+ gpointer queue; - }; - - PhotosSearchContextState *photos_search_context_state_new (PhotosSearchContext *self); -diff --git a/src/photos-search-match-manager.c b/src/photos-search-match-manager.c -index e6dc429a..2ba1fd0f 100644 ---- a/src/photos-search-match-manager.c -+++ b/src/photos-search-match-manager.c -@@ -148,7 +148,7 @@ photos_search_match_manager_init (PhotosSearchMatchManager *self) - " tracker:case-fold (tracker:coalesce (nco:fullname (?creator), nco:fullname(?publisher)))," - " \"%s\")"; - title_filter = "fn:contains (" -- " tracker:case-fold (tracker:coalesce (nie:title (?urn), nfo:fileName(?urn)))," -+ " tracker:case-fold (tracker:coalesce (nie:title (?urn), nfo:fileName(?file)))," - " \"%s\")"; - - search_match = photos_search_match_new (PHOTOS_SEARCH_MATCH_STOCK_ALL, -diff --git a/src/photos-source.c b/src/photos-source.c -index db6f2de9..5219652c 100644 ---- a/src/photos-source.c -+++ b/src/photos-source.c -@@ -62,7 +62,7 @@ G_DEFINE_TYPE_WITH_CODE (PhotosSource, photos_source, G_TYPE_OBJECT, - DZL_DEFINE_COUNTER (instances, "PhotosSource", "Instances", "Number of PhotosSource instances") - - --static const gchar *TRACKER_SCHEMA = "org.freedesktop.Tracker.Miner.Files"; -+static const gchar *TRACKER_SCHEMA = "org.freedesktop.Tracker3.Miner.Files"; - static const gchar *TRACKER_KEY_RECURSIVE_DIRECTORIES = "index-recursive-directories"; - - -@@ -94,7 +94,7 @@ photos_source_build_filter_local (void) - continue; - - tracker_uri = photos_utils_convert_path_to_uri (tracker_dirs[i]); -- g_string_append_printf (tracker_filter, " || fn:contains (nie:url (?urn), '%s')", tracker_uri); -+ g_string_append_printf (tracker_filter, " || fn:contains (nie:isStoredAs (?urn), '%s')", tracker_uri); - } - - path = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP); -@@ -109,11 +109,11 @@ photos_source_build_filter_local (void) - export_path = g_build_filename (path, PHOTOS_EXPORT_SUBPATH, NULL); - export_uri = photos_utils_convert_path_to_uri (export_path); - -- filter = g_strdup_printf ("(((fn:contains (nie:url (?urn), '%s')" -- " || fn:contains (nie:url (?urn), '%s')" -- " || fn:contains (nie:url (?urn), '%s')" -+ filter = g_strdup_printf ("(((fn:contains (nie:isStoredAs (?urn), '%s')" -+ " || fn:contains (nie:isStoredAs (?urn), '%s')" -+ " || fn:contains (nie:isStoredAs (?urn), '%s')" - " %s)" -- " && !fn:contains (nie:url (?urn), '%s'))" -+ " && !fn:contains (nie:isStoredAs (?urn), '%s'))" - " || fn:starts-with (nao:identifier (?urn), '%s')" - " || (?urn = nfo:image-category-screenshot))", - desktop_uri, -@@ -146,7 +146,7 @@ photos_source_build_filter_resource (PhotosSource *self) - - root = g_mount_get_root (self->mount); - uri = g_file_get_uri (root); -- filter = g_strdup_printf ("(fn:starts-with (nie:url (?urn), '%s'))", uri); -+ filter = g_strdup_printf ("(fn:starts-with (nie:isStoredAs (?urn), '%s'))", uri); - } - else - { -diff --git a/src/photos-tracker-change-event.c b/src/photos-tracker-change-event.c -deleted file mode 100644 -index d5c74ebc..00000000 ---- a/src/photos-tracker-change-event.c -+++ /dev/null -@@ -1,136 +0,0 @@ --/* -- * Photos - access, organize and share your photos on GNOME -- * Copyright © 2012 – 2019 Red Hat, 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, see . -- */ -- --/* Based on code from: -- * + Documents -- */ -- -- --#include "config.h" -- --#include "photos-tracker-change-event.h" -- -- --struct _PhotosTrackerChangeEvent --{ -- PhotosTrackerChangeEventType type; -- gchar *predicate; -- gchar *urn; -- gint32 predicate_id; -- gint32 urn_id; --}; -- -- --static const gchar *RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; -- -- --void --photos_tracker_change_event_free (PhotosTrackerChangeEvent *self) --{ -- g_free (self->predicate); -- g_free (self->urn); -- g_slice_free (PhotosTrackerChangeEvent, self); --} -- -- --PhotosTrackerChangeEvent * --photos_tracker_change_event_new (gint32 urn_id, gint32 predicate_id, gboolean is_delete) --{ -- PhotosTrackerChangeEvent *self; -- -- self = g_slice_new0 (PhotosTrackerChangeEvent); -- self->urn_id = urn_id; -- self->predicate_id = predicate_id; -- -- if (is_delete) -- self->type = PHOTOS_TRACKER_CHANGE_EVENT_DELETED; -- else -- self->type = PHOTOS_TRACKER_CHANGE_EVENT_CREATED; -- -- return self; --} -- -- --PhotosTrackerChangeEvent * --photos_tracker_change_event_copy (PhotosTrackerChangeEvent *event) --{ -- PhotosTrackerChangeEvent *self; -- -- self = g_slice_new0 (PhotosTrackerChangeEvent); -- self->type = event->type; -- self->predicate = g_strdup (event->predicate); -- self->urn = g_strdup (event->urn); -- self->predicate_id = event->predicate_id; -- self->urn_id = event->urn_id; -- -- return self; --} -- -- --PhotosTrackerChangeEventType --photos_tracker_change_event_get_type (PhotosTrackerChangeEvent *self) --{ -- return self->type; --} -- -- --gint32 --photos_tracker_change_event_get_predicate_id (PhotosTrackerChangeEvent *self) --{ -- return self->predicate_id; --} -- -- --const gchar * --photos_tracker_change_event_get_urn (PhotosTrackerChangeEvent *self) --{ -- return self->urn; --} -- -- --gint32 --photos_tracker_change_event_get_urn_id (PhotosTrackerChangeEvent *self) --{ -- return self->urn_id; --} -- -- --void --photos_tracker_change_event_merge (PhotosTrackerChangeEvent *self, PhotosTrackerChangeEvent *event) --{ -- g_return_if_fail (g_strcmp0 (self->urn, event->urn) == 0); -- -- if (event->type == PHOTOS_TRACKER_CHANGE_EVENT_DELETED || event->type == PHOTOS_TRACKER_CHANGE_EVENT_CREATED) -- self->type = event->type; --} -- -- --void --photos_tracker_change_event_set_resolved_values (PhotosTrackerChangeEvent *self, -- const gchar *urn, -- const gchar *predicate) --{ -- g_return_if_fail (self->predicate == NULL); -- g_return_if_fail (self->urn == NULL); -- -- self->urn = g_strdup (urn); -- self->predicate = g_strdup (predicate); -- -- if (g_strcmp0 (predicate, RDF_TYPE) != 0) -- self->type = PHOTOS_TRACKER_CHANGE_EVENT_CHANGED; --} -diff --git a/src/photos-tracker-change-event.h b/src/photos-tracker-change-event.h -deleted file mode 100644 -index eee4f40c..00000000 ---- a/src/photos-tracker-change-event.h -+++ /dev/null -@@ -1,64 +0,0 @@ --/* -- * Photos - access, organize and share your photos on GNOME -- * Copyright © 2012 – 2019 Red Hat, 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, see . -- */ -- --/* Based on code from: -- * + Documents -- */ -- --#ifndef PHOTOS_TRACKER_CHANGE_EVENT_H --#define PHOTOS_TRACKER_CHANGE_EVENT_H -- --#include -- --G_BEGIN_DECLS -- --typedef enum --{ -- PHOTOS_TRACKER_CHANGE_EVENT_CHANGED, -- PHOTOS_TRACKER_CHANGE_EVENT_CREATED, -- PHOTOS_TRACKER_CHANGE_EVENT_DELETED --} PhotosTrackerChangeEventType; -- --typedef struct _PhotosTrackerChangeEvent PhotosTrackerChangeEvent; -- --PhotosTrackerChangeEvent *photos_tracker_change_event_new (gint32 urn_id, -- gint32 predicate_id, -- gboolean is_delete); -- --PhotosTrackerChangeEvent *photos_tracker_change_event_copy (PhotosTrackerChangeEvent *event); -- --void photos_tracker_change_event_free (PhotosTrackerChangeEvent *self); -- --PhotosTrackerChangeEventType photos_tracker_change_event_get_type (PhotosTrackerChangeEvent *self); -- --gint32 photos_tracker_change_event_get_predicate_id (PhotosTrackerChangeEvent *self); -- --const gchar *photos_tracker_change_event_get_urn (PhotosTrackerChangeEvent *self); -- --gint32 photos_tracker_change_event_get_urn_id (PhotosTrackerChangeEvent *self); -- --void photos_tracker_change_event_merge (PhotosTrackerChangeEvent *self, -- PhotosTrackerChangeEvent *event); -- --void photos_tracker_change_event_set_resolved_values (PhotosTrackerChangeEvent *self, -- const gchar *urn, -- const gchar *predicate); -- --G_END_DECLS -- --#endif /* PHOTOS_TRACKER_CHANGE_EVENT_H */ -diff --git a/src/photos-tracker-change-monitor.c b/src/photos-tracker-change-monitor.c -deleted file mode 100644 -index 44c9ffe7..00000000 ---- a/src/photos-tracker-change-monitor.c -+++ /dev/null -@@ -1,468 +0,0 @@ --/* -- * Photos - access, organize and share your photos on GNOME -- * Copyright © 2012 – 2019 Red Hat, 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, see . -- */ -- --/* Based on code from: -- * + Documents -- */ -- -- --#include "config.h" -- --#include --#include -- --#include "photos-tracker-change-event.h" --#include "photos-tracker-change-monitor.h" --#include "photos-tracker-queue.h" --#include "photos-tracker-resources.h" --#include "photos-query.h" -- -- --struct _PhotosTrackerChangeMonitor --{ -- GObject parent_instance; -- GHashTable *pending_changes; -- GHashTable *unresolved_ids; -- GQueue *pending_events; -- PhotosTrackerQueue *queue; -- TrackerResources *resource_service; -- guint outstanding_ops; -- guint pending_events_id; --}; -- --enum --{ -- CHANGES_PENDING, -- LAST_SIGNAL --}; -- --static guint signals[LAST_SIGNAL] = { 0 }; -- --static void photos_tracker_change_monitor_initable_iface_init (GInitableIface *iface); -- -- --G_DEFINE_TYPE_EXTENDED (PhotosTrackerChangeMonitor, photos_tracker_change_monitor, G_TYPE_OBJECT, 0, -- G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, photos_tracker_change_monitor_initable_iface_init)); -- -- --enum --{ -- CHANGE_MONITOR_TIMEOUT = 500, /* ms */ -- CHANGE_MONITOR_MAX_ITEMS = 500 --}; -- -- --typedef struct _PhotosTrackerChangeMonitorQueryData PhotosTrackerChangeMonitorQueryData; --typedef struct _TrackerResourcesEvent TrackerResourcesEvent; -- --struct _PhotosTrackerChangeMonitorQueryData --{ -- PhotosTrackerChangeMonitor *self; -- GHashTable *id_table; -- GQueue *events; --}; -- --struct _TrackerResourcesEvent --{ -- gint32 graph; -- gint32 subject; -- gint32 predicate; -- gint32 object; --}; -- -- --static void --photos_tracker_change_monitor_query_data_free (PhotosTrackerChangeMonitorQueryData *data) --{ -- g_clear_object (&data->self); -- -- if (data->id_table != NULL) -- g_hash_table_unref (data->id_table); -- -- if (data->events != NULL) -- g_queue_free_full (data->events, (GDestroyNotify) photos_tracker_change_event_free); -- -- g_slice_free (PhotosTrackerChangeMonitorQueryData, data); --} -- -- --static PhotosTrackerChangeMonitorQueryData * --photos_tracker_change_monitor_query_data_new (PhotosTrackerChangeMonitor *self, -- GHashTable *id_table, -- GQueue *events) --{ -- PhotosTrackerChangeMonitorQueryData *data; -- -- data = g_slice_new0 (PhotosTrackerChangeMonitorQueryData); -- data->self = g_object_ref (self); -- data->id_table = id_table; -- data->events = events; -- -- return data; --} -- -- --static void --photos_tracker_change_monitor_add_event (PhotosTrackerChangeMonitor *self, PhotosTrackerChangeEvent *change_event) --{ -- PhotosTrackerChangeEvent *old_change_event; -- const gchar *urn; -- -- urn = photos_tracker_change_event_get_urn (change_event); -- old_change_event = (PhotosTrackerChangeEvent *) g_hash_table_lookup (self->pending_changes, urn); -- -- if (old_change_event != NULL) -- photos_tracker_change_event_merge (old_change_event, change_event); -- else -- g_hash_table_insert (self->pending_changes, g_strdup (urn), photos_tracker_change_event_copy (change_event)); --} -- -- --static void --photos_tracker_change_monitor_remove_timeout (PhotosTrackerChangeMonitor *self) --{ -- if (self->pending_events_id != 0) -- { -- g_source_remove (self->pending_events_id); -- self->pending_events_id = 0; -- } --} -- -- --static void --photos_tracker_change_monitor_send_events (PhotosTrackerChangeMonitor *self, GHashTable *id_table, GQueue *events) --{ -- GList *l; -- -- for (l = events->head; l != NULL; l = l->next) -- { -- PhotosTrackerChangeEvent *change_event = (PhotosTrackerChangeEvent *) l->data; -- const gchar *predicate; -- const gchar *urn; -- gint32 predicate_id; -- gint32 urn_id; -- -- predicate_id = photos_tracker_change_event_get_predicate_id (change_event); -- urn_id = photos_tracker_change_event_get_urn_id (change_event); -- -- predicate = (gchar *) g_hash_table_lookup (id_table, GINT_TO_POINTER (predicate_id)); -- if (G_UNLIKELY (predicate == NULL)) -- continue; -- -- urn = (gchar *) g_hash_table_lookup (id_table, GINT_TO_POINTER (urn_id)); -- if (G_UNLIKELY (urn == NULL)) -- continue; -- -- photos_tracker_change_event_set_resolved_values (change_event, urn, predicate); -- photos_tracker_change_monitor_add_event (self, change_event); -- } -- -- g_signal_emit (self, signals[CHANGES_PENDING], 0, self->pending_changes); -- g_hash_table_remove_all (self->pending_changes); --} -- -- --static void --photos_tracker_change_monitor_cursor_next (GObject *source_object, GAsyncResult *res, gpointer user_data) --{ -- PhotosTrackerChangeMonitorQueryData *data = (PhotosTrackerChangeMonitorQueryData *) user_data; -- PhotosTrackerChangeMonitor *self = data->self; -- TrackerSparqlCursor *cursor = TRACKER_SPARQL_CURSOR (source_object); -- GHashTableIter iter; -- gboolean valid; -- -- { -- g_autoptr (GError) error = NULL; -- -- valid = tracker_sparql_cursor_next_finish (cursor, res, &error); -- if (error != NULL) -- g_warning ("Unable to resolve item URNs for graph changes: %s", error->message); -- } -- -- if (valid) -- { -- guint idx; -- -- idx = 0; -- g_hash_table_iter_init (&iter, data->id_table); -- while (g_hash_table_iter_next (&iter, NULL, NULL)) -- { -- const gchar *str; -- -- str = tracker_sparql_cursor_get_string (cursor, idx, NULL); -- g_hash_table_iter_replace (&iter, g_strdup (str)); -- idx++; -- } -- -- photos_tracker_change_monitor_send_events (self, data->id_table, data->events); -- } -- -- tracker_sparql_cursor_close (cursor); -- photos_tracker_change_monitor_query_data_free (data); --} -- -- --static void --photos_tracker_change_monitor_query_executed (GObject *source_object, GAsyncResult *res, gpointer user_data) --{ -- PhotosTrackerChangeMonitorQueryData *data = (PhotosTrackerChangeMonitorQueryData *) user_data; -- TrackerSparqlConnection *connection = TRACKER_SPARQL_CONNECTION (source_object); -- TrackerSparqlCursor *cursor; /* TODO: Use g_autoptr */ -- -- { -- g_autoptr (GError) error = NULL; -- -- cursor = tracker_sparql_connection_query_finish (connection, res, &error); -- if (error != NULL) -- { -- g_warning ("Unable to resolve item URNs for graph changes: %s", error->message); -- photos_tracker_change_monitor_query_data_free (data); -- return; -- } -- } -- -- tracker_sparql_cursor_next_async (cursor, NULL, photos_tracker_change_monitor_cursor_next, data); -- g_object_unref (cursor); --} -- -- --static gboolean --photos_tracker_change_monitor_process_events (PhotosTrackerChangeMonitor *self) --{ -- GHashTable *id_table; -- GHashTableIter iter; -- GQueue *events; -- g_autoptr (GString) sparql = NULL; -- PhotosTrackerChangeMonitorQueryData *data; -- g_autoptr (PhotosQuery) query = NULL; -- gpointer id; -- -- events = self->pending_events; -- self->pending_events = g_queue_new (); -- -- id_table = self->unresolved_ids; -- self->unresolved_ids = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); -- -- self->pending_events_id = 0; -- -- sparql = g_string_new ("SELECT"); -- -- g_hash_table_iter_init (&iter, id_table); -- while (g_hash_table_iter_next (&iter, &id, NULL)) -- g_string_append_printf (sparql, " tracker:uri(%d)", GPOINTER_TO_INT (id)); -- -- g_string_append (sparql, " {}"); -- -- query = photos_query_new (NULL, sparql->str); -- -- data = photos_tracker_change_monitor_query_data_new (self, id_table, events); -- photos_tracker_queue_select (self->queue, -- query, -- NULL, -- photos_tracker_change_monitor_query_executed, -- data, -- NULL); -- -- return G_SOURCE_REMOVE; --} -- -- --static void --photos_tracker_change_monitor_add_pending_event (PhotosTrackerChangeMonitor *self, -- const TrackerResourcesEvent *event, -- gboolean is_delete) --{ -- PhotosTrackerChangeEvent *change_event; -- -- photos_tracker_change_monitor_remove_timeout (self); -- -- g_hash_table_insert (self->unresolved_ids, GINT_TO_POINTER (event->subject), NULL); -- g_hash_table_insert (self->unresolved_ids, GINT_TO_POINTER (event->predicate), NULL); -- -- change_event = photos_tracker_change_event_new (event->subject, event->predicate, is_delete); -- g_queue_push_tail (self->pending_events, change_event); -- -- if (self->pending_events->length >= CHANGE_MONITOR_MAX_ITEMS) -- photos_tracker_change_monitor_process_events (self); -- else -- self->pending_events_id = g_timeout_add (CHANGE_MONITOR_TIMEOUT, -- (GSourceFunc) photos_tracker_change_monitor_process_events, -- self); --} -- -- --static void --photos_tracker_change_monitor_graph_updated (TrackerResources *resource_service, -- const gchar *class_name, -- GVariant *delete_events, -- GVariant *insert_events, -- gpointer user_data) --{ -- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (user_data); -- const TrackerResourcesEvent *events; -- gsize i; -- gsize n_elements; -- -- events = (const TrackerResourcesEvent *) g_variant_get_fixed_array (delete_events, -- &n_elements, -- sizeof (TrackerResourcesEvent)); -- for (i = 0; i < n_elements; i++) -- photos_tracker_change_monitor_add_pending_event (self, &events[i], TRUE); -- -- events = (const TrackerResourcesEvent *) g_variant_get_fixed_array (insert_events, -- &n_elements, -- sizeof (TrackerResourcesEvent)); -- for (i = 0; i < n_elements; i++) -- photos_tracker_change_monitor_add_pending_event (self, &events[i], FALSE); --} -- -- --static GObject * --photos_tracker_change_monitor_constructor (GType type, -- guint n_construct_params, -- GObjectConstructParam *construct_params) --{ -- static GObject *self = NULL; -- -- if (self == NULL) -- { -- self = G_OBJECT_CLASS (photos_tracker_change_monitor_parent_class)->constructor (type, -- n_construct_params, -- construct_params); -- g_object_add_weak_pointer (self, (gpointer) &self); -- return self; -- } -- -- return g_object_ref (self); --} -- -- --static void --photos_tracker_change_monitor_dispose (GObject *object) --{ -- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (object); -- -- photos_tracker_change_monitor_remove_timeout (self); -- -- g_clear_object (&self->queue); -- g_clear_object (&self->resource_service); -- -- G_OBJECT_CLASS (photos_tracker_change_monitor_parent_class)->dispose (object); --} -- -- --static void --photos_tracker_change_monitor_finalize (GObject *object) --{ -- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (object); -- -- g_hash_table_unref (self->pending_changes); -- g_hash_table_unref (self->unresolved_ids); -- -- g_queue_free_full (self->pending_events, (GDestroyNotify) photos_tracker_change_event_free); -- -- G_OBJECT_CLASS (photos_tracker_change_monitor_parent_class)->finalize (object); --} -- -- --static void --photos_tracker_change_monitor_init (PhotosTrackerChangeMonitor *self) --{ -- self->pending_changes = g_hash_table_new_full (g_str_hash, -- g_str_equal, -- g_free, -- (GDestroyNotify) photos_tracker_change_event_free); -- -- self->unresolved_ids = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); -- -- self->pending_events = g_queue_new (); --} -- -- --static void --photos_tracker_change_monitor_class_init (PhotosTrackerChangeMonitorClass *class) --{ -- GObjectClass *object_class = G_OBJECT_CLASS (class); -- -- object_class->constructor = photos_tracker_change_monitor_constructor; -- object_class->dispose = photos_tracker_change_monitor_dispose; -- object_class->finalize = photos_tracker_change_monitor_finalize; -- -- signals[CHANGES_PENDING] = g_signal_new ("changes-pending", -- G_TYPE_FROM_CLASS (class), -- G_SIGNAL_RUN_LAST, -- 0, -- NULL, /*accumulator */ -- NULL, /*accu_data */ -- g_cclosure_marshal_VOID__BOXED, -- G_TYPE_NONE, -- 1, -- G_TYPE_HASH_TABLE); --} -- -- --static gboolean --photos_tracker_change_monitor_initable_init (GInitable *initable, GCancellable *cancellable, GError **error) --{ -- PhotosTrackerChangeMonitor *self = PHOTOS_TRACKER_CHANGE_MONITOR (initable); -- gboolean ret_val = TRUE; -- -- if (G_LIKELY (self->queue != NULL && self->resource_service != NULL)) -- goto out; -- -- self->queue = photos_tracker_queue_dup_singleton (cancellable, error); -- if (G_UNLIKELY (self->queue == NULL)) -- { -- ret_val = FALSE; -- goto out; -- } -- -- self->resource_service = tracker_resources_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, -- G_DBUS_PROXY_FLAGS_NONE, -- "org.gnome.Photos.Tracker1", -- "/org/freedesktop/Tracker1/Resources", -- cancellable, -- error); -- if (G_UNLIKELY (self->resource_service == NULL)) -- { -- ret_val = FALSE; -- goto out; -- } -- -- g_signal_connect (self->resource_service, -- "graph-updated", -- G_CALLBACK (photos_tracker_change_monitor_graph_updated), -- self); -- -- out: -- return ret_val; --} -- -- --static void --photos_tracker_change_monitor_initable_iface_init (GInitableIface *iface) --{ -- iface->init = photos_tracker_change_monitor_initable_init; --} -- -- --PhotosTrackerChangeMonitor * --photos_tracker_change_monitor_dup_singleton (GCancellable *cancellable, GError **error) --{ -- return g_initable_new (PHOTOS_TYPE_TRACKER_CHANGE_MONITOR, cancellable, error, NULL); --} -diff --git a/src/photos-tracker-change-monitor.h b/src/photos-tracker-change-monitor.h -deleted file mode 100644 -index 9740b046..00000000 ---- a/src/photos-tracker-change-monitor.h -+++ /dev/null -@@ -1,42 +0,0 @@ --/* -- * Photos - access, organize and share your photos on GNOME -- * Copyright © 2012 – 2019 Red Hat, 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, see . -- */ -- --/* Based on code from: -- * + Documents -- */ -- --#ifndef PHOTOS_TRACKER_CHANGE_MONITOR_H --#define PHOTOS_TRACKER_CHANGE_MONITOR_H -- --#include -- --G_BEGIN_DECLS -- --#define PHOTOS_TYPE_TRACKER_CHANGE_MONITOR (photos_tracker_change_monitor_get_type ()) --G_DECLARE_FINAL_TYPE (PhotosTrackerChangeMonitor, -- photos_tracker_change_monitor, -- PHOTOS, -- TRACKER_CHANGE_MONITOR, -- GObject); -- --PhotosTrackerChangeMonitor *photos_tracker_change_monitor_dup_singleton (GCancellable *cancellable, -- GError **error); -- --G_END_DECLS -- --#endif /* PHOTOS_TRACKER_CHANGE_MONITOR_H */ -diff --git a/src/photos-tracker-controller.c b/src/photos-tracker-controller.c -index a02db077..6d0053a1 100644 ---- a/src/photos-tracker-controller.c -+++ b/src/photos-tracker-controller.c -@@ -292,6 +292,12 @@ photos_tracker_controller_perform_current_query (PhotosTrackerController *self) - - priv = photos_tracker_controller_get_instance_private (self); - -+ if (G_UNLIKELY (priv->queue == NULL)) -+ { -+ photos_tracker_controller_query_error (self, priv->queue_error); -+ goto out; -+ } -+ - g_clear_object (&priv->current_query); - priv->current_query = PHOTOS_TRACKER_CONTROLLER_GET_CLASS (self)->get_query (self); - g_return_if_fail (priv->current_query != NULL); -@@ -303,12 +309,6 @@ photos_tracker_controller_perform_current_query (PhotosTrackerController *self) - g_object_unref (priv->cancellable); - priv->cancellable = g_cancellable_new (); - -- if (G_UNLIKELY (priv->queue == NULL)) -- { -- photos_tracker_controller_query_error (self, priv->queue_error); -- goto out; -- } -- - photos_tracker_queue_select (priv->queue, - priv->current_query, - priv->cancellable, -diff --git a/src/photos-tracker-extract-priority.xml b/src/photos-tracker-extract-priority.xml -index 7e3b9b0c..2b562299 100644 ---- a/src/photos-tracker-extract-priority.xml -+++ b/src/photos-tracker-extract-priority.xml -@@ -21,7 +21,7 @@ - --> - - -- -+ - - - -diff --git a/src/photos-tracker-import-controller.c b/src/photos-tracker-import-controller.c -index 9f130714..d7ed9b20 100644 ---- a/src/photos-tracker-import-controller.c -+++ b/src/photos-tracker-import-controller.c -@@ -24,7 +24,6 @@ - #include "config.h" - - #include --#include - - #include "photos-base-manager.h" - #include "photos-debug.h" -@@ -34,6 +33,8 @@ - #include "photos-query-builder.h" - #include "photos-search-context.h" - #include "photos-tracker-import-controller.h" -+#include "photos-tracker-miner-index.h" -+#include "photos-tracker-queue.h" - #include "photos-utils.h" - - -@@ -45,7 +46,7 @@ struct _PhotosTrackerImportController - PhotosBaseManager *item_mngr; - PhotosBaseManager *src_mngr; - PhotosOffsetController *offset_cntrlr; -- TrackerMinerManager *manager; -+ TrackerMinerFilesIndex *miner_control_proxy; - }; - - -@@ -76,12 +77,12 @@ static void - photos_tracker_import_controller_index (GObject *source_object, GAsyncResult *res, gpointer user_data) - { - g_autoptr (GFile) file = G_FILE (user_data); -- TrackerMinerManager *manager = TRACKER_MINER_MANAGER (source_object); -+ TrackerMinerFilesIndex *miner_control_proxy = TRACKER_MINER_FILES_INDEX (source_object); - - { - g_autoptr (GError) error = NULL; - -- if (!tracker_miner_manager_index_file_for_process_finish (manager, res, &error)) -+ if (!tracker_miner_files_index_call_index_location_finish (miner_control_proxy, res, &error)) - { - if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) - { -@@ -102,6 +103,8 @@ photos_tracker_import_controller_next_files (GObject *source_object, GAsyncResul - GFileEnumerator *enumerator = G_FILE_ENUMERATOR (source_object); - GList *infos = NULL; - GList *l; -+ const gchar *tracker_priority_graphs[] = { TRACKER_PICTURES_GRAPH }; -+ const gchar *tracker_index_location_flags[] = { "for-process" }; - - { - g_autoptr (GError) error = NULL; -@@ -187,11 +190,13 @@ photos_tracker_import_controller_next_files (GObject *source_object, GAsyncResul - if (g_content_type_equals (mime_type, IMPORTABLE_MIME_TYPES[i]) - || g_content_type_is_a (mime_type, IMPORTABLE_MIME_TYPES[i])) - { -- tracker_miner_manager_index_file_for_process_async (self->manager, -- file, -- self->cancellable, -- photos_tracker_import_controller_index, -- g_object_ref (file)); -+ tracker_miner_files_index_call_index_location (self->miner_control_proxy, -+ uri, -+ tracker_priority_graphs, -+ tracker_index_location_flags, -+ self->cancellable, -+ photos_tracker_import_controller_index, -+ g_object_ref (file)); - indexing = TRUE; - } - } -@@ -291,28 +296,6 @@ photos_tracker_import_controller_source_active_changed (PhotosTrackerImportContr - { - g_return_if_fail (g_queue_is_empty (self->pending_directories)); - -- if (G_LIKELY (self->manager != NULL)) -- { -- g_autoptr (GFile) root = NULL; -- g_autofree gchar *uri = NULL; -- -- root = g_mount_get_root (mount); -- g_queue_push_tail (self->pending_directories, g_object_ref (root)); -- -- uri = g_file_get_uri (root); -- photos_debug (PHOTOS_DEBUG_IMPORT, "Enumerating device directory %s", uri); -- -- g_file_enumerate_children_async (root, -- G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE"," -- G_FILE_ATTRIBUTE_STANDARD_NAME"," -- G_FILE_ATTRIBUTE_STANDARD_TYPE, -- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, -- G_PRIORITY_DEFAULT, -- self->cancellable, -- photos_tracker_import_controller_enumerate_children, -- self); -- } -- - photos_tracker_controller_refresh_for_object (PHOTOS_TRACKER_CONTROLLER (self)); - } - } -@@ -379,7 +362,6 @@ photos_tracker_import_controller_dispose (GObject *object) - - g_clear_object (&self->src_mngr); - g_clear_object (&self->offset_cntrlr); -- g_clear_object (&self->manager); - - G_OBJECT_CLASS (photos_tracker_import_controller_parent_class)->dispose (object); - } -@@ -397,6 +379,37 @@ photos_tracker_import_controller_finalize (GObject *object) - } - - -+static TrackerMinerFilesIndex * -+photos_tracker_import_controller_get_miner_fs_control_proxy (GCancellable *cancellable) -+{ -+ g_autoptr (PhotosTrackerQueue) tracker_queue = NULL; -+ const gchar *miner_fs_control_busname; -+ g_autoptr (GError) error = NULL; -+ TrackerMinerFilesIndex *miner_control_proxy; -+ -+ tracker_queue = photos_tracker_queue_dup_singleton (cancellable, &error); -+ -+ if (!tracker_queue) { -+ g_warning ("Error getting Tracker queue: %s. Import will not work.", error->message); -+ return NULL; -+ } -+ -+ miner_fs_control_busname = photos_tracker_queue_get_miner_fs_control_busname (tracker_queue); -+ miner_control_proxy = tracker_miner_files_index_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, -+ G_DBUS_PROXY_FLAGS_NONE, -+ miner_fs_control_busname, -+ "/org/freedesktop/Tracker3/Miner/Files/Control", -+ NULL, -+ &error); -+ if (!miner_control_proxy) { -+ g_warning ("Error getting Tracker Miner FS control proxy: %s. Import will not work", error->message); -+ return NULL; -+ } -+ -+ return miner_control_proxy; -+} -+ -+ - static void - photos_tracker_import_controller_init (PhotosTrackerImportController *self) - { -@@ -421,13 +434,7 @@ photos_tracker_import_controller_init (PhotosTrackerImportController *self) - - self->offset_cntrlr = photos_offset_import_controller_dup_singleton (); - -- { -- g_autoptr (GError) error = NULL; -- -- self->manager = tracker_miner_manager_new_full (TRUE, &error); -- if (error != NULL) -- g_warning ("Unable to create a TrackerMinerManager, indexing attached devices won't work: %s", error->message); -- } -+ self->miner_control_proxy = photos_tracker_import_controller_get_miner_fs_control_proxy (NULL); - } - - -diff --git a/src/photos-tracker-queue.c b/src/photos-tracker-queue.c -index 76d25d5d..a5f4c91a 100644 ---- a/src/photos-tracker-queue.c -+++ b/src/photos-tracker-queue.c -@@ -37,9 +37,20 @@ struct _PhotosTrackerQueue - GObject parent_instance; - GError *initialization_error; - GQueue *queue; -- TrackerSparqlConnection *connection; -+ TrackerSparqlConnection *local_connection; -+ TrackerSparqlConnection *miner_fs_connection; - gboolean is_initialized; - gboolean running; -+ gboolean miner_fs_ready; -+ const gchar *miner_fs_busname; -+ const gchar *miner_fs_control_busname; -+}; -+ -+enum -+{ -+ PROP_0, -+ PROP_MINER_FS_READY, -+ PROP_MINER_FS_BUSNAME - }; - - static void photos_tracker_queue_initable_iface_init (GInitableIface *iface); -@@ -90,7 +101,6 @@ photos_tracker_queue_data_free (PhotosTrackerQueueData *data) - - G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosTrackerQueueData, photos_tracker_queue_data_free); - -- - static PhotosTrackerQueueData * - photos_tracker_queue_data_new (PhotosQuery *query, - PhotosTrackerQueryType query_type, -@@ -179,7 +189,7 @@ photos_tracker_queue_check (PhotosTrackerQueue *self) - switch (data->query_type) - { - case PHOTOS_TRACKER_QUERY_SELECT: -- tracker_sparql_connection_query_async (self->connection, -+ tracker_sparql_connection_query_async (self->local_connection, - sparql, - data->cancellable, - photos_tracker_queue_collector, -@@ -187,18 +197,16 @@ photos_tracker_queue_check (PhotosTrackerQueue *self) - break; - - case PHOTOS_TRACKER_QUERY_UPDATE: -- tracker_sparql_connection_update_async (self->connection, -+ tracker_sparql_connection_update_async (self->local_connection, - sparql, -- G_PRIORITY_DEFAULT, - data->cancellable, - photos_tracker_queue_collector, - g_object_ref (self)); - break; - - case PHOTOS_TRACKER_QUERY_UPDATE_BLANK: -- tracker_sparql_connection_update_blank_async (self->connection, -+ tracker_sparql_connection_update_blank_async (self->local_connection, - sparql, -- G_PRIORITY_DEFAULT, - data->cancellable, - photos_tracker_queue_collector, - g_object_ref (self)); -@@ -211,6 +219,53 @@ photos_tracker_queue_check (PhotosTrackerQueue *self) - } - - -+static gboolean -+photos_tracker_queue_start_session_miner_fs (PhotosTrackerQueue *self, GError **error) -+{ -+ const gchar *busname = "org.freedesktop.Tracker3.Miner.Files"; -+ const gchar *control_busname = "org.freedesktop.Tracker3.Miner.Files.Control"; -+ -+ photos_debug (PHOTOS_DEBUG_TRACKER, "Connecting to %s", busname); -+ self->miner_fs_connection = tracker_sparql_connection_bus_new (busname, NULL, NULL, error); -+ if (*error) -+ { -+ g_warning ("Unable to create connection for session-wide Tracker indexer at %s: %s", busname, (*error)->message); -+ return FALSE; -+ } -+ -+ self->miner_fs_busname = busname; -+ self->miner_fs_control_busname = control_busname; -+ -+ return TRUE; -+} -+ -+ -+static gboolean -+photos_tracker_queue_start_local_miner_fs (PhotosTrackerQueue *self, GError **error) -+{ -+ const gchar *busname = "org.gnome.Photos.Tracker3.Miner.Files"; -+ const gchar *control_busname = "org.gnome.Photos.Tracker3.Miner.Files.Control"; -+ -+ photos_debug (PHOTOS_DEBUG_TRACKER, "Connecting to %s", busname); -+ self->miner_fs_connection = tracker_sparql_connection_bus_new (busname, NULL, NULL, error); -+ if (*error) -+ { -+ g_critical ("Could not start local Tracker indexer at %s: %s", busname, (*error)->message); -+ return FALSE; -+ } -+ -+ self->miner_fs_busname = busname; -+ self->miner_fs_control_busname = control_busname; -+ -+ return TRUE; -+} -+ -+static gboolean -+inside_flatpak (void) -+{ -+ return g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS); -+} -+ - static GObject * - photos_tracker_queue_constructor (GType type, guint n_construct_params, GObjectConstructParam *construct_params) - { -@@ -234,7 +289,8 @@ photos_tracker_queue_dispose (GObject *object) - { - PhotosTrackerQueue *self = PHOTOS_TRACKER_QUEUE (object); - -- g_clear_object (&self->connection); -+ g_clear_object (&self->local_connection); -+ g_clear_object (&self->miner_fs_connection); - - G_OBJECT_CLASS (photos_tracker_queue_parent_class)->dispose (object); - } -@@ -258,6 +314,38 @@ photos_tracker_queue_init (PhotosTrackerQueue *self) - self->queue = g_queue_new (); - } - -+static void -+photos_tracker_queue_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) -+{ -+ PhotosTrackerQueue *self = PHOTOS_TRACKER_QUEUE (object); -+ -+ switch (prop_id) -+ { -+ case PROP_MINER_FS_READY: -+ g_value_set_boolean (value, self->miner_fs_ready); -+ break; -+ -+ case PROP_MINER_FS_BUSNAME: -+ g_value_set_string (value, self->miner_fs_busname); -+ break; -+ -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ break; -+ } -+} -+ -+static void -+photos_tracker_queue_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) -+{ -+ switch (prop_id) -+ { -+ /* All properties are read only */ -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ break; -+ } -+} - - static void - photos_tracker_queue_class_init (PhotosTrackerQueueClass *class) -@@ -267,6 +355,24 @@ photos_tracker_queue_class_init (PhotosTrackerQueueClass *class) - object_class->constructor = photos_tracker_queue_constructor; - object_class->dispose = photos_tracker_queue_dispose; - object_class->finalize = photos_tracker_queue_finalize; -+ object_class->get_property = photos_tracker_queue_get_property; -+ object_class->set_property = photos_tracker_queue_set_property; -+ -+ g_object_class_install_property (object_class, -+ PROP_MINER_FS_READY, -+ g_param_spec_boolean ("tracker-miner-fs-ready", -+ "Tracker Miner FS ready", -+ "TRUE if it is possible to query Tracker indexer", -+ FALSE, -+ G_PARAM_READABLE)); -+ -+ g_object_class_install_property (object_class, -+ PROP_MINER_FS_BUSNAME, -+ g_param_spec_string ("tracker-miner-fs-busname", -+ "Tracker Miner FS busname", -+ "D-Bus name of the Tracker indexer daemon", -+ "", -+ G_PARAM_READABLE)); - } - - -@@ -274,13 +380,16 @@ static gboolean - photos_tracker_queue_initable_init (GInitable *initable, GCancellable *cancellable, GError **error) - { - PhotosTrackerQueue *self = PHOTOS_TRACKER_QUEUE (initable); -+ TrackerSparqlConnectionFlags tracker_flags; -+ g_autoptr (GFile) store = NULL; - gboolean ret_val = FALSE; -+ gboolean miner_ok = FALSE; - - G_LOCK (init_lock); - - if (self->is_initialized) - { -- if (self->connection != NULL) -+ if (self->local_connection != NULL && self->miner_fs_connection != NULL) - ret_val = TRUE; - else - g_assert_nonnull (self->initialization_error); -@@ -290,13 +399,49 @@ photos_tracker_queue_initable_init (GInitable *initable, GCancellable *cancellab - - g_assert_no_error (self->initialization_error); - -- tracker_sparql_connection_set_domain ("org.gnome.Photos"); -+ /* Connect to the local database which stores user data. -+ * -+ * Same flags that tracker-miner-fs uses by default. See: -+ * https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/miners/fs/tracker-main.c#L735 and -+ * https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/data/org.freedesktop.Tracker.FTS.gschema.xml */ -+ tracker_flags = TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_UNACCENT | -+ TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_STOP_WORDS | -+ TRACKER_SPARQL_CONNECTION_FLAGS_FTS_IGNORE_NUMBERS; -+ -+ store = g_file_new_build_filename (g_get_user_data_dir (), "gnome-photos", NULL); -+ -+ photos_debug (PHOTOS_DEBUG_TRACKER, "Opening local database at %s", g_file_peek_path (store)); -+ self->local_connection = tracker_sparql_connection_new (tracker_flags, -+ store, -+ tracker_sparql_get_ontology_nepomuk (), -+ cancellable, -+ &self->initialization_error); - -- self->connection = tracker_sparql_connection_get (cancellable, &self->initialization_error); - if (G_UNLIKELY (self->initialization_error != NULL)) - goto out; - -- ret_val = TRUE; -+ /* Connect to filesystem indexer. */ -+ miner_ok = photos_tracker_queue_start_session_miner_fs (self, &self->initialization_error); -+ -+ if (!miner_ok && inside_flatpak ()) -+ { -+ g_clear_error (&self->initialization_error); -+ miner_ok = photos_tracker_queue_start_local_miner_fs (self, &self->initialization_error); -+ } -+ -+ if (miner_ok) -+ { -+ photos_debug (PHOTOS_DEBUG_TRACKER, "Using %s as tracker-miner-fs", self->miner_fs_busname); -+ ret_val = TRUE; -+ } -+ else -+ { -+ photos_debug (PHOTOS_DEBUG_TRACKER, "Initialization failed due to %s", self->initialization_error->message); -+ g_clear_object (&self->miner_fs_connection); -+ g_clear_object (&self->local_connection); -+ ret_val = FALSE; -+ } -+ - - out: - self->is_initialized = TRUE; -@@ -321,10 +466,44 @@ photos_tracker_queue_initable_iface_init (GInitableIface *iface) - PhotosTrackerQueue * - photos_tracker_queue_dup_singleton (GCancellable *cancellable, GError **error) - { -+ GObject *singleton; -+ - g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL); - g_return_val_if_fail (error == NULL || *error == NULL, NULL); - -- return g_initable_new (PHOTOS_TYPE_TRACKER_QUEUE, cancellable, error, NULL); -+ singleton = g_object_new (PHOTOS_TYPE_TRACKER_QUEUE, NULL); -+ -+ if (g_initable_init (G_INITABLE (singleton), cancellable, error)) -+ return PHOTOS_TRACKER_QUEUE (singleton); -+ -+ /* On error we deliberately don't unref the object so that we won't try -+ * and re-initialize Tracker when called again. -+ */ -+ return NULL; -+} -+ -+ -+const gchar * -+photos_tracker_queue_get_miner_fs_busname (PhotosTrackerQueue *self) -+{ -+ return self->miner_fs_busname; -+} -+ -+ -+const gchar * -+photos_tracker_queue_get_miner_fs_control_busname (PhotosTrackerQueue *self) -+{ -+ return self->miner_fs_control_busname; -+} -+ -+ -+TrackerNotifier * -+photos_tracker_queue_get_notifier (PhotosTrackerQueue *self) -+{ -+ /* We want notifications on filesystem changes, we don't need them for the -+ * local database which we manage ourselves. -+ */ -+ return tracker_sparql_connection_create_notifier (self->miner_fs_connection); - } - - -@@ -353,6 +532,7 @@ photos_tracker_queue_select (PhotosTrackerQueue *self, - } - - -+ - void - photos_tracker_queue_update (PhotosTrackerQueue *self, - PhotosQuery *query, -diff --git a/src/photos-tracker-queue.h b/src/photos-tracker-queue.h -index 93d97306..6e31ecf6 100644 ---- a/src/photos-tracker-queue.h -+++ b/src/photos-tracker-queue.h -@@ -24,16 +24,23 @@ - #define PHOTOS_TRACKER_QUEUE_H - - #include -+#include - - #include "photos-query.h" - - G_BEGIN_DECLS - -+#define TRACKER_PICTURES_GRAPH "http://tracker.api.gnome.org/ontology/v3/tracker#Pictures" -+ - #define PHOTOS_TYPE_TRACKER_QUEUE (photos_tracker_queue_get_type ()) - G_DECLARE_FINAL_TYPE (PhotosTrackerQueue, photos_tracker_queue, PHOTOS, TRACKER_QUEUE, GObject); - - PhotosTrackerQueue *photos_tracker_queue_dup_singleton (GCancellable *cancellable, GError **error); - -+const gchar * photos_tracker_queue_get_miner_fs_busname (PhotosTrackerQueue *self); -+const gchar * photos_tracker_queue_get_miner_fs_control_busname (PhotosTrackerQueue *self); -+TrackerNotifier * photos_tracker_queue_get_notifier (PhotosTrackerQueue *self); -+ - void photos_tracker_queue_select (PhotosTrackerQueue *self, - PhotosQuery *query, - GCancellable *cancellable, -diff --git a/src/photos-tracker-resources.xml b/src/photos-tracker-resources.xml -deleted file mode 100644 -index 18177aa0..00000000 ---- a/src/photos-tracker-resources.xml -+++ /dev/null -@@ -1,31 +0,0 @@ -- -- -- -- -- -- -- -- -- -- -- -- -- -diff --git a/src/photos-utils.c b/src/photos-utils.c -index d659b47d..72d2e98b 100644 ---- a/src/photos-utils.c -+++ b/src/photos-utils.c -@@ -1324,7 +1324,13 @@ photos_utils_set_edited_name (const gchar *urn, const gchar *title) - g_autoptr (PhotosTrackerQueue) queue = NULL; - g_autofree gchar *sparql = NULL; - -- sparql = g_strdup_printf ("INSERT OR REPLACE { <%s> nie:title \"%s\" }", urn, title); -+ sparql = g_strdup_printf ("WITH tracker:Pictures " -+ "DELETE { <%s> nie:title ?title } " -+ "INSERT { " -+ " <%s> a nmm:Photo ; " -+ " nie:title \"%s\" . " -+ "}" -+ "WHERE { <%s> nie:title ?title }", urn, urn, title, urn); - query = photos_query_new (NULL, sparql); - - { -@@ -1352,9 +1358,19 @@ photos_utils_set_favorite (const gchar *urn, gboolean is_favorite) - g_autoptr (PhotosTrackerQueue) queue = NULL; - g_autofree gchar *sparql = NULL; - -- sparql = g_strdup_printf ("%s { <%s> nao:hasTag nao:predefined-tag-favorite }", -- (is_favorite) ? "INSERT OR REPLACE" : "DELETE", -- urn); -+ if (is_favorite) -+ sparql = g_strdup_printf ("INSERT DATA { " -+ " GRAPH tracker:Pictures {" -+ " <%s> a nmm:Photo ; " -+ " nao:hasTag nao:predefined-tag-favorite " -+ " } " -+ "}", urn); -+ else -+ sparql = g_strdup_printf ("DELETE DATA {" -+ " GRAPH tracker:Pictures {" -+ " <%s> nao:hasTag nao:predefined-tag-favorite " -+ " } " -+ "}", urn); - query = photos_query_new (NULL, sparql); - - { -diff --git a/src/photos-utils.h b/src/photos-utils.h -index a4d69abf..57069892 100644 ---- a/src/photos-utils.h -+++ b/src/photos-utils.h -@@ -46,7 +46,7 @@ G_BEGIN_DECLS - #define PHOTOS_TRACKER_CONTROLLER_EXTENSION_POINT_NAME "photos-tracker-controller" - - #define PHOTOS_COLLECTION_SCREENSHOT \ -- "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#image-category-screenshot" -+ "http://tracker.api.gnome.org/ontology/v3/nfo#image-category-screenshot" - #define PHOTOS_EXPORT_SUBPATH "Exports" - - typedef enum -diff --git a/src/queries/all.sparql.template b/src/queries/all.sparql.template -index 1cef98e8..14e08027 100644 ---- a/src/queries/all.sparql.template -+++ b/src/queries/all.sparql.template -@@ -1,30 +1,42 @@ --SELECT {{projection}} -+SELECT {{final_projection}} -+FROM NAMED tracker:Pictures - { - { -- SELECT {{projection}} -+ SELECT {{main_projection}} - { - { - SELECT ?urn COUNT(?item) AS ?count - { -+ {{values}} -+ VALUES (?file ?filename ?creator ?publisher) { ("" "" "" "") } - ?urn a nfo:DataContainer. -- ?item a nmm:Photo; nie:isPartOf ?urn. -- } GROUP BY ?urn -+ ?item a nmm:Photo ; -+ nie:isPartOf ?urn . -+ {{item_pattern}} -+ } -+ GROUP BY ?urn - } - FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}}) - } -- GROUP BY ?urn - } - UNION - { -- SELECT {{projection}} -+ SELECT {{second_projection}} - { -- ?urn a nmm:Photo . -- OPTIONAL { ?urn nco:creator ?creator . } -- OPTIONAL { ?urn nco:publisher ?publisher . } - {{item_pattern}} -- FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ SERVICE -+ { -+ SELECT {{main_projection}} -+ { -+ {{values}} -+ ?urn a nmm:Photo ; -+ nie:isStoredAs ?file . -+ OPTIONAL { ?urn nco:creator ?creator . } -+ OPTIONAL { ?urn nco:publisher ?publisher . } -+ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ } -+ } - } -- GROUP BY ?urn - } - } - {{order}} -diff --git a/src/queries/collections.sparql.template b/src/queries/collections.sparql.template -index 20b35cd6..4dfb345a 100644 ---- a/src/queries/collections.sparql.template -+++ b/src/queries/collections.sparql.template -@@ -1,14 +1,20 @@ --SELECT {{projection}} -+SELECT {{final_projection}} - { -+ SELECT {{main_projection}} - { -- SELECT ?urn COUNT(?item) AS ?count - { -- ?urn a nfo:DataContainer. -- ?item a nmm:Photo; nie:isPartOf ?urn. -- } GROUP BY ?urn -+ SELECT ?urn COUNT(?item) AS ?count -+ { -+ {{values}} -+ VALUES (?file ?filename ?creator ?publisher) { ("" "" "" "") } -+ ?urn a nfo:DataContainer . -+ ?item a nmm:Photo ; -+ nie:isPartOf ?urn . -+ } -+ GROUP BY ?urn -+ } -+ FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}}) - } -- FILTER (?count > 0 && {{collections_default_filter}} && {{search_filter}}) - } --GROUP BY ?urn - {{order}} - {{offset_limit}} -diff --git a/src/queries/favorite-photos.sparql.template b/src/queries/favorite-photos.sparql.template -index 0885a08a..9a0d7806 100644 ---- a/src/queries/favorite-photos.sparql.template -+++ b/src/queries/favorite-photos.sparql.template -@@ -1,12 +1,20 @@ --SELECT {{projection}} -+SELECT {{final_projection}} -+FROM tracker:Pictures - { - ?urn a nmm:Photo . - ?urn a nmm:Photo; nao:hasTag nao:predefined-tag-favorite . -- OPTIONAL { ?urn nco:creator ?creator . } -- OPTIONAL { ?urn nco:publisher ?publisher . } -- {{item_pattern}} -- FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ SERVICE -+ { -+ SELECT {{main_projection}} -+ { -+ ?urn a nmm:Photo ; -+ nie:isStoredAs ?file . -+ OPTIONAL { ?urn nco:creator ?creator . } -+ OPTIONAL { ?urn nco:publisher ?publisher . } -+ {{item_pattern}} -+ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ } -+ } - } --GROUP BY ?urn - {{order}} - {{offset_limit}} -diff --git a/src/queries/photos.sparql.template b/src/queries/photos.sparql.template -index 4eb10b74..6ade35e2 100644 ---- a/src/queries/photos.sparql.template -+++ b/src/queries/photos.sparql.template -@@ -1,11 +1,19 @@ --SELECT {{projection}} -+SELECT {{final_projection}} -+FROM tracker:Pictures - { -- ?urn a nmm:Photo . -- OPTIONAL { ?urn nco:creator ?creator . } -- OPTIONAL { ?urn nco:publisher ?publisher . } -- {{item_pattern}} -- FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ SERVICE -+ { -+ SELECT {{main_projection}} -+ { -+ {{values}} -+ ?urn a nmm:Photo ; -+ nie:isStoredAs ?file . -+ OPTIONAL { ?urn nco:creator ?creator . } -+ OPTIONAL { ?urn nco:publisher ?publisher . } -+ {{item_pattern}} -+ FILTER ({{photos_default_filter}} && {{source_filter}} && {{search_filter}}) -+ } -+ } - } --GROUP BY ?urn - {{order}} - {{offset_limit}} --- -GitLab - diff --git a/srcpkgs/gnome-photos/template b/srcpkgs/gnome-photos/template index ca3f4be7162..fee19723ed8 100644 --- a/srcpkgs/gnome-photos/template +++ b/srcpkgs/gnome-photos/template @@ -1,6 +1,6 @@ # Template file for 'gnome-photos' pkgname=gnome-photos -version=3.38.0 +version=40.0 revision=1 build_helper="gir" build_style=meson @@ -9,15 +9,14 @@ hostmakedepends="pkg-config gettext itstool glib-devel gdk-pixbuf librsvg" makedepends="gtk+3-devel babl-devel exempi-devel lcms2-devel gfbgraph-devel tracker3-devel libexif-devel librsvg-devel grilo-devel libgexiv2-devel gnome-online-accounts-devel gnome-desktop-devel libgdata-devel - geocode-glib-devel libdazzle-devel gegl-devel" + geocode-glib-devel libdazzle-devel gegl-devel libhandy1-devel" depends="desktop-file-utils tracker3 tracker3-miners" short_desc="Access, organize, and share your photos on GNOME" maintainer="Enno Boland " license="GPL-2.0-or-later" homepage="https://wiki.gnome.org/Apps/Photos" distfiles="${GNOME_SITE}/gnome-photos/${version%.*}/gnome-photos-${version}.tar.xz" -checksum=667f39477579d577470740e01f37b05c62e461e6f6da6377724d8f3993e1c4c4 -patch_args="-Np1" +checksum=e02d73e138af8b2868b5cad7faa1bdd278aeade3b6c3c92836511a4e6f3af1af build_options="gir" build_options_default="gir" From 87b46009d1472ce5928c55aba7153bc7ea363c55 Mon Sep 17 00:00:00 2001 From: Paper Date: Fri, 16 Apr 2021 12:14:41 +0200 Subject: [PATCH 130/140] New package: mpdevil-1.2.0 --- srcpkgs/mpdevil/template | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 srcpkgs/mpdevil/template diff --git a/srcpkgs/mpdevil/template b/srcpkgs/mpdevil/template new file mode 100644 index 00000000000..588d0f45f38 --- /dev/null +++ b/srcpkgs/mpdevil/template @@ -0,0 +1,13 @@ +# Template file for 'mpdevil' +pkgname=mpdevil +version=1.2.0 +revision=1 +build_style=python3-module +hostmakedepends="python3-BeautifulSoup4 python3-mpd2 python3-requests python3-gobject intltool python3-distutils-extra" +depends="python3-BeautifulSoup4 python3-mpd2 python3-requests python3-gobject" +short_desc="Simple music browser for MPD" +maintainer="Paper " +license="GPL-3.0-or-later" +homepage="https://github.com/SoongNoonien/mpdevil/" +distfiles="https://github.com/SoongNoonien/mpdevil/archive/refs/tags/v$version.tar.gz" +checksum=a0a6528fd832894c24fa75e4f20c61823d98120321a71e6ec9e14793ee2e5ae2 From 38f7689deb9ea6e019e1d94ccc2cc0b0e684c6fb Mon Sep 17 00:00:00 2001 From: FollieHiyuki Date: Tue, 20 Apr 2021 18:20:02 +0300 Subject: [PATCH 131/140] snapper: update to 0.9.0; adopt --- .../patches/0001-disable-locale-tests.patch | 29 ++-- .../0002-backport-equal-date-test.patch | 164 ------------------ .../patches/0002-fix-32bit-musl-build.patch | 13 ++ .../0003-backport-fix-jsonc-linkage.patch | 19 -- srcpkgs/snapper/template | 6 +- 5 files changed, 35 insertions(+), 196 deletions(-) delete mode 100644 srcpkgs/snapper/patches/0002-backport-equal-date-test.patch create mode 100644 srcpkgs/snapper/patches/0002-fix-32bit-musl-build.patch delete mode 100644 srcpkgs/snapper/patches/0003-backport-fix-jsonc-linkage.patch diff --git a/srcpkgs/snapper/patches/0001-disable-locale-tests.patch b/srcpkgs/snapper/patches/0001-disable-locale-tests.patch index 05e589dbfc5..834ffdeffcb 100644 --- a/srcpkgs/snapper/patches/0001-disable-locale-tests.patch +++ b/srcpkgs/snapper/patches/0001-disable-locale-tests.patch @@ -1,27 +1,28 @@ -These 4 tests fail with error: -std::runtime_error: locale::facet::_S_create_c_locale name not valid - diff --git testsuite/Makefile.am testsuite/Makefile.am -index d7e30b8..001f834 100644 +index ccb84d3..9774a9c 100644 --- testsuite/Makefile.am +++ testsuite/Makefile.am -@@ -7,8 +7,8 @@ AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS) +@@ -7,9 +7,9 @@ AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS) LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \ -- equal-date.test dbus-escape.test cmp-lt.test humanstring.test \ +- equal-date.test dbus-escape.test cmp-lt.test humanstring.test uuid.test \ - table.test table-formatter.test csv-formatter.test json-formatter.test \ -+ equal-date.test dbus-escape.test \ +- getopts.test scan-datetime.test root-prefix.test range.test limit.test ++ equal-date.test dbus-escape.test uuid.test \ + csv-formatter.test json-formatter.test \ - getopts.test ++ getopts.test scan-datetime.test root-prefix.test if ENABLE_BTRFS_QUOTA -@@ -27,12 +27,6 @@ EXTRA_DIST = $(noinst_SCRIPTS) sysconfig-get1.txt sysconfig-set1.txt + check_PROGRAMS += qgroup1.test +@@ -29,14 +29,8 @@ equal_date_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la - equal_date_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la + scan_datetime_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la -humanstring_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la - + uuid_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la + -table_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la - -table_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la @@ -29,3 +30,11 @@ index d7e30b8..001f834 100644 csv_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la json_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la $(JSONC_LIBS) +@@ -44,7 +38,3 @@ json_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils + getopts_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la + + lvm_utils_test_LDADD = -lboost_unit_test_framework ../snapper/libsnapper.la +- +-range_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la +- +-limit_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la diff --git a/srcpkgs/snapper/patches/0002-backport-equal-date-test.patch b/srcpkgs/snapper/patches/0002-backport-equal-date-test.patch deleted file mode 100644 index 688ab7e1f27..00000000000 --- a/srcpkgs/snapper/patches/0002-backport-equal-date-test.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff --git package/snapper.changes package/snapper.changes -index 9235de3..5570cf1 100644 ---- package/snapper.changes -+++ package/snapper.changes -@@ -1,3 +1,8 @@ -+------------------------------------------------------------------- -+Mon Jan 25 11:29:45 CET 2021 - aschnell@suse.com -+ -+- fixed testsuite for equal-date (gh#openSUSE/snapper#526) -+ - ------------------------------------------------------------------- - Thu Dec 17 12:20:59 CET 2020 - aschnell@suse.com - -diff --git testsuite/Makefile.am testsuite/Makefile.am -index d7e30b8..cfd1002 100644 ---- testsuite/Makefile.am -+++ testsuite/Makefile.am -@@ -9,7 +9,7 @@ LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework - check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \ - equal-date.test dbus-escape.test \ - csv-formatter.test json-formatter.test \ -- getopts.test -+ getopts.test scan-datetime.test - - if ENABLE_BTRFS_QUOTA - check_PROGRAMS += qgroup1.test -@@ -27,6 +27,8 @@ EXTRA_DIST = $(noinst_SCRIPTS) sysconfig-get1.txt sysconfig-set1.txt - - equal_date_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la - -+scan_datetime_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la -+ - csv_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la - - json_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la $(JSONC_LIBS) -diff --git testsuite/equal-date.cc testsuite/equal-date.cc -index 42e00d8..8d8eda8 100644 ---- testsuite/equal-date.cc -+++ testsuite/equal-date.cc -@@ -5,18 +5,25 @@ - #include - - #include "../client/utils/equal-date.h" -+#include "../snapper/AppUtil.h" -+ -+using namespace snapper; - - - bool - equal_week(const char* s1, const char* s2) - { -+ // use interim time_t since strptime on musl does not set tm_yday -+ -+ time_t t1 = scan_datetime(s1, true); - struct tm tmp1; - memset(&tmp1, 0, sizeof(tmp1)); -- strptime(s1, "%Y-%m-%d", &tmp1); -+ gmtime_r(&t1, &tmp1); - -+ time_t t2 = scan_datetime(s2, true); - struct tm tmp2; - memset(&tmp2, 0, sizeof(tmp2)); -- strptime(s2, "%Y-%m-%d", &tmp2); -+ gmtime_r(&t2, &tmp2); - - return equal_week(tmp1, tmp2); - } -@@ -25,46 +32,46 @@ equal_week(const char* s1, const char* s2) - BOOST_AUTO_TEST_CASE(test1) - { - // 2012 is a leap year -- BOOST_CHECK(equal_week("2011-12-31", "2012-01-01")); -- BOOST_CHECK(equal_week("2012-01-01", "2011-12-31")); -+ BOOST_CHECK(equal_week("2011-12-31 00:00:00", "2012-01-01 00:00:00")); -+ BOOST_CHECK(equal_week("2012-01-01 00:00:00", "2011-12-31 00:00:00")); - } - - - BOOST_AUTO_TEST_CASE(test2) - { - // 2012 is a leap year -- BOOST_CHECK(equal_week("2012-12-31", "2013-01-01")); -- BOOST_CHECK(equal_week("2013-01-01", "2012-12-31")); -+ BOOST_CHECK(equal_week("2012-12-31 00:00:00", "2013-01-01 00:00:00")); -+ BOOST_CHECK(equal_week("2013-01-01 00:00:00", "2012-12-31 00:00:00")); - } - - - BOOST_AUTO_TEST_CASE(test3) - { - // Saturday and Sunday -- BOOST_CHECK(equal_week("2014-01-04", "2014-01-05")); -- BOOST_CHECK(equal_week("2014-01-05", "2014-01-04")); -+ BOOST_CHECK(equal_week("2014-01-04 00:00:00", "2014-01-05 00:00:00")); -+ BOOST_CHECK(equal_week("2014-01-05 00:00:00", "2014-01-04 00:00:00")); - - // Sunday and Monday -- BOOST_CHECK(!equal_week("2014-01-05", "2014-01-06")); -- BOOST_CHECK(!equal_week("2014-01-06", "2014-01-05")); -+ BOOST_CHECK(!equal_week("2014-01-05 00:00:00", "2014-01-06 00:00:00")); -+ BOOST_CHECK(!equal_week("2014-01-06 00:00:00", "2014-01-05 00:00:00")); - - // Monday and Tuesday -- BOOST_CHECK(equal_week("2014-01-06", "2014-01-07")); -- BOOST_CHECK(equal_week("2014-01-07", "2014-01-06")); -+ BOOST_CHECK(equal_week("2014-01-06 00:00:00", "2014-01-07 00:00:00")); -+ BOOST_CHECK(equal_week("2014-01-07 00:00:00", "2014-01-06 00:00:00")); - } - - - BOOST_AUTO_TEST_CASE(test4) - { - // 2014-12-31 is a Wednesday, 2015-01-01 is a Thursday -- BOOST_CHECK(equal_week("2014-12-31", "2015-01-01")); -- BOOST_CHECK(equal_week("2015-01-01", "2014-12-31")); -+ BOOST_CHECK(equal_week("2014-12-31 00:00:00", "2015-01-01 00:00:00")); -+ BOOST_CHECK(equal_week("2015-01-01 00:00:00", "2014-12-31 00:00:00")); - } - - - BOOST_AUTO_TEST_CASE(test5) - { - // 2017-12-31 is a Sunday, 2018-01-01 is a Monday -- BOOST_CHECK(!equal_week("2017-12-31", "2018-01-01")); -- BOOST_CHECK(!equal_week("2018-01-01", "2017-12-31")); -+ BOOST_CHECK(!equal_week("2017-12-31 00:00:00", "2018-01-01 00:00:00")); -+ BOOST_CHECK(!equal_week("2018-01-01 00:00:00", "2017-12-31 00:00:00")); - } -diff --git testsuite/scan-datetime.cc testsuite/scan-datetime.cc -new file mode 100644 -index 0000000..8f0d1c0 ---- /dev/null -+++ testsuite/scan-datetime.cc -@@ -0,0 +1,30 @@ -+ -+#define BOOST_TEST_DYN_LINK -+#define BOOST_TEST_MODULE snapper -+ -+#include -+ -+#include "../snapper/AppUtil.h" -+ -+using namespace snapper; -+ -+ -+BOOST_AUTO_TEST_CASE(test1) -+{ -+ time_t t1 = scan_datetime("2020-03-04 12:34:56", true); -+ -+ struct tm tmp1; -+ memset(&tmp1, 0, sizeof(tmp1)); -+ gmtime_r(&t1, &tmp1); -+ -+ BOOST_CHECK_EQUAL(tmp1.tm_year, 2020 - 1900); -+ BOOST_CHECK_EQUAL(tmp1.tm_mon, 3 - 1); -+ BOOST_CHECK_EQUAL(tmp1.tm_mday, 4); -+ -+ BOOST_CHECK_EQUAL(tmp1.tm_yday, 31 + 28 + 4); -+ BOOST_CHECK_EQUAL(tmp1.tm_wday, 3); -+ -+ BOOST_CHECK_EQUAL(tmp1.tm_hour, 12); -+ BOOST_CHECK_EQUAL(tmp1.tm_min, 34); -+ BOOST_CHECK_EQUAL(tmp1.tm_sec, 56); -+} diff --git a/srcpkgs/snapper/patches/0002-fix-32bit-musl-build.patch b/srcpkgs/snapper/patches/0002-fix-32bit-musl-build.patch new file mode 100644 index 00000000000..41eb8053a62 --- /dev/null +++ b/srcpkgs/snapper/patches/0002-fix-32bit-musl-build.patch @@ -0,0 +1,13 @@ +diff --git client/cleanup.cc client/cleanup.cc +index 801c0f5..e57a0a8 100644 +--- client/cleanup.cc ++++ client/cleanup.cc +@@ -51,7 +51,7 @@ struct Parameters + MinFreeLimit free_limit; + + +- void read(const ProxyConfig& config, const char* name, long int& value) ++ void read(const ProxyConfig& config, const char* name, time_t& value) + { + const map& raw = config.getAllValues(); + map::const_iterator pos = raw.find(name); diff --git a/srcpkgs/snapper/patches/0003-backport-fix-jsonc-linkage.patch b/srcpkgs/snapper/patches/0003-backport-fix-jsonc-linkage.patch deleted file mode 100644 index 2582dfb1d87..00000000000 --- a/srcpkgs/snapper/patches/0003-backport-fix-jsonc-linkage.patch +++ /dev/null @@ -1,19 +0,0 @@ -This patch fixes the issue, that the build doesn't link against json-c -when --disable-zypp flag is enabled. -See openSUSE/snapper#617 - -diff --git configure.ac configure.ac -index 839d012..06e4721 100644 ---- configure.ac -+++ configure.ac -@@ -194,9 +194,7 @@ fi - - PKG_CHECK_MODULES(DBUS, dbus-1) - PKG_CHECK_MODULES(XML2, libxml-2.0) --if test "x$with_zypp" = "xyes"; then -- PKG_CHECK_MODULES(JSONC, json-c, [], [AC_MSG_WARN([Cannot find json-c. Please install libjson-c-devel])]) --fi -+PKG_CHECK_MODULES(JSONC, json-c, [], [AC_MSG_WARN([Cannot find json-c. Please install libjson-c-devel])]) - - AC_CHECK_HEADER(acl/libacl.h,[],[AC_MSG_ERROR([Cannout find libacl headers. Please install libacl-devel])]) - diff --git a/srcpkgs/snapper/template b/srcpkgs/snapper/template index 481f94c13c5..bd58ab951c2 100644 --- a/srcpkgs/snapper/template +++ b/srcpkgs/snapper/template @@ -1,6 +1,6 @@ # Template file for 'snapper' pkgname=snapper -version=0.8.15 +version=0.9.0 revision=1 build_style=gnu-configure configure_args="--disable-zypp --disable-systemd --with-conf=/etc/conf.d" @@ -13,11 +13,11 @@ makedepends="acl-devel boost-devel dbus-devel e2fsprogs-devel libbtrfs-devel json-c-devel" depends="dbus" short_desc="Tool for Linux filesystem snapshot management" -maintainer="Orphaned " +maintainer="FollieHiyuki " license="GPL-2.0-only" homepage="http://snapper.io" distfiles="https://github.com/openSUSE/snapper/archive/v${version}.tar.gz" -checksum=fe0e32912275713f8fad17dbe510f32dbba8526365a849e3f7d6c786d43cfca2 +checksum=ca7b17d0213aa5281ff08d968b4e029b78bb3870eb79fd7bc7f879b17f5c969e lib32disabled=yes if [ "$XBPS_TARGET_LIBC" = musl ] From 9435a82dbd82a397c37b62869c1d5d3cd703edea Mon Sep 17 00:00:00 2001 From: lemmi Date: Sun, 25 Apr 2021 20:25:46 +0200 Subject: [PATCH 132/140] babeld: update to 1.10. --- srcpkgs/babeld/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/babeld/template b/srcpkgs/babeld/template index cfff942a9cd..c8a90adea73 100644 --- a/srcpkgs/babeld/template +++ b/srcpkgs/babeld/template @@ -1,6 +1,6 @@ # Template file for 'babeld' pkgname=babeld -version=1.9.2 +version=1.10 revision=1 wrksrc=babeld-babeld-${version} build_style=gnu-makefile @@ -9,7 +9,7 @@ maintainer="lemmi " license="MIT" homepage="https://www.irif.fr/~jch/software/babel/" distfiles="https://github.com/jech/babeld/archive/babeld-${version}.tar.gz" -checksum=c8c8c3698afb00caa5a5c9bbbb0a22b56d79ad3f9775382915ba979ac88c4e8f +checksum=d44a0ca3cf67595e1ed67ca219c975c3c011c6046028be75df254715c4611d31 patch_args="-Np1" pre_build() { From 2b406a1789e569edeac9a0ac02938c8dc555f02a Mon Sep 17 00:00:00 2001 From: Anthony Iliopoulos Date: Tue, 20 Apr 2021 12:52:24 +0200 Subject: [PATCH 133/140] libdvdread: update to 6.1.2. --- srcpkgs/libdvdread/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libdvdread/template b/srcpkgs/libdvdread/template index 453a54cc5b6..463805e0301 100644 --- a/srcpkgs/libdvdread/template +++ b/srcpkgs/libdvdread/template @@ -1,6 +1,6 @@ # Template file for 'libdvdread' pkgname=libdvdread -version=6.1.1 +version=6.1.2 revision=1 build_style=gnu-configure configure_args="--with-libdvdcss" @@ -11,7 +11,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://www.videolan.org/developers/libdvdnav.html" distfiles="https://get.videolan.org/libdvdread/${version}/libdvdread-${version}.tar.bz2" -checksum=3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796 +checksum=cc190f553758ced7571859e301f802cb4821f164d02bfacfd320c14a4e0da763 libdvdread-devel_package() { depends="${sourcepkg}>=${version}_${revision} libdvdcss-devel" From 4c60bf6e62cb19cd8e490c64840c5ab283530e59 Mon Sep 17 00:00:00 2001 From: FollieHiyuki Date: Mon, 26 Apr 2021 01:04:18 +0300 Subject: [PATCH 134/140] hugo: enable `extended` option by default Sass support is nice to have even though most people might not use it. Also fix to use the right `Pygments` package name and remove `git` in hostmakedepends. --- srcpkgs/hugo/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/hugo/template b/srcpkgs/hugo/template index ee37134f268..1a241f234e9 100644 --- a/srcpkgs/hugo/template +++ b/srcpkgs/hugo/template @@ -1,12 +1,11 @@ # Template file for 'hugo' pkgname=hugo version=0.82.1 -revision=1 +revision=2 build_style=go go_import_path="github.com/gohugoio/hugo" go_build_tags="$(vopt_if extended extended)" -hostmakedepends="git" -depends="$(vopt_if pygments python-Pygments)" +depends="$(vopt_if pygments python3-Pygments)" short_desc="Fast & Modern Static Website Engine" maintainer="Andrea Brancaleoni " license="Apache-2.0" @@ -15,6 +14,7 @@ distfiles="https://github.com/gohugoio/hugo/archive/v${version}.tar.gz" checksum=3190ae848fdb1a04339c233faab5934c422d85cf85ea3b0c0b5a842239c84e75 build_options="pygments extended" +build_options_default="extended" desc_option_pygments="Alternative syntax highlighter" desc_option_extended="SASS/SCSS build support for Hugo" From 6b65d556f3738fe3b4c5e5da681d6f4702b51c00 Mon Sep 17 00:00:00 2001 From: FollieHiyuki Date: Mon, 26 Apr 2021 00:26:08 +0300 Subject: [PATCH 135/140] gallery-dl: update to 1.17.3 --- srcpkgs/gallery-dl/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gallery-dl/template b/srcpkgs/gallery-dl/template index 0e339265881..2249ecce51d 100644 --- a/srcpkgs/gallery-dl/template +++ b/srcpkgs/gallery-dl/template @@ -1,6 +1,6 @@ # Template file for 'gallery-dl' pkgname=gallery-dl -version=1.17.2 +version=1.17.3 revision=1 build_style=python3-module hostmakedepends="python3-setuptools" @@ -12,7 +12,7 @@ license="GPL-2.0-or-later" homepage="https://github.com/mikf/gallery-dl" changelog="https://raw.githubusercontent.com/mikf/gallery-dl/master/CHANGELOG.md" distfiles="https://github.com/mikf/gallery-dl/archive/v${version}.tar.gz" -checksum=a486c10c6d00abe1f7f2d650b0a99d98b8499586d8b1fcd421e6f30420ebf704 +checksum=350ea07d5d36e0ba982a5bfb869f3226195be196e0012401f350857ceb025c42 do_check() { make test From ed94672b86da8deed774f4c2294524e25d0005f0 Mon Sep 17 00:00:00 2001 From: Philipp David Date: Sun, 25 Apr 2021 10:39:00 +0200 Subject: [PATCH 136/140] python3-pikepdf: update to 2.11.2. --- srcpkgs/python3-pikepdf/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/python3-pikepdf/template b/srcpkgs/python3-pikepdf/template index ec24f17799c..d16b86b156a 100644 --- a/srcpkgs/python3-pikepdf/template +++ b/srcpkgs/python3-pikepdf/template @@ -1,6 +1,6 @@ # Template file for 'python3-pikepdf' pkgname=python3-pikepdf -version=2.11.1 +version=2.11.2 revision=2 wrksrc="pikepdf-${version}" build_style=python3-module @@ -13,7 +13,7 @@ maintainer="Philipp David " license="MPL-2.0" homepage="https://github.com/pikepdf/pikepdf" distfiles="${PYPI_SITE}/p/pikepdf/pikepdf-${version}.tar.gz" -checksum=810488f80a1d93652498222f9d1391d9287b3b842971d7a8878e69a287c2476f +checksum=0958a07ebf12d62427babadd6a922409cb358d0415a5219a9269d8fab2aa487e pre_build() { vsed -e '/setuptools_scm_git_archive/d' -i setup.py From 4258e016606b3d48b6e4058825a7ab38e46a2591 Mon Sep 17 00:00:00 2001 From: Daniel Lewan Date: Sun, 25 Apr 2021 12:33:47 +0200 Subject: [PATCH 137/140] chroma: update to 0.9.1. --- srcpkgs/chroma/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/chroma/template b/srcpkgs/chroma/template index 8215a0ac027..9cba6b11922 100644 --- a/srcpkgs/chroma/template +++ b/srcpkgs/chroma/template @@ -1,6 +1,6 @@ # Template file for 'chroma' pkgname=chroma -version=0.8.2 +version=0.9.1 revision=1 build_style=go go_import_path="github.com/alecthomas/${pkgname}" @@ -12,7 +12,7 @@ maintainer="Daniel Lewan " license="MIT" homepage="https://github.com/alecthomas/chroma" distfiles="https://github.com/alecthomas/chroma/archive/v${version}.tar.gz" -checksum=b7b9bd2ff49a18127dd00cee0d8e1d262b861b0641f711cbf9c615431f2b9499 +checksum=@f351e7aa08f9632d37d8aa6358b362f2ea86447a69a6a9d82fb75e5c833d73dd do_check() { go test -v From 75253f85a9277f6527207707d6e19799dbc5c912 Mon Sep 17 00:00:00 2001 From: FollieHiyuki Date: Mon, 26 Apr 2021 00:29:47 +0300 Subject: [PATCH 138/140] cointop: update to 1.6.4 --- srcpkgs/cointop/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/cointop/template b/srcpkgs/cointop/template index f6fba09c681..b2e5d1f98ba 100644 --- a/srcpkgs/cointop/template +++ b/srcpkgs/cointop/template @@ -1,6 +1,6 @@ # Template file for 'cointop' pkgname=cointop -version=1.6.3 +version=1.6.4 revision=1 build_style=go go_import_path="github.com/miguelmota/${pkgname}" @@ -9,4 +9,4 @@ maintainer="FollieHiyuki " license="Apache-2.0" homepage="https://github.com/miguelmota/cointop" distfiles="https://github.com/miguelmota/cointop/archive/v${version}.tar.gz" -checksum=636f3cfb5f9d748e874ede149acb6b96c7b2be8d39b73ef22abb9dd0d214358e +checksum=da9698695e955dad148f989abcd716c683788d2378e088a6f52c275f44f9447c From d94de069dc8f4a0f0f28ec4b9505a90176dd175e Mon Sep 17 00:00:00 2001 From: John Date: Sun, 25 Apr 2021 19:07:32 +0200 Subject: [PATCH 139/140] electron9: remove package --- .../musl-patches/chromium-musl-crashpad.patch | 23 - ...omium-musl-default-pthread-stacksize.patch | 31 - .../musl-patches/chromium-musl-sandbox.patch | 176 - ...chromium-musl_canonicalize_file_name.patch | 13 - .../musl-patches/chromium-musl_cdefs.patch | 45 - ...omium-musl_define_temp_failure_retry.patch | 18 - .../musl-patches/chromium-musl_dns.patch | 61 - .../musl-patches/chromium-musl_exeinfo.patch | 96 - .../chromium-musl_fpstate_t.patch | 48 - .../chromium-musl_getcontext.patch | 25 - .../musl-patches/chromium-musl_mallinfo.patch | 61 - .../chromium-musl_pread_pwrite64.patch | 18 - .../chromium-musl_push_back.patch | 13 - .../chromium-musl_stack_size.patch | 41 - .../chromium-musl_stack_trace.patch | 44 - .../chromium-musl_tcp_listen.patch | 14 - .../musl-patches/chromium-musl_wordsize.patch | 24 - .../chromium-musl_xxx_ppc64le.patch | 187 - .../files/patches/chromium-83-gcc-10.patch | 64 - ...rithm-header-in-crx_install_error.cc.patch | 29 - ...struction-of-ServiceWorkerObjectHost.patch | 138 - ...chromium-chromium_atk_optional.patch.patch | 15 - ...chromium-clean-up-a-call-to-set_utf8.patch | 34 - .../files/patches/chromium-ffmpeg-4.3.patch | 21 - ...omium-fix-template-specialization-01.patch | 64 - ...c-CrossVariantMojoAssociatedReceiver.patch | 56 - .../chromium-gcc-aarch64-zlib-crc-01.patch | 131 - .../chromium-gcc-aarch64-zlib-crc-02.patch | 35 - ...-move-assignement-operators-noexcept.patch | 66 - .../files/patches/chromium-gcc-shared.patch | 20 - .../patches/chromium-gcc-webui-template.patch | 67 - ...eader-to-get-the-definition-of-std-u.patch | 32 - ...-numeric_limits-is-defined-in-limits.patch | 29 - .../files/patches/chromium-libc_malloc.patch | 26 - ...mplete-type-in-AXTree-for-NodeSetSiz.patch | 62 - ...link-custom-iterators-STL-compatible.patch | 95 - .../files/patches/chromium-skia-harmony.patch | 14 - .../files/patches/chromium-time64.patch | 51 - .../patches/chromium-toolchain-host.patch | 11 - ...l-in-SDR-HDR-DisplayColorSpaces-CrOS.patch | 436 -- ...rmont-AFDO-profile-from-83-4103.97-1.patch | 41 - ...lvermont-AFDO-profile-from-83-4103.9.patch | 41 - ...oadwell-AFDO-profile-from-83-4103.97.patch | 41 - ...ncrementing-VERSION-to-83.0.4103.120.patch | 29 - ...PW-bookkeeping-out-of-forked-process.patch | 150 - ...ort-GCPW-login-to-permitted-accounts.patch | 197 - ...dle-lsa_account_rights-size-properly.patch | 55 - ...ncrementing-VERSION-to-83.0.4103.121.patch | 29 - ...ceManageAccountBrowserTest.ClearMana.patch | 43 - ...ncrementing-VERSION-to-83.0.4103.122.patch | 29 - ...n-to-be-removed-getAllFieldPositions.patch | 172 - .../files/patches/chromium-xxx-ppc64le.patch | 3737 ----------------- ...a-script-to-list-patch-targets.patch.patch | 42 - .../patches/electron-Build-fixes.patch.patch | 47 - ...ectron-dont-assume-python-is-python2.patch | 17 - ...lectron-exclude-content-test-patches.patch | 10 - .../sndio-files/audio_manager_openbsd.cc | 148 - .../files/sndio-files/audio_manager_openbsd.h | 65 - .../files/sndio-files/sndio_input.cc | 201 - .../electron9/files/sndio-files/sndio_input.h | 91 - .../files/sndio-files/sndio_output.cc | 183 - .../files/sndio-files/sndio_output.h | 86 - ...a_audio_linux_audio_manager_linux.cc.patch | 43 - ...src_3rdparty_chromium_media_BUILD.gn.patch | 12 - ...dparty_chromium_media_audio_BUILD.gn.patch | 23 - ...ty_chromium_media_media__options.gni.patch | 12 - srcpkgs/electron9/template | 354 -- srcpkgs/electron9/update | 2 - srcpkgs/removed-packages/template | 3 +- 69 files changed, 2 insertions(+), 8335 deletions(-) delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl-crashpad.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl-default-pthread-stacksize.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl-sandbox.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_canonicalize_file_name.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_cdefs.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_define_temp_failure_retry.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_dns.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_exeinfo.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_fpstate_t.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_getcontext.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_mallinfo.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_pread_pwrite64.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_push_back.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_stack_size.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_stack_trace.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_tcp_listen.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_wordsize.patch delete mode 100644 srcpkgs/electron9/files/musl-patches/chromium-musl_xxx_ppc64le.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-83-gcc-10.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-add-missing-algorithm-header-in-crx_install_error.cc.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-avoid-double-destruction-of-ServiceWorkerObjectHost.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-chromium_atk_optional.patch.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-clean-up-a-call-to-set_utf8.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-ffmpeg-4.3.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-fix-template-specialization-01.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-gcc-CrossVariantMojoAssociatedReceiver.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-01.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-02.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-gcc-move-assignement-operators-noexcept.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-gcc-shared.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-gcc-webui-template.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-include-memory-header-to-get-the-definition-of-std-u.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-iwyu-std-numeric_limits-is-defined-in-limits.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-libc_malloc.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-make-some-of-blink-custom-iterators-STL-compatible.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-skia-harmony.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-time64.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-toolchain-host.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0001-Revert-ui-fill-in-SDR-HDR-DisplayColorSpaces-CrOS.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0002-Roll-ChromeOS-Airmont-AFDO-profile-from-83-4103.97-1.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0003-Roll-ChromeOS-Silvermont-AFDO-profile-from-83-4103.9.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0004-Roll-ChromeOS-Broadwell-AFDO-profile-from-83-4103.97.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0005-Incrementing-VERSION-to-83.0.4103.120.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0006-Move-GCPW-bookkeeping-out-of-forked-process.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0007-Support-GCPW-login-to-permitted-accounts.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0008-Handle-lsa_account_rights-size-properly.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0009-Incrementing-VERSION-to-83.0.4103.121.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0010-Disable-flaky-DiceManageAccountBrowserTest.ClearMana.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-upstream-0011-Incrementing-VERSION-to-83.0.4103.122.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-v8-remove-soon-to-be-removed-getAllFieldPositions.patch delete mode 100644 srcpkgs/electron9/files/patches/chromium-xxx-ppc64le.patch delete mode 100644 srcpkgs/electron9/files/patches/electron-Add-a-script-to-list-patch-targets.patch.patch delete mode 100644 srcpkgs/electron9/files/patches/electron-Build-fixes.patch.patch delete mode 100644 srcpkgs/electron9/files/patches/electron-dont-assume-python-is-python2.patch delete mode 100644 srcpkgs/electron9/files/patches/electron-exclude-content-test-patches.patch delete mode 100644 srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.cc delete mode 100644 srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.h delete mode 100644 srcpkgs/electron9/files/sndio-files/sndio_input.cc delete mode 100644 srcpkgs/electron9/files/sndio-files/sndio_input.h delete mode 100644 srcpkgs/electron9/files/sndio-files/sndio_output.cc delete mode 100644 srcpkgs/electron9/files/sndio-files/sndio_output.h delete mode 100644 srcpkgs/electron9/files/sndio-patches/media_audio_linux_audio_manager_linux.cc.patch delete mode 100644 srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_BUILD.gn.patch delete mode 100644 srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_audio_BUILD.gn.patch delete mode 100644 srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_media__options.gni.patch delete mode 100644 srcpkgs/electron9/template delete mode 100644 srcpkgs/electron9/update diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl-crashpad.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl-crashpad.patch deleted file mode 100644 index 70cffa3002b..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl-crashpad.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/third_party/crashpad/crashpad/util/linux/ptracer.cc -+++ b/third_party/crashpad/crashpad/util/linux/ptracer.cc -@@ -26,6 +26,7 @@ - - #if defined(ARCH_CPU_X86_FAMILY) - #include -+#include - #endif - - namespace crashpad { - ---- a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h -+++ b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h -@@ -17,7 +17,9 @@ - - #include_next - -+#if defined(__GLIBC__) - #include -+#endif - - // https://sourceware.org/bugzilla/show_bug.cgi?id=22433 - #if !defined(PTRACE_GET_THREAD_AREA) && !defined(PT_GET_THREAD_AREA) && \ diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl-default-pthread-stacksize.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl-default-pthread-stacksize.patch deleted file mode 100644 index d0c1361b8ed..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl-default-pthread-stacksize.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/base/threading/platform_thread_linux.cc b/base/threading/platform_thread_linux.cc -index 095c49b..5044bb8 100644 ---- a/base/threading/platform_thread_linux.cc -+++ b/base/threading/platform_thread_linux.cc -@@ -186,7 +186,7 @@ void TerminateOnThread() {} - - size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { - #if !defined(THREAD_SANITIZER) -- return 0; -+ return (1 << 23); - #else - // ThreadSanitizer bloats the stack heavily. Evidence has been that the - // default stack size isn't enough for some browser tests. -diff --git a/chrome/app/shutdown_signal_handlers_posix.cc b/chrome/app/shutdown_signal_handlers_posix.cc -index 621d441..be21106 100644 ---- a/chrome/app/shutdown_signal_handlers_posix.cc -+++ b/chrome/app/shutdown_signal_handlers_posix.cc -@@ -187,11 +187,11 @@ void InstallShutdownSignalHandlers( - g_shutdown_pipe_read_fd = pipefd[0]; - g_shutdown_pipe_write_fd = pipefd[1]; - #if !defined(ADDRESS_SANITIZER) -- const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; -+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2 *8; - #else - // ASan instrumentation bloats the stack frames, so we need to increase the - // stack size to avoid hitting the guard page. -- const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; -+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4 *8; - #endif - ShutdownDetector* detector = new ShutdownDetector( - g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl-sandbox.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl-sandbox.patch deleted file mode 100644 index f485f6cc75a..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl-sandbox.patch +++ /dev/null @@ -1,176 +0,0 @@ -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -index 348ab6e..4550f9e 100644 ---- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -@@ -139,21 +139,11 @@ namespace sandbox { - // present (as in newer versions of posix_spawn). - ResultExpr RestrictCloneToThreadsAndEPERMFork() { - const Arg flags(0); -- -- // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2. -- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES | -- CLONE_SIGHAND | CLONE_THREAD | -- CLONE_SYSVSEM; -- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED; -- -- const uint64_t kGlibcPthreadFlags = -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD | -- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID; -- const BoolExpr glibc_test = flags == kGlibcPthreadFlags; -- -- const BoolExpr android_test = -- AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask, -- flags == kGlibcPthreadFlags); -+ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_THREAD | CLONE_SYSVSEM; -+ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | -+ CLONE_DETACHED; -+ const BoolExpr thread_clone_ok = (flags&~safe)==required; - - // The following two flags are the two important flags in any vfork-emulating - // clone call. EPERM any clone call that contains both of them. -@@ -163,7 +153,7 @@ ResultExpr RestrictCloneToThreadsAndEPERMFork() { - AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0, - (flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags); - -- return If(IsAndroid() ? android_test : glibc_test, Allow()) -+ return If(thread_clone_ok, Allow()) - .ElseIf(is_fork_or_clone_vfork, Error(EPERM)) - .Else(CrashSIGSYSClone()); - } -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index 7dbcc87..589262f 100644 ---- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -391,6 +391,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { - #if defined(__i386__) - case __NR_waitpid: - #endif -+ case __NR_set_tid_address: - return true; - case __NR_clone: // Should be parameter-restricted. - case __NR_setns: // Privileged. -@@ -403,7 +404,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) - case __NR_set_thread_area: - #endif -- case __NR_set_tid_address: - case __NR_unshare: - #if !defined(__mips__) && !defined(__aarch64__) - case __NR_vfork: -@@ -513,6 +513,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { - case __NR_mlock: - case __NR_munlock: - case __NR_munmap: -+ case __NR_mremap: -+ case __NR_membarrier: - return true; - case __NR_madvise: - case __NR_mincore: -@@ -530,7 +532,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { - case __NR_modify_ldt: - #endif - case __NR_mprotect: -- case __NR_mremap: - case __NR_msync: - case __NR_munlockall: - case __NR_readahead: -diff --git a/sandbox/linux/system_headers/arm64_linux_syscalls.h b/sandbox/linux/system_headers/arm64_linux_syscalls.h -index 59d0eab..7ae7002 100644 ---- ./sandbox/linux/system_headers/arm64_linux_syscalls.h -+++ ./sandbox/linux/system_headers/arm64_linux_syscalls.h -@@ -1063,4 +1063,8 @@ - #define __NR_memfd_create 279 - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier 283 -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ -diff --git a/sandbox/linux/system_headers/arm_linux_syscalls.h b/sandbox/linux/system_headers/arm_linux_syscalls.h -index 1addd53..7843b5e 100644 ---- ./sandbox/linux/system_headers/arm_linux_syscalls.h -+++ ./sandbox/linux/system_headers/arm_linux_syscalls.h -@@ -1385,6 +1385,10 @@ - #define __NR_memfd_create (__NR_SYSCALL_BASE+385) - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier (__NR_SYSCALL_BASE+389) -+#endif -+ - // ARM private syscalls. - #if !defined(__ARM_NR_BASE) - #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) -diff --git a/sandbox/linux/system_headers/mips64_linux_syscalls.h b/sandbox/linux/system_headers/mips64_linux_syscalls.h -index ec75815..612fcfa 100644 ---- ./sandbox/linux/system_headers/mips64_linux_syscalls.h -+++ ./sandbox/linux/system_headers/mips64_linux_syscalls.h -@@ -1271,4 +1271,8 @@ - #define __NR_memfd_create (__NR_Linux + 314) - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier (__NR_Linux + 318) -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS64_LINUX_SYSCALLS_H_ -diff --git a/sandbox/linux/system_headers/mips_linux_syscalls.h b/sandbox/linux/system_headers/mips_linux_syscalls.h -index ddbf97f..1742acd 100644 ---- ./sandbox/linux/system_headers/mips_linux_syscalls.h -+++ ./sandbox/linux/system_headers/mips_linux_syscalls.h -@@ -1433,4 +1433,8 @@ - #define __NR_memfd_create (__NR_Linux + 354) - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier (__NR_Linux + 358) -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_ -diff --git a/sandbox/linux/system_headers/x86_32_linux_syscalls.h b/sandbox/linux/system_headers/x86_32_linux_syscalls.h -index a6afc62..7ed0a3b 100644 ---- ./sandbox/linux/system_headers/x86_32_linux_syscalls.h -+++ ./sandbox/linux/system_headers/x86_32_linux_syscalls.h -@@ -1422,5 +1422,9 @@ - #define __NR_memfd_create 356 - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier 375 -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_ - -diff --git a/sandbox/linux/system_headers/x86_64_linux_syscalls.h b/sandbox/linux/system_headers/x86_64_linux_syscalls.h -index 349504a..ea3c7c9 100644 ---- ./sandbox/linux/system_headers/x86_64_linux_syscalls.h -+++ ./sandbox/linux/system_headers/x86_64_linux_syscalls.h -@@ -1290,5 +1290,9 @@ - #define __NR_memfd_create 319 - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier 324 -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_ - -diff --git a/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc b/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -index 017f13c..50aeec3 100644 ---- ./services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -+++ ./services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -@@ -88,10 +88,10 @@ ResultExpr RendererProcessPolicy::EvaluateSyscall(int sysno) const { - case __NR_sysinfo: - case __NR_times: - case __NR_uname: -- return Allow(); -- case __NR_sched_getaffinity: - case __NR_sched_getparam: - case __NR_sched_getscheduler: -+ return Allow(); -+ case __NR_sched_getaffinity: - case __NR_sched_setscheduler: - return sandbox::RestrictSchedTarget(GetPolicyPid(), sysno); - case __NR_prlimit64: diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_canonicalize_file_name.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_canonicalize_file_name.patch deleted file mode 100644 index 05614daa757..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_canonicalize_file_name.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/nasm/config/config-linux.h b/third_party/nasm/config/config-linux.h -index 7eb7c20..882b736 100644 ---- a/third_party/nasm/config/config-linux.h -+++ b/third_party/nasm/config/config-linux.h -@@ -117,7 +117,7 @@ - #define HAVE_ACCESS 1 - - /* Define to 1 if you have the `canonicalize_file_name' function. */ --#define HAVE_CANONICALIZE_FILE_NAME 1 -+/* #undef HAVE_CANONICALIZE_FILE_NAME */ - - /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */ - /* #undef HAVE_CPU_TO_LE16 */ diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_cdefs.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_cdefs.patch deleted file mode 100644 index fc7dc06ff21..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_cdefs.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/base/allocator/allocator_shim_internals.h b/base/allocator/allocator_shim_internal -s.h -index 0196f89..bb42b5d 100644 ---- a/base/allocator/allocator_shim_internals.h -+++ b/base/allocator/allocator_shim_internals.h -@@ -7,7 +7,9 @@ - - #if defined(__GNUC__) - -+#if defined(__GLIBC__) - #include // for __THROW -+#endif - - #ifndef __THROW // Not a glibc system - #ifdef _NOEXCEPT // LLVM libc++ uses noexcept instead -diff --git a/third_party/libsync/src/include/sync/sync.h b/third_party/libsync/src/include/sync/sync.h -index 50ed0ac..7552a49 100644 ---- a/third_party/libsync/src/include/sync/sync.h -+++ b/third_party/libsync/src/include/sync/sync.h -@@ -19,12 +19,13 @@ - #ifndef __SYS_CORE_SYNC_H - #define __SYS_CORE_SYNC_H - --#include - #include - - #include - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif /* __cplusplus */ - - struct sync_legacy_merge_data { - int32_t fd2; -@@ -158,6 +159,8 @@ struct sync_pt_info *sync_pt_info(struct sync_fence_info_data *info, - struct sync_pt_info *itr); - void sync_fence_info_free(struct sync_fence_info_data *info); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif /* __cplusplus */ - - #endif /* __SYS_CORE_SYNC_H */ diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_define_temp_failure_retry.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_define_temp_failure_retry.patch deleted file mode 100644 index 61db658f849..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_define_temp_failure_retry.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/sandbox/linux/suid/sandbox.c 2019-11-19 09:28:05.000000000 +0800 -+++ b/sandbox/linux/suid/sandbox.c 2020-04-24 11:50:12.719880728 +0800 -@@ -42,6 +42,15 @@ - #define CLONE_NEWNET 0x40000000 - #endif - -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - static bool DropRoot(); - - #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_dns.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_dns.patch deleted file mode 100644 index f49d8bd0afa..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_dns.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc -index 2f94832..2dd1a98 100644 ---- a/net/dns/dns_config_service_posix.cc -+++ b/net/dns/dns_config_service_posix.cc -@@ -150,7 +150,7 @@ ConfigParsePosixResult ReadDnsConfig(DnsConfig* dns_config) { - #if !defined(OS_ANDROID) - ConfigParsePosixResult result; - // TODO(fuchsia): Use res_ninit() when it's implemented on Fuchsia. --#if defined(OS_OPENBSD) || defined(OS_FUCHSIA) -+#if defined(OS_OPENBSD) || defined(OS_FUCHSIA) || (defined(OS_LINUX) && !defined(__GLIBC__)) - // Note: res_ninit in glibc always returns 0 and sets RES_INIT. - // res_init behaves the same way. - memset(&_res, 0, sizeof(_res)); -@@ -173,7 +173,7 @@ ConfigParsePosixResult ReadDnsConfig(DnsConfig* dns_config) { - #else - res_nclose(&res); - #endif // defined(OS_MACOSX) || defined(OS_FREEBSD) --#endif // defined(OS_OPENBSD) -+#endif // defined(OS_OPENBSD) || defined(OS_FUCHSIA) || (defined(OS_LINUX) && !defined(__GLIBC__)) - - #if defined(OS_MACOSX) && !defined(OS_IOS) - ConfigParsePosixResult error = DnsConfigWatcher::CheckDnsConfig(); -diff --git a/net/dns/dns_reloader.cc b/net/dns/dns_reloader.cc -index 952cff4..4b366f4 100644 ---- a/net/dns/dns_reloader.cc -+++ b/net/dns/dns_reloader.cc -@@ -4,7 +4,7 @@ - - #include "net/dns/dns_reloader.h" - --#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ -+#if defined(OS_POSIX) && defined(__GLIBC__) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ - !defined(OS_ANDROID) && !defined(OS_FUCHSIA) - - #include -diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc -index e8dea46..c86a830 100644 ---- a/net/dns/host_resolver_manager.cc -+++ b/net/dns/host_resolver_manager.cc -@@ -2386,7 +2386,7 @@ HostResolverManager::HostResolverManager( - NetworkChangeNotifier::AddConnectionTypeObserver(this); - if (system_dns_config_notifier_) - system_dns_config_notifier_->AddObserver(this); --#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ -+#if defined(OS_POSIX) && defined(__GLIBC__) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ - !defined(OS_ANDROID) - EnsureDnsReloaderInit(); - #endif -diff --git a/net/dns/host_resolver_proc.cc b/net/dns/host_resolver_proc.cc -index 0824540..3384978 100644 ---- a/net/dns/host_resolver_proc.cc -+++ b/net/dns/host_resolver_proc.cc -@@ -197,7 +197,7 @@ int SystemHostResolverCall(const std::string& host, - base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, - base::BlockingType::WILL_BLOCK); - --#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ -+#if defined(OS_POSIX) && defined(__GLIBC__) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ - !defined(OS_ANDROID) && !defined(OS_FUCHSIA) - DnsReloaderMaybeReload(); - #endif diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_exeinfo.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_exeinfo.patch deleted file mode 100644 index f1afc7c1b17..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_exeinfo.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/base/debug/stack_trace_posix.cc b/base/debug/stack_trace_posix.cc -index de2f356..f697c66 100644 ---- a/base/debug/stack_trace_posix.cc -+++ b/base/debug/stack_trace_posix.cc -@@ -27,7 +27,7 @@ - #if !defined(USE_SYMBOLIZE) - #include - #endif --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - #include - #endif - -@@ -86,7 +86,7 @@ void DemangleSymbols(std::string* text) { - // Note: code in this function is NOT async-signal safe (std::string uses - // malloc internally). - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - std::string::size_type search_from = 0; - while (search_from < text->size()) { - // Look for the start of a mangled symbol, from search_from. -@@ -121,7 +121,7 @@ void DemangleSymbols(std::string* text) { - search_from = mangled_start + 2; - } - } --#endif // !defined(__UCLIBC__) && !defined(_AIX) -+#endif // defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - } - #endif // !defined(USE_SYMBOLIZE) - -@@ -133,7 +133,7 @@ class BacktraceOutputHandler { - virtual ~BacktraceOutputHandler() = default; - }; - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - void OutputPointer(void* pointer, BacktraceOutputHandler* handler) { - // This should be more than enough to store a 64-bit number in hex: - // 16 hex digits + 1 for null-terminator. -@@ -216,7 +216,7 @@ void ProcessBacktrace(void* const* trace, - } - #endif // defined(USE_SYMBOLIZE) - } --#endif // !defined(__UCLIBC__) && !defined(_AIX) -+#endif // defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - - void PrintToStderr(const char* output) { - // NOTE: This code MUST be async-signal safe (it's used by in-process -@@ -828,7 +828,7 @@ size_t CollectStackTrace(void** trace, size_t count) { - // NOTE: This code MUST be async-signal safe (it's used by in-process - // stack dumping signal handler). NO malloc or stdio is allowed here. - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - // Though the backtrace API man page does not list any possible negative - // return values, we take no chance. - return base::saturated_cast(backtrace(trace, count)); -@@ -841,13 +841,13 @@ void StackTrace::PrintWithPrefix(const char* prefix_string) const { - // NOTE: This code MUST be async-signal safe (it's used by in-process - // stack dumping signal handler). NO malloc or stdio is allowed here. - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - PrintBacktraceOutputHandler handler; - ProcessBacktrace(trace_, count_, prefix_string, &handler); - #endif - } - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - void StackTrace::OutputToStreamWithPrefix(std::ostream* os, - const char* prefix_string) const { - StreamBacktraceOutputHandler handler(os); -diff --git a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -index 798f150..97acc7c 100644 ---- a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -+++ b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -@@ -14,7 +14,7 @@ - #define ENABLE_CRASH_OVERRIDES 1 - - /* Define to 1 if you have the `backtrace' function. */ --#define HAVE_BACKTRACE 1 -+/* #undef HAVE_BACKTRACE */ - - /* Define to 1 if you have the header file. */ - /* #undef HAVE_CRASHREPORTERCLIENT_H */ -@@ -55,7 +55,7 @@ - #define HAVE_ERRNO_H 1 - - /* Define to 1 if you have the header file. */ --#define HAVE_EXECINFO_H 1 -+/* #undef HAVE_EXECINFO_H */ - - /* Define to 1 if you have the header file. */ - #define HAVE_FCNTL_H 1 diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_fpstate_t.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_fpstate_t.patch deleted file mode 100644 index d8c41ccd9a0..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_fpstate_t.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -index 6ee6cc1..a8f9ccc 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp) { -+ const struct _fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_X86_FULL | -@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fpregs) { -+ const struct _fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_AMD64_FULL; -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -index f830618..f3dde1f 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -50,7 +50,7 @@ struct UContextReader { - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp); -+ const struct _fpstate* fp); - #elif defined(__aarch64__) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -index d1dc331..d1cc562 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -@@ -48,7 +48,7 @@ class ExceptionHandler; - #if defined(__aarch64__) - typedef struct fpsimd_context fpstate_t; - #elif !defined(__ARM_EABI__) && !defined(__mips__) --typedef struct _libc_fpstate fpstate_t; -+typedef struct _fpstate fpstate_t; - #endif - - // These entries store a list of memory regions that the client wants included diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_getcontext.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_getcontext.patch deleted file mode 100644 index 7697243a910..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_getcontext.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index b895f6d..4f13352 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -490,7 +490,9 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { - siginfo.si_code = SI_USER; - siginfo.si_pid = getpid(); - ucontext_t context; -+#if defined(__GLIBC__) - getcontext(&context); -+#endif - return HandleSignal(sig, &siginfo, &context); - } - -@@ -675,8 +677,10 @@ bool ExceptionHandler::WriteMinidump() { - sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0); - - CrashContext context; -+#if defined(__GLIBC__) - int getcontext_result = getcontext(&context.context); - if (getcontext_result) -+#endif - return false; - - #if defined(__i386__) diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_mallinfo.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_mallinfo.patch deleted file mode 100644 index 941313e4939..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_mallinfo.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/base/process/process_metrics_posix.cc b/base/process/process_metrics_posix.cc -index 044bd8d..0521321 100644 ---- a/base/process/process_metrics_posix.cc -+++ b/base/process/process_metrics_posix.cc -@@ -110,14 +110,14 @@ size_t ProcessMetrics::GetMallocUsage() { - malloc_statistics_t stats = {0}; - malloc_zone_statistics(nullptr, &stats); - return stats.size_in_use; --#elif defined(OS_LINUX) || defined(OS_ANDROID) -+#elif (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_ANDROID) - struct mallinfo minfo = mallinfo(); - #if BUILDFLAG(USE_TCMALLOC) - return minfo.uordblks; - #else - return minfo.hblkhd + minfo.arena; - #endif --#elif defined(OS_FUCHSIA) -+#else - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif -diff --git a/base/trace_event/malloc_dump_provider.cc b/base/trace_event/malloc_dump_provider.cc -index e89597c..eca258c 100644 ---- a/base/trace_event/malloc_dump_provider.cc -+++ b/base/trace_event/malloc_dump_provider.cc -@@ -132,7 +132,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - } - #elif defined(OS_FUCHSIA) - // TODO(fuchsia): Port, see https://crbug.com/706592. --#else -+#elif defined(OS_LINUX) && defined(__GLIBC__) - struct mallinfo info = mallinfo(); - DCHECK_GE(info.arena + info.hblkhd, info.uordblks); - -diff --git a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -index aa98242..97acc7c 100644 ---- a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -+++ b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h -@@ -130,7 +130,7 @@ - /* #undef HAVE_MALLCTL */ - - /* Define to 1 if you have the `mallinfo' function. */ --#define HAVE_MALLINFO 1 -+/* #undef HAVE_MALLINFO */ - - /* Define to 1 if you have the header file. */ - #define HAVE_MALLOC_H 1 -diff --git a/third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h b/third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h -index 6e17020..d4a9ed0 100644 ---- a/third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h -+++ b/third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h -@@ -122,7 +122,7 @@ - /* #undef HAVE_MALLCTL */ - - /* Define to 1 if you have the `mallinfo' function. */ --#define HAVE_MALLINFO 1 -+/* #undef HAVE_MALLINFO */ - - /* Define to 1 if you have the header file. */ - #define HAVE_MALLOC_H 1 - diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_pread_pwrite64.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_pread_pwrite64.patch deleted file mode 100644 index 2aeaaeb7593..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_pread_pwrite64.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/third_party/lss/linux_syscall_support.h b/third_party/lss/linux_syscall_support.h -index 5d9c2e8..2682349 100644 ---- a/third_party/lss/linux_syscall_support.h -+++ b/third_party/lss/linux_syscall_support.h -@@ -166,6 +166,13 @@ extern "C" { - # undef __NR_waitpid - #endif - -+#ifdef pread64 -+#undef pread64 -+#endif -+#ifdef pwrite64 -+#undef pwrite64 -+#endif -+ - /* As glibc often provides subtly incompatible data structures (and implicit - * wrapper functions that convert them), we provide our own kernel data - * structures for use by the system calls. diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_push_back.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_push_back.patch deleted file mode 100644 index cff340287da..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_push_back.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/net/socket/udp_socket_posix.cc b/net/socket/udp_socket_posix.cc -index 08bf79c..3ee5353 100644 ---- a/net/socket/udp_socket_posix.cc -+++ b/net/socket/udp_socket_posix.cc -@@ -1194,7 +1194,7 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( - msg_iov->push_back({const_cast(buffer->data()), buffer->length()}); - msgvec->reserve(buffers.size()); - for (size_t j = 0; j < buffers.size(); j++) -- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); -+ msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, nullptr, 0, 0, 0}, 0}); - int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); - SendResult send_result(0, 0, std::move(buffers)); - if (result < 0) { diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_stack_size.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_stack_size.patch deleted file mode 100644 index cf41d27ade6..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_stack_size.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/wtf/stack_util.cc b/third_party/blink/renderer/platform/wtf/stack_util.cc -index b242164..1a0b519 100644 ---- a/third_party/blink/renderer/platform/wtf/stack_util.cc -+++ b/third_party/blink/renderer/platform/wtf/stack_util.cc -@@ -28,7 +28,7 @@ - // FIXME: On Mac OSX and Linux, this method cannot estimate stack size - // correctly for the main thread. - --#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of blink_unittests). -@@ -55,6 +55,9 @@ size_t GetUnderestimatedStackSize() { - pthread_attr_destroy(&attr); - #endif - -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+ return 0; -+#else - // Return a 512k stack size, (conservatively) assuming the following: - // - that size is much lower than the pthreads default (x86 pthreads has a 2M - // default.) -@@ -62,6 +65,8 @@ size_t GetUnderestimatedStackSize() { - // low as 512k. - // - return 512 * 1024; -+#endif -+ - #elif defined(OS_MACOSX) - // pthread_get_stacksize_np() returns too low a value for the main thread on - // OSX 10.9, -@@ -97,7 +102,7 @@ return Threading::ThreadStackSize(); - } - - void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - pthread_attr_t attr; - int error; diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_stack_trace.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_stack_trace.patch deleted file mode 100644 index 9a1f2b04458..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_stack_trace.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/base/debug/stack_trace.cc b/base/debug/stack_trace.cc -index d8ca822..ffe1f08 100644 ---- a/base/debug/stack_trace.cc -+++ b/base/debug/stack_trace.cc -@@ -225,7 +225,9 @@ void StackTrace::Print() const { - } - - void StackTrace::OutputToStream(std::ostream* os) const { -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - OutputToStreamWithPrefix(os, nullptr); -+#endif - } - - std::string StackTrace::ToString() const { -@@ -233,14 +233,14 @@ std::string StackTrace::ToString() const { - } - std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const { - std::stringstream stream; --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(_AIX) - OutputToStreamWithPrefix(&stream, prefix_string); - #endif - return stream.str(); - } - - std::ostream& operator<<(std::ostream& os, const StackTrace& s) { --#if !defined(__UCLIBC__) & !defined(_AIX) -+#if defined(__GLIBC__) && !defined(__UCLIBC__) & !defined(_AIX) - s.OutputToStream(&os); - #else - os << "StackTrace::OutputToStream not implemented."; -diff --git a/base/logging.cc b/base/logging.cc -index 36b8bfc..dd830fe 100644 ---- a/base/logging.cc -+++ b/base/logging.cc -@@ -607,7 +607,7 @@ LogMessage::LogMessage(const char* file, int line, LogSeverity severity, - LogMessage::~LogMessage() { - size_t stack_start = stream_.tellp(); - #if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \ -- !defined(OS_AIX) -+ !defined(OS_AIX) && defined(__GLIBC__) - if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) { - // Include a stack trace on a fatal, unless a debugger is attached. - base::debug::StackTrace stack_trace; diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_tcp_listen.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_tcp_listen.patch deleted file mode 100644 index fa62317b11a..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_tcp_listen.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/content/public/common/socket_permission_request.h b/content/public/common/socket_permission_request.h -index 7316621..6171219 100644 ---- a/content/public/common/socket_permission_request.h -+++ b/content/public/common/socket_permission_request.h -@@ -9,6 +9,9 @@ - - #include - -+#ifdef TCP_LISTEN -+#undef TCP_LISTEN -+#endif - - namespace content { - diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_wordsize.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_wordsize.patch deleted file mode 100644 index 6208cffafbe..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_wordsize.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -index d03c7a8..78ca9dd 100644 ---- a/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -+++ b/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - - #include "common/memory_range.h" - -@@ -51,9 +52,9 @@ class ElfCoreDump { - typedef ElfW(Phdr) Phdr; - typedef ElfW(Word) Word; - typedef ElfW(Addr) Addr; --#if __WORDSIZE == 32 -+#if ULONG_MAX == 0xffffffff - static const int kClass = ELFCLASS32; --#elif __WORDSIZE == 64 -+#elif ULONG_MAX == 0xffffffffffffffff - static const int kClass = ELFCLASS64; - #else - #error "Unsupported __WORDSIZE for ElfCoreDump." diff --git a/srcpkgs/electron9/files/musl-patches/chromium-musl_xxx_ppc64le.patch b/srcpkgs/electron9/files/musl-patches/chromium-musl_xxx_ppc64le.patch deleted file mode 100644 index c5ae3ea18ac..00000000000 --- a/srcpkgs/electron9/files/musl-patches/chromium-musl_xxx_ppc64le.patch +++ /dev/null @@ -1,187 +0,0 @@ -From 5aadb50aa4d5220ff38c25fc7c5333ffd0abbc27 Mon Sep 17 00:00:00 2001 -From: Daniel Kolesa -Date: Sun, 13 Sep 2020 00:10:49 +0200 -Subject: [PATCH] ppc64le musl bits - ---- - sandbox/linux/bpf_dsl/seccomp_macros.h | 6 +++--- - sandbox/linux/seccomp-bpf/syscall.cc | 4 ++-- - .../abseil-cpp/absl/base/internal/unscaledcycleclock.h | 2 +- - .../src/client/linux/dump_writer_common/thread_info.cc | 7 +++++-- - .../src/client/linux/dump_writer_common/ucontext_reader.cc | 7 +++++-- - .../breakpad/src/client/linux/handler/exception_handler.cc | 5 +++++ - .../crashpad/crashpad/snapshot/linux/signal_context.h | 2 +- - third_party/crashpad/crashpad/util/linux/thread_info.h | 1 + - third_party/lss/linux_syscall_support.h | 4 ++++ - 9 files changed, 27 insertions(+), 11 deletions(-) - -diff --git a/sandbox/linux/bpf_dsl/seccomp_macros.h b/sandbox/linux/bpf_dsl/seccomp_macros.h -index a6aec544e0..2a4a7f1bca 100644 ---- a/sandbox/linux/bpf_dsl/seccomp_macros.h -+++ b/sandbox/linux/bpf_dsl/seccomp_macros.h -@@ -16,7 +16,7 @@ - #if defined(__mips__) - // sys/user.h in eglibc misses size_t definition - #include --#elif defined(__powerpc64__) -+#elif defined(__powerpc64__) && defined(__GLIBC__) - // Manually define greg_t on ppc64 - typedef unsigned long long greg_t; - #endif -@@ -361,11 +361,11 @@ typedef struct pt_regs regs_struct; - #define SECCOMP_ARCH AUDIT_ARCH_PPC64 - #endif - --#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg]) -+#define SECCOMP_REG(_ctx, _reg) (((struct pt_regs *)(_ctx)->uc_mcontext.regs)->gpr[_reg]) - - #define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3) - #define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0) --#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip -+#define SECCOMP_IP(_ctx) ((struct pt_regs *)(_ctx)->uc_mcontext.regs)->nip - #define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3) - #define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4) - #define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5) -diff --git a/sandbox/linux/seccomp-bpf/syscall.cc b/sandbox/linux/seccomp-bpf/syscall.cc -index 10fa5fd070..30b7b3851f 100644 ---- a/sandbox/linux/seccomp-bpf/syscall.cc -+++ b/sandbox/linux/seccomp-bpf/syscall.cc -@@ -497,9 +497,9 @@ void Syscall::PutValueInUcontext(intptr_t ret_val, ucontext_t* ctx) { - // Same as MIPS, need to invert ret and set error register (cr0.SO) - if (ret_val <= -1 && ret_val >= -4095) { - ret_val = -ret_val; -- ctx->uc_mcontext.regs->ccr |= (1 << 28); -+ ((struct pt_regs *)ctx->uc_mcontext.regs)->ccr |= (1 << 28); - } else { -- ctx->uc_mcontext.regs->ccr &= ~(1 << 28); -+ ((struct pt_regs *)ctx->uc_mcontext.regs)->ccr &= ~(1 << 28); - } - #endif - SECCOMP_RESULT(ctx) = static_cast(ret_val); -diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h -index cdce9bf8a8..73d77dda4d 100644 ---- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h -+++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h -@@ -46,7 +46,7 @@ - - // The following platforms have an implementation of a hardware counter. - #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ -- defined(__powerpc__) || defined(__ppc__) || \ -+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ - defined(_M_IX86) || defined(_M_X64) - #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 - #else -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -index 03afec7a58..0264ecf135 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -@@ -273,6 +273,9 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const { - - #elif defined(__powerpc64__) - -+#include -+#include -+ - uintptr_t ThreadInfo::GetInstructionPointer() const { - return mcontext.gp_regs[PT_NIP]; - } -@@ -290,9 +293,9 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const { - out->ctr = mcontext.gp_regs[PT_CTR]; - - for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) -- out->float_save.fpregs[i] = mcontext.fp_regs[i]; -+ out->float_save.fpregs[i] = ((uint64_t *)&mcontext.fp_regs)[i]; - -- out->float_save.fpscr = mcontext.fp_regs[NFPREG-1]; -+ out->float_save.fpscr = ((uint64_t *)&mcontext.fp_regs)[ELF_NFPREG-1]; - - for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) - out->vector_save.save_vr[i] = \ -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -index 7620cf6f79..54e373611f 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -257,6 +257,9 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - - #elif defined(__powerpc64__) - -+#include -+#include -+ - uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]; - } -@@ -280,9 +283,9 @@ void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc, - out->ctr = uc->uc_mcontext.gp_regs[PT_CTR]; - - for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) -- out->float_save.fpregs[i] = uc->uc_mcontext.fp_regs[i]; -+ out->float_save.fpregs[i] = ((uint64_t *)&uc->uc_mcontext.fp_regs)[i]; - -- out->float_save.fpscr = uc->uc_mcontext.fp_regs[NFPREG-1]; -+ out->float_save.fpscr = ((uint64_t *)&uc->uc_mcontext.fp_regs)[ELF_NFPREG-1]; - - for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) - out->vector_save.save_vr[i] = -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index 826c9e0c21..9bb4f6a3e4 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -105,6 +105,11 @@ - #define PR_SET_PTRACER 0x59616d61 - #endif - -+/* musl hack, can't include asm/ptrace.h as that causes conflicts */ -+#if defined(__powerpc64__) && !defined(PT_NIP) -+#define PT_NIP 32 -+#endif -+ - namespace google_breakpad { - - namespace { -diff --git a/third_party/crashpad/crashpad/snapshot/linux/signal_context.h b/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -index a1f2da2591..e6a5bd72ab 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -+++ b/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -@@ -469,7 +469,7 @@ struct MContext64 { - SignalThreadContext64 gp_regs; - SignalFloatContext64 fp_regs; - SignalVectorContext64 *v_regs; -- int64_t vmx_reserve[69]; -+ int64_t vmx_reserve[101]; - }; - - struct ContextTraits64 : public Traits64 { -diff --git a/third_party/crashpad/crashpad/util/linux/thread_info.h b/third_party/crashpad/crashpad/util/linux/thread_info.h -index dea0d1f39e..b203e5b2f2 100644 ---- a/third_party/crashpad/crashpad/util/linux/thread_info.h -+++ b/third_party/crashpad/crashpad/util/linux/thread_info.h -@@ -30,6 +30,7 @@ - - #if defined(ARCH_CPU_PPC64_FAMILY) - #include -+#include - #endif - - namespace crashpad { -diff --git a/third_party/lss/linux_syscall_support.h b/third_party/lss/linux_syscall_support.h -index 4c02137faa..259c5726d7 100644 ---- a/third_party/lss/linux_syscall_support.h -+++ b/third_party/lss/linux_syscall_support.h -@@ -4223,9 +4223,13 @@ struct kernel_statfs { - } - #endif - #if defined(__NR_fstatat64) -+ // musl does #define fstatat64 fstatat -+ #undef fstatat64 - LSS_INLINE _syscall4(int, fstatat64, int, d, - const char *, p, - struct kernel_stat64 *, b, int, f) -+ // set it back like it was -+ #define fstatat64 fstatat - #endif - #if defined(__NR_waitpid) - // waitpid is polyfilled below when not available. --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-83-gcc-10.patch b/srcpkgs/electron9/files/patches/chromium-83-gcc-10.patch deleted file mode 100644 index 974b49cde70..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-83-gcc-10.patch +++ /dev/null @@ -1,64 +0,0 @@ -From e473f41284ccc8fa4bc4622d087194b18a1ec23a Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Tue, 7 Apr 2020 16:37:10 +0000 -Subject: [PATCH] GCC: fix includes for gcc-10 - ---- - chrome/browser/search/background/ntp_backgrounds.h | 1 + - third_party/webrtc/call/rtx_receive_stream.h | 1 + - .../webrtc/modules/audio_processing/aec3/clockdrift_detector.h | 1 + - ui/gfx/linux/drm_util_linux.h | 2 ++ - 5 files changed, 6 insertions(+) - -diff --git a/chrome/browser/search/background/ntp_backgrounds.h b/chrome/browser/search/background/ntp_backgrounds.h -index 7afc0a2..ea5818e 100644 ---- a/chrome/browser/search/background/ntp_backgrounds.h -+++ b/chrome/browser/search/background/ntp_backgrounds.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_ - - #include -+#include - - class GURL; - -diff --git a/third_party/webrtc/call/rtx_receive_stream.h b/third_party/webrtc/call/rtx_receive_stream.h -index 8ffa440..113a816 100644 ---- a/third_party/webrtc/call/rtx_receive_stream.h -+++ b/third_party/webrtc/call/rtx_receive_stream.h -@@ -12,6 +12,7 @@ - #define CALL_RTX_RECEIVE_STREAM_H_ - - #include -+#include - - #include "call/rtp_packet_sink_interface.h" - -diff --git a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -index 22528c9..69e624e 100644 ---- a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -+++ b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -@@ -12,6 +12,7 @@ - #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ - - #include -+#include - - namespace webrtc { - -diff --git a/ui/gfx/linux/drm_util_linux.h b/ui/gfx/linux/drm_util_linux.h -index 86ff2eb..990f12c 100644 ---- a/ui/gfx/linux/drm_util_linux.h -+++ b/ui/gfx/linux/drm_util_linux.h -@@ -7,6 +7,8 @@ - - #include "ui/gfx/buffer_types.h" - -+#include -+ - namespace ui { - - int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format); --- -2.24.1 - diff --git a/srcpkgs/electron9/files/patches/chromium-add-missing-algorithm-header-in-crx_install_error.cc.patch b/srcpkgs/electron9/files/patches/chromium-add-missing-algorithm-header-in-crx_install_error.cc.patch deleted file mode 100644 index 570f7b31953..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-add-missing-algorithm-header-in-crx_install_error.cc.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 2b9d6daa0ab5ce45ec5555466d5a5a583a020ea8 Mon Sep 17 00:00:00 2001 -From: Daniel Playfair Cal -Date: Sat, 18 Apr 2020 00:27:38 +0000 -Subject: [PATCH] Add missing algorithm header in crx_install_error.cc - -This is needed for the use of std::find. - -Change-Id: I2dc43b3887c467986c5346be5a9e27a987e1e5b3 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2152333 -Reviewed-by: Ken Rockot -Commit-Queue: Ken Rockot -Cr-Commit-Position: refs/heads/master@{#760272} ---- - extensions/browser/install/crx_install_error.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc -index a9765bb0a5a..bd0d3e35a16 100644 ---- a/extensions/browser/install/crx_install_error.cc -+++ b/extensions/browser/install/crx_install_error.cc -@@ -4,6 +4,8 @@ - - #include "extensions/browser/install/crx_install_error.h" - -+#include -+ - #include "base/logging.h" - #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h" - diff --git a/srcpkgs/electron9/files/patches/chromium-avoid-double-destruction-of-ServiceWorkerObjectHost.patch b/srcpkgs/electron9/files/patches/chromium-avoid-double-destruction-of-ServiceWorkerObjectHost.patch deleted file mode 100644 index 5e1df005c96..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-avoid-double-destruction-of-ServiceWorkerObjectHost.patch +++ /dev/null @@ -1,138 +0,0 @@ -From bd59ce32629ef684624821419c43967b73d2989e Mon Sep 17 00:00:00 2001 -From: Hiroki Nakagawa -Date: Fri, 8 May 2020 08:25:31 +0000 -Subject: [PATCH] ServiceWorker: Avoid double destruction of - ServiceWorkerObjectHost on connection error - -This CL avoids the case where ServiceWorkerObjectHost is destroyed twice -on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built -with the GCC build toolchain. - -> How does the issue happen? - -ServiceWorkerObjectHost has a cyclic reference like this: - -ServiceWorkerObjectHost - --([1] scoped_refptr)--> ServiceWorkerVersion - --([2] std::unique_ptr)--> ServiceWorkerProviderHost - --([3] std::unique_ptr)--> ServiceWorkerContainerHost - --([4] std::unique_ptr)--> ServiceWorkerObjectHost - -Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in -map>. - -When ServiceWorkerObjectHost::OnConnectionError() is called, the -function removes the reference [4] from the map, and destroys -ServiceWorkerObjectHost. If the object host has the last reference [1] -to ServiceWorkerVersion, the destruction also cuts off the references -[2] and [3], and destroys ServiceWorkerProviderHost and -ServiceWorkerContainerHost. - -This seems to work well on the Chromium's default toolchain, but not -work on the GCC toolchain. According to the report, destruction of -ServiceWorkerContainerHost happens while the map owned by the container -host is erasing the ServiceWorkerObjectHost, and this results in crash -due to double destruction of the object host. - -I don't know the reason why this happens only on the GCC toolchain, but -I suspect the order of object destruction on std::map::erase() could be -different depending on the toolchains. - -> How does this CL fix this? - -The ideal fix is to redesign the ownership model of -ServiceWorkerVersion, but it's not feasible in the short term. - -Instead, this CL avoids destruction of ServiceWorkerObjectHost on -std::map::erase(). The new code takes the ownership of the object host -from the map first, and then erases the entry from the map. This -separates timings to erase the map entry and to destroy the object host, -so the crash should no longer happen. - -Bug: 1056598 -Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2094496 -Reviewed-by: Makoto Shimazu -Commit-Queue: Hiroki Nakagawa -Cr-Commit-Position: refs/heads/master@{#766770} ---- - .../service_worker_container_host.cc | 10 +++++ - .../service_worker_object_host_unittest.cc | 38 +++++++++++++++++++ - 2 files changed, 48 insertions(+) - -diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc -index ec7fb1449af..98c62093b0e 100644 ---- a/content/browser/service_worker/service_worker_container_host.cc -+++ b/content/browser/service_worker/service_worker_container_host.cc -@@ -669,6 +669,16 @@ void ServiceWorkerContainerHost::RemoveServiceWorkerObjectHost( - int64_t version_id) { - DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); - DCHECK(base::Contains(service_worker_object_hosts_, version_id)); -+ -+ // ServiceWorkerObjectHost to be deleted may have the last reference to -+ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost. -+ // If we erase the object host directly from the map, |this| could be deleted -+ // during the map operation and may crash. To avoid the case, we take the -+ // ownership of the object host from the map first, and then erase the entry -+ // from the map. See https://crbug.com/1056598 for details. -+ std::unique_ptr to_be_deleted = -+ std::move(service_worker_object_hosts_[version_id]); -+ DCHECK(to_be_deleted); - service_worker_object_hosts_.erase(version_id); - } - -diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc -index 408d7c1f9d1..6eab59040ab 100644 ---- a/content/browser/service_worker/service_worker_object_host_unittest.cc -+++ b/content/browser/service_worker/service_worker_object_host_unittest.cc -@@ -200,6 +200,19 @@ class ServiceWorkerObjectHostTest : public testing::Test { - return registration_info; - } - -+ void CallOnConnectionError(ServiceWorkerContainerHost* container_host, -+ int64_t version_id) { -+ // ServiceWorkerObjectHost has the last reference to the version. -+ ServiceWorkerObjectHost* object_host = -+ GetServiceWorkerObjectHost(container_host, version_id); -+ EXPECT_TRUE(object_host->version_->HasOneRef()); -+ -+ // Make sure that OnConnectionError induces destruction of the version and -+ // the object host. -+ object_host->receivers_.Clear(); -+ object_host->OnConnectionError(); -+ } -+ - BrowserTaskEnvironment task_environment_; - std::unique_ptr helper_; - scoped_refptr registration_; -@@ -409,5 +422,30 @@ TEST_F(ServiceWorkerObjectHostTest, DispatchExtendableMessageEvent_FromClient) { - events[0]->source_info_for_client->client_type); - } - -+// This is a regression test for https://crbug.com/1056598. -+TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) { -+ const GURL scope("https://www.example.com/"); -+ const GURL script_url("https://www.example.com/service_worker.js"); -+ Initialize(std::make_unique(base::FilePath())); -+ SetUpRegistration(scope, script_url); -+ -+ // Create the provider host. -+ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk, -+ StartServiceWorker(version_.get())); -+ -+ // Set up the case where the last reference to the version is owned by the -+ // service worker object host. -+ ServiceWorkerContainerHost* container_host = -+ version_->provider_host()->container_host(); -+ ServiceWorkerVersion* version_rawptr = version_.get(); -+ version_ = nullptr; -+ ASSERT_TRUE(version_rawptr->HasOneRef()); -+ -+ // Simulate the connection error that induces the object host destruction. -+ // This shouldn't crash. -+ CallOnConnectionError(container_host, version_rawptr->version_id()); -+ base::RunLoop().RunUntilIdle(); -+} -+ - } // namespace service_worker_object_host_unittest - } // namespace content diff --git a/srcpkgs/electron9/files/patches/chromium-chromium_atk_optional.patch.patch b/srcpkgs/electron9/files/patches/chromium-chromium_atk_optional.patch.patch deleted file mode 100644 index 667b4a7a00c..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-chromium_atk_optional.patch.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/build/config/ui.gni 2020-06-25 00:39:28.000000000 +0200 -+++ - 2020-08-22 18:01:01.182749726 +0200 -@@ -47,8 +47,10 @@ - # Make sure glib is not used if building for ChromeOS/Chromecast - assert(!use_glib || (is_linux && !is_chromeos && !is_chromecast)) - --# Whether to use atk, the Accessibility ToolKit library --use_atk = is_desktop_linux && !is_chromecast && use_glib -+declare_args() { -+ # Whether to use atk, the Accessibility ToolKit library -+ use_atk = is_desktop_linux && !is_chromecast && use_glib -+} - # ============================================= - # PLEASE DO NOT ADD MORE FLAGS TO THIS FILE - # ============================================= diff --git a/srcpkgs/electron9/files/patches/chromium-clean-up-a-call-to-set_utf8.patch b/srcpkgs/electron9/files/patches/chromium-clean-up-a-call-to-set_utf8.patch deleted file mode 100644 index 01384c03941..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-clean-up-a-call-to-set_utf8.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ede390a0b18e4565abf8ac1e1ff717e1d43fc320 Mon Sep 17 00:00:00 2001 -From: Paul Wankadia -Date: Tue, 14 Apr 2020 16:54:51 +0000 -Subject: [PATCH] Clean up a call to set_utf8(). - -This is part of an effort to rewrite calls to utf8() and set_utf8() -(in RE2::Options) as calls to encoding() and set_encoding(), -respectively. utf8() and set_utf8() have been marked as the "legacy" -interface since 2008, so it is long past time that we get rid of them. - -R=parastoog@google.com - -Change-Id: I62c48cd575a55b519d5264ed857f927c163068b2 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145261 -Reviewed-by: Parastoo Geranmayeh -Commit-Queue: Paul Wankadia -Cr-Commit-Position: refs/heads/master@{#758886} ---- - components/autofill/core/browser/address_rewriter.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/components/autofill/core/browser/address_rewriter.cc b/components/autofill/core/browser/address_rewriter.cc -index 1b85a50974c..030a5aba146 100644 ---- a/components/autofill/core/browser/address_rewriter.cc -+++ b/components/autofill/core/browser/address_rewriter.cc -@@ -57,7 +57,7 @@ void CompileRulesFromData(const std::string& data_string, - CompiledRuleVector* compiled_rules) { - base::StringPiece data = data_string; - re2::RE2::Options options; -- options.set_utf8(true); -+ options.set_encoding(RE2::Options::EncodingUTF8); - options.set_word_boundary(true); - - size_t token_end = 0; diff --git a/srcpkgs/electron9/files/patches/chromium-ffmpeg-4.3.patch b/srcpkgs/electron9/files/patches/chromium-ffmpeg-4.3.patch deleted file mode 100644 index 6abb886ab99..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-ffmpeg-4.3.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/media/base/media.cc b/media/base/media.cc -index c282ee49a03..a298b40c79b 100644 ---- a/media/base/media.cc -+++ b/media/base/media.cc -@@ -14,6 +14,7 @@ - #include "third_party/libyuv/include/libyuv.h" - - #if BUILDFLAG(ENABLE_FFMPEG) -+#include - #include "third_party/ffmpeg/ffmpeg_features.h" // nogncheck - extern "C" { - #include -@@ -41,7 +42,7 @@ class MediaInitializer { - - #if BUILDFLAG(USE_ALLOCATOR_SHIM) - // Remove allocation limit from ffmpeg, so calls go down to shim layer. -- av_max_alloc(0); -+ av_max_alloc(std::numeric_limits::max()); - #endif // BUILDFLAG(USE_ALLOCATOR_SHIM) - - #endif // BUILDFLAG(ENABLE_FFMPEG) diff --git a/srcpkgs/electron9/files/patches/chromium-fix-template-specialization-01.patch b/srcpkgs/electron9/files/patches/chromium-fix-template-specialization-01.patch deleted file mode 100644 index 8562f7da82c..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-fix-template-specialization-01.patch +++ /dev/null @@ -1,64 +0,0 @@ -GCC: fix template specialization in WTF::VectorMover - -GCC complains that explicit specialization in non-namespace scope -is happening for MoveOverlappingImpl. However, secialization is -not really necessary here with templates and can be moved -into MoveOverlappingImpl method without changing generated code. - -Bug: 819294 -Change-Id: I90b893b9701748302f7b900fbcc2c341685fe0d3 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2126290 -Reviewed-by: Kent Tamura -Commit-Queue: Kent Tamura -Cr-Commit-Position: refs/heads/master@{#756880} - -diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h -index 632d308..82aaf96 100644 ---- a/third_party/blink/renderer/platform/wtf/vector.h -+++ b/third_party/blink/renderer/platform/wtf/vector.h -@@ -205,30 +205,23 @@ - } - } - -- template -- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst); -- template <> -- static void MoveOverlappingImpl(const T* src, -- const T* src_end, -- T* dst) { -- memmove(dst, src, -- reinterpret_cast(src_end) - -- reinterpret_cast(src)); -- } -- template <> -- static void MoveOverlappingImpl(const T* src, -- const T* src_end, -- T* dst) { -- if (src == dst) -- return; -- if (dst < src) { -- for (; src < src_end; ++src, ++dst) -- AtomicWriteMemcpy(dst, src); -+ static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst) { -+ if (Allocator::kIsGarbageCollected) { -+ if (src == dst) -+ return; -+ if (dst < src) { -+ for (; src < src_end; ++src, ++dst) -+ AtomicWriteMemcpy(dst, src); -+ } else { -+ --src_end; -+ T* dst_end = dst + (src_end - src); -+ for (; src_end >= src; --src_end, --dst_end) -+ AtomicWriteMemcpy(dst_end, src_end); -+ } - } else { -- --src_end; -- T* dst_end = dst + (src_end - src); -- for (; src_end >= src; --src_end, --dst_end) -- AtomicWriteMemcpy(dst_end, src_end); -+ memmove(dst, src, -+ reinterpret_cast(src_end) - -+ reinterpret_cast(src)); - } - } diff --git a/srcpkgs/electron9/files/patches/chromium-gcc-CrossVariantMojoAssociatedReceiver.patch b/srcpkgs/electron9/files/patches/chromium-gcc-CrossVariantMojoAssociatedReceiver.patch deleted file mode 100644 index 86eb951300c..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-gcc-CrossVariantMojoAssociatedReceiver.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f92da6993e45b28a7e0c82b1aed89aae95f72931 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 17 Jun 2020 22:57:35 +0000 -Subject: [PATCH] GCC: remove noexcept declaration in CrossVariantMojoAssociatedReceive/Remote - -It breaks compilation of blink::WebServiceRegistrationObjectInfo that includes -WebServiceWorkerObjectInfo instance. This one uses default move constructor -without noexcept declaration, but has as members CrossVariantMojoAssociatedReceive -and CrossVariantMojoAssociatedRemote with noexcept declaration in move constructor. -declared noexcept. - -As resolved in other places, noexcept is not really much useful with -fno-exception -and our codebase is not prepare to add it consistently. Clang will not report -exception declaration incompatibilities in case -fno-exception is used, but GCC -fails. - -Bug: 819294 -Change-Id: Id5c46c271a8a92352d769de9c3c263d3dce4c9c7 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2247791 -Commit-Queue: Dave Tapuska -Reviewed-by: Dave Tapuska -Cr-Commit-Position: refs/heads/master@{#779526} ---- - -diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h b/third_party/blink/public/platform/cross_variant_mojo_util.h -index 92c69ce..9945e00 100644 ---- a/third_party/blink/public/platform/cross_variant_mojo_util.h -+++ b/third_party/blink/public/platform/cross_variant_mojo_util.h -@@ -131,10 +131,10 @@ - CrossVariantMojoAssociatedReceiver() = default; - ~CrossVariantMojoAssociatedReceiver() = default; - -- CrossVariantMojoAssociatedReceiver( -- CrossVariantMojoAssociatedReceiver&&) noexcept = default; -+ CrossVariantMojoAssociatedReceiver(CrossVariantMojoAssociatedReceiver&&) = -+ default; - CrossVariantMojoAssociatedReceiver& operator=( -- CrossVariantMojoAssociatedReceiver&&) noexcept = default; -+ CrossVariantMojoAssociatedReceiver&&) = default; - - CrossVariantMojoAssociatedReceiver( - const CrossVariantMojoAssociatedReceiver&) = delete; -@@ -166,10 +166,10 @@ - CrossVariantMojoAssociatedRemote() = default; - ~CrossVariantMojoAssociatedRemote() = default; - -- CrossVariantMojoAssociatedRemote( -- CrossVariantMojoAssociatedRemote&&) noexcept = default; -+ CrossVariantMojoAssociatedRemote(CrossVariantMojoAssociatedRemote&&) = -+ default; - CrossVariantMojoAssociatedRemote& operator=( -- CrossVariantMojoAssociatedRemote&&) noexcept = default; -+ CrossVariantMojoAssociatedRemote&&) = default; - - CrossVariantMojoAssociatedRemote(const CrossVariantMojoAssociatedRemote&) = - delete; diff --git a/srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-01.patch b/srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-01.patch deleted file mode 100644 index 2d6587d37b7..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-01.patch +++ /dev/null @@ -1,131 +0,0 @@ -[zlib] Make insert string a little less #ifdef-ie - -Remove one level of #ifdef indent to make that part of the code easier -to read. Change the accelerated routine name to end in _simd as is our -way elsewhere in chromium zlib. - -Minor: adjust the comments around the performance claims, and move the -important comments re CHROMIUM_ZLIB_NO_CASTAGNOLI into that block. - -Bug: 1032721 -Change-Id: Icb4044f3b87277d67f0ff004ac70813af0a91f5b -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2148893 -Reviewed-by: Chris Blume -Reviewed-by: Adenilson Cavalcanti -Commit-Queue: Noel Gordon -Cr-Commit-Position: refs/heads/master@{#760408} - -diff --git a/third_party/zlib/contrib/optimizations/insert_string.h b/third_party/zlib/contrib/optimizations/insert_string.h -index 1826601..d3bc33c 100644 ---- a/third_party/zlib/contrib/optimizations/insert_string.h -+++ b/third_party/zlib/contrib/optimizations/insert_string.h - -@@ -4,45 +4,47 @@ - * Use of this source code is governed by a BSD-style license that can be - * found in the Chromium source repository LICENSE file. - */ --#ifdef _MSC_VER -+ -+#if defined(_MSC_VER) - #define INLINE __inline - #else - #define INLINE inline - #endif - - #include "cpu_features.h" --/* Optimized insert_string block */ --#if defined(CRC32_SIMD_SSE42_PCLMUL) || defined(CRC32_ARMV8_CRC32) --#define TARGET_CPU_WITH_CRC -+ - // clang-format off - #if defined(CRC32_SIMD_SSE42_PCLMUL) -- /* Required to make MSVC bot build pass. */ -- #include -- #if defined(__GNUC__) || defined(__clang__) -- #undef TARGET_CPU_WITH_CRC -+ #include /* Required to make MSVC bot build pass. */ -+ -+ #if defined(__clang__) || defined(__GNUC__) - #define TARGET_CPU_WITH_CRC __attribute__((target("sse4.2"))) -+ #else -+ #define TARGET_CPU_WITH_CRC - #endif - - #define _cpu_crc32_u32 _mm_crc32_u32 - - #elif defined(CRC32_ARMV8_CRC32) - #if defined(__clang__) -- #undef TARGET_CPU_WITH_CRC - #define __crc32cw __builtin_arm_crc32cw - #endif - -- #define _cpu_crc32_u32 __crc32cw -- - #if defined(__aarch64__) - #define TARGET_CPU_WITH_CRC __attribute__((target("crc"))) - #else // !defined(__aarch64__) - #define TARGET_CPU_WITH_CRC __attribute__((target("armv8-a,crc"))) - #endif // defined(__aarch64__) -+ -+ #define _cpu_crc32_u32 __crc32cw -+ - #endif - // clang-format on -+ -+#if defined(TARGET_CPU_WITH_CRC) -+ - TARGET_CPU_WITH_CRC --local INLINE Pos insert_string_optimized(deflate_state* const s, -- const Pos str) { -+local INLINE Pos insert_string_simd(deflate_state* const s, const Pos str) { - Pos ret; - unsigned *ip, val, h = 0; - -@@ -64,7 +66,8 @@ - s->prev[str & s->w_mask] = ret; - return ret; - } --#endif /* Optimized insert_string block */ -+ -+#endif // TARGET_CPU_WITH_CRC - - /* =========================================================================== - * Update a hash value with the given input byte -@@ -99,24 +102,22 @@ - } - - local INLINE Pos insert_string(deflate_state* const s, const Pos str) { --/* String dictionary insertion: faster symbol hashing has a positive impact -- * on data compression speeds (around 20% on Intel and 36% on Arm Cortex big -- * cores). -- * A misfeature is that the generated compressed output will differ from -- * vanilla zlib (even though it is still valid 'DEFLATE-d' content). -+/* insert_string_simd string dictionary insertion: this SIMD symbol hashing -+ * significantly improves data compression speed. - * -- * We offer here a way to disable the optimization if there is the expectation -- * that compressed content should match when compared to vanilla zlib. -+ * Note: the generated compressed output is a valid DEFLATE stream but will -+ * differ from vanilla zlib output ... - */ --#if !defined(CHROMIUM_ZLIB_NO_CASTAGNOLI) -- /* TODO(cavalcantii): unify CPU features code. */ --#if defined(CRC32_ARMV8_CRC32) -- if (arm_cpu_enable_crc32) -- return insert_string_optimized(s, str); --#elif defined(CRC32_SIMD_SSE42_PCLMUL) -+#if defined(CHROMIUM_ZLIB_NO_CASTAGNOLI) -+/* ... so this build-time option can used to disable the SIMD symbol hasher -+ * if matching vanilla zlib DEFLATE output is required. -+ */ (;) /* FALLTHOUGH */ -+#elif defined(TARGET_CPU_WITH_CRC) && defined(CRC32_SIMD_SSE42_PCLMUL) - if (x86_cpu_enable_simd) -- return insert_string_optimized(s, str); --#endif -+ return insert_string_simd(s, str); -+#elif defined(TARGET_CPU_WITH_CRC) && defined(CRC32_ARMV8_CRC32) -+ if (arm_cpu_enable_crc32) -+ return insert_string_simd(s, str); - #endif - return insert_string_c(s, str); - } diff --git a/srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-02.patch b/srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-02.patch deleted file mode 100644 index 62968dc7cd6..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-gcc-aarch64-zlib-crc-02.patch +++ /dev/null @@ -1,35 +0,0 @@ -Define crc32 intrinsic builtin for gcc - -This will fix the build for gcc@aarch64, enabling building V8 -with gcc for aarch64. - -Bug: 1066302 -Change-Id: I4818d6384553a877f6c1c240b7f0c66c8db69b1e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2315440 -Reviewed-by: Mike Klein -Reviewed-by: Adenilson Cavalcanti -Commit-Queue: Adenilson Cavalcanti -Cr-Commit-Position: refs/heads/master@{#792504} - -diff --git a/third_party/zlib/contrib/optimizations/insert_string.h b/third_party/zlib/contrib/optimizations/insert_string.h -index d3bc33c..9f634ae 100644 ---- a/third_party/zlib/contrib/optimizations/insert_string.h -+++ b/third_party/zlib/contrib/optimizations/insert_string.h - -@@ -28,11 +28,15 @@ - #elif defined(CRC32_ARMV8_CRC32) - #if defined(__clang__) - #define __crc32cw __builtin_arm_crc32cw -+ #elif defined(__GNUC__) -+ #define __crc32cw __builtin_aarch64_crc32cw - #endif - -- #if defined(__aarch64__) -+ #if defined(__aarch64__) && defined(__clang__) - #define TARGET_CPU_WITH_CRC __attribute__((target("crc"))) -- #else // !defined(__aarch64__) -+ #elif defined(__aarch64__) && defined(__GNUC__) -+ #define TARGET_CPU_WITH_CRC __attribute__((target("+crc"))) -+ #elif defined(__clang__) // !defined(__aarch64__) - #define TARGET_CPU_WITH_CRC __attribute__((target("armv8-a,crc"))) - #endif // defined(__aarch64__) diff --git a/srcpkgs/electron9/files/patches/chromium-gcc-move-assignement-operators-noexcept.patch b/srcpkgs/electron9/files/patches/chromium-gcc-move-assignement-operators-noexcept.patch deleted file mode 100644 index 56918cdf378..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-gcc-move-assignement-operators-noexcept.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 911bdcd8cc5475be4ec4228cfbc85fc38f52857e Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 27 May 2020 10:00:41 +0000 -Subject: [PATCH] GCC: make base::{flat_map,flat_tree} move assignement operators noexcept - -Move assigment operator in ui::ColorSet is noexcept. Because this -class has a member of type base::flat_map, move assignment operators -of base::flat_map and base::flat_tree must be noexcept too. -base::flat_tree noexcept is conditional to avoid build failure with -NaCl. - -Otherwise GCC fails like this: - -../../ui/color/color_set.cc:14:11: error: function -'ui::ColorSet& ui::ColorSet::operator=(ui::ColorSet&&)' defaulted on its -redeclaration with an exception-specification that differs from the -implicit exception-specification '' - 14 | ColorSet& ColorSet::operator=(ColorSet&&) noexcept = default; - | ^~~~~~~~ - -Bug: 819294 -Change-Id: I10ce31851effc9ce78f2b5cbbb7148c339f065a7 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2179245 -Commit-Queue: Jan Wilken Dörrie -Reviewed-by: Daniel Cheng -Cr-Commit-Position: refs/heads/master@{#772175} ---- - -diff --git a/base/containers/flat_map.h b/base/containers/flat_map.h -index ed82c5d..1af6b40 100644 ---- a/base/containers/flat_map.h -+++ b/base/containers/flat_map.h -@@ -202,7 +202,7 @@ - ~flat_map() = default; - - flat_map& operator=(const flat_map&) = default; -- flat_map& operator=(flat_map&&) = default; -+ flat_map& operator=(flat_map&&) noexcept = default; - // Takes the first if there are duplicates in the initializer list. - flat_map& operator=(std::initializer_list ilist); - -diff --git a/base/containers/flat_tree.h b/base/containers/flat_tree.h -index 9412ff6..ce6e92b 100644 ---- a/base/containers/flat_tree.h -+++ b/base/containers/flat_tree.h -@@ -125,7 +125,8 @@ - // Assume that move assignment invalidates iterators and references. - - flat_tree& operator=(const flat_tree&); -- flat_tree& operator=(flat_tree&&); -+ flat_tree& operator=(flat_tree&&) noexcept( -+ std::is_nothrow_move_assignable::value); - // Takes the first if there are duplicates in the initializer list. - flat_tree& operator=(std::initializer_list ilist); - -@@ -518,7 +519,9 @@ - const flat_tree&) -> flat_tree& = default; - - template --auto flat_tree::operator=(flat_tree &&) -+auto flat_tree:: -+operator=(flat_tree&&) noexcept( -+ std::is_nothrow_move_assignable::value) - -> flat_tree& = default; - - template diff --git a/srcpkgs/electron9/files/patches/chromium-gcc-shared.patch b/srcpkgs/electron9/files/patches/chromium-gcc-shared.patch deleted file mode 100644 index 098b6832242..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-gcc-shared.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/build/toolchain/gcc_toolchain.gni 2019-11-19 02:27:43.000000000 +0100 -+++ - 2020-07-21 00:59:09.201421469 +0200 -@@ -371,7 +371,7 @@ - # .TOC file, overwrite it, otherwise, don't change it. - tocfile = sofile + ".TOC" - -- link_command = "$ld -shared -Wl,-soname=\"$soname\" {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" @\"$rspfile\"" -+ link_command = "$ld -shared -Wl,-soname=\"$soname\" {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" -shared @\"$rspfile\"" - - # Generate a map file to be used for binary size analysis. - # Map file adds ~10% to the link time on a z620. -@@ -450,7 +450,7 @@ - unstripped_sofile = sofile - } - -- command = "$ld -shared {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" -Wl,-soname=\"$soname\" @\"$rspfile\"" -+ command = "$ld -shared {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" -Wl,-soname=\"$soname\" -shared @\"$rspfile\"" - - if (defined(invoker.strip)) { - strip_command = "${invoker.strip} -o \"$sofile\" \"$unstripped_sofile\"" diff --git a/srcpkgs/electron9/files/patches/chromium-gcc-webui-template.patch b/srcpkgs/electron9/files/patches/chromium-gcc-webui-template.patch deleted file mode 100644 index 884e45b2d83..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-gcc-webui-template.patch +++ /dev/null @@ -1,67 +0,0 @@ -From aa4ba19043db1f41bb0982d4b50f4f00151930f4 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Tue, 26 May 2020 15:29:49 +0000 -Subject: [PATCH] GCC: fix template specialization in content::WebUI - -GCC complains that explicit specialization in non-namespace scope -is happening for GetValue. Move the methods outside -the class definition. - -Bug: 819294 -Change-Id: I109472a0b6fa7ddab3529bc92bba680252b40f67 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2128307 -Reviewed-by: Camille Lamy -Commit-Queue: Camille Lamy -Cr-Commit-Position: refs/heads/master@{#771818} ---- - -diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h -index 4e6aa0e..fa6f10c 100644 ---- a/content/public/browser/web_ui.h -+++ b/content/public/browser/web_ui.h -@@ -138,22 +138,6 @@ - template - static T GetValue(const base::Value& value); - -- template <> -- inline bool GetValue(const base::Value& value) { -- return value.GetBool(); -- } -- -- template <> -- inline int GetValue(const base::Value& value) { -- return value.GetInt(); -- } -- -- template <> -- inline const std::string& GetValue( -- const base::Value& value) { -- return value.GetString(); -- } -- - template - struct Call; - -@@ -169,6 +153,22 @@ - }; - }; - -+template <> -+inline bool WebUI::GetValue(const base::Value& value) { -+ return value.GetBool(); -+} -+ -+template <> -+inline int WebUI::GetValue(const base::Value& value) { -+ return value.GetInt(); -+} -+ -+template <> -+inline const std::string& WebUI::GetValue( -+ const base::Value& value) { -+ return value.GetString(); -+} -+ - } // namespace content - - #endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_ diff --git a/srcpkgs/electron9/files/patches/chromium-include-memory-header-to-get-the-definition-of-std-u.patch b/srcpkgs/electron9/files/patches/chromium-include-memory-header-to-get-the-definition-of-std-u.patch deleted file mode 100644 index eb30ad2437f..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-include-memory-header-to-get-the-definition-of-std-u.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 40d994e4aa2e4d5077c1810e4623549618a19c05 Mon Sep 17 00:00:00 2001 -From: Piotr Tworek -Date: Mon, 27 Apr 2020 16:31:46 +0000 -Subject: [PATCH] Include "memory" header to get the definition of - std::unique_ptr. - -Right now the code im the affected fails to build when using libstdc++ -instead of bundled libcxx. Apparently libcxx pulls the necessary header -indirectly. - -Change-Id: Ie5e86f228434ab16d622ae7a912d9ce607258931 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2164645 -Reviewed-by: Jochen Eisinger -Commit-Queue: Jochen Eisinger -Cr-Commit-Position: refs/heads/master@{#762881} ---- - .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -index f5a7ab03892..ef19cfaf680 100644 ---- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -+++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -@@ -5,6 +5,8 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ - #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ - -+#include -+ - #include "base/optional.h" - #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h" - #include "third_party/blink/renderer/core/core_export.h" diff --git a/srcpkgs/electron9/files/patches/chromium-iwyu-std-numeric_limits-is-defined-in-limits.patch b/srcpkgs/electron9/files/patches/chromium-iwyu-std-numeric_limits-is-defined-in-limits.patch deleted file mode 100644 index 39be41002a4..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-iwyu-std-numeric_limits-is-defined-in-limits.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 74f76a6be385ef056b0be2362c32c728141cca16 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 17 Apr 2020 16:04:12 +0000 -Subject: [PATCH] IWYU: std::numeric_limits is defined in limits -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: Ifbc379adc5bb7242c21e7da0bcfc28f49e4dd06f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2153111 -Reviewed-by: François Doray -Commit-Queue: François Doray -Cr-Commit-Position: refs/heads/master@{#760075} ---- - .../graph/policies/background_tab_loading_policy_helpers.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -index 4881c010bb9..593501d16a7 100644 ---- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc 2020-06-25 00:39:31.000000000 +0200 -+++ - 2020-08-22 18:33:55.879464820 +0200 -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h" -+#include - #include "base/logging.h" - - namespace performance_manager { diff --git a/srcpkgs/electron9/files/patches/chromium-libc_malloc.patch b/srcpkgs/electron9/files/patches/chromium-libc_malloc.patch deleted file mode 100644 index 27cd2cefc46..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-libc_malloc.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/base/process/memory_linux.cc.orig 2017-09-15 08:41:43.000000000 +0000 -+++ b/base/process/memory_linux.cc 2017-09-15 08:44:39.804995469 +0000 -@@ -21,6 +21,12 @@ - #include "third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h" - #endif - -+#if defined(LIBC_GLIBC) -+extern "C" { -+extern void *__libc_malloc(size_t size); -+} -+#endif -+ - namespace base { - - size_t g_oom_size = 0U; ---- a/base/process/memory_linux.cc.orig 2017-09-15 08:46:55.000000000 +0000 -+++ b/base/process/memory_linux.cc 2017-09-15 08:51:34.422016858 +0000 -@@ -107,7 +107,7 @@ - (!defined(LIBC_GLIBC) && !defined(USE_TCMALLOC)) - *result = malloc(size); - #elif defined(LIBC_GLIBC) && !defined(USE_TCMALLOC) -- *result = __libc_malloc(size); -+ *result = ::__libc_malloc(size); - #elif defined(USE_TCMALLOC) - *result = tc_malloc_skip_new_handler(size); - #endif diff --git a/srcpkgs/electron9/files/patches/chromium-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch b/srcpkgs/electron9/files/patches/chromium-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch deleted file mode 100644 index 5e9d37aae54..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-libstdc-fix-incomplete-type-in-AXTree-for-NodeSetSiz.patch +++ /dev/null @@ -1,62 +0,0 @@ -From aeef68888d4c00b69facead2b934095a8cd17329 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 20 Apr 2020 18:21:43 +0000 -Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for - NodeSetSizePosInSetInfo - -has only forward declaration of NodeSetSizePosInSetInfo. Therefore, -move declaration from ax_tree.cc. - -std: :unordered_map requires U to be fully declared. ax_tree.h -Bug: 957519 -Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132403 -Reviewed-by: David Tseng -Commit-Queue: David Tseng -Cr-Commit-Position: refs/heads/master@{#760588} ---- - ui/accessibility/ax_tree.cc | 10 ++-------- - ui/accessibility/ax_tree.h | 9 ++++++++- - 2 files changed, 10 insertions(+), 9 deletions(-) - -diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc -index 7b8d9b1b161..e9154028d66 100644 ---- a/ui/accessibility/ax_tree.cc -+++ b/ui/accessibility/ax_tree.cc -@@ -567,14 +567,8 @@ struct AXTreeUpdateState { - const AXTree& tree; - }; - --struct AXTree::NodeSetSizePosInSetInfo { -- NodeSetSizePosInSetInfo() = default; -- ~NodeSetSizePosInSetInfo() = default; -- -- int32_t pos_in_set = 0; -- int32_t set_size = 0; -- base::Optional lowest_hierarchical_level; --}; -+AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default; -+AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default; - - struct AXTree::OrderedSetContent { - explicit OrderedSetContent(const AXNode* ordered_set = nullptr) -diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h -index a51ca8de4c8..8c1c57517ac 100644 ---- a/ui/accessibility/ax_tree.h -+++ b/ui/accessibility/ax_tree.h -@@ -328,7 +328,14 @@ class AX_EXPORT AXTree : public AXNode::OwnerTree { - bool enable_extra_mac_nodes_ = false; - - // Contains pos_in_set and set_size data for an AXNode. -- struct NodeSetSizePosInSetInfo; -+ struct NodeSetSizePosInSetInfo { -+ NodeSetSizePosInSetInfo(); -+ ~NodeSetSizePosInSetInfo(); -+ -+ int32_t pos_in_set = 0; -+ int32_t set_size = 0; -+ base::Optional lowest_hierarchical_level; -+ }; - - // Represents the content of an ordered set which includes the ordered set - // items and the ordered set container if it exists. diff --git a/srcpkgs/electron9/files/patches/chromium-make-some-of-blink-custom-iterators-STL-compatible.patch b/srcpkgs/electron9/files/patches/chromium-make-some-of-blink-custom-iterators-STL-compatible.patch deleted file mode 100644 index 30cbdefcc65..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-make-some-of-blink-custom-iterators-STL-compatible.patch +++ /dev/null @@ -1,95 +0,0 @@ -From d3cabbc7321d349a9bffda482df5afc0d4df1ac2 Mon Sep 17 00:00:00 2001 -From: Piotr Tworek -Date: Thu, 30 Apr 2020 21:33:47 +0000 -Subject: [PATCH] Make some of blink custom iterators STL compatible. - -Blink has recently started using functions like std::any_of with some of -the custom iterators it provides. On Linux this works in the default -setup using libcxx, but fails with even the most recent versions of -libstdc++. In all cases the error message (text in bug report) complains -about lack of matching std::__iterator_category definition. - -From what I understand the error message is basically saying those -iterators are not STL compatible due to missing traits as described -in https://en.cppreference.com/w/cpp/iterator/iterator_traits. Such -traits are provided by custom iterators defined in //base, or //cc. - -This patch adds the necessary traits to iterators that are currently -affected by this problem. - -Bug: 1076869 -Change-Id: I9950a7100c32499ba96647317fa70b87dc22eaf9 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2174199 -Reviewed-by: Kentaro Hara -Commit-Queue: Piotr Tworek -Cr-Commit-Position: refs/heads/master@{#764426} ---- - .../core/layout/ng/ng_physical_container_fragment.h | 6 ++++++ - .../blink/renderer/platform/wtf/hash_iterators.h | 12 ++++++++++++ - third_party/blink/renderer/platform/wtf/hash_table.h | 6 ++++++ - 3 files changed, 24 insertions(+) - -diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -index 1256e77c146..8b93107f2fc 100644 ---- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -@@ -38,6 +38,12 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment { - STACK_ALLOCATED(); - - public: -+ using iterator_category = std::bidirectional_iterator_tag; -+ using value_type = NGLink; -+ using difference_type = ptrdiff_t; -+ using pointer = value_type*; -+ using reference = value_type&; -+ - ConstIterator(const NGLink* current) : current_(current) {} - - const NGLink& operator*() const { return *PostLayoutOrCurrent(); } -diff --git a/third_party/blink/renderer/platform/wtf/hash_iterators.h b/third_party/blink/renderer/platform/wtf/hash_iterators.h -index f8e66e6be85..6003d02c509 100644 ---- a/third_party/blink/renderer/platform/wtf/hash_iterators.h -+++ b/third_party/blink/renderer/platform/wtf/hash_iterators.h -@@ -53,6 +53,12 @@ struct HashTableConstIteratorAdapter - ValuesIterator; - -+ using iterator_category = std::bidirectional_iterator_tag; -+ using value_type = HashTableType; -+ using difference_type = ptrdiff_t; -+ using pointer = value_type*; -+ using reference = value_type&; -+ - HashTableConstIteratorAdapter() = default; - HashTableConstIteratorAdapter( - const typename HashTableType::const_iterator& impl) -@@ -94,6 +100,12 @@ struct HashTableIteratorAdapter - ValuesIterator; - -+ using iterator_category = std::bidirectional_iterator_tag; -+ using value_type = HashTableType; -+ using difference_type = ptrdiff_t; -+ using pointer = value_type*; -+ using reference = value_type&; -+ - HashTableIteratorAdapter() = default; - HashTableIteratorAdapter(const typename HashTableType::iterator& impl) - : impl_(impl) {} -diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h -index f596fb5d41e..5a4468d6bd1 100644 ---- a/third_party/blink/renderer/platform/wtf/hash_table.h -+++ b/third_party/blink/renderer/platform/wtf/hash_table.h -@@ -2204,6 +2204,12 @@ struct HashTableConstIteratorAdapter { - STACK_ALLOCATED(); - - public: -+ using iterator_category = std::bidirectional_iterator_tag; -+ using value_type = HashTableType; -+ using difference_type = ptrdiff_t; -+ using pointer = value_type*; -+ using reference = value_type&; -+ - HashTableConstIteratorAdapter() = default; - HashTableConstIteratorAdapter( - const typename HashTableType::const_iterator& impl) diff --git a/srcpkgs/electron9/files/patches/chromium-skia-harmony.patch b/srcpkgs/electron9/files/patches/chromium-skia-harmony.patch deleted file mode 100644 index 1cb8aebf240..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-skia-harmony.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000 -+++ b/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000 -@@ -128,9 +128,9 @@ public: - : fGetVarDesignCoordinates(nullptr) - , fGetVarAxisFlags(nullptr) - , fLibrary(nullptr) -- , fIsLCDSupported(false) -+ , fIsLCDSupported(true) - , fLightHintingIsYOnly(false) -- , fLCDExtra(0) -+ , fLCDExtra(2) - { - if (FT_New_Library(&gFTMemory, &fLibrary)) { - return; diff --git a/srcpkgs/electron9/files/patches/chromium-time64.patch b/srcpkgs/electron9/files/patches/chromium-time64.patch deleted file mode 100644 index 0330ce057f4..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-time64.patch +++ /dev/null @@ -1,51 +0,0 @@ -Description: allow sandboxed code to call gettime64 - Add __NR_clock_gettime64 and __NR_clock_nanosleep_time64 to syscall whitelist - and clock selection parameter filtering code. - - Add __NR_utimensat_time64 to syscall whitelist - - Conditionalise additions on the new calls existing, because they do not exist - on 64-bit architectures. -Author: Peter Michael Green - -Index: chromium-83.0.4103.116/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -=================================================================== ---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -148,7 +148,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de - return Allow(); - #endif - -+#ifdef __NR_clock_gettime64 -+ if (sysno == __NR_clock_gettime || sysno == __NR_clock_gettime64 || sysno == __NR_clock_nanosleep || sysno == __NR_clock_nanosleep_time64) { -+#else - if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) { -+#endif - return RestrictClockID(); - } - -Index: chromium-83.0.4103.116/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -=================================================================== ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -38,6 +38,10 @@ bool SyscallSets::IsAllowedGettime(int s - case __NR_clock_getres: // Allowed only on Android with parameters - // filtered by RestrictClokID(). - case __NR_clock_gettime: // Parameters filtered by RestrictClockID(). -+#ifdef __NR_clock_gettime64 -+ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID(). -+ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID(). -+#endif - case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID(). - case __NR_clock_settime: // Privileged. - #if defined(__i386__) || \ -@@ -159,6 +163,9 @@ bool SyscallSets::IsFileSystem(int sysno - case __NR_utime: - #endif - case __NR_utimensat: // New. -+#ifdef __NR_utimensat_time64 -+ case __NR_utimensat_time64: -+#endif - return true; - default: - return false; diff --git a/srcpkgs/electron9/files/patches/chromium-toolchain-host.patch b/srcpkgs/electron9/files/patches/chromium-toolchain-host.patch deleted file mode 100644 index 0dace261a08..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-toolchain-host.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/build/toolchain/linux/unbundle/BUILD.gn 2020-07-21 17:36:34.064748261 +0200 -+++ - 2020-07-21 17:39:03.115740522 +0200 -@@ -35,7 +35,7 @@ - extra_ldflags = getenv("BUILD_LDFLAGS") - - toolchain_args = { -- current_cpu = current_cpu -+ current_cpu = host_cpu - current_os = current_os - } - } diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0001-Revert-ui-fill-in-SDR-HDR-DisplayColorSpaces-CrOS.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0001-Revert-ui-fill-in-SDR-HDR-DisplayColorSpaces-CrOS.patch deleted file mode 100644 index 6616357f899..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0001-Revert-ui-fill-in-SDR-HDR-DisplayColorSpaces-CrOS.patch +++ /dev/null @@ -1,436 +0,0 @@ -From 44f5d255245153ac3f5aa4b6530810ca93ff46e6 Mon Sep 17 00:00:00 2001 -From: Miguel Casas -Date: Mon, 22 Jun 2020 20:24:57 +0000 -Subject: [PATCH 01/12] Revert "ui: fill in SDR/HDR DisplayColorSpaces, CrOS" - -This reverts commit 07199ff111cb3b31da0752adc62ffbe05101dfde. - -Said commit inadvertently instructed the compositor to use the -EDID-provided ColorSpace as target for rastering, causing colours -to be accurate, but washed out. - -Original Commit description ---------------------------------------- -This CL adds code for populating the necessary gfx::DisplayColorSpaces -in CreateManagedDisplayInfo for supporting SDR and HDR target color -spaces (depending on the monitor capabilities and the big hdr flag). - -It needs a sibling CL to allow AR/B30 FBs on CrOs crrev.com/c/2078655, -Tested with that CL and by playing an HDR video: the primary -framebuffer format in /sys/kernel/debug/dri/0//state correctly changes -to XB30, whereas when there are not HDR quads in the BufferQueue, it's -XR24. - -Bug: 958166 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2072621 -Reviewed-by: ccameron -Commit-Queue: Miguel Casas -Cr-Commit-Position: refs/heads/master@{#745461} - - -(cherry picked from commit f807a5774bc1af6ef43c408bd0a1a0b0d55e2c4a) - -Bug: b:158126931, 958166 -Change-Id: Iee5c9a431a9c0f9f6a5b4d229ab70183c264ad9b -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2232761 -Auto-Submit: Miguel Casas -Reviewed-by: ccameron -Commit-Queue: ccameron -Commit-Queue: Miguel Casas -Cr-Original-Commit-Position: refs/heads/master@{#775775} -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2258293 -Reviewed-by: Miguel Casas -Cr-Commit-Position: refs/branch-heads/4103@{#724} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - ui/compositor/compositor.cc | 10 ++ - ui/display/fake/fake_display_snapshot.cc | 21 +-- - ui/display/fake/fake_display_snapshot.h | 8 +- - ui/display/manager/display_change_observer.cc | 69 ++------- - ui/display/manager/display_change_observer.h | 2 - - .../display_change_observer_unittest.cc | 134 +----------------- - 6 files changed, 25 insertions(+), 219 deletions(-) - -diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc -index e94d022afcc..dd4f89d7676 100644 ---- a/ui/compositor/compositor.cc -+++ b/ui/compositor/compositor.cc -@@ -444,6 +444,16 @@ void Compositor::SetDisplayColorSpaces( - if (display_color_spaces_ == display_color_spaces) - return; - display_color_spaces_ = display_color_spaces; -+ // TODO(crbug.com/1012846): Remove this flag and provision when HDR is fully -+ // supported on ChromeOS. -+#if defined(OS_CHROMEOS) -+ if (display_color_spaces_.SupportsHDR() && -+ !base::CommandLine::ForCurrentProcess()->HasSwitch( -+ switches::kEnableUseHDRTransferFunction)) { -+ display_color_spaces_ = -+ gfx::DisplayColorSpaces(gfx::ColorSpace::CreateSRGB()); -+ } -+#endif - - host_->SetRasterColorSpace(display_color_spaces_.GetRasterColorSpace()); - // Always force the ui::Compositor to re-draw all layers, because damage -diff --git a/ui/display/fake/fake_display_snapshot.cc b/ui/display/fake/fake_display_snapshot.cc -index 3568c296327..94da2c4e398 100644 ---- a/ui/display/fake/fake_display_snapshot.cc -+++ b/ui/display/fake/fake_display_snapshot.cc -@@ -163,8 +163,7 @@ std::unique_ptr Builder::Build() { - id_, origin_, physical_size, type_, is_aspect_preserving_scaling_, - has_overscan_, privacy_screen_state_, has_color_correction_matrix_, - color_correction_in_linear_space_, name_, std::move(modes_), -- current_mode_, native_mode_, product_code_, maximum_cursor_size_, -- color_space_, bits_per_channel_); -+ current_mode_, native_mode_, product_code_, maximum_cursor_size_); - } - - Builder& Builder::SetId(int64_t id) { -@@ -265,16 +264,6 @@ Builder& Builder::SetPrivacyScreen(PrivacyScreenState state) { - return *this; - } - --Builder& Builder::SetColorSpace(const gfx::ColorSpace& color_space) { -- color_space_ = color_space; -- return *this; --} -- --Builder& Builder::SetBitsPerChannel(uint32_t bits_per_channel) { -- bits_per_channel_ = bits_per_channel; -- return *this; --} -- - const DisplayMode* Builder::AddOrFindDisplayMode(const gfx::Size& size) { - for (auto& mode : modes_) { - if (mode->size() == size) -@@ -316,9 +305,7 @@ FakeDisplaySnapshot::FakeDisplaySnapshot( - const DisplayMode* current_mode, - const DisplayMode* native_mode, - int64_t product_code, -- const gfx::Size& maximum_cursor_size, -- const gfx::ColorSpace& color_space, -- uint32_t bits_per_channel) -+ const gfx::Size& maximum_cursor_size) - : DisplaySnapshot(display_id, - origin, - physical_size, -@@ -328,8 +315,8 @@ FakeDisplaySnapshot::FakeDisplaySnapshot( - privacy_screen_state, - has_color_correction_matrix, - color_correction_in_linear_space, -- color_space, -- bits_per_channel, -+ gfx::ColorSpace(), -+ 8u /* bits_per_channel */, - display_name, - base::FilePath(), - std::move(modes), -diff --git a/ui/display/fake/fake_display_snapshot.h b/ui/display/fake/fake_display_snapshot.h -index d521fb34078..833ac744d08 100644 ---- a/ui/display/fake/fake_display_snapshot.h -+++ b/ui/display/fake/fake_display_snapshot.h -@@ -70,8 +70,6 @@ class FAKE_DISPLAY_EXPORT FakeDisplaySnapshot : public DisplaySnapshot { - // Sets physical_size for high DPI display. - Builder& SetHighDPI(); - Builder& SetPrivacyScreen(PrivacyScreenState state); -- Builder& SetColorSpace(const gfx::ColorSpace& color_space); -- Builder& SetBitsPerChannel(uint32_t bits_per_channel); - - private: - // Returns a display mode with |size|. If there is no existing mode, insert -@@ -96,8 +94,6 @@ class FAKE_DISPLAY_EXPORT FakeDisplaySnapshot : public DisplaySnapshot { - DisplayModeList modes_; - const DisplayMode* current_mode_ = nullptr; - const DisplayMode* native_mode_ = nullptr; -- gfx::ColorSpace color_space_; -- uint32_t bits_per_channel_ = 8u; - - DISALLOW_COPY_AND_ASSIGN(Builder); - }; -@@ -116,9 +112,7 @@ class FAKE_DISPLAY_EXPORT FakeDisplaySnapshot : public DisplaySnapshot { - const DisplayMode* current_mode, - const DisplayMode* native_mode, - int64_t product_code, -- const gfx::Size& maximum_cursor_size, -- const gfx::ColorSpace& color_space, -- uint32_t bits_per_channel); -+ const gfx::Size& maximum_cursor_size); - ~FakeDisplaySnapshot() override; - - // Creates a display snapshot from the provided |spec| string. Returns null if -diff --git a/ui/display/manager/display_change_observer.cc b/ui/display/manager/display_change_observer.cc -index 28dbd10ec19..799d896d8e7 100644 ---- a/ui/display/manager/display_change_observer.cc -+++ b/ui/display/manager/display_change_observer.cc -@@ -77,55 +77,6 @@ ManagedDisplayInfo::ManagedDisplayModeList GetModeListWithAllRefreshRates( - return display_mode_list; - } - --// Constructs the raster DisplayColorSpaces out of |snapshot_color_space|, --// including the HDR ones if present and |allow_high_bit_depth| is set. --gfx::DisplayColorSpaces FillDisplayColorSpaces( -- const gfx::ColorSpace& snapshot_color_space, -- bool allow_high_bit_depth) { -- // ChromeOS VMs (e.g. amd64-generic or betty) have INVALID Primaries; just -- // pass the color space along. -- if (!snapshot_color_space.IsValid()) { -- return gfx::DisplayColorSpaces(snapshot_color_space, -- DisplaySnapshot::PrimaryFormat()); -- } -- -- constexpr auto kSDRTransferId = gfx::ColorSpace::TransferID::IEC61966_2_1; -- const auto primary_id = snapshot_color_space.GetPrimaryID(); -- -- gfx::ColorSpace sdr_color_space; -- if (primary_id == gfx::ColorSpace::PrimaryID::CUSTOM) { -- skcms_Matrix3x3 primary_matrix{}; -- snapshot_color_space.GetPrimaryMatrix(&primary_matrix); -- sdr_color_space = -- gfx::ColorSpace::CreateCustom(primary_matrix, kSDRTransferId); -- } else { -- sdr_color_space = gfx::ColorSpace(primary_id, kSDRTransferId); -- } -- gfx::DisplayColorSpaces display_color_spaces( -- sdr_color_space, DisplaySnapshot::PrimaryFormat()); -- -- if (allow_high_bit_depth) { -- gfx::ColorSpace hdr_color_space; -- if (primary_id == gfx::ColorSpace::PrimaryID::CUSTOM) { -- skcms_Matrix3x3 primary_matrix{}; -- snapshot_color_space.GetPrimaryMatrix(&primary_matrix); -- hdr_color_space = gfx::ColorSpace::CreatePiecewiseHDR( -- primary_id, 0.99, 2.0, &primary_matrix); -- } else { -- hdr_color_space = -- gfx::ColorSpace::CreatePiecewiseHDR(primary_id, 0.99, 2.0); -- } -- -- display_color_spaces.SetOutputColorSpaceAndBufferFormat( -- gfx::ContentColorUsage::kHDR, false /* needs_alpha */, hdr_color_space, -- gfx::BufferFormat::RGBA_1010102); -- display_color_spaces.SetOutputColorSpaceAndBufferFormat( -- gfx::ContentColorUsage::kHDR, true /* needs_alpha */, hdr_color_space, -- gfx::BufferFormat::RGBA_1010102); -- } -- return display_color_spaces; --} -- - } // namespace - - // static -@@ -386,23 +337,21 @@ ManagedDisplayInfo DisplayChangeObserver::CreateManagedDisplayInfo( - if (dpi) - new_info.set_device_dpi(dpi); - --#if !defined(OS_CHROMEOS) - // TODO(crbug.com/1012846): This should configure the HDR color spaces. - gfx::DisplayColorSpaces display_color_spaces( - snapshot->color_space(), DisplaySnapshot::PrimaryFormat()); - new_info.set_display_color_spaces(display_color_spaces); - new_info.set_bits_per_channel(snapshot->bits_per_channel()); --#else -- // TODO(crbug.com/1012846): Remove kEnableUseHDRTransferFunction usage when -- // HDR is fully supported on ChromeOS. -- const bool allow_high_bit_depth = -- base::CommandLine::ForCurrentProcess()->HasSwitch( -- switches::kEnableUseHDRTransferFunction); -- new_info.set_display_color_spaces( -- FillDisplayColorSpaces(snapshot->color_space(), allow_high_bit_depth)); -+ -+ // TODO(crbug.com/1012846): Remove this flag and provision when HDR is fully -+ // supported on ChromeOS. -+#if defined(OS_CHROMEOS) - constexpr int32_t kNormalBitDepth = 8; -- new_info.set_bits_per_channel( -- allow_high_bit_depth ? snapshot->bits_per_channel() : kNormalBitDepth); -+ if (new_info.bits_per_channel() > kNormalBitDepth && -+ !base::CommandLine::ForCurrentProcess()->HasSwitch( -+ switches::kEnableUseHDRTransferFunction)) { -+ new_info.set_bits_per_channel(kNormalBitDepth); -+ } - #endif - - new_info.set_refresh_rate(mode_info->refresh_rate()); -diff --git a/ui/display/manager/display_change_observer.h b/ui/display/manager/display_change_observer.h -index 5c17ce60977..0e896e24e5e 100644 ---- a/ui/display/manager/display_change_observer.h -+++ b/ui/display/manager/display_change_observer.h -@@ -60,8 +60,6 @@ class DISPLAY_MANAGER_EXPORT DisplayChangeObserver - DISPLAY_EXPORT static float FindDeviceScaleFactor(float dpi); - - private: -- friend class DisplayChangeObserverTest; -- - void UpdateInternalDisplay( - const DisplayConfigurator::DisplayStateList& display_states); - -diff --git a/ui/display/manager/display_change_observer_unittest.cc b/ui/display/manager/display_change_observer_unittest.cc -index 1b2907137f9..bb900209bac 100644 ---- a/ui/display/manager/display_change_observer_unittest.cc -+++ b/ui/display/manager/display_change_observer_unittest.cc -@@ -14,11 +14,8 @@ - #include "ui/display/display_switches.h" - #include "ui/display/fake/fake_display_snapshot.h" - #include "ui/display/manager/display_configurator.h" --#include "ui/display/manager/display_manager.h" - #include "ui/display/manager/managed_display_info.h" --#include "ui/display/screen.h" - #include "ui/display/types/display_mode.h" --#include "ui/events/devices/device_data_manager.h" - #include "ui/gfx/geometry/rect.h" - #include "ui/gfx/geometry/size.h" - -@@ -63,13 +60,6 @@ class DisplayChangeObserverTest : public testing::Test, - Test::SetUp(); - } - -- // Pass through method to be called by individual test cases. -- ManagedDisplayInfo CreateManagedDisplayInfo(DisplayChangeObserver* observer, -- const DisplaySnapshot* snapshot, -- const DisplayMode* mode_info) { -- return observer->CreateManagedDisplayInfo(snapshot, mode_info); -- } -- - private: - base::test::ScopedFeatureList scoped_feature_list_; - -@@ -185,8 +175,7 @@ TEST_P(DisplayChangeObserverTest, GetEmptyExternalManagedDisplayModeList) { - FakeDisplaySnapshot display_snapshot( - 123, gfx::Point(), gfx::Size(), DISPLAY_CONNECTION_TYPE_UNKNOWN, false, - false, PrivacyScreenState::kNotSupported, false, false, std::string(), {}, -- nullptr, nullptr, 0, gfx::Size(), gfx::ColorSpace(), -- /*bits_per_channel=*/8u); -+ nullptr, nullptr, 0, gfx::Size()); - - ManagedDisplayInfo::ManagedDisplayModeList display_modes = - DisplayChangeObserver::GetExternalManagedDisplayModeList( -@@ -305,127 +294,6 @@ TEST_P(DisplayChangeObserverTest, - } - } - --TEST_P(DisplayChangeObserverTest, InvalidDisplayColorSpaces) { -- const std::unique_ptr display_snapshot = -- FakeDisplaySnapshot::Builder() -- .SetId(123) -- .SetName("AmazingFakeDisplay") -- .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60)) -- .SetColorSpace(gfx::ColorSpace()) -- .Build(); -- -- ui::DeviceDataManager::CreateInstance(); -- DisplayManager manager(nullptr); -- const auto display_mode = MakeDisplayMode(1920, 1080, true, 60); -- DisplayChangeObserver observer(&manager); -- const ManagedDisplayInfo display_info = CreateManagedDisplayInfo( -- &observer, display_snapshot.get(), display_mode.get()); -- -- EXPECT_EQ(display_info.bits_per_channel(), 8u); -- const auto display_color_spaces = display_info.display_color_spaces(); -- EXPECT_FALSE(display_color_spaces.SupportsHDR()); -- -- EXPECT_EQ( -- DisplaySnapshot::PrimaryFormat(), -- display_color_spaces.GetOutputBufferFormat(gfx::ContentColorUsage::kSRGB, -- /*needs_alpha=*/true)); -- -- const auto color_space = display_color_spaces.GetRasterColorSpace(); -- // DisplayColorSpaces will fix an invalid ColorSpace to return sRGB. -- EXPECT_TRUE(color_space.IsValid()); -- EXPECT_EQ(color_space, gfx::ColorSpace::CreateSRGB()); --} -- --TEST_P(DisplayChangeObserverTest, SDRDisplayColorSpaces) { -- const std::unique_ptr display_snapshot = -- FakeDisplaySnapshot::Builder() -- .SetId(123) -- .SetName("AmazingFakeDisplay") -- .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60)) -- .SetColorSpace(gfx::ColorSpace::CreateSRGB()) -- .Build(); -- -- ui::DeviceDataManager::CreateInstance(); -- DisplayManager manager(nullptr); -- const auto display_mode = MakeDisplayMode(1920, 1080, true, 60); -- DisplayChangeObserver observer(&manager); -- const ManagedDisplayInfo display_info = CreateManagedDisplayInfo( -- &observer, display_snapshot.get(), display_mode.get()); -- -- EXPECT_EQ(display_info.bits_per_channel(), 8u); -- -- const auto display_color_spaces = display_info.display_color_spaces(); -- EXPECT_FALSE(display_color_spaces.SupportsHDR()); -- -- EXPECT_EQ( -- DisplaySnapshot::PrimaryFormat(), -- display_color_spaces.GetOutputBufferFormat(gfx::ContentColorUsage::kSRGB, -- /*needs_alpha=*/true)); -- -- const auto color_space = display_color_spaces.GetRasterColorSpace(); -- EXPECT_TRUE(color_space.IsValid()); -- EXPECT_EQ(color_space.GetPrimaryID(), gfx::ColorSpace::PrimaryID::BT709); -- EXPECT_EQ(color_space.GetTransferID(), -- gfx::ColorSpace::TransferID::IEC61966_2_1); --} -- --#if defined(OS_CHROMEOS) --TEST_P(DisplayChangeObserverTest, HDRDisplayColorSpaces) { -- // TODO(crbug.com/1012846): Remove this flag and provision when HDR is fully -- // supported on ChromeOS. -- base::CommandLine::ForCurrentProcess()->AppendSwitch( -- switches::kEnableUseHDRTransferFunction); -- -- const std::unique_ptr display_snapshot = -- FakeDisplaySnapshot::Builder() -- .SetId(123) -- .SetName("AmazingFakeDisplay") -- .SetNativeMode(MakeDisplayMode(1920, 1080, true, 60)) -- .SetColorSpace(gfx::ColorSpace::CreateHDR10(100.0f)) -- .SetBitsPerChannel(10u) -- .Build(); -- -- ui::DeviceDataManager::CreateInstance(); -- DisplayManager manager(nullptr); -- const auto display_mode = MakeDisplayMode(1920, 1080, true, 60); -- DisplayChangeObserver observer(&manager); -- const ManagedDisplayInfo display_info = CreateManagedDisplayInfo( -- &observer, display_snapshot.get(), display_mode.get()); -- -- EXPECT_EQ(display_info.bits_per_channel(), 10u); -- -- const auto display_color_spaces = display_info.display_color_spaces(); -- EXPECT_TRUE(display_color_spaces.SupportsHDR()); -- -- // |display_color_spaces| still supports SDR rendering. -- EXPECT_EQ( -- DisplaySnapshot::PrimaryFormat(), -- display_color_spaces.GetOutputBufferFormat(gfx::ContentColorUsage::kSRGB, -- /*needs_alpha=*/true)); -- -- const auto sdr_color_space = -- display_color_spaces.GetOutputColorSpace(gfx::ContentColorUsage::kSRGB, -- /*needs_alpha=*/true); -- EXPECT_TRUE(sdr_color_space.IsValid()); -- EXPECT_EQ(sdr_color_space.GetPrimaryID(), gfx::ColorSpace::PrimaryID::BT2020); -- EXPECT_EQ(sdr_color_space.GetTransferID(), -- gfx::ColorSpace::TransferID::IEC61966_2_1); -- -- EXPECT_EQ( -- display_color_spaces.GetOutputBufferFormat(gfx::ContentColorUsage::kHDR, -- /*needs_alpha=*/true), -- gfx::BufferFormat::RGBA_1010102); -- -- const auto hdr_color_space = -- display_color_spaces.GetOutputColorSpace(gfx::ContentColorUsage::kHDR, -- /*needs_alpha=*/true); -- EXPECT_TRUE(hdr_color_space.IsValid()); -- EXPECT_EQ(hdr_color_space.GetPrimaryID(), gfx::ColorSpace::PrimaryID::BT2020); -- EXPECT_EQ(hdr_color_space.GetTransferID(), -- gfx::ColorSpace::TransferID::PIECEWISE_HDR); --} --#endif -- - INSTANTIATE_TEST_SUITE_P(All, - DisplayChangeObserverTest, - ::testing::Values(false, true)); --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0002-Roll-ChromeOS-Airmont-AFDO-profile-from-83-4103.97-1.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0002-Roll-ChromeOS-Airmont-AFDO-profile-from-83-4103.97-1.patch deleted file mode 100644 index 4f45ef8980f..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0002-Roll-ChromeOS-Airmont-AFDO-profile-from-83-4103.97-1.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d8cb454e79dc1635133e377645e5591aebaac61d Mon Sep 17 00:00:00 2001 -From: Chrome Release Autoroll - -Date: Thu, 25 Jun 2020 08:51:59 +0000 -Subject: [PATCH 02/12] Roll ChromeOS Airmont AFDO profile from - 83-4103.97-1592214618-benchmark-83.0.4103.117-r1 to - 83-4103.112-1592823658-benchmark-83.0.4103.119-r1 - -If this roll has caused a breakage, revert this CL and stop the roller -using the controls here: -https://autoroll.skia.org/r/cros-afdo-airmont-chromium-stable -Please CC c-compiler-chrome@google.com on the revert to ensure that a human -is aware of the problem. - -To report a problem with the AutoRoller itself, please file a bug: -https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug - -Documentation for the AutoRoller is here: -https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md - -Tbr: c-compiler-chrome@google.com -Change-Id: I9b5ffbc96b05ed5fd1ce64136398784171f34af7 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2266013 -Reviewed-by: Chrome Release Autoroll -Commit-Queue: Chrome Release Autoroll -Cr-Commit-Position: refs/branch-heads/4103@{#725} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chromeos/profiles/airmont.afdo.newest.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromeos/profiles/airmont.afdo.newest.txt b/chromeos/profiles/airmont.afdo.newest.txt -index 7298eabbcad..130b8fe862d 100644 ---- a/chromeos/profiles/airmont.afdo.newest.txt -+++ b/chromeos/profiles/airmont.afdo.newest.txt -@@ -1 +1 @@ --chromeos-chrome-amd64-airmont-83-4103.97-1592214618-benchmark-83.0.4103.117-r1-redacted.afdo.xz -+chromeos-chrome-amd64-airmont-83-4103.112-1592823658-benchmark-83.0.4103.119-r1-redacted.afdo.xz --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0003-Roll-ChromeOS-Silvermont-AFDO-profile-from-83-4103.9.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0003-Roll-ChromeOS-Silvermont-AFDO-profile-from-83-4103.9.patch deleted file mode 100644 index 7729ece77cf..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0003-Roll-ChromeOS-Silvermont-AFDO-profile-from-83-4103.9.patch +++ /dev/null @@ -1,41 +0,0 @@ -From e7fb38d8927a7d14beba0fed4d14d0110af3ed1f Mon Sep 17 00:00:00 2001 -From: Chrome Release Autoroll - -Date: Thu, 25 Jun 2020 08:55:40 +0000 -Subject: [PATCH 03/12] Roll ChromeOS Silvermont AFDO profile from - 83-4103.97-1592216557-benchmark-83.0.4103.117-r1 to - 83-4103.112-1592819884-benchmark-83.0.4103.119-r1 - -If this roll has caused a breakage, revert this CL and stop the roller -using the controls here: -https://autoroll.skia.org/r/cros-afdo-silvermont-chromium-stable -Please CC c-compiler-chrome@google.com on the revert to ensure that a human -is aware of the problem. - -To report a problem with the AutoRoller itself, please file a bug: -https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug - -Documentation for the AutoRoller is here: -https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md - -Tbr: c-compiler-chrome@google.com -Change-Id: I7a2c091c96266df5398b4d526568e579b42ba772 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2266014 -Reviewed-by: Chrome Release Autoroll -Commit-Queue: Chrome Release Autoroll -Cr-Commit-Position: refs/branch-heads/4103@{#726} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chromeos/profiles/silvermont.afdo.newest.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromeos/profiles/silvermont.afdo.newest.txt b/chromeos/profiles/silvermont.afdo.newest.txt -index 68786600a49..df48e35c2e9 100644 ---- a/chromeos/profiles/silvermont.afdo.newest.txt -+++ b/chromeos/profiles/silvermont.afdo.newest.txt -@@ -1 +1 @@ --chromeos-chrome-amd64-silvermont-83-4103.97-1592216557-benchmark-83.0.4103.117-r1-redacted.afdo.xz -+chromeos-chrome-amd64-silvermont-83-4103.112-1592819884-benchmark-83.0.4103.119-r1-redacted.afdo.xz --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0004-Roll-ChromeOS-Broadwell-AFDO-profile-from-83-4103.97.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0004-Roll-ChromeOS-Broadwell-AFDO-profile-from-83-4103.97.patch deleted file mode 100644 index 573f2e7058e..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0004-Roll-ChromeOS-Broadwell-AFDO-profile-from-83-4103.97.patch +++ /dev/null @@ -1,41 +0,0 @@ -From c90071e2caaf28da14536e4b3f6c74cba71c924c Mon Sep 17 00:00:00 2001 -From: Chrome Release Autoroll - -Date: Thu, 25 Jun 2020 09:52:48 +0000 -Subject: [PATCH 04/12] Roll ChromeOS Broadwell AFDO profile from - 83-4103.97-1592218687-benchmark-83.0.4103.117-r1 to - 83-4103.97-1592819197-benchmark-83.0.4103.119-r1 - -If this roll has caused a breakage, revert this CL and stop the roller -using the controls here: -https://autoroll.skia.org/r/cros-afdo-broadwell-chromium-stable -Please CC c-compiler-chrome@google.com on the revert to ensure that a human -is aware of the problem. - -To report a problem with the AutoRoller itself, please file a bug: -https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug - -Documentation for the AutoRoller is here: -https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md - -Tbr: c-compiler-chrome@google.com -Change-Id: I3de1bd68eda26a92502c2e38044b2bd4dd855d71 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2266019 -Reviewed-by: Chrome Release Autoroll -Commit-Queue: Chrome Release Autoroll -Cr-Commit-Position: refs/branch-heads/4103@{#727} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chromeos/profiles/broadwell.afdo.newest.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromeos/profiles/broadwell.afdo.newest.txt b/chromeos/profiles/broadwell.afdo.newest.txt -index 7ca64107ca9..953aba58a64 100644 ---- a/chromeos/profiles/broadwell.afdo.newest.txt -+++ b/chromeos/profiles/broadwell.afdo.newest.txt -@@ -1 +1 @@ --chromeos-chrome-amd64-broadwell-83-4103.97-1592218687-benchmark-83.0.4103.117-r1-redacted.afdo.xz -+chromeos-chrome-amd64-broadwell-83-4103.97-1592819197-benchmark-83.0.4103.119-r1-redacted.afdo.xz --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0005-Incrementing-VERSION-to-83.0.4103.120.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0005-Incrementing-VERSION-to-83.0.4103.120.patch deleted file mode 100644 index eae45d10329..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0005-Incrementing-VERSION-to-83.0.4103.120.patch +++ /dev/null @@ -1,29 +0,0 @@ -From dd68d8efe2c4a5c3f04317d71e359b2d579fcf59 Mon Sep 17 00:00:00 2001 -From: chrome-release-bot -Date: Fri, 26 Jun 2020 15:05:21 +0000 -Subject: [PATCH 05/12] Incrementing VERSION to 83.0.4103.120 - -TBR=benmason@chromium.org - -Change-Id: I2de6fbef6b1d5ba6d9bbd5296e9706d7ca3194e2 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2269505 -Reviewed-by: Chrome Release Bot (LUCI) -Cr-Commit-Position: refs/branch-heads/4103@{#728} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chrome/VERSION | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/VERSION b/chrome/VERSION -index 7c0499cafac..f7310a92cf3 100644 ---- a/chrome/VERSION -+++ b/chrome/VERSION -@@ -1,4 +1,4 @@ - MAJOR=83 - MINOR=0 - BUILD=4103 --PATCH=119 -+PATCH=120 --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0006-Move-GCPW-bookkeeping-out-of-forked-process.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0006-Move-GCPW-bookkeeping-out-of-forked-process.patch deleted file mode 100644 index 0a5e002765d..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0006-Move-GCPW-bookkeeping-out-of-forked-process.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 8b78203d8d1991e4ed8b50b5d44e1c8e76c60001 Mon Sep 17 00:00:00 2001 -From: Yusuf Sengul -Date: Fri, 26 Jun 2020 19:54:38 +0000 -Subject: [PATCH 06/12] Move GCPW bookkeeping out of forked process - -(cherry picked from commit f2e3565562e38e760220a4c6d2ea895477081095) - -Bug: 1097407 -Change-Id: I80b0fa57cc19196b06b3cbec5afc7c4488ff7325 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2255113 -Commit-Queue: Yusuf Sengul -Reviewed-by: Rakesh Soma -Cr-Original-Commit-Position: refs/heads/master@{#781721} -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268117 -Cr-Commit-Position: refs/branch-heads/4103@{#729} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - .../gaiacp/gaia_credential_base.cc | 67 ++++++++++--------- - .../gaiacp/gaia_credential_base.h | 5 +- - 2 files changed, 37 insertions(+), 35 deletions(-) - -diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.cc b/chrome/credential_provider/gaiacp/gaia_credential_base.cc -index 6704a9db9c8..30e8011b73d 100644 ---- a/chrome/credential_provider/gaiacp/gaia_credential_base.cc -+++ b/chrome/credential_provider/gaiacp/gaia_credential_base.cc -@@ -1986,7 +1986,7 @@ unsigned __stdcall CGaiaCredentialBase::WaitForLoginUI(void* param) { - } - - // static --HRESULT CGaiaCredentialBase::SaveAccountInfo(const base::Value& properties) { -+HRESULT CGaiaCredentialBase::PerformActions(const base::Value& properties) { - LOGFN(VERBOSE); - - base::string16 sid = GetDictString(properties, kKeySID); -@@ -2009,35 +2009,9 @@ HRESULT CGaiaCredentialBase::SaveAccountInfo(const base::Value& properties) { - - base::string16 domain = GetDictString(properties, kKeyDomain); - -- // TODO(crbug.com/976744): Use the down scoped kKeyMdmAccessToken instead -- // of login scoped token. -- std::string access_token = GetDictStringUTF8(properties, kKeyAccessToken); -- if (!access_token.empty()) { -- // Update the password recovery information if possible. -- HRESULT hr = PasswordRecoveryManager::Get()->StoreWindowsPasswordIfNeeded( -- sid, access_token, password); -- if (FAILED(hr) && hr != E_NOTIMPL) -- LOGFN(ERROR) << "StoreWindowsPasswordIfNeeded hr=" << putHR(hr); -- -- // Upload device details to gem database. -- hr = GemDeviceDetailsManager::Get()->UploadDeviceDetails(access_token, sid, -- username, domain); -- if (FAILED(hr) && hr != E_NOTIMPL) -- LOGFN(ERROR) << "UploadDeviceDetails hr=" << putHR(hr); -- -- SetUserProperty(sid, kRegDeviceDetailsUploadStatus, SUCCEEDED(hr) ? 1 : 0); -- -- // Below setter is only used for unit testing. -- GemDeviceDetailsManager::Get()->SetUploadStatusForTesting(hr); -- } else { -- LOGFN(ERROR) << "Access token is empty. Cannot save Windows password."; -- } -- - // Load the user's profile so that their registry hive is available. - auto profile = ScopedUserProfile::Create(sid, domain, username, password); - -- SecurelyClearString(password); -- - if (!profile) { - LOGFN(ERROR) << "Could not load user profile"; - return E_UNEXPECTED; -@@ -2047,6 +2021,32 @@ HRESULT CGaiaCredentialBase::SaveAccountInfo(const base::Value& properties) { - if (FAILED(hr)) - LOGFN(ERROR) << "profile.SaveAccountInfo failed (cont) hr=" << putHR(hr); - -+ // TODO(crbug.com/976744): Use the down scoped kKeyMdmAccessToken instead -+ // of login scoped token. -+ std::string access_token = GetDictStringUTF8(properties, kKeyAccessToken); -+ if (access_token.empty()) { -+ LOGFN(ERROR) << "Access token is empty."; -+ return E_FAIL; -+ } -+ -+ // Update the password recovery information if possible. -+ hr = PasswordRecoveryManager::Get()->StoreWindowsPasswordIfNeeded( -+ sid, access_token, password); -+ SecurelyClearString(password); -+ if (FAILED(hr) && hr != E_NOTIMPL) -+ LOGFN(ERROR) << "StoreWindowsPasswordIfNeeded hr=" << putHR(hr); -+ -+ // Upload device details to gem database. -+ hr = GemDeviceDetailsManager::Get()->UploadDeviceDetails(access_token, sid, -+ username, domain); -+ if (FAILED(hr) && hr != E_NOTIMPL) -+ LOGFN(ERROR) << "UploadDeviceDetails hr=" << putHR(hr); -+ -+ SetUserProperty(sid, kRegDeviceDetailsUploadStatus, SUCCEEDED(hr) ? 1 : 0); -+ -+ // Below setter is only used for unit testing. -+ GemDeviceDetailsManager::Get()->SetUploadStatusForTesting(hr); -+ - return hr; - } - -@@ -2058,9 +2058,9 @@ HRESULT CGaiaCredentialBase::PerformPostSigninActions( - HRESULT hr = S_OK; - - if (com_initialized) { -- hr = credential_provider::CGaiaCredentialBase::SaveAccountInfo(properties); -+ hr = credential_provider::CGaiaCredentialBase::PerformActions(properties); - if (FAILED(hr)) -- LOGFN(ERROR) << "SaveAccountInfo hr=" << putHR(hr); -+ LOGFN(ERROR) << "PerformActions hr=" << putHR(hr); - - // Try to enroll the machine to MDM here. MDM requires a user to be signed - // on to an interactive session to succeed and when we call this function -@@ -2089,10 +2089,11 @@ HRESULT CGaiaCredentialBase::PerformPostSigninActions( - - // Registers OS user - gaia user association in HKEY_LOCAL_MACHINE registry - // hive. --HRESULT RegisterAssociation(const base::string16& sid, -- const base::string16& id, -- const base::string16& email, -- const base::string16& token_handle) { -+HRESULT -+RegisterAssociation(const base::string16& sid, -+ const base::string16& id, -+ const base::string16& email, -+ const base::string16& token_handle) { - // Save token handle. This handle will be used later to determine if the - // the user has changed their password since the account was created. - HRESULT hr = SetUserProperty(sid, kUserTokenHandle, token_handle); -diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.h b/chrome/credential_provider/gaiacp/gaia_credential_base.h -index 6aaaf44244b..6bf33ff4d3b 100644 ---- a/chrome/credential_provider/gaiacp/gaia_credential_base.h -+++ b/chrome/credential_provider/gaiacp/gaia_credential_base.h -@@ -97,8 +97,9 @@ class ATL_NO_VTABLE CGaiaCredentialBase - return authentication_results_; - } - -- // Saves gaia information in the OS account that was just created. -- static HRESULT SaveAccountInfo(const base::Value& properties); -+ // Saves account association and user profile information. Makes various HTTP -+ // calls regarding device provisioning and password management. -+ static HRESULT PerformActions(const base::Value& properties); - - // Returns true if the current credentials stored in |username_| and - // |password_| are valid and should succeed a local Windows logon. This --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0007-Support-GCPW-login-to-permitted-accounts.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0007-Support-GCPW-login-to-permitted-accounts.patch deleted file mode 100644 index ffcc4d1fc95..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0007-Support-GCPW-login-to-permitted-accounts.patch +++ /dev/null @@ -1,197 +0,0 @@ -From d1383216cbceb10aaa80f357689e85354af6af3c Mon Sep 17 00:00:00 2001 -From: Yusuf Sengul -Date: Fri, 26 Jun 2020 20:38:33 +0000 -Subject: [PATCH 07/12] Support GCPW login to permitted accounts - -(cherry picked from commit f414152fa9a664ca5e99d4c0d0a2e261f9846eae) - -Bug: 1097386 -Change-Id: I2a9e634868fcda6c8acc46e482c2f6dc14bdc064 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2255028 -Commit-Queue: Rakesh Soma -Reviewed-by: Rakesh Soma -Cr-Original-Commit-Position: refs/heads/master@{#781997} -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268083 -Commit-Queue: Yusuf Sengul -Cr-Commit-Position: refs/branch-heads/4103@{#730} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - .../gaiacp/gaia_credential_base.cc | 30 ++++-- - .../gaiacp/gaia_credential_base_unittests.cc | 92 +++++++++++++++++++ - 2 files changed, 116 insertions(+), 6 deletions(-) - -diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base.cc b/chrome/credential_provider/gaiacp/gaia_credential_base.cc -index 30e8011b73d..cc573863991 100644 ---- a/chrome/credential_provider/gaiacp/gaia_credential_base.cc -+++ b/chrome/credential_provider/gaiacp/gaia_credential_base.cc -@@ -70,6 +70,8 @@ namespace { - - constexpr wchar_t kEmailDomainsKey[] = L"ed"; // deprecated. - constexpr wchar_t kEmailDomainsKeyNew[] = L"domains_allowed_to_login"; -+constexpr wchar_t kPermittedAccounts[] = L"permitted_accounts"; -+constexpr wchar_t kPermittedAccountsSeparator[] = L","; - constexpr char kGetAccessTokenBodyWithScopeFormat[] = - "client_id=%s&" - "client_secret=%s&" -@@ -95,6 +97,16 @@ constexpr UINT kPasswordErrors[] = {IDS_PASSWORD_COMPLEXITY_ERROR_BASE, - IDS_USER_NOT_FOUND_PASSWORD_ERROR_BASE, - IDS_AD_PASSWORD_CHANGE_DENIED_BASE}; - -+std::vector GetPermittedAccounts() { -+ base::string16 permitted_accounts_reg = -+ GetGlobalFlagOrDefault(kPermittedAccounts, L""); -+ -+ return base::SplitString(base::ToLowerASCII(permitted_accounts_reg), -+ kPermittedAccountsSeparator, -+ base::WhitespaceHandling::TRIM_WHITESPACE, -+ base::SplitResult::SPLIT_WANT_NONEMPTY); -+} -+ - base::string16 GetEmailDomains( - const base::string16 restricted_domains_reg_key) { - return GetGlobalFlagOrDefault(restricted_domains_reg_key, L""); -@@ -118,12 +130,9 @@ base::string16 GetEmailDomainsPrintableString() { - base::ASCIIToUTF16(kEmailDomainsSeparator), - base::WhitespaceHandling::TRIM_WHITESPACE, - base::SplitResult::SPLIT_WANT_NONEMPTY); -- base::string16 email_domains_str; -- for (size_t i = 0; i < domains.size(); ++i) { -- email_domains_str += domains[i]; -- if (i < domains.size() - 1) -- email_domains_str += L", "; -- } -+ base::string16 email_domains_str = -+ base::JoinString(domains, base::string16(L", ")); -+ - return email_domains_str; - } - -@@ -2403,6 +2412,15 @@ HRESULT CGaiaCredentialBase::OnUserAuthenticated(BSTR authentication_info, - return hr; - } - -+ base::string16 email = GetDictString(*properties, kKeyEmail); -+ std::vector permitted_accounts = GetPermittedAccounts(); -+ if (!permitted_accounts.empty() && -+ std::find(permitted_accounts.begin(), permitted_accounts.end(), -+ email) == permitted_accounts.end()) { -+ *status_text = AllocErrorString(IDS_EMAIL_MISMATCH_BASE); -+ return E_FAIL; -+ } -+ - // The value in |dict| is now known to contain everything that is needed - // from the GLS. Try to validate the user that wants to sign in and then - // add additional information into |dict| as needed. -diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc -index 3cc48fa5b26..319f239e4cd 100644 ---- a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc -+++ b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc -@@ -6,6 +6,8 @@ - - #include // For ConvertSidToStringSid() - #include -+#include -+#include - - #include "base/files/scoped_temp_dir.h" - #include "base/strings/string_number_conversions.h" -@@ -738,6 +740,96 @@ INSTANTIATE_TEST_SUITE_P( - ::testing::Values(L"acme.com,acme2.com,acme3.com", - L""))); - -+class GcpGaiaCredentialBasePermittedAccountTest -+ : public GcpGaiaCredentialBaseTest, -+ public ::testing::WithParamInterface< -+ std::tuple> { -+ public: -+ // Get a pretty-printed string of the list of email domains that we can -+ // display to the end-user. -+ base::string16 GetEmailDomainsPrintableString() { -+ base::string16 email_domains_reg_old = GetGlobalFlagOrDefault(L"ed", L""); -+ base::string16 email_domains_reg_new = -+ GetGlobalFlagOrDefault(L"domains_allowed_to_login", L""); -+ -+ base::string16 email_domains_reg = email_domains_reg_old.empty() -+ ? email_domains_reg_new -+ : email_domains_reg_old; -+ if (email_domains_reg.empty()) -+ return email_domains_reg; -+ -+ std::vector domains = -+ base::SplitString(base::ToLowerASCII(email_domains_reg), -+ base::ASCIIToUTF16(kEmailDomainsSeparator), -+ base::WhitespaceHandling::TRIM_WHITESPACE, -+ base::SplitResult::SPLIT_WANT_NONEMPTY); -+ base::string16 email_domains_str; -+ for (size_t i = 0; i < domains.size(); ++i) { -+ email_domains_str += domains[i]; -+ if (i < domains.size() - 1) -+ email_domains_str += L", "; -+ } -+ return email_domains_str; -+ } -+}; -+ -+TEST_P(GcpGaiaCredentialBasePermittedAccountTest, PermittedAccounts) { -+ const base::string16 permitted_acounts = std::get<0>(GetParam()); -+ const base::string16 restricted_domains = std::get<1>(GetParam()); -+ -+ ASSERT_EQ(S_OK, -+ SetGlobalFlagForTesting(L"permitted_accounts", permitted_acounts)); -+ ASSERT_EQ(S_OK, SetGlobalFlagForTesting(L"domains_allowed_to_login", -+ restricted_domains)); -+ -+ // Create provider and start logon. -+ Microsoft::WRL::ComPtr cred; -+ -+ ASSERT_EQ(S_OK, InitializeProviderAndGetCredential(0, &cred)); -+ Microsoft::WRL::ComPtr test; -+ ASSERT_EQ(S_OK, cred.As(&test)); -+ -+ base::string16 email = L"user@test.com"; -+ base::string16 email_domain = email.substr(email.find(L"@") + 1); -+ -+ ASSERT_EQ(S_OK, test->SetGlsEmailAddress(base::UTF16ToUTF8(email))); -+ -+ bool allowed_email = permitted_acounts.empty() || -+ permitted_acounts.find(email) != base::string16::npos; -+ bool found_domain = -+ restricted_domains.find(email_domain) != base::string16::npos; -+ -+ if (!found_domain) -+ ASSERT_EQ(S_OK, test->SetDefaultExitCode(kUiecInvalidEmailDomain)); -+ -+ ASSERT_EQ(S_OK, StartLogonProcessAndWait()); -+ -+ if (allowed_email && found_domain) { -+ ASSERT_EQ(S_OK, FinishLogonProcess(true, true, 0)); -+ } else { -+ base::string16 expected_error_msg; -+ if (!found_domain) { -+ expected_error_msg = base::ReplaceStringPlaceholders( -+ GetStringResource(IDS_INVALID_EMAIL_DOMAIN_BASE), -+ {GetEmailDomainsPrintableString()}, nullptr); -+ } else { -+ expected_error_msg = GetStringResource(IDS_EMAIL_MISMATCH_BASE); -+ } -+ // Logon process should fail with the specified error message. -+ ASSERT_EQ(S_OK, FinishLogonProcess(false, false, expected_error_msg)); -+ } -+} -+ -+INSTANTIATE_TEST_SUITE_P( -+ All, -+ GcpGaiaCredentialBasePermittedAccountTest, -+ ::testing::Combine( -+ ::testing::Values(L"", -+ L"user@test.com", -+ L"other@test.com", -+ L"other@test.com,user@test.com"), -+ ::testing::Values(L"test.com", L"best.com", L"test.com,best.com"))); -+ - TEST_F(GcpGaiaCredentialBaseTest, StripEmailTLD) { - USES_CONVERSION; - // Create provider and start logon. --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0008-Handle-lsa_account_rights-size-properly.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0008-Handle-lsa_account_rights-size-properly.patch deleted file mode 100644 index 5fd13d7ddf4..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0008-Handle-lsa_account_rights-size-properly.patch +++ /dev/null @@ -1,55 +0,0 @@ -From bff845848fa339fc9bae70eef8943c4956b9a6db Mon Sep 17 00:00:00 2001 -From: Rakesh Soma -Date: Fri, 26 Jun 2020 23:55:46 +0000 -Subject: [PATCH 08/12] Handle lsa_account_rights size properly. - -Bug: 1099890 -Change-Id: Ib27d52be51b0067ef76c212aaa5e067ec20af6de -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2269882 -Commit-Queue: Rakesh Soma -Commit-Queue: Yusuf Sengul -Reviewed-by: Yusuf Sengul -Cr-Commit-Position: refs/heads/master@{#783200} -(cherry picked from commit 0070fe8bfa5126cebc78e1c22081f83b7f9c421c) - -NOTRY=true - -Change-Id: Ib27d52be51b0067ef76c212aaa5e067ec20af6de -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2270630 -Commit-Queue: Rakesh Soma -Reviewed-by: Rakesh Soma -Reviewed-by: Yusuf Sengul -Cr-Commit-Position: refs/branch-heads/4103@{#731} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chrome/credential_provider/gaiacp/scoped_lsa_policy.cc | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/chrome/credential_provider/gaiacp/scoped_lsa_policy.cc b/chrome/credential_provider/gaiacp/scoped_lsa_policy.cc -index 425f305716d..5c05d08e81f 100644 ---- a/chrome/credential_provider/gaiacp/scoped_lsa_policy.cc -+++ b/chrome/credential_provider/gaiacp/scoped_lsa_policy.cc -@@ -133,7 +133,8 @@ HRESULT ScopedLsaPolicy::AddAccountRights( - InitLsaString(right.c_str(), &lsa_right); - lsa_rights.push_back(lsa_right); - } -- NTSTATUS sts = ::LsaAddAccountRights(handle_, sid, lsa_rights.data(), 1); -+ NTSTATUS sts = -+ ::LsaAddAccountRights(handle_, sid, lsa_rights.data(), lsa_rights.size()); - if (sts != STATUS_SUCCESS) { - HRESULT hr = HRESULT_FROM_NT(sts); - LOGFN(ERROR) << "LsaAddAccountRights sts=" << putHR(sts) -@@ -152,8 +153,8 @@ HRESULT ScopedLsaPolicy::RemoveAccountRights( - InitLsaString(right.c_str(), &lsa_right); - lsa_rights.push_back(lsa_right); - } -- NTSTATUS sts = -- ::LsaRemoveAccountRights(handle_, sid, FALSE, lsa_rights.data(), 1); -+ NTSTATUS sts = ::LsaRemoveAccountRights(handle_, sid, FALSE, -+ lsa_rights.data(), lsa_rights.size()); - if (sts != STATUS_SUCCESS) { - HRESULT hr = HRESULT_FROM_NT(sts); - LOGFN(ERROR) << "LsaRemoveAccountRights sts=" << putHR(sts) --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0009-Incrementing-VERSION-to-83.0.4103.121.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0009-Incrementing-VERSION-to-83.0.4103.121.patch deleted file mode 100644 index 54822925344..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0009-Incrementing-VERSION-to-83.0.4103.121.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9068067e3fc13cc7c89c04ec05271d27cb303810 Mon Sep 17 00:00:00 2001 -From: chrome-release-bot -Date: Sat, 27 Jun 2020 00:22:04 +0000 -Subject: [PATCH 09/12] Incrementing VERSION to 83.0.4103.121 - -TBR=kariah@chromium.org - -Change-Id: Ia91d140a59328480f389c94ab85715308bfee2ea -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2271260 -Reviewed-by: Chrome Release Bot (LUCI) -Cr-Commit-Position: refs/branch-heads/4103@{#732} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chrome/VERSION | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/VERSION b/chrome/VERSION -index f7310a92cf3..ff22ff08a83 100644 ---- a/chrome/VERSION -+++ b/chrome/VERSION -@@ -1,4 +1,4 @@ - MAJOR=83 - MINOR=0 - BUILD=4103 --PATCH=120 -+PATCH=121 --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0010-Disable-flaky-DiceManageAccountBrowserTest.ClearMana.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0010-Disable-flaky-DiceManageAccountBrowserTest.ClearMana.patch deleted file mode 100644 index b7c3dc5d912..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0010-Disable-flaky-DiceManageAccountBrowserTest.ClearMana.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4f3d2dee87d40491ef4a2664e21168462f3bb681 Mon Sep 17 00:00:00 2001 -From: Alexander Hendrich -Date: Sat, 27 Jun 2020 01:33:00 +0000 -Subject: [PATCH 10/12] Disable flaky - DiceManageAccountBrowserTest.ClearManagedProfileOnStartup [M83 merge] - -TBR=msarda@chromium.org,hendrich@chromium.org - -(cherry picked from commit 9eeb72ff8110366b2501321d4b7f6e3e470796e6) - -Bug: 1075896 -Change-Id: I6c5e9c60fffae5bb9fcbb7b29fb3ed1d6f71fbfd -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2170026 -Reviewed-by: Alexander Hendrich -Commit-Queue: Alexander Hendrich -Cr-Original-Commit-Position: refs/heads/master@{#763258} -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268386 -Reviewed-by: Carlos Knippschild -Commit-Queue: Carlos Knippschild -Cr-Commit-Position: refs/branch-heads/4103@{#733} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chrome/browser/signin/dice_browsertest.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/chrome/browser/signin/dice_browsertest.cc b/chrome/browser/signin/dice_browsertest.cc -index e0733ccb9eb..b362f578882 100644 ---- a/chrome/browser/signin/dice_browsertest.cc -+++ b/chrome/browser/signin/dice_browsertest.cc -@@ -1015,8 +1015,9 @@ IN_PROC_BROWSER_TEST_F(DiceManageAccountBrowserTest, - prefs::kSigninAllowedOnNextStartup, false); - } - -+// TODO(https://crbug.com/1075896) disabling test due to flakiness - IN_PROC_BROWSER_TEST_F(DiceManageAccountBrowserTest, -- ClearManagedProfileOnStartup) { -+ DISABLED_ClearManagedProfileOnStartup) { - // Initial profile should have been deleted as sign-in and sign out were no - // longer allowed. - PrefService* local_state = g_browser_process->local_state(); --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-upstream-0011-Incrementing-VERSION-to-83.0.4103.122.patch b/srcpkgs/electron9/files/patches/chromium-upstream-0011-Incrementing-VERSION-to-83.0.4103.122.patch deleted file mode 100644 index a32b3908755..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-upstream-0011-Incrementing-VERSION-to-83.0.4103.122.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5277168d1691ce40fc04fb4adefd89d8eb39c81e Mon Sep 17 00:00:00 2001 -From: chrome-release-bot -Date: Sat, 27 Jun 2020 18:07:45 +0000 -Subject: [PATCH 11/12] Incrementing VERSION to 83.0.4103.122 - -TBR=lakpamarthy@chromium.org - -Change-Id: I5b90c234baff6204fb1684a4d99878771a112e38 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2271618 -Reviewed-by: Chrome Release Bot (LUCI) -Cr-Commit-Position: refs/branch-heads/4103@{#734} -Cr-Branched-From: 8ad47e8d21f6866e4a37f47d83a860d41debf514-refs/heads/master@{#756066} ---- - chrome/VERSION | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/VERSION b/chrome/VERSION -index ff22ff08a83..ea9ff344413 100644 ---- a/chrome/VERSION -+++ b/chrome/VERSION -@@ -1,4 +1,4 @@ - MAJOR=83 - MINOR=0 - BUILD=4103 --PATCH=121 -+PATCH=122 --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/chromium-v8-remove-soon-to-be-removed-getAllFieldPositions.patch b/srcpkgs/electron9/files/patches/chromium-v8-remove-soon-to-be-removed-getAllFieldPositions.patch deleted file mode 100644 index d251ceb6ac8..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-v8-remove-soon-to-be-removed-getAllFieldPositions.patch +++ /dev/null @@ -1,172 +0,0 @@ -From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001 -From: Frank Tang -Date: Fri, 3 Apr 2020 23:13:54 -0700 -Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions - -Needed to land ICU67.1 soon. - -Bug: v8:10393 -Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 -Reviewed-by: Jakob Kummerow -Commit-Queue: Frank Tang -Cr-Commit-Position: refs/heads/master@{#67027} ---- - src/objects/js-number-format.cc | 77 +++++++++++++++++---------------- - 1 file changed, 39 insertions(+), 38 deletions(-) - -diff --git a/v8/src/objects/js-number-format.cc b/v8/src/objects/js-number-format.cc -index ad831c5c36..bcd44031d5 100644 ---- a/v8/src/objects/js-number-format.cc -+++ b/v8/src/objects/js-number-format.cc -@@ -1241,44 +1241,33 @@ MaybeHandle JSNumberFormat::New(Isolate* isolate, - } - - namespace { --Maybe IcuFormatNumber( -+Maybe IcuFormatNumber( - Isolate* isolate, - const icu::number::LocalizedNumberFormatter& number_format, -- Handle numeric_obj, icu::FieldPositionIterator* fp_iter) { -+ Handle numeric_obj, icu::number::FormattedNumber* formatted) { - // If it is BigInt, handle it differently. - UErrorCode status = U_ZERO_ERROR; -- icu::number::FormattedNumber formatted; - if (numeric_obj->IsBigInt()) { - Handle big_int = Handle::cast(numeric_obj); - Handle big_int_string; - ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, - BigInt::ToString(isolate, big_int), -- Nothing()); -- formatted = number_format.formatDecimal( -+ Nothing()); -+ *formatted = number_format.formatDecimal( - {big_int_string->ToCString().get(), big_int_string->length()}, status); - } else { - double number = numeric_obj->IsNaN() - ? std::numeric_limits::quiet_NaN() - : numeric_obj->Number(); -- formatted = number_format.formatDouble(number, status); -+ *formatted = number_format.formatDouble(number, status); - } - if (U_FAILURE(status)) { - // This happen because of icu data trimming trim out "unit". - // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing()); -- } -- if (fp_iter) { -- formatted.getAllFieldPositions(*fp_iter, status); -- } -- icu::UnicodeString result = formatted.toString(status); -- if (U_FAILURE(status)) { -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing()); -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); - } -- return Just(result); -+ return Just(true); - } - - } // namespace -@@ -1289,10 +1278,16 @@ MaybeHandle JSNumberFormat::FormatNumeric( - Handle numeric_obj) { - DCHECK(numeric_obj->IsNumeric()); - -- Maybe maybe_format = -- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); -+ icu::number::FormattedNumber formatted; -+ Maybe maybe_format = -+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle()); -- return Intl::ToString(isolate, maybe_format.FromJust()); -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString result = formatted.toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); -+ } -+ return Intl::ToString(isolate, result); - } - - namespace { -@@ -1405,12 +1400,18 @@ std::vector FlattenRegionsToParts( - } - - namespace { --Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, -- icu::FieldPositionIterator* fp_iter, -+Maybe ConstructParts(Isolate* isolate, -+ icu::number::FormattedNumber* formatted, - Handle result, int start_index, - Handle numeric_obj, bool style_is_unit) { -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString formatted_text = formatted->toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); -+ } - DCHECK(numeric_obj->IsNumeric()); -- int32_t length = formatted.length(); -+ int32_t length = formatted_text.length(); - int index = start_index; - if (length == 0) return Just(index); - -@@ -1419,13 +1420,14 @@ Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - // other region covers some part of the formatted string. It's possible - // there's another field with exactly the same begin and end as this backdrop, - // in which case the backdrop's field_id of -1 will give it lower priority. -- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); -+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); - - { -- icu::FieldPosition fp; -- while (fp_iter->next(fp)) { -- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), -- fp.getEndIndex())); -+ icu::ConstrainedFieldPosition cfp; -+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); -+ while (formatted->nextPosition(cfp, status)) { -+ regions.push_back( -+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); - } - } - -@@ -1447,7 +1449,7 @@ Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - Handle substring; - ASSIGN_RETURN_ON_EXCEPTION_VALUE( - isolate, substring, -- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), -+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), - Nothing()); - Intl::AddElement(isolate, result, index, field_type_string, substring); - ++index; -@@ -1467,20 +1469,19 @@ MaybeHandle JSNumberFormat::FormatToParts( - number_format->icu_number_formatter().raw(); - CHECK_NOT_NULL(fmt); - -- icu::FieldPositionIterator fp_iter; -- Maybe maybe_format = -- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); -+ icu::number::FormattedNumber formatted; -+ Maybe maybe_format = -+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle()); -- - UErrorCode status = U_ZERO_ERROR; -+ - bool style_is_unit = - Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status)); - CHECK(U_SUCCESS(status)); - - Handle result = factory->NewJSArray(0); -- Maybe maybe_format_to_parts = -- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0, -- numeric_obj, style_is_unit); -+ Maybe maybe_format_to_parts = ConstructParts( -+ isolate, &formatted, result, 0, numeric_obj, style_is_unit); - MAYBE_RETURN(maybe_format_to_parts, Handle()); - - return result; diff --git a/srcpkgs/electron9/files/patches/chromium-xxx-ppc64le.patch b/srcpkgs/electron9/files/patches/chromium-xxx-ppc64le.patch deleted file mode 100644 index 674cedac216..00000000000 --- a/srcpkgs/electron9/files/patches/chromium-xxx-ppc64le.patch +++ /dev/null @@ -1,3737 +0,0 @@ -From e39b85b047c69bab8249346125a84bde98b31294 Mon Sep 17 00:00:00 2001 -From: Daniel Kolesa -Date: Sun, 13 Sep 2020 00:08:43 +0200 -Subject: [PATCH] ppc64le support - ---- - build/download_nacl_toolchains.py | 4 + - chrome/installer/linux/BUILD.gn | 3 - - sandbox/features.gni | 3 +- - sandbox/linux/BUILD.gn | 2 + - sandbox/linux/bpf_dsl/linux_syscall_ranges.h | 7 + - sandbox/linux/bpf_dsl/seccomp_macros.h | 48 ++++ - .../seccomp-bpf-helpers/baseline_policy.cc | 10 +- - .../baseline_policy_unittest.cc | 2 + - .../syscall_parameters_restrictions.cc | 36 ++- - .../syscall_parameters_restrictions.h | 2 +- - .../linux/seccomp-bpf-helpers/syscall_sets.cc | 139 +++++++----- - .../linux/seccomp-bpf-helpers/syscall_sets.h | 10 +- - sandbox/linux/seccomp-bpf/syscall.cc | 62 ++++- - sandbox/linux/seccomp-bpf/trap.cc | 14 ++ - sandbox/linux/services/credentials.cc | 2 +- - sandbox/linux/services/syscall_wrappers.cc | 2 +- - .../linux/syscall_broker/broker_process.cc | 2 +- - sandbox/linux/system_headers/linux_seccomp.h | 9 + - sandbox/linux/system_headers/linux_signal.h | 2 +- - sandbox/linux/system_headers/linux_syscalls.h | 4 + - sandbox/linux/system_headers/linux_ucontext.h | 2 + - .../system_headers/ppc64_linux_syscalls.h | 12 + - .../system_headers/ppc64_linux_ucontext.h | 12 + - .../linux/bpf_renderer_policy_linux.cc | 5 + - .../angle/src/compiler/translator/InfoSink.h | 11 +- - third_party/angle/src/libANGLE/Constants.h | 1 + - third_party/boringssl/BUILD.gn | 7 + - .../dump_writer_common/raw_context_cpu.h | 2 + - .../linux/dump_writer_common/thread_info.cc | 56 ++++- - .../linux/dump_writer_common/thread_info.h | 9 + - .../dump_writer_common/ucontext_reader.cc | 42 ++++ - .../dump_writer_common/ucontext_reader.h | 3 + - .../client/linux/handler/exception_handler.cc | 22 +- - .../client/linux/handler/exception_handler.h | 6 +- - .../handler/exception_handler_unittest.cc | 8 +- - .../microdump_writer/microdump_writer.cc | 14 +- - .../microdump_writer_unittest.cc | 15 +- - .../minidump_writer/linux_core_dumper.cc | 8 +- - .../linux/minidump_writer/linux_dumper.cc | 4 +- - .../linux/minidump_writer/linux_dumper.h | 3 +- - .../linux_dumper_unittest_helper.cc | 2 + - .../minidump_writer/linux_ptrace_dumper.cc | 19 +- - .../linux_ptrace_dumper_unittest.cc | 5 + - .../linux/minidump_writer/minidump_writer.cc | 18 +- - .../linux/minidump_writer/minidump_writer.h | 2 + - .../minidump_writer_unittest.cc | 3 + - .../src/common/linux/memory_mapped_file.cc | 3 +- - .../linux/memory_mapped_file_unittest.cc | 7 +- - .../src/processor/exploitability_linux.cc | 2 + - .../src/processor/exploitability_unittest.cc | 15 +- - .../tools/linux/md2core/minidump-2-core.cc | 45 ++++ - third_party/crashpad/crashpad/CONTRIBUTORS | 1 + - .../crashpad/crashpad/compat/linux/sys/user.h | 1 + - .../crashpad/minidump/minidump_context.h | 64 ++++++ - .../minidump/minidump_context_writer.cc | 50 +++++ - .../minidump/minidump_context_writer.h | 39 ++++ - .../minidump/minidump_context_writer_test.cc | 15 ++ - .../minidump/minidump_misc_info_writer.cc | 2 + - .../crashpad/snapshot/capture_memory.cc | 5 + - .../crashpad/snapshot/cpu_architecture.h | 5 +- - .../crashpad/crashpad/snapshot/cpu_context.cc | 5 + - .../crashpad/crashpad/snapshot/cpu_context.h | 19 ++ - .../snapshot/linux/cpu_context_linux.h | 73 ++++++ - .../snapshot/linux/debug_rendezvous_test.cc | 4 +- - .../linux/exception_snapshot_linux.cc | 63 ++++++ - .../snapshot/linux/exception_snapshot_linux.h | 2 + - .../linux/exception_snapshot_linux_test.cc | 21 ++ - .../snapshot/linux/process_reader_linux.cc | 2 + - .../linux/process_reader_linux_test.cc | 2 + - .../crashpad/snapshot/linux/signal_context.h | 83 +++++++ - .../snapshot/linux/system_snapshot_linux.cc | 11 + - .../snapshot/linux/thread_snapshot_linux.cc | 8 + - .../snapshot/linux/thread_snapshot_linux.h | 2 + - .../crashpad/util/linux/auxiliary_vector.cc | 5 + - .../crashpad/util/linux/ptrace_broker.cc | 4 +- - .../crashpad/crashpad/util/linux/ptracer.cc | 61 +++++ - .../crashpad/util/linux/thread_info.h | 55 +++++ - .../crashpad/util/misc/capture_context.h | 1 + - .../util/misc/capture_context_linux.S | 212 +++++++++++++++++- - .../util/misc/capture_context_test.cc | 2 +- - .../misc/capture_context_test_util_linux.cc | 6 + - .../crashpad/util/posix/signals_test.cc | 12 +- - third_party/dav1d/BUILD.gn | 21 ++ - third_party/dav1d/config/linux/ppc64/config.h | 35 +++ - third_party/dav1d/dav1d_generated.gni | 5 + - third_party/dav1d/generate_source.py | 3 +- - third_party/dav1d/libdav1d/src/ppc/types.h | 15 ++ - third_party/libvpx/BUILD.gn | 4 + - third_party/lss/linux_syscall_support.h | 4 +- - third_party/pffft/src/pffft.c | 1 + - third_party/skia/src/sksl/SkSLString.cpp | 7 +- - third_party/sqlite/src/amalgamation/sqlite3.c | 3 +- - .../sqlite/src/amalgamation_dev/sqlite3.c | 3 +- - third_party/sqlite/src/ext/rtree/rtree.c | 2 +- - third_party/sqlite/src/src/sqliteInt.h | 3 +- - .../modules/desktop_capture/differ_block.cc | 10 +- - third_party/webrtc/rtc_base/system/arch.h | 12 + - ui/gl/BUILD.gn | 3 +- - v8/BUILD.gn | 6 + - v8/test/BUILD.gn | 6 +- - 100 files changed, 1566 insertions(+), 138 deletions(-) - create mode 100644 sandbox/linux/system_headers/ppc64_linux_syscalls.h - create mode 100644 sandbox/linux/system_headers/ppc64_linux_ucontext.h - create mode 100644 third_party/dav1d/config/linux/ppc64/config.h - -diff --git a/build/download_nacl_toolchains.py b/build/download_nacl_toolchains.py -index 286a92a27e..ec36a85d31 100755 ---- a/build/download_nacl_toolchains.py -+++ b/build/download_nacl_toolchains.py -@@ -13,6 +13,10 @@ import sys - - - def Main(args): -+ # If `disable_nacl=1` is in GYP_DEFINES, exit -+ if 'disable_nacl=1' in os.environ.get('GYP_DEFINES', ''): -+ return 0 -+ - script_dir = os.path.dirname(os.path.abspath(__file__)) - src_dir = os.path.dirname(script_dir) - nacl_dir = os.path.join(src_dir, 'native_client') -diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn -index 9c92012ce3..a4a5cd86d6 100644 ---- a/chrome/installer/linux/BUILD.gn -+++ b/chrome/installer/linux/BUILD.gn -@@ -65,8 +65,6 @@ packaging_files = packaging_files_binaries + [ - "$root_out_dir/xdg-mime", - "$root_out_dir/xdg-settings", - "$root_out_dir/locales/en-US.pak", -- "$root_out_dir/MEIPreload/manifest.json", -- "$root_out_dir/MEIPreload/preloaded_data.pb", - ] - - action_foreach("calculate_deb_dependencies") { -@@ -331,7 +329,6 @@ group("installer_deps") { - ":theme_files", - "//chrome", - "//chrome:packed_resources", -- "//chrome/browser/resources/media/mei_preload:component", - "//sandbox/linux:chrome_sandbox", - "//third_party/crashpad/crashpad/handler:crashpad_handler", - ] -diff --git a/sandbox/features.gni b/sandbox/features.gni -index 09280d35f6..42514157fc 100644 ---- a/sandbox/features.gni -+++ b/sandbox/features.gni -@@ -11,6 +11,7 @@ import("//build/config/nacl/config.gni") - use_seccomp_bpf = (is_linux || is_android) && - (current_cpu == "x86" || current_cpu == "x64" || - current_cpu == "arm" || current_cpu == "arm64" || -- current_cpu == "mipsel" || current_cpu == "mips64el") -+ current_cpu == "mipsel" || current_cpu == "mips64el" || -+ current_cpu == "ppc64") - - use_seccomp_bpf = use_seccomp_bpf || is_nacl_nonsfi -diff --git a/sandbox/linux/BUILD.gn b/sandbox/linux/BUILD.gn -index c27351f9a6..9141e12394 100644 ---- a/sandbox/linux/BUILD.gn -+++ b/sandbox/linux/BUILD.gn -@@ -407,6 +407,8 @@ component("sandbox_services") { - - source_set("sandbox_services_headers") { - sources = [ -+ "system_headers/ppc64_linux_syscalls.h", -+ "system_headers/ppc64_linux_ucontext.h", - "system_headers/arm64_linux_syscalls.h", - "system_headers/arm_linux_syscalls.h", - "system_headers/arm_linux_ucontext.h", -diff --git a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h -index 313511f22e..0ca3a326f7 100644 ---- a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h -+++ b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h -@@ -56,6 +56,13 @@ - #define MAX_PUBLIC_SYSCALL __NR_syscalls - #define MAX_SYSCALL MAX_PUBLIC_SYSCALL - -+#elif defined(__powerpc64__) -+ -+#include -+#define MIN_SYSCALL 0u -+#define MAX_PUBLIC_SYSCALL 386u -+#define MAX_SYSCALL MAX_PUBLIC_SYSCALL -+ - #else - #error "Unsupported architecture" - #endif -diff --git a/sandbox/linux/bpf_dsl/seccomp_macros.h b/sandbox/linux/bpf_dsl/seccomp_macros.h -index 1a407b9523..a6aec544e0 100644 ---- a/sandbox/linux/bpf_dsl/seccomp_macros.h -+++ b/sandbox/linux/bpf_dsl/seccomp_macros.h -@@ -16,6 +16,9 @@ - #if defined(__mips__) - // sys/user.h in eglibc misses size_t definition - #include -+#elif defined(__powerpc64__) -+// Manually define greg_t on ppc64 -+typedef unsigned long long greg_t; - #endif - #endif - -@@ -346,6 +349,51 @@ struct regs_struct { - #define SECCOMP_PT_PARM4(_regs) (_regs).regs[3] - #define SECCOMP_PT_PARM5(_regs) (_regs).regs[4] - #define SECCOMP_PT_PARM6(_regs) (_regs).regs[5] -+ -+#elif defined(__powerpc64__) -+#include -+ -+typedef struct pt_regs regs_struct; -+ -+#ifdef ARCH_CPU_LITTLE_ENDIAN -+#define SECCOMP_ARCH AUDIT_ARCH_PPC64LE -+#else -+#define SECCOMP_ARCH AUDIT_ARCH_PPC64 -+#endif -+ -+#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg]) -+ -+#define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3) -+#define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0) -+#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip -+#define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3) -+#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4) -+#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5) -+#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, 6) -+#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, 7) -+#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, 8) -+ -+#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr)) -+#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch)) -+#define SECCOMP_IP_MSB_IDX \ -+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4) -+#define SECCOMP_IP_LSB_IDX \ -+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0) -+#define SECCOMP_ARG_MSB_IDX(nr) \ -+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4) -+#define SECCOMP_ARG_LSB_IDX(nr) \ -+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0) -+ -+#define SECCOMP_PT_RESULT(_regs) (_regs).gpr[3] -+#define SECCOMP_PT_SYSCALL(_regs) (_regs).gpr[0] -+#define SECCOMP_PT_IP(_regs) (_regs).nip -+#define SECCOMP_PT_PARM1(_regs) (_regs).gpr[3] -+#define SECCOMP_PT_PARM2(_regs) (_regs).gpr[4] -+#define SECCOMP_PT_PARM3(_regs) (_regs).gpr[5] -+#define SECCOMP_PT_PARM4(_regs) (_regs).gpr[6] -+#define SECCOMP_PT_PARM5(_regs) (_regs).gpr[7] -+#define SECCOMP_PT_PARM6(_regs) (_regs).gpr[8] -+ - #else - #error Unsupported target platform - -diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -index 712f9699a9..55f062817e 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -88,7 +88,8 @@ bool IsBaselinePolicyWatched(int sysno) { - SyscallSets::IsPrctl(sysno) || - SyscallSets::IsProcessGroupOrSession(sysno) || - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - SyscallSets::IsSocketCall(sysno) || - #endif - #if defined(__arm__) -@@ -210,7 +211,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - } - - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - if (sysno == __NR_mmap) - return RestrictMmapFlags(); - #endif -@@ -228,7 +229,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - return RestrictPrctl(); - - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - if (sysno == __NR_socketpair) { - // Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen. - static_assert(AF_UNIX == PF_UNIX, -@@ -268,7 +269,8 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - } - - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - if (SyscallSets::IsSocketCall(sysno)) - return RestrictSocketcallCommand(); - #endif -diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc -index fc36187c94..1affc91897 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc -@@ -291,8 +291,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create) - #if !defined(__aarch64__) - TEST_BASELINE_SIGSYS(__NR_eventfd) - TEST_BASELINE_SIGSYS(__NR_inotify_init) -+#if !defined(__powerpc64__) - TEST_BASELINE_SIGSYS(__NR_vserver) - #endif -+#endif - - #if defined(LIBC_GLIBC) && !defined(OS_CHROMEOS) - BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) { -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -index ff5a1c093c..7faa07c9a7 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -@@ -36,7 +36,8 @@ - #include - #include - #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(__arm__) && \ -- !defined(__aarch64__) && !defined(PTRACE_GET_THREAD_AREA) -+ !defined(__aarch64__) && !defined(PTRACE_GET_THREAD_AREA) && \ -+ !defined(__powerpc64__) - // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance - // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA. - // asm/ptrace-abi.h doesn't exist on arm32 and PTRACE_GET_THREAD_AREA isn't -@@ -45,6 +46,11 @@ - #endif - #endif // !OS_NACL_NONSFI - -+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h -+#ifdef __powerpc64__ -+#include -+#endif -+ - #if defined(OS_ANDROID) - - #if !defined(F_DUPFD_CLOEXEC) -@@ -107,6 +113,15 @@ inline bool IsArchitectureMips() { - #endif - } - -+inline bool IsArchitecturePPC64() { -+#if defined(__powerpc64__) -+ return true; -+#else -+ return false; -+#endif -+} -+ -+ - // Ubuntu's version of glibc has a race condition in sem_post that can cause - // it to call futex(2) with bogus op arguments. To workaround this, we need - // to allow those futex(2) calls to fail with EINVAL, instead of crashing the -@@ -248,6 +263,8 @@ ResultExpr RestrictFcntlCommands() { - uint64_t kOLargeFileFlag = O_LARGEFILE; - if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips()) - kOLargeFileFlag = 0100000; -+ else if (IsArchitecturePPC64()) -+ kOLargeFileFlag = 0200000; - - const Arg cmd(1); - const Arg long_arg(2); -@@ -262,14 +279,23 @@ ResultExpr RestrictFcntlCommands() { - F_SETLKW, - F_GETLK, - F_DUPFD, -- F_DUPFD_CLOEXEC), -- Allow()) -+ F_DUPFD_CLOEXEC -+#if defined(__powerpc64__) -+// On PPC64, F_SETLK, F_GETLK, F_SETLKW are defined as the 64-bit variants -+// but glibc will sometimes still use the 32-bit versions. Allow both. -+ , -+ 5, /* F_GETLK (32) */ -+ 6, /* F_SETLK (32) */ -+ 7 /* F_SETLKW (32) */ -+#endif -+ ), -+ Allow()) - .Case(F_SETFL, - If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS())) - .Default(CrashSIGSYS()); - } - --#if defined(__i386__) || defined(__mips__) -+#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__) - ResultExpr RestrictSocketcallCommand() { - // Unfortunately, we are unable to restrict the first parameter to - // socketpair(2). Whilst initially sounding bad, it's noteworthy that very -@@ -418,7 +444,7 @@ ResultExpr RestrictPrlimitToGetrlimit(pid_t target_pid) { - ResultExpr RestrictPtrace() { - const Arg request(0); - return Switch(request).CASES(( --#if !defined(__aarch64__) -+#if !defined(__aarch64__) && !defined(__powerpc64__) - PTRACE_GETREGS, - PTRACE_GETFPREGS, - PTRACE_GET_THREAD_AREA, -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h -index ba4289f05b..9a4d5ab2db 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h -@@ -48,7 +48,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictMprotectFlags(); - // O_NONBLOCK | O_SYNC | O_LARGEFILE | O_CLOEXEC | O_NOATIME. - SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictFcntlCommands(); - --#if defined(__i386__) || defined(__mips__) -+#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__) - // Restrict socketcall(2) to only allow socketpair(2), send(2), recv(2), - // sendto(2), recvfrom(2), shutdown(2), sendmsg(2) and recvmsg(2). - SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictSocketcallCommand(); -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index d9d18822f6..1acd39d30e 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int sysno) { - switch (sysno) { - case __NR_gettimeofday: - #if defined(__i386__) || defined(__x86_64__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_time: - #endif - return true; -@@ -41,12 +42,14 @@ bool SyscallSets::IsAllowedGettime(int sysno) { - case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID(). - case __NR_clock_settime: // Privileged. - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_ftime: // Obsolete. - #endif - case __NR_settimeofday: // Privileged. - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_stime: - #endif - default: -@@ -112,7 +115,7 @@ bool SyscallSets::IsFileSystem(int sysno) { - case __NR_faccessat: // EPERM not a valid errno. - case __NR_fchmodat: - case __NR_fchownat: // Should be called chownat ? --#if defined(__x86_64__) || defined(__aarch64__) -+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) - case __NR_newfstatat: // fstatat(). EPERM not a valid errno. - #elif defined(__i386__) || defined(__arm__) || \ - (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -@@ -131,7 +134,7 @@ bool SyscallSets::IsFileSystem(int sysno) { - case __NR_memfd_create: - case __NR_mkdirat: - case __NR_mknodat: --#if defined(__i386__) -+#if defined(__i386__) || defined(__powerpc64__) - case __NR_oldlstat: - case __NR_oldstat: - #endif -@@ -145,7 +148,8 @@ bool SyscallSets::IsFileSystem(int sysno) { - #endif - case __NR_statfs: // EPERM not a valid errno. - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_statfs64: - #endif - case __NR_symlinkat: -@@ -155,7 +159,8 @@ bool SyscallSets::IsFileSystem(int sysno) { - case __NR_truncate64: - #endif - case __NR_unlinkat: --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_utime: - #endif - case __NR_utimensat: // New. -@@ -174,7 +179,8 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) { - #endif - return true; - // TODO(jln): these should be denied gracefully as well (moved below). --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_fadvise64: // EPERM not a valid errno. - #endif - #if defined(__i386__) -@@ -187,11 +193,12 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) { - case __NR_flock: // EPERM not a valid errno. - case __NR_fstatfs: // Give information about the whole filesystem. - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_fstatfs64: - #endif - case __NR_fsync: // EPERM not a valid errno. --#if defined(__i386__) -+#if defined(__i386__) || defined(__powerpc64__) - case __NR_oldfstat: - #endif - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -@@ -199,6 +206,8 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) { - case __NR_sync_file_range: // EPERM not a valid errno. - #elif defined(__arm__) - case __NR_arm_sync_file_range: // EPERM not a valid errno. -+#elif defined(__powerpc64__) -+ case __NR_sync_file_range2: // EPERM not a valid errno. - #endif - default: - return false; -@@ -224,7 +233,8 @@ bool SyscallSets::IsDeniedFileSystemAccessViaFd(int sysno) { - #endif - case __NR_getdents64: // EPERM not a valid errno. - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_readdir: - #endif - return true; -@@ -265,7 +275,7 @@ bool SyscallSets::IsGetSimpleId(int sysno) { - bool SyscallSets::IsProcessPrivilegeChange(int sysno) { - switch (sysno) { - case __NR_capset: --#if defined(__i386__) || defined(__x86_64__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__) - case __NR_ioperm: // Intel privilege. - case __NR_iopl: // Intel privilege. - #endif -@@ -316,7 +326,8 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) { - case __NR_rt_sigreturn: - case __NR_rt_sigtimedwait: - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_sigaction: - case __NR_sigprocmask: - case __NR_sigreturn: -@@ -332,7 +343,8 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) { - #endif - case __NR_signalfd4: - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_sigpending: - case __NR_sigsuspend: - #endif -@@ -356,7 +368,7 @@ bool SyscallSets::IsAllowedOperationOnFd(int sysno) { - #endif - case __NR_dup3: - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_shutdown: - #endif - return true; -@@ -389,7 +401,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { - case __NR_exit_group: - case __NR_wait4: - case __NR_waitid: --#if defined(__i386__) -+#if defined(__i386__) || defined(__powerpc64__) - case __NR_waitpid: - #endif - return true; -@@ -406,7 +418,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { - #endif - case __NR_set_tid_address: - case __NR_unshare: --#if !defined(__mips__) && !defined(__aarch64__) -+#if !defined(__mips__) && !defined(__aarch64__) || defined(__powerpc64__) - case __NR_vfork: - #endif - default: -@@ -455,7 +467,7 @@ bool SyscallSets::IsAllowedGetOrModifySocket(int sysno) { - return true; - default: - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_socketpair: // We will want to inspect its argument. - #endif - return false; -@@ -465,7 +477,7 @@ bool SyscallSets::IsAllowedGetOrModifySocket(int sysno) { - bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) { - switch (sysno) { - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_accept: - case __NR_accept4: - case __NR_bind: -@@ -480,7 +492,8 @@ bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) { - } - - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - // Big multiplexing system call for sockets. - bool SyscallSets::IsSocketCall(int sysno) { - switch (sysno) { -@@ -494,7 +507,8 @@ bool SyscallSets::IsSocketCall(int sysno) { - } - #endif - --#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) -+#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -+ defined(__powerpc64__) - bool SyscallSets::IsNetworkSocketInformation(int sysno) { - switch (sysno) { - case __NR_getpeername: -@@ -519,7 +533,7 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { - case __NR_mincore: - case __NR_mlockall: - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_mmap: - #endif - #if defined(__i386__) || defined(__arm__) || \ -@@ -549,7 +563,8 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) { - switch (sysno) { - case __NR_lseek: - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR__llseek: - #endif - #if !defined(__aarch64__) -@@ -561,26 +576,28 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) { - case __NR_readv: - case __NR_pread64: - #if defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_recv: - #endif - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_recvfrom: // Could specify source. - case __NR_recvmsg: // Could specify source. - #endif --#if defined(__i386__) || defined(__x86_64__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__) - case __NR_select: - #endif --#if defined(__i386__) || defined(__arm__) || defined(__mips__) -+#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__powerpc64__) - case __NR__newselect: - #endif - #if defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_send: - #endif - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_sendmsg: // Could specify destination. - case __NR_sendto: // Could specify destination. - #endif -@@ -637,7 +654,8 @@ bool SyscallSets::IsAllowedBasicScheduler(int sysno) { - return true; - case __NR_getpriority: - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_nice: - #endif - case __NR_setpriority: -@@ -649,7 +667,8 @@ bool SyscallSets::IsAllowedBasicScheduler(int sysno) { - bool SyscallSets::IsAdminOperation(int sysno) { - switch (sysno) { - #if defined(__i386__) || defined(__arm__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_bdflush: - #endif - case __NR_kexec_load: -@@ -665,7 +684,8 @@ bool SyscallSets::IsAdminOperation(int sysno) { - - bool SyscallSets::IsKernelModule(int sysno) { - switch (sysno) { --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_create_module: - case __NR_get_kernel_syms: // Should ENOSYS. - case __NR_query_module: -@@ -698,7 +718,8 @@ bool SyscallSets::IsFsControl(int sysno) { - case __NR_swapoff: - case __NR_swapon: - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_umount: - #endif - case __NR_umount2: -@@ -714,7 +735,7 @@ bool SyscallSets::IsNuma(int sysno) { - case __NR_getcpu: - case __NR_mbind: - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_migrate_pages: - #endif - case __NR_move_pages: -@@ -743,14 +764,15 @@ bool SyscallSets::IsGlobalProcessEnvironment(int sysno) { - switch (sysno) { - case __NR_acct: // Privileged. - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - case __NR_getrlimit: - #endif --#if defined(__i386__) || defined(__arm__) -+#if defined(__i386__) || defined(__arm__) || defined(__powerpc64__) - case __NR_ugetrlimit: - #endif - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_ulimit: - #endif - case __NR_getrusage: -@@ -784,7 +806,7 @@ bool SyscallSets::IsGlobalSystemStatus(int sysno) { - #endif - case __NR_sysinfo: - case __NR_uname: --#if defined(__i386__) -+#if defined(__i386__) || defined(__powerpc64__) - case __NR_olduname: - case __NR_oldolduname: - #endif -@@ -846,8 +868,16 @@ bool SyscallSets::IsSystemVSemaphores(int sysno) { - } - #endif - -+/* shitty hack around Void's 4.19 kernel headers missing those numbers */ -+#if defined(__powerpc64__) && !defined(__NR_shmget) -+#define __NR_shmget 395 -+#define __NR_shmctl 396 -+#define __NR_shmat 397 -+#define __NR_shmdt 398 -+#endif -+ - #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ -- defined(__aarch64__) || \ -+ defined(__aarch64__) || defined(__powerpc64__) || \ - (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) - // These give a lot of ambient authority and bypass the setuid sandbox. - bool SyscallSets::IsSystemVSharedMemory(int sysno) { -@@ -879,7 +909,8 @@ bool SyscallSets::IsSystemVMessageQueue(int sysno) { - #endif - - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - // Big system V multiplexing system call. - bool SyscallSets::IsSystemVIpc(int sysno) { - switch (sysno) { -@@ -899,7 +930,8 @@ bool SyscallSets::IsAnySystemV(int sysno) { - return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) || - IsSystemVSharedMemory(sysno); - #elif defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - return IsSystemVIpc(sysno); - #endif - } -@@ -952,7 +984,8 @@ bool SyscallSets::IsFaNotify(int sysno) { - bool SyscallSets::IsTimer(int sysno) { - switch (sysno) { - case __NR_getitimer: --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_alarm: - #endif - case __NR_setitimer: -@@ -1011,18 +1044,22 @@ bool SyscallSets::IsMisc(int sysno) { - case __NR_syncfs: - case __NR_vhangup: - // The system calls below are not implemented. --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_afs_syscall: - #endif - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_break: - #endif --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_getpmsg: - #endif - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_gtty: - case __NR_idle: - case __NR_lock: -@@ -1030,20 +1067,22 @@ bool SyscallSets::IsMisc(int sysno) { - case __NR_prof: - case __NR_profil: - #endif --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -+ defined(__powerpc64__) - case __NR_putpmsg: - #endif - #if defined(__x86_64__) - case __NR_security: - #endif - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - case __NR_stty: - #endif --#if defined(__x86_64__) -+#if defined(__x86_64__) || defined(__powerpc64__) - case __NR_tuxcall: - #endif --#if !defined(__aarch64__) -+#if !defined(__aarch64__) && !defined(__powerpc64__) - case __NR_vserver: - #endif - return true; -diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h -index 923533ec9f..411f72acdb 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h -@@ -43,13 +43,14 @@ class SANDBOX_EXPORT SyscallSets { - static bool IsDeniedGetOrModifySocket(int sysno); - - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - // Big multiplexing system call for sockets. - static bool IsSocketCall(int sysno); - #endif - - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - static bool IsNetworkSocketInformation(int sysno); - #endif - -@@ -76,7 +77,7 @@ class SANDBOX_EXPORT SyscallSets { - static bool IsSystemVSemaphores(int sysno); - #endif - #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ -- defined(__aarch64__) || \ -+ defined(__aarch64__) || defined(__powerpc64__) || \ - (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) - // These give a lot of ambient authority and bypass the setuid sandbox. - static bool IsSystemVSharedMemory(int sysno); -@@ -88,7 +89,8 @@ class SANDBOX_EXPORT SyscallSets { - #endif - - #if defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - // Big system V multiplexing system call. - static bool IsSystemVIpc(int sysno); - #endif -diff --git a/sandbox/linux/seccomp-bpf/syscall.cc b/sandbox/linux/seccomp-bpf/syscall.cc -index 34edabd2b8..10fa5fd070 100644 ---- a/sandbox/linux/seccomp-bpf/syscall.cc -+++ b/sandbox/linux/seccomp-bpf/syscall.cc -@@ -16,7 +16,7 @@ namespace sandbox { - namespace { - - #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \ -- defined(ARCH_CPU_MIPS_FAMILY) -+ defined(ARCH_CPU_MIPS_FAMILY) || defined (ARCH_CPU_PPC64_FAMILY) - // Number that's not currently used by any Linux kernel ABIs. - const int kInvalidSyscallNumber = 0x351d3; - #else -@@ -308,12 +308,56 @@ asm(// We need to be able to tell the kernel exactly where we made a - // Enter the kernel - "svc 0\n" - "2:ret\n" -+ ".cfi_endproc\n" -+ ".size SyscallAsm, .-SyscallAsm\n" -+#elif defined(__powerpc64__) -+ ".text\n" -+ ".align 4\n" -+ ".type SyscallAsm @function\n" -+ "SyscallAsm:\n" -+ ".cfi_startproc\n" -+ -+ // Check if r3 is negative -+ "cmpdi 3, 0\n" -+ "bgt 2f\n" -+ -+ // Load address of 3f into r3 and return -+ "mflr 10\n" -+ "bl 1f\n" -+ "1: mflr 3\n" -+ "mtlr 10\n" -+ "addi 3, 3, 4*13\n" -+ "blr\n" -+ -+ // Load arguments from array into r3-8 -+ // save param 3 in r10 -+ "2:\n" -+ "mr 0, 3\n" -+ "ld 3, 0(4)\n" -+ "ld 5, 16(4)\n" -+ "ld 6, 24(4)\n" -+ "ld 7, 32(4)\n" -+ "ld 8, 40(4)\n" -+ "ld 4, 8(4)\n" -+ "li 9, 0\n" -+ -+ // Enter kernel -+ "sc\n" -+ -+ // Magic return address -+ "3:\n" -+ // Like MIPS, ppc64 return values are always positive. -+ // Check for error in cr0.SO and negate upon error -+ "bc 4, 3, 4f\n" -+ "neg 3, 3\n" -+ "4: blr\n" -+ - ".cfi_endproc\n" - ".size SyscallAsm, .-SyscallAsm\n" - #endif - ); // asm - --#if defined(__x86_64__) -+#if defined(__x86_64__) || defined(__powerpc64__) - extern "C" { - intptr_t SyscallAsm(intptr_t nr, const intptr_t args[6]); - } -@@ -427,6 +471,8 @@ intptr_t Syscall::Call(int nr, - ret = inout; - } - -+#elif defined(__powerpc64__) -+ intptr_t ret = SyscallAsm(nr, args); - #else - #error "Unimplemented architecture" - #endif -@@ -443,8 +489,18 @@ void Syscall::PutValueInUcontext(intptr_t ret_val, ucontext_t* ctx) { - // needs to be changed back. - ret_val = -ret_val; - SECCOMP_PARM4(ctx) = 1; -- } else -+ } else { - SECCOMP_PARM4(ctx) = 0; -+ } -+#endif -+#if defined(__powerpc64__) -+ // Same as MIPS, need to invert ret and set error register (cr0.SO) -+ if (ret_val <= -1 && ret_val >= -4095) { -+ ret_val = -ret_val; -+ ctx->uc_mcontext.regs->ccr |= (1 << 28); -+ } else { -+ ctx->uc_mcontext.regs->ccr &= ~(1 << 28); -+ } - #endif - SECCOMP_RESULT(ctx) = static_cast(ret_val); - } -diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc -index 9884be8bb2..98e4371aac 100644 ---- a/sandbox/linux/seccomp-bpf/trap.cc -+++ b/sandbox/linux/seccomp-bpf/trap.cc -@@ -232,6 +232,20 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) { - SetIsInSigHandler(); - } - -+#if defined(__powerpc64__) -+ // On ppc64+glibc, some syscalls seem to accidentally negate the first -+ // parameter which causes checks against it to fail. For now, manually -+ // negate them back. -+ // TODO(shawn@anastas.io): investigate this issue further -+ auto nr = SECCOMP_SYSCALL(ctx); -+ if (nr == __NR_openat || nr == __NR_mkdirat || nr == __NR_faccessat || nr == __NR_readlinkat || -+ nr == __NR_renameat || nr == __NR_renameat2 || nr == __NR_newfstatat || nr == __NR_unlinkat) { -+ if (static_cast(SECCOMP_PARM1(ctx)) > 0) { -+ SECCOMP_PARM1(ctx) = -SECCOMP_PARM1(ctx); -+ } -+ } -+#endif -+ - // Copy the seccomp-specific data into a arch_seccomp_data structure. This - // is what we are showing to TrapFnc callbacks that the system call - // evaluator registered with the sandbox. -diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc -index d7b5d8c441..4adc6d0d43 100644 ---- a/sandbox/linux/services/credentials.cc -+++ b/sandbox/linux/services/credentials.cc -@@ -81,7 +81,7 @@ bool ChrootToSafeEmptyDir() { - pid_t pid = -1; - alignas(16) char stack_buf[PTHREAD_STACK_MIN]; - #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \ -- defined(ARCH_CPU_MIPS_FAMILY) -+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY) - // The stack grows downward. - void* stack = stack_buf + sizeof(stack_buf); - #else -diff --git a/sandbox/linux/services/syscall_wrappers.cc b/sandbox/linux/services/syscall_wrappers.cc -index fcfd2aa129..f6eb32fb76 100644 ---- a/sandbox/linux/services/syscall_wrappers.cc -+++ b/sandbox/linux/services/syscall_wrappers.cc -@@ -58,7 +58,7 @@ long sys_clone(unsigned long flags, - #if defined(ARCH_CPU_X86_64) - return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls); - #elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \ -- defined(ARCH_CPU_MIPS_FAMILY) -+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY) - // CONFIG_CLONE_BACKWARDS defined. - return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid); - #endif -diff --git a/sandbox/linux/syscall_broker/broker_process.cc b/sandbox/linux/syscall_broker/broker_process.cc -index 8321d23798..7e5ad1de37 100644 ---- a/sandbox/linux/syscall_broker/broker_process.cc -+++ b/sandbox/linux/syscall_broker/broker_process.cc -@@ -157,7 +157,7 @@ bool BrokerProcess::IsSyscallAllowed(int sysno) const { - #if defined(__NR_fstatat) - case __NR_fstatat: - #endif --#if defined(__x86_64__) || defined(__aarch64__) -+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) - case __NR_newfstatat: - #endif - return !fast_check_in_client_ || allowed_command_set_.test(COMMAND_STAT); -diff --git a/sandbox/linux/system_headers/linux_seccomp.h b/sandbox/linux/system_headers/linux_seccomp.h -index a60fe2ad3d..9dccdb51d0 100644 ---- a/sandbox/linux/system_headers/linux_seccomp.h -+++ b/sandbox/linux/system_headers/linux_seccomp.h -@@ -29,6 +29,9 @@ - #ifndef EM_AARCH64 - #define EM_AARCH64 183 - #endif -+#ifndef EM_PPC64 -+#define EM_PPC64 21 -+#endif - - #ifndef __AUDIT_ARCH_64BIT - #define __AUDIT_ARCH_64BIT 0x80000000 -@@ -54,6 +57,12 @@ - #ifndef AUDIT_ARCH_AARCH64 - #define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE) - #endif -+#ifndef AUDIT_ARCH_PPC64 -+#define AUDIT_ARCH_PPC64 (EM_PPC64 | __AUDIT_ARCH_64BIT) -+#endif -+#ifndef AUDIT_ARCH_PPC64LE -+#define AUDIT_ARCH_PPC64LE (EM_PPC64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE) -+#endif - - // For prctl.h - #ifndef PR_SET_SECCOMP -diff --git a/sandbox/linux/system_headers/linux_signal.h b/sandbox/linux/system_headers/linux_signal.h -index f5a7367617..515b21a5fd 100644 ---- a/sandbox/linux/system_headers/linux_signal.h -+++ b/sandbox/linux/system_headers/linux_signal.h -@@ -13,7 +13,7 @@ - // (not undefined, but defined different values and in different memory - // layouts). So, fill the gap here. - #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - - #define LINUX_SIGHUP 1 - #define LINUX_SIGINT 2 -diff --git a/sandbox/linux/system_headers/linux_syscalls.h b/sandbox/linux/system_headers/linux_syscalls.h -index 2b78a0cc3b..0a70f5ea58 100644 ---- a/sandbox/linux/system_headers/linux_syscalls.h -+++ b/sandbox/linux/system_headers/linux_syscalls.h -@@ -35,5 +35,9 @@ - #include "sandbox/linux/system_headers/arm64_linux_syscalls.h" - #endif - -+#if defined(__powerpc64__) -+#include "sandbox/linux/system_headers/ppc64_linux_syscalls.h" -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ - -diff --git a/sandbox/linux/system_headers/linux_ucontext.h b/sandbox/linux/system_headers/linux_ucontext.h -index 22ce780274..a69b024c2f 100644 ---- a/sandbox/linux/system_headers/linux_ucontext.h -+++ b/sandbox/linux/system_headers/linux_ucontext.h -@@ -11,6 +11,8 @@ - #include "sandbox/linux/system_headers/arm_linux_ucontext.h" - #elif defined(__i386__) - #include "sandbox/linux/system_headers/i386_linux_ucontext.h" -+#elif defined(__powerpc64__) -+#include "sandbox/linux/system_headers/ppc64_linux_ucontext.h" - #else - #error "No support for your architecture in PNaCl header" - #endif -diff --git a/sandbox/linux/system_headers/ppc64_linux_syscalls.h b/sandbox/linux/system_headers/ppc64_linux_syscalls.h -new file mode 100644 -index 0000000000..ccacffe22e ---- /dev/null -+++ b/sandbox/linux/system_headers/ppc64_linux_syscalls.h -@@ -0,0 +1,12 @@ -+// Copyright 2014 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ -+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ -+ -+#include -+ -+//TODO: is it necessary to redefine syscall numbers for PPC64? -+ -+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ -diff --git a/sandbox/linux/system_headers/ppc64_linux_ucontext.h b/sandbox/linux/system_headers/ppc64_linux_ucontext.h -new file mode 100644 -index 0000000000..07728e0879 ---- /dev/null -+++ b/sandbox/linux/system_headers/ppc64_linux_ucontext.h -@@ -0,0 +1,12 @@ -+// Copyright 2014 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ -+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ -+ -+#include -+ -+//TODO: is it necessary to redefine ucontext on PPC64? -+ -+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ -diff --git a/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc b/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -index a85c0ea867..00bcd12698 100644 ---- a/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -+++ b/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -@@ -15,6 +15,11 @@ - #include "sandbox/linux/system_headers/linux_syscalls.h" - #include "services/service_manager/sandbox/linux/sandbox_linux.h" - -+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h -+#ifdef __powerpc64__ -+#include -+#endif -+ - // TODO(vignatti): replace the local definitions below with #include - // once kernel version 4.6 becomes widely used. - #include -diff --git a/third_party/angle/src/compiler/translator/InfoSink.h b/third_party/angle/src/compiler/translator/InfoSink.h -index 3a807e1e3d..5258617a7e 100644 ---- a/third_party/angle/src/compiler/translator/InfoSink.h -+++ b/third_party/angle/src/compiler/translator/InfoSink.h -@@ -92,7 +92,16 @@ class TInfoSinkBase - stream.precision(8); - stream << f; - } -- sink.append(stream.str()); -+ -+ // Hack to work around a bug where negative floating point values -+ // are rendered like '.0.5' instead of '-0.5' -+ std::string res(stream.str()); -+ -+ if (signbit(f)) { // test if f is negative -+ res[0] = '-'; -+ } -+ -+ sink.append(res); - return *this; - } - // Write boolean values as their names instead of integral value. -diff --git a/third_party/angle/src/libANGLE/Constants.h b/third_party/angle/src/libANGLE/Constants.h -index 7467899135..9132b3fc0f 100644 ---- a/third_party/angle/src/libANGLE/Constants.h -+++ b/third_party/angle/src/libANGLE/Constants.h -@@ -9,6 +9,7 @@ - #ifndef LIBANGLE_CONSTANTS_H_ - #define LIBANGLE_CONSTANTS_H_ - -+#include - #include "common/platform.h" - - #include -diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn -index b435499f45..ac8a84b6db 100644 ---- a/third_party/boringssl/BUILD.gn -+++ b/third_party/boringssl/BUILD.gn -@@ -101,6 +101,13 @@ if (is_win && !is_msan && current_cpu != "arm64") { - } else { - public_configs = [ ":no_asm_config" ] - } -+ } else if (current_cpu == "ppc64") { -+ if (is_linux) { -+ # TODO: ppc64 (be) check -+ sources += crypto_sources_linux_ppc64le -+ } else { -+ public_configs = [ ":no_asm_config" ] -+ } - } else { - public_configs = [ ":no_asm_config" ] - } -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -index 07d9171a0a..9aed4cb369 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -@@ -44,6 +44,8 @@ typedef MDRawContextARM RawContextCPU; - typedef MDRawContextARM64_Old RawContextCPU; - #elif defined(__mips__) - typedef MDRawContextMIPS RawContextCPU; -+#elif defined(__powerpc64__) -+typedef MDRawContextPPC64 RawContextCPU; - #else - #error "This code has not been ported to your platform yet." - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -index aae1dc13b2..03afec7a58 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -@@ -270,7 +270,42 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const { - out->float_save.fir = mcontext.fpc_eir; - #endif - } --#endif // __mips__ -+ -+#elif defined(__powerpc64__) -+ -+uintptr_t ThreadInfo::GetInstructionPointer() const { -+ return mcontext.gp_regs[PT_NIP]; -+} -+ -+void ThreadInfo::FillCPUContext(RawContextCPU* out) const { -+ out->context_flags = MD_CONTEXT_PPC64_FULL; -+ for (int i = 0; i < MD_CONTEXT_PPC64_GPR_COUNT; i++) -+ out->gpr[i] = mcontext.gp_regs[i]; -+ -+ out->lr = mcontext.gp_regs[PT_LNK]; -+ out->srr0 = mcontext.gp_regs[PT_NIP]; -+ out->srr1 = mcontext.gp_regs[PT_MSR]; -+ out->cr = mcontext.gp_regs[PT_CCR]; -+ out->xer = mcontext.gp_regs[PT_XER]; -+ out->ctr = mcontext.gp_regs[PT_CTR]; -+ -+ for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) -+ out->float_save.fpregs[i] = mcontext.fp_regs[i]; -+ -+ out->float_save.fpscr = mcontext.fp_regs[NFPREG-1]; -+ -+ for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) -+ out->vector_save.save_vr[i] = \ -+ {(((uint64_t)vregs.vrregs[i][0]) << 32) -+ | vregs.vrregs[i][1], -+ (((uint64_t)vregs.vrregs[i][2]) << 32) -+ | vregs.vrregs[i][3]}; -+ -+ out->vrsave = vregs.vrsave; -+ out->vector_save.save_vscr = {0, vregs.vscr.vscr_word}; -+ out->vector_save.save_vrvalid = 0xFFFFFFFF; -+} -+#endif // __powerpc64__ - - void ThreadInfo::GetGeneralPurposeRegisters(void** gp_regs, size_t* size) { - assert(gp_regs || size); -@@ -279,6 +314,11 @@ void ThreadInfo::GetGeneralPurposeRegisters(void** gp_regs, size_t* size) { - *gp_regs = mcontext.gregs; - if (size) - *size = sizeof(mcontext.gregs); -+#elif defined(__powerpc64__) -+ if (gp_regs) -+ *gp_regs = mcontext.gp_regs; -+ if (size) -+ *size = sizeof(mcontext.gp_regs); - #else - if (gp_regs) - *gp_regs = ®s; -@@ -294,6 +334,11 @@ void ThreadInfo::GetFloatingPointRegisters(void** fp_regs, size_t* size) { - *fp_regs = &mcontext.fpregs; - if (size) - *size = sizeof(mcontext.fpregs); -+#elif defined(__powerpc64__) -+ if (fp_regs) -+ *fp_regs = &mcontext.fp_regs; -+ if (size) -+ *size = sizeof(mcontext.fp_regs); - #else - if (fp_regs) - *fp_regs = &fpregs; -@@ -302,4 +347,13 @@ void ThreadInfo::GetFloatingPointRegisters(void** fp_regs, size_t* size) { - #endif - } - -+#if defined(__powerpc64__) -+void ThreadInfo::GetVectorRegisters(void** v_regs, size_t* size) { -+ if (v_regs) -+ *v_regs = &vregs; -+ if (size) -+ *size = sizeof(vregs); -+} -+#endif -+ - } // namespace google_breakpad -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -index fb216fa6d7..593aac8225 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -@@ -68,6 +68,10 @@ struct ThreadInfo { - // Use the structures defined in - struct user_regs_struct regs; - struct user_fpsimd_struct fpregs; -+#elif defined(__powerpc64__) -+ // Use the structures defined in . -+ mcontext_t mcontext; -+ vrregset_t vregs; - #elif defined(__mips__) - // Use the structure defined in . - mcontext_t mcontext; -@@ -84,6 +88,11 @@ struct ThreadInfo { - - // Returns the pointer and size of float point register area. - void GetFloatingPointRegisters(void** fp_regs, size_t* size); -+ -+#if defined(__powerpc64__) -+ // Returns the pointer and size of the vector register area. (PPC64 only) -+ void GetVectorRegisters(void** v_regs, size_t* size); -+#endif - }; - - } // namespace google_breakpad -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -index 6ee6cc1e4c..44fee5ba06 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -254,6 +254,48 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused. - #endif - } -+ -+#elif defined(__powerpc64__) -+ -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { -+ return uc->uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]; -+} -+ -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { -+ return uc->uc_mcontext.gp_regs[PT_NIP]; -+} -+ -+void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc, -+ const vrregset_t* vregs) { -+ out->context_flags = MD_CONTEXT_PPC64_FULL; -+ -+ for (int i = 0; i < MD_CONTEXT_PPC64_GPR_COUNT; i++) -+ out->gpr[i] = uc->uc_mcontext.gp_regs[i]; -+ -+ out->lr = uc->uc_mcontext.gp_regs[PT_LNK]; -+ out->srr0 = uc->uc_mcontext.gp_regs[PT_NIP]; -+ out->srr1 = uc->uc_mcontext.gp_regs[PT_MSR]; -+ out->cr = uc->uc_mcontext.gp_regs[PT_CCR]; -+ out->xer = uc->uc_mcontext.gp_regs[PT_XER]; -+ out->ctr = uc->uc_mcontext.gp_regs[PT_CTR]; -+ -+ for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) -+ out->float_save.fpregs[i] = uc->uc_mcontext.fp_regs[i]; -+ -+ out->float_save.fpscr = uc->uc_mcontext.fp_regs[NFPREG-1]; -+ -+ for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) -+ out->vector_save.save_vr[i] = -+ {(((uint64_t)vregs->vrregs[i][0]) << 32) -+ | vregs->vrregs[i][1], -+ (((uint64_t)vregs->vrregs[i][2]) << 32) -+ | vregs->vrregs[i][3]}; -+ -+ out->vrsave = vregs->vrsave; -+ out->vector_save.save_vscr = {0, vregs->vscr.vscr_word}; -+ out->vector_save.save_vrvalid = 0xFFFFFFFF; -+} -+ - #endif - - } // namespace google_breakpad -diff --git a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -index f830618f24..24d996380f 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -54,6 +54,9 @@ struct UContextReader { - #elif defined(__aarch64__) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); -+#elif defined(__powerpc64__) -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -+ const vrregset_t* vregs); - #else - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index b895f6d7ad..901cd68fbd 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -461,9 +461,16 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { - memcpy(&g_crash_context_.float_state, fp_ptr, - sizeof(g_crash_context_.float_state)); - } -+#elif defined(__powerpc64__) -+ // On PPC64, we must copy VR state -+ ucontext_t* uc_ptr = (ucontext_t*)uc; -+ if (uc_ptr->uc_mcontext.v_regs) { -+ memcpy(&g_crash_context_.vector_state, uc_ptr->uc_mcontext.v_regs, -+ sizeof(g_crash_context_.vector_state)); -+ } - #elif !defined(__ARM_EABI__) && !defined(__mips__) - // FP state is not part of user ABI on ARM Linux. -- // In case of MIPS Linux FP state is already part of ucontext_t -+ // In case of MIPS, Linux FP state is already part of ucontext_t - // and 'float_state' is not a member of CrashContext. - ucontext_t* uc_ptr = (ucontext_t*)uc; - if (uc_ptr->uc_mcontext.fpregs) { -@@ -701,11 +708,19 @@ bool ExceptionHandler::WriteMinidump() { - } - #endif - --#if !defined(__ARM_EABI__) && !defined(__aarch64__) && !defined(__mips__) -+#if !defined(__ARM_EABI__) && !defined(__aarch64__) && !defined(__mips__) \ -+ && !defined(__powerpc64__) - // FPU state is not part of ARM EABI ucontext_t. - memcpy(&context.float_state, context.context.uc_mcontext.fpregs, - sizeof(context.float_state)); - #endif -+ -+#if defined(__powerpc64__) -+ // Vector registers must be copied on PPC64 -+ memcpy(&context.vector_state, context.context.uc_mcontext.v_regs, -+ sizeof(context.vector_state)); -+#endif -+ - context.tid = sys_gettid(); - - // Add an exception stream to the minidump for better reporting. -@@ -726,6 +741,9 @@ bool ExceptionHandler::WriteMinidump() { - #elif defined(__mips__) - context.siginfo.si_addr = - reinterpret_cast(context.context.uc_mcontext.pc); -+#elif defined(__powerpc64__) -+ context.siginfo.si_addr = -+ reinterpret_cast(context.context.uc_mcontext.gp_regs[PT_NIP]); - #else - #error "This code has not been ported to your platform yet." - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -index f44483ff0f..36ce6d6ce4 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -@@ -192,7 +192,11 @@ class ExceptionHandler { - siginfo_t siginfo; - pid_t tid; // the crashing thread. - ucontext_t context; --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ // PPC64's FP state is a part of ucontext_t like MIPS but the vector -+ // state is not, so a struct is needed. -+ vstate_t vector_state; -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - // #ifdef this out because FP state is not part of user ABI for Linux ARM. - // In case of MIPS Linux FP state is already part of ucontext_t so - // 'float_state' is not required. -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -index bcbf9c26f1..2c36ed41f2 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -@@ -307,7 +307,7 @@ TEST(ExceptionHandlerTest, ParallelChildCrashesDontHang) { - } - - // Wait a while until the child should have crashed. -- usleep(1000000); -+ usleep(2000000); - // Kill the child if it is still running. - kill(child, SIGKILL); - -@@ -559,6 +559,8 @@ const unsigned char kIllegalInstruction[] = { - #if defined(__mips__) - // mfc2 zero,Impl - usually illegal in userspace. - 0x48, 0x00, 0x00, 0x48 -+#elif defined(__powerpc64__) -+ 0x01, 0x01, 0x01, 0x01 // Crashes on a tested POWER9 cpu - #else - // This crashes with SIGILL on x86/x86-64/arm. - 0xff, 0xff, 0xff, 0xff -@@ -754,10 +756,10 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryMaxBound) { - - // These are defined here so the parent can use them to check the - // data from the minidump afterwards. -- // Use 4k here because the OS will hand out a single page even -+ // Use the page size here because the OS will hand out a single page even - // if a smaller size is requested, and this test wants to - // test the upper bound of the memory range. -- const uint32_t kMemorySize = 4096; // bytes -+ const uint32_t kMemorySize = getpagesize(); // bytes - const int kOffset = kMemorySize - sizeof(kIllegalInstruction); - - const pid_t child = fork(); -diff --git a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -index fa3c1713a5..6ce709e2f0 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -@@ -138,7 +138,9 @@ class MicrodumpWriter { - const MicrodumpExtraInfo& microdump_extra_info, - LinuxDumper* dumper) - : ucontext_(context ? &context->context : NULL), --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ vector_state_(context ? &context->vector_state : NULL), -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - float_state_(context ? &context->float_state : NULL), - #endif - dumper_(dumper), -@@ -337,6 +339,8 @@ class MicrodumpWriter { - # else - # error "This mips ABI is currently not supported (n32)" - #endif -+#elif defined(__powerpc64__) -+ const char kArch[] = "ppc64"; - #else - #error "This code has not been ported to your platform yet" - #endif -@@ -409,7 +413,9 @@ class MicrodumpWriter { - void DumpCPUState() { - RawContextCPU cpu; - my_memset(&cpu, 0, sizeof(RawContextCPU)); --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ UContextReader::FillCPUContext(&cpu, ucontext_, vector_state_); -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - UContextReader::FillCPUContext(&cpu, ucontext_, float_state_); - #else - UContextReader::FillCPUContext(&cpu, ucontext_); -@@ -605,7 +611,9 @@ class MicrodumpWriter { - void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } - - const ucontext_t* const ucontext_; --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ const google_breakpad::vstate_t* const vector_state_; -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; - #endif - LinuxDumper* dumper_; -diff --git a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -index c2fea0225e..8c62c524a2 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -@@ -278,10 +278,19 @@ TEST(MicrodumpWriterTest, BasicWithMappings) { - CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf); - ASSERT_TRUE(ContainsMicrodump(buf)); - -+ int page_size = getpagesize(); - #ifdef __LP64__ -- ASSERT_NE(std::string::npos, -- buf.find("M 0000000000001000 000000000000002A 0000000000001000 " -- "33221100554477668899AABBCCDDEEFF0 libfoo.so")); -+ // This test is only available for the following page sizes -+ ASSERT_TRUE((page_size == 4096) || (page_size == 65536)); -+ if (page_size == 4096) { -+ ASSERT_NE(std::string::npos, -+ buf.find("M 0000000000001000 000000000000002A 0000000000001000 " -+ "33221100554477668899AABBCCDDEEFF0 libfoo.so")); -+ } else { -+ ASSERT_NE(std::string::npos, -+ buf.find("M 0000000000010000 000000000000002A 0000000000010000 " -+ "33221100554477668899AABBCCDDEEFF0 libfoo.so")); -+ } - #else - ASSERT_NE(std::string::npos, - buf.find("M 00001000 0000002A 00001000 " -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -index 4150689839..b93e4afcff 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -@@ -112,6 +112,9 @@ bool LinuxCoreDumper::GetThreadInfoByIndex(size_t index, ThreadInfo* info) { - #elif defined(__mips__) - stack_pointer = - reinterpret_cast(info->mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]); -+#elif defined(__powerpc64__) -+ stack_pointer = -+ reinterpret_cast(info->mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]); - #else - #error "This code hasn't been ported to your platform yet." - #endif -@@ -197,7 +200,10 @@ bool LinuxCoreDumper::EnumerateThreads() { - memset(&info, 0, sizeof(ThreadInfo)); - info.tgid = status->pr_pgrp; - info.ppid = status->pr_ppid; --#if defined(__mips__) -+#if defined(__powerpc64__) -+ for (int i = 0; i < 31; i++) -+ info.mcontext.gp_regs[i] = status->pr_reg[i]; -+#elif defined(__mips__) - #if defined(__ANDROID__) - for (int i = EF_R0; i <= EF_R31; i++) - info.mcontext.gregs[i - EF_R0] = status->pr_reg[i]; -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -index 1112035bc5..8523dad634 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -@@ -765,7 +765,9 @@ bool LinuxDumper::GetStackInfo(const void** stack, size_t* stack_len, - reinterpret_cast(int_stack_pointer & ~(page_size - 1)); - - // The number of bytes of stack which we try to capture. -- static const ptrdiff_t kStackToCapture = 32 * 1024; -+ // This now depends on page_size to avoid missing data -+ // on systems with larger page sizes. -+ static const ptrdiff_t kStackToCapture = 8 * page_size; - - const MappingInfo* mapping = FindMapping(stack_pointer); - if (!mapping) -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -index f4a75d9060..020981f57e 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -@@ -63,7 +63,8 @@ namespace google_breakpad { - (defined(__mips__) && _MIPS_SIM == _ABIO32) - typedef Elf32_auxv_t elf_aux_entry; - #elif defined(__x86_64) || defined(__aarch64__) || \ -- (defined(__mips__) && _MIPS_SIM != _ABIO32) -+ (defined(__mips__) && _MIPS_SIM != _ABIO32) || \ -+ defined(__powerpc64__) - typedef Elf64_auxv_t elf_aux_entry; - #endif - -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -index 3ad48e5015..1688c365ef 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -@@ -51,6 +51,8 @@ - #define TID_PTR_REGISTER "rcx" - #elif defined(__mips__) - #define TID_PTR_REGISTER "$1" -+#elif defined(__powerpc64__) -+#define TID_PTR_REGISTER "r8" - #else - #error This test has not been ported to this platform. - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -index e3ddb81a65..fa28575ef5 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -@@ -149,19 +149,27 @@ bool LinuxPtraceDumper::CopyFromProcess(void* dest, pid_t child, - return true; - } - --bool LinuxPtraceDumper::ReadRegisterSet(ThreadInfo* info, pid_t tid) --{ -+bool LinuxPtraceDumper::ReadRegisterSet(ThreadInfo* info, pid_t tid) { - #ifdef PTRACE_GETREGSET - struct iovec io; - info->GetGeneralPurposeRegisters(&io.iov_base, &io.iov_len); -- if (sys_ptrace(PTRACE_GETREGSET, tid, (void*)NT_PRSTATUS, (void*)&io) == -1) { -+ if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_PRSTATUS, (void*)&io) == -1) { - return false; - } - - info->GetFloatingPointRegisters(&io.iov_base, &io.iov_len); -- if (sys_ptrace(PTRACE_GETREGSET, tid, (void*)NT_FPREGSET, (void*)&io) == -1) { -+ if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_FPREGSET, (void*)&io) == -1) { - return false; - } -+ -+#if defined(__powerpc64__) -+ // Grab the vector registers on PPC64 too -+ info->GetVectorRegisters(&io.iov_base, &io.iov_len); -+ if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_PPC_VMX, (void*)&io) == -1) { -+ return false; -+ } -+#endif // defined(__powerpc64__) -+ - return true; - #else - return false; -@@ -298,6 +306,9 @@ bool LinuxPtraceDumper::GetThreadInfoByIndex(size_t index, ThreadInfo* info) { - #elif defined(__mips__) - stack_pointer = - reinterpret_cast(info->mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]); -+#elif defined(__powerpc64__) -+ stack_pointer = -+ reinterpret_cast(info->mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]); - #else - #error "This code hasn't been ported to your platform yet." - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -index a41dafce04..31743940de 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -@@ -462,6 +462,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackReadWithMultipleThreads) { - #elif defined(__mips__) - pid_t* process_tid_location = - reinterpret_cast(one_thread.mcontext.gregs[1]); -+#elif defined(__powerpc64__) -+ pid_t* process_tid_location = -+ reinterpret_cast(one_thread.mcontext.gp_regs[8]); - #else - #error This test has not been ported to this platform. - #endif -@@ -559,6 +562,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeStackCopy) { - uintptr_t heap_addr = thread_info.regs.rcx; - #elif defined(__mips__) - uintptr_t heap_addr = thread_info.mcontext.gregs[1]; -+#elif defined(__powerpc64__) -+ uintptr_t heap_addr = thread_info.mcontext.gp_regs[8]; - #else - #error This test has not been ported to this platform. - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -index f8cdf2a1c6..cb808c151f 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -@@ -136,7 +136,9 @@ class MinidumpWriter { - : fd_(minidump_fd), - path_(minidump_path), - ucontext_(context ? &context->context : NULL), --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ vector_state_(context ? &context->vector_state : NULL), -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - float_state_(context ? &context->float_state : NULL), - #endif - dumper_(dumper), -@@ -468,7 +470,9 @@ class MinidumpWriter { - if (!cpu.Allocate()) - return false; - my_memset(cpu.get(), 0, sizeof(RawContextCPU)); --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ UContextReader::FillCPUContext(cpu.get(), ucontext_, vector_state_); -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_); - #else - UContextReader::FillCPUContext(cpu.get(), ucontext_); -@@ -897,7 +901,7 @@ class MinidumpWriter { - dirent->location.rva = 0; - } - --#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) -+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || defined(__powerpc64__) - bool WriteCPUInformation(MDRawSystemInfo* sys_info) { - char vendor_id[sizeof(sys_info->cpu.x86_cpu_info.vendor_id) + 1] = {0}; - static const char vendor_id_name[] = "vendor_id"; -@@ -917,7 +921,9 @@ class MinidumpWriter { - - // processor_architecture should always be set, do this first - sys_info->processor_architecture = --#if defined(__mips__) -+#if defined(__powerpc64__) -+ MD_CPU_ARCHITECTURE_PPC64; -+#elif defined(__mips__) - # if _MIPS_SIM == _ABIO32 - MD_CPU_ARCHITECTURE_MIPS; - # elif _MIPS_SIM == _ABI64 -@@ -1333,7 +1339,9 @@ class MinidumpWriter { - const char* path_; // Path to the file where the minidum should be written. - - const ucontext_t* const ucontext_; // also from the signal handler --#if !defined(__ARM_EABI__) && !defined(__mips__) -+#if defined(__powerpc64__) -+ const google_breakpad::vstate_t* const vector_state_; -+#elif !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; // ditto - #endif - LinuxDumper* dumper_; -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -index d1dc331215..c344621df1 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -@@ -47,6 +47,8 @@ class ExceptionHandler; - - #if defined(__aarch64__) - typedef struct fpsimd_context fpstate_t; -+#elif defined(__powerpc64__) -+typedef vrregset_t vstate_t; - #elif !defined(__ARM_EABI__) && !defined(__mips__) - typedef struct _libc_fpstate fpstate_t; - #endif -diff --git a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -index c951e69d8f..e1d6e40d67 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -@@ -714,6 +714,9 @@ TEST(MinidumpWriterTest, InvalidStackPointer) { - #elif defined(__mips__) - context.context.uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP] = - invalid_stack_pointer; -+#elif defined(__powerpc64__) -+ context.context.uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP] = -+ invalid_stack_pointer; - #else - # error "This code has not been ported to your platform yet." - #endif -diff --git a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc b/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -index 4e938269f2..f0ff15d967 100644 ---- a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -+++ b/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -@@ -65,8 +65,7 @@ bool MemoryMappedFile::Map(const char* path, size_t offset) { - } - - #if defined(__x86_64__) || defined(__aarch64__) || \ -- (defined(__mips__) && _MIPS_SIM == _ABI64) -- -+ (defined(__mips__) && _MIPS_SIM == _ABI64) || defined(__powerpc64__) - struct kernel_stat st; - if (sys_fstat(fd, &st) == -1 || st.st_size < 0) { - #else -diff --git a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc b/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -index fad59f40cd..616496d672 100644 ---- a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -+++ b/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -@@ -176,9 +176,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterMap) { - TEST_F(MemoryMappedFileTest, MapWithOffset) { - // Put more data in the test file this time. Offsets can only be - // done on page boundaries, so we need a two page file to test this. -- const int page_size = 4096; -- char data1[2 * page_size]; -- size_t data1_size = sizeof(data1); -+ const int page_size = getpagesize(); -+ char *data1 = static_cast(malloc(2 * page_size)); -+ EXPECT_TRUE(data1 != NULL); -+ size_t data1_size = (2 * page_size); - for (size_t i = 0; i < data1_size; ++i) { - data1[i] = i & 0x7f; - } -diff --git a/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc b/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc -index ccc9f1459c..debaed4d6e 100644 ---- a/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc -+++ b/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc -@@ -202,12 +202,14 @@ bool ExploitabilityLinux::EndedOnIllegalWrite(uint64_t instruction_ptr) { - // Check architecture and set architecture variable to corresponding flag - // in objdump. - switch (context->GetContextCPU()) { -+#if defined(__i386) || defined(__x86_64) - case MD_CONTEXT_X86: - architecture = "i386"; - break; - case MD_CONTEXT_AMD64: - architecture = "i386:x86-64"; - break; -+#endif - default: - // Unsupported architecture. Note that ARM architectures are not - // supported because objdump does not support ARM. -diff --git a/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc b/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc -index 528ee5f213..72764d6c1e 100644 ---- a/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc -+++ b/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc -@@ -104,6 +104,8 @@ ExploitabilityFor(const string& filename) { - } - - TEST(ExploitabilityTest, TestWindowsEngine) { -+// The following tests are only executable on an x86-class linux machine. -+#if !defined(_WIN32) && (defined(__i386) || defined(__x86_64)) - ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, - ExploitabilityFor("ascii_read_av.dmp")); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, -@@ -136,9 +138,12 @@ TEST(ExploitabilityTest, TestWindowsEngine) { - ExploitabilityFor("read_av_clobber_write.dmp")); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_LOW, - ExploitabilityFor("read_av_conditional.dmp")); -+#endif - } - - TEST(ExploitabilityTest, TestLinuxEngine) { -+// The following tests are only executable on an x86-class linux machine. -+#if defined(__i386) || defined(__x86_64) - ASSERT_EQ(google_breakpad::EXPLOITABILITY_INTERESTING, - ExploitabilityFor("linux_null_read_av.dmp")); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, -@@ -171,7 +176,8 @@ TEST(ExploitabilityTest, TestLinuxEngine) { - ExploitabilityFor("linux_executable_heap.dmp")); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, - ExploitabilityFor("linux_jmp_to_module_not_exe_region.dmp")); --#ifndef _WIN32 -+#endif -+#if !defined(_WIN32) && (defined(__i386) || defined(__x86_64)) - ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, - ExploitabilityFor("linux_write_to_nonwritable_module.dmp")); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_HIGH, -@@ -182,10 +188,10 @@ TEST(ExploitabilityTest, TestLinuxEngine) { - ExploitabilityFor("linux_write_to_outside_module_via_math.dmp")); - ASSERT_EQ(google_breakpad::EXPLOITABILITY_INTERESTING, - ExploitabilityFor("linux_write_to_under_4k.dmp")); --#endif // _WIN32 -+#endif // !defined(_WIN32) && (!defined(__i386) && !defined(__x86_64)) - } - --#ifndef _WIN32 -+#if !defined(_WIN32) && (defined(__i386) || defined(__x86_64)) - TEST(ExploitabilityLinuxUtilsTest, DisassembleBytesTest) { - ASSERT_FALSE(ExploitabilityLinuxTest::DisassembleBytes("", NULL, 5, NULL)); - uint8_t bytes[6] = {0xc7, 0x0, 0x5, 0x0, 0x0, 0x0}; -@@ -301,6 +307,7 @@ TEST(ExploitabilityLinuxUtilsTest, CalculateAddressTest) { - context, - &write_address)); - } --#endif // _WIN32 -+#endif // !defined(_WIN32) && (defined(__i386) || defined(__x86_64)) -+ - - } // namespace -diff --git a/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc b/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -index 941586e9f6..49cdc3fc28 100644 ---- a/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -+++ b/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -@@ -76,6 +76,8 @@ - #define ELF_ARCH EM_MIPS - #elif defined(__aarch64__) - #define ELF_ARCH EM_AARCH64 -+#elif defined(__powerpc64__) -+ #define ELF_ARCH EM_PPC64 - #endif - - #if defined(__arm__) -@@ -86,6 +88,8 @@ typedef user_regs user_regs_struct; - #elif defined (__mips__) - // This file-local typedef simplifies the source code. - typedef gregset_t user_regs_struct; -+#elif defined(__powerpc64__) -+typedef struct pt_regs user_regs_struct; - #endif - - using google_breakpad::MDTypeHelper; -@@ -320,6 +324,9 @@ struct CrashedProcess { - #endif - #if defined(__aarch64__) - user_fpsimd_struct fpregs; -+#endif -+#if defined(__powerpc64__) -+ mcontext_t mcontext; - #endif - uintptr_t stack_addr; - const uint8_t* stack; -@@ -534,6 +541,38 @@ ParseThreadRegisters(CrashedProcess::Thread* thread, - thread->mcontext.fpc_eir = rawregs->float_save.fir; - #endif - } -+#elif defined(__powerpc64__) -+static void -+ParseThreadRegisters(CrashedProcess::Thread* thread, -+ const MinidumpMemoryRange& range) { -+ const MDRawContextPPC64* rawregs = range.GetData(0); -+ -+ for (int i = 0; i < MD_CONTEXT_PPC64_GPR_COUNT; i++) -+ thread->mcontext.gp_regs[i] = rawregs->gpr[i]; -+ -+ thread->mcontext.gp_regs[PT_LNK] = rawregs->lr; -+ thread->mcontext.gp_regs[PT_NIP] = rawregs->srr0; -+ thread->mcontext.gp_regs[PT_MSR] = rawregs->srr1; -+ thread->mcontext.gp_regs[PT_CCR] = rawregs->cr; -+ thread->mcontext.gp_regs[PT_XER] = rawregs->xer; -+ thread->mcontext.gp_regs[PT_CTR] = rawregs->ctr; -+ thread->mcontext.v_regs->vrsave = rawregs->vrsave; -+ -+ for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) -+ thread->mcontext.fp_regs[i] = rawregs->float_save.fpregs[i]; -+ -+ thread->mcontext.fp_regs[NFPREG-1] = rawregs->float_save.fpscr; -+ -+ for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) { -+ thread->mcontext.v_regs->vrregs[i][0] = rawregs->vector_save.save_vr[i].high >> 32; -+ thread->mcontext.v_regs->vrregs[i][1] = rawregs->vector_save.save_vr[i].high; -+ thread->mcontext.v_regs->vrregs[i][2] = rawregs->vector_save.save_vr[i].low >> 32; -+ thread->mcontext.v_regs->vrregs[i][3] = rawregs->vector_save.save_vr[i].low; -+ } -+ -+ thread->mcontext.v_regs->vscr.vscr_word = rawregs->vector_save.save_vscr.low & 0xFFFFFFFF; -+} -+ - #else - #error "This code has not been ported to your platform yet" - #endif -@@ -622,6 +661,12 @@ ParseSystemInfo(const Options& options, CrashedProcess* crashinfo, - # else - # error "This mips ABI is currently not supported (n32)" - # endif -+#elif defined(__powerpc64__) -+ if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_PPC64) { -+ fprintf(stderr, -+ "This version of minidump-2-core only supports PPC64.\n"); -+ exit(1); -+ } - #else - #error "This code has not been ported to your platform yet" - #endif -diff --git a/third_party/crashpad/crashpad/CONTRIBUTORS b/third_party/crashpad/crashpad/CONTRIBUTORS -index 8724b7f32f..8e29424ef6 100644 ---- a/third_party/crashpad/crashpad/CONTRIBUTORS -+++ b/third_party/crashpad/crashpad/CONTRIBUTORS -@@ -13,3 +13,4 @@ Mark Mentovai - Robert Sesek - Scott Graham - Joshua Peraza -+Shawn Anastasio -diff --git a/third_party/crashpad/crashpad/compat/linux/sys/user.h b/third_party/crashpad/crashpad/compat/linux/sys/user.h -index 6ed77a98e1..1fd83469a0 100644 ---- a/third_party/crashpad/crashpad/compat/linux/sys/user.h -+++ b/third_party/crashpad/crashpad/compat/linux/sys/user.h -@@ -15,6 +15,7 @@ - #ifndef CRASHPAD_COMPAT_LINUX_SYS_USER_H_ - #define CRASHPAD_COMPAT_LINUX_SYS_USER_H_ - -+#include - #include_next - - #include -diff --git a/third_party/crashpad/crashpad/minidump/minidump_context.h b/third_party/crashpad/crashpad/minidump/minidump_context.h -index 3a3e603cb0..3118d9e9f9 100644 ---- a/third_party/crashpad/crashpad/minidump/minidump_context.h -+++ b/third_party/crashpad/crashpad/minidump/minidump_context.h -@@ -592,6 +592,70 @@ struct MinidumpContextMIPS64 { - uint64_t fir; - }; - -+//! \brief ppc64-specific flags for MinidumpPPC64::context_flags -+//! Based on minidump_cpu_ppc64.h from breakpad -+enum MinidumpContextPPC64Flags : uint32_t { -+ //! \brief Identifies the context as PPC64. -+ kMinidumpContextPPC64 = 0x01000000, -+ -+ //! \brief Indicates the validity of general purpose registers. -+ //! -+ //! Registers `r0`-`r31`, `nip`, `msr`, `lr`, etc. are valid. -+ kMinidumpContextPPC64Base = kMinidumpContextPPC64 | 0x00000001, -+ -+ //! \brief Indicates the validity of floating point registers. -+ //! -+ //! Registers `fp0`-`fp31`, `fpscr` are valid. -+ kMinidumpContextPPC64Floating = kMinidumpContextPPC64 | 0x00000008, -+ -+ //! \brief Indicates the validity of Altivec/VMX registers. -+ //! -+ //! Registers `v0`-`v31`, `vscr`, `vrsave`. -+ kMinidumpContextPPC64Vector = kMinidumpContextPPC64 | 0x00000020, -+ -+ //! \brief Indicates the validity of all registers -+ kMinidumpContextPPC64All = kMinidumpContextPPC64Base | -+ kMinidumpContextPPC64Floating | -+ kMinidumpContextPPC64Vector -+}; -+ -+//! \brief A PPC64 CPU context carried in a minidump file. -+//! Based on minidump_cpu_ppc64.h from breakpad. -+struct MinidumpContextPPC64 { -+ uint64_t context_flags; -+ -+ //! \brief General purpose registers. -+ uint64_t nip; -+ uint64_t msr; -+ uint64_t regs[32]; -+ uint64_t ccr; -+ uint64_t xer; -+ uint64_t lnk; -+ uint64_t ctr; -+ -+ //! \brief Floating point registers. -+ double fpregs[32]; -+ -+ //! \brief FPU status register. -+ double fpscr; -+ -+ //! \brief Altivec/VMX vector registers. -+ struct { -+ //! \brief Vector registers are 128bits. -+ uint128_struct save_vr[32]; -+ uint128_struct save_vscr; -+ -+ //! \brief Padding included for breakpad compatibiltiy. -+ uint32_t save_pad5[4]; -+ -+ //! \brief VRSAVE register. -+ uint32_t save_vrsave; -+ -+ //! \brief Padding included for breakpad compatibiltiy. -+ uint32_t save_pad6[7]; -+ } vregs; -+}; -+ - } // namespace crashpad - - #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_ -diff --git a/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc b/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc -index d7e53a4932..d89eb9e013 100644 ---- a/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc -+++ b/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc -@@ -101,6 +101,13 @@ MinidumpContextWriter::CreateFromSnapshot(const CPUContext* context_snapshot) { - break; - } - -+ case kCPUArchitecturePPC64: { -+ context = std::make_unique(); -+ reinterpret_cast(context.get()) -+ ->InitalizeFromSnapshot(context_snapshot->ppc64); -+ break; -+ } -+ - default: { - LOG(ERROR) << "unknown context architecture " - << context_snapshot->architecture; -@@ -453,4 +460,47 @@ size_t MinidumpContextMIPS64Writer::ContextSize() const { - return sizeof(context_); - } - -+MinidumpContextPPC64Writer::MinidumpContextPPC64Writer() -+ : MinidumpContextWriter(), context_() { -+ context_.context_flags = kMinidumpContextPPC64; -+} -+ -+MinidumpContextPPC64Writer::~MinidumpContextPPC64Writer() = default; -+ -+void MinidumpContextPPC64Writer::InitalizeFromSnapshot( -+ const CPUContextPPC64* context_snapshot) { -+ DCHECK_EQ(state(), kStateMutable); -+ DCHECK_EQ(context_.context_flags, kMinidumpContextPPC64); -+ -+ context_.context_flags = kMinidumpContextPPC64All; -+ -+ memcpy(context_.regs, context_snapshot->regs, sizeof(context_.regs)); -+ context_.nip = context_snapshot->nip; -+ context_.msr = context_snapshot->msr; -+ context_.ccr = context_snapshot->ccr; -+ context_.xer = context_snapshot->xer; -+ context_.lnk = context_snapshot->lnk; -+ context_.ctr = context_snapshot->ctr; -+ -+ memcpy(context_.fpregs, context_snapshot->fpregs, sizeof(context_.fpregs)); -+ context_.fpscr = context_snapshot->fpscr; -+ -+ memcpy(context_.vregs.save_vr, context_snapshot->vregs.save_vr, -+ sizeof(context_.vregs.save_vr)); -+ memcpy(&context_.vregs.save_vscr, &context_snapshot->vregs.save_vscr, -+ sizeof(context_.vregs.save_vscr)); -+ context_.vregs.save_vrsave = context_snapshot->vregs.save_vrsave; -+} -+ -+bool MinidumpContextPPC64Writer::WriteObject( -+ FileWriterInterface* file_writer) { -+ DCHECK_EQ(state(), kStateWritable); -+ return file_writer->Write(&context_, sizeof(context_)); -+} -+ -+size_t MinidumpContextPPC64Writer::ContextSize() const { -+ DCHECK_GE(state(), kStateFrozen); -+ return sizeof(context_); -+} -+ - } // namespace crashpad -diff --git a/third_party/crashpad/crashpad/minidump/minidump_context_writer.h b/third_party/crashpad/crashpad/minidump/minidump_context_writer.h -index d4ab936ee7..1d22fc59c9 100644 ---- a/third_party/crashpad/crashpad/minidump/minidump_context_writer.h -+++ b/third_party/crashpad/crashpad/minidump/minidump_context_writer.h -@@ -315,6 +315,45 @@ class MinidumpContextMIPS64Writer final : public MinidumpContextWriter { - DISALLOW_COPY_AND_ASSIGN(MinidumpContextMIPS64Writer); - }; - -+class MinidumpContextPPC64Writer final : public MinidumpContextWriter { -+ public: -+ MinidumpContextPPC64Writer(); -+ ~MinidumpContextPPC64Writer() override; -+ -+ //! \brief Initalizes the MinidumpContextPPC64 based on \a context_snapshot. -+ //! -+ //! \param[in] context_snapshot The context snapshot to use as source data. -+ //! -+ //! \note Valid in #kStateMutable. No mutation of context() may be done before -+ //! calling this method, and it is not normally necessary to alter -+ //! context() after calling this method. -+ void InitalizeFromSnapshot(const CPUContextPPC64* context_snapshot); -+ -+ //! \brief Returns a pointer to the context structure that this object will -+ //! write. -+ //! -+ //! \attention This returns a non-`const` pointer to this object’s private -+ //! data so that a caller can populate the context structure directly. -+ //! This is done because providing setter interfaces to each field in the -+ //! context structure would be unwieldy and cumbersome. Care must be taken -+ //! to populate the context structure correctly. The context structure -+ //! must only be modified while this object is in the #kStateMutable -+ //! state. -+ MinidumpContextPPC64* context() { return &context_; } -+ -+ protected: -+ // MinidumpWritable: -+ bool WriteObject(FileWriterInterface* file_writer) override; -+ -+ // MinidumpContextWriter: -+ size_t ContextSize() const override; -+ -+ private: -+ MinidumpContextPPC64 context_; -+ -+ DISALLOW_COPY_AND_ASSIGN(MinidumpContextPPC64Writer); -+}; -+ - } // namespace crashpad - - #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_ -diff --git a/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc b/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc -index 3216a906ba..a9fcbe9d8e 100644 ---- a/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc -+++ b/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc -@@ -213,6 +213,21 @@ TEST(MinidumpContextWriter, MIPS64_FromSnapshot) { - context, ExpectMinidumpContextMIPS64, kSeed); - } - -+TEST(MinidumpContextWriter, PPC64_Zeros) { -+ EmptyContextTest( -+ ExpectMinidumpContextPPC64); -+} -+ -+TEST(MinidumpContextWriter, PPC64_FromSnapshot) { -+ constexpr uint32_t kSeed = 64; -+ CPUContextPPC64 context_ppc64; -+ CPUContext context; -+ context.ppc64 = &context_ppc64; -+ InitializeCPUContextPPC64(&context, kSeed); -+ FromSnapshotTest( -+ context, ExpectMinidumpContextPPC64, kSeed); -+} -+ - } // namespace - } // namespace test - } // namespace crashpad -diff --git a/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc b/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc -index a13407605f..95dc925240 100644 ---- a/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc -+++ b/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc -@@ -126,6 +126,8 @@ std::string MinidumpMiscInfoDebugBuildString() { - static constexpr char kCPU[] = "mips"; - #elif defined(ARCH_CPU_MIPS64EL) - static constexpr char kCPU[] = "mips64"; -+#elif defined(ARCH_CPU_PPC64) -+ static constexpr char kCPU[] = "ppc64"; - #else - #error define kCPU for this CPU - #endif -diff --git a/third_party/crashpad/crashpad/snapshot/capture_memory.cc b/third_party/crashpad/crashpad/snapshot/capture_memory.cc -index a51626ccdc..61e0b20a17 100644 ---- a/third_party/crashpad/crashpad/snapshot/capture_memory.cc -+++ b/third_party/crashpad/crashpad/snapshot/capture_memory.cc -@@ -111,6 +111,11 @@ void CaptureMemory::PointedToByContext(const CPUContext& context, - for (size_t i = 0; i < base::size(context.mipsel->regs); ++i) { - MaybeCaptureMemoryAround(delegate, context.mipsel->regs[i]); - } -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ MaybeCaptureMemoryAround(delegate, context.ppc64->nip); -+ for (size_t i = 0; i < base::size(context.ppc64->regs); ++i) { -+ MaybeCaptureMemoryAround(delegate, context.ppc64->regs[i]); -+ } - #else - #error Port. - #endif -diff --git a/third_party/crashpad/crashpad/snapshot/cpu_architecture.h b/third_party/crashpad/crashpad/snapshot/cpu_architecture.h -index 811a720958..f4f83981df 100644 ---- a/third_party/crashpad/crashpad/snapshot/cpu_architecture.h -+++ b/third_party/crashpad/crashpad/snapshot/cpu_architecture.h -@@ -43,7 +43,10 @@ enum CPUArchitecture { - kCPUArchitectureMIPSEL, - - //! \brief 64-bit MIPSEL. -- kCPUArchitectureMIPS64EL -+ kCPUArchitectureMIPS64EL, -+ -+ //! \brief 64-bit PPC64. -+ kCPUArchitecturePPC64 - }; - - } // namespace crashpad -diff --git a/third_party/crashpad/crashpad/snapshot/cpu_context.cc b/third_party/crashpad/crashpad/snapshot/cpu_context.cc -index 6fb8d7e719..b01f7cad11 100644 ---- a/third_party/crashpad/crashpad/snapshot/cpu_context.cc -+++ b/third_party/crashpad/crashpad/snapshot/cpu_context.cc -@@ -169,6 +169,8 @@ uint64_t CPUContext::InstructionPointer() const { - return arm->pc; - case kCPUArchitectureARM64: - return arm64->pc; -+ case kCPUArchitecturePPC64: -+ return ppc64->nip; - default: - NOTREACHED(); - return ~0ull; -@@ -185,6 +187,8 @@ uint64_t CPUContext::StackPointer() const { - return arm->sp; - case kCPUArchitectureARM64: - return arm64->sp; -+ case kCPUArchitecturePPC64: -+ return ppc64->regs[1]; - default: - NOTREACHED(); - return ~0ull; -@@ -196,6 +200,7 @@ bool CPUContext::Is64Bit() const { - case kCPUArchitectureX86_64: - case kCPUArchitectureARM64: - case kCPUArchitectureMIPS64EL: -+ case kCPUArchitecturePPC64: - return true; - case kCPUArchitectureX86: - case kCPUArchitectureARM: -diff --git a/third_party/crashpad/crashpad/snapshot/cpu_context.h b/third_party/crashpad/crashpad/snapshot/cpu_context.h -index fb23c4679f..eebede63c6 100644 ---- a/third_party/crashpad/crashpad/snapshot/cpu_context.h -+++ b/third_party/crashpad/crashpad/snapshot/cpu_context.h -@@ -352,6 +352,24 @@ struct CPUContextMIPS64 { - uint64_t fir; - }; - -+//! \brief A context structure carrying PPC64 CPU state. -+struct CPUContextPPC64 { -+ uint64_t nip; -+ uint64_t msr; -+ uint64_t regs[32]; -+ uint64_t ccr; -+ uint64_t xer; -+ uint64_t lnk; -+ uint64_t ctr; -+ double fpregs[32]; -+ double fpscr; -+ struct { -+ uint128_struct save_vr[32]; -+ uint128_struct save_vscr; -+ uint32_t save_vrsave; -+ } vregs; -+}; -+ - //! \brief A context structure capable of carrying the context of any supported - //! CPU architecture. - struct CPUContext { -@@ -382,6 +400,7 @@ struct CPUContext { - CPUContextARM64* arm64; - CPUContextMIPS* mipsel; - CPUContextMIPS64* mips64; -+ CPUContextPPC64* ppc64; - }; - }; - -diff --git a/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h b/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h -index 9f46a48977..aa677c4eb9 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h -+++ b/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h -@@ -15,6 +15,7 @@ - #ifndef CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_ - #define CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_ - -+#include - #include "build/build_config.h" - #include "snapshot/cpu_context.h" - #include "snapshot/linux/signal_context.h" -@@ -174,6 +175,78 @@ void InitializeCPUContextMIPS( - - #endif // ARCH_CPU_MIPS_FAMILY || DOXYGEN - -+#if defined(ARCH_CPU_PPC64_FAMILY) || DOXYGEN -+ -+//! \brief Initalizes a CPUContextPPC64 structure from native context -+//! structures on Linux. -+//! -+//! \param[in] thread_context The native thread context. -+//! \param[in] float_context The native float context. -+//! \param[in] vector_context The native vector context. -+//! \param[out] context The CPUContextPPC64 structure to initalize. -+template -+void InitializeCPUContextPPC64( -+ const ThreadContext::t64_t& thread_context, -+ const FloatContext::f64_t& float_context, -+ const VectorContext::v64_t& vector_context, -+ typename Traits::CPUContext* context) { -+ -+ memcpy(context->regs, thread_context.gpr, sizeof(context->regs)); -+ context->nip = thread_context.nip; -+ context->msr = thread_context.msr; -+ context->ccr = thread_context.ccr; -+ context->xer = thread_context.xer; -+ context->lnk = thread_context.lnk; -+ context->ctr = thread_context.ctr; -+ -+ memcpy(context->fpregs, float_context.fpregs, sizeof(context->fpregs)); -+ context->fpscr = float_context.fpscr; -+ -+ for (uint8_t i = 0; i < 32; i++) { -+ context->vregs.save_vr[i] = { -+ (((uint64_t)vector_context.vrregs[i][0]) << 32) | -+ vector_context.vrregs[i][1], -+ (((uint64_t)vector_context.vrregs[i][2]) << 32) | -+ vector_context.vrregs[i][3] -+ }; -+ } -+ context->vregs.save_vrsave = vector_context.vrsave; -+ context->vregs.save_vscr = {0, (uint64_t)vector_context.vscr.vscr_word}; -+} -+ -+template -+void InitializeCPUContextPPC64( -+ const SignalThreadContext64 &thread_context, -+ const SignalFloatContext64 &float_context, -+ const SignalVectorContext64 &vector_context, -+ typename Traits::CPUContext* context) { -+ -+ memcpy(context->regs, thread_context.regs, sizeof(context->regs)); -+ context->nip = thread_context.nip; -+ context->msr = thread_context.msr; -+ context->ccr = thread_context.ccr; -+ context->xer = thread_context.xer; -+ context->lnk = thread_context.lnk; -+ context->ctr = thread_context.ctr; -+ -+ memcpy(context->fpregs, float_context.regs, sizeof(context->fpregs)); -+ context->fpscr = float_context.fpscr; -+ -+ for (uint8_t i = 0; i < 32; i++) { -+ context->vregs.save_vr[i] = { -+ (((uint64_t)vector_context.vrregs[i][0]) << 32) | -+ vector_context.vrregs[i][1], -+ (((uint64_t)vector_context.vrregs[i][2]) << 32) | -+ vector_context.vrregs[i][3] -+ }; -+ } -+ context->vregs.save_vrsave = vector_context.vrsave; -+ context->vregs.save_vscr = {0, (uint64_t)vector_context.vscr.vscr_word}; -+} -+ -+ -+#endif -+ - } // namespace internal - } // namespace crashpad - -diff --git a/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc b/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -index be22c90313..c5df23d1b4 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -@@ -159,9 +159,11 @@ void TestAgainstTarget(PtraceConnection* connection) { - const bool is_vdso_mapping = - device == 0 && inode == 0 && mapping_name == "[vdso]"; - static constexpr char kPrefix[] = "linux-vdso.so."; -+ static constexpr char kPrefix64[] = "linux-vdso64.so."; - return is_vdso_mapping == - (module_name.empty() || -- module_name.compare(0, strlen(kPrefix), kPrefix) == 0); -+ module_name.compare(0, strlen(kPrefix), kPrefix) == 0 || -+ module_name.compare(0, strlen(kPrefix64), kPrefix64) == 0); - }, - module_mapping->name, - module_mapping->device, -diff --git a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc -index cd40b3b12d..6bcf23b6ff 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc -@@ -323,6 +323,69 @@ bool ExceptionSnapshotLinux::ReadContext( - reader, context_address, context_.mips64); - } - -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ -+template -+static bool ReadContext(ProcessReaderLinux* reader, -+ LinuxVMAddress context_address, -+ typename Traits::CPUContext* dest_context) { -+ const ProcessMemory* memory = reader->Memory(); -+ -+ LinuxVMAddress gp_regs_address = context_address + -+ offsetof(UContext, mcontext) + -+ offsetof(typename Traits::MContext, gp_regs); -+ -+ typename Traits::SignalThreadContext thread_context; -+ if (!memory->Read(gp_regs_address, sizeof(thread_context), &thread_context)) { -+ LOG(ERROR) << "Couldn't read gp_regs!"; -+ return false; -+ } -+ -+ LinuxVMAddress fp_regs_address = context_address + -+ offsetof(UContext, mcontext) + -+ offsetof(typename Traits::MContext, fp_regs); -+ -+ typename Traits::SignalFloatContext fp_context; -+ if (!memory->Read(fp_regs_address, sizeof(fp_context), &fp_context)) { -+ LOG(ERROR) << "Couldn't read fp_regs!"; -+ return false; -+ } -+ -+ LinuxVMAddress v_regs_ptr_address = context_address + -+ offsetof(UContext, mcontext) + -+ offsetof(typename Traits::MContext, vmx_reserve) + 8; -+ -+ typename Traits::SignalVectorContext v_context; -+ if (!memory->Read(v_regs_ptr_address, sizeof(v_context), &v_context)) { -+ LOG(ERROR) << "Couldn't read v_regs!"; -+ return false; -+ } -+ -+ InitializeCPUContextPPC64(thread_context, fp_context, -+ v_context, dest_context); -+ -+ return true; -+} -+ -+template<> -+bool ExceptionSnapshotLinux::ReadContext( -+ ProcessReaderLinux* reader, -+ LinuxVMAddress context_address) { -+ context_.architecture = kCPUArchitecturePPC64; -+ context_.ppc64 = &context_union_.ppc64; -+ -+ return internal::ReadContext( -+ reader, context_address, context_.ppc64); -+} -+ -+template<> -+bool ExceptionSnapshotLinux::ReadContext( -+ ProcessReaderLinux* reader, -+ LinuxVMAddress context_address) { -+ // PPC64 is 64-bit -+ return false; -+} -+ - #endif // ARCH_CPU_X86_FAMILY - - bool ExceptionSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, -diff --git a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h -index ea0cd21066..e42df520ff 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h -+++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h -@@ -84,6 +84,8 @@ class ExceptionSnapshotLinux final : public ExceptionSnapshot { - #elif defined(ARCH_CPU_MIPS_FAMILY) - CPUContextMIPS mipsel; - CPUContextMIPS64 mips64; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ CPUContextPPC64 ppc64; - #endif - } context_union_; - CPUContext context_; -diff --git a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc -index e4ff1ab79f..25534dd087 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc -@@ -296,7 +296,28 @@ void ExpectContext(const CPUContext& actual, const NativeCPUContext& expected) { - 0); - #undef CPU_ARCH_NAME - } -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+using NativeCPUContext = ucontext_t; -+ -+void InitializeContext(NativeCPUContext* context) { -+ for (size_t reg = 0; reg < 32; ++reg) { -+ context->uc_mcontext.gp_regs[reg] = reg; -+ } -+ -+ memset(&context->uc_mcontext.fp_regs, 44, -+ sizeof(context->uc_mcontext.fp_regs)); -+} - -+void ExpectContext(const CPUContext& actual, const NativeCPUContext& expected) { -+ EXPECT_EQ(actual.architecture, kCPUArchitecturePPC64); -+ -+ for (size_t reg = 0; reg < 32; ++reg) { -+ EXPECT_EQ(actual.ppc64->regs[reg], expected.uc_mcontext.gp_regs[reg]); -+ } -+ -+ EXPECT_EQ(memcmp(actual.ppc64->fpregs, expected.uc_mcontext.fp_regs, -+ sizeof(actual.ppc64->fpregs)), 0); -+} - #else - #error Port. - #endif -diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc -index b96abfe74f..df12ca5669 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc -@@ -108,6 +108,8 @@ void ProcessReaderLinux::Thread::InitializeStack(ProcessReaderLinux* reader) { - #elif defined(ARCH_CPU_MIPS_FAMILY) - stack_pointer = reader->Is64Bit() ? thread_info.thread_context.t64.regs[29] - : thread_info.thread_context.t32.regs[29]; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ stack_pointer = thread_info.thread_context.t64.gpr[1]; - #else - #error Port. - #endif -diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -index 5b5723616f..049c32858c 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -@@ -612,6 +612,8 @@ bool WriteTestModule(const base::FilePath& module_path) { - module.ehdr.e_machine = EM_AARCH64; - #elif defined(ARCH_CPU_MIPSEL) || defined(ARCH_CPU_MIPS64EL) - module.ehdr.e_machine = EM_MIPS; -+#elif defined(ARCH_CPU_PPC64) -+ module.ehdr.e_machine = EM_PPC64; - #endif - - module.ehdr.e_version = EV_CURRENT; -diff --git a/third_party/crashpad/crashpad/snapshot/linux/signal_context.h b/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -index 110024680b..a1f2da2591 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -+++ b/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -@@ -422,6 +422,89 @@ static_assert(offsetof(UContext, mcontext.fpregs) == - "context offset mismatch"); - #endif - -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ -+struct SignalThreadContext64 { -+ uint64_t regs[32]; -+ uint64_t nip; -+ uint64_t msr; -+ uint64_t orig_r3; -+ uint64_t ctr; -+ uint64_t lnk; -+ uint64_t xer; -+ uint64_t ccr; -+ uint64_t softe; -+ uint64_t trap; -+ uint64_t dar; -+ uint64_t dsisr; -+ uint64_t result; -+ uint64_t dscr; -+ uint64_t fpr0[3]; -+}; -+ -+struct SignalFloatContext64 { -+ double regs[32]; -+ double fpscr; -+}; -+ -+struct SignalVectorContext64 { -+ int32_t vrregs[32][4]; -+ struct { -+ int32_t __pad[3]; -+ int32_t vscr_word; -+ } vscr; -+ int32_t vrsave; -+ int32_t __pad[3]; -+} __attribute__((__aligned__(16))); -+ -+ -+#pragma pack(pop) -+struct MContext64 { -+ uint64_t reserved[4]; -+ int32_t signal; -+ int32_t __pad0; -+ uint64_t handler; -+ uint64_t oldmask; -+ uint64_t pt_regs_ptr; -+ SignalThreadContext64 gp_regs; -+ SignalFloatContext64 fp_regs; -+ SignalVectorContext64 *v_regs; -+ int64_t vmx_reserve[69]; -+}; -+ -+struct ContextTraits64 : public Traits64 { -+ using MContext = MContext64; -+ using SignalThreadContext = SignalThreadContext64; -+ using SignalFloatContext = SignalFloatContext64; -+ using SignalVectorContext = SignalVectorContext64; -+ using CPUContext = CPUContextPPC64; -+}; -+ -+struct ContextTraits32 : public Traits32 {}; -+ -+struct UContext { -+ uint64_t flags; -+ uint64_t link; -+ SignalStack stack; -+ Sigset sigmask; -+ MContext64 mcontext; -+}; -+#pragma pack(push, 1) -+ -+static_assert(sizeof(UContext) == sizeof(ucontext_t), -+ "ucontext_t size mismatch"); -+static_assert(sizeof(MContext64) == sizeof(mcontext_t), -+ "mcontext_t size mismatch"); -+static_assert(sizeof(SignalThreadContext64) == sizeof(gregset_t), -+ "gregset_t size mismatch"); -+static_assert(sizeof(SignalFloatContext64) == sizeof(fpregset_t), -+ "fpregset_t size mismatch"); -+static_assert(sizeof(SignalVectorContext64) == sizeof(vrregset_t), -+ "vrregset_t size mismatch"); -+static_assert(offsetof(UContext, mcontext) == -+ offsetof(ucontext_t, uc_mcontext), "mcontext offset mismatch"); -+static_assert(offsetof(MContext64, gp_regs) == -+ offsetof(mcontext_t, gp_regs), "gp_regs offset mismatch"); - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -diff --git a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -index 8564d3d455..b690ecd48f 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -@@ -203,6 +203,8 @@ CPUArchitecture SystemSnapshotLinux::GetCPUArchitecture() const { - #elif defined(ARCH_CPU_MIPS_FAMILY) - return process_reader_->Is64Bit() ? kCPUArchitectureMIPS64EL - : kCPUArchitectureMIPSEL; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ return kCPUArchitecturePPC64; - #else - #error port to your architecture - #endif -@@ -218,6 +220,9 @@ uint32_t SystemSnapshotLinux::CPURevision() const { - #elif defined(ARCH_CPU_MIPS_FAMILY) - // Not implementable on MIPS - return 0; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // Not yet implemented on PPC64 -+ return 0; - #else - #error port to your architecture - #endif -@@ -238,6 +243,9 @@ std::string SystemSnapshotLinux::CPUVendor() const { - #elif defined(ARCH_CPU_MIPS_FAMILY) - // Not implementable on MIPS - return std::string(); -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // Not yet implemented on PPC64 -+ return std::string(); - #else - #error port to your architecture - #endif -@@ -371,6 +379,9 @@ bool SystemSnapshotLinux::NXEnabled() const { - #elif defined(ARCH_CPU_MIPS_FAMILY) - // Not implementable on MIPS - return false; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // Not yet implemented on PPC64 -+ return false; - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -diff --git a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc -index e3e2bebddb..8ef43752eb 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc -+++ b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc -@@ -186,6 +186,14 @@ bool ThreadSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, - thread.thread_info.float_context.f32, - context_.mipsel); - } -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ context_.architecture = kCPUArchitecturePPC64; -+ context_.ppc64 = &context_union_.ppc64; -+ InitializeCPUContextPPC64( -+ thread.thread_info.thread_context.t64, -+ thread.thread_info.float_context.f64, -+ thread.thread_info.vector_context.v64, -+ context_.ppc64); - #else - #error Port. - #endif -diff --git a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h -index 44cc6f6d97..d4136461e2 100644 ---- a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h -+++ b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h -@@ -68,6 +68,8 @@ class ThreadSnapshotLinux final : public ThreadSnapshot { - #elif defined(ARCH_CPU_MIPS_FAMILY) - CPUContextMIPS mipsel; - CPUContextMIPS64 mips64; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ CPUContextPPC64 ppc64; - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -diff --git a/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc b/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc -index d3d5ebdfb9..3fd730cb52 100644 ---- a/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc -+++ b/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc -@@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnection* connection) { - if (type == AT_IGNORE) { - continue; - } -+#if defined(ARCH_CPU_PPC64_FAMILY) -+ if (type == AT_IGNOREPPC) { -+ continue; -+ } -+#endif - if (!MapInsertOrReplace(&values_, type, value, nullptr)) { - LOG(ERROR) << "duplicate auxv entry"; - return false; -diff --git a/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc b/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -index 155a1e0c6f..5e50ceb5f8 100644 ---- a/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -+++ b/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -@@ -94,8 +94,8 @@ int PtraceBroker::Run() { - } - - bool PtraceBroker::AllocateAttachments() { -- constexpr size_t page_size = 4096; -- constexpr size_t alloc_size = -+ static size_t page_size = getpagesize(); -+ size_t alloc_size = - (sizeof(ScopedPtraceAttach) + page_size - 1) & ~(page_size - 1); - void* alloc = sbrk(alloc_size); - if (reinterpret_cast(alloc) == -1) { -diff --git a/third_party/crashpad/crashpad/util/linux/ptracer.cc b/third_party/crashpad/crashpad/util/linux/ptracer.cc -index 557e0d3635..08ae434b80 100644 ---- a/third_party/crashpad/crashpad/util/linux/ptracer.cc -+++ b/third_party/crashpad/crashpad/util/linux/ptracer.cc -@@ -398,6 +398,64 @@ bool GetThreadArea64(pid_t tid, - return true; - } - -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+// PPC64 has had HAVE_ARCH_TRACEHOOK set since 2.6.27 (even before x86 had it). -+// That means we can simply use PTRACE_GETREGESET. -+ -+template -+bool GetRegisterSet(pid_t tid, int set, Destination* dest, bool can_log) { -+ iovec iov; -+ iov.iov_base = reinterpret_cast(dest); -+ iov.iov_len = sizeof(*dest); -+ if (ptrace(PTRACE_GETREGSET, tid, reinterpret_cast(set), &iov) != 0) { -+ PLOG_IF(ERROR, can_log) << "ptrace"; -+ return false; -+ } -+ if (iov.iov_len != sizeof(*dest)) { -+ LOG_IF(ERROR, can_log) << "Unexpected registers size"; -+ return false; -+ } -+ return true; -+} -+ -+bool GetVectorRegisters64(pid_t tid, -+ VectorContext* context, -+ bool can_log) { -+ return GetRegisterSet(tid, NT_PPC_VMX, &context->v64, can_log); -+} -+ -+bool GetFloatingPointRegisters64(pid_t tid, -+ FloatContext* context, -+ bool can_log) { -+ return GetRegisterSet(tid, NT_PRFPREG, &context->f64, can_log); -+} -+ -+bool GetThreadArea64(pid_t tid, -+ const ThreadContext& context, -+ LinuxVMAddress* address, -+ bool can_log) { -+ // PPC64 doesn't have PTRACE_GET_THREAD_AREA since the thread pointer -+ // is stored in GPR 13. -+ ThreadContext::t64_t tc; -+ if (!GetRegisterSet(tid, NT_PRSTATUS, &tc, can_log)) { -+ LOG_IF(ERROR, can_log) << "Unable to get thread pointer!"; -+ return false; -+ } -+ -+ *address = tc.gpr[13]; -+ -+ return true; -+} -+ -+// Stubs for 32-bit functions not applicable on PPC64 -+bool GetFloatingPointRegisters32(pid_t tid, -+ FloatContext* context, -+ bool can_log) { return false; } -+bool GetThreadArea32(pid_t tid, -+ const ThreadContext &context, -+ LinuxVMAddress *address, -+ bool can_log) { return false; } -+ - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -@@ -494,6 +552,9 @@ bool Ptracer::GetThreadInfo(pid_t tid, ThreadInfo* info) { - if (is_64_bit_) { - return GetGeneralPurposeRegisters64(tid, &info->thread_context, can_log_) && - GetFloatingPointRegisters64(tid, &info->float_context, can_log_) && -+#if defined(ARCH_CPU_PPC64_FAMILY) -+ GetVectorRegisters64(tid, &info->vector_context, can_log_) && -+#endif - GetThreadArea64(tid, - info->thread_context, - &info->thread_specific_data_address, -diff --git a/third_party/crashpad/crashpad/util/linux/thread_info.h b/third_party/crashpad/crashpad/util/linux/thread_info.h -index 5b55c24a76..dea0d1f39e 100644 ---- a/third_party/crashpad/crashpad/util/linux/thread_info.h -+++ b/third_party/crashpad/crashpad/util/linux/thread_info.h -@@ -28,6 +28,10 @@ - #include - #endif - -+#if defined(ARCH_CPU_PPC64_FAMILY) -+#include -+#endif -+ - namespace crashpad { - - //! \brief The set of general purpose registers for an architecture family. -@@ -79,6 +83,8 @@ union ThreadContext { - uint32_t cp0_status; - uint32_t cp0_cause; - uint32_t padding1_; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // PPC64 is 64-bit - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -@@ -132,6 +138,21 @@ union ThreadContext { - uint64_t cp0_badvaddr; - uint64_t cp0_status; - uint64_t cp0_cause; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // Reflects struct pt_regs in asm/ptrace.h. -+ uint64_t gpr[32]; -+ uint64_t nip; -+ uint64_t msr; -+ uint64_t orig_gpr3; -+ uint64_t ctr; -+ uint64_t lnk; -+ uint64_t xer; -+ uint64_t ccr; -+ uint64_t softe; -+ uint64_t trap; -+ uint64_t dar; -+ uint64_t dsisr; -+ uint64_t result; - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -@@ -143,6 +164,8 @@ union ThreadContext { - using NativeThreadContext = user_regs; - #elif defined(ARCH_CPU_MIPS_FAMILY) - // No appropriate NativeThreadsContext type available for MIPS -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ using NativeThreadContext = struct pt_regs; - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY || ARCH_CPU_ARM64 -@@ -218,6 +241,9 @@ union FloatContext { - } fpregs[32]; - uint32_t fpcsr; - uint32_t fpu_id; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // Crashpad's PPC support is 64-bit only, so this -+ // 32bit-only struct is declared as empty. - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -@@ -252,6 +278,10 @@ union FloatContext { - double fpregs[32]; - uint32_t fpcsr; - uint32_t fpu_id; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ // Reflects fpregset_t in sys/ucontext.h -+ double fpregs[32]; -+ double fpscr; - #else - #error Port. - #endif // ARCH_CPU_X86_FAMILY -@@ -280,6 +310,8 @@ union FloatContext { - static_assert(sizeof(f64) == sizeof(user_fpsimd_struct), "Size mismatch"); - #elif defined(ARCH_CPU_MIPS_FAMILY) - // No appropriate floating point context native type for available MIPS. -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ static_assert(sizeof(f64) == sizeof(fpregset_t), "Size mismatch"); - #else - #error Port. - #endif // ARCH_CPU_X86 -@@ -287,6 +319,26 @@ union FloatContext { - static_assert(std::is_standard_layout::value, - "Not standard layout"); - -+//! \brief The vector registers used for an architecture family -+union VectorContext { -+ struct v32_t {} v32; -+#if defined(ARCH_CPU_PPC64_FAMILY) -+ __attribute__((__aligned__(16))) // Vector context must be doubleword aligned. -+#endif -+ struct v64_t { -+#if defined(ARCH_CPU_PPC64_FAMILY) -+ // Reflects vrregset_t in sys/ucontext.h -+ uint32_t vrregs[32][4]; -+ struct { -+ uint32_t __pad[3]; -+ uint32_t vscr_word; -+ } vscr; -+ uint32_t vrsave; -+ uint32_t __pad[3]; -+#endif -+ } v64; -+}; -+ - //! \brief A collection of `ptrace`-able information about a thread. - struct ThreadInfo { - ThreadInfo(); -@@ -298,6 +350,9 @@ struct ThreadInfo { - //! \brief The floating point registers for the thread. - FloatContext float_context; - -+ //! \brief (Optional) The vector registers used for the thread. -+ VectorContext vector_context; -+ - //! \brief The thread-local storage address for the thread. - LinuxVMAddress thread_specific_data_address; - }; -diff --git a/third_party/crashpad/crashpad/util/misc/capture_context.h b/third_party/crashpad/crashpad/util/misc/capture_context.h -index a88a10336f..b0d6578bdd 100644 ---- a/third_party/crashpad/crashpad/util/misc/capture_context.h -+++ b/third_party/crashpad/crashpad/util/misc/capture_context.h -@@ -70,6 +70,7 @@ using NativeCPUContext = ucontext_t; - //! macOS/Linux/Fuchsia | x86_64 | `%%rdi` - //! Linux | ARM/ARM64 | `r0`/`x0` - //! Linux | MIPS/MIPS64 | `$a0` -+//! Linux | PPC64 | `r3` - //! - //! Additionally, the value `LR` on ARM/ARM64 will be the return address of - //! this function. -diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_linux.S b/third_party/crashpad/crashpad/util/misc/capture_context_linux.S -index 52215ee5d0..b3e4a3ec7e 100644 ---- a/third_party/crashpad/crashpad/util/misc/capture_context_linux.S -+++ b/third_party/crashpad/crashpad/util/misc/capture_context_linux.S -@@ -32,7 +32,7 @@ - .balign 4, 0x0 - .type CAPTURECONTEXT_SYMBOL, %function - .type CAPTURECONTEXT_SYMBOL2, %function --#elif defined(__mips__) -+#elif defined(__mips__) || defined(__powerpc64__) - .balign 4, 0x0 - #endif - -@@ -423,4 +423,214 @@ CAPTURECONTEXT_SYMBOL2: - jr $ra - - .set at -+#elif defined(__powerpc64__) -+ // Store r0-r31 -+ std 0, 0xe8(3) // context->uc_mcontext.gp_regs[0] -+ std 1, 0xf0(3) // context->uc_mcontext.gp_regs[1] -+ std 2, 0xf8(3) // context->uc_mcontext.gp_regs[2] -+ // note that r3's original value was lost -+ std 3, 0x100(3) // context->uc_mcontext.gp_regs[3] -+ std 4, 0x108(3) // context->uc_mcontext.gp_regs[4] -+ std 5, 0x110(3) // context->uc_mcontext.gp_regs[5] -+ std 6, 0x118(3) // context->uc_mcontext.gp_regs[6] -+ std 7, 0x120(3) // context->uc_mcontext.gp_regs[7] -+ std 8, 0x128(3) // context->uc_mcontext.gp_regs[8] -+ std 9, 0x130(3) // context->uc_mcontext.gp_regs[9] -+ std 10, 0x138(3) // context->uc_mcontext.gp_regs[10] -+ std 11, 0x140(3) // context->uc_mcontext.gp_regs[11] -+ std 12, 0x148(3) // context->uc_mcontext.gp_regs[12] -+ std 13, 0x150(3) // context->uc_mcontext.gp_regs[13] -+ std 14, 0x158(3) // context->uc_mcontext.gp_regs[14] -+ std 15, 0x160(3) // context->uc_mcontext.gp_regs[15] -+ std 16, 0x168(3) // context->uc_mcontext.gp_regs[16] -+ std 17, 0x170(3) // context->uc_mcontext.gp_regs[17] -+ std 18, 0x178(3) // context->uc_mcontext.gp_regs[18] -+ std 19, 0x180(3) // context->uc_mcontext.gp_regs[19] -+ std 20, 0x188(3) // context->uc_mcontext.gp_regs[20] -+ std 21, 0x190(3) // context->uc_mcontext.gp_regs[21] -+ std 22, 0x198(3) // context->uc_mcontext.gp_regs[22] -+ std 23, 0x1a0(3) // context->uc_mcontext.gp_regs[23] -+ std 24, 0x1a8(3) // context->uc_mcontext.gp_regs[24] -+ std 25, 0x1b0(3) // context->uc_mcontext.gp_regs[25] -+ std 26, 0x1b8(3) // context->uc_mcontext.gp_regs[26] -+ std 27, 0x1c0(3) // context->uc_mcontext.gp_regs[27] -+ std 28, 0x1c8(3) // context->uc_mcontext.gp_regs[28] -+ std 29, 0x1d0(3) // context->uc_mcontext.gp_regs[29] -+ std 30, 0x1d8(3) // context->uc_mcontext.gp_regs[30] -+ std 31, 0x1e0(3) // context->uc_mcontext.gp_regs[31] -+ -+ // For NIP, we can use the value in the link register -+ mflr 0 -+ std 0, 0x1e8(3) // context->uc_mcontext.gp_regs[PT_NIP] -+ -+ // CTR -+ mfctr 0 -+ std 0, 0x200(3) // context->uc_mcontext.gp_regs[PT_CTR] -+ -+ // For LNK, we'll use the caller's LR save area (2 stack frames up). -+ // r4 can be used as a scratch register since it has already been saved. -+ ld 4, 0(1) -+ ld 4, 16(4) -+ std 4, 0x208(3) // context->uc_mcontext.gp_regs[PT_LNK] -+ -+ // XER -+ mfxer 0 -+ std 0, 0x210(3) // context->uc_mcontext.gp_regs[PT_XER] -+ -+ // CCR -+ mfcr 0 -+ std 0, 0x218(3) // context->uc_mcontext.gp_regs[PT_CCR] -+ -+ // MSR, orig_r3, MQ, TRAP, DAR, DSISR, RESULT, DSCR, -+ // not used or not relevant, zero them out. -+ li 4, 0 -+ std 4, 0x1f0(3) // context->uc_mcontext.gp_regs[PT_MSR] -+ std 4, 0x1f8(3) // context->uc_mcontext.gp_regs[PT_ORIG_R3] -+ std 4, 0x220(3) // context->uc_mcontext.gp_regs[PT_MQ] -+ std 4, 0x228(3) // context->uc_mcontext.gp_regs[PT_TRAP] -+ std 4, 0x230(3) // context->uc_mcontext.gp_regs[PT_DAR] -+ std 4, 0x238(3) // context->uc_mcontext.gp_regs[PT_DSISR] -+ std 4, 0x240(3) // context->uc_mcontext.gp_regs[PT_RESULT] -+ std 4, 0x248(3) // context->uc_mcontext.gp_regs[PT_DSCR] -+ -+ // Update context->uc_mcontext.regs to point to gp_regs -+ addi 0, 3, 0xe8 -+ std 0, 0xe0(3) -+ -+ // Save floating point registers 0-31 -+ stfd 0, 0x268(3) // context->uc_mcontext.fp_regs[0] -+ stfd 1, 0x270(3) // context->uc_mcontext.fp_regs[1] -+ stfd 2, 0x278(3) // context->uc_mcontext.fp_regs[2] -+ stfd 3, 0x280(3) // context->uc_mcontext.fp_regs[3] -+ stfd 4, 0x288(3) // context->uc_mcontext.fp_regs[4] -+ stfd 5, 0x290(3) // context->uc_mcontext.fp_regs[5] -+ stfd 6, 0x298(3) // context->uc_mcontext.fp_regs[6] -+ stfd 7, 0x2a0(3) // context->uc_mcontext.fp_regs[7] -+ stfd 8, 0x2a8(3) // context->uc_mcontext.fp_regs[8] -+ stfd 9, 0x2b0(3) // context->uc_mcontext.fp_regs[9] -+ stfd 10, 0x2b8(3) // context->uc_mcontext.fp_regs[10] -+ stfd 11, 0x2c0(3) // context->uc_mcontext.fp_regs[11] -+ stfd 12, 0x2c8(3) // context->uc_mcontext.fp_regs[12] -+ stfd 13, 0x2d0(3) // context->uc_mcontext.fp_regs[13] -+ stfd 14, 0x2d8(3) // context->uc_mcontext.fp_regs[14] -+ stfd 15, 0x2e0(3) // context->uc_mcontext.fp_regs[15] -+ stfd 16, 0x2e8(3) // context->uc_mcontext.fp_regs[16] -+ stfd 17, 0x2f0(3) // context->uc_mcontext.fp_regs[17] -+ stfd 18, 0x2f8(3) // context->uc_mcontext.fp_regs[18] -+ stfd 19, 0x300(3) // context->uc_mcontext.fp_regs[19] -+ stfd 20, 0x308(3) // context->uc_mcontext.fp_regs[20] -+ stfd 21, 0x310(3) // context->uc_mcontext.fp_regs[21] -+ stfd 22, 0x318(3) // context->uc_mcontext.fp_regs[22] -+ stfd 23, 0x320(3) // context->uc_mcontext.fp_regs[23] -+ stfd 24, 0x328(3) // context->uc_mcontext.fp_regs[24] -+ stfd 25, 0x330(3) // context->uc_mcontext.fp_regs[25] -+ stfd 26, 0x338(3) // context->uc_mcontext.fp_regs[26] -+ stfd 27, 0x340(3) // context->uc_mcontext.fp_regs[27] -+ stfd 28, 0x348(3) // context->uc_mcontext.fp_regs[28] -+ stfd 29, 0x350(3) // context->uc_mcontext.fp_regs[29] -+ stfd 30, 0x358(3) // context->uc_mcontext.fp_regs[30] -+ stfd 31, 0x360(3) // context->uc_mcontext.fp_regs[31] -+ -+ // FPSCR -+ mffs 0 -+ stfd 0, 0x368(3) // context->uc_mcontext.fp_regs[32] -+ -+ // Save VMX Vector registers -+ // Update r4 to contain the base address of vmx_reserve -+ addi 4, 3, 0x378 -+ // Ensure that it is quadword aligned -+ andi. 5, 4, 0xF -+ beq 1f // No alignment is necessary -+ // Address is doubleword aligned and not quadword aligned, add 8 -+ addi 4, 4, 8 -+ -+1: -+ // Store VMX registers 0-31 -+ // r4 will contain the base address -+ // r5 will contain the index -+ li 5, 0 -+ stvx 0, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 0] -+ addi 5, 5, 16 -+ stvx 1, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 1] -+ addi 5, 5, 16 -+ stvx 2, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 2] -+ addi 5, 5, 16 -+ stvx 3, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 3] -+ addi 5, 5, 16 -+ stvx 4, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 4] -+ addi 5, 5, 16 -+ stvx 5, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 5] -+ addi 5, 5, 16 -+ stvx 6, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 6] -+ addi 5, 5, 16 -+ stvx 7, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 7] -+ addi 5, 5, 16 -+ stvx 8, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 8] -+ addi 5, 5, 16 -+ stvx 9, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 9] -+ addi 5, 5, 16 -+ stvx 10, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 10] -+ addi 5, 5, 16 -+ stvx 11, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 11] -+ addi 5, 5, 16 -+ stvx 12, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 12] -+ addi 5, 5, 16 -+ stvx 13, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 13] -+ addi 5, 5, 16 -+ stvx 14, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 14] -+ addi 5, 5, 16 -+ stvx 15, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 15] -+ addi 5, 5, 16 -+ stvx 16, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 16] -+ addi 5, 5, 16 -+ stvx 17, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 17] -+ addi 5, 5, 16 -+ stvx 18, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 18] -+ addi 5, 5, 16 -+ stvx 19, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 19] -+ addi 5, 5, 16 -+ stvx 20, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 20] -+ addi 5, 5, 16 -+ stvx 21, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 21] -+ addi 5, 5, 16 -+ stvx 22, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 22] -+ addi 5, 5, 16 -+ stvx 23, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 23] -+ addi 5, 5, 16 -+ stvx 24, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 24] -+ addi 5, 5, 16 -+ stvx 25, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 25] -+ addi 5, 5, 16 -+ stvx 26, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 26] -+ addi 5, 5, 16 -+ stvx 27, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 27] -+ addi 5, 5, 16 -+ stvx 28, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 28] -+ addi 5, 5, 16 -+ stvx 29, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 29] -+ addi 5, 5, 16 -+ stvx 30, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 30] -+ addi 5, 5, 16 -+ stvx 31, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 31] -+ addi 5, 5, 16 -+ -+ // VSCR -+ mfvscr 0 -+ stvx 0, 4, 5 -+ addi 5, 5, 16 -+ -+ // VRSAVE -+ mfvrsave 0 -+ stwx 0, 4, 5 -+ -+ // Update context->uc_mcontext.v_regs to point to vmx_reserve + alignment. -+ std 4, 0x370(3) -+ -+ // Zero out all unused fields -+ li 4, 0 -+ std 4, 0xc8(3) // context->uc_mcontext.signal -+ std 4, 0xd0(3) // context->uc_mcontext.handler -+ std 4, 0xd8(3) // context->uc_mcontext.oldmask -+ -+ blr - #endif // __i386__ -diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test.cc b/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -index cf23c2deff..5f264bc923 100644 ---- a/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -+++ b/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -@@ -57,7 +57,7 @@ void TestCaptureContext() { - uintptr_t pc = ProgramCounterFromContext(context_1); - - #if !defined(ADDRESS_SANITIZER) && !defined(ARCH_CPU_MIPS_FAMILY) && \ -- !defined(MEMORY_SANITIZER) -+ !defined(MEMORY_SANITIZER) && !defined(ARCH_CPU_PPC64_FAMILY) - // Sanitizers can cause enough code bloat that the “nearby” check would - // likely fail. - const uintptr_t kReferencePC = -diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc -index 9fc5db28c4..5f69f8dced 100644 ---- a/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc -+++ b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc -@@ -36,6 +36,8 @@ void SanityCheckContext(const NativeCPUContext& context) { - EXPECT_EQ(context.uc_mcontext.regs[0], FromPointerCast(&context)); - #elif defined(ARCH_CPU_MIPS_FAMILY) - EXPECT_EQ(context.uc_mcontext.gregs[4], FromPointerCast(&context)); -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ EXPECT_EQ(context.uc_mcontext.gp_regs[3], FromPointerCast(&context)); - #endif - } - -@@ -50,6 +52,8 @@ uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) { - return context.uc_mcontext.pc; - #elif defined(ARCH_CPU_MIPS_FAMILY) - return context.uc_mcontext.pc; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ return context.uc_mcontext.gp_regs[PT_NIP]; - #endif - } - -@@ -64,6 +68,8 @@ uintptr_t StackPointerFromContext(const NativeCPUContext& context) { - return context.uc_mcontext.sp; - #elif defined(ARCH_CPU_MIPS_FAMILY) - return context.uc_mcontext.gregs[29]; -+#elif defined(ARCH_CPU_PPC64_FAMILY) -+ return context.uc_mcontext.gp_regs[1]; - #endif - } - -diff --git a/third_party/crashpad/crashpad/util/posix/signals_test.cc b/third_party/crashpad/crashpad/util/posix/signals_test.cc -index 58bfa8f835..8fc37c464c 100644 ---- a/third_party/crashpad/crashpad/util/posix/signals_test.cc -+++ b/third_party/crashpad/crashpad/util/posix/signals_test.cc -@@ -46,12 +46,12 @@ bool CanCauseSignal(int sig) { - return sig == SIGABRT || - sig == SIGALRM || - sig == SIGBUS || --#if !defined(ARCH_CPU_ARM64) -+#if !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_PPC64) - sig == SIGFPE || --#endif // !defined(ARCH_CPU_ARM64) -+#endif // !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_PPC64) - #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL) - sig == SIGILL || --#endif // defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL -+#endif // defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL) - sig == SIGPIPE || - sig == SIGSEGV || - #if defined(OS_MACOSX) -@@ -117,9 +117,11 @@ void CauseSignal(int sig) { - break; - } - --#if !defined(ARCH_CPU_ARM64) -+#if !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_PPC64) - // ARM64 has hardware integer division instructions that don’t generate a - // trap for divide-by-zero, so this doesn’t produce SIGFPE. -+ // -+ // PPC64 fixed-point division by zero also doesn't produce a SIGFPE. - case SIGFPE: { - // Optimization makes this tricky, so get zero from a system call likely - // to succeed, and try to do something with the result. -@@ -137,7 +139,7 @@ void CauseSignal(int sig) { - fstat(quotient, &stat_buf); - break; - } --#endif // ARCH_CPU_ARM64 -+#endif // !defined(ARCH_CPU_ARM64) && !defined(ARCH_CPU_PPC64) - - #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL) - case SIGILL: { -diff --git a/third_party/dav1d/BUILD.gn b/third_party/dav1d/BUILD.gn -index 788dc6cff9..5fd7e8fda0 100644 ---- a/third_party/dav1d/BUILD.gn -+++ b/third_party/dav1d/BUILD.gn -@@ -182,6 +182,8 @@ static_library("dav1d_8bit") { - sources += arm_template_sources - } else if (current_cpu == "arm64") { - sources += arm_template_sources -+ } else if (current_cpu == "ppc64") { -+ sources += ppc64_template_sources - } - - cflags = dav1d_copts -@@ -210,6 +212,8 @@ static_library("dav1d_10bit") { - sources += arm_template_sources - } else if (current_cpu == "arm64") { - sources += arm_template_sources -+ } else if (current_cpu == "ppc64") { -+ sources += ppc64_template_sources - } - - cflags = dav1d_copts -@@ -256,6 +260,21 @@ if (current_cpu == "x86" || current_cpu == "x64") { - ":dav1d_config", - ] - -+ cflags = dav1d_copts -+ } -+} else if (current_cpu == "ppc64") { -+ static_library("dav1d_ppc") { -+ sources = [ -+ "libdav1d/src/ppc/cpu.c", -+ "libdav1d/src/ppc/cpu.h", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":dav1d_config", -+ ] -+ - cflags = dav1d_copts - } - } -@@ -285,5 +304,7 @@ static_library("dav1d") { - } - } else if (current_cpu == "arm" || current_cpu == "arm64") { - deps += [ ":dav1d_arm" ] -+ } else if (current_cpu == "ppc64") { -+ deps += [ ":dav1d_ppc" ] - } - } -diff --git a/third_party/dav1d/config/linux/ppc64/config.h b/third_party/dav1d/config/linux/ppc64/config.h -new file mode 100644 -index 0000000000..f6ca57f7f0 ---- /dev/null -+++ b/third_party/dav1d/config/linux/ppc64/config.h -@@ -0,0 +1,35 @@ -+/* -+ * Autogenerated by the Meson build system. -+ * Do not edit, your changes will be lost. -+ */ -+ -+#pragma once -+ -+#define ARCH_AARCH64 0 -+ -+#define ARCH_ARM 0 -+ -+#define ARCH_PPC64LE 1 -+ -+#define ARCH_X86 0 -+ -+#define ARCH_X86_32 0 -+ -+#define ARCH_X86_64 0 -+ -+#define CONFIG_16BPC 1 -+ -+#define CONFIG_8BPC 1 -+ -+#define CONFIG_LOG 1 -+ -+#define ENDIANNESS_BIG 0 -+ -+#define HAVE_ASM 1 -+ -+#define HAVE_GETAUXVAL 1 -+ -+#define HAVE_POSIX_MEMALIGN 1 -+ -+#define HAVE_UNISTD_H 1 -+ -diff --git a/third_party/dav1d/dav1d_generated.gni b/third_party/dav1d/dav1d_generated.gni -index 458935cd8a..f0cbc4aede 100644 ---- a/third_party/dav1d/dav1d_generated.gni -+++ b/third_party/dav1d/dav1d_generated.gni -@@ -70,6 +70,11 @@ arm_template_sources = [ - "libdav1d/src/arm/mc_init_tmpl.c", - ] - -+ppc64_template_sources = [ -+ "libdav1d/src/ppc/cdef_init_tmpl.c", -+ "libdav1d/src/ppc/looprestoration_init_tmpl.c", -+] -+ - template_sources = [ - "libdav1d/src/cdef_apply_tmpl.c", - "libdav1d/src/cdef_tmpl.c", -diff --git a/third_party/dav1d/generate_source.py b/third_party/dav1d/generate_source.py -index 9ab5e00b83..ad3feffee4 100755 ---- a/third_party/dav1d/generate_source.py -+++ b/third_party/dav1d/generate_source.py -@@ -50,7 +50,8 @@ def WriteGn(fd): - WriteArray(fd, "arm32_asm_sources", glob.glob("libdav1d/src/arm/32/*.S")) - WriteArray(fd, "arm64_asm_sources", glob.glob("libdav1d/src/arm/64/*.S")) - WriteArray(fd, "arm_template_sources", glob.glob("libdav1d/src/arm/*_tmpl.c")) -- -+ WriteArray(fd, "ppc64_template_sources", glob.glob("libdav1d/src/ppc/*_tmpl.c")) -+ - template_sources = glob.glob("libdav1d/src/*_tmpl.c") - WriteArray(fd, "template_sources", template_sources) - -diff --git a/third_party/dav1d/libdav1d/src/ppc/types.h b/third_party/dav1d/libdav1d/src/ppc/types.h -index 0b4bd72f0e..a0caa5e710 100644 ---- a/third_party/dav1d/libdav1d/src/ppc/types.h -+++ b/third_party/dav1d/libdav1d/src/ppc/types.h -@@ -51,4 +51,19 @@ - #define u16l_to_i32(v) ((i32x4) vec_mergel((u16x8) v, vec_splat_u16(0))) - #define i16l_to_i32(v) ((i32x4) vec_unpackl((i16x8)v)) - -+#if defined(__clang__) -+#undef vec_splats -+#define vec_splats(N) \ -+ _Generic((N), \ -+ unsigned char: ((u8x16)(N)), \ -+ signed char: ((i8x16)(N)), \ -+ unsigned short: ((u16x8)(N)), \ -+ signed short: ((i16x8)(N)), \ -+ unsigned int: ((u32x4)(N)), \ -+ signed int: ((i32x4)(N)), \ -+ unsigned long long: ((u64x2)(N)), \ -+ signed long long: ((i64x2)(N)) \ -+ ) -+#endif -+ - #endif /* DAV1D_SRC_PPC_TYPES_H */ -diff --git a/third_party/libvpx/BUILD.gn b/third_party/libvpx/BUILD.gn -index 31a26e5b44..84c15b61b8 100644 ---- a/third_party/libvpx/BUILD.gn -+++ b/third_party/libvpx/BUILD.gn -@@ -38,6 +38,8 @@ if (current_cpu == "x86") { - - if (is_nacl) { - platform_include_dir = "source/config/nacl" -+} else if (current_cpu == "ppc64") { -+ platform_include_dir = "source/config/linux/generic" - } else { - # The mac configurations are currently a relic. They were useful when - # x86inc.asm did not work for MACH_O but now the build is identical to the -@@ -336,6 +338,8 @@ static_library("libvpx") { - } else { - sources = libvpx_srcs_arm64 - } -+ } else if (current_cpu == "ppc64") { -+ sources = libvpx_srcs_generic - } - - configs -= [ "//build/config/compiler:chromium_code" ] -diff --git a/third_party/lss/linux_syscall_support.h b/third_party/lss/linux_syscall_support.h -index d2baee9d24..9955ce446b 100644 ---- a/third_party/lss/linux_syscall_support.h -+++ b/third_party/lss/linux_syscall_support.h -@@ -3922,7 +3922,7 @@ struct kernel_statfs { - LSS_REG(2, buf); - LSS_BODY(void*, mmap2, "0"(__r2)); - } --#else -+#elif !defined(__powerpc64__) /* ppc64 doesn't have mmap2 */ - #define __NR__mmap2 __NR_mmap2 - LSS_INLINE _syscall6(void*, _mmap2, void*, s, - size_t, l, int, p, -@@ -4033,7 +4033,7 @@ struct kernel_statfs { - #if defined(__i386__) || \ - defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \ - (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \ -- defined(__PPC__) || \ -+ (defined(__PPC__) && !defined(__powerpc64__)) || \ - (defined(__s390__) && !defined(__s390x__)) - /* On these architectures, implement mmap() with mmap2(). */ - LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d, -diff --git a/third_party/pffft/src/pffft.c b/third_party/pffft/src/pffft.c -index bdac4d7849..51e0f2cacc 100644 ---- a/third_party/pffft/src/pffft.c -+++ b/third_party/pffft/src/pffft.c -@@ -100,6 +100,7 @@ - Altivec support macros - */ - #if !defined(PFFFT_SIMD_DISABLE) && (defined(__ppc__) || defined(__ppc64__)) -+#include - typedef vector float v4sf; - # define SIMD_SZ 4 - # define VZERO() ((vector float) vec_splat_u8(0)) -diff --git a/third_party/skia/src/sksl/SkSLString.cpp b/third_party/skia/src/sksl/SkSLString.cpp -index 88eb1c7d3b..4be33fa5bd 100644 ---- a/third_party/skia/src/sksl/SkSLString.cpp -+++ b/third_party/skia/src/sksl/SkSLString.cpp -@@ -240,7 +240,12 @@ String to_string(double value) { - if (needsDotZero) { - buffer << ".0"; - } -- return String(buffer.str().c_str()); -+ -+ std::string ret(buffer.str()); -+ if (signbit(value) && ret[0] == '.') { -+ ret[0] = '-'; -+ } -+ return String(ret.c_str()); - } - - SKSL_INT stoi(const String& s) { -diff --git a/third_party/sqlite/src/amalgamation/sqlite3.c b/third_party/sqlite/src/amalgamation/sqlite3.c -index b8e84c1b6a..9ba9cb6c14 100644 ---- a/third_party/sqlite/src/amalgamation/sqlite3.c -+++ b/third_party/sqlite/src/amalgamation/sqlite3.c -@@ -14301,7 +14301,8 @@ typedef INT16_TYPE LogEst; - # if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ - defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ - defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ -- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) -+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || \ -+ defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - # define SQLITE_BYTEORDER 1234 - # elif defined(sparc) || defined(__ppc__) || \ - defined(__ARMEB__) || defined(__AARCH64EB__) -diff --git a/third_party/sqlite/src/amalgamation_dev/sqlite3.c b/third_party/sqlite/src/amalgamation_dev/sqlite3.c -index 734ac355d2..e259911dfd 100644 ---- a/third_party/sqlite/src/amalgamation_dev/sqlite3.c -+++ b/third_party/sqlite/src/amalgamation_dev/sqlite3.c -@@ -14314,7 +14314,8 @@ typedef INT16_TYPE LogEst; - # if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ - defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ - defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ -- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) -+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || \ -+ defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - # define SQLITE_BYTEORDER 1234 - # elif defined(sparc) || defined(__ppc__) || \ - defined(__ARMEB__) || defined(__AARCH64EB__) -diff --git a/third_party/sqlite/src/ext/rtree/rtree.c b/third_party/sqlite/src/ext/rtree/rtree.c -index 1eef1a1b53..b53097b7f4 100644 ---- a/third_party/sqlite/src/ext/rtree/rtree.c -+++ b/third_party/sqlite/src/ext/rtree/rtree.c -@@ -432,7 +432,7 @@ struct RtreeMatchArg { - #if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ - defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ - defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ -- defined(__arm__) -+ defined(__arm__) || defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - # define SQLITE_BYTEORDER 1234 - #elif defined(sparc) || defined(__ppc__) - # define SQLITE_BYTEORDER 4321 -diff --git a/third_party/sqlite/src/src/sqliteInt.h b/third_party/sqlite/src/src/sqliteInt.h -index 9ef2437b06..db5d3321ed 100644 ---- a/third_party/sqlite/src/src/sqliteInt.h -+++ b/third_party/sqlite/src/src/sqliteInt.h -@@ -853,7 +853,8 @@ typedef INT16_TYPE LogEst; - # if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ - defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ - defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ -- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) -+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || \ -+ defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - # define SQLITE_BYTEORDER 1234 - # elif defined(sparc) || defined(__ppc__) || \ - defined(__ARMEB__) || defined(__AARCH64EB__) -diff --git a/third_party/webrtc/modules/desktop_capture/differ_block.cc b/third_party/webrtc/modules/desktop_capture/differ_block.cc -index dd9ab457e0..c005d95990 100644 ---- a/third_party/webrtc/modules/desktop_capture/differ_block.cc -+++ b/third_party/webrtc/modules/desktop_capture/differ_block.cc -@@ -30,11 +30,7 @@ bool VectorDifference(const uint8_t* image1, const uint8_t* image2) { - static bool (*diff_proc)(const uint8_t*, const uint8_t*) = nullptr; - - if (!diff_proc) { --#if defined(WEBRTC_ARCH_ARM_FAMILY) || defined(WEBRTC_ARCH_MIPS_FAMILY) -- // For ARM and MIPS processors, always use C version. -- // TODO(hclam): Implement a NEON version. -- diff_proc = &VectorDifference_C; --#else -+#if defined(WEBRTC_ARCH_X86_FAMILY) - bool have_sse2 = WebRtc_GetCPUInfo(kSSE2) != 0; - // For x86 processors, check if SSE2 is supported. - if (have_sse2 && kBlockSize == 32) { -@@ -44,6 +40,10 @@ bool VectorDifference(const uint8_t* image1, const uint8_t* image2) { - } else { - diff_proc = &VectorDifference_C; - } -+#else -+ // For other processors, always use C version. -+ // TODO(hclam): Implement a NEON version. -+ diff_proc = &VectorDifference_C; - #endif - } - -diff --git a/third_party/webrtc/rtc_base/system/arch.h b/third_party/webrtc/rtc_base/system/arch.h -index ed216e660f..25d36c071a 100644 ---- a/third_party/webrtc/rtc_base/system/arch.h -+++ b/third_party/webrtc/rtc_base/system/arch.h -@@ -50,6 +50,18 @@ - #elif defined(__EMSCRIPTEN__) - #define WEBRTC_ARCH_32_BITS - #define WEBRTC_ARCH_LITTLE_ENDIAN -+#elif defined(__PPC__) -+#define WEBRTC_ARCH_PPC_FAMILY -+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -+#define WEBRTC_ARCH_LITTLE_ENDIAN -+#else -+#define WEBRTC_ARCH_BIG_ENDIAN -+#endif -+#if defined(__LP64__) -+#define WEBRTC_ARCH_64_BITS -+#else -+#define WEBRTC_ARCH_32_BITS -+#endif - #else - #error Please add support for your architecture in rtc_base/system/arch.h - #endif -diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn -index 8fac30ee40..9e0c536d1b 100644 ---- a/ui/gl/BUILD.gn -+++ b/ui/gl/BUILD.gn -@@ -15,7 +15,8 @@ declare_args() { - is_chromeos || is_fuchsia) && - (target_cpu == "x86" || target_cpu == "x64" || - target_cpu == "arm" || target_cpu == "arm64" || -- target_cpu == "mipsel" || target_cpu == "mips64el") -+ target_cpu == "mipsel" || target_cpu == "mips64el" || -+ target_cpu == "ppc64") - - # Whether service side logging (actual calls into the GL driver) is enabled - # or not. -diff --git a/v8/BUILD.gn b/v8/BUILD.gn -index b2dde3f9d7..7c28f900e1 100644 ---- a/v8/BUILD.gn -+++ b/v8/BUILD.gn -@@ -673,6 +673,12 @@ config("toolchain") { - } - if (host_byteorder == "little") { - defines += [ "V8_TARGET_ARCH_PPC_LE" ] -+ cflags += [ -+ # Enable usage of AltiVec, VSX, and other POWER8 and higher features -+ "-mcpu=power8", -+ "-maltivec", -+ "-mvsx", -+ ] - } else if (host_byteorder == "big") { - defines += [ "V8_TARGET_ARCH_PPC_BE" ] - if (current_os == "aix") { -diff --git a/v8/test/BUILD.gn b/v8/test/BUILD.gn -index f6d30537a8..287b270809 100644 ---- a/v8/test/BUILD.gn -+++ b/v8/test/BUILD.gn -@@ -31,7 +31,7 @@ group("gn_all") { - deps += [ - "cctest:cctest", - "cctest:generate-bytecode-expectations", -- "unittests:unittests", -+ #"unittests:unittests", - ] - } - } -@@ -73,7 +73,7 @@ group("v8_bot_default") { - "message:v8_message", - "mjsunit:v8_mjsunit", - "mkgrokdump:mkgrokdump", -- "unittests:unittests", -+ #"unittests:unittests", - "wasm-api-tests:wasm_api_tests", - "wasm-js:v8_wasm_js", - "wasm-spec-tests:v8_wasm_spec_tests", -@@ -93,7 +93,7 @@ group("v8_default") { - "message:v8_message", - "mjsunit:v8_mjsunit", - "mkgrokdump:mkgrokdump", -- "unittests:unittests", -+ #"unittests:unittests", - "wasm-api-tests:wasm_api_tests", - "wasm-js:v8_wasm_js", - "wasm-spec-tests:v8_wasm_spec_tests", --- -2.28.0 - diff --git a/srcpkgs/electron9/files/patches/electron-Add-a-script-to-list-patch-targets.patch.patch b/srcpkgs/electron9/files/patches/electron-Add-a-script-to-list-patch-targets.patch.patch deleted file mode 100644 index 916dba9dc3b..00000000000 --- a/srcpkgs/electron9/files/patches/electron-Add-a-script-to-list-patch-targets.patch.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ff4122f236b70c272c746d0c336cdbd588d78cd1 Mon Sep 17 00:00:00 2001 -From: Elvis Pranskevichus -Date: Thu, 12 Dec 2019 16:12:18 -0500 -Subject: [PATCH] Add a script to list patch targets - ---- - script/list_patch_targets.py | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - create mode 100755 script/list_patch_targets.py - -diff --git a/script/list_patch_targets.py b/script/list_patch_targets.py -new file mode 100755 -index 000000000..55173bac9 ---- /dev/null -+++ b/script/list_patch_targets.py -@@ -0,0 +1,23 @@ -+#!/usr/bin/env python -+ -+import argparse -+import json -+ -+ -+def parse_args(): -+ parser = argparse.ArgumentParser(description='Apply Electron patches') -+ parser.add_argument('config', nargs='+', -+ type=argparse.FileType('r'), -+ help='patches\' config(s) in the JSON format') -+ return parser.parse_args() -+ -+ -+def main(): -+ configs = parse_args().config -+ for config_json in configs: -+ for patch_dir, repo in json.load(config_json).iteritems(): -+ print(repo) -+ -+ -+if __name__ == '__main__': -+ main() --- -2.23.0 - diff --git a/srcpkgs/electron9/files/patches/electron-Build-fixes.patch.patch b/srcpkgs/electron9/files/patches/electron-Build-fixes.patch.patch deleted file mode 100644 index 298bfa9bcb2..00000000000 --- a/srcpkgs/electron9/files/patches/electron-Build-fixes.patch.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/build/args/release.gn b/build/args/release.gn -index e5017f6e1..59207b389 100644 ---- a/build/args/release.gn -+++ b/build/args/release.gn -@@ -1,6 +1,4 @@ - import("all.gn") --is_component_build = false --is_official_build = true - - # This may be guarded behind is_chrome_branded alongside - # proprietary_codecs https://webrtc-review.googlesource.com/c/src/+/36321, -@@ -8,9 +6,3 @@ is_official_build = true - # The initialization of the decoder depends on whether ffmpeg has - # been built with H.264 support. - rtc_use_h264 = proprietary_codecs -- --# By default, Electron builds ffmpeg with proprietary codecs enabled. In order --# to facilitate users who don't want to ship proprietary codecs in ffmpeg, or --# who have an LGPL requirement to ship ffmpeg as a dynamically linked library, --# we build ffmpeg as a shared library. --is_component_ffmpeg = true -diff --git a/build/npm.gni b/build/npm.gni -index a1987d095..fb33a14c3 100644 ---- a/build/npm.gni -+++ b/build/npm.gni -@@ -35,7 +35,6 @@ template("npm_action") { - if (!defined(deps)) { - deps = [] - } -- deps += [ ":npm_pre_flight_" + target_name ] - - script = "//electron/build/npm-run.py" - args = [ -diff --git a/patches/node/fix_add_default_values_for_enable_lto_and_build_v8_with_gn_in.patch b/patches/node/fix_add_default_values_for_enable_lto_and_build_v8_with_gn_in.patch -index 0dc9916be..7eaa46bf5 100644 ---- a/patches/node/fix_add_default_values_for_enable_lto_and_build_v8_with_gn_in.patch -+++ b/patches/node/fix_add_default_values_for_enable_lto_and_build_v8_with_gn_in.patch -@@ -30,7 +30,7 @@ - + # these values being accurate. - + 'build_v8_with_gn': 'false', - + 'enable_lto%': 'false', --+ -++ 'openssl_fips': '', - 'conditions': [ - ['target_arch=="arm64"', { - # Disabled pending https://github.com/nodejs/node/issues/23913. - diff --git a/srcpkgs/electron9/files/patches/electron-dont-assume-python-is-python2.patch b/srcpkgs/electron9/files/patches/electron-dont-assume-python-is-python2.patch deleted file mode 100644 index fb134748025..00000000000 --- a/srcpkgs/electron9/files/patches/electron-dont-assume-python-is-python2.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/build/zip.py.orig 2020-04-27 17:59:53.499281667 +0200 -+++ b/build/zip.py 2020-04-27 17:59:57.655839143 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - from __future__ import print_function - import os - import subprocess - ---- a/build/npm-run.py.orig 2020-04-27 17:59:50.829351807 +0200 -+++ b/build/npm-run.py 2020-04-27 18:00:02.702373256 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - from __future__ import print_function - import os - import subprocess diff --git a/srcpkgs/electron9/files/patches/electron-exclude-content-test-patches.patch b/srcpkgs/electron9/files/patches/electron-exclude-content-test-patches.patch deleted file mode 100644 index 15735c75770..00000000000 --- a/srcpkgs/electron9/files/patches/electron-exclude-content-test-patches.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/script/apply_all_patches.py 2020-08-22 17:46:41.796707506 +0200 -+++ - 2020-08-22 17:47:05.887813512 +0200 -@@ -14,6 +14,7 @@ - for patch_dir, repo in dirs.items(): - git.import_patches(repo=repo, patch_data=patch_from_dir(patch_dir), - threeway=threeway is not None, -+ exclude=['content/test/**', 'test/cctest/**'], - committer_name="Electron Scripts", committer_email="scripts@electron") - - diff --git a/srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.cc b/srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.cc deleted file mode 100644 index 2c7aa8efa66..00000000000 --- a/srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.cc +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/metrics/histogram_macros.h" -#include "base/memory/ptr_util.h" - -#include "media/audio/openbsd/audio_manager_openbsd.h" - -#include "media/audio/audio_device_description.h" -#include "media/audio/audio_output_dispatcher.h" -#include "media/audio/sndio/sndio_input.h" -#include "media/audio/sndio/sndio_output.h" -#include "media/base/limits.h" -#include "media/base/media_switches.h" - -namespace media { - -// Maximum number of output streams that can be open simultaneously. -static const int kMaxOutputStreams = 4; - -// Default sample rate for input and output streams. -static const int kDefaultSampleRate = 48000; - -void AddDefaultDevice(AudioDeviceNames* device_names) { - DCHECK(device_names->empty()); - device_names->push_front(AudioDeviceName::CreateDefault()); -} - -bool AudioManagerOpenBSD::HasAudioOutputDevices() { - return true; -} - -bool AudioManagerOpenBSD::HasAudioInputDevices() { - return true; -} - -void AudioManagerOpenBSD::GetAudioInputDeviceNames( - AudioDeviceNames* device_names) { - DCHECK(device_names->empty()); - AddDefaultDevice(device_names); -} - -void AudioManagerOpenBSD::GetAudioOutputDeviceNames( - AudioDeviceNames* device_names) { - AddDefaultDevice(device_names); -} - -const char* AudioManagerOpenBSD::GetName() { - return "SNDIO"; -} - -AudioParameters AudioManagerOpenBSD::GetInputStreamParameters( - const std::string& device_id) { - static const int kDefaultInputBufferSize = 1024; - - int user_buffer_size = GetUserBufferSize(); - int buffer_size = user_buffer_size ? - user_buffer_size : kDefaultInputBufferSize; - - return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, - kDefaultSampleRate, buffer_size); -} - -AudioManagerOpenBSD::AudioManagerOpenBSD(std::unique_ptr audio_thread, - AudioLogFactory* audio_log_factory) - : AudioManagerBase(std::move(audio_thread), - audio_log_factory) { - DLOG(WARNING) << "AudioManagerOpenBSD"; - SetMaxOutputStreamsAllowed(kMaxOutputStreams); -} - -AudioManagerOpenBSD::~AudioManagerOpenBSD() { - Shutdown(); -} - -AudioOutputStream* AudioManagerOpenBSD::MakeLinearOutputStream( - const AudioParameters& params, - const LogCallback& log_callback) { - DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); - return MakeOutputStream(params); -} - -AudioOutputStream* AudioManagerOpenBSD::MakeLowLatencyOutputStream( - const AudioParameters& params, - const std::string& device_id, - const LogCallback& log_callback) { - DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; - DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); - return MakeOutputStream(params); -} - -AudioInputStream* AudioManagerOpenBSD::MakeLinearInputStream( - const AudioParameters& params, - const std::string& device_id, - const LogCallback& log_callback) { - DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); - return MakeInputStream(params); -} - -AudioInputStream* AudioManagerOpenBSD::MakeLowLatencyInputStream( - const AudioParameters& params, - const std::string& device_id, - const LogCallback& log_callback) { - DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); - return MakeInputStream(params); -} - -AudioParameters AudioManagerOpenBSD::GetPreferredOutputStreamParameters( - const std::string& output_device_id, - const AudioParameters& input_params) { - // TODO(tommi): Support |output_device_id|. - DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!"; - static const int kDefaultOutputBufferSize = 2048; - - ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO; - int sample_rate = kDefaultSampleRate; - int buffer_size = kDefaultOutputBufferSize; - if (input_params.IsValid()) { - sample_rate = input_params.sample_rate(); - channel_layout = input_params.channel_layout(); - buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); - } - - int user_buffer_size = GetUserBufferSize(); - if (user_buffer_size) - buffer_size = user_buffer_size; - - return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, - sample_rate, buffer_size); -} - -AudioInputStream* AudioManagerOpenBSD::MakeInputStream( - const AudioParameters& params) { - DLOG(WARNING) << "MakeInputStream"; - return new SndioAudioInputStream(this, - AudioDeviceDescription::kDefaultDeviceId, params); -} - -AudioOutputStream* AudioManagerOpenBSD::MakeOutputStream( - const AudioParameters& params) { - DLOG(WARNING) << "MakeOutputStream"; - return new SndioAudioOutputStream(params, this); -} - -} // namespace media diff --git a/srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.h b/srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.h deleted file mode 100644 index 8c99db966d6..00000000000 --- a/srcpkgs/electron9/files/sndio-files/audio_manager_openbsd.h +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ -#define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ - -#include - -#include "base/compiler_specific.h" -#include "base/macros.h" -#include "base/memory/ref_counted.h" -#include "base/threading/thread.h" -#include "media/audio/audio_manager_base.h" - -namespace media { - -class MEDIA_EXPORT AudioManagerOpenBSD : public AudioManagerBase { - public: - AudioManagerOpenBSD(std::unique_ptr audio_thread, - AudioLogFactory* audio_log_factory); - ~AudioManagerOpenBSD() override; - - // Implementation of AudioManager. - bool HasAudioOutputDevices() override; - bool HasAudioInputDevices() override; - void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override; - void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override; - AudioParameters GetInputStreamParameters( - const std::string& device_id) override; - const char* GetName() override; - - // Implementation of AudioManagerBase. - AudioOutputStream* MakeLinearOutputStream( - const AudioParameters& params, - const LogCallback& log_callback) override; - AudioOutputStream* MakeLowLatencyOutputStream( - const AudioParameters& params, - const std::string& device_id, - const LogCallback& log_callback) override; - AudioInputStream* MakeLinearInputStream( - const AudioParameters& params, - const std::string& device_id, - const LogCallback& log_callback) override; - AudioInputStream* MakeLowLatencyInputStream( - const AudioParameters& params, - const std::string& device_id, - const LogCallback& log_callback) override; - - protected: - AudioParameters GetPreferredOutputStreamParameters( - const std::string& output_device_id, - const AudioParameters& input_params) override; - - private: - // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream. - AudioOutputStream* MakeOutputStream(const AudioParameters& params); - AudioInputStream* MakeInputStream(const AudioParameters& params); - - DISALLOW_COPY_AND_ASSIGN(AudioManagerOpenBSD); -}; - -} // namespace media - -#endif // MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ diff --git a/srcpkgs/electron9/files/sndio-files/sndio_input.cc b/srcpkgs/electron9/files/sndio-files/sndio_input.cc deleted file mode 100644 index 6c7bc8b8025..00000000000 --- a/srcpkgs/electron9/files/sndio-files/sndio_input.cc +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/bind.h" -#include "base/logging.h" -#include "base/macros.h" -#include "base/message_loop/message_loop.h" -#include "media/base/audio_timestamp_helper.h" -#include "media/audio/openbsd/audio_manager_openbsd.h" -#include "media/audio/audio_manager.h" -#include "media/audio/sndio/sndio_input.h" - -namespace media { - -static const SampleFormat kSampleFormat = kSampleFormatS16; - -void SndioAudioInputStream::OnMoveCallback(void *arg, int delta) -{ - SndioAudioInputStream* self = static_cast(arg); - - self->hw_delay += delta; -} - -void *SndioAudioInputStream::ThreadEntry(void *arg) { - SndioAudioInputStream* self = static_cast(arg); - - self->ThreadLoop(); - return NULL; -} - -SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager, - const std::string& device_name, - const AudioParameters& params) - : manager(manager), - params(params), - audio_bus(AudioBus::Create(params)), - state(kClosed) { -} - -SndioAudioInputStream::~SndioAudioInputStream() { - if (state != kClosed) - Close(); -} - -bool SndioAudioInputStream::Open() { - struct sio_par par; - int sig; - - if (state != kClosed) - return false; - - if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && - params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { - LOG(WARNING) << "Unsupported audio format."; - return false; - } - - sio_initpar(&par); - par.rate = params.sample_rate(); - par.rchan = params.channels(); - par.bits = SampleFormatToBitsPerChannel(kSampleFormat); - par.bps = par.bits / 8; - par.sig = sig = par.bits != 8 ? 1 : 0; - par.le = SIO_LE_NATIVE; - par.appbufsz = params.frames_per_buffer(); - - hdl = sio_open(SIO_DEVANY, SIO_REC, 0); - - if (hdl == NULL) { - LOG(ERROR) << "Couldn't open audio device."; - return false; - } - - if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { - LOG(ERROR) << "Couldn't set audio parameters."; - goto bad_close; - } - - if (par.rate != (unsigned int)params.sample_rate() || - par.rchan != (unsigned int)params.channels() || - par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || - par.sig != (unsigned int)sig || - (par.bps > 1 && par.le != SIO_LE_NATIVE) || - (par.bits != par.bps * 8)) { - LOG(ERROR) << "Unsupported audio parameters."; - goto bad_close; - } - state = kStopped; - buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; - sio_onmove(hdl, &OnMoveCallback, this); - return true; -bad_close: - sio_close(hdl); - return false; -} - -void SndioAudioInputStream::Start(AudioInputCallback* cb) { - - StartAgc(); - - state = kRunning; - hw_delay = 0; - callback = cb; - sio_start(hdl); - if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { - LOG(ERROR) << "Failed to create real-time thread for recording."; - sio_stop(hdl); - state = kStopped; - } -} - -void SndioAudioInputStream::Stop() { - - if (state == kStopped) - return; - - state = kStopWait; - pthread_join(thread, NULL); - sio_stop(hdl); - state = kStopped; - - StopAgc(); -} - -void SndioAudioInputStream::Close() { - - if (state == kClosed) - return; - - if (state == kRunning) - Stop(); - - state = kClosed; - delete [] buffer; - sio_close(hdl); - - manager->ReleaseInputStream(this); -} - -double SndioAudioInputStream::GetMaxVolume() { - // Not supported - return 0.0; -} - -void SndioAudioInputStream::SetVolume(double volume) { - // Not supported. Do nothing. -} - -double SndioAudioInputStream::GetVolume() { - // Not supported. - return 0.0; -} - -bool SndioAudioInputStream::IsMuted() { - // Not supported. - return false; -} - -void SndioAudioInputStream::SetOutputDeviceForAec( - const std::string& output_device_id) { - // Not supported. -} - -void SndioAudioInputStream::ThreadLoop(void) { - size_t todo, n; - char *data; - unsigned int nframes; - double normalized_volume = 0.0; - - nframes = audio_bus->frames(); - - while (state == kRunning && !sio_eof(hdl)) { - - GetAgcVolume(&normalized_volume); - - // read one block - todo = nframes * params.GetBytesPerFrame(kSampleFormat); - data = buffer; - while (todo > 0) { - n = sio_read(hdl, data, todo); - if (n == 0) - return; // unrecoverable I/O error - todo -= n; - data += n; - } - hw_delay -= nframes; - - // convert frames count to TimeDelta - const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, - params.sample_rate()); - - // push into bus - audio_bus->FromInterleaved(buffer, nframes, SampleFormatToBytesPerChannel(kSampleFormat)); - - // invoke callback - callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.); - } -} - -} // namespace media diff --git a/srcpkgs/electron9/files/sndio-files/sndio_input.h b/srcpkgs/electron9/files/sndio-files/sndio_input.h deleted file mode 100644 index d868e0469db..00000000000 --- a/srcpkgs/electron9/files/sndio-files/sndio_input.h +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ -#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ - -#include -#include -#include - -#include "base/compiler_specific.h" -#include "base/macros.h" -#include "base/memory/weak_ptr.h" -#include "base/time/time.h" -#include "media/audio/agc_audio_stream.h" -#include "media/audio/audio_io.h" -#include "media/audio/audio_device_description.h" -#include "media/base/audio_parameters.h" - -namespace media { - -class AudioManagerBase; - -// Implementation of AudioOutputStream using sndio(7) -class SndioAudioInputStream : public AgcAudioStream { - public: - // Pass this to the constructor if you want to attempt auto-selection - // of the audio recording device. - static const char kAutoSelectDevice[]; - - // Create a PCM Output stream for the SNDIO device identified by - // |device_name|. If unsure of what to use for |device_name|, use - // |kAutoSelectDevice|. - SndioAudioInputStream(AudioManagerBase* audio_manager, - const std::string& device_name, - const AudioParameters& params); - - ~SndioAudioInputStream() override; - - // Implementation of AudioInputStream. - bool Open() override; - void Start(AudioInputCallback* callback) override; - void Stop() override; - void Close() override; - double GetMaxVolume() override; - void SetVolume(double volume) override; - double GetVolume() override; - bool IsMuted() override; - void SetOutputDeviceForAec(const std::string& output_device_id) override; - - private: - - enum StreamState { - kClosed, // Not opened yet - kStopped, // Device opened, but not started yet - kRunning, // Started, device playing - kStopWait // Stopping, waiting for the real-time thread to exit - }; - - // C-style call-backs - static void OnMoveCallback(void *arg, int delta); - static void* ThreadEntry(void *arg); - - // Continuously moves data from the device to the consumer - void ThreadLoop(); - // Our creator, the audio manager needs to be notified when we close. - AudioManagerBase* manager; - // Parameters of the source - AudioParameters params; - // We store data here for consumer - std::unique_ptr audio_bus; - // Call-back that consumes recorded data - AudioInputCallback* callback; // Valid during a recording session. - // Handle of the audio device - struct sio_hdl* hdl; - // Current state of the stream - enum StreamState state; - // High priority thread running ThreadLoop() - pthread_t thread; - // Number of frames buffered in the hardware - int hw_delay; - // Temporary buffer where data is stored sndio-compatible format - char* buffer; - - DISALLOW_COPY_AND_ASSIGN(SndioAudioInputStream); -}; - -} // namespace media - -#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ diff --git a/srcpkgs/electron9/files/sndio-files/sndio_output.cc b/srcpkgs/electron9/files/sndio-files/sndio_output.cc deleted file mode 100644 index a6719f9aac8..00000000000 --- a/srcpkgs/electron9/files/sndio-files/sndio_output.cc +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/logging.h" -#include "base/time/time.h" -#include "base/time/default_tick_clock.h" -#include "media/audio/audio_manager_base.h" -#include "media/base/audio_timestamp_helper.h" -#include "media/audio/sndio/sndio_output.h" - -namespace media { - -static const SampleFormat kSampleFormat = kSampleFormatS16; - -void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) { - SndioAudioOutputStream* self = static_cast(arg); - - self->hw_delay -= delta; -} - -void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) { - SndioAudioOutputStream* self = static_cast(arg); - - self->vol = vol; -} - -void *SndioAudioOutputStream::ThreadEntry(void *arg) { - SndioAudioOutputStream* self = static_cast(arg); - - self->ThreadLoop(); - return NULL; -} - -SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params, - AudioManagerBase* manager) - : manager(manager), - params(params), - audio_bus(AudioBus::Create(params)), - state(kClosed), - mutex(PTHREAD_MUTEX_INITIALIZER) { -} - -SndioAudioOutputStream::~SndioAudioOutputStream() { - if (state != kClosed) - Close(); -} - -bool SndioAudioOutputStream::Open() { - struct sio_par par; - int sig; - - if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && - params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { - LOG(WARNING) << "Unsupported audio format."; - return false; - } - sio_initpar(&par); - par.rate = params.sample_rate(); - par.pchan = params.channels(); - par.bits = SampleFormatToBitsPerChannel(kSampleFormat); - par.bps = par.bits / 8; - par.sig = sig = par.bits != 8 ? 1 : 0; - par.le = SIO_LE_NATIVE; - par.appbufsz = params.frames_per_buffer(); - - hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0); - if (hdl == NULL) { - LOG(ERROR) << "Couldn't open audio device."; - return false; - } - if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { - LOG(ERROR) << "Couldn't set audio parameters."; - goto bad_close; - } - if (par.rate != (unsigned int)params.sample_rate() || - par.pchan != (unsigned int)params.channels() || - par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || - par.sig != (unsigned int)sig || - (par.bps > 1 && par.le != SIO_LE_NATIVE) || - (par.bits != par.bps * 8)) { - LOG(ERROR) << "Unsupported audio parameters."; - goto bad_close; - } - state = kStopped; - volpending = 0; - vol = 0; - buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; - sio_onmove(hdl, &OnMoveCallback, this); - sio_onvol(hdl, &OnVolCallback, this); - return true; - bad_close: - sio_close(hdl); - return false; -} - -void SndioAudioOutputStream::Close() { - if (state == kClosed) - return; - if (state == kRunning) - Stop(); - state = kClosed; - delete [] buffer; - sio_close(hdl); - manager->ReleaseOutputStream(this); // Calls the destructor -} - -void SndioAudioOutputStream::Start(AudioSourceCallback* callback) { - state = kRunning; - hw_delay = 0; - source = callback; - sio_start(hdl); - if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { - LOG(ERROR) << "Failed to create real-time thread."; - sio_stop(hdl); - state = kStopped; - } -} - -void SndioAudioOutputStream::Stop() { - if (state == kStopped) - return; - state = kStopWait; - pthread_join(thread, NULL); - sio_stop(hdl); - state = kStopped; -} - -void SndioAudioOutputStream::SetVolume(double v) { - pthread_mutex_lock(&mutex); - vol = v * SIO_MAXVOL; - volpending = 1; - pthread_mutex_unlock(&mutex); -} - -void SndioAudioOutputStream::GetVolume(double* v) { - pthread_mutex_lock(&mutex); - *v = vol * (1. / SIO_MAXVOL); - pthread_mutex_unlock(&mutex); -} - -// This stream is always used with sub second buffer sizes, where it's -// sufficient to simply always flush upon Start(). -void SndioAudioOutputStream::Flush() {} - -void SndioAudioOutputStream::ThreadLoop(void) { - int avail, count, result; - - while (state == kRunning) { - // Update volume if needed - pthread_mutex_lock(&mutex); - if (volpending) { - volpending = 0; - sio_setvol(hdl, vol); - } - pthread_mutex_unlock(&mutex); - - // Get data to play - const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, - params.sample_rate()); - count = source->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus.get()); - audio_bus->ToInterleaved(count, SampleFormatToBytesPerChannel(kSampleFormat), buffer); - if (count == 0) { - // We have to submit something to the device - count = audio_bus->frames(); - memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat)); - LOG(WARNING) << "No data to play, running empty cycle."; - } - - // Submit data to the device - avail = count * params.GetBytesPerFrame(kSampleFormat); - result = sio_write(hdl, buffer, avail); - if (result == 0) { - LOG(WARNING) << "Audio device disconnected."; - break; - } - - // Update hardware pointer - hw_delay += count; - } -} - -} // namespace media diff --git a/srcpkgs/electron9/files/sndio-files/sndio_output.h b/srcpkgs/electron9/files/sndio-files/sndio_output.h deleted file mode 100644 index ead220ca96e..00000000000 --- a/srcpkgs/electron9/files/sndio-files/sndio_output.h +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ -#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ - -#include -#include - -#include "base/time/tick_clock.h" -#include "base/time/time.h" -#include "media/audio/audio_io.h" - -namespace media { - -class AudioManagerBase; - -// Implementation of AudioOutputStream using sndio(7) -class SndioAudioOutputStream : public AudioOutputStream { - public: - // The manager is creating this object - SndioAudioOutputStream(const AudioParameters& params, - AudioManagerBase* manager); - virtual ~SndioAudioOutputStream(); - - // Implementation of AudioOutputStream. - bool Open() override; - void Close() override; - void Start(AudioSourceCallback* callback) override; - void Stop() override; - void SetVolume(double volume) override; - void GetVolume(double* volume) override; - void Flush() override; - - friend void sndio_onmove(void *arg, int delta); - friend void sndio_onvol(void *arg, unsigned int vol); - friend void *sndio_threadstart(void *arg); - - private: - enum StreamState { - kClosed, // Not opened yet - kStopped, // Device opened, but not started yet - kRunning, // Started, device playing - kStopWait // Stopping, waiting for the real-time thread to exit - }; - - // C-style call-backs - static void OnMoveCallback(void *arg, int delta); - static void OnVolCallback(void *arg, unsigned int vol); - static void* ThreadEntry(void *arg); - - // Continuously moves data from the producer to the device - void ThreadLoop(void); - - // Our creator, the audio manager needs to be notified when we close. - AudioManagerBase* manager; - // Parameters of the source - AudioParameters params; - // Source stores data here - std::unique_ptr audio_bus; - // Call-back that produces data to play - AudioSourceCallback* source; - // Handle of the audio device - struct sio_hdl* hdl; - // Current state of the stream - enum StreamState state; - // High priority thread running ThreadLoop() - pthread_t thread; - // Protects vol, volpending and hw_delay - pthread_mutex_t mutex; - // Current volume in the 0..SIO_MAXVOL range - int vol; - // Set to 1 if volumes must be refreshed in the realtime thread - int volpending; - // Number of frames buffered in the hardware - int hw_delay; - // Temporary buffer where data is stored sndio-compatible format - char* buffer; - - DISALLOW_COPY_AND_ASSIGN(SndioAudioOutputStream); -}; - -} // namespace media - -#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ diff --git a/srcpkgs/electron9/files/sndio-patches/media_audio_linux_audio_manager_linux.cc.patch b/srcpkgs/electron9/files/sndio-patches/media_audio_linux_audio_manager_linux.cc.patch deleted file mode 100644 index cf8e81b11d6..00000000000 --- a/srcpkgs/electron9/files/sndio-patches/media_audio_linux_audio_manager_linux.cc.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/chromium/media/audio/linux/audio_manager_linux.cc b/chromium/media/audio/linux/audio_manager_linux.cc -index 5d703549372..9e60b40c749 100644 ---- media/audio/linux/audio_manager_linux.cc -+++ media/audio/linux/audio_manager_linux.cc -@@ -20,6 +20,10 @@ - #include "media/audio/pulse/audio_manager_pulse.h" - #include "media/audio/pulse/pulse_util.h" - #endif -+#if defined(USE_SNDIO) -+#include -+#include "media/audio/openbsd/audio_manager_openbsd.h" -+#endif - - namespace media { - -@@ -27,7 +31,8 @@ enum LinuxAudioIO { - kPulse, - kAlsa, - kCras, -- kAudioIOMax = kCras // Must always be equal to largest logged entry. -+ kSndio, -+ kAudioIOMax = kSndio // Must always be equal to largest logged entry. - }; - - std::unique_ptr CreateAudioManager( -@@ -41,6 +46,17 @@ std::unique_ptr CreateAudioManager( - } - #endif - -+#if defined(USE_SNDIO) -+ struct sio_hdl * hdl = NULL; -+ if ((hdl=sio_open(SIO_DEVANY, SIO_PLAY, 1)) != NULL) { -+ sio_close(hdl); -+ UMA_HISTOGRAM_ENUMERATION("Media.LinuxAudioIO", kSndio, kAudioIOMax +1); -+ return std::make_unique(std::move(audio_thread), -+ audio_log_factory); -+ } -+ DVLOG(1) << "Sndio is not available on the OS"; -+#endif -+ - #if defined(USE_PULSEAUDIO) - pa_threaded_mainloop* pa_mainloop = nullptr; - pa_context* pa_context = nullptr; diff --git a/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_BUILD.gn.patch b/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_BUILD.gn.patch deleted file mode 100644 index ec604002668..00000000000 --- a/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_BUILD.gn.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- media/BUILD.gn 2020-03-24 10:16:30.000000000 +0100 -+++ - 2020-04-06 14:32:27.960817513 +0200 -@@ -65,6 +65,9 @@ - if (use_cras) { - defines += [ "USE_CRAS" ] - } -+ if (use_sndio) { -+ defines += [ "USE_SNDIO" ] -+ } - } - - # Internal grouping of the configs necessary to support sub-folders having their diff --git a/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_audio_BUILD.gn.patch b/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_audio_BUILD.gn.patch deleted file mode 100644 index c856de0bf2e..00000000000 --- a/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_audio_BUILD.gn.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- media/audio/BUILD.gn 2020-03-24 10:16:30.000000000 +0100 -+++ - 2020-04-06 14:31:28.871450217 +0200 -@@ -232,9 +232,19 @@ - deps += [ "//media/base/android:media_jni_headers" ] - } - -- if (is_linux) { -+ if (is_linux) { - sources += [ "linux/audio_manager_linux.cc" ] - } -+ if (use_sndio) { -+ libs += [ "sndio" ] -+ sources += [ -+ "openbsd/audio_manager_openbsd.cc", -+ "sndio/sndio_input.cc", -+ "sndio/sndio_input.h", -+ "sndio/sndio_output.cc", -+ "sndio/sndio_output.h" -+ ] -+ } - - if (use_alsa) { - libs += [ "asound" ] diff --git a/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_media__options.gni.patch b/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_media__options.gni.patch deleted file mode 100644 index 14807d8e1d3..00000000000 --- a/srcpkgs/electron9/files/sndio-patches/src_3rdparty_chromium_media_media__options.gni.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- media/media_options.gni 2020-03-24 10:16:30.000000000 +0100 -+++ - 2020-04-06 14:29:22.958630783 +0200 -@@ -114,6 +114,9 @@ - # Enables runtime selection of ALSA library for audio. - use_alsa = false - -+ # Enables runtime selection of sndio library for audio. -+ use_sndio = false -+ - # Alsa should be used on non-Android, non-Mac POSIX systems. - # Alsa should be used on desktop Chromecast and audio-only Chromecast builds. - if (is_posix && !is_android && !is_mac && diff --git a/srcpkgs/electron9/template b/srcpkgs/electron9/template deleted file mode 100644 index 9d8ce3dd5e6..00000000000 --- a/srcpkgs/electron9/template +++ /dev/null @@ -1,354 +0,0 @@ -# Template file for 'electron9' -pkgname=electron9 -version=9.4.1 -_nodever=12.14.1 -_chromiumver=83.0.4103.119 -revision=1 -archs="x86_64* i686* aarch64* ppc64le*" -build_wrksrc="src" -create_wrksrc=yes -hostmakedepends="$(vopt_if clang clang) yasm python pkgconf perl gperf bison ninja nodejs hwids - libwebp-devel freetype-devel harfbuzz-devel libpng-devel nss-devel which git libevent-devel - pciutils-devel libatomic-devel ffmpeg-devel libxml2-devel libglib-devel yarn openjdk libxslt-devel - opus-devel libXcursor-devel libXcomposite-devel libXtst-devel libXrandr-devel libXScrnSaver-devel - alsa-lib-devel re2-devel snappy-devel mit-krb5-devel $(vopt_if pulseaudio pulseaudio-devel) - $(vopt_if sndio sndio-devel)" -makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel - libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel - libXcomposite-devel speech-dispatcher-devel libXrandr-devel mit-krb5-devel - libXScrnSaver-devel alsa-lib-devel snappy-devel libdrm-devel - libxml2-devel libxslt-devel $(vopt_if pulseaudio pulseaudio-devel) libexif-devel - libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel - libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel - minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel - re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel - $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel" -short_desc="Cross platform application development framework based on web technologies" -maintainer="John " -license="BSD-3-Clause" -homepage="https://electronjs.org" -distfiles="https://github.com/electron/electron/archive/v$version.tar.gz>electron-${version}.tar.gz - https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$_chromiumver.tar.xz - https://github.com/nodejs/node/archive/v$_nodever.tar.gz>node-$_nodever.tar.gz" -checksum="953e34b156fc9cd49b8f39daf662b279930913eea7bf47265ce60b576dfc7a36 - 452cbc58895a46b2b87ba450a3f86897de92ad08ce28ffdbed6b3f12101d3788 - 01e4a960be3e26b87c55509ee1cb44a14946a4169d5cdec046dd05058d995b26" - -no_generic_pkgconfig_link=yes -lib32disabled=yes -nodebug=yes -nopie=yes # contains tools that are not PIE, enables PIE itself - -build_options="pulseaudio sndio clang" -build_options_default="pulseaudio sndio clang" - -if [ "$build_option_clang" ]; then - nocross="No proper setup for using clang as cross compiler in void yet" -elif [ "${XBPS_TARGET_MACHINE%%-musl}" = "aarch64" ]; then - broken="Falls apart at runtime when compiled with gcc" -fi - -_buildtype=Release -_is_debug=false - -CFLAGS="-Wno-unknown-warning-option -fPIC" -CXXFLAGS="-Wno-unknown-warning-option -fPIC" - -_apply_patch() { - local args="$1" pname="$(basename $2)" - - if [ ! -f ".${pname}_done" ]; then - msg_normal "$pkgver: patching: ${pname}.\n" - patch -N $args -i $2 - touch .${pname}_done - fi -} - -_get_chromium_arch() { - case "$1" in - x86_64*) echo x64 ;; - i686*) echo x86 ;; - arm*) echo arm ;; - aarch64*) echo arm64 ;; - ppc64*) echo ppc64 ;; - ppc*) echo ppc ;; - mipsel*) echo mipsel ;; - mips*) echo mips ;; - *) msg_error "$pkgver: cannot be compiled for ${XBPS_TARGET_MACHINE}.\n" ;; - esac -} - -post_extract() { - ln -s chromium-$_chromiumver src - mkdir -p src/third_party/ - ln -s ../../node-$_nodever src/third_party/electron_node - ln -s ../electron-${version} src/electron - -} -post_patch() { - cd $wrksrc - for x in $FILESDIR/patches/*; do - case "${x##*/}" in - electron*.patch) - cd src/electron - _apply_patch -p1 "$x" - cd "$wrksrc";; - esac - done - - # Sigh, electron uses git am... - if [ ! -f ".electron_patches_done" ]; then - python2 src/electron/script/list_patch_targets.py src/electron/patches/config.json | while read -r repopath; do - cd "$wrksrc"/"$repopath" - git init -q - git config "gc.auto" 0 - if [ "$repopath" != "src" ]; then - echo "/${repopath#src/}" >> "$wrksrc/$build_wrksrc/.gitignore" - fi - git add . - git -c 'user.name=Electron build' -c 'user.email=electron@ebuild' \ - commit -q -m "." || true - done - cd $wrksrc - python2 src/electron/script/apply_all_patches.py src/electron/patches/config.json - touch .electron_patches_done - fi - - for x in $FILESDIR/patches/*; do - case "${x##*/}" in - chromium*.patch) - cd src - _apply_patch -p1 "$x" - cd "$wrksrc";; - esac - done - - if [ "$XBPS_TARGET_LIBC" = "musl" ]; then - for x in $FILESDIR/musl-patches/*; do - case "${x##*/}" in - chromium*.patch) - cd src - _apply_patch -p1 "$x" - cd "$wrksrc";; - electron*.patch) - cd src/electron - _apply_patch -p1 "$x" - cd "$wrksrc";; - esac - done - fi - if [ "$build_option_sndio" ]; then - mkdir -p ${wrksrc}/${build_wrksrc}/media/audio/{sndio,openbsd} - cp ${FILESDIR}/sndio-files/sndio_*put.* \ - ${wrksrc}/${build_wrksrc}/media/audio/sndio - cp ${FILESDIR}/sndio-files/audio_manager_openbsd.* \ - ${wrksrc}/${build_wrksrc}/media/audio/openbsd - for f in "${FILESDIR}"/sndio-patches/*.patch; do - cd src - _apply_patch -p0 "$f" - cd "$wrksrc" - done - fi -} - -pre_configure() { - cd "$wrksrc/$build_wrksrc" - - # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion - touch chrome/test/data/webui/i18n_process_css_test.html - # Use the file at run time instead of effectively compiling it in - sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \ - -i services/device/public/cpp/usb/BUILD.gn - - mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ - - # reusable system library settings - local use_system=" - ffmpeg - flac - fontconfig - freetype - harfbuzz-ng - libdrm - libevent - libjpeg - libpng - libwebp - libxml - libxslt - opus - re2 - snappy - yasm - " - for _lib in $use_system libjpeg_turbo; do - msg_normal "Removing buildscripts for system provided $_lib\n" - find -type f -path "*third_party/$_lib/*" \ - \! -path "*third_party/$_lib/chromium/*" \ - \! -path "*third_party/$_lib/google/*" \ - \! -path './base/third_party/icu/*' \ - \! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \ - \! -path './third_party/harfbuzz-ng/utils/hb_scoped.h' \ - \! -path './third_party/yasm/run_yasm.py' \ - \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ - -delete - done - - - msg_normal "Replacing gn files\n" - python2 build/linux/unbundle/replace_gn_files.py --system-libraries \ - $use_system - third_party/libaddressinput/chromium/tools/update-strings.py -} - -do_configure() { - local target_arch="$(_get_chromium_arch ${XBPS_TARGET_MACHINE})" - local host_arch="$(_get_chromium_arch ${XBPS_MACHINE})" - # the build system will set march for use, adding it to cflags will break builds - export CXXFLAGS=$( shopt -s extglob; echo ${CXXFLAGS/-march=*([^ ])} ) - export CFLAGS=$( shopt -s extglob; echo ${CFLAGS/-march=*([^ ])} ) - local conf=() - cd third_party/electron_node - if [ "$CROSS_BUILD" ]; then - conf_args=" --dest-cpu=${target_arch} --cross-compiling" - fi - ./configure --prefix=/usr \ - --shared-zlib \ - --shared-libuv \ - --shared-openssl \ - --shared-cares \ - --openssl-use-def-ca-store \ - --without-npm \ - --without-dtrace \ - --without-bundled-v8 \ - ${conf_args} - - cd "$wrksrc/$build_wrksrc"/electron - yarn install - cd "$wrksrc/$build_wrksrc" - - if [ "$build_option_clang" ]; then - export CC=clang - export CXX=clang++ - export HOST_CC=clang - export HOST_CXX=clang++ - else - export CXXFLAGS="$CXXFLAGS -fpermissive" - export BUILD_CXXFLAGS="$BUILD_CXXFLAGS -fpermissive" - export BUILD_AR="$AR_host" - export BUILD_NM="$NM_host" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Void Linux use ONLY. - conf+=( - 'google_api_key="AIzaSyA9gWazKaHaNIPPg2hrMj6_ZSG8AFmq738"' - 'google_default_client_id="126659149423-hoo6ickbk3p1u2qjsdsp0ddciurfvb4t.apps.googleusercontent.com"' - 'google_default_client_secret="_ozIx2D-DKm_se_2NPwV4l5b"' - ) - - conf+=( - 'blink_symbol_level=0' - 'clang_use_chrome_plugins=false' - 'closure_compile=true' - 'custom_toolchain="//build/toolchain/linux/unbundle:default"' - ) - if [ "$CROSS_BUILD" ]; then - conf+=( - 'host_toolchain="//build/toolchain/linux/unbundle:host"' - 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:host"' - "host_pkg_config=\"$PKG_CONFIG_FOR_BUILD\"" - "pkg_config=\"$PKG_CONFIG\"" - ) - else - conf+=( - 'host_toolchain="//build/toolchain/linux/unbundle:default"' - 'v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"' - ) - fi - if [ "$build_option_sndio" ]; then - conf+=( - 'use_sndio=true' - ) - fi - conf+=( - 'enable_hangout_services_extension=true' - 'enable_nacl_nonsfi=false' - 'enable_nacl=false' - 'enable_precompiled_headers=false' - 'fatal_linker_warnings=false' - 'ffmpeg_branding="Chrome"' - 'fieldtrial_testing_like_official_build=true' - 'gold_path="/usr/bin/ld.gold"' - 'icu_use_data_file=true' - "is_clang=$(vopt_if clang true false)" - 'is_component_build=false' - "is_debug=$_is_debug" - 'is_desktop_linux=true' - 'linux_use_bundled_binutils=false' - 'proprietary_codecs=true' - 'symbol_level=0' - 'treat_warnings_as_errors=false' - 'use_allocator_shim=false' - 'use_allocator="none"' - 'use_cups=true' - 'use_custom_libcxx=false' - 'use_gnome_keyring=false' - 'use_gold=false' - 'use_lld=false' - "use_pulseaudio=$(vopt_if pulseaudio 'true' 'false')" - 'use_sysroot=false' - 'use_system_harfbuzz=true' - "target_cpu=\"$target_arch\"" - "host_cpu=\"$host_arch\"" - 'import("//electron/build/args/release.gn")' - ) - - msg_normal "Bootstrapping GN\n" - CC="${CC_FOR_BUILD:-$CC}" CXX="${CXX_FOR_BUILD:-$CXX}" LD="${LD_FOR_BUILD:-$LD}" \ - CFLAGS="${CFLAGS_FOR_BUILD:-$CFLAGS}" CXXFLAGS="${CXXFLAGS_FOR_BUILD:-$CXXFLAGS}" \ - LDFLAGS="${XBPS_LDFLAGS}" \ - python2 tools/gn/bootstrap/bootstrap.py -s -v --skip-generate-buildfiles - - msg_normal "Configuring build\n" - out/Release/gn gen out/$_buildtype --args="${conf[*]}" -} - -do_build() { - export CXXFLAGS=$( shopt -s extglob; echo ${CXXFLAGS/-march=*([^ ])} ) - export CFLAGS=$( shopt -s extglob; echo ${CFLAGS/-march=*([^ ])} ) - if [ "$build_option_clang" ]; then - export CC=clang - export CXX=clang++ - export HOST_CC=clang - export HOST_CXX=clang++ - else - export BUILD_CXXFLAGS="$BUILD_CXXFLAGS -fpermissive" - export CXXFLAGS="$CXXFLAGS -fpermissive" - export BUILD_AR="$AR_host" - export BUILD_NM="$NM_host" - fi - msg_normal "Ninja turtles GO!\n" - ninja ${makejobs} -C out/$_buildtype electron third_party/electron_node:headers - # finish rest of the build - strip -s out/$_buildtype/electron - ninja ${makejobs} -C out/$_buildtype electron_dist_zip -} - -do_install() { - vmkdir /usr/lib/$pkgname - vmkdir /usr/include/$pkgname - bsdtar -xf out/$_buildtype/dist.zip -C "$DESTDIR/usr/lib/$pkgname" - - chmod u+s "$DESTDIR/usr/lib/$pkgname/chrome-sandbox" - - cp out/$_buildtype/gen/node_headers.tar.gz "$DESTDIR"/usr/include/$pkgname - - vlicense ${wrksrc}/src/LICENSE chromium.LICENSE - vlicense ${wrksrc}/src/electron/LICENSE electron.LICENSE - vlicense ${wrksrc}/src/third_party/electron_node/LICENSE node.LICENSE - - vmkdir /usr/bin - ln -s ../lib/$pkgname/electron "$DESTDIR"/usr/bin/$pkgname -} diff --git a/srcpkgs/electron9/update b/srcpkgs/electron9/update deleted file mode 100644 index 3af8e58b535..00000000000 --- a/srcpkgs/electron9/update +++ /dev/null @@ -1,2 +0,0 @@ -site=https://www.electronjs.org/releases/stable?version=${version%%.*} -pattern='tag/v\K[\d\.]+(?=")' diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index 7e5d660788a..a13a60849e3 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -1,7 +1,7 @@ # Template file for 'removed-packages' pkgname=removed-packages version=0.1 -revision=43 +revision=44 build_style=meta short_desc="Uninstalls packages removed from repository" maintainer="Piotr Wójcik " @@ -59,6 +59,7 @@ replaces=" ebtables<=2.0.10.4_8 eclipse-ecj<=4.9_3 electron7<=7.3.3_1 + electron9<=9.4.1_1 enventor<=1.0.0_2 epstopdf<=2.27_3 fontmatrix<=0.6.0.20171228_2 From e1bfa3500364dffe9c811dd459beeab4ae87a3ac Mon Sep 17 00:00:00 2001 From: John Date: Mon, 26 Apr 2021 09:06:55 +0200 Subject: [PATCH 140/140] vscode: use electron10 --- srcpkgs/vscode/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/vscode/template b/srcpkgs/vscode/template index 16c925c3d90..50304de55ee 100644 --- a/srcpkgs/vscode/template +++ b/srcpkgs/vscode/template @@ -1,11 +1,11 @@ # Template file for 'vscode' pkgname=vscode version=1.55.2 -revision=1 -_electronver=9.4.1 +revision=2 +_electronver=10.4.3 hostmakedepends="pkg-config python nodejs yarn tar git" -makedepends="libxkbfile-devel libsecret-devel electron9" -depends="libXtst libxkbfile nss dejavu-fonts-ttf xdg-utils ripgrep electron9" +makedepends="libxkbfile-devel libsecret-devel electron10" +depends="libXtst libxkbfile nss dejavu-fonts-ttf xdg-utils ripgrep electron10" short_desc="Microsoft Code for Linux" maintainer="shizonic " license="MIT"