gnu: jami: Update to 20220726.1515.da8d1da.

* gnu/packages/jami.scm (jami): Update to 20220726.1515.da8d1da.
[configure-flags]: New argument.
[phases]{fix-version-string}: Adjust file name.
{use-desktop-opengl}: Delete obsolete phase.
{patch-source}: New phase.
[native-inputs]: Add googletest and vulkan-headers.  Replace qttools-5 with
qttools.
[inputs]: Add libxkbcommon, qt5compat, qtnetworkauth, qtpositioning and
vulkan-loader.  Remove qtwebengine-5, qtwebchannel-5, qtgraphicaleffects,
qtquickcontrols-5 and qtquickcontrols2-5.  Update qtsvg-5, qtmultimedia-5 and
qtdeclarative-5 to their Qt 6 equivalent.
This commit is contained in:
Maxim Cournoyer 2022-07-25 16:46:42 -04:00
parent f80f1667f1
commit ccf6401d05
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -482,43 +482,68 @@ (define-public jami
(build-system qt-build-system)
(outputs '("out" "debug"))
(arguments
`(#:tests? #f ;no test suite
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-directory/maybe
(lambda _
;; Allow building from the tarball or a git checkout.
(false-if-exception (chdir "client-qt"))))
(add-after 'change-directory/maybe 'fix-version-string
(lambda _
(substitute* "src/version.h"
(("VERSION_STRING")
"BUILD_DATE") ;to avoid a redefinition error
(("// clang-format on.*" anchor)
(string-append "const char VERSION_STRING[] = \""
,version "\";\n"
anchor)))))
(add-after 'change-directory/maybe 'use-desktop-opengl
;; TODO: Remove after next release; this is no longer specified in
;; the source following the update to Qt 6.
(lambda _
(substitute* "src/main.cpp"
(("Qt::AA_UseOpenGLES")
"Qt::AA_UseDesktopOpenGL")))))))
(list
#:qtbase qtbase
#:tests? #f ;see comment below
#:configure-flags
;; The test suite fails to build with:
;; "../../../client-qt/src/app/utils.h:29:10: fatal error: QLabel: No
;; such file or directory".
#~(list "-DENABLE_TESTS=OFF"
"-DWITH_WEBENGINE=OFF" ;reduce transitive closure size by 450 MiB
;; Use libwrap to link directly to libjami instead of
;; communicating via D-Bus to jamid, the Jami daemon.
"-DENABLE_LIBWRAP=ON"
(string-append "-DLIBJAMI_XML_INTERFACES_DIR="
#$(this-package-input "libjami")
"/share/dbus-1/interfaces")
(string-append "-DLIBJAMI_INCLUDE_DIR="
#$(this-package-input "libjami") "/include/jami"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-directory/maybe
(lambda _
;; Allow building from the tarball or a git checkout.
(false-if-exception (chdir "client-qt"))))
(add-after 'change-directory/maybe 'fix-version-string
(lambda _
(substitute* "src/app/version.h"
(("VERSION_STRING")
"BUILD_DATE") ;to avoid a redefinition error
(("// clang-format on.*" anchor)
(string-append "const char VERSION_STRING[] = \""
#$version "\";\n"
anchor)))))
(add-after 'change-directory/maybe 'patch-source
(lambda _
(substitute* "src/libclient/CMakeLists.txt"
;; Fix submitted upstream (see:
;; https://review.jami.net/c/jami-client-qt/+/21830).
(("target_link_libraries\\(\\$\\{LIBCLIENT_NAME} qtwrapper.*" all)
(string-append
all " target_link_libraries(${LIBCLIENT_NAME} avutil)\n"))))))))
(native-inputs
(list pkg-config python qttools-5 doxygen graphviz))
(list googletest
pkg-config
python
qttools
doxygen
graphviz
vulkan-headers))
(inputs
(list libnotify
(list ffmpeg-jami
libjami
libnotify
libxkbcommon
network-manager
qrencode
qtsvg-5
qtwebengine-5
qtwebchannel-5
qtmultimedia-5
qtdeclarative-5
qtgraphicaleffects
qtquickcontrols-5
qtquickcontrols2-5))
qt5compat
qtdeclarative
qtmultimedia
qtnetworkauth
qtpositioning
qtsvg
vulkan-loader))
(home-page "https://jami.net")
(synopsis "Qt Jami client")
(description "This package provides the Jami Qt client. Jami is a secure