about summary refs log tree commit diff
path: root/pkgs/applications/networking/irc
diff options
context:
space:
mode:
authorWinter <winter@winter.cafe>2023-05-29 11:32:51 -0400
committerWinter <winter@winter.cafe>2023-06-03 16:55:39 -0400
commita1cfd90e10d129d093aa5917326718d43d0a3661 (patch)
tree85ee42ebdee9137af18e392d4ca2af3e69de8a19 /pkgs/applications/networking/irc
parentc99d4fc4d0bc5343cf7b7e6b94261082e6aefff3 (diff)
thelounge: fix sqlite logging
Previously, we never actually built the SQLite binding, causing The Lounge
to bail when attempting to load SQLite logs [0]. It wasn't caught before
because it wasn't thrown fatally, for whatever reason. Perhaps we should
fix this in the future with a patch and/or more robust tests, but for now,
let's just fix the issue.

[0]: https://github.com/NixOS/nixpkgs/pull/233511#issuecomment-1567182450
Diffstat (limited to 'pkgs/applications/networking/irc')
-rw-r--r--pkgs/applications/networking/irc/thelounge/default.nix16
1 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/applications/networking/irc/thelounge/default.nix b/pkgs/applications/networking/irc/thelounge/default.nix
index 2760a73352b56..0ccca903f1793 100644
--- a/pkgs/applications/networking/irc/thelounge/default.nix
+++ b/pkgs/applications/networking/irc/thelounge/default.nix
@@ -5,7 +5,12 @@
 , nodejs
 , yarn
 , fixup_yarn_lock
+, python3
 , npmHooks
+, darwin
+, sqlite
+, srcOnly
+, buildPackages
 , nixosTests
 }:
 
@@ -33,7 +38,8 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-OKLsNGl94EDyLgP2X2tiwihgRQFXGvf5XgXwgX+JEpk=";
   };
 
-  nativeBuildInputs = [ nodejs yarn fixup_yarn_lock npmHooks.npmInstallHook ];
+  nativeBuildInputs = [ nodejs yarn fixup_yarn_lock python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools;
+  buildInputs = [ sqlite ];
 
   configurePhase = ''
     runHook preConfigure
@@ -58,8 +64,14 @@ stdenv.mkDerivation (finalAttrs: {
 
   # `npm prune` doesn't work and/or hangs for whatever reason.
   preInstall = ''
-    rm -rf node_modules
     yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive --production
+    patchShebangs node_modules
+
+    # Build the sqlite3 package.
+    npm_config_nodedir="${srcOnly nodejs}" npm_config_node_gyp="${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" npm rebuild --verbose --sqlite=${sqlite.dev}
+
+    # These files seemingly aren't needed, and also might not exist when the Darwin sandbox is disabled?
+    rm -rf node_modules/sqlite3/build-tmp-napi-v6/{Release/obj.target,node_sqlite3.target.mk}
   '';
 
   dontNpmPrune = true;