diff --git a/gnu/local.mk b/gnu/local.mk index 500a50f575c..e604f37d242 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -19,7 +19,7 @@ # Copyright © 2018 Amirouche Boubekki # Copyright © 2018, 2019, 2020, 2021, 2022, 2024, 2025 Oleg Pykhalov # Copyright © 2018 Stefan Stefanović -# Copyright © 2018, 2020-2025 Maxim Cournoyer +# Copyright © 2018, 2020-2026 Maxim Cournoyer # Copyright © 2019, 2020, 2021, 2022, 2024 Guillaume Le Vaillant # Copyright © 2019, 2020 John Soo # Copyright © 2019 Jonathan Brielmaier @@ -1631,11 +1631,9 @@ dist_patch_DATA = \ %D%/packages/patches/irrlicht-link-against-needed-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/ispell-for-linphone-cmake.patch \ - %D%/packages/patches/jami-find-package-avutil.patch \ - %D%/packages/patches/jami-libjami-headers-search.patch \ + %D%/packages/patches/jami-allow-system-zxing-cpp.patch \ + %D%/packages/patches/jami-avutil-link.patch \ %D%/packages/patches/jami-qwindowkit.patch \ - %D%/packages/patches/jami-skip-tests-requiring-internet.patch \ - %D%/packages/patches/jami-unbundle-dependencies.patch \ %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \ %D%/packages/patches/jamvm-1.5.1-armv7-support.patch \ %D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \ @@ -1681,6 +1679,8 @@ dist_patch_DATA = \ %D%/packages/patches/libgeotiff-fix-tests-on-i386.patch \ %D%/packages/patches/libguestfs-syms.patch \ %D%/packages/patches/libinfinity-renew-test-certificate.patch \ + %D%/packages/patches/libjami-pkgconf.patch \ + %D%/packages/patches/libjami-simdutf.patch \ %D%/packages/patches/libretro-dolphin-emu-data.patch \ %D%/packages/patches/libretro-dolphin-emu-gc-font-tool.patch \ %D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \ diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 919505eed45..95d072bbc69 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2019, 2020 Jan Wielkiewicz -;;; Copyright © 2020-2025 Maxim Cournoyer +;;; Copyright © 2020-2026 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) + #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages crypto) #:use-module (gnu packages documentation) @@ -43,6 +44,7 @@ #:use-module (gnu packages networking) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages qt) @@ -78,9 +80,9 @@ ;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up ;;; to date with those listed in -;;; . -(define %jami-nightly-version "20251003.0") -(define %jami-daemon-commit "afe2446133eb3c9279e42b0d1dcfdd9a3c76a35f") +;;; . +(define %jami-nightly-version "20251212.0") +(define %jami-daemon-commit "663dc3f7b625abcd05e516d819c70fd883a3c9f2") (define-public libjami (package @@ -94,7 +96,9 @@ (file-name (git-file-name name version)) (sha256 (base32 - "05vjykg3nzf91bwzrhh95c6mndiz5n6gz204y2nrfrszx161irh9")))) + "1379vq5afqgrjgwhl2qwapzrs9irjsxr2gzm35jrsg31rms5xgzb")) + (patches (search-patches "libjami-pkgconf.patch" + "libjami-simdutf.patch")))) (outputs '("out" "bin" "debug")) ;"bin' contains jamid (build-system gnu-build-system) (arguments @@ -102,14 +106,15 @@ ;; XXX: The test suites reportedly takes 2 h 30 to run by upstream's CI. ;; Many tests also fail, within and without the containerized ;; environment. Some issues have recently been fixed, so try again in - ;; the next release. + ;; the next release. More problematically, it currently fails to build + ;; at all (see: ). #:tests? #f ;; The agent links the daemon binary with libguile, which enables the ;; execution of test plans described in Scheme. It may be useful in ;; user scripts too, until more general purpose Scheme bindings are made ;; available (see: test/agent/README.md). ;; FIXME: compiling the agent currently fails (see: - ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1139). + ;; ). #:configure-flags #~(list "--disable-agent" "--enable-debug") #:make-flags #~(list"V=1") ;build verbosely #:phases @@ -138,6 +143,14 @@ (mkdir-p share) (rename-file (search-input-directory outputs "share/dbus-1") (string-append share "/dbus-1")))))))) + (native-inputs + (list autoconf + automake + cppunit + libtool + perl ;to generate manpages with pod2man + pkg-config + which)) (inputs (list alsa-lib asio @@ -159,16 +172,9 @@ sdbus-c++ speex speexdsp + simdutf webrtc-audio-processing-0.3 yaml-cpp)) - (native-inputs - (list autoconf - automake - cppunit - libtool - perl ;to generate manpages with pod2man - pkg-config - which)) (synopsis "Jami core library and daemon") (description "This package provides a library and daemon implementing the Jami core functionality. Jami is a secure and distributed voice, video and @@ -231,13 +237,12 @@ QSortFilterProxyModel conveniently exposed for QML.") (file-name (git-file-name name version)) (sha256 (base32 - "1ivgs7ckc5wcjlg1p2v7nsw4skcr2hfgv7yk9kx1hd4pbiknr6hk")) + "13mpv62pw4f8cb9h8qaplxkn2ydsy9d2fr4v4p54r225ynzbq04h")) (patches (search-patches - "jami-unbundle-dependencies.patch" - "jami-libjami-headers-search.patch" + "jami-allow-system-zxing-cpp.patch" + "jami-libjami-cmake.patch" "jami-qwindowkit.patch" - "jami-skip-tests-requiring-internet.patch" - "jami-find-package-avutil.patch")))) + "jami-avutil-link.patch")))) (build-system qt-build-system) (outputs '("out" "debug")) (arguments @@ -267,7 +272,7 @@ QSortFilterProxyModel conveniently exposed for QML.") ;; This works around the lack of configuration for the X11 ;; push-to-talk feature, which is auto-detected via the ;; XDG_SESSION_TYPE environment variable (see: - ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1504). + ;; ). (setenv "XDG_SESSION_TYPE" "x11"))) (replace 'check (lambda* (#:key tests? parallel-tests? #:allow-other-keys) @@ -288,9 +293,9 @@ QSortFilterProxyModel conveniently exposed for QML.") ;; The QML test suite is currently disabled as it segfaults ;; (see: - ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1631). - ;; (display "Running functional tests...\n") (apply invoke - ;; "ctest" "-R" "Qml_Tests" ctest-args) + ;; ). + ;;(display "Running functional tests...\n") + ;;(apply invoke "ctest" "-R" "Qml_Tests" ctest-args) ))))))) (native-inputs (list git-minimal @@ -311,7 +316,6 @@ QSortFilterProxyModel conveniently exposed for QML.") libxkbcommon md4c network-manager - qrencode qt5compat qtdeclarative qtmultimedia diff --git a/gnu/packages/patches/jami-unbundle-dependencies.patch b/gnu/packages/patches/jami-allow-system-zxing-cpp.patch similarity index 58% rename from gnu/packages/patches/jami-unbundle-dependencies.patch rename to gnu/packages/patches/jami-allow-system-zxing-cpp.patch index 7871690c5e4..98020613b19 100644 --- a/gnu/packages/patches/jami-unbundle-dependencies.patch +++ b/gnu/packages/patches/jami-allow-system-zxing-cpp.patch @@ -1,37 +1,32 @@ -Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1506 -Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/2073 +Upstream-status: diff --git a/CMakeLists.txt b/CMakeLists.txt -index e802357f..6d2dccfb 100644 +index c046b597..3251762e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -696,12 +696,19 @@ add_subdirectory(3rdparty/SortFilterProx +@@ -714,13 +714,18 @@ else() + endif() # ZXing-cpp configuration --set(BUILD_EXAMPLES OFF CACHE BOOL "") --set(BUILD_BLACKBOX_TESTS OFF CACHE BOOL "") +-set(ZXING_EXAMPLES OFF CACHE BOOL "") +-set(ZXING_BLACKBOX_TESTS OFF CACHE BOOL "") -add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL) +- +-# Add ZXing-cpp to includes and libraries +-list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src) +-list(APPEND CLIENT_LIBS ZXing) +pkg_check_modules(zxing IMPORTED_TARGET zxing) +if(zxing_FOUND) + message(STATUS "Using system-provided ZXing-cpp") + list(APPEND CLIENT_INCLUDE_DIRS ${zxing_INCLUDE_DIRS}) + list(APPEND CLIENT_LIBS PkgConfig::zxing) +else() -+ set(BUILD_EXAMPLES OFF CACHE BOOL "") -+ set(BUILD_BLACKBOX_TESTS OFF CACHE BOOL "") ++ set(ZXING_EXAMPLES OFF CACHE BOOL "") ++ set(ZXING_BLACKBOX_TESTS OFF CACHE BOOL "") + add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL) - - # Add ZXing-cpp to includes and libraries --list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src) --list(APPEND CLIENT_LIBS ZXing) + list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src) + list(APPEND CLIENT_LIBS ZXing) +endif() # common executable sources qt_add_executable( - -base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9 --- -2.41.0 - diff --git a/gnu/packages/patches/jami-avutil-link.patch b/gnu/packages/patches/jami-avutil-link.patch new file mode 100644 index 00000000000..05e0dfd8401 --- /dev/null +++ b/gnu/packages/patches/jami-avutil-link.patch @@ -0,0 +1,17 @@ +Upstream-status: + +diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt +index 5c35e402..5e3929bc 100644 +--- a/src/libclient/CMakeLists.txt ++++ b/src/libclient/CMakeLists.txt +@@ -325,6 +325,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + else() + set(CC_MACHINE "") + endif() ++find_library(AVUTIL_LIBRARY avutil ++ HINTS ++ ${LIBJAMI_CONTRIB_DIR}/${CC_MACHINE}/lib ++ ${LIBJAMI_CONTRIB_DIR}/apple-darwin/lib) + + if(ENABLE_LIBWRAP) + list(APPEND LIBCLIENT_HEADERS directrenderer.h) diff --git a/gnu/packages/patches/jami-find-package-avutil.patch b/gnu/packages/patches/jami-find-package-avutil.patch deleted file mode 100644 index 2462e6da105..00000000000 --- a/gnu/packages/patches/jami-find-package-avutil.patch +++ /dev/null @@ -1,54 +0,0 @@ -kestrelwx: The upstream CMake recipe does not link ffmpeg's libavutil, -resulting in a build failure. INCLUDE_DIRS from pkg-config here are actually -empty inside the build enviornment, but don't seem to affect the build. -Relevant upstream issue: -https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/2110 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 29bfde9a..db46776e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -453,12 +453,6 @@ endif() - - # For libavutil/avframe. - set(LIBJAMI_CONTRIB_DIR "${DAEMON_DIR}/contrib") --find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h -- PATHS -- ${LIBJAMI_CONTRIB_DIR}/native/ffmpeg -- ${LIBJAMI_CONTRIB_DIR}/${CONTRIB_DARWIN_FOLDER}/include/ -- ${LIBJAMI_CONTRIB_DIR}/build/ffmpeg/Build/win32/x64/include) --include_directories(${AVUTIL_INCLUDE_DIR}) - - find_package(Vulkan) - if(Vulkan_FOUND) -@@ -479,6 +473,11 @@ endif() - - find_package(PkgConfig REQUIRED) - -+# avutil -+pkg_search_module(avutil IMPORTED_TARGET libavutil) -+list(APPEND CLIENT_LIBS PkgConfig::avutil) -+include_directories(${avutil_INCLUDE_DIRS}) -+ - # hunspell - pkg_search_module(hunspell IMPORTED_TARGET hunspell) - if(hunspell_FOUND) -diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt -index 01405038..b56a621b 100644 ---- a/src/libclient/CMakeLists.txt -+++ b/src/libclient/CMakeLists.txt -@@ -318,11 +318,9 @@ if(APPLE) - endif() - endif() - --find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h -- PATHS -- ${LIBJAMI_CONTRIB_DIR}/native/ffmpeg -- ${LIBJAMI_CONTRIB_DIR}/${CONTRIB_DARWIN_FOLDER}/include/ -- ${LIBJAMI_CONTRIB_DIR}/build/ffmpeg/Build/win32/x64/include) -+pkg_search_module(AVUTIL libavutil) -+set(AVUTIL_INCLUDE_DIR ${AVUTIL_INCLUDE_DIRS}) -+set(AVUTIL_LIBRARY ${AVUTIL_LIBRARIES}) - include_directories(${AVUTIL_INCLUDE_DIR}) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine diff --git a/gnu/packages/patches/jami-libjami-cmake.patch b/gnu/packages/patches/jami-libjami-cmake.patch new file mode 100644 index 00000000000..db9b134a174 --- /dev/null +++ b/gnu/packages/patches/jami-libjami-cmake.patch @@ -0,0 +1,127 @@ +Upstream-status: + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c046b597..8ee7b16d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,7 +60,6 @@ endif() + + if(JAMICORE_AS_SUBDIR) + add_subdirectory(${DAEMON_DIR} EXCLUDE_FROM_ALL) +- set(LIBJAMI_LIB jami-core) + endif() + + # init some variables for includes, libs, etc. +@@ -236,9 +235,6 @@ endif() + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/extras/build/cmake/modules) + if (NOT JAMICORE_AS_SUBDIR) + find_package(LibJami REQUIRED) +- if(LIBJAMI_FOUND) +- include_directories(${LIBJAMI_INCLUDE_DIR}) +- endif() + endif() + + include(FindPython3) +@@ -751,7 +747,7 @@ if(MSVC) + WIN32_EXECUTABLE TRUE) + + list(APPEND CLIENT_LIBS +- ${LIBJAMI_LIB} ++ LibJami::LibJami + ${GNUTLS_LIB} + ${LIBCLIENT_NAME} + ${QT_LIBS} +@@ -794,7 +790,8 @@ elseif (NOT APPLE) + ${LIBNOTIFY_LIBRARIES} + ${LIBGDKPIXBUF_LIBRARIES} + ${GLIB_LIBRARIES} +- ${GIO_LIBRARIES}) ++ ${GIO_LIBRARIES} ++ LibJami::LibJami) + + install( + TARGETS ${PROJECT_NAME} +diff --git a/extras/build/cmake/modules/FindLibJami.cmake b/extras/build/cmake/modules/FindLibJami.cmake +index ee2bf6d9..31ec9c02 100644 +--- a/extras/build/cmake/modules/FindLibJami.cmake ++++ b/extras/build/cmake/modules/FindLibJami.cmake +@@ -14,17 +14,26 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-# Once done, this find module will set: +-# +-# LIBJAMI_INCLUDE_DIR - libjami include directory +-# LIBJAMI_FOUND - whether it was able to find the include directories +-# LIBJAMI_LIB - path to libjami or libring library ++# Once done, this find module will set the LibJami::LibJami imported ++# target, which references all what is needed (headers, libraries, ++# dependencies). + + set(LIBJAMI_FOUND true) + + if(WITH_DAEMON_SUBMODULE) + set(LIBJAMI_INCLUDE_DIR ${DAEMON_DIR}/src/jami) + else() ++ # Preferably find libjami via pkg-config. ++ find_package(PkgConfig QUIET) ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(LIBJAMI QUIET IMPORTED_TARGET jami) ++ if(LIBJAMI_FOUND) ++ add_library(LibJami::LibJami ALIAS PkgConfig::LIBJAMI) ++ message(STATUS "Found LibJami via pkg-config") ++ return() ++ endif() ++ endif() ++ + find_path(LIBJAMI_INCLUDE_DIR jami.h PATH_SUFFIXES jami) + if(NOT LIBJAMI_INCLUDE_DIR) + message(STATUS "Jami daemon headers not found! +@@ -109,5 +118,15 @@ endif() + # Restore the original value of CMAKE_FIND_LIBRARY_SUFFIXES. + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_orig}) + ++# Assemble a CMake imported target with the above information gathered ++# by other means than pkg-config. ++if(LIBJAMI_FOUND AND LIBJAMI_LIB AND LIBJAMI_INCLUDE_DIR) ++ add_library(LibJami::LibJami UNKNOWN IMPORTED) ++ set_target_properties(LibJami::LibJami PROPERTIES ++ IMPORTED_LOCATION "${LIBJAMI_LIB}" ++ INTERFACE_INCLUDE_DIRECTORIES "${LIBJAMI_INCLUDE_DIR}" ++ ) ++endif() ++ + message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIR}) + message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB}) +diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt +index 5c35e402..94d77523 100644 +--- a/src/libclient/CMakeLists.txt ++++ b/src/libclient/CMakeLists.txt +@@ -47,9 +47,6 @@ endif() + set(CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules") + find_package(LibJami REQUIRED) +-if(LIBJAMI_FOUND) +- include_directories(${LIBJAMI_INCLUDE_DIR}) +-endif() + + string(SUBSTRING ${CMAKE_GENERATOR} 0 14 CMAKE_GENERATOR_SHORT) + if(CMAKE_GENERATOR_SHORT MATCHES "Visual Studio ") +diff --git a/src/libclient/qtwrapper/CMakeLists.txt b/src/libclient/qtwrapper/CMakeLists.txt +index 761278c9..b4b5a708 100644 +--- a/src/libclient/qtwrapper/CMakeLists.txt ++++ b/src/libclient/qtwrapper/CMakeLists.txt +@@ -39,7 +39,6 @@ else() + endif() + + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +-include_directories(${LIBJAMI_INCLUDE_DIR}) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../dbus) + +@@ -49,4 +48,4 @@ add_library(${PROJECT_NAME} STATIC + + target_link_libraries(${PROJECT_NAME} + Qt::Core +- ${LIBJAMI_LIB}) ++ LibJami::LibJami) diff --git a/gnu/packages/patches/jami-libjami-headers-search.patch b/gnu/packages/patches/jami-libjami-headers-search.patch deleted file mode 100644 index a7f6c7d368d..00000000000 --- a/gnu/packages/patches/jami-libjami-headers-search.patch +++ /dev/null @@ -1,21 +0,0 @@ -It was applied, then reverted (by mistake?) in 4d2c55348bc014. - -It's been resubmitted here: -https://lists.gnu.org/archive/html/jami/2024-01/msg00005.html - -The remaining hunk was reverted by 22be4be8. -Submitted: -https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/2112 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 29bfde9a..3b4c7a92 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -237,6 +237,6 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/extras/build/cmake/modules) - if (NOT JAMICORE_AS_SUBDIR) - find_package(LibJami REQUIRED) - if(LIBJAMI_FOUND) -- include_directories(${LIBJAMI_INCLUDE_DIRS}) -+ include_directories(${LIBJAMI_INCLUDE_DIR}) - endif() - endif() diff --git a/gnu/packages/patches/jami-qwindowkit.patch b/gnu/packages/patches/jami-qwindowkit.patch index 30940700bfb..2946de7765f 100644 --- a/gnu/packages/patches/jami-qwindowkit.patch +++ b/gnu/packages/patches/jami-qwindowkit.patch @@ -1,9 +1,7 @@ -Upstream-status: https://lists.gnu.org/archive/html/jami/2024-03/msg00008.html - -This makes it possible to use the system-provided qwindowkit library. +Upstream-status: diff --git a/CMakeLists.txt b/CMakeLists.txt -index 29bfde9a..3b4c7a92 100644 +index c046b597..366758f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,13 +101,13 @@ endif() @@ -23,7 +21,7 @@ index 29bfde9a..3b4c7a92 100644 # If ENABLE_CRASHREPORTS is enabled, we will use crashpad_cmake for now. diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index c5228ccf..816f97a7 100644 +index a1aeb22f..94f558e0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -61,7 +61,7 @@ target_include_directories(test_common_obj PRIVATE diff --git a/gnu/packages/patches/jami-skip-tests-requiring-internet.patch b/gnu/packages/patches/jami-skip-tests-requiring-internet.patch deleted file mode 100644 index 1abc0e80cb7..00000000000 --- a/gnu/packages/patches/jami-skip-tests-requiring-internet.patch +++ /dev/null @@ -1,51 +0,0 @@ -Forwarded upstream: https://lists.gnu.org/archive/html/jami/2024-01/msg00010.html - -From 1d3b044c85c32341cca392254fe8bbf34a4639e1 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer -Date: Tue, 9 Jan 2024 11:14:04 -0500 -Subject: [PATCH] tests: Skip tests that need Internet when there's none. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* tests/unittests/messageparser_unittest.cpp (ALinkIsParsedCorrectly) -(YoutubeLinkIsParsedCorrectly): Skip when there is no Internet. - -Series-to: jami@gnu.org -Series-cc: Sébastien Blin -Fixes: -Change-Id: I0a5b57cd82f93fd7edf3fbeb73fb3db5a04c628c ---- - tests/unittests/messageparser_unittest.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/tests/unittests/messageparser_unittest.cpp b/tests/unittests/messageparser_unittest.cpp -index c10b0d0b..df7a0692 100644 ---- a/tests/unittests/messageparser_unittest.cpp -+++ b/tests/unittests/messageparser_unittest.cpp -@@ -69,6 +69,9 @@ TEST_F(MessageParserFixture, TextIsParsedCorrectly) - */ - TEST_F(MessageParserFixture, ALinkIsParsedCorrectly) - { -+ if (!globalEnv.connectivityMonitor->isOnline()) -+ GTEST_SKIP() << "ALinkIsParsedCorrectly requires Internet connectivity"; -+ - auto linkColor = QColor::fromRgb(0, 0, 255); - auto backgroundColor = QColor::fromRgb(0, 0, 255); - -@@ -174,6 +177,9 @@ TEST_F(MessageParserFixture, FencedCodeIsParsedCorrectly) - */ - TEST_F(MessageParserFixture, YoutubeLinkIsParsedCorrectly) - { -+ if (!globalEnv.connectivityMonitor->isOnline()) -+ GTEST_SKIP() << "YoutubeLinkIsParsedCorrectly requires Internet connectivity"; -+ - auto url = "https://www.youtube.com/watch?v=1234567890"; - auto msg = "blah blah " + QString(url) + " blah blah"; - - -base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9 -prerequisite-patch-id: 90a419e7de1f4fa5bb68bc58ad0da2817ed268e0 --- -2.41.0 - diff --git a/gnu/packages/patches/libjami-ac-config-files.patch b/gnu/packages/patches/libjami-ac-config-files.patch deleted file mode 100644 index 8508d55ee14..00000000000 --- a/gnu/packages/patches/libjami-ac-config-files.patch +++ /dev/null @@ -1,52 +0,0 @@ -Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00003.html - -From 20a1702d881b381979d31c456f1b8cf5e0f728ad Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer -Date: Sun, 7 Jan 2024 16:40:41 -0500 -Subject: [PATCH] configure.ac: Expand AC_CONFIG_FILES to fix a race. - -The commands apparently run for each file listed, or something -similar, leading to: - - configure: creating ./config.status - config.status: creating test/agent/Makefile - chmod: cannot access 'test/agent/pre-inst-env': No such file or directory - chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory - config.status: creating test/agent/pre-inst-env - chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory - -* configure.ac [ENABLE_AGENT]: Separate AC_CONFIG_FILES uses per file. - -Series-to: jami@gnu.org -Series-postfix: daemon -Change-Id: Ib283955b73540248e09bf31ef44ef3d178b216fa ---- - configure.ac | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index cdea5ff1c..2ab96d817 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -61,11 +61,11 @@ AC_ARG_ENABLE([agent], - [Build agent])) - AM_CONDITIONAL([ENABLE_AGENT], [test "x$enable_agent" = "xyes"]) - AM_COND_IF([ENABLE_AGENT], -- [AC_CONFIG_FILES([test/agent/Makefile -- test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in -- test/agent/scenarios/bulk-calls/run-scenario], -- [chmod +x test/agent/pre-inst-env -- chmod +x test/agent/scenarios/bulk-calls/run-scenario])]) -+ [AC_CONFIG_FILES([test/agent/Makefile]) -+ AC_CONFIG_FILES([test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in], -+ [chmod +x test/agent/pre-inst-env]) -+ AC_CONFIG_FILES([test/agent/scenarios/bulk-calls/run-scenario], -+ [chmod +x test/agent/scenarios/bulk-calls/run-scenario])]) - - AC_ARG_ENABLE([tracepoints], AS_HELP_STRING([--enable-tracepoints], [Enable tracepoints])) - - -base-commit: e246fb2e090c9b3de55e2d455eee5a6f05a5b286 --- -2.41.0 - diff --git a/gnu/packages/patches/libjami-pkgconf.patch b/gnu/packages/patches/libjami-pkgconf.patch new file mode 100644 index 00000000000..34639fe28ae --- /dev/null +++ b/gnu/packages/patches/libjami-pkgconf.patch @@ -0,0 +1,15 @@ +Upstream-status: + +diff --git a/jami.pc.in b/jami.pc.in +index fb8bac58a..3b741e7ed 100644 +--- a/jami.pc.in ++++ b/jami.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ +-includedir=@includedir@ ++includedir=@includedir@/jami + + Name: jami + Description: Jami core library and daemon diff --git a/gnu/packages/patches/libjami-sdbus-cpp-v2.patch b/gnu/packages/patches/libjami-sdbus-cpp-v2.patch deleted file mode 100644 index 3a6460d380a..00000000000 --- a/gnu/packages/patches/libjami-sdbus-cpp-v2.patch +++ /dev/null @@ -1,144 +0,0 @@ -Upstream-status: - -diff --git a/bin/dbus/dbuscallmanager.hpp b/bin/dbus/dbuscallmanager.hpp -index b79e0cd6f..918d8bc30 100644 ---- a/bin/dbus/dbuscallmanager.hpp -+++ b/bin/dbus/dbuscallmanager.hpp -@@ -23,7 +23,7 @@ class DBusCallManager : public sdbus::AdaptorInterfaces>, - std::map>; - DBusConfigurationManager(sdbus::IConnection& connection) -- : AdaptorInterfaces(connection, "/cx/ring/Ring/ConfigurationManager") -+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/ConfigurationManager")) - { - registerAdaptor(); - registerSignalHandlers(); -diff --git a/bin/dbus/dbusinstance.hpp b/bin/dbus/dbusinstance.hpp -index d45c033e1..184fd2c7d 100644 ---- a/bin/dbus/dbusinstance.hpp -+++ b/bin/dbus/dbusinstance.hpp -@@ -28,7 +28,7 @@ class DBusInstance : public sdbus::AdaptorInterfaces= 2.0.0],, - AC_MSG_ERROR([sdbus-c++ not found])) - - AC_CONFIG_FILES([bin/dbus/Makefile]) -diff --git a/contrib/src/sdbus-cpp/SHA512SUMS b/contrib/src/sdbus-cpp/SHA512SUMS -index a48ebec1c..009d0b81b 100644 ---- a/contrib/src/sdbus-cpp/SHA512SUMS -+++ b/contrib/src/sdbus-cpp/SHA512SUMS -@@ -1 +1 @@ --dab2c4d9a5ea6d626672a5a6ee6f3490c60c6fdd160769801a4d6b4cf3df4983fad57ff0230132a5d637ec78a55993200ce217fa89461016e101865cc2777d7d sdbus-cpp-1.2.0.tar.gz -+4247d49f0d5231e2768c0c96fa9c266bbcc340292c9c3d748f9c37ff992b82301faea798300f916e9a5c992d77adfe56186866c91a4c7d4157750ff09ba5a047 sdbus-cpp-2.1.0.tar.gz -diff --git a/contrib/src/sdbus-cpp/rules.mak b/contrib/src/sdbus-cpp/rules.mak -index 397d18d3b..d00fa97ca 100644 ---- a/contrib/src/sdbus-cpp/rules.mak -+++ b/contrib/src/sdbus-cpp/rules.mak -@@ -1,4 +1,4 @@ --SDBUS_CPP_VERSION := 1.2.0 -+SDBUS_CPP_VERSION := 2.1.0 - SDBUS_CPP_URL := https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v$(SDBUS_CPP_VERSION).tar.gz - - ifdef HAVE_LINUX -@@ -7,17 +7,14 @@ PKGS += sdbus-cpp - endif - endif - --ifeq ($(call need_pkg,"sdbus-c++ >= 1.2.0"),) -+ifeq ($(call need_pkg,"sdbus-c++ >= 2.0.0"),) - PKGS_FOUND += sdbus-cpp - endif - - SDBUS_CPP_CMAKECONF := -D CMAKE_BUILD_TYPE=Release \ - -D BUILD_SHARED_LIBS=OFF \ -- -D BUILD_CODE_GEN=ON \ -- -D BUILD_LIBSYSTEMD=OFF \ -- -D BUILD_TESTS=OFF \ -- -D BUILD_EXAMPLES=OFF \ -- -D BUILD_DOC=OFF -+ -D SDBUSCPP_BUILD_CODEGEN=ON \ -+ -D SDBUSCPP_BUILD_DOCS=OFF - - $(TARBALLS)/sdbus-cpp-$(SDBUS_CPP_VERSION).tar.gz: - $(call download,$(SDBUS_CPP_URL)) diff --git a/gnu/packages/patches/libjami-simdutf.patch b/gnu/packages/patches/libjami-simdutf.patch new file mode 100644 index 00000000000..cb0c4bc4189 --- /dev/null +++ b/gnu/packages/patches/libjami-simdutf.patch @@ -0,0 +1,51 @@ +Upstream-status: + +diff --git a/configure.ac b/configure.ac +index 055151670..f6e4ae978 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -590,6 +590,8 @@ PKG_CHECK_MODULES([SECP256K1], [libsecp256k1 >= 0.1],, + PKG_CHECK_MODULES([FMT], [fmt >= 7.0],, + AC_MSG_FAILURE([Missing {fmt}])) + ++PKG_CHECK_MODULES([SIMDUTF], [simdutf]) ++ + # SHM + dnl check for shm + AS_IF([test "x$with_dbus" == xyes], +diff --git a/meson.build b/meson.build +index c0f98c7f8..3ad0bd0ba 100644 +--- a/meson.build ++++ b/meson.build +@@ -32,6 +32,7 @@ deplibavutil = dependency('libavutil', version: '>= 55.75.100') + depfmt = dependency('fmt', version: '>= 5.3') + depyamlcpp = dependency('yaml-cpp', version: '>= 0.5.1') + depjsoncpp = dependency('jsoncpp', version: '>= 1.6.5') ++depsimdutf = dependency('simdutf') + depzlib = dependency('zlib') + + if get_option('interfaces').contains('dbus') +diff --git a/src/Makefile.am b/src/Makefile.am +index 8d874223e..cee546126 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -52,6 +52,7 @@ libjami_la_LIBADD += \ + $(FMT_LIBS) \ + $(LIBSSL_LIBS) \ + $(LIBCRYPTO_LIBS) \ ++ $(SIMDUTF_LIBS) \ + $(ZLIB_LIBS) + + # XXX: It seems this should be the default value when otherwise left +diff --git a/src/meson.build b/src/meson.build +index 22d026abc..bfc809cba 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -140,6 +140,7 @@ libjami_dependencies = [ + depfmt, + depyamlcpp, + depjsoncpp, ++ depsimdutf, + depzlib, + depopenssl + ]