diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/science/math')
9 files changed, 115 insertions, 33 deletions
diff --git a/nixpkgs/pkgs/applications/science/math/caffe/default.nix b/nixpkgs/pkgs/applications/science/math/caffe/default.nix index e56c63e01bf0..9ee56041ed38 100644 --- a/nixpkgs/pkgs/applications/science/math/caffe/default.nix +++ b/nixpkgs/pkgs/applications/science/math/caffe/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, runCommand +{ config, stdenv, lib, runCommand , fetchFromGitHub , fetchurl , cmake @@ -13,10 +13,11 @@ , Accelerate, CoreGraphics, CoreVideo , lmdbSupport ? true, lmdb , leveldbSupport ? true, leveldb, snappy -, cudaSupport ? stdenv.isLinux, cudatoolkit -, cudnnSupport ? false, cudnn ? null +, cudaSupport ? config.cudaSupport or false, cudatoolkit +, cudnnSupport ? cudaSupport, cudnn ? null , ncclSupport ? false, nccl ? null , pythonSupport ? false, python ? null, numpy ? null +, substituteAll }: assert leveldbSupport -> (leveldb != null && snappy != null); @@ -50,7 +51,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake doxygen ]; cmakeFlags = - [ (if pythonSupport then "-Dpython_version=${python.version}" else "-DBUILD_python=OFF") + # It's important that caffe is passed the major and minor version only because that's what + # boost_python expects + [ (if pythonSupport then "-Dpython_version=3${python.pythonVersion}" else "-DBUILD_python=OFF") "-DBLAS=open" ] ++ (if cudaSupport then [ "-DCUDA_ARCH_NAME=All" @@ -75,16 +78,21 @@ stdenv.mkDerivation rec { outputs = [ "bin" "out"]; propagatedBuildOutputs = []; # otherwise propagates out -> bin cycle - patches = [ ./darwin.patch ]; + patches = [ + ./darwin.patch + ] ++ lib.optional pythonSupport (substituteAll { + src = ./python.patch; + inherit (python.sourceVersion) major minor; # Should be changed in case of PyPy + }); - preConfigure = lib.optionalString (cudaSupport && lib.versionAtLeast cudatoolkit.version "9.0") '' + postPatch = lib.optionalString (cudaSupport && lib.versionAtLeast cudatoolkit.version "9.0") '' # CUDA 9.0 doesn't support sm_20 sed -i 's,20 21(20) ,,' cmake/Cuda.cmake - '' + lib.optionalString (python.isPy3 or false) '' - sed -i \ - -e 's,"python-py''${boost_py_version}",python3,g' \ - -e 's,''${Boost_PYTHON-PY''${boost_py_version}_FOUND},''${Boost_PYTHON3_FOUND},g' \ - cmake/Dependencies.cmake + ''; + + preConfigure = lib.optionalString pythonSupport '' + # We need this when building with Python bindings + export BOOST_LIBRARYDIR="${boost.out}/lib"; ''; postInstall = '' diff --git a/nixpkgs/pkgs/applications/science/math/caffe/python.patch b/nixpkgs/pkgs/applications/science/math/caffe/python.patch new file mode 100644 index 000000000000..b1bed6c174b8 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/math/caffe/python.patch @@ -0,0 +1,70 @@ +commit b14ca23651d390fcae4a929dedc7c33a83453a66 +Author: Frederik Rietdijk <fridh@fridh.nl> +Date: Sun Feb 17 08:41:27 2019 +0100 + + Find boost_pythonXX + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 08f56a33..0a04592a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,10 +99,10 @@ add_subdirectory(docs) + add_custom_target(lint COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/cmake/lint.cmake) + + # ---[ pytest target +-if(BUILD_python) +- add_custom_target(pytest COMMAND python${python_version} -m unittest discover -s caffe/test WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/python ) +- add_dependencies(pytest pycaffe) +-endif() ++# if(BUILD_python) ++# add_custom_target(pytest COMMAND python${python_version} -m unittest discover -s caffe/test WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/python ) ++# add_dependencies(pytest pycaffe) ++# endif() + + # ---[ uninstall target + configure_file( +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index 4a5bac47..be026d43 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -141,37 +141,14 @@ if(BUILD_python) + # use python3 + find_package(PythonInterp 3.0) + find_package(PythonLibs 3.0) +- find_package(NumPy 1.7.1) +- # Find the matching boost python implementation +- set(version ${PYTHONLIBS_VERSION_STRING}) +- +- STRING( REGEX REPLACE "[^0-9]" "" boost_py_version ${version} ) +- find_package(Boost 1.46 COMPONENTS "python-py${boost_py_version}") +- set(Boost_PYTHON_FOUND ${Boost_PYTHON-PY${boost_py_version}_FOUND}) +- +- while(NOT "${version}" STREQUAL "" AND NOT Boost_PYTHON_FOUND) +- STRING( REGEX REPLACE "([0-9.]+).[0-9]+" "\\1" version ${version} ) +- +- STRING( REGEX REPLACE "[^0-9]" "" boost_py_version ${version} ) +- find_package(Boost 1.46 COMPONENTS "python-py${boost_py_version}") +- set(Boost_PYTHON_FOUND ${Boost_PYTHON-PY${boost_py_version}_FOUND}) +- +- STRING( REGEX MATCHALL "([0-9.]+).[0-9]+" has_more_version ${version} ) +- if("${has_more_version}" STREQUAL "") +- break() +- endif() +- endwhile() +- if(NOT Boost_PYTHON_FOUND) +- find_package(Boost 1.46 COMPONENTS python) +- endif() + else() + # disable Python 3 search + find_package(PythonInterp 2.7) + find_package(PythonLibs 2.7) +- find_package(NumPy 1.7.1) +- find_package(Boost 1.46 COMPONENTS python) + endif() +- if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND Boost_PYTHON_FOUND) ++ find_package(NumPy 1.7.1) ++ find_package(Boost 1.46 REQUIRED COMPONENTS python@major@@minor@) ++ if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND BOOST_PYTHON@major@@minor@_FOUND) + set(HAVE_PYTHON TRUE) + if(BUILD_python_layer) + list(APPEND Caffe_DEFINITIONS PRIVATE -DWITH_PYTHON_LAYER) diff --git a/nixpkgs/pkgs/applications/science/math/cntk/default.nix b/nixpkgs/pkgs/applications/science/math/cntk/default.nix index fe5c77be8b22..4bf922c4e169 100644 --- a/nixpkgs/pkgs/applications/science/math/cntk/default.nix +++ b/nixpkgs/pkgs/applications/science/math/cntk/default.nix @@ -1,8 +1,8 @@ -{ lib, stdenv, fetchgit, fetchFromGitHub, cmake +{ config, lib, stdenv, fetchgit, fetchFromGitHub, cmake , openblas, opencv3, libzip, boost, protobuf, openmpi , onebitSGDSupport ? false -, cudaSupport ? false, cudatoolkit, nvidia_x11 -, cudnnSupport ? false, cudnn +, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 +, cudnnSupport ? cudaSupport, cudnn }: assert cudnnSupport -> cudaSupport; diff --git a/nixpkgs/pkgs/applications/science/math/cplex/default.nix b/nixpkgs/pkgs/applications/science/math/cplex/default.nix index fe3913648f87..dae5e1b76d35 100644 --- a/nixpkgs/pkgs/applications/science/math/cplex/default.nix +++ b/nixpkgs/pkgs/applications/science/math/cplex/default.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, openjdk, gtk2, xorg, glibcLocales, releasePath }: +{ stdenv, makeWrapper, openjdk, gtk2, xorg, glibcLocales, releasePath ? null }: # To use this package, you need to download your own cplex installer from IBM # and override the releasePath attribute to point to the location of the file. diff --git a/nixpkgs/pkgs/applications/science/math/mxnet/default.nix b/nixpkgs/pkgs/applications/science/math/mxnet/default.nix index 990d3f1a5d59..061f48bb3d93 100644 --- a/nixpkgs/pkgs/applications/science/math/mxnet/default.nix +++ b/nixpkgs/pkgs/applications/science/math/mxnet/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchurl, bash, cmake +{ config, stdenv, lib, fetchurl, bash, cmake , opencv, gtest, openblas, liblapack, perl -, cudaSupport ? false, cudatoolkit, nvidia_x11 -, cudnnSupport ? false, cudnn +, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 +, cudnnSupport ? cudaSupport, cudnn }: assert cudnnSupport -> cudaSupport; diff --git a/nixpkgs/pkgs/applications/science/math/nasc/default.nix b/nixpkgs/pkgs/applications/science/math/nasc/default.nix index 4afaa5194db8..fb0ea2067355 100644 --- a/nixpkgs/pkgs/applications/science/math/nasc/default.nix +++ b/nixpkgs/pkgs/applications/science/math/nasc/default.nix @@ -1,12 +1,10 @@ { stdenv , fetchFromGitHub -, fetchpatch , pkgconfig , gtk3 -, granite +, pantheon , gnome3 , cmake -, vala_0_40 , libqalculate , gobject-introspection , wrapGAppsHook }: @@ -28,19 +26,19 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - pkgconfig - wrapGAppsHook - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged cmake + pantheon.vala gobject-introspection # for setup-hook + pkgconfig + wrapGAppsHook ]; buildInputs = [ - gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged + pantheon.elementary-icon-theme gnome3.gtksourceview gnome3.libgee gnome3.libsoup - granite + pantheon.granite gtk3 libqalculate ]; diff --git a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix index 42dc28534092..5104d1012b2f 100644 --- a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix +++ b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "qalculate-gtk-${version}"; - version = "2.8.2"; + version = "2.9.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "qalculate-gtk"; rev = "v${version}"; - sha256 = "0vdrpnarbwhappwgp38jjndnq30h1lh8hbk75i9rhkb7x4kblqfi"; + sha256 = "0c5s7mz8xwwmzc22yai8vqiww7paafkyi7khp8a2yws78m2nirdx"; }; patchPhase = '' diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix index a21c21130d55..b9d0a9ef4486 100644 --- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix +++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix @@ -64,10 +64,10 @@ stdenv.mkDerivation rec { fetchSageDiff = { base, rev, name ? "sage-diff-${base}-${rev}.patch", ...}@args: ( fetchpatch ({ inherit name; - url = "https://git.sagemath.org/sage.git/rawdiff?id2=${base}&id=${rev}"; + url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"; # We don't care about sage's own build system (which builds all its dependencies). # Exclude build system changes to avoid conflicts. - excludes = [ "/build/*" ]; + excludes = [ "build/*" ]; } // builtins.removeAttrs args [ "rev" "base" ]) ); in [ @@ -105,6 +105,12 @@ stdenv.mkDerivation rec { sha256 = "1n5c61mvhalcr2wbp66wzsynwwk59aakvx3xqa5zw9nlkx3rd0h1"; }) + # https://trac.sagemath.org/ticket/27061 + (fetchpatch { + name = "numpy-1.16-inline-fortran.patch"; + url = "https://git.sagemath.org/sage.git/patch?id=a05b6b038e1571ab15464e98f76d1927c0c3fd12"; + sha256 = "05yq97pq84xi60wb1p9skrad5h5x770gq98ll4frr7hvvmlwsf58"; + }) ]; patches = nixPatches ++ packageUpgradePatches; diff --git a/nixpkgs/pkgs/applications/science/math/scilab/default.nix b/nixpkgs/pkgs/applications/science/math/scilab/default.nix index 96b7dec19c21..01fb58403cad 100644 --- a/nixpkgs/pkgs/applications/science/math/scilab/default.nix +++ b/nixpkgs/pkgs/applications/science/math/scilab/default.nix @@ -2,13 +2,13 @@ , ncurses , withXaw3d ? false #, withPVMlib ? false -, tcl, tk, withTk ? false +, tcl, tk, withTk ? true , gtk2, withGtk ? false # working ? #, withF2c ? false -, ocaml, withOCaml ? false +, ocaml, withOCaml ? true #, withJava ? false #, atlasMath, withAtlas ? false -, xlibsWrapper, withX ? false +, xlibsWrapper, withX ? true }: stdenv.mkDerivation rec { |