diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/physics/geant4/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/physics/geant4/default.nix | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix b/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix index 8c7ff230e011..97822d769dd5 100644 --- a/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix +++ b/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix @@ -5,6 +5,7 @@ , enableQT ? false , enableXM ? false , enableOpenGLX11 ? true +, enablePython ? false , enableRaytracerX11 ? false # Standard build environment with cmake. @@ -33,17 +34,35 @@ , libGLU, libGL , xlibsWrapper , libXmu + +# For enablePython +, boost +, python3 }: +let + boost_python = boost.override { enablePython = true; python = python3; }; +in + stdenv.mkDerivation rec { - version = "10.6.1"; + version = "10.6.2"; pname = "geant4"; src = fetchurl{ - url = "https://geant4-data.web.cern.ch/geant4-data/releases/geant4.10.06.p01.tar.gz"; - sha256 = "0ssxg7dd7vxljb3fdyb0llg7gsxack21qjfsb3n23k107a19yibk"; + url = "https://geant4-data.web.cern.ch/geant4-data/releases/geant4.10.06.p02.tar.gz"; + sha256 = "0vznm3pjlbihjy1wsxc4gj229k0dzc283wvil2xghyl08vwdpnpc"; }; + boost_python_lib = "python${builtins.replaceStrings ["."] [""] python3.pythonVersion}"; + postPatch = '' + # Fix for boost 1.67+ + substituteInPlace environments/g4py/CMakeLists.txt \ + --replace "find_package(Boost REQUIRED python)" \ + "find_package(Boost REQUIRED COMPONENTS $boost_python_lib)" + substituteInPlace environments/g4py/G4PythonHelpers.cmake \ + --replace "Boost::python" "Boost::$boost_python_lib" + ''; + cmakeFlags = [ "-DGEANT4_INSTALL_DATA=OFF" "-DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"}" @@ -52,11 +71,14 @@ stdenv.mkDerivation rec { "-DGEANT4_USE_XM=${if enableXM then "ON" else "OFF"}" "-DGEANT4_USE_OPENGL_X11=${if enableOpenGLX11 then "ON" else "OFF"}" "-DGEANT4_USE_INVENTOR=${if enableInventor then "ON" else "OFF"}" + "-DGEANT4_USE_PYTHON=${if enablePython then "ON" else "OFF"}" "-DGEANT4_USE_RAYTRACER_X11=${if enableRaytracerX11 then "ON" else "OFF"}" "-DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"}" "-DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"}" "-DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"}" "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" + ] ++ stdenv.lib.optionals (enableMultiThreading && enablePython) [ + "-DGEANT4_BUILD_TLS_MODEL=global-dynamic" ] ++ stdenv.lib.optionals enableInventor [ "-DINVENTOR_INCLUDE_DIR=${coin3d}/include" "-DINVENTOR_LIBRARY_RELEASE=${coin3d}/lib/libCoin.so" @@ -66,7 +88,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ libGLU xlibsWrapper libXmu ] - ++ stdenv.lib.optionals enableInventor [ libXpm coin3d soxt motif ]; + ++ stdenv.lib.optionals enableInventor [ libXpm coin3d soxt motif ] + ++ stdenv.lib.optionals enablePython [ boost_python python3 ]; propagatedBuildInputs = [ clhep expat zlib libGL ] ++ stdenv.lib.optionals enableGDML [ xercesc ] |