Merge master into staging-next
This commit is contained in:
@@ -3840,8 +3840,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "redhat";
|
||||
name = "java";
|
||||
version = "1.45.0";
|
||||
hash = "sha256-aLyAU5J+65Cw3UsYey9Y2/bSMWFiz3TNOwBBvjev8dY=";
|
||||
version = "1.46.0";
|
||||
hash = "sha256-i7Nac47aJVdxxRgM8KCCI8zmwTCGxxy0PrejgjOCYXE=";
|
||||
};
|
||||
buildInputs = [ jdk ];
|
||||
meta = {
|
||||
|
||||
@@ -31,6 +31,12 @@ mkDerivation rec {
|
||||
qtx11extras
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
# CMake 4 dropped support of versions lower than 3.5,
|
||||
# versions lower than 3.10 are deprecated.
|
||||
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.10")
|
||||
];
|
||||
|
||||
# Wayland support is broken.
|
||||
# https://github.com/gyunaev/birdtray/issues/113#issuecomment-621742315
|
||||
qtWrapperArgs = [ "--set QT_QPA_PLATFORM xcb" ];
|
||||
|
||||
@@ -96,7 +96,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/input-leap/input-leap";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
kovirobi
|
||||
phryneas
|
||||
twey
|
||||
shymega
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"chromium": {
|
||||
"version": "141.0.7390.54",
|
||||
"version": "141.0.7390.65",
|
||||
"chromedriver": {
|
||||
"version": "141.0.7390.55",
|
||||
"hash_darwin": "sha256-wo68N1aftGGyZR4rYI+96lXKJqPAYro3g4s/OL/CUco=",
|
||||
"hash_darwin_aarch64": "sha256-5uUklsYRFhpLIAKoPl5EU5dQJcxwXVpJp0lyQ4SkspY="
|
||||
"version": "141.0.7390.66",
|
||||
"hash_darwin": "sha256-0LLARLPwlZ3KB5xCq4Yx5S6vtnhVddJ62IdgEy0vp7o=",
|
||||
"hash_darwin_aarch64": "sha256-rLW5FOMNyFEn1Du2VN2sGfWri2erjN7SENa01vA2Vp8="
|
||||
},
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
@@ -21,8 +21,8 @@
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "b95610d5c4a562d9cd834bc0a098d3316e2f533f",
|
||||
"hash": "sha256-jraDPodJBdyFFHS30BcQTZOEUD+h9SFHQrO0GoMhtk8=",
|
||||
"rev": "b2ec783d2b51a396804a4e3e33f6586be09a4e2d",
|
||||
"hash": "sha256-9jZ7411NThelyL0R5yoLXB0lOkydOI3v6K5ORhjqfF4=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -252,8 +252,8 @@
|
||||
},
|
||||
"src/third_party/devtools-frontend/src": {
|
||||
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
|
||||
"rev": "65f160d43dc97a2e8eb5e1c2814179a519313884",
|
||||
"hash": "sha256-VLMJ/WWCIzk92mmuBdx+P6Gi0ouiXuMGkiR0KVK5GWI="
|
||||
"rev": "9c2c4cc7cf6c82ad460e1f3b49f34bb702d5fe11",
|
||||
"hash": "sha256-qj1vR0FW2jiR2v18Nv8RqYgy/UEw2rgGUsQ68EhdHos="
|
||||
},
|
||||
"src/third_party/dom_distiller_js/dist": {
|
||||
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"packageVersion": "143.0.3-1",
|
||||
"packageVersion": "143.0.4-1",
|
||||
"source": {
|
||||
"rev": "143.0.3-1",
|
||||
"hash": "sha256-0gOt8YEnyDcMHy+EdSi2MLtRZMnMzfeBBKiMa2QO3uQ="
|
||||
"rev": "143.0.4-1",
|
||||
"hash": "sha256-RyLz5se2AqXAmsa/MckiUgcBfRxZVVsrNg2L757qOuo="
|
||||
},
|
||||
"firefox": {
|
||||
"version": "143.0.3",
|
||||
"hash": "sha512-wJK9Oqx5+FaoBMkIt21AQJzgUrABdiaeowKbWjpohdTSHOJr12yeoTgn/3VFm2tLBWb1qkkDWsI0rliQxnhFsA=="
|
||||
"version": "143.0.4",
|
||||
"hash": "sha512-K8veTnLqQenMyYg2kBY1NQtdx7UMYY4Zq2EDonrcDwF8o/p1VTeMivbuHzoU0Ck1KJ/isNNdhA1hD1rAeojktg=="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ lib:
|
||||
socat,
|
||||
sqlite,
|
||||
stdenv,
|
||||
su,
|
||||
systemdMinimal,
|
||||
util-linuxMinimal,
|
||||
yq-go,
|
||||
@@ -371,6 +372,7 @@ buildGoModule (finalAttrs: {
|
||||
conntrack-tools
|
||||
runc
|
||||
bash
|
||||
su
|
||||
];
|
||||
|
||||
k3sKillallDeps = [
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Linphone
|
||||
|
||||
Linphone is a SIP softphone application developed by Belledonne Communications.
|
||||
|
||||
The main application is located in the [`linphone-desktop`](https://gitlab.linphone.org/BC/public/linphone-desktop) repository, and depends on many bespoke libraries, as well as third-party libraries with custom patches.
|
||||
This scope provides all libraries and patches needed for Linphone to build.
|
||||
|
||||
BC-developed libraries are housed within the [`linphone-sdk`](https://gitlab.linphone.org/BC/public/linphone-sdk) monorepo.
|
||||
Current stable versions of the monorepo utilize git submodules to link the respective package repos, but BC has since integrated all of their libraries into the monorepo proper, which is why we're already using a single source for the entire repo.
|
||||
An auxiliary function `mkLinphoneDerivation` is provided in this scope, to streamline building libraries from that repository.
|
||||
|
||||
Other third-party libraries for which BC has provided custom patches, and are not included in the monorepo, are prefixed with `bc-`.
|
||||
|
||||
All libraries and packages are exposed in nixpkgs under the `linphonePackage` scope via `pkgs/all-packages.nix`.
|
||||
|
||||
## Updating
|
||||
|
||||
Updating is done in 3 steps:
|
||||
|
||||
1. Update the main Linphone application in the derivation directly
|
||||
2. Update all libraries derived from the `linphone-sdk` monorepo, by updating the monorepo version and hash in `./default.nix`
|
||||
3. Update all custom versions of third-party libraries individually (those prefixed with `bc-`)
|
||||
4. Verify that the build is working by building (and running) `linphonePackages.linphone-desktop`.
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> When testing, run the app with `./result/bin/linphone --verbose` to get useful logs in `stdout`.
|
||||
|
||||
## Adding new libraries
|
||||
|
||||
To add a new package to this scope, simply add a new subdirectory containing a `default.nix` file with the appropriate package name. The scope automatically picks up any directories and adds an according toplevel package.
|
||||
|
||||
If the package you are adding is contained within the `linphone-sdk` monorepo, it makes sense to use the `mkLinphoneDerivation` function to streamline the build process.
|
||||
|
||||
If the package you are adding is a third-party libary with custom patches from BC, it should be prefixed with `bc-` for easy recognizability, so e.g. if BC were to patch `ffmpeg`, you would call the package `bc-ffmpeg`.
|
||||
|
||||
## Notes for the future
|
||||
|
||||
As mentioned before, currently most libraries within `linphone-sdk` are simply git submodules, but in the future, they will be properly integrated into the monorepo (this is already the case for their main branch).
|
||||
|
||||
Also, currently the build relies on Qt5, but starting with Linphone 6.0.0, which as of 2025-09-20 is in its RC phase, the build will involve Qt6.
|
||||
+12
-9
@@ -5,10 +5,10 @@
|
||||
python3,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "bc-decaf";
|
||||
version = "unstable-2022-07-20";
|
||||
# version retrieved from `HISTORY.txt`
|
||||
version = "1.0.2-unstable-2025-06-25";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
@@ -20,21 +20,24 @@ stdenv.mkDerivation {
|
||||
group = "BC";
|
||||
owner = "public/external";
|
||||
repo = "decaf";
|
||||
rev = "876ddb4d465c94f97beba1be450e8538d866cc5d";
|
||||
sha256 = "sha256-QFOAgLiPbG2ZdwKoCOrVD5/sPq9IH4rtAWnnk/rZWcs=";
|
||||
rev = "e5cc6240690d3ffdfcbdb1e4e851954b789cd5d9";
|
||||
sha256 = "sha256-4oZtpdelyKbd2k4LAhtsLkL5Y84C1Qb02fpVywYorr8=";
|
||||
};
|
||||
|
||||
# Do not build static libraries and do not enable -Werror
|
||||
cmakeFlags = [
|
||||
"-DENABLE_STATIC=NO"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DENABLE_STRICT=NO"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
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;
|
||||
homepage = "https://gitlab.linphone.org/BC/public/external/decaf";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
naxdy
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
cmake,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
# tests
|
||||
testers,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bc-ispell";
|
||||
# version retrieved from `CHANGES`
|
||||
version = "3.4.02-unstable-2025-05-05";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.linphone.org";
|
||||
group = "BC";
|
||||
owner = "public/external";
|
||||
repo = "ispell";
|
||||
rev = "05574fe160222c3d0b6283c1433c9b087271fad1";
|
||||
sha256 = "sha256-YoRLiMjk2BxoI27xc2nzucxfHV9UbouFRSECb3RdHGo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# linphone has custom find modules that look for this package,
|
||||
# but they do not work in nix, so we need to patch this library to
|
||||
# install regular cmake config files
|
||||
./install-config-files.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_STATIC=NO"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
passthru.tests = {
|
||||
cmake-config = testers.hasCmakeConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
moduleNames = [
|
||||
"ISpell"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Interactive spelling checker";
|
||||
homepage = "https://gitlab.linphone.org/BC/public/external/ispell";
|
||||
platforms = lib.platforms.all;
|
||||
# NOTE: ISpell itself does not explicitly provide a license. From its
|
||||
# 'Contributors' file, it can be deduced that it is distributed under
|
||||
# "some" open source license, but the details are not clear.
|
||||
license = lib.licenses.free;
|
||||
maintainers = with lib.maintainers; [
|
||||
naxdy
|
||||
];
|
||||
};
|
||||
})
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6edcc88..6f5601d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -47,11 +47,62 @@ set(ISPELL_SOURCES
|
||||
xgets.c
|
||||
)
|
||||
|
||||
+set(ISPELL_HEADERS
|
||||
+ config.h
|
||||
+ defhash.h
|
||||
+ exp_table.h
|
||||
+ fields.h
|
||||
+ ispell.h
|
||||
+ libispell.h
|
||||
+ local.h
|
||||
+ msgs.h
|
||||
+ proto.h
|
||||
+ version.h
|
||||
+)
|
||||
+
|
||||
add_library(${ISPELL_TARGET_NAME} SHARED ${ISPELL_SOURCES})
|
||||
|
||||
+install(
|
||||
+ FILES
|
||||
+ ${ISPELL_HEADERS}
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
+)
|
||||
+
|
||||
+install(TARGETS ${ISPELL_TARGET_NAME}
|
||||
+ EXPORT ${ISPELL_TARGET_NAME}Targets
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+)
|
||||
+
|
||||
install(TARGETS ${ISPELL_TARGET_NAME}
|
||||
EXPORT ${ISPELL_TARGET_NAME}LibraryDepends
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
+
|
||||
+install(
|
||||
+ EXPORT ${ISPELL_TARGET_NAME}Targets
|
||||
+ FILE ${ISPELL_TARGET_NAME}Targets.cmake
|
||||
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/${ISPELL_TARGET_NAME}/cmake"
|
||||
+ NAMESPACE ${ISPELL_TARGET_NAME}::
|
||||
+)
|
||||
+
|
||||
+install(
|
||||
+ EXPORT ${ISPELL_TARGET_NAME}LibraryDepends
|
||||
+ FILE ${ISPELL_TARGET_NAME}LibraryDepends.cmake
|
||||
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/${ISPELL_TARGET_NAME}/cmake"
|
||||
+ NAMESPACE ${ISPELL_TARGET_NAME}::
|
||||
+)
|
||||
+
|
||||
+configure_package_config_file(
|
||||
+ ${ISPELL_TARGET_NAME}Config.cmake.in
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/${ISPELL_TARGET_NAME}Config.cmake"
|
||||
+ INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/${ISPELL_TARGET_NAME}/cmake"
|
||||
+)
|
||||
+
|
||||
+install(
|
||||
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/${ISPELL_TARGET_NAME}Config.cmake"
|
||||
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/${ISPELL_TARGET_NAME}/cmake"
|
||||
+)
|
||||
diff --git a/ISpellConfig.cmake.in b/ISpellConfig.cmake.in
|
||||
index 052194b..cb71737 100644
|
||||
--- a/ISpellConfig.cmake.in
|
||||
+++ b/ISpellConfig.cmake.in
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
-include("${CMAKE_CURRENT_LIST_DIR}/@ISPELL_TARGET_NAME@LibraryDepends.cmake")
|
||||
+include("${CMAKE_CURRENT_LIST_DIR}/ISpellLibraryDepends.cmake")
|
||||
|
||||
-set(ISPELL_LIBRARIES "@ISPELL_TARGET_NAME@")
|
||||
-get_target_property(ISPELL_INCLUDE_DIRS "@ISPELL_TARGET_NAME@" INTERFACE_INCLUDE_DIRECTORIES)
|
||||
+set(ISPELL_LIBRARIES "ISpell")
|
||||
+get_target_property(ISPELL_INCLUDE_DIRS "ISpell::ISpell" INTERFACE_INCLUDE_DIRECTORIES)
|
||||
|
||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.18.0)
|
||||
- add_library(@ISpell_TARGET_NAME@::@ISpell_TARGET_NAME@ ALIAS @ISpell_TARGET_NAME@)
|
||||
+ add_library(ISpell ALIAS ISpell::ISpell)
|
||||
endif()
|
||||
|
||||
-check_required_components(@ISpell_TARGET_NAME@)
|
||||
+check_required_components(ISpell)
|
||||
+10
-7
@@ -10,15 +10,16 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "bc-soci";
|
||||
version = "linphone-4.4.1";
|
||||
# version retrieved from `CHANGELOG.md`
|
||||
version = "3.2.3-unstable-2025-05-05";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.linphone.org";
|
||||
group = "BC";
|
||||
owner = "public/external";
|
||||
repo = "soci";
|
||||
rev = "bc8ce0c5628dd48eca6ef5ce0a0a2f52547d88b6";
|
||||
sha256 = "sha256-qo26aYp/G2C6UkGA1qkHQwTKD5go7TQ9JWxb9xtbe6M=";
|
||||
rev = "3a9c79088212941d0175c22cd2da8fe1bdd639df";
|
||||
sha256 = "sha256-7aSTFD4yk1i6c9cEGqdo/eJtuqoOUZUTJlZijgjuYpM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -44,11 +45,13 @@ stdenv.mkDerivation {
|
||||
boost
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
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 ];
|
||||
license = lib.licenses.boost;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [
|
||||
naxdy
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
bcunit,
|
||||
bc-decaf,
|
||||
mkLinphoneDerivation,
|
||||
openssl,
|
||||
lib,
|
||||
|
||||
# tests
|
||||
testers,
|
||||
}:
|
||||
mkLinphoneDerivation (finalAttrs: {
|
||||
pname = "bctoolbox";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bcunit
|
||||
bc-decaf
|
||||
openssl
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_STRICT=NO"
|
||||
|
||||
# mbedtils does not build
|
||||
"-DENABLE_MBEDTLS=NO"
|
||||
"-DENABLE_OPENSSL=YES"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
passthru.tests = {
|
||||
cmake-config = testers.hasCmakeConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
moduleNames = [
|
||||
"BCToolbox"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Utilities library for Linphone";
|
||||
mainProgram = "bctoolbox_tester";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [
|
||||
jluttine
|
||||
naxdy
|
||||
raskin
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
mkLinphoneDerivation,
|
||||
lib,
|
||||
}:
|
||||
mkLinphoneDerivation {
|
||||
pname = "bcunit";
|
||||
|
||||
meta = {
|
||||
description = "Fork of the defunct project CUnit, a unit testing framework";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
jluttine
|
||||
naxdy
|
||||
raskin
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
bctoolbox,
|
||||
belr,
|
||||
lib,
|
||||
mkLinphoneDerivation,
|
||||
|
||||
# tests
|
||||
testers,
|
||||
}:
|
||||
mkLinphoneDerivation (finalAttrs: {
|
||||
pname = "belcard";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bctoolbox
|
||||
belr
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
cmake-config = testers.hasCmakeConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
moduleNames = [
|
||||
"BelCard"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "C++ library to manipulate VCard standard format. Part of the Linphone project";
|
||||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
})
|
||||
+9
-27
@@ -1,34 +1,19 @@
|
||||
{
|
||||
bctoolbox,
|
||||
belr,
|
||||
cmake,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
libantlr3c,
|
||||
mbedtls_2,
|
||||
stdenv,
|
||||
zlib,
|
||||
python3,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkLinphoneDerivation {
|
||||
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" ];
|
||||
nativeBuildInputs = [
|
||||
python3
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (
|
||||
[
|
||||
@@ -45,17 +30,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
libantlr3c
|
||||
mbedtls_2
|
||||
bctoolbox
|
||||
belr
|
||||
zlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.linphone.org/BC/public/belle-sip";
|
||||
meta = {
|
||||
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 ];
|
||||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
bctoolbox,
|
||||
lib,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
mkLinphoneDerivation {
|
||||
pname = "belr";
|
||||
|
||||
buildInputs = [
|
||||
bctoolbox
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Belledonne Communications' language recognition library (a SIP parsing library). Part of the Linphone project";
|
||||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
bctoolbox,
|
||||
sqlite,
|
||||
lib,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
mkLinphoneDerivation {
|
||||
pname = "bzrtp";
|
||||
|
||||
buildInputs = [
|
||||
bctoolbox
|
||||
sqlite
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
# Needed with GCC 12
|
||||
"-Wno-error=stringop-overflow"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Opensource implementation of ZRTP keys exchange protocol. Part of the Linphone project";
|
||||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
}
|
||||
@@ -1,144 +1,20 @@
|
||||
{
|
||||
bctoolbox,
|
||||
belcard,
|
||||
belle-sip,
|
||||
belr,
|
||||
cmake,
|
||||
fetchFromGitLab,
|
||||
generateSplicesForMkScope,
|
||||
makeScopeWithSplicing',
|
||||
lib,
|
||||
liblinphone,
|
||||
mediastreamer,
|
||||
mediastreamer-openh264,
|
||||
minizip-ng,
|
||||
mkDerivation,
|
||||
qtgraphicaleffects,
|
||||
qtmultimedia,
|
||||
qtquickcontrols2,
|
||||
qttools,
|
||||
}:
|
||||
makeScopeWithSplicing' {
|
||||
otherSplices = generateSplicesForMkScope "linphonePackages";
|
||||
extra = self: {
|
||||
mkLinphoneDerivation = self.mk-linphone-derivation;
|
||||
|
||||
# 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 ];
|
||||
linphoneSdkVersion = "5.4.43";
|
||||
linphoneSdkHash = "sha256-lv2phU2qF51OIejzjgaBUo9NIdDv4bbK+bpY37Gnr8U=";
|
||||
};
|
||||
f =
|
||||
self:
|
||||
let
|
||||
packages = lib.filterAttrs (name: value: value == "directory") (builtins.readDir ./.);
|
||||
in
|
||||
lib.mapAttrs (name: value: self.callPackage ./${name} { }) packages;
|
||||
}
|
||||
|
||||
-157
@@ -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)
|
||||
|
||||
+25
-37
@@ -3,49 +3,27 @@
|
||||
bc-soci,
|
||||
belcard,
|
||||
belle-sip,
|
||||
cmake,
|
||||
doxygen,
|
||||
fetchFromGitLab,
|
||||
jsoncpp,
|
||||
libxml2,
|
||||
lime,
|
||||
mediastreamer,
|
||||
mediastreamer2,
|
||||
python3,
|
||||
sqlite,
|
||||
stdenv,
|
||||
xercesc,
|
||||
zxing-cpp,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkLinphoneDerivation {
|
||||
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
|
||||
|
||||
# normally set by a cmake module, but
|
||||
# we need to disable it to prevent downstream link errors
|
||||
"-DJsonCPP_TARGET=jsoncpp"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -53,27 +31,39 @@ stdenv.mkDerivation rec {
|
||||
belcard
|
||||
belle-sip
|
||||
lime
|
||||
mediastreamer
|
||||
mediastreamer2
|
||||
|
||||
# Vendored by BC
|
||||
bc-soci
|
||||
|
||||
jsoncpp
|
||||
libxml2
|
||||
sqlite
|
||||
xercesc
|
||||
zxing-cpp
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
jsoncpp
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
doxygen
|
||||
(python3.withPackages (ps: [
|
||||
ps.pystache
|
||||
ps.six
|
||||
ps.pyturbojpeg
|
||||
]))
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail JsonCPP jsoncpp
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
rm cmake/FindJsonCPP.cmake
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# Some grammar files needed to be copied too from some dependencies. I suppose
|
||||
@@ -85,11 +75,9 @@ stdenv.mkDerivation rec {
|
||||
ln -s ${belcard}/share/belr/grammars/* $out/share/belr/grammars/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.linphone.org/technical-corner/liblinphone";
|
||||
meta = {
|
||||
description = "Library for SIP calls and instant messaging";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ jluttine ];
|
||||
license = lib.licenses.agpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
bctoolbox,
|
||||
belle-sip,
|
||||
lib,
|
||||
bc-soci,
|
||||
sqlite,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
mkLinphoneDerivation {
|
||||
pname = "lime";
|
||||
|
||||
buildInputs = [
|
||||
# Made by BC
|
||||
bctoolbox
|
||||
belle-sip
|
||||
|
||||
# Vendored by BC
|
||||
bc-soci
|
||||
|
||||
sqlite
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "End-to-end encryption library for instant messaging. Part of the Linphone project";
|
||||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
}
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
{
|
||||
bc-ispell,
|
||||
bc-soci,
|
||||
bctoolbox,
|
||||
belcard,
|
||||
belle-sip,
|
||||
belr,
|
||||
boost,
|
||||
cmake,
|
||||
doxygen,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
liblinphone,
|
||||
libsForQt5,
|
||||
lime,
|
||||
mediastreamer2,
|
||||
minizip-ng,
|
||||
msopenh264,
|
||||
python3,
|
||||
python3Packages,
|
||||
stdenv,
|
||||
symlinkJoin,
|
||||
xercesc,
|
||||
zxing-cpp,
|
||||
}:
|
||||
let
|
||||
grammars = symlinkJoin {
|
||||
name = "belr-grammars";
|
||||
paths =
|
||||
let
|
||||
grammarPackages = [
|
||||
belle-sip
|
||||
belcard
|
||||
liblinphone
|
||||
];
|
||||
in
|
||||
map (e: "${e}/share/belr/grammars") grammarPackages;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "linphone-desktop";
|
||||
version = "5.3.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.linphone.org";
|
||||
owner = "public";
|
||||
group = "BC";
|
||||
repo = "linphone-desktop";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-SxYI2ZOtA49K2XPoTRPAIziAwC8SRrHMC3NISBFyuH0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./require-finding-packages.patch
|
||||
./remove-bc-versions.patch
|
||||
./do-not-override-install-prefix.patch
|
||||
./fix-translation-dirs.patch
|
||||
./unset-qml-dir.patch
|
||||
|
||||
# .mkv recordings are broken in NixOS and other distros (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/219551), and simply changing the
|
||||
# file extension is enough to affect the chosen codec (wav makes more
|
||||
# sense for audio recordings anyway)
|
||||
./record-in-wav-format.patch
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# Made by BC
|
||||
bctoolbox
|
||||
belcard
|
||||
belle-sip
|
||||
belr
|
||||
liblinphone
|
||||
mediastreamer2
|
||||
msopenh264
|
||||
lime
|
||||
bc-soci
|
||||
bc-ispell
|
||||
|
||||
xercesc
|
||||
minizip-ng
|
||||
libsForQt5.qtgraphicaleffects
|
||||
libsForQt5.qtmultimedia
|
||||
libsForQt5.qtquickcontrols2
|
||||
zxing-cpp
|
||||
boost
|
||||
|
||||
python3Packages.pystache
|
||||
python3Packages.six
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
libsForQt5.qttools
|
||||
libsForQt5.wrapQtAppsHook
|
||||
python3
|
||||
doxygen
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-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"
|
||||
"-DLINPHONEAPP_VERSION=${finalAttrs.version}"
|
||||
"-DLINPHONE_QT_ONLY=ON"
|
||||
"-DLINPHONEAPP_INSTALL_PREFIX=${placeholder "out"}"
|
||||
"-DLINPHONE_QML_DIR=${placeholder "out"}/${libsForQt5.qtbase.qtQmlPrefix}/ui"
|
||||
|
||||
# normally set by the custom find modules, which we have disabled
|
||||
"-DLibLinphone_TARGET=liblinphone"
|
||||
"-DLinphoneCxx_TARGET=liblinphone++"
|
||||
"-DISpell_SOURCE_DIR=${bc-ispell.src}"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# custom "find" modules are causing issues during build,
|
||||
# as they are blinding cmake to nix dependencies
|
||||
rm -rf linphone-app/cmake
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/share/linphone
|
||||
mkdir -p $out/share/sounds/linphone
|
||||
mkdir -p $out/share/belr
|
||||
'';
|
||||
|
||||
# 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.
|
||||
#
|
||||
# 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 linked manually below.
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib/mediastreamer/plugins
|
||||
ln -s ${msopenh264}/lib/mediastreamer/plugins/* $out/lib/mediastreamer/plugins/
|
||||
ln -s ${mediastreamer2}/lib/mediastreamer/plugins/* $out/lib/mediastreamer/plugins/
|
||||
ln -s ${grammars} $out/share/belr/grammars
|
||||
|
||||
wrapProgram $out/bin/linphone \
|
||||
--unset QML2_IMPORT_PATH \
|
||||
--set MEDIASTREAMER_PLUGINS_DIR $out/lib/mediastreamer/plugins
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.linphone.org/";
|
||||
description = "Open source SIP phone for voice/video calls and instant messaging";
|
||||
mainProgram = "linphone";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [
|
||||
jluttine
|
||||
naxdy
|
||||
];
|
||||
};
|
||||
})
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 312df041d..43500be48 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -116,11 +116,6 @@ endif ()
|
||||
#------------------------------------------------------------------------------
|
||||
# Prepare gobal CMAKE configuration specific to the current project
|
||||
|
||||
-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)
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
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})
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
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(){
|
||||
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"));
|
||||
const QString safeFilePath = Utils::getSafeFilePath(
|
||||
QStringLiteral("%1%2")
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
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}")
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
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
|
||||
|
||||
####################################
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
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)
|
||||
|
||||
|
||||
+14
-37
@@ -1,10 +1,7 @@
|
||||
{
|
||||
bctoolbox,
|
||||
bzrtp,
|
||||
cmake,
|
||||
fetchFromGitLab,
|
||||
fetchpatch2,
|
||||
ffmpeg,
|
||||
ffmpeg_4,
|
||||
glew,
|
||||
gsm,
|
||||
lib,
|
||||
@@ -12,32 +9,21 @@
|
||||
libXext,
|
||||
libopus,
|
||||
libpulseaudio,
|
||||
libsForQt5,
|
||||
libv4l,
|
||||
libvpx,
|
||||
mkLinphoneDerivation,
|
||||
ortp,
|
||||
python3,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
speex,
|
||||
sqlite,
|
||||
srtp,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkLinphoneDerivation (finalAttrs: {
|
||||
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
|
||||
@@ -45,19 +31,12 @@ stdenv.mkDerivation rec {
|
||||
# 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
|
||||
libsForQt5.qtbase
|
||||
libsForQt5.qtdeclarative
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -66,7 +45,7 @@ stdenv.mkDerivation rec {
|
||||
bzrtp
|
||||
ortp
|
||||
|
||||
ffmpeg
|
||||
ffmpeg_4
|
||||
glew
|
||||
libX11
|
||||
libXext
|
||||
@@ -74,6 +53,7 @@ stdenv.mkDerivation rec {
|
||||
libv4l
|
||||
speex
|
||||
srtp
|
||||
sqlite
|
||||
|
||||
# Optional
|
||||
gsm # GSM audio codec
|
||||
@@ -84,20 +64,17 @@ stdenv.mkDerivation rec {
|
||||
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}\""
|
||||
"-DCMAKE_C_FLAGS=-DGIT_VERSION=\"v${finalAttrs.version}\""
|
||||
"-DENABLE_STRICT=NO" # Disable -Werror
|
||||
"-DENABLE_UNIT_TESTS=NO" # Do not build test executables
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = "-lXext";
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
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 ];
|
||||
license = lib.licenses.agpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
cmake,
|
||||
linphoneSdkVersion,
|
||||
linphoneSdkHash,
|
||||
}:
|
||||
lib.extendMkDerivation {
|
||||
constructDrv = stdenv.mkDerivation;
|
||||
|
||||
excludeDrvArgNames = [
|
||||
"sourceRoot"
|
||||
"version"
|
||||
];
|
||||
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
{
|
||||
sourceRoot ? finalAttrs.pname,
|
||||
nativeBuildInputs ? [ ],
|
||||
cmakeFlags ? [ ],
|
||||
...
|
||||
}@args:
|
||||
{
|
||||
version = linphoneSdkVersion;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.linphone.org";
|
||||
owner = "public";
|
||||
group = "BC";
|
||||
repo = "linphone-sdk";
|
||||
tag = linphoneSdkVersion;
|
||||
hash = linphoneSdkHash;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
]
|
||||
++ nativeBuildInputs;
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/${sourceRoot}";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
]
|
||||
++ cmakeFlags;
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.linphone.org/BC/public/linphone-sdk";
|
||||
# maintainers for all linphone packages
|
||||
maintainers = [
|
||||
lib.maintainers.jluttine
|
||||
lib.maintainers.naxdy
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
}
|
||||
// (lib.optionalAttrs (args ? meta) args.meta);
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
mediastreamer2,
|
||||
openh264,
|
||||
lib,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
mkLinphoneDerivation {
|
||||
pname = "msopenh264";
|
||||
|
||||
buildInputs = [
|
||||
mediastreamer2
|
||||
openh264
|
||||
];
|
||||
|
||||
# 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 lib/mediastreamer2/plugins/libmsopenh264.so $out/lib/mediastreamer/plugins/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "H.264 encoder/decoder plugin for mediastreamer2. Part of the Linphone project";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
-27
@@ -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
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
bctoolbox,
|
||||
lib,
|
||||
mkLinphoneDerivation,
|
||||
}:
|
||||
mkLinphoneDerivation {
|
||||
pname = "ortp";
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-truncation";
|
||||
|
||||
buildInputs = [ bctoolbox ];
|
||||
|
||||
meta = {
|
||||
description = "Real-Time Transport Protocol (RFC3550) stack. Part of the Linphone project";
|
||||
mainProgram = "ortp_tester";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
};
|
||||
}
|
||||
-74
@@ -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)
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
lib,
|
||||
blst,
|
||||
libusb1,
|
||||
stdenv,
|
||||
buildPackages,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
installShellFiles,
|
||||
makeWrapper,
|
||||
writableTmpDirAsHomeHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "avalanche-cli";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ava-labs";
|
||||
repo = "avalanche-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/HwZUsggBeuSZLYQDWUU4rfktnvwVolE5mKiZW4IXXs=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-JQEWEqseg5q0b8rPlO/19V1BLbWBdXldoWgUiqI9Qh4=";
|
||||
|
||||
# Fix error: 'Caught SIGILL in blst_cgo_init'
|
||||
# https://github.com/bnb-chain/bsc/issues/1521
|
||||
CGO_CFLAGS = "-O -D__BLST_PORTABLE__";
|
||||
CGO_CFLAGS_ALLOW = "-O -D__BLST_PORTABLE__";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-X=github.com/ava-labs/avalanche-cli/cmd.Version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
blst
|
||||
libusb1
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
patches = [ ./skip_min_version_check.patch ];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
exe =
|
||||
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
|
||||
"$out/bin/avalanche"
|
||||
else
|
||||
lib.getExe buildPackages.avalanche-cli;
|
||||
in
|
||||
''
|
||||
mv $out/bin/avalanche-cli $out/bin/avalanche
|
||||
wrapProgram $out/bin/avalanche --add-flags "--skip-update-check"
|
||||
|
||||
mkdir $HOME/.avalanche-cli
|
||||
echo "{ }" > $HOME/.avalanche-cli/config.json
|
||||
|
||||
installShellCompletion --cmd avalanche \
|
||||
--bash <(${exe} completion bash) \
|
||||
--fish <(${exe} completion fish) \
|
||||
--zsh <(${exe} completion zsh)
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgram = "${placeholder "out"}/bin/avalanche";
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Command line tool that gives developers access to everything Avalanche";
|
||||
homepage = "https://github.com/ava-labs/avalanche-cli";
|
||||
changelog = "https://github.com/ava-labs/avalanche-cli/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.unfreeRedistributable;
|
||||
maintainers = with lib.maintainers; [ iamanaws ];
|
||||
mainProgram = "avalanche";
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/cmd/root.go b/cmd/root.go
|
||||
index c47518dd..9ae886eb 100644
|
||||
--- a/cmd/root.go
|
||||
+++ b/cmd/root.go
|
||||
@@ -147,6 +147,9 @@ func createApp(cmd *cobra.Command, _ []string) error {
|
||||
return err
|
||||
}
|
||||
if err := version.CheckCLIVersionIsOverMin(app, app.GetVersion()); err != nil {
|
||||
+ if strings.Contains(cmd.CommandPath(), "completion") {
|
||||
+ return nil
|
||||
+ }
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -1,21 +1,22 @@
|
||||
{
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
buildNpmPackage,
|
||||
clang_20,
|
||||
fetchFromGitHub,
|
||||
libsecret,
|
||||
nodejs,
|
||||
pkg-config,
|
||||
python3,
|
||||
}:
|
||||
|
||||
buildNpmPackage rec {
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "azurite";
|
||||
version = "3.35.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Azure";
|
||||
repo = "Azurite";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-sVYiHQJ3nR5vM+oPAHzr/MjuNBMY14afqCHpw32WCiQ=";
|
||||
};
|
||||
|
||||
@@ -23,18 +24,21 @@ buildNpmPackage rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
nodejs.python
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ clang_20 ]; # clang_21 breaks @vscode/vsce's optional dependency keytar
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libsecret
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Open source Azure Storage API compatible server";
|
||||
description = "Lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies";
|
||||
homepage = "https://github.com/Azure/Azurite";
|
||||
changelog = "https://github.com/Azure/Azurite/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ danielalvsaaker ];
|
||||
mainProgram = "azurite";
|
||||
maintainers = with lib.maintainers; [
|
||||
danielalvsaaker
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -13,19 +13,19 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bumpp";
|
||||
version = "10.2.3";
|
||||
version = "10.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antfu-collective";
|
||||
repo = "bumpp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NVu8CpfW7YXTSOEZMhhF46tgh98lAL4LYVjzml4G3MQ=";
|
||||
hash = "sha256-krJzPHlGgtEukOlSX0sXfCwXmdItDLhf6hS+zamNrN4=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-GJEnZDPU4MNWUHM8YFB87F+JozV0fIsJSjShudV79XE=";
|
||||
hash = "sha256-N6boJiwq5G4L/vOqp+GoYWtSI1sYScYadxXueeJgGMo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -17,6 +17,13 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# Fix build with CMake 4: https://github.com/NixOS/nixpkgs/issues/449801
|
||||
# CMake 4 removed support for CMake < 3.5, so we set the minimum policy version
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.5")
|
||||
];
|
||||
|
||||
env = lib.optionalAttrs (stdenv.hostPlatform.libc == "glibc") {
|
||||
CFLAGS = "-D_DEFAULT_SOURCE";
|
||||
};
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cnspec";
|
||||
version = "12.2.1";
|
||||
version = "12.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mondoohq";
|
||||
repo = "cnspec";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-DmLA/JysdJT8/9Z6mmdAbZAkQZ1aAlzcvesdP5Qn1ik=";
|
||||
hash = "sha256-BzLQPkgvARDzpauFezD5Q7RNrReLz9lSHEb6TIGkGQY=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
vendorHash = "sha256-nqLHa6m8IeTg6Ac3vkRxyIRyO59WaN+Teaqm/qac53A=";
|
||||
vendorHash = "sha256-DaEEBZXLN6BujB56P1082D143WnUdwZPSc+JeUEZCuk=";
|
||||
|
||||
subPackages = [ "apps/cnspec" ];
|
||||
|
||||
|
||||
@@ -1,27 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
git,
|
||||
pkg-config,
|
||||
xcbuild,
|
||||
python3Packages,
|
||||
xcbuild,
|
||||
zlib,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "conan";
|
||||
version = "2.16.1";
|
||||
version = "2.21.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "conan-io";
|
||||
repo = "conan";
|
||||
tag = version;
|
||||
hash = "sha256-b+GVFy195wwQyWaiEMg1vVcWnkTB01IbQQsOHhQY6pY=";
|
||||
hash = "sha256-D76K7s6zUy3hMOwkKXbsF4asrr7tGwC28MW5VaJvFBY=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"distro"
|
||||
"urllib3"
|
||||
];
|
||||
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
|
||||
dependencies =
|
||||
@@ -49,11 +54,6 @@ python3Packages.buildPythonApplication rec {
|
||||
pyopenssl
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"urllib3"
|
||||
"distro"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
git
|
||||
pkg-config
|
||||
@@ -61,12 +61,12 @@ python3Packages.buildPythonApplication rec {
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin) [ xcbuild.xcrun ]
|
||||
++ (with python3Packages; [
|
||||
cmake
|
||||
mock
|
||||
parameterized
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
webtest
|
||||
cmake
|
||||
]);
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
@@ -82,8 +82,10 @@ python3Packages.buildPythonApplication rec {
|
||||
"test_shared_windows_find_libraries"
|
||||
# 'cmake' tool version 'Any' is not available
|
||||
"test_build"
|
||||
"test_conan_new_compiles"
|
||||
# 'cmake' tool version '3.27' is not available
|
||||
"test_metabuild"
|
||||
"test_new_template_and_different_folder"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Rejects paths containing nix
|
||||
@@ -115,15 +117,14 @@ python3Packages.buildPythonApplication rec {
|
||||
"test/functional/util/test_cmd_args_to_string.py"
|
||||
"test/performance/test_large_graph.py"
|
||||
"test/unittests/tools/env/test_env_files.py"
|
||||
"test/integration/ui/exit_with_code_test.py"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Decentralized and portable C/C++ package manager";
|
||||
mainProgram = "conan";
|
||||
homepage = "https://conan.io";
|
||||
changelog = "https://github.com/conan-io/conan/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ HaoZeke ];
|
||||
mainProgram = "conan";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "copilot-language-server";
|
||||
version = "1.377.0";
|
||||
version = "1.378.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip";
|
||||
hash = "sha256-IWahEODv+3MM+9udhgoziP8ptZHHc09sVuBHrFf8msA=";
|
||||
hash = "sha256-bue5z4bGv1m/OiCGX0VIEs4X8UNgKC1kOb7oouBDfcs=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,31 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
gettext,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dfc";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://projects.gw-computing.net/attachments/download/615/${pname}-${version}.tar.gz";
|
||||
sha256 = "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rolinh";
|
||||
repo = "dfc";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-k15q04dNWmHVeUabaCogkESQ+k63ZV7Xph2SMNpV/N8=";
|
||||
};
|
||||
|
||||
# Fix for CMake v4
|
||||
# ref. https://github.com/rolinh/dfc/pull/35
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt --replace-fail \
|
||||
"cmake_minimum_required(VERSION 2.8.4)" \
|
||||
"cmake_minimum_required(VERSION 3.10)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gettext
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://projects.gw-computing.net/projects/dfc";
|
||||
homepage = "https://github.com/rolinh/dfc";
|
||||
changelog = "https://github.com/rolinh/dfc/releases/tag/${finalAttrs.src.tag}";
|
||||
description = "Displays file system space usage using graphs and colors";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ qknight ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "dfc";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "firefly-iii-data-importer";
|
||||
version = "1.8.0";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firefly-iii";
|
||||
repo = "data-importer";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-MCHJ0rvFuUVdcmS0orrI/yvTBP4yZU467wSrUJT9asw=";
|
||||
hash = "sha256-Bi1LwKC2LFs1AzrZflaKFk6/DiPiSQn5pHHrh9QkqVw=";
|
||||
};
|
||||
|
||||
buildInputs = [ php84 ];
|
||||
@@ -38,12 +38,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
composerStrictValidation = true;
|
||||
strictDeps = true;
|
||||
|
||||
vendorHash = "sha256-FiSnAsqRCWfugbmXEirLBUT6jyjr3OtlewTyv4oUfPc=";
|
||||
vendorHash = "sha256-qSH1aA1FdN+LmtQcJdY0JWmpkF3txHojMfev+mFMBfk=";
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit (finalAttrs) src;
|
||||
name = "${finalAttrs.pname}-npm-deps";
|
||||
hash = "sha256-S5fGoXsbsV1aJsZuMV235GJiGrXgExJeZ2Q4K4/2D+g=";
|
||||
hash = "sha256-n7puQeAAmyDNkAHQK3xlQvm43W1IIyKu47fVR1a2YrA=";
|
||||
};
|
||||
|
||||
composerRepository = php84.mkComposerRepository {
|
||||
|
||||
+35
-28
@@ -1,34 +1,39 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
callPackage,
|
||||
autoreconfHook,
|
||||
bzip2,
|
||||
libtar,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
icu,
|
||||
languageMachines,
|
||||
icu60,
|
||||
ticcutils,
|
||||
timbl,
|
||||
mbt,
|
||||
libfolia,
|
||||
ucto,
|
||||
frogdata,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-frog.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "frog";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "frog-v${release.version}.tar.gz";
|
||||
version = "0.13.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "frog";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-khc2uZ/dOtWPTnt/ZD6ILxD386MaZt6fsvNTWTCbs+c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
@@ -36,28 +41,30 @@ stdenv.mkDerivation {
|
||||
libtool
|
||||
autoconf-archive
|
||||
libxml2
|
||||
icu
|
||||
languageMachines.ticcutils
|
||||
languageMachines.timbl
|
||||
languageMachines.mbt
|
||||
languageMachines.libfolia
|
||||
languageMachines.ucto
|
||||
languageMachines.frogdata
|
||||
icu60
|
||||
ticcutils
|
||||
timbl
|
||||
mbt
|
||||
libfolia
|
||||
ucto
|
||||
frogdata
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
sh bootstrap.sh
|
||||
'';
|
||||
postInstall = ''
|
||||
# frog expects the data files installed in the same prefix
|
||||
mkdir -p $out/share/frog/;
|
||||
for f in ${languageMachines.frogdata}/share/frog/*; do
|
||||
for f in ${frogdata}/share/frog/*; do
|
||||
ln -s $f $out/share/frog/;
|
||||
done;
|
||||
|
||||
make check
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests.simple = callPackage ./test.nix { frog = finalAttrs.finalPackage; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch";
|
||||
homepage = "https://languagemachines.github.io/frog";
|
||||
@@ -72,4 +79,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
{
|
||||
runCommand,
|
||||
languageMachines,
|
||||
frog,
|
||||
}:
|
||||
|
||||
runCommand "frog-test" { } ''
|
||||
${languageMachines.frog}/bin/frog >$out <<EOF
|
||||
${frog}/bin/frog >$out <<EOF
|
||||
Dit is een test
|
||||
|
||||
EOF
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
frog,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "frogdata";
|
||||
version = "0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "frogdata";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-f3rPjc8iYPVJsL6pez2WBw+rCxy6xm3DzOi8S+PDkvg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
libtool
|
||||
autoconf-archive
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Data for Frog, a Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch";
|
||||
homepage = "https://languagemachines.github.io/frog";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ roberth ];
|
||||
};
|
||||
|
||||
})
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "ghostfolio";
|
||||
version = "2.202.0";
|
||||
version = "2.206.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ghostfolio";
|
||||
repo = "ghostfolio";
|
||||
tag = version;
|
||||
hash = "sha256-VBIdNxdAzrlxbNl1p/yv/LUcJhqfD90oZjOsMPKOTDU=";
|
||||
hash = "sha256-tlaCm3Q6Z8/rjFf/ekp5cNlyH1IPCutH1Q9B0fQBzLU=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
@@ -27,7 +27,7 @@ buildNpmPackage rec {
|
||||
'';
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-JBes89JG9l+qsrT9g+Rwefe6X7fieQEor5sHpbCEK9Q=";
|
||||
npmDepsHash = "sha256-SbASljZ1Bk9bm4ev53qo+xfCz5mUeRn+GPl3pA9MXnA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
prisma
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
testers,
|
||||
runCommand,
|
||||
fetchurl,
|
||||
fetchpatch2,
|
||||
# Main build tools
|
||||
pkg-config,
|
||||
autoconf,
|
||||
@@ -86,14 +85,14 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.9.2";
|
||||
version = "1.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HandBrake";
|
||||
repo = "HandBrake";
|
||||
# uses version commit for logic in version.txt
|
||||
rev = "e117cfe7fca37abeec59ea4201e5d93ed7477746";
|
||||
hash = "sha256-cOEgFVvBgV0kYnTc7d1CdzoN7mMjd8rxSmc6i/dbRWI=";
|
||||
rev = "dddf75f756e56d2b8dbb0609175bc12047a4841d";
|
||||
hash = "sha256-CIMpJDJ0IIz95f3/zxeQqpCFpHWEmdgA+VaaUDY516A=";
|
||||
};
|
||||
|
||||
# Handbrake maintains a set of ffmpeg patches. In particular, these
|
||||
@@ -101,11 +100,11 @@ let
|
||||
# https://github.com/HandBrake/HandBrake/issues/4029
|
||||
# base ffmpeg version is specified in:
|
||||
# https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs
|
||||
ffmpeg-version = "7.1";
|
||||
ffmpeg-version = "7.1.1";
|
||||
ffmpeg-hb =
|
||||
(ffmpeg_7-full.override {
|
||||
version = ffmpeg-version;
|
||||
hash = "sha256-erTkv156VskhYEJWjpWFvHjmcr2hr6qgUi28Ho8NFYk=";
|
||||
hash = "sha256-GyS8imOqfOUPxXrzCiQtzCQIIH6bvWmQAB0fKUcRsW4=";
|
||||
}).overrideAttrs
|
||||
(old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
@@ -130,10 +129,17 @@ let
|
||||
"${src}/contrib/ffmpeg/A15-Expose-the-unmodified-Dolby-Vision-RPU-T35-buffers.patch"
|
||||
"${src}/contrib/ffmpeg/A16-avcodec-amfenc-Add-support-for-on-demand-key-frames.patch"
|
||||
"${src}/contrib/ffmpeg/A17-avcodec-amfenc-properly-set-primaries-transfer-and-m.patch"
|
||||
"${src}/contrib/ffmpeg/A18-Revert-avcodec-amfenc-GPU-driver-version-check.patch"
|
||||
"${src}/contrib/ffmpeg/A19-lavc-pgssubdec-Add-graphic-plane-and-cropping.patch"
|
||||
"${src}/contrib/ffmpeg/A18-libavcodec-qsvenc-update-has_b_frames-value.patch"
|
||||
"${src}/contrib/ffmpeg/A19-libavcodec-qsv-enable-av1-scc.patch"
|
||||
"${src}/contrib/ffmpeg/A20-Revert-avcodec-amfenc-GPU-driver-version-check.patch"
|
||||
"${src}/contrib/ffmpeg/A21-lavc-pgssubdec-Add-graphic-plane-and-cropping.patch"
|
||||
"${src}/contrib/ffmpeg/A22-avformat-mov-read-and-write-additional-iTunes-style-.patch"
|
||||
"${src}/contrib/ffmpeg/A23-avformat-movenc-write-iTunEXTC-and-iTunMOVI-metadata.patch"
|
||||
"${src}/contrib/ffmpeg/A24-AV1-videotoolbox.patch"
|
||||
"${src}/contrib/ffmpeg/A25-videotoolbox-speedup-decoding.patch"
|
||||
"${src}/contrib/ffmpeg/A28-enable-av1_mf-encoder.patch"
|
||||
"${src}/contrib/ffmpeg/A29-Revert-lavc-Check-codec_whitelist-early-in-avcodec_o.patch"
|
||||
"${src}/contrib/ffmpeg/A30-qsv-fixed-BT2020-BT709-conversion.patch"
|
||||
"${src}/contrib/ffmpeg/A31-Parse-EAC3-Atmos-ComplexityIndex-for-MP4-remuxing.patch"
|
||||
];
|
||||
});
|
||||
|
||||
@@ -150,12 +156,14 @@ let
|
||||
postPatch = (old.postPatch or "") + ''
|
||||
pushd ..
|
||||
patch -p1 < ${src}/contrib/x265/A01-Do-not-set-thread-priority-on-Windows.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A02-Apple-Silicon-tuning.patch
|
||||
patch -p1 < ${src}/contrib/x265/A03-fix-crash-when-SEI-length-is-variable.patch
|
||||
patch -p1 < ${src}/contrib/x265/A04-implement-ambient-viewing-environment-sei.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A05-Fix-Dolby-Vision-RPU-memory-management.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A06-Simplify-macOS-cross-compilation.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A07-add-new-matrix-coefficients-from-H.273-v3.patch
|
||||
patch -p1 < ${src}/contrib/x265/A02-Apple-Silicon-tuning.patch
|
||||
patch -p1 < ${src}/contrib/x265/A03-Implement-ambient-viewing-environment-sei.patch
|
||||
patch -p1 < ${src}/contrib/x265/A04-add-new-matrix-coefficients-from-H.273-v3.patch
|
||||
patch -p1 < ${src}/contrib/x265/A05-Fix-Dolby-Vision-RPU-memory-management.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A06-Update-version-strings.patch
|
||||
patch -p1 < ${src}/contrib/x265/A07-Fix-macOS-cross-compilation.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A08-Fix-inconsistent-bitrate-in-second-pass.patch
|
||||
patch -p1 < ${src}/contrib/x265/A09-Ensuring-the-mvdLX-is-compliant.patch
|
||||
popd
|
||||
'';
|
||||
});
|
||||
@@ -182,15 +190,6 @@ let
|
||||
pname = "handbrake";
|
||||
inherit version src;
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
# fixes build against ffmpeg 7.1.1+; remove for handbrake > 1.9.2.
|
||||
# https://github.com/HandBrake/HandBrake/pull/6657
|
||||
url = "https://github.com/HandBrake/HandBrake/commit/75f9c84c140c8841cfe1324ef59452025899ad8b.patch?full_index=1";
|
||||
hash = "sha256-glUyCttS2S/G+bSgIAB4nggECe0iEJIsUyr0RkAKEbE=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
install -Dm444 ${versionFile} ${versionFile.name}
|
||||
|
||||
|
||||
@@ -1,21 +1,35 @@
|
||||
{
|
||||
lib,
|
||||
alsa-lib,
|
||||
dbus,
|
||||
fetchFromGitHub,
|
||||
openssl,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hullcaster";
|
||||
version = "0.1.2";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gilcu3";
|
||||
repo = "hullcaster";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TaELX/xMxm7OTmVnvkgEmdhnVrIlxSNqlE73+I5qxCc=";
|
||||
hash = "sha256-BR3klwy6vm6nJ38sgS/PGPQ19n0GJq6eQE97lHmg+kQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-jso9ofchUjpsck0qJN3rfFVM1Y6C8APmhwNzapU7Mug=";
|
||||
cargoHash = "sha256-TZmRObtkwrHRy/I6hhacbHUWiajKDLnHafLWIwVM15o=";
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
dbus
|
||||
openssl
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
# work around error: Could not create filepath: /homeless-shelter/.local/share
|
||||
checkFlags = [
|
||||
|
||||
@@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
|
||||
cp -v ${./CMakeLists.txt} CMakeLists.txt
|
||||
'';
|
||||
|
||||
# Fixes the build with CMake 4
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
];
|
||||
|
||||
meta = {
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
|
||||
@@ -47,6 +47,11 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
enabledTestPaths = [ "tests/tests*" ];
|
||||
|
||||
disabledTests = [
|
||||
# Issue with later neo4j versions
|
||||
"test_create_db"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for pentesting Microsoft Active Directory";
|
||||
homepage = "https://github.com/helviojunior/knowsmore";
|
||||
|
||||
+31
-20
@@ -1,34 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
icu,
|
||||
icu60,
|
||||
bzip2,
|
||||
libtar,
|
||||
languageMachines,
|
||||
ticcutils,
|
||||
frog,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-libfolia.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libfolia";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "libfolia-${release.version}.tar.gz";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "libfolia";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-fH+XqTaMf7/8ZA0lwWiD7s7fmGkjni83Q7lv5sh50H4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
@@ -36,14 +36,25 @@ stdenv.mkDerivation {
|
||||
autoconf-archive
|
||||
libtar
|
||||
libxml2
|
||||
icu
|
||||
languageMachines.ticcutils
|
||||
icu60
|
||||
ticcutils
|
||||
];
|
||||
preConfigure = "sh bootstrap.sh";
|
||||
|
||||
# compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
|
||||
CXXFLAGS = [ "-DU_USING_ICU_NAMESPACE=1" ];
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++ API for FoLiA documents; an XML-based linguistic annotation format";
|
||||
mainProgram = "folialint";
|
||||
@@ -57,4 +68,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
@@ -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
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
pkg-config,
|
||||
libosmocore,
|
||||
libosmo-netif,
|
||||
ortp,
|
||||
bctoolbox,
|
||||
linphonePackages,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -35,8 +34,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
libosmocore
|
||||
libosmo-netif
|
||||
ortp
|
||||
bctoolbox
|
||||
linphonePackages.ortp
|
||||
linphonePackages.bctoolbox
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
cmake,
|
||||
qt6,
|
||||
}:
|
||||
@@ -22,6 +23,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
--replace-fail "Exec=/usr/bin/ll-installer" "Exec=$out/bin/ll-installer"
|
||||
'';
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
# https://github.com/OpenAtom-Linyaps/linyaps-web-store-installer/pull/24
|
||||
url = "https://github.com/OpenAtom-Linyaps/linyaps-web-store-installer/commit/fc365dd06b17df38d9ae991775e51c5f1b547341.patch?full_index=1";
|
||||
hash = "sha256-BpFM3w8njRANvxH34PyP3Y2hLtZWOl18KZxzA+Ew3Zg=";
|
||||
includes = [ "CMakeLists.txt" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
qt6.wrapQtAppsHook
|
||||
|
||||
+31
-21
@@ -1,33 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
bzip2,
|
||||
libtar,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
languageMachines,
|
||||
ticcutils,
|
||||
timbl,
|
||||
frog,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-mbt.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mbt";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "mbt-${release.version}.tar.gz";
|
||||
version = "3.2.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "mbt";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-O/LhLWgLwDctkRYjds+AM9fGMIRX3eCnJhRIXyVrJ04=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
@@ -35,13 +36,22 @@ stdenv.mkDerivation {
|
||||
libtool
|
||||
autoconf-archive
|
||||
libxml2
|
||||
languageMachines.ticcutils
|
||||
languageMachines.timbl
|
||||
ticcutils
|
||||
timbl
|
||||
];
|
||||
patches = [ ./mbt-add-libxml2-dep.patch ];
|
||||
preConfigure = ''
|
||||
sh bootstrap.sh
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Memory Based Tagger";
|
||||
@@ -57,4 +67,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
lib,
|
||||
callPackage,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
pandoc,
|
||||
rustPlatform,
|
||||
texliveSmall,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mdbook-pandoc";
|
||||
version = "0.10.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "max-heller";
|
||||
repo = "mdbook-pandoc";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ihKju9XXJy4JciuMLw4EcKhqSQjrBiUJDG0Rd5DbFdk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-SXXzGOBvfyLYhed5EMFUCzkFWoGEMM73PD3uWjkUcic=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pandoc
|
||||
# some tests require pdflatex
|
||||
texliveSmall
|
||||
];
|
||||
|
||||
checkFlags =
|
||||
let
|
||||
skippedTests = [
|
||||
# failing subtly
|
||||
"tests::html::rust_reference_regression_nested_elements"
|
||||
"tests::css::css"
|
||||
"tests::definition_lists::dt_attributes"
|
||||
"tests::html::attach_id_to_div_of_stripped_html_elements"
|
||||
"tests::html::link_to_element_by_id"
|
||||
"tests::images::images"
|
||||
]
|
||||
++ lib.optional stdenv.buildPlatform.isDarwin "pandoc::tests::five_item_deep_list";
|
||||
in
|
||||
builtins.map (x: "--skip " + x) skippedTests;
|
||||
|
||||
passthru = {
|
||||
wrapper = callPackage ./wrapper.nix { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/max-heller/mdbook-pandoc";
|
||||
description = "A mdbook backend powered by Pandoc";
|
||||
changelog = "https://github.com/max-heller/mdbook-pandoc/releases/tag/${src.tag}";
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
# or
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
astro
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
mdbook-pandoc,
|
||||
pandoc,
|
||||
symlinkJoin,
|
||||
}:
|
||||
|
||||
symlinkJoin {
|
||||
name = "mdbook-pandoc-wrapped-${mdbook-pandoc.version}";
|
||||
|
||||
paths = [
|
||||
mdbook-pandoc
|
||||
pandoc
|
||||
];
|
||||
}
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "mediawiki";
|
||||
version = "1.44.0";
|
||||
version = "1.44.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://releases.wikimedia.org/mediawiki/${lib.versions.majorMinor version}/mediawiki-${version}.tar.gz";
|
||||
hash = "sha256-eSF3gIw+CDGsy+IF1XtBMzma0UHw0KglRQohskAnWI8=";
|
||||
hash = "sha256-cMsjrJtGDsGZH6M4J6TbWPoIDmc36kIdQoHEkGWy3VA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mlt";
|
||||
version = "7.30.0";
|
||||
version = "7.32.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mltframework";
|
||||
repo = "mlt";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-z1bW+hcVeMeibC1PUS5XNpbkNB+75YLoOWZC2zuDol4=";
|
||||
hash = "sha256-8T5FXXGs7SxL6nD+R1Q/0Forsdp5Xux4S3VLvgqXzw8=";
|
||||
# The submodule contains glaxnimate code, since MLT uses internally some functions defined in glaxnimate.
|
||||
# Since glaxnimate is not available as a library upstream, we cannot remove for now this dependency on
|
||||
# submodules until upstream exports glaxnimate as a library: https://gitlab.com/mattbas/glaxnimate/-/issues/545
|
||||
|
||||
@@ -45,12 +45,13 @@ stdenv.mkDerivation rec {
|
||||
libepoxy
|
||||
];
|
||||
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = "-std=c++17"; # needed for latest gtest
|
||||
}
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isDarwin {
|
||||
NIX_LDFLAGS = "-framework OpenGL";
|
||||
};
|
||||
env =
|
||||
lib.optionalAttrs stdenv.cc.isGNU {
|
||||
NIX_CFLAGS_COMPILE = "-std=c++17"; # needed for latest gtest
|
||||
}
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isDarwin {
|
||||
NIX_LDFLAGS = "-framework OpenGL";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv,
|
||||
fetchurl,
|
||||
ilbc,
|
||||
mediastreamer,
|
||||
linphonePackages,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ilbc
|
||||
mediastreamer
|
||||
linphonePackages.mediastreamer2
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
"ILBC_LIBS=ilbc"
|
||||
"ILBC_CFLAGS=-I${ilbc}/include"
|
||||
"MEDIASTREAMER_LIBS=mediastreamer"
|
||||
"MEDIASTREAMER_CFLAGS=-I${mediastreamer}/include"
|
||||
"MEDIASTREAMER_CFLAGS=-I${linphonePackages.mediastreamer2}/include"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -647,54 +647,6 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
octolapse = buildPlugin rec {
|
||||
pname = "octolapse";
|
||||
version = "0.4.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FormerLurker";
|
||||
repo = "Octolapse";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QP6PkKWKUv4uIaYdqTAsZmK7DVes94Q9K/DrBYrWxzY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix version constraint
|
||||
# https://github.com/FormerLurker/Octolapse/pull/894
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FormerLurker/Octolapse/commit/0bd7db2430aef370f2665c6c7011fc3bb559122e.patch";
|
||||
hash = "sha256-z2aEq5sJGarGtIDbTRCvXdSj+kq8HIVvLRWpKutmJNY=";
|
||||
})
|
||||
];
|
||||
|
||||
# Test fails due to code executed on import, see #136513
|
||||
#pythonImportsCheck = [ "octoprint_octolapse" ];
|
||||
|
||||
propagatedBuildInputs = with super; [
|
||||
awesome-slugify
|
||||
setuptools
|
||||
pillow
|
||||
sarge
|
||||
six
|
||||
pillow
|
||||
psutil
|
||||
file-read-backwards
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Stabilized timelapses for Octoprint";
|
||||
homepage = "https://github.com/FormerLurker/OctoLapse";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [
|
||||
illustris
|
||||
j0hax
|
||||
];
|
||||
# requires pillow >=6.2.0,<7.0.0
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
|
||||
dashboard = buildPlugin rec {
|
||||
pname = "dashboard";
|
||||
version = "1.18.3";
|
||||
@@ -716,5 +668,6 @@ in
|
||||
};
|
||||
}
|
||||
// lib.optionalAttrs config.allowAliases {
|
||||
octolapse = throw "octoprint.python.pkgs.octolapse has been removed because it has been marked as broken since at least November 2024."; # Added 2025-09-29
|
||||
octoprint-dashboard = super.dashboard;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
swig,
|
||||
unzip,
|
||||
zlib,
|
||||
|
||||
scipopt-scip,
|
||||
withScip ? true,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -87,9 +90,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
|
||||
(lib.cmakeBool "FETCH_PYTHON_DEPS" false)
|
||||
(lib.cmakeBool "USE_GLPK" true)
|
||||
(lib.cmakeBool "USE_SCIP" false)
|
||||
(lib.cmakeBool "USE_SCIP" withScip)
|
||||
(lib.cmakeFeature "Python3_EXECUTABLE" "${python3.pythonOnBuildForHost.interpreter}")
|
||||
]
|
||||
++ lib.optionals withScip [
|
||||
# scip code parts require setting this unfortunately…
|
||||
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-Wno-error=format-security")
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
(lib.cmakeBool "CMAKE_MACOSX_RPATH" false)
|
||||
];
|
||||
@@ -137,7 +144,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
python3.pkgs.immutabledict
|
||||
python3.pkgs.numpy
|
||||
python3.pkgs.pandas
|
||||
]
|
||||
++ lib.optionals withScip [
|
||||
# Needed for downstream cmake consumers to not need to set SCIP_ROOT explicitly
|
||||
scipopt-scip
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
python3.pkgs.matplotlib
|
||||
python3.pkgs.pandas
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "pywal16";
|
||||
version = "3.8.9";
|
||||
version = "3.8.10";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eylles";
|
||||
repo = "pywal16";
|
||||
tag = version;
|
||||
hash = "sha256-43nKFTkIqaG9UzAjvNbZAog3NLMRKdtnZHxiiiBuD/4=";
|
||||
hash = "sha256-OSWv6Pxmd5U1xydL45dVT6m7gu4Rx6Yln3R4dTFZoVE=";
|
||||
};
|
||||
|
||||
build-system = [ python3.pkgs.setuptools ];
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From 7772c64ee2face1c1099c23ecbfd20ff663cffc3 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Klink <flokli@flokli.de>
|
||||
Date: Tue, 7 Oct 2025 16:19:31 +0300
|
||||
Subject: [PATCH] check: fix invalid ctest invocation
|
||||
|
||||
ctest doesn't like `-R "-default"`. CMake 4.0 fails with the following
|
||||
error message:
|
||||
|
||||
> CMake Error: Invalid value used with -R
|
||||
|
||||
`-R` normally specifies the regex that needs to match. If none is
|
||||
specified, all are selected:
|
||||
|
||||
https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-R
|
||||
|
||||
This maybe never worked, but got silently ignored until
|
||||
https://cmake.org/cmake/help/latest/policy/CMP0175.html
|
||||
|
||||
Removing that regex should only cause *more* tests to get selected, not
|
||||
less - and the build now succeeds with it.
|
||||
---
|
||||
check/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/check/CMakeLists.txt b/check/CMakeLists.txt
|
||||
index 0d667d5..c26b978 100644
|
||||
--- a/check/CMakeLists.txt
|
||||
+++ b/check/CMakeLists.txt
|
||||
@@ -4,7 +4,7 @@ include(CTest)
|
||||
# add a custom SCIP check target 'scip_check'
|
||||
#
|
||||
add_custom_target(scip_check
|
||||
- COMMAND ${CMAKE_CTEST_COMMAND} -R "-default" -E "applications" --output-on-failure
|
||||
+ COMMAND ${CMAKE_CTEST_COMMAND} -E "applications" --output-on-failure
|
||||
DEPENDS scip
|
||||
)
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
zlib,
|
||||
@@ -29,6 +28,11 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-Zc1AXNpHQXXFO8jkMaJj6xYkmkQxAM8G+SiPiH9xCAw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/scipopt/scip/pull/169
|
||||
./0001-check-fix-invalid-ctest-invocation.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
@@ -46,8 +50,6 @@ stdenv.mkDerivation rec {
|
||||
mpfr # if not included, throws fatal error: mpfr.h not found
|
||||
];
|
||||
|
||||
cmakeFlags = [ ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -3,26 +3,118 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
abseil-cpp,
|
||||
boost,
|
||||
cryptopp,
|
||||
fuse,
|
||||
libargon2,
|
||||
protobuf,
|
||||
sqlite,
|
||||
tclap,
|
||||
_experimental-update-script-combinators,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
fruit = stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fruit";
|
||||
version = "3.7.1-unstable-2025-05-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "fruit";
|
||||
rev = "19f5c05466565ef507a196b33de08f1c96dd0e58";
|
||||
hash = "sha256-amBwZ/9GmW8kf70lXP0iN2G1iflJLaf3crn/Ped7Zz8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ boost ];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
||||
(lib.cmakeBool "FRUIT_USES_BOOST" true)
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Dependency injection framework for C++";
|
||||
homepage = "https://github.com/google/fruit";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
});
|
||||
|
||||
uni-algo = stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "uni-algo";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uni-algo";
|
||||
repo = "uni-algo";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-IyQrL/DWDj87GplSGJC4iQJAzNURLh9TRko5l+EIfuU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = {
|
||||
description = "Unicode Algorithms Implementation for C/C++";
|
||||
homepage = "https://github.com/uni-algo/uni-algo";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
});
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "securefs";
|
||||
version = "0.13.1";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "netheril96";
|
||||
repo = "securefs";
|
||||
tag = version;
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-7xjGuN7jcLgfGkaBoSj+WsBpM806PPGzeBs7DnI+fwc=";
|
||||
hash = "sha256-ZY6FE8DCLip8p5eWqBtkVNxhGQp8zAVhkhM6kUsBZXo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ fuse ];
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
buildInputs = [
|
||||
abseil-cpp
|
||||
cryptopp
|
||||
fruit
|
||||
fuse
|
||||
libargon2
|
||||
protobuf
|
||||
uni-algo
|
||||
sqlite
|
||||
tclap
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "SECUREFS_ENABLE_INTEGRATION_TEST" false)
|
||||
(lib.cmakeBool "SECUREFS_ENABLE_UNIT_TEST" false)
|
||||
(lib.cmakeBool "SECUREFS_USE_VCPKG" false)
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit fruit uni-algo;
|
||||
updateScript = _experimental-update-script-combinators.sequence [
|
||||
(nix-update-script {
|
||||
attrPath = "securefs.fruit";
|
||||
extraArgs = [ "--version=branch" ];
|
||||
})
|
||||
(nix-update-script { attrPath = "securefs.uni-algo"; })
|
||||
(nix-update-script { })
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/netheril96/securefs";
|
||||
description = "Transparent encryption filesystem";
|
||||
longDescription = ''
|
||||
Securefs is a filesystem in userspace (FUSE) that transparently encrypts
|
||||
@@ -34,11 +126,11 @@ stdenv.mkDerivation rec {
|
||||
automatically updated to contain the encrypted and authenticated
|
||||
contents.
|
||||
'';
|
||||
license = with licenses; [
|
||||
license = with lib.licenses; [
|
||||
bsd2
|
||||
mit
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "securefs";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
frei0r,
|
||||
ladspaPlugins,
|
||||
gettext,
|
||||
mlt,
|
||||
jack1,
|
||||
pkg-config,
|
||||
fftw,
|
||||
qt6,
|
||||
qt6Packages,
|
||||
cmake,
|
||||
gitUpdater,
|
||||
ffmpeg,
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "shotcut";
|
||||
version = "25.01.25";
|
||||
version = "25.08.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mltframework";
|
||||
repo = "shotcut";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-YrnmhxD7Yf2LgdEaBU4mmRdvZdO6VQ6IAb4s+V9QvLM=";
|
||||
hash = "sha256-PpMfiqUwG11H+7sLkp3sLzDWjco1OxYqGyfMAFojSPU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
frei0r
|
||||
ladspaPlugins
|
||||
gettext
|
||||
mlt
|
||||
qt6Packages.mlt
|
||||
fftw
|
||||
qt6.qtbase
|
||||
qt6.qttools
|
||||
@@ -54,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
patches = [
|
||||
(replaceVars ./fix-mlt-ffmpeg-path.patch {
|
||||
inherit mlt ffmpeg;
|
||||
inherit ffmpeg;
|
||||
mlt = qt6Packages.mlt;
|
||||
})
|
||||
];
|
||||
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tbls";
|
||||
version = "1.88.0";
|
||||
version = "1.89.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "k1LoW";
|
||||
repo = "tbls";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-NrRsP/VVcyNbSP/kedDekQsOGtvxKap3CjpTz5dW1TU=";
|
||||
hash = "sha256-zgn1/GEfF4K23JqoI6OjqzmvutnAVhmmt0sEp+1b2DE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-yfUCzTaZdjv5qNl71xc2+M2u1hrydDiFgaklk4CKPG0=";
|
||||
vendorHash = "sha256-hupOff2cJ+UrJFgMyDu3XYvEjyE/XvvyqiQq408wJsw=";
|
||||
|
||||
excludedPackages = [ "scripts/jsonschema" ];
|
||||
|
||||
|
||||
+29
-16
@@ -1,34 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
libtool,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
zlib,
|
||||
bzip2,
|
||||
libtar,
|
||||
frog,
|
||||
timblserver,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-ticcutils.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ticcutils";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "ticcutils-${release.version}.tar.gz";
|
||||
version = "0.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "ticcutils";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-1+Plo2yZyDJWn/Yk4pawQGzwdx2UBfER9ZYAYLgYGh0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libtool
|
||||
autoconf-archive
|
||||
@@ -39,7 +41,18 @@ stdenv.mkDerivation {
|
||||
libtar
|
||||
# broken but optional: boost
|
||||
];
|
||||
preConfigure = "sh bootstrap.sh";
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog timblserver;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "This module contains useful functions for general use in the TiCC software stack and beyond";
|
||||
@@ -49,4 +62,4 @@ stdenv.mkDerivation {
|
||||
maintainers = with maintainers; [ roberth ];
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
+30
-18
@@ -1,33 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
bzip2,
|
||||
libtar,
|
||||
languageMachines,
|
||||
ticcutils,
|
||||
frog,
|
||||
timblserver,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-timbl.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "timbl";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "timbl-${release.version}.tar.gz";
|
||||
version = "6.4.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "timbl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6hg/NiA5c5txyB7xYSlxA2WzAyNTF6JpupLpmzfxOYg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
@@ -35,9 +36,20 @@ stdenv.mkDerivation {
|
||||
libtool
|
||||
autoconf-archive
|
||||
libxml2
|
||||
languageMachines.ticcutils
|
||||
ticcutils
|
||||
];
|
||||
preConfigure = "sh bootstrap.sh";
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog timblserver;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "TiMBL implements several memory-based learning algorithms";
|
||||
@@ -54,4 +66,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
+22
-19
@@ -1,33 +1,33 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
bzip2,
|
||||
libtar,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
languageMachines,
|
||||
ticcutils,
|
||||
timbl,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-timblserver.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "timblserver";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "timblserver-${release.version}.tar.gz";
|
||||
version = "1.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "timblserver";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-TE6fsgr/L5GcBjFKlU6S1DiT8OKP6i7TVirxj/OfhlM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
@@ -35,10 +35,13 @@ stdenv.mkDerivation {
|
||||
libtool
|
||||
autoconf-archive
|
||||
libxml2
|
||||
languageMachines.ticcutils
|
||||
languageMachines.timbl
|
||||
ticcutils
|
||||
timbl
|
||||
];
|
||||
preConfigure = "sh bootstrap.sh";
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "This server for TiMBL implements several memory-based learning algorithms";
|
||||
@@ -54,4 +57,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
@@ -4,8 +4,7 @@
|
||||
fetchurl,
|
||||
alsa-lib,
|
||||
libopus,
|
||||
ortp,
|
||||
bctoolbox,
|
||||
linphonePackages,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -26,8 +25,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libopus
|
||||
ortp
|
||||
bctoolbox
|
||||
linphonePackages.ortp
|
||||
linphonePackages.bctoolbox
|
||||
];
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
|
||||
+36
-23
@@ -1,58 +1,71 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
libxml2,
|
||||
icu,
|
||||
icu60,
|
||||
bzip2,
|
||||
libtar,
|
||||
languageMachines,
|
||||
ticcutils,
|
||||
libfolia,
|
||||
uctodata,
|
||||
frog,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-ucto.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ucto";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "ucto-${release.version}.tar.gz";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "ucto";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DFQ4ePE3n3zg0mrqUNHzE3Hi81n1IurYjhh6YVAghEE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
libtool
|
||||
autoconf-archive
|
||||
icu
|
||||
icu60
|
||||
libtar
|
||||
libxml2
|
||||
languageMachines.ticcutils
|
||||
languageMachines.libfolia
|
||||
languageMachines.uctodata
|
||||
ticcutils
|
||||
libfolia
|
||||
uctodata
|
||||
# TODO textcat from libreoffice? Pulls in X11 dependencies?
|
||||
];
|
||||
preConfigure = "sh bootstrap.sh;";
|
||||
|
||||
postInstall = ''
|
||||
# ucto expects the data files installed in the same prefix
|
||||
mkdir -p $out/share/ucto/;
|
||||
for f in ${languageMachines.uctodata}/share/ucto/*; do
|
||||
for f in ${uctodata}/share/ucto/*; do
|
||||
echo "Linking $f"
|
||||
ln -s $f $out/share/ucto/;
|
||||
done;
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Rule-based tokenizer for natural language";
|
||||
mainProgram = "ucto";
|
||||
@@ -68,4 +81,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
+28
-16
@@ -1,35 +1,47 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
automake,
|
||||
autoconf,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
autoreconfHook,
|
||||
libtool,
|
||||
pkg-config,
|
||||
autoconf-archive,
|
||||
frog,
|
||||
}:
|
||||
|
||||
let
|
||||
release = lib.importJSON ./release-info/LanguageMachines-uctodata.json;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "uctodata";
|
||||
version = release.version;
|
||||
src = fetchurl {
|
||||
inherit (release) url sha256;
|
||||
name = "uctodata-${release.version}.tar.gz";
|
||||
version = "0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LanguageMachines";
|
||||
repo = "uctodata";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4P9icZSm+DYGxGobSGzSExTv+ZQaLjkJ0gvOI27byRk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
automake
|
||||
autoconf
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libtool
|
||||
autoconf-archive
|
||||
];
|
||||
preConfigure = "sh bootstrap.sh";
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
tests = {
|
||||
/**
|
||||
Reverse dependencies. Does not respect overrides.
|
||||
*/
|
||||
reverseDependencies = lib.recurseIntoAttrs {
|
||||
inherit frog;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Rule-based tokenizer for natural language";
|
||||
@@ -45,4 +57,4 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
@@ -1,7 +1,7 @@
|
||||
rec {
|
||||
version = "0.17.2";
|
||||
version = "0.17.3";
|
||||
tag = version;
|
||||
hash = "sha256-Ceuow3BguxLoBQEX88cRZe8KGVnddIG3ojuJsm+4EJA=";
|
||||
cargoHash = "sha256-zD3Wi1SZbYaV+KlVB3EBPzFDafqP/jGjKuhhQoPb/P8=";
|
||||
hash = "sha256-TiJAj+wBVb8Z9pnoscF65tB7flbk/XWW+7XrHlvIHeo=";
|
||||
cargoHash = "sha256-smonKftOpGXy0WxI8Qqr0rTeI/pW6f+G4TxzoaEMsuc=";
|
||||
updateScript = ./update-stable.sh;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
rec {
|
||||
version = "0.17.2";
|
||||
version = "0.17.3";
|
||||
tag = version;
|
||||
hash = "sha256-Ceuow3BguxLoBQEX88cRZe8KGVnddIG3ojuJsm+4EJA=";
|
||||
cargoHash = "sha256-zD3Wi1SZbYaV+KlVB3EBPzFDafqP/jGjKuhhQoPb/P8=";
|
||||
hash = "sha256-TiJAj+wBVb8Z9pnoscF65tB7flbk/XWW+7XrHlvIHeo=";
|
||||
cargoHash = "sha256-smonKftOpGXy0WxI8Qqr0rTeI/pW6f+G4TxzoaEMsuc=";
|
||||
updateScript = ./update-unstable.sh;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"version": "5.5.0",
|
||||
"version": "5.6.0",
|
||||
"darwin-amd64": {
|
||||
"hash": "sha256-aLBaRBahtAcf9KArjrfuhPHNnUTko+kxhoaY5QeKB5E=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.5.0/upsun_5.5.0_darwin_all.tar.gz"
|
||||
"hash": "sha256-y9DQkHLvD6bUz0tfptdyN1qcsR34RWr7YxYB7NWKH9s=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.6.0/upsun_5.6.0_darwin_all.tar.gz"
|
||||
},
|
||||
"darwin-arm64": {
|
||||
"hash": "sha256-aLBaRBahtAcf9KArjrfuhPHNnUTko+kxhoaY5QeKB5E=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.5.0/upsun_5.5.0_darwin_all.tar.gz"
|
||||
"hash": "sha256-y9DQkHLvD6bUz0tfptdyN1qcsR34RWr7YxYB7NWKH9s=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.6.0/upsun_5.6.0_darwin_all.tar.gz"
|
||||
},
|
||||
"linux-amd64": {
|
||||
"hash": "sha256-RJuOddfXtT3yyphDSJ8sN8ibX30ALL9kRohGaw9jaeg=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.5.0/upsun_5.5.0_linux_amd64.tar.gz"
|
||||
"hash": "sha256-6cxwFnOULBVGIJJ1dQQn302NDooIytibay8OksfZT4g=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.6.0/upsun_5.6.0_linux_amd64.tar.gz"
|
||||
},
|
||||
"linux-arm64": {
|
||||
"hash": "sha256-GbfYckZ91ki1D8e50fF3HRJ6NtTXgqkZe2PrbODAfcw=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.5.0/upsun_5.5.0_linux_arm64.tar.gz"
|
||||
"hash": "sha256-RhJmC7rCY5VZOXUcQKHm98TxbMC/uej5YN5KlwHsm08=",
|
||||
"url": "https://github.com/platformsh/cli/releases/download/5.6.0/upsun_5.6.0_linux_arm64.tar.gz"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "VictoriaMetrics";
|
||||
version = "1.126.0";
|
||||
version = "1.127.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "VictoriaMetrics";
|
||||
repo = "VictoriaMetrics";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-QVeg/F7oPPgSRTi5jcfTj15bD/7fQoPopahpUP9b0UA=";
|
||||
hash = "sha256-j0PikCV0VWSfp2rvwssXwvkRGQzFNd6hidZv3bufUuI=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
@@ -53,7 +53,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
# Allow older go versions
|
||||
substituteInPlace go.mod \
|
||||
--replace-fail "go 1.25.0" "go ${finalAttrs.passthru.go.version}"
|
||||
--replace-fail "go 1.25.1" "go ${finalAttrs.passthru.go.version}"
|
||||
|
||||
# Increase timeouts in tests to prevent failure on heavily loaded builders
|
||||
substituteInPlace lib/storage/storage_test.go \
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
buildGo124Module rec {
|
||||
pname = "vuls";
|
||||
version = "0.35.0";
|
||||
version = "0.35.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "future-architect";
|
||||
repo = "vuls";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Vrfqn2hZiUyJX2bBw3skWfIxNgtWwFrmknE97gz91Q0=";
|
||||
hash = "sha256-bgeg5y1wFYDXr2M4yNNWbgKJhtdoUZJRPxpniAXCyRU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vhbHHhtDtwyrXZ/mSNKXwSSEzVZ2nCu/7Qs+LJEww5o=";
|
||||
vendorHash = "sha256-DUkF1iqofgO9o34owkvQRkV+e7fA0VmeUz1VOPMiZIs=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -1,30 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
vips,
|
||||
protobuf,
|
||||
glib,
|
||||
gobject-introspection,
|
||||
wrapGAppsHook4,
|
||||
gtk4,
|
||||
gtk4-layer-shell,
|
||||
gdk-pixbuf,
|
||||
graphene,
|
||||
cairo,
|
||||
pango,
|
||||
poppler,
|
||||
nix-update-script,
|
||||
libqalculate,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "walker";
|
||||
version = "0.13.26";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abenz1267";
|
||||
repo = "walker";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-LslpfHXj31Lvq+26ZDzCTaGBbxmp7yXlgKT+uwUEEts=";
|
||||
hash = "sha256-cSRd4ncUWjB59nRqY0X0eXioOIL7q7PwgOQggE54lTI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-N7lNxO/l3E1BlSSbSiQjrDPy2sWwk4G4JYlUArmMJxs=";
|
||||
subPackages = [ "cmd/walker.go" ];
|
||||
cargoHash = "sha256-Nm7KxZBvQOk4gOJCtMyMVASepJDrVmogHqv6Tc1r33Q=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -32,21 +36,26 @@ buildGoModule rec {
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
wrapGAppsHook4
|
||||
protobuf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk4
|
||||
vips
|
||||
gtk4-layer-shell
|
||||
libqalculate
|
||||
gdk-pixbuf
|
||||
graphene
|
||||
cairo
|
||||
pango
|
||||
poppler
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Wayland-native application runner";
|
||||
homepage = "https://github.com/abenz1267/walker";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ donovanglover ];
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ donovanglover ];
|
||||
mainProgram = "walker";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "yaookctl";
|
||||
version = "0-unstable-2025-08-25";
|
||||
version = "0-unstable-2025-09-25";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "yaook";
|
||||
repo = "yaookctl";
|
||||
rev = "205fab35f6680d15d86ef3596fe8a12590e3916c";
|
||||
hash = "sha256-V30581TeBtk/IvqBebsyT2lJ8bp8UkCH4AIy+mnnzCc=";
|
||||
rev = "255dc7db8d532937be5b49f326ffcb346507b1e7";
|
||||
hash = "sha256-Hf+vmH4FrSMlNhYWeImn7//7Lt9k3nJoHT9LJwma3Yw=";
|
||||
};
|
||||
|
||||
pyproject = true;
|
||||
|
||||
@@ -76,11 +76,6 @@ let
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
elixir_1_14 = lib'.callElixir ../interpreters/elixir/1.14.nix {
|
||||
inherit erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
# Remove old versions of elixir, when the supports fades out:
|
||||
# https://hexdocs.pm/elixir/compatibility-and-deprecations.html
|
||||
|
||||
@@ -90,8 +85,7 @@ let
|
||||
|
||||
elixir-ls = callPackage ./elixir-ls { inherit elixir; };
|
||||
|
||||
lfe = lfe_2_1;
|
||||
lfe_2_1 = lib'.callLFE ../interpreters/lfe/2.1.nix { inherit erlang buildRebar3 buildHex; };
|
||||
lfe = callPackage ../interpreters/lfe { inherit erlang buildRebar3 buildHex; };
|
||||
|
||||
livebook = callPackage ./livebook { };
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{ mkDerivation }:
|
||||
|
||||
mkDerivation {
|
||||
version = "1.14.5";
|
||||
sha256 = "sha256-bCCTjFT+FG1hz+0H6k/izbCmi0JgO3Kkqc3LWWCs5Po=";
|
||||
# https://hexdocs.pm/elixir/1.14.5/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
|
||||
minimumOTPVersion = "23";
|
||||
maximumOTPVersion = "26";
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{ mkDerivation }:
|
||||
mkDerivation {
|
||||
version = "1.19.0-rc.1";
|
||||
sha256 = "sha256-GqnIVktRWT7f73a1EolFbKi70fz0ncuyqh3gl/17Zh0=";
|
||||
version = "1.19.0-rc.2";
|
||||
sha256 = "sha256-RtJcnXjIqUw5h8Dsl8IPEaUVif4cHpUylmpmJCZ5EpM=";
|
||||
# https://hexdocs.pm/elixir/1.19.0-rc.1/compatibility-and-deprecations.html#between-elixir-and-erlang-otp
|
||||
minimumOTPVersion = "26";
|
||||
escriptPath = "lib/elixir/scripts/generate_app.escript";
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{ mkDerivation }:
|
||||
|
||||
mkDerivation {
|
||||
version = "2.1.4";
|
||||
hash = "sha256-mDavRI2it0SrSR0iBItm2MfjI+F/zCy38YSd2KpE0Hs=";
|
||||
maximumOTPVersion = "27";
|
||||
}
|
||||
+31
-53
@@ -1,43 +1,29 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
erlang,
|
||||
makeWrapper,
|
||||
coreutils,
|
||||
bash,
|
||||
buildRebar3,
|
||||
buildHex,
|
||||
}:
|
||||
|
||||
{
|
||||
baseName ? "lfe",
|
||||
version,
|
||||
maximumOTPVersion,
|
||||
sha256 ? "",
|
||||
hash ? "",
|
||||
rev ? version,
|
||||
src ? fetchFromGitHub {
|
||||
inherit hash rev sha256;
|
||||
owner = "lfe";
|
||||
repo = "lfe";
|
||||
},
|
||||
patches ? [ ],
|
||||
buildRebar3,
|
||||
config,
|
||||
coreutils,
|
||||
erlang,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
assertMsg
|
||||
makeBinPath
|
||||
optionalString
|
||||
getVersion
|
||||
versionAtLeast
|
||||
versionOlder
|
||||
versions
|
||||
;
|
||||
|
||||
mainVersion = versions.major (getVersion erlang);
|
||||
version = "2.2.0";
|
||||
hash = "sha256-47lEUVU9Api1Yj1q+Ch8aIV8kaALhst1ty8RHTwMVcI=";
|
||||
|
||||
maximumOTPVersion = "27";
|
||||
mainVersion = versions.major (getVersion erlang);
|
||||
maxAssert = versionAtLeast maximumOTPVersion mainVersion;
|
||||
|
||||
proper = buildHex {
|
||||
@@ -56,22 +42,27 @@ else
|
||||
LFE ${version} is supported on OTP <=${maximumOTPVersion}, not ${mainVersion}.
|
||||
'';
|
||||
buildRebar3 {
|
||||
name = baseName;
|
||||
name = "lfe";
|
||||
inherit version;
|
||||
|
||||
inherit src version;
|
||||
src = fetchFromGitHub {
|
||||
owner = "lfe";
|
||||
repo = "lfe";
|
||||
tag = "v${version}";
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fix-rebar-config.patch
|
||||
./dedup-ebins.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
erlang
|
||||
];
|
||||
|
||||
beamDeps = [ proper ];
|
||||
patches = [
|
||||
./fix-rebar-config.patch
|
||||
./dedup-ebins.patch
|
||||
]
|
||||
++ patches;
|
||||
doCheck = true;
|
||||
checkTarget = "travis";
|
||||
|
||||
makeFlags = [
|
||||
"-e"
|
||||
@@ -79,26 +70,12 @@ else
|
||||
"PREFIX=$$out"
|
||||
];
|
||||
|
||||
# These installPhase tricks are based on Elixir's Makefile.
|
||||
# TODO: Make, upload, and apply a patch.
|
||||
installPhase = optionalString (versionOlder version "1.3") ''
|
||||
local libdir=$out/lib/lfe
|
||||
local ebindir=$libdir/ebin
|
||||
local bindir=$libdir/bin
|
||||
# override buildRebar3's install to let the builder use make install
|
||||
installPhase = "";
|
||||
|
||||
rm -Rf $ebindir
|
||||
install -m755 -d $ebindir
|
||||
install -m644 _build/default/lib/lfe/ebin/* $ebindir
|
||||
doCheck = true;
|
||||
checkTarget = "travis";
|
||||
|
||||
install -m755 -d $bindir
|
||||
|
||||
for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done
|
||||
|
||||
install -m755 -d $out/bin
|
||||
for file in $bindir/*; do ln -sf $file $out/bin/; done
|
||||
'';
|
||||
|
||||
# Thanks again, Elixir.
|
||||
postFixup = ''
|
||||
# LFE binaries are shell scripts which run erl and lfe.
|
||||
# Add some stuff to PATH so the scripts can run without problems.
|
||||
@@ -124,7 +101,8 @@ else
|
||||
'';
|
||||
|
||||
homepage = "https://lfe.io";
|
||||
downloadPage = "https://github.com/rvirding/lfe/releases";
|
||||
downloadPage = "https://github.com/lfe/lfe/releases";
|
||||
changelog = "https://github.com/lfe/lfe/releases/tag/v${version}";
|
||||
|
||||
license = licenses.asl20;
|
||||
teams = [ teams.beam ];
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user