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
This commit is contained in:
Winter
2023-06-03 16:55:39 -04:00
parent c99d4fc4d0
commit a1cfd90e10
@@ -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;