* gnu/packages/patches/jami-fix-esc-bug.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (%jami-sources): Apply it.
* gnu/packages/patches/jami-fix-crash-on-quit.patch: Delete file.
* gnu/packages/patches/jami-images-loading.patch: Likewise.
* gnu/packages/patches/jami-libclient-audio-managers.patch: Likewise.
* gnu/packages/patches/jami-memory-usage.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register removed patches.
* gnu/packages/jami.scm (%jami-version): Update to 20220726.1515.da8d1da.
(libjami)[configure-flags]: Add '--disable-static'.
(jami-apply-custom-patches): Adjust for top directory renaming.
(%ffmpeg-default-configure-flags): Add muxer support
for g726 and g726le. Add demuxer support for g723_1, g726 and g726le. Add
encoder/decoder support for g726, g726le and g723_1. Add decoder support for
g729.
(ffmpeg-jami)[patches]: Add 'libopusenc-reload-packet-loss-at-encode'.
(jami-libclient)[native-inputs]: New field.
[inputs]: Add ffmpeg-jami and libxkbcommon.
[propagated-inputs]: Replace qtbase-5 with qtbase.
This is in preparation of the qtsvg update to version 6.
This change was automated via the following command:
git grep -l '\bqtsvg\b' | xargs sed 's/qtsvg/qtsvg-5/g' -i
* gnu/packages/patches/jami-libclient-audio-managers.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami)[source]: Move all patches to...
(%jami-sources): here and add the newly added patch.
* gnu/packages/patches/jami-fix-crash-on-quit.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami): Apply it.
* gnu/packages/patches/pjproject-correct-the-cflags-field.patch: Delete file.
* gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register them.
* gnu/packages/jami.scm (%jami-version): Update version string.
(%jami-sources): Adjust snippet.
(jami-apply-custom-patches): Use G-Exp.
(pjproject-jami): Use Savoir-faire Linux's fork and update to 2.11-0.e1f389d.
[phases]: Adjust and update accordingly.
(%ffmpeg-default-configure-flags): Capitalize and reword comments.
(ffmpeg-jami)[native-inputs]: Delete field.
[tests?]: Add comment and move into the SUBSTITUTE-KEYWORD-ARGUMENTS use.
[phases]: Use G-Exp and update the list of patches.
(libring): Deprecate and rename to...
(libjami): ... this. Move the arguments field before the inputs.
[tests?]: Add explanatory comment.
[configure-flags]: Add '--disable-agent', with explanatory comment.
[phases]{change-directory}: Rename to...
{change-directory/maybe}: ... this, to attempt but not enforce a directory
change so as to also support using a Git checkout as source.
{add-lib-dir}: Remove phase.
[inputs]: Use new style.
[native-inputs]: Add cppunit.
(libringclient): Deprecate and rename to...
{jami-libclient}: ... this.
[configure-flags]: Enable LIBWRAP.
[phases]{change-directory/maybe}: Renamed from change-directory, for reasons
described above.
[inputs]: Adjust accordingly.
(jami-gnome): Move the input fields below the arguments field.
[phases]{change-directory/maybe}: Renamed from change-directory, for reasons
described above.
[inputs]: Rename libringclient to jami-libclient and use new style.
[native-inputs]: Use new style.
[propagated-inputs]: Delete field.
(jami-qt): Deprecate and rename to...
(jami): ... this.
[phases]{change-directory/maybe}: Renamed from change-directory, for reasons
described above.
[native-inputs]: Add python.
[inputs]: Adjust accordingly.
[propagated-inputs]: Delete field.
This change was automated via the following command:
$ git ls-files | xargs sed -i 's/,qtbase)/,qtbase-5)/g'
$ git ls-files | xargs sed -i 's/inherit qtbase)/inherit qtbase-5)/g'
$ git ls-files | xargs sed -i 's/package-version qtbase)/package-version qtbase-5)/g'
$ git checkout etc # to clear some spurious changes
This is done so the qtbase package can be upgraded to version 6 in the
following commit.
* gnu/packages/jami.scm (jami): Update to 20210606.1.e2f9490.
(pjproject-jami)[0019-ignore-down-interfaces]: Apply new custom patch.
(jami-qt)[source]: Use %jami-sources, which now includes the Qt client.
[phases]{change-directory}: New phase.
Before this change, there was a Jami origin containing the sources with the
patches, and another one containing the sources but with the patches removed.
Unify the source to always contain the patches, which adds just 1 MiB to the
corresponding tarball and simplifies things.
* gnu/packages/jami.scm (%jami-sources): Make it a simple variable. Move the
docstring to a comment. Only remove the tarballs, always keeping the patches
with the sources. Adjust the comments.
(%sfl-patches): Remove variable.
(jami-apply-dependency-patches): Rename to...
(jami-apply-custom-patches): ... this. Adjust the input label used to
'jami-sources'.
(pjproject-jami): Replace %sfl-patches by %jami-sources. Adjust following the
renaming of the jami-apply-custom-patches procedure.
(ffmpeg-jami): Likewise. Do not make a temporary binding, simply call the
unquoted jami-apply-custom-patches procedure.
This makes Jami less dependent on the environment it is run within; for
example when using Jami on a foreign distributions.
* gnu/packages/jami.scm (jami-gnome)[imported-modules]: New argument.
[modules]: New argument.
[phases]{glib-or-gtk-compile-schemas, glib-or-gtk-wrap}: New phases.
Reported-by: Simon Tournier <zimon.toutoune@gmail.com>
Commit 06eb21856f made it necessary, since it is now handled by the Qt build
system itself.
* gnu/packages/jami.scm (jami-qt)[phases]{wrap}: Remove phase.
* gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013. Rename to ...
(jami-gnome): ... this, in prevision to the soon released Jami Qt client.
(jami): Define as obsoleted by jami-gnome.
[inputs]: Sort lexico-graphically. Add libappindicator and network-manager.
[native-inputs]: Add a comment and fix a typo. Remove doxygen.
[propagated-inputs]: Remove evolution-data-server.
[synopsis]: More explicitly describe what this package is.
[description]: Describe the specifics before the generalities.
* gnu/packages/jami.scm (libringclient): Update to 20210326.1.cfba013. Remove
trailing #t. Do not inherit from libring.
[version, source]: Specify fields.
[propagated-inputs]: Remove qttools. Move libring to ...
[inputs]: ... here. Add network-manager.
[configure-flags] Define the RING_XML_INTERFACES_DIR and LIBWRAP variables.
[phases]{fix-dbus-interfaces-path}: Delete.
[synopsis]: More explicitly describe what this component is.
[description]: Describe the specifics before the generalities.
* gnu/packages/jami.scm (ffmpeg-jami): Remove trailing #t.
[phases] <apply-patches>: Add libopusdec-enable-FEC and
libopusenc-enable-FEC to the list of patches to apply.
The custom pjproject package used by Jami is updated with the latest patches
found in the 20210326.1.cfba013 release of Jami.
* gnu/packages/jami.scm (%jami-version): Update to 20210326.1.cfba013.
(jami-source) [snippet]: Update comment. Add client-electron and client-ios
to the list of deleted directories. Remove client-windows from the list, as
it no longer exists.
(jami-apply-dependency-patches): Update comment. Ignore whitespace
when applying patches, otherwise the pjproject patches would not apply.
(pjproject-jami): Add comment.
[source]: Define the source; the parent pjproject package was
updated was updated to 2.11, but the patches only apply against 2.10.
[phases] <apply-patches>: Update the list of patches used with those found in
the release tarball.
The origin used as the "sfl-patches" input contained bundled library tarballs,
and weighed 217 MiB. After this change, it weighs 3.3 MiB.
* gnu/packages/jami.scm (jami-source): Rename #:without-daemon to
\#:keep-contrib-patches. Delete the daemon/contrib/tarballs sub-directory even
when keeping the patches. Delete extraneous code.
(%sfl-patches, %jami-sources): New variables.
(pjproject-jami, ffmpeg-jami, libring): Adjust to use the above variables.
Now that the base pjproject is built as a shared library, the cost of adding
dependencies shared with Jami is minimal. The pjproject-jami now differs only
by its added patches.
* gnu/packages/jami.scm (pjproject-jami)[arguments]: Use the
substitute-keyword-arguments macro to reuse the base pjproject package
arguments, adding only the 'apply-patches phase.
* gnu/packages/patches/pjproject-correct-the-cflags-field.patch: Add patch.
* gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Register the new patches.
* gnu/packages/telephony.scm (pjproject): Use them.
* gnu/packages/jami.scm (pjproject-jami): Remove a patch from
pjproject-jami that is already applied against pjproject.
This fixes a bug where Jami crashes while disconnecting from an audio call.
* gnu/packages/jami.scm (pjproject-jami)[arguments]: Use -DNDEBUG flag.
Signed-off-by: Christopher Baines <mail@cbaines.net>