Loading pkgs/by-name/fr/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch +27 −30 Original line number Diff line number Diff line From c4f452ef6ae083ed21095313582f6d1bd775cbf3 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold <andreas@rammhold.de> Date: Thu, 2 Nov 2023 17:32:07 +0100 Subject: [PATCH] NIXOS: don't ignore PYTHONPATH commit c534a831c2f7186ebabe4e17f1e1df6d11ebff89 Author: Samuel Rounce <me@samuelrounce.co.uk> Date: Thu Sep 5 22:17:21 2024 +0100 [PATCH] NIXOS: don't ignore PYTHONPATH On NixOS or rather within nixpkgs we provide the runtime Python packages via the PYTHONPATH environment variable. FreeCAD tries its Loading @@ -16,29 +17,27 @@ shouldn't accept this patch (as is). What they might accept (once support for older Python versions has been dropped) is removing the PYTHONPATH specific putenv calls. --- src/Base/Interpreter.cpp | 2 +- src/Base/Interpreter.cpp | 1 + src/Main/MainGui.cpp | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Base/Interpreter.cpp b/src/Base/Interpreter.cpp index 52c47168af..9966bd0013 100644 index 2bdc54ccff..ee4f7fc070 100644 --- a/src/Base/Interpreter.cpp +++ b/src/Base/Interpreter.cpp @@ -554,7 +554,9 @@ void initInterpreter(int argc,char *argv[]) { PyStatus status; @@ -593,6 +593,7 @@ void initInterpreter(int argc, char* argv[]) PyConfig config; PyConfig_InitIsolatedConfig(&config); + config.isolated = 0; config.isolated = 0; + config.use_environment = 1; config.user_site_directory = 1; status = PyConfig_SetBytesArgv(&config, argc, argv); if (PyStatus_Exception(status)) { diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp index 48ae847ef4..28813df383 100644 index 36087cffd6..89d49d2cc6 100644 --- a/src/Main/MainGui.cpp +++ b/src/Main/MainGui.cpp @@ -112,17 +112,14 @@ int main( int argc, char ** argv ) @@ -114,10 +114,8 @@ int main(int argc, char** argv) // See https://forum.freecad.org/viewtopic.php?f=18&t=20600 // See Gui::Application::runApplication() putenv("LC_NUMERIC=C"); Loading @@ -49,13 +48,11 @@ index 48ae847ef4..28813df383 100644 #elif defined(__MINGW32__) const char* mingw_prefix = getenv("MINGW_PREFIX"); const char* py_home = getenv("PYTHONHOME"); if (!py_home && mingw_prefix) @@ -125,7 +123,6 @@ int main(int argc, char** argv) _putenv_s("PYTHONHOME", mingw_prefix); } #else - _putenv("PYTHONPATH="); // https://forum.freecad.org/viewtopic.php?f=4&t=18288 // https://forum.freecad.org/viewtopic.php?f=3&t=20515 const char* fc_py_home = getenv("FC_PYTHONHOME"); -- 2.42.0 pkgs/by-name/fr/freecad/0002-FreeCad-OndselSolver-pkgconfig.patch 0 → 100644 +7 −0 Original line number Diff line number Diff line --- a/src/3rdParty/OndselSolver/OndselSolver.pc.in +++ b/src/3rdParty/OndselSolver/OndselSolver.pc.in @@ -3,2 +3,2 @@ -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@CMAKE_INSTALL_LIBDIR@ +includedir=@CMAKE_INSTALL_INCLUDEDIR@ pkgs/by-name/fr/freecad/package.nix +15 −5 Original line number Diff line number Diff line Loading @@ -9,12 +9,12 @@ , gfortran , gts , hdf5 , libGLU , libXmu , libf2c , libGLU , libredwg , libsForQt5 , libspnav , libXmu , medfile , mpi , ninja Loading @@ -29,6 +29,7 @@ , vtk , wrapGAppsHook3 , xercesc , yaml-cpp , zlib , withWayland ? false }: Loading @@ -50,6 +51,7 @@ let matplotlib pivy ply pybind11 pycollada pyside2 pyside2-tools Loading @@ -61,13 +63,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "freecad"; version = "0.21.2"; version = "1.0rc2"; src = fetchFromGitHub { owner = "FreeCAD"; repo = "FreeCAD"; rev = finalAttrs.version; hash = "sha256-OX4s9rbGsAhH7tLJkUJYyq2A2vCdkq/73iqYo9adogs="; hash = "sha256-kPmfx/C1fCYwBqh6ZOKZAVNVR9m3VryPmBKu3ksDD5E="; fetchSubmodules = true; }; nativeBuildInputs = [ Loading Loading @@ -100,6 +103,7 @@ stdenv.mkDerivation (finalAttrs: { opencascade-occt pivy ply # for openSCAD file support pybind11 pycollada pyside2 pyside2-tools Loading @@ -116,6 +120,7 @@ stdenv.mkDerivation (finalAttrs: { swig vtk xercesc yaml-cpp zlib ] ++ lib.optionals spaceNavSupport [ Loading @@ -125,12 +130,17 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./0001-NIXOS-don-t-ignore-PYTHONPATH.patch ./0002-FreeCad-OndselSolver-pkgconfig.patch ]; cmakeFlags = [ "-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on "-DBUILD_FLAT_MESH:BOOL=ON" "-DBUILD_QT5=ON" "-DBUILD_DRAWING=ON" "-DBUILD_FLAT_MESH:BOOL=ON" "-DINSTALL_TO_SITEPACKAGES=OFF" "-DFREECAD_USE_PYBIND11=ON" "-DSHIBOKEN_INCLUDE_DIR=${shiboken2}/include" "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" ( Loading Loading @@ -201,7 +211,7 @@ stdenv.mkDerivation (finalAttrs: { right at home with FreeCAD. ''; license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ gebner AndersonTorres ]; maintainers = with lib.maintainers; [ gebner AndersonTorres srounce ]; platforms = lib.platforms.linux; }; }) Loading
pkgs/by-name/fr/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch +27 −30 Original line number Diff line number Diff line From c4f452ef6ae083ed21095313582f6d1bd775cbf3 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold <andreas@rammhold.de> Date: Thu, 2 Nov 2023 17:32:07 +0100 Subject: [PATCH] NIXOS: don't ignore PYTHONPATH commit c534a831c2f7186ebabe4e17f1e1df6d11ebff89 Author: Samuel Rounce <me@samuelrounce.co.uk> Date: Thu Sep 5 22:17:21 2024 +0100 [PATCH] NIXOS: don't ignore PYTHONPATH On NixOS or rather within nixpkgs we provide the runtime Python packages via the PYTHONPATH environment variable. FreeCAD tries its Loading @@ -16,29 +17,27 @@ shouldn't accept this patch (as is). What they might accept (once support for older Python versions has been dropped) is removing the PYTHONPATH specific putenv calls. --- src/Base/Interpreter.cpp | 2 +- src/Base/Interpreter.cpp | 1 + src/Main/MainGui.cpp | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Base/Interpreter.cpp b/src/Base/Interpreter.cpp index 52c47168af..9966bd0013 100644 index 2bdc54ccff..ee4f7fc070 100644 --- a/src/Base/Interpreter.cpp +++ b/src/Base/Interpreter.cpp @@ -554,7 +554,9 @@ void initInterpreter(int argc,char *argv[]) { PyStatus status; @@ -593,6 +593,7 @@ void initInterpreter(int argc, char* argv[]) PyConfig config; PyConfig_InitIsolatedConfig(&config); + config.isolated = 0; config.isolated = 0; + config.use_environment = 1; config.user_site_directory = 1; status = PyConfig_SetBytesArgv(&config, argc, argv); if (PyStatus_Exception(status)) { diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp index 48ae847ef4..28813df383 100644 index 36087cffd6..89d49d2cc6 100644 --- a/src/Main/MainGui.cpp +++ b/src/Main/MainGui.cpp @@ -112,17 +112,14 @@ int main( int argc, char ** argv ) @@ -114,10 +114,8 @@ int main(int argc, char** argv) // See https://forum.freecad.org/viewtopic.php?f=18&t=20600 // See Gui::Application::runApplication() putenv("LC_NUMERIC=C"); Loading @@ -49,13 +48,11 @@ index 48ae847ef4..28813df383 100644 #elif defined(__MINGW32__) const char* mingw_prefix = getenv("MINGW_PREFIX"); const char* py_home = getenv("PYTHONHOME"); if (!py_home && mingw_prefix) @@ -125,7 +123,6 @@ int main(int argc, char** argv) _putenv_s("PYTHONHOME", mingw_prefix); } #else - _putenv("PYTHONPATH="); // https://forum.freecad.org/viewtopic.php?f=4&t=18288 // https://forum.freecad.org/viewtopic.php?f=3&t=20515 const char* fc_py_home = getenv("FC_PYTHONHOME"); -- 2.42.0
pkgs/by-name/fr/freecad/0002-FreeCad-OndselSolver-pkgconfig.patch 0 → 100644 +7 −0 Original line number Diff line number Diff line --- a/src/3rdParty/OndselSolver/OndselSolver.pc.in +++ b/src/3rdParty/OndselSolver/OndselSolver.pc.in @@ -3,2 +3,2 @@ -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@CMAKE_INSTALL_LIBDIR@ +includedir=@CMAKE_INSTALL_INCLUDEDIR@
pkgs/by-name/fr/freecad/package.nix +15 −5 Original line number Diff line number Diff line Loading @@ -9,12 +9,12 @@ , gfortran , gts , hdf5 , libGLU , libXmu , libf2c , libGLU , libredwg , libsForQt5 , libspnav , libXmu , medfile , mpi , ninja Loading @@ -29,6 +29,7 @@ , vtk , wrapGAppsHook3 , xercesc , yaml-cpp , zlib , withWayland ? false }: Loading @@ -50,6 +51,7 @@ let matplotlib pivy ply pybind11 pycollada pyside2 pyside2-tools Loading @@ -61,13 +63,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "freecad"; version = "0.21.2"; version = "1.0rc2"; src = fetchFromGitHub { owner = "FreeCAD"; repo = "FreeCAD"; rev = finalAttrs.version; hash = "sha256-OX4s9rbGsAhH7tLJkUJYyq2A2vCdkq/73iqYo9adogs="; hash = "sha256-kPmfx/C1fCYwBqh6ZOKZAVNVR9m3VryPmBKu3ksDD5E="; fetchSubmodules = true; }; nativeBuildInputs = [ Loading Loading @@ -100,6 +103,7 @@ stdenv.mkDerivation (finalAttrs: { opencascade-occt pivy ply # for openSCAD file support pybind11 pycollada pyside2 pyside2-tools Loading @@ -116,6 +120,7 @@ stdenv.mkDerivation (finalAttrs: { swig vtk xercesc yaml-cpp zlib ] ++ lib.optionals spaceNavSupport [ Loading @@ -125,12 +130,17 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./0001-NIXOS-don-t-ignore-PYTHONPATH.patch ./0002-FreeCad-OndselSolver-pkgconfig.patch ]; cmakeFlags = [ "-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on "-DBUILD_FLAT_MESH:BOOL=ON" "-DBUILD_QT5=ON" "-DBUILD_DRAWING=ON" "-DBUILD_FLAT_MESH:BOOL=ON" "-DINSTALL_TO_SITEPACKAGES=OFF" "-DFREECAD_USE_PYBIND11=ON" "-DSHIBOKEN_INCLUDE_DIR=${shiboken2}/include" "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" ( Loading Loading @@ -201,7 +211,7 @@ stdenv.mkDerivation (finalAttrs: { right at home with FreeCAD. ''; license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ gebner AndersonTorres ]; maintainers = with lib.maintainers; [ gebner AndersonTorres srounce ]; platforms = lib.platforms.linux; }; })