Update dependencies

This commit is contained in:
Charlotte Van Petegem 2022-01-10 14:11:33 +01:00
parent 4b58fc190a
commit dba33a21f7
No known key found for this signature in database
GPG key ID: 019E764B7184435A
2 changed files with 6 additions and 113 deletions

12
flake.lock generated
View file

@ -42,11 +42,11 @@
}, },
"emacs-overlay": { "emacs-overlay": {
"locked": { "locked": {
"lastModified": 1641786258, "lastModified": 1641810687,
"narHash": "sha256-jjlpeDe6T5ZxZu6nfB40TiZmYhA9sFLoqTe/qdWSpxE=", "narHash": "sha256-+ToGeUXg+AAoRK+VsklbEc/ddkqasVDgn/FiXWIyv50=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "f798012d75cdddf50a374fd57ed2aea397d23e02", "rev": "e09be5b38c8d4c7edcbc94e273b6a6427b2d8f68",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -92,11 +92,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1641528457, "lastModified": 1641710811,
"narHash": "sha256-FyU9E63n1W7Ql4pMnhW2/rO9OftWZ37pLppn/c1aisY=", "narHash": "sha256-yVJ+CtwWZY8BnkNIJ/ue5a28yrRM6CkDF1LvmGmqqwM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ff377a78794d412a35245e05428c8f95fef3951f", "rev": "0ecf7d414811f831060cf55707c374d54fbb1dec",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,107 +0,0 @@
From c66c1afaadf7714e18abef4ffeb12f3905bf3809 Mon Sep 17 00:00:00 2001
From: Christian Kampka <christian@kampka.net>
Date: Wed, 29 Dec 2021 19:07:31 +0100
Subject: [PATCH 1/2] matrix-appservice-slack: Slim down dependencies
Due to the setup of the node env and npm packages in general,
the resulting nix derivations contain a lot of unwanted dependencies.
In the the case of matrix-appservice-slack, this includes a fully
functional gcc which is required to build native bindings but is
unnecessary at runtime, as well as a full nodejs toolchain,
including tooling like npm and the like.
Switching to nodejs-slim and patching over node paths, in addition with
stripping debug symbols from native bindings, mitigates this a lot,
resulting in a massively reduced closure.
---
.../matrix-appservice-slack/default.nix | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
index eb3d82e14d0b4..1ea8088967c80 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, nodejs, stdenv, fetchFromGitHub, lib, ... }:
+{ pkgs, nodejs, nodejs-slim, stdenv, fetchFromGitHub, lib, ... }:
let
src = fetchFromGitHub {
owner = "matrix-org";
@@ -8,8 +8,9 @@ let
};
nodePackages = import ./node-composition.nix {
- inherit pkgs nodejs;
+ inherit pkgs;
inherit (stdenv.hostPlatform) system;
+ nodejs = nodejs-slim;
};
in
nodePackages.package.override {
@@ -17,10 +18,19 @@ nodePackages.package.override {
inherit src;
- nativeBuildInputs = [ pkgs.makeWrapper ];
+ nativeBuildInputs = [ pkgs.makeWrapper nodejs ];
+
+ dontStrip = false;
postInstall = ''
- makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-slack" \
+ # replace nodejs with nodejs-slim in node_modules
+ NODE=$(basename ${nodejs})
+ NODE_SLIM=$(basename ${nodejs-slim})
+ while read file; do
+ substituteInPlace $file --replace "$NODE" "$NODE_SLIM"
+ done < <(grep -l -R "$NODE" $out/lib )
+
+ makeWrapper '${nodejs-slim}/bin/node' "$out/bin/matrix-appservice-slack" \
--add-flags "$out/lib/node_modules/matrix-appservice-slack/lib/app.js"
'';
From 2b91dfd19b838005c8b6af71cfc7509d40d5d319 Mon Sep 17 00:00:00 2001
From: Christian Kampka <christian@kampka.net>
Date: Wed, 29 Dec 2021 19:26:42 +0100
Subject: [PATCH 2/2] matrix-appservice-slack: Add simple test
---
.../matrix-appservice-slack/default.nix | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
index 1ea8088967c80..bd4de337b1226 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, nodejs, nodejs-slim, stdenv, fetchFromGitHub, lib, ... }:
+{ pkgs, nodejs, nodejs-slim, stdenv, fetchFromGitHub, lib, runCommand, matrix-appservice-slack }:
let
src = fetchFromGitHub {
owner = "matrix-org";
@@ -12,9 +12,9 @@ let
inherit (stdenv.hostPlatform) system;
nodejs = nodejs-slim;
};
+ pname = "matrix-appservice-slack";
in
nodePackages.package.override {
- pname = "matrix-appservice-slack";
inherit src;
@@ -34,6 +34,13 @@ nodePackages.package.override {
--add-flags "$out/lib/node_modules/matrix-appservice-slack/lib/app.js"
'';
+ passthru.tests = {
+ simple = runCommand "${pname}-test" {} ''
+ ${matrix-appservice-slack}/bin/matrix-appservice-slack --help > $out
+ [ -s $out ]
+ '';
+ };
+
meta = with lib; {
description = "A Matrix <--> Slack bridge";
maintainers = with maintainers; [ beardhatcode ];