From 3d52f4bb4abcdebd21afda5698361f66938c36dd Mon Sep 17 00:00:00 2001 From: Tom van Dijk <18gatenmaker6@gmail.com> Date: Sat, 19 Jul 2025 01:04:29 +0200 Subject: [PATCH 1/3] jitsi-meet: 1.0.8043 -> 1.0.8792, from GitHub --- pkgs/by-name/ji/jitsi-meet/package.nix | 44 ++++++++++++++++++++------ pkgs/by-name/ji/jitsi-meet/update.sh | 14 ++++---- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/ji/jitsi-meet/package.nix b/pkgs/by-name/ji/jitsi-meet/package.nix index 90cad423959c..623e554f0370 100644 --- a/pkgs/by-name/ji/jitsi-meet/package.nix +++ b/pkgs/by-name/ji/jitsi-meet/package.nix @@ -1,26 +1,50 @@ { lib, stdenv, - fetchurl, nixosTests, + + fetchFromGitHub, + fetchNpmDeps, + npmHooks, + + libarchive, + nodejs, + olm, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "jitsi-meet"; - version = "1.0.8043"; + version = "1.0.8792"; - src = fetchurl { - url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2"; - sha256 = "XJlfCMQXnHjfHQhK916RXsdPzrU2U2IaOMiXIHL1sCI="; + src = fetchFromGitHub { + owner = "jitsi"; + repo = "jitsi-meet"; + tag = lib.last (lib.splitVersion finalAttrs.version); + hash = "sha256-K4Xrse1kpNqlUChbQnAjP5lRCRuDfJKiN/022tCmMVQ="; }; - dontBuild = true; + env = { + makeFlags = "source-package"; + makeCacheWritable = true; + npmDeps = fetchNpmDeps { + inherit (finalAttrs) src; + hash = "sha256-2NPfr3gskHz9zSGs//uzyCCuE+CZ295hhitDPlS9xuY="; + }; + }; + nativeBuildInputs = [ + libarchive + nodejs + npmHooks.npmConfigHook + ]; + + # yes, the only way in the build system is to generate a tarball and extract + # it immediately after installPhase = '' runHook preInstall - mkdir $out - mv * $out/ + mkdir -p $out + bsdtar -xf jitsi-meet.tar.bz2 -C $out --strip-components 1 runHook postInstall ''; @@ -43,4 +67,4 @@ stdenv.mkDerivation rec { platforms = platforms.all; inherit (olm.meta) knownVulnerabilities; }; -} +}) diff --git a/pkgs/by-name/ji/jitsi-meet/update.sh b/pkgs/by-name/ji/jitsi-meet/update.sh index 1ccf45fd1a4c..12fb08e99c02 100755 --- a/pkgs/by-name/ji/jitsi-meet/update.sh +++ b/pkgs/by-name/ji/jitsi-meet/update.sh @@ -1,12 +1,12 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl pup common-updater-scripts +#!nix-shell -i bash -p curl pup nix-update set -eu -o pipefail -version="$(curl https://download.jitsi.org/stable/ | \ - pup 'a[href] text{}' | \ - awk -F'[_-]' '/jitsi-meet-web_/ {printf $4"\n"}' | \ - sort -Vu | \ - tail -n 1)" +version="$(curl https://download.jitsi.org/jitsi-meet/src/ | + pup 'a[href] text{}' | + awk -F'-|.tar.bz2' '/jitsi-meet-/ {printf $3"\n"}' | + sort -Vu | + tail -n 1)" -update-source-version jitsi-meet "$version" +nix-update --version="$version" jitsi-meet From 5fa5ca491f6557a3df3a569dbe65498c8f8e298b Mon Sep 17 00:00:00 2001 From: Tom van Dijk <18gatenmaker6@gmail.com> Date: Sat, 19 Jul 2025 01:04:29 +0200 Subject: [PATCH 2/3] jitsi-meet: remove with lib --- pkgs/by-name/ji/jitsi-meet/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ji/jitsi-meet/package.nix b/pkgs/by-name/ji/jitsi-meet/package.nix index 623e554f0370..50425b233027 100644 --- a/pkgs/by-name/ji/jitsi-meet/package.nix +++ b/pkgs/by-name/ji/jitsi-meet/package.nix @@ -55,16 +55,16 @@ stdenv.mkDerivation (finalAttrs: { passthru.updateScript = ./update.sh; - meta = with lib; { + meta = { description = "Secure, Simple and Scalable Video Conferences"; longDescription = '' Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences. ''; homepage = "https://github.com/jitsi/jitsi-meet"; - license = licenses.asl20; - teams = [ teams.jitsi ]; - platforms = platforms.all; + license = lib.licenses.asl20; + teams = [ lib.teams.jitsi ]; + inherit (nodejs.meta) platforms; inherit (olm.meta) knownVulnerabilities; }; }) From f05f1abb5e0c2d3216011992a2ec0c72eefc95f2 Mon Sep 17 00:00:00 2001 From: Tom van Dijk <18gatenmaker6@gmail.com> Date: Sat, 19 Jul 2025 03:26:45 +0200 Subject: [PATCH 3/3] element-web-unwrapped: unbreak This indirectly marks element-desktop as insecure. This might not be desirable. I don't see a comment in jitsi-meet as to why it is vulnerable in the same way libolm is, so I don't have a way to verify if jitsi-meet actually is vulerable or not... --- pkgs/by-name/el/element-web-unwrapped/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/el/element-web-unwrapped/package.nix b/pkgs/by-name/el/element-web-unwrapped/package.nix index 1c842d2fe8ec..b8d6f9a5e80e 100644 --- a/pkgs/by-name/el/element-web-unwrapped/package.nix +++ b/pkgs/by-name/el/element-web-unwrapped/package.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation ( runHook preInstall cp -R webapp $out - tar --extract --to-stdout --file ${jitsi-meet.src} jitsi-meet/libs/external_api.min.js > $out/jitsi_external_api.min.js + cp ${jitsi-meet}/libs/external_api.min.js $out/jitsi_external_api.min.js echo "${finalAttrs.version}" > "$out/version" jq -s '.[0] * $conf' "config.sample.json" --argjson "conf" '${builtins.toJSON noPhoningHome}' > "$out/config.json"