From 4e4b610d880524f2489d112754bf2544bed0efa9 Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Sun, 7 Jun 2026 06:28:27 +0100 Subject: [PATCH 1/2] terminusdb: fix baked-in sandbox paths in Prolog saved state --- pkgs/by-name/te/terminusdb/package.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkgs/by-name/te/terminusdb/package.nix b/pkgs/by-name/te/terminusdb/package.nix index 4884cfc2208d..c7b05acd2b40 100644 --- a/pkgs/by-name/te/terminusdb/package.nix +++ b/pkgs/by-name/te/terminusdb/package.nix @@ -100,6 +100,12 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace $cargoDepsCopy/*/tikv-jemalloc-sys-*/build.rs \ --replace-fail 'format!("{orig_makeflags} {makeflags}")' \ 'format!("{makeflags} {orig_makeflags}")' + + # Hardcode terminus_home to a Nix store path that will exist both + # at compile time (via the symlink in preBuild) and at runtime. + substituteInPlace src/load_paths.pl \ + --replace-fail "top_level_directory(TopDir)," \ + "TopDir = '$out/share/terminusdb'," ''; strictDeps = true; @@ -151,6 +157,11 @@ stdenv.mkDerivation (finalAttrs: { preBuild = '' export TERMINUSDB_GIT_HASH=$(cat $src/COMMIT) export TERMINUSDB_JWT_ENABLED=true + + # Point terminus_home at the build directory during compilation + # so the Rust dylib and Prolog sources are findable. + mkdir -p $out/share/terminusdb + ln --symbolic --force --no-target-directory $PWD/src $out/share/terminusdb/src ''; # Required for Prolog initialisation @@ -160,6 +171,10 @@ stdenv.mkDerivation (finalAttrs: { runHook preInstall installBin terminusdb installManPage $src/docs/terminusdb.1 + + # Replace with the Nix store source so schema files are findable + # at runtime (the build directory no longer exists). + ln --symbolic --force --no-target-directory $src/src $out/share/terminusdb/src runHook postInstall ''; From eca91bc4b32f1fd95a4bbffa8b09514d52f3d8dc Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Wed, 1 Jul 2026 13:24:33 +0100 Subject: [PATCH 2/2] terminusdb: 12.0.4 -> 12.0.6 --- pkgs/by-name/te/terminusdb/package.nix | 6 +++--- pkgs/by-name/te/terminusdb/tests.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/te/terminusdb/package.nix b/pkgs/by-name/te/terminusdb/package.nix index c7b05acd2b40..784269b521f8 100644 --- a/pkgs/by-name/te/terminusdb/package.nix +++ b/pkgs/by-name/te/terminusdb/package.nix @@ -71,13 +71,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "terminusdb"; - version = "12.0.4"; + version = "12.0.6"; src = fetchFromGitHub { owner = "terminusdb"; repo = "terminusdb"; tag = "v${finalAttrs.version}"; - hash = "sha256-vJifp0U4FrbtI86M8pt022BQWIIeK8jWWFG1Ch1m7IQ="; + hash = "sha256-TxLTPwESQ9pGrm/piWyyTwKlYtVogXRdQjnppvjX8F8="; leaveDotGit = true; postFetch = '' # Will be used for `TERMINUSDB_GIT_HASH` @@ -90,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: { cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src cargoRoot; - hash = "sha256-SvWS18amC4FHuXc/N6e+tomwnVfJ/KlTLIACfl72Nqc="; + hash = "sha256-WymXMJaUKz/IT2gDgQYagin1Sfg1akqCU+mkYUs40Ic="; }; postPatch = '' diff --git a/pkgs/by-name/te/terminusdb/tests.nix b/pkgs/by-name/te/terminusdb/tests.nix index be81bf37d78c..0398fec235ab 100644 --- a/pkgs/by-name/te/terminusdb/tests.nix +++ b/pkgs/by-name/te/terminusdb/tests.nix @@ -19,7 +19,7 @@ buildNpmPackage { sourceRoot = "${terminusdb.src.name}/tests"; - npmDepsHash = "sha256-R2kbwHhlja5mH2AGpyiiVCz3YmSWF9cWptOTdcZb0PM="; + npmDepsHash = "sha256-AkTKdkKTCWExd3U1fkoXoF9znbIGzVGtQl06wfIVOeM="; # Test-only JS adjustments live here so the runtime package stays untouched postPatch = ''