diff --git a/pkgs/by-name/op/openscad-unstable/package.nix b/pkgs/by-name/op/openscad-unstable/package.nix index 7f64438b8078..0184ab5753c6 100644 --- a/pkgs/by-name/op/openscad-unstable/package.nix +++ b/pkgs/by-name/op/openscad-unstable/package.nix @@ -44,33 +44,29 @@ ctestCheckHook, }: # clang consume much less RAM than GCC -clangStdenv.mkDerivation rec { - pname = "openscad-unstable"; - version = "2025-06-04"; - src = fetchFromGitHub { - owner = "openscad"; - repo = "openscad"; - rev = "65856c9330f8cc4ffcaccf03d91b4217f2eae28d"; - hash = "sha256-jozcLFGVSfw8G12oSxHjqUyFtAfENgIByID+omk08mU="; - fetchSubmodules = true; # Only really need sanitizers-cmake and MCAD and manifold - }; - - patches = [ ./test.diff ]; - - # fix use of our lib3mf cmake export instead of finder - postPatch = '' - substituteInPlace CMakeLists.txt --replace-fail \ - "Lib3MF" \ - "lib3mf" - ''; - - nativeBuildInputs = [ - (python3.withPackages ( +let + python3withPackages = ( + python3.withPackages ( ps: with ps; [ numpy pillow ] - )) + ) + ); +in +clangStdenv.mkDerivation rec { + pname = "openscad-unstable"; + version = "2021.01-unstable-2025-10-27"; + src = fetchFromGitHub { + owner = "openscad"; + repo = "openscad"; + rev = "aa785fe4ab3d52450a5e51eb73585ac9bbcc8798"; + hash = "sha256-TngfItArYtm8243DdYkQlkfc/MBTZGYrf08hfloWRWk="; + fetchSubmodules = true; # Only really need sanitizers-cmake and MCAD and manifold + }; + + nativeBuildInputs = [ + python3withPackages bison cmake flex @@ -134,6 +130,10 @@ clangStdenv.mkDerivation rec { # The sources enable this for only apple. We turn it off globally anyway to stay # consistent. "-DUSE_QT6=OFF" + + # For tests + "-DVENV_DIR=${python3withPackages}" + "-DVENV_BIN_PATH=${python3withPackages}/bin" ]; # tests rely on sysprof which is not available on darwin @@ -147,6 +147,12 @@ clangStdenv.mkDerivation rec { done ) ''; + postPatch = '' + # Take Python3 executable as passed + sed -e '/set(VENV_DIR /d' -i tests/cmake/ImageCompare.cmake + sed -e '/find_path(VENV_BIN_PATH /d' -i tests/cmake/ImageCompare.cmake + ''; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications mv $out/bin/*.app $out/Applications diff --git a/pkgs/by-name/op/openscad-unstable/test.diff b/pkgs/by-name/op/openscad-unstable/test.diff deleted file mode 100644 index 23b3983daddd..000000000000 --- a/pkgs/by-name/op/openscad-unstable/test.diff +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 5c1b40af4..917451dee 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -59,13 +59,14 @@ if(USE_IMAGE_COMPARE_PY) - - # Since msys2 on Windows prefers bin/ over Scripts, we need to look for the actual folder to determine - # how to utilize the venv -- find_path(VENV_BIN_PATH activate PATHS "${VENV_DIR}/bin" "${VENV_DIR}/Scripts" NO_DEFAULT_PATH NO_CACHE) -- if(WIN32) -- set(IMAGE_COMPARE_EXE "${VENV_BIN_PATH}/python.exe") -- else() -- set(IMAGE_COMPARE_EXE "${VENV_BIN_PATH}/python") -- endif() -- if(EXISTS "${IMAGE_COMPARE_EXE}") -+ # find_path(VENV_BIN_PATH activate PATHS "${VENV_DIR}/bin" "${VENV_DIR}/Scripts" NO_DEFAULT_PATH NO_CACHE) -+ # if(WIN32) -+ # set(IMAGE_COMPARE_EXE "${VENV_BIN_PATH}/python.exe") -+ # else() -+ # set(IMAGE_COMPARE_EXE "${VENV_BIN_PATH}/python") -+ # endif() -+ set(IMAGE_COMPARE_EXE "python3") -+ # if(EXISTS "${IMAGE_COMPARE_EXE}") - message(STATUS "venv found, testing libraries") - execute_process( - COMMAND "${IMAGE_COMPARE_EXE}" "${CCSD}/image_compare.py" "--status" -@@ -77,10 +78,10 @@ if(USE_IMAGE_COMPARE_PY) - message(STATUS "venv libraries complete") - set(BUILD_VENV FALSE) - endif() -- else() -- message(STATUS "venv not found") -- set(BUILD_VENV TRUE) -- endif() -+ # else() -+ # message(STATUS "venv not found") -+ # set(BUILD_VENV TRUE) -+ # endif() - if(BUILD_VENV) - message(STATUS "Setting up testing venv for image comparison") - execute_process( -