Search Criteria
Package Details: kimi-linphone-desktop 5.1.2-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/kimi-linphone-desktop.git (read-only, click to copy) |
---|---|
Package Base: | kimi-linphone-desktop |
Description: | A free VoIP and video softphone based on the SIP protocol (Installed in /usr/local with all deps included). |
Upstream URL: | https://linphone.org |
Licenses: | GPL3 |
Provides: | kimi-linphone-desktop |
Submitter: | leukimi |
Maintainer: | leukimi |
Last Packager: | leukimi |
Votes: | 0 |
Popularity: | 0.000000 |
First Submitted: | 2022-06-16 20:29 (UTC) |
Last Updated: | 2023-08-25 18:20 (UTC) |
Dependencies (30)
- glew (glew-libepoxy, glew-egl-glx, glew-git, glew-wayland, glew-osmesa-git, glew-wayland-git)
- gsm
- hicolor-icon-theme (hicolor-icon-theme-git)
- qt5-graphicaleffects (qt5-graphicaleffects-git)
- qt5-quickcontrols (qt5-quickcontrols-git)
- qt5-quickcontrols2 (qt5-quickcontrols2-git)
- qt5-speech
- qt5-svg (qt5-svg-git)
- chrpath (chrpath-svn) (make)
- cmake (cmake-git) (make)
- doxygen (doxygen-git, doxygen-clang) (make)
- gcc (gccrs-git, gcc-git, gcc11) (make)
- git (git-vfs, git-run-command-patch-git, git-git, git-fc) (make)
- glew (glew-libepoxy, glew-egl-glx, glew-git, glew-wayland, glew-osmesa-git, glew-wayland-git) (make)
- make (make-git) (make)
- nasm (nasm-git) (make)
- pandoc (pandoc-static-git, pandoc-sile-git, pandoc-bin, pandoc-cli) (make)
- patch (patch-git) (make)
- python-pystache (python-pystache-git) (make)
- python-six (make)
- Show 10 more dependencies...
Latest Comments
leukimi commented on 2023-07-02 14:56 (UTC) (edited on 2023-07-02 15:08 (UTC) by leukimi)
Summary
More advanced packagers are making Linphone compile under the name
linphone-desktop
.Here are some things about PKGBUILD from
kimi-linphone-desktop
.kimi-linphone-desktop
and the now deletedkimi-linphone-desktop-beta
could serve as a working prototype which has built Linphone since version 4.0.0 until now and most of the time it has compiled successfully.The package
kimi-linphone-desktop
works and has worked since the version 4.0.0 with constant changes and updates. When it does not work it usually depends on that Linphone is primarily developed on a few systems like Fedora (current - 1) version (Fedora 37 currently), Debian 12/Unstable and Ubuntu LTS (22.04). Archlinux, Manjaro and OpenSUSE Tumbleweed are often ahead and the system package versions are newer than on Debian/Ubuntu which causes needs to patch the software and adapt the building scripts. Typical adjustments has in the past includedgcc
,cmake
,ffmpeg
,mbedtls
,liboqs
,libdecaf
,postquantumcryptoengine
(needed bybzrtp
),zxing
and so on.Currently, the version of
mbedtls
is newer in Archlinux than the version anticipated by the software. Once the source code moves to the newer version of the library, Linphone will compile successfully again. It has happened before and will happen again that the source code seems to compile on Debian 12, Ubuntu 22.04/23.04, OpenSUSE Leap 15.4/15.5, Fedora (current - 1) meanwhile compilation crashes on the front edge development distributions Archlinux, Manjaro, OpenSUSE Tumbleweed and newest Fedora version. I have tested Linphone versions on window managers xfce, cinnamon, gnome, budgie, lxde, mate and there are usually variations in which dependencies that need to be explicitly stated.qt5-speech
dependency is for instance a bit hidden but none of the window managers have it upon a fresh install.kimi-linphone-desktop
buildsliblinphone
mediastreamer2
etc. and therefore does not requireliblinphone
mediastreamer2
etc. as a dependency. It builds the whole package with dependencies according to the build instructions from github. To avoid conflicts with all other linphone packages,kimi-linphone-desktop
is named to be distinguished and can be used to test multiple versions of the software without having to install/uninstall. The different versions of Linphone are installed side by side pretty much the same way you may want to have several versions ofgcc
installed simultaneously when resolving compilation issues.kimi-linphone-desktop-beta
(now deleted as thought to be a duplicate) was capable of compiling whatever it would find on the linphone-desktopmaster
branch without PKGBUILD having to be changed. Linphone frommaster
branch can often have better functionality than a released version. A newer release can be worse than a previous release.kimi-linphone-desktop
andkimi-linphone-desktop-beta
was the first attempt to make Linphone compile whatsoever, no matter which version was built on whichever branch. Themaster
branch produces releases, alpha and beta versions and you can never know what version is there. Also, when Linphone was 4.x.y-alpha/beta, the releases were too far behind and it was necessary to regularly compile themaster
branch. Now, the releases tend to come in shorter intervals. Everything has a history, and therefore the packaging has a history. When you request deletion of packages that actually work even if they currently don't compile due to source code glitches with the current system, you still have to reinvent the compilation wheel anyway and cater for the differences in the code versus the system it is being compiled on.kimi-linphone-desktop
is the result of years of trial and error with compiling from source. Once all that knowledge is transferred intolinphone-desktop
package and it works, yes, thenkimi-linphone-desktop
may be obsolete.Another approach to build
linphone-desktop
is to compile all modules/parts independently (link), or look here for more ideas (link).Note on swap memory and building time on small build systems
The total system memory needed for compilation with 10 parallel builds tends to be around 5.3GB. With fewer parallel builds, the memory consumption is lower.
A 2GB to 3GB swap is often necessary on small build systems with 3-4GB memory.
This PKGBUILD was tested on a system with 3GB RAM + 3GB swap.
Building time was around 1 hour 25 minutes on dual core Intel Core2 Duo T7700.
Note on icon
Current linphone system tray icon seems to be the same as the orange program PNG icon. A separate system tray icon which is gray like other system tray icons would fit better in the panel and feel less intrusive, not drawing too much attention, especially at night time. The orange default program icon is quite bright, which could call for using a different icon with more non-intrusive coloring and a separate gray system tray icon.
It is possible to have a separate gray system tray icon. A patch can be found here.
The easiest way is to swap the linphone-app/assets/images/linphone_logo.svg
icon for a not so colorful SVG and call
genicons_1.1.sh
to regenerate all PNG icons. The script requires
inkscape
to do the conversion.