linphonePackages: remove

Linphone is a SIP softphone application, which depends on many bespoke
and custom-patched libraries, collectively referred to as
`linphonePackages` in this commit.

The build process has been failing for a while on both stable and
unstable, but due to the way the packages are organized in nixpkgs,
updating them is quite cumbersome.

Therefore, in an effort to ensure future maintainability, we first
remove all existing packages from nixpkgs, to then be able to later add
them again within their own scope.
This commit is contained in:
Naxdy
2025-10-08 10:39:18 +02:00
parent d8e887f772
commit bbc8d94867
22 changed files with 15 additions and 1242 deletions
@@ -1,144 +0,0 @@
{
bctoolbox,
belcard,
belle-sip,
belr,
cmake,
fetchFromGitLab,
lib,
liblinphone,
mediastreamer,
mediastreamer-openh264,
minizip-ng,
mkDerivation,
qtgraphicaleffects,
qtmultimedia,
qtquickcontrols2,
qttools,
}:
# How to update Linphone? (The Qt desktop app)
#
# Belledonne Communications (BC), the company making Linphone, has split the
# project into several sub-projects that they maintain, plus some third-party
# dependencies that they also extend with commits of their own, specific to
# Linphone and not (yet?) upstreamed.
#
# All of this is organised in a Software Development Kit (SDK) meta-repository
# with git submodules to pin all those repositories into a coherent whole.
#
# The Linphone Qt desktop app uses this SDK as submodule as well.
#
# So, in order to update the desktop app to a new release, one has to follow
# the submodule chain and update the corresponding derivations here, in nixpkgs,
# with the corresponding version number (or commit hash)
mkDerivation rec {
pname = "linphone-desktop";
version = "5.1.2";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "linphone-desktop";
rev = version;
hash = "sha256-Pu2tGKe3C1uR4lzXkC5sJFu8iJBqF76UfWJXYjPwBkc=";
};
patches = [
./do-not-build-linphone-sdk.patch
./remove-bc_compute_full_version-usage.patch
./no-store-path-in-autostart.patch
./reset-output-dirs.patch
];
# See: https://gitlab.linphone.org/BC/public/linphone-desktop/issues/21
postPatch = ''
echo "project(linphoneqt VERSION ${version})" >linphone-app/linphoneqt_version.cmake
substituteInPlace linphone-app/src/app/AppController.cpp \
--replace "APPLICATION_SEMVER" "\"${version}\""
substituteInPlace CMakeLists.txt \
--subst-var out
'';
# TODO: After linphone-desktop and liblinphone split into separate packages,
# there might be some build inputs here that aren't needed for
# linphone-desktop.
buildInputs = [
# Made by BC
bctoolbox
belcard
belle-sip
belr
liblinphone
mediastreamer
mediastreamer-openh264
minizip-ng
qtgraphicaleffects
qtmultimedia
qtquickcontrols2
];
nativeBuildInputs = [
cmake
qttools
];
cmakeFlags = [
"-DMINIZIP_INCLUDE_DIRS=${minizip-ng}/include"
"-DMINIZIP_LIBRARIES=minizip"
# RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
"-DCMAKE_SKIP_BUILD_RPATH=ON"
# Requires EQt5Keychain
"-DENABLE_QT_KEYCHAIN=OFF"
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
preInstall = ''
mkdir -p $out/share/linphone
mkdir -p $out/share/sounds/linphone
'';
# In order to find mediastreamer plugins, mediastreamer package was patched to
# support an environment variable pointing to the plugin directory. Set that
# environment variable by wrapping the Linphone executable.
#
# Also, some grammar files needed to be copied too from some dependencies. I
# suppose if one define a dependency in such a way that its share directory is
# found, then this copying would be unnecessary. These missing grammar files
# were discovered when linphone crashed at startup and it was run with
# --verbose flag. Instead of actually copying these files, create symlinks.
#
# It is quite likely that there are some other files still missing and
# Linphone will randomly crash when it tries to access those files. Then,
# those just need to be copied manually below.
postInstall = ''
mkdir -p $out/lib/mediastreamer/plugins
ln -s ${mediastreamer-openh264}/lib/mediastreamer/plugins/* $out/lib/mediastreamer/plugins/
ln -s ${mediastreamer}/lib/mediastreamer/plugins/* $out/lib/mediastreamer/plugins/
mkdir -p $out/share/belr/grammars
ln -s ${liblinphone}/share/belr/grammars/* $out/share/belr/grammars/
ln -s ${liblinphone}/share/sounds/linphone/* $out/share/sounds/linphone/
ln -s ${belle-sip}/share/belr/grammars/* $out/share/belr/grammars/
wrapProgram $out/bin/linphone \
--set MEDIASTREAMER_PLUGINS_DIR $out/lib/mediastreamer/plugins
'';
meta = with lib; {
homepage = "https://www.linphone.org/";
description = "Open source SIP phone for voice/video calls and instant messaging";
mainProgram = "linphone";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ];
};
}
@@ -1,157 +0,0 @@
From e6a9992461f368d08d1ad63ffe454714ec0c59ce Mon Sep 17 00:00:00 2001
From: Lorenz Brun <lorenz@brun.one>
Date: Fri, 28 Jan 2022 02:36:01 +0100
Subject: [PATCH] Remove Linphone SDK build
---
CMakeLists.txt | 100 +-----------------
.../cmake_builder/additional_steps.cmake | 9 --
2 files changed, 5 insertions(+), 104 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b5a4ab5..3afcd88 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -194,7 +194,6 @@ list(APPEND APP_OPTIONS "-DQTKEYCHAIN_TARGET_NAME=${QTKEYCHAIN_TARGET_NAME}")
list(APPEND APP_OPTIONS "-DENABLE_QT_GL=${ENABLE_VIDEO}")#Activate on video
-include(ExternalProject)
set(PROJECT_BUILD_COMMAND "")
if(CMAKE_BUILD_PARALLEL_LEVEL)
list(APPEND APP_OPTIONS "-DCMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}")
@@ -237,41 +236,8 @@ if(ENABLE_BUILD_APP_PLUGINS)
endif()
endif()
-if(NOT LINPHONE_QT_ONLY)
-#add_subdirectory(external/qtkeychain)
- if(ENABLE_QT_KEYCHAIN)
- ExternalProject_Add(app-qtkeychain PREFIX "${CMAKE_BINARY_DIR}/qtkeychain"
- SOURCE_DIR "${CMAKE_SOURCE_DIR}/external/qtkeychain"
- INSTALL_DIR "${QTKEYCHAIN_OUTPUT_DIR}"
- BINARY_DIR "${SDK_BUILD_DIR}/qtkeychain"
- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
- LIST_SEPARATOR | # Use the alternate list separator
- CMAKE_ARGS ${APP_OPTIONS} ${QTKEYCHAIN_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH} -DCMAKE_OSX_ARCHITECTURES=${LINPHONESDK_MACOS_ARCHS}
- BUILD_ALWAYS NO #${DO_BUILD}
- )
- endif()
- ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk"
- INSTALL_DIR "${LINPHONE_OUTPUT_DIR}"
- STAMP_DIR "${SDK_BUILD_DIR}/stamp"
- BINARY_DIR "${SDK_BUILD_DIR}"
- STEP_TARGETS build
- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
- LIST_SEPARATOR | # Use the alternate list separator
- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH} -DCMAKE_OSX_ARCHITECTURES=${LINPHONESDK_MACOS_ARCHS}
- BUILD_ALWAYS NO #${DO_BUILD}
- )
- ExternalProject_Add_Step(sdk force_build
- COMMENT "Forcing build for 'sdk'"
- DEPENDEES configure
- DEPENDERS build
- ALWAYS 1
- )
-endif()
include(FindPkgConfig)
-set(APP_DEPENDS sdk)# Used if NOT LINPHONE_QT_ONLY
if(ENABLE_QT_KEYCHAIN)
list(APPEND APP_DEPENDS app-qtkeychain)
endif()
@@ -289,65 +255,9 @@ find_package(Mediastreamer2 CONFIG QUIET)
find_package(ortp CONFIG QUIET)
find_package(${QTKEYCHAIN_TARGET_NAME} CONFIG QUIET)
-if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR NOT (belcard_FOUND) OR NOT (Mediastreamer2_FOUND) OR NOT (ortp_FOUND)
- OR ( ENABLE_QT_KEYCHAIN AND NOT(${QTKEYCHAIN_TARGET_NAME}_FOUND) )
- OR FORCE_APP_EXTERNAL_PROJECTS
-)
- message("Projects are set as External projects. You can start building them by using for example : cmake --build . --target install")
- ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
- BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
- DEPENDS ${APP_DEPENDS}
- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
- LIST_SEPARATOR | # Use the alternate list separator
- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH} -DCMAKE_OSX_ARCHITECTURES=${LINPHONESDK_MACOS_ARCHS}
- # ${APP_OPTIONS}
- BUILD_ALWAYS ON
- )
- if( ENABLE_BUILD_APP_PLUGINS)
- ExternalProject_Add(app-plugins PREFIX "${CMAKE_BINARY_DIR}/plugins-app"
- SOURCE_DIR "${CMAKE_SOURCE_DIR}/plugins"
- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
- BINARY_DIR "${CMAKE_BINARY_DIR}/plugins-app"
- DEPENDS linphone-qt
- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
- LIST_SEPARATOR | # Use the alternate list separator
- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH} -DCMAKE_OSX_ARCHITECTURES=${LINPHONESDK_MACOS_ARCHS}
- )
- endif()
- install(CODE "message(STATUS \"Running install\")")
- set(AUTO_REGENERATION auto_regeneration)
- if( ENABLE_BUILD_APP_PLUGINS)
- add_custom_target(${AUTO_REGENERATION} ALL
- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS app-plugins)
- else()
- add_custom_target(${AUTO_REGENERATION} ALL
- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS linphone-qt)
- endif()
-else()
- message("Adding Linphone Desktop in an IDE-friendly state")
- set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
- add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
- if(NOT LINPHONE_QT_ONLY)
- add_dependencies(app-library ${APP_DEPENDS})
- endif()
- if( ENABLE_BUILD_APP_PLUGINS)
- add_subdirectory(${CMAKE_SOURCE_DIR}/plugins "plugins-app")
- endif()
+message("Adding Linphone Desktop in an IDE-friendly state")
+set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
+add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
+if( ENABLE_BUILD_APP_PLUGINS)
+ add_subdirectory(${CMAKE_SOURCE_DIR}/plugins "plugins-app")
endif()
-ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
- BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
-# INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
- LIST_SEPARATOR | # Use the alternate list separator
- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH} -DCMAKE_OSX_ARCHITECTURES=${LINPHONESDK_MACOS_ARCHS}
- EXCLUDE_FROM_ALL ON
- #BUILD_ALWAYS ON
-)
diff --git a/linphone-app/cmake_builder/additional_steps.cmake b/linphone-app/cmake_builder/additional_steps.cmake
index 7f7fd57..a69a04e 100644
--- a/linphone-app/cmake_builder/additional_steps.cmake
+++ b/linphone-app/cmake_builder/additional_steps.cmake
@@ -54,14 +54,5 @@ if (ENABLE_PACKAGING)
linphone_builder_apply_flags()
linphone_builder_set_ep_directories(linphone_package)
linphone_builder_expand_external_project_vars()
- ExternalProject_Add(TARGET_linphone_package
- DEPENDS TARGET_linphone_builder
- TMP_DIR ${ep_tmp}
- BINARY_DIR ${ep_build}
- SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/linphone_package"
- DOWNLOAD_COMMAND ""
- CMAKE_GENERATOR ${CMAKE_GENERATOR}
- CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_OUTPUT_DIR=${CMAKE_INSTALL_PREFIX} -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
- )
endif ()
endif ()
--
2.39.3 (Apple Git-145)
@@ -1,27 +0,0 @@
From 6a26922e5e4363de36057d635a1bf889160b2533 Mon Sep 17 00:00:00 2001
From: Lorenz Brun <lorenz@brun.one>
Date: Fri, 28 Jan 2022 18:44:43 +0100
Subject: [PATCH] Do not use store path for autostart on Nix
---
linphone-app/src/app/App.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp
index 868f8f44..2c61c648 100644
--- a/linphone-app/src/app/App.cpp
+++ b/linphone-app/src/app/App.cpp
@@ -858,6 +858,10 @@ void App::setAutoStart (bool enabled) {
exec = QProcessEnvironment::systemEnvironment().value(QStringLiteral("APPIMAGE"));
qDebug() << "exec path autostart set appimage=" << exec;
}
+ else if (binPath.startsWith("/nix/store")) { // Nix/NixOS
+ exec = QStringLiteral("linphone");
+ qDebug() << "exec path autostart set nix=" << exec;
+ }
else { //classic package
exec = binPath;
qDebug() << "exec path autostart set classic package=" << exec;
--
2.25.1
@@ -1,74 +0,0 @@
From 4849d5633b98e6d3514355436eab5ba537cbfd99 Mon Sep 17 00:00:00 2001
From: David P <megver83@parabola.nu>
Date: Fri, 23 Oct 2020 16:44:17 -0300
Subject: [PATCH] remove bc_compute_full_version usage
---
linphone-app/CMakeLists.txt | 11 +----------
linphone-app/build/CMakeLists.txt | 5 -----
.../cmake_builder/linphone_package/CMakeLists.txt | 10 +---------
3 files changed, 2 insertions(+), 24 deletions(-)
diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
index de7f917f..ee14ff78 100644
--- a/linphone-app/CMakeLists.txt
+++ b/linphone-app/CMakeLists.txt
@@ -21,17 +21,8 @@
################################################################################
cmake_minimum_required(VERSION 3.1)
+include(linphoneqt_version.cmake)
find_package(bctoolbox CONFIG)
-set(FULL_VERSION )
-bc_compute_full_version(FULL_VERSION)
-set(version_major )
-set(version_minor )
-set(version_patch )
-set(identifiers )
-set(metadata )
-bc_parse_full_version("${FULL_VERSION}" version_major version_minor version_patch identifiers metadata)
-
-project(linphoneqt VERSION "${version_major}.${version_minor}.${version_patch}")
if(ENABLE_BUILD_VERBOSE)
diff --git a/linphone-app/build/CMakeLists.txt b/linphone-app/build/CMakeLists.txt
index 8ef03faa..97d94bd6 100644
--- a/linphone-app/build/CMakeLists.txt
+++ b/linphone-app/build/CMakeLists.txt
@@ -46,11 +46,6 @@ set(CPACK_SOURCE_IGNORE_FILES
"libmng.spec"
)
-bc_compute_full_version(PROJECT_VERSION_BUILD)
-if(PROJECT_VERSION_BUILD)
- set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PROJECT_VERSION_BUILD}")
-endif()
-
message("-- Package file name is ${CPACK_PACKAGE_FILE_NAME}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
index ac85c68a..e6af5a66 100644
--- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
+++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
@@ -38,15 +38,7 @@ set(LINPHONE_QML_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../ui")
# ==============================================================================
# Build package version.
# ==============================================================================
-bc_compute_full_version(APP_PROJECT_VERSION)
-if (GIT_EXECUTABLE AND NOT(APP_PROJECT_VERSION))
- execute_process(
- COMMAND ${GIT_EXECUTABLE} describe --always
- OUTPUT_VARIABLE APP_PROJECT_VERSION
- OUTPUT_STRIP_TRAILING_WHITESPACE
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../.."
- )
-elseif (NOT(APP_PROJECT_VERSION))
+if (NOT(APP_PROJECT_VERSION))
set(APP_PROJECT_VERSION "0.0.0")
endif ()
string(REGEX REPLACE "([0-9.]+)-?.*" "\\1" LINPHONE_VERSION "${APP_PROJECT_VERSION}")
--
2.25.1
@@ -1,18 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b5a4ab5..b6b89c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -59,10 +59,10 @@ set(CMAKE_CXX_STANDARD 11)
# Prepare gobal CMAKE configuration specific to the current project
set(SDK_BUILD_DIR "${CMAKE_BINARY_DIR}/WORK") # SDK build in WORK. Keep all in it.
-set(LINPHONE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/linphone-sdk/desktop")
-set(QTKEYCHAIN_OUTPUT_DIR "${CMAKE_BINARY_DIR}/qtkeychain")
+set(LINPHONE_OUTPUT_DIR "@out@")
+set(QTKEYCHAIN_OUTPUT_DIR "@out@")
set(QTKEYCHAIN_TARGET_NAME "EQt5Keychain")
-set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT")
+set(APPLICATION_OUTPUT_DIR "@out@")
set(CMAKE_PREFIX_PATH "${LINPHONE_OUTPUT_DIR};${APPLICATION_OUTPUT_DIR};${APPLICATION_OUTPUT_DIR}/include${PREFIX_PATH}")
if(WIN32)
-40
View File
@@ -1,40 +0,0 @@
{
cmake,
fetchFromGitLab,
lib,
python3,
stdenv,
}:
stdenv.mkDerivation {
pname = "bc-decaf";
version = "unstable-2022-07-20";
nativeBuildInputs = [ cmake ];
buildInputs = [
python3
];
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
group = "BC";
owner = "public/external";
repo = "decaf";
rev = "876ddb4d465c94f97beba1be450e8538d866cc5d";
sha256 = "sha256-QFOAgLiPbG2ZdwKoCOrVD5/sPq9IH4rtAWnnk/rZWcs=";
};
# Do not build static libraries and do not enable -Werror
cmakeFlags = [
"-DENABLE_STATIC=NO"
"-DENABLE_STRICT=NO"
];
meta = with lib; {
description = "Elliptic curve library supporting Ed448-Goldilocks and Curve25519. Belledonne Communications' fork for Linphone";
homepage = "https://gitlab.linphone.org/BC/public/bctoolbox";
license = licenses.mit;
maintainers = with maintainers; [ thibaultlemaire ];
platforms = platforms.linux;
};
}
-56
View File
@@ -1,56 +0,0 @@
{
bcunit,
cmake,
bc-decaf,
fetchFromGitLab,
mbedtls_2,
lib,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "bctoolbox";
version = "5.2.109";
nativeBuildInputs = [
cmake
];
buildInputs = [
# Made by BC
bcunit
# Vendored by BC
bc-decaf
mbedtls_2
];
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "bctoolbox";
tag = version;
hash = "sha256-OwwSGzMFwR2ajUUgAy7ea/Q2pWxn3DO72W7ukcjBJnU=";
};
# Do not build static libraries
cmakeFlags = [
"-DENABLE_STATIC=NO"
"-DENABLE_STRICT=NO"
];
strictDeps = true;
meta = with lib; {
description = "Utilities library for Linphone";
mainProgram = "bctoolbox_tester";
homepage = "https://gitlab.linphone.org/BC/public/bctoolbox";
license = licenses.gpl3Plus;
maintainers = with maintainers; [
raskin
jluttine
];
platforms = platforms.linux;
};
}
-32
View File
@@ -1,32 +0,0 @@
{
cmake,
fetchFromGitLab,
lib,
stdenv,
}:
stdenv.mkDerivation {
pname = "bcunit";
version = "linphone-4.4.1";
nativeBuildInputs = [ cmake ];
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "bcunit";
rev = "c5eebcc7f794e9567d3c72d15d3f28bffe6bfd0f";
sha256 = "sha256-8DSfqHerx/V00SJjTSQaG9Rjqx330iG6sGivBDUvQfA=";
};
meta = with lib; {
description = "Belledonne Communications' fork of CUnit test framework. Part of the Linphone project";
homepage = "https://gitlab.linphone.org/BC/public/bcunit";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [
raskin
jluttine
];
platforms = platforms.all;
};
}
-41
View File
@@ -1,41 +0,0 @@
{
bctoolbox,
belr,
cmake,
fetchFromGitLab,
lib,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "belcard";
version = "5.2.98";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "belcard";
tag = version;
sha256 = "sha256-pRNJ1bDS2v0Cn+6cxMeFa0JQ27UZR6kCI9P6gQ5W2GA=";
};
buildInputs = [
bctoolbox
belr
];
nativeBuildInputs = [ cmake ];
cmakeFlags = [
"-DENABLE_STATIC=NO" # Do not build static libraries
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
];
meta = with lib; {
description = "C++ library to manipulate VCard standard format. Part of the Linphone project";
homepage = "https://gitlab.linphone.org/BC/public/belcard";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ jluttine ];
};
}
-61
View File
@@ -1,61 +0,0 @@
{
bctoolbox,
belr,
cmake,
fetchFromGitLab,
lib,
libantlr3c,
mbedtls_2,
stdenv,
zlib,
}:
stdenv.mkDerivation rec {
pname = "belle-sip";
version = "5.2.98";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "belle-sip";
tag = version;
hash = "sha256-PZnAB+LOlwkiJO0ICqYqn0TgqQY2KdUbgGJRFSzGxdE=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
# Do not build static libraries
cmakeFlags = [ "-DENABLE_STATIC=NO" ];
env.NIX_CFLAGS_COMPILE = toString (
[
"-Wno-error=cast-function-type"
"-Wno-error=deprecated-declarations"
"-Wno-error=format-truncation"
"-Wno-error=stringop-overflow"
]
++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [
# Needed with GCC 12 but problematic with some old GCCs and probably clang
"-Wno-error=use-after-free"
]
);
propagatedBuildInputs = [
libantlr3c
mbedtls_2
bctoolbox
belr
];
meta = with lib; {
homepage = "https://gitlab.linphone.org/BC/public/belle-sip";
description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers. Part of the Linphone project";
mainProgram = "belle_sip_tester";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ jluttine ];
};
}
-35
View File
@@ -1,35 +0,0 @@
{
bctoolbox,
cmake,
fetchFromGitLab,
lib,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "belr";
version = "5.2.98";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "belr";
tag = version;
hash = "sha256-4keVUAsTs1DAhOfV71VD28I0PEHnyvW95blplY690LY=";
};
buildInputs = [ bctoolbox ];
nativeBuildInputs = [ cmake ];
# Do not build static libraries
cmakeFlags = [ "-DENABLE_STATIC=NO" ];
meta = with lib; {
description = "Belledonne Communications' language recognition library. Part of the Linphone project";
homepage = "https://gitlab.linphone.org/BC/public/belr";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ jluttine ];
};
}
-45
View File
@@ -1,45 +0,0 @@
{
bctoolbox,
cmake,
fetchFromGitLab,
sqlite,
lib,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "bzrtp";
version = "5.2.111";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "bzrtp";
tag = version;
hash = "sha256-sLvvQhJ9uVt/dx57xs9ftY/ETi46xmyGDH8372zpqj8=";
};
buildInputs = [
bctoolbox
sqlite
];
nativeBuildInputs = [ cmake ];
# Do not build static libraries
cmakeFlags = [ "-DENABLE_STATIC=NO" ];
env.NIX_CFLAGS_COMPILE = toString [
# Needed with GCC 12
"-Wno-error=stringop-overflow"
"-Wno-error=unused-parameter"
];
meta = with lib; {
description = "Opensource implementation of ZRTP keys exchange protocol. Part of the Linphone project";
homepage = "https://gitlab.linphone.org/BC/public/bzrtp";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ jluttine ];
};
}
@@ -1,98 +0,0 @@
From 9ece6e77dcf6545c3b8104068302c6243e3a5e88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micka=C3=ABl=20Turnel?=
<mickael.turnel@belledonne-communications.com>
Date: Wed, 1 Mar 2023 09:14:53 +0100
Subject: [PATCH] Set c++ version 17 and fix compilation errors
Backported-by: Lorenz Brun <lorenz@brun.one>
---
CMakeLists.txt | 2 +-
daemon/daemon.cc | 2 +-
libxsd/xsd/cxx/config.hxx | 2 +-
src/conference/session/streams-group.cpp | 10 +++++-----
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 475ff16a8..a771e4595 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -92,7 +92,7 @@ cmake_dependent_option(ENABLE_QRCODE "Enable QRCode support" YES "ENABLE_VIDEO"
# * DISABLE_BC_PACKAGE_SEARCH: skip find_package() for every BC package (bctoolbox, ortp, etc.)
# * DISABLE_SOCI_PACKAGE_SEARCH: skip find_package() for Soci.
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_EXTENSIONS NO)
if(NOT CMAKE_BUILD_TYPE)
diff --git a/daemon/daemon.cc b/daemon/daemon.cc
index 197fc22ef..fd09edb26 100644
--- a/daemon/daemon.cc
+++ b/daemon/daemon.cc
@@ -628,7 +628,7 @@ void Daemon::execCommand(const string &command) {
ist.get(argsbuf);
string args = argsbuf.str();
if (!args.empty() && (args[0] == ' ')) args.erase(0, 1);
- list<DaemonCommand*>::iterator it = find_if(mCommands.begin(), mCommands.end(), bind2nd(mem_fun(&DaemonCommand::matches), name));
+ list<DaemonCommand*>::iterator it = find_if(mCommands.begin(), mCommands.end(), [&name](const DaemonCommand *dc) { return dc->matches(name); });
if (it != mCommands.end()) {
ms_mutex_lock(&mMutex);
(*it)->exec(this, args);
diff --git a/libxsd/xsd/cxx/config.hxx b/libxsd/xsd/cxx/config.hxx
index 076b107f5..385841731 100644
--- a/libxsd/xsd/cxx/config.hxx
+++ b/libxsd/xsd/cxx/config.hxx
@@ -19,7 +19,7 @@
# endif
#else
# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
-# ifdef __GNUC__
+# if defined(__GNUC__) && !defined(__clang__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
# define XSD_CXX11_NULLPTR
# endif
diff --git a/src/conference/session/streams-group.cpp b/src/conference/session/streams-group.cpp
index bff739dda..84277a6b7 100644
--- a/src/conference/session/streams-group.cpp
+++ b/src/conference/session/streams-group.cpp
@@ -447,11 +447,11 @@ float StreamsGroup::computeOverallQuality(_functor func){
}
float StreamsGroup::getAverageQuality(){
- return computeOverallQuality(mem_fun(&Stream::getAverageQuality));
+ return computeOverallQuality(mem_fn(&Stream::getAverageQuality));
}
float StreamsGroup::getCurrentQuality(){
- return computeOverallQuality(mem_fun(&Stream::getCurrentQuality));
+ return computeOverallQuality(mem_fn(&Stream::getCurrentQuality));
}
int StreamsGroup::getAvpfRrInterval()const{
@@ -481,11 +481,11 @@ bool StreamsGroup::avpfEnabled() const{
}
void StreamsGroup::refreshSockets(){
- forEach<Stream>(mem_fun(&Stream::refreshSockets));
+ forEach<Stream>(mem_fn(&Stream::refreshSockets));
}
void StreamsGroup::computeAndReportBandwidth(){
- forEach<Stream>(mem_fun(&Stream::updateBandwidthReports));
+ forEach<Stream>(mem_fn(&Stream::updateBandwidthReports));
if (!bctbx_log_level_enabled(BCTBX_LOG_DOMAIN, BCTBX_LOG_MESSAGE)) return;
@@ -540,7 +540,7 @@ void StreamsGroup::finish(){
mIceService->finish(); // finish ICE first, as it has actions on the streams.
for (auto & ss : mSharedServices) ss.second->checkDestroy();
mSharedServices.clear();
- forEach<Stream>(mem_fun(&Stream::finish));
+ forEach<Stream>(mem_fn(&Stream::finish));
mFinished = true;
}
--
2.41.0
-95
View File
@@ -1,95 +0,0 @@
{
lib,
bc-soci,
belcard,
belle-sip,
cmake,
doxygen,
fetchFromGitLab,
jsoncpp,
libxml2,
lime,
mediastreamer,
python3,
sqlite,
stdenv,
xercesc,
zxing-cpp,
}:
stdenv.mkDerivation rec {
pname = "liblinphone";
version = "5.2.98";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "liblinphone";
rev = version;
hash = "sha256-kQZePMa7MTaSJLEObM8khfSFYLqhlgTcVyKfTPLwKYU=";
};
patches = [
# zxing-cpp 2.0+ requires C++ 17
# Manual backport as upstream ran formatters in the meantime
./backport-cpp17.patch
];
postPatch = ''
substituteInPlace src/CMakeLists.txt \
--replace "jsoncpp_object" "jsoncpp" \
--replace "jsoncpp_static" "jsoncpp"
'';
cmakeFlags = [
"-DENABLE_STATIC=NO" # Do not build static libraries
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
"-DENABLE_STRICT=NO" # Do not build with -Werror
];
buildInputs = [
# Made by BC
belcard
belle-sip
lime
mediastreamer
# Vendored by BC
bc-soci
jsoncpp
libxml2
sqlite
xercesc
zxing-cpp
];
nativeBuildInputs = [
cmake
doxygen
(python3.withPackages (ps: [
ps.pystache
ps.six
]))
];
strictDeps = true;
# Some grammar files needed to be copied too from some dependencies. I suppose
# if one define a dependency in such a way that its share directory is found,
# then this copying would be unnecessary. Instead of actually copying these
# files, create a symlink.
postInstall = ''
mkdir -p $out/share/belr/grammars
ln -s ${belcard}/share/belr/grammars/* $out/share/belr/grammars/
'';
meta = with lib; {
homepage = "https://www.linphone.org/technical-corner/liblinphone";
description = "Library for SIP calls and instant messaging";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ];
};
}
-49
View File
@@ -1,49 +0,0 @@
{
bctoolbox,
belle-sip,
cmake,
fetchFromGitLab,
lib,
bc-soci,
sqlite,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "lime";
version = "5.2.98";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "lime";
rev = version;
hash = "sha256-LdwXBJpwSA/PoCXL+c1pcX1V2Fq/eR6nNmwBKDM1Vr8=";
};
buildInputs = [
# Made by BC
bctoolbox
belle-sip
# Vendored by BC
bc-soci
sqlite
];
nativeBuildInputs = [ cmake ];
cmakeFlags = [
"-DENABLE_STATIC=NO" # Do not build static libraries
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
];
meta = with lib; {
description = "End-to-end encryption library for instant messaging. Part of the Linphone project";
homepage = "https://www.linphone.org/technical-corner/lime";
license = licenses.gpl3Only;
platforms = platforms.all;
maintainers = with maintainers; [ jluttine ];
};
}
-38
View File
@@ -1,38 +0,0 @@
{
bctoolbox,
cmake,
fetchFromGitLab,
lib,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "ortp";
version = "5.2.109";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "ortp";
rev = version;
hash = "sha256-EgUPICdKi8c/E6uonZB4DKyOZ3Od4JM5/bR2U6cq9ew=";
};
# Do not build static libraries
cmakeFlags = [ "-DENABLE_STATIC=NO" ];
env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-truncation";
buildInputs = [ bctoolbox ];
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "Real-Time Transport Protocol (RFC3550) stack. Part of the Linphone project";
mainProgram = "ortp_tester";
homepage = "https://linphone.org/technical-corner/ortp";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ jluttine ];
};
}
@@ -1,103 +0,0 @@
{
bctoolbox,
bzrtp,
cmake,
fetchFromGitLab,
fetchpatch2,
ffmpeg,
glew,
gsm,
lib,
libX11,
libXext,
libopus,
libpulseaudio,
libv4l,
libvpx,
ortp,
python3,
qtbase,
qtdeclarative,
speex,
srtp,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "mediastreamer2";
version = "5.2.111";
dontWrapQtApps = true;
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "mediastreamer2";
rev = version;
hash = "sha256-Le52tsyzOpepmvb+GOGCPwwTriPUjhYpa6GM+y/6USA=";
};
patches = [
# Plugins directory is normally fixed during compile time. This patch makes
# it possible to set the plugins directory run time with an environment
# variable MEDIASTREAMER_PLUGINS_DIR. This makes it possible to construct a
# plugin directory with desired plugins and wrap executables so that the
# environment variable points to that directory.
./plugins_dir.patch
# Port to ffmpeg 5.0 API
(fetchpatch2 {
url = "https://salsa.debian.org/pkg-voip-team/linphone-stack/mediastreamer2/-/raw/4e7784802d2eac57dffe210c8c23e696f40ac6ec/debian/patches/ffmpeg_5_0_fixes.patch";
hash = "sha256-5ay4iVbx8IOX952HEFaKLBGKLRYUWRntufciApUVhh0=";
})
];
nativeBuildInputs = [
cmake
python3
qtbase
qtdeclarative
];
propagatedBuildInputs = [
# Made by BC
bctoolbox
bzrtp
ortp
ffmpeg
glew
libX11
libXext
libpulseaudio
libv4l
speex
srtp
# Optional
gsm # GSM audio codec
libopus # Opus audio codec
libvpx # VP8 video codec
];
strictDeps = true;
cmakeFlags = [
"-DENABLE_STATIC=NO" # Do not build static libraries
"-DENABLE_QT_GL=ON" # Build necessary MSQOGL plugin for Linphone desktop
"-DCMAKE_C_FLAGS=-DGIT_VERSION=\"v${version}\""
"-DENABLE_STRICT=NO" # Disable -Werror
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
];
NIX_LDFLAGS = "-lXext";
meta = with lib; {
description = "Powerful and lightweight streaming engine specialized for voice/video telephony applications. Part of the Linphone project";
homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ];
};
}
@@ -1,49 +0,0 @@
{
cmake,
fetchFromGitLab,
mediastreamer,
openh264,
lib,
stdenv,
}:
stdenv.mkDerivation {
pname = "msopenh264";
version = "linphone-4.4.1";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = "msopenh264";
rev = "5603a432be2ed10f5d5a5ce068ef83ab2a996d6b";
sha256 = "sha256-AqZ7tsNZw2Djgyo1JBJbT/c3eQVyEn6r3CT6DQLD/B8=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
mediastreamer
openh264
];
# Do not build static libraries
cmakeFlags = [
"-DENABLE_STATIC=NO"
"-DCMAKE_SKIP_INSTALL_RPATH=ON"
];
# CMAKE_INSTALL_PREFIX has no effect so let's install manually. See:
# https://gitlab.linphone.org/BC/public/msopenh264/issues/1
installPhase = ''
mkdir -p $out/lib/mediastreamer/plugins
cp src/libmsopenh264.so $out/lib/mediastreamer/plugins/
'';
meta = with lib; {
description = "H.264 encoder/decoder plugin for mediastreamer2. Part of the Linphone project";
homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ];
};
}
@@ -1,18 +0,0 @@
diff --git a/src/base/msfactory.c b/src/base/msfactory.c
index 14f868e3..2e3445a1 100644
--- a/src/base/msfactory.c
+++ b/src/base/msfactory.c
@@ -770,7 +770,12 @@ void ms_factory_uninit_plugins(MSFactory *factory){
}
void ms_factory_init_plugins(MSFactory *obj) {
- if (obj->plugins_dir == NULL) {
+ char *package_plugins_dir;
+ // Force plugin dir from environment variable if set
+ package_plugins_dir = getenv("MEDIASTREAMER_PLUGINS_DIR");
+ if (package_plugins_dir != NULL) {
+ ms_factory_set_plugins_dir(obj, package_plugins_dir);
+ } else if (obj->plugins_dir == NULL) {
#ifdef __APPLE__
char *dir = getPluginsDir();
if (dir != NULL) {
@@ -1,54 +0,0 @@
{
cmake,
fetchFromGitLab,
fetchpatch,
sqlite,
boost,
lib,
stdenv,
}:
stdenv.mkDerivation {
pname = "bc-soci";
version = "linphone-4.4.1";
src = fetchFromGitLab {
domain = "gitlab.linphone.org";
group = "BC";
owner = "public/external";
repo = "soci";
rev = "bc8ce0c5628dd48eca6ef5ce0a0a2f52547d88b6";
sha256 = "sha256-qo26aYp/G2C6UkGA1qkHQwTKD5go7TQ9JWxb9xtbe6M=";
};
patches = [
(fetchpatch {
name = "fix-backend-search-path.patch";
url = "https://github.com/SOCI/soci/commit/56c93afc467bdba8ffbe68739eea76059ea62f7a.patch";
sha256 = "sha256-nC/39pn3Cv5e65GgIfF3l64/AbCsfZHPUPIWETZFZAY=";
})
];
cmakeFlags = [
# Do not build static libraries
"-DSOCI_SHARED=YES"
"-DSOCI_STATIC=OFF"
"-DSOCI_TESTS=NO"
"-DWITH_SQLITE3=YES"
];
nativeBuildInputs = [ cmake ];
buildInputs = [
sqlite
boost
];
meta = with lib; {
description = "Database access library for C++. Belledonne Communications' fork for Linphone";
homepage = "https://gitlab.linphone.org/BC/public/external/soci";
license = licenses.boost;
platforms = platforms.all;
maintainers = with maintainers; [ thibaultlemaire ];
};
}
+15
View File
@@ -518,10 +518,17 @@ mapAliases {
bareboxTools = throw "bareboxTools has been removed due to lack of interest in maintaining it in nixpkgs"; # Added 2025-04-19
bazel_5 = throw "bazel_5 has been removed as it is EOL"; # Added 2025-08-09
bazel_6 = throw "bazel_6 has been removed as it will be EOL by the release of Nixpkgs 25.11"; # Added 2025-08-19
bc-decaf = throw "'bc-decaf' has been removed due to being unmaintained"; # Added 2025-09-20
bc-soci = throw "'bc-soci' has been removed due to being unmaintained"; # Added 2025-09-20
bctoolbox = throw "'bctoolbox' has been removed due to being unmaintained"; # Added 2025-09-20
bcunit = throw "'bcunit' has been removed due to being unmaintained"; # Added 2025-09-20
BeatSaberModManager = beatsabermodmanager; # Added 2024-06-12
beam_nox = throw "beam_nox has been removed in favor of beam_minimal or beamMinimalPackages"; # Added 2025-04-01
beatsabermodmanager = throw "'beatsabermodmanager' has been removed due to lack of upstream maintainenance. Consider using 'bs-manager' instead"; # Added 2025-03-18
inherit (beetsPackages) beets-unstable;
belcard = throw "'belcard' has been removed due to being unmaintained"; # Added 2025-09-20
belle-sip = throw "'belle-sip' has been removed due to being unmaintained"; # Added 2025-09-20
belr = throw "'belr' has been removed due to being unmaintained"; # Added 2025-09-20
betterbird = throw "betterbird has been removed as there were insufficient maintainer resources to keep up with security updates"; # Added 2024-10-25
betterbird-unwrapped = throw "betterbird has been removed as there were insufficient maintainer resources to keep up with security updates"; # Added 2024-10-25
bfc = throw "bfc has been removed, as it does not build with supported LLVM versions"; # Added 2025-08-10
@@ -580,6 +587,8 @@ mapAliases {
bitwarden_rs-sqlite = vaultwarden-sqlite; # Added 2021-07-01
bitwarden_rs-vault = vaultwarden-vault; # Added 2021-07-01
bzrtp = throw "'bzrtp' has been removed due to being unmaintained"; # Added 2025-09-20
### C ###
caffeWithCuda = throw "caffeWithCuda has been removed, as it was broken and required CUDA 10"; # Added 2024-11-20
@@ -1358,6 +1367,7 @@ mapAliases {
libixp_hg = libixp; # Added 2022-04-25
libjpeg_drop = throw "'libjpeg_drop' has been renamed to/replaced by 'libjpeg_original'"; # Converted to throw 2024-10-17
liblastfm = throw "'liblastfm' has been renamed to/replaced by 'libsForQt5.liblastfm'"; # Converted to throw 2024-10-17
liblinphone = throw "'liblinphone' has been removed due to being unmaintained"; # Added 2025-09-20
libmp3splt = throw "'libmp3splt' has been removed due to lack of maintenance upstream."; # Added 2025-05-17
libmusicbrainz3 = throw "libmusicbrainz3 has been removed as it was obsolete and unused"; # Added 2025-09-16
libmusicbrainz5 = libmusicbrainz; # Added 2025-09-16
@@ -1408,8 +1418,10 @@ mapAliases {
ligo = throw "ligo has been removed from nixpkgs for lack of maintainance"; # Added 2025-06-03
lima-bin = lib.warnOnInstantiate "lima-bin has been replaced by lima" lima; # Added 2025-05-13
lime3ds = throw "lime3ds is deprecated, use 'azahar' instead."; # Added 2025-03-22
lime = throw "'lime' has been removed due to being unmaintained"; # Added 2025-03-20
limesctl = throw "limesctl has been removed because it is insignificant."; # Added 2024-11-25
linenoise-ng = throw "'linenoise-ng' has been removed as the upstream project was archived. Consider using 'linenoise' instead."; # Added 2025-05-05
linphone = throw "'linphone' has been removed due to being unmaintained"; # Added 2025-09-20
lispPackages_new = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07
lispPackages = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07
lispPackagesFor = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07
@@ -1701,6 +1713,8 @@ mapAliases {
mcomix3 = mcomix; # Added 2022-06-05
mdt = md-tui; # Added 2024-09-03
meilisearch_1_11 = throw "'meilisearch_1_11' has been removed, as it is no longer supported"; # Added 2025-10-03
mediastreamer = throw "'mediastreamer' has been removed due to being unmaintained"; # Added 2025-09-20
mediastreamer-openh264 = throw "'mediastreamer-openh264' has been removed due to being unmaintained"; # Added 2025-09-20
meme = throw "'meme' has been renamed to/replaced by 'meme-image-generator'"; # Converted to throw 2024-10-17
memorymapping = throw "memorymapping has been removed, as it was only useful on old macOS versions that are no longer supported"; # Added 2024-10-05
memorymappingHook = throw "memorymapping has been removed, as it was only useful on old macOS versions that are no longer supported"; # Added 2024-10-05
@@ -2004,6 +2018,7 @@ mapAliases {
openvdb_11 = throw "'openvdb_11' has been removed in favor of the latest version'"; # Added 2025-05-03
opera = throw "'opera' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-19
orchis = throw "'orchis' has been renamed to/replaced by 'orchis-theme'"; # Converted to throw 2024-10-17
ortp = throw "'ortp' has been removed due to being unmaintained"; # Added 2025-09-20
omping = throw "'omping' has been removed because its upstream has been archived"; # Added 2025-05-10
onlyoffice-bin = onlyoffice-desktopeditors; # Added 2024-09-20
onlyoffice-bin_latest = onlyoffice-bin; # Added 2024-07-03
-8
View File
@@ -7044,8 +7044,6 @@ with pkgs;
inherit (callPackages ../development/libraries/bashup-events { }) bashup-events32 bashup-events44;
bc-soci = callPackage ../development/libraries/soci/bc-soci.nix { };
# TODO(@Ericson2314): Build bionic libc from source
bionic =
if stdenv.hostPlatform.useAndroidPrebuilt then
@@ -8128,10 +8126,6 @@ with pkgs;
mbedtls_2 = callPackage ../development/libraries/mbedtls/2.nix { };
mbedtls = callPackage ../development/libraries/mbedtls/3.nix { };
mediastreamer = libsForQt5.callPackage ../development/libraries/mediastreamer { };
mediastreamer-openh264 = callPackage ../development/libraries/mediastreamer/msopenh264.nix { };
mergerfs = callPackage ../tools/filesystems/mergerfs { };
mergerfs-tools = callPackage ../tools/filesystems/mergerfs/tools.nix { };
@@ -11810,8 +11804,6 @@ with pkgs;
libutp = callPackage ../applications/networking/p2p/libutp { };
libutp_3_4 = callPackage ../applications/networking/p2p/libutp/3.4.nix { };
linphone = libsForQt5.callPackage ../applications/networking/instant-messengers/linphone { };
lmms = libsForQt5.callPackage ../applications/audio/lmms {
lame = null;
libsoundio = null;