linphonePackages.linphone-desktop: 5.3.1 -> 6.1.0

wip

fde
This commit is contained in:
Naxdy
2026-02-06 13:50:23 +01:00
parent 9b6c4f47d0
commit 3f30ee457e
10 changed files with 102 additions and 154 deletions
@@ -0,0 +1,17 @@
diff --git a/cmake/install/install.cmake b/cmake/install/install.cmake
index 710e8fa31..636e3cff4 100644
--- a/cmake/install/install.cmake
+++ b/cmake/install/install.cmake
@@ -325,3 +325,11 @@ if(${ENABLE_APP_PACKAGING})
endif()
include(CPack)
endif()
+
+configure_file("${CMAKE_SOURCE_DIR}/cmake/install/linux/linphone.desktop.cmake" "${CMAKE_BINARY_DIR}/cmake/install/linux/${EXECUTABLE_NAME}.desktop" @ONLY)
+install(FILES "${CMAKE_BINARY_DIR}/cmake/install/linux/${EXECUTABLE_NAME}.desktop" DESTINATION "${CMAKE_INSTALL_DATADIR}/applications" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+install(FILES "${CMAKE_SOURCE_DIR}/Linphone/data/image/logo.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps/" RENAME "${EXECUTABLE_NAME}.svg")
+set(ICON_DIRS 16x16 22x22 24x24 32x32 64x64 128x128 256x256)
+foreach (DIR ${ICON_DIRS})
+ install(FILES "${CMAKE_SOURCE_DIR}/Linphone/data/icon/hicolor/${DIR}/apps/icon.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${DIR}/apps/" RENAME "${EXECUTABLE_NAME}.png")
+endforeach ()
@@ -11,13 +11,14 @@
fetchFromGitLab,
lib,
liblinphone,
libsForQt5,
lime,
linphoneSdkVersion,
mediastreamer2,
minizip-ng,
msopenh264,
python3,
python3Packages,
qt6Packages,
stdenv,
symlinkJoin,
xercesc,
@@ -39,23 +40,21 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "linphone-desktop";
version = "5.3.1";
version = "6.1.0";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "linphone-desktop";
rev = finalAttrs.version;
hash = "sha256-TO9JNsOnx4sTJEkai0nDKNyZWcLuGoWfuKLBM79tQvs=";
tag = finalAttrs.version;
hash = "sha256-jCnovCFdPJExD0+ZLhU9np1R5uN+mPlSPi/Nb1aOD0U=";
};
patches = [
./require-finding-packages.patch
./remove-bc-versions.patch
./do-not-override-install-prefix.patch
./fix-translation-dirs.patch
./unset-qml-dir.patch
./do-not-manually-compute-sdk-version.patch
./always-install-desktop-files.patch
# .mkv recordings are broken in NixOS and other distros (see
# https://github.com/NixOS/nixpkgs/issues/219551), and simply changing the
@@ -67,7 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
# Made by BC
bctoolbox
belcard
belle-sip
belr
liblinphone
@@ -79,9 +77,8 @@ stdenv.mkDerivation (finalAttrs: {
xercesc
minizip-ng
libsForQt5.qtgraphicaleffects
libsForQt5.qtmultimedia
libsForQt5.qtquickcontrols2
qt6Packages.qtbase
qt6Packages.qtnetworkauth
zxing-cpp
boost
@@ -91,8 +88,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
libsForQt5.qttools
libsForQt5.wrapQtAppsHook
qt6Packages.qttools
qt6Packages.wrapQtAppsHook
python3
doxygen
];
@@ -115,18 +112,26 @@ stdenv.mkDerivation (finalAttrs: {
"-DLINPHONEAPP_VERSION=${finalAttrs.version}"
"-DLINPHONE_QT_ONLY=ON"
"-DLINPHONEAPP_INSTALL_PREFIX=${placeholder "out"}"
"-DLINPHONE_QML_DIR=${placeholder "out"}/${libsForQt5.qtbase.qtQmlPrefix}/ui"
"-DLINPHONE_QML_DIR=${placeholder "out"}/${qt6Packages.qtbase.qtQmlPrefix}/ui"
"-DLINPHONESDK_VERSION=${linphoneSdkVersion}"
"-DENABLE_APP_PACKAGE_ROOTCA=OFF"
# normally set by the custom find modules, which we have disabled
"-DLibLinphone_TARGET=liblinphone"
"-DLinphoneCxx_TARGET=liblinphone++"
"-DISpell_SOURCE_DIR=${bc-ispell.src}"
# used in Linphone's CMakeLists.txt
"-DLINPHONEAPP_VERSION=${finalAttrs.version}"
];
# error: invalid conversion from 'int' to 'const char*'
env.NIX_CFLAGS_COMPILE = "-fpermissive";
preConfigure = ''
# custom "find" modules are causing issues during build,
# as they are blinding cmake to nix dependencies
rm -rf linphone-app/cmake
rm -rf cmake/Modules
'';
preInstall = ''
@@ -0,0 +1,20 @@
diff --git a/Linphone/CMakeLists.txt b/Linphone/CMakeLists.txt
index 776fd415a..8fa2d3ab6 100644
--- a/Linphone/CMakeLists.txt
+++ b/Linphone/CMakeLists.txt
@@ -71,14 +71,6 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
)
-set(LINPHONESDK_VERSION)
-execute_process(
- COMMAND git describe
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/external/linphone-sdk
- OUTPUT_VARIABLE LINPHONESDK_VERSION
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
include(application_info.cmake)
string(TIMESTAMP CURRENT_YEAR "%Y")
if(NOT APPLICATION_START_LICENCE OR "${CURRENT_YEAR}" STREQUAL "${APPLICATION_START_LICENCE}")
@@ -1,16 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 312df041d..43500be48 100644
index 793a4bb15..446d5b721 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -116,11 +116,6 @@ endif ()
@@ -117,10 +117,6 @@ endif ()
#------------------------------------------------------------------------------
# Prepare gobal CMAKE configuration specific to the current project
set(CMAKE_POSITION_INDEPENDENT_CODE ON)#Needed for Qt
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/OUTPUT" CACHE PATH "Default linphone-app installation prefix" FORCE)
- set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT FALSE)
-endif()
-
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified")
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
@@ -1,15 +0,0 @@
diff --git a/linphone-app/assets/languages/CMakeLists.txt b/linphone-app/assets/languages/CMakeLists.txt
index ffe2b6a5b..12f02bdfe 100644
--- a/linphone-app/assets/languages/CMakeLists.txt
+++ b/linphone-app/assets/languages/CMakeLists.txt
@@ -32,8 +32,8 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${I18N_FILENAME}" "${I18N_CONTENT}")
#Files or directories to inspect for translations references
set(TRANSLATION_SOURCES)
-list(APPEND TRANSLATION_SOURCES "${PROJECT_SOURCE_DIR}/src")
-list(APPEND TRANSLATION_SOURCES "${PROJECT_SOURCE_DIR}/ui")
+list(APPEND TRANSLATION_SOURCES "${PROJECT_SOURCE_DIR}/linphone-app/src")
+list(APPEND TRANSLATION_SOURCES "${PROJECT_SOURCE_DIR}/linphone-app/ui")
if (WIN32)
foreach (lang ${LANGUAGES})
@@ -1,48 +1,39 @@
diff --git a/linphone-app/src/components/call/CallModel.cpp b/linphone-app/src/components/call/CallModel.cpp
index d0286a89a..483bc35e4 100644
--- a/linphone-app/src/components/call/CallModel.cpp
+++ b/linphone-app/src/components/call/CallModel.cpp
@@ -289,7 +289,7 @@ void CallModel::setRecordFile (const shared_ptr<linphone::CallParams> &callParam
callParams->setRecordFile(Utils::appStringToCoreString(
CoreManager::getInstance()->getSettingsModel()->getSavedCallsFolder()
.append(generateSavedFilename())
- .append(".mkv")
+ .append(".wav")
));
}
@@ -303,7 +303,7 @@ void CallModel::setRecordFile (const shared_ptr<linphone::CallParams> &callParam
callParams->setRecordFile(Utils::appStringToCoreString(
CoreManager::getInstance()->getSettingsModel()->getSavedCallsFolder()
.append(generateSavedFilename(from, to))
- .append(".mkv")
+ .append(".wav")
));
}
diff --git a/linphone-app/src/components/conference/ConferenceProxyModel.cpp b/linphone-app/src/components/conference/ConferenceProxyModel.cpp
index 0cf654dd4..931c0e5cf 100644
--- a/linphone-app/src/components/conference/ConferenceProxyModel.cpp
+++ b/linphone-app/src/components/conference/ConferenceProxyModel.cpp
@@ -84,7 +84,7 @@ void ConferenceProxyModel::startRecording () {
mLastRecordFile =
- QStringLiteral("%1%2.mkv")
+ QStringLiteral("%1%2.wav")
.arg(coreManager->getSettingsModel()->getSavedCallsFolder())
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd_hh-mm-ss"));
conference->startRecording(Utils::appStringToCoreString(mLastRecordFile) );
diff --git a/linphone-app/src/components/recorder/RecorderModel.cpp b/linphone-app/src/components/recorder/RecorderModel.cpp
index 0d17ff6f8..5c6d7c679 100644
--- a/linphone-app/src/components/recorder/RecorderModel.cpp
+++ b/linphone-app/src/components/recorder/RecorderModel.cpp
@@ -83,7 +83,7 @@ QDateTime RecorderModel::getDateTimeSavedFilename(const QString& filename){
void RecorderModel::start(){
diff --git a/Linphone/model/call/CallModel.cpp b/Linphone/model/call/CallModel.cpp
index 366bbe86f..7bac43ad5 100644
--- a/Linphone/model/call/CallModel.cpp
+++ b/Linphone/model/call/CallModel.cpp
@@ -56,7 +56,7 @@ void CallModel::accept(bool withVideo) {
params->setRecordFile(
Paths::getCapturesDirPath()
.append(Utils::generateSavedFilename(QString::fromStdString(mMonitor->getToAddress()->getUsername()), ""))
- .append(".mkv")
+ .append(".wav")
.toStdString());
// Answer with local call address.
auto localAddress = mMonitor->getCallLog()->getLocalAddress();
diff --git a/Linphone/model/recorder/RecorderModel.cpp b/Linphone/model/recorder/RecorderModel.cpp
index 7883ed150..1b1820620 100644
--- a/Linphone/model/recorder/RecorderModel.cpp
+++ b/Linphone/model/recorder/RecorderModel.cpp
@@ -82,7 +82,7 @@ void RecorderModel::start() {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
bool soFarSoGood;
- QString filename = QStringLiteral("vocal_%1.mkv")
+ QString filename = QStringLiteral("vocal_%1.wav")
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd_hh-mm-ss-zzz"));
QString filename =
- QStringLiteral("vocal_%1.mka").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd_hh-mm-ss-zzz"));
+ QStringLiteral("vocal_%1.wav").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd_hh-mm-ss-zzz"));
const QString safeFilePath = Utils::getSafeFilePath(
QStringLiteral("%1%2")
QStringLiteral("%1%2").arg(SettingsModel::getInstance()->getSavedCallsFolder()).arg(filename), &soFarSoGood);
diff --git a/Linphone/model/tool/ToolModel.cpp b/Linphone/model/tool/ToolModel.cpp
index 18edeca7c..70c88516f 100644
--- a/Linphone/model/tool/ToolModel.cpp
+++ b/Linphone/model/tool/ToolModel.cpp
@@ -353,7 +353,7 @@ bool ToolModel::createCall(const QString &sipAddress,
params->setRecordFile(
Paths::getCapturesDirPath()
.append(Utils::generateSavedFilename(QString::fromStdString(address->getUsername()), ""))
- .append(".mkv")
+ .append(".wav")
.toStdString());
}
@@ -1,15 +0,0 @@
diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
index d40842fa2..7d7bc57d8 100644
--- a/linphone-app/CMakeLists.txt
+++ b/linphone-app/CMakeLists.txt
@@ -40,10 +40,8 @@ set(version_minor)
set(version_patch)
set(identifiers )
set(metadata )
-bc_parse_full_version("${LINPHONEAPP_VERSION}" version_major version_minor version_patch identifiers metadata)
-project(linphoneqt VERSION "${version_major}.${version_minor}.${version_patch}")
if(ENABLE_BUILD_VERBOSE)
#message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
@@ -1,41 +0,0 @@
diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
index d40842fa2..5ea1330ca 100644
--- a/linphone-app/CMakeLists.txt
+++ b/linphone-app/CMakeLists.txt
@@ -24,14 +24,11 @@ cmake_minimum_required(VERSION 3.22)
#Linphone targets
-set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 Belcard LibLinphone)
+set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 BelCard LibLinphone)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
-find_package(BCToolbox)
-if(NOT BCToolbox_FOUND)
- find_package(bctoolbox CONFIG REQUIRED)
-endif()
+find_package(BCToolbox REQUIRED)
if(NOT LINPHONEAPP_VERSION)
bc_compute_full_version(LINPHONEAPP_VERSION)
endif()
@@ -105,17 +102,14 @@ set(ENABLE_DB_STORAGE ON CACHE BOOLEAN "Enable Storage")
foreach(PACKAGE ${LINPHONE_PACKAGES})
message(STATUS "Trying to find ${PACKAGE}")
- find_package(${PACKAGE})
- if(NOT ${PACKAGE}_FOUND)
- find_package(${PACKAGE} CONFIG REQUIRED)
- endif()
+ find_package(${PACKAGE} REQUIRED)
endforeach()
set(PLUGIN_TARGETS ${LinphoneCxx_TARGET})
set(APP_TARGETS ${LinphoneCxx_TARGET}
${BCToolbox_TARGET}#Logger/App
${Mediastreamer2_TARGET}#MediastreamerUtils
- ${Belcard_TARGET}#VCard Model
+ ${BelCard_TARGET}#VCard Model
${LibLinphone_TARGET})#MediastreamerUtils
####################################
@@ -1,13 +0,0 @@
diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
index d40842fa2..112d45711 100644
--- a/linphone-app/CMakeLists.txt
+++ b/linphone-app/CMakeLists.txt
@@ -54,7 +54,6 @@ include(CheckCXXCompilerFlag)
set(TARGET_NAME linphone-qt)
-set(LINPHONE_QML_DIR "WORK/qml_files/ui")
set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS true)
set(CMAKE_CXX_STANDARD 14)
@@ -9,7 +9,7 @@
libxext,
libopus,
libpulseaudio,
libsForQt5,
qt6Packages,
libv4l,
libvpx,
mkLinphoneDerivation,
@@ -35,8 +35,8 @@ mkLinphoneDerivation (finalAttrs: {
nativeBuildInputs = [
python3
libsForQt5.qtbase
libsForQt5.qtdeclarative
qt6Packages.qtbase
qt6Packages.qtdeclarative
];
propagatedBuildInputs = [