lasuite-meet-frontend: 1.14.0 -> 1.15.0

This commit is contained in:
soyouzpanda
2026-05-09 11:22:40 +02:00
parent d496aa0c2a
commit 79ea26ed6a
5 changed files with 135 additions and 95 deletions
@@ -1,51 +0,0 @@
{
lib,
fetchFromGitHub,
fetchNpmDeps,
buildNpmPackage,
}:
buildNpmPackage rec {
pname = "lasuite-meet-frontend";
version = "1.14.0";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "meet";
tag = "v${version}";
hash = "sha256-baQVCnkEv5aUy4mKdiscPiiEvwYPfezF03i1HPX64oA=";
};
sourceRoot = "source/src/frontend";
npmDeps = fetchNpmDeps {
inherit version src;
sourceRoot = "source/src/frontend";
hash = "sha256-iXiadLaXFKmph6psIss0/5FjQkmjnDnQMxAmtrqJn+0=";
};
buildPhase = ''
runHook preBuild
npm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -r dist $out
runHook postInstall
'';
meta = {
description = "Open source alternative to Google Meet and Zoom powered by LiveKit: HD video calls, screen sharing, and chat features. Built with Django and React";
homepage = "https://github.com/suitenumerique/meet";
changelog = "https://github.com/suitenumerique/meet/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ soyouzpanda ];
platforms = lib.platforms.all;
};
}
@@ -0,0 +1,42 @@
{
src,
version,
meta,
fetchNpmDeps,
buildNpmPackage,
pkg-config,
libsecret,
}:
buildNpmPackage (finalAttrs: {
pname = "lasuite-meet-addon-outlook";
inherit src version;
sourceRoot = "${finalAttrs.src.name}/src/addons/outlook";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libsecret
];
npmDeps = fetchNpmDeps {
inherit (finalAttrs) version src sourceRoot;
hash = "sha256-ReYXXYFzqZl0HWAgLdlw25ZamZJ06Aez8g1Tv/Nt3cE=";
};
npmBuildScript = "build";
installPhase = ''
runHook preInstall
cp -r dist $out
cp manifest.xml $out
runHook postInstall
'';
meta = meta // {
description = "Microsoft Outlook add-in support for LaSuite Meet";
};
})
+31
View File
@@ -0,0 +1,31 @@
{
src,
version,
meta,
fetchNpmDeps,
buildNpmPackage,
}:
buildNpmPackage (finalAttrs: {
pname = "lasuite-meet-frontend";
inherit src version;
sourceRoot = "${finalAttrs.src.name}/src/frontend";
npmDeps = fetchNpmDeps {
inherit (finalAttrs) version src sourceRoot;
hash = "sha256-LDH8aR+FSiIFYMDaQ3wNYAzv6VpHtH5X+DMHGBhPkm0=";
};
npmBuildScript = "build";
installPhase = ''
runHook preInstall
cp -r dist $out
runHook postInstall
'';
meta = meta // {
description = "Open source alternative to Google Meet and Zoom powered by LiveKit: HD video calls, screen sharing, and chat features. Built with Django and React";
};
})
+40
View File
@@ -0,0 +1,40 @@
{
src,
version,
meta,
fetchNpmDeps,
buildNpmPackage,
}:
buildNpmPackage (finalAttrs: {
pname = "lasuite-meet-mail";
inherit src version;
sourceRoot = "${finalAttrs.src.name}/src/mail";
# TODO: Remove package-lock.json patch when
# https://github.com/suitenumerique/meet/pull/1321 is merged.
postPatch = ''
substituteInPlace bin/html-to-plain-text bin/mjml-to-html \
--replace-fail \
'../backend/core/templates/mail' \
'${placeholder "out"}'
cp ${./package-lock.json} package-lock.json
'';
npmDeps = fetchNpmDeps {
pname = "${finalAttrs.pname}-npm-deps";
inherit version src;
inherit (finalAttrs) sourceRoot;
hash = "sha256-jjLzgGqCsMu6Smyfaam6coqOM9UW2zG88adSPVrWPEE=";
postPatch = "cp ${./package-lock.json} package-lock.json";
};
npmBuildScript = "build";
dontInstall = true;
meta = meta // {
description = "HTML mail templates for LaSuite Meet";
};
})
+22 -44
View File
@@ -1,15 +1,14 @@
{
callPackage,
lib,
fetchFromGitHub,
fetchNpmDeps,
nixosTests,
python3,
stdenv,
nodejs,
npmHooks,
}:
let
version = "1.15.0";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "meet";
@@ -17,39 +16,17 @@ let
hash = "sha256-18DcrrEvqWR6caEVZYxQlSnKcxItEpNE+bMhtS4Aa0M=";
};
mail-templates = stdenv.mkDerivation (finalAttrs: {
name = "lasuite-meet-${version}-mjml";
inherit src;
meta = {
homepage = "https://github.com/suitenumerique/meet";
changelog = "https://github.com/suitenumerique/meet/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ soyouzpanda ];
platforms = lib.platforms.all;
};
sourceRoot = "${finalAttrs.src.name}/src/mail";
postPatch = ''
substituteInPlace bin/html-to-plain-text bin/mjml-to-html \
--replace-fail \
'../backend/core/templates/mail' \
'${placeholder "out"}'
cp ${./package-lock.json} package-lock.json
'';
npmDeps = fetchNpmDeps {
name = "${finalAttrs.name}-npm-deps";
inherit version src;
inherit (finalAttrs) sourceRoot;
hash = "sha256-jjLzgGqCsMu6Smyfaam6coqOM9UW2zG88adSPVrWPEE=";
postPatch = "cp ${./package-lock.json} package-lock.json";
};
npmBuildScript = "build";
nativeBuildInputs = [
nodejs
npmHooks.npmBuildHook
npmHooks.npmConfigHook
];
dontInstall = true;
});
mail = callPackage ./mail.nix { inherit src version meta; };
frontend = callPackage ./frontend.nix { inherit src version meta; };
outlook = callPackage ./addon-outlook.nix { inherit src version meta; };
python = python3.override {
self = python3;
@@ -159,20 +136,21 @@ python.pkgs.buildPythonApplication (finalAttrs: {
--prefix PYTHONPATH : "${pythonPath}:$out/${python.sitePackages}"
mkdir -p $out/${python.sitePackages}/core/templates
ln -sv ${mail-templates}/ $out/${python.sitePackages}/core/templates/mail
ln -sv ${finalAttrs.passthru.mail}/ $out/${python.sitePackages}/core/templates/mail
'';
passthru.tests = {
login-and-create-room = nixosTests.lasuite-meet;
passthru = {
inherit mail frontend;
addons = {
inherit outlook;
};
tests = {
login-and-create-room = nixosTests.lasuite-meet;
};
};
meta = {
meta = meta // {
description = "Open source alternative to Google Meet and Zoom powered by LiveKit: HD video calls, screen sharing, and chat features. Built with Django and React";
homepage = "https://github.com/suitenumerique/meet";
changelog = "https://github.com/suitenumerique/meet/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ soyouzpanda ];
mainProgram = "meet";
platforms = lib.platforms.all;
};
})