diff options
author | Marius Bakke <marius@gnu.org> | 2022-12-28 01:02:47 +0100 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-12-28 01:02:47 +0100 |
commit | ec0fbb471dfc6f72796da9ebafbb0630daa91267 (patch) | |
tree | 3b42f3d0a6470d85fbb8421179634bb278883e4e /gnu/packages/patches | |
parent | f5ef7d34e4deecb80aff585c108b0a2ab1f33ce4 (diff) | |
parent | 0cb8f7125b19264b01962c1249c3df4c5ce85aa9 (diff) | |
download | guix-ec0fbb471dfc6f72796da9ebafbb0630daa91267.tar guix-ec0fbb471dfc6f72796da9ebafbb0630daa91267.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/patches')
16 files changed, 303 insertions, 1072 deletions
diff --git a/gnu/packages/patches/ceph-boost-compat.patch b/gnu/packages/patches/ceph-boost-compat.patch deleted file mode 100644 index 1aecfbbed5..0000000000 --- a/gnu/packages/patches/ceph-boost-compat.patch +++ /dev/null @@ -1,18 +0,0 @@ -Add extra includes required for Boost 1.75 and later. - -Taken from upstram: - - https://github.com/ceph/ceph/commit/ebf3a0398f18eab67d2ba25e6a10b41ff140f6a4 - -diff --git a/src/rgw/rgw_string.h b/src/rgw/rgw_string.h -index 257daa9c1fe6e..90e64f98a2587 100644 ---- a/src/rgw/rgw_string.h -+++ b/src/rgw/rgw_string.h -@@ -8,5 +8,7 @@ - #include <stdlib.h> - #include <limits.h> - #include <string_view> -+#include <string> -+#include <stdexcept> - - #include <boost/container/small_vector.hpp> diff --git a/gnu/packages/patches/ceph-rocksdb-compat.patch b/gnu/packages/patches/ceph-rocksdb-compat.patch deleted file mode 100644 index 9fb9b0caeb..0000000000 --- a/gnu/packages/patches/ceph-rocksdb-compat.patch +++ /dev/null @@ -1,303 +0,0 @@ -Adjust for newer versions of RocksDB. - -Taken from upstream: - - https://github.com/ceph/ceph/pull/42815 - https://github.com/ceph/ceph/commit/ff7f192ea3cf88ca1098bcf9396ff4f8ed1e8792.diff - -diff --git a/src/kv/rocksdb_cache/BinnedLRUCache.cc b/src/kv/rocksdb_cache/BinnedLRUCache.cc -index 0d657883e92de..47c56e2ddd769 100644 ---- a/src/kv/rocksdb_cache/BinnedLRUCache.cc -+++ b/src/kv/rocksdb_cache/BinnedLRUCache.cc -@@ -151,13 +151,20 @@ void BinnedLRUCacheShard::EraseUnRefEntries() { - } - } - --void BinnedLRUCacheShard::ApplyToAllCacheEntries(void (*callback)(void*, size_t), -- bool thread_safe) { -+void BinnedLRUCacheShard::ApplyToAllCacheEntries( -+ const std::function<void(const rocksdb::Slice& key, -+ void* value, -+ size_t charge, -+ DeleterFn)>& callback, -+ bool thread_safe) -+{ - if (thread_safe) { - mutex_.lock(); - } - table_.ApplyToAllCacheEntries( -- [callback](BinnedLRUHandle* h) { callback(h->value, h->charge); }); -+ [callback](BinnedLRUHandle* h) { -+ callback(h->key(), h->value, h->charge, h->deleter); -+ }); - if (thread_safe) { - mutex_.unlock(); - } -@@ -345,7 +352,7 @@ bool BinnedLRUCacheShard::Release(rocksdb::Cache::Handle* handle, bool force_era - - rocksdb::Status BinnedLRUCacheShard::Insert(const rocksdb::Slice& key, uint32_t hash, void* value, - size_t charge, -- void (*deleter)(const rocksdb::Slice& key, void* value), -+ DeleterFn deleter, - rocksdb::Cache::Handle** handle, rocksdb::Cache::Priority priority) { - auto e = new BinnedLRUHandle(); - rocksdb::Status s; -@@ -464,6 +471,12 @@ std::string BinnedLRUCacheShard::GetPrintableOptions() const { - return std::string(buffer); - } - -+DeleterFn BinnedLRUCacheShard::GetDeleter(rocksdb::Cache::Handle* h) const -+{ -+ auto* handle = reinterpret_cast<BinnedLRUHandle*>(h); -+ return handle->deleter; -+} -+ - BinnedLRUCache::BinnedLRUCache(CephContext *c, - size_t capacity, - int num_shard_bits, -@@ -519,6 +532,13 @@ void BinnedLRUCache::DisownData() { - #endif // !__SANITIZE_ADDRESS__ - } - -+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+DeleterFn BinnedLRUCache::GetDeleter(Handle* handle) const -+{ -+ return reinterpret_cast<const BinnedLRUHandle*>(handle)->deleter; -+} -+#endif -+ - size_t BinnedLRUCache::TEST_GetLRUSize() { - size_t lru_size_of_all_shards = 0; - for (int i = 0; i < num_shards_; i++) { -diff --git a/src/kv/rocksdb_cache/BinnedLRUCache.h b/src/kv/rocksdb_cache/BinnedLRUCache.h -index 85608be0e5734..88bf4502e8927 100644 ---- a/src/kv/rocksdb_cache/BinnedLRUCache.h -+++ b/src/kv/rocksdb_cache/BinnedLRUCache.h -@@ -56,7 +56,7 @@ std::shared_ptr<rocksdb::Cache> NewBinnedLRUCache( - - struct BinnedLRUHandle { - void* value; -- void (*deleter)(const rocksdb::Slice&, void* value); -+ DeleterFn deleter; - BinnedLRUHandle* next_hash; - BinnedLRUHandle* next; - BinnedLRUHandle* prev; -@@ -189,7 +189,7 @@ class alignas(CACHE_LINE_SIZE) BinnedLRUCacheShard : public CacheShard { - // Like Cache methods, but with an extra "hash" parameter. - virtual rocksdb::Status Insert(const rocksdb::Slice& key, uint32_t hash, void* value, - size_t charge, -- void (*deleter)(const rocksdb::Slice& key, void* value), -+ DeleterFn deleter, - rocksdb::Cache::Handle** handle, - rocksdb::Cache::Priority priority) override; - virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, uint32_t hash) override; -@@ -205,13 +205,19 @@ class alignas(CACHE_LINE_SIZE) BinnedLRUCacheShard : public CacheShard { - virtual size_t GetUsage() const override; - virtual size_t GetPinnedUsage() const override; - -- virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t), -- bool thread_safe) override; -+ virtual void ApplyToAllCacheEntries( -+ const std::function<void(const rocksdb::Slice& key, -+ void* value, -+ size_t charge, -+ DeleterFn)>& callback, -+ bool thread_safe) override; - - virtual void EraseUnRefEntries() override; - - virtual std::string GetPrintableOptions() const override; - -+ virtual DeleterFn GetDeleter(rocksdb::Cache::Handle* handle) const override; -+ - void TEST_GetLRUList(BinnedLRUHandle** lru, BinnedLRUHandle** lru_low_pri); - - // Retrieves number of elements in LRU, for unit test purpose only -@@ -304,7 +310,9 @@ class BinnedLRUCache : public ShardedCache { - virtual size_t GetCharge(Handle* handle) const override; - virtual uint32_t GetHash(Handle* handle) const override; - virtual void DisownData() override; -- -+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+ virtual DeleterFn GetDeleter(Handle* handle) const override; -+#endif - // Retrieves number of elements in LRU, for unit test purpose only - size_t TEST_GetLRUSize(); - // Sets the high pri pool ratio -diff --git a/src/kv/rocksdb_cache/ShardedCache.cc b/src/kv/rocksdb_cache/ShardedCache.cc -index 367140a94d8be..6cbd89ad6472c 100644 ---- a/src/kv/rocksdb_cache/ShardedCache.cc -+++ b/src/kv/rocksdb_cache/ShardedCache.cc -@@ -44,7 +44,7 @@ void ShardedCache::SetStrictCapacityLimit(bool strict_capacity_limit) { - } - - rocksdb::Status ShardedCache::Insert(const rocksdb::Slice& key, void* value, size_t charge, -- void (*deleter)(const rocksdb::Slice& key, void* value), -+ DeleterFn deleter, - rocksdb::Cache::Handle** handle, Priority priority) { - uint32_t hash = HashSlice(key); - return GetShard(Shard(hash)) -@@ -109,13 +109,36 @@ size_t ShardedCache::GetPinnedUsage() const { - return usage; - } - -+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+DeleterFn ShardedCache::GetDeleter(Handle* handle) const -+{ -+ uint32_t hash = GetHash(handle); -+ return GetShard(Shard(hash))->GetDeleter(handle); -+} -+ -+void ShardedCache::ApplyToAllEntries( -+ const std::function<void(const rocksdb::Slice& key, void* value, size_t charge, -+ DeleterFn deleter)>& callback, -+ const ApplyToAllEntriesOptions& opts) -+{ -+ int num_shards = 1 << num_shard_bits_; -+ for (int s = 0; s < num_shards; s++) { -+ GetShard(s)->ApplyToAllCacheEntries(callback, true /* thread_safe */); -+ } -+} -+#else - void ShardedCache::ApplyToAllCacheEntries(void (*callback)(void*, size_t), - bool thread_safe) { - int num_shards = 1 << num_shard_bits_; - for (int s = 0; s < num_shards; s++) { -- GetShard(s)->ApplyToAllCacheEntries(callback, thread_safe); -+ GetShard(s)->ApplyToAllCacheEntries( -+ [callback](const rocksdb::Slice&, void* value, size_t charge, DeleterFn) { -+ callback(value, charge); -+ }, -+ thread_safe); - } - } -+#endif - - void ShardedCache::EraseUnRefEntries() { - int num_shards = 1 << num_shard_bits_; -@@ -131,7 +154,7 @@ std::string ShardedCache::GetPrintableOptions() const { - char buffer[kBufferSize]; - { - std::lock_guard<std::mutex> l(capacity_mutex_); -- snprintf(buffer, kBufferSize, " capacity : %" ROCKSDB_PRIszt "\n", -+ snprintf(buffer, kBufferSize, " capacity : %zu\n", - capacity_); - ret.append(buffer); - snprintf(buffer, kBufferSize, " num_shard_bits : %d\n", num_shard_bits_); -diff --git a/src/kv/rocksdb_cache/ShardedCache.h b/src/kv/rocksdb_cache/ShardedCache.h -index 4d64893ab1c7b..f98421a09a33a 100644 ---- a/src/kv/rocksdb_cache/ShardedCache.h -+++ b/src/kv/rocksdb_cache/ShardedCache.h -@@ -14,6 +14,7 @@ - #include <string> - #include <mutex> - -+#include "rocksdb/version.h" - #include "rocksdb/cache.h" - #include "include/ceph_hash.h" - #include "common/PriorityCache.h" -@@ -22,10 +23,11 @@ - #ifndef CACHE_LINE_SIZE - #define CACHE_LINE_SIZE 64 // XXX arch-specific define - #endif --#define ROCKSDB_PRIszt "zu" - - namespace rocksdb_cache { - -+using DeleterFn = void (*)(const rocksdb::Slice& key, void* value); -+ - // Single cache shard interface. - class CacheShard { - public: -@@ -34,7 +36,7 @@ class CacheShard { - - virtual rocksdb::Status Insert(const rocksdb::Slice& key, uint32_t hash, void* value, - size_t charge, -- void (*deleter)(const rocksdb::Slice& key, void* value), -+ DeleterFn deleter, - rocksdb::Cache::Handle** handle, rocksdb::Cache::Priority priority) = 0; - virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, uint32_t hash) = 0; - virtual bool Ref(rocksdb::Cache::Handle* handle) = 0; -@@ -44,10 +46,15 @@ class CacheShard { - virtual void SetStrictCapacityLimit(bool strict_capacity_limit) = 0; - virtual size_t GetUsage() const = 0; - virtual size_t GetPinnedUsage() const = 0; -- virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t), -- bool thread_safe) = 0; -+ virtual void ApplyToAllCacheEntries( -+ const std::function<void(const rocksdb::Slice& key, -+ void* value, -+ size_t charge, -+ DeleterFn)>& callback, -+ bool thread_safe) = 0; - virtual void EraseUnRefEntries() = 0; - virtual std::string GetPrintableOptions() const { return ""; } -+ virtual DeleterFn GetDeleter(rocksdb::Cache::Handle* handle) const = 0; - }; - - // Generic cache interface which shards cache by hash of keys. 2^num_shard_bits -@@ -57,34 +64,43 @@ class ShardedCache : public rocksdb::Cache, public PriorityCache::PriCache { - public: - ShardedCache(size_t capacity, int num_shard_bits, bool strict_capacity_limit); - virtual ~ShardedCache() = default; -+ // rocksdb::Cache - virtual const char* Name() const override = 0; -- virtual CacheShard* GetShard(int shard) = 0; -- virtual const CacheShard* GetShard(int shard) const = 0; -- virtual void* Value(Handle* handle) override = 0; -- virtual size_t GetCharge(Handle* handle) const = 0; -- virtual uint32_t GetHash(Handle* handle) const = 0; -- virtual void DisownData() override = 0; -- -- virtual void SetCapacity(size_t capacity) override; -- virtual void SetStrictCapacityLimit(bool strict_capacity_limit) override; -- - virtual rocksdb::Status Insert(const rocksdb::Slice& key, void* value, size_t charge, -- void (*deleter)(const rocksdb::Slice& key, void* value), -+ DeleterFn, - rocksdb::Cache::Handle** handle, Priority priority) override; - virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, rocksdb::Statistics* stats) override; - virtual bool Ref(rocksdb::Cache::Handle* handle) override; - virtual bool Release(rocksdb::Cache::Handle* handle, bool force_erase = false) override; -+ virtual void* Value(Handle* handle) override = 0; - virtual void Erase(const rocksdb::Slice& key) override; - virtual uint64_t NewId() override; -- virtual size_t GetCapacity() const override; -+ virtual void SetCapacity(size_t capacity) override; -+ virtual void SetStrictCapacityLimit(bool strict_capacity_limit) override; - virtual bool HasStrictCapacityLimit() const override; -+ virtual size_t GetCapacity() const override; - virtual size_t GetUsage() const override; - virtual size_t GetUsage(rocksdb::Cache::Handle* handle) const override; - virtual size_t GetPinnedUsage() const override; -+ virtual size_t GetCharge(Handle* handle) const = 0; -+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+ virtual DeleterFn GetDeleter(Handle* handle) const override; -+#endif -+ virtual void DisownData() override = 0; -+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) -+ virtual void ApplyToAllEntries( -+ const std::function<void(const rocksdb::Slice& key, void* value, size_t charge, -+ DeleterFn deleter)>& callback, -+ const ApplyToAllEntriesOptions& opts) override; -+#else - virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t), - bool thread_safe) override; -+#endif - virtual void EraseUnRefEntries() override; - virtual std::string GetPrintableOptions() const override; -+ virtual CacheShard* GetShard(int shard) = 0; -+ virtual const CacheShard* GetShard(int shard) const = 0; -+ virtual uint32_t GetHash(Handle* handle) const = 0; - - int GetNumShardBits() const { return num_shard_bits_; } - -@@ -120,7 +136,7 @@ class ShardedCache : public rocksdb::Cache, public PriorityCache::PriCache { - // return Hash(s.data(), s.size(), 0); - } - -- uint32_t Shard(uint32_t hash) { -+ uint32_t Shard(uint32_t hash) const { - // Note, hash >> 32 yields hash in gcc, not the zero we expect! - return (num_shard_bits_ > 0) ? (hash >> (32 - num_shard_bits_)) : 0; - } diff --git a/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch b/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch new file mode 100644 index 0000000000..9f54305b47 --- /dev/null +++ b/gnu/packages/patches/flashrom-fix-building-on-aarch64.patch @@ -0,0 +1,89 @@ +commit da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d +Author: Pyry Kontio <pyry.kontio@drasa.eu> +Date: Mon Jul 6 12:57:35 2020 +0900 + + Makefile: Fix building on AArch64 NixOS + + The parsing of the output of archtest.c produced an unexpected + value on AArch64 NixOS. For example, the make variable ARCH was set to: + + ``` + bit outside of fd_set selected + arm + ``` + + This made the arch and OS checks fail. + + This commit simplifies the parsing, making it more robust. + + The C files archtest.c, endiantest.c and os.h used to set the + TARGET_OS, ARCH and ENDIAN variables, respectively, output + the result of the test as the final line, so just extracting + the final line and removing double quoting is enough. + + This commit also fixes a bug with debug_shell lacking escaping + single quotes, which prevented using the single quote in the + debug_shell calls. It used to work by accident before this fix; + the line in the call happened to contain a balanced pair of double + quotes and lacked other characters that needed escaping, which + didn't break the debug_shell, but this was accidental and very + brittle. + + Signed-off-by: Pyry Kontio <pyry.kontio@drasa.eu> + Change-Id: Iaa4477a71e758cf9ecad2c22f3b77bc6508a3510 + Reviewed-on: https://review.coreboot.org/c/flashrom/+/43140 + Tested-by: build bot (Jenkins) <no-reply@coreboot.org> + Reviewed-by: Angel Pons <th3fanbus@gmail.com> + +diff --git a/Makefile b/Makefile +index f3f7717e..e475cbdb 100644 +--- a/Makefile ++++ b/Makefile +@@ -83,7 +83,8 @@ dummy_for_make_3_80:=$(shell printf "Build started on %s\n\n" "$$(date)" >$(BUIL + + # Provide an easy way to execute a command, print its output to stdout and capture any error message on stderr + # in the build details file together with the original stdout output. +-debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(1) ; }' >&2; { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE)) ++debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(subst ','\'',$(1)) ; }' >&2; \ ++ { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE)) + + ############################################################################### + # General OS-specific settings. +@@ -106,7 +107,8 @@ endif + # IMPORTANT: The following line must be placed before TARGET_OS is ever used + # (of course), but should come after any lines setting CC because the line + # below uses CC itself. +-override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) ++override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null \ ++ | tail -1 | cut -f 2 -d'"')) + + ifeq ($(TARGET_OS), Darwin) + override CPPFLAGS += -I/opt/local/include -I/usr/local/include +@@ -490,8 +492,10 @@ endif + # IMPORTANT: The following line must be placed before ARCH is ever used + # (of course), but should come after any lines setting CC because the line + # below uses CC itself. +-override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"')) +-override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#')) ++override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \ ++ | tail -1 | cut -f 2 -d'"')) ++override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \ ++ | tail -1)) + + # Disable the internal programmer on unsupported architectures (everything but x86 and mipsel) + ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN)) +@@ -1299,12 +1303,12 @@ compiler: featuresavailable + @printf "Target arch is " + @# FreeBSD wc will output extraneous whitespace. + @echo $(ARCH)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ +- ( echo "unknown. Aborting."; exit 1) ++ ( echo "unknown (\"$(ARCH)\"). Aborting."; exit 1) + @printf "%s\n" '$(ARCH)' + @printf "Target OS is " + @# FreeBSD wc will output extraneous whitespace. + @echo $(TARGET_OS)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \ +- ( echo "unknown. Aborting."; exit 1) ++ ( echo "unknown (\"$(TARGET_OS)\"). Aborting."; exit 1) + @printf "%s\n" '$(TARGET_OS)' + ifeq ($(TARGET_OS), libpayload) + @$(CC) --version 2>&1 | grep -q coreboot || \ diff --git a/gnu/packages/patches/jami-fix-qml-imports.patch b/gnu/packages/patches/jami-fix-qml-imports.patch deleted file mode 100644 index e24171785d..0000000000 --- a/gnu/packages/patches/jami-fix-qml-imports.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 9c4d065093d18b5495d3193028457b7393daea4b Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> -Date: Mon, 7 Nov 2022 16:26:50 -0500 -Subject: [PATCH] tests: Fix broken QML import directives. - -Fixes -<https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883>. - -Automated via: - $ find tests -name '*.qml' | xargs sed -i 's,qrc:/src,../../../src,' - -Change-Id: Ic1a2f419e3e328e8bf861e7fdf370f15da66675f ---- -Upstream status: https://review.jami.net/c/jami-client-qt/+/22990 - - tests/qml/src/tst_ChatViewFooter.qml | 2 +- - tests/qml/src/tst_FilesToSendContainer.qml | 2 +- - tests/qml/src/tst_PresenceIndicator.qml | 2 +- - tests/qml/src/tst_WizardView.qml | 4 ++-- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/client-qt/tests/qml/src/tst_ChatViewFooter.qml b/client-qt/tests/qml/src/tst_ChatViewFooter.qml -index 84316d78..b0cffe1a 100644 ---- a/client-qt/tests/qml/src/tst_ChatViewFooter.qml -+++ b/client-qt/tests/qml/src/tst_ChatViewFooter.qml -@@ -25,7 +25,7 @@ import QtTest - import net.jami.Models 1.1 - import net.jami.Constants 1.1 - --import "qrc:/src/app/mainview/components" -+import "../../../src/app/mainview/components" - - ColumnLayout { - id: root -diff --git a/client-qt/tests/qml/src/tst_FilesToSendContainer.qml b/client-qt/tests/qml/src/tst_FilesToSendContainer.qml -index b7f4810a..9432a44d 100644 ---- a/client-qt/tests/qml/src/tst_FilesToSendContainer.qml -+++ b/client-qt/tests/qml/src/tst_FilesToSendContainer.qml -@@ -25,7 +25,7 @@ import QtTest - import net.jami.Models 1.1 - import net.jami.Constants 1.1 - --import "qrc:/src/app/mainview/components" -+import "../../../src/app/mainview/components" - - ColumnLayout { - id: root -diff --git a/client-qt/tests/qml/src/tst_PresenceIndicator.qml b/client-qt/tests/qml/src/tst_PresenceIndicator.qml -index 0eda9169..46c048e8 100644 ---- a/client-qt/tests/qml/src/tst_PresenceIndicator.qml -+++ b/client-qt/tests/qml/src/tst_PresenceIndicator.qml -@@ -22,7 +22,7 @@ import QtTest - import net.jami.Models 1.1 - import net.jami.Constants 1.1 - --import "qrc:/src/app/commoncomponents" -+import "../../../src/app/commoncomponents" - - PresenceIndicator { - id: uut -diff --git a/client-qt/tests/qml/src/tst_WizardView.qml b/client-qt/tests/qml/src/tst_WizardView.qml -index 08698b7a..6a4f971d 100644 ---- a/client-qt/tests/qml/src/tst_WizardView.qml -+++ b/client-qt/tests/qml/src/tst_WizardView.qml -@@ -24,8 +24,8 @@ import net.jami.Models 1.1 - import net.jami.Constants 1.1 - import net.jami.Enums 1.1 - --import "qrc:/src/app/wizardview" --import "qrc:/src/app/commoncomponents" -+import "../../../src/app/wizardview" -+import "../../../src/app/commoncomponents" - - WizardView { - id: uut --- -2.37.3 - diff --git a/gnu/packages/patches/jami-fix-unit-tests-build.patch b/gnu/packages/patches/jami-fix-unit-tests-build.patch deleted file mode 100644 index 0216a4bd67..0000000000 --- a/gnu/packages/patches/jami-fix-unit-tests-build.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 82ecd786a29344d57e6dd95ef0800bef9dd44542 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> -Date: Sun, 6 Nov 2022 00:16:34 -0400 -Subject: [PATCH 3/3] tests: Fix various compilation failures. - -Fixes <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>. - -* tests/CMakeLists.txt: Add "Widgets" Qt module to find_package call. -(QML_TEST_LIBS): Add Qt::Widgets. -* tests/CMakeLists.txt: Rename QML_LIBS to QT_LIBS, a regression -introduced in d82e3820706214d15d7cb7462978b7a43b798355. Remove the -dependency on on the Widgets module, now provided via QT_LIBS. -* tests/qml/main.cpp [WITH_WEBENGINE]: Include QtWebEngine modules -conditionally. -(main) [WITH_WEBENGINE]: Initialize webengine conditionally. -* tests/CMakeLists.txt: Link test objects with ${LIBCLIENT_NAME}. -* src/app/qmlregister.h (registerTypes): Change parent type from -MainApplication* to QObject* -* src/app/qmlregister.cpp (registerTypes): Likewise. -* tests/unittests/account_unittest.cpp (globalEnv): Remove variable. -* tests/unittests/contact_unittest.cpp: Likewise. ---- -Upstream status: https://review.jami.net/c/jami-client-qt/+/22984/1 - - src/app/qmlregister.cpp | 2 +- - src/app/qmlregister.h | 2 +- - tests/CMakeLists.txt | 6 +++--- - tests/qml/main.cpp | 7 ++++--- - tests/unittests/account_unittest.cpp | 2 -- - tests/unittests/contact_unittest.cpp | 2 -- - 6 files changed, 9 insertions(+), 12 deletions(-) - -diff --git a/client-qt/client-qt/src/app/qmlregister.cpp b/client-qt/src/app/qmlregister.cpp -index 285f7814..67222eb5 100644 ---- a/client-qt/client-qt/src/app/qmlregister.cpp -+++ b/client-qt/src/app/qmlregister.cpp -@@ -105,7 +105,7 @@ registerTypes(QQmlEngine* engine, - AppSettingsManager* settingsManager, - PreviewEngine* previewEngine, - ScreenInfo* screenInfo, -- MainApplication* parent) -+ QObject* parent) - { - // setup the adapters (their lifetimes are that of MainApplication) - auto callAdapter = new CallAdapter(systemTray, lrcInstance, parent); -diff --git a/client-qt/client-qt/src/app/qmlregister.h b/client-qt/src/app/qmlregister.h -index 38bfd091..aac0a887 100644 ---- a/client-qt/client-qt/src/app/qmlregister.h -+++ b/client-qt/src/app/qmlregister.h -@@ -67,5 +67,5 @@ void registerTypes(QQmlEngine* engine, - AppSettingsManager* appSettingsManager, - PreviewEngine* previewEngine, - ScreenInfo* screenInfo, -- MainApplication* parent); -+ QObject* parent); - } -diff --git a/client-qt/client-qt/tests/CMakeLists.txt b/client-qt/tests/CMakeLists.txt -index 8904d5ec..4e42b307 100644 ---- a/client-qt/client-qt/tests/CMakeLists.txt -+++ b/client-qt/tests/CMakeLists.txt -@@ -1,4 +1,4 @@ --find_package(Qt${QT_VERSION_MAJOR} CONFIG REQUIRED QuickTest Test) -+find_package(Qt${QT_VERSION_MAJOR} CONFIG REQUIRED QuickTest Test Widgets) - - if(MSVC) - # Download and unpack googletest for windows -@@ -15,7 +15,7 @@ else() - endif() - - enable_testing(true) --set(QML_TEST_LIBS ${QML_LIBS} Qt::QuickTest Qt::Test) -+set(QML_TEST_LIBS ${QT_LIBS} ${LIBCLIENT_NAME} Qt::QuickTest Qt::Test Qt::Widgets) - set(TESTS_INCLUDES - ${CMAKE_SOURCE_DIR}/src - ${CMAKE_SOURCE_DIR}/tests/qml -@@ -192,4 +192,4 @@ else() - ${LRC}/include) - - add_test(NAME UnitTests COMMAND unittests) --endif() -\ No newline at end of file -+endif() -diff --git a/client-qt/client-qt/tests/qml/main.cpp b/client-qt/tests/qml/main.cpp -index 09c02f3e..4c42027c 100644 ---- a/client-qt/client-qt/tests/qml/main.cpp -+++ b/client-qt/tests/qml/main.cpp -@@ -31,9 +31,10 @@ - #include <QQmlEngine> - #include <QQmlContext> - #include <QFontDatabase> -+#ifdef WITH_WEBENGINE - #include <QtWebEngineCore> - #include <QtWebEngineQuick> -- -+#endif - #ifdef Q_OS_WIN - #include <windows.h> - #endif -@@ -155,9 +156,9 @@ main(int argc, char** argv) - // Adjust the argument count. - argc = std::distance(argv, end); - } -- -+#ifdef WITH_WEBENGINE - QtWebEngineQuick::initialize(); -- -+#endif - QTEST_SET_MAIN_SOURCE_PATH - Setup setup(muteDring); - return quick_test_main_with_setup(argc, argv, "qml_test", nullptr, &setup); -diff --git a/client-qt/client-qt/tests/unittests/account_unittest.cpp b/client-qt/tests/unittests/account_unittest.cpp -index aa98453e..5af2ad6e 100644 ---- a/client-qt/client-qt/tests/unittests/account_unittest.cpp -+++ b/client-qt/tests/unittests/account_unittest.cpp -@@ -19,8 +19,6 @@ - - #include "globaltestenvironment.h" - --TestEnvironment globalEnv; -- - /*! - * Test fixture for AccountAdapter testing - */ -diff --git a/client-qt/client-qt/tests/unittests/contact_unittest.cpp b/client-qt/tests/unittests/contact_unittest.cpp -index af8a9a22..b05cc856 100644 ---- a/client-qt/client-qt/tests/unittests/contact_unittest.cpp -+++ b/client-qt/tests/unittests/contact_unittest.cpp -@@ -18,8 +18,6 @@ - - #include "globaltestenvironment.h" - --TestEnvironment globalEnv; -- - /*! - * Test fixture for AccountAdapter testing - */ --- -2.37.3 - diff --git a/gnu/packages/patches/jami-no-webengine.patch b/gnu/packages/patches/jami-no-webengine.patch deleted file mode 100644 index f26cd8e3f5..0000000000 --- a/gnu/packages/patches/jami-no-webengine.patch +++ /dev/null @@ -1,243 +0,0 @@ -From 1f73d3c88e94f2d932c59cab8a02c72a325ccc20 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9bastien=20Blin?= - <sebastien.blin@savoirfairelinux.com> -Date: Fri, 11 Nov 2022 16:19:11 -0500 -Subject: [PATCH] misc: fix build without webengine - -Change-Id: I2511cd89e1ce7f60424f69ab6576d7fb992dd58c -GitLab: #881 ---- - .../components/DocumentsScrollview.qml | 1 - - src/app/mainview/components/FilePreview.qml | 1 - - src/app/mainview/components/MediaPreview.qml | 57 ++-------------- - .../mainview/components/SwarmDetailsPanel.qml | 1 - - src/app/nowebengine/VideoPreview.qml | 24 +++++++ - src/app/webengine/VideoPreview.qml | 68 +++++++++++++++++++ - 6 files changed, 99 insertions(+), 53 deletions(-) - create mode 100644 src/app/nowebengine/VideoPreview.qml - create mode 100644 src/app/webengine/VideoPreview.qml - -diff --git a/client-qt/src/app/mainview/components/DocumentsScrollview.qml b/client-qt/src/app/mainview/components/DocumentsScrollview.qml -index df516961..3338536a 100644 ---- a/client-qt/src/app/mainview/components/DocumentsScrollview.qml -+++ b/client-qt/src/app/mainview/components/DocumentsScrollview.qml -@@ -20,7 +20,6 @@ import QtQuick.Controls - import QtQuick.Layouts - import Qt.labs.platform - import Qt5Compat.GraphicalEffects --import QtWebEngine - - import net.jami.Models 1.1 - import net.jami.Adapters 1.1 -diff --git a/client-qt/src/app/mainview/components/FilePreview.qml b/client-qt/src/app/mainview/components/FilePreview.qml -index 57b1ec8b..fe8f3fd9 100644 ---- a/client-qt/src/app/mainview/components/FilePreview.qml -+++ b/client-qt/src/app/mainview/components/FilePreview.qml -@@ -19,7 +19,6 @@ import QtQuick.Controls - import QtQuick.Layouts - import Qt.labs.platform - import Qt5Compat.GraphicalEffects --import QtWebEngine - - import net.jami.Models 1.1 - import net.jami.Adapters 1.1 -diff --git a/client-qt/src/app/mainview/components/MediaPreview.qml b/client-qt/src/app/mainview/components/MediaPreview.qml -index 0c33bf3e..965f9343 100644 ---- a/client-qt/src/app/mainview/components/MediaPreview.qml -+++ b/client-qt/src/app/mainview/components/MediaPreview.qml -@@ -19,7 +19,6 @@ import QtQuick.Controls - import QtQuick.Layouts - import Qt.labs.platform - import Qt5Compat.GraphicalEffects --import QtWebEngine - - import net.jami.Models 1.1 - import net.jami.Adapters 1.1 -@@ -92,59 +91,17 @@ Component { - } - Component { - id: avMediaComp -- - Loader { -- property real msgRadius: 20 -- -- Rectangle { -- id: videoAudioRect -- color: JamiTheme.secondaryBackgroundColor -- anchors.fill: parent -- -- WebEngineView { -- id: wev -- -- property bool isVideo: mediaInfo.isVideo -- property string html: mediaInfo.html -- -- anchors.fill: parent -- anchors.verticalCenter: videoAudioRect.verticalCenter -- backgroundColor: JamiTheme.secondaryBackgroundColor -- anchors.topMargin: isVideo? 0 : wev.implicitHeight / 2 -- settings.fullScreenSupportEnabled: isVideo -- settings.javascriptCanOpenWindows: false -- Component.onCompleted: loadHtml(html, 'file://') -- onFullScreenRequested: function(request) { -- if (request.toggleOn) { -- layoutManager.pushFullScreenItem( -- this, -- videoAudioRect, -- null, -- function() { wev.fullScreenCancelled() }) -- } else if (!request.toggleOn) { -- layoutManager.removeFullScreenItem(this) -- } -- request.accept() -- } -- } -- -- layer.enabled: true -- layer.effect: OpacityMask { -- maskSource: Item { -- width: videoAudioRect.width -- height: videoAudioRect.height -- Rectangle { -- anchors.centerIn: parent -- width: videoAudioRect.width -- height: videoAudioRect.height -- radius: JamiTheme.swarmDetailsPageDocumentsMediaRadius -- } -- } -- } -+ Component.onCompleted: { -+ var qml = WITH_WEBENGINE ? -+ "qrc:/webengine/VideoPreview.qml" : -+ "qrc:/nowebengine/VideoPreview.qml" -+ setSource( qml, { isVideo: mediaInfo.isVideo, html:mediaInfo.html } ) - } -+ -+ property real msgRadius: 20 - } - } -- - Component { - id: imageMediaComp - -diff --git a/client-qt/src/app/mainview/components/SwarmDetailsPanel.qml b/client-qt/src/app/mainview/components/SwarmDetailsPanel.qml -index 0dd93bc2..7625a76e 100644 ---- a/client-qt/src/app/mainview/components/SwarmDetailsPanel.qml -+++ b/client-qt/src/app/mainview/components/SwarmDetailsPanel.qml -@@ -21,7 +21,6 @@ import QtQuick.Controls - import QtQuick.Layouts - import Qt.labs.platform - import Qt5Compat.GraphicalEffects --import QtWebEngine - - import net.jami.Models 1.1 - import net.jami.Adapters 1.1 -diff --git a/client-qt/src/app/nowebengine/VideoPreview.qml b/client-qt/src/app/nowebengine/VideoPreview.qml -new file mode 100644 -index 00000000..8c2e8a4f ---- /dev/null -+++ b/client-qt/src/app/nowebengine/VideoPreview.qml -@@ -0,0 +1,24 @@ -+/* -+ * Copyright (C) 2022 Savoir-faire Linux Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see <https://www.gnu.org/licenses/>. -+ */ -+ -+import QtQuick -+import QtQuick.Controls -+import QtQuick.Layouts -+ -+Rectangle { -+ property var mediaInfo: undefined -+} -\ No newline at end of file -diff --git a/client-qt/src/app/webengine/VideoPreview.qml b/client-qt/src/app/webengine/VideoPreview.qml -new file mode 100644 -index 00000000..edc03599 ---- /dev/null -+++ b/client-qt/src/app/webengine/VideoPreview.qml -@@ -0,0 +1,68 @@ -+/* -+ * Copyright (C) 2022 Savoir-faire Linux Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see <https://www.gnu.org/licenses/>. -+ */ -+ -+import QtQuick -+import QtWebEngine -+import Qt5Compat.GraphicalEffects -+ -+import net.jami.Constants 1.1 -+ -+Rectangle { -+ id: root -+ color: JamiTheme.secondaryBackgroundColor -+ anchors.fill: parent -+ property bool isVideo: false -+ property string html: "" -+ -+ WebEngineView { -+ id: wev -+ -+ anchors.fill: parent -+ anchors.verticalCenter: root.verticalCenter -+ backgroundColor: JamiTheme.secondaryBackgroundColor -+ anchors.topMargin: root.isVideo? 0 : wev.implicitHeight / 2 -+ settings.fullScreenSupportEnabled: root.isVideo -+ settings.javascriptCanOpenWindows: false -+ Component.onCompleted: loadHtml(root.html, 'file://') -+ onFullScreenRequested: function(request) { -+ if (request.toggleOn) { -+ layoutManager.pushFullScreenItem( -+ this, -+ root, -+ null, -+ function() { wev.fullScreenCancelled() }) -+ } else if (!request.toggleOn) { -+ layoutManager.removeFullScreenItem(this) -+ } -+ request.accept() -+ } -+ } -+ -+ layer.enabled: true -+ layer.effect: OpacityMask { -+ maskSource: Item { -+ width: root.width -+ height: root.height -+ Rectangle { -+ anchors.centerIn: parent -+ width: root.width -+ height: root.height -+ radius: JamiTheme.swarmDetailsPageDocumentsMediaRadius -+ } -+ } -+ } -+} -\ No newline at end of file --- -2.37.3 - diff --git a/gnu/packages/patches/jami-sip-contacts.patch b/gnu/packages/patches/jami-sip-contacts.patch deleted file mode 100644 index dce8f6b98d..0000000000 --- a/gnu/packages/patches/jami-sip-contacts.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3ba007d02bc19e499c8f3c2345302453028831a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9bastien=20Blin?= - <sebastien.blin@savoirfairelinux.com> -Date: Tue, 29 Nov 2022 09:26:20 -0500 -Subject: [PATCH] misc: fix incoming message sip - -We do not need to check contacts for SIP as it will be considered -automatically as a contact - -Change-Id: If78113e9d79dcd695c39c2d12c0441e2cb282737 ---- - src/libclient/conversationmodel.cpp | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/client-qt/src/libclient/conversationmodel.cpp b/client-qt/src/libclient/conversationmodel.cpp -index dba206bd..5604a17c 100644 ---- a/client-qt/src/libclient/conversationmodel.cpp -+++ b/client-qt/src/libclient/conversationmodel.cpp -@@ -3611,8 +3611,12 @@ ConversationModelPimpl::addIncomingMessage(const QString& peerId, - try { - auto contact = linked.owner.contactModel->getContact(peerId); - isRequest = contact.profileInfo.type == profile::Type::PENDING; -- if (isRequest && !contact.isBanned && peerId != linked.owner.profileInfo.uri) { -- addContactRequest(peerId); -+ // if isSip, it will be a contact! -+ auto isSip = linked.owner.profileInfo.type == profile::Type::SIP; -+ if (isSip -+ || (isRequest && !contact.isBanned && peerId != linked.owner.profileInfo.uri)) { -+ if (!isSip) -+ addContactRequest(peerId); - convIds.push_back(storage::beginConversationWithPeer(db, contact.profileInfo.uri)); - auto& conv = getConversationForPeerUri(contact.profileInfo.uri).get(); - conv.uid = convIds[0]; - -base-commit: 6f30acf0043d07dcbe63ee8636509885a9b6fd76 --- -2.38.1 - diff --git a/gnu/packages/patches/jami-sip-unregister.patch b/gnu/packages/patches/jami-sip-unregister.patch deleted file mode 100644 index 1f0302bb12..0000000000 --- a/gnu/packages/patches/jami-sip-unregister.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c1e6d664601b35a466f4e02e86a2c8181fdcca12 Mon Sep 17 00:00:00 2001 -From: Antoine Noreau <antoine.noreau@savoirfairelinux.com> -Date: Thu, 3 Nov 2022 15:35:40 -0400 -Subject: [PATCH] sip: ensure correct unregister upon closure - -Ensure SIP connections are gracefully terminated: -Removed duplicated register calls to SIP server - -Change-Id: I330e67cf9534504f92517996eb7b693b43d359d3 -Gitlab: #786 ---- - src/upnp/upnp_context.cpp | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/daemon/src/upnp/upnp_context.cpp b/daemon/src/upnp/upnp_context.cpp -index a447e2d75..c68fe502c 100644 ---- a/daemon/src/upnp/upnp_context.cpp -+++ b/daemon/src/upnp/upnp_context.cpp -@@ -143,7 +143,7 @@ void - UPnPContext::stopUpnp(bool forceRelease) - { - if (not isValidThread()) { -- runOnUpnpContextQueue([this] { stopUpnp(); }); -+ runOnUpnpContextQueue([this, forceRelease] { stopUpnp(forceRelease); }); - return; - } - -@@ -168,10 +168,15 @@ UPnPContext::stopUpnp(bool forceRelease) - preferredIgd_.reset(); - validIgdList_.clear(); - } -- - for (auto const& map : toRemoveList) { - requestRemoveMapping(map); -- updateMappingState(map, MappingState::FAILED); -+ -+ /* Notify is not needed in updateMappingState when -+ shutting down (hence set it to false). NotifyCallback -+ would trigger a new SIP registration and create a -+ false registered state upon program close. */ -+ -+ updateMappingState(map, MappingState::FAILED, false); - // We dont remove mappings with auto-update enabled, - // unless forceRelease is true. - if (not map->getAutoUpdate() or forceRelease) { --- -2.37.3 - diff --git a/gnu/packages/patches/jami-sipaccount-segfault.patch b/gnu/packages/patches/jami-sipaccount-segfault.patch deleted file mode 100644 index 1cef512124..0000000000 --- a/gnu/packages/patches/jami-sipaccount-segfault.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e5a449d60abc667d85dacd75ad6e31d4ddca5853 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9bastien=20Blin?= - <sebastien.blin@savoirfairelinux.com> -Date: Thu, 17 Nov 2022 12:02:20 -0500 -Subject: [PATCH] sipaccount: fix potential null dereference - -Detected by sonarqube - -Change-Id: I606f9cf2458dda07471d0a67af8915c7ca13d410 ---- - src/sip/sipaccount.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/daemon/src/sip/sipaccount.cpp b/daemon/src/sip/sipaccount.cpp -index 695b71839..e544ac31a 100644 ---- a/daemon/src/sip/sipaccount.cpp -+++ b/daemon/src/sip/sipaccount.cpp -@@ -789,7 +789,8 @@ SIPAccount::sendRegister() - if (pjsip_regc_set_transport(regc, &tp_sel) != PJ_SUCCESS) - throw VoipLinkException("Unable to set transport"); - -- setUpTransmissionData(tdata, tp_sel.u.transport->key.type); -+ if (tp_sel.u.transport) -+ setUpTransmissionData(tdata, tp_sel.u.transport->key.type); - - // pjsip_regc_send increment the transport ref count by one, - if ((status = pjsip_regc_send(regc, tdata)) != PJ_SUCCESS) { --- -GitLab - diff --git a/gnu/packages/patches/jami-xcb-link.patch b/gnu/packages/patches/jami-xcb-link.patch deleted file mode 100644 index 6879493123..0000000000 --- a/gnu/packages/patches/jami-xcb-link.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 3db2a7802422e69f50030db854abfb72fbc9caa4 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> -Date: Fri, 11 Nov 2022 22:38:32 -0500 -Subject: [PATCH] Move xcb include/link directives from jami to libclient. - -Relates to <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>. - -This problem was discovered when attempting to build the test suite: - - ld: ../src/libclient/liblibjamiclient.a(avmodel.cpp.o): undefined - reference to symbol 'xcb_get_setup' - -* CMakeLists.txt: [!(APPLE or MSVC] Move xcb includes and link directives to... -* src/libclient/CMakeLists.txt [!(APPLE or MSVC]: ... here. - -Change-Id: If9b6653e157081300caad8f13cafe4979a49630b ---- - CMakeLists.txt | 6 +----- - src/libclient/CMakeLists.txt | 6 ++++++ - 2 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/client-qt/CMakeLists.txt b/client-qt/CMakeLists.txt -index d0a8fd70..2a09fd6c 100644 ---- a/client-qt/CMakeLists.txt -+++ b/client-qt/CMakeLists.txt -@@ -384,8 +384,6 @@ elseif (NOT APPLE) - add_definitions(${LIBGDKPIXBUF_CFLAGS}) - endif() - -- pkg_check_modules(XCB xcb) -- - list(PREPEND CMAKE_PREFIX_PATH - ${LIBJAMI_CONTRIB_DIR}/native/ffmpeg/libavutil) - pkg_check_modules(LIBAVUTIL libavutil>=55.75.100) -@@ -398,7 +396,6 @@ elseif (NOT APPLE) - ${LIBNOTIFY_INCLUDE_DIRS} - ${LIBGDKPIXBUF_INCLUDE_DIRS} - ${GLIB_INCLUDE_DIRS} -- ${XCB_INCLUDE_DIRS} - ${LIBAVUTIL_INCLUDE_DIRS}) - - set(JAMI_DATA_PREFIX "${CMAKE_INSTALL_PREFIX}/share") -@@ -586,8 +583,7 @@ elseif (NOT APPLE) - ${LIBNOTIFY_LIBRARIES} - ${LIBGDKPIXBUF_LIBRARIES} - ${GLIB_LIBRARIES} -- ${GIO_LIBRARIES} -- ${XCB_LIBRARIES}) -+ ${GIO_LIBRARIES}) - - # Installation rules - install( -diff --git a/client-qt/src/libclient/CMakeLists.txt b/client-qt/src/libclient/CMakeLists.txt -index 99780f5f..1dd32677 100644 ---- a/client-qt/src/libclient/CMakeLists.txt -+++ b/client-qt/src/libclient/CMakeLists.txt -@@ -475,6 +475,12 @@ add_library(${LIBCLIENT_NAME} STATIC - foreach(QT_LIB ${QT_LIBS}) - target_link_libraries(${LIBCLIENT_NAME} ${QT_LIB}) - endforeach() -+ -+if(NOT(APPLE OR MSVC)) -+ pkg_check_modules(XCB xcb IMPORTED_TARGET) -+ target_link_libraries(${LIBCLIENT_NAME} PkgConfig::XCB) -+endif() -+ - if(ENABLE_LIBWRAP) - target_link_libraries(${LIBCLIENT_NAME} qtwrapper ${LIBJAMI_LIB}) - if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")) --- -2.37.3 - diff --git a/gnu/packages/patches/julia-tracker-16-compat.patch b/gnu/packages/patches/julia-tracker-16-compat.patch deleted file mode 100644 index 4fff423e44..0000000000 --- a/gnu/packages/patches/julia-tracker-16-compat.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/FluxML/Tracker.jl/commit/f6550ba38a9ea5802e2de4fa9c939929ba711f0d.patch -from an upstream pull request -https://github.com/FluxML/Tracker.jl/pull/94 - - -From f6550ba38a9ea5802e2de4fa9c939929ba711f0d Mon Sep 17 00:00:00 2001 -From: Michael Abbott <me@escbook> -Date: Wed, 3 Feb 2021 22:58:33 +0100 -Subject: [PATCH] two fixes for 1.6 - ---- - src/lib/array.jl | 2 +- - src/lib/real.jl | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/lib/array.jl b/src/lib/array.jl -index 92f2b39..f8cbbac 100644 ---- a/src/lib/array.jl -+++ b/src/lib/array.jl -@@ -298,7 +298,7 @@ Base.reverse(xs::TrackedArray; dims) = track(reverse, xs, dims = dims) - @grad reverse(xs; dims) = reverse(data(xs), dims = dims), Δ -> (reverse(Δ, dims = dims), nothing) - Base.reverse(xs::TrackedVector) = track(reverse, xs) - @grad reverse(xs::TrackedVector) = reverse(data(xs)), Δ -> (reverse(Δ),) --Base.reverse(xs::TrackedVector, start, stop) = track(reverse, xs, start, stop) -+Base.reverse(xs::TrackedVector, start::Integer, stop::Integer) = track(reverse, xs, start, stop) - @grad reverse(xs, start, stop) = reverse(data(xs), start, stop), Δ -> (reverse(Δ, start, stop), nothing, nothing) - - function _kron(mat1::AbstractMatrix,mat2::AbstractMatrix) -diff --git a/src/lib/real.jl b/src/lib/real.jl -index 737afd8..e1975ac 100644 ---- a/src/lib/real.jl -+++ b/src/lib/real.jl -@@ -55,6 +55,7 @@ for f in :[isinf, isnan, isfinite].args - end - - Printf.fix_dec(x::TrackedReal, n::Int, a...) = Printf.fix_dec(data(x), n, a...) -+Printf.tofloat(x::TrackedReal) = Printf.tofloat(data(x)) - - Base.float(x::TrackedReal) = x - diff --git a/gnu/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch b/gnu/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch new file mode 100644 index 0000000000..b4bf292c1e --- /dev/null +++ b/gnu/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch @@ -0,0 +1,100 @@ +From: Even Rouault <even.rouault@spatialys.com> +Date: Sat, 26 Nov 2022 13:23:12 +0100 +Subject: Fix test failures with PROJ 9.1.1 + +https://github.com/OSGeo/libgeotiff/pull/82 +--- + bin/listgeo.c | 7 ++++++- + test/testlistgeo | 4 ++-- + test/testlistgeo_out.dist | 14 -------------- + 3 files changed, 8 insertions(+), 17 deletions(-) + +diff --git a/bin/listgeo.c b/bin/listgeo.c +index 06c45f70..acad54c6 100644 +--- a/bin/listgeo.c ++++ b/bin/listgeo.c +@@ -29,6 +29,7 @@ void Usage() + " -tfw: Generate a .tfw (ESRI TIFF World) file for the target file.\n" + " -proj4: Report PROJ.4 equivalent projection definition.\n" + " -no_norm: Don't report 'normalized' parameter values.\n" ++ " -no_corners: Don't report corner coordinates.\n" + " filename: Name of the GeoTIFF file to report on.\n" ); + + exit( 1 ); +@@ -42,6 +43,7 @@ int main(int argc, char *argv[]) + int i, norm_print_flag = 1, proj4_print_flag = 0; + int tfw_flag = 0, inv_flag = 0, dec_flag = 0; + int st_test_flag = 0; ++ int corners = 1; + + /* + * Handle command line options. +@@ -50,6 +52,8 @@ int main(int argc, char *argv[]) + { + if( strcmp(argv[i],"-no_norm") == 0 ) + norm_print_flag = 0; ++ else if( strcmp(argv[i],"-no_corners") == 0 ) ++ corners = 0; + else if( strcmp(argv[i],"-tfw") == 0 ) + tfw_flag = 1; + else if( strcmp(argv[i],"-proj4") == 0 ) +@@ -130,7 +134,8 @@ int main(int argc, char *argv[]) + + TIFFGetField( tif, TIFFTAG_IMAGEWIDTH, &xsize ); + TIFFGetField( tif, TIFFTAG_IMAGELENGTH, &ysize ); +- GTIFPrintCorners( gtif, &defn, stdout, xsize, ysize, inv_flag, dec_flag ); ++ if( corners ) ++ GTIFPrintCorners( gtif, &defn, stdout, xsize, ysize, inv_flag, dec_flag ); + } + + } +diff --git a/test/testlistgeo b/test/testlistgeo +index 596301b4..9a41e74f 100755 +--- a/test/testlistgeo ++++ b/test/testlistgeo +@@ -59,11 +59,11 @@ $EXE ${DATA_DIR}/ProjLinearUnitsGeoKey_9036.tif >>${OUT} + echo "" >>${OUT} + + echo "Testing listgeo ProjectedCSTypeGeoKey_28191_cassini_soldner.tif" >> ${OUT} +-$EXE ${DATA_DIR}/ProjectedCSTypeGeoKey_28191_cassini_soldner.tif >>${OUT} ++$EXE -no_corners ${DATA_DIR}/ProjectedCSTypeGeoKey_28191_cassini_soldner.tif >>${OUT} + echo "" >>${OUT} + + echo "Testing listgeo cassini_soldner.tif" >> ${OUT} +-$EXE ${DATA_DIR}/cassini_soldner.tif >>${OUT} ++$EXE -no_corners ${DATA_DIR}/cassini_soldner.tif >>${OUT} + echo "" >>${OUT} + + echo "Testing listgeo ProjectedCSTypeGeoKey_27200_new_zealand_mapping_grid.tif" >> ${OUT} +diff --git a/test/testlistgeo_out.dist b/test/testlistgeo_out.dist +index 742f0fce..20221cec 100644 +--- a/test/testlistgeo_out.dist ++++ b/test/testlistgeo_out.dist +@@ -299,13 +299,6 @@ Ellipsoid: 7010/Clarke 1880 (Benoit) (6378300.79,6356566.43) + Prime Meridian: 8901/Greenwich (0.000000/ 0d 0' 0.00"E) + Projection Linear Units: 9001/metre (1.000000m) + +-Corner Coordinates: +-Upper Left ( 440720.000, 3751320.000) ( 40d47'28.08"E, 64d13'29.57"N) +-Lower Left ( 440720.000, 3751260.000) ( 40d47'27.69"E, 64d13'27.64"N) +-Upper Right ( 440780.000, 3751320.000) ( 40d47'32.51"E, 64d13'29.40"N) +-Lower Right ( 440780.000, 3751260.000) ( 40d47'32.12"E, 64d13'27.47"N) +-Center ( 440750.000, 3751290.000) ( 40d47'30.10"E, 64d13'28.52"N) +- + Testing listgeo cassini_soldner.tif + Geotiff_Information: + Version: 1 +@@ -348,13 +341,6 @@ Projection Method: CT_CassiniSoldner + ProjFalseNorthingGeoKey: 126867.909000 m + Projection Linear Units: 9001/metre (1.000000m) + +-Corner Coordinates: +-Upper Left ( 440720.000, 3751320.000) ( 40d47'28.08"E, 64d13'29.57"N) +-Lower Left ( 440720.000, 3751260.000) ( 40d47'27.69"E, 64d13'27.64"N) +-Upper Right ( 440780.000, 3751320.000) ( 40d47'32.51"E, 64d13'29.40"N) +-Lower Right ( 440780.000, 3751260.000) ( 40d47'32.12"E, 64d13'27.47"N) +-Center ( 440750.000, 3751290.000) ( 40d47'30.10"E, 64d13'28.52"N) +- + Testing listgeo ProjectedCSTypeGeoKey_27200_new_zealand_mapping_grid.tif + Geotiff_Information: + Version: 1 diff --git a/gnu/packages/patches/openbios-gcc-warnings.patch b/gnu/packages/patches/openbios-gcc-warnings.patch new file mode 100644 index 0000000000..b96cecc31e --- /dev/null +++ b/gnu/packages/patches/openbios-gcc-warnings.patch @@ -0,0 +1,95 @@ +Fix warnings with recent versions of GCC. + +This is a combination of these commits: + + https://github.com/openbios/openbios/commit/14be7d187a327a89c068c4e2551d5012a3c25703 + https://github.com/openbios/openbios/commit/0e6b8b3cb4a25a4680f238bae76de5e370e706c8 + https://github.com/openbios/openbios/commit/51067854a7606cceb8b1e0a3d2108da69ff46973 + +...with minor adaptations to apply on 1.1. + + +diff --git a/arch/sparc32/context.c b/arch/sparc32/context.c +--- a/arch/sparc32/context.c ++++ b/arch/sparc32/context.c +@@ -86,7 +86,7 @@ struct context *switch_to(struct context *ctx) + __context = ctx; + asm __volatile__ ("\n\tcall __switch_context" + "\n\tnop" ::: "g1", "g2", "g3", "g4", "g5", "g6", "g7", +- "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7", ++ "o0", "o1", "o2", "o3", "o4", "o5", "o7", + "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7", + "i0", "i1", "i2", "i3", "i4", "i5", "i7", + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", +diff --git a/drivers/cuda.c b/drivers/cuda.c +--- a/drivers/cuda.c ++++ b/drivers/cuda.c +@@ -355,7 +355,7 @@ static void + rtc_init(char *path) + { + phandle_t ph, aliases; +- char buf[64]; ++ char buf[128]; + + snprintf(buf, sizeof(buf), "%s/rtc", path); + REGISTER_NAMED_NODE(rtc, buf); +diff --git a/drivers/ide.c b/drivers/ide.c +--- a/drivers/ide.c ++++ b/drivers/ide.c +@@ -987,7 +987,7 @@ ob_ide_identify_drive(struct ide_drive *drive) + drive->sect = id.sectors; + } + +- strncpy(drive->model, (char*)id.model, sizeof(id.model)); ++ strncpy(drive->model, (char*)id.model, sizeof(drive->model)); + drive->model[40] = '\0'; + return 0; + } +diff --git a/fs/hfs/hfs_fs.c b/fs/hfs/hfs_fs.c +--- a/fs/hfs/hfs_fs.c ++++ b/fs/hfs/hfs_fs.c +@@ -86,7 +86,7 @@ _search( hfsvol *vol, const char *path, const char *sname, hfsfile **ret_fd ) + + strncpy( buf, path, sizeof(buf) ); + if( buf[strlen(buf)-1] != ':' ) +- strncat( buf, ":", sizeof(buf) ); ++ strncat( buf, ":", sizeof(buf) - 1 ); + buf[sizeof(buf)-1] = 0; + p = buf + strlen( buf ); + +@@ -101,7 +101,7 @@ _search( hfsvol *vol, const char *path, const char *sname, hfsfile **ret_fd ) + *p = 0; + topdir = 0; + +- strncat( buf, ent.name, sizeof(buf) ); ++ strncat( buf, ent.name, sizeof(buf) - 1); + if( (status=_search(vol, buf, sname, ret_fd)) != 2 ) + continue; + topdir = 1; +diff --git a/libc/string.c b/libc/string.c +--- a/libc/string.c ++++ b/libc/string.c +@@ -349,10 +349,7 @@ int memcmp(const void * cs,const void * ct,size_t count) + char * + strdup( const char *str ) + { +- char *p; +- if( !str ) +- return NULL; +- p = malloc( strlen(str) + 1 ); ++ char *p = malloc( strlen(str) + 1 ); + strcpy( p, str ); + return p; + } +diff --git a/packages/nvram.c b/packages/nvram.c +--- a/packages/nvram.c ++++ b/packages/nvram.c +@@ -105,7 +105,7 @@ create_free_part( char *ptr, int size ) + nvpart_t *nvp = (nvpart_t*)ptr; + memset( nvp, 0, size ); + +- strncpy( nvp->name, "777777777777", sizeof(nvp->name) ); ++ strncpy( nvp->name, "77777777777", sizeof(nvp->name) ); + nvp->signature = NV_SIG_FREE; + nvp->len_hi = (size /16) >> 8; + nvp->len_lo = size /16; diff --git a/gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch b/gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch deleted file mode 100644 index cc233e3ccd..0000000000 --- a/gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1111f902075169bd0d96cdd10607ef8499f0fed5 Mon Sep 17 00:00:00 2001 -From: Roger Binns <rogerb@rogerbinns.com> -Date: Mon, 5 Sep 2022 07:12:25 -0700 -Subject: [PATCH] Deal with mismatched SQLITE_ENABLE_COLUMN_METADATA - -Address #363 ---- - apsw/tests.py | 2 +- - 1 files changed, 1 insertions(+), 1 deletion(-) - -diff --git a/apsw/tests.py b/apsw/tests.py -index b4a94d3..256ead0 100644 ---- a/apsw/tests.py -+++ b/apsw/tests.py -@@ -772,8 +772,8 @@ class APSW(unittest.TestCase): - c.execute("drop table foo; create table foo (%s)" % (", ".join(["[%s] %s" % (n, t) for n, t in cols]), )) - c.execute("insert into foo([x a space]) values(1)") - c.execute("create temp table two(fred banana); insert into two values(7); create temp view three as select fred as [a space] from two") -- has_full=any(o=="ENABLE_COLUMN_METADATA" or o.startswith("ENABLE_COLUMN_METADATA=") for o in apsw.compile_options) -+ has_full=any(o=="ENABLE_COLUMN_METADATA" or o.startswith("ENABLE_COLUMN_METADATA=") for o in apsw.compile_options) if apsw.using_amalgamation else hasattr(c, "description_full") - for row in c.execute("select * from foo"): - self.assertEqual(cols, c.getdescription()) - self.assertEqual(has_full, hasattr(c, "description_full")) - -base-commit: f628374c5857d940067ef26c9ea4e85a08a94f76 --- -2.37.2 diff --git a/gnu/packages/patches/python-flask-restful-werkzeug-compat.patch b/gnu/packages/patches/python-flask-restful-werkzeug-compat.patch deleted file mode 100644 index 0e928ef455..0000000000 --- a/gnu/packages/patches/python-flask-restful-werkzeug-compat.patch +++ /dev/null @@ -1,36 +0,0 @@ -We need one patch on top of 0.3.8 for compatibility with Werkzeug 1.0. - -Taken from upstream: -https://github.com/flask-restful/flask-restful/commit/73376a488907af3042b52678ac4c23f8a8911e5b - -diff --git a/tests/test_api.py b/tests/test_api.py -index f7f8e661..6795d362 100644 ---- a/tests/test_api.py -+++ b/tests/test_api.py -@@ -445,7 +445,9 @@ def test_handle_non_api_error(self): - - resp = app.get("/foo") - self.assertEquals(resp.status_code, 404) -- self.assertEquals('text/html', resp.headers['Content-Type']) -+ # in newer versions of werkzeug this is `text/html; charset=utf8` -+ content_type, _, _ = resp.headers['Content-Type'].partition(';') -+ self.assertEquals('text/html', content_type) - - def test_non_api_error_404_catchall(self): - app = Flask(__name__) -diff --git a/tests/test_reqparse.py b/tests/test_reqparse.py -index 2f1fbedf..9776f17c 100644 ---- a/tests/test_reqparse.py -+++ b/tests/test_reqparse.py -@@ -2,9 +2,9 @@ - import unittest - from mock import Mock, patch - from flask import Flask --from werkzeug import exceptions, MultiDict -+from werkzeug import exceptions - from werkzeug.wrappers import Request --from werkzeug.datastructures import FileStorage -+from werkzeug.datastructures import FileStorage, MultiDict - from flask_restful.reqparse import Argument, RequestParser, Namespace - import six - import decimal diff --git a/gnu/packages/patches/python-telingo-fix-comparison.patch b/gnu/packages/patches/python-telingo-fix-comparison.patch new file mode 100644 index 0000000000..6d05048dcb --- /dev/null +++ b/gnu/packages/patches/python-telingo-fix-comparison.patch @@ -0,0 +1,19 @@ +Index: source/telingo/transformers/head.py +=================================================================== +--- source.orig/telingo/transformers/head.py ++++ source/telingo/transformers/head.py +@@ -564,10 +564,12 @@ class HeadTransformer: + cond = [] + diff = _ast.BinaryOperation(loc, _ast.BinaryOperator.Minus, param, shift) + if lhs.ast_type != _ast.ASTType.SymbolicTerm or lhs.symbol.type != _clingo.SymbolType.Number or lhs.symbol.number > 0: +- cond.append(_ast.Literal(loc, _ast.Sign.NoSign, _ast.Comparison(_ast.ComparisonOperator.LessEqual, lhs, diff))) ++ cond.append(_ast.Literal(loc, _ast.Sign.NoSign, ++ _ast.Comparison(lhs, [_ast.Guard(_ast.ComparisonOperator.LessEqual, diff)]))) + + if rhs.ast_type != _ast.ASTType.SymbolicTerm or rhs.symbol.type != _clingo.SymbolType.Supremum: +- cond.append(_ast.Literal(loc, _ast.Sign.NoSign, _ast.Comparison(_ast.ComparisonOperator.LessEqual, diff, rhs))) ++ cond.append(_ast.Literal(loc, _ast.Sign.NoSign, ++ _ast.Comparison(diff, [_ast.Guard(_ast.ComparisonOperator.LessEqual, rhs)]))) + + elems.extend([_ast.ConditionalLiteral(loc, _ast.Literal(loc, _ast.Sign.NoSign, head), cond) for head in heads]) + |