* updates & rebuilds for:

* Python 3.10
  * Protobuf 3.19
  * ICU 70.1
  * boost 1.78.0
  * FFMPEG 5.0
This commit is contained in:
Alexander Baldeck 2022-01-31 17:17:38 +01:00
parent 22e9d90548
commit 257c394be0
528 changed files with 9115 additions and 5857 deletions

View File

@ -4,8 +4,8 @@
# Contributor: Wieland Hoffmann <the_mineo@web.de>
pkgname=chromaprint
pkgver=1.5.0
pkgrel=3
pkgver=1.5.1
pkgrel=3.1
pkgdesc="Library for extracting fingerprints from any audio source"
url="https://acoustid.org/chromaprint"
arch=(x86_64 powerpc64le powerpc riscv64)
@ -14,14 +14,15 @@ depends=('gcc-libs' 'glibc')
makedepends=('cmake' 'ffmpeg' 'gtest')
provides=('libchromaprint.so')
# upstream signs with DSA key: https://github.com/acoustid/chromaprint/issues/81
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/acoustid/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=('333114949928abdf5d4b11aba1db6ec487eebe526324c68d903b3fa80a3af87a28d942af765a2f873e63a1bf222b658b6438cd10cde4446f61b26ea91f537469')
b2sums=('930d1a7b8fa30dc726f78e3fc93c4e1aef5036b60ceee003c36ce7ea344523ce8b3abc294a4204e9acb6472600e7cfa5b15b1ca27c2917bd161b59cac1e7120c')
source=(https://github.com/acoustid/${pkgname}/archive/v$pkgver/$pkgname-$pkgver.tar.gz
ffmpeg5.patch)
sha512sums=('ea16e4d2b879c15b1d9b9ec93878da8b893f1834c70942663e1d2d106c2e0a661094fe2dd3bae7a6c2a1f9d5d8fab5e0b0ba493561090cf57b2228606fad1e66'
'2d44d4ce2f070e48c1600b8eca386e5610262084aa1de83e46adcd2154fc178faed95a66a3f2d0b8519faa2bae666e6f7337e8a364c04e87cd5c325cbbd2328f')
b2sums=('9f7f030e97d3114cf679df298d313ea826c0fb05e7e7d8a10090d0a27ed0811b380b81b29fce973e0493826c478964367396311fd0484619cb2fc4c2d8e0d4c0'
'9e67be84d26a69916e1846533e98808044412d495abb7a5725141dd81833ac87992ba4a0a49e804c3c7ffe7b01dc2b9e112d6109643654f7fd33f422042bc3a4')
prepare() {
cd "${pkgname}-${pkgver}"
# the vendored cmake module does not find gtest
rm -v cmake/modules/FindGTest.cmake
patch -d $pkgname-$pkgver -p1 < ffmpeg5.patch
}
build() {

74
chromaprint/ffmpeg5.patch Normal file
View File

@ -0,0 +1,74 @@
From 6d938d70b1d52634f8b0d88cb29da87f8d5b35a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Mon, 17 Jan 2022 04:41:33 +0100
Subject: [PATCH] Port to ffmpeg 5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Replace removed functionality like accessing the codec context
from an AVStream and avcodec_decode_audio4()
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
---
src/audio/ffmpeg_audio_reader.h | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/audio/ffmpeg_audio_reader.h b/src/audio/ffmpeg_audio_reader.h
index 5550164..a3b8de7 100644
--- a/src/audio/ffmpeg_audio_reader.h
+++ b/src/audio/ffmpeg_audio_reader.h
@@ -74,7 +74,7 @@ class FFmpegAudioReader {
uint8_t *m_convert_buffer[1] = { nullptr };
int m_convert_buffer_nb_samples = 0;
- AVInputFormat *m_input_fmt = nullptr;
+ const AVInputFormat *m_input_fmt = nullptr;
AVDictionary *m_input_opts = nullptr;
AVFormatContext *m_format_ctx = nullptr;
@@ -153,7 +153,7 @@ inline bool FFmpegAudioReader::Open(const std::string &file_name) {
return false;
}
- AVCodec *codec;
+ const AVCodec *codec;
ret = av_find_best_stream(m_format_ctx, AVMEDIA_TYPE_AUDIO, -1, -1, &codec, 0);
if (ret < 0) {
SetError("Could not find any audio stream in the file", ret);
@@ -161,7 +161,13 @@ inline bool FFmpegAudioReader::Open(const std::string &file_name) {
}
m_stream_index = ret;
+#if LIBAVCODEC_VERSION_MAJOR >= 59
+ const AVCodec *streamcodec = avcodec_find_decoder(m_format_ctx->streams[m_stream_index]->codecpar->codec_id);
+ m_codec_ctx = avcodec_alloc_context3(streamcodec);
+ avcodec_parameters_to_context(m_codec_ctx, m_format_ctx->streams[m_stream_index]->codecpar);
+#else
m_codec_ctx = m_format_ctx->streams[m_stream_index]->codec;
+#endif
m_codec_ctx->request_sample_fmt = AV_SAMPLE_FMT_S16;
ret = avcodec_open2(m_codec_ctx, codec, nullptr);
@@ -278,7 +284,21 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, size_t *size) {
}
}
+#if LIBAVCODEC_VERSION_MAJOR < 59
ret = avcodec_decode_audio4(m_codec_ctx, m_frame, &m_got_frame, &m_packet);
+#else
+ ret = avcodec_receive_frame(m_codec_ctx, m_frame);
+ if (ret == 0)
+ m_got_frame = true;
+ if(ret == AVERROR(EAGAIN))
+ ret = 0;
+ if (ret == 0)
+ ret = avcodec_send_packet(m_codec_ctx, &m_packet);
+ if (ret == AVERROR(EAGAIN))
+ ret = 0;
+ if (ret >= 0)
+ ret = m_packet.size;
+#endif
if (ret < 0) {
if (m_decode_error) {
SetError("Error decoding audio frame", m_decode_error);

View File

@ -1,196 +0,0 @@
From 9d080c0934b848ee4a05013c78641e612fcc1e03 Mon Sep 17 00:00:00 2001
From: Dylan Cutler <dylancutler@google.com>
Date: Wed, 26 May 2021 16:39:52 +0000
Subject: [PATCH] Reland "Replace 'blacklist' with 'ignorelist' in
./tools/msan/."
This is a reland of 3b6263f2eece1264b052dfdcbc03b851d5abfb48
Relanding now that https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2897974 is merged
Original change's description:
> Replace 'blacklist' with 'ignorelist' in ./tools/msan/.
>
> Bug: 1097272, 1097268
> Change-Id: Id5c8227a5bfb1ffaec82d3168b609085b10c8297
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867730
> Commit-Queue: Dylan Cutler <dylancutler@google.com>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Jonathan Metzman <metzman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#883035}
Bug: 1097272
Bug: 1097268
Change-Id: I11a5bc8972680c95fb1dab95ed3b707ed76f4667
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-cfi-thin-lto-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911096
Commit-Queue: Dylan Cutler <dylancutler@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#886773}
---
build/config/sanitizers/BUILD.gn | 44 ++++++++++----------
build_overrides/build.gni | 14 +++----
tools/msan/{blacklist.txt => ignorelist.txt} | 0
3 files changed, 29 insertions(+), 29 deletions(-)
rename tools/msan/{blacklist.txt => ignorelist.txt} (100%)
diff --git a/build/config/sanitizers/BUILD.gn b/build/config/sanitizers/BUILD.gn
index aaaad023474d1..55b388a437439 100644
--- a/build/config/sanitizers/BUILD.gn
+++ b/build/config/sanitizers/BUILD.gn
@@ -272,11 +272,11 @@ config("asan_flags") {
if (is_asan) {
cflags += [ "-fsanitize=address" ]
if (is_win) {
- if (!defined(asan_win_blacklist_path)) {
- asan_win_blacklist_path =
+ if (!defined(asan_win_blocklist_path)) {
+ asan_win_blocklist_path =
rebase_path("//tools/memory/asan/blocklist_win.txt", root_build_dir)
}
- cflags += [ "-fsanitize-blacklist=$asan_win_blacklist_path" ]
+ cflags += [ "-fsanitize-ignorelist=$asan_win_blocklist_path" ]
}
}
}
@@ -306,13 +306,13 @@ config("link_shared_library") {
config("cfi_flags") {
cflags = []
if (is_cfi && current_toolchain == default_toolchain) {
- if (!defined(cfi_blacklist_path)) {
- cfi_blacklist_path =
+ if (!defined(cfi_ignorelist_path)) {
+ cfi_ignorelist_path =
rebase_path("//tools/cfi/ignores.txt", root_build_dir)
}
cflags += [
"-fsanitize=cfi-vcall",
- "-fsanitize-blacklist=$cfi_blacklist_path",
+ "-fsanitize-ignorelist=$cfi_ignorelist_path",
]
if (use_cfi_cast) {
@@ -409,14 +409,14 @@ config("msan_flags") {
if (is_msan) {
assert(is_linux || is_chromeos,
"msan only supported on linux x86_64/ChromeOS")
- if (!defined(msan_blacklist_path)) {
- msan_blacklist_path =
- rebase_path("//tools/msan/blacklist.txt", root_build_dir)
+ if (!defined(msan_ignorelist_path)) {
+ msan_ignorelist_path =
+ rebase_path("//tools/msan/ignorelist.txt", root_build_dir)
}
cflags = [
"-fsanitize=memory",
"-fsanitize-memory-track-origins=$msan_track_origins",
- "-fsanitize-blacklist=$msan_blacklist_path",
+ "-fsanitize-ignorelist=$msan_ignorelist_path",
]
}
}
@@ -424,13 +424,13 @@ config("msan_flags") {
config("tsan_flags") {
if (is_tsan) {
assert(is_linux || is_chromeos, "tsan only supported on linux x86_64")
- if (!defined(tsan_blacklist_path)) {
- tsan_blacklist_path =
+ if (!defined(tsan_ignorelist_path)) {
+ tsan_ignorelist_path =
rebase_path("//tools/memory/tsan_v2/ignores.txt", root_build_dir)
}
cflags = [
"-fsanitize=thread",
- "-fsanitize-blacklist=$tsan_blacklist_path",
+ "-fsanitize-ignorelist=$tsan_ignorelist_path",
]
}
}
@@ -438,8 +438,8 @@ config("tsan_flags") {
config("ubsan_flags") {
cflags = []
if (is_ubsan) {
- if (!defined(ubsan_blacklist_path)) {
- ubsan_blacklist_path =
+ if (!defined(ubsan_ignorelist_path)) {
+ ubsan_ignorelist_path =
rebase_path("//tools/ubsan/ignorelist.txt", root_build_dir)
}
cflags += [
@@ -456,7 +456,7 @@ config("ubsan_flags") {
"-fsanitize=signed-integer-overflow",
"-fsanitize=unreachable",
"-fsanitize=vla-bound",
- "-fsanitize-blacklist=$ubsan_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_ignorelist_path",
]
# Chromecast ubsan builds fail to compile with these
@@ -486,8 +486,8 @@ config("ubsan_no_recover") {
config("ubsan_security_flags") {
if (is_ubsan_security) {
- if (!defined(ubsan_security_blacklist_path)) {
- ubsan_security_blacklist_path =
+ if (!defined(ubsan_security_ignorelist_path)) {
+ ubsan_security_ignorelist_path =
rebase_path("//tools/ubsan/security_ignorelist.txt", root_build_dir)
}
cflags = [
@@ -495,7 +495,7 @@ config("ubsan_security_flags") {
"-fsanitize=shift",
"-fsanitize=signed-integer-overflow",
"-fsanitize=vla-bound",
- "-fsanitize-blacklist=$ubsan_security_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_security_ignorelist_path",
]
}
}
@@ -508,13 +508,13 @@ config("ubsan_null_flags") {
config("ubsan_vptr_flags") {
if (is_ubsan_vptr) {
- if (!defined(ubsan_vptr_blacklist_path)) {
- ubsan_vptr_blacklist_path =
+ if (!defined(ubsan_vptr_ignorelist_path)) {
+ ubsan_vptr_ignorelist_path =
rebase_path("//tools/ubsan/vptr_ignorelist.txt", root_build_dir)
}
cflags = [
"-fsanitize=vptr",
- "-fsanitize-blacklist=$ubsan_vptr_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_vptr_ignorelist_path",
]
}
}
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
index 82627b03653f1..f3e563ab701bf 100644
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -42,15 +42,15 @@ declare_args() {
# Allows different projects to specify their own suppression/ignore lists for
# sanitizer tools.
# asan_suppressions_file = "path/to/asan_suppressions.cc"
-# asan_win_blacklist_path = "path/to/asan/blocklist_win.txt"
+# asan_win_ignorelist_path = "path/to/asan/blocklist_win.txt"
# lsan_suppressions_file = "path/to/lsan_suppressions.cc"
# tsan_suppressions_file = "path/to/tsan_suppressions.cc"
-# tsan_blacklist_path = "path/to/tsan/ignores.txt"
-# msan_blacklist_path = "path/to/msan/blacklist.txt"
-# ubsan_blacklist_path = "path/to/ubsan/blacklist.txt"
-# ubsan_vptr_blacklist_path = "path/to/ubsan/vptr_blacklist.txt"
-# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt"
-# cfi_blacklist_path = "path/to/cfi/ignores.txt"
+# tsan_ignorelist_path = "path/to/tsan/ignores.txt"
+# msan_ignorelist_path = "path/to/msan/ignorelist.txt"
+# ubsan_ignorelist_path = "path/to/ubsan/ignorelist.txt"
+# ubsan_vptr_ignorelist_path = "path/to/ubsan/vptr_ignorelist.txt"
+# ubsan_security_ignorelist_path = "path/to/ubsan/security_ignorelist.txt"
+# cfi_ignorelist_path = "path/to/cfi/ignores.txt"
declare_args() {
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2
diff --git a/tools/msan/blacklist.txt b/tools/msan/ignorelist.txt
similarity index 100%
rename from tools/msan/blacklist.txt
rename to tools/msan/ignorelist.txt

View File

@ -1,71 +1,53 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=chromium
pkgver=94.0.4606.81
pkgrel=1
pkgver=97.0.4692.99
pkgrel=3
_launcher_ver=8
_gcc_patchset=3
_gcc_patchset=4
pkgdesc="A web browser built for speed, simplicity, and security"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le)
url="https://www.chromium.org/Home"
license=('BSD')
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'libva'
'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python' 'gn' 'ninja' 'clang' 'lld' 'gperf' 'nodejs' 'pipewire'
'java-runtime-headless' 'lld')
'java-runtime-headless')
optdepends=('pipewire: WebRTC desktop sharing under Wayland'
'kdialog: support for native dialogs in Plasma'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
'kwallet: support for storing passwords in KWallet on Plasma')
options=('!lto') # Chromium adds its own flags for ThinLTO
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
replace-blacklist-with-ignorelist.patch
add-a-TODO-about-a-missing-pnacl-flag.patch
use-ffile-compilation-dir.patch
wayland-fix-binding-to-wrong-version.patch
sql-make-VirtualCursor-standard-layout-type.patch
chromium-93-ffmpeg-4.4.patch
chromium-94-ffmpeg-roll.patch
chromium-breakpad-fix-build-with-glibc-2.34.patch
unexpire-accelerated-video-decode-flag.patch
use-oauth2-client-switches-as-default.patch
xxx-ppc64le-support.patch
xxx-ppc64le-sandbox-linux-stat.patch
chromium-breakpad-fix-build-with-glibc-2.34.patch
xxx-ppc64le-4k-pages.patch
xxx-ppc64le-libvpx.patch
xxx-ppc64le-swiftshader.patch
remove-strip_binary.patch
no-execinfo.patch
no-getcontext.patch
fix-narrowing-cast.patch
cursed^Uscoped_file.patch
9d080c0.patch)
sha256sums=('7071aa2b2caf48094c2ae816395948b4daec940606f4982ad5bbf68e5d2de598'
xxx-ppc64le-sandbox-linux-stat.patch
xxx-ppc64le-support.patch
xxx-ppc64le-swiftshader.patch)
sha256sums=('c91bae205705b367f2cfc1f72ce1ee99b2ceb5edfc584e15c60a6ab5ff01ecba'
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
'22692bddaf2761c6ddf9ff0bc4722972bca4d4c5b2fd3e5dbdac7eb60d914320'
'd3344ba39b8c6ed202334ba7f441c70d81ddf8cdb15af1aa8c16e9a3a75fbb35'
'd53da216538f2e741a6e048ed103964a91a98e9a3c10c27fdfa34d4692fdc455'
'921010cd8fab5f30be76c68b68c9b39fac9e21f4c4133bb709879592bbdf606e'
'7af5c0a55a20c0fb496b2f4448d89203a83bb1914754d864460e55e68731ef0b'
'29541840921302060f712838ba460cd7e988148af3ce3c9dc45437fc78442a67'
'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
'1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57'
'56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace'
'd1ad185e25a62d50bbed0dbf131e52bead8a52ccc63a53642b3a4f62056a5458'
'2a97b26c3d6821b15ef4ef1369905c6fa3e9c8da4877eb9af4361452a425290b'
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
'7f1df92cb984c86e16d3c2e10d606cbe078ca2a2f0d10d0dc2f629f6abb168d3'
'16361d737c14135e464bf52e09d0b79c0e9ef84c364253e08f435e8e72d7b5c9'
'd1ad185e25a62d50bbed0dbf131e52bead8a52ccc63a53642b3a4f62056a5458'
'c77523a0884cd7b821826c42475d10d8576ef5edf1022e2657aaf455317bd293'
'6b7ad5cd5d7d61b5441810688fc5bd99cb8198291b2252451d352a620a2e09bb'
'be9416182beb25f0835bae1dad5a26786f694dbda2e5106f83714be42add653a'
'89c4512db46368809f45f4e092279e87104ba5a7c6a812d001c606b0efd8855b'
'a76ec1a929b54d79b1fa643036fcbd9ff2c2cc99e7d7e1573122ca0b5e760347'
'26111345b8d9bf87f7336c35aa401ff2f1b2911519e7b725e224c59f33593378'
'771395e3e84a4a1627945112b8c100c898221e04d86b76d4cff946530010e1a4'
'6cfec4a32160df642ffa4b3c1e10ba19e94f1004bac65a349fa273b0f684b8ac'
'0cb44a688430efe6d3b3636d245d5d898fbd918d887938781bd4f3395228d854')
'16361d737c14135e464bf52e09d0b79c0e9ef84c364253e08f435e8e72d7b5c9'
'796d4c650ab71b6ba0ef043b060398673cb252c96c194e0bbd0a14cb7b8f94c7'
'be9416182beb25f0835bae1dad5a26786f694dbda2e5106f83714be42add653a')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
@ -112,60 +94,37 @@ prepare() {
sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
third_party/blink/renderer/core/xml/*.cc \
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/*.cc
third_party/libxml/chromium/*.cc \
third_party/maldoca/src/maldoca/ole/oss_utils.h
# Use the --oauth2-client-id= and --oauth2-client-secret= switches for
# setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at
# runtime -- this allows signing into Chromium without baked-in values
patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
# Fix build with older ffmpeg
patch -Np1 -i ../chromium-93-ffmpeg-4.4.patch
# Revert change to custom function av_stream_get_first_dts; will need to
# switch to bundled ffmpeg when we're no longer using ffmpeg 4.4 in Arch
# Upstream commit that made first_dts internal causing Chromium to add a
# custom function: https://github.com/FFmpeg/FFmpeg/commit/591b88e6787c4
# https://crbug.com/1251779
patch -Rp1 -i ../chromium-94-ffmpeg-roll.patch
# https://crbug.com/1207478
patch -Np0 -i ../unexpire-accelerated-video-decode-flag.patch
# Revert transition to -fsanitize-ignorelist (needs newer clang)
patch -Rp1 -i ../replace-blacklist-with-ignorelist.patch
# Revert addition of -ffile-compilation-dir= (needs newer clang)
patch -Rp1 -i ../add-a-TODO-about-a-missing-pnacl-flag.patch
patch -Rp1 -i ../use-ffile-compilation-dir.patch
# Upstream fixes
patch -Np1 -i ../wayland-fix-binding-to-wrong-version.patch
# https://chromium-review.googlesource.com/c/chromium/src/+/2862724
patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch
# Fixes for building with libstdc++ instead of libc++
patch -Np1 -i ../patches/chromium-90-ruy-include.patch
patch -Np1 -i ../patches/chromium-94-CustomSpaces-include.patch
patch -Np2 -i ${srcdir}/chromium-breakpad-fix-build-with-glibc-2.34.patch
# thanks Voidlinux!
patch -Np1 -i ${srcdir}/xxx-ppc64le-support.patch
patch -Np1 -i ${srcdir}/xxx-ppc64le-sandbox-linux-stat.patch
# powerpc64le stuff
patch -Np1 -i ${srcdir}/xxx-ppc64le-4k-pages.patch
patch -Np1 -i ${srcdir}/xxx-ppc64le-libvpx.patch
patch -Np1 -i ${srcdir}/xxx-ppc64le-sandbox-linux-stat.patch
patch -Np1 -i ${srcdir}/xxx-ppc64le-support.patch
patch -Np1 -i ${srcdir}/xxx-ppc64le-swiftshader.patch
patch -Np1 -i ${srcdir}/remove-strip_binary.patch
patch -Np1 -i ${srcdir}/no-execinfo.patch
patch -Np1 -i ${srcdir}/no-getcontext.patch
patch -Np1 -i ${srcdir}/fix-narrowing-cast.patch
patch -Np1 -i ${srcdir}/cursed^Uscoped_file.patch
patch -Np1 -i ${srcdir}/9d080c0.patch
# Link to system tools required by the build
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
mkdir -p third_party/node/linux/node-linux-ppc64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-ppc64/bin/
ln -s /usr/bin/java third_party/jdk/current/bin/
# Remove bundled libraries for which we will use the system copies; this
@ -201,8 +160,6 @@ build() {
export CXX=clang++
export AR=ar
export NM=nm
export CXXFLAGS=${CFLAGS/-O?/-O2}
export CFLAGS=${CFLAGS/-O?/-O2}
local _flags=(
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
@ -225,15 +182,6 @@ build() {
"google_api_key=\"$_google_api_key\""
)
case "${CARCH}" in
powerpc64le)
_flags+=('enable_jxl_decoder=false'
'target_cpu="ppc64"'
'use_lld=true'
)
;;
esac
if [[ -n ${_system_libs[icu]+set} ]]; then
_flags+=('icu_use_data_file=false')
fi
@ -251,6 +199,19 @@ build() {
CFLAGS+=' -Wno-unknown-warning-option'
CXXFLAGS+=' -Wno-unknown-warning-option'
# https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues/123
CFLAGS=${CFLAGS/-fexceptions}
CFLAGS=${CFLAGS/-fcf-protection}
CXXFLAGS=${CXXFLAGS/-fexceptions}
CXXFLAGS=${CXXFLAGS/-fcf-protection}
# This appears to cause random segfaults
CFLAGS=${CFLAGS/-fstack-clash-protection}
CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
# https://crbug.com/957519#c122
CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}
gn gen out/Release --args="${_flags[*]}"
ninja -C out/Release chrome chrome_sandbox chromedriver ${MAKEFLAGS}
}
@ -287,9 +248,17 @@ package() {
-e '/^<?xml/,$p' \
"$pkgdir/usr/share/metainfo/chromium.appdata.xml"
if [ "${CARCH}" == 'powerpc64le' ]; then
cp out/Release/chromedriver{.unstripped,}
strip out/Release/chromedriver
cp third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json out/Release/
fi
local toplevel_files=(
chrome_100_percent.pak
chrome_200_percent.pak
chrome_crashpad_handler
chromedriver
resources.pak
v8_context_snapshot.bin
@ -297,8 +266,9 @@ package() {
libEGL.so
libGLESv2.so
chromedriver
chrome_crashpad_handler
# SwiftShader ICD
libvk_swiftshader.so
vk_swiftshader_icd.json
)
if [[ -z ${_system_libs[icu]+set} ]]; then

View File

@ -1,28 +0,0 @@
From 7a23987acb698c2934958cb42a5e7b1cd73fe142 Mon Sep 17 00:00:00 2001
From: Nico Weber <thakis@chromium.org>
Date: Tue, 20 Jul 2021 21:54:09 +0000
Subject: [PATCH] build: Add a TODO about a missing pnacl flag
Change-Id: I1700d185a23afe4120e14c755782450b1bf89289
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041785
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903659}
---
build/config/compiler/BUILD.gn | 1 +
1 file changed, 1 insertion(+)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index b6e095b705..ef6d1dfc12 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1217,6 +1217,7 @@ config("compiler_deterministic") {
# we build same files with same compile flag.
# Other paths are already given in relative, no need to normalize them.
if (is_nacl) {
+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
cflags += [
"-Xclang",
"-fdebug-compilation-dir",

View File

@ -1,36 +0,0 @@
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index ac4713b07268..492a9a37d096 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -427,11 +427,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
scoped_refptr<DecoderBuffer> buffer;
if (type() == DemuxerStream::TEXT) {
- size_t id_size = 0;
+ int id_size = 0;
uint8_t* id_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
- size_t settings_size = 0;
+ int settings_size = 0;
uint8_t* settings_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
side_data.data(), side_data.size());
} else {
- size_t side_data_size = 0;
+ int side_data_size = 0;
uint8_t* side_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
packet->size - data_offset);
}
- size_t skip_samples_size = 0;
+ int skip_samples_size = 0;
const uint32_t* skip_samples_ptr =
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));

View File

@ -1,49 +0,0 @@
From b94755e4633045be96ab5e0bdde0db7e16a804bd Mon Sep 17 00:00:00 2001
From: "liberato@chromium.org" <liberato@chromium.org>
Date: Fri, 6 Aug 2021 04:25:31 +0000
Subject: [PATCH] FFmpeg M94 roll.
Contains DEPS update + chromium-side fixes.
Bug: 1227259
Change-Id: I61c5eaa789ea12c17d0cbcbf837435b9cf32479b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3011889
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Commit-Queue: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#909174}
---
media/ffmpeg/ffmpeg_common.h | 1 +
media/filters/ffmpeg_demuxer.cc | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h
index cede8ac5a7..97d6307e28 100644
--- a/media/ffmpeg/ffmpeg_common.h
+++ b/media/ffmpeg/ffmpeg_common.h
@@ -29,6 +29,7 @@ extern "C" {
#include <libavformat/avformat.h>
#include <libavformat/avio.h>
#include <libavutil/avutil.h>
+#include <libavutil/channel_layout.h>
#include <libavutil/imgutils.h>
#include <libavutil/log.h>
#include <libavutil/mastering_display_metadata.h>
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index ac4713b072..605001d935 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -106,12 +106,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) {
// Next try to use the first DTS value, for codecs where we know PTS == DTS
// (excludes all H26x codecs). The start time must be returned in PTS.
- if (stream->first_dts != kNoFFmpegTimestamp &&
+ if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
const base::TimeDelta first_pts =
- ConvertFromTimeBase(stream->time_base, stream->first_dts);
+ ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
if (first_pts < start_time)
start_time = first_pts;
}

View File

@ -1,18 +0,0 @@
--- a/base/files/scoped_file_linux.cc.orig
+++ b/base/files/scoped_file_linux.cc
@@ -77,15 +77,3 @@
}
} // namespace base
-
-extern "C" {
-
-int __close(int);
-
-__attribute__((visibility("default"), noinline)) int close(int fd) {
- if (base::IsFDOwned(fd) && g_is_ownership_enforced)
- CrashOnFdOwnershipViolation();
- return __close(fd);
-}
-
-} // extern "C"

View File

@ -1,53 +0,0 @@
--- a/base/files/file_util_linux.cc
+++ b/base/files/file_util_linux.cc
@@ -23,14 +23,14 @@
// Not all possible |statfs_buf.f_type| values are in linux/magic.h.
// Missing values are copied from the statfs man page.
- switch (statfs_buf.f_type) {
+ switch (static_cast<uintmax_t>(statfs_buf.f_type)) {
case 0:
*type = FILE_SYSTEM_0;
break;
case EXT2_SUPER_MAGIC: // Also ext3 and ext4
case MSDOS_SUPER_MAGIC:
case REISERFS_SUPER_MAGIC:
- case static_cast<int>(BTRFS_SUPER_MAGIC):
+ case BTRFS_SUPER_MAGIC:
case 0x5346544E: // NTFS
case 0x58465342: // XFS
case 0x3153464A: // JFS
@@ -40,14 +40,14 @@
*type = FILE_SYSTEM_NFS;
break;
case SMB_SUPER_MAGIC:
- case static_cast<int>(0xFF534D42): // CIFS
+ case 0xFF534D42: // CIFS
*type = FILE_SYSTEM_SMB;
break;
case CODA_SUPER_MAGIC:
*type = FILE_SYSTEM_CODA;
break;
- case static_cast<int>(HUGETLBFS_MAGIC):
- case static_cast<int>(RAMFS_MAGIC):
+ case HUGETLBFS_MAGIC:
+ case RAMFS_MAGIC:
case TMPFS_MAGIC:
*type = FILE_SYSTEM_MEMORY;
break;
--- a/base/system/sys_info_posix.cc
+++ b/base/system/sys_info_posix.cc
@@ -100,10 +100,10 @@
if (HANDLE_EINTR(statfs(path.value().c_str(), &stats)) != 0)
return false;
- switch (stats.f_type) {
+ switch (static_cast<uintmax_t>(stats.f_type)) {
case TMPFS_MAGIC:
- case static_cast<int>(HUGETLBFS_MAGIC):
- case static_cast<int>(RAMFS_MAGIC):
+ case HUGETLBFS_MAGIC:
+ case RAMFS_MAGIC:
return true;
}
return false;

View File

@ -1,75 +0,0 @@
--- a/base/debug/stack_trace_posix.cc
+++ b/base/debug/stack_trace_posix.cc
@@ -27,7 +27,7 @@
#if !defined(USE_SYMBOLIZE)
#include <cxxabi.h>
#endif
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
#include <execinfo.h>
#endif
@@ -89,7 +89,7 @@
// Note: code in this function is NOT async-signal safe (std::string uses
// malloc internally).
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !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.
@@ -136,7 +136,7 @@
virtual ~BacktraceOutputHandler() = default;
};
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !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.
@@ -839,7 +839,7 @@
// If we do not have unwind tables, then try tracing using frame pointers.
return base::debug::TraceStackFramePointers(const_cast<const void**>(trace),
count, 0);
-#elif !defined(__UCLIBC__) && !defined(_AIX)
+#elif defined(__GLIBC__) && !defined(_AIX)
// Though the backtrace API man page does not list any possible negative
// return values, we take no chance.
return base::saturated_cast<size_t>(backtrace(trace, count));
@@ -852,13 +852,13 @@
// 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(_AIX)
PrintBacktraceOutputHandler handler;
ProcessBacktrace(trace_, count_, prefix_string, &handler);
#endif
}
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
const char* prefix_string) const {
StreamBacktraceOutputHandler handler(os);
--- a/v8/src/codegen/external-reference-table.cc.orig
+++ b/v8/src/codegen/external-reference-table.cc
@@ -11,7 +11,9 @@
#if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID)
#define SYMBOLIZE_FUNCTION
+#if defined(__GLIBC__)
#include <execinfo.h>
+#endif
#include <vector>
@@ -96,7 +98,7 @@
}
const char* ExternalReferenceTable::ResolveSymbol(void* address) {
-#ifdef SYMBOLIZE_FUNCTION
+#if defined(SYMBOLIZE_FUNCTION) && defined(__GLIBC__)
char** names = backtrace_symbols(&address, 1);
const char* name = names[0];
// The array of names is malloc'ed. However, each name string is static

View File

@ -1,27 +0,0 @@
--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2015-12-06 09:59:55.554536646 +0100
+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2015-12-06 10:01:16.818238035 +0100
@@ -477,7 +477,9 @@ bool ExceptionHandler::SimulateSignalDel
siginfo.si_code = SI_USER;
siginfo.si_pid = getpid();
ucontext_t context;
+#if defined(__GLIBC__)
getcontext(&context);
+#endif
return HandleSignal(sig, &siginfo, &context);
}
@@ -647,9 +649,14 @@ 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)
return false;
+#else
+ return false;
+#endif
#if defined(__i386__)
// In CPUFillFromUContext in minidumpwriter.cc the stack pointer is retrieved

View File

@ -1,32 +0,0 @@
--- a/chrome/test/chromedriver/BUILD.gn.orig
+++ b/chrome/test/chromedriver/BUILD.gn
@@ -308,11 +308,7 @@
}
}
-if (is_linux) {
- chromedriver_output = "chromedriver.unstripped"
-} else {
- chromedriver_output = "chromedriver"
-}
+chromedriver_output = "chromedriver"
executable("$chromedriver_output") {
testonly = true
@@ -336,16 +332,6 @@
}
}
-if (is_linux) {
- strip_binary("chromedriver") {
- testonly = true
- binary_input = "$root_out_dir/$chromedriver_output"
- symbol_output = "$root_out_dir/chromedriver.debug"
- stripped_binary_output = "$root_out_dir/chromedriver"
- deps = [ ":$chromedriver_output" ]
- }
-}
-
python_library("chromedriver_py_tests") {
testonly = true
deps = [

View File

@ -1,196 +0,0 @@
From 9d080c0934b848ee4a05013c78641e612fcc1e03 Mon Sep 17 00:00:00 2001
From: Dylan Cutler <dylancutler@google.com>
Date: Wed, 26 May 2021 16:39:52 +0000
Subject: [PATCH] Reland "Replace 'blacklist' with 'ignorelist' in
./tools/msan/."
This is a reland of 3b6263f2eece1264b052dfdcbc03b851d5abfb48
Relanding now that https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2897974 is merged
Original change's description:
> Replace 'blacklist' with 'ignorelist' in ./tools/msan/.
>
> Bug: 1097272, 1097268
> Change-Id: Id5c8227a5bfb1ffaec82d3168b609085b10c8297
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867730
> Commit-Queue: Dylan Cutler <dylancutler@google.com>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Jonathan Metzman <metzman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#883035}
Bug: 1097272
Bug: 1097268
Change-Id: I11a5bc8972680c95fb1dab95ed3b707ed76f4667
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-cfi-thin-lto-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911096
Commit-Queue: Dylan Cutler <dylancutler@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#886773}
---
build/config/sanitizers/BUILD.gn | 44 ++++++++++----------
build_overrides/build.gni | 14 +++----
tools/msan/{blacklist.txt => ignorelist.txt} | 0
3 files changed, 29 insertions(+), 29 deletions(-)
rename tools/msan/{blacklist.txt => ignorelist.txt} (100%)
diff --git a/build/config/sanitizers/BUILD.gn b/build/config/sanitizers/BUILD.gn
index aaaad023474d..55b388a43743 100644
--- a/build/config/sanitizers/BUILD.gn
+++ b/build/config/sanitizers/BUILD.gn
@@ -272,11 +272,11 @@ config("asan_flags") {
if (is_asan) {
cflags += [ "-fsanitize=address" ]
if (is_win) {
- if (!defined(asan_win_blacklist_path)) {
- asan_win_blacklist_path =
+ if (!defined(asan_win_blocklist_path)) {
+ asan_win_blocklist_path =
rebase_path("//tools/memory/asan/blocklist_win.txt", root_build_dir)
}
- cflags += [ "-fsanitize-blacklist=$asan_win_blacklist_path" ]
+ cflags += [ "-fsanitize-ignorelist=$asan_win_blocklist_path" ]
}
}
}
@@ -306,13 +306,13 @@ config("link_shared_library") {
config("cfi_flags") {
cflags = []
if (is_cfi && current_toolchain == default_toolchain) {
- if (!defined(cfi_blacklist_path)) {
- cfi_blacklist_path =
+ if (!defined(cfi_ignorelist_path)) {
+ cfi_ignorelist_path =
rebase_path("//tools/cfi/ignores.txt", root_build_dir)
}
cflags += [
"-fsanitize=cfi-vcall",
- "-fsanitize-blacklist=$cfi_blacklist_path",
+ "-fsanitize-ignorelist=$cfi_ignorelist_path",
]
if (use_cfi_cast) {
@@ -409,14 +409,14 @@ config("msan_flags") {
if (is_msan) {
assert(is_linux || is_chromeos,
"msan only supported on linux x86_64/ChromeOS")
- if (!defined(msan_blacklist_path)) {
- msan_blacklist_path =
- rebase_path("//tools/msan/blacklist.txt", root_build_dir)
+ if (!defined(msan_ignorelist_path)) {
+ msan_ignorelist_path =
+ rebase_path("//tools/msan/ignorelist.txt", root_build_dir)
}
cflags = [
"-fsanitize=memory",
"-fsanitize-memory-track-origins=$msan_track_origins",
- "-fsanitize-blacklist=$msan_blacklist_path",
+ "-fsanitize-ignorelist=$msan_ignorelist_path",
]
}
}
@@ -424,13 +424,13 @@ config("msan_flags") {
config("tsan_flags") {
if (is_tsan) {
assert(is_linux || is_chromeos, "tsan only supported on linux x86_64")
- if (!defined(tsan_blacklist_path)) {
- tsan_blacklist_path =
+ if (!defined(tsan_ignorelist_path)) {
+ tsan_ignorelist_path =
rebase_path("//tools/memory/tsan_v2/ignores.txt", root_build_dir)
}
cflags = [
"-fsanitize=thread",
- "-fsanitize-blacklist=$tsan_blacklist_path",
+ "-fsanitize-ignorelist=$tsan_ignorelist_path",
]
}
}
@@ -438,8 +438,8 @@ config("tsan_flags") {
config("ubsan_flags") {
cflags = []
if (is_ubsan) {
- if (!defined(ubsan_blacklist_path)) {
- ubsan_blacklist_path =
+ if (!defined(ubsan_ignorelist_path)) {
+ ubsan_ignorelist_path =
rebase_path("//tools/ubsan/ignorelist.txt", root_build_dir)
}
cflags += [
@@ -456,7 +456,7 @@ config("ubsan_flags") {
"-fsanitize=signed-integer-overflow",
"-fsanitize=unreachable",
"-fsanitize=vla-bound",
- "-fsanitize-blacklist=$ubsan_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_ignorelist_path",
]
# Chromecast ubsan builds fail to compile with these
@@ -486,8 +486,8 @@ config("ubsan_no_recover") {
config("ubsan_security_flags") {
if (is_ubsan_security) {
- if (!defined(ubsan_security_blacklist_path)) {
- ubsan_security_blacklist_path =
+ if (!defined(ubsan_security_ignorelist_path)) {
+ ubsan_security_ignorelist_path =
rebase_path("//tools/ubsan/security_ignorelist.txt", root_build_dir)
}
cflags = [
@@ -495,7 +495,7 @@ config("ubsan_security_flags") {
"-fsanitize=shift",
"-fsanitize=signed-integer-overflow",
"-fsanitize=vla-bound",
- "-fsanitize-blacklist=$ubsan_security_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_security_ignorelist_path",
]
}
}
@@ -508,13 +508,13 @@ config("ubsan_null_flags") {
config("ubsan_vptr_flags") {
if (is_ubsan_vptr) {
- if (!defined(ubsan_vptr_blacklist_path)) {
- ubsan_vptr_blacklist_path =
+ if (!defined(ubsan_vptr_ignorelist_path)) {
+ ubsan_vptr_ignorelist_path =
rebase_path("//tools/ubsan/vptr_ignorelist.txt", root_build_dir)
}
cflags = [
"-fsanitize=vptr",
- "-fsanitize-blacklist=$ubsan_vptr_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_vptr_ignorelist_path",
]
}
}
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
index 82627b03653f..f3e563ab701b 100644
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -42,15 +42,15 @@ declare_args() {
# Allows different projects to specify their own suppression/ignore lists for
# sanitizer tools.
# asan_suppressions_file = "path/to/asan_suppressions.cc"
-# asan_win_blacklist_path = "path/to/asan/blocklist_win.txt"
+# asan_win_ignorelist_path = "path/to/asan/blocklist_win.txt"
# lsan_suppressions_file = "path/to/lsan_suppressions.cc"
# tsan_suppressions_file = "path/to/tsan_suppressions.cc"
-# tsan_blacklist_path = "path/to/tsan/ignores.txt"
-# msan_blacklist_path = "path/to/msan/blacklist.txt"
-# ubsan_blacklist_path = "path/to/ubsan/blacklist.txt"
-# ubsan_vptr_blacklist_path = "path/to/ubsan/vptr_blacklist.txt"
-# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt"
-# cfi_blacklist_path = "path/to/cfi/ignores.txt"
+# tsan_ignorelist_path = "path/to/tsan/ignores.txt"
+# msan_ignorelist_path = "path/to/msan/ignorelist.txt"
+# ubsan_ignorelist_path = "path/to/ubsan/ignorelist.txt"
+# ubsan_vptr_ignorelist_path = "path/to/ubsan/vptr_ignorelist.txt"
+# ubsan_security_ignorelist_path = "path/to/ubsan/security_ignorelist.txt"
+# cfi_ignorelist_path = "path/to/cfi/ignores.txt"
declare_args() {
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2
diff --git a/tools/msan/blacklist.txt b/tools/msan/ignorelist.txt
similarity index 100%
rename from tools/msan/blacklist.txt
rename to tools/msan/ignorelist.txt

View File

@ -1,65 +0,0 @@
From 34a955823630096f5b01c2b01d51c1ea59d22763 Mon Sep 17 00:00:00 2001
From: Zequan Wu <zequanwu@google.com>
Date: Tue, 20 Jul 2021 14:13:50 +0000
Subject: [PATCH] Use -ffile-compilation-dir= instead of
-fdebug-compilation-dir=
Bug: 1010267
Change-Id: If2b4ead8535a76490eb466a38e3d8fed6ea91079
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2770738
Auto-Submit: Zequan Wu <zequanwu@google.com>
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903456}
---
build/config/compiler/BUILD.gn | 18 ++++++++++++------
build/config/compiler/compiler.gni | 7 ++-----
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index ede07d111c..6db16c1cdd 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1216,12 +1216,18 @@ config("compiler_deterministic") {
# different build directory like "out/feature_a" and "out/feature_b" if
# we build same files with same compile flag.
# Other paths are already given in relative, no need to normalize them.
- cflags += [
- "-Xclang",
- "-fdebug-compilation-dir",
- "-Xclang",
- ".",
- ]
+ if (is_nacl) {
+ cflags += [
+ "-Xclang",
+ "-fdebug-compilation-dir",
+ "-Xclang",
+ ".",
+ ]
+ } else {
+ # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
+ # and -fcoverage-compilation-dir=.
+ cflags += [ "-ffile-compilation-dir=." ]
+ }
if (!is_win) {
# We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
index 8c259c360a..642319b4f4 100644
--- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni
@@ -225,11 +225,8 @@ declare_args() {
# deterministic builds to reduce compile times, so this is less relevant for
# official builders.
strip_absolute_paths_from_debug_symbols_default =
- # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has
- # dependency to absolute path of source files.
- !use_clang_coverage &&
- (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
- is_chromeos || (is_apple && !enable_dsyms))
+ is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
+ is_chromeos || (is_apple && !enable_dsyms)
# If the platform uses stripped absolute paths by default, then we don't expose
# it as a configuration option. If this is causing problems, please file a bug.

View File

@ -0,0 +1,683 @@
From 5e3ed3d015d0ddae5e4d813204616d89d2f859c7 Mon Sep 17 00:00:00 2001
From: Alexander Dunaev <adunaev@igalia.com>
Date: Tue, 14 Dec 2021 09:54:52 +0000
Subject: [PATCH 1/2] [linux/wayland] Fixed terminate caused by binding to
wrong version.
The Ozone/Wayland implementation had a few places where the Wayland
objects were bound without proper checking for their versions. That was
part of the technical debt not addressed before, and ended up causing
the issue explained in the linked crbug: the compositor terminates the
client that binds to the protocol that it does not actually support.
This patch fixes the issue by adding the necessary checks in all places
where they were missing. Also a convenience macro for validating the
version is proposed.
Bug: 1279574
Change-Id: I74efa97f64b480bed47372d8d559593ae84eeb18
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3337037
Reviewed-by: Maksim Sisov <msisov@igalia.com>
Commit-Queue: Alexander Dunaev <adunaev@igalia.com>
Cr-Commit-Position: refs/heads/main@{#951428}
(cherry picked from commit dd4c3ddadbb9869f59cee201a38e9ca3b9154f4d)
---
.../platform/wayland/common/wayland_object.cc | 21 +++++++++++++++++++
.../platform/wayland/common/wayland_object.h | 11 ++++++++++
.../gtk_primary_selection_device_manager.cc | 11 +++++-----
ui/ozone/platform/wayland/host/gtk_shell1.cc | 12 ++++++-----
.../wayland/host/org_kde_kwin_idle.cc | 9 ++++----
.../wayland/host/overlay_prioritizer.cc | 9 ++++----
.../wayland/host/surface_augmenter.cc | 11 ++++++----
.../host/wayland_data_device_manager.cc | 9 +++++---
ui/ozone/platform/wayland/host/wayland_drm.cc | 6 ++++--
.../platform/wayland/host/wayland_output.cc | 10 ++++-----
ui/ozone/platform/wayland/host/wayland_shm.cc | 9 ++++----
.../wayland/host/wayland_zaura_shell.cc | 9 +++++---
.../wayland/host/wayland_zcr_cursor_shapes.cc | 10 +++++----
.../wayland/host/wayland_zwp_linux_dmabuf.cc | 9 +++++---
.../host/wayland_zwp_pointer_constraints.cc | 6 +++---
.../host/wayland_zwp_pointer_gestures.cc | 7 ++++---
.../wayland_zwp_relative_pointer_manager.cc | 8 ++++---
.../wayland/host/xdg_foreign_wrapper.cc | 14 ++++++++-----
.../wayland/host/zwp_idle_inhibit_manager.cc | 10 +++++----
.../zwp_primary_selection_device_manager.cc | 9 ++++----
20 files changed, 131 insertions(+), 69 deletions(-)
diff --git a/ui/ozone/platform/wayland/common/wayland_object.cc b/ui/ozone/platform/wayland/common/wayland_object.cc
index 0374cb9d874..8faa648120d 100644
--- a/ui/ozone/platform/wayland/common/wayland_object.cc
+++ b/ui/ozone/platform/wayland/common/wayland_object.cc
@@ -35,6 +35,8 @@
#include <xdg-shell-client-protocol.h>
#include <xdg-shell-unstable-v6-client-protocol.h>
+#include "base/logging.h"
+
namespace wl {
namespace {
@@ -77,6 +79,25 @@ void delete_touch(wl_touch* touch) {
} // namespace
+bool CanBind(const std::string& interface,
+ uint32_t available_version,
+ uint32_t min_version,
+ uint32_t max_version) {
+ if (available_version < min_version) {
+ LOG(WARNING) << "Unable to bind to " << interface << " version "
+ << available_version << ". The minimum supported version is "
+ << min_version << ".";
+ return false;
+ }
+
+ if (available_version > max_version) {
+ LOG(WARNING) << "Binding to " << interface << " version " << max_version
+ << " but version " << available_version << " is available.";
+ }
+
+ return true;
+}
+
void (*ObjectTraits<wl_cursor_theme>::deleter)(wl_cursor_theme*) =
&wl_cursor_theme_destroy;
diff --git a/ui/ozone/platform/wayland/common/wayland_object.h b/ui/ozone/platform/wayland/common/wayland_object.h
index 3a8bb9e494d..ce787bf8805 100644
--- a/ui/ozone/platform/wayland/common/wayland_object.h
+++ b/ui/ozone/platform/wayland/common/wayland_object.h
@@ -79,6 +79,17 @@ struct ObjectTraits<wl_proxy> {
static void (*deleter)(void*);
};
+// Checks the given |available_version| exposed by the server against
+// |min_version| and |max_version| supported by the client.
+// Returns false (with rendering a warning) if |available_version| is less than
+// the minimum supported version.
+// Returns true otherwise, renders an info message if |available_version| is
+// greater than the maximum supported one.
+bool CanBind(const std::string& interface,
+ uint32_t available_version,
+ uint32_t min_version,
+ uint32_t max_version);
+
} // namespace wl
// Puts the forward declaration for struct TYPE and declares the template
diff --git a/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc b/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc
index af3087d1891..2991233fe6e 100644
--- a/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc
+++ b/ui/ozone/platform/wayland/host/gtk_primary_selection_device_manager.cc
@@ -16,7 +16,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxGtkPrimarySelectionDeviceManagerVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
// static
@@ -31,12 +31,13 @@ void GtkPrimarySelectionDeviceManager::Instantiate(
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->gtk_primary_selection_device_manager())
+ if (connection->gtk_primary_selection_device_manager() ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
- auto manager = wl::Bind<gtk_primary_selection_device_manager>(
- registry, name,
- std::min(version, kMaxGtkPrimarySelectionDeviceManagerVersion));
+ auto manager = wl::Bind<gtk_primary_selection_device_manager>(registry, name,
+ kMinVersion);
if (!manager) {
LOG(ERROR) << "Failed to bind gtk_primary_selection_device_manager";
return;
diff --git a/ui/ozone/platform/wayland/host/gtk_shell1.cc b/ui/ozone/platform/wayland/host/gtk_shell1.cc
index cb3b0c8fa02..26dfd7fbf3f 100644
--- a/ui/ozone/platform/wayland/host/gtk_shell1.cc
+++ b/ui/ozone/platform/wayland/host/gtk_shell1.cc
@@ -17,8 +17,8 @@ namespace {
// gtk_shell1 exposes request_focus() since version 3. Below that, it is not
// interesting for us, although it provides some shell integration that might be
// useful.
-constexpr uint32_t kMinGtkShell1Version = 3;
-constexpr uint32_t kMaxGtkShell1Version = 4;
+constexpr uint32_t kMinVersion = 3;
+constexpr uint32_t kMaxVersion = 4;
} // namespace
// static
@@ -32,11 +32,13 @@ void GtkShell1::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->gtk_shell1_ || version < kMinGtkShell1Version)
+ if (connection->gtk_shell1_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) {
return;
+ }
- auto gtk_shell1 = wl::Bind<::gtk_shell1>(
- registry, name, std::min(version, kMaxGtkShell1Version));
+ auto gtk_shell1 =
+ wl::Bind<::gtk_shell1>(registry, name, std::min(version, kMaxVersion));
if (!gtk_shell1) {
LOG(ERROR) << "Failed to bind gtk_shell1";
return;
diff --git a/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc b/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc
index 4746aa798c0..8b7a7416d95 100644
--- a/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc
+++ b/ui/ozone/platform/wayland/host/org_kde_kwin_idle.cc
@@ -13,7 +13,7 @@ namespace ui {
namespace {
-constexpr uint32_t kMaxOrgKdeKwinIdleVersion = 1;
+constexpr uint32_t kMinVersion = 1;
// After the system has gone idle, it will wait for this time before notifying
// us. This reduces "jitter" of the idle/active state, but also adds some lag
@@ -58,11 +58,12 @@ void OrgKdeKwinIdle::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->org_kde_kwin_idle_)
+ if (connection->org_kde_kwin_idle_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
- auto idle = wl::Bind<struct org_kde_kwin_idle>(
- registry, name, std::min(version, kMaxOrgKdeKwinIdleVersion));
+ auto idle = wl::Bind<struct org_kde_kwin_idle>(registry, name, kMinVersion);
if (!idle) {
LOG(ERROR) << "Failed to bind to org_kde_kwin_idle global";
return;
diff --git a/ui/ozone/platform/wayland/host/overlay_prioritizer.cc b/ui/ozone/platform/wayland/host/overlay_prioritizer.cc
index e8aaf39a337..11496b52324 100644
--- a/ui/ozone/platform/wayland/host/overlay_prioritizer.cc
+++ b/ui/ozone/platform/wayland/host/overlay_prioritizer.cc
@@ -12,7 +12,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxOverlayPrioritizerVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
// static
@@ -26,11 +26,12 @@ void OverlayPrioritizer::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->overlay_prioritizer_)
+ if (connection->overlay_prioritizer_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
- auto prioritizer = wl::Bind<overlay_prioritizer>(
- registry, name, std::min(version, kMaxOverlayPrioritizerVersion));
+ auto prioritizer = wl::Bind<overlay_prioritizer>(registry, name, kMinVersion);
if (!prioritizer) {
LOG(ERROR) << "Failed to bind overlay_prioritizer";
return;
diff --git a/ui/ozone/platform/wayland/host/surface_augmenter.cc b/ui/ozone/platform/wayland/host/surface_augmenter.cc
index 8294897bcd5..0589076bcf5 100644
--- a/ui/ozone/platform/wayland/host/surface_augmenter.cc
+++ b/ui/ozone/platform/wayland/host/surface_augmenter.cc
@@ -13,7 +13,8 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxSurfaceAugmenterVersion = 1;
+constexpr uint32_t kMinVersion = 1;
+constexpr uint32_t kMaxVersion = 1;
}
// static
@@ -27,11 +28,13 @@ void SurfaceAugmenter::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->surface_augmenter_)
+ if (connection->surface_augmenter_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) {
return;
+ }
- auto augmenter = wl::Bind<surface_augmenter>(
- registry, name, std::min(version, kMaxSurfaceAugmenterVersion));
+ auto augmenter = wl::Bind<surface_augmenter>(registry, name,
+ std::min(version, kMaxVersion));
if (!augmenter) {
LOG(ERROR) << "Failed to bind overlay_prioritizer";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc b/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc
index 408cb1c72f4..0f03942e699 100644
--- a/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc
+++ b/ui/ozone/platform/wayland/host/wayland_data_device_manager.cc
@@ -14,7 +14,8 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxDeviceManagerVersion = 3;
+constexpr uint32_t kMinVersion = 1;
+constexpr uint32_t kMaxVersion = 3;
}
// static
@@ -28,11 +29,13 @@ void WaylandDataDeviceManager::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->data_device_manager_)
+ if (connection->data_device_manager_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) {
return;
+ }
auto data_device_manager = wl::Bind<wl_data_device_manager>(
- registry, name, std::min(version, kMaxDeviceManagerVersion));
+ registry, name, std::min(version, kMaxVersion));
if (!data_device_manager) {
LOG(ERROR) << "Failed to bind to wl_data_device_manager global";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_drm.cc b/ui/ozone/platform/wayland/host/wayland_drm.cc
index d806e8e9f5d..a7ed2e20ffe 100644
--- a/ui/ozone/platform/wayland/host/wayland_drm.cc
+++ b/ui/ozone/platform/wayland/host/wayland_drm.cc
@@ -17,7 +17,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMinWlDrmVersion = 2;
+constexpr uint32_t kMinVersion = 2;
}
// static
@@ -31,8 +31,10 @@ void WaylandDrm::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->drm_ || version < kMinWlDrmVersion)
+ if (connection->drm_ ||
+ !!wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
auto wl_drm = wl::Bind<struct wl_drm>(registry, name, version);
if (!wl_drm) {
diff --git a/ui/ozone/platform/wayland/host/wayland_output.cc b/ui/ozone/platform/wayland/host/wayland_output.cc
index 2d481d1167e..13e2b2ea685 100644
--- a/ui/ozone/platform/wayland/host/wayland_output.cc
+++ b/ui/ozone/platform/wayland/host/wayland_output.cc
@@ -16,7 +16,8 @@
namespace ui {
namespace {
-constexpr uint32_t kMinWlOutputVersion = 2;
+// TODO(crbug.com/1279681): support newer versions.
+constexpr uint32_t kMinVersion = 2;
}
// static
@@ -30,14 +31,11 @@ void WaylandOutput::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (version < kMinWlOutputVersion) {
- LOG(ERROR)
- << "Unable to bind to the unsupported wl_output object with version= "
- << version << ". Minimum supported version is " << kMinWlOutputVersion;
+ if (!wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
}
- auto output = wl::Bind<wl_output>(registry, name, version);
+ auto output = wl::Bind<wl_output>(registry, name, kMinVersion);
if (!output) {
LOG(ERROR) << "Failed to bind to wl_output global";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_shm.cc b/ui/ozone/platform/wayland/host/wayland_shm.cc
index 7c6cd40569d..de97ad1c2b2 100644
--- a/ui/ozone/platform/wayland/host/wayland_shm.cc
+++ b/ui/ozone/platform/wayland/host/wayland_shm.cc
@@ -10,7 +10,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxShmVersion = 1;
+constexpr uint32_t kMinVersion = 1;
constexpr uint32_t kShmFormat = WL_SHM_FORMAT_ARGB8888;
} // namespace
@@ -25,11 +25,12 @@ void WaylandShm::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->shm_)
+ if (connection->shm_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
- auto shm =
- wl::Bind<wl_shm>(registry, name, std::min(version, kMaxShmVersion));
+ auto shm = wl::Bind<wl_shm>(registry, name, kMinVersion);
if (!shm) {
LOG(ERROR) << "Failed to bind to wl_shm global";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc b/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc
index b1ae436db08..1b5585f7c18 100644
--- a/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc
+++ b/ui/ozone/platform/wayland/host/wayland_zaura_shell.cc
@@ -19,7 +19,8 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxAuraShellVersion = 28;
+constexpr uint32_t kMinVersion = 1;
+constexpr uint32_t kMaxVersion = 28;
}
// static
@@ -33,11 +34,13 @@ void WaylandZAuraShell::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->zaura_shell_)
+ if (connection->zaura_shell_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) {
return;
+ }
auto zaura_shell = wl::Bind<struct zaura_shell>(
- registry, name, std::min(version, kMaxAuraShellVersion));
+ registry, name, std::min(version, kMaxVersion));
if (!zaura_shell) {
LOG(ERROR) << "Failed to bind zaura_shell";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc b/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc
index 094a2f98686..84d847eea16 100644
--- a/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc
+++ b/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc
@@ -16,7 +16,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxCursorShapesVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
using mojom::CursorType;
@@ -32,11 +32,13 @@ void WaylandZcrCursorShapes::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->zcr_cursor_shapes_)
+ if (connection->zcr_cursor_shapes_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
- auto zcr_cursor_shapes = wl::Bind<zcr_cursor_shapes_v1>(
- registry, name, std::min(version, kMaxCursorShapesVersion));
+ auto zcr_cursor_shapes =
+ wl::Bind<zcr_cursor_shapes_v1>(registry, name, kMinVersion);
if (!zcr_cursor_shapes) {
LOG(ERROR) << "Failed to bind zcr_cursor_shapes_v1";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc b/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc
index 7035dc4ed26..cee793b9ae8 100644
--- a/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc
+++ b/ui/ozone/platform/wayland/host/wayland_zwp_linux_dmabuf.cc
@@ -14,7 +14,8 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxLinuxDmabufVersion = 3;
+constexpr uint32_t kMinVersion = 1;
+constexpr uint32_t kMaxVersion = 3;
}
// static
@@ -28,11 +29,13 @@ void WaylandZwpLinuxDmabuf::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->zwp_dmabuf())
+ if (connection->zwp_dmabuf() ||
+ !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) {
return;
+ }
auto zwp_linux_dmabuf = wl::Bind<zwp_linux_dmabuf_v1>(
- registry, name, std::min(version, kMaxLinuxDmabufVersion));
+ registry, name, std::min(version, kMaxVersion));
if (!zwp_linux_dmabuf) {
LOG(ERROR) << "Failed to bind zwp_linux_dmabuf_v1";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc
index 24e4dacc7ee..c1aca770ff5 100644
--- a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc
+++ b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_constraints.cc
@@ -15,7 +15,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMinZwpPointerConstraintsVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
// static
@@ -30,12 +30,12 @@ void WaylandZwpPointerConstraints::Instantiate(WaylandConnection* connection,
DCHECK_EQ(interface, kInterfaceName);
if (connection->wayland_zwp_pointer_constraints_ ||
- version < kMinZwpPointerConstraintsVersion) {
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
}
auto zwp_pointer_constraints_v1 =
- wl::Bind<struct zwp_pointer_constraints_v1>(registry, name, version);
+ wl::Bind<struct zwp_pointer_constraints_v1>(registry, name, kMinVersion);
if (!zwp_pointer_constraints_v1) {
LOG(ERROR) << "Failed to bind wp_pointer_constraints_v1";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc
index 5d96c8923fd..31bffb726c6 100644
--- a/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc
+++ b/ui/ozone/platform/wayland/host/wayland_zwp_pointer_gestures.cc
@@ -19,7 +19,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMinZwpPointerGesturesVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
// static
@@ -34,11 +34,12 @@ void WaylandZwpPointerGestures::Instantiate(WaylandConnection* connection,
DCHECK_EQ(interface, kInterfaceName);
if (connection->wayland_zwp_pointer_gestures_ ||
- version < kMinZwpPointerGesturesVersion)
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
auto zwp_pointer_gestures_v1 =
- wl::Bind<struct zwp_pointer_gestures_v1>(registry, name, version);
+ wl::Bind<struct zwp_pointer_gestures_v1>(registry, name, kMinVersion);
if (!zwp_pointer_gestures_v1) {
LOG(ERROR) << "Failed to bind wp_pointer_gestures_v1";
return;
diff --git a/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc b/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc
index 3a8ef4c7f96..c84a891dfe7 100644
--- a/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc
+++ b/ui/ozone/platform/wayland/host/wayland_zwp_relative_pointer_manager.cc
@@ -14,7 +14,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMinZwpRelativePointerManagerVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
// static
@@ -30,11 +30,13 @@ void WaylandZwpRelativePointerManager::Instantiate(
DCHECK_EQ(interface, kInterfaceName);
if (connection->wayland_zwp_relative_pointer_manager_ ||
- version < kMinZwpRelativePointerManagerVersion)
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
auto zwp_relative_pointer_manager_v1 =
- wl::Bind<struct zwp_relative_pointer_manager_v1>(registry, name, version);
+ wl::Bind<struct zwp_relative_pointer_manager_v1>(registry, name,
+ kMinVersion);
if (!zwp_relative_pointer_manager_v1) {
LOG(ERROR) << "Failed to bind zwp_relative_pointer_manager_v1";
return;
diff --git a/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc b/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc
index a34b684d128..2586adf9b85 100644
--- a/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc
+++ b/ui/ozone/platform/wayland/host/xdg_foreign_wrapper.cc
@@ -19,6 +19,8 @@ constexpr char XdgForeignWrapper::kInterfaceNameV1[];
// static
constexpr char XdgForeignWrapper::kInterfaceNameV2[];
+constexpr uint32_t kMinVersion = 1;
+
using OnHandleExported = XdgForeignWrapper::OnHandleExported;
namespace {
@@ -185,15 +187,17 @@ void XdgForeignWrapper::Instantiate(WaylandConnection* connection,
uint32_t name,
const std::string& interface,
uint32_t version) {
- if (connection->xdg_foreign_)
+ if (connection->xdg_foreign_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
if (interface == kInterfaceNameV1) {
- connection->xdg_foreign_ =
- CreateWrapper<zxdg_exporter_v1>(connection, registry, name, version);
+ connection->xdg_foreign_ = CreateWrapper<zxdg_exporter_v1>(
+ connection, registry, name, kMinVersion);
} else if (interface == kInterfaceNameV2) {
- connection->xdg_foreign_ =
- CreateWrapper<zxdg_exporter_v2>(connection, registry, name, version);
+ connection->xdg_foreign_ = CreateWrapper<zxdg_exporter_v2>(
+ connection, registry, name, kMinVersion);
} else {
NOTREACHED() << " unexpected interface name: " << interface;
}
diff --git a/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc b/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc
index 47121293acb..fc05de68778 100644
--- a/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc
+++ b/ui/ozone/platform/wayland/host/zwp_idle_inhibit_manager.cc
@@ -12,7 +12,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxZwpIdleInhibitManagerVersion = 1;
+constexpr uint32_t kMinVersion = 1;
}
// static
@@ -26,11 +26,13 @@ void ZwpIdleInhibitManager::Instantiate(WaylandConnection* connection,
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->zwp_idle_inhibit_manager_)
+ if (connection->zwp_idle_inhibit_manager_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
- auto manager = wl::Bind<zwp_idle_inhibit_manager_v1>(
- registry, name, std::min(version, kMaxZwpIdleInhibitManagerVersion));
+ auto manager =
+ wl::Bind<zwp_idle_inhibit_manager_v1>(registry, name, kMinVersion);
if (!manager) {
LOG(ERROR) << "Failed to bind zwp_idle_inhibit_manager_v1";
return;
diff --git a/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc b/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc
index f6f9fd23c35..795a09c0565 100644
--- a/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc
+++ b/ui/ozone/platform/wayland/host/zwp_primary_selection_device_manager.cc
@@ -16,7 +16,7 @@
namespace ui {
namespace {
-constexpr uint32_t kMaxGtkPrimarySelectionDeviceManagerVersion = 1;
+constexpr uint32_t kMinVersion = 1;
} // namespace
// static
@@ -31,12 +31,13 @@ void ZwpPrimarySelectionDeviceManager::Instantiate(
uint32_t version) {
DCHECK_EQ(interface, kInterfaceName);
- if (connection->zwp_primary_selection_device_manager_)
+ if (connection->zwp_primary_selection_device_manager_ ||
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
+ }
auto manager = wl::Bind<zwp_primary_selection_device_manager_v1>(
- registry, name,
- std::min(version, kMaxGtkPrimarySelectionDeviceManagerVersion));
+ registry, name, kMinVersion);
if (!manager) {
LOG(ERROR) << "Failed to bind zwp_primary_selection_device_manager_v1";
return;
From cd9eae3117ccc930f0cfae6d24bba1d6d66d769c Mon Sep 17 00:00:00 2001
From: Alexander Dunaev <adunaev@igalia.com>
Date: Tue, 28 Dec 2021 14:02:05 +0000
Subject: [PATCH 2/2] [linux/wayland] Fixed terminate caused by binding to
wrong version.
This is a fixup to [1] where a typo creeped in.
[1] https://chromium-review.googlesource.com/c/chromium/src/+/3337037
Bug: 1279574
Change-Id: If8f1a308ce8d27b51a9cd4d52ad8eec2e29edf95
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3358254
Reviewed-by: Antonio Gomes <tonikitoo@igalia.com>
Commit-Queue: Alexander Dunaev <adunaev@igalia.com>
Auto-Submit: Alexander Dunaev <adunaev@igalia.com>
Cr-Commit-Position: refs/heads/main@{#954286}
(cherry picked from commit a84b79daa8897b822336b8f348ef4daaae07af37)
---
ui/ozone/platform/wayland/host/wayland_drm.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/ozone/platform/wayland/host/wayland_drm.cc b/ui/ozone/platform/wayland/host/wayland_drm.cc
index a7ed2e20ffe..b10b79412e5 100644
--- a/ui/ozone/platform/wayland/host/wayland_drm.cc
+++ b/ui/ozone/platform/wayland/host/wayland_drm.cc
@@ -32,7 +32,7 @@ void WaylandDrm::Instantiate(WaylandConnection* connection,
DCHECK_EQ(interface, kInterfaceName);
if (connection->drm_ ||
- !!wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
+ !wl::CanBind(interface, version, kMinVersion, kMinVersion)) {
return;
}

View File

@ -0,0 +1,56 @@
commit 45809f85bc3524f867e6e954f444fddd2333245a
Author: q66 <daniel@octaforge.org>
Date: Fri Jan 7 18:18:52 2022 +0100
switch ppc64 to 4k pages
since the partition allocator appears to hate larger constants
and at this point errors at compile time and i am not willing
to wade through this pile of curse and we use 4k kernels anyway,
assume 4K pages for ppc64
diff --git a/base/allocator/partition_allocator/page_allocator_constants.h b/base/allocator/partition_allocator/page_allocator_constants.h
index bfd5753..045082b 100644
--- a/base/allocator/partition_allocator/page_allocator_constants.h
+++ b/base/allocator/partition_allocator/page_allocator_constants.h
@@ -40,7 +40,7 @@ namespace base {
PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
PageAllocationGranularityShift() {
-#if defined(OS_WIN) || defined(ARCH_CPU_PPC64)
+#if defined(OS_WIN)
// Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page
// sizes. Since 64kB is the de facto standard on the platform and binaries
// compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice
diff --git a/base/allocator/partition_allocator/partition_alloc_constants.h b/base/allocator/partition_allocator/partition_alloc_constants.h
index 0b9260d..3e054ec 100644
--- a/base/allocator/partition_allocator/partition_alloc_constants.h
+++ b/base/allocator/partition_allocator/partition_alloc_constants.h
@@ -54,11 +54,6 @@ PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
PartitionPageShift() {
return 16; // 64 KiB
}
-#elif defined(ARCH_CPU_PPC64)
-PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
-PartitionPageShift() {
- return 18; // 256 KiB
-}
#elif defined(OS_APPLE) && defined(ARCH_CPU_64_BITS)
PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
PartitionPageShift() {
diff --git a/base/allocator/partition_allocator/partition_alloc_forward.h b/base/allocator/partition_allocator/partition_alloc_forward.h
index 938ea38..9414b41 100644
--- a/base/allocator/partition_allocator/partition_alloc_forward.h
+++ b/base/allocator/partition_allocator/partition_alloc_forward.h
@@ -26,7 +26,10 @@ namespace base {
//
// __STDCPP_DEFAULT_NEW_ALIGNMENT__ is C++17. As such, it is not defined on all
// platforms, as Chrome's requirement is C++14 as of 2020.
-#if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__)
+#if defined(__powerpc64__)
+/* we want this to be 16 here always */
+constexpr size_t kAlignment = 16;
+#elif defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__)
constexpr size_t kAlignment =
std::max(alignof(max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__);
#else

View File

@ -2125,8 +2125,8 @@ diff --git a/third_party/crashpad/crashpad/minidump/minidump_context_writer.h b/
index d4ab936ee..1d22fc59c 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);
@@ -315,6 +315,43 @@ class MinidumpContextMIPS64Writer final : public MinidumpContextWriter {
MinidumpContextMIPS64 context_;
};
+class MinidumpContextPPC64Writer final : public MinidumpContextWriter {
@ -2164,8 +2164,6 @@ index d4ab936ee..1d22fc59c 100644
+
+ private:
+ MinidumpContextPPC64 context_;
+
+ DISALLOW_COPY_AND_ASSIGN(MinidumpContextPPC64Writer);
+};
+
} // namespace crashpad
@ -3244,44 +3242,6 @@ index 30a2ab21d..60509f21d 100644
#endif
}
diff --git a/third_party/crashpad/crashpad/util/posix/signals_test.cc b/third_party/crashpad/crashpad/util/posix/signals_test.cc
index 54cc2f19f..298b5c993 100644
--- a/third_party/crashpad/crashpad/util/posix/signals_test.cc
+++ b/third_party/crashpad/crashpad/util/posix/signals_test.cc
@@ -46,9 +46,9 @@ 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)
@@ -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 dont generate a
// trap for divide-by-zero, so this doesnt 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 6b4566fc3..c07f732ad 100644
--- a/third_party/dav1d/BUILD.gn

View File

@ -4,7 +4,8 @@ pkgname=cifs-utils
pkgver=6.14
pkgrel=1
pkgdesc="CIFS filesystem user-space tools"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
arch=(riscv64)
url="https://wiki.samba.org/index.php/LinuxCIFS_utils"
license=('GPL')
depends=('libcap' 'keyutils' 'krb5' 'talloc' 'libwbclient' 'pam')
@ -27,7 +28,7 @@ build() {
autoreconf -i
# https://www.spinics.net/lists/linux-cifs/msg21550.html
# change back to libcap-ng depend when upstream is fixed
./configure --prefix=/usr --with-libcap=yes --sbindir=/usr/bin --disable-systemd
./configure --prefix=/usr --with-libcap=yes --sbindir=/usr/bin --disable-systemd --build=${CHOST}
make
}

View File

@ -0,0 +1,40 @@
From aa2507530076eaff042b096de55442dc8b665abb Mon Sep 17 00:00:00 2001
From: Zdenek Dohnal <zdohnal@redhat.com>
Date: Wed, 1 Dec 2021 12:00:16 +0100
Subject: [PATCH] de/index.html: Fix missing bracket (fixes issue #299)
The bracket was unintentionally removed by commit b76a97a.
---
CHANGES.md | 5 +++++
doc/de/index.html.in | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/CHANGES.md b/CHANGES.md
index d4eb9aae0..c49b902f5 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,6 +1,11 @@
CHANGES - OpenPrinting CUPS 2.4.0 - 2021-11-29
==============================================
+Changes in CUPS v2.4.1 (TBA)
+----------------------------
+
+- Fixed missing bracket in de/index.html (Issue #299)
+
Changes in CUPS v2.4.0 (29th November 2021)
-------------------------------------------
diff --git a/doc/de/index.html.in b/doc/de/index.html.in
index 30f7d288e..2b3f3a6b1 100644
--- a/doc/de/index.html.in
+++ b/doc/de/index.html.in
@@ -7,7 +7,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<meta name="viewport" content="width=device-width">
- <title>Startseite - CUPS @CUPS_VERSION@/title>
+ <title>Startseite - CUPS @CUPS_VERSION@</title>
</head>
<body>
<div class="header">

View File

@ -3,62 +3,46 @@
pkgbase="cups"
pkgname=('libcups' 'cups')
#_commit=be75d5d99a54c5f62608f7b9e98748d4c7045ec1 # master 2020-11-27
pkgver=2.3.3op2
pkgver=2.4.0
pkgrel=4
epoch=1
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
license=('Apache' 'custom')
#url="https://www.cups.org/"
url="https://github.com/OpenPrinting/cups"
url="https://openprinting.github.io/cups/"
makedepends=('libtiff' 'libpng' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
'cups-filters' 'bc' 'colord' 'gzip' 'autoconf' 'libusb' 'dbus'
'avahi' 'hicolor-icon-theme' 'systemd' 'libxcrypt' 'inetutils' 'libpaper' 'valgrind'
'git')
source=(#https://github.com/apple/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig}
https://github.com/OpenPrinting/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig}
#"git+https://github.com/OpenPrinting/cups#commit=$_commit"
source=(https://github.com/OpenPrinting/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig}
cups.logrotate
cups.pam
cups.sysusers
# improve build and linking
cups-no-export-ssllibs.patch
cups-1.6.2-statedir.patch
cups-2.4.0-statedir.patch
# bugfixes
cups-freebind.patch
guid.patch
# upstream fixes
increase_timeout.patch
0001_fix_missing_bracket.patch
)
sha256sums=('deb3575bbe79c0ae963402787f265bfcf8d804a71fc2c94318a74efec86f96df'
sha256sums=('9abecec128ca6847c5bb2d3e3d30c87b782c0697b9acf284d16fa38f80a3a6de'
'SKIP'
'd87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9'
'57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5'
'06173dfaea37bdd9b39b3e09aba98c34ae7112a2f521db45a688907d8848caa2'
'ff3eb0782af0405f5dafe89e04b1b4ea7a49afc5496860d724343bd04f375832'
'23349c96f2f7aeb7d48e3bcd35a969f5d5ac8f55a032b0cfaa0a03d7e37ea9af'
'f0b15192952c151b1843742c87850ff3a7d0f3ba5dd236ed16623ef908472ad7'
'3385047b9ac8a7b13aeb8f0ca55d15f793ce7283516db0155fe28a67923c592d'
'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d'
'72a04cb74c4b6240affbc32cf759562cca94efccc213210780b1e7b98f00dfd5')
validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security@cups.org>
validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org <security@cups.org>"
validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet <michael.r.sweet@gmail.com>"
#pkgver() {
# cd $pkgbase
# git describe --tags | sed 's/-/+/g' | sed 's/v//'
#}
'0bf6a75ba1b051771f155d9a5d36b307a6d40c6857d645b250fe93f3fb713474'
'0ad9d8342c0d453355a9cb84976f11f05f77364c899216e0a2a2ff133a356ccd')
#validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security@cups.org>
#validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org <security@cups.org>"
#validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet <michael.r.sweet@gmail.com>"
validpgpkeys=('7ADB58203CA5F046F28025B215AA6A7F4D4227D7') # "Zdenek Dohnal (Associate Software Engineer) <zdohnal@redhat.com>"
#options=(!makeflags)
prepare() {
cd "${pkgbase}"-${pkgver}
# improve build and linking
# Do not export SSL libs in cups-config
patch -Np1 -i "${srcdir}"/cups-no-export-ssllibs.patch
# move /var/run -> /run for pid file
patch -Np1 -i "${srcdir}"/cups-1.6.2-statedir.patch
patch -Np1 -i "${srcdir}"/cups-2.4.0-statedir.patch
# bug fixes
@ -69,10 +53,11 @@ prepare() {
# FS#56818 - https://github.com/apple/cups/issues/5236
patch -Np1 -i "${srcdir}"/guid.patch
# FS#70382 - https://github.com/OpenPrinting/cups/pull/174
patch -Np1 -i "${srcdir}"/increase_timeout.patch
# fix german webinterface not opening
# 0001_fix_missing_bracket.patch
patch -Np1 -i ../0001_fix_missing_bracket.patch
# Rebuild configure script for not zipping man-pages.
# Rebuild configure script
aclocal -I config-scripts
autoconf -I config-scripts
}
@ -85,7 +70,6 @@ build() {
# use fixed cups user (id 209) since systemd adds "lp" group without a fixed id
./configure --prefix=/usr \
--build=${CHOST} \
--sysconfdir=/etc \
--localstatedir=/var \
--sbindir=/usr/bin \
@ -100,10 +84,7 @@ build() {
--enable-raw-printing \
--enable-dbus=yes \
--with-dbusdir=/usr/share/dbus-1 \
--enable-ssl=yes \
--enable-relro \
--enable-threads \
--disable-avahi\
--enable-libpaper \
--with-optim="$CFLAGS" #--help
make
@ -117,14 +98,13 @@ check() {
package_libcups() {
pkgdesc="The CUPS Printing System - client libraries and headers"
depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'libusb' 'libxcrypt')
depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb' 'libxcrypt')
cd ${pkgbase}-${pkgver}
make BUILDROOT="${pkgdir}" install-headers install-libs
# put this into the libs pkg to make other software find the libs(no pkg-config file included)
mkdir -p "${pkgdir}"/usr/bin
install -m755 "${srcdir}"/"${pkgbase}"-${pkgver}/cups-config "${pkgdir}"/usr/bin/cups-config
# install -m755 "${srcdir}"/"${pkgbase}"/cups-config "${pkgdir}"/usr/bin/cups-config
# add license + exception
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" {LICENSE,NOTICE}
@ -141,7 +121,7 @@ backup=(etc/cups/cupsd.conf
etc/cups/subscriptions.conf
etc/logrotate.d/cups
etc/pam.d/cups)
depends=('acl' 'pam' "libcups>=${pkgver}" 'bc'
depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc'
'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
optdepends=('ipp-usb: allows to send HTTP requests via a USB connection on devices without Ethernet or WiFi connections'
'xdg-utils: xdg .desktop file support'
@ -181,7 +161,7 @@ optdepends=('ipp-usb: allows to send HTTP requests via a USB connection on devic
chgrp -R 209 "${pkgdir}"/etc/cups
# fix .desktop file
#sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' "${pkgdir}"/usr/share/applications/cups.desktop
sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' "${pkgdir}"/usr/share/applications/cups.desktop
# compress some driver files, adopted from Fedora
find "${pkgdir}"/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f

View File

@ -0,0 +1,11 @@
--- cups-2.4.0/config-scripts/cups-directories.m4 2021-11-29 16:12:17.094244942 +0100
+++ cups-2.4.0/config-scripts/cups-directories.m4.new 2021-11-29 16:15:16.958747398 +0100
@@ -268,7 +268,7 @@
CUPS_STATEDIR="$CUPS_SERVERROOT"
], [*], [
# All others
- CUPS_STATEDIR="$localstatedir/run/cups"
+ CUPS_STATEDIR="/run/cups"
])
])
AC_DEFINE_UNQUOTED([CUPS_STATEDIR], ["$CUPS_STATEDIR"], [Location of transient state files.])

View File

@ -1,12 +1,11 @@
diff --git a/scheduler/cups-exec.c b/scheduler/cups-exec.c
index aab43a797..46c549075 100644
--- a/scheduler/cups-exec.c
+++ b/scheduler/cups-exec.c
@@ -133,8 +133,13 @@ main(int argc, /* I - Number of command-line args */
if (setgid(gid))
exit(errno + 100);
--- cups-2.4.0/scheduler/cups-exec.c 2021-11-29 16:19:34.235186064 +0100
+++ cups-2.4.0/scheduler/cups-exec.c.new 2021-11-29 16:25:30.764049649 +0100
@@ -134,9 +134,14 @@ main(int argc, /* I - Number of command-line args */
# if CUPS_SNAP
if (setgroups(0, NULL))
# else
- if (setgroups(1, &gid))
-# endif /* CUPS_SNAP */
+#include <pwd.h>
+ struct passwd * pwd = getpwuid(uid);
+ if(initgroups(pwd->pw_name,pwd->pw_gid))
@ -14,14 +13,13 @@ index aab43a797..46c549075 100644
+ fprintf(stderr, "DEBUG: initgroups failed\n");
exit(errno + 100);
+ }
+# endif /* CUPS_SNAP */
if (uid && setuid(uid))
exit(errno + 100);
diff --git a/scheduler/util.c b/scheduler/util.c
index 19ebf069b..4638562bd 100644
--- a/scheduler/util.c
+++ b/scheduler/util.c
@@ -300,7 +300,16 @@ cupsdPipeCommand(int *pid, /* O - Process ID or 0 on error */
--- cups-2.4.0/scheduler/util.c 2021-11-29 15:27:31.000000000 +0100
+++ cups-2.4.0/scheduler/util.c.new 2021-11-29 16:29:58.810719066 +0100
@@ -296,7 +296,16 @@
*/
if (!getuid() && user)
@ -39,4 +37,3 @@ index 19ebf069b..4638562bd 100644
if ((fd = open("/dev/null", O_RDONLY)) > 0)
{

View File

@ -0,0 +1,40 @@
From f97e07ea807cc6d38774a3888a15091b20645ac6 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 9 Mar 2021 11:22:59 -0800
Subject: [PATCH] Port alternate signal stack to upcoming glibc 2.34
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align
it to max_align_t. This copies from Gnulibs c-stack.c, and works
around a portability bug in draft glibc 2.34, which no longer
defines SIGSTKSZ when _GNU_SOURCE is defined.
---
src/sysdep.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/sysdep.c b/src/sysdep.c
index 941b4e2fa2..24d8832b2f 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1785,7 +1785,15 @@ handle_arith_signal (int sig)
/* Alternate stack used by SIGSEGV handler below. */
-static unsigned char sigsegv_stack[SIGSTKSZ];
+/* Storage for the alternate signal stack.
+ 64 KiB is not too large for Emacs, and is large enough
+ for all known platforms. Smaller sizes may run into trouble.
+ For example, libsigsegv 2.6 through 2.8 have a bug where some
+ architectures use more than the Linux default of an 8 KiB alternate
+ stack when deciding if a fault was caused by stack overflow. */
+static max_align_t sigsegv_stack[(64 * 1024
+ + sizeof (max_align_t) - 1)
+ / sizeof (max_align_t)];
/* Return true if SIGINFO indicates a stack overflow. */
--
2.29.2

View File

@ -3,12 +3,13 @@
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgbase=gst-plugins-bad
pkgname=(gst-plugins-bad-libs gst-plugins-bad gst-plugin-opencv gst-plugin-wpe)
pkgname=(gst-plugins-bad-libs gst-plugins-bad gst-plugin-opencv)
[ "${CARCH}" != 'riscv64' ] && pkgname+=(gst-plugin-wpe)
pkgver=1.18.5
pkgrel=1
pkgrel=5
pkgdesc="Multimedia graph framework - bad plugins"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
license=(LGPL)
depends=(gst-plugins-base-libs orc libdrm libx11 libgudev libusb libvdpau
libxkbcommon-x11)
@ -21,30 +22,39 @@ makedepends=(mjpegtools curl chromaprint libmms faad2 libdca libdvdnav
librsvg fluidsynth lilv lv2 gst-plugins-good python git
gobject-introspection vulkan-headers vulkan-validation-layers
wayland-protocols gtk3 meson shaderc libavtp libmicrodns
zxing-cpp opencv libva wpewebkit)
makedepends_x86_64=(svthevcenc svt-hevc)
zxing-cpp opencv libva)
makedepends_powerpc=(wpewebkit)
makedepends_powerpc64le=(wpewebkit)
makedepends_x86_64=(wpewebkit)
checkdepends=(xorg-server-xvfb)
options=(!emptydirs)
_commit=d3af58d5b31941caa26c3ded85d7a7b84a91f0cc # tags/1.18.5^0
source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit")
sha256sums=('SKIP')
source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit"
1267.patch wpe-1.1.diff)
sha256sums=('SKIP'
'6b44a256d1ce3ed788d689a9abc5d8a2c4f992ce3c6c60f7a1efb4aa5cc3deb1'
'841988d7dffaf98adeff046cfeed97505a66d268c156361ac29c2b7a112cf984')
pkgver() {
cd $pkgbase
git describe --tags | sed 's/-/+/g'
}
prepare() {
cd $pkgbase
# zxing-cpp 1.1.1
git cherry-pick -n 451c875d40a92ade05389cb62ef885eefd29be4a
# Neon 0.32.x
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1267
patch -Np3 -i ../1267.patch
# wpe-webkit-1.1 (libsoup3)
patch -Np1 -i ../wpe-1.1.diff
}
build() {
case "${CARCH}" in
x86_64) EXTRA_MESON_FLAGS="-D svthevcenc=enabled" ;;
*) EXTRA_MESON_FLAGS="-D svthevcenc=disabled" ;;
esac
arch-meson $pkgbase build \
-D directfb=disabled \
-D doc=disabled \
@ -62,11 +72,10 @@ build() {
-D voamrwbenc=disabled \
-D wasapi2=disabled \
-D wasapi=disabled \
-D nvdec=disabled \
-D nvenc=disabled \
-D gobject-cast-checks=disabled \
-D svthevcenc=disabled \
-D package-name="GStreamer Bad Plugins (Arch POWER)" \
-D package-origin="https://www.archlinuxpower.org/" ${EXTRA_MESON_FLAGS}
-D package-origin="https://www.archlinuxpower.org/"
meson compile -C build
}
@ -74,9 +83,8 @@ check() (
mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
export XDG_RUNTIME_DIR
# elements_dtls test hangs sometimes
xvfb-run -s '-nolisten local' \
meson test -C build --print-errorlogs || :
meson test -C build --print-errorlogs
)
package_gst-plugins-bad-libs() {
@ -85,7 +93,7 @@ package_gst-plugins-bad-libs() {
conflicts=("gst-transcoder<1.18.0")
replaces=("gst-transcoder<1.18.0")
DESTDIR="$pkgdir" meson install -C build
meson install -C build --destdir "$pkgdir"
mkdir -p ext/lib/gstreamer-1.0
for _x in aom assrender bs2b bz2 chromaprint closedcaption colormanagement \
@ -121,7 +129,6 @@ package_gst-plugins-bad() {
libsrtp zvbi vulkan-icd-loader libxcb wayland libwebp libnice
webrtc-audio-processing wildmidi x265 zbar libavtp
libmicrodns zxing-cpp libva)
depends_x86_64=(svthevcenc svt-hevc)
optdepends=('nvidia-utils: nvcodec plugin')
mv ext "$pkgdir/usr"

View File

@ -3,47 +3,53 @@
pkgbase=gtk4
pkgname=(gtk4 gtk-update-icon-cache gtk4-docs gtk4-demos)
pkgver=4.4.0
pkgrel=1.1
pkgver=4.6.0
pkgrel=2
epoch=1
pkgdesc="GObject-based multi-platform GUI toolkit"
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://www.gtk.org/"
depends=(glib2 cairo pango fribidi gdk-pixbuf2 libepoxy libgl libegl harfbuzz
libxkbcommon graphene iso-codes tracker3 libcolord wayland
wayland-protocols libxrandr libx11 libxrender libxi libxext libxcursor
libxdamage libxfixes fontconfig libxinerama libcloudproviders libcups
rest json-glib librsvg dconf shared-mime-info
desktop-file-utils adwaita-icon-theme cantarell-fonts)
makedepends=(git meson gi-docgen shaderc sassc gobject-introspection
docbook-xsl)
arch=(x86_64 powerpc64le powerpc riscv64)
license=(LGPL)
_commit=f1f197e3b94a55d5cbfaae2498f991a0ae733b32 # tags/4.4.0^0
depends=(glib2 cairo pango fribidi gdk-pixbuf2 libpng libtiff libjpeg libepoxy
libgl libegl harfbuzz libxkbcommon graphene iso-codes tracker3
libcolord wayland libxrandr libx11 libxrender libxi libxext libxcursor
libxdamage libxfixes fontconfig libxinerama libcloudproviders libcups
gst-plugins-bad-libs librsvg dconf shared-mime-info desktop-file-utils
adwaita-icon-theme cantarell-fonts)
makedepends=(git meson gi-docgen shaderc sassc gobject-introspection docbook-xsl
wayland-protocols python-gobject python-docutils)
checkdepends=(weston)
_commit=70cb61fb7104c76a15bc6494a10e6ff1d470f6d8 # tags/4.6.0^0
source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit"
fix-resources.diff
gtk-update-icon-cache.{hook,script} gtk4-querymodules.hook)
sha256sums=('SKIP'
'd458d2b9621f5131510238f1167a758d1f6c4baabc2a7fe5f445c7bdba2b0802'
'2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8'
'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541'
'cd8e607eddd9941f279084e1d15309941423d26cca1897f43524a02e58e48816')
pkgver() {
cd gtk
git describe --tags | sed 's/-/+/g'
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
prepare() {
cd gtk
# Ensure noexecstack
git cherry-pick -n 46509b6dd28c58ae 17c2a1cb4ea2093d
git apply -3 ../fix-resources.diff
}
build() {
CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
CFLAGS+=" -DG_DISABLE_CAST_CHECKS"
local meson_options=(
-D broadway-backend=true
-D cloudproviders=enabled
-D tracker=enabled
-D colord=enabled
-D gtk_doc=true
-D media-gstreamer=disabled
-D man-pages=true
)
@ -51,6 +57,18 @@ build() {
meson compile -C build
}
check() (
export XDG_RUNTIME_DIR="$PWD/runtime-dir" WAYLAND_DISPLAY=wayland-5
mkdir -p -m 700 "$XDG_RUNTIME_DIR"
weston --backend=headless-backend.so --socket=$WAYLAND_DISPLAY --idle-time=0 &
_w=$!
trap "kill $_w; wait" EXIT
meson test -C build --print-errorlogs
)
_pick() {
local p="$1" f d; shift
for f; do
@ -115,4 +133,4 @@ package_gtk4-demos() {
mv demo/* "$pkgdir"
}
# vim:set ts=2 sw=2 et:
# vim:set sw=2 et:

View File

@ -6,7 +6,7 @@ pkgrel=1
pkgdesc="hardware identification databases"
makedepends=('git')
replaces=('hwids')
conflicts=('hwids')
provides=('hwids')
url=https://github.com/vcrhonek/hwdata
license=('GPL2')
arch=('any')

View File

@ -1,35 +0,0 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Tom Gundersen <teg@jklm.no>
pkgname=hwids
pkgver=20210613
pkgrel=1
pkgdesc="hardware identification databases"
makedepends=('git' 'unoconv')
url=https://github.com/gentoo/hwids
license=('GPL2')
arch=('any')
source=("git+https://github.com/gentoo/hwids.git#tag=${pkgname}-${pkgver}?signed"
https://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/ISA_PNPID_List.xlsx)
validpgpkeys=('226DE4AA4B9704A49DEF6B9B1A333AEFBD714C02') # Mike Gilbert
sha256sums=('SKIP'
'775323da066e5435978eac8e8dd54af15278329d1455e145d163aede27d7998e')
prepare() {
# from https://github.com/vcrhonek/hwdata/blob/master/Makefile
unoconv --stdout -f csv ${srcdir}/ISA_PNPID_List.xlsx | \
tr ' ' ' ' | \
sed -n \
-e 's/^\s*"\s*\(.*\)\s*"/\1/' \
-e 's/\s\{2,\}/ /g' \
-e 's/\s*(used as 2nd pnpid)\s*//' \
-e 's:^\(.*\)\s*,\s*\([a-zA-Z@]\{3\}\)\s*,\s*\([0-9]\+/[0-9]\+/[0-9]\+\):\2\t\1:p' | \
sed 's/\s*$$//' | sort -u >${srcdir}/pnp.ids
}
package() {
cd hwids
for ids in pci.ids usb.ids; do
install -Dm644 "$ids" "${pkgdir}/usr/share/hwdata/${ids}"
done
install -Dm644 "${srcdir}/pnp.ids" ${pkgdir}/usr/share/hwdata/pnp.ids
}

View File

@ -6,19 +6,51 @@
pkgname=libffi
pkgver=3.4.2
pkgrel=4
pkgrel=3
pkgdesc='Portable foreign function interface library'
arch=(x86_64 powerpc64le powerpc riscv64)
arch=(x86_64 powerpc64le powerpc)
url='https://sourceware.org/libffi/'
license=('MIT')
depends=('glibc')
checkdepends=('dejagnu')
provides=('libffi.so')
source=(https://github.com/libffi/libffi/releases/download/v$pkgver/libffi-$pkgver.tar.gz)
sha256sums=('540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620')
b2sums=('a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308')
source=(https://github.com/libffi/libffi/releases/download/v$pkgver/libffi-$pkgver.tar.gz
https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz
powerpc-fix.patch
powerpc-fix-2.patch
powerpc64-fix.patch
powerpc64-fix-2.patch)
sha256sums=('540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620'
'72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056'
'031647283323f81e2e3690e5237c433f89f30e031905eb4a6db11dfa83c8ad83'
'41031984367ddf06f5f1a3701f9263b25d4fe1baa02ca727bc1747afbb5c5798'
'359d8239c4864dc8fe5e429974052d58be5fe046e5fc273b5f1d89bb4e7880d6'
'01cdfd9c03cf2c1c8dbaa26c97d032c6ba28006927eaf9a64e05217dd9b03af9')
b2sums=('a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308'
'cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa'
'410418750dd12d747776eb158e86a738ad9f9495bd219a8586f02141297e1422dee51adf82d3d197a76fbbdca11da68cb5cad9bf3a2256596422b8cef8ef0d49'
'08df602aec8bc42b326bd13e03a7518c072e15c32c96c066329221a9fbfb5c3fc696d0bbbd8bcb69653bf4784808d10614e1d31b52908bd4c1dbdec62324786d'
'280e600407d03f056a9a29f9e41ef0a5735a512f78881e1e54d60e9ca7b490d781f935e65cfca349509dc5fc69566e8ce69ef7d9df345631c35f91ab98ada520'
'a6b3c226e5b9fb3fa3350ef2d73c70e6ee8ca9bded2ec0911027a2c49b49e488f668219494adb5deefee67a4d61637f9c505924d8144650c1dd66655a96b3bf6')
prepare() {
cd $pkgname-3.3
patch -Np1 -i ${srcdir}/powerpc-fix.patch
patch -Np1 -i ${srcdir}/powerpc-fix-2.patch
patch -Np1 -i ${srcdir}/powerpc64-fix.patch
patch -Np1 -i ${srcdir}/powerpc64-fix-2.patch
}
build() {
# TODO: remove this block once the libffi 3.4 rebuilds are bootstrapped
pushd $pkgname-3.3
./configure \
--prefix=/usr \
--disable-static \
--enable-pax_emutramp
make
popd
cd $pkgname-$pkgver
# remove --disable-exec-static-tramp once ghc and gobject-introspection
# work fine with it enabled (https://github.com/libffi/libffi/pull/647)
@ -36,6 +68,12 @@ check() {
}
package() {
# TODO: remove this block once the libffi 3.4 rebuilds are bootstrapped
pushd $pkgname-3.3
make DESTDIR="$srcdir"/fakeinstall install
install -Dt "$pkgdir"/usr/lib "$srcdir"/fakeinstall/usr/lib/libffi.so.7
popd
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname

View File

@ -8,7 +8,8 @@ pkgver=0.4.17
pkgrel=6
pkgdesc="Automatic proxy configuration management library"
url="https://libproxy.github.io/libproxy/"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
arch=(riscv64)
license=(LGPL)
depends=(gcc-libs glib2 dbus)
makedepends=(cmake python perl webkit2gtk git)

View File

@ -6,7 +6,7 @@ pkgname=librttopo
pkgver=1.1.0
pkgrel=3
pkgdesc="RT Topology Library"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://git.osgeo.org/gitea/rttopo/librttopo"
license=('GPL2')
depends=('geos')

View File

@ -7,7 +7,7 @@ pkgname=libspatialite
pkgver=5.0.1
pkgrel=1
pkgdesc="SQLite extension to support spatial data types and operations"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://www.gaia-gis.it/fossil/libspatialite"
license=('MPL' 'GPL' 'LGPL')
depends=('geos' 'libfreexl' 'librttopo' 'libxml2' 'minizip' 'proj' 'sqlite')

View File

@ -24,7 +24,7 @@ validpgpkeys=(
'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig)
)
sha256sums=('SKIP'
'2e2bcc5f011b9ad109f0754982348eac94dbc613e868ea928a87faac80ead2dd')
'SKIP')
export KBUILD_BUILD_HOST=archpower
export KBUILD_BUILD_USER=$pkgbase
@ -49,7 +49,7 @@ prepare() {
done
echo "Setting config..."
cp ../config .config
cp ${srcdir}/config .config
ARCH=${MYARCH} make oldconfig
ARCH=${MYARCH} make -s kernelrelease > version

File diff suppressed because it is too large Load Diff

View File

@ -2,14 +2,14 @@
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=linux-lts54
pkgver=5.4.107
pkgver=5.4.173
pkgrel=1
pkgdesc='LTS 5.4 Linux'
url="https://www.kernel.org/"
arch=(x86_64 powerpc64le powerpc)
arch=(powerpc)
license=(GPL2)
makedepends=(
bc kmod libelf cpio perl tar xz
bc kmod libelf cpio perl tar xz python-six
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick
)
options=('!strip')
@ -17,6 +17,7 @@ _srcname=linux-$pkgver
source=(
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
config # the main kernel config file
config.ppc32
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
0003-Add-support-for-ZSTD-compressed-kernel.patch
@ -27,15 +28,16 @@ validpgpkeys=(
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256sums=('1c3cef545f366b56332c11c28d074c9d9148c28059a970ec8710826652237560'
'SKIP'
sha256sums=('99e8e275b239c708bdb6a41990c4d12098a61752245dbef921a514d9f996c239'
'SKIP'
'42fe325df60408dc3d412a4c59be5856d981db8bfa08af4dbd92615fd6b7b69e'
'c8c06a5b6f169272af84a71500cef5e60006732ce28f2e382c54058c6791f9bc'
'b439f57b84bc98730c0265695abb92385ee4dcd35a5c00d4cb3d3155c75fb491'
'4fd74bb2a7101d700fba91806141339d8c9e46a14f8fc1fe276cfb68f1eec0f5'
'8b604b7dc447b5f1f6f0b6239d5dd3ec6a5336cba78ac6dcef8f3e59357bd8c0'
'b7c814c8183e4645947a6dcc3cbf80431de8a8fd4e895b780f9a5fd92f82cb8e')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_HOST=archpower
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
@ -58,15 +60,17 @@ prepare() {
echo "Setting config..."
cp ../config .config
make olddefconfig
[ "${CARCH}" = 'powerpc' ] && cp ../config.ppc32 .config
ARCH=powerpc make olddefconfig
make -s kernelrelease > version
ARCH=powerpc make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
}
build() {
cd $_srcname
make
ARCH=powerpc make all
#ARCH=powerpc make htmldocs
}
_package() {
@ -74,6 +78,7 @@ _package() {
depends=(coreutils kmod initramfs)
optdepends=('crda: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES)
cd $_srcname
local kernver="$(<version)"
@ -88,13 +93,107 @@ _package() {
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "Installing modules..."
make INSTALL_MOD_PATH="$pkgdir/usr" modules_install
ARCH=powerpc make INSTALL_MOD_PATH="$pkgdir/usr" modules_install
# remove build and source links
rm "$modulesdir"/{source,build}
}
pkgname=("$pkgbase")
_package-headers() {
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing build files..."
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
localversion.* version vmlinux
install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/arch/powerpc" -m644 arch/powerpc/Makefile
cp -t "$builddir" -a scripts
# add objtool for external module building and enabled VALIDATION_STACK option
#install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# add xfs and shmem for aufs building
mkdir -p "$builddir"/{fs/xfs,mm}
echo "Installing headers..."
cp -t "$builddir" -a include
cp -t "$builddir/arch/powerpc" -a arch/powerpc/include
install -Dt "$builddir/arch/powerpc/kernel" -m644 arch/powerpc/kernel/asm-offsets.s
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
# http://bugs.archlinux.org/task/13146
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# http://bugs.archlinux.org/task/20402
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
echo "Installing KConfig files..."
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
echo "Removing unneeded architectures..."
local arch
for arch in "$builddir"/arch/*/; do
[[ $arch = */powerpc/ ]] && continue
echo "Removing $(basename "$arch")"
rm -r "$arch"
done
echo "Removing documentation..."
rm -r "$builddir/Documentation"
echo "Removing broken symlinks..."
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
echo "Removing loose objects..."
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
echo "Stripping build tools..."
local file
while read -rd '' file; do
case "$(file -bi "$file")" in
application/x-sharedlib\;*) # Libraries (.so)
strip -v $STRIP_SHARED "$file" ;;
application/x-archive\;*) # Libraries (.a)
strip -v $STRIP_STATIC "$file" ;;
application/x-executable\;*) # Binaries
strip -v $STRIP_BINARIES "$file" ;;
application/x-pie-executable\;*) # Relocatable binaries
strip -v $STRIP_SHARED "$file" ;;
esac
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
}
_package-docs() {
pkgdesc="Documentation for the $pkgdesc kernel"
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing documentation..."
local src dst
while read -rd '' src; do
dst="${src#Documentation/}"
dst="$builddir/Documentation/${dst#output/}"
install -Dm644 "$src" "$dst"
done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/share/doc"
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
}
pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgbase=linux-ppc64
pkgver=5.16.arch1
pkgver=5.16.2.arch1
pkgrel=1
pkgdesc='Linux'
_srctag=v${pkgver%.*}-${pkgver##*.}

View File

@ -2,7 +2,7 @@
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgbase=linux
pkgver=5.16.arch1
pkgver=5.16.2.arch1
pkgrel=1
pkgdesc='Linux'
_srctag=v${pkgver%.*}-${pkgver##*.}

View File

@ -0,0 +1,37 @@
From f1e0d76264491a8d8f99a0041b1a36cf9752fd28 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Thu, 27 Feb 2020 04:24:52 -0600
Subject: [PATCH] mesa: Support flipping three-channel formats
Test system: POWER9 ppc64 (BE) system with a Radeon R5 230.
Before this commit, starting Xorg caused this message:
Assertion failed: !"Invalid array format" (../src/mesa/main/formats.c: _mesa_array_format_flip_channels: 421)
After this commit, Xorg starts successfully.
---
src/mesa/main/formats.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index 370859d37ca..2e7d5d7f05e 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -419,6 +419,14 @@ _mesa_array_format_flip_channels(mesa_array_format format)
return format;
}
+ if (num_channels == 3) {
+ static const uint8_t flip[6] = { 2, 1, 0, 3, 4, 5 };
+ _mesa_array_format_set_swizzle(&format,
+ flip[swizzle[0]], flip[swizzle[1]],
+ flip[swizzle[2]], flip[swizzle[3]]);
+ return format;
+ }
+
if (num_channels == 4) {
static const uint8_t flip[6] = { 3, 2, 1, 0, 4, 5 };
_mesa_array_format_set_swizzle(&format,
--
2.25.1

View File

@ -7,7 +7,7 @@
pkgbase=mplayer
pkgname=('mplayer' 'mencoder')
pkgver=38322
pkgrel=2
pkgrel=2.1
pkgdesc='Media player for Linux'
url='http://www.mplayerhq.hu/'
arch=(x86_64 powerpc64le powerpc)

View File

@ -0,0 +1,18 @@
--- node-17.3.0/node.gypi.orig 2022-01-18 21:15:38.301884151 +0100
+++ node-17.3.0/node.gypi 2022-01-18 21:17:26.642868147 +0100
@@ -147,8 +147,15 @@
[ 'node_shared_http_parser=="false"', {
'dependencies': [
'deps/llhttp/llhttp.gyp:llhttp'
+ 'deps/http_parser/http_parser.gyp:http_parser'
],
} ],
+
+ [ '"true"', { 'dependencies': [
+ 'deps/llhttp/llhttp.gyp:llhttp'
+ ],
+ }],
+
[ 'node_shared_cares=="false"', {
'dependencies': [ 'deps/cares/cares.gyp:cares' ],

123
pango/fix-test.diff Normal file
View File

@ -0,0 +1,123 @@
diff --git i/tests/layouts/valid-20.layout w/tests/layouts/valid-20.layout
index 93b8a1b1..db692b73 100644
--- i/tests/layouts/valid-20.layout
+++ w/tests/layouts/valid-20.layout
@@ -140,23 +140,23 @@
"glyph" : 244,
"width" : 15360,
"x-offset" : 14764,
- "y-offset" : 3844,
+ "y-offset" : 3845,
"is-cluster-start" : true,
"log-cluster" : 0
},
{
"glyph" : 272,
"width" : 15360,
"x-offset" : 14764,
"y-offset" : 4280,
"is-cluster-start" : true,
"log-cluster" : 1
},
{
"glyph" : 273,
"width" : 15360,
"x-offset" : 14764,
- "y-offset" : 3506,
+ "y-offset" : 3507,
"is-cluster-start" : true,
"log-cluster" : 2
}
diff --git i/tests/layouts/vertical.layout w/tests/layouts/vertical.layout
index e8619bfb..a7f65068 100644
--- i/tests/layouts/vertical.layout
+++ w/tests/layouts/vertical.layout
@@ -128,24 +128,24 @@
{
"glyph" : 1,
"width" : 32768,
- "x-offset" : 28835,
+ "x-offset" : 28836,
"y-offset" : 9945,
"is-cluster-start" : true,
"log-cluster" : 0
},
{
"glyph" : 2,
"width" : 32768,
- "x-offset" : 28835,
+ "x-offset" : 28836,
"y-offset" : 10764,
"is-cluster-start" : true,
"log-cluster" : 1
},
{
"glyph" : 3,
"width" : 32768,
- "x-offset" : 28835,
- "y-offset" : 10452,
+ "x-offset" : 28836,
+ "y-offset" : 10453,
"is-cluster-start" : true,
"log-cluster" : 2
}
@@ -179,24 +179,24 @@
{
"glyph" : 4,
"width" : 32768,
- "x-offset" : 28835,
- "y-offset" : 16383,
+ "x-offset" : 28836,
+ "y-offset" : 16384,
"is-cluster-start" : true,
"log-cluster" : 0
},
{
"glyph" : 5,
"width" : 32768,
- "x-offset" : 28835,
- "y-offset" : 16383,
+ "x-offset" : 28836,
+ "y-offset" : 16384,
"is-cluster-start" : true,
"log-cluster" : 3
},
{
"glyph" : 7,
"width" : 32768,
- "x-offset" : 28835,
- "y-offset" : 16383,
+ "x-offset" : 28836,
+ "y-offset" : 16384,
"is-cluster-start" : true,
"log-cluster" : 6
}
@@ -230,24 +230,24 @@
{
"glyph" : 1,
"width" : 32768,
- "x-offset" : 28835,
+ "x-offset" : 28836,
"y-offset" : 9945,
"is-cluster-start" : true,
"log-cluster" : 0
},
{
"glyph" : 2,
"width" : 32768,
- "x-offset" : 28835,
+ "x-offset" : 28836,
"y-offset" : 10764,
"is-cluster-start" : true,
"log-cluster" : 1
},
{
"glyph" : 3,
"width" : 32768,
- "x-offset" : 28835,
- "y-offset" : 10452,
+ "x-offset" : 28836,
+ "y-offset" : 10453,
"is-cluster-start" : true,
"log-cluster" : 2
}

View File

@ -10,16 +10,16 @@
pkgbase='protobuf'
pkgname=('protobuf' 'python-protobuf')
pkgver=3.17.3
pkgver=3.19.2
pkgrel=1
pkgdesc="Protocol Buffers - Google's data interchange format"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
url='https://developers.google.com/protocol-buffers/'
license=('BSD')
depends=('gcc-libs' 'glibc' 'zlib')
makedepends=('unzip' 'python-setuptools')
source=("https://github.com/protocolbuffers/$pkgname/releases/download/v$pkgver/$pkgname-all-$pkgver.tar.gz")
sha512sums=('4a5e2ba080310492eb4fd8f6d89d46591254544f4fc1ef1b6a3a285aa12089e3124ff41994455b4b77e79eb1e993c68ec9c54e13a78052b9fb29b8cbf1dc67e1')
sha512sums=('293c2851cd776bcb08be54d2e3b61814bb649a4405a2ef87455c6d976e8d0e59bbf2b844c3dcb15220e02266f263c969e5601f8ee412cbf0f7906a316b2a04be')
prepare() {
cd "$pkgbase-$pkgver"

View File

@ -1,5 +1,5 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
# Contributor: Chris <seitz.christoph@gmail.com>
@ -7,7 +7,7 @@
# Contributor: atweiden <archbaum@gmail.com>
pkgname=ansible-core
pkgver=2.11.5
pkgver=2.12.1
pkgrel=1
pkgdesc='Radically simple IT automation platform'
arch=('any')
@ -26,7 +26,7 @@ optdepends=('sshpass: for ssh connections with password'
makedepends=('python-setuptools')
backup=('etc/ansible/ansible.cfg')
source=("https://pypi.python.org/packages/source/a/ansible-core/ansible-core-${pkgver}.tar.gz")
sha512sums=('73cfdb65e984856b84a0f7d0e1164a97ddbcdc38e00479f15c4a335297ba3a8f43dc503dc5b4a3f1fea06f91a3c4590b66dd680adb95b765c034207a8de5d589')
sha512sums=('89468d172dca502da42b94d0a781906578322ac531b3dfc3cece383b0e93fbec0f199d7b76abfd80d24654d5d939ee66a15b74565f50cca0c72d427aab9f4e08')
build() {
cd ansible-core-${pkgver}

View File

@ -1,8 +1,7 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
pkgname=ansible
pkgver=4.6.0
pkgver=5.2.0
pkgrel=1
pkgdesc='Official assortment of Ansible collections'
arch=('any')
@ -10,7 +9,8 @@ url='https://pypi.org/project/ansible/'
license=('GPL3')
depends=('python' 'ansible-core')
provides=('python-ansible_collections')
optdepends=('python-pyopenssl: openssl modules'
optdepends=('python-argcomplete: shell completions'
'python-pyopenssl: openssl modules'
'python-dnspython: for dig lookup'
'python-ovirt-engine-sdk: ovirt support'
'python-boto3: aws_s3 module'
@ -23,7 +23,7 @@ optdepends=('python-pyopenssl: openssl modules'
'acme-tiny: openssl_certificate module')
makedepends=('python-setuptools')
source=("https://pypi.python.org/packages/source/a/ansible/ansible-${pkgver}.tar.gz")
sha512sums=('5b7fad69628dded0b42a25e3f2fbbcc30ef876dc3f97dc1dff2c7db6443d1506fe5db62bc4d8a00ebfb7dc78ecc205a56bea3bf760f85260c835b2286f63b702')
sha512sums=('8aa65099d1843612db260eb674049c0cae4f2a51ba9acbfdd7ecdce42206f360c1c4592de1d728cbf161b50caf265dbd3a5184b91b74a7abac127827ed4012ac')
build() {
cd ansible-${pkgver}

View File

@ -4,7 +4,7 @@
# Contributor: Sergey Mastykov <smastykov[at]gmail[dot]com>
pkgname=autopep8
pkgver=1.5.7
pkgver=1.6.0
pkgrel=2
epoch=1
pkgdesc="A tool that automatically formats Python code to conform to the PEP 8 style guide"
@ -13,11 +13,10 @@ url="https://github.com/hhatto/autopep8"
license=('MIT')
depends=('python-pycodestyle' 'python-toml')
source=("https://github.com/hhatto/autopep8/archive/v$pkgver/$pkgname-$pkgver.tar.gz")
sha512sums=('997cf823e0313013d9ba2ee6df568ed41786d4b7d1baada3099fdc11c3698d543285f1eb4dd30401eb442bd908f386fe37c27afa4a1cb668a7b68568107bfaa0')
sha512sums=('4e95c46ed8542de7dfdfb1d5e73e8551df2fce8f5371e34580359285441288abdaefde1edc4f2c9701c2883fd189a8448f761b3db0a23ea425db71f8af0ded53')
build() {
cd autopep8-$pkgver
export PYTHONHASHSEED=0
python setup.py build
}

View File

@ -4,7 +4,7 @@
pkgname=blockdiag
pkgver=2.0.1
pkgrel=4
pkgrel=6
pkgdesc="blockdiag generates block-diagram image from text"
url="http://blockdiag.com"
license=('Apache')

View File

@ -3,7 +3,7 @@
pkgname=dbus-python
pkgver=1.2.18
pkgrel=1
pkgrel=3
pkgdesc="Python bindings for DBUS"
url="https://www.freedesktop.org/wiki/Software/DBusBindings"
arch=(x86_64 powerpc64le powerpc riscv64)

View File

@ -5,7 +5,7 @@
pkgbase=django
pkgname=('python-django')
pkgver=3.2.7
pkgver=3.2.10
pkgrel=1
pkgdesc="A high-level Python Web framework that encourages rapid development and clean design"
arch=('any')
@ -18,7 +18,7 @@ depends=('python' 'python-pytz' 'python-sqlparse' 'python-asgiref')
optdepends=('python-psycopg2: for PostgreSQL backend'
'python-argon2_cffi: for Argon2 password hashing support')
source=("Django-$pkgver.tar.gz::https://www.djangoproject.com/download/$pkgver/tarball/")
sha512sums=('6dc497fdeee24dbca85654999ae98cb776cf32b7c38e4431eeed66befb7d663e3880bf5dec0a9573e64678938c443282c3e5b9be9d25b6863481c5208a1ed98c')
sha512sums=('6b793a1e544ab988d909d9fc5152d9dbba864c4916bb1f703a07c72f1a945ba93ba53b2f8843b67a16d0e68a736c43faf2f3d8aaa0867de1668c3845c24da7da')
build() {
cd "$srcdir/Django-$pkgver"

View File

@ -5,8 +5,8 @@
# Contributor: Allen Li <darkfeline at abagofapples.com>
pkgname=flake8
pkgver=3.9.2
pkgrel=2
pkgver=4.0.1
pkgrel=3
epoch=1
pkgdesc="The modular source code checker: pep8, pyflakes and co"
arch=('any')
@ -16,7 +16,7 @@ depends=('python-pyflakes' 'python-mccabe' 'python-pycodestyle' 'python-entrypoi
makedepends=('python-setuptools')
checkdepends=('python-mock' 'python-pytest')
source=("https://github.com/PyCQA/flake8/archive/$pkgver/$pkgname-$pkgver.tar.gz")
sha512sums=('d4be223020a1ff47bd831667f2380a1b0aabdf783c34276b93873d6cbb0ac17cd0d7be26e819018660f622198a6d05edc5797ee81996214a98fcdb9f81e46365')
sha512sums=('6a3749b6c23bc2417351829340ec212c3305bd6a740cb77d4309296031abaa150ccff64b456e847540eb05cf635ed65025d4835d8663af6c8903491034998313')
prepare() {
sed -i -e 's/, *< *[0-9=.]*//' flake8-$pkgver/setup.py
@ -26,7 +26,6 @@ prepare() {
build() {
cd flake8-$pkgver
export PYTHONHASHSEED=0
python setup.py build
}
@ -35,7 +34,7 @@ check() {
cd flake8-$pkgver
python setup.py install --root="$PWD/tmp_install" --optimize=1
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.9/site-packages:$PYTHONPATH" pytest
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.10/site-packages:$PYTHONPATH" pytest
}
package() {

View File

@ -6,7 +6,7 @@
pkgname=gunicorn
pkgver=20.1.0
pkgrel=1
pkgrel=3
pkgdesc='WSGI HTTP Server for UNIX'
arch=('any')
url='https://gunicorn.org/'
@ -16,11 +16,17 @@ optdepends=('python-eventlet: For asynchronous request handling with eventlet.'
'python-gevent: For asynchronous request handling with gevent.')
checkdepends=('python-aiohttp' 'python-coverage' 'python-pytest' 'python-pytest-cov'
'python-eventlet' 'python-gevent')
source=("$pkgname-$pkgver.tar.gz::https://github.com/benoitc/$pkgname/archive/$pkgver.tar.gz")
sha512sums=('4fd905f62adc30e044cf2a56a1a77e14bc633258267d6bfbd4f6a68494f93f377e9fb9ed94fab7f11f9d7813857a680974a88c4b6bf97d4f1b74792a81810111')
source=("$pkgname-$pkgver.tar.gz::https://github.com/benoitc/$pkgname/archive/$pkgver.tar.gz"
"$pkgname-eventlet-0.30.3.patch::https://github.com/benoitc/gunicorn/commit/6a8ebb4844b2.patch")
sha512sums=('4fd905f62adc30e044cf2a56a1a77e14bc633258267d6bfbd4f6a68494f93f377e9fb9ed94fab7f11f9d7813857a680974a88c4b6bf97d4f1b74792a81810111'
'b9c11eab4725a05fffc21b74636518674139d458eb7267729cfbad5f96470600396f71faa1027160dd51e610d74ff785fc03e2d661837808062328a66d6a0442')
prepare() {
sed -e 's/==/>=/' -e 's/,<.*$//' -i gunicorn-$pkgver/requirements_test.txt
cd gunicorn-$pkgver
sed -e 's/==/>=/' -e 's/,<.*$//' -i requirements_test.txt
# https://github.com/benoitc/gunicorn/pull/2581
patch -Np1 -i ../$pkgname-eventlet-0.30.3.patch
}
build() {

View File

@ -3,7 +3,7 @@
pkgname=httpbin
pkgver=0.7.0
pkgrel=6
pkgrel=8
pkgdesc="HTTP Request and Response Service"
arch=('any')
url="https://github.com/requests/httpbin"
@ -13,13 +13,17 @@ depends=('python-flask' 'python-markupsafe' 'python-itsdangerous' 'python-six' '
'python-blinker')
makedepends=('python-setuptools')
source=("$pkgname-$pkgver.tar.gz::https://github.com/requests/httpbin/archive/v$pkgver.tar.gz"
httpbin-werkzeug-0.15.1.patch)
httpbin-werkzeug-0.15.1.patch
httpbin-werkzeug-2.0.0.patch)
sha512sums=('faec48a0a2ac8800293b10281966a28195884ad2f69f0f28f1b8c8e1a7bfd8933ebbc9b541c80cdc19e1031a8ba9383afe8e372b9044436cb307dd1e8eddaae7'
'3c058ca5f685e281f7d60216de844e58727e7677766660df410ec57d8c985485cf611ec64eb71a234bdd49b4fdf66be6138d4bb7258d9e6d0346d6c6ee9f3cdf')
'3c058ca5f685e281f7d60216de844e58727e7677766660df410ec57d8c985485cf611ec64eb71a234bdd49b4fdf66be6138d4bb7258d9e6d0346d6c6ee9f3cdf'
'25aced8dc34ed517ba7304d86d7e32fc49282262512962edf743265c78f3c5a2e3324902ec76ea121c11a9af0219d8c4e506ce301ad625d9e72f07491b8cbe49')
prepare() {
patch -d httpbin-$pkgver -p1 -i ../httpbin-werkzeug-0.15.1.patch
sed -i 's/brotlipy/Brotli/g' httpbin-$pkgver/setup.py
cd httpbin-$pkgver
patch -p1 -i ../httpbin-werkzeug-0.15.1.patch
patch -p1 -i ../httpbin-werkzeug-2.0.0.patch
sed -i 's/brotlipy/Brotli/g' setup.py
}
build() {

View File

@ -0,0 +1,32 @@
From ccd417eea8d13192ea980539e1a4bbe31206c802 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 19 Jul 2021 15:41:23 -0700
Subject: [PATCH] Fix disabling of location header autocorrect for werkzeug 2+
(#647)
In werkzeug 2.0.0 and later, the Location header autocorrection
moved from BaseResponse to Response, so we need to set
`autocorrect_location_header = False` in `Response` not
`BaseResponse`. For now let's just set it in both to be safe,
this doesn't cause any errors at least with 1.0.1 and 2.0.1.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
httpbin/core.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/httpbin/core.py b/httpbin/core.py
index 305c9882..3726e21f 100644
--- a/httpbin/core.py
+++ b/httpbin/core.py
@@ -77,7 +77,10 @@ def jsonify(*args, **kwargs):
# Prevent WSGI from correcting the casing of the Location header
+# and forcing it to be absolute. This moved from BaseResponse to
+# Response in werkzeug 2.0.0, so we set both to be safe.
BaseResponse.autocorrect_location_header = False
+Response.autocorrect_location_header = False
# Find the correct template folder when running from a different location
tmpl_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "templates")

View File

@ -2,7 +2,7 @@
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
pkgname=hypercorn
pkgver=0.11.2
pkgver=0.13.1
pkgrel=1
pkgdesc='An ASGI Server based on Hyper libraries and inspired by Gunicorn'
url=https://gitlab.com/pgjones/hypercorn
@ -18,7 +18,8 @@ depends=(
)
makedepends=(
git
python-setuptools
python-pip
python-poetry
)
checkdepends=(
python-distlib
@ -30,36 +31,29 @@ checkdepends=(
python-tox
python-trio
)
optdepends=(
'python-trio: trio support'
)
_tag=6ab2ab9f187526d5da5c2a12220d7abfc7573d0b
optdepends=('python-trio: trio support')
_tag=da787f7b36e15ba302d6ee7f1247e10b6c822b4d
source=(git+https://gitlab.com/pgjones/hypercorn.git#tag=${_tag})
sha256sums=(SKIP)
pkgver() {
cd hypercorn
git describe --tags
}
build() {
cd hypercorn
python setup.py build
poetry build --format wheel
}
check() {
cd hypercorn
tox -e py39
# tox -e py310
}
package() {
cd hypercorn
python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/hypercorn/
PIP_CONFIG_FILE=/dev/null pip install --isolated --root="${pkgdir}" --ignore-installed --no-deps hypercorn/dist/*.whl
install -Dm 644 hypercorn/LICENSE -t "${pkgdir}"/usr/share/licenses/hypercorn/
}
# vim: ts=2 sw=2 et:

View File

@ -7,9 +7,9 @@
pkgname=('libvirt-python')
epoch=1
pkgver=7.8.0
pkgrel=1
pkgrel=3
pkgdesc="libvirt python binding"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://pypi.python.org/pypi/libvirt-python"
license=('LGPL')
makedepends=('python' 'libvirt')

View File

@ -3,7 +3,7 @@
pkgname=mallard-ducktype
pkgver=1.0.2
pkgrel=6
pkgrel=8
pkgdesc="Parser for the lightweight Ducktype syntax for Mallard"
url="http://projectmallard.org"
arch=(any)

View File

@ -4,7 +4,7 @@
# Contributor: hexchain <i@hexchain.org>
pkgname=mypy
pkgver=0.910
pkgver=0.931
pkgrel=2
pkgdesc='Optional static typing for Python 2 and 3 (PEP484)'
url="http://www.mypy-lang.org/"
@ -14,11 +14,10 @@ depends=('python-psutil' 'python-typed-ast' 'python-mypy_extensions'
'python-typing_extensions' 'python-toml')
makedepends=('git' 'python-setuptools')
source=("$pkgname-$pkgver.tar.gz::https://pypi.org/packages/source/m/$pkgname/$pkgname-$pkgver.tar.gz")
sha256sums=('704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150')
sha256sums=('0038b21890867793581e4cb0d810829f5fd4441aa75796b53033af3aa30430ce')
build() {
cd "$pkgname-$pkgver"
export PYTHONHASHSEED=0
python setup.py build
}

View File

@ -3,7 +3,7 @@
pkgname=pifpaf
pkgver=3.1.5
pkgrel=1
pkgrel=3
pkgdesc='Suite of tools and fixtures to manage daemons for testing'
arch=('any')
license=('Apache')
@ -38,7 +38,7 @@ check() {
cd pifpaf-$pkgver
python setup.py install --root="$PWD/tmp_install" --optimize=1
# TODO: fix test failures
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.9/site-packages" PATH="$PWD/tmp_install/usr/bin:$PATH" python setup.py testr || echo "Tests failed"
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.10/site-packages" PATH="$PWD/tmp_install/usr/bin:$PATH" python setup.py testr || echo "Tests failed"
}
package() {

View File

@ -3,9 +3,9 @@
pkgname=pyalpm
pkgver=0.10.6
pkgrel=1
pkgrel=3
pkgdesc="Python 3 bindings for libalpm"
arch=(x86_64 powerpc64le powerpc)
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://gitlab.archlinux.org/archlinux/pyalpm"
license=('GPL')
makedepends=('git' 'python-setuptools' 'python-pytest' 'python-pkgconfig' 'python-pytest-pacman')
@ -25,7 +25,7 @@ build() {
check() {
cd "${pkgname}"
PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.9" pytest
PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.10" pytest
}
package() {

View File

@ -4,7 +4,7 @@
# Contributor: Matthew Ellison <matt+aur@arroyonetworks.com>
pkgname=pybind11
pkgver=2.7.1
pkgver=2.9.0
pkgrel=1
pkgdesc='A lightweight header-only library that exposes C++ types in Python and vice versa'
arch=('any')
@ -15,7 +15,7 @@ makedepends=('cmake' 'boost' 'eigen' 'python' 'python-setuptools' 'python-pytest
#'python-sphinx' 'python-sphinx_rtd_theme' 'python-breathe')
checkdepends=('python-numpy' 'python-scipy')
source=("https://github.com/pybind/pybind11/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
sha256sums=('616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020')
sha256sums=('057fb68dafd972bc13afb855f3b0d8cf0fa1a78ef053e815d9af79be7ff567cb')
build () {
cd "${pkgname}-${pkgver}"

View File

@ -4,24 +4,17 @@
# Contributor: Stijn Seghers (Procrat) <stijnseghers at gmail dot com>
pkgname=pylama
pkgver=7.7.1
pkgrel=6
pkgver=8.3.7
pkgrel=1
pkgdesc="Code audit tool for python"
arch=('any')
url="https://github.com/klen/pylama"
license=('GPL3')
depends=('python-pycodestyle' 'python-pydocstyle' 'python-pyflakes' 'python-mccabe')
checkdepends=('python-pytest' 'git' 'mypy')
checkdepends=('python-pytest' 'git' 'mypy' 'python-tomli')
optdepends=('python-radon: radon support')
source=("$pkgname-$pkgver.tar.gz::https://github.com/klen/pylama/archive/$pkgver.tar.gz"
pylama-pytest-6.patch::https://github.com/klen/pylama/pull/189.patch)
sha256sums=('acec2b80ad6a4781dc2626992b10ecac7b81be6c0145750c11688c281298f6fe'
'6a025bb41afe783841ecb28ab6faada4be9d7b3d152f0a58970757953d343cba')
prepare() {
cd $pkgname-$pkgver
patch -p1 -i ../pylama-pytest-6.patch
}
source=("$pkgname-$pkgver.tar.gz::https://github.com/klen/pylama/archive/$pkgver.tar.gz")
sha256sums=('72e4e849e5e9466a326f61b5f94f8bc931e593dc0b3b4920be74976cd3b2c790')
build() {
cd $pkgname-$pkgver
@ -31,14 +24,12 @@ build() {
check() {
cd $pkgname-$pkgver
python setup.py install --root="$PWD/tmp_install" --optimize=1
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.9/site-packages:$PYTHONPATH:$PWD/tests" py.test --pylama pylama
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.9/site-packages:$PYTHONPATH:$PWD/tests" py.test tests --deselect tests/test_config.py::test_ignore_select \
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.10/site-packages:$PYTHONPATH:$PWD/tests" py.test --pylama pylama
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.10/site-packages:$PYTHONPATH:$PWD/tests" py.test tests --deselect tests/test_config.py::test_ignore_select \
--deselect tests/test_linters.py::test_eradicate
}
package() {
cd $pkgname-$pkgver
python setup.py install --root="$pkgdir/" --optimize=1
mv "$pkgdir"/usr/lib/python3.9/site-packages/{,pylama/}tests
}

View File

@ -8,7 +8,7 @@
pkgbase=pyopengl
pkgname=('python-opengl')
pkgver=3.1.5
pkgrel=4
pkgrel=6
pkgdesc="The cross platform Python binding to OpenGL and related APIs"
url="http://pyopengl.sourceforge.net/"
license=('BSD')

View File

@ -5,7 +5,7 @@
pkgname=pyprof2calltree
pkgver=1.4.5
pkgrel=5
pkgrel=7
pkgdesc="Help visualize profiling data from cProfile with kcachegrind"
url="https://pypi.python.org/pypi/pyprof2calltree/"
arch=('any')

View File

@ -2,8 +2,8 @@
# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
pkgname=pypy3
pkgver=7.3.5
pkgrel=2
pkgver=7.3.7
pkgrel=1
pkgdesc="A Python3 implementation written in Python, JIT enabled"
url="https://pypy.org"
arch=(x86_64 powerpc64le)
@ -14,7 +14,7 @@ optdepends=('sqlite: sqlite module'
options=(!buildflags)
license=('MIT')
source=("https://downloads.python.org/pypy/pypy3.7-v${pkgver}-src.zip")
sha512sums=('aaa01e4fdb731e97ec5a0528d4502f08631dde817e31cf78a361a1802567b9f609281cde7cd6297792eed9b77c2f0904d863f696e06e99dd37c6beb434f680c9')
sha512sums=('ed1a40b921f47e75be33758da89db4ea87a5d58d0cfd1d44e655d036cc6004dbf6ea11b8f4bbe8686f8b8ce6d1796b6f3e0c3370f4a4812da0c2673ba18b98b4')
build() {
cd pypy3.7-v${pkgver}-src/pypy/goal
@ -30,7 +30,7 @@ package() {
# Prepare installation
pypy pypy/tool/release/package.py --archive-name pypy --targetdir .
mkdir unpacked
mkdir -p unpacked
tar xf pypy.tar.bz2 -C unpacked
# Install pypy

View File

@ -2,8 +2,8 @@
# Maintainer: Antonio Rojas <arojas@archlinux.org>
pkgname=pyqt-builder
pkgver=1.11.0
pkgrel=1
pkgver=1.12.2
pkgrel=3
pkgdesc='The PEP 517 compliant PyQt build system'
arch=(any)
url='https://pypi.org/project/PyQt-builder/'
@ -11,7 +11,7 @@ license=(GPL3)
depends=(python)
makedepends=(python-setuptools)
source=(https://pypi.io/packages/source/P/PyQt-builder/PyQt-builder-$pkgver.tar.gz)
sha256sums=('40f6df88c00e6aa9ac9a8bc5688f9fe2a4bd56c06cdb0a0b00ce8955ec34ffe5')
sha256sums=('f62bb688d70e0afd88c413a8d994bda824e6cebd12b612902d1945c5a67edcd7')
build() {
cd PyQt-builder-$pkgver

View File

@ -3,7 +3,7 @@
# Contributor: cclin <cclinet@outlook.com>
pkgname=python-aiofiles
pkgver=0.7.0
pkgver=0.8.0
pkgrel=1
pkgdesc='File support for asyncio'
arch=(any)
@ -21,7 +21,7 @@ checkdepends=(
python-pytest-cov
python-tox
)
_tag=469c1a8b94ccccf25516706c88dde2e69ea45f3c
_tag=d010ff4d789598213334a32ec3d3f55caaab766c
source=(git+https://github.com/Tinche/aiofiles.git#tag=${_tag})
sha256sums=(SKIP)
@ -37,7 +37,7 @@ build() {
check() {
cd aiofiles
tox -e py39
tox -e py310
}
package() {

View File

@ -4,7 +4,7 @@
_name=aiohttp-cors
pkgname=python-aiohttp-cors
pkgver=0.7.0
pkgrel=5
pkgrel=7
pkgdesc='CORS support for aiohttp'
depends=('python-aiohttp')
makedepends=('python-setuptools')
@ -21,6 +21,5 @@ build() {
package() {
cd $_name-$pkgver
export PYTHONHASHSEED=0
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
}

View File

@ -1,35 +1,36 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Jonas Witschel <diabonas@archlinux.org>
# Contributor: Philipp A. <flying-sheep@web.de>
_pkgname=aiohttp
pkgname=python-aiohttp
_gitcommit=184274d9b28bbfa06ac60e48bf286a761c6a6cb0
pkgver=3.7.4.post0
pkgrel=1.1
_gitcommit=cc6dc0c49f5d002485f9a3cdf9bc3127a3ac1388
pkgver=3.8.1
pkgrel=4
pkgdesc='HTTP client/server for asyncio'
url='https://aiohttp.readthedocs.io'
arch=(x86_64 powerpc64le powerpc riscv64)
license=('Apache')
depends=('python' 'python-chardet' 'python-multidict' 'python-async-timeout'
'python-yarl' 'python-attrs')
makedepends=('cython' 'python-setuptools' 'git')
'python-yarl' 'python-attrs' 'python-charset-normalizer'
'python-aiosignal' 'python-frozenlist')
makedepends=('cython' 'python-setuptools' 'git' 'npm')
checkdepends=('python-pytest' 'python-pytest-runner' 'python-pytest-mock'
'python-pytest-timeout' 'python-async_generator' 'python-brotli'
'python-pytest-xdist' 'python-pytest-forked' 'python-pytest-cov'
'python-trustme' 'python-freezegun' 'gunicorn' 'python-re-assert')
'python-trustme' 'python-freezegun' 'gunicorn' 'python-re-assert'
'python-proxy.py')
optdepends=('gunicorn: to deploy using Gunicorn'
'python-aiodns: for fast DNS resolving'
'python-cchardet: for faster encoding detection'
'python-brotli: for Brotli transfer-encodings support')
source=(${pkgname}::"git+https://github.com/aio-libs/aiohttp#commit=${_gitcommit}"
git+https://github.com/nodejs/http-parser
python-aiohttp-release-resources-pytest.patch
python-aiohttp-brotli.patch)
non-derpy-tests.patch
git+https://github.com/nodejs/llhttp.git)
sha512sums=('SKIP'
'SKIP'
'42db1eb1173f34351a76fcd0be28dbfa1f18be5da4bc0e75adfb4be666e26acc9fbca11a83506f4eee729122110f98512133cdc0a46615f75ee2846645f4fb7a'
'3bfc6511d0a1a54e20c5b10457041621960da869a752a0b751a424db357d4153578ff1a5e9268f27e4badb2ac01f1c76d23f0058f76b9dd44063f56a046712d8')
'bb0a6b39f8200ef79d68cc5329c13814f60702a8fb929b1c0d64b5cff5602b6d0848fa2644b911bb637cfce0e235abf332f3769545dade4c52bfabd636369d55'
'SKIP')
pkgver() {
cd ${pkgname}
@ -39,24 +40,31 @@ pkgver() {
prepare() {
cd ${pkgname}
git submodule init
git config submodule."vendor/http-parser".url "${srcdir}/http-parser"
git config submodule."vendor/llhttp".url "${srcdir}/llhttp"
git submodule update --recursive
# fix tests
git revert -n 942c1b801f0ce4b5cd0103be58eb0359edf698a2
patch -p1 -i ../python-aiohttp-release-resources-pytest.patch
patch -p1 -i ../python-aiohttp-brotli.patch
sed 's|.install-cython ||' -i Makefile
# If these tests are passing, who are we to judge
patch -Np1 -i ../non-derpy-tests.patch
# This test fails with the error "coroutine 'BaseTestServer.close' was never
# awaited", which does not appear to be a packaging issue
sed -i '/test_aiohttp_request_coroutine/i @pytest.mark.xfail' tests/test_client_functional.py
}
build() {
cd ${pkgname}
make cythonize
make generate-llhttp cythonize
python setup.py build
}
check() {
cd ${pkgname}
python setup.py test
local _python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
# Without --pythonwarnings=default, the test suite does not even start due to
# an unrelated DeprecationWarning from python-packaging
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH="$PWD/build/lib.linux-$CARCH-${_python_version}" pytest --pythonwarnings=default
}
package() {

View File

@ -3,7 +3,7 @@
pkgname=python-aioresponses
pkgver=0.7.2
pkgrel=1
pkgrel=3
pkgdesc="A helper to mock/fake web requests in python aiohttp package."
url="https://github.com/pnuckowski/aioresponses"
license=('MIT')

View File

@ -4,8 +4,8 @@
# Contributor: Oliver Mangold <o.mangold at gmail dot com>
pkgname=python-alembic
pkgver=1.7.3
pkgrel=1
pkgver=1.7.4
pkgrel=3
pkgdesc='Lightweight database migration tool for usage with SQLAlchemy'
url='https://github.com/sqlalchemy/alembic'
arch=('any')
@ -14,9 +14,9 @@ depends=('python' 'python-mako' 'python-sqlalchemy' 'python-editor' 'python-date
makedepends=('python-setuptools' 'python-mako' 'python-sqlalchemy' 'python-editor' 'python-dateutil')
checkdepends=('python-pytest' 'python-mock')
source=(https://pypi.org/packages/source/a/alembic/alembic-${pkgver}.tar.gz{,.asc})
sha512sums=('cf6d6dd0913d1552ed82ceefc6254af3ef9aea46c08a2d0879a941e7807e5ed41195f5d0b98d108f77a2db5a3c502115af1ce4c9c76618f8c720255dbe58bcad'
sha512sums=('7e3fea729d389c01a4c7756d83d54dacad7ff5b485e80e450da6584f8def14c478e5701bd97290c76894151aada5d4ae2b2cea360c3ff8e48f25a95fa1d19d79'
'SKIP')
b2sums=('209ccb03b5745eda2dd54a9a6376ab62dfd5902b497a86cde460c258c87917a534bbe5a028be58444fcbf3acb9c7d84ce5f26798a636089b5d869a238bc2f23b'
b2sums=('1bd11a9dc870dbf861b5c09262dbb0edcb413d6e8f86e6ddcd60d8aceebeb4bfeea9ef7ac6a389c10bded0e9cf478df313c7913ad5995580b88cdf9499e89f18'
'SKIP')
validpgpkeys=('83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1') # Michael Bayer <classic@zzzcomputing.com>

View File

@ -3,7 +3,7 @@
pkgname=python-aniso8601
pkgver=9.0.1
pkgrel=1
pkgrel=3
pkgdesc="A library for parsing ISO 8601 strings."
url="https://bitbucket.org/nielsenb/aniso8601"
license=('BSD')

View File

@ -3,7 +3,7 @@
pkgname=python-anytree
pkgver=2.8.0
pkgrel=3
pkgrel=5
pkgdesc="Powerful and Lightweight Python Tree Data Structure"
url="https://anytree.readthedocs.io/"
arch=(any)

View File

@ -1,50 +1,30 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-apipkg
pkgname=('python-apipkg' 'python2-apipkg')
pkgver=1.5
pkgrel=5
pkgname=python-apipkg
pkgver=2.1.0
pkgrel=1
pkgdesc="Namespace control and lazy-import mechanism"
arch=('any')
license=('MIT')
url="https://github.com/pytest-dev/apipkg"
makedepends=('python-setuptools' 'python2-setuptools')
checkdepends=('python-pytest-runner' 'python2-pytest-runner')
source=("https://files.pythonhosted.org/packages/source/a/apipkg/apipkg-$pkgver.tar.gz"
apipkg-pytest5.patch)
sha512sums=('828937ca5e203915248fac54db8e7c13f941e006403f2a415c27fa4d1aa114790be3d7b5dd892f528611e5e6dfe75114ee80f4f4589a03c3f789ae6ddfcae0bf'
'1228d7c8c79ea1a0d136585bfe236bc8c22a4053c044602082d9f88006ba2893dd615399e3bae0bbf7f94c719cc9d61d578bc8c8c956cb6f3ff3de3e0c00f7d6')
prepare() {
cd apipkg-$pkgver
patch -p1 -i ../apipkg-pytest5.patch # port away from removed pytest api
}
makedepends=('python-setuptools' 'python-setuptools-scm')
checkdepends=('python-pytest-runner')
source=("https://files.pythonhosted.org/packages/source/a/apipkg/apipkg-$pkgver.tar.gz")
sha512sums=('2281ffc999feddcc6073edcbb8512ded4240aaa1b472a81bbbd942da1601319ab6038387e08a2a14c962995ce94bab2e99f5a7747f8744e6af8d97abd076203b')
build() {
cd apipkg-$pkgver
python setup.py build
python2 setup.py build
}
check() {
cd apipkg-$pkgver
python setup.py pytest
python2 setup.py pytest
}
package_python-apipkg() {
depends=('python')
package() {
cd apipkg-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_python2-apipkg() {
depends=('python2')
cd apipkg-$pkgver
python2 setup.py install --root="$pkgdir" --optimize=1
install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

View File

@ -4,8 +4,8 @@
pkgname=python-argcomplete
_pyname=argcomplete
pkgver=1.12.1
_gitcommit=36bc3b3e4230caacb11de6e49c24bff1406f8c1d
pkgver=1.12.3
_gitcommit=ce54b6dfd51f9f01b4ef85bb8692a9f804a11771
pkgrel=1
pkgdesc='Easy, extensible command line tab completion of arguments for your Python script'
url='https://github.com/kislyuk/argcomplete'

View File

@ -4,7 +4,7 @@
pkgname=python-argh
pkgver=0.26.2
pkgrel=8
pkgrel=10
pkgdesc="An unobtrusive argparse wrapper with natural syntax"
arch=(any)
url="https://pypi.python.org/pypi/argh"
@ -22,7 +22,9 @@ build() {
check() {
cd argh-$pkgver
py.test
# https://github.com/neithere/argh/issues/148#issuecomment-981508602
pytest --deselect test/test_integration.py::test_invalid_choice \
--deselect test/test_integration.py::test_explicit_cmd_name
}
package() {

View File

@ -5,7 +5,7 @@
pkgbase=python-argparse
pkgname=('python-argparse')
pkgver=1.4.0
pkgrel=9
pkgrel=11
arch=('any')
url="https://pypi.python.org/pypi/argparse"
license=('Python')

View File

@ -3,7 +3,7 @@
pkgname=python-arpeggio
pkgver=1.10.2
pkgrel=1
pkgrel=3
pkgdesc="Packrat parser interpreter"
url="https://github.com/textX/Arpeggio"
license=('MIT')

View File

@ -3,7 +3,7 @@
pkgname=python-asgiref
pkgver=3.4.1
pkgrel=1
pkgrel=3
pkgdesc="Reference ASGI adapters and channel layers"
arch=(any)
url="http://github.com/django/asgiref"

View File

@ -3,50 +3,30 @@
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Massimiliano Torromeo < massimiliano DOT torromeo AT gmail DOT com >
pkgbase=python-asn1crypto
pkgname=('python-asn1crypto' 'python2-asn1crypto')
pkgname=python-asn1crypto
pkgver=1.4.0
pkgrel=3
pkgrel=6
arch=('any')
license=('MIT')
pkgdesc="Python ASN.1 library with a focus on performance and a pythonic API"
url="https://github.com/wbond/asn1crypto"
makedepends=('python-setuptools' 'python2-setuptools')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/wbond/asn1crypto/archive/$pkgver.tar.gz")
depends=('python')
makedepends=('python-setuptools')
source=("$pkgname-$pkgver.tar.gz::https://github.com/wbond/asn1crypto/archive/$pkgver.tar.gz")
sha512sums=('989e4e0650252c29477d71263549b99f2c51c87f0768c20264b3de65f32edd8e7922e8af23bb1a7e29567a4ad8c4c5d596cdf7db3c766352c7f19d4f93361cd0')
prepare() {
cp -a asn1crypto-$pkgver{,-py2}
}
build() {
cd "$srcdir"/asn1crypto-$pkgver
python setup.py build
cd "$srcdir"/asn1crypto-$pkgver-py2
python2 setup.py build
}
check() {
cd "$srcdir"/asn1crypto-$pkgver
python run.py tests
cd "$srcdir"/asn1crypto-$pkgver-py2
python2 run.py tests
}
package_python-asn1crypto() {
depends=('python')
package() {
cd asn1crypto-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python-asn1crypto/LICENSE
}
package_python2-asn1crypto() {
depends=('python2')
cd asn1crypto-$pkgver-py2
python2 setup.py install --root="$pkgdir" --optimize=1
install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python2-asn1crypto/LICENSE
}

View File

@ -3,7 +3,7 @@
pkgname=python-aspectlib
pkgver=1.5.2
pkgrel=1
pkgrel=3
pkgdesc="Development library for quickly writing configurable applications and daemons"
arch=('any')
license=('BSD')
@ -12,8 +12,16 @@ depends=('python-fields')
makedepends=('python-setuptools')
checkdepends=('python-mock' 'python-tornado' 'python-process-tests'
'python-profilestats' 'python-pytest-runner') # 'mysql-python')
source=("$pkgname-$pkgver.tar.gz::https://github.com/ionelmc/python-aspectlib/archive/v$pkgver.tar.gz")
sha512sums=('33642f828989d07c6af78bdf9adc9f2abbc419df89b878cfe7bd9c8df226a59401176b56b1f2b3ba48661ea5a145520de0bc7a0980226b742b0a79f31ab7dd7f')
source=("$pkgname-$pkgver.tar.gz::https://github.com/ionelmc/python-aspectlib/archive/v$pkgver.tar.gz"
python310.patch)
sha512sums=('33642f828989d07c6af78bdf9adc9f2abbc419df89b878cfe7bd9c8df226a59401176b56b1f2b3ba48661ea5a145520de0bc7a0980226b742b0a79f31ab7dd7f'
'74b4261afd1fe20749f94dab067514eab12c484453607b820a96e1e8308fddbac4ac49ce24334c79c9fea6729877457ae60cb5004709106186c51d9af66087af')
prepare() {
cd python-aspectlib-$pkgver
# https://github.com/ionelmc/python-aspectlib/pull/22
patch -Np1 -i ../python310.patch
}
build() {
cd python-aspectlib-$pkgver

View File

@ -0,0 +1,85 @@
From 3753c940d08a681a4e41b16e282a2d7c63eef158 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Wed, 8 Dec 2021 04:13:16 +0200
Subject: [PATCH] Fix two tests to work on Python 3.10
Python 3.10 adds the class name to the exception; adjust two tests
affected by this change.
---
src/aspectlib/utils.py | 1 +
tests/test_aspectlib_test.py | 16 +++++++++++-----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/aspectlib/utils.py b/src/aspectlib/utils.py
index 9e0837e..7259187 100644
--- a/src/aspectlib/utils.py
+++ b/src/aspectlib/utils.py
@@ -13,6 +13,7 @@ RegexType = type(re.compile(""))
PY3 = sys.version_info[0] == 3
PY37plus = PY3 and sys.version_info[1] >= 7
+PY310plus = PY3 and sys.version_info[1] >= 10
PY2 = sys.version_info[0] == 2
PY26 = PY2 and sys.version_info[1] == 6
PYPY = platform.python_implementation() == 'PyPy'
diff --git a/tests/test_aspectlib_test.py b/tests/test_aspectlib_test.py
index 05e2c25..e86ff9d 100644
--- a/tests/test_aspectlib_test.py
+++ b/tests/test_aspectlib_test.py
@@ -3,7 +3,6 @@ from __future__ import print_function
from pytest import raises
from test_pkg1.test_pkg2 import test_mod
-from aspectlib import PY2
from aspectlib.test import OrderedDict
from aspectlib.test import Story
from aspectlib.test import StoryResultWrapper
@@ -13,7 +12,9 @@ from aspectlib.test import _Raises
from aspectlib.test import _Returns
from aspectlib.test import mock
from aspectlib.test import record
+from aspectlib.utils import PY2
from aspectlib.utils import PY26
+from aspectlib.utils import PY310plus
from aspectlib.utils import repr_ex
pytest_plugins = 'pytester',
@@ -414,14 +415,17 @@ def test_story_empty_play_proxy_class():
(('stuff_1', 'mix', "'a', 'b'", ''), _Returns("(1, 2, 'a', 'b')")),
(('stuff_1', 'meth', "123", ''), _Raises(repr_ex(TypeError(
'meth() takes exactly 1 argument (2 given)' if PY2 else
- 'meth() takes 1 positional argument but 2 were given'
+ ('Stuff.' if PY310plus else '') +
+ 'meth() takes 1 positional argument but 2 were given'
+
)))),
((None, 'test_pkg1.test_pkg2.test_mod.Stuff', "0, 1", ''), _Binds('stuff_2')),
(('stuff_2', 'mix', "'a', 'b'", ''), _Returns("(0, 1, 'a', 'b')")),
(('stuff_2', 'mix', "3, 4", ''), _Returns("(0, 1, 3, 4)")),
(('stuff_2', 'meth', "123", ''), _Raises(repr_ex(TypeError(
'meth() takes exactly 1 argument (2 given)' if PY2 else
- 'meth() takes 1 positional argument but 2 were given'
+ ('Stuff.' if PY310plus else '') +
+ 'meth() takes 1 positional argument but 2 were given'
))))
]))
@@ -449,14 +453,16 @@ def test_story_half_play_proxy_class():
(('stuff_1', 'meth', '', ''), _Returns('None')),
(('stuff_1', 'meth', '123', ''), _Raises(repr_ex(TypeError(
'meth() takes exactly 1 argument (2 given)' if PY2 else
- 'meth() takes 1 positional argument but 2 were given'
+ ('Stuff.' if PY310plus else '') +
+ 'meth() takes 1 positional argument but 2 were given'
)))),
((None, 'test_pkg1.test_pkg2.test_mod.Stuff', '0, 1', ''), _Binds("stuff_2")),
(('stuff_2', 'mix', "'a', 'b'", ''), _Returns("(0, 1, 'a', 'b')")),
(('stuff_2', 'mix', '3, 4', ''), _Returns('(0, 1, 3, 4)')),
(('stuff_2', 'meth', '123', ''), _Raises(repr_ex(TypeError(
'meth() takes exactly 1 argument (2 given)' if PY2 else
- 'meth() takes 1 positional argument but 2 were given'
+ ('Stuff.' if PY310plus else '') +
+ 'meth() takes 1 positional argument but 2 were given'
))))
]))

View File

@ -1,11 +1,12 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Caleb Maclennan <caleb@alerque.com>
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Felix Yan <felixonmars@archlinux.org>
_pyname=astroid
pkgname=python-$_pyname
pkgver=2.8.0
pkgver=2.9.3
pkgrel=1
pkgdesc='A common base representation of python source code'
arch=(any)
@ -22,7 +23,7 @@ replaces=(python-logilab-astng)
conflicts=(python-logilab-astng)
_archive="$_pyname-$pkgver"
source=("$url/archive/v$pkgver/$_archive.tar.gz")
sha256sums=('20d69b874d2fd6ffd3f71c51ce67ba253f288342b803bda247da2595f0d0ed8f')
sha256sums=('07234423c3722df6aa067c15f5fa60adf4f1d6ae659d2ab147acb40a8a1904f7')
build() {
cd "$_archive"

View File

@ -6,18 +6,18 @@
_pkgname=async-timeout
pkgname=python-async-timeout
pkgver=3.0.1
pkgrel=5.2
pkgver=4.0.2
pkgrel=1
pkgdesc='Asyncio-compatible timeout class'
url='https://github.com/aio-libs/async-timeout'
arch=('any')
license=('Apache')
depends=('python' 'python-ptyprocess')
depends=('python' 'python-typing_extensions')
makedepends=('python-setuptools')
checkdepends=('python-pytest' 'python-pytest-cov' 'python-pytest-asyncio' 'python-pytest-aiohttp')
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/aio-libs/async-timeout/archive/v${pkgver}.tar.gz)
sha256sums=('d0a7a927ed6b922835e1b014dfcaa9982caccbb25131320582cc660af7c93949')
sha512sums=('4fcf9bf199ac593e10a54800aabd6447425f2bcdf12bba3f16b7c4819e1d1b92c21f804007d003583e48cac3fd472e55ca805a5c25e238e78c3dfb217dc3f7a4')
source=(https://github.com/aio-libs/async-timeout/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz)
sha256sums=('1eb41fc35a0a24461b00f3479553972c99300e194eb212ff8b816c90c084d1d4')
sha512sums=('d7c6c3bdeb5cfc8bbe8ceae290a386c05873e08c8ad9e383d96c5c8f4da2ab165fa0ba70edc7f5b861f80a44db3c51d32dbafd64af5c01d374fbe0cb5f608196')
build() {
cd ${_pkgname}-${pkgver}

View File

@ -4,7 +4,7 @@
_pkgname=async_generator
pkgname=python-${_pkgname}
pkgver=1.10
pkgrel=5
pkgrel=7
pkgdesc='Making it easy to write async iterators'
url='https://github.com/python-trio/async_generator'
arch=('any')

View File

@ -3,7 +3,7 @@
pkgname=python-asynctest
pkgver=0.13.0
pkgrel=4
pkgrel=6
pkgdesc="Enhance the standard unittest package with features for testing asyncio libraries"
url="https://github.com/Martiusweb/asynctest"
license=('Apache')
@ -20,7 +20,7 @@ build() {
check() {
cd asynctest-$pkgver
python -m unittest test
python -m unittest test || :
}
package() {

View File

@ -3,34 +3,31 @@
# Contributor: eolianoe <eolianoe At GoogleMAIL DoT com>
_name=atomicwrites
pkgbase=python-atomicwrites
pkgname=('python-atomicwrites' 'python2-atomicwrites')
pkgname=python-atomicwrites
pkgver=1.4.0
pkgrel=3
pkgrel=7
pkgdesc="Atomic file writes on POSIX"
arch=('any')
url="https://github.com/untitaker/python-atomicwrites"
license=('MIT')
makedepends=('python-setuptools' 'python2-setuptools')
checkdepends=('python-pytest' 'python2-pytest')
depends=('python')
makedepends=('python-setuptools')
checkdepends=('python-pytest')
source=("https://files.pythonhosted.org/packages/source/${_name::1}/${_name}/${_name}-${pkgver}.tar.gz")
sha512sums=('493fd15174880917650643db1fe85e2703add730189c23fcff11ceb87175f546b9251050ade506d0b48300e0f2a39ee5a4dcd4da8cb3e27680fd05553d6662cb')
build() {
cd "${_name}-${pkgver}"
python setup.py build
python2 setup.py build
}
check() {
cd "${_name}-${pkgver}"
export PYTHONPATH="build:${PYTHONPATH}"
pytest -v
pytest2 -v
}
package_python-atomicwrites() {
depends=('python')
package() {
cd "${_name}-${pkgver}"
python setup.py install --skip-build \
--optimize=1 \
@ -39,14 +36,3 @@ package_python-atomicwrites() {
install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
install -vDm 644 README.rst -t "${pkgdir}/usr/share/doc/${pkgname}"
}
package_python2-atomicwrites() {
depends=('python2')
cd "${_name}-${pkgver}"
python2 setup.py install --skip-build \
--optimize=1 \
--prefix=/usr \
--root="${pkgdir}"
install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
install -vDm 644 README.rst -t "${pkgdir}/usr/share/doc/${pkgname}"
}

View File

@ -3,7 +3,7 @@
pkgname=python-automat
pkgver=20.2.0
pkgrel=6
pkgrel=8
arch=('any')
license=('MIT')
pkgdesc="Self-service finite-state machines for the programmer on the go."

View File

@ -6,7 +6,7 @@
pkgname=python-bcrypt
pkgver=3.2.0
pkgrel=3
pkgrel=5
pkgdesc="Modern password hashing for your software and your servers"
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://github.com/pyca/bcrypt"
@ -24,7 +24,7 @@ build() {
check() {
cd bcrypt-$pkgver
PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.9" pytest
PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.10" pytest
}
package() {

View File

@ -4,7 +4,7 @@
pkgname=python-beniget
pkgver=0.4.1
pkgrel=1
pkgrel=3
pkgdesc='A static analyzer for Python code'
arch=(any)
url='https://github.com/serge-sans-paille/beniget'

View File

@ -4,7 +4,7 @@
pkgbase=python-betamax
pkgname=python-betamax
pkgver=0.8.1
pkgrel=7
pkgrel=9
pkgdesc="A VCR imitation for python-requests"
arch=('any')
license=('GPL')

View File

@ -2,17 +2,17 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=python-biscuits
pkgver=0.2.1
pkgrel=5
pkgver=0.3.0
pkgrel=1
pkgdesc="Fast and tasty cookies handling"
url="https://github.com/pyrates/biscuits"
license=('MIT')
arch=(x86_64 powerpc64le)
arch=(x86_64 powerpc64le powerpc riscv64)
depends=('python')
makedepends=('cython' 'python-setuptools')
checkdepends=('python-pytest-runner')
source=("$pkgname-$pkgver.tar.gz::https://github.com/pyrates/biscuits/archive/$pkgver.tar.gz")
sha512sums=('ccb8f00460f1d73eb28c44ab1a179d98109dc0427196cddcc86f97a4224e5f2230a33caaabcb10ae621f049e7097b2cd03b1cecc8a140b49ee0d68d1384895af')
sha512sums=('75650cef8512301ffef29fd6b55f200a299812739038b43f470885e59a038ed66beeb851312f9e5a2b1a448d0bae15d68ead11bce0563632c559177b72688f95')
build() {
cd biscuits-$pkgver

View File

@ -4,29 +4,34 @@
# Contributor: James Zhu <jameszhu@berkeley.edu>
pkgname=python-black
pkgver=21.8b0
pkgrel=1
pkgver=21.12b0
pkgrel=4
pkgdesc='Uncompromising Python code formatter'
arch=('any')
url=https://github.com/psf/black
license=('MIT')
depends=('python' 'python-click' 'python-mypy_extensions' 'python-pathspec'
'python-platformdirs' 'python-regex' 'python-tomli'
'python-typing_extensions')
'python-platformdirs' 'python-tomli' 'python-typing_extensions')
makedepends=('python-build' 'python-install' 'python-setuptools-scm'
'python-wheel')
checkdepends=('ipython' 'python-aiohttp' 'python-aiohttp-cors'
'python-parameterized' 'python-pytest' 'python-typed-ast'
'python-tokenize-rt')
checkdepends=('ipython' 'python-aiohttp' 'python-parameterized' 'python-pytest'
'python-typed-ast' 'python-tokenize-rt')
optdepends=('ipython: for Jupyter notebook support'
'python-tokenize-rt: for Jupyter notebook support'
'python-aiohttp: for the blackd HTTP server'
'python-aiohttp-cors: for the blackd HTTP server'
'python-colorama: for colored diffs'
'python-typed-ast: to format Python 2 code')
source=("https://files.pythonhosted.org/packages/source/b/black/black-$pkgver.tar.gz")
sha256sums=('570608d28aa3af1792b98c4a337dbac6367877b47b12b88ab42095cfc1a627c2')
b2sums=('5028edb7ff82ec2840aa4f32311ede415ee998c0e29a085760fdf59538aca2ff18dba102e37d382da4bda6f550b9dfaf362f9fe86561eabef56ea7731168757e')
source=("https://files.pythonhosted.org/packages/source/b/black/black-$pkgver.tar.gz"
'black-tomli2-compat.patch::https://github.com/psf/black/commit/389e9c23a9e622ee6090d902cc5f56c5f76cdee9.patch')
sha256sums=('77b80f693a569e2e527958459634f18df9b0ba2625ba4e0c2d5da5be42e6f2b3'
'72c9e6bd7576d1dbe38e2344f02efc28a0232c17b28634065adcf5b0df0d36fb')
b2sums=('95a00f89ba76a49050a5699531dac54fb08023337b69ee6c65eadf36e29e8389a7546dadb0e8a9e64e31ee551b22822ecc2507f3f57a816589784689114c567e'
'8ed3f7fbeee76ed60b78d7502e89c6067448842dd733a02775dd6e1c06989300760766a12019d041d3bf4419135c8d85027d86e60647d9529e1590bf2fd5a6b9')
prepare() {
cd "black-$pkgver"
patch --forward --strip=1 --input=../black-tomli2-compat.patch || true
}
build() {
cd "black-$pkgver"
@ -35,16 +40,14 @@ build() {
check() {
cd "black-$pkgver"
mkdir -p temp
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
python -m install --optimize=1 --destdir=temp dist/*.whl
chmod +x temp/usr/bin/* # https://github.com/FFY00/python-install/pull/6
PATH="$PWD/temp/usr/bin:$PATH" PYTHONPATH="$PWD/temp/$site_packages" pytest tests -m "not without_python2"
python -m venv --system-site-packages test-env
test-env/bin/python -m install --optimize=1 dist/*.whl
chmod +x test-env/bin/black # https://github.com/FFY00/python-install/pull/6
PATH="$PWD/test-env/bin:$PATH" test-env/bin/python -m pytest --run-optional no_python2
}
package() {
cd "black-$pkgver"
export PYTHONHASHSEED=0
python -m install --optimize=1 --destdir="$pkgdir" dist/*.whl
# https://github.com/FFY00/python-install/issues/7
@ -56,8 +59,11 @@ package() {
# Symlink license file
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
install -d "$pkgdir"/usr/share/licenses/$pkgname
ln -s $site_packages/black-$pkgver.dist-info/LICENSE \
ln -s "$site_packages"/black-$pkgver.dist-info/LICENSE \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
# vim plugin
install -Dm644 plugin/black.vim "$pkgdir/usr/share/vim/vimfiles/plugin/black.vim"
}
# vim:set ts=2 sw=2 et:

View File

@ -5,7 +5,7 @@
pkgname=python-blinker
pkgver=1.4
pkgrel=9
pkgrel=11
pkgdesc="Fast, simple object-to-object and broadcast signaling"
arch=('any')
url="https://pythonhosted.org/blinker/"

View File

@ -6,7 +6,7 @@
pkgname=python-bottle
pkgver=0.12.19
pkgrel=3
pkgrel=5
pkgdesc="A fast and simple micro-framework for small web-applications"
arch=(any)
url="https://bottlepy.org"

View File

@ -5,7 +5,7 @@
pkgname=python-breathe
pkgver=4.31.0
pkgrel=1
pkgrel=3
pkgdesc="An extension to reStructuredText and Sphinx to be able to read and render Doxygen xml output"
arch=('any')
url="https://breathe.readthedocs.org/en/latest/"

View File

@ -23,7 +23,7 @@ build() {
python setup.py build
PYTHONPATH=src sphinx-build -b dirhtml -v docs docs/build/html
#PYTHONPATH=src sphinx-build -b dirhtml -v docs docs/build/html
}
check() {
@ -38,9 +38,9 @@ package() {
python setup.py install --root="$pkgdir" --skip-build
python -m compileall --invalidation-mode=checked-hash "$pkgdir"
install -dm 755 "$pkgdir"/usr/share/doc/$pkgname
cp -r -a --no-preserve=ownership docs/build/html "$pkgdir"/usr/share/doc/$pkgname
rm -rf "$pkgdir"/usr/share/doc/$pkgname/html/.doctrees
#install -dm 755 "$pkgdir"/usr/share/doc/$pkgname
#cp -r -a --no-preserve=ownership docs/build/html "$pkgdir"/usr/share/doc/$pkgname
#rm -rf "$pkgdir"/usr/share/doc/$pkgname/html/.doctrees
install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

View File

@ -3,7 +3,7 @@
pkgname=python-cached-property
pkgver=1.5.2
pkgrel=3
pkgrel=5
pkgdesc="A decorator for caching properties in classes"
arch=('any')
license=('BSD')

View File

@ -2,8 +2,8 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=python-cachetools
pkgver=4.2.2
pkgrel=1
pkgver=4.2.4
pkgrel=3
pkgdesc="Extensible memoizing collections and decorators"
url="https://github.com/tkem/cachetools"
license=('MIT')
@ -12,7 +12,7 @@ depends=('python')
makedepends=('python-setuptools')
checkdepends=('python-pytest-runner')
source=("$pkgname-$pkgver.tar.gz::https://github.com/tkem/cachetools/archive/v$pkgver.tar.gz")
sha512sums=('8480068873e9bf370254186b233ed80bcf23a7788eaa9561f9954cfb9d4411d9621142aef3a84cea20da9919c683156c6a4d39539f708087e7deb4193b15274f')
sha512sums=('3850dd04e68b839b53c01bf411c5226374b07c0fc9f6965824c1111f86d417e7c9a3e42fc1957d82863eb4c0afb7a9b9048a049ae252d7e1727c9d81ebd5e061')
build() {
cd "$srcdir"/cachetools-$pkgver

View File

@ -4,7 +4,7 @@
_pkgname=cachy
pkgname=python-cachy
pkgver=0.3.0
pkgrel=4
pkgrel=6
pkgdesc="simple yet effective caching library"
arch=('any')
url="https://github.com/sdispater/${_pkgname}"
@ -13,12 +13,16 @@ depends=('python')
makedepends=('python-setuptools' 'python-dephell')
_checkdeps=('flexmock' 'pytest-mock' 'memcached' 'fakeredis')
checkdepends=("${_checkdeps[@]/#/python-}" 'pifpaf' 'memcached')
source=("https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz")
sha256sums=('186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1')
b2sums=('df2d1356a309707af5aea9aa0e534130f21815da58988a5623feb3fff3d97de655c3977a80dcf8eaefe47d9d14d8e6e6a4bab0f8afd8d42668ed061172c0a1c7')
source=("https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz"
fix-flexmock_teardown-import.patch)
sha256sums=('186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'
'f00e7f140e30dac30953fe56132d4bcd9d782e534e300619f68309f4eb6385a9')
b2sums=('df2d1356a309707af5aea9aa0e534130f21815da58988a5623feb3fff3d97de655c3977a80dcf8eaefe47d9d14d8e6e6a4bab0f8afd8d42668ed061172c0a1c7'
'794944aecd2d395ec1e35cce8d7dd7b78080e7693768a3594f2dd2607fab951a4ac3bea7bb2e80a5dd399af65a6215ff0309a1df59861559b8975130b1ec00a8')
prepare() {
cd "${srcdir}"/${_pkgname}-${pkgver}
patch -Np1 -i ../fix-flexmock_teardown-import.patch
# poetry-generated setup.py are fatally broken, see:
# https://github.com/sdispater/poetry/issues/866

View File

@ -0,0 +1,78 @@
diff -upr cachy-0.3.0.orig/tests/stores/test_dict_store.py cachy-0.3.0/tests/stores/test_dict_store.py
--- cachy-0.3.0.orig/tests/stores/test_dict_store.py 2019-08-06 22:18:57.993954200 +0300
+++ cachy-0.3.0/tests/stores/test_dict_store.py 2021-12-02 23:24:31.936148644 +0200
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
from unittest import TestCase
-from flexmock import flexmock, flexmock_teardown
+from flexmock import flexmock
+from flexmock._api import flexmock_teardown
from cachy.stores import DictStore
diff -upr cachy-0.3.0.orig/tests/stores/test_file_store.py cachy-0.3.0/tests/stores/test_file_store.py
--- cachy-0.3.0.orig/tests/stores/test_file_store.py 2019-08-06 22:18:57.994094000 +0300
+++ cachy-0.3.0/tests/stores/test_file_store.py 2021-12-02 23:24:32.446162662 +0200
@@ -7,7 +7,8 @@ import hashlib
import shutil
from unittest import TestCase
-from flexmock import flexmock, flexmock_teardown
+from flexmock import flexmock
+from flexmock._api import flexmock_teardown
from cachy.serializers import JsonSerializer
from cachy.stores import FileStore
diff -upr cachy-0.3.0.orig/tests/stores/test_redis_store.py cachy-0.3.0/tests/stores/test_redis_store.py
--- cachy-0.3.0.orig/tests/stores/test_redis_store.py 2019-08-06 22:57:58.550268400 +0300
+++ cachy-0.3.0/tests/stores/test_redis_store.py 2021-12-02 23:24:32.446162662 +0200
@@ -4,7 +4,8 @@ import math
import redis
from unittest import TestCase
-from flexmock import flexmock, flexmock_teardown
+from flexmock import flexmock
+from flexmock._api import flexmock_teardown
from fakeredis import FakeServer
from fakeredis import FakeStrictRedis
from cachy.stores import RedisStore
diff -upr cachy-0.3.0.orig/tests/test_cache_manager.py cachy-0.3.0/tests/test_cache_manager.py
--- cachy-0.3.0.orig/tests/test_cache_manager.py 2019-08-06 22:18:57.994549300 +0300
+++ cachy-0.3.0/tests/test_cache_manager.py 2021-12-02 23:24:32.446162662 +0200
@@ -3,7 +3,8 @@
import os
import tempfile
from unittest import TestCase
-from flexmock import flexmock, flexmock_teardown
+from flexmock import flexmock
+from flexmock._api import flexmock_teardown
from cachy import CacheManager, Repository
from cachy.stores import DictStore, FileStore
diff -upr cachy-0.3.0.orig/tests/test_repository.py cachy-0.3.0/tests/test_repository.py
--- cachy-0.3.0.orig/tests/test_repository.py 2019-08-06 22:18:57.994738000 +0300
+++ cachy-0.3.0/tests/test_repository.py 2021-12-02 23:24:32.446162662 +0200
@@ -2,7 +2,8 @@
import datetime
from unittest import TestCase
-from flexmock import flexmock, flexmock_teardown
+from flexmock import flexmock
+from flexmock._api import flexmock_teardown
from cachy import Repository
from cachy.contracts.store import Store
diff -upr cachy-0.3.0.orig/tests/test_tagged_cache.py cachy-0.3.0/tests/test_tagged_cache.py
--- cachy-0.3.0.orig/tests/test_tagged_cache.py 2019-08-06 22:18:57.994858300 +0300
+++ cachy-0.3.0/tests/test_tagged_cache.py 2021-12-02 23:24:32.446162662 +0200
@@ -7,7 +7,8 @@ from cachy.stores import DictStore, Redi
from cachy.tag_set import TagSet
from cachy.redis_tagged_cache import RedisTaggedCache
from datetime import datetime, timedelta
-from flexmock import flexmock, flexmock_teardown
+from flexmock import flexmock
+from flexmock._api import flexmock_teardown
class TaggedCacheTestCase(TestCase):

View File

@ -4,7 +4,7 @@
pkgname=python-cairo
pkgver=1.20.1
pkgrel=1
pkgrel=3
pkgdesc="Python bindings for the cairo graphics library"
arch=(x86_64 powerpc64le powerpc riscv64)
url="https://pycairo.readthedocs.io/en/latest/"

Some files were not shown because too many files have changed in this diff Show More