From d8a0a9ca4d532359f04d1dff7565ed8122d1b052 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Sat, 7 Feb 2026 12:42:46 -0600 Subject: [PATCH] fix: Use dynamic path for release directory in postInstall Instead of hardcoding the version in the path, find the release directory dynamically. This fixes the 'undefined variable version' error during Docker image build. --- nix/build.nix | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/nix/build.nix b/nix/build.nix index 09dbe12f..1a115f7d 100644 --- a/nix/build.nix +++ b/nix/build.nix @@ -79,15 +79,20 @@ beamPackages.mixRelease { # Install MIB files to the release postInstall = '' - # Copy MIB files directory - if [ -d "$src/priv/mibs" ]; then - mkdir -p $out/lib/towerops-${version}/priv/mibs - cp -r $src/priv/mibs/* $out/lib/towerops-${version}/priv/mibs/ - fi + # Find the release directory (mixRelease creates lib/-) + RELEASE_DIR=$(find $out/lib -maxdepth 1 -type d -name "towerops-*" | head -1) - # Ensure NIF is in the release - mkdir -p $out/lib/towerops-${version}/priv - cp ${towerops-nif}/lib/towerops_nif.so $out/lib/towerops-${version}/priv/ + if [ -n "$RELEASE_DIR" ]; then + # Copy MIB files directory + if [ -d "$src/priv/mibs" ]; then + mkdir -p $RELEASE_DIR/priv/mibs + cp -r $src/priv/mibs/* $RELEASE_DIR/priv/mibs/ + fi + + # Ensure NIF is in the release + mkdir -p $RELEASE_DIR/priv + cp ${towerops-nif}/lib/towerops_nif.so $RELEASE_DIR/priv/ + fi ''; meta = {